| From 6c321b00b66c378b35e1f816fd4fbfaf17f10a4a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 21 Jul 2020 23:15:58 +0300 |
| Subject: usb: gadget: net2280: fix memory leak on probe error handling paths |
| |
| From: Evgeny Novikov <novikov@ispras.ru> |
| |
| [ 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 <novikov@ispras.ru> |
| Signed-off-by: Felipe Balbi <balbi@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/gadget/udc/net2280.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c |
| index 5eff85eeaa5a0..7530bd9a08c43 100644 |
| --- a/drivers/usb/gadget/udc/net2280.c |
| +++ b/drivers/usb/gadget/udc/net2280.c |
| @@ -3781,8 +3781,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; |
| } |
| |
| -- |
| 2.25.1 |
| |