[PATCH 3.16.y-ckt 13/58] gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low

Luis Henriques luis.henriques at canonical.com
Thu Feb 19 13:51:43 UTC 2015


3.16.7-ckt7 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Johan Hovold <johan at kernel.org>

commit 49d2ca84e433dab854c7a866bc6add09cfab682d upstream.

Fix memory leak in the gpio sysfs interface due to failure to drop
reference to device returned by class_find_device when setting the
gpio-line polarity.

Fixes: 0769746183ca ("gpiolib: add support for changing value polarity
in sysfs")
Signed-off-by: Johan Hovold <johan at kernel.org>
Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
[ luis: backported to 3.16:
  - file rename: drivers/gpio/gpiolib-sysfs.c -> drivers/gpio/gpiolib.c ]
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 drivers/gpio/gpiolib.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 69fc2fcfc3e9..afdca5a6b2a6 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -960,6 +960,7 @@ int gpiod_sysfs_set_active_low(struct gpio_desc *desc, int value)
 
 	status = sysfs_set_active_low(desc, dev, value);
 
+	put_device(dev);
 unlock:
 	mutex_unlock(&sysfs_lock);
 
-- 
2.1.4





More information about the kernel-team mailing list