mnt: Refactor the logic for mounting sysfs and proc in a user namespace
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 9 May 2015 04:22:29 +0000 (23:22 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 14 May 2015 02:44:11 +0000 (21:44 -0500)
Fresh mounts of proc and sysfs are a very special case that works very
much like a bind mount.  Unfortunately the current structure can not
preserve the MNT_LOCK... mount flags.  Therefore refactor the logic
into a form that can be modified to preserve those lock bits.

Add a new filesystem flag FS_USERNS_VISIBLE that requires some mount
of the filesystem be fully visible in the current mount namespace,
before the filesystem may be mounted.

Move the logic for calling fs_fully_visible from proc and sysfs into
fs/namespace.c where it has greater access to mount namespace state.

Cc: stable@vger.kernel.org
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/namespace.c
fs/proc/root.c
fs/sysfs/mount.c
include/linux/fs.h

diff --cc fs/namespace.c
Simple merge
diff --cc fs/proc/root.c
Simple merge
Simple merge
Simple merge