============================================ 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