[PATCH 2/2] pinctrl: Rockchip: abort GPIO probe gracefully on out-of-range alias id
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Jan 14 00:47:57 PST 2022
&{/aliases} { gpio120 = &gpio1; } so far led to an out-of-bounds read
when probing &gpio1. Fix this.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
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 ea748b600419..869cce198239 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;
--
2.30.2
More information about the barebox
mailing list