diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c index ddbd3d79b988aa2763af7516e00313776e02e8d9..360f133820699abb42f3dba1da3c23763921d3ba 100644 --- a/kernel/sched/psi.c +++ b/kernel/sched/psi.c @@ -755,12 +755,15 @@ static struct psi_group *iterate_groups(struct task_struct *task, void **iter) if (!*iter) { if (static_branch_likely(&psi_v1_disabled)) cgroup = task->cgroups->dfl_cgrp; - else + else { #ifdef CONFIG_CGROUP_CPUACCT + rcu_read_lock(); cgroup = task_cgroup(task, cpuacct_cgrp_id); + rcu_read_unlock(); #else cgroup = NULL; #endif + } } else if (*iter == &psi_system) return NULL; else