rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 GPs behind) idle=32f/1/0x4000000000000000 softirq=151057/151062 fqs=0 (detected by 0, t=10505 jiffies, g=241221, q=121 ncpus=2) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 20992 Comm: syz-executor.5 Not tainted 5.19.0-rc4-syzkaller-00187-g089866061428 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 RIP: 0010:check_preemption_disabled+0x2/0x170 lib/smp_processor_id.c:13 Code: 1f 44 00 00 e8 ff 59 28 f8 65 48 8b 3c 25 80 6f 02 00 e8 51 75 e2 f7 eb 99 0f 1f 44 00 00 0f 0b e9 23 ff ff ff cc cc cc 41 56 <41> 55 49 89 f5 41 54 55 48 89 fd 53 0f 1f 44 00 00 65 44 8b 25 05 RSP: 0018:ffffc900003f8c40 EFLAGS: 00000006 RAX: 0000000000000001 RBX: 0000000000000001 RCX: ffffffff815d7d71 RDX: 0000000000000001 RSI: ffffffff8a283400 RDI: ffffffff8a283440 RBP: 1ffff9200007f191 R08: 0000000000000000 R09: ffffffff8dbae797 R10: fffffbfff1b75cf2 R11: 0000000000000001 R12: 0000000000000001 R13: ffffffff89cec240 R14: 1ffff9200007f1ad R15: ffff888075d32b40 FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f464b59d090 CR3: 0000000077f81000 CR4: 00000000003526e0 DR0: 00000000ffff070c DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Call Trace: rcu_lockdep_current_cpu_online kernel/rcu/tree.c:1185 [inline] rcu_lockdep_current_cpu_online+0x2d/0x140 kernel/rcu/tree.c:1177 rcu_read_lock_held_common kernel/rcu/update.c:112 [inline] rcu_read_lock_held_common kernel/rcu/update.c:102 [inline] rcu_read_lock_sched_held+0x25/0x70 kernel/rcu/update.c:123 trace_lock_release include/trace/events/lock.h:69 [inline] lock_release+0x560/0x780 kernel/locking/lockdep.c:5676 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:149 [inline] _raw_spin_unlock_irqrestore+0x16/0x70 kernel/locking/spinlock.c:194 debug_object_deactivate lib/debugobjects.c:754 [inline] debug_object_deactivate+0x264/0x300 lib/debugobjects.c:720 debug_hrtimer_deactivate kernel/time/hrtimer.c:425 [inline] debug_deactivate kernel/time/hrtimer.c:481 [inline] __run_hrtimer kernel/time/hrtimer.c:1653 [inline] __hrtimer_run_queues+0x3f8/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:1095 [inline] __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1112 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0x38/0x70 kernel/locking/spinlock.c:194 Code: 74 24 10 e8 6a 6c e3 f7 48 89 ef e8 72 ed e3 f7 81 e3 00 02 00 00 75 25 9c 58 f6 c4 02 75 2d 48 85 db 74 01 fb bf 01 00 00 00 13 f6 d6 f7 65 8b 05 ac 5e 88 76 85 c0 74 0a 5b 5d c3 e8 60 d5 RSP: 0018:ffffc90003a178a0 EFLAGS: 00000206 RAX: 0000000000000006 RBX: 0000000000000200 RCX: 1ffffffff20d2916 RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000001 RBP: ffff88802061f050 R08: 0000000000000001 R09: ffffffff9067b947 R10: 0000000000000001 R11: 0000000000000001 R12: ffff88802061f000 R13: 0000000000000001 R14: ffff88802061f000 R15: 0000000000000009 spin_unlock_irqrestore include/linux/spinlock.h:404 [inline] unlock_page_lruvec_irqrestore include/linux/memcontrol.h:1575 [inline] __pagevec_lru_add+0xa34/0x11e0 mm/swap.c:1063 lru_add_drain_cpu+0x61c/0x900 mm/swap.c:601 lru_add_drain+0x108/0x430 mm/swap.c:706 exit_mmap+0x1a0/0x4a0 mm/mmap.c:3157 __mmput+0x122/0x4b0 kernel/fork.c:1187 mmput+0x56/0x60 kernel/fork.c:1208 exit_mm kernel/exit.c:510 [inline] do_exit+0xa12/0x2a00 kernel/exit.c:782 do_group_exit+0xd2/0x2f0 kernel/exit.c:925 get_signal+0x2542/0x2600 kernel/signal.c:2857 arch_do_signal_or_restart+0x82/0x2300 arch/x86/kernel/signal.c:869 exit_to_user_mode_loop kernel/entry/common.c:166 [inline] exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x46/0xb0 RIP: 0033:0x7f464b489109 Code: Unable to access opcode bytes at RIP 0x7f464b4890df. RSP: 002b:00007f464c523218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000001 RBX: 00007f464b59bf68 RCX: 00007f464b489109 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f464b59bf6c RBP: 00007f464b59bf60 R08: 00007fffe6b64080 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f464b59bf6c R13: 00007fffe6b5458f R14: 00007f464c523300 R15: 0000000000022000 rcu: rcu_preempt kthread timer wakeup didn't happen for 10504 jiffies! g241221 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 rcu: Possible timer handling issue on cpu=0 timer-softirq=241355 rcu: rcu_preempt kthread starved for 10505 jiffies! g241221 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->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:I stack:28368 pid: 16 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:5146 [inline] __schedule+0xa00/0x4b50 kernel/sched/core.c:6458 schedule+0xd2/0x1f0 kernel/sched/core.c:6530 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1935 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1999 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2187 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 rcu: Stack dump where RCU GP kthread last ran: NMI backtrace for cpu 0 CPU: 0 PID: 4836 Comm: kworker/u4:15 Not tainted 5.19.0-rc4-syzkaller-00187-g089866061428 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 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+0x1e6/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:518 print_other_cpu_stall kernel/rcu/tree_stall.h:623 [inline] check_cpu_stall kernel/rcu/tree_stall.h:769 [inline] rcu_pending kernel/rcu/tree.c:3977 [inline] rcu_sched_clock_irq+0x2311/0x2370 kernel/rcu/tree.c:2675 update_process_times+0x11a/0x1a0 kernel/time/timer.c:1839 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:243 tick_sched_timer+0xee/0x120 kernel/time/tick-sched.c:1480 __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:1095 [inline] __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1112 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:csd_lock_wait kernel/smp.c:414 [inline] RIP: 0010:smp_call_function_many_cond+0x499/0x1110 kernel/smp.c:988 Code: 01 89 ee e8 69 98 0a 00 85 ed 74 47 48 8b 04 24 49 89 c4 83 e0 07 49 c1 ec 03 48 89 c5 4d 01 fc 83 c5 03 e8 09 9c 0a 00 f3 90 <41> 0f b6 04 24 40 38 c5 7c 08 84 c0 0f 85 21 0a 00 00 8b 43 08 31 RSP: 0018:ffffc900048bf950 EFLAGS: 00000293 RAX: 0000000000000000 RBX: ffff8880b9b3f740 RCX: 0000000000000000 RDX: ffff8880411b20c0 RSI: ffffffff816efb77 RDI: 0000000000000005 RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: ffffed1017367ee9 R13: 0000000000000001 R14: 0000000000000001 R15: dffffc0000000000 on_each_cpu_cond_mask+0x56/0xa0 kernel/smp.c:1154 on_each_cpu include/linux/smp.h:71 [inline] text_poke_sync arch/x86/kernel/alternative.c:1231 [inline] text_poke_bp_batch+0x233/0x6c0 arch/x86/kernel/alternative.c:1419 text_poke_flush arch/x86/kernel/alternative.c:1589 [inline] text_poke_flush arch/x86/kernel/alternative.c:1586 [inline] text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1596 arch_jump_label_transform_apply+0x13/0x20 arch/x86/kernel/jump_label.c:146 jump_label_update+0x32f/0x410 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:811 [inline] toggle_allocation_gate+0x100/0x390 mm/kfence/core.c:803 process_one_work+0x996/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 44 00 00 add %r8b,(%rax) 3: e8 ff 59 28 f8 callq 0xf8285a07 8: 65 48 8b 3c 25 80 6f mov %gs:0x26f80,%rdi f: 02 00 11: e8 51 75 e2 f7 callq 0xf7e27567 16: eb 99 jmp 0xffffffb1 18: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 1d: 0f 0b ud2 1f: e9 23 ff ff ff jmpq 0xffffff47 24: cc int3 25: cc int3 26: cc int3 27: 41 56 push %r14 * 29: 41 55 push %r13 <-- trapping instruction 2b: 49 89 f5 mov %rsi,%r13 2e: 41 54 push %r12 30: 55 push %rbp 31: 48 89 fd mov %rdi,%rbp 34: 53 push %rbx 35: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 3a: 65 gs 3b: 44 rex.R 3c: 8b .byte 0x8b 3d: 25 .byte 0x25 3e: 05 .byte 0x5