Message ID | E1mwj8r-00FjNH-Ix@rmk-PC.armlinux.org.uk (mailing list archive) |
---|---|
State | Accepted |
Commit | d33dae51645c0d837e587000f3131118fcd6bf5e |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net: phy: add a note about refcounting | expand |
Hello: This patch was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Mon, 13 Dec 2021 11:05:13 +0000 you wrote: > Recently, a patch has been submitted to "fix" the refcounting for a DT > node in of_mdiobus_link_mdiodev(). This is not a leaked refcount. The > refcount is passed to the new device. > > Sadly, coccicheck identifies this location as a leaked refcount, which > means we're likely to keep getting patches to "fix" this. However, > fixing this will cause breakage. Add a comment to state that the lack > of of_node_put() here is intentional. > > [...] Here is the summary with links: - [net] net: phy: add a note about refcounting https://git.kernel.org/netdev/net/c/d33dae51645c You are awesome, thank you!
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index c204067f1890..c198722e4871 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -460,6 +460,9 @@ static void of_mdiobus_link_mdiodev(struct mii_bus *bus, if (addr == mdiodev->addr) { device_set_node(dev, of_fwnode_handle(child)); + /* The refcount on "child" is passed to the mdio + * device. Do _not_ use of_node_put(child) here. + */ return; } }
Recently, a patch has been submitted to "fix" the refcounting for a DT node in of_mdiobus_link_mdiodev(). This is not a leaked refcount. The refcount is passed to the new device. Sadly, coccicheck identifies this location as a leaked refcount, which means we're likely to keep getting patches to "fix" this. However, fixing this will cause breakage. Add a comment to state that the lack of of_node_put() here is intentional. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> --- drivers/net/phy/mdio_bus.c | 3 +++ 1 file changed, 3 insertions(+)