diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2016-07-15 06:35:51 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-07-15 07:56:38 -0400 |
commit | eedd0f4cbf5f3b81e82649832091e1d9d53f0709 (patch) | |
tree | b806976542cf2731a4382414a28326706cb01f7c /fs/exec.c | |
parent | 7bd8830875bfa380c68f390efbad893293749324 (diff) |
cgroupns: Close race between cgroup_post_fork and copy_cgroup_ns
In most code paths involving cgroup migration cgroup_threadgroup_rwsem
is taken. There are two exceptions:
- remove_tasks_in_empty_cpuset calls cgroup_transfer_tasks
- vhost_attach_cgroups_work calls cgroup_attach_task_all
With cgroup_threadgroup_rwsem held it is guaranteed that cgroup_post_fork
and copy_cgroup_ns will reference the same css_set from the process calling
fork.
Without such an interlock there process after fork could reference one
css_set from it's new cgroup namespace and another css_set from
task->cgroups, which semantically is nonsensical.
Cc: stable@vger.kernel.org
Fixes: a79a908fd2b0 ("cgroup: introduce cgroup namespaces")
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'fs/exec.c')
0 files changed, 0 insertions, 0 deletions