• Werner Pawlitschko's avatar
    x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest() · ababae44
    Werner Pawlitschko authored
    Commit 4857c91f changed the way how irq affinity is setup in
    setup_ioapic_dest() from using the core helper function to
    unconditionally calling the irq_set_affinity() callback of the
    underlying irq chip.
    
    That results in a NULL pointer dereference for the rare case where the
    underlying irq chip is lapic_chip which has no irq_set_affinity()
    callback. lapic_chip is occasionally used for the timer interrupt (irq
    0).
    
    The fix is simple: Check the availability of the callback instead of
    calling it unconditionally.
    
    Fixes: 4857c91f "x86/ioapic: Force affinity setting in setup_ioapic_dest()"
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    ababae44
io_apic.c 77 KB