linux/arch/x86/kernel/apic
Werner Pawlitschko ababae4410 x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest()
Commit 4857c91f0d 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: 4857c91f0d "x86/ioapic: Force affinity setting in setup_ioapic_dest()"
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
2015-10-27 09:18:34 +09:00
..
Makefile x86, irq: Move HT IRQ related code from io_apic.c into htirq.c 2014-12-16 14:08:17 +01:00
apic.c x86/apic: Serialize LVTT and TSC_DEADLINE writes 2015-09-14 18:29:59 +02:00
apic_flat_64.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
apic_noop.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
apic_numachip.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
bigsmp_32.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
htirq.c x86: Constify irqdomain ops 2015-05-05 11:14:48 +02:00
hw_nmi.c nmi: x86: convert to generic nmi handler 2015-07-17 12:23:30 +01:00
io_apic.c x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest() 2015-10-27 09:18:34 +09:00
ipi.c x86: Delete non-required instances of include <linux/init.h> 2014-01-06 21:25:18 -08:00
msi.c x86/irq: Use accessor irq_data_get_irq_handler_data() 2015-07-13 21:22:46 +02:00
probe_32.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
probe_64.c x86/platform: Introduce APIC post-initialization callback 2012-06-06 09:06:19 +02:00
vector.c genirq: Move field 'affinity' from irq_data into irq_common_data 2015-09-16 15:46:49 +02:00
x2apic_cluster.c Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 09:33:26 -07:00
x2apic_phys.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00
x2apic_uv_x.c x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted 2015-08-17 10:42:28 +02:00