]> git.baikalelectronics.ru Git - kernel.git/commit
vfs: Don't copy mount bind mounts of /proc/<pid>/ns/mnt between namespaces
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 30 Mar 2013 08:35:18 +0000 (01:35 -0700)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 27 Aug 2013 01:42:15 +0000 (18:42 -0700)
commitdbd8ab66197d9ef95797a5d1d433f29bce8c67c3
tree08fa563457c4264fe48355e8d28c216c9a11664b
parent0d06f1bd01264cafb0e6975e53ecaa7b7c78dd22
vfs: Don't copy mount bind mounts of /proc/<pid>/ns/mnt between namespaces

Don't copy bind mounts of /proc/<pid>/ns/mnt between namespaces.
These files hold references to a mount namespace and copying them
between namespaces could result in a reference counting loop.

The current mnt_ns_loop test prevents loops on the assumption that
mounts don't cross between namespaces.  Unfortunately unsharing a
mount namespace and shared substrees can both cause mounts to
propogate between mount namespaces.

Add two flags CL_COPY_UNBINDABLE and CL_COPY_MNT_NS_FILE are added to
control this behavior, and CL_COPY_ALL is redefined as both of them.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/namespace.c
fs/pnode.h