============================= [ BUG: Invalid wait context ] 6.12.0-syzkaller-09099-ge2cf913314b9 #0 Not tainted ----------------------------- syz.0.15/6022 is trying to lock: ffff88813fffc298 (&zone->lock){-.-.}-{3:3}, at: rmqueue_bulk mm/page_alloc.c:2307 [inline] ffff88813fffc298 (&zone->lock){-.-.}-{3:3}, at: __rmqueue_pcplist+0x4a2/0x2a80 mm/page_alloc.c:3001 other info that might help us debug this: context-{5:5} 3 locks held by syz.0.15/6022: #0: ffff8880b863e798 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2a/0x140 kernel/sched/core.c:598 #1: ffffffff8e93c520 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #1: ffffffff8e93c520 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #1: ffffffff8e93c520 (rcu_read_lock){....}-{1:3}, at: do_perf_sw_event kernel/events/core.c:10142 [inline] #1: ffffffff8e93c520 (rcu_read_lock){....}-{1:3}, at: ___perf_sw_event+0x1bd/0x730 kernel/events/core.c:10176 #2: ffff8880b8644818 (&pcp->lock){+.+.}-{3:3}, at: spin_trylock include/linux/spinlock.h:361 [inline] #2: ffff8880b8644818 (&pcp->lock){+.+.}-{3:3}, at: rmqueue_pcplist mm/page_alloc.c:3030 [inline] #2: ffff8880b8644818 (&pcp->lock){+.+.}-{3:3}, at: rmqueue mm/page_alloc.c:3074 [inline] #2: ffff8880b8644818 (&pcp->lock){+.+.}-{3:3}, at: get_page_from_freelist+0x7d3/0x3790 mm/page_alloc.c:3471 stack backtrace: CPU: 0 UID: 0 PID: 6022 Comm: syz.0.15 Not tainted 6.12.0-syzkaller-09099-ge2cf913314b9 #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 rmqueue_bulk mm/page_alloc.c:2307 [inline] __rmqueue_pcplist+0x4a2/0x2a80 mm/page_alloc.c:3001 rmqueue_pcplist mm/page_alloc.c:3043 [inline] rmqueue mm/page_alloc.c:3074 [inline] get_page_from_freelist+0x886/0x3790 mm/page_alloc.c:3471 __alloc_pages_noprof+0x292/0x710 mm/page_alloc.c:4751 alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2265 stack_depot_save_flags+0x666/0x830 lib/stackdepot.c:627 kasan_save_stack+0x4f/0x60 mm/kasan/common.c:48 __kasan_record_aux_stack+0xac/0xc0 mm/kasan/generic.c:541 task_work_add+0xd9/0x490 kernel/task_work.c:77 __perf_event_overflow+0x78d/0xdc0 kernel/events/core.c:9908 perf_swevent_event+0x317/0x680 do_perf_sw_event kernel/events/core.c:10149 [inline] ___perf_sw_event+0x4f3/0x730 kernel/events/core.c:10176 __perf_sw_event_sched include/linux/perf_event.h:1497 [inline] perf_event_task_sched_out include/linux/perf_event.h:1530 [inline] prepare_task_switch kernel/sched/core.c:5173 [inline] context_switch kernel/sched/core.c:5316 [inline] __schedule+0x23df/0x4c30 kernel/sched/core.c:6756 preempt_schedule_irq+0xfb/0x1c0 kernel/sched/core.c:7078 irqentry_exit+0x5e/0x90 kernel/entry/common.c:354 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:syscall_enter_from_user_mode_work include/linux/entry-common.h:168 [inline] RIP: 0010:syscall_enter_from_user_mode include/linux/entry-common.h:199 [inline] RIP: 0010:do_syscall_64+0xbc/0x230 arch/x86/entry/common.c:79 Code: ed 00 00 00 48 8b 7d 08 e8 c1 64 00 00 0f 1f 44 00 00 0f 1f 44 00 00 90 e8 31 c8 cb f5 90 90 e8 da c7 cb f5 fb 49 8b 54 24 08 c2 3f 74 0e 4c 89 f7 4c 89 fe e8 94 bb ad f5 49 89 c7 90 90 41 RSP: 0018:ffffc90003687f10 EFLAGS: 00000282 RAX: a5f2a539ab954300 RBX: ffffc90003687f10 RCX: ffffffff9a426903 RDX: 0000000000000000 RSI: ffffffff8c0ad8a0 RDI: ffffffff8c6154e0 RBP: ffffc90003687f48 R08: ffffffff901e40b7 R09: 1ffffffff203c816 R10: dffffc0000000000 R11: fffffbfff203c817 R12: ffff88807d4ebc00 R13: 0000000000000000 R14: ffffc90003687f58 R15: 0000000000000101 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f657cf7ff19 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:00007f657dd53058 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 RAX: ffffffffffffffda RBX: 00007f657d145fa0 RCX: 00007f657cf7ff19 RDX: 00000000000026e1 RSI: 0000000020000080 RDI: ffffffffffffff9c RBP: 00007f657cff3986 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f657d145fa0 R15: 00007ffe5b79e158 ---------------- Code disassembly (best guess): 0: ed in (%dx),%eax 1: 00 00 add %al,(%rax) 3: 00 48 8b add %cl,-0x75(%rax) 6: 7d 08 jge 0x10 8: e8 c1 64 00 00 call 0x64ce d: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 12: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 17: 90 nop 18: e8 31 c8 cb f5 call 0xf5cbc84e 1d: 90 nop 1e: 90 nop 1f: e8 da c7 cb f5 call 0xf5cbc7fe 24: fb sti 25: 49 8b 54 24 08 mov 0x8(%r12),%rdx * 2a: f6 c2 3f test $0x3f,%dl <-- trapping instruction 2d: 74 0e je 0x3d 2f: 4c 89 f7 mov %r14,%rdi 32: 4c 89 fe mov %r15,%rsi 35: e8 94 bb ad f5 call 0xf5adbbce 3a: 49 89 c7 mov %rax,%r15 3d: 90 nop 3e: 90 nop 3f: 41 rex.B