rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 GPs behind) idle=d19/1/0x4000000000000000 softirq=31348/31350 fqs=3 (detected by 0, t=10502 jiffies, g=41117, q=173) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 18069 Comm: syz-executor.3 Not tainted 5.17.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:rcu_read_lock_sched_held+0x16/0x70 kernel/rcu/update.c:126 Code: e4 44 89 e0 41 5c c3 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 41 54 41 bc 01 00 00 00 e8 a3 3e ea 07 85 c0 75 06 44 89 e0 41 5c e8 a4 8b 00 00 84 c0 74 41 e8 4b a5 00 00 84 c0 74 38 be ff ff RSP: 0018:ffffc90000dc0c18 EFLAGS: 00000006 RAX: 0000000000000001 RBX: 1ffff920001b8186 RCX: 0000000000000001 RDX: 0000000000000000 RSI: 0000000000010005 RDI: 0000000000000000 RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff8d9410d7 R10: fffffbfff1b2821a R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffffffff907b31f8 R15: 0000000000000000 FS: 00007ff0dfe87700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ff0e1625028 CR3: 0000000074190000 CR4: 0000000000350ee0 Call Trace: trace_lock_acquire include/trace/events/lock.h:13 [inline] lock_acquire+0x442/0x510 kernel/locking/lockdep.c:5610 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 debug_object_activate+0x12e/0x3e0 lib/debugobjects.c:661 debug_hrtimer_activate kernel/time/hrtimer.c:420 [inline] debug_activate kernel/time/hrtimer.c:475 [inline] enqueue_hrtimer+0x27/0x3e0 kernel/time/hrtimer.c:1084 __run_hrtimer kernel/time/hrtimer.c:1702 [inline] __hrtimer_run_queues+0xb02/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:__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 7a ef 0c f8 48 89 ef e8 d2 6d 0d f8 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 e3 f3 ff f7 65 8b 05 bc ae b1 76 85 c0 74 0a 5b 5d c3 e8 30 6a RSP: 0018:ffffc90003ec7b98 EFLAGS: 00000206 RAX: 0000000000000002 RBX: 0000000000000200 RCX: 1ffffffff1b27ca9 RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000001 RBP: ffff88801d456080 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff817f2b78 R11: 0000000000000000 R12: 0000000000000287 R13: ffff88801d455714 R14: ffff88801d456080 R15: ffff8880b9d39c40 try_to_wake_up+0x560/0x1510 kernel/sched/core.c:4135 wake_up_process kernel/sched/core.c:4217 [inline] wake_up_q+0x7e/0xf0 kernel/sched/core.c:964 futex_wake+0x3e9/0x490 kernel/futex/waitwake.c:184 do_futex+0x266/0x300 kernel/futex/syscalls.c:111 __do_sys_futex kernel/futex/syscalls.c:183 [inline] __se_sys_futex kernel/futex/syscalls.c:164 [inline] __x64_sys_futex+0x1b0/0x4a0 kernel/futex/syscalls.c:164 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:0x7ff0e1512059 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ff0dfe87218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: ffffffffffffffda RBX: 00007ff0e1624f68 RCX: 00007ff0e1512059 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007ff0e1624f6c RBP: 00007ff0e1624f60 R08: 00007fff2b1d9080 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ff0e1624f6c R13: 00007fff2b1d5c0f R14: 00007ff0dfe87300 R15: 0000000000022000 rcu: rcu_preempt kthread starved for 10496 jiffies! g41117 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:28664 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4995 [inline] __schedule+0xa94/0x4910 kernel/sched/core.c:6304 schedule+0xd2/0x260 kernel/sched/core.c:6377 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1963 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2136 kthread+0x2e9/0x3a0 kernel/kthread.c:377 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: 17825 Comm: kworker/u4:18 Not tainted 5.17.0-rc5-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+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:458 print_other_cpu_stall kernel/rcu/tree_stall.h:563 [inline] check_cpu_stall kernel/rcu/tree_stall.h:706 [inline] rcu_pending kernel/rcu/tree.c:3919 [inline] rcu_sched_clock_irq+0x2068/0x2110 kernel/rcu/tree.c:2617 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:csd_lock_wait kernel/smp.c:440 [inline] RIP: 0010:smp_call_function_many_cond+0x50d/0xc90 kernel/smp.c:969 Code: 00 f3 90 41 0f b6 04 24 40 38 c5 7c 08 84 c0 0f 85 e9 05 00 00 8b 43 08 31 ff 83 e0 01 41 89 c7 89 c6 e8 d6 8c 0b 00 45 85 ff <75> d0 e8 4c 89 0b 00 e9 e1 fe ff ff 48 83 c4 70 5b 5d 41 5c 41 5d RSP: 0018:ffffc9000493f9f0 EFLAGS: 00000202 RAX: 0000000000000000 RBX: ffff8880b9d3fec0 RCX: 0000000000000001 RDX: 0000000000000000 RSI: ffff88802c588000 RDI: 0000000000000003 RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff816d623a R11: 0000000000000000 R12: ffffed10173a7fd9 R13: 0000000000000001 R14: ffff8880b9d3fec8 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+0x21d/0x6f0 arch/x86/kernel/alternative.c:1300 text_poke_flush arch/x86/kernel/alternative.c:1470 [inline] text_poke_flush arch/x86/kernel/alternative.c:1467 [inline] text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1477 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:735 [inline] toggle_allocation_gate+0x100/0x390 mm/kfence/core.c:727 process_one_work+0x9ac/0x1650 kernel/workqueue.c:2307 worker_thread+0x657/0x1110 kernel/workqueue.c:2454 kthread+0x2e9/0x3a0 kernel/kthread.c:377 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 ---------------- Code disassembly (best guess): 0: e4 44 in $0x44,%al 2: 89 e0 mov %esp,%eax 4: 41 5c pop %r12 6: c3 retq 7: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) e: 00 00 00 00 12: 66 90 xchg %ax,%ax 14: 41 54 push %r12 16: 41 bc 01 00 00 00 mov $0x1,%r12d 1c: e8 a3 3e ea 07 callq 0x7ea3ec4 21: 85 c0 test %eax,%eax 23: 75 06 jne 0x2b 25: 44 89 e0 mov %r12d,%eax 28: 41 5c pop %r12 * 2a: c3 retq <-- trapping instruction 2b: e8 a4 8b 00 00 callq 0x8bd4 30: 84 c0 test %al,%al 32: 74 41 je 0x75 34: e8 4b a5 00 00 callq 0xa584 39: 84 c0 test %al,%al 3b: 74 38 je 0x75 3d: be .byte 0xbe 3e: ff (bad) 3f: ff .byte 0xff