drivers/bus/ti-sysc.c | 1 + 1 file changed, 1 insertion(+)
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
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>
© 2016 - 2026 Red Hat, Inc.