OSDN Git Service

pinctrl: nuvoton: wpcm450: off by one in wpcm450_gpio_register()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 18 Mar 2022 07:11:31 +0000 (10:11 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 24 Mar 2022 19:10:32 +0000 (20:10 +0100)
The > WPCM450_NUM_BANKS should be >= or it leads to an out of bounds
access on the next line.

Fixes: a1d1e0e3d80a ("pinctrl: nuvoton: Add driver for WPCM450")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Link: https://lore.kernel.org/r/20220318071131.GA29472@kili
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/nuvoton/pinctrl-wpcm450.c

index 1402840..f7565ce 100644 (file)
@@ -1043,7 +1043,7 @@ static int wpcm450_gpio_register(struct platform_device *pdev,
                gpio = &pctrl->gpio_bank[reg];
                gpio->pctrl = pctrl;
 
-               if (reg > WPCM450_NUM_BANKS)
+               if (reg >= WPCM450_NUM_BANKS)
                        return dev_err_probe(dev, -EINVAL,
                                             "GPIO index %d out of range!\n", reg);