From: Al Viro <viro@zeniv.linux.org.uk>
Date: Tue, 7 Apr 2009 16:21:18 +0000 (-0400)
Subject: Don't bother with check_mnt() in do_add_mount() on shrinkable ones
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=dd5cae6e9772ecc62fd374f7a8ec10eb51c96c4d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

Don't bother with check_mnt() in do_add_mount() on shrinkable ones

These guys are what we add as submounts; checks for "is that attached in
our namespace" are simply irrelevant for those and counterproductive for
use of private vfsmount trees a-la what NFS folks want.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---

diff --git a/fs/namespace.c b/fs/namespace.c
index 134d494158d9..88a904d5aa23 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1698,7 +1698,7 @@ int do_add_mount(struct vfsmount *newmnt, struct path *path,
 	       follow_down(&path->mnt, &path->dentry))
 		;
 	err = -EINVAL;
-	if (!check_mnt(path->mnt))
+	if (!(mnt_flags & MNT_SHRINKABLE) && !check_mnt(path->mnt))
 		goto unlock;
 
 	/* Refuse the same filesystem on the same mount point */