============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- syz.0.6379/29384 is trying to acquire lock: ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline] ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: __netif_tx_lock include/linux/netdevice.h:4833 [inline] ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: sch_direct_xmit+0x15f/0x4c0 net/sched/sch_generic.c:370 but task is already holding lock: ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline] ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: __netif_tx_lock include/linux/netdevice.h:4833 [inline] ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: generic_xdp_tx+0xaf/0x390 net/core/dev.c:5653 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&qdisc_xmit_lock_key#3); lock(&qdisc_xmit_lock_key#3); *** DEADLOCK *** May be due to missing lock nesting notation 8 locks held by syz.0.6379/29384: #0: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #0: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #0: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: tun_get_user+0x2717/0x4370 drivers/net/tun.c:1927 #1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: netif_receive_skb_internal net/core/dev.c:6401 [inline] #1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: netif_receive_skb+0x102/0xbf0 net/core/dev.c:6473 #2: ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline] #2: ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: __netif_tx_lock include/linux/netdevice.h:4833 [inline] #2: ffff88807efc5158 (&qdisc_xmit_lock_key#3){+.-.}-{3:3}, at: generic_xdp_tx+0xaf/0x390 net/core/dev.c:5653 #3: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #3: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #3: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: icmp6_send+0x23d/0x1b50 net/ipv6/icmp.c:666 #4: ffff888032105ca8 (k-slock-AF_INET6){+.-.}-{3:3}, at: spin_trylock include/linux/spinlock.h:354 [inline] #4: ffff888032105ca8 (k-slock-AF_INET6){+.-.}-{3:3}, at: icmpv6_xmit_lock net/ipv6/icmp.c:108 [inline] #4: ffff888032105ca8 (k-slock-AF_INET6){+.-.}-{3:3}, at: icmp6_send+0xd7c/0x1b50 net/ipv6/icmp.c:743 #5: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #5: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #5: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: ip6_send_skb+0x10a/0x380 net/ipv6/ip6_output.c:2013 #6: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #6: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #6: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: ip6_output+0x11e/0x540 net/ipv6/ip6_output.c:234 #7: ffffffff8eb59cc0 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #7: ffffffff8eb59cc0 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:893 [inline] #7: ffffffff8eb59cc0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x29b/0x3820 net/core/dev.c:4799 stack backtrace: CPU: 0 UID: 0 PID: 29384 Comm: syz.0.6379 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/25/2026 Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_deadlock_bug+0x279/0x290 kernel/locking/lockdep.c:3041 check_deadlock kernel/locking/lockdep.c:3093 [inline] validate_chain kernel/locking/lockdep.c:3895 [inline] __lock_acquire+0x24df/0x2cf0 kernel/locking/lockdep.c:5237 lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868 __raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158 spin_lock include/linux/spinlock.h:342 [inline] __netif_tx_lock include/linux/netdevice.h:4833 [inline] sch_direct_xmit+0x15f/0x4c0 net/sched/sch_generic.c:370 qdisc_restart net/sched/sch_generic.c:437 [inline] __qdisc_run+0xb11/0x1620 net/sched/sch_generic.c:445 qdisc_run include/net/pkt_sched.h:120 [inline] __dev_xmit_skb net/core/dev.c:4300 [inline] __dev_queue_xmit+0x1c05/0x3820 net/core/dev.c:4839 NF_HOOK_COND include/linux/netfilter.h:314 [inline] ip6_output+0x337/0x540 net/ipv6/ip6_output.c:246 ip6_send_skb+0x1cd/0x380 net/ipv6/ip6_output.c:2014 icmp6_send+0x1459/0x1b50 net/ipv6/icmp.c:826 icmpv6_send include/linux/icmpv6.h:24 [inline] ip6_link_failure+0x3b/0x4c0 net/ipv6/route.c:2869 dst_link_failure include/net/dst.h:438 [inline] vti6_xmit net/ipv6/ip6_vti.c:544 [inline] vti6_tnl_xmit+0x151c/0x1c60 net/ipv6/ip6_vti.c:582 __netdev_start_xmit include/linux/netdevice.h:5424 [inline] netdev_start_xmit include/linux/netdevice.h:5433 [inline] generic_xdp_tx+0x1a1/0x390 net/core/dev.c:5655 dev_map_generic_redirect+0x5d7/0x920 kernel/bpf/devmap.c:733 dev_map_redirect_multi+0x7f0/0x9b0 kernel/bpf/devmap.c:830 xdp_do_generic_redirect_map net/core/filter.c:4643 [inline] xdp_do_generic_redirect+0x663/0x830 net/core/filter.c:4706 do_xdp_generic+0xcf4/0x12d0 net/core/dev.c:5683 __netif_receive_skb_core+0x10e0/0x30b0 net/core/dev.c:6025 __netif_receive_skb_one_core net/core/dev.c:6213 [inline] __netif_receive_skb net/core/dev.c:6328 [inline] netif_receive_skb_internal net/core/dev.c:6414 [inline] netif_receive_skb+0x1fe/0xbf0 net/core/dev.c:6473 tun_rx_batched+0x1de/0x790 drivers/net/tun.c:1518 tun_get_user+0x2b44/0x4370 drivers/net/tun.c:1986 tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:2032 new_sync_write fs/read_write.c:595 [inline] vfs_write+0x612/0xba0 fs/read_write.c:687 ksys_write+0x150/0x270 fs/read_write.c:739 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4deed5e6ce Code: 08 0f 85 a5 a8 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 48 83 ec 08 RSP: 002b:00007f4defbfbfb8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f4defbfc6c0 RCX: 00007f4deed5e6ce RDX: 000000000000004a RSI: 00002000000000c0 RDI: 00000000000000c8 RBP: 00007f4deee33eaf R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f4def026038 R14: 00007f4def025fa0 R15: 00007fff08de3bc8