mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-24 19:40:21 +09:00
pinctrl: nuvoton: wpcm450: fix out of bounds write
[ Upstream commit87d315a341] Write into 'pctrl->gpio_bank' happens before the check for GPIO index validity, so out of bounds write may happen. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes:a1d1e0e3d8("pinctrl: nuvoton: Add driver for WPCM450") Signed-off-by: Mikhail Kobuk <m.kobuk@ispras.ru> Reviewed-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Link: https://lore.kernel.org/r/20230825101532.6624-1-m.kobuk@ispras.ru Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
37157830a9
commit
6c18c386fd
@@ -1041,13 +1041,13 @@ static int wpcm450_gpio_register(struct platform_device *pdev,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
gpio = &pctrl->gpio_bank[reg];
|
||||
gpio->pctrl = pctrl;
|
||||
|
||||
if (reg >= WPCM450_NUM_BANKS)
|
||||
return dev_err_probe(dev, -EINVAL,
|
||||
"GPIO index %d out of range!\n", reg);
|
||||
|
||||
gpio = &pctrl->gpio_bank[reg];
|
||||
gpio->pctrl = pctrl;
|
||||
|
||||
bank = &wpcm450_banks[reg];
|
||||
gpio->bank = bank;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user