rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 GPs behind) idle=505/1/0x4000000000000000 softirq=20393/20396 fqs=1518 (detected by 0, t=10502 jiffies, g=27433, q=840) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 11470 Comm: syz-executor.3 Not tainted 5.16.0-rc8-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:perf_trace_preemptirq_template+0x2aa/0x460 include/trace/events/preemptirq.h:14 Code: 00 4d 8b 4f c0 6a 00 41 b8 01 00 00 00 4c 89 d7 53 e8 1a a6 19 00 58 5a e8 e3 cd f9 ff 48 b8 00 00 00 00 00 fc ff df 49 01 c4 <49> c7 04 24 00 00 00 00 41 c7 44 24 08 00 00 00 00 48 8b 45 d0 65 RSP: 0018:ffffc90000dc0c70 EFLAGS: 00000082 RAX: dffffc0000000000 RBX: ffffe8ffffd2ada0 RCX: 0000000000000100 RDX: ffff88807eadd700 RSI: ffffffff817dc4bd RDI: ffffffff8b5728a8 RBP: ffffc90000dc0d38 R08: 0000000000000000 R09: 0000000000000000 R10: ffffffff81976b6e R11: 0000000000000000 R12: fffff520001b8192 R13: ffffffff8bbf4600 R14: 000000007f000000 R15: ffffc90000dc0d10 FS: 00007fbc122de700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fbc122bd718 CR3: 00000000727c6000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: trace_irq_enable_rcuidle include/trace/events/preemptirq.h:40 [inline] trace_irq_enable_rcuidle include/trace/events/preemptirq.h:40 [inline] trace_hardirqs_on+0x156/0x1c0 kernel/trace/trace_preemptirq.c:44 asm_sysvec_irq_work+0x12/0x20 arch/x86/include/asm/idtentry.h:664 RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline] RIP: 0010:__rcu_read_unlock+0xc4/0x570 kernel/rcu/tree_plugin.h:425 Code: b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 0f b6 04 02 84 c0 74 08 3c 03 0f 8e b6 01 00 00 8b 85 40 04 00 00 85 c0 75 54 <65> 48 8b 1c 25 40 70 02 00 48 8d bb 3c 04 00 00 48 b8 00 00 00 00 RSP: 0018:ffffc90000dc0e10 EFLAGS: 00000206 RAX: 0000000000000002 RBX: ffff8880b9d3a900 RCX: 1ffffffff1ffa9fe RDX: 0000000000000000 RSI: 0000000000000102 RDI: 0000000000000000 RBP: ffffffff8bb8cb00 R08: 0000000000000001 R09: ffffffff8ff9ba9f R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000001 R13: ffffc90000dc0e00 R14: 0000000000000200 R15: 0000000000000001 rcu_read_unlock include/linux/rcupdate.h:720 [inline] ieee80211_rx_napi+0xfd/0x3d0 net/mac80211/rx.c:5001 ieee80211_rx include/net/mac80211.h:4594 [inline] ieee80211_tasklet_handler+0xd4/0x130 net/mac80211/main.c:235 tasklet_action_common.constprop.0+0x201/0x2e0 kernel/softirq.c:784 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x93/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_irq include/linux/spinlock_api_smp.h:160 [inline] RIP: 0010:_raw_spin_unlock_irq+0x25/0x40 kernel/locking/spinlock.c:202 Code: 0f 1f 44 00 00 55 48 8b 74 24 08 48 89 fd 48 83 c7 18 e8 fe bd 11 f8 48 89 ef e8 b6 33 12 f8 e8 51 e5 32 f8 fb bf 01 00 00 00 06 fe 04 f8 65 8b 05 af 82 b7 76 85 c0 74 02 5d c3 e8 cb 57 b5 RSP: 0018:ffffc90002aaf6f0 EFLAGS: 00000206 RAX: 0000000000001b47 RBX: 0000000000000000 RCX: 1ffffffff1ffa9fe RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000001 RBP: ffff888055c34a98 R08: 0000000000000001 R09: ffffffff8ff9ba9f R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000003 R13: 0000000000000000 R14: ffff888055c34a98 R15: dffffc0000000000 spin_unlock_irq include/linux/spinlock.h:399 [inline] invalidate_complete_page2 mm/truncate.c:587 [inline] invalidate_inode_pages2_range+0x7d1/0x1020 mm/truncate.c:677 __iomap_dio_rw+0xd0a/0x1a10 fs/iomap/direct-io.c:570 iomap_dio_rw+0x38/0x90 fs/iomap/direct-io.c:679 ext4_dio_write_iter fs/ext4/file.c:568 [inline] ext4_file_write_iter+0xe1b/0x14e0 fs/ext4/file.c:679 call_write_iter include/linux/fs.h:2162 [inline] new_sync_write+0x429/0x660 fs/read_write.c:503 vfs_write+0x7cd/0xae0 fs/read_write.c:590 ksys_write+0x12d/0x250 fs/read_write.c:643 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:0x7fbc13968eb9 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:00007fbc122de168 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007fbc13a7bf60 RCX: 00007fbc13968eb9 RDX: 0000000000043400 RSI: 0000000020000200 RDI: 0000000000000005 RBP: 00007fbc139c308d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffeb05b96af R14: 00007fbc122de300 R15: 0000000000022000 rcu: rcu_preempt kthread starved for 7460 jiffies! g27433 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:28512 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4972 [inline] __schedule+0xa9a/0x4900 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: 944 Comm: kworker/u4:4 Not tainted 5.16.0-rc8-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: writeback wb_workfn (flush-8:0) 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+0x1f7c/0x2150 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:kvm_wait+0x98/0x100 arch/x86/kernel/kvm.c:1001 Code: fa 83 e2 07 38 d0 7f 04 84 c0 75 63 0f b6 07 40 38 c6 74 35 48 83 c4 10 c3 c3 e8 03 4c 4a 00 eb 07 0f 00 2d 2a 8f 75 08 fb f4 <48> 83 c4 10 c3 89 74 24 0c 48 89 3c 24 e8 c6 46 4a 00 8b 74 24 0c RSP: 0018:ffffc900047677d0 EFLAGS: 00000202 RAX: 0000000000665e91 RBX: 0000000000000000 RCX: 1ffffffff1ffa9fe RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000 RBP: ffff888055c348f0 R08: 0000000000000001 R09: ffffffff8ff9ba9f R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000 R13: ffffed100ab8691e R14: 0000000000000001 R15: ffff8880b9c3a880 pv_wait arch/x86/include/asm/paravirt.h:603 [inline] pv_wait_head_or_lock kernel/locking/qspinlock_paravirt.h:470 [inline] __pv_queued_spin_lock_slowpath+0x8b8/0xb40 kernel/locking/qspinlock.c:508 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:591 [inline] queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline] queued_spin_lock include/asm-generic/qspinlock.h:85 [inline] do_raw_spin_lock+0x200/0x2b0 kernel/locking/spinlock_debug.c:115 spin_lock include/linux/spinlock.h:349 [inline] move_expired_inodes+0x203/0x7d0 fs/fs-writeback.c:1405 queue_io+0x16f/0x510 fs/fs-writeback.c:1453 wb_writeback+0x932/0xc30 fs/fs-writeback.c:2052 wb_check_old_data_flush fs/fs-writeback.c:2156 [inline] wb_do_writeback fs/fs-writeback.c:2209 [inline] wb_workfn+0x8cf/0x12d0 fs/fs-writeback.c:2238 process_one_work+0x9b2/0x1660 kernel/workqueue.c:2298 worker_thread+0x65d/0x1130 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: 00 4d 8b add %cl,-0x75(%rbp) 3: 4f c0 6a 00 41 rex.WRXB shrb $0x41,0x0(%r10) 8: b8 01 00 00 00 mov $0x1,%eax d: 4c 89 d7 mov %r10,%rdi 10: 53 push %rbx 11: e8 1a a6 19 00 callq 0x19a630 16: 58 pop %rax 17: 5a pop %rdx 18: e8 e3 cd f9 ff callq 0xfff9ce00 1d: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 24: fc ff df 27: 49 01 c4 add %rax,%r12 * 2a: 49 c7 04 24 00 00 00 movq $0x0,(%r12) <-- trapping instruction 31: 00 32: 41 c7 44 24 08 00 00 movl $0x0,0x8(%r12) 39: 00 00 3b: 48 8b 45 d0 mov -0x30(%rbp),%rax 3f: 65 gs