From: Catalin Marinas <catalin.marinas@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: SJ Park <sj@kernel.org>,
kernel test robot <oliver.sang@intel.com>,
oe-lkp@lists.linux.dev, lkp@intel.com,
linux-kernel@vger.kernel.org, x86@kernel.org,
K Prateek Nayak <kprateek.nayak@amd.com>,
Charlie Jenkins <thecharlesjenkins@gmail.com>,
linux-arch@vger.kernel.org, damon@lists.linux.dev
Subject: Re: [tip:locking/core] [futex] b78b0b6582: kselftests.damon.sysfs_memcg_path_leak.sh.fail
Date: Fri, 7 Aug 2026 18:37:06 +0100 [thread overview]
Message-ID: <anYXwp8peHu8jm-H@arm.com> (raw)
In-Reply-To: <20260807152353.GP687043@noisy.programming.kicks-ass.net>
On Fri, Aug 07, 2026 at 05:23:53PM +0200, Peter Zijlstra wrote:
> On Fri, Aug 07, 2026 at 07:49:27AM -0700, SJ Park wrote:
> > > > kernel test robot noticed "kselftests.damon.sysfs_memcg_path_leak.sh.fail" on:
> > > >
> > > > commit: b78b0b65825275f58336a43611a700de174be8c3 ("futex: Use runtime constants for __futex_hash() hot path")
> > > > https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git locking/core
>
> > The test does a simple DAMON operation and runs kmemleak to see if it caused a
> > leak. It doesn't filter out leaks caused by something other than the DAMON
> > operation, though. So the test can fail even if there is a leak outside of
> > DAMON. This failure is the case. I confirmed manual kmemleak run without any
> > DAMON operation reports the leak on the kernel that was built with the reported
> > commit [1] like below.
>
> > So, the commit is not breaking DAMON. But apparently it is leaking something.
>
> Well, its doing a __init allocation and never freeing it because well,
> futexes cannot be unloaded or anything.
>
> Catalin, this seems rather daft, but what do I know. Is the below the
> right way to tell it to STFU?
>
> ---
> diff --git a/kernel/futex/core.c b/kernel/futex/core.c
> index ad917ff83854..afdbaf754fb7 100644
> --- a/kernel/futex/core.c
> +++ b/kernel/futex/core.c
> @@ -45,6 +45,7 @@
> #include <linux/rseq.h>
> #include <linux/slab.h>
> #include <linux/vmalloc.h>
> +#include <linux/kmemleak.h>
>
> #include <vdso/futex.h>
>
> @@ -2058,6 +2059,7 @@ static int __init futex_init(void)
> order = get_order(size);
>
> __futex_queues = kcalloc(nr_node_ids, sizeof(*__futex_queues), GFP_KERNEL);
> + kmemleak_not_leak(__futex_queues);
>
> runtime_const_init(shift, __futex_shift);
> runtime_const_init(mask, __futex_mask);
This would do. Kmemleak is not that advanced to track the
runtime_const_init() pointers.
--
Catalin
prev parent reply other threads:[~2026-08-07 17:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 8:50 [tip:locking/core] [futex] b78b0b6582: kselftests.damon.sysfs_memcg_path_leak.sh.fail kernel test robot
2026-08-07 9:01 ` Peter Zijlstra
2026-08-07 14:49 ` SJ Park
2026-08-07 15:23 ` Peter Zijlstra
2026-08-07 17:37 ` Catalin Marinas [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=anYXwp8peHu8jm-H@arm.com \
--to=catalin.marinas@arm.com \
--cc=damon@lists.linux.dev \
--cc=kprateek.nayak@amd.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-lkp@lists.linux.dev \
--cc=oliver.sang@intel.com \
--cc=peterz@infradead.org \
--cc=sj@kernel.org \
--cc=thecharlesjenkins@gmail.com \
--cc=x86@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox