ANDROID: KVM: arm64: Fix MMIO guard map error handling

Pierre-Clément reports that the error codes returned by the MMIO guard
map hypercall may end up being incorrectly reported as positive to
callers who interpret them a signed 64-bit integers, as specified in the
SMCCC.

Fix this by storing the return value in a 64-bit variable instead.

Bug: 253586500
Reported-by: Pierre-Clément Tosi <ptosi@google.com>
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: I3092856ec1a1fd1648a75c9e4ad4bfebd8830d14
This commit is contained in:
Quentin Perret
2022-10-14 13:42:37 +00:00
committed by Treehugger Robot
parent 8324bb0aed
commit 6f90f3b9c9

View File

@@ -1242,7 +1242,7 @@ out_guest_err:
static bool pkvm_install_ioguard_page(struct kvm_vcpu *vcpu, u64 *exit_code)
{
u32 retval = SMCCC_RET_SUCCESS;
u64 retval = SMCCC_RET_SUCCESS;
u64 ipa = smccc_get_arg1(vcpu);
int ret;