BUG: ARM: MMP and PXA: nr_irqs > NR_IRQS
Lars-Peter Clausen
lars at metafoo.de
Tue Feb 15 16:51:09 EST 2011
Hi
I stumbled upon this while looking through the existing archs using SPARSE_IRQ.
Even with SPARSE_IRQ the NR_IRQS is still the upper limit for the number of IRQs.
Both PXA and MMP set NR_IRQS to IRQ_BOARD_START, with IRQ_BOARD_START being the
number of IRQs used by the core.
In various machine files the nr_irqs field of the ARM machine defintion struct
is then set to "IRQ_BOARD_START + NR_BOARD_IRQS".
As a result "nr_irqs" will greater then NR_IRQS which then again causes the
"allocated_irqs" bitmap in the core irq code to be accessed beyond its size
overwriting unrelated data.
So as a fix I suggest setting NR_IRQS to a large a enough value like 1024 or
something.
- Lars
More information about the linux-arm-kernel
mailing list