From: Srinivas Neeli Date: Fri, 29 Jan 2021 14:26:50 +0000 (+0530) Subject: gpio: gpio-xilinx: Add check if width exceeds 32 X-Git-Tag: v5.12-rc1~105^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6e551bfa9872cd335d0929411cfdefe99ce65a1d;p=thirdparty%2Fkernel%2Flinux.git gpio: gpio-xilinx: Add check if width exceeds 32 Add check to see if gpio-width property does not exceed 32. If it exceeds then return -EINVAL. Signed-off-by: Srinivas Neeli Reviewed-by: Linus Walleij Acked-by: William Breathitt Gray Signed-off-by: Bartosz Golaszewski --- diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c index acd574779ca6a..b411d3156e0b6 100644 --- a/drivers/gpio/gpio-xilinx.c +++ b/drivers/gpio/gpio-xilinx.c @@ -589,6 +589,9 @@ static int xgpio_probe(struct platform_device *pdev) if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0])) chip->gpio_width[0] = 32; + if (chip->gpio_width[0] > 32) + return -EINVAL; + spin_lock_init(&chip->gpio_lock); if (of_property_read_u32(np, "xlnx,is-dual", &is_dual)) @@ -613,6 +616,8 @@ static int xgpio_probe(struct platform_device *pdev) &chip->gpio_width[1])) chip->gpio_width[1] = 32; + if (chip->gpio_width[1] > 32) + return -EINVAL; } chip->gc.base = -1;