============================================
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