From: Arvind Yadav Date: Mon, 12 Dec 2016 17:43:27 +0000 (+0530) Subject: ata: sata_mv:- Handle return value of devm_ioremap. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=fb771ee7f2b10a6b115d1e1c02afe7e12a94fa3d;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git ata: sata_mv:- Handle return value of devm_ioremap. 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 Signed-off-by: Tejun Heo Signed-off-by: Jiri Slaby Signed-off-by: Willy Tarreau --- diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index b256ff5b657..d9f45c821ac 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -4097,6 +4097,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)