This is a note to let you know that I've just added the patch titled
gpiolib: don't dereference a desc before validation
to the 4.15-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git%3Ba=su...
The filename of the patch is: gpiolib-don-t-dereference-a-desc-before-validation.patch and it can be found in the queue-4.15 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let stable@vger.kernel.org know about it.
From foo@baz Mon Apr 9 10:16:32 CEST 2018
From: Vladimir Zapolskiy vz@mleia.com Date: Thu, 21 Dec 2017 18:37:24 +0200 Subject: gpiolib: don't dereference a desc before validation
From: Vladimir Zapolskiy vz@mleia.com
[ Upstream commit 30322bcf82d74cad0d6e1cf9ba7fa7fa48c7a026 ]
The fix restores a proper validation of an input gpio desc, which might be needed to deal with optional GPIOs correctly.
Fixes: 02e479808b5d ("gpio: Alter semantics of *raw* operations to actually be raw") Signed-off-by: Vladimir Zapolskiy vz@mleia.com Signed-off-by: Linus Walleij linus.walleij@linaro.org Signed-off-by: Sasha Levin alexander.levin@microsoft.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- drivers/gpio/gpiolib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2468,7 +2468,7 @@ EXPORT_SYMBOL_GPL(gpiod_direction_output */ int gpiod_direction_output(struct gpio_desc *desc, int value) { - struct gpio_chip *gc = desc->gdev->chip; + struct gpio_chip *gc; int ret;
VALIDATE_DESC(desc); @@ -2485,6 +2485,7 @@ int gpiod_direction_output(struct gpio_d return -EIO; }
+ gc = desc->gdev->chip; if (test_bit(FLAG_OPEN_DRAIN, &desc->flags)) { /* First see if we can enable open drain in hardware */ ret = gpio_set_drive_single_ended(gc, gpio_chip_hwgpio(desc),
Patches currently in stable-queue which might be from vz@mleia.com are
queue-4.15/gpiolib-don-t-dereference-a-desc-before-validation.patch
linux-stable-mirror@lists.linaro.org