irqchip/mxs: Fix error check of of_io_request_and_map()
authorVladimir Zapolskiy <vz@mleia.com>
Wed, 9 Mar 2016 01:21:40 +0000 (03:21 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 10 Mar 2016 15:03:30 +0000 (16:03 +0100)
The of_io_request_and_map() returns a valid pointer in iomem region or
ERR_PTR(), check for NULL always fails and may cause a NULL pointer
dereference on error path.

Fixes: 25e34b44313b ("irqchip/mxs: Prepare driver for hardware with different offsets")
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Oleksij Rempel <linux@rempel-privat.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1457486500-10237-1-git-send-email-vz@mleia.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-mxs.c

index efe50845939d91fee149acb085912697031dd9a0..17304705f2cf9443b99690565ece5b537e3e61c4 100644 (file)
@@ -183,7 +183,7 @@ static void __iomem * __init icoll_init_iobase(struct device_node *np)
        void __iomem *icoll_base;
 
        icoll_base = of_io_request_and_map(np, 0, np->name);
-       if (!icoll_base)
+       if (IS_ERR(icoll_base))
                panic("%s: unable to map resource", np->full_name);
        return icoll_base;
 }