[PATCH] of: unittest: Fix pdev reference leaks in of_unittest_platform_populate()
From: Wentao Liang
Date: Thu Sep 17 2026 - 09:26:09 EST
The platform devices obtained with of_find_device_by_node() are never
released, and the second lookup overwrites the first one, losing its
reference as well. Drop each reference once the device has been used.
Fixes: 82c0f5897a87 ("of: selftest: add deferred probe interrupt test")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/of/unittest.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 4a8af9b992c4..e6e938bcb100 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -1946,6 +1946,7 @@ static void __init of_unittest_platform_populate(void)
unittest(irq == -EPROBE_DEFER,
"device deferred probe failed - %d\n", irq);
of_node_put(np);
+ platform_device_put(pdev);
/* Test that a parsing failure does not return -EPROBE_DEFER */
np = of_find_node_by_path("/testcase-data/testcase-device2");
@@ -1964,6 +1965,7 @@ static void __init of_unittest_platform_populate(void)
"device parsing error failed - %d\n", irq);
}
of_node_put(np);
+ platform_device_put(pdev);
np = of_find_node_by_path("/testcase-data/platform-tests");
unittest(np, "No testcase data in device tree\n");
--
2.34.1