ARM: KVM: vgic: retire queued, disabled interrupts
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 22 Jan 2013 00:36:15 +0000 (19:36 -0500)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 11 Feb 2013 18:59:49 +0000 (18:59 +0000)
commita1fcb44e26b0d98ebe53e8299462bf84c5aff178
treee86131a6cb09992df13f5d04f94f47be32368575
parent9d949dce523df878f1fce9f4d7738a5834650927
ARM: KVM: vgic: retire queued, disabled interrupts

An interrupt may have been disabled after being made pending on the
CPU interface (the classic case is a timer running while we're
rebooting the guest - the interrupt would kick as soon as the CPU
interface gets enabled, with deadly consequences).

The solution is to examine already active LRs, and check the
interrupt is still enabled. If not, just retire it.

Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/kvm/vgic.c