linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: SeongJae Park <sj@kernel.org>
To: Enze Li <lienze@kylinos.cn>
Cc: SeongJae Park <sj@kernel.org>,
	akpm@linux-foundation.org, damon@lists.linux.dev,
	linux-mm@kvack.org, enze.li@gmx.com
Subject: Re: [PATCH] mm/damon/core: fix potential memory leak by cleaning ops_filter in damon_destroy_scheme
Date: Wed, 15 Oct 2025 08:07:00 -0700	[thread overview]
Message-ID: <20251015150701.68087-1-sj@kernel.org> (raw)
In-Reply-To: <87jz0wg9uw.fsf@>

On Wed, 15 Oct 2025 10:46:47 +0800 Enze Li <lienze@kylinos.cn> wrote:

> Hi SJ,
> 
> On Tue, Oct 14 2025 at 11:25:38 AM -0700, SeongJae Park wrote:
> 
> > On Tue, 14 Oct 2025 16:42:25 +0800 Enze Li <lienze@kylinos.cn> wrote:
> >
> >> Currently, damon_destroy_scheme() only cleans up the filter list but
> >> leaves ops_filter untouched, which could lead to memory leaks when
> >> a scheme is destroyed.
> >> 
> >> This patch ensures both filter and ops_filter are properly freed in
> >> damon_destroy_scheme(), preventing potential memory leaks.
> >
> > Thank you for fixing this!
> >
> > FYI the leak is not only potential but can easily be reproduced using the ops
> > damos filters.  For example, I was able to reproduce it using DAMON user-space
> > tool (damo), like below.
> >
> >     $ sudo ./damo start
> >     $ sudo ./damo report access --snapshot_damos_filter allow anon
> >
> > After the above steps I confirmed it leaks the memory using kmemleak.
> 
> Thank you for the review.
> 
> Considering that similar memory leak issues might occur elsewhere in the
> future, should we consider exploring the introduction of Rust for
> certain modules as a proactive measure?
> 
> My search through the mailing list archives didn't reveal similar
> discussions, though I might have missed them.

I also don't remember discussing Rust for DAMON on the mailing list.  You must
be right, or I also missed some :)

> Would you be open to
> sharing your insights on this matter?

In short, I agree adopting Rust for DAMON could be helpful.  As you mentioned,
rewriting certain buggy DAMON modules such as DAMON sysfs interface in Rust
could be a good idea.  There was also a private discussion about writing DAMON
user-space tool or library in Rust.  I think that could also be an interesting
idea.  So I'd say I'm open to Rust adoption on DAMON, not only in kernel space
but also in user-space.

Nonetheless, I know nothing about Rust, and having limited resource.  I
actually wanted to learn Rust and start writing a sample DAMON module in Rust.
I got the idea from the last year LPC, but still made no progress at all.  So
I'm open to Rust adoption in long term, but cannot guarantee something in short
term for now.

The user-space Rust adoption could be done regardless of my help, though.  That
is, someone could develop and maintain a new user-space tool or library for
DAMON with Rust, independent of 'damo'.  My poor knowledge about Rush shouldn't
be a blocker for such projects.


Thanks,
SJ

[...]


      reply	other threads:[~2025-10-15 15:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-14  8:42 Enze Li
2025-10-14 18:25 ` SeongJae Park
2025-10-15  2:46   ` Enze Li
2025-10-15 15:07     ` 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=20251015150701.68087-1-sj@kernel.org \
    --to=sj@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=damon@lists.linux.dev \
    --cc=enze.li@gmx.com \
    --cc=lienze@kylinos.cn \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox