mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] bus: arm-cci: fix device_node reference leak in cci_probe_ports()
@ 2026-07-31 18:02 Ivy Lopez
  0 siblings, 0 replies; 2+ messages in thread
From: Ivy Lopez @ 2026-07-31 18:02 UTC (permalink / raw)
  To: kees; +Cc: linux-kernel, Ivy Lopez

for_each_available_child_of_node() takes a reference on each child
node in turn. When the number of matching CCI interface nodes in
the DT exceeds nb_cci_ports, the loop exits via break without
dropping the reference held on the current node, leaking it.

Add the missing of_node_put() before the break.

Signed-off-by: Ivy Lopez <skunkolee@gmail.com>
---
 drivers/bus/arm-cci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
index 7f2baf057128..5ab3d74c9ae2 100644
--- a/drivers/bus/arm-cci.c
+++ b/drivers/bus/arm-cci.c
@@ -461,8 +461,10 @@ static int cci_probe_ports(struct device_node *np)
 
 		i = nb_ace + nb_ace_lite;
 
-		if (i >= nb_cci_ports)
+		if (i >= nb_cci_ports) {
+			of_node_put(cp);
 			break;
+		}
 
 		if (of_property_read_string(cp, "interface-type",
 					&match_str)) {
-- 
2.55.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] bus: arm-cci: Fix device node reference leak in cci_probe_ports()
@ 2025-11-08  6:32 Erick Karanja
  0 siblings, 0 replies; 2+ messages in thread
From: Erick Karanja @ 2025-11-08  6:32 UTC (permalink / raw)
  To: Manivannan Sadhasivam
  Cc: Jeff Hugo, Christophe Leroy, Ioana Ciornei, Vivek Pernamitta,
	linux-kernel, linux-kernel-mentees, Erick Karanja

Although the reference to the  child node cp is
assigned later in the iteration, when an early break
occurs, the reference to child node needs to be
released.

Fixes: ed69bdd8fd9b2 ("drivers: bus: add ARM CCI support")
Signed-off-by: Erick Karanja <karanja99erick@gmail.com>
---
 drivers/bus/arm-cci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
index b8184a903583..1f84a5528073 100644
--- a/drivers/bus/arm-cci.c
+++ b/drivers/bus/arm-cci.c
@@ -461,8 +461,10 @@ static int cci_probe_ports(struct device_node *np)
 
 		i = nb_ace + nb_ace_lite;
 
-		if (i >= nb_cci_ports)
+		if (i >= nb_cci_ports) {
+			of_node_put(cp);
 			break;
+		}
 
 		if (of_property_read_string(cp, "interface-type",
 					&match_str)) {
-- 
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-07-31 18:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-31 18:02 [PATCH] bus: arm-cci: fix device_node reference leak in cci_probe_ports() Ivy Lopez
  -- strict thread matches above, loose matches on Subject: below --
2025-11-08  6:32 [PATCH] bus: arm-cci: Fix device node " Erick Karanja

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®