KVM: arm/arm64: vgic: Preserve the revious read from the pending table
authorMarc Zyngier <marc.zyngier@arm.com>
Thu, 16 Nov 2017 17:58:16 +0000 (17:58 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Dec 2017 08:53:01 +0000 (09:53 +0100)
commitc6c0913bd13f89d1a875cc7d85b3646840bead07
tree85368512c4d048b21f15cb9c82bbfc9465ad5478
parentaf85c1e04ec5737d595a9b4d0af0ef72a3ceb23b
KVM: arm/arm64: vgic: Preserve the revious read from the pending table

commit ddb4b0102cb9cdd2398d98b3e1e024e08a2f4239 upstream.

The current pending table parsing code assumes that we keep the
previous read of the pending bits, but keep that variable in
the current block, making sure it is discarded on each loop.

We end-up using whatever is on the stack. Who knows, it might
just be the right thing...

Fixes: 280771252c1ba ("KVM: arm64: vgic-v3: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES")
Reported-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
virt/kvm/arm/vgic/vgic-v3.c