Commit d3a874e8 authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Greg Kroah-Hartman

staging: gdm72xx: fix leaks at failure path in gdm_usb_probe()

Error handling code in gdm_usb_probe() misses to deallocate
tx_ and rx_structs and to do usb_put_dev().

Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ead00ddc
...@@ -635,11 +635,14 @@ static int gdm_usb_probe(struct usb_interface *intf, ...@@ -635,11 +635,14 @@ static int gdm_usb_probe(struct usb_interface *intf,
#endif /* CONFIG_WIMAX_GDM72XX_USB_PM */ #endif /* CONFIG_WIMAX_GDM72XX_USB_PM */
ret = register_wimax_device(phy_dev, &intf->dev); ret = register_wimax_device(phy_dev, &intf->dev);
if (ret)
release_usb(udev);
out: out:
if (ret) { if (ret) {
kfree(phy_dev); kfree(phy_dev);
kfree(udev); kfree(udev);
usb_put_dev(usbdev);
} else { } else {
usb_set_intfdata(intf, phy_dev); usb_set_intfdata(intf, phy_dev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment