mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-23 02:51:47 +00:00
mm/damon/sysfs: check error from damon_sysfs_update_target()
commitb4936b544b
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@kernel.org Link: https://lkml.kernel.org/r/20231106233408.51159-2-sj@kernel.org Fixes:19467a950b
("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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b0fc14428c
commit
08a98c345f
1 changed files with 3 additions and 1 deletions
|
@ -2241,8 +2241,10 @@ static int damon_sysfs_set_targets(struct damon_ctx *ctx,
|
|||
|
||||
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);
|
||||
|
|
Loading…
Reference in a new issue