summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorSeongJae Park <sj@kernel.org>2024-12-23 00:12:22 +0100
committerAndrew Morton <akpm@linux-foundation.org>2024-12-31 02:59:11 +0100
commit7d390b53067ef745e2d9bee5a9683df4c96b80a0 (patch)
tree9b666b2eab14e3ebd8fd51a504a775388f375bf4 /mm
parentmm/damon/core: fix new damon_target objects leaks on damon_commit_targets() (diff)
downloadlinux-7d390b53067ef745e2d9bee5a9683df4c96b80a0.tar.xz
linux-7d390b53067ef745e2d9bee5a9683df4c96b80a0.zip
mm/damon/core: fix ignored quota goals and filters of newly committed schemes
damon_commit_schemes() ignores quota goals and filters of the newly committed schemes. This makes users confused about the behaviors. Correctly handle those inputs. Link: https://lkml.kernel.org/r/20241222231222.85060-3-sj@kernel.org Fixes: 9cb3d0b9dfce ("mm/damon/core: implement DAMON context commit function") Signed-off-by: SeongJae Park <sj@kernel.org> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/damon/core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/damon/core.c b/mm/damon/core.c
index dc52361f1863..0776452a1abb 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -868,6 +868,11 @@ static int damon_commit_schemes(struct damon_ctx *dst, struct damon_ctx *src)
NUMA_NO_NODE);
if (!new_scheme)
return -ENOMEM;
+ err = damos_commit(new_scheme, src_scheme);
+ if (err) {
+ damon_destroy_scheme(new_scheme);
+ return err;
+ }
damon_add_scheme(dst, new_scheme);
}
return 0;