net: w5100: check return value after calling platform_get_resource()
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 31 Aug 2021 08:40:18 +0000 (16:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:40:35 +0000 (13:40 +0200)
[ Upstream commit a39ff4a47f3e1da3b036817ef436b1a9be10783a ]

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>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/wiznet/w5100.c

index c0d181a7f83ae4a130739fcf47429f3b5dc30ccd..0b7135a3c585a74e8f1bab575886375881876e18 100644 (file)
@@ -1052,6 +1052,8 @@ static int w5100_mmio_probe(struct platform_device *pdev)
                mac_addr = data->mac_addr;
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!mem)
+               return -EINVAL;
        if (resource_size(mem) < W5100_BUS_DIRECT_SIZE)
                ops = &w5100_mmio_indirect_ops;
        else