mnt: Refactor fs_fully_visible into mount_too_revealing
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 9 Jun 2016 21:06:06 +0000 (16:06 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 23 Jun 2016 20:41:46 +0000 (15:41 -0500)
commit8654df4e2ac9704905198d63845554c2ddf6a93f
tree80c18b034fecf8e5754945f9e31ad2a807386907
parent695e9df010e40f407f4830dc11d53dce957710ba
mnt: Refactor fs_fully_visible into mount_too_revealing

Replace the call of fs_fully_visible in do_new_mount from before the
new superblock is allocated with a call of mount_too_revealing after
the superblock is allocated.   This winds up being a much better location
for maintainability of the code.

The first change this enables is the replacement of FS_USERNS_VISIBLE
with SB_I_USERNS_VISIBLE.  Moving the flag from struct filesystem_type
to sb_iflags on the superblock.

Unfortunately mount_too_revealing fundamentally needs to touch
mnt_flags adding several MNT_LOCKED_XXX flags at the appropriate
times.  If the mnt_flags did not need to be touched the code
could be easily moved into the filesystem specific mount code.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/namespace.c
fs/proc/inode.c
fs/proc/root.c
fs/sysfs/mount.c
include/linux/fs.h