]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
USB: host: isp116x: check return value after calling platform_get_resource()
authorZhen Ni <nizhen@uniontech.com>
Wed, 2 Mar 2022 03:37:16 +0000 (11:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 14:52:39 +0000 (16:52 +0200)
[ Upstream commit 134a3408c2d3f7e23eb0e4556e0a2d9f36c2614e ]

It will cause null-ptr-deref if platform_get_resource() returns NULL,
we need check the return value.

Signed-off-by: Zhen Ni <nizhen@uniontech.com>
Link: https://lore.kernel.org/r/20220302033716.31272-1-nizhen@uniontech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/host/isp116x-hcd.c

index d089b3fb7a13dc8e02ad781765c78c87815e6a11..c32145e63aea6cfbe81f61738ef125334b06db78 100644 (file)
@@ -1551,10 +1551,12 @@ static int isp116x_remove(struct platform_device *pdev)
 
        iounmap(isp116x->data_reg);
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       release_mem_region(res->start, 2);
+       if (res)
+               release_mem_region(res->start, 2);
        iounmap(isp116x->addr_reg);
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       release_mem_region(res->start, 2);
+       if (res)
+               release_mem_region(res->start, 2);
 
        usb_put_hcd(hcd);
        return 0;