============================================
WARNING: possible recursive locking detected
6.16.0-rc3-syzkaller-00159-g223e2288f4b8-dirty #0 Not tainted
--------------------------------------------
kworker/u8:5/7597 is trying to acquire lock:
ffff88811a48cf30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x19a/0x220

but task is already holding lock:
ffff88803d722f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x19a/0x220

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/u8:5/7597:
 #0: ffff888107abb148 ((wq_completion)ipv6_addrconf){+.+.}-{0:0}, at: process_scheduled_works+0x9b4/0x17b0
 #1: ffffc9000252fbc0 ((work_completion)(&(&ifa->dad_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9ef/0x17b0
 #2: ffffffff8f51c948 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_dad_work+0x112/0x14b0
 #3: ffff88802b22e538 (&idev->mc_lock){+.+.}-{4:4}, at: ipv6_mc_dad_complete+0x32/0x4b0
 #4: ffffffff8e13ee60 (rcu_read_lock){....}-{1:3}, at: mld_sendpack+0x1de/0xd80
 #5: ffffffff8e13ee60 (rcu_read_lock){....}-{1:3}, at: ip6_finish_output2+0x701/0x16a0
 #6: ffffffff8e13eec0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x27e/0x3a70
 #7: ffff88803d722f30 (&hsr->seqnr_lock){+.-.}-{3:3}, at: hsr_dev_xmit+0x19a/0x220
 #8: ffffffff8e13ee60 (rcu_read_lock){....}-{1:3}, at: hsr_forward_skb+0x9e/0x2860
 #9: ffffffff8e13eec0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x27e/0x3a70
 #10: ffffffff8e13ee60 (rcu_read_lock){....}-{1:3}, at: br_dev_xmit+0x185/0x1840
 #11: ffffffff8e13eec0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x27e/0x3a70

stack backtrace:
CPU: 0 UID: 0 PID: 7597 Comm: kworker/u8:5 Not tainted 6.16.0-rc3-syzkaller-00159-g223e2288f4b8-dirty #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Workqueue: ipv6_addrconf addrconf_dad_work
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250
 print_deadlock_bug+0x28b/0x2a0
 validate_chain+0x1a3f/0x2140
 __lock_acquire+0xab9/0xd20
 lock_acquire+0x120/0x360
 _raw_spin_lock_bh+0x36/0x50
 hsr_dev_xmit+0x19a/0x220
 dev_hard_start_xmit+0x2d7/0x830
 __dev_queue_xmit+0x1adf/0x3a70
 br_dev_queue_push_xmit+0x6c5/0x890
 NF_HOOK+0x320/0x3c0
 br_forward_finish+0xd3/0x130
 NF_HOOK+0x320/0x3c0
 __br_forward+0x41e/0x600
 maybe_deliver+0xb5/0x160
 br_flood+0x31a/0x6a0
 br_dev_xmit+0x11b3/0x1840
 dev_hard_start_xmit+0x2d7/0x830
 __dev_queue_xmit+0x1adf/0x3a70
 hsr_forward_skb+0x158b/0x2860
 hsr_dev_xmit+0x1a5/0x220
 dev_hard_start_xmit+0x2d7/0x830
 __dev_queue_xmit+0x1adf/0x3a70
 ip6_finish_output2+0x11fe/0x16a0
 ip6_finish_output+0x234/0x7d0
 NF_HOOK+0x9e/0x380
 mld_sendpack+0x800/0xd80
 ipv6_mc_dad_complete+0x88/0x4b0
 addrconf_dad_completed+0x6d5/0xd60
 addrconf_dad_work+0xc36/0x14b0
 process_scheduled_works+0xae1/0x17b0
 worker_thread+0x8a0/0xda0
 kthread+0x711/0x8a0
 ret_from_fork+0x3fc/0x770
 ret_from_fork_asm+0x1a/0x30
 </TASK>
netdevsim netdevsim0 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim0 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim0 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim0 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
bridge_slave_1: left allmulticast mode
bridge_slave_1: left promiscuous mode
bridge0: port 2(bridge_slave_1) entered disabled state
bridge_slave_0: left allmulticast mode
bridge_slave_0: left promiscuous mode
bridge0: port 1(bridge_slave_0) entered disabled state
bond0 (unregistering): (slave bond_slave_0): Releasing backup interface
bond0 (unregistering): (slave bond_slave_1): Releasing backup interface
bond0 (unregistering): Released all slaves
hsr_slave_0: left promiscuous mode
hsr_slave_1: left promiscuous mode
batman_adv: batadv0: Interface deactivated: batadv_slave_0
batman_adv: batadv0: Removing interface: batadv_slave_0
batman_adv: batadv0: Interface deactivated: batadv_slave_1
batman_adv: batadv0: Removing interface: batadv_slave_1
veth1_macvtap: left promiscuous mode
veth0_macvtap: left promiscuous mode
veth1_vlan: left promiscuous mode
veth0_vlan: left promiscuous mode
team0 (unregistering): Port device team_slave_1 removed
team0 (unregistering): Port device team_slave_0 removed
