diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2015-03-06 16:37:44 +0000 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2015-03-08 05:33:06 +0000 |
commit | cf613871946230c5dd8178d07bcdc2984f4545cd (patch) | |
tree | a74f34ffbd961798a4e0432335f57b933b7401e2 /include/linux/mmdebug.h | |
parent | 3e39e8f56c1c67cdd1e8f06da0d6b7c831818c76 (diff) |
irqchip: gic: Fix unsafe locking reported by lockdep
When compiled with CONFIG_LOCKDEP, the kernel shouts badly, saying
that the locking in the GIC code is unsafe. I'm afraid the kernel
is right:
CPU0
----
lock(irq_controller_lock);
<Interrupt>
lock(irq_controller_lock);
*** DEADLOCK ***
This can happen while enabling, disabling, setting the type
or the affinity of an interrupt.
The fix is to take the interrupt_controller_lock with interrupts
disabled in these cases.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Link: https://lkml.kernel.org/r/1425659870-11832-6-git-send-email-marc.zyngier@arm.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'include/linux/mmdebug.h')
0 files changed, 0 insertions, 0 deletions