gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB
authorKrzysztof Kozlowski <krzk@kernel.org>
Thu, 6 Dec 2018 09:45:49 +0000 (10:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 14:37:22 +0000 (15:37 +0100)
[ Upstream commit c5510b8dafce5f3f5a039c9b262ebcae0092c462 ]

If CONFIG_GPOILIB is not set, the stub of gpio_to_desc() should return
the same type of error as regular version: NULL.  All the callers
compare the return value of gpio_to_desc() against NULL, so returned
ERR_PTR would be treated as non-error case leading to dereferencing of
error value.

Fixes: 79a9becda894 ("gpiolib: export descriptor-based GPIO interface")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/gpio/consumer.h

index c4a350d83578852e7be38d0c26c6a79eb9d440c2..79ad4f8b889dcff499df91b5e740a10383c0202a 100644 (file)
@@ -404,7 +404,7 @@ static inline int gpiod_to_irq(const struct gpio_desc *desc)
 
 static inline struct gpio_desc *gpio_to_desc(unsigned gpio)
 {
-       return ERR_PTR(-EINVAL);
+       return NULL;
 }
 
 static inline int desc_to_gpio(const struct gpio_desc *desc)