============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- syz.2.100/6276 is trying to acquire lock: ffff888036cf4fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:348 [inline] ffff888036cf4fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x237/0x360 net/hsr/hsr_device.c:235 but task is already holding lock: ffff8880342a8fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:348 [inline] ffff8880342a8fb0 (&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.2.100/6276: #0: ffff8880341dd8f8 (&mm->mmap_lock){++++}-{4:4}, at: mmap_read_lock include/linux/mmap_lock.h:592 [inline] #0: ffff8880341dd8f8 (&mm->mmap_lock){++++}-{4:4}, at: __mm_populate+0x182/0x390 mm/gup.c:1942 #1: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #1: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #1: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: percpu_ref_put_many include/linux/percpu-refcount.h:330 [inline] #1: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: percpu_ref_put+0x19/0x180 include/linux/percpu-refcount.h:351 #2: ffffc90000007cc0 ((&hsr->announce_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd4/0x5e0 kernel/time/timer.c:1745 #3: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #3: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #3: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: hsr_announce+0x89/0x370 net/hsr/hsr_device.c:419 #4: ffff8880342a8fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:348 [inline] #4: ffff8880342a8fb0 (&hsr->seqnr_lock){+.-.}-{3:3}, at: send_hsr_supervision_frame+0x380/0xcb0 net/hsr/hsr_device.c:330 #5: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #5: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #5: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: hsr_forward_skb+0xbb/0x2a80 net/hsr/hsr_forward.c:738 #6: ffffffff8e95cd40 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #6: ffffffff8e95cd40 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:891 [inline] #6: ffffffff8e95cd40 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x2b6/0x3950 net/core/dev.c:4791 #7: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #7: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #7: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: br_dev_xmit+0x193/0x1990 net/bridge/br_device.c:52 #8: ffffffff8e95cd40 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #8: ffffffff8e95cd40 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:891 [inline] #8: ffffffff8e95cd40 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x2b6/0x3950 net/core/dev.c:4791 #9: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #9: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #9: ffffffff8e95cce0 (rcu_read_lock){....}-{1:3}, at: hsr_dev_xmit+0x2d/0x360 net/hsr/hsr_device.c:229 stack backtrace: CPU: 0 UID: 0 PID: 6276 Comm: syz.2.100 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/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:rcu_lock_acquire include/linux/rcupdate.h:300 [inline] RIP: 0010:rcu_read_lock include/linux/rcupdate.h:838 [inline] RIP: 0010:percpu_ref_put_many include/linux/percpu-refcount.h:330 [inline] RIP: 0010:percpu_ref_put+0x35/0x180 include/linux/percpu-refcount.h:351 Code: 89 fe e8 3e 8e 71 ff 48 8d 1d 00 00 00 00 48 c7 c7 e0 cc 95 8e 31 f6 31 d2 b9 02 00 00 00 45 31 c0 45 31 c9 53 e8 9b b0 67 ff <48> 83 c4 08 e8 a2 8f 7e 09 85 c0 74 3a e8 f9 d8 70 ff 84 c0 75 31 RSP: 0018:ffffc9000cecf700 EFLAGS: 00000282 RAX: 1623a86b93178c00 RBX: ffffffff823a1ac9 RCX: 0000000000000046 RDX: 00000000db678bee RSI: ffffffff8e24e4ef RDI: ffffffff8c289ee0 RBP: 0000000000000cc0 R08: ffffffff823a1ac9 R09: ffffffff8e95cce0 R10: dffffc0000000000 R11: fffffbfff206701f R12: 0000000000000000 R13: dffffc0000000000 R14: ffff88801c6f0dd0 R15: ffffea0001a83440 css_put include/linux/cgroup_refcnt.h:79 [inline] __mem_cgroup_charge+0x56/0x80 mm/memcontrol.c:5024 mem_cgroup_charge include/linux/memcontrol.h:644 [inline] folio_prealloc mm/memory.c:1198 [inline] alloc_anon_folio mm/memory.c:5282 [inline] do_anonymous_page mm/memory.c:5376 [inline] do_pte_missing+0x15be/0x33f0 mm/memory.c:4548 handle_pte_fault mm/memory.c:6411 [inline] __handle_mm_fault mm/memory.c:6549 [inline] handle_mm_fault+0x1bd7/0x3170 mm/memory.c:6718 faultin_page mm/gup.c:1126 [inline] __get_user_pages+0x1683/0x2720 mm/gup.c:1428 populate_vma_page_range+0x2be/0x3c0 mm/gup.c:1860 __mm_populate+0x25f/0x390 mm/gup.c:1963 do_mlock+0x646/0x750 mm/mlock.c:659 __do_sys_mlock mm/mlock.c:667 [inline] __se_sys_mlock mm/mlock.c:665 [inline] __x64_sys_mlock+0x60/0x70 mm/mlock.c:665 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:0x7f7616f9c819 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f7617e60028 EFLAGS: 00000246 ORIG_RAX: 0000000000000095 RAX: ffffffffffffffda RBX: 00007f7617215fa0 RCX: 00007f7616f9c819 RDX: 0000000000000000 RSI: 0000000000800000 RDI: 0000200000000000 RBP: 00007f7617032c91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f7617216038 R14: 00007f7617215fa0 R15: 00007f761733fa48 ---------------- Code disassembly (best guess): 0: 89 fe mov %edi,%esi 2: e8 3e 8e 71 ff call 0xff718e45 7: 48 8d 1d 00 00 00 00 lea 0x0(%rip),%rbx # 0xe e: 48 c7 c7 e0 cc 95 8e mov $0xffffffff8e95cce0,%rdi 15: 31 f6 xor %esi,%esi 17: 31 d2 xor %edx,%edx 19: b9 02 00 00 00 mov $0x2,%ecx 1e: 45 31 c0 xor %r8d,%r8d 21: 45 31 c9 xor %r9d,%r9d 24: 53 push %rbx 25: e8 9b b0 67 ff call 0xff67b0c5 * 2a: 48 83 c4 08 add $0x8,%rsp <-- trapping instruction 2e: e8 a2 8f 7e 09 call 0x97e8fd5 33: 85 c0 test %eax,%eax 35: 74 3a je 0x71 37: e8 f9 d8 70 ff call 0xff70d935 3c: 84 c0 test %al,%al 3e: 75 31 jne 0x71