Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
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;
}
* 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)