From: Dave Jones Date: Tue, 10 Sep 2013 21:04:25 +0000 (-0400) Subject: Add missing unlocks to error paths of mountpoint_last. X-Git-Tag: v3.12-rc1~25^2~1 X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=bcceeeba9b3ca99c29523bb7af16727f8a837db4;hp=443ed254c32ae9abf2f984038f656f3283aff759;p=~andy%2Flinux Add missing unlocks to error paths of mountpoint_last. Signed-off-by: Dave Jones Signed-off-by: Al Viro --- diff --git a/fs/namei.c b/fs/namei.c index 841c8d9286c..0dc4cbf21f3 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -2261,12 +2261,15 @@ mountpoint_last(struct nameidata *nd, struct path *path) dentry = d_alloc(dir, &nd->last); if (!dentry) { error = -ENOMEM; + mutex_unlock(&dir->d_inode->i_mutex); goto out; } dentry = lookup_real(dir->d_inode, dentry, nd->flags); error = PTR_ERR(dentry); - if (IS_ERR(dentry)) + if (IS_ERR(dentry)) { + mutex_unlock(&dir->d_inode->i_mutex); goto out; + } } mutex_unlock(&dir->d_inode->i_mutex);