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:18:39 +0000 (02:18 +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 0b8b8b4..d5091f3 100644 (file)
@@ -4059,6 +4059,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;
 
 #if defined(CONFIG_HAVE_CLK)