============================================
WARNING: possible recursive locking detected
6.16.0-rc5-syzkaller-00159-g47c84997c686 #0 Not tainted
--------------------------------------------
kworker/u8:2/5843 is trying to acquire lock:
ffff888026b34158 (&qdisc_xmit_lock_key#4){+.-.}-{3:3}, at: sch_direct_xmit+0x153/0x4b0

but task is already holding lock:
ffff888037993558 (&qdisc_xmit_lock_key#4){+.-.}-{3:3}, at: sch_direct_xmit+0x153/0x4b0

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&qdisc_xmit_lock_key#4);
  lock(&qdisc_xmit_lock_key#4);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

9 locks held by kworker/u8:2/5843:
 #0: ffff88811c881948 ((wq_completion)bond1){+.+.}-{0:0}, at: process_scheduled_works+0x9b4/0x17b0
 #1: ffffc900036efbc0 ((work_completion)(&(&bond->alb_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9ef/0x17b0
 #2: ffffffff8e13f160 (rcu_read_lock){....}-{1:3}, at: bond_alb_monitor+0xf1/0x1800
 #3: ffffffff8e13f1c0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x27e/0x3a70
 #4: ffff888113fa9258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock#2){+...}-{3:3}, at: __dev_queue_xmit+0x1300/0x3a70
 #5: ffff888037993558 (&qdisc_xmit_lock_key#4){+.-.}-{3:3}, at: sch_direct_xmit+0x153/0x4b0
 #6: ffffffff8e13f160 (rcu_read_lock){....}-{1:3}, at: ip_finish_output2+0x452/0x1160
 #7: ffffffff8e13f1c0 (rcu_read_lock_bh){....}-{1:3}, at: __dev_queue_xmit+0x27e/0x3a70
 #8: ffff888037955258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock#2){+...}-{3:3}, at: __dev_queue_xmit+0x1300/0x3a70

stack backtrace:
CPU: 0 UID: 0 PID: 5843 Comm: kworker/u8:2 Not tainted 6.16.0-rc5-syzkaller-00159-g47c84997c686 #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Workqueue: bond1 bond_alb_monitor
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+0x2e/0x40
 sch_direct_xmit+0x153/0x4b0
 __dev_queue_xmit+0x17b6/0x3a70
 ip_finish_output2+0xd40/0x1160
 iptunnel_xmit+0x571/0xa00
 ip_tunnel_xmit+0x1c3c/0x2380
 gre_tap_xmit+0x590/0x7a0
 dev_hard_start_xmit+0x2d7/0x830
 sch_direct_xmit+0x241/0x4b0
 __dev_queue_xmit+0x17b6/0x3a70
 alb_send_lp_vid+0x324/0x510
 alb_send_learning_packets+0x10d/0x2c0
 bond_alb_monitor+0x3e4/0x1800
 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 netdevsim2 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim2 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim2 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim2 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
