linux/kernel/irq
Jon Hunter 9b5d585d14 genirq: Ensure IRQ descriptor is valid when setting-up the IRQ
In the function, setup_irq(), we don't check that the descriptor
returned from irq_to_desc() is valid before we start using it. For
example chip_bus_lock() called from setup_irq(), assumes that the
descriptor pointer is valid and doesn't check before dereferencing it.

In many other functions including setup/free_percpu_irq() we do check
that the descriptor returned is not NULL and therefore add the same test
to setup_irq() to ensure the descriptor returned is valid.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-05-11 10:12:41 +01:00
..
autoprobe.c genirq: Handle pending irqs in irq_startup() 2012-02-15 11:56:59 +01:00
chip.c genirq: Export IRQ functions for module use 2016-03-10 16:00:35 +01:00
cpuhotplug.c genirq: Make the cpuhotplug migration code less noisy 2015-10-22 14:34:57 +02:00
debug.h irq: hide debug macros so they don't collide with others. 2012-04-23 12:30:03 -04:00
devres.c genirq: devres: Fix testing return value of request_any_context_irq() 2015-05-13 10:47:37 +02:00
dummychip.c Merge branch 'linus' into irq/core 2015-06-05 22:25:01 +02:00
generic-chip.c genirq: Add chip_[suspend|resume] PM support to irq_chip 2015-07-27 08:09:38 +02:00
handle.c genirq: Use a common macro to go through the actions list 2016-02-15 00:07:34 +01:00
internals.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 12:48:48 -07:00
ipi.c genirq: Add error code reporting to irq_{reserve,destroy}_ipi 2016-05-02 13:42:50 +02:00
irqdesc.c genirq: Allow the affinity of a percpu interrupt to be set/retrieved 2016-05-02 13:42:51 +02:00
irqdomain.c irqdomain: Allow domain matching on irq_fwspec 2016-05-02 13:42:50 +02:00
Kconfig genirq: Add GENERIC_IRQ_IPI Kconfig symbol 2016-02-25 10:56:55 +01:00
Makefile genirq: Add a new generic IPI reservation code to irq core 2016-02-25 10:56:56 +01:00
manage.c genirq: Ensure IRQ descriptor is valid when setting-up the IRQ 2016-05-11 10:12:41 +01:00
migration.c genirq: Remove bogus restriction in irq_move_mask_irq() 2015-06-20 19:05:14 +02:00
msi.c PCI changes for the v4.5 merge window: 2016-01-21 11:52:16 -08:00
pm.c Merge branches 'irq-urgent-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-15 09:30:48 -08:00
proc.c genirq: Use a common macro to go through the actions list 2016-02-15 00:07:34 +01:00
resend.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
settings.h genirq: Add flag to force mask in disable_irq[_nosync]() 2015-10-11 11:33:42 +02:00
spurious.c genirq: Use a common macro to go through the actions list 2016-02-15 00:07:34 +01:00