diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2016-08-26 03:06:02 +0300 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2016-08-29 10:48:54 +0300 |
commit | 2a334cfaf393187d592999d1039135e000a68e9a (patch) | |
tree | 253fab9f848f8987aa38762b14333e4c8c6c9109 | |
parent | 01da51981d0e80ef6ccc44e48a278f70a88f6187 (diff) | |
download | op-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>
-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 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; } |