From: frowand.list@gmail.com
To: Rob Herring <robh+dt@kernel.org>,
Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>, Alan Tull <atull@kernel.org>,
Moritz Fischer <mdf@kernel.org>
Cc: devicetree@vger.kernel.org, linux-fpga@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: [PATCH v4 03/18] of: overlay: add missing of_node_get() in __of_attach_node_sysfs
Date: Mon, 15 Oct 2018 19:37:23 -0700 [thread overview]
Message-ID: <1539657458-24401-4-git-send-email-frowand.list@gmail.com> (raw)
In-Reply-To: <1539657458-24401-1-git-send-email-frowand.list@gmail.com>
From: Frank Rowand <frank.rowand@sony.com>
There is a matching of_node_put() in __of_detach_node_sysfs()
Remove misleading comment from function header comment for
of_detach_node().
This patch may result in memory leaks from code that directly calls
the dynamic node add and delete functions directly instead of
using changesets.
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
---
This patch should result in powerpc systems that dynamically
allocate a node, then later deallocate the node to have a
memory leak when the node is deallocated.
The next patch in the series will fix the leak.
drivers/of/dynamic.c | 3 ---
drivers/of/kobj.c | 4 +++-
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c
index 24c97b7a050f..fe8816cca99b 100644
--- a/drivers/of/dynamic.c
+++ b/drivers/of/dynamic.c
@@ -272,9 +272,6 @@ void __of_detach_node(struct device_node *np)
/**
* of_detach_node() - "Unplug" a node from the device tree.
- *
- * The caller must hold a reference to the node. The memory associated with
- * the node is not freed until its refcount goes to zero.
*/
int of_detach_node(struct device_node *np)
{
diff --git a/drivers/of/kobj.c b/drivers/of/kobj.c
index 7a0a18980b98..c72eef988041 100644
--- a/drivers/of/kobj.c
+++ b/drivers/of/kobj.c
@@ -133,6 +133,9 @@ int __of_attach_node_sysfs(struct device_node *np)
}
if (!name)
return -ENOMEM;
+
+ of_node_get(np);
+
rc = kobject_add(&np->kobj, parent, "%s", name);
kfree(name);
if (rc)
@@ -159,6 +162,5 @@ void __of_detach_node_sysfs(struct device_node *np)
kobject_del(&np->kobj);
}
- /* finally remove the kobj_init ref */
of_node_put(np);
}
--
Frank Rowand <frank.rowand@sony.com>
next prev parent reply other threads:[~2018-10-16 2:50 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-16 2:37 [PATCH v4 00/18] of: overlay: validation checks, subsequent fixes frowand.list
2018-10-16 2:37 ` [PATCH v4 01/18] of: overlay: add tests to validate kfrees from overlay removal frowand.list
2018-10-17 21:30 ` Alan Tull
2018-10-18 20:24 ` Alan Tull
2018-10-18 17:03 ` Rob Herring
2018-10-18 19:01 ` Frank Rowand
2018-10-16 2:37 ` [PATCH v4 02/18] of: overlay: add missing of_node_put() after add new node to changeset frowand.list
2018-10-18 17:05 ` Rob Herring
2018-10-18 19:02 ` Frank Rowand
2018-10-16 2:37 ` frowand.list [this message]
2018-10-16 2:37 ` [PATCH v4 04/18] powerpc/pseries: add of_node_put() in dlpar_detach_node() frowand.list
2018-10-18 17:09 ` Rob Herring
2018-10-18 19:09 ` Frank Rowand
2018-10-19 16:10 ` Rob Herring
2018-10-16 2:37 ` [PATCH v4 05/18] of: overlay: use prop add changeset entry for property in new nodes frowand.list
2018-10-16 2:37 ` [PATCH v4 06/18] of: overlay: do not duplicate properties from overlay for " frowand.list
2018-10-16 2:37 ` [PATCH v4 07/18] of: dynamic: change type of of_{at, de}tach_node() to void frowand.list
2018-10-16 2:37 ` [PATCH v4 08/18] of: overlay: reorder fields in struct fragment frowand.list
2018-10-16 2:37 ` [PATCH v4 09/18] of: overlay: validate overlay properties #address-cells and #size-cells frowand.list
2018-10-18 18:13 ` Rob Herring
2018-10-18 19:13 ` Frank Rowand
2018-10-16 2:37 ` [PATCH v4 10/18] of: overlay: make all pr_debug() and pr_err() messages unique frowand.list
2018-10-16 2:37 ` [PATCH v4 11/18] of: overlay: test case of two fragments adding same node frowand.list
2018-10-16 2:37 ` [PATCH v4 12/18] of: overlay: check prevents multiple fragments add or delete " frowand.list
2018-10-16 2:37 ` [PATCH v4 13/18] of: overlay: check prevents multiple fragments touching same property frowand.list
2018-10-16 2:37 ` [PATCH v4 14/18] of: unittest: remove unused of_unittest_apply_overlay() argument frowand.list
2018-10-16 2:37 ` [PATCH v4 15/18] of: overlay: set node fields from properties when add new overlay node frowand.list
2018-10-16 2:37 ` [PATCH v4 16/18] of: unittest: allow base devicetree to have symbol metadata frowand.list
2018-10-16 2:37 ` [PATCH v4 17/18] of: unittest: find overlays[] entry by name instead of index frowand.list
2018-10-16 2:37 ` [PATCH v4 18/18] of: unittest: initialize args before calling of_*parse_*() frowand.list
2018-10-16 9:47 ` [PATCH v4 00/18] of: overlay: validation checks, subsequent fixes Michael Ellerman
2018-10-17 3:08 ` Frank Rowand
2018-10-17 21:16 ` Alan Tull
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1539657458-24401-4-git-send-email-frowand.list@gmail.com \
--to=frowand.list@gmail.com \
--cc=atull@kernel.org \
--cc=benh@kernel.crashing.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-fpga@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mdf@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=pantelis.antoniou@konsulko.com \
--cc=paulus@samba.org \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).