Given the code I have seen executables especially suid root executable appearing on proc or sysfs will break userspace because there are current applications that depend on nosuid and noexec on proc and sysfs being meaningless. This patchset addes a new flag SB_I_NOEXEC to enforce that restriction, and to make it hard for a kernel developer to make the mistake of adding executables to sysfs or proc. The first patch has been updated since last time to a super block flags instead of a file_system type flag based on Al's suggestion. The code in fs_fully_visible to enforce nosuid and noexec when needed has also been added. At a practical level this code is a no-op on a slow path, to guard against future mistakes and to make auditing the kernel for this class of problem trivial. git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git for-testing Eric W. Biederman (2): vfs: Commit to never having exectuables on proc and sysfs. mnt: fs_fully_visible enforce noexec and nosuid if !SB_I_NOEXEC fs/exec.c | 10 ++++++++-- fs/namespace.c | 33 +++++++++++++++++++++++++-------- fs/open.c | 2 +- fs/proc/root.c | 2 ++ fs/sysfs/mount.c | 4 ++++ include/linux/fs.h | 3 +++ kernel/sys.c | 3 +-- mm/mmap.c | 4 ++-- mm/nommu.c | 2 +- security/security.c | 2 +- 10 files changed, 48 insertions(+), 17 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html