locks: missing unlock on error in generic_add_lease()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 13 Nov 2013 07:56:27 +0000 (10:56 +0300)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 13 Nov 2013 12:30:53 +0000 (07:30 -0500)
We should unlock here before returning.

Fixes: df4e8d2c1d2b ('locks: implement delegations')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/locks.c

index f99d52bdd05ab8570b7f2c016b0fa6f99a2dc4db..92a0f0a52b06522e69b9452693a3f7f52cef5b40 100644 (file)
@@ -1494,6 +1494,7 @@ static int generic_add_lease(struct file *filp, long arg, struct file_lock **flp
 
        if (is_deleg && arg == F_WRLCK) {
                /* Write delegations are not currently supported: */
+               mutex_unlock(&inode->i_mutex);
                WARN_ON_ONCE(1);
                return -EINVAL;
        }