net: mvpp2: check return value after calling platform_get_resource()
authorYang Yingliang <yangyingliang@huawei.com>
Mon, 7 Jun 2021 14:36:02 +0000 (22:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jul 2021 07:44:47 +0000 (09:44 +0200)
[ Upstream commit 0bb51a3a385790a4be20085494cf78f70dadf646 ]

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/marvell/mvpp2/mvpp2_main.c

index a9f65d6..ec9b6c5 100644 (file)
@@ -6871,6 +6871,10 @@ static int mvpp2_probe(struct platform_device *pdev)
                        return PTR_ERR(priv->lms_base);
        } else {
                res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+               if (!res) {
+                       dev_err(&pdev->dev, "Invalid resource\n");
+                       return -EINVAL;
+               }
                if (has_acpi_companion(&pdev->dev)) {
                        /* In case the MDIO memory region is declared in
                         * the ACPI, it can already appear as 'in-use'