linux/kernel/irq
Thomas Gleixner 1082687e8d genirq: Plug race in report_bad_irq()
We cannot walk the action chain unlocked. Even if IRQ_INPROGRESS is
set an action can be removed and we follow a null pointer. It's safe
to take the lock there, because the code which removes the action will
call synchronize_irq() which waits unlocked for IRQ_INPROGRESS going
away.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2011-02-19 12:58:08 +01:00
..
autoprobe.c genirq: Provide compat handling for chip->set_type() 2010-10-04 12:43:47 +02:00
chip.c genirq: Namespace cleanup 2011-02-19 12:58:06 +01:00
devres.c devres/irq: Fix devm_irq_match comment 2010-02-11 16:01:02 +01:00
dummychip.c genirq: Fix CONFIG_GENIRQ_NO_DEPRECATED=y build 2010-10-12 21:59:55 +02:00
handle.c genirq: Remove __do_IRQ 2011-01-21 11:55:31 +01:00
internals.h genirq: Do not copy affinity before set 2011-02-19 12:58:07 +01:00
irqdesc.c genirq: Make nr_irqs runtime expandable 2011-02-19 12:58:06 +01:00
Kconfig genirq: Remove __do_IRQ 2011-01-21 11:55:31 +01:00
Makefile genirq: Remove the now unused sparse irq leftovers 2010-10-12 16:53:44 +02:00
manage.c genirq: Remove redundant thread affinity setting 2011-02-19 12:58:08 +01:00
migration.c genirq: Prevent irq storm on migration 2011-02-02 22:15:08 +01:00
pm.c genirq: Add IRQF_FORCE_RESUME 2011-02-08 16:36:47 +01:00
proc.c genirq: Do not copy affinity before set 2011-02-19 12:58:07 +01:00
resend.c genirq: Prevent access beyond allocated_irqs bitmap 2011-02-19 12:10:51 +01:00
spurious.c genirq: Plug race in report_bad_irq() 2011-02-19 12:58:08 +01:00