============================================
WARNING: possible recursive locking detected
6.10.0-syzkaller-12665-gb7ea631b9a79 #0 Not tainted
--------------------------------------------
syz-executor/10845 is trying to acquire lock:
ffff88806f20f9e0 (&qs->lock){..-.}-{2:2}, at: queue_stack_map_push_elem+0x1b2/0x660 kernel/bpf/queue_stack_maps.c:210
but task is already holding lock:
ffff88806f20f9e0 (&qs->lock){..-.}-{2:2}, at: queue_stack_map_push_elem+0x1b2/0x660 kernel/bpf/queue_stack_maps.c:210
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&qs->lock);
lock(&qs->lock);
*** DEADLOCK ***
May be due to missing lock nesting notation
5 locks held by syz-executor/10845:
#0: ffffffff8fc7f9c8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:79 [inline]
#0: ffffffff8fc7f9c8 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x6e6/0xcf0 net/core/rtnetlink.c:6644
#1: ffffffff8e937720 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:326 [inline]
#1: ffffffff8e937720 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2563 [inline]
#1: ffffffff8e937720 (rcu_callback){....}-{0:0}, at: rcu_core+0xa86/0x1830 kernel/rcu/tree.c:2843
#2: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:326 [inline]
#2: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline]
#2: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2405 [inline]
#2: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: bpf_trace_run3+0x24c/0x5a0 kernel/trace/bpf_trace.c:2448
#3: ffff88806f20f9e0 (&qs->lock){..-.}-{2:2}, at: queue_stack_map_push_elem+0x1b2/0x660 kernel/bpf/queue_stack_maps.c:210
#4: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:326 [inline]
#4: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline]
#4: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2405 [inline]
#4: ffffffff8e937660 (rcu_read_lock){....}-{1:2}, at: bpf_trace_run2+0x1fc/0x540 kernel/trace/bpf_trace.c:2447
stack backtrace:
CPU: 1 UID: 0 PID: 10845 Comm: syz-executor Not tainted 6.10.0-syzkaller-12665-gb7ea631b9a79 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
Call Trace:
__dump_stack lib/dump_stack.c:93 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119
check_deadlock kernel/locking/lockdep.c:3061 [inline]
validate_chain+0x15d3/0x5900 kernel/locking/lockdep.c:3855
__lock_acquire+0x137a/0x2040 kernel/locking/lockdep.c:5142
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
queue_stack_map_push_elem+0x1b2/0x660 kernel/bpf/queue_stack_maps.c:210
bpf_prog_80daba7f9ca62790+0x43/0x47
bpf_dispatcher_nop_func include/linux/bpf.h:1252 [inline]
__bpf_prog_run include/linux/filter.h:691 [inline]
bpf_prog_run include/linux/filter.h:698 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:2406 [inline]
bpf_trace_run2+0x2ec/0x540 kernel/trace/bpf_trace.c:2447
trace_contention_end+0x114/0x140 include/trace/events/lock.h:122
__pv_queued_spin_lock_slowpath+0xb81/0xdc0 kernel/locking/qspinlock.c:557
pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:584 [inline]
queued_spin_lock_slowpath+0x42/0x50 arch/x86/include/asm/qspinlock.h:51
queued_spin_lock include/asm-generic/qspinlock.h:114 [inline]
do_raw_spin_lock+0x272/0x370 kernel/locking/spinlock_debug.c:116
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:111 [inline]
_raw_spin_lock_irqsave+0xe1/0x120 kernel/locking/spinlock.c:162
queue_stack_map_push_elem+0x1b2/0x660 kernel/bpf/queue_stack_maps.c:210
bpf_prog_80daba7f9ca62790+0x43/0x47
bpf_dispatcher_nop_func include/linux/bpf.h:1252 [inline]
__bpf_prog_run include/linux/filter.h:691 [inline]
bpf_prog_run include/linux/filter.h:698 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:2406 [inline]
bpf_trace_run3+0x33a/0x5a0 kernel/trace/bpf_trace.c:2448
trace_kmem_cache_free include/trace/events/kmem.h:114 [inline]
kmem_cache_free+0x2a9/0x350 mm/slub.c:4547
rcu_do_batch kernel/rcu/tree.c:2569 [inline]
rcu_core+0xafd/0x1830 kernel/rcu/tree.c:2843
handle_softirqs+0x2c4/0x970 kernel/softirq.c:554
__do_softirq kernel/softirq.c:588 [inline]
invoke_softirq kernel/softirq.c:428 [inline]
__irq_exit_rcu+0xf4/0x1c0 kernel/softirq.c:637
irq_exit_rcu+0x9/0x30 kernel/softirq.c:649
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:folio_test_slab include/linux/page-flags.h:1057 [inline]
RIP: 0010:kfree+0xa4/0x360 mm/slub.c:4587
Code: e7 c0 48 b9 00 00 00 00 00 ea ff ff 49 8b 44 0f 08 a8 01 0f 85 6e 02 00 00 49 01 cf 0f 1f 44 00 00 b8 00 00 00 82 41 23 47 30 <3d> 00 00 00 80 0f 85 0a 01 00 00 4d 8b 67 08 48 89 1c 24 66 90 4d
RSP: 0018:ffffc90009906978 EFLAGS: 00000286
RAX: 0000000080000000 RBX: ffff88805de44000 RCX: ffffea0000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff88805de446c0 R08: ffffffff8142a42c R09: 1ffffffff202f365
R10: dffffc0000000000 R11: fffffbfff202f366 R12: ffff888078018a7e
R13: ffff88805de446c2 R14: ffffffff897c4466 R15: ffffea0001779000
skb_kfree_head net/core/skbuff.c:1084 [inline]
skb_free_head net/core/skbuff.c:1096 [inline]
skb_release_data+0x676/0x880 net/core/skbuff.c:1123
skb_release_all net/core/skbuff.c:1188 [inline]
__kfree_skb net/core/skbuff.c:1202 [inline]
consume_skb+0xb1/0x160 net/core/skbuff.c:1426
netlink_broadcast_filtered+0x116a/0x1290 net/netlink/af_netlink.c:1542
nlmsg_multicast_filtered include/net/netlink.h:1125 [inline]
nlmsg_multicast include/net/netlink.h:1144 [inline]
nlmsg_notify+0xfb/0x1c0 net/netlink/af_netlink.c:2593
rtnl_notify net/core/rtnetlink.c:757 [inline]
rtmsg_ifinfo_send net/core/rtnetlink.c:4100 [inline]
rtmsg_ifinfo_event net/core/rtnetlink.c:4116 [inline]
rtnetlink_event+0x21d/0x260 net/core/rtnetlink.c:6698
notifier_call_chain+0x19f/0x3e0 kernel/notifier.c:93
netdev_lower_state_changed+0x10a/0x180 net/core/dev.c:8587
bond_lower_state_changed drivers/net/bonding/bond_main.c:1771 [inline]
bond_commit_link_state include/net/bonding.h:621 [inline]
bond_set_slave_link_state+0x1e7/0x3c0 include/net/bonding.h:635
bond_enslave+0x1933/0x3b10
do_set_master net/core/rtnetlink.c:2701 [inline]
do_setlink+0xe70/0x41f0 net/core/rtnetlink.c:2907
__rtnl_newlink net/core/rtnetlink.c:3696 [inline]
rtnl_newlink+0x180d/0x20a0 net/core/rtnetlink.c:3743
rtnetlink_rcv_msg+0x73f/0xcf0 net/core/rtnetlink.c:6647
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2550
netlink_unicast_kernel net/netlink/af_netlink.c:1331 [inline]
netlink_unicast+0x7f0/0x990 net/netlink/af_netlink.c:1357
netlink_sendmsg+0x8e4/0xcb0 net/netlink/af_netlink.c:1901
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
__sys_sendto+0x3a4/0x4f0 net/socket.c:2204
__do_sys_sendto net/socket.c:2216 [inline]
__se_sys_sendto net/socket.c:2212 [inline]
__x64_sys_sendto+0xde/0x100 net/socket.c:2212
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f1c8d77914c
Code: 2a 5a 02 00 44 8b 4c 24 2c 4c 8b 44 24 20 89 c5 44 8b 54 24 28 48 8b 54 24 18 b8 2c 00 00 00 48 8b 74 24 10 8b 7c 24 08 0f 05 <48> 3d 00 f0 ff ff 77 34 89 ef 48 89 44 24 08 e8 70 5a 02 00 48 8b
RSP: 002b:00007ffdd7834590 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 00007f1c8e434620 RCX: 00007f1c8d77914c
RDX: 0000000000000028 RSI: 00007f1c8e434670 RDI: 0000000000000003
RBP: 0000000000000000 R08: 00007ffdd78345e4 R09: 000000000000000c
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003
R13: 0000000000000000 R14: 00007f1c8e434670 R15: 0000000000000000
----------------
Code disassembly (best guess):
0: e7 c0 out %eax,$0xc0
2: 48 b9 00 00 00 00 00 movabs $0xffffea0000000000,%rcx
9: ea ff ff
c: 49 8b 44 0f 08 mov 0x8(%r15,%rcx,1),%rax
11: a8 01 test $0x1,%al
13: 0f 85 6e 02 00 00 jne 0x287
19: 49 01 cf add %rcx,%r15
1c: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
21: b8 00 00 00 82 mov $0x82000000,%eax
26: 41 23 47 30 and 0x30(%r15),%eax
* 2a: 3d 00 00 00 80 cmp $0x80000000,%eax <-- trapping instruction
2f: 0f 85 0a 01 00 00 jne 0x13f
35: 4d 8b 67 08 mov 0x8(%r15),%r12
39: 48 89 1c 24 mov %rbx,(%rsp)
3d: 66 90 xchg %ax,%ax
3f: 4d rex.WRB