rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P17218/1:b..l (detected by 1, t=10502 jiffies, g=44613, q=29) task:syz-executor.1 state:R running task stack:28152 pid:17218 ppid: 7870 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4972 [inline] __schedule+0xa9a/0x4940 kernel/sched/core.c:6253 preempt_schedule_irq+0x4e/0x90 kernel/sched/core.c:6668 irqentry_exit+0x31/0x80 kernel/entry/common.c:425 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:native_irq_disable arch/x86/include/asm/irqflags.h:40 [inline] RIP: 0010:arch_local_irq_disable arch/x86/include/asm/irqflags.h:75 [inline] RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:107 [inline] RIP: 0010:lock_is_held_type+0x54/0x140 kernel/locking/lockdep.c:5676 Code: c0 0f 85 ca 00 00 00 65 4c 8b 24 25 40 70 02 00 41 8b 94 24 5c 0a 00 00 85 d2 0f 85 b1 00 00 00 48 89 fd 41 89 f6 9c 8f 04 24 48 c7 c7 20 10 ac 89 31 db e8 1d 0e 00 00 41 8b 84 24 58 0a 00 RSP: 0018:ffffc900029cf848 EFLAGS: 00000246 RAX: 0000000000000000 RBX: ffffc900029cf980 RCX: 0000000000000001 RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff8881408a37e0 RBP: ffff8881408a37e0 R08: 0000000000001000 R09: 0000000000000000 R10: ffffffff840f18e1 R11: 000000000000003f R12: ffff88807902ba00 R13: 00000000ffffffff R14: 00000000ffffffff R15: 0000000000000000 lock_is_held include/linux/lockdep.h:283 [inline] xa_entry include/linux/xarray.h:1182 [inline] xas_descend+0xea/0x3b0 lib/xarray.c:204 xas_load+0xe5/0x140 lib/xarray.c:240 mapping_get_entry mm/filemap.c:1843 [inline] __filemap_get_folio+0x160/0xd60 mm/filemap.c:1905 pagecache_get_page+0x2c/0x1a0 mm/folio-compat.c:125 find_get_page_flags include/linux/pagemap.h:429 [inline] __find_get_block_slow fs/buffer.c:202 [inline] __find_get_block fs/buffer.c:1308 [inline] __find_get_block+0x4ba/0xdb0 fs/buffer.c:1302 sb_find_get_block include/linux/buffer_head.h:340 [inline] recently_deleted fs/ext4/ialloc.c:689 [inline] find_inode_bit+0x230/0x580 fs/ext4/ialloc.c:731 __ext4_new_inode+0xc64/0x5ba0 fs/ext4/ialloc.c:1066 ext4_symlink+0x485/0xd40 fs/ext4/namei.c:3293 vfs_symlink fs/namei.c:4248 [inline] vfs_symlink+0x45d/0x6c0 fs/namei.c:4233 do_symlinkat+0x261/0x2e0 fs/namei.c:4277 __do_sys_symlink fs/namei.c:4299 [inline] __se_sys_symlink fs/namei.c:4297 [inline] __x64_sys_symlink+0x75/0x90 fs/namei.c:4297 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7efd1f1483f7 RSP: 002b:00007ffe670f0008 EFLAGS: 00000206 ORIG_RAX: 0000000000000058 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007efd1f1483f7 RDX: ffffffffffffffbc RSI: 00007efd1f1a300e RDI: 00007efd1f1a21dd RBP: 0000000000000000 R08: 0000000000000000 R09: 00007ffe670efa80 R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000001 R13: 0000000000000001 R14: 0000000000000001 R15: 00007ffe670f00d0 rcu: rcu_preempt kthread starved for 10490 jiffies! g44613 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1 rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior. rcu: RCU grace-period kthread stack dump: task:rcu_preempt state:R running task stack:28688 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4972 [inline] __schedule+0xa9a/0x4940 kernel/sched/core.c:6253 schedule+0xd2/0x260 kernel/sched/core.c:6326 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1955 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2128 kthread+0x405/0x4f0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 rcu: Stack dump where RCU GP kthread last ran: NMI backtrace for cpu 1 CPU: 1 PID: 10 Comm: kworker/u4:1 Not tainted 5.16.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events_unbound toggle_allocation_gate Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 nmi_cpu_backtrace.cold+0x47/0x144 lib/nmi_backtrace.c:111 nmi_trigger_cpumask_backtrace+0x1b3/0x230 lib/nmi_backtrace.c:62 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline] rcu_check_gp_kthread_starvation.cold+0x1fb/0x200 kernel/rcu/tree_stall.h:481 print_other_cpu_stall kernel/rcu/tree_stall.h:586 [inline] check_cpu_stall kernel/rcu/tree_stall.h:729 [inline] rcu_pending kernel/rcu/tree.c:3878 [inline] rcu_sched_clock_irq+0x2125/0x2200 kernel/rcu/tree.c:2597 update_process_times+0x16d/0x200 kernel/time/timer.c:1785 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:226 tick_sched_timer+0x1b0/0x2d0 kernel/time/tick-sched.c:1421 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x1c0/0xe50 kernel/time/hrtimer.c:1749 hrtimer_interrupt+0x31c/0x790 kernel/time/hrtimer.c:1811 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline] __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1103 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:csd_lock_wait kernel/smp.c:440 [inline] RIP: 0010:smp_call_function_many_cond+0x452/0xc20 kernel/smp.c:969 Code: 0b 00 85 ed 74 4d 48 b8 00 00 00 00 00 fc ff df 4d 89 f4 4c 89 f5 49 c1 ec 03 83 e5 07 49 01 c4 83 c5 03 e8 80 75 0b 00 f3 90 <41> 0f b6 04 24 40 38 c5 7c 08 84 c0 0f 85 33 06 00 00 8b 43 08 31 RSP: 0018:ffffc90000cf79f8 EFLAGS: 00000293 RAX: 0000000000000000 RBX: ffff8880b9c41d40 RCX: 0000000000000000 RDX: ffff8880118c9d00 RSI: ffffffff816c2290 RDI: 0000000000000003 RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff816c22b6 R11: 0000000000000000 R12: ffffed10173883a9 R13: 0000000000000000 R14: ffff8880b9c41d48 R15: 0000000000000001 on_each_cpu_cond_mask+0x56/0xa0 kernel/smp.c:1135 on_each_cpu include/linux/smp.h:71 [inline] text_poke_sync arch/x86/kernel/alternative.c:1112 [inline] text_poke_bp_batch+0x1b3/0x560 arch/x86/kernel/alternative.c:1297 text_poke_flush arch/x86/kernel/alternative.c:1451 [inline] text_poke_flush arch/x86/kernel/alternative.c:1448 [inline] text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1458 arch_jump_label_transform_apply+0x13/0x20 arch/x86/kernel/jump_label.c:146 jump_label_update+0x1d5/0x430 kernel/jump_label.c:830 static_key_enable_cpuslocked+0x1b1/0x260 kernel/jump_label.c:177 static_key_enable+0x16/0x20 kernel/jump_label.c:190 toggle_allocation_gate mm/kfence/core.c:732 [inline] toggle_allocation_gate+0x100/0x390 mm/kfence/core.c:724 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2298 worker_thread+0x658/0x11f0 kernel/workqueue.c:2445 kthread+0x405/0x4f0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 ---------------- Code disassembly (best guess): 0: c0 0f 85 rorb $0x85,(%rdi) 3: ca 00 00 lret $0x0 6: 00 65 4c add %ah,0x4c(%rbp) 9: 8b 24 25 40 70 02 00 mov 0x27040,%esp 10: 41 8b 94 24 5c 0a 00 mov 0xa5c(%r12),%edx 17: 00 18: 85 d2 test %edx,%edx 1a: 0f 85 b1 00 00 00 jne 0xd1 20: 48 89 fd mov %rdi,%rbp 23: 41 89 f6 mov %esi,%r14d 26: 9c pushfq 27: 8f 04 24 popq (%rsp) * 2a: fa cli <-- trapping instruction 2b: 48 c7 c7 20 10 ac 89 mov $0xffffffff89ac1020,%rdi 32: 31 db xor %ebx,%ebx 34: e8 1d 0e 00 00 callq 0xe56 39: 41 rex.B 3a: 8b .byte 0x8b 3b: 84 24 58 test %ah,(%rax,%rbx,2) 3e: 0a 00 or (%rax),%al