From: Evgeny Novikov Date: Tue, 21 Jul 2020 20:15:58 +0000 (+0300) Subject: usb: gadget: net2280: fix memory leak on probe error handling paths X-Git-Tag: v5.4.59~187 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=77d7ce9ccb3376be9f160c6820377b5a0d08ae62;p=users%2Fdwmw2%2Flinux.git usb: gadget: net2280: fix memory leak on probe error handling paths [ Upstream commit 2468c877da428ebfd701142c4cdfefcfb7d4c00e ] Driver does not release memory for device on error handling paths in net2280_probe() when gadget_release() is not registered yet. The patch fixes the bug like in other similar drivers. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Evgeny Novikov Signed-off-by: Felipe Balbi Signed-off-by: Sasha Levin --- diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c index 51efee21915ff..7c616d7641c6d 100644 --- a/drivers/usb/gadget/udc/net2280.c +++ b/drivers/usb/gadget/udc/net2280.c @@ -3782,8 +3782,10 @@ static int net2280_probe(struct pci_dev *pdev, const struct pci_device_id *id) return 0; done: - if (dev) + if (dev) { net2280_remove(pdev); + kfree(dev); + } return retval; }