]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mm/damon: fix divide by zero in damon_get_intervals_score()
authorHonggyu Kim <honggyu.kim@sk.com>
Wed, 2 Jul 2025 00:02:04 +0000 (09:02 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 10 Jul 2025 04:07:55 +0000 (21:07 -0700)
commitbd225b9591442065beb876da72656f4a2d627d03
treeed3d351bbec8bf8869badf63f8a31b9578e7defc
parentddba1b6cf4791824f8b614ff8878353a6c6f79f5
mm/damon: fix divide by zero in damon_get_intervals_score()

The current implementation allows having zero size regions with no special
reasons, but damon_get_intervals_score() gets crashed by divide by zero
when the region size is zero.

  [   29.403950] Oops: divide error: 0000 [#1] SMP NOPTI

This patch fixes the bug, but does not disallow zero size regions to keep
the backward compatibility since disallowing zero size regions might be a
breaking change for some users.

In addition, the same crash can happen when intervals_goal.access_bp is
zero so this should be fixed in stable trees as well.

Link: https://lkml.kernel.org/r/20250702000205.1921-5-honggyu.kim@sk.com
Fixes: f04b0fedbe71 ("mm/damon/core: implement intervals auto-tuning")
Signed-off-by: Honggyu Kim <honggyu.kim@sk.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c