Skip to content

Commit

Permalink
mm/damon/core: fix divide error in damon_nr_accesses_to_accesses_bp()
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
Kefeng Wang authored and akpm00 committed Jun 12, 2023
1 parent 2192bba commit 5ff6e2f
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions mm/damon/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,8 @@ int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs)
return -EINVAL;
if (attrs->min_nr_regions > attrs->max_nr_regions)
return -EINVAL;
if (attrs->sample_interval > attrs->aggr_interval)
return -EINVAL;

damon_update_monitoring_results(ctx, attrs);
ctx->attrs = *attrs;
Expand Down

0 comments on commit 5ff6e2f

Please sign in to comment.