2012-10-23 20:10:21

by Lennart Sorensen

[permalink] [raw]
Subject: Fix memory leak in sierra_release()

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

Here is the patch to fix it.

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 11:00:39

by Bjørn Mork

[permalink] [raw]
Subject: Re: Fix memory leak in sierra_release()

"Lennart Sorensen" <[email protected]> writes:

> I found a memory leak in sierra_release() (well sierra_probe() I guess)
> that looses 8 bytes each time the driver releases a device.
>
> Here is the patch to fix it.
>
> 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

Looks sensible to me, but needs a signed-off-by and CC to linux-usb.


Bjørn

2012-10-24 14:15:10

by Lennart Sorensen

[permalink] [raw]
Subject: Re: Fix memory leak in sierra_release()

On Wed, Oct 24, 2012 at 01:00:21PM +0200, Bjørn Mork wrote:
> "Lennart Sorensen" <[email protected]> writes:
>
> > I found a memory leak in sierra_release() (well sierra_probe() I guess)
> > that looses 8 bytes each time the driver releases a device.
> >
> > Here is the patch to fix it.
> >
> > 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
>
> Looks sensible to me, but needs a signed-off-by and CC to linux-usb.

Oh yeah. I shouldn't send patches at the end of the day.

I will try again.

--
Len Sorensen