summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorAlexey Khoroshilov <khoroshilov@ispras.ru>2016-08-26 03:06:02 +0300
committerFelipe Balbi <felipe.balbi@linux.intel.com>2016-08-29 10:48:54 +0300
commit2a334cfaf393187d592999d1039135e000a68e9a (patch)
tree253fab9f848f8987aa38762b14333e4c8c6c9109 /drivers/usb/gadget
parent01da51981d0e80ef6ccc44e48a278f70a88f6187 (diff)
downloadop-kernel-dev-2a334cfaf393187d592999d1039135e000a68e9a.zip
op-kernel-dev-2a334cfaf393187d592999d1039135e000a68e9a.tar.gz
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>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/udc/goku_udc.c2
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 1400415..5107987 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)
err:
if (dev)
goku_remove (pdev);
+ /* gadget_release is not registered yet, kfree explicitly */
+ kfree(dev);
return retval;
}
OpenPOWER on IntegriCloud