2009-04-14 07:36:37

by Akinobu Mita

[permalink] [raw]
Subject: [PATCH] ext2: fix missing mutex_unlock in error path

Add missing mutex_unlock in error path in ext2_quota_write()

Cc: Jan Kara <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index f983225..5c4afe6 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -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++;


2009-04-14 07:43:58

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] ext2: fix missing mutex_unlock in error path

Hello,

On Tue 14-04-09 16:36:31, Akinobu Mita wrote:
> Add missing mutex_unlock in error path in ext2_quota_write()
>
> Cc: Jan Kara <[email protected]>
> Signed-off-by: Akinobu Mita <[email protected]>
> ---
> diff --git a/fs/ext2/super.c b/fs/ext2/super.c
> index f983225..5c4afe6 100644
> --- a/fs/ext2/super.c
> +++ b/fs/ext2/super.c
> @@ -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++;
Thanks for the patch but I already have this patch in my quota tree from
Dan Carpenter...

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2009-04-14 07:44:05

by Manish Katiyar

[permalink] [raw]
Subject: Re: [PATCH] ext2: fix missing mutex_unlock in error path

On Tue, Apr 14, 2009 at 1:06 PM, Akinobu Mita <[email protected]> wrote:
> Add missing mutex_unlock in error path in ext2_quota_write()

This has already been taken I think.

http://patchwork.ozlabs.org/patch/25661/

Thanks -
Manish


>
> Cc: Jan Kara <[email protected]>
> Signed-off-by: Akinobu Mita <[email protected]>
> ---
> diff --git a/fs/ext2/super.c b/fs/ext2/super.c
> index f983225..5c4afe6 100644
> --- a/fs/ext2/super.c
> +++ b/fs/ext2/super.c
> @@ -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++;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>



--
Thanks -
Manish

2009-04-14 09:35:45

by Akinobu Mita

[permalink] [raw]
Subject: Re: [PATCH] ext2: fix missing mutex_unlock in error path

On Tue, Apr 14, 2009 at 09:43:57AM +0200, Jan Kara wrote:
> Thanks for the patch but I already have this patch in my quota tree from
> Dan Carpenter...

Oh, I should have checked your tree.
BTW, JFS still have same problem in jfs_quota_write()

2009-04-14 09:43:09

by Akinobu Mita

[permalink] [raw]
Subject: Re: [PATCH] ext2: fix missing mutex_unlock in error path

On Tue, Apr 14, 2009 at 06:35:45PM +0900, Akinobu Mita wrote:
> On Tue, Apr 14, 2009 at 09:43:57AM +0200, Jan Kara wrote:
> > Thanks for the patch but I already have this patch in my quota tree from
> > Dan Carpenter...
>
> Oh, I should have checked your tree.
> BTW, JFS still have same problem in jfs_quota_write()

It's already fixed in JFS tree...