Commit Graph

1292 Commits

Author SHA1 Message Date
Suren Baghdasaryan 6057c60d5b lmkd: Fix UAF caused by calling pid_remove() from the watchdog thread am: ba9ea6e3d6 am: d5dbec8d23 am: 02af677a49
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2235075

Change-Id: I166f3e4f03e886d5a6d9c684267ac46ec1f9d698
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-29 19:43:01 +00:00
Suren Baghdasaryan 02af677a49 lmkd: Fix UAF caused by calling pid_remove() from the watchdog thread am: ba9ea6e3d6 am: d5dbec8d23
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2235075

Change-Id: I142a550c5c52a2bb62bcc19a3b9d6112f403efac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-29 18:38:52 +00:00
Suren Baghdasaryan d5dbec8d23 lmkd: Fix UAF caused by calling pid_remove() from the watchdog thread am: ba9ea6e3d6
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2235075

Change-Id: I6c720544601c84096a70f9e06d96a46f8973768b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-29 18:09:27 +00:00
Suren Baghdasaryan ba9ea6e3d6 lmkd: Fix UAF caused by calling pid_remove() from the watchdog thread
pid_remove() is not a thread-safe function and can be called only from
the main thread. Calling it from the watchdog_callback() executed in the
context of the watchdog thread can cause a use-after-free failure if the
same record is being used by the main thread. Fix this issue by marking
the process record as invalid instead of destroying it. Later on invalid
records will be cleared in kill_one_process() called from the context of
the main thread.

Fixes: f8727745f9 ("lmkd: Remove process record after it is killed by lmkd watchdog")
Bug: 248448498
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I0c7776aea1518c17f0a29904a44b7fe8f33980ca
2022-09-27 14:30:34 -07:00
Suren Baghdasaryan 4ccdc36380 lmkd: Remove process record after it is killed by lmkd watchdog am: c555ec6eeb am: 733be36274 am: f3d4403c12
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2193801

Change-Id: I8ae3ffe1e1ea0876f7029aa683e6f31bdaa78240
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-24 17:01:51 +00:00
Suren Baghdasaryan f3d4403c12 lmkd: Remove process record after it is killed by lmkd watchdog am: c555ec6eeb am: 733be36274
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2193801

Change-Id: I83ffc1bc746010c0fd63e4010a1a43020e42443e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-24 16:34:25 +00:00
Suren Baghdasaryan 733be36274 lmkd: Remove process record after it is killed by lmkd watchdog am: c555ec6eeb
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2193801

Change-Id: I450caf1f6b317d003bbaeefce35c11f36aa4ba74
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-24 16:06:33 +00:00
Suren Baghdasaryan c555ec6eeb lmkd: Remove process record after it is killed by lmkd watchdog
After lmkd watchdog kills a process, its record should be removed.

Bug: 243567425
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I70bb2a432df8088ebc9865fbc36b065738248d19
2022-08-23 15:28:53 -07:00
Ioannis Ilkos fa8b9285b1 Remove kill_one_process tracepoint from lmkd am: b9d0592bba am: f8727745f9 am: 7324be6c63
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2175442

Change-Id: I4c4f4bb8136c0e755e3315719ef7190ba9130315
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-08 19:11:02 +00:00
Ioannis Ilkos 7324be6c63 Remove kill_one_process tracepoint from lmkd am: b9d0592bba am: f8727745f9
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2175442

Change-Id: I267d82e4358bce89aa601fb9f39eb712dce3d9b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-08 18:46:27 +00:00
Ioannis Ilkos f8727745f9 Remove kill_one_process tracepoint from lmkd am: b9d0592bba
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2175442

Change-Id: I1fe55a6a05eae1be2e7acb76d71e8c2f280560ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-08 18:29:13 +00:00
Ioannis Ilkos b9d0592bba Remove kill_one_process tracepoint from lmkd
We already emit a richer slice (including pid and oom score) so there's
no reason for the additional print event

