All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] ibmebus: fix device reference leaks in sysfs interface
@ 2016-11-01 15:26 Johan Hovold
  2016-11-01 15:26 ` [PATCH 2/4] ibmebus: fix further device reference leaks Johan Hovold
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Johan Hovold @ 2016-11-01 15:26 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
  Cc: linuxppc-dev, Johan Hovold

Make sure to drop any reference taken by bus_find_device() in the sysfs
callbacks that are used to create and destroy devices based on
device-tree entries.

Fixes: 6bccf755ff53 ("[POWERPC] ibmebus: dynamic addition/removal...)
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 arch/powerpc/kernel/ibmebus.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
index 6ca9a2ffaac7..c7d3ff7e101c 100644
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
@@ -262,6 +262,7 @@ static ssize_t ibmebus_store_probe(struct bus_type *bus,
 				   const char *buf, size_t count)
 {
 	struct device_node *dn = NULL;
+	struct device *dev;
 	char *path;
 	ssize_t rc = 0;
 
@@ -269,8 +270,10 @@ static ssize_t ibmebus_store_probe(struct bus_type *bus,
 	if (!path)
 		return -ENOMEM;
 
-	if (bus_find_device(&ibmebus_bus_type, NULL, path,
-			    ibmebus_match_path)) {
+	dev = bus_find_device(&ibmebus_bus_type, NULL, path,
+			      ibmebus_match_path);
+	if (dev) {
+		put_device(dev);
 		printk(KERN_WARNING "%s: %s has already been probed\n",
 		       __func__, path);
 		rc = -EEXIST;
@@ -307,6 +310,7 @@ static ssize_t ibmebus_store_remove(struct bus_type *bus,
 	if ((dev = bus_find_device(&ibmebus_bus_type, NULL, path,
 				   ibmebus_match_path))) {
 		of_device_unregister(to_platform_device(dev));
+		put_device(dev);
 
 		kfree(path);
 		return count;
-- 
2.7.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-11-14 12:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-01 15:26 [PATCH 1/4] ibmebus: fix device reference leaks in sysfs interface Johan Hovold
2016-11-01 15:26 ` [PATCH 2/4] ibmebus: fix further device reference leaks Johan Hovold
2016-11-14 12:17   ` [2/4] " Michael Ellerman
2016-11-01 15:26 ` [PATCH 3/4] powerpc/vio: clarify vio_find_node reference counting Johan Hovold
2016-11-14 12:17   ` [3/4] " Michael Ellerman
2016-11-01 15:26 ` [PATCH 4/4] powerpc/pci: fix device reference leaks Johan Hovold
2016-11-14 12:17   ` [4/4] " Michael Ellerman
2016-11-14 12:17 ` [1/4] ibmebus: fix device reference leaks in sysfs interface Michael Ellerman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.