bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) ============================================ WARNING: possible recursive locking detected 6.1.128-syzkaller #0 Not tainted -------------------------------------------- swapper/0/0 is trying to acquire lock: ffff8880599d3218 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff8880599d3218 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3894 [inline] ffff8880599d3218 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: __dev_queue_xmit+0x22db/0x3d50 net/core/dev.c:4269 but task is already holding lock: ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: spin_trylock include/linux/spinlock.h:361 [inline] ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: qdisc_run_begin include/net/sch_generic.h:195 [inline] ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3851 [inline] ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: __dev_queue_xmit+0x12c7/0x3d50 net/core/dev.c:4269 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(dev->qdisc_tx_busylock ?: &qdisc_tx_busylock); lock(dev->qdisc_tx_busylock ?: &qdisc_tx_busylock); *** DEADLOCK *** May be due to missing lock nesting notation 9 locks held by swapper/0/0: #0: ffffc90000007bc0 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xc2/0x6b0 kernel/time/timer.c:1501 #1: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline] #1: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline] #1: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: ip6_nd_hdr net/ipv6/ndisc.c:454 [inline] #1: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: ndisc_send_skb+0x5a8/0x14e0 net/ipv6/ndisc.c:505 #2: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline] #2: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline] #2: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: ip6_finish_output2+0x6a0/0x1700 net/ipv6/ip6_output.c:123 #3: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #3: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: rcu_read_lock_bh include/linux/rcupdate.h:843 [inline] #3: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x2d6/0x3d50 net/core/dev.c:4226 #4: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline] #4: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline] #4: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: br_dev_xmit+0x212/0x18e0 net/bridge/br_device.c:49 #5: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #5: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: rcu_read_lock_bh include/linux/rcupdate.h:843 [inline] #5: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x2d6/0x3d50 net/core/dev.c:4226 #6: ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: spin_trylock include/linux/spinlock.h:361 [inline] #6: ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: qdisc_run_begin include/net/sch_generic.h:195 [inline] #6: ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3851 [inline] #6: ffff8880663d6258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-.}-{2:2}, at: __dev_queue_xmit+0x12c7/0x3d50 net/core/dev.c:4269 #7: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline] #7: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline] #7: ffffffff8d32e680 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x3ee/0x1270 net/ipv4/ip_output.c:221 #8: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #8: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: rcu_read_lock_bh include/linux/rcupdate.h:843 [inline] #8: ffffffff8d32e6e0 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x2d6/0x3d50 net/core/dev.c:4226 stack backtrace: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.1.128-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106 print_deadlock_bug kernel/locking/lockdep.c:2983 [inline] check_deadlock kernel/locking/lockdep.c:3026 [inline] validate_chain+0x4711/0x5950 kernel/locking/lockdep.c:3812 __lock_acquire+0x125b/0x1f80 kernel/locking/lockdep.c:5049 lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] __dev_xmit_skb net/core/dev.c:3894 [inline] __dev_queue_xmit+0x22db/0x3d50 net/core/dev.c:4269 dev_queue_xmit include/linux/netdevice.h:3043 [inline] neigh_hh_output include/net/neighbour.h:528 [inline] neigh_output include/net/neighbour.h:542 [inline] ip_finish_output2+0xd6e/0x1270 net/ipv4/ip_output.c:228 iptunnel_xmit+0x513/0x920 net/ipv4/ip_tunnel_core.c:82 ip_tunnel_xmit+0x1f87/0x2690 net/ipv4/ip_tunnel.c:858 __gre_xmit net/ipv4/ip_gre.c:474 [inline] gre_tap_xmit+0x4eb/0x6e0 net/ipv4/ip_gre.c:751 __netdev_start_xmit include/linux/netdevice.h:4888 [inline] netdev_start_xmit include/linux/netdevice.h:4902 [inline] xmit_one net/core/dev.c:3627 [inline] dev_hard_start_xmit+0x261/0x8c0 net/core/dev.c:3643 sch_direct_xmit+0x2b2/0x5e0 net/sched/sch_generic.c:342 __dev_xmit_skb net/core/dev.c:3864 [inline] __dev_queue_xmit+0x1a7a/0x3d50 net/core/dev.c:4269 dev_queue_xmit include/linux/netdevice.h:3043 [inline] br_dev_queue_push_xmit+0x6fe/0x8c0 net/bridge/br_forward.c:53 NF_HOOK+0x39f/0x450 include/linux/netfilter.h:302 br_forward_finish+0xe1/0x130 net/bridge/br_forward.c:66 NF_HOOK+0x39f/0x450 include/linux/netfilter.h:302 __br_forward+0x430/0x5f0 net/bridge/br_forward.c:115 deliver_clone net/bridge/br_forward.c:131 [inline] maybe_deliver+0xb3/0x150 net/bridge/br_forward.c:189 br_flood+0x2e7/0x440 net/bridge/br_forward.c:231 br_dev_xmit+0x1194/0x18e0 __netdev_start_xmit include/linux/netdevice.h:4888 [inline] netdev_start_xmit include/linux/netdevice.h:4902 [inline] xmit_one net/core/dev.c:3627 [inline] dev_hard_start_xmit+0x261/0x8c0 net/core/dev.c:3643 __dev_queue_xmit+0x1b5d/0x3d50 net/core/dev.c:4303 neigh_output include/net/neighbour.h:544 [inline] ip6_finish_output2+0xfe5/0x1700 net/ipv6/ip6_output.c:138 __ip6_finish_output net/ipv6/ip6_output.c:205 [inline] ip6_finish_output+0x6a0/0xa80 net/ipv6/ip6_output.c:216 dst_output include/net/dst.h:444 [inline] NF_HOOK include/linux/netfilter.h:302 [inline] ndisc_send_skb+0xbab/0x14e0 net/ipv6/ndisc.c:511 addrconf_rs_timer+0x357/0x610 net/ipv6/addrconf.c:3982 call_timer_fn+0x1ad/0x6b0 kernel/time/timer.c:1504 expire_timers kernel/time/timer.c:1549 [inline] __run_timers+0x67c/0x890 kernel/time/timer.c:1820 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1833 handle_softirqs+0x2ee/0xa40 kernel/softirq.c:578 __do_softirq kernel/softirq.c:612 [inline] invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0x157/0x240 kernel/softirq.c:661 irq_exit_rcu+0x5/0x20 kernel/softirq.c:673 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline] sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691 RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:22 [inline] RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:70 [inline] RIP: 0010:arch_irqs_disabled arch/x86/include/asm/irqflags.h:130 [inline] RIP: 0010:acpi_safe_halt drivers/acpi/processor_idle.c:112 [inline] RIP: 0010:acpi_idle_do_entry+0x10f/0x340 drivers/acpi/processor_idle.c:567 Code: 91 cf f6 48 83 e3 08 0f 85 0b 01 00 00 4c 8d 74 24 20 e8 44 4e d6 f6 0f 1f 44 00 00 e8 7a 8d cf f6 0f 00 2d 63 b0 ae 00 fb f4 <4c> 89 f3 48 c1 eb 03 42 80 3c 3b 00 74 08 4c 89 f7 e8 6b e4 26 f7 RSP: 0018:ffffffff8d007b20 EFLAGS: 000002d3 RAX: ffffffff8abb0576 RBX: 0000000000000000 RCX: ffffffff8d0bd980 RDX: 0000000000000000 RSI: ffffffff8b0c1d20 RDI: ffffffff8b5f6d00 RBP: ffffffff8d007bb0 R08: ffffffff8abb0558 R09: fffffbfff1a17b31 R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffffffff1a00f64 R13: ffff88801a2a6804 R14: ffffffff8d007b40 R15: dffffc0000000000 acpi_idle_enter+0x352/0x4f0 drivers/acpi/processor_idle.c:704 cpuidle_enter_state+0x516/0xf80 drivers/cpuidle/cpuidle.c:239 cpuidle_enter+0x59/0x90 drivers/cpuidle/cpuidle.c:356 call_cpuidle kernel/sched/idle.c:155 [inline] cpuidle_idle_call kernel/sched/idle.c:236 [inline] do_idle+0x3ce/0x680 kernel/sched/idle.c:303 cpu_startup_entry+0x3d/0x60 kernel/sched/idle.c:401 rest_init+0x2da/0x300 init/main.c:733 arch_call_rest_init+0xa/0xa init/main.c:893 start_kernel+0x496/0x53f init/main.c:1140 secondary_startup_64_no_verify+0xcf/0xdb bridge0: received packet on gretap1 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) bridge0: received packet on gretap1 with own address as source address (addr:0a:12:7d:f2:6c:8e, vlan:0) ---------------- Code disassembly (best guess): 0: 91 xchg %eax,%ecx 1: cf iret 2: f6 48 83 e3 testb $0xe3,-0x7d(%rax) 6: 08 0f or %cl,(%rdi) 8: 85 0b test %ecx,(%rbx) a: 01 00 add %eax,(%rax) c: 00 4c 8d 74 add %cl,0x74(%rbp,%rcx,4) 10: 24 20 and $0x20,%al 12: e8 44 4e d6 f6 call 0xf6d64e5b 17: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 1c: e8 7a 8d cf f6 call 0xf6cf8d9b 21: 0f 00 2d 63 b0 ae 00 verw 0xaeb063(%rip) # 0xaeb08b 28: fb sti 29: f4 hlt * 2a: 4c 89 f3 mov %r14,%rbx <-- trapping instruction 2d: 48 c1 eb 03 shr $0x3,%rbx 31: 42 80 3c 3b 00 cmpb $0x0,(%rbx,%r15,1) 36: 74 08 je 0x40 38: 4c 89 f7 mov %r14,%rdi 3b: e8 6b e4 26 f7 call 0xf726e4ab