netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] net: phy: phy_device: free the phy_device on the phy_device_create error path
@ 2024-02-23 16:01 Maxime Chevallier
  2024-02-23 16:06 ` Maxime Chevallier
  2024-02-23 16:18 ` Russell King (Oracle)
  0 siblings, 2 replies; 4+ messages in thread
From: Maxime Chevallier @ 2024-02-23 16:01 UTC (permalink / raw)
  To: Andrew Lunn, Heiner Kallweit, Russell King, davem, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Johan Hovold
  Cc: Maxime Chevallier, netdev, linux-kernel, thomas.petazzoni

When error'ing out from phy_device_create(), the previously kzalloc'd "dev"
pointer gets overwritten with an error pointer, without freeing it
beforehand, thus leaking the allocated phy_device. Add the missing kfree
back.

Fixes: d02cbc461361 ("net: phy: fix memory leak in device-create error path")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
 drivers/net/phy/phy_device.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 3611ea64875e..2b4d04e3d479 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -711,6 +711,7 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, u32 phy_id,
 
 	if (ret) {
 		put_device(&mdiodev->dev);
+		kfree(dev);
 		dev = ERR_PTR(ret);
 	}
 
-- 
2.43.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-02-23 16:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-23 16:01 [PATCH net] net: phy: phy_device: free the phy_device on the phy_device_create error path Maxime Chevallier
2024-02-23 16:06 ` Maxime Chevallier
2024-02-23 16:19   ` Russell King (Oracle)
2024-02-23 16:18 ` Russell King (Oracle)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).