]> git.baikalelectronics.ru Git - kernel.git/commit
x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest()
authorWerner Pawlitschko <werner.pawlitschko@arcor.de>
Tue, 27 Oct 2015 00:08:04 +0000 (09:08 +0900)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 27 Oct 2015 00:18:34 +0000 (09:18 +0900)
commit18043206d85e6e5639539f71e476fc3e145dd611
tree48ae676a2075db84e5c0357220d9badc33993cee
parent649b40818f84ade8580649c8f7f368df2f31547d
x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest()

Commit 0d28e589846e 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: 0d28e589846e "x86/ioapic: Force affinity setting in setup_ioapic_dest()"
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
arch/x86/kernel/apic/io_apic.c