rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P4030/2:b..l (detected by 1, t=10502 jiffies, g=5045, q=244) task:syz-executor state:R running task stack: 0 pid: 4030 ppid: 4019 flags:0x00000000 Call trace: __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518 context_switch kernel/sched/core.c:5030 [inline] __schedule+0xf10/0x1e48 kernel/sched/core.c:6376 preempt_schedule_irq+0x90/0x274 kernel/sched/core.c:6780 arm64_preempt_schedule_irq+0x174/0x2c4 arch/arm64/kernel/entry-common.c:260 el1_interrupt+0x40/0x58 arch/arm64/kernel/entry-common.c:463 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:470 el1h_64_irq+0x78/0x7c arch/arm64/kernel/entry.S:522 arch_local_irq_restore arch/arm64/include/asm/irqflags.h:122 [inline] lock_acquire+0x280/0x77c kernel/locking/lockdep.c:5626 rcu_lock_acquire+0x38/0x44 include/linux/rcupdate.h:312 rcu_read_lock include/linux/rcupdate.h:739 [inline] percpu_ref_tryget_many include/linux/percpu-refcount.h:241 [inline] percpu_ref_tryget+0x24/0x2a8 include/linux/percpu-refcount.h:266 obj_cgroup_tryget include/linux/memcontrol.h:800 [inline] get_obj_cgroup_from_current mm/memcontrol.c:2927 [inline] __memcg_kmem_charge_page+0x324/0x674 mm/memcontrol.c:3053 __alloc_pages+0x240/0x674 mm/page_alloc.c:5440 alloc_pages+0x368/0x5d4 __pte_alloc_one include/asm-generic/pgalloc.h:63 [inline] pte_alloc_one+0x2c/0x258 include/asm-generic/pgalloc.h:85 __pte_alloc+0x84/0x2c4 mm/memory.c:439 copy_pte_range mm/memory.c:1021 [inline] copy_pmd_range mm/memory.c:1156 [inline] copy_pud_range mm/memory.c:1193 [inline] copy_p4d_range mm/memory.c:1217 [inline] copy_page_range+0x2734/0x2dac mm/memory.c:1290 dup_mmap kernel/fork.c:614 [inline] dup_mm kernel/fork.c:1465 [inline] copy_mm+0xa18/0x10fc kernel/fork.c:1517 copy_process+0x1680/0x3750 kernel/fork.c:2206 kernel_clone+0x1d8/0xa58 kernel/fork.c:2604 __do_sys_clone kernel/fork.c:2721 [inline] __se_sys_clone kernel/fork.c:2689 [inline] __arm64_sys_clone+0x1f0/0x24c kernel/fork.c:2689 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181 el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584 rcu: rcu_preempt kthread starved for 10498 jiffies! g5045 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1 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: 0 pid: 15 ppid: 2 flags:0x00000008 Call trace: __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518 context_switch kernel/sched/core.c:5030 [inline] __schedule+0xf10/0x1e48 kernel/sched/core.c:6376 schedule+0x11c/0x1c8 kernel/sched/core.c:6459 schedule_timeout+0x1d8/0x344 kernel/time/timer.c:1914 rcu_gp_fqs_loop+0x26c/0x13d4 kernel/rcu/tree.c:1972 rcu_gp_kthread+0xc4/0x2c4 kernel/rcu/tree.c:2145 kthread+0x37c/0x45c kernel/kthread.c:334 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870 rcu: Stack dump where RCU GP kthread last ran: Task dump for CPU 1: task:syz.4.23 state:R running task stack: 0 pid: 4176 ppid: 4023 flags:0x00000001 Call trace: dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216 sched_show_task+0x43c/0x574 kernel/sched/core.c:8640 dump_cpu_task+0x84/0xa8 kernel/sched/core.c:10914 rcu_check_gp_kthread_starvation+0x1f0/0x254 kernel/rcu/tree_stall.h:488 print_other_cpu_stall+0x202c/0x2290 kernel/rcu/tree_stall.h:592 check_cpu_stall kernel/rcu/tree_stall.h:745 [inline] rcu_pending kernel/rcu/tree.c:3932 [inline] rcu_sched_clock_irq+0x1894/0x1b8c kernel/rcu/tree.c:2619 update_process_times+0x1d4/0x270 kernel/time/timer.c:1818 tick_sched_handle kernel/time/tick-sched.c:254 [inline] tick_sched_timer+0x340/0x4f8 kernel/time/tick-sched.c:1473 __run_hrtimer kernel/time/hrtimer.c:1686 [inline] __hrtimer_run_queues+0x458/0xca4 kernel/time/hrtimer.c:1750 hrtimer_interrupt+0x2c0/0xb64 kernel/time/hrtimer.c:1812 timer_handler drivers/clocksource/arm_arch_timer.c:659 [inline] arch_timer_handler_virt+0x74/0x88 drivers/clocksource/arm_arch_timer.c:670 handle_percpu_devid_irq+0x29c/0x7fc kernel/irq/chip.c:933 generic_handle_irq_desc include/linux/irqdesc.h:158 [inline] handle_irq_desc kernel/irq/irqdesc.c:651 [inline] handle_domain_irq+0xec/0x178 kernel/irq/irqdesc.c:706 gic_handle_irq+0x78/0x1c8 drivers/irqchip/irq-gic-v3.c:758 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:899 do_interrupt_handler+0x74/0x94 arch/arm64/kernel/entry-common.c:267 el1_interrupt+0x30/0x58 arch/arm64/kernel/entry-common.c:454 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:470 el1h_64_irq+0x78/0x7c arch/arm64/kernel/entry.S:522 arch_local_irq_enable arch/arm64/include/asm/irqflags.h:35 [inline] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:168 [inline] _raw_spin_unlock_irq+0xa4/0x134 kernel/locking/spinlock.c:202 spin_unlock_irq include/linux/spinlock.h:413 [inline] get_signal+0x11b4/0x1550 kernel/signal.c:2892 do_signal arch/arm64/kernel/signal.c:890 [inline] do_notify_resume+0x320/0x32b8 arch/arm64/kernel/signal.c:943 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:133 [inline] exit_to_user_mode arch/arm64/kernel/entry-common.c:138 [inline] el0_svc+0xfc/0x1f0 arch/arm64/kernel/entry-common.c:609 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584