rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 GPs behind) idle=461/1/0x4000000000000000 softirq=202518/202519 fqs=3 (detected by 0, t=10502 jiffies, g=320549, q=65) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 743 Comm: syz-executor.5 Not tainted 5.17.0-rc3-syzkaller-00116-gf1baf68e1383 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:hlock_class kernel/locking/lockdep.c:194 [inline] RIP: 0010:check_wait_context kernel/locking/lockdep.c:4701 [inline] RIP: 0010:__lock_acquire+0x44c/0x5470 kernel/locking/lockdep.c:4977 Code: 02 84 c0 74 06 0f 8e ff 10 00 00 48 b8 00 00 00 00 00 fc ff df 48 8b 4c 24 38 44 0f b6 b5 b8 00 00 00 48 c1 e9 03 0f b6 04 01 <84> c0 74 08 3c 03 0f 8e e8 10 00 00 41 0f b7 6c 24 20 66 81 e5 ff RSP: 0018:ffffc90000fd8ad8 EFLAGS: 00000806 RAX: 0000000000000000 RBX: ffff888067836c60 RCX: 1ffff1100cf06d9a RDX: 1ffffffff1ff89c3 RSI: 0000000000000008 RDI: ffffffff8ffc4e18 RBP: ffffffff8ffc4d60 R08: 0000000000000000 R09: ffffffff8ffc4947 R10: fffffbfff1ff8928 R11: 0000000000000000 R12: ffff888067836cb0 R13: ffff888067836200 R14: 0000000000000002 R15: 0000000000044000 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f50a1675090 CR3: 000000000b88e000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: lock_acquire kernel/locking/lockdep.c:5639 [inline] lock_acquire+0x1ab/0x510 kernel/locking/lockdep.c:5604 __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 0a d7 0e f8 48 89 ef e8 c2 4c 0f 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 43 00 02 f8 65 8b 05 0c c3 b4 76 85 c0 74 0a 5b 5d c3 e8 10 47 RSP: 0018:ffffc9000318f4d8 EFLAGS: 00000206 RAX: 0000000000000006 RBX: 0000000000000200 RCX: 1ffffffff1ffaff6 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 RBP: ffffffff9074ca08 R08: 0000000000000001 R09: ffffffff8ffc4977 R10: 0000000000000001 R11: 0000000000000001 R12: 1ffffffff20e9940 R13: 0000000000000000 R14: dead000000000100 R15: dffffc0000000000 __debug_check_no_obj_freed lib/debugobjects.c:1002 [inline] debug_check_no_obj_freed+0x20c/0x420 lib/debugobjects.c:1023 free_pages_prepare mm/page_alloc.c:1358 [inline] free_pcp_prepare+0x2ae/0x870 mm/page_alloc.c:1404 free_unref_page_prepare mm/page_alloc.c:3325 [inline] free_unref_page+0x19/0x690 mm/page_alloc.c:3404 release_pages+0x748/0x1220 mm/swap.c:956 tlb_batch_pages_flush mm/mmu_gather.c:50 [inline] tlb_flush_mmu_free mm/mmu_gather.c:243 [inline] tlb_flush_mmu+0xe9/0x6b0 mm/mmu_gather.c:250 zap_pte_range mm/memory.c:1441 [inline] zap_pmd_range mm/memory.c:1490 [inline] zap_pud_range mm/memory.c:1519 [inline] zap_p4d_range mm/memory.c:1540 [inline] unmap_page_range+0x1d1d/0x2a30 mm/memory.c:1561 unmap_single_vma+0x198/0x310 mm/memory.c:1606 unmap_vmas+0x16b/0x2f0 mm/memory.c:1638 exit_mmap+0x201/0x670 mm/mmap.c:3178 __mmput+0x122/0x4b0 kernel/fork.c:1114 mmput+0x56/0x60 kernel/fork.c:1135 exit_mm kernel/exit.c:507 [inline] do_exit+0xa3c/0x2a30 kernel/exit.c:793 do_group_exit+0xd2/0x2f0 kernel/exit.c:935 get_signal+0x4b0/0x28c0 kernel/signal.c:2862 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:868 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+0x17d/0x290 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:300 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f50a1561059 Code: Unable to access opcode bytes at RIP 0x7f50a156102f. RSP: 002b:00007f509fed6218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000001 RBX: 00007f50a1673f68 RCX: 00007f50a1561059 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f50a1673f6c RBP: 00007f50a1673f60 R08: 00007fff2a0f5080 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f50a1673f6c R13: 00007fff2a00967f R14: 00007f509fed6300 R15: 0000000000022000 rcu: rcu_preempt kthread starved for 10496 jiffies! g320549 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:28888 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4986 [inline] __schedule+0xab2/0x4db0 kernel/sched/core.c:6295 schedule+0xd2/0x260 kernel/sched/core.c:6368 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: 71 Comm: kworker/u4:3 Not tainted 5.17.0-rc3-syzkaller-00116-gf1baf68e1383 #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+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: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+0x1f7c/0x2150 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:check_kcov_mode kernel/kcov.c:166 [inline] RIP: 0010:__sanitizer_cov_trace_pc+0x1c/0x60 kernel/kcov.c:200 Code: be b0 01 00 00 e8 b4 ff ff ff 31 c0 c3 90 65 8b 05 89 c1 8a 7e 89 c1 48 8b 34 24 81 e1 00 01 00 00 65 48 8b 14 25 00 70 02 00 00 01 ff 00 74 0e 85 c9 74 35 8b 82 a4 15 00 00 85 c0 74 2b 8b RSP: 0018:ffffc90001a87a00 EFLAGS: 00000246 RAX: 0000000000000001 RBX: ffff8880b9d3df40 RCX: 0000000000000000 RDX: ffff888017c5c000 RSI: ffffffff816c2275 RDI: 0000000000000003 RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff816c229b R11: 0000000000000000 R12: ffffed10173a7be9 R13: 0000000000000001 R14: ffff8880b9d3df48 R15: 0000000000000001 rep_nop arch/x86/include/asm/vdso/processor.h:13 [inline] cpu_relax arch/x86/include/asm/vdso/processor.h:18 [inline] csd_lock_wait kernel/smp.c:440 [inline] smp_call_function_many_cond+0x445/0xc90 kernel/smp.c:969 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+0x1b1/0x510 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+0x1da/0x400 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:734 [inline] toggle_allocation_gate+0x100/0x390 mm/kfence/core.c:726 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: 02 84 c0 74 06 0f 8e add -0x71f0f98c(%rax,%rax,8),%al 7: ff 10 callq *(%rax) 9: 00 00 add %al,(%rax) b: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 12: fc ff df 15: 48 8b 4c 24 38 mov 0x38(%rsp),%rcx 1a: 44 0f b6 b5 b8 00 00 movzbl 0xb8(%rbp),%r14d 21: 00 22: 48 c1 e9 03 shr $0x3,%rcx 26: 0f b6 04 01 movzbl (%rcx,%rax,1),%eax * 2a: 84 c0 test %al,%al <-- trapping instruction 2c: 74 08 je 0x36 2e: 3c 03 cmp $0x3,%al 30: 0f 8e e8 10 00 00 jle 0x111e 36: 41 0f b7 6c 24 20 movzwl 0x20(%r12),%ebp 3c: 66 data16 3d: 81 .byte 0x81 3e: e5 ff in $0xff,%eax