============================================ WARNING: possible recursive locking detected 6.13.0-syzkaller-06167-g0afd22092df4 #0 Not tainted -------------------------------------------- kworker/1:6/5870 is trying to acquire lock: ffff888032df6f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] ffff888032df6f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x1bc/0x280 net/hsr/hsr_device.c:234 but task is already holding lock: ffff88807cb7cf30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] ffff88807cb7cf30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x1bc/0x280 net/hsr/hsr_device.c:234 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/5870: #0: ffff88802f7ce948 ((wq_completion)mld){+.+.}-{0:0}, at: process_one_work+0x1293/0x1ba0 kernel/workqueue.c:3211 #1: ffffc90002e77d18 ((work_completion)(&(&idev->mc_ifc_work)->work)){+.+.}-{0:0}, at: process_one_work+0x921/0x1ba0 kernel/workqueue.c:3212 #2: ffff88805c293538 (&idev->mc_lock){+.+.}-{4:4}, at: mld_ifc_work+0x42/0xca0 net/ipv6/mcast.c:2696 #3: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #3: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #3: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: mld_sendpack+0x1bf/0x11d0 net/ipv6/mcast.c:1834 #4: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #4: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #4: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: ip6_finish_output2+0x3db/0x20a0 net/ipv6/ip6_output.c:126 #5: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #5: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:901 [inline] #5: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x277/0x43e0 net/core/dev.c:4509 #6: ffff88807cb7cf30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] #6: ffff88807cb7cf30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x1bc/0x280 net/hsr/hsr_device.c:234 #7: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #7: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #7: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: hsr_forward_skb+0xb7/0x2650 net/hsr/hsr_forward.c:725 #8: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #8: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:901 [inline] #8: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x277/0x43e0 net/core/dev.c:4509 #9: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #9: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #9: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: br_dev_xmit+0x1a2/0x18b0 net/bridge/br_device.c:50 #10: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #10: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: rcu_read_lock_bh include/linux/rcupdate.h:901 [inline] #10: ffffffff8e1be0e0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x277/0x43e0 net/core/dev.c:4509 stack backtrace: CPU: 1 UID: 0 PID: 5870 Comm: kworker/1:6 Not tainted 6.13.0-syzkaller-06167-g0afd22092df4 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 Workqueue: mld mld_ifc_work Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_deadlock_bug+0x2e3/0x410 kernel/locking/lockdep.c:3039 check_deadlock kernel/locking/lockdep.c:3091 [inline] validate_chain kernel/locking/lockdep.c:3893 [inline] __lock_acquire+0x2117/0x3c40 kernel/locking/lockdep.c:5228 lock_acquire.part.0+0x11b/0x380 kernel/locking/lockdep.c:5851 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 kernel/locking/spinlock.c:178 spin_lock_bh include/linux/spinlock.h:356 [inline] hsr_dev_xmit+0x1bc/0x280 net/hsr/hsr_device.c:234 __netdev_start_xmit include/linux/netdevice.h:5144 [inline] netdev_start_xmit include/linux/netdevice.h:5153 [inline] xmit_one net/core/dev.c:3735 [inline] dev_hard_start_xmit+0x9a/0x7b0 net/core/dev.c:3751 __dev_queue_xmit+0x7f0/0x43e0 net/core/dev.c:4584 dev_queue_xmit include/linux/netdevice.h:3305 [inline] br_dev_queue_push_xmit+0x274/0x8a0 net/bridge/br_forward.c:53 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] br_forward_finish+0xf5/0x130 net/bridge/br_forward.c:66 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] __br_forward+0x1e5/0x5b0 net/bridge/br_forward.c:115 deliver_clone+0x5b/0xa0 net/bridge/br_forward.c:131 maybe_deliver+0xa7/0x120 net/bridge/br_forward.c:190 br_flood+0x17b/0x5e0 net/bridge/br_forward.c:237 br_dev_xmit+0xfaa/0x18b0 net/bridge/br_device.c:106 __netdev_start_xmit include/linux/netdevice.h:5144 [inline] netdev_start_xmit include/linux/netdevice.h:5153 [inline] xmit_one net/core/dev.c:3735 [inline] dev_hard_start_xmit+0x9a/0x7b0 net/core/dev.c:3751 __dev_queue_xmit+0x7f0/0x43e0 net/core/dev.c:4584 dev_queue_xmit include/linux/netdevice.h:3305 [inline] hsr_xmit net/hsr/hsr_forward.c:430 [inline] hsr_forward_do net/hsr/hsr_forward.c:571 [inline] hsr_forward_skb+0xca3/0x2650 net/hsr/hsr_forward.c:730 hsr_dev_xmit+0x1c7/0x280 net/hsr/hsr_device.c:235 __netdev_start_xmit include/linux/netdevice.h:5144 [inline] netdev_start_xmit include/linux/netdevice.h:5153 [inline] xmit_one net/core/dev.c:3735 [inline] dev_hard_start_xmit+0x9a/0x7b0 net/core/dev.c:3751 __dev_queue_xmit+0x7f0/0x43e0 net/core/dev.c:4584 dev_queue_xmit include/linux/netdevice.h:3305 [inline] neigh_connected_output+0x3da/0x620 net/core/neighbour.c:1543 neigh_output include/net/neighbour.h:539 [inline] ip6_finish_output2+0xb20/0x20a0 net/ipv6/ip6_output.c:141 __ip6_finish_output net/ipv6/ip6_output.c:215 [inline] ip6_finish_output+0x3f9/0x1360 net/ipv6/ip6_output.c:226 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip6_output+0x1f8/0x540 net/ipv6/ip6_output.c:247 dst_output include/net/dst.h:459 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] mld_sendpack+0x9f0/0x11d0 net/ipv6/mcast.c:1862 mld_send_cr net/ipv6/mcast.c:2163 [inline] mld_ifc_work+0x740/0xca0 net/ipv6/mcast.c:2697 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3236 process_scheduled_works kernel/workqueue.c:3317 [inline] worker_thread+0x6c8/0xf00 kernel/workqueue.c:3398 kthread+0x3af/0x750 kernel/kthread.c:464 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244