ext2: missing unlock in ext2_quota_write()
authorDan Carpenter <error27@gmail.com>
Thu, 9 Apr 2009 16:07:10 +0000 (18:07 +0200)
committerJan Kara <jack@suse.cz>
Mon, 27 Apr 2009 14:49:52 +0000 (16:49 +0200)
The inode->i_mutex should be unlocked.

Found by smatch (http://repo.or.cz/w/smatch.git).  Compile tested.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext2/super.c

index f983225266dc7fa2066a5db6b0e929143f603ec1..5c4afe652245a9d045825f26f3ad3dbe0a06e13a 100644 (file)
@@ -1395,8 +1395,10 @@ static ssize_t ext2_quota_write(struct super_block *sb, int type,
                blk++;
        }
 out:
-       if (len == towrite)
+       if (len == towrite) {
+               mutex_unlock(&inode->i_mutex);
                return err;
+       }
        if (inode->i_size < off+len-towrite)
                i_size_write(inode, off+len-towrite);
        inode->i_version++;