commit | 1082687e8d6292a61759eb83358e7db39fed1bf4 | [log] [tgz] |
---|---|---|
author | Thomas Gleixner <tglx@linutronix.de> | Mon Feb 07 09:05:05 2011 +0100 |
committer | Thomas Gleixner <tglx@linutronix.de> | Sat Feb 19 12:58:08 2011 +0100 |
tree | 2a6ba19073820f116050b1730f3e08f97187ddb2 | |
parent | 2b879eaf095878430c38cbd95e5c0fc4ce65ad8e [diff] |
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>