From: sashiko-bot@kernel.org
To: "SJ Park" <sj@kernel.org>
Cc: damon@lists.linux.dev
Subject: Re: [RFC PATCH 4/8] mm/damon/reclaim: remove duplicated min_region_sz power of 2 check
Date: Wed, 01 Jul 2026 15:42:57 +0000 [thread overview]
Message-ID: <20260701154258.191FD1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260701144815.113325-5-sj@kernel.org>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Removing the early `is_power_of_2()` check allows invalid `min_region_sz` inputs to reach `damon_commit_ctx()`, which exposes a bug introduced earlier in this series that corrupts the live context and silently terminates the DAMON background thread.
--
commit f5d47eadcc06079427c142dd59c5a8aa8721caec
Author: SJ Park <sj@kernel.org>
mm/damon/reclaim: remove duplicated min_region_sz power of 2 check
DAMON_RECLAIM validates the user input for min_region_sz. The same
validation is done inside damon_start() and damon_commit_ctx(). Remove
the duplicate.
> diff --git a/mm/damon/reclaim.c b/mm/damon/reclaim.c
> index 11b70d0a9a6f0..6469b25cc34f9 100644
> --- a/mm/damon/reclaim.c
> +++ b/mm/damon/reclaim.c
> @@ -208,11 +208,6 @@ static int damon_reclaim_apply_parameters(void)
> param_ctx->addr_unit = addr_unit;
> param_ctx->min_region_sz = max(DAMON_MIN_REGION_SZ / addr_unit, 1);
>
> - if (!is_power_of_2(param_ctx->min_region_sz)) {
> - err = -EINVAL;
> - goto out;
> - }
[Severity: High]
Does removing this early check expose a bug introduced earlier in this series?
If the user provides an invalid addr_unit (e.g., 3), min_region_sz will not be
a power of 2. By removing the check here, this invalid parameter is passed
to damon_commit_ctx().
Due to an issue in damon_commit_ctx() (from "mm/damon/core: safely validate
src on damon_commit_ctx()"), the dry-run validates dst instead of src:
mm/damon/core.c:damon_commit_ctx() {
...
err = __damon_commit_ctx(test_ctx, dst);
if (err)
goto out;
err = __damon_commit_ctx(dst, src);
...
}
When __damon_commit_ctx() is called with the live dst and invalid src, it
sets dst->maybe_corrupted before returning -EINVAL:
mm/damon/core.c:__damon_commit_ctx() {
...
dst->maybe_corrupted = true;
if (!is_power_of_2(src->min_region_sz))
return -EINVAL;
...
}
Could this cause the background kdamond thread to see maybe_corrupted as true
on its next iteration and permanently terminate, silently turning a simple
configuration error into a denial of service for the subsystem?
> -
> if (!damon_reclaim_mon_attrs.aggr_interval) {
> err = -EINVAL;
> goto out;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260701144815.113325-1-sj@kernel.org?part=4
next prev parent reply other threads:[~2026-07-01 15:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 14:48 [RFC PATCH 0/8] mm/damon: validate all parameters in the core SJ Park
2026-07-01 14:48 ` [RFC PATCH 1/8] mm/damon/core: safely validate src on damon_commit_ctx() SJ Park
2026-07-01 15:01 ` sashiko-bot
2026-07-01 15:06 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 2/8] mm/damon/core: do parameter testing commit on damon_start() SJ Park
2026-07-01 15:20 ` sashiko-bot
2026-07-02 0:05 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 3/8] mm/damon/sysfs: remove duplicated commit input validity check SJ Park
2026-07-01 15:29 ` sashiko-bot
2026-07-02 0:09 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 4/8] mm/damon/reclaim: remove duplicated min_region_sz power of 2 check SJ Park
2026-07-01 15:42 ` sashiko-bot [this message]
2026-07-02 0:10 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 5/8] mm/damon/lru_sort: remove duplicated min_region_sz power_of_2() check SJ Park
2026-07-01 15:56 ` sashiko-bot
2026-07-02 0:15 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 6/8] mm/damon: document region size validation in damon_set_regions() SJ Park
2026-07-01 16:04 ` sashiko-bot
2026-07-02 0:16 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 7/8] mm/damon/core: remove start, end check in damon_set_region_system_rams() SJ Park
2026-07-01 16:22 ` sashiko-bot
2026-07-02 0:18 ` SJ Park
2026-07-01 14:48 ` [RFC PATCH 8/8] mm/damon/sysfs: remove region size validation SJ Park
2026-07-01 16:34 ` sashiko-bot
2026-07-02 0:19 ` SJ Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260701154258.191FD1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=damon@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=sj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.