Commit 095f0f1b authored by Xunlei Pang's avatar Xunlei Pang Committed by Zheng Zengkai
Browse files

cgroup: Fix task_css_check rcu warnings

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4OF4N



------------------------------------------

task_css() should be protected by rcu. In my environment
if not protected by rcu qemu may fail to start.

Fixes: a885e3f9 ("psi: support psi under cgroup v1")
Reported-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Acked-by: default avatarMichael Wang <yun.wany@linux.alibaba.com>
Signed-off-by: default avatarXunlei Pang <xlpang@linux.alibaba.com>
Signed-off-by: default avatarYihao Wu <wuyihao@linux.alibaba.com>
Acked-by: default avatarYang Shi <yang.shi@linux.alibaba.com>
Signed-off-by: default avatarChen Wandun <chenwandun@huawei.com>
Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent efd726a9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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