aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/namespace.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 29b70669435..34156260c9b 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1334,8 +1334,12 @@ asmlinkage long sys_pivot_root(const char __user *new_root, const char __user *p
1334 error = -EINVAL; 1334 error = -EINVAL;
1335 if (user_nd.mnt->mnt_root != user_nd.dentry) 1335 if (user_nd.mnt->mnt_root != user_nd.dentry)
1336 goto out2; /* not a mountpoint */ 1336 goto out2; /* not a mountpoint */
1337 if (user_nd.mnt->mnt_parent == user_nd.mnt)
1338 goto out2; /* not attached */
1337 if (new_nd.mnt->mnt_root != new_nd.dentry) 1339 if (new_nd.mnt->mnt_root != new_nd.dentry)
1338 goto out2; /* not a mountpoint */ 1340 goto out2; /* not a mountpoint */
1341 if (new_nd.mnt->mnt_parent == new_nd.mnt)
1342 goto out2; /* not attached */
1339 tmp = old_nd.mnt; /* make sure we can reach put_old from new_root */ 1343 tmp = old_nd.mnt; /* make sure we can reach put_old from new_root */
1340 spin_lock(&vfsmount_lock); 1344 spin_lock(&vfsmount_lock);
1341 if (tmp != new_nd.mnt) { 1345 if (tmp != new_nd.mnt) {