Skip to content

Commit 7fe000e

Browse files
techyguyperplexableakpm00
authored andcommitted
mm/damon/sysfs: fix param_ctx leak on damon_sysfs_new_test_ctx() failure
Patch series "mm/damon/sysfs: fix memory leak and NULL dereference issues", v4. DAMON_SYSFS can leak memory under allocation failure, and do NULL pointer dereference when a privileged user make wrong sequences of control. Fix those. This patch (of 3): When damon_sysfs_new_test_ctx() fails in damon_sysfs_commit_input(), param_ctx is leaked because the early return skips the cleanup at the out label. Destroy param_ctx before returning. Link: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/[email protected] Fixes: f0c5118 ("mm/damon/sysfs: catch commit test ctx alloc failure") Signed-off-by: Josh Law <[email protected]> Reviewed-by: SeongJae Park <[email protected]> Signed-off-by: SeongJae Park <[email protected]> Cc: <[email protected]> [6.18+] Signed-off-by: Andrew Morton <[email protected]>
1 parent 9e0d0dd commit 7fe000e

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
@@ -1524,8 +1524,10 @@ static int damon_sysfs_commit_input(void *data)
15241524
if (IS_ERR(param_ctx))
15251525
return PTR_ERR(param_ctx);
15261526
test_ctx = damon_sysfs_new_test_ctx(kdamond->damon_ctx);
1527-
if (!test_ctx)
1527+
if (!test_ctx) {
1528+
damon_destroy_ctx(param_ctx);
15281529
return -ENOMEM;
1530+
}
15291531
err = damon_commit_ctx(test_ctx, param_ctx);
15301532
if (err)
15311533
goto out;

0 commit comments

Comments
 (0)