mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
DAMON_SYSFS can receive DAMOS tried regions update request while kdamond
is already out of the main loop and before_terminate callback
(damon_sysfs_before_terminate() in this case) is not yet called. And
damon_sysfs_handle_cmd() can further be finished before the callback is
invoked. Then, damon_sysfs_before_terminate() unlocks damon_sysfs_lock,
which is not locked by anyone. This happens because the callback function
assumes damon_sysfs_cmd_request_callback() should be called before it.
Check if the assumption was true before doing the unlock, to avoid this
problem.
Link: https://lkml.kernel.org/r/20231007200432.3110-1-sj@kernel.org
Fixes:
|
||
---|---|---|
.. | ||
core-test.h | ||
core.c | ||
dbgfs-test.h | ||
dbgfs.c | ||
Kconfig | ||
lru_sort.c | ||
Makefile | ||
modules-common.c | ||
modules-common.h | ||
ops-common.c | ||
ops-common.h | ||
paddr.c | ||
reclaim.c | ||
sysfs-common.c | ||
sysfs-common.h | ||
sysfs-schemes.c | ||
sysfs.c | ||
vaddr-test.h | ||
vaddr.c |