diff options
author | Mark Rutland <mark.rutland@arm.com> | 2018-04-12 12:11:23 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-04-20 08:21:04 +0200 |
commit | e06ea9af0fb58e46771569fded5b3bd75fdd2dc9 (patch) | |
tree | 17940bba23d023811107f0b67d931911e7825dee /arch/arm/kvm/psci.c | |
parent | 6df8d16adc44ca8791d11449887db87e67bf0688 (diff) |
arm64: KVM: Increment PC after handling an SMC trap
From: Marc Zyngier <marc.zyngier@arm.com>
commit f5115e8869e1dfafac0e414b4f1664f3a84a4683 upstream.
When handling an SMC trap, the "preferred return address" is set
to that of the SMC, and not the next PC (which is a departure from
the behaviour of an SMC that isn't trapped).
Increment PC in the handler, as the guest is otherwise forever
stuck...
Cc: stable@vger.kernel.org
Fixes: acfb3b883f6d ("arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls")
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com> [v4.9 backport]
Tested-by: Greg Hackmann <ghackmann@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm/kvm/psci.c')
0 files changed, 0 insertions, 0 deletions