| From 435ce34f7d4dc51b72babecfddd31d6389ff7766 Mon Sep 17 00:00:00 2001 |
| From: Frank Rowand <frank.rowand@sony.com> |
| Date: Thu, 16 Apr 2020 16:42:48 -0500 |
| Subject: [PATCH] of: unittest: kmemleak in of_unittest_overlay_high_level() |
| |
| commit 145fc138f9aae4f9e1331352e301df28e16aed35 upstream. |
| |
| kmemleak reports several memory leaks from devicetree unittest. |
| This is the fix for problem 3 of 5. |
| |
| of_unittest_overlay_high_level() failed to kfree the newly created |
| property when the property named 'name' is skipped. |
| |
| Fixes: 39a751a4cb7e ("of: change overlay apply input data from unflattened to FDT") |
| Reported-by: Erhard F. <erhard_f@mailbox.org> |
| Signed-off-by: Frank Rowand <frank.rowand@sony.com> |
| Signed-off-by: Rob Herring <robh@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c |
| index 7e4821a95663..cd58d1432640 100644 |
| --- a/drivers/of/unittest.c |
| +++ b/drivers/of/unittest.c |
| @@ -2479,8 +2479,11 @@ static __init void of_unittest_overlay_high_level(void) |
| goto err_unlock; |
| } |
| if (__of_add_property(of_symbols, new_prop)) { |
| + kfree(new_prop->name); |
| + kfree(new_prop->value); |
| + kfree(new_prop); |
| /* "name" auto-generated by unflatten */ |
| - if (!strcmp(new_prop->name, "name")) |
| + if (!strcmp(prop->name, "name")) |
| continue; |
| unittest(0, "duplicate property '%s' in overlay_base node __symbols__", |
| prop->name); |
| -- |
| 2.7.4 |
| |