diff options
| author | SeongJae Park <sj@kernel.org> | 2026-04-28 07:29:40 +0300 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-05-29 07:04:41 +0300 |
| commit | 5a2d162e22bf33eb89d53e802d0fc1ec422e19b6 (patch) | |
| tree | 853d4752b0c267ba13bf855376a1eaf82ac332e1 | |
| parent | 214f9ab72ce6e16120c20ad670389656f059e685 (diff) | |
| download | linux-5a2d162e22bf33eb89d53e802d0fc1ec422e19b6.tar.xz | |
mm/damon/core: make charge_addr_from aware of end-address exclusivity
DAMON region end address is exclusive one, but charge_addr_from is
assigned assuming the end address is inclusive. As a result, DAMOS action
to next up to min_region_sz memory can be skipped. This is quite
negligible user impact. But, the bug is a bug that can be very simply
fixed. Fix the wrong assignment to respect the exclusiveness of the
address.
The issue was discovered [1] by Sashiko.
Link: https://lore.kernel.org/20260428042942.118230-1-sj@kernel.org
Link: https://lore.kernel.org/20260428032324.115663-1-sj@kernel.org [1]
Fixes: 50585192bc2e ("mm/damon/schemes: skip already charged targets and regions")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org> # 5.16.x
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
| -rw-r--r-- | mm/damon/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/damon/core.c b/mm/damon/core.c index 3dbbbfdeff71..901ffdaefb7f 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -2106,7 +2106,7 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t, if (damos_quota_is_set(quota) && quota->charged_sz >= quota->esz) { quota->charge_target_from = t; - quota->charge_addr_from = r->ar.end + 1; + quota->charge_addr_from = r->ar.end; } } if (s->action != DAMOS_STAT) |
