* [PATCH 6.1.y] mm/damon/reclaim: avoid divide-by-zero in damon_reclaim_apply_parameters()
[not found] <2025091328-batboy-overexert-6511@gregkh>
@ 2025-09-14 3:17 ` SeongJae Park
0 siblings, 0 replies; only message in thread
From: SeongJae Park @ 2025-09-14 3:17 UTC (permalink / raw)
To: stable
Cc: damon, Quanmin Yan, SeongJae Park, Kefeng Wang, ze zuo,
Andrew Morton
From: Quanmin Yan <yanquanmin1@huawei.com>
When creating a new scheme of DAMON_RECLAIM, the calculation of
'min_age_region' uses 'aggr_interval' as the divisor, which may lead to
division-by-zero errors. Fix it by directly returning -EINVAL when such a
case occurs.
Link: https://lkml.kernel.org/r/20250827115858.1186261-3-yanquanmin1@huawei.com
Fixes: f5a79d7c0c87 ("mm/damon: introduce struct damos_access_pattern")
Signed-off-by: Quanmin Yan <yanquanmin1@huawei.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: ze zuo <zuoze1@huawei.com>
Cc: <stable@vger.kernel.org> [6.1+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit e6b543ca9806d7bced863f43020e016ee996c057)
Signed-off-by: SeongJae Park <sj@kernel.org>
---
mm/damon/reclaim.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/damon/reclaim.c b/mm/damon/reclaim.c
index cc337e94acfd..7952a0b7f409 100644
--- a/mm/damon/reclaim.c
+++ b/mm/damon/reclaim.c
@@ -157,6 +157,9 @@ static int damon_reclaim_apply_parameters(void)
struct damos *scheme, *old_scheme;
int err = 0;
+ if (!damon_reclaim_mon_attrs.aggr_interval)
+ return -EINVAL;
+
err = damon_set_attrs(ctx, &damon_reclaim_mon_attrs);
if (err)
return err;
--
2.39.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-09-14 3:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <2025091328-batboy-overexert-6511@gregkh>
2025-09-14 3:17 ` [PATCH 6.1.y] mm/damon/reclaim: avoid divide-by-zero in damon_reclaim_apply_parameters() SeongJae Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox