Re: [PATCH v2] net: ethernet: ti: netcp_core: fix device_node refcount leak in netcp_probe()
From: Andrew Lunn <andrew@lunn.ch>
Date: 2026-08-14 20:06:39
On Sat, Aug 15, 2026 at 12:34:53AM +0530, manushprajwal wrote:
quoted hunk ↗ jump to hunk
From: Manush Prajwal <redacted> When netcp_create_interface() failed for a given child node, netcp_probe() jumped to probe_quit_interface, which released the "interfaces" parent node but never the "child" node that the for_each_available_child_of_node() loop was iterating on. Rework the loop around for_each_available_child_of_node_scoped() instead of adding a manual of_node_put(). child is only read inside the loop body and is never used after it, so the scoped macro's automatic cleanup on the goto is sufficient on its own. Signed-off-by: Manush Prajwal <redacted> --- v2: Rework using for_each_available_child_of_node_scoped() instead of a manual of_node_put(), per Andrew Lunn's review. drivers/net/ethernet/ti/netcp_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/net/ethernet/ti/netcp_core.c b/drivers/net/ethernet/ti/netcp_core.c index eb8fc2ed05..a888aa35fa 100644 --- a/drivers/net/ethernet/ti/netcp_core.c +++ b/drivers/net/ethernet/ti/netcp_core.c@@ -2204,7 +2204,7 @@ static int netcp_probe(struct platform_device *pdev) { struct device_node *node = pdev->dev.of_node; struct netcp_intf *netcp_intf, *netcp_tmp; - struct device_node *child, *interfaces; + struct device_node *interfaces; struct netcp_device *netcp_device;
Reverse Christmas Tree Please also read: https://www.kernel.org/doc/html/latest/process/maintainer-netdev.html Andrew --- pw-bot: cr