INFO: task kworker/1:3:5895 blocked for more than 152 seconds. Not tainted 6.16.0-syzkaller-11364-g3c4a063b1f8a #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/1:3 state:D stack:22008 pid:5895 tgid:5895 ppid:2 task_flags:0x4208060 flags:0x00004000 Workqueue: wg-kex-wg2 wg_packet_handshake_receive_worker Call Trace: context_switch kernel/sched/core.c:5357 [inline] __schedule+0x1190/0x5de0 kernel/sched/core.c:6961 __schedule_loop kernel/sched/core.c:7043 [inline] schedule+0xe7/0x3a0 kernel/sched/core.c:7058 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7115 rwsem_down_write_slowpath+0x524/0x1310 kernel/locking/rwsem.c:1174 __down_write_common kernel/locking/rwsem.c:1302 [inline] __down_write kernel/locking/rwsem.c:1311 [inline] down_write+0x1d6/0x200 kernel/locking/rwsem.c:1576 wg_noise_handshake_begin_session+0x30/0xe80 drivers/net/wireguard/noise.c:822 wg_packet_send_handshake_response+0x216/0x310 drivers/net/wireguard/send.c:96 wg_receive_handshake_packet+0x247/0xbf0 drivers/net/wireguard/receive.c:154 wg_packet_handshake_receive_worker+0x17f/0x3a0 drivers/net/wireguard/receive.c:213 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400 kthread+0x3c5/0x780 kernel/kthread.c:464 ret_from_fork+0x5d7/0x6f0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Showing all locks held in the system: 1 lock held by kworker/R-rcu_g/4: #0: ffff8880b843a318 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested kernel/sched/core.c:644 [inline] #0: ffff8880b843a318 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x7e/0x130 kernel/sched/core.c:629 2 locks held by kworker/0:1/10: 3 locks held by kworker/u8:0/12: 4 locks held by kworker/u8:1/13: #0: ffff888084fd4948 ((wq_completion)wg-kex-wg2#95){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90000127d10 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff888089f09308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0xec/0x650 drivers/net/wireguard/noise.c:529 #3: ffff88805b94b4c0 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x100/0x650 drivers/net/wireguard/noise.c:530 1 lock held by kworker/R-mm_pe/14: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 4 locks held by kworker/1:0/24: #0: ffff888085847d48 ((wq_completion)wg-kex-wg2#88){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc900001e7d10 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff888039e5d308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598 #3: ffff88802d498338 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632 1 lock held by khungtaskd/31: #0: ffffffff8e5c1120 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #0: ffffffff8e5c1120 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #0: ffffffff8e5c1120 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x36/0x1c0 kernel/locking/lockdep.c:6775 4 locks held by kworker/u8:4/59: #0: ffff888025736948 ((wq_completion)wg-kex-wg1#89){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc9000210fd10 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff88807a5e9308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0xec/0x650 drivers/net/wireguard/noise.c:529 #3: ffff88802d49b4c0 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x100/0x650 drivers/net/wireguard/noise.c:530 2 locks held by kworker/0:2/918: 6 locks held by kworker/u8:6/2991: #0: ffff88801c6f4148 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc9000cc37d10 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffffffff90366870 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xad/0x890 net/core/net_namespace.c:658 #3: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: wg_netns_pre_exit+0x1b/0x230 drivers/net/wireguard/device.c:417 #4: ffff888089f0d4e8 (&wg->device_update_lock){+.+.}-{4:4}, at: wg_netns_pre_exit+0xdd/0x230 drivers/net/wireguard/device.c:422 #5: ffffffff8e5cc6b8 (rcu_state.exp_mutex){+.+.}-{4:4}, at: exp_funnel_lock+0x284/0x3c0 kernel/rcu/tree_exp.h:311 2 locks held by getty/5609: #0: ffff88814db660a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x24/0x80 drivers/tty/tty_ldisc.c:243 #1: ffffc9000332b2f0 (&ldata->atomic_read_lock){+.+.}-{4:4}, at: n_tty_read+0x41b/0x14f0 drivers/tty/n_tty.c:2222 2 locks held by kworker/0:3/5847: 3 locks held by kworker/1:3/5895: #0: ffff8880637d1148 ((wq_completion)wg-kex-wg2#96){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90003d77d10 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff88805b94b4c0 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_begin_session+0x30/0xe80 drivers/net/wireguard/noise.c:822 2 locks held by kworker/0:7/6014: 4 locks held by kworker/1:7/6026: #0: ffff888054643548 ((wq_completion)wg-kex-wg2#111){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc900043c7d10 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff88804dabd308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598 #3: ffff8880391f34c0 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632 3 locks held by kworker/u8:9/6262: #0: ffff88801b881148 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc9000365fd10 ((linkwatch_work).work){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: linkwatch_event+0x51/0xc0 net/core/link_watch.c:303 4 locks held by kworker/u8:12/10455: #0: ffff888050f96148 ((wq_completion)wg-kex-wg1#92){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90002f27d10 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff88805ebd5308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0xec/0x650 drivers/net/wireguard/noise.c:529 #3: ffff88802d49f030 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x100/0x650 drivers/net/wireguard/noise.c:530 2 locks held by kworker/0:0/10861: 4 locks held by kworker/1:5/12610: #0: ffff8880470ecd48 ((wq_completion)wg-kex-wg1#107){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90006247d10 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff888068b3d308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598 #3: ffff8880698fe648 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632 3 locks held by kworker/0:4/16551: 4 locks held by kworker/u8:14/17030: #0: ffff8880877a4948 ((wq_completion)wg-kex-wg1#109){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90003cbfd10 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff88804dab9308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0xec/0x650 drivers/net/wireguard/noise.c:529 #3: ffff888085454890 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x100/0x650 drivers/net/wireguard/noise.c:530 2 locks held by kworker/R-wg-cr/19359: 1 lock held by kworker/R-wg-cr/19360: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/19361: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/19432: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/19433: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/20203: 1 lock held by kworker/R-wg-cr/20204: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/20207: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 4 locks held by kworker/0:5/22703: 2 locks held by kworker/0:6/22718: 2 locks held by kworker/0:8/22758: 2 locks held by kworker/0:9/22767: 2 locks held by kworker/R-wg-cr/22782: 1 lock held by kworker/R-wg-cr/22785: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/22786: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/22914: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/22916: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 2 locks held by kworker/R-wg-cr/22918: 1 lock held by kworker/R-wg-cr/22919: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/22920: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/22922: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/22923: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/22924: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/22925: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 4 locks held by kworker/1:1/22927: #0: ffff88806496b148 ((wq_completion)wg-kex-wg1#93){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90005fc7d10 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff88805ebd5308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598 #3: ffff88802d49f030 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632 3 locks held by kworker/u8:19/23033: #0: ffff88814cb1f148 ((wq_completion)ipv6_addrconf){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc900043d7d10 ((work_completion)(&(&net->ipv6.addr_chk_work)->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_net_lock include/linux/rtnetlink.h:130 [inline] #2: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_verify_work+0x12/0x30 net/ipv6/addrconf.c:4734 3 locks held by kworker/1:4/23036: #0: ffff88801b878d48 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90003c17d10 (deferred_process_work){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: switchdev_deferred_process_work+0xe/0x20 net/switchdev/switchdev.c:104 2 locks held by kworker/0:10/23039: 2 locks held by kworker/0:11/23051: 3 locks held by kworker/0:12/23052: 2 locks held by kworker/0:13/23053: 3 locks held by kworker/0:14/23055: 1 lock held by kworker/R-wg-cr/23070: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23071: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23072: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 3 locks held by kworker/0:15/23073: 1 lock held by kworker/R-wg-cr/23074: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23075: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23076: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23077: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23079: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23080: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 2 locks held by kworker/R-wg-cr/23081: 1 lock held by kworker/R-wg-cr/23082: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 2 locks held by kworker/R-wg-cr/23083: 1 lock held by kworker/R-wg-cr/23084: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23085: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 3 locks held by kworker/0:16/23086: 3 locks held by kworker/0:17/23117: 4 locks held by kworker/1:9/23194: #0: ffff888037cc8148 ((wq_completion)wg-kex-wg2#108){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90003437d10 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff888050e11308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598 #3: ffff888085457030 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632 1 lock held by kworker/R-wg-cr/23232: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 5 locks held by kworker/R-wg-cr/23233: 1 lock held by kworker/R-wg-cr/23235: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23236: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23237: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23238: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23239: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23240: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23244: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 3 locks held by kworker/0:18/23333: 1 lock held by kworker/R-wg-cr/23371: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23373: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23374: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23375: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23376: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23377: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 2 locks held by kworker/R-wg-cr/23378: 1 lock held by kworker/R-wg-cr/23379: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23380: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23381: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23382: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23383: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 1 lock held by kworker/R-wg-cr/23384: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_detach_from_pool kernel/workqueue.c:2734 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0x839/0xea0 kernel/workqueue.c:3529 1 lock held by kworker/R-wg-cr/23385: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: worker_attach_to_pool+0x27/0x420 kernel/workqueue.c:2676 3 locks held by kworker/0:19/23386: 2 locks held by kworker/0:20/23467: 1 lock held by syz.1.4142/23470: #0: ffffffff8e5cc580 (rcu_state.barrier_mutex){+.+.}-{4:4}, at: rcu_barrier+0x48/0x6e0 kernel/rcu/tree.c:3815 4 locks held by kworker/u8:23/23482: #0: ffff88807a61a148 ((wq_completion)wg-kex-wg1#105){+.+.}-{0:0}, at: process_one_work+0x12a2/0x1b70 kernel/workqueue.c:3211 #1: ffffc90006027d10 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x929/0x1b70 kernel/workqueue.c:3212 #2: ffff888068b3d308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0xec/0x650 drivers/net/wireguard/noise.c:529 #3: ffff8880698fe648 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_create_initiation+0x100/0x650 drivers/net/wireguard/noise.c:530 1 lock held by kworker/R-nfc2_/23505: #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: set_pf_worker kernel/workqueue.c:3325 [inline] #0: ffffffff8e4782c8 (wq_pool_attach_mutex){+.+.}-{4:4}, at: rescuer_thread+0xa6f/0xea0 kernel/workqueue.c:3544 4 locks held by kworker/0:21/23508: 2 locks held by kworker/0:22/23509: 1 lock held by syz-executor/23527: #0: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock net/core/rtnetlink.c:80 [inline] #0: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_nets_lock net/core/rtnetlink.c:341 [inline] #0: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_newlink+0x600/0x2000 net/core/rtnetlink.c:4056 2 locks held by syz-executor/23545: #0: ffffffff90acfca0 (&ops->srcu#2){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:161 [inline] #0: ffffffff90acfca0 (&ops->srcu#2){.+.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:253 [inline] #0: ffffffff90acfca0 (&ops->srcu#2){.+.+}-{0:0}, at: rtnl_link_ops_get+0x113/0x2c0 net/core/rtnetlink.c:574 #1: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock net/core/rtnetlink.c:80 [inline] #1: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_nets_lock net/core/rtnetlink.c:341 [inline] #1: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_newlink+0x600/0x2000 net/core/rtnetlink.c:4056 3 locks held by kworker/0:23/23552: 1 lock held by kworker/0:24/23553: 1 lock held by syz-executor/23564: #0: ffffffff8e5cc6b8 (rcu_state.exp_mutex){+.+.}-{4:4}, at: exp_funnel_lock+0x1a3/0x3c0 kernel/rcu/tree_exp.h:343 2 locks held by syz-executor/23567: #0: ffffffff90ace440 (&ops->srcu#2){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:161 [inline] #0: ffffffff90ace440 (&ops->srcu#2){.+.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:253 [inline] #0: ffffffff90ace440 (&ops->srcu#2){.+.+}-{0:0}, at: rtnl_link_ops_get+0x113/0x2c0 net/core/rtnetlink.c:574 #1: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock net/core/rtnetlink.c:80 [inline] #1: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_nets_lock net/core/rtnetlink.c:341 [inline] #1: ffffffff9037cac8 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_newlink+0x600/0x2000 net/core/rtnetlink.c:4056 ============================================= NMI backtrace for cpu 1 CPU: 1 UID: 0 PID: 31 Comm: khungtaskd Not tainted 6.16.0-syzkaller-11364-g3c4a063b1f8a #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 nmi_cpu_backtrace+0x27b/0x390 lib/nmi_backtrace.c:113 nmi_trigger_cpumask_backtrace+0x29c/0x300 lib/nmi_backtrace.c:62 trigger_all_cpu_backtrace include/linux/nmi.h:160 [inline] check_hung_uninterruptible_tasks kernel/hung_task.c:307 [inline] watchdog+0xf0e/0x1260 kernel/hung_task.c:470 kthread+0x3c5/0x780 kernel/kthread.c:464 ret_from_fork+0x5d7/0x6f0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Sending NMI from CPU 1 to CPUs 0: NMI backtrace for cpu 0 CPU: 0 UID: 0 PID: 23380 Comm: kworker/R-wg-cr Not tainted 6.16.0-syzkaller-11364-g3c4a063b1f8a #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 Workqueue: wg-crypt-wg0 wg_packet_decrypt_worker RIP: 0010:arch_stack_walk+0x88/0x100 arch/x86/kernel/stacktrace.c:27 Code: 49 8b 8e 98 00 00 00 4c 89 f2 4c 89 fe 48 89 df e8 7d 15 09 00 8b 95 70 ff ff ff 85 d2 75 21 eb 2f 4c 89 ef 2e e8 0c 24 9e 1e <84> c0 74 22 48 89 df e8 ac f4 08 00 8b 85 70 ff ff ff 85 c0 74 10 RSP: 0018:ffffc90000007ba0 EFLAGS: 00000286 RAX: 0000000000000001 RBX: ffffc90000007ba0 RCX: ffffc90000007c38 RDX: 0000000000000000 RSI: ffffffff81a6dd5e RDI: ffffc90000007c6c RBP: ffffc90000007c30 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000003 R11: 00000000000061ee R12: ffffffff81a6d9d0 R13: ffffc90000007c60 R14: 0000000000000000 R15: ffff88805e07a440 FS: 0000000000000000(0000) GS:ffff8881246c8000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000020000001c000 CR3: 000000000e380000 CR4: 00000000003526f0 Call Trace: stack_trace_save+0x8e/0xc0 kernel/stacktrace.c:122 ref_tracker_free+0x10e/0x830 lib/ref_tracker.c:307 netdev_tracker_free include/linux/netdevice.h:4366 [inline] netdev_put include/linux/netdevice.h:4383 [inline] dst_destroy+0x108/0x3f0 net/core/dst.c:114 rcu_do_batch kernel/rcu/tree.c:2605 [inline] rcu_core+0x79c/0x1530 kernel/rcu/tree.c:2861 handle_softirqs+0x216/0x8e0 kernel/softirq.c:579 do_softirq kernel/softirq.c:480 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:467 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:407 spin_unlock_bh include/linux/spinlock.h:396 [inline] ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline] wg_packet_decrypt_worker+0x35d/0x540 drivers/net/wireguard/receive.c:499 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3319 [inline] rescuer_thread+0x620/0xea0 kernel/workqueue.c:3496 kthread+0x3c5/0x780 kernel/kthread.c:464 ret_from_fork+0x5d7/0x6f0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245