============================================ WARNING: possible recursive locking detected 5.15.179-syzkaller #0 Not tainted -------------------------------------------- kworker/1:6/4218 is trying to acquire lock: ffff88807e216d88 (&hsr->seqnr_lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:368 [inline] ffff88807e216d88 (&hsr->seqnr_lock){+.-.}-{2:2}, at: hsr_dev_xmit+0x13a/0x1e0 net/hsr/hsr_device.c:222 but task is already holding lock: ffff88802bc7ad88 (&hsr->seqnr_lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:368 [inline] ffff88802bc7ad88 (&hsr->seqnr_lock){+.-.}-{2:2}, at: hsr_dev_xmit+0x13a/0x1e0 net/hsr/hsr_device.c:222 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 11 locks held by kworker/1:6/4218: #0: ffff88802b89a538 ((wq_completion)ipv6_addrconf){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283 #1: ffffc900031dfd20 ((work_completion)(&(&ifa->dad_work)->work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285 #2: ffffffff8dc43ac8 (rtnl_mutex){+.+.}-{3:3}, at: addrconf_dad_work+0xd8/0x16f0 net/ipv6/addrconf.c:4113 #3: ffffffff8cb1f4e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311 #4: ffffffff8cb1f540 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312 #5: ffffffff8cb1f540 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312 #6: ffff88802bc7ad88 (&hsr->seqnr_lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:368 [inline] #6: ffff88802bc7ad88 (&hsr->seqnr_lock){+.-.}-{2:2}, at: hsr_dev_xmit+0x13a/0x1e0 net/hsr/hsr_device.c:222 #7: ffffffff8cb1f4e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311 #8: ffffffff8cb1f540 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312 #9: ffffffff8cb1f4e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311 #10: ffffffff8cb1f540 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312 stack backtrace: CPU: 1 PID: 4218 Comm: kworker/1:6 Not tainted 5.15.179-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: ipv6_addrconf addrconf_dad_work Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2d0 lib/dump_stack.c:106 print_deadlock_bug kernel/locking/lockdep.c:2946 [inline] check_deadlock kernel/locking/lockdep.c:2989 [inline] validate_chain+0x46d2/0x5930 kernel/locking/lockdep.c:3775 __lock_acquire+0x1295/0x1ff0 kernel/locking/lockdep.c:5012 lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 spin_lock_bh include/linux/spinlock.h:368 [inline] hsr_dev_xmit+0x13a/0x1e0 net/hsr/hsr_device.c:222 __netdev_start_xmit include/linux/netdevice.h:5027 [inline] netdev_start_xmit include/linux/netdevice.h:5041 [inline] xmit_one net/core/dev.c:3648 [inline] dev_hard_start_xmit+0x298/0x7a0 net/core/dev.c:3664 __dev_queue_xmit+0x1c8e/0x32b0 net/core/dev.c:4287 br_dev_queue_push_xmit+0x6e1/0x8a0 net/bridge/br_forward.c:53 NF_HOOK+0x36c/0x420 include/linux/netfilter.h:302 br_forward_finish+0x74/0x80 net/bridge/br_forward.c:66 NF_HOOK+0x36c/0x420 include/linux/netfilter.h:302 __br_forward+0x43e/0x610 net/bridge/br_forward.c:115 deliver_clone net/bridge/br_forward.c:131 [inline] maybe_deliver+0xb3/0x150 net/bridge/br_forward.c:189 br_flood+0x2e7/0x440 net/bridge/br_forward.c:231 br_dev_xmit+0x1089/0x16b0 __netdev_start_xmit include/linux/netdevice.h:5027 [inline] netdev_start_xmit include/linux/netdevice.h:5041 [inline] xmit_one net/core/dev.c:3648 [inline] dev_hard_start_xmit+0x298/0x7a0 net/core/dev.c:3664 __dev_queue_xmit+0x1c8e/0x32b0 net/core/dev.c:4287 hsr_xmit net/hsr/hsr_forward.c:338 [inline] hsr_forward_do net/hsr/hsr_forward.c:429 [inline] hsr_forward_skb+0x134a/0x1bd0 net/hsr/hsr_forward.c:582 hsr_dev_xmit+0x145/0x1e0 net/hsr/hsr_device.c:223 __netdev_start_xmit include/linux/netdevice.h:5027 [inline] netdev_start_xmit include/linux/netdevice.h:5041 [inline] xmit_one net/core/dev.c:3648 [inline] dev_hard_start_xmit+0x298/0x7a0 net/core/dev.c:3664 __dev_queue_xmit+0x1c8e/0x32b0 net/core/dev.c:4287 neigh_output include/net/neighbour.h:509 [inline] ip6_finish_output2+0xee8/0x15a0 net/ipv6/ip6_output.c:130 dst_output include/net/dst.h:452 [inline] NF_HOOK include/linux/netfilter.h:302 [inline] ndisc_send_skb+0xb98/0x1520 net/ipv6/ndisc.c:513 ndisc_send_ns+0x64d/0x830 net/ipv6/ndisc.c:655 addrconf_dad_work+0xb53/0x16f0 net/ipv6/addrconf.c:4201 process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310 worker_thread+0xaca/0x1280 kernel/workqueue.c:2457 kthread+0x3f6/0x4f0 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287