lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230913101634.553699-1-john.ogness@linutronix.de>
Date:   Wed, 13 Sep 2023 12:22:34 +0206
From:   John Ogness <john.ogness@...utronix.de>
To:     Tejun Heo <tj@...nel.org>
Cc:     Lai Jiangshan <jiangshanlai@...il.com>,
        linux-kernel@...r.kernel.org
Subject: [PATCH] workqueue: fix duplicate wq_update_pod_attrs_buf allocation

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@...utronix.de>
---
 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