From 7d5219b59b7015b370d050b79ff1f1b2a5aab469 Mon Sep 17 00:00:00 2001 From: Markus Stockhausen Date: Sun, 3 May 2026 18:34:38 +0200 Subject: [PATCH] realtek: mdio: harden rtmdio_probe_one() rtmdio_probe_one() should be only called by rtmdio_probe() after it has validated the dts input. Nevertheless be defensive and add another consistency check. Signed-off-by: Markus Stockhausen Link: https://github.com/openwrt/openwrt/pull/23204 Signed-off-by: Robert Marko --- .../realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto.c b/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto.c index 8bd674810b..6be60c9b42 100644 --- a/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto.c +++ b/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto.c @@ -945,7 +945,9 @@ static int rtmdio_probe_one(struct device *dev, struct rtmdio_ctrl *ctrl, ret = fwnode_property_read_u32(node, "reg", &smi_bus); if (ret) - return ret; + return dev_err_probe(dev, ret, "%pfwP missing reg property for MDIO bus\n", node); + if (smi_bus >= ctrl->cfg->num_busses) + return dev_err_probe(dev, -EINVAL, "%pfwP wrong bus index %d\n", node, smi_bus); bus = devm_mdiobus_alloc_size(dev, sizeof(*chan)); if (!bus)