| From 3fa840230f534385b34a4f39c8dd313fbe723f05 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan@kernel.org> |
| Date: Fri, 25 Jul 2025 19:12:09 +0200 |
| Subject: net: dpaa: fix device leak when querying time stamp info |
| |
| From: Johan Hovold <johan@kernel.org> |
| |
| commit 3fa840230f534385b34a4f39c8dd313fbe723f05 upstream. |
| |
| 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: 17ae0b0ee9db ("dpaa_eth: add the get_ts_info interface for ethtool") |
| Cc: stable@vger.kernel.org # 4.19 |
| Cc: Yangbo Lu <yangbo.lu@nxp.com> |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Reviewed-by: Simon Horman <horms@kernel.org> |
| Link: https://patch.msgid.link/20250725171213.880-2-johan@kernel.org |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c |
| +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c |
| @@ -473,8 +473,10 @@ static int dpaa_get_ts_info(struct net_d |
| of_node_put(ptp_node); |
| } |
| |
| - if (ptp_dev) |
| + if (ptp_dev) { |
| ptp = platform_get_drvdata(ptp_dev); |
| + put_device(&ptp_dev->dev); |
| + } |
| |
| if (ptp) |
| info->phc_index = ptp->phc_index; |