linux-sg2042/mm/damon
SeongJae Park 95bc35f9be mm/damon/sysfs: fix wrong empty schemes assumption under online tuning in damon_sysfs_set_schemes()
Commit da87878010 ("mm/damon/sysfs: support online inputs update") made
'damon_sysfs_set_schemes()' to be called for running DAMON context, which
could have schemes.  In the case, DAMON sysfs interface is supposed to
update, remove, or add schemes to reflect the sysfs files.  However, the
code is assuming the DAMON context wouldn't have schemes at all, and
therefore creates and adds new schemes.  As a result, the code doesn't
work as intended for online schemes tuning and could have more than
expected memory footprint.  The schemes are all in the DAMON context, so
it doesn't leak the memory, though.

Remove the wrong asssumption (the DAMON context wouldn't have schemes) in
'damon_sysfs_set_schemes()' to fix the bug.

Link: https://lkml.kernel.org/r/20221122194831.3472-1-sj@kernel.org
Fixes: da87878010 ("mm/damon/sysfs: support online inputs update")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>	[5.19+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-11-30 14:49:41 -08:00
..
Kconfig mm/damon/Kconfig: notify debugfs deprecation plan 2022-10-03 14:03:06 -07:00
Makefile mm/damon: introduce DAMON-based LRU-lists Sorting 2022-07-03 18:08:43 -07:00
core-test.h mm/damon/core-test: test damon_set_regions 2022-10-03 14:03:06 -07:00
core.c - Alistair Popple has a series which addresses a race which causes page 2022-10-14 12:28:43 -07:00
dbgfs-test.h mm/damon/dbgfs-test: fix is_target_id() change 2022-03-22 15:57:12 -07:00
dbgfs.c mm/damon/dbgfs: check if rm_contexts input is for a real context 2022-11-08 15:57:25 -08:00
lru_sort.c mm/damon: deduplicate damon_{reclaim,lru_sort}_apply_parameters() 2022-10-03 14:03:31 -07:00
modules-common.h mm/damon/modules-common: implement damos time quota params generator 2022-10-03 14:03:13 -07:00
ops-common.c mm/damon: rename damon_pageout_score() to damon_cold_score() 2022-10-03 14:03:31 -07:00
ops-common.h mm/damon: rename damon_pageout_score() to damon_cold_score() 2022-10-03 14:03:31 -07:00
paddr.c mm/damon: rename damon_pageout_score() to damon_cold_score() 2022-10-03 14:03:31 -07:00
reclaim.c mm/damon: deduplicate damon_{reclaim,lru_sort}_apply_parameters() 2022-10-03 14:03:31 -07:00
sysfs.c mm/damon/sysfs: fix wrong empty schemes assumption under online tuning in damon_sysfs_set_schemes() 2022-11-30 14:49:41 -08:00
vaddr-test.h damon: convert __damon_va_three_regions to use the VMA iterator 2022-09-26 19:46:16 -07:00
vaddr.c mm/damon: use damon_sz_region() in appropriate place 2022-10-12 18:51:49 -07:00