============================================ WARNING: possible recursive locking detected 6.14.0-rc2-syzkaller-00175-ga92c32287664 #0 Not tainted -------------------------------------------- syz.2.43/6030 is trying to acquire lock: ffff888059e8f1e0 (&qs->lock){-.-.}-{2:2}, at: __queue_map_get+0x14b/0x4d0 kernel/bpf/queue_stack_maps.c:105 but task is already holding lock: ffff888059c6d1e0 (&qs->lock){-.-.}-{2:2}, at: __queue_map_get+0x14b/0x4d0 kernel/bpf/queue_stack_maps.c:105 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 6 locks held by syz.2.43/6030: #0: ffff88814d95ba58 (sk_lock-AF_TIPC){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1624 [inline] #0: ffff88814d95ba58 (sk_lock-AF_TIPC){+.+.}-{0:0}, at: __tipc_sendstream+0x709/0x14c0 net/tipc/socket.c:1582 #1: ffffffff8ec51f48 (remove_cache_srcu){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:164 [inline] #1: ffffffff8ec51f48 (remove_cache_srcu){.+.+}-{0:0}, at: srcu_read_lock+0x27/0x60 include/linux/srcu.h:256 #2: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #2: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #2: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: page_ext_get+0x20/0x2a0 mm/page_ext.c:525 #3: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #3: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #3: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2370 [inline] #3: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: bpf_trace_run2+0x1fc/0x540 kernel/trace/bpf_trace.c:2412 #4: ffff888059c6d1e0 (&qs->lock){-.-.}-{2:2}, at: __queue_map_get+0x14b/0x4d0 kernel/bpf/queue_stack_maps.c:105 #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2370 [inline] #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: bpf_trace_run2+0x1fc/0x540 kernel/trace/bpf_trace.c:2412 stack backtrace: CPU: 1 UID: 0 PID: 6030 Comm: syz.2.43 Not tainted 6.14.0-rc2-syzkaller-00175-ga92c32287664 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 Call Trace: <IRQ> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_deadlock_bug+0x483/0x620 kernel/locking/lockdep.c:3039 check_deadlock kernel/locking/lockdep.c:3091 [inline] validate_chain+0x15e2/0x5920 kernel/locking/lockdep.c:3893 __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 __queue_map_get+0x14b/0x4d0 kernel/bpf/queue_stack_maps.c:105 bpf_prog_00798911c748094f+0x43/0x47 bpf_dispatcher_nop_func include/linux/bpf.h:1290 [inline] __bpf_prog_run include/linux/filter.h:701 [inline] bpf_prog_run include/linux/filter.h:708 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2371 [inline] bpf_trace_run2+0x2ec/0x540 kernel/trace/bpf_trace.c:2412 __bpf_trace_contention_end+0x170/0x230 include/trace/events/lock.h:122 __do_trace_contention_end include/trace/events/lock.h:122 [inline] trace_contention_end+0x118/0x140 include/trace/events/lock.h:122 __pv_queued_spin_lock_slowpath+0xb7e/0xdb0 kernel/locking/qspinlock.c:557 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:577 [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_map_get+0x14b/0x4d0 kernel/bpf/queue_stack_maps.c:105 bpf_prog_00798911c748094f+0x43/0x47 bpf_dispatcher_nop_func include/linux/bpf.h:1290 [inline] __bpf_prog_run include/linux/filter.h:701 [inline] bpf_prog_run include/linux/filter.h:708 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2371 [inline] bpf_trace_run2+0x2ec/0x540 kernel/trace/bpf_trace.c:2412 __bpf_trace_tlb_flush+0x174/0x230 include/trace/events/tlb.h:38 __do_trace_tlb_flush include/trace/events/tlb.h:38 [inline] trace_tlb_flush+0x11c/0x140 include/trace/events/tlb.h:38 flush_tlb_func+0x5d7/0x710 csd_do_func kernel/smp.c:134 [inline] __flush_smp_call_function_queue+0x3fc/0x1620 kernel/smp.c:540 __sysvec_call_function_single+0xb8/0x430 arch/x86/kernel/smp.c:271 instr_sysvec_call_function_single arch/x86/kernel/smp.c:266 [inline] sysvec_call_function_single+0x9e/0xc0 arch/x86/kernel/smp.c:266 </IRQ> <TASK> asm_sysvec_call_function_single+0x1a/0x20 arch/x86/include/asm/idtentry.h:709 RIP: 0010:on_stack arch/x86/include/asm/stacktrace.h:55 [inline] RIP: 0010:stack_access_ok arch/x86/kernel/unwind_orc.c:393 [inline] RIP: 0010:deref_stack_reg+0x27/0x210 arch/x86/kernel/unwind_orc.c:403 Code: 90 90 90 55 41 57 41 56 41 55 41 54 53 48 83 ec 20 48 89 54 24 18 49 89 f0 49 89 fe 48 ba 00 00 00 00 00 fc ff df 48 8d 6f 08 <49> 89 ec 49 c1 ec 03 41 80 3c 14 00 48 89 34 24 74 16 48 89 ef e8 RSP: 0018:ffffc9000486eed8 EFLAGS: 00000286 RAX: fffffffffffffff0 RBX: ffffffff916287d0 RCX: 0000000000000000 RDX: dffffc0000000000 RSI: ffffc9000486f830 RDI: ffffc9000486f000 RBP: ffffc9000486f008 R08: ffffc9000486f830 R09: 0000000000000000 R10: ffffc9000486f050 R11: fffff5200090de0c R12: ffffc90004870000 R13: ffffc9000486f000 R14: ffffc9000486f000 R15: ffffc9000486f050 unwind_next_frame+0x1799/0x22d0 arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122 save_stack+0xfb/0x1f0 mm/page_owner.c:156 __reset_page_owner+0x76/0x430 mm/page_owner.c:297 reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1127 [inline] free_frozen_pages+0xe0d/0x10e0 mm/page_alloc.c:2660 discard_slab mm/slub.c:2684 [inline] __put_partials+0x160/0x1c0 mm/slub.c:3153 put_cpu_partial+0x17c/0x250 mm/slub.c:3228 __slab_free+0x290/0x380 mm/slub.c:4479 qlink_free mm/kasan/quarantine.c:163 [inline] qlist_free_all+0x9a/0x140 mm/kasan/quarantine.c:179 kasan_quarantine_reduce+0x14f/0x170 mm/kasan/quarantine.c:286 __kasan_slab_alloc+0x23/0x80 mm/kasan/common.c:329 kasan_slab_alloc include/linux/kasan.h:250 [inline] slab_post_alloc_hook mm/slub.c:4115 [inline] slab_alloc_node mm/slub.c:4164 [inline] kmem_cache_alloc_node_noprof+0x1d9/0x380 mm/slub.c:4216 __alloc_skb+0x1c3/0x440 net/core/skbuff.c:668 alloc_skb_fclone include/linux/skbuff.h:1381 [inline] tipc_buf_acquire net/tipc/msg.c:72 [inline] tipc_msg_build+0x148/0x1040 net/tipc/msg.c:390 __tipc_sendstream+0xa39/0x14c0 net/tipc/socket.c:1615 tipc_sendstream+0x55/0x70 net/tipc/socket.c:1546 sock_sendmsg_nosec net/socket.c:718 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:733 ____sys_sendmsg+0x53a/0x860 net/socket.c:2573 ___sys_sendmsg net/socket.c:2627 [inline] __sys_sendmsg+0x269/0x350 net/socket.c:2659 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:0x7f0e3718cde9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f0e37f9d038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f0e373a6080 RCX: 00007f0e3718cde9 RDX: 0000000000000000 RSI: 0000400000000240 RDI: 0000000000000005 RBP: 00007f0e3720e2a0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000001 R14: 00007f0e373a6080 R15: 00007ffe9d40fec8 </TASK> ---------------- Code disassembly (best guess): 0: 90 nop 1: 90 nop 2: 90 nop 3: 55 push %rbp 4: 41 57 push %r15 6: 41 56 push %r14 8: 41 55 push %r13 a: 41 54 push %r12 c: 53 push %rbx d: 48 83 ec 20 sub $0x20,%rsp 11: 48 89 54 24 18 mov %rdx,0x18(%rsp) 16: 49 89 f0 mov %rsi,%r8 19: 49 89 fe mov %rdi,%r14 1c: 48 ba 00 00 00 00 00 movabs $0xdffffc0000000000,%rdx 23: fc ff df 26: 48 8d 6f 08 lea 0x8(%rdi),%rbp * 2a: 49 89 ec mov %rbp,%r12 <-- trapping instruction 2d: 49 c1 ec 03 shr $0x3,%r12 31: 41 80 3c 14 00 cmpb $0x0,(%r12,%rdx,1) 36: 48 89 34 24 mov %rsi,(%rsp) 3a: 74 16 je 0x52 3c: 48 89 ef mov %rbp,%rdi 3f: e8 .byte 0xe8