mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] of: unittest: fix node leak in phandle remapping test
@ 2026-11-03 10:42 Wentao Liang
  2026-11-03 11:09 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 2+ messages in thread
From: Wentao Liang @ 2026-11-03 10:42 UTC (permalink / raw)
  To: Rob Herring, Saravana Kannan
  Cc: devicetree, linux-kernel, Wentao Liang, stable

of_unittest_parse_phandle_with_args_map() obtains a reference on the
consumer node with of_find_node_by_path() and never releases it, not
even on the normal exit path. The error path taken when one of the
provider lookups fails also leaks the provider references acquired by
the preceding iterations.

Drop both sets of references.

Fixes: 357aa4b61c82 ("of: unittest: Add phandle remapping test")
Cc: stable@vger.kernel.org
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/of/unittest.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 8133c954d335..a6ac58b4d883 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -581,6 +581,9 @@ static void __init of_unittest_parse_phandle_with_args_map(void)
 	for (i = 0; i < ARRAY_SIZE(p); ++i) {
 		if (!p[i]) {
 			pr_err("missing testcase data\n");
+			while (i > 0)
+				of_node_put(p[--i]);
+			of_node_put(np);
 			return;
 		}
 		prefs[i] = OF_KREF_READ(p[i]);
@@ -711,6 +714,8 @@ static void __init of_unittest_parse_phandle_with_args_map(void)
 			 i, prefs[i], OF_KREF_READ(p[i]));
 		of_node_put(p[i]);
 	}
+
+	of_node_put(np);
 }
 
 static void __init of_unittest_property_string(void)
-- 
2.34.1


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

end of thread, other threads:[~2026-11-03 11:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 10:42 [PATCH] of: unittest: fix node leak in phandle remapping test Wentao Liang
2026-11-03 11:09 ` Krzysztof Kozlowski

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®