Bug: 195085238
Change-Id: I1140f0287934e5f0abdeeb64554a249c4c940def
2022-08-04 14:45:24 +01:00
Ken Chen 43fb4e1326 Merge "Rename gpu_mem.o to gpuMem.o" am: 310fa3ab1b am: dd131835e9 am: 158b031098
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147763

Change-Id: I8209b1ab11dd02346459f898fb682395a2f5ce61
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 23:18:59 +00:00
Ken Chen 158b031098 Merge "Rename gpu_mem.o to gpuMem.o" am: 310fa3ab1b am: dd131835e9
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147763

Change-Id: I278afc525556e14993be4a5002e515adc837ede9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 22:56:23 +00:00
Ken Chen dd131835e9 Merge "Rename gpu_mem.o to gpuMem.o" am: 310fa3ab1b
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147763

Change-Id: If29b92d5706323d83b8f4c1098e680f1c0f93a67
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 22:21:40 +00:00
Ken Chen 310fa3ab1b Merge "Rename gpu_mem.o to gpuMem.o" 2022-07-21 13:43:50 +00:00
Suren Baghdasaryan dbee4be68e lmkd: Fix the text of the warning when pthread_setschedparam fails am: a0b25851c7
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/19353948

Change-Id: I7da59c567eb4827b8ea4c214037672c2a9a65bc9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-20 20:18:24 +00:00
Suren Baghdasaryan 20f830a109 [conflict] lmkd: set normal scheduling policy for reaper threads am: ab4c6d86e0
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/19353947

Change-Id: Ic2f65feecbdfda400145ccd90d3f50ed71435380
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-20 18:12:26 +00:00
Suren Baghdasaryan a0b25851c7 lmkd: Fix the text of the warning when pthread_setschedparam fails
Fix the text of the warning when pthread_setschedparam fails to set
SCHED_OTHER scheduling policy for a reaper thread.

Bug: 237180716
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I1b04713d145f4f3c243f16f932c753f5b06d48e6
2022-07-20 11:16:43 +08:00
Suren Baghdasaryan ab4c6d86e0 lmkd: set normal scheduling policy for reaper threads
Reaper threads can take considerable time to free target's
memory running at RT priority that they inherit from LMKD.
This might prevent other critical tasks from being scheduled
while reaper threads are active.
Explicitly set reaper threads to run under normal scheduling
policy but set their nice value to ANDROID_PRIORITY_HIGHEST.

Bug: 237180716
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Idad817e698ae1d5ac6cee5aa3281c69c7e0d257f
2022-07-20 11:16:06 +08:00
Treehugger Robot d68aa4a89c Merge "lmkd: Add clang-format upload hook" am: 8b4ad27706 am: db9a391406 am: 1fd840566e
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2154453

Change-Id: Ib329f15a2fa5fd797c68f9fd0ac37d3a0684b572
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-14 21:20:44 +00:00
Treehugger Robot 1fd840566e Merge "lmkd: Add clang-format upload hook" am: 8b4ad27706 am: db9a391406
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2154453

Change-Id: Ic25b988fc2e82d36f853c379870986e3178323f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-14 21:02:34 +00:00
Treehugger Robot db9a391406 Merge "lmkd: Add clang-format upload hook" am: 8b4ad27706
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2154453

Change-Id: I9c568f2690cfca9f3e469a54f62718920b39c2db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-14 20:45:46 +00:00
Treehugger Robot 8b4ad27706 Merge "lmkd: Add clang-format upload hook" 2022-07-14 20:26:12 +00:00
Kalesh Singh 08bb956823 lmkd: Add clang-format upload hook
Check code formatting on upload.

Bug: N/A
Test: repo upload
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Change-Id: I7c849655539ac60e48cf2b4c25b33a1d222a6cfe
2022-07-14 11:18:20 -07:00
Ken Chen 4c18e91f22 Rename gpu_mem.o to gpuMem.o
Underscore character may cause bpf prog/map naming collision. For
example, x.o with map y_z and x_y.o with map z both result in x_y_z
prog/map name, which should be prevented during compile-time.

