[lkml]   [2011]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
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 <>
Don't top-post
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