arm64: KVM: Set cpsr before spsr on fault injection
authorAndrew Jones <drjones@redhat.com>
Fri, 22 Jul 2016 14:38:46 +0000 (10:38 -0400)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 1 Aug 2016 14:09:47 +0000 (15:09 +0100)
commit89581f06b2bc225f0c9822fa52e714aa2e3810dd
tree8eacdc4ad18c8e9e71bf7df56b77342313217f0f
parent3f312db6b65baf393bee02f6dfdfaa94d786dd0f
arm64: KVM: Set cpsr before spsr on fault injection

We need to set cpsr before determining the spsr bank, as the bank
depends on the target exception level of the injection, not the
current mode of the vcpu. Normally this is one in the same (EL1),
but not when we manage to trap an EL0 fault. It still doesn't really
matter for the 64-bit EL0 case though, as vcpu_spsr() unconditionally
uses the EL1 bank for that. However the 32-bit EL0 case gets fun, as
that path will lead to the BUG() in vcpu_spsr32().

This patch fixes the assignment order and also modifies some white
space in order to better group pairs of lines that have strict order.

Cc: stable@vger.kernel.org # v4.5
Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm64/kvm/inject_fault.c