diff options
author | SeongJae Park <sj@kernel.org> | 2024-12-23 00:12:22 +0100 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2024-12-31 02:59:11 +0100 |
commit | 7d390b53067ef745e2d9bee5a9683df4c96b80a0 (patch) | |
tree | 9b666b2eab14e3ebd8fd51a504a775388f375bf4 /mm | |
parent | mm/damon/core: fix new damon_target objects leaks on damon_commit_targets() (diff) | |
download | linux-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.c | 5 |
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; |