summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2013-01-26 01:32:10 +0100
committerEric W. Biederman <ebiederm@xmission.com>2013-01-27 07:23:05 +0100
commit2b8576cb09a7b1b581c253554bf9e05d3adce7d6 (patch)
treeacba53f712c463a2bba3416145e705876a8d6c90
parentuserns: Allow the userns root to mount ramfs. (diff)
downloadlinux-2b8576cb09a7b1b581c253554bf9e05d3adce7d6.tar.xz
linux-2b8576cb09a7b1b581c253554bf9e05d3adce7d6.zip
userns: Allow the userns root to mount tmpfs.
There is no backing store to tmpfs and file creation rules are the same as for any other filesystem so it is semantically safe to allow unprivileged users to mount it. ramfs is safe for the same reasons so allow either flavor of tmpfs to be mounted by a user namespace root user. The memory control group successfully limits how much memory tmpfs can consume on any system that cares about a user namespace root using tmpfs to exhaust memory the memory control group can be deployed. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-rw-r--r--mm/shmem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/shmem.c b/mm/shmem.c
index 5c90d84c2b02..197ca5eccbae 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2766,6 +2766,7 @@ static struct file_system_type shmem_fs_type = {
.name = "tmpfs",
.mount = shmem_mount,
.kill_sb = kill_litter_super,
+ .fs_flags = FS_USERNS_MOUNT,
};
int __init shmem_init(void)
@@ -2823,6 +2824,7 @@ static struct file_system_type shmem_fs_type = {
.name = "tmpfs",
.mount = ramfs_mount,
.kill_sb = kill_litter_super,
+ .fs_flags = FS_USERNS_MOUNT,
};
int __init shmem_init(void)