]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
of: overlay: add_changeset_property() memory leak
authorFrank Rowand <frank.rowand@sony.com>
Thu, 21 Nov 2019 19:16:56 +0000 (13:16 -0600)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 14 Feb 2020 06:00:53 +0000 (01:00 -0500)
commit27cc4109462e1aa4dff70fb124fc7cece6b44a99
tree0fc6391305818038756bf88cfff73e90fac22804
parentf5475cd4d7bde91d267931ec1b0b5a17afaaefac
of: overlay: add_changeset_property() memory leak

BugLink: https://bugs.launchpad.net/bugs/1861710
commit 637392a8506a3a7dd24ab9094a14f7522adb73b4 upstream.

No changeset entries are created for #address-cells and #size-cells
properties, but the duplicated properties are never freed.  This
results in a memory leak which is detected by kmemleak:

 unreferenced object 0x85887180 (size 64):
   backtrace:
     kmem_cache_alloc_trace+0x1fb/0x1fc
     __of_prop_dup+0x25/0x7c
     add_changeset_property+0x17f/0x370
     build_changeset_next_level+0x29/0x20c
     of_overlay_fdt_apply+0x32b/0x6b4
     ...

Fixes: 6f75118800ac ("of: overlay: validate overlay properties #address-cells and #size-cells")
Reported-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Tested-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/of/overlay.c