[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1507865118-27744-1-git-send-email-alan.1.wang@nokia-sbell.com>
Date: Fri, 13 Oct 2017 11:25:18 +0800
From: Lixin Wang <alan.1.wang@...ia-sbell.com>
To: Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>
CC: <linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
Lixin Wang <alan.1.wang@...ia-sbell.com>
Subject: [PATCH] of: dynamic: fix memory leak related to properties of __of_node_dup
Hello,
Sorry It was my fault that used the wrong sign off name in last email.
Here I correct it.
Thanks
---
It is possible a node was dynamically allocated but without any
property. The properies will be got from devices and added to the
node when devices got connected.
When release this node, all properties of which had been moved to
deadprops.
In this case, the properties in the deadprops list are never
deallocated.
Signed-off-by: Lixin Wang <alan.1.wang@...ia-sbell.com>
---
drivers/of/dynamic.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c
index 301b6db..465d43b 100644
--- a/drivers/of/dynamic.c
+++ b/drivers/of/dynamic.c
@@ -335,6 +335,10 @@ void of_node_release(struct kobject *kobj)
if (!of_node_check_flag(node, OF_DYNAMIC))
return;
+ if (!prop) {
+ prop = node->deadprops;
+ node->deadprops = NULL;
+ }
while (prop) {
struct property *next = prop->next;
kfree(prop->name);
--
2.6.2
Powered by blists - more mailing lists