diff mbox series

gpiolib: Fix missing array end sentinel in quirks array

Message ID 20220920142718.633062-1-frattaroli.nicolas@gmail.com
State New
Headers show
Series gpiolib: Fix missing array end sentinel in quirks array | expand

Commit Message

Nicolas Frattaroli Sept. 20, 2022, 2:27 p.m. UTC
Without the sentinel, the loop never actually terminates if there
are no quirks, and wreaks havoc across the kernel resulting in a
juicy panic.

Fix this by adding a NULL at the end.

Fixes: a2b5e207cade ("gpiolib: rework quirk handling in of_find_gpio()")
Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
---
 drivers/gpio/gpiolib-of.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Nicolas Frattaroli Sept. 20, 2022, 2:29 p.m. UTC | #1
On Dienstag, 20. September 2022 16:27:18 CEST Nicolas Frattaroli wrote:
> Without the sentinel, the loop never actually terminates if there
> are no quirks, and wreaks havoc across the kernel resulting in a
> juicy panic.
> 
> Fix this by adding a NULL at the end.
> 
> Fixes: a2b5e207cade ("gpiolib: rework quirk handling in of_find_gpio()")
> Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
> ---
>  drivers/gpio/gpiolib-of.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
> index 95be5f0d2623..1b60cd04883f 100644
> --- a/drivers/gpio/gpiolib-of.c
> +++ b/drivers/gpio/gpiolib-of.c
> @@ -498,6 +498,7 @@ static const of_find_gpio_quirk of_find_gpio_quirks[] = {
>  	of_find_regulator_gpio,
>  	of_find_arizona_gpio,
>  	of_find_usb_gpio,
> +	NULL,
>  };
>  
>  struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id,
> 

Disregard this, just saw it was already fixed[1].

Regards,
Nicolas Frattaroli

[1]: https://lore.kernel.org/linux-gpio/CAMRc=MeF-81yottUqqYdHmuFokysyNsXTgU+FOFWv7bL=QMJOg@mail.gmail.com/T/
diff mbox series

Patch

diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index 95be5f0d2623..1b60cd04883f 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -498,6 +498,7 @@  static const of_find_gpio_quirk of_find_gpio_quirks[] = {
 	of_find_regulator_gpio,
 	of_find_arizona_gpio,
 	of_find_usb_gpio,
+	NULL,
 };
 
 struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id,