Re: [PATCH 5/5] of: unittest: kmemleak in duplicate property update

From: Rob Herring
Date: Thu Apr 16 2020 - 18:11:15 EST


On Thu, 16 Apr 2020 16:42:50 -0500, frowand.list@xxxxxxxxx wrote:
> From: Frank Rowand <frank.rowand@xxxxxxxx>
>
> kmemleak reports several memory leaks from devicetree unittest.
> This is the fix for problem 5 of 5.
>
> When overlay 'overlay_bad_add_dup_prop' is applied, the apply code
> properly detects that a memory leak will occur if the overlay is removed
> since the duplicate property is located in a base devicetree node and
> reports via printk():
>
> OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail
> OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail
>
> The overlay is removed when the apply code detects multiple changesets
> modifying the same property. This is reported via printk():
>
> OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/rpm_avail
>
> As a result of this error, the overlay is removed resulting in the
> expected memory leak.
>
> Add another device node level to the overlay so that the duplicate
> property is located in a node added by the overlay, thus no memory
> leak will occur when the overlay is removed.
>
> Thus users of kmemleak will not have to debug this leak in the future.
>
> Fixes: 2fe0e8769df9 ("of: overlay: check prevents multiple fragments touching same property")
> Reported-by: Erhard F. <erhard_f@xxxxxxxxxxx>
> Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxx>
> ---
> .../of/unittest-data/overlay_bad_add_dup_prop.dts | 23 ++++++++++++++++++----
> drivers/of/unittest.c | 12 +++++------
> 2 files changed, 25 insertions(+), 10 deletions(-)
>

Applied, thanks.

Rob