aboutsummaryrefslogtreecommitdiff
path: root/fs/namespace.c
diff options
context:
space:
mode:
authorShannon Zhao <shannon.zhao@linaro.org>2015-08-03 20:34:58 +0800
committerShannon Zhao <shannon.zhao@linaro.org>2015-08-03 20:56:44 +0800
commit863394fce1f2be8589396cd0684e6693ec89f295 (patch)
tree547d41fb7d28499738a4307790e9c45d1e082c68 /fs/namespace.c
parentda7f8081816a2adca24faba98b4b7659e6dc2712 (diff)
parent3cdf91941d7490ba1d0a72729a667c42b489b23a (diff)
Merge tag 'v3.14.48' of git://git./linux/kernel/git/stable/linux-stable into linux-linaro-lsk-v3.14
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Conflicts: include/kvm/arm_vgic.h virt/kvm/arm/vgic.c virt/kvm/arm/vgic-v2.c virt/kvm/arm/vgic-v3.c
Diffstat (limited to 'fs/namespace.c')
-rw-r--r--fs/namespace.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 1e06f2df10c8..6247d1aed5df 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -3058,11 +3058,15 @@ bool fs_fully_visible(struct file_system_type *type)
if (mnt->mnt.mnt_root != mnt->mnt.mnt_sb->s_root)
continue;
- /* This mount is not fully visible if there are any child mounts
- * that cover anything except for empty directories.
+ /* This mount is not fully visible if there are any
+ * locked child mounts that cover anything except for
+ * empty directories.
*/
list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) {
struct inode *inode = child->mnt_mountpoint->d_inode;
+ /* Only worry about locked mounts */
+ if (!(mnt->mnt.mnt_flags & MNT_LOCKED))
+ continue;
if (!S_ISDIR(inode->i_mode))
goto next;
if (inode->i_nlink > 2)