[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