Re: [PATCH v2] net: ethernet: ti: netcp_core: fix device_node refcount leak in netcp_probe()
Andrew Lunn <[email protected]>
| Newsgroups | org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Aug 15, 2026 at 12:34:53AM +0530, manushprajwal wrote: > From: Manush Prajwal <[email protected]> > > 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 <[email protected]> > --- > 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