kernel_optimize_test/kernel/irq
Thomas Gleixner 2c4569ca26 genirq: Fix chained interrupt data ordering
irq_set_chained_handler_and_data() sets up the chained interrupt and then
stores the handler data.

That's racy against an immediate interrupt which gets handled before the
store of the handler data happened. The handler will dereference a NULL
pointer and crash.

Cure it by storing handler data before installing the chained handler.

Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
2017-05-16 15:03:26 +02:00
..
affinity.c genirq/affinity: Fix calculating vectors to assign 2017-04-20 16:03:09 +02:00
autoprobe.c
chip.c genirq: Fix chained interrupt data ordering 2017-05-16 15:03:26 +02:00
cpuhotplug.c
debug.h
devres.c genirq/devres: Use dev_name(dev) as default for devname 2017-02-12 19:49:25 +01:00
dummychip.c
generic-chip.c
handle.c
internals.h
ipi.c
irqdesc.c
irqdomain.c Merge branches 'iommu/fixes', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'arm/mediatek', 'arm/core', 'x86/vt-d' and 'core' into next 2017-02-10 15:13:10 +01:00
Kconfig
Makefile
manage.c genirq: Use irqd_get_trigger_type to compare the trigger type for shared IRQs 2017-04-15 15:42:43 +02:00
migration.c
msi.c genirq/msi: Set IRQ_DOMAIN_FLAG_MSI on MSI domain creation 2017-01-23 15:00:45 +00:00
pm.c
proc.c genirq: Fix /proc/interrupts output alignment 2017-02-10 20:17:52 +01:00
resend.c
settings.h
spurious.c genirq: Clarify logic calculating bogus irqreturn_t values 2017-02-16 15:32:19 +01:00