[GIT PULL] workqueue: Fixes for v7.3-rc1
From: Tejun Heo
Date: Mon Aug 31 2026 - 17:24:57 EST
Hello, Linus.
The following changes since commit 20a80e7f6b71bd664c98e95589f0cbc68804d200:
workqueue: annotate racy p->wake_cpu accesses in kick_pool_pick() (2026-08-13 07:00:19 -1000)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git tags/wq-for-7.3-rc1-fixes
for you to fetch changes up to 93e257938aa67a6c957217db94091d9d9e5d403f:
tools/workqueue/wq_dump.py: Support backward compatibility for wq->attrs rename (2026-08-31 10:17:08 -1000)
----------------------------------------------------------------
workqueue: Fixes for v7.3-rc1
- An unbound worker pool could be freed while still reachable through the
pending-activation list, leading to a use-after-free. Unlink before
dropping the reference.
- On PREEMPT_RT, the BH workqueue kick raised softirqs from preemptible
context, tripping a lockdep assertion and possibly losing concurrently
raised softirq bits.
- Draining BH work off a dead CPU nests two pools' callback locks, which
lockdep misreported as recursive locking. The nesting cannot deadlock.
Annotate it.
- Reject watchdog thresholds that overflow the conversion to jiffies.
- Make the drgn workqueue dump script work again on kernels and vmcores
from before the workqueue attrs field rename.
----------------------------------------------------------------
Aaron Tomlin (1):
tools/workqueue/wq_dump.py: Support backward compatibility for wq->attrs rename
Jiacheng Xu (1):
workqueue: reject watchdog thresholds that overflow jiffies
Tejun Heo (1):
workqueue: Annotate cb_lock nesting when draining a dead BH pool
Yao Kai (1):
workqueue: Fix unbound pool lifetime for pending pwqs
Zqiang (1):
workqueue: Use raise_softirq() to trigger softirq in irq_work handler
kernel/workqueue.c | 30 +++++++++++++++++++++---------
tools/workqueue/wq_dump.py | 10 ++++++++--
2 files changed, 29 insertions(+), 11 deletions(-)
Thanks.
--
tejun