From: SeongJae Park <sj@kernel.org>
To: SeongJae Park <sj@kernel.org>
Cc: Akinobu Mita <akinobu.mita@gmail.com>,
damon@lists.linux.dev, stable@vger.ekrnel.org,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] mm/damon/sysfs: do not ignore callback's return value in damon_sysfs_damon_call()
Date: Sat, 20 Sep 2025 05:53:02 -0700 [thread overview]
Message-ID: <20250920125302.84101-1-sj@kernel.org> (raw)
In-Reply-To: <20250920121131.83174-1-sj@kernel.org>
+ Andrew
On Sat, 20 Sep 2025 05:11:31 -0700 SeongJae Park <sj@kernel.org> wrote:
> On Sat, 20 Sep 2025 19:52:36 +0900 Akinobu Mita <akinobu.mita@gmail.com> wrote:
>
> > The callback return value is ignored in damon_sysfs_damon_call(), which
> > means that it is not possible to detect invalid user input when writing
> > commands such as 'commit' to /sys/kernel/mm/damon/admin/kdamonds/<K>/state.
> > Fix it.
>
> Thank you for finding this issue, Akinobu! Before the introduction of
> damon_sysfs_damon_call() and its usages, DAMON sysfs interface was returning an
> error in case of such command failures. So this is fixing a user-visible
> unintended behavior change. Hence this may deserve Cc-ing stable@ in my
> opinion.
>
> >
>
> So, below may better to be added?
>
> Fixes: f64539dcdb87 ("mm/damon/sysfs: use damon_call() for update_schemes_stats")
> Cc: <stable@vger.ekrnel.org> # v6.14.x
>
> > Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
>
> Reviewed-by: SeongJae Park <sj@kernel.org>
>
> > ---
> > mm/damon/sysfs.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c
> > index fe4e73d0ebbb..97e16f00f23e 100644
> > --- a/mm/damon/sysfs.c
> > +++ b/mm/damon/sysfs.c
> > @@ -1627,12 +1627,15 @@ static int damon_sysfs_damon_call(int (*fn)(void *data),
> > struct damon_sysfs_kdamond *kdamond)
> > {
> > struct damon_call_control call_control = {};
> > + int err;
> >
> > if (!kdamond->damon_ctx)
> > return -EINVAL;
> > call_control.fn = fn;
> > call_control.data = kdamond;
> > - return damon_call(kdamond->damon_ctx, &call_control);
> > + err = damon_call(kdamond->damon_ctx, &call_control);
> > +
>
> I think the above new line is not really needed, but it is definitely trivial.
>
> > + return err ? err : call_control.return_code;
> > }
> >
> > struct damon_sysfs_schemes_walk_data {
> > --
> > 2.43.0
>
>
> Thanks,
> SJ
>
prev parent reply other threads:[~2025-09-20 12:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-20 10:52 [PATCH] mm/damon/sysfs: do not ignore callback's return value in damon_sysfs_damon_call() Akinobu Mita
2025-09-20 12:11 ` SeongJae Park
2025-09-20 12:53 ` SeongJae Park [this message]
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=20250920125302.84101-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=akinobu.mita@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=stable@vger.ekrnel.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.