rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (0 ticks this GP) idle=e77/1/0x4000000000000000 softirq=55059/55062 fqs=2 (detected by 0, t=10502 jiffies, g=74129, q=102) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 15027 Comm: syz-executor.5 Not tainted 5.16.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:check_preemption_disabled+0x3e/0x170 lib/smp_processor_id.c:56 Code: 44 8b 25 4d 95 bc 76 65 8b 1d be ef bc 76 81 e3 ff ff ff 7f 31 ff 89 de 0f 1f 44 00 00 85 db 74 11 0f 1f 44 00 00 44 89 e0 5b <5d> 41 5c 41 5d 41 5e c3 0f 1f 44 00 00 9c 5b 81 e3 00 02 00 00 31 RSP: 0018:ffffc90000dc0dc8 EFLAGS: 00000002 RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0000000000000001 RDX: 0000000000000000 RSI: 0000000000010002 RDI: 0000000000000000 RBP: ffffffff8a052820 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff8167069d R11: 0000000000000000 R12: 0000000000000001 R13: ffffffff89ac0f60 R14: 00000000ffffffff R15: ffff88802fd9c460 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555555bdb848 CR3: 000000004d8c1000 CR4: 0000000000350ee0 Call Trace: lockdep_recursion_finish kernel/locking/lockdep.c:438 [inline] lock_is_held_type+0xd7/0x140 kernel/locking/lockdep.c:5681 lock_is_held include/linux/lockdep.h:283 [inline] rcu_read_lock_sched_held+0x3a/0x70 kernel/rcu/update.c:125 trace_hrtimer_expire_exit include/trace/events/timer.h:279 [inline] __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0xa2e/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:__kasan_check_read+0x4/0x10 mm/kasan/shadow.c:31 Code: 44 07 48 85 db 0f 85 88 89 45 07 48 83 c4 60 5b 5d 41 5c 41 5d c3 c3 e9 88 8a 45 07 cc cc cc cc cc cc cc cc cc cc 48 8b 0c 24 <89> f6 31 d2 e9 f3 f9 ff ff 0f 1f 00 48 8b 0c 24 89 f6 ba 01 00 00 RSP: 0018:ffffc90002bff7a0 EFLAGS: 00000293 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff81ac8d08 RDX: ffff88802fd9ba00 RSI: 0000000000000004 RDI: ffffea000057ac30 RBP: ffffea000057ac00 R08: 0000000000000000 R09: 0000000000000000 R10: ffffffff81ac8cea R11: 0000000000000000 R12: ffffea000057ac30 R13: ffff88804654fb38 R14: dffffc0000000000 R15: 00007f7dd1368000 instrument_atomic_read include/linux/instrumented.h:71 [inline] atomic_read include/linux/atomic/atomic-instrumented.h:27 [inline] page_mapcount include/linux/mm.h:838 [inline] zap_pte_range mm/memory.c:1358 [inline] zap_pmd_range mm/memory.c:1467 [inline] zap_pud_range mm/memory.c:1496 [inline] zap_p4d_range mm/memory.c:1517 [inline] unmap_page_range+0x1468/0x29f0 mm/memory.c:1538 unmap_single_vma+0x198/0x310 mm/memory.c:1583 unmap_vmas+0x16b/0x2f0 mm/memory.c:1615 exit_mmap+0x1d0/0x630 mm/mmap.c:3170 __mmput+0x122/0x4b0 kernel/fork.c:1113 mmput+0x56/0x60 kernel/fork.c:1134 exit_mm kernel/exit.c:507 [inline] do_exit+0xb27/0x2b40 kernel/exit.c:819 do_group_exit+0x125/0x310 kernel/exit.c:929 get_signal+0x47d/0x2220 kernel/signal.c:2852 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:0x7f7dd13f7e99 Code: Unable to access opcode bytes at RIP 0x7f7dd13f7e6f. RSP: 002b:00007f7dcfd6d218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f7dd150af68 RCX: 00007f7dd13f7e99 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f7dd150af68 RBP: 00007f7dd150af60 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f7dd150af6c R13: 00007fffd6f835cf R14: 00007f7dcfd6d300 R15: 0000000000022000 rcu: rcu_preempt kthread starved for 10498 jiffies! g74129 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:28688 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4972 [inline] __schedule+0xa9a/0x4940 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: 4372 Comm: kworker/0:18 Not tainted 5.16.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events bpf_prog_free_deferred 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+0x2125/0x2200 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:csd_lock_wait kernel/smp.c:440 [inline] RIP: 0010:smp_call_function_many_cond+0x452/0xc20 kernel/smp.c:969 Code: 0b 00 85 ed 74 4d 48 b8 00 00 00 00 00 fc ff df 4d 89 f4 4c 89 f5 49 c1 ec 03 83 e5 07 49 01 c4 83 c5 03 e8 40 78 0b 00 f3 90 <41> 0f b6 04 24 40 38 c5 7c 08 84 c0 0f 85 33 06 00 00 8b 43 08 31 RSP: 0018:ffffc90004a37988 EFLAGS: 00000293 RAX: 0000000000000000 RBX: ffff8880b9d3fca0 RCX: 0000000000000000 RDX: ffff888078c53a00 RSI: ffffffff816c2a00 RDI: 0000000000000003 RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff816c2a26 R11: 0000000000000000 R12: ffffed10173a7f95 R13: 0000000000000001 R14: ffff8880b9d3fca8 R15: 0000000000000001 on_each_cpu_cond_mask+0x56/0xa0 kernel/smp.c:1135 __purge_vmap_area_lazy+0x1f6/0x1c50 mm/vmalloc.c:1687 _vm_unmap_aliases.part.0+0x3f0/0x500 mm/vmalloc.c:2111 _vm_unmap_aliases mm/vmalloc.c:2085 [inline] vm_remove_mappings mm/vmalloc.c:2595 [inline] __vunmap+0x620/0xb70 mm/vmalloc.c:2622 __vfree+0x3c/0xd0 mm/vmalloc.c:2680 vfree+0x5a/0x90 mm/vmalloc.c:2711 bpf_jit_free+0xbb/0x1c0 bpf_prog_free_deferred+0x5c1/0x790 kernel/bpf/core.c:2299 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2298 worker_thread+0x658/0x11f0 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: 44 8b 25 4d 95 bc 76 mov 0x76bc954d(%rip),%r12d # 0x76bc9554 7: 65 8b 1d be ef bc 76 mov %gs:0x76bcefbe(%rip),%ebx # 0x76bcefcc e: 81 e3 ff ff ff 7f and $0x7fffffff,%ebx 14: 31 ff xor %edi,%edi 16: 89 de mov %ebx,%esi 18: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 1d: 85 db test %ebx,%ebx 1f: 74 11 je 0x32 21: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 26: 44 89 e0 mov %r12d,%eax 29: 5b pop %rbx * 2a: 5d pop %rbp <-- trapping instruction 2b: 41 5c pop %r12 2d: 41 5d pop %r13 2f: 41 5e pop %r14 31: c3 retq 32: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 37: 9c pushfq 38: 5b pop %rbx 39: 81 e3 00 02 00 00 and $0x200,%ebx 3f: 31 .byte 0x31