All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jes Sorensen <Jes.Sorensen@redhat.com>
To: NeilBrown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org, gqjiang@suse.com, pawel.baldysiak@intel.com
Subject: Re: [PATCH 5/8] {platform,super}-intel: Fix two resource leaks
Date: Wed, 09 Mar 2016 11:23:50 -0500	[thread overview]
Message-ID: <wrfjegbjvcvd.fsf@redhat.com> (raw)
In-Reply-To: <87d1r4lhb8.fsf@notabene.neil.brown.name> (NeilBrown's message of "Wed, 09 Mar 2016 09:45:47 +1100")

NeilBrown <neilb@suse.de> writes:
> On Wed, Mar 09 2016, Jes.Sorensen@redhat.com wrote:
>
>> From: Jes Sorensen <Jes.Sorensen@redhat.com>
>>
>> The code did not free 'dir' allocated by opendir(). An additional
>> benefit is that this simplifies the for() loops.
>>
>> Fixes: 60f0f54d ("IMSM: Add support for VMD")
>> Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
>> ---
>>  platform-intel.c | 7 ++++++-
>>  super-intel.c    | 6 +++++-
>>  2 files changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/platform-intel.c b/platform-intel.c
>> index 88818f3..c60fd9e 100644
>> --- a/platform-intel.c
>> +++ b/platform-intel.c
>> @@ -724,8 +724,10 @@ char *vmd_domain_to_controller(struct sys_dev *hba, char *buf)
>>  		return NULL;
>>  
>>  	dir = opendir("/sys/bus/pci/drivers/vmd");
>> +	if (!dir)
>> +		return NULL;
>>  
>> -	for (ent = dir ? readdir(dir) : NULL; ent; ent = readdir(dir)) {
>> +	for (ent = readdir(dir); ent; ent = readdir(dir)) {
>>  		sprintf(path, "/sys/bus/pci/drivers/vmd/%s/domain/device",
>>  			ent->d_name);
>>  
>> @@ -734,8 +736,11 @@ char *vmd_domain_to_controller(struct sys_dev *hba, char *buf)
>>  
>>  		if (strncmp(buf, hba->path, strlen(buf)) == 0) {
>>  			sprintf(path, "/sys/bus/pci/drivers/vmd/%s", ent->d_name);
>> +			closedir(dir);
>>  			return realpath(path, buf);
>>  		}
>>  	}
>> +
>> +	closedir(dir);
>>  	return NULL;
>>  }
>> diff --git a/super-intel.c b/super-intel.c
>> index 158f4e8..e1bee75 100644
>> --- a/super-intel.c
>> +++ b/super-intel.c
>> @@ -1781,7 +1781,10 @@ static int print_vmd_attached_devs(struct sys_dev *hba)
>>  	 * this hba
>>  	 */
>>  	dir = opendir("/sys/bus/pci/drivers/nvme");
>> -	for (ent = dir ? readdir(dir) : NULL; ent; ent = readdir(dir)) {
>> +	if (!dir)
>> +		return 1;
>> +
>
> Returning '1' looks really weird here.  I can see it is consistent with
> 	if (hba->type != SYS_DEV_VMD)
> 		return 1;
>
> above, but still....
> As the return value is never used, should we just make it 'void' ??

Seems reasonable - I'll put that in a separate patch.

Cheers,
Jes

  reply	other threads:[~2016-03-09 16:23 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-08 17:30 [PATCH 0/8] mdadm static checker fixes Jes.Sorensen
2016-03-08 17:30 ` [PATCH 1/8] Manage: Manage_add(): Fix memory leak Jes.Sorensen
2016-03-08 17:30 ` [PATCH 2/8] load_sys(): Add a buffer size argument Jes.Sorensen
2016-03-08 17:30 ` [PATCH 3/8] Grow: Grow_continue_command() remove dead code Jes.Sorensen
2016-03-08 22:42   ` NeilBrown
2016-03-09 16:19     ` Jes Sorensen
2016-03-08 17:30 ` [PATCH 4/8] Grow: Grow_addbitmap(): Add check to quiet down static code checkers Jes.Sorensen
2016-03-09 17:42   ` Guoqing Jiang
2016-03-09 14:00     ` Jes Sorensen
2016-03-10  7:21       ` NeilBrown
2016-03-10 16:40         ` Jes Sorensen
2016-03-08 17:30 ` [PATCH 5/8] {platform,super}-intel: Fix two resource leaks Jes.Sorensen
2016-03-08 22:45   ` NeilBrown
2016-03-09 16:23     ` Jes Sorensen [this message]
2016-03-10 11:14       ` Baldysiak, Pawel
2016-03-10 16:37         ` Jes Sorensen
2016-03-08 17:30 ` [PATCH 6/8] bitmap: Fix resource leak in bitmap_file_open() Jes.Sorensen
2016-03-08 22:50   ` NeilBrown
2016-03-09 16:28     ` Jes Sorensen
2016-03-08 17:30 ` [PATCH 7/8] Manage: Manage_subdevs() fix file descriptor leak Jes.Sorensen
2016-03-08 17:30 ` [PATCH 8/8] super1: Fix potential buffer overflows when copying cluster_name Jes.Sorensen
2016-03-08 22:55 ` [PATCH 0/8] mdadm static checker fixes NeilBrown
2016-03-09 16:30   ` Jes Sorensen

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=wrfjegbjvcvd.fsf@redhat.com \
    --to=jes.sorensen@redhat.com \
    --cc=gqjiang@suse.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=pawel.baldysiak@intel.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.