userns: Allow the userns root to mount tmpfs.
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 26 Jan 2013 00:32:10 +0000 (16:32 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Sun, 27 Jan 2013 06:23:05 +0000 (22:23 -0800)
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>
mm/shmem.c

index 5c90d84c2b028ae6478b78cacdf52494bab2c233..197ca5eccbae6eef17daa2c7a5c6ebf0c929c104 100644 (file)
@@ -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)