• Tony Lindgren's avatar
    ARM: OMAP4: Fix array size for irq_target_cpu · e534e871
    Tony Lindgren authored
    If NR_IRQS is less than MAX_IRQS, we end up writing past the
    irq_target_cpu array in omap_wakeupgen_init():
    
    /* Associate all the IRQs to boot CPU like GIC init does. */
    for (i = 0; i < max_irqs; i++)
    	irq_target_cpu[i] = boot_cpu;
    
    This can happen if SPARSE_IRQ is enabled as by default NR_IRQS is
    set to 16. Without this patch we're overwriting other data during
    the boot.
    
    Looks like a similar fix was posted by Benoit Cousson earlier
    as "ARM: OMAP2+: wakeupgen: Fix wrong array size for irq_target_cpu"
    but was lost.
    
    Cc: stable@vger.kernel.org
    Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    e534e871
omap-wakeupgen.c 11.2 KB