Re: [PATCH] workqueue: Remove duplicate worqueue attributes allocation

From: Matthieu Baerts
Date: Tue Sep 12 2023 - 08:51:21 EST


Hi Catalin,

On 06/09/2023 19:39, Catalin Marinas wrote:
> Commit 84193c07105c ("workqueue: Generalize unbound CPU pods")
> inadvertently introduced another call to alloc_workqueue_attrs()
> overriding the pointer returned by a previous alloc_workqueue_attrs() a
> few lines up in workqueue_init_early(). This leads to a kmemleak report:
>
> unreferenced object 0xffff000040015000 (size 96):
> comm "swapper/0", pid 0, jiffies 4294892296 (age 163.956s)
> hex dump (first 32 bytes):
> 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 ................
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace:
> [<000000004cec0d50>] __kmem_cache_alloc_node+0x1c4/0x288
> [<0000000083361c2a>] kmalloc_trace+0x20/0x2c
> [<000000005ca61f11>] workqueue_init_early+0xe4/0x538
> [<000000004e6ea358>] start_kernel+0x23c/0x5ec
> [<00000000aea9761e>] __primary_switched+0xbc/0xc4
>
> Remove the first allocation.

Thank you for having shared this patch!

We had the same issue when validating MPTCP tree and your patch fixes
the problem on our side:

Tested-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx>

Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net