memory: jz4780_nemc: Fix an error pointer vs NULL check in probe()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 3 Aug 2020 14:36:07 +0000 (17:36 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:54:27 +0000 (11:54 +0100)
commit 96999c797ec1ef41259f00b4ddf9cf33b342cb78 upstream.

The devm_ioremap() function returns NULL on error, it doesn't return
error pointers.  This bug could lead to an Oops during probe.

Fixes: f046e4a3f0b9 ("memory: jz4780_nemc: Only request IO memory the driver will use")
Cc: <stable@vger.kernel.org>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20200803143607.GC346925@mwanda
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/memory/jz4780-nemc.c

index 465ea92..555f7ac 100644 (file)
@@ -306,9 +306,9 @@ static int jz4780_nemc_probe(struct platform_device *pdev)
        }
 
        nemc->base = devm_ioremap(dev, res->start, NEMC_REG_LEN);
-       if (IS_ERR(nemc->base)) {
+       if (!nemc->base) {
                dev_err(dev, "failed to get I/O memory\n");
-               return PTR_ERR(nemc->base);
+               return -ENOMEM;
        }
 
        writel(0, nemc->base + NEMC_NFCSR);