2014-07-25 22:34:42

by Alexey Khoroshilov

[permalink] [raw]
Subject: [PATCH] isdn/bas_gigaset: fix a leak on failure path in gigaset_probe()

There is a lack of usb_put_dev(udev) on failure path in gigaset_probe().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <[email protected]>
---
drivers/isdn/gigaset/bas-gigaset.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c
index c44950d3eb7b..b7ae0a0dd5b6 100644
--- a/drivers/isdn/gigaset/bas-gigaset.c
+++ b/drivers/isdn/gigaset/bas-gigaset.c
@@ -2400,6 +2400,7 @@ allocerr:
error:
freeurbs(cs);
usb_set_intfdata(interface, NULL);
+ usb_put_dev(udev);
gigaset_freecs(cs);
return rc;
}
--
1.9.1


2014-07-26 10:23:10

by Tilman Schmidt

[permalink] [raw]
Subject: Re: [PATCH] isdn/bas_gigaset: fix a leak on failure path in gigaset_probe()

Am 26.07.2014 00:34, schrieb Alexey Khoroshilov:
> There is a lack of usb_put_dev(udev) on failure path in gigaset_probe().

You're right. Good catch.

> Found by Linux Driver Verification project (linuxtesting.org).
>
> Signed-off-by: Alexey Khoroshilov <[email protected]>

Acked-by: Tilman Schmidt <[email protected]>

> ---
> drivers/isdn/gigaset/bas-gigaset.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c
> index c44950d3eb7b..b7ae0a0dd5b6 100644
> --- a/drivers/isdn/gigaset/bas-gigaset.c
> +++ b/drivers/isdn/gigaset/bas-gigaset.c
> @@ -2400,6 +2400,7 @@ allocerr:
> error:
> freeurbs(cs);
> usb_set_intfdata(interface, NULL);
> + usb_put_dev(udev);
> gigaset_freecs(cs);
> return rc;
> }
>

--
Tilman Schmidt E-Mail: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Unge?ffnet mindestens haltbar bis: (siehe R?ckseite)

2014-07-29 19:19:01

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] isdn/bas_gigaset: fix a leak on failure path in gigaset_probe()

From: Alexey Khoroshilov <[email protected]>
Date: Sat, 26 Jul 2014 02:34:31 +0400

> There is a lack of usb_put_dev(udev) on failure path in gigaset_probe().
>
> Found by Linux Driver Verification project (linuxtesting.org).
>
> Signed-off-by: Alexey Khoroshilov <[email protected]>

Applied, thanks.