* Re: Patch "ext4: fix memory leak in xattr" has been added to the 3.0-stable tree
[not found] <13817826832984@kroah.com>
@ 2013-10-15 18:11 ` Dave Jones
0 siblings, 0 replies; only message in thread
From: Dave Jones @ 2013-10-15 18:11 UTC (permalink / raw)
To: sandeen, tytso, Linux Kernel
On Mon, Oct 14, 2013 at 01:31:23PM -0700, gregkh@linuxfoundation.org wrote:
> If we take the 2nd retry path in ext4_expand_extra_isize_ea, we
> potentionally return from the function without having freed these
> allocations. If we don't do the return, we over-write the previous
> allocation pointers, so we leak either way.
>
> Spotted with Coverity.
>
> [ Fixed by tytso to set is and bs to NULL after freeing these
> pointers, in case in the retry loop we later end up triggering an
> error causing a jump to cleanup, at which point we could have a double
> free bug. -- Ted ]
>
> ---
> fs/ext4/xattr.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- a/fs/ext4/xattr.c
> +++ b/fs/ext4/xattr.c
> @@ -1271,6 +1271,8 @@ retry:
> s_min_extra_isize) {
> tried_min_extra_isize++;
> new_extra_isize = s_min_extra_isize;
> + kfree(is); is = NULL;
> + kfree(bs); bs = NULL;
> goto retry;
> }
Because this was different in my local tree I ended up looking it over again
when I rebased. Do we also need the patch below ?
Dave
If we take the retry path here, we end up potentially overwriting bh, leaving
it with an elevated reference count.
Signed-off-by: Dave Jones <davej@fedoraproject.org>
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;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2013-10-15 18:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <13817826832984@kroah.com>
2013-10-15 18:11 ` Patch "ext4: fix memory leak in xattr" has been added to the 3.0-stable tree Dave Jones
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.