]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: mdio: Check regmap pointer returned by device_node_to_regmap()
authorAlok Tiwari <alok.a.tiwari@oracle.com>
Fri, 31 Oct 2025 16:15:53 +0000 (09:15 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 4 Nov 2025 00:20:03 +0000 (16:20 -0800)
The call to device_node_to_regmap() in airoha_mdio_probe() can return
an ERR_PTR() if regmap initialization fails. Currently, the driver
stores the pointer without validation, which could lead to a crash
if it is later dereferenced.

Add an IS_ERR() check and return the corresponding error code to make
the probe path more robust.

Fixes: 67e3ba978361 ("net: mdio: Add MDIO bus controller for Airoha AN7583")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20251031161607.58581-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/mdio/mdio-airoha.c

index 1dc9939c8d7d417836e45314f8bbcae2b9ad7fff..52e7475121eafc0a3a43ec5d8bd80d7e103b6cb7 100644 (file)
@@ -219,6 +219,8 @@ static int airoha_mdio_probe(struct platform_device *pdev)
        priv = bus->priv;
        priv->base_addr = addr;
        priv->regmap = device_node_to_regmap(dev->parent->of_node);
+       if (IS_ERR(priv->regmap))
+               return PTR_ERR(priv->regmap);
 
        priv->clk = devm_clk_get_enabled(dev, NULL);
        if (IS_ERR(priv->clk))