From: Quanmin Yan Date: Wed, 27 Aug 2025 11:58:58 +0000 (+0800) Subject: mm/damon/reclaim: avoid divide-by-zero in damon_reclaim_apply_parameters() X-Git-Tag: v6.12.48~63 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5d6eeb3c683c777ed4538eb3a650bb7da17a7cff;p=thirdparty%2Fkernel%2Fstable.git mm/damon/reclaim: avoid divide-by-zero in damon_reclaim_apply_parameters() commit e6b543ca9806d7bced863f43020e016ee996c057 upstream. 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 Reviewed-by: SeongJae Park Cc: Kefeng Wang Cc: ze zuo Cc: [6.1+] Signed-off-by: Andrew Morton Signed-off-by: SeongJae Park Signed-off-by: Greg Kroah-Hartman --- diff --git a/mm/damon/reclaim.c b/mm/damon/reclaim.c index 9e0077a9404e2..65842e6854fd1 100644 --- a/mm/damon/reclaim.c +++ b/mm/damon/reclaim.c @@ -194,6 +194,11 @@ static int damon_reclaim_apply_parameters(void) if (err) return err; + if (!damon_reclaim_mon_attrs.aggr_interval) { + err = -EINVAL; + goto out; + } + err = damon_set_attrs(ctx, &damon_reclaim_mon_attrs); if (err) goto out;