From: Johan Hovold Date: Mon, 26 Jan 2015 11:02:46 +0000 (+0100) Subject: gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low X-Git-Tag: v3.16.35~2875 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=12c9708ebb1eec1698d87db775276b95de9b0e3f;p=thirdparty%2Fkernel%2Fstable.git gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low 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 Signed-off-by: Linus Walleij [ luis: backported to 3.16: - file rename: drivers/gpio/gpiolib-sysfs.c -> drivers/gpio/gpiolib.c ] Signed-off-by: Luis Henriques --- diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 69fc2fcfc3e98..afdca5a6b2a6c 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);