From 87ea0f63508a7cc0be4ab52cd3213fda5b9f7947 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Tue, 6 Sep 2005 15:19:36 -0700 Subject: [PATCH] --- yaml --- r: 7513 b: refs/heads/master c: 0bb6fcc13ae4fad98e0d610458975e47be0d2203 h: refs/heads/master i: 7511: c58470bd206ace976e246904dc9df49986e0a1d4 v: v3 --- [refs] | 2 +- trunk/fs/namespace.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 11f2b6466fd3..513c5395dfc5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: deac66ae454cacf942c051b86d9232af546fb187 +refs/heads/master: 0bb6fcc13ae4fad98e0d610458975e47be0d2203 diff --git a/trunk/fs/namespace.c b/trunk/fs/namespace.c index 29b70669435c..34156260c9b6 100644 --- a/trunk/fs/namespace.c +++ b/trunk/fs/namespace.c @@ -1334,8 +1334,12 @@ asmlinkage long sys_pivot_root(const char __user *new_root, const char __user *p error = -EINVAL; if (user_nd.mnt->mnt_root != user_nd.dentry) goto out2; /* not a mountpoint */ + if (user_nd.mnt->mnt_parent == user_nd.mnt) + goto out2; /* not attached */ if (new_nd.mnt->mnt_root != new_nd.dentry) goto out2; /* not a mountpoint */ + if (new_nd.mnt->mnt_parent == new_nd.mnt) + goto out2; /* not attached */ tmp = old_nd.mnt; /* make sure we can reach put_old from new_root */ spin_lock(&vfsmount_lock); if (tmp != new_nd.mnt) {