Skip to content

Commit 5ff6e2f

Browse files
Kefeng Wangakpm00
Kefeng Wang
authored andcommitted
mm/damon/core: fix divide error in damon_nr_accesses_to_accesses_bp()
If 'aggr_interval' is smaller than 'sample_interval', max_nr_accesses in damon_nr_accesses_to_accesses_bp() becomes zero which leads to divide error, let's validate the values of them in damon_set_attrs() to fix it, which similar to others attrs check. Link: https://lkml.kernel.org/r/[email protected] Fixes: 2f5bef5 ("mm/damon/core: update monitoring results for new monitoring attributes") Reported-by: [email protected] Closes: https://syzkaller.appspot.com/bug?extid=841a46899768ec7bec67 Link: https://lore.kernel.org/damon/[email protected]/ Reviewed-by: SeongJae Park <[email protected]> Signed-off-by: Kefeng Wang <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent 2192bba commit 5ff6e2f

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

mm/damon/core.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,8 @@ int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs)
551551
return -EINVAL;
552552
if (attrs->min_nr_regions > attrs->max_nr_regions)
553553
return -EINVAL;
554+
if (attrs->sample_interval > attrs->aggr_interval)
555+
return -EINVAL;
554556

555557
damon_update_monitoring_results(ctx, attrs);
556558
ctx->attrs = *attrs;

0 commit comments

Comments
 (0)