parisc: Check the return value of ioremap() in lba_driver_probe()
authorWilliam Dean <williamsukatube@gmail.com>
Fri, 22 Jul 2022 02:57:09 +0000 (10:57 +0800)
committerHelge Deller <deller@gmx.de>
Mon, 1 Aug 2022 16:43:23 +0000 (18:43 +0200)
The function ioremap() in lba_driver_probe() can fail, so
its return value should be checked.

Fixes: 4bdc0d676a643 ("remove ioremap_nocache and devm_ioremap_nocache")
Reported-by: Hacash Robot <hacashRobot@santino.com>
Signed-off-by: William Dean <williamsukatube@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org> # v5.6+
drivers/parisc/lba_pci.c

index 732b516c7bf849d3b78109065af75b40e05ac95b..afc6e66ddc31c93f3263ef9276d9cf81c22d956d 100644 (file)
@@ -1476,9 +1476,13 @@ lba_driver_probe(struct parisc_device *dev)
        u32 func_class;
        void *tmp_obj;
        char *version;
-       void __iomem *addr = ioremap(dev->hpa.start, 4096);
+       void __iomem *addr;
        int max;
 
+       addr = ioremap(dev->hpa.start, 4096);
+       if (addr == NULL)
+               return -ENOMEM;
+
        /* Read HW Rev First */
        func_class = READ_REG32(addr + LBA_FCLASS);