3.19.8-ckt4 -stable review patch.  If anyone has any objections, please let me 
know.

------------------

From: "Eric W. Biederman" <ebied...@xmission.com>

commit ceeb0e5d39fcdf4dca2c997bf225c7fc49200b37 upstream.

Limit the mounts fs_fully_visible considers to locked mounts.
Unlocked can always be unmounted so considering them adds hassle
but no security benefit.

Signed-off-by: "Eric W. Biederman" <ebied...@xmission.com>
Signed-off-by: Kamal Mostafa <ka...@canonical.com>
---
 fs/namespace.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 34669cc..3d29b31 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -3166,11 +3166,15 @@ static bool fs_fully_visible(struct file_system_type 
*type, int *new_mnt_flags)
                    ((mnt->mnt.mnt_flags & MNT_ATIME_MASK) != (new_flags & 
MNT_ATIME_MASK)))
                        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)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to