diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2015-03-06 16:37:43 +0000 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2015-03-08 05:33:00 +0000 |
commit | 3e39e8f56c1c67cdd1e8f06da0d6b7c831818c76 (patch) | |
tree | b7332e00d00a4e1f1a13b01b8da7237b644e5eb0 /include/linux/mmdebug.h | |
parent | e8137f4f5088d763ced1db82d3974336b76e1bd2 (diff) |
irqchip: gicv3-its: Fix unsafe locking reported by lockdep
When compiled with CONFIG_LOCKDEP, the kernel shouts badly, saying
that my locking is unsafe. I'm afraid the kernel is right:
CPU0 CPU1
---- ----
lock(&its->lock);
local_irq_disable();
lock(&irq_desc_lock_class);
lock(&its->lock);
<Interrupt>
lock(&irq_desc_lock_class);
*** DEADLOCK ***
The fix is to always take its->lock with interrupts disabled.
Reported-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Link: https://lkml.kernel.org/r/1425659870-11832-5-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