summaryrefslogtreecommitdiff
path: root/arch/arm/mach-davinci/cpuidle.c
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@arm.com>2018-05-11 17:20:12 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2018-05-15 14:36:27 +0300
commit388d4359680b56dba82fe2ffca05871e9fd2b73e (patch)
tree547fce672af5345a2a080958dfff6f791cb6fd72 /arch/arm/mach-davinci/cpuidle.c
parent4c27625b7a67eb9006963ed2bcf8e53b259b43af (diff)
downloadlinux-388d4359680b56dba82fe2ffca05871e9fd2b73e.tar.xz
KVM: arm/arm64: Properly protect VGIC locks from IRQs
As Jan reported [1], lockdep complains about the VGIC not being bullet proof. This seems to be due to two issues: - When commit 006df0f34930 ("KVM: arm/arm64: Support calling vgic_update_irq_pending from irq context") promoted irq_lock and ap_list_lock to _irqsave, we forgot two instances of irq_lock. lockdeps seems to pick those up. - If a lock is _irqsave, any other locks we take inside them should be _irqsafe as well. So the lpi_list_lock needs to be promoted also. This fixes both issues by simply making the remaining instances of those locks _irqsave. One irq_lock is addressed in a separate patch, to simplify backporting. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2018-May/575718.html Cc: stable@vger.kernel.org Fixes: 006df0f34930 ("KVM: arm/arm64: Support calling vgic_update_irq_pending from irq context") Reported-by: Jan Glauber <jan.glauber@caviumnetworks.com> Acked-by: Christoffer Dall <christoffer.dall@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/arm/mach-davinci/cpuidle.c')
0 files changed, 0 insertions, 0 deletions