3.11.10.15 -stable review patch. If anyone has any objections, please let me know. ------------------ From: Vasily Averin <vvs@xxxxxxxxxxxxx> commit 295dc39d941dc2ae53d5c170365af4c9d5c16212 upstream. Currently umount on symlink blocks following umount: /vz is separate mount drwxr-xr-x. 2 root root 4096 Jul 19 01:14 testdir lrwxrwxrwx. 1 root root 11 Jul 19 01:16 testlink -> /vz/testdir umount: /vz/testlink: not mounted (expected) umount: /vz: device is busy. (unexpected) In this case mountpoint_last() gets an extra refcount on path->mnt Signed-off-by: Vasily Averin <vvs@xxxxxxxxxx> Acked-by: Ian Kent <raven@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Neil Brown <neilb@xxxxxxx> [ luis: backported to 3.11: adjusted context ] Signed-off-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> --- fs/namei.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/namei.c b/fs/namei.c index a10bd2f8b66b..2d36c4651627 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -2260,10 +2260,11 @@ error_check: dput(dentry); } else { path->dentry = dentry; - path->mnt = mntget(nd->path.mnt); + path->mnt = nd->path.mnt; if (should_follow_link(dentry->d_inode, nd->flags & LOOKUP_FOLLOW)) return 1; + mntget(path->mnt); follow_mount(path); } } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html