]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:42 +0000 (15:37 -0500)
[ Upstream commit b2b526c2cf57d14ee269e012ed179081871f45a1 ]

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>
Signed-off-by: Sasha Levin <sashal@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))