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>
Mon, 19 Jul 2021 07:44:49 +0000 (09:44 +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 4666226..e449d94 100644 (file)
@@ -1262,6 +1262,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);