* [PATCH] fsi: master-hub: Fix of_node reference leak in hub_master_probe()
@ 2026-09-16 9:43 Wentao Liang
0 siblings, 0 replies; only message in thread
From: Wentao Liang @ 2026-09-16 9:43 UTC (permalink / raw)
To: eajames
Cc: gregkh, jk, joel, linux-fsi, linux-kernel, ninad, Wentao Liang, stable
In hub_master_probe(), a reference to the device tree node is taken
with of_node_get() and stored in master.dev.of_node. If
fsi_master_register() fails, the error path releases the link range
without putting that reference, leaking it.
Put the device node reference before returning on the error path, so
that the kzalloc() failure path, which runs before the node reference
is taken, is unaffected.
Fixes: f6a2f8eb73f0 ("fsi: Match fsi slaves and engines to available dt nodes")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
drivers/fsi/fsi-master-hub.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/fsi/fsi-master-hub.c b/drivers/fsi/fsi-master-hub.c
index e5ac9025762e..9507caa78358 100644
--- a/drivers/fsi/fsi-master-hub.c
+++ b/drivers/fsi/fsi-master-hub.c
@@ -240,8 +240,10 @@ static int hub_master_probe(struct fsi_device *fsi_dev)
hub_master_init(hub);
rc = fsi_master_register(&hub->master);
- if (rc)
+ if (rc) {
+ of_node_put(hub->master.dev.of_node);
goto err_release;
+ }
/* At this point, fsi_master_register performs the device_initialize(),
* and holds the sole reference on master.dev. This means the device
--
2.34.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-16 9:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-16 9:43 [PATCH] fsi: master-hub: Fix of_node reference leak in hub_master_probe() Wentao Liang
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®