rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (0 ticks this GP) idle=6f7/1/0x4000000000000000 softirq=56796/56796 fqs=3 (detected by 0, t=10502 jiffies, g=90377, q=45) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 29105 Comm: syz-executor.2 Not tainted 5.15.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:kasan_check_range+0x222/0x2f0 mm/kasan/generic.c:189 Code: 03 4d 89 cf 49 8d 5e 07 4d 85 f6 49 0f 49 de 48 83 e3 f8 49 29 de 74 11 45 0f b6 1f 45 84 db 75 64 49 ff c7 49 ff ce 75 ef 5b <41> 5c 41 5d 41 5e 41 5f c3 45 84 db 75 50 45 8a 59 01 45 84 db 0f RSP: 0018:ffffc90000dc0c58 EFLAGS: 00000056 RAX: 0000000140000001 RBX: ffff8880224bd8a0 RCX: ffffffff88412a59 RDX: 0000000000000001 RSI: 0000000000000004 RDI: ffff8880224bd8a0 RBP: 0000000140000002 R08: dffffc0000000000 R09: ffffed1004497b15 R10: ffffed1004497b15 R11: 0000000000000000 R12: 1ffff11004497b14 R13: dffffc0000000001 R14: 0000000000000001 R15: ffff8880772f8000 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f682dc1c7cc CR3: 0000000081e2b000 CR4: 00000000003526e0 Call Trace: instrument_atomic_write include/linux/instrumented.h:86 [inline] atomic_set include/linux/atomic/atomic-instrumented.h:41 [inline] taprio_set_budget net/sched/sch_taprio.c:548 [inline] advance_sched+0x639/0x930 net/sched/sch_taprio.c:755 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x50b/0xa60 kernel/time/hrtimer.c:1749 hrtimer_interrupt+0x3b3/0x1040 kernel/time/hrtimer.c:1811 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline] __sysvec_apic_timer_interrupt+0xf9/0x270 arch/x86/kernel/apic/apic.c:1103 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:29 [inline] RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:70 [inline] RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:106 [inline] RIP: 0010:lock_is_held_type+0x63/0x190 kernel/locking/lockdep.c:5664 Code: fb 00 00 00 65 4c 8b 2c 25 c0 ef 01 00 41 83 bd f4 09 00 00 00 0f 85 e4 00 00 00 41 89 f6 49 89 ff 48 c7 04 24 00 00 00 00 9c <8f> 04 24 4c 8b 24 24 fa 48 c7 c7 a0 fa 4e 8a e8 99 11 00 00 65 ff RSP: 0018:ffffc90002e1ef70 EFLAGS: 00000246 RAX: 0000000000000000 RBX: 00000000ffffffff RCX: 0000000080000002 RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffffffff8c91c120 RBP: ffffc90002e1f048 R08: dffffc0000000000 R09: ffffed10173a64a2 R10: ffffed10173a64a2 R11: 0000000000000000 R12: 0000000000000002 R13: ffff888025258000 R14: 00000000ffffffff R15: ffffffff8c91c120 lock_is_held include/linux/lockdep.h:283 [inline] rcu_read_lock_sched_held+0x89/0x130 kernel/rcu/update.c:125 trace_lock_acquire+0x59/0x190 include/trace/events/lock.h:13 lock_acquire+0xa5/0x4d0 kernel/locking/lockdep.c:5596 rcu_lock_acquire+0x20/0x30 include/linux/rcupdate.h:267 rcu_read_lock include/linux/rcupdate.h:687 [inline] lock_page_memcg+0xbc/0x4a0 mm/memcontrol.c:1979 page_remove_rmap+0x2b/0x1080 mm/rmap.c:1348 zap_pte_range+0x8c7/0x1b90 mm/memory.c:1362 zap_pmd_range mm/memory.c:1481 [inline] zap_pud_range mm/memory.c:1510 [inline] zap_p4d_range mm/memory.c:1531 [inline] unmap_page_range+0x745/0xa20 mm/memory.c:1552 unmap_vmas+0x202/0x390 mm/memory.c:1629 exit_mmap+0x3c6/0x6f0 mm/mmap.c:3171 __mmput+0x111/0x3a0 kernel/fork.c:1115 exit_mm+0x63e/0x7a0 kernel/exit.c:501 do_exit+0x67f/0x2580 kernel/exit.c:812 do_group_exit+0x168/0x2d0 kernel/exit.c:922 get_signal+0x16e0/0x20c0 kernel/signal.c:2868 arch_do_signal_or_restart+0x9c/0x730 arch/x86/kernel/signal.c:865 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+0x191/0x220 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x2e/0x70 kernel/entry/common.c:300 do_syscall_64+0x53/0xd0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f9d9f3808d9 Code: Unable to access opcode bytes at RIP 0x7f9d9f3808af. RSP: 002b:00007f9d9c8f7218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000001 RBX: 00007f9d9f484f68 RCX: 00007f9d9f3808d9 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f9d9f484f6c RBP: 00007f9d9f484f60 R08: 000000000000000e R09: 0000000000000000 R10: 0000000000000003 R11: 0000000000000246 R12: 00007f9d9f484f6c R13: 00007ffd2942ebff R14: 00007f9d9c8f7300 R15: 0000000000022000 rcu: rcu_preempt kthread starved for 10496 jiffies! g90377 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:26768 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4940 [inline] __schedule+0xc8d/0x1270 kernel/sched/core.c:6287 schedule+0x14b/0x210 kernel/sched/core.c:6366 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1881 rcu_gp_fqs_loop+0x1fd/0x770 kernel/rcu/tree.c:1957 rcu_gp_kthread+0xa5/0x350 kernel/rcu/tree.c:2130 kthread+0x453/0x480 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 rcu: Stack dump where RCU GP kthread last ran: NMI backtrace for cpu 0 CPU: 0 PID: 8806 Comm: kworker/u4:7 Not tainted 5.15.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+0x1dc/0x2d8 lib/dump_stack.c:106 nmi_cpu_backtrace+0x45f/0x490 lib/nmi_backtrace.c:105 nmi_trigger_cpumask_backtrace+0x16a/0x280 lib/nmi_backtrace.c:62 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline] rcu_check_gp_kthread_starvation+0x1ff/0x270 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:3880 [inline] rcu_sched_clock_irq+0x23d5/0x2bc0 kernel/rcu/tree.c:2599 update_process_times+0x197/0x200 kernel/time/timer.c:1785 tick_sched_handle kernel/time/tick-sched.c:226 [inline] tick_sched_timer+0x27d/0x420 kernel/time/tick-sched.c:1421 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x4cb/0xa60 kernel/time/hrtimer.c:1749 hrtimer_interrupt+0x3b3/0x1040 kernel/time/hrtimer.c:1811 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline] __sysvec_apic_timer_interrupt+0xf9/0x270 arch/x86/kernel/apic/apic.c:1103 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0010:csd_lock_wait kernel/smp.c:440 [inline] RIP: 0010:smp_call_function_many_cond+0xbb2/0xda0 kernel/smp.c:969 Code: 83 e6 01 31 ff e8 ae 9f 0b 00 41 83 e7 01 49 bf 00 00 00 00 00 fc ff df 75 0e e8 89 9b 0b 00 eb 4c 0f 1f 80 00 00 00 00 f3 90 <42> 0f b6 04 3b 84 c0 75 11 41 f7 45 00 01 00 00 00 74 2b e8 66 9b RSP: 0018:ffffc90017777820 EFLAGS: 00000293 RAX: ffffffff8176d73a RBX: 1ffff110173a6e4d RCX: ffff88801d505580 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90017777960 R08: ffffffff8176d702 R09: ffffffff843540e0 R10: 0000000000000009 R11: ffff88801d505580 R12: 0000000000000001 R13: ffff8880b9d37268 R14: ffff8880b9c325c0 R15: dffffc0000000000 on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1135 on_each_cpu include/linux/smp.h:71 [inline] text_poke_sync arch/x86/kernel/alternative.c:929 [inline] text_poke_bp_batch+0x310/0x940 arch/x86/kernel/alternative.c:1114 text_poke_flush arch/x86/kernel/alternative.c:1268 [inline] text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1275 arch_jump_label_transform_apply+0x13/0x20 arch/x86/kernel/jump_label.c:146 static_key_enable_cpuslocked+0x12d/0x250 kernel/jump_label.c:177 static_key_enable+0x16/0x20 kernel/jump_label.c:190 toggle_allocation_gate+0xbf/0x460 mm/kfence/core.c:626 process_one_work+0x853/0x1140 kernel/workqueue.c:2297 worker_thread+0xac1/0x1320 kernel/workqueue.c:2444 kthread+0x453/0x480 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 ---------------- Code disassembly (best guess): 0: 03 4d 89 add -0x77(%rbp),%ecx 3: cf iret 4: 49 8d 5e 07 lea 0x7(%r14),%rbx 8: 4d 85 f6 test %r14,%r14 b: 49 0f 49 de cmovns %r14,%rbx f: 48 83 e3 f8 and $0xfffffffffffffff8,%rbx 13: 49 29 de sub %rbx,%r14 16: 74 11 je 0x29 18: 45 0f b6 1f movzbl (%r15),%r11d 1c: 45 84 db test %r11b,%r11b 1f: 75 64 jne 0x85 21: 49 ff c7 inc %r15 24: 49 ff ce dec %r14 27: 75 ef jne 0x18 29: 5b pop %rbx * 2a: 41 5c pop %r12 <-- trapping instruction 2c: 41 5d pop %r13 2e: 41 5e pop %r14 30: 41 5f pop %r15 32: c3 retq 33: 45 84 db test %r11b,%r11b 36: 75 50 jne 0x88 38: 45 8a 59 01 mov 0x1(%r9),%r11b 3c: 45 84 db test %r11b,%r11b 3f: 0f .byte 0xf