============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- syz-executor/16640 is trying to acquire lock: ffff88804c7d8fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:348 [inline] ffff88804c7d8fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 but task is already holding lock: ffff88804d130fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:348 [inline] ffff88804d130fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: send_hsr_supervision_frame+0x380/0xcb0 net/hsr/hsr_device.c:330 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&hsr->seqnr_lock); lock(&hsr->seqnr_lock); *** DEADLOCK *** May be due to missing lock nesting notation 10 locks held by syz-executor/16640: #0: ffffffff8ea2bb90 (dup_mmap_sem){++++}-{0:0}, at: dup_mm kernel/fork.c:1532 [inline] #0: ffffffff8ea2bb90 (dup_mmap_sem){++++}-{0:0}, at: copy_mm+0x130/0x4a0 kernel/fork.c:1585 #1: ffff888031de7178 (&mm->mmap_lock){++++}-{4:4}, at: mmap_write_lock_killable include/linux/mmap_lock.h:554 [inline] #1: ffff888031de7178 (&mm->mmap_lock){++++}-{4:4}, at: dup_mmap+0x181/0x1d90 mm/mmap.c:1740 #2: ffffc90000007cc0 ((&hsr->announce_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd4/0x5e0 kernel/time/timer.c:1745 #3: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #3: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #3: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: hsr_announce+0x89/0x370 net/hsr/hsr_device.c:419 #4: ffff88804d130fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:348 [inline] #4: ffff88804d130fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: send_hsr_supervision_frame+0x380/0xcb0 net/hsr/hsr_device.c:330 #5: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #5: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #5: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: hsr_forward_skb+0xbb/0x2a80 net/hsr/hsr_forward.c:738 #6: ffffffff8e95d080 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #6: ffffffff8e95d080 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:891 [inline] #6: ffffffff8e95d080 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x2b6/0x3950 net/core/dev.c:4791 #7: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #7: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #7: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: br_dev_xmit+0x193/0x1990 net/bridge/br_device.c:52 #8: ffffffff8e95d080 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #8: ffffffff8e95d080 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:891 [inline] #8: ffffffff8e95d080 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x2b6/0x3950 net/core/dev.c:4791 #9: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #9: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #9: ffffffff8e95d020 (rcu_read_lock){....}-{1:3}, at: hsr_dev_xmit+0x2d/0x360 net/hsr/hsr_device.c:229 stack backtrace: CPU: 0 UID: 0 PID: 16640 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/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+0x253f/0x2cf0 kernel/locking/lockdep.c:5237 lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:150 [inline] _raw_spin_lock_bh+0x36/0x50 kernel/locking/spinlock.c:182 spin_lock_bh include/linux/spinlock.h:348 [inline] hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 __netdev_start_xmit include/linux/netdevice.h:5343 [inline] netdev_start_xmit include/linux/netdevice.h:5352 [inline] xmit_one net/core/dev.c:3888 [inline] dev_hard_start_xmit+0x2cd/0x830 net/core/dev.c:3904 __dev_queue_xmit+0x14d9/0x3950 net/core/dev.c:4870 dev_queue_xmit include/linux/netdevice.h:3401 [inline] br_dev_queue_push_xmit+0x370/0x4b0 net/bridge/br_forward.c:53 NF_HOOK+0x360/0x3f0 include/linux/netfilter.h:318 br_forward_finish+0xd3/0x130 net/bridge/br_forward.c:66 NF_HOOK+0x360/0x3f0 include/linux/netfilter.h:318 __br_forward+0x397/0x540 net/bridge/br_forward.c:115 deliver_clone net/bridge/br_forward.c:131 [inline] maybe_deliver net/bridge/br_forward.c:191 [inline] br_flood+0x6ee/0xb80 net/bridge/br_forward.c:238 br_dev_xmit+0x12bd/0x1990 net/bridge/br_device.c:108 __netdev_start_xmit include/linux/netdevice.h:5343 [inline] netdev_start_xmit include/linux/netdevice.h:5352 [inline] xmit_one net/core/dev.c:3888 [inline] dev_hard_start_xmit+0x2cd/0x830 net/core/dev.c:3904 __dev_queue_xmit+0x14d9/0x3950 net/core/dev.c:4870 dev_queue_xmit include/linux/netdevice.h:3401 [inline] hsr_xmit net/hsr/hsr_forward.c:440 [inline] hsr_forward_do net/hsr/hsr_forward.c:581 [inline] hsr_forward_skb+0x167e/0x2a80 net/hsr/hsr_forward.c:743 send_hsr_supervision_frame+0x731/0xcb0 net/hsr/hsr_device.c:364 hsr_announce+0x1db/0x370 net/hsr/hsr_device.c:421 call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748 expire_timers kernel/time/timer.c:1799 [inline] __run_timers kernel/time/timer.c:2374 [inline] __run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386 run_timer_base kernel/time/timer.c:2395 [inline] run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405 handle_softirqs+0x22a/0x840 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0xca/0x220 kernel/softirq.c:735 irq_exit_rcu+0x9/0x30 kernel/softirq.c:752 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1061 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 RIP: 0010:csd_lock_wait kernel/smp.c:342 [inline] RIP: 0010:smp_call_function_many_cond+0xe32/0x1210 kernel/smp.c:892 Code: 45 8b 2c 24 44 89 ee 83 e6 01 31 ff e8 77 e7 0b 00 41 83 e5 01 49 bd 00 00 00 00 00 fc ff df 75 07 e8 22 e3 0b 00 eb 38 f3 90 <42> 0f b6 04 2b 84 c0 75 11 41 f7 04 24 01 00 00 00 74 1e e8 06 e3 RSP: 0018:ffffc90003487560 EFLAGS: 00000293 RAX: ffffffff81b97aea RBX: 1ffff110170e8165 RCX: ffff888027088000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90003487688 R08: ffffffff903215b7 R09: 1ffffffff20642b6 R10: dffffc0000000000 R11: fffffbfff20642b7 R12: ffff8880b8740b28 R13: dffffc0000000000 R14: ffff8880b863c148 R15: 0000000000000001 on_each_cpu_cond_mask+0x3f/0x80 kernel/smp.c:1057 __flush_tlb_multi arch/x86/include/asm/paravirt.h:46 [inline] flush_tlb_multi arch/x86/mm/tlb.c:1361 [inline] flush_tlb_mm_range+0x5c3/0x10b0 arch/x86/mm/tlb.c:1451 dup_mmap+0x17a2/0x1d90 mm/mmap.c:1906 dup_mm kernel/fork.c:1533 [inline] copy_mm+0x13b/0x4a0 kernel/fork.c:1585 copy_process+0x1f1c/0x4450 kernel/fork.c:2261 kernel_clone+0x284/0x8f0 kernel/fork.c:2714 __do_sys_clone kernel/fork.c:2855 [inline] __se_sys_clone kernel/fork.c:2839 [inline] __x64_sys_clone+0x1b6/0x230 kernel/fork.c:2839 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x15f/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f92725c5292 Code: 89 e7 e8 71 8b f7 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 66 89 c5 85 c0 75 3b 64 48 8b 04 25 10 00 00 RSP: 002b:00007ffe9390d910 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 00007ffe9390d910 RCX: 00007f92725c5292 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 00007ffe9390da9c R08: 0000000000000000 R09: 0000000000000001 R10: 000055556c9087d0 R11: 0000000000000246 R12: 0000000000000001 R13: 00000000000927c0 R14: 000000000009b91a R15: 00007ffe9390daf0 ---------------- Code disassembly (best guess): 0: 45 8b 2c 24 mov (%r12),%r13d 4: 44 89 ee mov %r13d,%esi 7: 83 e6 01 and $0x1,%esi a: 31 ff xor %edi,%edi c: e8 77 e7 0b 00 call 0xbe788 11: 41 83 e5 01 and $0x1,%r13d 15: 49 bd 00 00 00 00 00 movabs $0xdffffc0000000000,%r13 1c: fc ff df 1f: 75 07 jne 0x28 21: e8 22 e3 0b 00 call 0xbe348 26: eb 38 jmp 0x60 28: f3 90 pause * 2a: 42 0f b6 04 2b movzbl (%rbx,%r13,1),%eax <-- trapping instruction 2f: 84 c0 test %al,%al 31: 75 11 jne 0x44 33: 41 f7 04 24 01 00 00 testl $0x1,(%r12) 3a: 00 3b: 74 1e je 0x5b 3d: e8 .byte 0xe8 3e: 06 (bad) 3f: e3 .byte 0xe3