genirq: Plug race in report_bad_irq()
authorThomas Gleixner <tglx@linutronix.de>
Mon, 7 Feb 2011 08:05:05 +0000 (09:05 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 19 Feb 2011 11:58:08 +0000 (12:58 +0100)
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>

No differences found