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.kozlow...@canonical.com>
---
 drivers/memory/renesas-rpc-if.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-if.c
index 8d36e221def1..45eed659b0c6 100644
--- a/drivers/memory/renesas-rpc-if.c
+++ b/drivers/memory/renesas-rpc-if.c
@@ -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);
 
-- 
2.25.1

Reply via email to