OSDN Git Service

memory: renesas-rpc-if: fix possible NULL pointer dereference of resource
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Wed, 7 Apr 2021 15:43:57 +0000 (17:43 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Tue, 13 Apr 2021 14:55:02 +0000 (16:55 +0200)
The platform_get_resource_byname() can return NULL which would be
immediately dereferenced by resource_size().  Instead dereference it
after validating the resource.

Addresses-Coverity: Dereference null return value
Fixes: ca7d8b980b67 ("memory: add Renesas RPC-IF driver")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20210407154357.70200-1-krzysztof.kozlowski@canonical.com
drivers/memory/renesas-rpc-if.c

index 8d36e22..45eed65 100644 (file)
@@ -192,10 +192,10 @@ int rpcif_sw_init(struct rpcif *rpc, struct device *dev)
        }
 
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dirmap");
-       rpc->size = resource_size(res);
        rpc->dirmap = devm_ioremap_resource(&pdev->dev, res);
        if (IS_ERR(rpc->dirmap))
                rpc->dirmap = NULL;
+       rpc->size = resource_size(res);
 
        rpc->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);