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
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)
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.