2020-07-29 03:05:06

by Lu Wei

[permalink] [raw]
Subject: [PATCH] net: nixge: fix potential memory leak in nixge_probe()

If some processes in nixge_probe() fail, free_netdev(dev)
needs to be called to aviod a memory leak.

Fixes: 87ab207981ec ("net: nixge: Separate ctrl and dma resources")
Fixes: abcd3d6fc640 ("net: nixge: Fix error path for obtaining mac address")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Lu Wei <[email protected]>
---
drivers/net/ethernet/ni/nixge.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c
index d2708a57f2ff..4075f5e59955 100644
--- a/drivers/net/ethernet/ni/nixge.c
+++ b/drivers/net/ethernet/ni/nixge.c
@@ -1299,19 +1299,21 @@ static int nixge_probe(struct platform_device *pdev)
netif_napi_add(ndev, &priv->napi, nixge_poll, NAPI_POLL_WEIGHT);
err = nixge_of_get_resources(pdev);
if (err)
- return err;
+ goto free_netdev;
__nixge_hw_set_mac_address(ndev);

priv->tx_irq = platform_get_irq_byname(pdev, "tx");
if (priv->tx_irq < 0) {
netdev_err(ndev, "could not find 'tx' irq");
- return priv->tx_irq;
+ err = priv->tx_irq;
+ goto free_netdev;
}

priv->rx_irq = platform_get_irq_byname(pdev, "rx");
if (priv->rx_irq < 0) {
netdev_err(ndev, "could not find 'rx' irq");
- return priv->rx_irq;
+ err = priv->rx_irq;
+ goto free_netdev;
}

priv->coalesce_count_rx = XAXIDMA_DFT_RX_THRESHOLD;
--
2.17.1


2020-07-29 07:51:25

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH] net: nixge: fix potential memory leak in nixge_probe()

> If some processes in nixge_probe() fail, free_netdev(dev)
> needs to be called to aviod a memory leak.

* Would you like to avoid a typo in this change description?

* An imperative wording can be preferred here, can't it?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?id=6ba1b005ffc388c2aeaddae20da29e4810dea298#n151

Regards,
Markus

2020-07-30 23:58:38

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: nixge: fix potential memory leak in nixge_probe()

From: Lu Wei <[email protected]>
Date: Wed, 29 Jul 2020 11:50:05 +0800

> If some processes in nixge_probe() fail, free_netdev(dev)
> needs to be called to aviod a memory leak.
>
> Fixes: 87ab207981ec ("net: nixge: Separate ctrl and dma resources")
> Fixes: abcd3d6fc640 ("net: nixge: Fix error path for obtaining mac address")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Lu Wei <[email protected]>

Applied, thank you.