From: Johan Hovold Date: Mon, 26 Jan 2015 11:02:45 +0000 (+0100) Subject: gpio: sysfs: fix memory leak in gpiod_export_link X-Git-Tag: v3.2.68~14 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67cb64715f1edfa5e05812bf70913c18d065421c;p=pandora-kernel.git gpio: sysfs: fix memory leak in gpiod_export_link commit 0f303db08df0df9bd0966443ad6001e63960af16 upstream. Fix memory leak in the gpio sysfs interface due to failure to drop reference to device returned by class_find_device when creating a link. Fixes: a4177ee7f1a8 ("gpiolib: allow exported GPIO nodes to be named using sysfs links") Signed-off-by: Johan Hovold Signed-off-by: Linus Walleij [bwh: Backported to 3.2: adjust filename] Signed-off-by: Ben Hutchings --- diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 51e5ee8912ca..72ebde423081 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -821,6 +821,7 @@ int gpio_export_link(struct device *dev, const char *name, unsigned gpio) if (tdev != NULL) { status = sysfs_create_link(&dev->kobj, &tdev->kobj, name); + put_device(tdev); } else { status = -ENODEV; }