diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 220e0fd659fad483a686b194bf2f5f903c6b7fa2..d7ab4ffd8fd95f87bd33e0127b5f1f8e2a956875 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -2792,8 +2792,10 @@ void cgroup_post_fork(struct task_struct *child) { if (use_task_css_set_links) { write_lock(&css_set_lock); + task_lock(child); if (list_empty(&child->cg_list)) list_add(&child->cg_list, &child->cgroups->tasks); + task_unlock(child); write_unlock(&css_set_lock); } }