vfs: spread struct mount - tree_contains_unbindable

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/namespace.c b/fs/namespace.c
index 64ae40c..91bd15d 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1845,10 +1845,10 @@
 	return err;
 }
 
-static inline int tree_contains_unbindable(struct vfsmount *mnt)
+static inline int tree_contains_unbindable(struct mount *mnt)
 {
 	struct mount *p;
-	for (p = real_mount(mnt); p; p = next_mnt(p, mnt)) {
+	for (p = mnt; p; p = next_mnt(p, &mnt->mnt)) {
 		if (IS_MNT_UNBINDABLE(&p->mnt))
 			return 1;
 	}
@@ -1902,7 +1902,7 @@
 	 * mount which is shared.
 	 */
 	if (IS_MNT_SHARED(path->mnt) &&
-	    tree_contains_unbindable(old_path.mnt))
+	    tree_contains_unbindable(old))
 		goto out1;
 	err = -ELOOP;
 	for (p = path->mnt; mnt_has_parent(p); p = p->mnt_parent)