lkml.org 
[lkml]   [2011]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@chaosbits.net> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.



\
 
 \ /
  Last update: 2011-06-30 00:03    [W:0.040 / U:3.652 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site