[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.00.1106292344110.3747@swampdragon.chaosbits.net>
Date: Wed, 29 Jun 2011 23:51:00 +0200 (CEST)
From: Jesper Juhl <jj@...osbits.net>
To: David Teigland <teigland@...hat.com>
cc: linux-kernel@...r.kernel.org, cluster-devel@...hat.com,
Christine Caulfield <ccaulfie@...hat.com>
Subject: Re: [PATCH] fs, dlm: Don't leak, don't do pointless NULL checks and
use kzalloc
On Wed, 29 Jun 2011, David Teigland wrote:
> On Wed, Jun 29, 2011 at 11:09:27PM +0200, Jesper Juhl wrote:
> > In fs/dlm/lock.c in the dlm_scan_waiters() function there are 3 small
> > issues:
> >
> > 1) first time through the loop we allocate memory for 'warned', if we
> > then (in the loop) don't take the "if (!warned)" path and loop again,
> > the second time through the loop we'll allocate memory again and store
> > it to 'warned' without freeing the previous allocation - this leaks
> > memory.
>
> I don't think so; num_nodes won't be set to zero.
>
Hmm. How so? Maybe I'm missing something obvious, but;
num_nodes is initialized to zero at the beginning of the function, which
means that we'll definately do the first allocation in the loop.
We then set num_nodes equal to ls->ls_num_nodes - what guarantees that
this will not be zero so we won't do a second allocation (and leak) the
second time through the loop?
> > 2) There's no need to test the return value of the allocation and do a
> > memset if is succeedes. Just use kzalloc() to obtain zeroed memory.
>
> fine
>
> > 3) Since kfree() handles NULL pointers gracefully, the test of
> > 'warned' against NULL before the kfree() after the loop is completely
> > pointless. Remove it.
>
> fine
>
> ack if you want to push those two out yourself.
> Dave
Ok. I can resend a patch (tomorrow) with just those two changes and will
add your Acked-by:
--
Jesper Juhl <jj@...osbits.net> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists