Re: [tip: locking/urgent] futex: Move futex cleanup to __mmdrop()

From: Breno Leitao
Date: Thu Aug 21 2025 - 13:40:06 EST


On Sat, Aug 02, 2025 at 01:22:10PM +0000, tip-bot2 for Thomas Gleixner wrote:
> The following commit has been merged into the locking/urgent branch of tip:
>
> Commit-ID: e703b7e247503b8bf87b62c02a4392749b09eca8
> Gitweb: https://git.kernel.org/tip/e703b7e247503b8bf87b62c02a4392749b09eca8
> Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> AuthorDate: Wed, 30 Jul 2025 21:44:55 +02:00
> Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> CommitterDate: Sat, 02 Aug 2025 15:11:52 +02:00
>
> futex: Move futex cleanup to __mmdrop()
>
> Futex hash allocations are done in mm_init() and the cleanup happens in
> __mmput(). That works most of the time, but there are mm instances which
> are instantiated via mm_alloc() and freed via mmdrop(), which causes the
> futex hash to be leaked.
>
> Move the cleanup to __mmdrop().
>
> Fixes: 56180dd20c19 ("futex: Use RCU-based per-CPU reference counting instead of rcuref_t")
> Reported-by: André Draszik <andre.draszik@xxxxxxxxxx>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Tested-by: André Draszik <andre.draszik@xxxxxxxxxx>
> Link: https://lore.kernel.org/all/87ldo5ihu0.ffs@tglx
> Closes: https://lore.kernel.org/all/0c8cc83bb73abf080faf584f319008b67d0931db.camel@xxxxxxxxxx

Thomas,

it seems this change caused the bug being reported here:

https://lore.kernel.org/all/20250818131902.5039-1-hdanton@xxxxxxxx/