diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2022-01-14 09:47:57 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-01-14 10:32:45 +0100 |
commit | 75bfd44939d4c38d6425c84825c4ef8c6d48356f (patch) | |
tree | deabcad6ce5b34ecd8e34c80da72dac0c1779c8b /drivers/pinctrl | |
parent | 0fcc8c97ea073aac4ad1e1d8770f1ea2204e6487 (diff) | |
download | barebox-75bfd44939d4c38d6425c84825c4ef8c6d48356f.tar.gz barebox-75bfd44939d4c38d6425c84825c4ef8c6d48356f.tar.xz |
pinctrl: Rockchip: abort GPIO probe gracefully on out-of-range alias id
&{/aliases} { gpio120 = &gpio1; } so far led to an out-of-bounds read
when probing &gpio1. Fix this.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.barebox.org/20220114084757.311697-2-a.fatoum@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/pinctrl-rockchip.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index ea748b6004..869cce1982 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -334,6 +334,8 @@ static int rockchip_gpio_probe(struct device_d *dev) int ret, bankno; bankno = of_alias_get_id(dev->device_node, "gpio"); + if (bankno >= ctrl->nr_banks) + bankno = -EINVAL; if (bankno < 0) return bankno; |