From: James Cleverdon Some very large systems overflow the array and corrupt memory. A BUG_ON will at least flag the problem until dynamic irq_vector allocation is added. 25-akpm/arch/i386/kernel/io_apic.c | 1 + 1 files changed, 1 insertion(+) diff -puN arch/i386/kernel/io_apic.c~irq-vector-overflow-check arch/i386/kernel/io_apic.c --- 25/arch/i386/kernel/io_apic.c~irq-vector-overflow-check Fri Sep 12 13:00:37 2003 +++ 25-akpm/arch/i386/kernel/io_apic.c Fri Sep 12 13:00:37 2003 @@ -1143,6 +1143,7 @@ int irq_vector[NR_IRQS] = { FIRST_DEVICE static int __init assign_irq_vector(int irq) { static int current_vector = FIRST_DEVICE_VECTOR, offset = 0; + BUG_ON(irq >= NR_IRQS); if (IO_APIC_VECTOR(irq) > 0) return IO_APIC_VECTOR(irq); next: _