============================= [ BUG: Invalid wait context ] 6.13.0-rc1-syzkaller-00210-g51a00be6a099 #0 Not tainted ----------------------------- syz.3.1163/8855 is trying to lock: ffff8880119d7a00 (&trie->lock){..-.}-{3:3}, at: trie_delete_elem+0x96/0x6a0 kernel/bpf/lpm_trie.c:462 other info that might help us debug this: context-{5:5} 3 locks held by syz.3.1163/8855: #0: ffff88807df4cd18 (&vma->vm_lock->lock){++++}-{4:4}, at: vma_start_read include/linux/mm.h:716 [inline] #0: ffff88807df4cd18 (&vma->vm_lock->lock){++++}-{4:4}, at: lock_vma_under_rcu+0x34b/0x790 mm/memory.c:6278 #1: ffff8880b863e8d8 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2a/0x140 kernel/sched/core.c:598 #2: ffffffff8e937aa0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #2: ffffffff8e937aa0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #2: ffffffff8e937aa0 (rcu_read_lock){....}-{1:3}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2350 [inline] #2: ffffffff8e937aa0 (rcu_read_lock){....}-{1:3}, at: bpf_trace_run2+0x1fc/0x540 kernel/trace/bpf_trace.c:2392 stack backtrace: CPU: 0 UID: 0 PID: 8855 Comm: syz.3.1163 Not tainted 6.13.0-rc1-syzkaller-00210-g51a00be6a099 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_lock_invalid_wait_context kernel/locking/lockdep.c:4826 [inline] check_wait_context kernel/locking/lockdep.c:4898 [inline] __lock_acquire+0x15a8/0x2100 kernel/locking/lockdep.c:5176 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5849 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 trie_delete_elem+0x96/0x6a0 kernel/bpf/lpm_trie.c:462 bpf_prog_1c0c44170264bb34+0x46/0x4a 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:2351 [inline] bpf_trace_run2+0x2ec/0x540 kernel/trace/bpf_trace.c:2392 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: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_rq_lock_nested+0x2a/0x140 kernel/sched/core.c:598 raw_spin_rq_lock kernel/sched/sched.h:1514 [inline] rq_lock kernel/sched/sched.h:1813 [inline] __schedule+0x35a/0x4c30 kernel/sched/core.c:6680 preempt_schedule_irq+0xfb/0x1c0 kernel/sched/core.c:7078 irqentry_exit+0x5e/0x90 kernel/entry/common.c:354 asm_sysvec_reschedule_ipi+0x1a/0x20 arch/x86/include/asm/idtentry.h:707 RIP: 0010:lock_release+0x658/0xa30 kernel/locking/lockdep.c:5874 Code: 3c 3b 00 74 08 4c 89 f7 e8 a5 80 8f 00 f6 84 24 91 00 00 00 02 75 77 41 f7 c5 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 27 00 00 00 00 4b c7 44 27 08 00 00 00 00 65 48 8b 04 25 RSP: 0000:ffffc90003e07c80 EFLAGS: 00000206 RAX: 0000000000000001 RBX: 1ffff920007c0fa2 RCX: ffffc90003e07d03 RDX: 1ffff920007c0fa0 RSI: ffffffff8c0aa880 RDI: ffffffff8c5f63e0 RBP: ffffc90003e07db0 R08: ffffffff942b892f R09: 1ffffffff2857125 R10: dffffc0000000000 R11: fffffbfff2857126 R12: 1ffff920007c0f9c R13: 0000000000000246 R14: ffffc90003e07d10 R15: dffffc0000000000 lock_vma_under_rcu+0x5fd/0x790 do_user_addr_fault arch/x86/mm/fault.c:1329 [inline] handle_page_fault arch/x86/mm/fault.c:1481 [inline] exc_page_fault+0x17b/0x8b0 arch/x86/mm/fault.c:1539 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0033:0x7f16d945f7bd Code: ff 48 83 e8 01 48 89 ee bf 01 00 00 00 48 c1 e0 0e 48 c1 ee 06 48 01 c8 48 89 e9 81 e6 ff 3f 00 00 48 c1 e9 03 83 e1 07 d3 e7 <40> 84 bc 06 20 20 00 00 0f 85 11 fd ff ff e9 c0 fd ff ff e8 0b 2f RSP: 002b:00007fffcb2570f0 EFLAGS: 00010202 RAX: 000000110c2fc000 RBX: 00007f16da275720 RCX: 0000000000000001 RDX: 0000000000001e09 RSI: 00000000000031f8 RDI: 0000000000000002 RBP: ffffffff848c7e09 R08: 00007f16d9746038 R09: 00007f16d9732000 R10: 00007f16d8bff008 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffffffff848c7e09 R15: 0000000000000068 ---------------- Code disassembly (best guess): 0: 3c 3b cmp $0x3b,%al 2: 00 74 08 4c add %dh,0x4c(%rax,%rcx,1) 6: 89 f7 mov %esi,%edi 8: e8 a5 80 8f 00 call 0x8f80b2 d: f6 84 24 91 00 00 00 testb $0x2,0x91(%rsp) 14: 02 15: 75 77 jne 0x8e 17: 41 f7 c5 00 02 00 00 test $0x200,%r13d 1e: 74 01 je 0x21 20: fb sti 21: 48 c7 44 24 60 0e 36 movq $0x45e0360e,0x60(%rsp) 28: e0 45 * 2a: 4b c7 04 27 00 00 00 movq $0x0,(%r15,%r12,1) <-- trapping instruction 31: 00 32: 4b c7 44 27 08 00 00 movq $0x0,0x8(%r15,%r12,1) 39: 00 00 3b: 65 gs 3c: 48 rex.W 3d: 8b .byte 0x8b 3e: 04 25 add $0x25,%al