Skip to content

Commit 2aacace

Browse files
ernsteiswuerfelrobherring
authored andcommitted
of: unittest: fix memory leak in attach_node_and_children
In attach_node_and_children memory is allocated for full_name via kasprintf. If the condition of the 1st if is not met the function returns early without freeing the memory. Add a kfree() to fix that. This has been detected with kmemleak: Link: https://bugzilla.kernel.org/show_bug.cgi?id=205327 It looks like the leak was introduced by this commit: Fixes: 5babefb ("of: unittest: allow base devicetree to have symbol metadata") Signed-off-by: Erhard Furtner <[email protected]> Reviewed-by: Michael Ellerman <[email protected]> Reviewed-by: Tyrel Datwyler <[email protected]> Signed-off-by: Rob Herring <[email protected]>
1 parent 637392a commit 2aacace

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

drivers/of/unittest.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1236,8 +1236,10 @@ static void attach_node_and_children(struct device_node *np)
12361236
full_name = kasprintf(GFP_KERNEL, "%pOF", np);
12371237

12381238
if (!strcmp(full_name, "/__local_fixups__") ||
1239-
!strcmp(full_name, "/__fixups__"))
1239+
!strcmp(full_name, "/__fixups__")) {
1240+
kfree(full_name);
12401241
return;
1242+
}
12411243

12421244
dup = of_find_node_by_path(full_name);
12431245
kfree(full_name);

0 commit comments

Comments
 (0)