diff options
author | Frank Rowand <frank.rowand@sony.com> | 2018-10-05 05:24:17 +0200 |
---|---|---|
committer | Frank Rowand <frank.rowand@sony.com> | 2018-11-09 07:10:35 +0100 |
commit | 144552c786925314c1e7cb8f91a71dae1aca8798 (patch) | |
tree | 529691048e02c625ece39d41db6304f6f16db9a9 /drivers/of/overlay.c | |
parent | Linux 4.20-rc1 (diff) | |
download | linux-144552c786925314c1e7cb8f91a71dae1aca8798.tar.xz linux-144552c786925314c1e7cb8f91a71dae1aca8798.zip |
of: overlay: add tests to validate kfrees from overlay removal
Add checks:
- attempted kfree due to refcount reaching zero before overlay
is removed
- properties linked to an overlay node when the node is removed
- node refcount > one during node removal in a changeset destroy,
if the node was created by the changeset
After applying this patch, several validation warnings will be
reported from the devicetree unittest during boot due to
pre-existing devicetree bugs. The warnings will be similar to:
OF: ERROR: of_node_release(), unexpected properties in /testcase-data/overlay-node/test-bus/test-unittest11
OF: ERROR: memory leak, expected refcount 1 instead of 2, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /testcase-data-2/substation@100/
hvac-medium-2
Tested-by: Alan Tull <atull@kernel.org>
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Diffstat (limited to 'drivers/of/overlay.c')
-rw-r--r-- | drivers/of/overlay.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index 42b1f73ac5f6..f5fc8859a7ee 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -373,6 +373,7 @@ static int add_changeset_node(struct overlay_changeset *ovcs, return -ENOMEM; tchild->parent = target_node; + of_node_set_flag(tchild, OF_OVERLAY); ret = of_changeset_attach_node(&ovcs->cset, tchild); if (ret) |