2013-11-06 15:45:54

by Dave Jones

[permalink] [raw]
Subject: [PATCH] Add missing brelse to xattr code.

This code was recently patched to not leak memory on the retry path,
but it seems we are also forgetting to brelse the bufferhead.

Signed-off-by: Dave Jones <[email protected]>

diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 03e9bebba198..1423c4816a47 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1352,6 +1352,7 @@ retry:
new_extra_isize = s_min_extra_isize;
kfree(is); is = NULL;
kfree(bs); bs = NULL;
+ brelse(bh);
goto retry;
}
error = -1;


2013-11-12 12:43:27

by Theodore Ts'o

[permalink] [raw]
Subject: Re: Add missing brelse to xattr code.

On Wed, Nov 06, 2013 at 10:45:46AM -0500, Dave Jones wrote:
> This code was recently patched to not leak memory on the retry path,
> but it seems we are also forgetting to brelse the bufferhead.
>
> Signed-off-by: Dave Jones <[email protected]>

Thanks, I have this fix in my tree already.

Cheers,

- Ted

commit dcb9917ba041866686fe152850364826c4622a36
Author: Theodore Ts'o <[email protected]>
Date: Thu Oct 31 23:00:24 2013 -0400

ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea()

Reported-by: Dave Jones <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
Cc: [email protected]

diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 03e9beb..1423c48 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1352,6 +1352,7 @@ retry:
new_extra_isize = s_min_extra_isize;
kfree(is); is = NULL;
kfree(bs); bs = NULL;
+ brelse(bh);
goto retry;
}
error = -1;