[PATCH] bus: ti-sysc: fix reference count leak in sysc_init_static_data()

Weigang He posted 1 patch 3 weeks ago
drivers/bus/ti-sysc.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] bus: ti-sysc: fix reference count leak in sysc_init_static_data()
Posted by Weigang He 3 weeks ago
of_find_node_by_path() returns a device_node with refcount incremented.
The reference to the "/ocp" node is acquired for a WARN_ONCE check but
is never released with of_node_put(), causing a reference count leak.

Add of_node_put(np) after the WARN_ONCE check to properly release the
"/ocp" node reference.

Fixes: 5f7259a578e9 ("bus: ti-sysc: Check for old incomplete dtb")
Cc: stable@vger.kernel.org
Signed-off-by: Weigang He <geoffreyhe2@gmail.com>
---
 drivers/bus/ti-sysc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index 610354ce7f8f0..fd631a9889c1e 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -3014,6 +3014,7 @@ static int sysc_init_static_data(struct sysc *ddata)
 		np = of_find_node_by_path("/ocp");
 		WARN_ONCE(np && of_device_is_compatible(np, "simple-bus"),
 			  "ti-sysc: Incomplete old dtb, please update\n");
+		of_node_put(np);
 		break;
 	default:
 		break;
-- 
2.34.1
Re: [PATCH] bus: ti-sysc: fix reference count leak in sysc_init_static_data()
Posted by Andreas Kemnade 2 weeks, 2 days ago
On Sat, 17 Jan 2026 06:22:35 +0000
Weigang He <geoffreyhe2@gmail.com> wrote:

> of_find_node_by_path() returns a device_node with refcount incremented.
> The reference to the "/ocp" node is acquired for a WARN_ONCE check but
> is never released with of_node_put(), causing a reference count leak.
> 
> Add of_node_put(np) after the WARN_ONCE check to properly release the
> "/ocp" node reference.
> 
> Fixes: 5f7259a578e9 ("bus: ti-sysc: Check for old incomplete dtb")
> Cc: stable@vger.kernel.org
> Signed-off-by: Weigang He <geoffreyhe2@gmail.com>

Reviewed-by: Andreas Kemnade <andreas@kemnade.info>