saner handling of temporary namespaces
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 30 Jan 2019 18:30:21 +0000 (13:30 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 30 Jan 2019 22:44:07 +0000 (17:44 -0500)
commit74e831221cfd79460ec11c1b641093863f0ef3ce
tree270fb98f1e5bebd78a90554690a3ffe560f3690f
parent3bd045cc9c4be2049602b47505256b43908b4e2f
saner handling of temporary namespaces

mount_subtree() creates (and soon destroys) a temporary namespace,
so that automounts could function normally.  These beasts should
never become anyone's current namespaces; they don't, but it would
be better to make prevention of that more straightforward.  And
since they don't become anyone's current namespace, we don't need
to bother with reserving procfs inums for those.

Teach alloc_mnt_ns() to skip inum allocation if told so, adjust
put_mnt_ns() accordingly, make mount_subtree() use temporary
(anon) namespace.  is_anon_ns() checks if a namespace is such.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/mount.h
fs/namespace.c