[PATCH] staging/hv: Fix memory leak of storvsc_dev_add()

KY Srinivasan kys at microsoft.com
Wed Jun 1 12:28:40 UTC 2011



> -----Original Message-----
> From: devel-bounces at linuxdriverproject.org [mailto:devel-
> bounces at linuxdriverproject.org] On Behalf Of Andre Bartke
> Sent: Tuesday, May 31, 2011 5:46 PM
> To: gregkh at suse.de
> Cc: devel at driverdev.osuosl.org; Andre Bartke; Haiyang Zhang; linux-
> kernel at vger.kernel.org
> Subject: [PATCH] staging/hv: Fix memory leak of storvsc_dev_add()
> 
> stor_device is not freed in storvsc_dev_add()
> causing a memory leak in case of an allocation error.
> 
> Signed-off-by: Andre Bartke <andre.bartke at gmail.com>
> ---
>  drivers/staging/hv/storvsc.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/staging/hv/storvsc.c b/drivers/staging/hv/storvsc.c
> index 06cd327..92b44f4 100644
> --- a/drivers/staging/hv/storvsc.c
> +++ b/drivers/staging/hv/storvsc.c
> @@ -414,6 +414,7 @@ int storvsc_dev_add(struct hv_device *device,
>  	device_info->target_id = stor_device->target_id;
> 
>  cleanup:
> +	free_stor_device(stor_device);
>  	return ret;

Was this patch tested? Even the normal path falls through the cleanup label
and obviously you should not be freeing the stor_device in that case. I have 
patches queued up to cleanup some of the unnecessary labels and meaningless
return values that I will be sending soon.

Regards,

K. Y
 





More information about the devel mailing list