]> git.baikalelectronics.ru Git - kernel.git/commit
vfs: Lock in place mounts from more privileged users
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 30 Mar 2013 04:04:39 +0000 (21:04 -0700)
committerEric W. Biederman <ebiederm@xmission.com>
Wed, 24 Jul 2013 16:14:46 +0000 (09:14 -0700)
commit5ba70c697c55f62c0d1248204d125c9882a37ddc
treee2ae0447cda004f29a2a081bbdb428a72862402b
parent37292c01f7e0a67d852600110ad6986f05524472
vfs: Lock in place mounts from more privileged users

When creating a less privileged mount namespace or propogating mounts
from a more privileged to a less privileged mount namespace lock the
submounts so they may not be unmounted individually in the child mount
namespace revealing what is under them.

This enforces the reasonable expectation that it is not possible to
see under a mount point.  Most of the time mounts are on empty
directories and revealing that does not matter, however I have seen an
occassionaly sloppy configuration where there were interesting things
concealed under a mount point that probably should not be revealed.

Expirable submounts are not locked because they will eventually
unmount automatically so whatever is under them already needs
to be safe for unprivileged users to access.

From a practical standpoint these restrictions do not appear to be
significant for unprivileged users of the mount namespace.  Recursive
bind mounts and pivot_root continues to work, and mounts that are
created in a mount namespace may be unmounted there.  All of which
means that the common idiom of keeping a directory of interesting
files and using pivot_root to throw everything else away continues to
work just fine.

Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Acked-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/namespace.c
include/linux/mount.h