aosp/2147825 will prohibit underscore character in bpf source name
(source name derives the obj name). Existing bpf modules with underscore
characters in source name need to be updated accordingly.

Bug: 236706995
Test: adb root; adb shell ls -l /sys/fs/bpf/ | grep gpuMem
Change-Id: I213624e59ce1bca6ee7c22028504f2d51e9c50df
2022-07-08 19:09:50 +08:00
Yuming Han b80303c377 lmkd : Fixed running wrong for Go devices when use_minfree_levels is TRUE am: ed8fc168e6 am: f3f9ff6e01 am: 60325c06b4
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2144719

Change-Id: I232c2f0afd705838e99896740f77c6e8a32c8f13
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 19:36:13 +00:00
Yuming Han 60325c06b4 lmkd : Fixed running wrong for Go devices when use_minfree_levels is TRUE am: ed8fc168e6 am: f3f9ff6e01
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2144719

Change-Id: Iee575f456068a7cf98d57a4fbbbcbf1128205c7f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 19:09:44 +00:00
Suren Baghdasaryan 45c03b00f7 lmkd: Fix the text of the warning when pthread_setschedparam fails am: 508e73e105 am: 4a4e1590f1 am: 8d1acb0268
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147680

Change-Id: I2c79cdb3817c211f745950269cb3ee0cd8f78e55
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 18:53:54 +00:00
Yuming Han f3f9ff6e01 lmkd : Fixed running wrong for Go devices when use_minfree_levels is TRUE am: ed8fc168e6
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2144719

Change-Id: I5b112f62879b9b577bdeb61939e629984e172f5a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 18:45:02 +00:00
Suren Baghdasaryan 8d1acb0268 lmkd: Fix the text of the warning when pthread_setschedparam fails am: 508e73e105 am: 4a4e1590f1
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147680

Change-Id: I38fa469fd049d2b196903af6acf7d8ce24d7c50a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 18:31:16 +00:00
Yuming Han ed8fc168e6 lmkd : Fixed running wrong for Go devices when use_minfree_levels is TRUE
The lmkd run wrong for Go devices, because min_score_adj is unused
when use_minfree_levels is set TURE.

Bug: 237947900
Signed-off-by: Yuming Han <yuming.han@unisoc.com>
Change-Id: I717561cd9e5f4d1a2ca60d9fc84adcd6e129420a
2022-07-07 18:24:22 +00:00
Suren Baghdasaryan 4a4e1590f1 lmkd: Fix the text of the warning when pthread_setschedparam fails am: 508e73e105
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147680

Change-Id: I581e74df34e8174e5dd9b464a7b4bc0f4893711d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 18:11:12 +00:00
Suren Baghdasaryan 508e73e105 lmkd: Fix the text of the warning when pthread_setschedparam fails
Fix the text of the warning when pthread_setschedparam fails to set
SCHED_OTHER scheduling policy for a reaper thread.

Bug: 237180716
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I1b04713d145f4f3c243f16f932c753f5b06d48e6
2022-07-07 08:39:49 -07:00
Suren Baghdasaryan f394cd7f76 lmkd: set normal scheduling policy for reaper threads am: 353c2f174f am: 94998a07dc am: 29215bbbd8
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147025

Change-Id: Ia4931e7eac90aa0d68ef1fc282e5ccfec35495cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 01:57:35 +00:00
Suren Baghdasaryan 29215bbbd8 lmkd: set normal scheduling policy for reaper threads am: 353c2f174f am: 94998a07dc
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147025

Change-Id: Ie12bbd053db355fe23c55ac7ee6b7845663297c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 01:39:54 +00:00
Suren Baghdasaryan 94998a07dc lmkd: set normal scheduling policy for reaper threads am: 353c2f174f
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147025

