rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 ticks this GP) idle=a3d/1/0x4000000000000000 softirq=29570/29570 fqs=401 (detected by 0, t=10502 jiffies, g=46069, q=1160) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 8995 Comm: syz-executor.4 Not tainted 5.16.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:arch_irqs_disabled_flags arch/x86/include/asm/irqflags.h:127 [inline] RIP: 0010:lock_acquire kernel/locking/lockdep.c:5638 [inline] RIP: 0010:lock_acquire+0x180/0x510 kernel/locking/lockdep.c:5602 Code: 85 d2 0f 85 cc 00 00 00 9c 8f 44 24 08 fa 48 c7 c7 a0 0f ac 89 e8 40 b6 e8 07 41 89 e8 44 89 e1 44 89 ea 65 ff 05 70 b3 a5 7e <48> 81 64 24 08 00 02 00 00 44 89 fe 6a 00 4c 89 f7 6a 00 ff b4 24 RSP: 0018:ffffc90000dc0cd0 EFLAGS: 00000002 RAX: 0000000000000001 RBX: 1ffff920001b819c RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000010002 RDI: 0000000000000000 RBP: 0000000000000001 R08: 0000000000000001 R09: ffffffff8d916f97 R10: fffffbfff1b22df2 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8880538f5b00 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f0e34268718 CR3: 000000000b88e000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:349 [inline] advance_sched+0x53/0x9a0 net/sched/sch_taprio.c:714 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x609/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:unwind_next_frame+0x8b9/0x1ce0 arch/x86/kernel/unwind_orc.c:521 Code: 85 b3 0e 00 00 83 e0 07 40 38 c6 40 0f 9e c7 40 84 f6 0f 95 c0 40 84 c7 0f 85 9a 0e 00 00 49 0f bf 00 48 01 d0 48 89 44 24 60 aa fd ff ff 49 8d 7e 40 48 b8 00 00 00 00 00 fc ff df 48 89 fa RSP: 0018:ffffc90002e5f128 EFLAGS: 00000282 RAX: ffffc90002e5fab0 RBX: 1ffff920005cbe2d RCX: ffffffff8e19e27b RDX: ffffc90002e5fa70 RSI: 0000000000000000 RDI: 0000000000000001 RBP: 0000000000000001 R08: ffffffff8e19e276 R09: 0000000000000001 R10: fffff520005cbe4b R11: 000000000008808a R12: ffffc90002e5f248 R13: ffffc90002e5f235 R14: ffffc90002e5f200 R15: ffffffff8e19e27a arch_stack_walk+0x7d/0xe0 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:122 save_stack+0x151/0x1e0 mm/page_owner.c:119 __reset_page_owner+0x5d/0x180 mm/page_owner.c:140 reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1338 [inline] free_pcp_prepare+0x374/0x870 mm/page_alloc.c:1389 free_unref_page_prepare mm/page_alloc.c:3309 [inline] free_unref_page_list+0x1a9/0xfa0 mm/page_alloc.c:3425 release_pages+0x3f4/0x1480 mm/swap.c:980 __pagevec_release+0x77/0x100 mm/swap.c:1000 pagevec_release include/linux/pagevec.h:81 [inline] shmem_undo_range+0x749/0x16d0 mm/shmem.c:957 shmem_truncate_range mm/shmem.c:1056 [inline] shmem_evict_inode+0x3a4/0xbd0 mm/shmem.c:1138 evict+0x2ed/0x6b0 fs/inode.c:590 iput_final fs/inode.c:1670 [inline] iput.part.0+0x539/0x850 fs/inode.c:1696 iput+0x58/0x70 fs/inode.c:1686 dentry_unlink_inode+0x2b1/0x460 fs/dcache.c:376 __dentry_kill+0x3c0/0x640 fs/dcache.c:582 dentry_kill fs/dcache.c:708 [inline] dput+0x738/0xbc0 fs/dcache.c:888 __fput+0x3ab/0x9f0 fs/file_table.c:293 task_work_run+0xdd/0x1a0 kernel/task_work.c:164 exit_task_work include/linux/task_work.h:32 [inline] do_exit+0xc14/0x2b40 kernel/exit.c:832 do_group_exit+0x125/0x310 kernel/exit.c:929 get_signal+0x47d/0x2220 kernel/signal.c:2852 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:868 handle_signal_work kernel/entry/common.c:148 [inline] exit_to_user_mode_loop kernel/entry/common.c:172 [inline] exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:300 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fb32d97878b Code: Unable to access opcode bytes at RIP 0x7fb32d978761. RSP: 002b:00007fff8afff320 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000001 RCX: 00007fb32d97878b RDX: 0000001b2d320000 RSI: ffffffff81ab2c0d RDI: 0000000000000003 RBP: 0000000000000004 R08: 0000000000000000 R09: 00007fff8b1ee080 R10: 0000000000001c9a R11: 0000000000000293 R12: 00007fb32dada860 R13: 00007fb32dada860 R14: 0000000000000000 R15: 0000000000053b62 rcu: rcu_preempt kthread starved for 9695 jiffies! g46069 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0 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 0 CPU: 0 PID: 90 Comm: kworker/u4:3 Not tainted 5.16.0-rc4-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:1428 __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:preempt_count arch/x86/include/asm/preempt.h:27 [inline] RIP: 0010:check_kcov_mode+0x0/0x40 kernel/kcov.c:166 Code: 48 89 df e8 a2 c8 46 00 e9 59 fe ff ff 48 8b 7c 24 08 e8 93 c8 46 00 e9 61 fd ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc <65> 8b 05 b9 c9 8a 7e 89 c2 81 e2 00 01 00 00 a9 00 01 ff 00 74 10 RSP: 0018:ffffc90001a8f9e8 EFLAGS: 00000202 RAX: 0000000000000001 RBX: ffff8880b9d3fca0 RCX: 0000000000000001 RDX: ffff888017a69d00 RSI: ffff888017a69d00 RDI: 0000000000000003 RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff816c3596 R11: 0000000000000000 R12: ffffed10173a7f95 R13: 0000000000000001 R14: ffff8880b9d3fca8 R15: 0000000000000001 write_comp_data kernel/kcov.c:221 [inline] __sanitizer_cov_trace_const_cmp4+0x1c/0x70 kernel/kcov.c:287 csd_lock_wait kernel/smp.c:440 [inline] smp_call_function_many_cond+0x476/0xc20 kernel/smp.c:969 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: 85 d2 test %edx,%edx 2: 0f 85 cc 00 00 00 jne 0xd4 8: 9c pushfq 9: 8f 44 24 08 popq 0x8(%rsp) d: fa cli e: 48 c7 c7 a0 0f ac 89 mov $0xffffffff89ac0fa0,%rdi 15: e8 40 b6 e8 07 callq 0x7e8b65a 1a: 41 89 e8 mov %ebp,%r8d 1d: 44 89 e1 mov %r12d,%ecx 20: 44 89 ea mov %r13d,%edx 23: 65 ff 05 70 b3 a5 7e incl %gs:0x7ea5b370(%rip) # 0x7ea5b39a * 2a: 48 81 64 24 08 00 02 andq $0x200,0x8(%rsp) <-- trapping instruction 31: 00 00 33: 44 89 fe mov %r15d,%esi 36: 6a 00 pushq $0x0 38: 4c 89 f7 mov %r14,%rdi 3b: 6a 00 pushq $0x0 3d: ff .byte 0xff 3e: b4 24 mov $0x24,%ah