From: Rob Herring Date: Mon, 12 Dec 2011 15:59:14 +0000 (-0600) Subject: irq: check domain hwirq range for DT translate X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=93797d87d63d36404907640e4e20bb976bff4744;p=mv-sheeva.git 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 --- 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;