Change-Id: I7e333c8bfc132f362156d271bf1201d3a9aae8d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 01:20:20 +00:00
Suren Baghdasaryan 353c2f174f lmkd: set normal scheduling policy for reaper threads
Reaper threads can take considerable time to free target's
memory running at RT priority that they inherit from LMKD.
This might prevent other critical tasks from being scheduled
while reaper threads are active.
Explicitly set reaper threads to run under normal scheduling
policy but set their nice value to ANDROID_PRIORITY_HIGHEST.

Bug: 237180716
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Idad817e698ae1d5ac6cee5aa3281c69c7e0d257f
2022-07-06 15:21:50 -07:00
Yuming Han f53e9e74db lmkd: Fixed data overflow on ARM am: 79f58c012d am: 800f962338 am: 4c3a9f2601
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2138097

Change-Id: I256d30895f90ee6a0e5b89f6d57e34be474dcabf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-01 20:52:41 +00:00
Yuming Han 4c3a9f2601 lmkd: Fixed data overflow on ARM am: 79f58c012d am: 800f962338
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2138097

Change-Id: Ic496e5e01f9aed3b571495c033f20a5218aa98d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-01 20:28:11 +00:00
Yuming Han 800f962338 lmkd: Fixed data overflow on ARM am: 79f58c012d
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2138097

Change-Id: I522fd95dbc7acc2774e0961ae6956fd3bd827e18
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-01 20:08:46 +00:00
Yuming Han 79f58c012d lmkd: Fixed data overflow on ARM
Both pgscan_kwsapd and pgscan_direct are defined as unsigned long,
the overflow issues occur on ARM kernel space. Just check whether
their values changed.

Signed-off-by: Yuming Han <yuming.han@unisoc.com>
Change-Id: I73b27855ede9ca729208775e982660bae967ab92
2022-06-29 16:06:18 +08:00
Suren Baghdasaryan ab1cf2b96b lmkd: Fix the size of vmstat_field_names array am: caebcddf9f am: 2c75c4987c am: 150ff325ac
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2132969

Change-Id: I0c799db1ec9111994b36c88a54231dc1b0d4dd86
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-23 01:16:35 +00:00
Suren Baghdasaryan 150ff325ac lmkd: Fix the size of vmstat_field_names array am: caebcddf9f am: 2c75c4987c
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2132969

Change-Id: I693d2d097a08df644df33b951e4330ed2a846aed
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-23 00:58:13 +00:00
Suren Baghdasaryan 2c75c4987c lmkd: Fix the size of vmstat_field_names array am: caebcddf9f
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2132969

Change-Id: Id034f3723232a95b220d3f15e4f2aa7668b26294
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-23 00:39:22 +00:00
Suren Baghdasaryan caebcddf9f lmkd: Fix the size of vmstat_field_names array
The size of the vmstat_field_names array should correspond to the number
of elements in vmstat_field enum (VS_FIELD_COUNT).

Bug: 227769256
Reported-by: Yuming Han <yuming.han@unisoc.com>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Icac2810c4efca2a07cefba6e220165ef4f194867
2022-06-22 23:10:47 +00:00
Kameron Lutes 6bceb12f9b lmkd: Fix potential null dereference in hook call am: e9769f7cf3 am: 12371c792c am: e07a5bee30
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2133711

Change-Id: I6c0a2451bea9515564a8c240b4a7c71b960138f4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 22:23:28 +00:00
Kameron Lutes d10338cbbd lmkd: Add hooks to LMKD am: 2cce3066da am: 60969b1fef am: 4fb05dfe00
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2133710

Change-Id: Iad313f2ac0cc500cc09ecbe4119bdf8561a9bc7a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 22:23:27 +00:00
Kameron Lutes e07a5bee30 lmkd: Fix potential null dereference in hook call am: e9769f7cf3 am: 12371c792c
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2133711

Change-Id: Ib5496447d3b5667cc5f28dd3002339c5ed448350
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 22:04:33 +00:00
Kameron Lutes 4fb05dfe00 lmkd: Add hooks to LMKD am: 2cce3066da am: 60969b1fef
Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2133710

Change-Id: If262e1cd80111a6cec8027144f9504e4042dd77f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 22:04:29 +00:00