The rza1_pctl->ports[] array has RZA1_NPORTS (12) elements.  The > here
should be >= to prevent an out of bounds access.

Fixes: 5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>

diff --git a/drivers/pinctrl/pinctrl-rza1.c b/drivers/pinctrl/pinctrl-rza1.c
index 7e30134b3d18..464dbf2f0816 100644
--- a/drivers/pinctrl/pinctrl-rza1.c
+++ b/drivers/pinctrl/pinctrl-rza1.c
@@ -1088,7 +1088,7 @@ static int rza1_parse_gpiochip(struct rza1_pinctrl 
*rza1_pctl,
         */
        pinctrl_base = of_args.args[1];
        gpioport = RZA1_PIN_ID_TO_PORT(pinctrl_base);
-       if (gpioport > RZA1_NPORTS) {
+       if (gpioport >= RZA1_NPORTS) {
                dev_err(rza1_pctl->dev,
                        "Invalid values in property %s\n", list_name);
                return -EINVAL;

Reply via email to