Re: [PATCH] workqueue: Log additional details when rejecting work

From: Tejun Heo
Date: Fri Feb 14 2025 - 12:16:58 EST


On Fri, Feb 14, 2025 at 04:43:49PM +0000, Will Deacon wrote:
> Syzbot regularly runs into the following warning on arm64:
>
> | WARNING: CPU: 1 PID: 6023 at kernel/workqueue.c:2257 current_wq_worker kernel/workqueue_internal.h:69 [inline]
> | WARNING: CPU: 1 PID: 6023 at kernel/workqueue.c:2257 is_chained_work kernel/workqueue.c:2199 [inline]
> | WARNING: CPU: 1 PID: 6023 at kernel/workqueue.c:2257 __queue_work+0xe50/0x1308 kernel/workqueue.c:2256
> | Modules linked in:
> | CPU: 1 UID: 0 PID: 6023 Comm: klogd Not tainted 6.13.0-rc2-syzkaller-g2e7aff49b5da #0
> | Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
> | pstate: 404000c5 (nZcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> | pc : __queue_work+0xe50/0x1308 kernel/workqueue_internal.h:69
> | lr : current_wq_worker kernel/workqueue_internal.h:69 [inline]
> | lr : is_chained_work kernel/workqueue.c:2199 [inline]
> | lr : __queue_work+0xe50/0x1308 kernel/workqueue.c:2256
>
> [...]
>
> | __queue_work+0xe50/0x1308 kernel/workqueue.c:2256 (L)
> | delayed_work_timer_fn+0x74/0x90 kernel/workqueue.c:2485
> | call_timer_fn+0x1b4/0x8b8 kernel/time/timer.c:1793
> | expire_timers kernel/time/timer.c:1839 [inline]
> | __run_timers kernel/time/timer.c:2418 [inline]
> | __run_timer_base+0x59c/0x7b4 kernel/time/timer.c:2430
> | run_timer_base kernel/time/timer.c:2439 [inline]
> | run_timer_softirq+0xcc/0x194 kernel/time/timer.c:2449
>
> The warning is probably because we are trying to queue work into a
> destroyed workqueue, but the softirq context makes it hard to pinpoint
> the problematic caller.
>
> Extend the warning diagnostics to print both the function we are trying
> to queue as well as the name of the workqueue.
>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Marc Zyngier <maz@xxxxxxxxxx>
> Cc: Lai Jiangshan <jiangshanlai@xxxxxxxxx>
> Link: https://syzkaller.appspot.com/bug?extid=e13e654d315d4da1277c
> Signed-off-by: Will Deacon <will@xxxxxxxxxx>

Applied to wq/for-6.14-fixes.

Thanks.

--
tejun