diff mbox series

[6/7] ext4: lost brelse in ext4_xattr_move_to_block()

Message ID 76da5ae3-274d-efa4-58bb-6cd280763a37@virtuozzo.com
State Accepted, archived
Headers show
Series [1/7] ext4: lost brelse in __ext4_read_dirblock() | expand

Commit Message

Vasily Averin Oct. 31, 2018, 7:13 p.m. UTC
Fixes 3f2571c1f91f ("ext4: factor out xattr moving")
cc: Jan Kara <jack@suse.cz>
however issue was present in original ext4_expand_extra_isize_ea()
Fixes 6dd4ee7cab7e ("ext4: Expand extra_inodes space per ...") # 2.6.23
cc: Kalpak Shah <kalpak@clusterfs.com>

Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
---
 fs/ext4/xattr.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jan Kara Nov. 7, 2018, 1:50 p.m. UTC | #1
On Wed 31-10-18 22:13:00, Vasily Averin wrote:
> Fixes 3f2571c1f91f ("ext4: factor out xattr moving")
> cc: Jan Kara <jack@suse.cz>
> however issue was present in original ext4_expand_extra_isize_ea()
> Fixes 6dd4ee7cab7e ("ext4: Expand extra_inodes space per ...") # 2.6.23
> cc: Kalpak Shah <kalpak@clusterfs.com>
> 
> Signed-off-by: Vasily Averin <vvs@virtuozzo.com>

Good catch. Thanks for the fix. The patch looks good. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/ext4/xattr.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
> index 07b9a335c8eb..5c9bc0d85cc0 100644
> --- a/fs/ext4/xattr.c
> +++ b/fs/ext4/xattr.c
> @@ -2617,6 +2617,8 @@ static int ext4_xattr_move_to_block(handle_t *handle, struct inode *inode,
>  	kfree(buffer);
>  	if (is)
>  		brelse(is->iloc.bh);
> +	if (bs)
> +		brelse(bs->bh);
>  	kfree(is);
>  	kfree(bs);
>  
> -- 
> 2.17.1
>
Theodore Ts'o Nov. 7, 2018, 4:11 p.m. UTC | #2
On Wed, Nov 07, 2018 at 02:50:16PM +0100, Jan Kara wrote:
> On Wed 31-10-18 22:13:00, Vasily Averin wrote:
> > Fixes 3f2571c1f91f ("ext4: factor out xattr moving")
> > cc: Jan Kara <jack@suse.cz>
> > however issue was present in original ext4_expand_extra_isize_ea()
> > Fixes 6dd4ee7cab7e ("ext4: Expand extra_inodes space per ...") # 2.6.23
> > cc: Kalpak Shah <kalpak@clusterfs.com>
> > 
> > Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
> 
> Good catch. Thanks for the fix. The patch looks good. You can add:
> 
> Reviewed-by: Jan Kara <jack@suse.cz>

Thanks, applied.  I used the commit description:

    ext4: fix buffer leak in ext4_xattr_move_to_block() on error path

    	      	     	     - Ted
diff mbox series

Patch

diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 07b9a335c8eb..5c9bc0d85cc0 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -2617,6 +2617,8 @@  static int ext4_xattr_move_to_block(handle_t *handle, struct inode *inode,
 	kfree(buffer);
 	if (is)
 		brelse(is->iloc.bh);
+	if (bs)
+		brelse(bs->bh);
 	kfree(is);
 	kfree(bs);