[PATCH] workqueue: fix duplicate wq_update_pod_attrs_buf allocation

From: John Ogness
Date: Wed Sep 13 2023 - 06:16:42 EST


One of the hunks for the patch resulting in
commit 84193c07105c ("workqueue: Generalize unbound CPU pods") was
applied incorrectly. This resulted in @wq_update_pod_attrs_buf
being allocated twice.

>From the kmemleak detector:

unreferenced object 0xc0000000040074c0 (size 64):
comm "swapper/0", pid 0, jiffies 4294937296 (age 1936.580s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 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 ................
backtrace:
[<0000000076b83a6e>] .kmalloc_trace+0x54/0x190
[<00000000898f2356>] .alloc_workqueue_attrs+0x2c/0x60
[<0000000063365e1f>] .workqueue_init_early+0xe4/0x4b8
[<00000000ca97ff39>] .start_kernel+0x8d0/0xba4
[<000000002ee12080>] start_here_common+0x1c/0x20

Remove the redundant allocation.

Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>
---
kernel/workqueue.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index c85825e17df8..43ab8399b72b 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -6524,9 +6524,6 @@ void __init workqueue_init_early(void)

pwq_cache = KMEM_CACHE(pool_workqueue, SLAB_PANIC);

- wq_update_pod_attrs_buf = alloc_workqueue_attrs();
- BUG_ON(!wq_update_pod_attrs_buf);
-
/* initialize WQ_AFFN_SYSTEM pods */
pt->pod_cpus = kcalloc(1, sizeof(pt->pod_cpus[0]), GFP_KERNEL);
pt->pod_node = kcalloc(1, sizeof(pt->pod_node[0]), GFP_KERNEL);

base-commit: 3669558bdf354cd352be955ef2764cde6a9bf5ec
--
2.39.2