[PATCH] mm/damon/stat: return error if monitoring target region is invalid

From: SeongJae Park

Date: Tue Mar 17 2026 - 01:11:22 EST


On 32bit systems with LPAE, the end address might be overflowed or
truncated, resulting in invalid range (the end address is equal or
smaller than the start address). Return an error for the case.

Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
mm/damon/stat.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/mm/damon/stat.c b/mm/damon/stat.c
index c5af8ad4bcb65..cf2c5a541eeea 100644
--- a/mm/damon/stat.c
+++ b/mm/damon/stat.c
@@ -188,6 +188,8 @@ static int damon_stat_set_monitoring_region(struct damon_target *t,
arg.res.start, addr_unit);
addr_range.end = damon_stat_res_to_core_addr(
arg.res.end + 1, addr_unit);
+ if (addr_range.end <= addr_range.start)
+ return -EINVAL;
return damon_set_regions(t, &addr_range, 1, min_region_sz);
}

--
2.47.3