syzbot
INFO: task hung in rescuer_thread (3)
Status:
upstream: reported syz repro on 2026/02/09 00:19
Subsystems:
kernel
Labels:
prio:normal
[Documentation on labels]
Reported-by: syzbot+1d6360305e34d30ab396@syzkaller.appspotmail.com
First crash: 285d, last: 24d
▶
▼
Last patch testing requests (5)
Sample crash report:
INFO: task kworker/R-wg-cr:16282 blocked for more than 145 seconds.
Tainted: G L syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/R-wg-cr state:D stack:28200 pid:16282 tgid:16282 ppid:2 task_flags:0x4208060 flags:0x00080000
Workqueue: 0x0 (wg-crypt-wg2)
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5533 [inline]
__schedule+0x17db/0x58f0 kernel/sched/core.c:7284
__schedule_loop kernel/sched/core.c:7361 [inline]
schedule+0x164/0x2b0 kernel/sched/core.c:7376
schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7433
__mutex_lock_common kernel/locking/mutex.c:726 [inline]
__mutex_lock+0x7c1/0x1550 kernel/locking/mutex.c:821
worker_detach_from_pool kernel/workqueue.c:2844 [inline]
rescuer_thread+0xc0b/0x10e0 kernel/workqueue.c:3731
kthread+0x38b/0x480 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
INFO: task kworker/R-wg-cr:19904 blocked for more than 145 seconds.
Tainted: G L syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/R-wg-cr state:D stack:27584 pid:19904 tgid:19904 ppid:2 task_flags:0x4208060 flags:0x00080000
Workqueue: 0x0 (wg-crypt-wg0)
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5533 [inline]
__schedule+0x17db/0x58f0 kernel/sched/core.c:7284
__schedule_loop kernel/sched/core.c:7361 [inline]
schedule+0x164/0x2b0 kernel/sched/core.c:7376
schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7433
__mutex_lock_common kernel/locking/mutex.c:726 [inline]
__mutex_lock+0x7c1/0x1550 kernel/locking/mutex.c:821
worker_detach_from_pool kernel/workqueue.c:2844 [inline]
rescuer_thread+0xc0b/0x10e0 kernel/workqueue.c:3731
kthread+0x38b/0x480 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
INFO: task kworker/R-wg-cr:19907 blocked for more than 145 seconds.
Tainted: G L syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/R-wg-cr state:D stack:27528 pid:19907 tgid:19907 ppid:2 task_flags:0x4208060 flags:0x00080000
Workqueue: 0x0 (wg-crypt-wg2)
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5533 [inline]
__schedule+0x17db/0x58f0 kernel/sched/core.c:7284
__schedule_loop kernel/sched/core.c:7361 [inline]
schedule+0x164/0x2b0 kernel/sched/core.c:7376
schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7433
__mutex_lock_common kernel/locking/mutex.c:726 [inline]
__mutex_lock+0x7c1/0x1550 kernel/locking/mutex.c:821
worker_detach_from_pool kernel/workqueue.c:2844 [inline]
rescuer_thread+0xc0b/0x10e0 kernel/workqueue.c:3731
kthread+0x38b/0x480 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
INFO: task kworker/R-wg-cr:20418 blocked for more than 145 seconds.
Tainted: G L syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/R-wg-cr state:D stack:30040 pid:20418 tgid:20418 ppid:2 task_flags:0x4208060 flags:0x00080000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5533 [inline]
__schedule+0x17db/0x58f0 kernel/sched/core.c:7284
__schedule_loop kernel/sched/core.c:7361 [inline]
schedule+0x164/0x2b0 kernel/sched/core.c:7376
schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7433
__mutex_lock_common kernel/locking/mutex.c:726 [inline]
__mutex_lock+0x7c1/0x1550 kernel/locking/mutex.c:821
worker_attach_to_pool+0x31/0x390 kernel/workqueue.c:2786
rescuer_thread+0x336/0x10e0 kernel/workqueue.c:3696
kthread+0x38b/0x480 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Showing all locks held in the system:
locks held by kworker/R-kvfre/6: 1, on CPU#0:
#0: ffffffff8ebf92a0 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x31/0x390 kernel/workqueue.c:2786
locks held by kworker/0:0/9: 3, last CPU#0:
#0: ffff8880259b6940 ((wq_completion)wg-kex-wg2#34){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#0: ffff8880259b6940 ((wq_completion)wg-kex-wg2#34){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#0: ffff8880259b6940 ((wq_completion)wg-kex-wg2#34){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3361 [inline]
#0: ffff8880259b6940 ((wq_completion)wg-kex-wg2#34){+.+.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3479
#1: ffffc900000e7c40 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ((typeof((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))))((unsigned long)((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))) + (((__per_cpu_offset[(cpu)]))))); })->work)){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#1: ffffc900000e7c40 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ((typeof((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))))((unsigned long)((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))) + (((__per_cpu_offset[(cpu)]))))); })->work)){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#1: ffffc900000e7c40 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ((typeof((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))))((unsigned long)((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))) + (((__per_cpu_offset[(cpu)]))))); })->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3361 [inline]
#1: ffffc900000e7c40 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ((typeof((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))))((unsigned long)((__typeof_unqual__(*((worker))) *)(( unsigned long)((worker)))) + (((__per_cpu_offset[(cpu)]))))); })->work)){+.+.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3479
#2: ffff888025e5c888 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_begin_session+0x36/0xbf0 drivers/net/wireguard/noise.c:822
locks held by kworker/u8:0/12: 4, on CPU#0:
#0: ffff88807aec6940 ((wq_completion)wg-kex-wg2#33){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#0: ffff88807aec6940 ((wq_completion)wg-kex-wg2#33){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#0: ffff88807aec6940 ((wq_completion)wg-kex-wg2#33){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3361 [inline]
#0: ffff88807aec6940 ((wq_completion)wg-kex-wg2#33){+.+.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3479
#1: ffffc90000117c40 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#1: ffffc90000117c40 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#1: ffffc90000117c40 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3361 [inline]
#1: ffffc90000117c40 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3479
#2: ffff88805ba95440 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x12e/0x810 drivers/net/wireguard/noise.c:529
#3: ffff888025e5c888 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x13f/0x810 drivers/net/wireguard/noise.c:530
locks held by kworker/R-mm_pe/14: 1, on CPU#0:
#0: ffffffff8ebf92a0 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2844 [inline]
#0: ffffffff8ebf92a0 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0xc0b/0x10e0 kernel/workqueue.c:3731
locks held by pr/ttyS0/16: 1, last CPU#0:
#0: ffffffff8ec364d8 (console_srcu){....}-{0:0}, at: rcu_try_lock_acquire include/linux/rcupdate.h:314 [inline]
#0: ffffffff8ec364d8 (console_srcu){....}-{0:0}, at: srcu_read_lock_nmisafe include/linux/srcu.h:439 [inline]
#0: ffffffff8ec364d8 (console_srcu){....}-{0:0}, at: console_srcu_read_lock+0x30/0x60 kernel/printk/printk.c:291
locks held by kworker/1:1/30: 3, last CPU#1:
* Struck through repros no longer work on HEAD.