This is a note to let you know that I've just added the patch titled mm/damon/sysfs: check error from damon_sysfs_update_target() to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mm-damon-sysfs-check-error-from-damon_sysfs_update_target.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From b4936b544b08ed44949055b92bd25f77759ebafc Mon Sep 17 00:00:00 2001 From: SeongJae Park <sj@xxxxxxxxxx> Date: Mon, 6 Nov 2023 23:34:06 +0000 Subject: mm/damon/sysfs: check error from damon_sysfs_update_target() From: SeongJae Park <sj@xxxxxxxxxx> commit b4936b544b08ed44949055b92bd25f77759ebafc upstream. Patch series "mm/damon/sysfs: fix unhandled return values". Some of DAMON sysfs interface code is not handling return values from some functions. As a result, confusing user input handling or NULL-dereference is possible. Check those properly. This patch (of 3): damon_sysfs_update_target() returns error code for failures, but its caller, damon_sysfs_set_targets() is ignoring that. The update function seems making no critical change in case of such failures, but the behavior will look like DAMON sysfs is silently ignoring or only partially accepting the user input. Fix it. Link: https://lkml.kernel.org/r/20231106233408.51159-1-sj@xxxxxxxxxx Link: https://lkml.kernel.org/r/20231106233408.51159-2-sj@xxxxxxxxxx Fixes: 19467a950b49 ("mm/damon/sysfs: remove requested targets when online-commit inputs") Signed-off-by: SeongJae Park <sj@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [5.19+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- mm/damon/sysfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -2241,8 +2241,10 @@ static int damon_sysfs_set_targets(struc damon_for_each_target_safe(t, next, ctx) { if (i < sysfs_targets->nr) { - damon_sysfs_update_target(t, ctx, + err = damon_sysfs_update_target(t, ctx, sysfs_targets->targets_arr[i]); + if (err) + return err; } else { if (damon_target_has_pid(ctx)) put_pid(t->pid); Patches currently in stable-queue which might be from sj@xxxxxxxxxx are queue-6.1/mm-damon-implement-a-function-for-max-nr_accesses-safe-calculation.patch queue-6.1/mm-damon-ops-common-avoid-divide-by-zero-during-region-hotness-calculation.patch queue-6.1/mm-damon-sysfs-check-error-from-damon_sysfs_update_target.patch queue-6.1/mm-damon-lru_sort-avoid-divide-by-zero-in-hot-threshold-calculation.patch queue-6.1/mm-damon-sysfs-update-monitoring-target-regions-for-online-input-commit.patch queue-6.1/mm-damon-sysfs-remove-requested-targets-when-online-commit-inputs.patch