============================================ WARNING: possible recursive locking detected syzkaller #0 Tainted: G L -------------------------------------------- kworker/0:4/15296 is trying to acquire lock: ffff888078bf2f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] ffff888078bf2f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 but task is already holding lock: ffff88807cd74f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] ffff88807cd74f30 (&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 12 locks held by kworker/0:4/15296: #0: ffff888141ef0948 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3232 [inline] #0: ffff888141ef0948 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_scheduled_works+0x9b4/0x1770 kernel/workqueue.c:3340 #1: ffffc900050ffbc0 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3233 [inline] #1: ffffc900050ffbc0 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_scheduled_works+0x9ef/0x1770 kernel/workqueue.c:3340 #2: ffff888143796198 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:895 [inline] #2: ffff888143796198 (&dev->mutex){....}-{4:4}, at: hub_event+0x187/0x4ef0 drivers/usb/core/hub.c:5899 #3: ffffffff8df35980 (console_lock){+.+.}-{0:0}, at: dev_vprintk_emit+0x337/0x3f0 drivers/base/core.c:4914 #4: ffffffff8de1d238 (console_srcu){....}-{0:0}, at: rcu_try_lock_acquire include/linux/rcupdate.h:336 [inline] #4: ffffffff8de1d238 (console_srcu){....}-{0:0}, at: srcu_read_lock_nmisafe include/linux/srcu.h:409 [inline] #4: ffffffff8de1d238 (console_srcu){....}-{0:0}, at: console_srcu_read_lock kernel/printk/printk.c:289 [inline] #4: ffffffff8de1d238 (console_srcu){....}-{0:0}, at: console_flush_one_record kernel/printk/printk.c:3192 [inline] #4: ffffffff8de1d238 (console_srcu){....}-{0:0}, at: console_flush_all+0x11a/0xb00 kernel/printk/printk.c:3289 #5: ffffc90000007ce0 ((&hsr->announce_timer)){+.-.}-{0:0}, at: call_timer_fn+0xbe/0x590 kernel/time/timer.c:1745 #6: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #6: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline] #6: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: hsr_announce+0x83/0x360 net/hsr/hsr_device.c:419 #7: ffff88807cd74f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] #7: ffff88807cd74f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: send_hsr_supervision_frame+0x380/0xcb0 net/hsr/hsr_device.c:330 #8: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #8: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline] #8: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: hsr_forward_skb+0x9e/0x2860 net/hsr/hsr_forward.c:738 #9: ffffffff8df41b00 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #9: ffffffff8df41b00 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:918 [inline] #9: ffffffff8df41b00 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x289/0x31c0 net/core/dev.c:4744 #10: ffffffff8df41b00 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #10: ffffffff8df41b00 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:918 [inline] #10: ffffffff8df41b00 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x289/0x31c0 net/core/dev.c:4744 #11: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #11: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline] #11: ffffffff8df41aa0 (rcu_read_lock){....}-{1:3}, at: hsr_dev_xmit+0x2d/0x360 net/hsr/hsr_device.c:229 stack backtrace: CPU: 0 UID: 0 PID: 15296 Comm: kworker/0:4 Tainted: G L syzkaller #0 PREEMPT(full) Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Workqueue: usb_hub_wq hub_event 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+0x2540/0x2cf0 kernel/locking/lockdep.c:5237 lock_acquire+0x107/0x340 kernel/locking/lockdep.c:5868 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x36/0x50 kernel/locking/spinlock.c:178 spin_lock_bh include/linux/spinlock.h:356 [inline] hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 __netdev_start_xmit include/linux/netdevice.h:5273 [inline] netdev_start_xmit include/linux/netdevice.h:5282 [inline] xmit_one net/core/dev.c:3853 [inline] dev_hard_start_xmit+0x2cd/0x800 net/core/dev.c:3869 __dev_queue_xmit+0x149d/0x31c0 net/core/dev.c:4819 dev_queue_xmit_accel include/linux/netdevice.h:3387 [inline] macvlan_queue_xmit drivers/net/macvlan.c:557 [inline] macvlan_start_xmit+0x3ba/0x600 drivers/net/macvlan.c:581 __netdev_start_xmit include/linux/netdevice.h:5273 [inline] netdev_start_xmit include/linux/netdevice.h:5282 [inline] xmit_one net/core/dev.c:3853 [inline] dev_hard_start_xmit+0x2cd/0x800 net/core/dev.c:3869 __dev_queue_xmit+0x149d/0x31c0 net/core/dev.c:4819 dev_queue_xmit include/linux/netdevice.h:3381 [inline] hsr_xmit net/hsr/hsr_forward.c:440 [inline] hsr_forward_do net/hsr/hsr_forward.c:581 [inline] hsr_forward_skb+0x158b/0x2860 net/hsr/hsr_forward.c:743 send_hsr_supervision_frame+0x731/0xcb0 net/hsr/hsr_device.c:364 hsr_announce+0x1d5/0x360 net/hsr/hsr_device.c:421 call_timer_fn+0x16e/0x590 kernel/time/timer.c:1748 expire_timers kernel/time/timer.c:1799 [inline] __run_timers kernel/time/timer.c:2373 [inline] __run_timer_base+0x61a/0x860 kernel/time/timer.c:2385 run_timer_base kernel/time/timer.c:2394 [inline] run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2404 handle_softirqs+0x22b/0x7c0 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0x60/0x150 kernel/softirq.c:723 irq_exit_rcu+0x9/0x30 kernel/softirq.c:739 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 RIP: 0010:console_flush_one_record arch/x86/include/asm/irqflags.h:-1 [inline] RIP: 0010:console_flush_all+0x7fc/0xb00 kernel/printk/printk.c:3289 Code: ff ff e8 c7 f9 1f 00 90 0f 0b 90 e9 85 fc ff ff e8 b9 f9 1f 00 e8 c4 c2 b8 09 48 85 db 74 c0 e8 aa f9 1f 00 fb 48 8b 5c 24 10 <48> 8b 44 24 20 42 80 3c 28 00 4c 8b 74 24 18 74 08 4c 89 f7 e8 8b RSP: 0018:ffffc900050ff060 EFLAGS: 00000287 RAX: ffffffff81a0fe66 RBX: ffffc900050ff1c0 RCX: 0000000000100000 RDX: ffffc9001a584000 RSI: 0000000000041a73 RDI: 0000000000041a74 RBP: ffffc900050ff170 R08: ffffffff8f822477 R09: 1ffffffff1f0448e R10: dffffc0000000000 R11: fffffbfff1f0448f R12: 0000000000000001 R13: dffffc0000000000 R14: 0000000000000000 R15: ffffffff8e792240 __console_flush_and_unlock kernel/printk/printk.c:3319 [inline] console_unlock+0xbb/0x190 kernel/printk/printk.c:3359 vprintk_emit+0x47b/0x550 kernel/printk/printk.c:2426 dev_vprintk_emit+0x337/0x3f0 drivers/base/core.c:4914 dev_printk_emit+0xe0/0x130 drivers/base/core.c:4925 _dev_info+0x10a/0x160 drivers/base/core.c:4983 announce_device+0x117/0x2c0 drivers/usb/core/hub.c:2413 usb_new_device+0x4ef/0x1720 drivers/usb/core/hub.c:2676 hub_port_connect drivers/usb/core/hub.c:5567 [inline] hub_port_connect_change drivers/usb/core/hub.c:5707 [inline] port_event drivers/usb/core/hub.c:5871 [inline] hub_event+0x29b1/0x4ef0 drivers/usb/core/hub.c:5953 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0xad1/0x1770 kernel/workqueue.c:3340 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 ---------------- Code disassembly (best guess), 2 bytes skipped: 0: e8 c7 f9 1f 00 call 0x1ff9cc 5: 90 nop 6: 0f 0b ud2 8: 90 nop 9: e9 85 fc ff ff jmp 0xfffffc93 e: e8 b9 f9 1f 00 call 0x1ff9cc 13: e8 c4 c2 b8 09 call 0x9b8c2dc 18: 48 85 db test %rbx,%rbx 1b: 74 c0 je 0xffffffdd 1d: e8 aa f9 1f 00 call 0x1ff9cc 22: fb sti 23: 48 8b 5c 24 10 mov 0x10(%rsp),%rbx * 28: 48 8b 44 24 20 mov 0x20(%rsp),%rax <-- trapping instruction 2d: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 32: 4c 8b 74 24 18 mov 0x18(%rsp),%r14 37: 74 08 je 0x41 39: 4c 89 f7 mov %r14,%rdi 3c: e8 .byte 0xe8 3d: 8b .byte 0x8b