diff options
author | Dan Carpenter <error27@gmail.com> | 2009-04-07 07:48:16 -0400 |
---|---|---|
committer | Dave Kleikamp <shaggy@linux.vnet.ibm.com> | 2009-04-07 09:19:45 -0400 |
commit | 9c83633ad38138855181af6936e8ac570ef7e2cb (patch) | |
tree | c9f0bd8139aafe3d1db50c457a520aeaff9ec7f6 /fs/jfs/super.c | |
parent | d508afb437daee7cf07da085b635c44a4ebf9b38 (diff) |
missing unlock in jfs_quota_write()
We should unlock &inode->i_mutex on the error path. This bug was
in ext2_quota_write(). I sent a patch to them today as well.
Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested.
regards,
dan carpenter
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Diffstat (limited to 'fs/jfs/super.c')
-rw-r--r-- | fs/jfs/super.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index 6f21adf9479a..d9b0e92b3602 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
@@ -720,8 +720,10 @@ static ssize_t jfs_quota_write(struct super_block *sb, int type, | |||
720 | blk++; | 720 | blk++; |
721 | } | 721 | } |
722 | out: | 722 | out: |
723 | if (len == towrite) | 723 | if (len == towrite) { |
724 | mutex_unlock(&inode->i_mutex); | ||
724 | return err; | 725 | return err; |
726 | } | ||
725 | if (inode->i_size < off+len-towrite) | 727 | if (inode->i_size < off+len-towrite) |
726 | i_size_write(inode, off+len-towrite); | 728 | i_size_write(inode, off+len-towrite); |
727 | inode->i_version++; | 729 | inode->i_version++; |