[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220510153619.32464-3-ap420073@gmail.com>
Date: Tue, 10 May 2022 15:36:19 +0000
From: Taehee Yoo <ap420073@...il.com>
To: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, ecree.xilinx@...il.com,
habetsm.xilinx@...il.com, netdev@...r.kernel.org
Cc: ap420073@...il.com
Subject: [PATCH net 2/2] net: sfc: siena: fix memory leak in siena_mtd_probe()
In the NIC ->probe callback, ->mtd_probe() callback is called.
If NIC has 2 ports, ->probe() is called twice and ->mtd_probe() too.
In the ->mtd_probe(), which is siena_mtd_probe() it allocates and
initializes mtd partiion.
But mtd partition for sfc is shared data.
So that allocated mtd partition data from last called
siena_mtd_probe() will not be used.
Therefore it must be freed.
But it doesn't free a not used mtd partition data in siena_mtd_probe().
Fixes: 8880f4ec21e6 ("sfc: Add support for SFC9000 family (2)")
Signed-off-by: Taehee Yoo <ap420073@...il.com>
---
drivers/net/ethernet/sfc/siena.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/sfc/siena.c b/drivers/net/ethernet/sfc/siena.c
index ce3060e15b54..8b42951e34d6 100644
--- a/drivers/net/ethernet/sfc/siena.c
+++ b/drivers/net/ethernet/sfc/siena.c
@@ -939,6 +939,11 @@ static int siena_mtd_probe(struct efx_nic *efx)
nvram_types >>= 1;
}
+ if (!n_parts) {
+ kfree(parts);
+ return 0;
+ }
+
rc = siena_mtd_get_fw_subtypes(efx, parts, n_parts);
if (rc)
goto fail;
--
2.17.1
Powered by blists - more mailing lists