From: SJ Park <sj@kernel.org>
To: sashiko-bot@kernel.org
Cc: SJ Park <sj@kernel.org>, damon@lists.linux.dev
Subject: Re: [PATCH 4/7] mm/damon/core: s/nr_accesses_to_accesses_bp/sample_count_to_bp/
Date: Wed, 8 Jul 2026 07:26:43 -0700 [thread overview]
Message-ID: <20260708142644.124034-1-sj@kernel.org> (raw)
In-Reply-To: <20260708140348.4A4F91F000E9@smtp.kernel.org>
On Wed, 08 Jul 2026 14:03:47 +0000 sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
>
> Pre-existing issues:
> - [High] The functions `damon_sample_bp_to_count` and `damon_sample_count_to_bp` are susceptible to 32-bit integer overflows when evaluating large aggregation intervals.
> --
>
> --- Patch [4]: [PATCH 4/7] mm/damon/core: s/nr_accesses_to_accesses_bp/sample_count_to_bp/ ---
> commit 75d19025f9846da2b8b1718a4f36d8064a4aa832
> Author: SJ Park <sj@kernel.org>
>
> mm/damon/core: s/nr_accesses_to_accesses_bp/sample_count_to_bp/
>
> This commit renames damon_nr_accesses_to_accesses_bp to
> damon_sample_count_to_bp to better describe its actual behavior of
> converting a positive sample count to a ratio.
>
> > diff --git a/mm/damon/core.c b/mm/damon/core.c
> > index dea63083917b0..718268df27fa7 100644
> > --- a/mm/damon/core.c
> > +++ b/mm/damon/core.c
> > @@ -883,19 +883,18 @@ static unsigned int damon_sample_bp_to_count(
> > return bp * damon_nr_samples_per_aggr(attrs) / 10000;
> > }
>
> [Severity: High]
> This is a pre-existing issue, but does this multiplication overflow if the
> total samples in an aggregation interval is large?
>
> If an administrator configures a large aggr_interval compared to
> sample_interval, making the sample ratio exceed 429,496, multiplying bp
> (up to 10,000) by the number of samples could exceed the 32-bit limit of
> unsigned int, causing incorrect bound calculations.
Known low priority issue.
>
> >
> > -/* Convert nr_accesses to access ratio in bp (per 10,000) */
> > -static unsigned int damon_nr_accesses_to_accesses_bp(
> > - unsigned int nr_accesses, struct damon_attrs *attrs)
> > +/* convert sample count to ratio in bp (per 10,000) */
> > +static unsigned int damon_sample_count_to_bp(
> > + unsigned int count, struct damon_attrs *attrs)
> > {
> > - return mult_frac(nr_accesses, 10000, damon_nr_samples_per_aggr(attrs));
> > + return mult_frac(count, 10000, damon_nr_samples_per_aggr(attrs));
> > }
>
> [Severity: High]
> This is also a pre-existing issue, but can this use of mult_frac result in
> an integer overflow?
>
> The mult_frac macro evaluates (count % samples) * 10000 in 32-bit
> arithmetic, which might overflow and produce an incorrect basis point
> ratio when the sample count is very large.
Known low priorrity issue.
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260708135359.122587-1-sj@kernel.org?part=4
Thanks,
SJ
next prev parent reply other threads:[~2026-07-08 14:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 13:53 [PATCH 0/7] mm/damon: update probe hits for runtime parameter commits SJ Park
2026-07-08 13:53 ` [PATCH 1/7] mm/damon/core: remove comment and test for nr_to_bp() divide-by-zero SJ Park
2026-07-08 14:13 ` sashiko-bot
2026-07-08 14:25 ` SJ Park
2026-07-08 14:31 ` SJ Park
2026-07-08 13:53 ` [PATCH 2/7] mm/damon/core: s/damon_max_nr_accesses()/damon_nr_samples_per_aggr()/ SJ Park
2026-07-08 13:53 ` [PATCH 3/7] mm/damon/core: s/accesses_bp_to_nr_accesses/sample_bp_to_count/ SJ Park
2026-07-08 13:53 ` [PATCH 4/7] mm/damon/core: s/nr_accesses_to_accesses_bp/sample_count_to_bp/ SJ Park
2026-07-08 14:03 ` sashiko-bot
2026-07-08 14:26 ` SJ Park [this message]
2026-07-08 13:53 ` [PATCH 5/7] mm/damon/core: s/nr_accesses_for_new_attrs/nr_samples_for_new_attrs/ SJ Park
2026-07-08 14:09 ` sashiko-bot
2026-07-08 14:27 ` SJ Park
2026-07-08 13:53 ` [PATCH 6/7] mm/damon/core: update probe hits for new parameter commit SJ Park
2026-07-08 14:08 ` sashiko-bot
2026-07-08 14:28 ` SJ Park
2026-07-08 13:53 ` [PATCH 7/7] mm/damon/core: handle unreset probe_hits in probe_hits_mvsum() SJ Park
2026-07-08 14:34 ` [PATCH 0/7] mm/damon: update probe hits for runtime parameter commits 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=20260708142644.124034-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=damon@lists.linux.dev \
--cc=sashiko-bot@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.