diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2016-08-25 20:06:02 -0400 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2016-08-29 03:48:54 -0400 |
commit | 2a334cfaf393187d592999d1039135e000a68e9a (patch) | |
tree | 253fab9f848f8987aa38762b14333e4c8c6c9109 | |
parent | 01da51981d0e80ef6ccc44e48a278f70a88f6187 (diff) |
usb: gadget: goku_udc: fix memory leak in goku_probe()
Memory allocated for goku_udc device is not deallocated at error
paths in goku_probe(), because gadget_release() destructor
is not registered yet.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
-rw-r--r-- | drivers/usb/gadget/udc/goku_udc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/gadget/udc/goku_udc.c b/drivers/usb/gadget/udc/goku_udc.c index 1400415fe67a..5107987bd353 100644 --- a/drivers/usb/gadget/udc/goku_udc.c +++ b/drivers/usb/gadget/udc/goku_udc.c | |||
@@ -1838,6 +1838,8 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
1838 | err: | 1838 | err: |
1839 | if (dev) | 1839 | if (dev) |
1840 | goku_remove (pdev); | 1840 | goku_remove (pdev); |
1841 | /* gadget_release is not registered yet, kfree explicitly */ | ||
1842 | kfree(dev); | ||
1841 | return retval; | 1843 | return retval; |
1842 | } | 1844 | } |
1843 | 1845 | ||