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)