summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSerge Hallyn <serge.hallyn@ubuntu.com>2016-01-29 02:54:11 -0600
committerTejun Heo <tj@kernel.org>2016-02-16 13:04:59 -0500
commit1c53753e0df1ae4d21661053459e7c024a43f1d3 (patch)
tree8db1a6a6839550d0ff87a31a5efd20d6284aa0fe /kernel
parentd4021f6cd41f03017f831b3d40b0067bed54893d (diff)
downloadop-kernel-dev-1c53753e0df1ae4d21661053459e7c024a43f1d3.zip
op-kernel-dev-1c53753e0df1ae4d21661053459e7c024a43f1d3.tar.gz
Add FS_USERNS_FLAG to cgroup fs
allowing root in a non-init user namespace to mount it. This should now be safe, because 1. non-init-root cannot mount a previously unbound subsystem 2. the task doing the mount must be privileged with respect to the user namespace owning the cgroup namespace 3. the mounted subsystem will have its current cgroup as the root dentry. the permissions will be unchanged, so tasks will receive no new privilege over the cgroups which they did not have on the original mounts. Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cgroup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 2498902..afb1205 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2227,12 +2227,14 @@ static struct file_system_type cgroup_fs_type = {
.name = "cgroup",
.mount = cgroup_mount,
.kill_sb = cgroup_kill_sb,
+ .fs_flags = FS_USERNS_MOUNT,
};
static struct file_system_type cgroup2_fs_type = {
.name = "cgroup2",
.mount = cgroup_mount,
.kill_sb = cgroup_kill_sb,
+ .fs_flags = FS_USERNS_MOUNT,
};
static char *cgroup_path_ns_locked(struct cgroup *cgrp, char *buf, size_t buflen,
OpenPOWER on IntegriCloud