[PATCH net 2/2] net: bcmasp: Fix device node refcount leakage in bcmasp_probe()

From: Zijun Hu
Date: Thu Dec 12 2024 - 10:08:48 EST


From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>

bcmasp_probe() invokes of_find_node_by_name(@dev->of_node, ...) and the
callee will put OF device node @dev->of_node refcount, but the caller
does not compensate the refcount before the invocation, so causes the node
refcount leakage.

Fix by of_node_get(@dev->of_node) before the invocation.

Fixes: 490cb412007d ("net: bcmasp: Add support for ASP2.0 Ethernet controller")
Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
---
drivers/net/ethernet/broadcom/asp2/bcmasp.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
index 297c2682a9cf979fbc4af211139f1b1ed0df01d5..517593c5894568111111aff0f6919fb02d780c85 100644
--- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c
+++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
@@ -1367,6 +1367,7 @@ static int bcmasp_probe(struct platform_device *pdev)
bcmasp_core_init(priv);
bcmasp_core_init_filters(priv);

+ of_node_get(dev->of_node);
ports_node = of_find_node_by_name(dev->of_node, "ethernet-ports");
if (!ports_node) {
dev_warn(dev, "No ports found\n");

--
2.34.1