All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "SeongJae Park" <sj@kernel.org>
Cc: damon@lists.linux.dev
Subject: Re: [RFC PATCH 06/13] mm/damon/core: remove damon_warn_fix_nr_accesses_corruption()
Date: Fri, 19 Jun 2026 19:47:44 +0000	[thread overview]
Message-ID: <20260619194745.361EA1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260619193415.73833-7-sj@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Critical] damon_nr_accesses_mvsum() causes a divide-by-zero kernel panic if aggr_interval is configured to 0.
--

commit 6a4a453ed1f9a5204defaea4d03c5096a0240cc8
Author: SeongJae Park <sj@kernel.org>

mm/damon/core: remove damon_warn_fix_nr_accesses_corruption()

This commit removes the damon_warn_fix_nr_accesses_corruption function
and its call site in kdamond_reset_aggregated. This removes the
corruption detection and fix logic for nr_accesses_bp since it is no
longer used.

> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index a7b45b3cad508..35a4f22a35f7e 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c

[ ... ]

> @@ -2046,7 +2033,6 @@ static void kdamond_reset_aggregated(struct damon_ctx *c)
>  			trace_damon_aggregated(ti, r, damon_nr_regions(t));
>  			trace_damon_region_aggregated(ti, r,
>  					damon_nr_regions(t), nr_probes);
> -			damon_warn_fix_nr_accesses_corruption(r);
>  			r->last_nr_accesses = r->nr_accesses;
>  			r->nr_accesses = 0;
>  			for (i = 0; i < DAMON_MAX_PROBES; i++)

[Severity: Critical]
This isn't a bug introduced by this patch, but by a previous patch in the
series (mm/damon: introduce damon_nr_accesses_mvsum). Does the
damon_nr_accesses_mvsum() function cause a divide-by-zero if aggr_interval is
configured to 0?

In damon_nr_accesses_mvsum(), window_len is calculated as:

    window_len = ctx->attrs.aggr_interval / sample_interval;
    left_window = ctx->next_aggregation_sis - ctx->passed_sample_intervals;
    left_window_bp = mult_frac(left_window, 10000, window_len);

If a user configures aggr_interval to 0 (and sample_interval to 0, which
passes the sample_interval > aggr_interval validation in damon_set_attrs()),
window_len evaluates to 0.

Because mult_frac() directly performs a division by this parameter, wouldn't
this result in a divide-by-zero exception and a kernel panic?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260619193415.73833-1-sj@kernel.org?part=6

  reply	other threads:[~2026-06-19 19:47 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-19 19:33 [RFC PATCH 00/13] mm/damon: optimize out nr_accesses_bp SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 01/13] mm/damon: introduce damon_nr_accesses_mvsum() SeongJae Park
2026-06-19 19:44   ` sashiko-bot
2026-06-19 19:52     ` SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 02/13] mm/damon/tests/core-kunit: test damon_mvsum() SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 03/13] mm/damon/core: use damon_nr_accesses_mvsum() in __damos_valid_target() SeongJae Park
2026-06-19 19:49   ` sashiko-bot
2026-06-19 19:33 ` [RFC PATCH 04/13] mm/damon/core: use damon_nr_accesses_mvsum() for damos region tracing SeongJae Park
2026-06-19 19:51   ` sashiko-bot
2026-06-19 20:17     ` SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 05/13] mm/damon/sysfs-schemes: use damon_nr_accesses_mvsum() for damo regions SeongJae Park
2026-06-19 19:47   ` sashiko-bot
2026-06-19 19:55     ` SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 06/13] mm/damon/core: remove damon_warn_fix_nr_accesses_corruption() SeongJae Park
2026-06-19 19:47   ` sashiko-bot [this message]
2026-06-19 19:56     ` SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 07/13] mm/damon/core: remove damon_verify_reset_aggregated() SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 08/13] mm/damon/core: remove damon_verify_merge_regions_of() SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 09/13] mm/damon/tests/core-kunit: remove nr_accesses_bp setup and tests SeongJae Park
2026-06-19 19:52   ` sashiko-bot
2026-06-19 20:24     ` SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 10/13] selftests/damon/drgn_dump_damon_status: do not dump nr_accesses_bp SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 11/13] mm/damon/core: remove nr_accesses_bp setups and updates SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 12/13] mm/damon/core: remove damon_moving_sum() and its unit test SeongJae Park
2026-06-19 19:33 ` [RFC PATCH 13/13] mm/damon: remove damon_region->nr_accesses_bp SeongJae Park
2026-06-19 19:49   ` sashiko-bot
2026-06-19 20:36     ` SeongJae 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=20260619194745.361EA1F000E9@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.