INFO: task syz.9.859:10794 blocked for more than 145 seconds. Tainted: G L syzkaller #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:syz.9.859 state:D stack:0 pid:10794 tgid:10794 ppid:8502 task_flags:0x400040 flags:0x00800001 Call trace: __switch_to+0x2b4/0x6e4 arch/arm64/kernel/process.c:775 (T) context_switch kernel/sched/core.c:5520 [inline] __schedule+0x1370/0x2d80 kernel/sched/core.c:7270 __schedule_loop kernel/sched/core.c:7347 [inline] schedule+0x13c/0x20c kernel/sched/core.c:7362 schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:7419 __mutex_lock_common kernel/locking/mutex.c:726 [inline] __mutex_lock+0x4ec/0xf14 kernel/locking/mutex.c:821 mutex_lock_nested+0x24/0x30 kernel/locking/mutex.c:874 pipe_release+0x54/0x26c fs/pipe.c:812 __fput+0x338/0x74c fs/file_table.c:512 ____fput+0x20/0x30 fs/file_table.c:540 task_work_run+0x1cc/0x25c kernel/task_work.c:233 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] __exit_to_user_mode_loop kernel/entry/common.c:70 [inline] exit_to_user_mode_loop+0x10c/0x17c kernel/entry/common.c:101 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline] arm64_syscall_exit_to_user_mode arch/arm64/kernel/entry-common.c:108 [inline] el0_svc+0x18c/0x260 arch/arm64/kernel/entry-common.c:759 el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590 Showing all locks held in the system: locks held by kthreadd/2: 1, last CPU#0: #0: ffff800088f02b30 (remove_cache_srcu){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:198 [inline] #0: ffff800088f02b30 (remove_cache_srcu){.+.+}-{0:0}, at: srcu_read_lock+0x48/0x64 include/linux/srcu.h:305 locks held by kworker/0:0/9: 3, last CPU#0: #0: ffff0000d1a89d40 ((wq_completion)wg-kex-wg2#29){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3362 [inline] #0: ffff0000d1a89d40 ((wq_completion)wg-kex-wg2#29){+.+.}-{0:0}, at: process_scheduled_works+0x8c8/0x1250 kernel/workqueue.c:3470 #1: ffff80008ed37c40 ((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:3362 [inline] #1: ffff80008ed37c40 ((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+0x8d0/0x1250 kernel/workqueue.c:3470 #2: ffff0000f8b89700 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_begin_session+0x40/0x958 drivers/net/wireguard/noise.c:822 locks held by kworker/0:1/10: 4, last CPU#0: #0: ffff0000da672940 ((wq_completion)wg-kex-wg0#28){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3362 [inline] #0: ffff0000da672940 ((wq_completion)wg-kex-wg0#28){+.+.}-{0:0}, at: process_scheduled_works+0x8c8/0x1250 kernel/workqueue.c:3470 #1: ffff80008ed47c40 ((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:3362 [inline] #1: ffff80008ed47c40 ((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+0x8d0/0x1250 kernel/workqueue.c:3470 #2: ffff0000c55dd270 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_begin_session+0x40/0x958 drivers/net/wireguard/noise.c:822 #3: ffff800088f02b30 (remove_cache_srcu){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:198 [inline] #3: ffff800088f02b30 (remove_cache_srcu){.+.+}-{0:0}, at: srcu_read_lock+0x48/0x64 include/linux/srcu.h:305 locks held by kworker/u8:0/12: 5, last CPU#0: