]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: mscc: ocelot: check return value after calling platform_get_resource()
authorYang Yingliang <yangyingliang@huawei.com>
Sat, 5 Jun 2021 02:31:48 +0000 (10:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jul 2021 08:00:55 +0000 (10:00 +0200)
[ Upstream commit f1fe19c2cb3fdc92a614cf330ced1613f8f1a681 ]

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>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/ocelot/seville_vsc9953.c

index 84f93a874d502a185885733b5ca4aa3c1c2c71ec..deae923c8b7a82bb4dda3a241f2a5e96f1fcd6ae 100644 (file)
@@ -1206,6 +1206,11 @@ static int seville_probe(struct platform_device *pdev)
        felix->info = &seville_info_vsc9953;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!res) {
+               err = -EINVAL;
+               dev_err(&pdev->dev, "Invalid resource\n");
+               goto err_alloc_felix;
+       }
        felix->switch_base = res->start;
 
        ds = kzalloc(sizeof(struct dsa_switch), GFP_KERNEL);