Skip to content

Commit b4936b5

Browse files
sjp38akpm00
authored andcommitted
mm/damon/sysfs: check error from damon_sysfs_update_target()
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@kernel.org Link: https://lkml.kernel.org/r/20231106233408.51159-2-sj@kernel.org Fixes: 19467a9 ("mm/damon/sysfs: remove requested targets when online-commit inputs") Signed-off-by: SeongJae Park <sj@kernel.org> Cc: <stable@vger.kernel.org> [5.19+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent a48d5bd commit b4936b5

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

mm/damon/sysfs.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1203,8 +1203,10 @@ static int damon_sysfs_set_targets(struct damon_ctx *ctx,
12031203

12041204
damon_for_each_target_safe(t, next, ctx) {
12051205
if (i < sysfs_targets->nr) {
1206-
damon_sysfs_update_target(t, ctx,
1206+
err = damon_sysfs_update_target(t, ctx,
12071207
sysfs_targets->targets_arr[i]);
1208+
if (err)
1209+
return err;
12081210
} else {
12091211
if (damon_target_has_pid(ctx))
12101212
put_pid(t->pid);

0 commit comments

Comments
 (0)