diff options
author | Yang Yingliang <yangyingliang@huawei.com> | 2021-06-03 13:10:14 +0800 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-06-03 11:18:19 +0530 |
commit | d1ce245fe409241ed6168c835a5b55ef52bdb6a9 (patch) | |
tree | 6318263c9cde18111317c0806131e316716eac8d /drivers | |
parent | d6e9e8e5dd53419814eb54803b4ab3682b55cebe (diff) |
phy: Sparx5 Eth SerDes: check return value after calling platform_get_resource()
It will cause null-ptr-deref if platform_get_resource() returns NULL,
we need check the return value.
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210603051014.2674744-1-yangyingliang@huawei.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/phy/microchip/sparx5_serdes.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/phy/microchip/sparx5_serdes.c b/drivers/phy/microchip/sparx5_serdes.c index c8a7d0927ced..4076580fc2cd 100644 --- a/drivers/phy/microchip/sparx5_serdes.c +++ b/drivers/phy/microchip/sparx5_serdes.c @@ -2470,6 +2470,10 @@ static int sparx5_serdes_probe(struct platform_device *pdev) priv->coreclock = clock; iores = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!iores) { + dev_err(priv->dev, "Invalid resource\n"); + return -EINVAL; + } iomem = devm_ioremap(priv->dev, iores->start, resource_size(iores)); if (IS_ERR(iomem)) { dev_err(priv->dev, "Unable to get serdes registers: %s\n", |