[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20240930012217.138786-1-ruanjinjie@huawei.com>
Date: Mon, 30 Sep 2024 09:22:17 +0800
From: Jinjie Ruan <ruanjinjie@...wei.com>
To: <robh@...nel.org>, <saravanak@...gle.com>, <sboyd@...nel.org>,
<davidgow@...gle.com>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
CC: <ruanjinjie@...wei.com>
Subject: [PATCH] of: Fix unbalanced of node refcount in of_overlay_apply_kunit_cleanup()
Got following report when doing overlay_test:
OF: ERROR: memory leak, expected refcount 1 instead of 2,
of_node_get()/of_node_put() unbalanced - destroy cset entry:
attach overlay node /kunit-test
OF: ERROR: memory leak before free overlay changeset, /kunit-test
In of_overlay_apply_kunit_cleanup(), the "np" will be overwritten by the
second of_find_node_by_name(), and the error message came from
kunit_cleanup(), just call of_node_put() before it to fix it.
Fixes: 5c9dd72d8385 ("of: Add a KUnit test for overlays and test managed APIs")
Signed-off-by: Jinjie Ruan <ruanjinjie@...wei.com>
---
drivers/of/overlay_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/of/overlay_test.c b/drivers/of/overlay_test.c
index 19a292cdeee3..e95b1152612c 100644
--- a/drivers/of/overlay_test.c
+++ b/drivers/of/overlay_test.c
@@ -73,12 +73,12 @@ static void of_overlay_apply_kunit_cleanup(struct kunit *test)
np = of_find_node_by_name(NULL, kunit_node_name);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, np);
- of_node_put_kunit(test, np);
pdev = of_find_device_by_node(np);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev);
put_device(&pdev->dev); /* Not derefing 'pdev' after this */
+ of_node_put(np);
/* Remove overlay */
kunit_cleanup(&fake);
--
2.34.1
Powered by blists - more mailing lists