gianfar: ethtool: Fix refcount leak in gfar_get_ts_info
authorMiaoqian Lin <linmq006@gmail.com>
Thu, 10 Mar 2022 01:53:13 +0000 (01:53 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Mar 2022 13:23:39 +0000 (14:23 +0100)
[ Upstream commit 2ac5b58e645c66932438bb021cb5b52097ce70b0 ]

The of_find_compatible_node() function returns a node pointer with
refcount incremented, We should use of_node_put() on it when done
Add the missing of_node_put() to release the refcount.

Fixes: 7349a74ea75c ("net: ethernet: gianfar_ethtool: get phc index through drvdata")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Link: https://lore.kernel.org/r/20220310015313.14938-1-linmq006@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/freescale/gianfar_ethtool.c

index 7b32ed29bf4cbe5723cfaf43df4d91b7d2f1471d..8c17fe5d66ed426185944f796d3d35ef4b2bac5c 100644 (file)
@@ -1460,6 +1460,7 @@ static int gfar_get_ts_info(struct net_device *dev,
        ptp_node = of_find_compatible_node(NULL, NULL, "fsl,etsec-ptp");
        if (ptp_node) {
                ptp_dev = of_find_device_by_node(ptp_node);
+               of_node_put(ptp_node);
                if (ptp_dev)
                        ptp = platform_get_drvdata(ptp_dev);
        }