From 75bfd44939d4c38d6425c84825c4ef8c6d48356f Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Fri, 14 Jan 2022 09:47:57 +0100 Subject: 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 Link: https://lore.barebox.org/20220114084757.311697-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer --- drivers/pinctrl/pinctrl-rockchip.c | 2 ++ 1 file changed, 2 insertions(+) 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; -- cgit v1.2.3