diff options
author | Vladimir Zapolskiy <vz@mleia.com> | 2016-03-08 20:21:29 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-03-10 10:03:30 -0500 |
commit | cfe199afefe6201e998ddc07102fc1fdb55f196c (patch) | |
tree | 1883ee9985ae5e26ad45a4d8034639abba7f0307 | |
parent | 52b2a05fa7c8cfceebb59117a95decd68cf7e465 (diff) |
irqchip/sunxi-nmi: Fix error check of of_io_request_and_map()
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: 0e841b04c829 ("irqchip/sunxi-nmi: Switch to of_io_request_and_map() from of_iomap()")
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1457486489-10189-1-git-send-email-vz@mleia.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | drivers/irqchip/irq-sunxi-nmi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nmi.c index 0820f67cc9a7..668730c5cb66 100644 --- a/drivers/irqchip/irq-sunxi-nmi.c +++ b/drivers/irqchip/irq-sunxi-nmi.c | |||
@@ -160,9 +160,9 @@ static int __init sunxi_sc_nmi_irq_init(struct device_node *node, | |||
160 | 160 | ||
161 | gc = irq_get_domain_generic_chip(domain, 0); | 161 | gc = irq_get_domain_generic_chip(domain, 0); |
162 | gc->reg_base = of_io_request_and_map(node, 0, of_node_full_name(node)); | 162 | gc->reg_base = of_io_request_and_map(node, 0, of_node_full_name(node)); |
163 | if (!gc->reg_base) { | 163 | if (IS_ERR(gc->reg_base)) { |
164 | pr_err("unable to map resource\n"); | 164 | pr_err("unable to map resource\n"); |
165 | ret = -ENOMEM; | 165 | ret = PTR_ERR(gc->reg_base); |
166 | goto fail_irqd_remove; | 166 | goto fail_irqd_remove; |
167 | } | 167 | } |
168 | 168 | ||