ata: sata_mv:- Handle return value of devm_ioremap.
authorArvind Yadav <arvind.yadav.cs@gmail.com>
Mon, 12 Dec 2016 17:43:27 +0000 (23:13 +0530)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Mar 2017 02:26:52 +0000 (02:26 +0000)
commit 064c3db9c564cc5be514ac21fb4aa26cc33db746 upstream.

Here, If devm_ioremap will fail. It will return NULL.
Then hpriv->base = NULL - 0x20000; Kernel can run into
a NULL-pointer dereference. This error check will avoid
NULL pointer dereference.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/ata/sata_mv.c

index 391cfda1e83fc5a9ae86ead1f3dee1d2427570ec..8c3c4ea760fb92fc95aeaa04624b2607ce30cedb 100644 (file)
@@ -4109,6 +4109,9 @@ static int mv_platform_probe(struct platform_device *pdev)
        host->iomap = NULL;
        hpriv->base = devm_ioremap(&pdev->dev, res->start,
                                   resource_size(res));
+       if (!hpriv->base)
+               return -ENOMEM;
+
        hpriv->base -= SATAHC0_REG_BASE;
 
        hpriv->clk = clk_get(&pdev->dev, NULL);