rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 ticks this GP) idle=d5b/1/0x4000000000000000 softirq=57808/57808 fqs=2 (detected by 0, t=10502 jiffies, g=90769, q=27) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 27631 Comm: syz-executor.5 Not tainted 5.15.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:check_preemption_disabled+0x67/0x1c0 lib/smp_processor_id.c:55 Code: 31 ff 0f 1f 44 00 00 81 e5 ff ff ff 7f 74 2a 0f 1f 44 00 00 65 48 8b 04 25 28 00 00 00 48 3b 44 24 08 0f 85 52 01 00 00 89 d8 <48> 83 c4 10 5b 41 5c 41 5d 41 5e 41 5f 5d c3 48 c7 04 24 00 00 00 RSP: 0018:ffffc90000dc09b0 EFLAGS: 00000046 RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0000000080010002 RDX: 0000000000000000 RSI: 0000000000010002 RDI: 0000000000000000 RBP: 0000000000010002 R08: dffffc0000000000 R09: fffffbfff1bb8fc6 R10: fffffbfff1bb8fc6 R11: 0000000000000000 R12: 0000000000000046 R13: ffff8880302cba00 R14: ffffffff8a4f0980 R15: ffffffff8ab478e0 FS: 00007fe0ae99b700(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b30521000 CR3: 000000002f94d000 CR4: 00000000003526e0 Call Trace: lockdep_recursion_inc kernel/locking/lockdep.c:433 [inline] lock_is_held_type+0x77/0x190 kernel/locking/lockdep.c:5667 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 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:119 [inline] _raw_spin_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:170 __run_hrtimer kernel/time/hrtimer.c:1689 [inline] __hrtimer_run_queues+0x546/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:kasan_check_range+0x2/0x2f0 mm/kasan/generic.c:188 Code: 48 89 c7 e8 e0 90 2c 08 31 c0 c3 0f 0b b8 ea ff ff ff c3 0f 0b b8 ea ff ff ff c3 cc cc cc cc cc cc cc cc cc cc cc cc cc 41 57 <41> 56 41 55 41 54 53 b0 01 48 85 f6 0f 84 0d 02 00 00 48 89 fb 48 RSP: 0018:ffffc900048b79d0 EFLAGS: 00000246 RAX: 0000000000000002 RBX: 0000000000000038 RCX: ffffffff88026045 RDX: 0000000000000001 RSI: 0000000000000038 RDI: ffffc900048b7b40 RBP: ffffc900048b7b40 R08: ffffffff88026020 R09: ffffc900048b7c60 R10: fffff52000916f9c R11: 0000000000000000 R12: 1ffff92000916f84 R13: 0000000000000000 R14: 0000000000000000 R15: dffffc0000000000 memset+0x1f/0x40 mm/kasan/shadow.c:44 __copy_msghdr_from_user net/socket.c:2288 [inline] copy_msghdr_from_user net/socket.c:2342 [inline] recvmsg_copy_msghdr net/socket.c:2594 [inline] ___sys_recvmsg net/socket.c:2666 [inline] do_recvmmsg+0x555/0x1680 net/socket.c:2764 __sys_recvmmsg net/socket.c:2845 [inline] __do_sys_recvmmsg net/socket.c:2866 [inline] __se_sys_recvmmsg net/socket.c:2859 [inline] __x64_sys_recvmmsg+0x1b4/0x240 net/socket.c:2859 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fe0b1425ae9 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 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fe0ae99b188 EFLAGS: 00000246 ORIG_RAX: 000000000000012b RAX: ffffffffffffffda RBX: 00007fe0b1538f60 RCX: 00007fe0b1425ae9 RDX: 04000000000003b4 RSI: 00000000200037c0 RDI: 0000000000000003 RBP: 00007fe0b147ff25 R08: 0000000020003700 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd194e468f R14: 00007fe0ae99b300 R15: 0000000000022000 rcu: rcu_preempt kthread starved for 10498 jiffies! g90769 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:26576 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4969 [inline] __schedule+0xb72/0x1460 kernel/sched/core.c:6250 schedule+0x12b/0x1f0 kernel/sched/core.c:6323 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1881 rcu_gp_fqs_loop+0x1fd/0x770 kernel/rcu/tree.c:1955 rcu_gp_kthread+0xa5/0x350 kernel/rcu/tree.c:2128 kthread+0x468/0x490 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 rcu: Stack dump where RCU GP kthread last ran: NMI backtrace for cpu 0 CPU: 0 PID: 24074 Comm: kworker/u4:12 Not tainted 5.15.0-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:3878 [inline] rcu_sched_clock_irq+0x23d5/0x2bc0 kernel/rcu/tree.c:2597 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 1e b3 0b 00 41 83 e7 01 49 bf 00 00 00 00 00 fc ff df 75 0e e8 f9 ae 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 d6 ae RSP: 0018:ffffc9000cbef820 EFLAGS: 00000293 RAX: ffffffff81784c0a RBX: 1ffff11017366e4d RCX: ffff88803f63ba00 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc9000cbef960 R08: ffffffff81784bd2 R09: ffffffff843762f0 R10: 0000000000000009 R11: ffff88803f63ba00 R12: 0000000000000001 R13: ffff8880b9b37268 R14: ffff8880b9a325c0 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:1112 [inline] text_poke_bp_batch+0x310/0x940 arch/x86/kernel/alternative.c:1297 text_poke_flush arch/x86/kernel/alternative.c:1451 [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 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+0x468/0x490 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 ---------------- Code disassembly (best guess): 0: 31 ff xor %edi,%edi 2: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 7: 81 e5 ff ff ff 7f and $0x7fffffff,%ebp d: 74 2a je 0x39 f: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 14: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax 1b: 00 00 1d: 48 3b 44 24 08 cmp 0x8(%rsp),%rax 22: 0f 85 52 01 00 00 jne 0x17a 28: 89 d8 mov %ebx,%eax * 2a: 48 83 c4 10 add $0x10,%rsp <-- trapping instruction 2e: 5b pop %rbx 2f: 41 5c pop %r12 31: 41 5d pop %r13 33: 41 5e pop %r14 35: 41 5f pop %r15 37: 5d pop %rbp 38: c3 retq 39: 48 rex.W 3a: c7 .byte 0xc7 3b: 04 24 add $0x24,%al 3d: 00 00 add %al,(%rax)