2016-03-09 01:22:01

by Vladimir Zapolskiy

[permalink] [raw]
Subject: [PATCH] irqchip/mxs: 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: 25e34b44313b ("irqchip/mxs: Prepare driver for hardware with different offsets")
Signed-off-by: Vladimir Zapolskiy <[email protected]>
---
drivers/irqchip/irq-mxs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-mxs.c b/drivers/irqchip/irq-mxs.c
index c22e2d4..5bec700 100644
--- a/drivers/irqchip/irq-mxs.c
+++ b/drivers/irqchip/irq-mxs.c
@@ -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;
}
--
2.1.4


Subject: [tip:irq/core] irqchip/mxs: Fix error check of of_io_request_and_map()

Commit-ID: edf8fcdc6b254236be005851af35ea5e826e7e09
Gitweb: http://git.kernel.org/tip/edf8fcdc6b254236be005851af35ea5e826e7e09
Author: Vladimir Zapolskiy <[email protected]>
AuthorDate: Wed, 9 Mar 2016 03:21:40 +0200
Committer: Thomas Gleixner <[email protected]>
CommitDate: Thu, 10 Mar 2016 16:03:30 +0100

irqchip/mxs: 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: 25e34b44313b ("irqchip/mxs: Prepare driver for hardware with different offsets")
Signed-off-by: Vladimir Zapolskiy <[email protected]>
Cc: Jason Cooper <[email protected]>
Cc: Marc Zyngier <[email protected]>
Cc: Oleksij Rempel <[email protected]>
Cc: Sascha Hauer <[email protected]>
Cc: Shawn Guo <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
---
drivers/irqchip/irq-mxs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-mxs.c b/drivers/irqchip/irq-mxs.c
index efe5084..1730470 100644
--- a/drivers/irqchip/irq-mxs.c
+++ b/drivers/irqchip/irq-mxs.c
@@ -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;
}

2016-03-31 06:40:16

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] irqchip/mxs: fix error check of of_io_request_and_map()

On Wed, Mar 09, 2016 at 03:21:40AM +0200, Vladimir Zapolskiy wrote:
> 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 <[email protected]>

Acked-by: Shawn Guo <[email protected]>