[PATCH 3/5] net: gianfar: fix device leak when querying time stamp info

Johan Hovold posted 5 patches 2 months, 1 week ago
[PATCH 3/5] net: gianfar: fix device leak when querying time stamp info
Posted by Johan Hovold 2 months, 1 week ago
Make sure to drop the reference to the ptp device taken by
of_find_device_by_node() when querying the time stamping capabilities.

Note that holding a reference to the ptp device does not prevent its
driver data from going away.

Fixes: 7349a74ea75c ("net: ethernet: gianfar_ethtool: get phc index through drvdata")
Cc: stable@vger.kernel.org	# 4.18
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/net/ethernet/freescale/gianfar_ethtool.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/gianfar_ethtool.c b/drivers/net/ethernet/freescale/gianfar_ethtool.c
index 781d92e703cb..c9992ed4e301 100644
--- a/drivers/net/ethernet/freescale/gianfar_ethtool.c
+++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c
@@ -1466,8 +1466,10 @@ static int gfar_get_ts_info(struct net_device *dev,
 	if (ptp_node) {
 		ptp_dev = of_find_device_by_node(ptp_node);
 		of_node_put(ptp_node);
-		if (ptp_dev)
+		if (ptp_dev) {
 			ptp = platform_get_drvdata(ptp_dev);
+			put_device(&ptp_dev->dev);
+		}
 	}
 
 	if (ptp)
-- 
2.49.1
Re: [PATCH 3/5] net: gianfar: fix device leak when querying time stamp info
Posted by Simon Horman 2 months, 1 week ago
On Fri, Jul 25, 2025 at 07:12:11PM +0200, Johan Hovold wrote:
> Make sure to drop the reference to the ptp device taken by
> of_find_device_by_node() when querying the time stamping capabilities.
> 
> Note that holding a reference to the ptp device does not prevent its
> driver data from going away.
> 
> Fixes: 7349a74ea75c ("net: ethernet: gianfar_ethtool: get phc index through drvdata")
> Cc: stable@vger.kernel.org	# 4.18
> Cc: Yangbo Lu <yangbo.lu@nxp.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>

Reviewed-by: Simon Horman <horms@kernel.org>