2012-10-24 14:23:12

by Lennart Sorensen

[permalink] [raw]
Subject: Fix memory leak in sierra_release() (this time with signed-off-by)

I found a memory leak in sierra_release() (well sierra_probe() I guess)
that looses 8 bytes each time the driver releases a device.

Signed-off-by: Len Sorensen <[email protected]>

diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
index 01d882c..76ef95b 100644
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
@@ -959,6 +959,7 @@ static void sierra_release(struct usb_serial *serial)
continue;
kfree(portdata);
}
+ kfree(serial->private);
}

#ifdef CONFIG_PM

--
Len Sorensen


2012-10-24 14:57:14

by Johan Hovold

[permalink] [raw]
Subject: Re: Fix memory leak in sierra_release() (this time with signed-off-by)

On Wed, Oct 24, 2012 at 10:23:09AM -0400, Lennart Sorensen wrote:
> I found a memory leak in sierra_release() (well sierra_probe() I guess)
> that looses 8 bytes each time the driver releases a device.

Good catch! I missed this one when I fixed a bunch of other memory
leaks in the sierra with recent kernels:

http://marc.info/?l=linux-usb&m=135100550421848&w=2

I'll rebase my patch on top of this one as your patch should be
backported to all stable kernels, whereas mine is only required for
v3.6 and later.

> Signed-off-by: Len Sorensen <[email protected]>

Cc: <[email protected]>
Acked-by: Johan Hovold <[email protected]>

Thanks,
Johan


> diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
> index 01d882c..76ef95b 100644
> --- a/drivers/usb/serial/sierra.c
> +++ b/drivers/usb/serial/sierra.c
> @@ -959,6 +959,7 @@ static void sierra_release(struct usb_serial *serial)
> continue;
> kfree(portdata);
> }
> + kfree(serial->private);
> }
>
> #ifdef CONFIG_PM

2012-10-24 16:06:16

by Lennart Sorensen

[permalink] [raw]
Subject: Re: Fix memory leak in sierra_release() (this time with signed-off-by)

On Wed, Oct 24, 2012 at 04:56:44PM +0200, Johan Hovold wrote:
> Good catch! I missed this one when I fixed a bunch of other memory
> leaks in the sierra with recent kernels:
>
> http://marc.info/?l=linux-usb&m=135100550421848&w=2
>
> I'll rebase my patch on top of this one as your patch should be
> backported to all stable kernels, whereas mine is only required for
> v3.6 and later.

Oh that looks useful. I was trying to track down if there were more
leaks in the driver. I just fixed the one that was most obvious to me.

--
Len Sorensen