diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2015-07-17 22:15:30 +0300 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2015-07-23 04:33:27 +0300 |
commit | f2d0a123bcf16d1a9cf7942ddc98e0ef77862c2b (patch) | |
tree | 9ac56ed30a08d7243a2d9bea54d85dcc488aceba /fs/dcache.c | |
parent | d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (diff) | |
download | linux-f2d0a123bcf16d1a9cf7942ddc98e0ef77862c2b.tar.xz |
mnt: Clarify and correct the disconnect logic in umount_tree
rmdir mntpoint will result in an infinite loop when there is
a mount locked on the mountpoint in another mount namespace.
This is because the logic to test to see if a mount should
be disconnected in umount_tree is buggy.
Move the logic to decide if a mount should remain connected to
it's mountpoint into it's own function disconnect_mount so that
clarity of expression instead of terseness of expression becomes
a virtue.
When the conditions where it is invalid to leave a mount connected
are first ruled out, the logic for deciding if a mount should
be disconnected becomes much clearer and simpler.
Fixes: e0c9c0afd2fc958ffa34b697972721d81df8a56f mnt: Update detach_mounts to leave mounts connected
Fixes: ce07d891a0891d3c0d0c2d73d577490486b809e1 mnt: Honor MNT_LOCKED when detaching mounts
Cc: stable@vger.kernel.org
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'fs/dcache.c')
0 files changed, 0 insertions, 0 deletions