From 93797d87d63d36404907640e4e20bb976bff4744 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Mon, 12 Dec 2011 09:59:14 -0600 Subject: irq: check domain hwirq range for DT translate A DT node may have more than 1 domain associated with it, so make sure the hwirq number is within range when doing DT translation. Signed-off-by: Rob Herring Acked-by: Grant Likely Acked-by: Shawn Guo Cc: Thomas Gleixner --- kernel/irq/irqdomain.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'kernel/irq/irqdomain.c') diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 200ce832c58..8bd7479b839 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -135,6 +135,9 @@ int irq_domain_simple_dt_translate(struct irq_domain *d, return -EINVAL; if (intsize < 1) return -EINVAL; + if (d->nr_irq && ((intspec[0] < d->hwirq_base) || + (intspec[0] >= d->hwirq_base + d->nr_irq))) + return -EINVAL; *out_hwirq = intspec[0]; *out_type = IRQ_TYPE_NONE; -- cgit v1.2.3