============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- pool_workqueue_/3 is trying to acquire lock: ffff8880342bd070 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:353 [inline] ffff8880342bd070 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 but task is already holding lock: ffff88802a92d070 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:353 [inline] ffff88802a92d070 (&hsr->seqnr_lock){+.-.}-{3:3}, at: send_hsr_supervision_frame+0x3cd/0xcf0 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 locks held by pool_workqueue_/3: 8, last CPU#0: #0: ffffc90000007cc0 ((&hsr->announce_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd5/0x5f0 kernel/time/timer.c:1745 #1: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline] #1: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #1: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: hsr_announce+0x89/0x370 net/hsr/hsr_device.c:446 #2: ffff88802a92d070 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:353 [inline] #2: ffff88802a92d070 (&hsr->seqnr_lock){+.-.}-{3:3}, at: send_hsr_supervision_frame+0x3cd/0xcf0 net/hsr/hsr_device.c:330 #3: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline] #3: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #3: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: hsr_forward_skb+0xb9/0x2b70 net/hsr/hsr_forward.c:772 #4: ffffffff8fd5c900 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #4: ffffffff8fd5c900 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:902 [inline] #4: ffffffff8fd5c900 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x29b/0x3920 net/core/dev.c:4910 #5: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline] #5: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #5: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: br_dev_xmit+0x182/0x19b0 net/bridge/br_device.c:52 #6: ffffffff8fd5c900 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #6: ffffffff8fd5c900 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:902 [inline] #6: ffffffff8fd5c900 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x29b/0x3920 net/core/dev.c:4910 #7: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline] #7: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #7: ffffffff8fd5c8a0 (rcu_read_lock){....}-{1:3}, at: hsr_dev_xmit+0x2d/0x360 net/hsr/hsr_device.c:229 stack backtrace: CPU: 0 UID: 0 PID: 3 Comm: pool_workqueue_ Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026 Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_deadlock_bug+0x27a/0x290 kernel/locking/lockdep.c:3085 check_deadlock kernel/locking/lockdep.c:3137 [inline] validate_chain kernel/locking/lockdep.c:3939 [inline] __lock_acquire+0x25db/0x2de0 kernel/locking/lockdep.c:5288 lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:182 [inline] _raw_spin_lock_bh+0x36/0x50 kernel/locking/spinlock.c:205 spin_lock_bh include/linux/spinlock.h:353 [inline] hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 __netdev_start_xmit include/linux/netdevice.h:5435 [inline] netdev_start_xmit include/linux/netdevice.h:5444 [inline] xmit_one net/core/dev.c:3991 [inline] dev_hard_start_xmit+0x2cd/0x830 net/core/dev.c:4007 __dev_queue_xmit+0x14d1/0x3920 net/core/dev.c:4996 dev_queue_xmit include/linux/netdevice.h:3464 [inline] br_dev_queue_push_xmit+0x370/0x4b0 net/bridge/br_forward.c:67 NF_HOOK+0x360/0x3f0 include/linux/netfilter.h:325 br_forward_finish+0xd3/0x130 net/bridge/br_forward.c:80 NF_HOOK+0x360/0x3f0 include/linux/netfilter.h:325 __br_forward+0x41e/0x5d0 net/bridge/br_forward.c:130 deliver_clone net/bridge/br_forward.c:146 [inline] maybe_deliver+0x373/0x5b0 net/bridge/br_forward.c:212 br_flood+0x142/0x650 net/bridge/br_forward.c:345 br_dev_xmit+0x11d1/0x19b0 net/bridge/br_device.c:109 __netdev_start_xmit include/linux/netdevice.h:5435 [inline] netdev_start_xmit include/linux/netdevice.h:5444 [inline] xmit_one net/core/dev.c:3991 [inline] dev_hard_start_xmit+0x2cd/0x830 net/core/dev.c:4007 __dev_queue_xmit+0x14d1/0x3920 net/core/dev.c:4996 dev_queue_xmit include/linux/netdevice.h:3464 [inline] hsr_xmit net/hsr/hsr_forward.c:440 [inline] hsr_forward_do net/hsr/hsr_forward.c:603 [inline] hsr_forward_skb+0x1701/0x2b70 net/hsr/hsr_forward.c:777 send_hsr_supervision_frame+0x733/0xcf0 net/hsr/hsr_device.c:364 hsr_announce+0x1db/0x370 net/hsr/hsr_device.c:448 call_timer_fn+0x18d/0x5f0 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+0x226/0x860 kernel/softirq.c:645 __do_softirq kernel/softirq.c:679 [inline] invoke_softirq kernel/softirq.c:519 [inline] __irq_exit_rcu+0xcb/0x220 kernel/softirq.c:758 irq_exit_rcu+0x9/0x30 kernel/softirq.c:775 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674 RIP: 0010:lockdep_unregister_key+0x2d4/0x350 kernel/locking/lockdep.c:6712 Code: e9 71 16 09 00 48 c7 c7 90 39 9b 97 89 c6 e8 53 2a 47 0a e9 66 fe ff ff e8 89 58 44 0a 41 f7 c7 00 02 00 00 74 b4 fb 40 84 ed <75> b3 eb c4 90 0f 0b 90 e9 27 ff ff ff 90 0f 0b 90 e9 2f ff ff ff RSP: 0018:ffffc90000087c88 EFLAGS: 00000202 RAX: 0000000000000046 RBX: 0000000000000001 RCX: 0000000000000046 RDX: ffffffff9556b4f8 RSI: ffffffff8e4744be RDI: ffffffff8c6dd880 RBP: ffff88801eae1f01 R08: ffffffff81b11378 R09: 0000000000000000 R10: dffffc0000000000 R11: fffff52000010f89 R12: 0000000000000000 R13: ffff88807bd00d31 R14: 0000000000001000 R15: 0000000000000a83 wq_unregister_lockdep kernel/workqueue.c:5023 [inline] pwq_release_workfn+0x7ab/0x970 kernel/workqueue.c:5319 kthread_worker_fn+0x4eb/0xb20 kernel/kthread.c:1025 kthread+0x38b/0x480 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ip6_tunnel: ip6gre3 xmit: Local address not yet configured! ---------------- Code disassembly (best guess): 0: e9 71 16 09 00 jmp 0x91676 5: 48 c7 c7 90 39 9b 97 mov $0xffffffff979b3990,%rdi c: 89 c6 mov %eax,%esi e: e8 53 2a 47 0a call 0xa472a66 13: e9 66 fe ff ff jmp 0xfffffe7e 18: e8 89 58 44 0a call 0xa4458a6 1d: 41 f7 c7 00 02 00 00 test $0x200,%r15d 24: 74 b4 je 0xffffffda 26: fb sti 27: 40 84 ed test %bpl,%bpl * 2a: 75 b3 jne 0xffffffdf <-- trapping instruction 2c: eb c4 jmp 0xfffffff2 2e: 90 nop 2f: 0f 0b ud2 31: 90 nop 32: e9 27 ff ff ff jmp 0xffffff5e 37: 90 nop 38: 0f 0b ud2 3a: 90 nop 3b: e9 2f ff ff ff jmp 0xffffff6f