All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Teigland <teigland@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] fs, dlm: Don't leak, don't do pointless NULL checks and use kzalloc
Date: Wed, 29 Jun 2011 17:40:56 -0400	[thread overview]
Message-ID: <20110629214056.GA11350@redhat.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1106292304380.3747@swampdragon.chaosbits.net>

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.

> 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



WARNING: multiple messages have this Message-ID (diff)
From: David Teigland <teigland@redhat.com>
To: Jesper Juhl <jj@chaosbits.net>
Cc: linux-kernel@vger.kernel.org, cluster-devel@redhat.com,
	Christine Caulfield <ccaulfie@redhat.com>
Subject: Re: [PATCH] fs, dlm: Don't leak, don't do pointless NULL checks and use kzalloc
Date: Wed, 29 Jun 2011 17:40:56 -0400	[thread overview]
Message-ID: <20110629214056.GA11350@redhat.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1106292304380.3747@swampdragon.chaosbits.net>

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.

> 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

  reply	other threads:[~2011-06-29 21:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-29 21:09 [PATCH] fs, dlm: Don't leak, don't do pointless NULL checks and use kzalloc Jesper Juhl
2011-06-29 21:40 ` David Teigland [this message]
2011-06-29 21:40   ` David Teigland
2011-06-29 21:51   ` Jesper Juhl
2011-06-29 22:17     ` [Cluster-devel] " David Teigland
2011-06-29 22:17       ` David Teigland
2011-07-02 17:57       ` Jesper Juhl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110629214056.GA11350@redhat.com \
    --to=teigland@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.