fjes: check return value after calling platform_get_resource()
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 10 Jun 2021 08:02:43 +0000 (16:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:21:07 +0000 (16:21 +0200)
[ Upstream commit f18c11812c949553d2b2481ecaa274dd51bed1e7 ]

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/fjes/fjes_main.c

index 3511d40ba3f1101bb02cd4e8f66ee0b12347937b..440047a239f5719f13257d01fecc7e8b6d6be455 100644 (file)
@@ -1212,6 +1212,10 @@ static int fjes_probe(struct platform_device *plat_dev)
        adapter->interrupt_watch_enable = false;
 
        res = platform_get_resource(plat_dev, IORESOURCE_MEM, 0);
+       if (!res) {
+               err = -EINVAL;
+               goto err_free_control_wq;
+       }
        hw->hw_res.start = res->start;
        hw->hw_res.size = resource_size(res);
        hw->hw_res.irq = platform_get_irq(plat_dev, 0);