[PATCH] of: unittest: fix node leak in phandle remapping test

From: Wentao Liang

Date: Tue Nov 03 2026 - 06:12:19 EST


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@xxxxxxxxxxxxxxx
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
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