Re: [PATCH v2] of: unittest: Fix memory leak in unittest_data_add()
From: Rob Herring (Arm)
Date: Fri Jan 02 2026 - 16:36:50 EST
On Wed, 31 Dec 2025 11:49:15 +0000, Zilin Guan wrote:
> In unittest_data_add(), if of_resolve_phandles() fails, the allocated
> unittest_data is not freed, leading to a memory leak.
>
> Fix this by using scope-based cleanup helper __free(kfree) for automatic
> resource cleanup. This ensures unittest_data is automatically freed when
> it goes out of scope in error paths.
>
> For the success path, use retain_and_null_ptr() to transfer ownership
> of the memory to the device tree and prevent double freeing.
>
> Fixes: 2eb46da2a760 ("of/selftest: Use the resolver to fixup phandles")
> Suggested-by: Rob Herring <robh@xxxxxxxxxx>
> Co-developed-by: Jianhao Xu <jianhao.xu@xxxxxxxxxx>
> Signed-off-by: Jianhao Xu <jianhao.xu@xxxxxxxxxx>
> Signed-off-by: Zilin Guan <zilin@xxxxxxxxxx>
> ---
> Changes in v2:
> - using scope-based cleanup helper __free(kfree) for automatic resource cleanup.
>
> drivers/of/unittest.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
Applied, thanks!