| From 8f0caf30272d1791c64fd5f5d7fe74b92db2cb6d Mon Sep 17 00:00:00 2001 |
| From: Wenwen Wang <wenwen@cs.uga.edu> |
| Date: Wed, 14 Aug 2019 01:38:39 -0500 |
| Subject: net: myri10ge: fix memory leaks |
| |
| [ Upstream commit 20fb7c7a39b5c719e2e619673b5f5729ee7d2306 ] |
| |
| In myri10ge_probe(), myri10ge_alloc_slices() is invoked to allocate slices |
| related structures. Later on, myri10ge_request_irq() is used to get an irq. |
| However, if this process fails, the allocated slices related structures are |
| not deallocated, leading to memory leaks. To fix this issue, revise the |
| target label of the goto statement to 'abort_with_slices'. |
| |
| Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c |
| index 6d1a956e3f779..02ec326cb1293 100644 |
| --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c |
| +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c |
| @@ -4113,7 +4113,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) |
| * setup (if available). */ |
| status = myri10ge_request_irq(mgp); |
| if (status != 0) |
| - goto abort_with_firmware; |
| + goto abort_with_slices; |
| myri10ge_free_irq(mgp); |
| |
| /* Save configuration space to be restored if the |
| -- |
| 2.20.1 |
| |