ANDROID: KVM: arm64: Reset protected VM system registers before initializing traps
A protected guest's feature registers are used to determine which
traps are set, therefore, initialize them before initializing
trap registers.
Bug: 357781595
Fixes: c2821c8213 ("ANDROID: KVM: arm64: Initialize hypervisor vm state at EL2")
Change-Id: Ia154d565bd0a461c7f9362baa499df51eb621a53
Signed-off-by: Fuad Tabba <tabba@google.com>
This commit is contained in:
@@ -615,6 +615,8 @@ static int init_pkvm_hyp_vcpu(struct pkvm_hyp_vcpu *hyp_vcpu,
|
||||
hyp_vcpu->vcpu.arch.debug_ptr = &host_vcpu->arch.vcpu_debug_state;
|
||||
hyp_vcpu->vcpu.arch.hyp_reqs->type = KVM_HYP_LAST_REQ;
|
||||
|
||||
kvm_reset_pvm_sys_regs(&hyp_vcpu->vcpu);
|
||||
|
||||
ret = pkvm_vcpu_init_traps(hyp_vcpu);
|
||||
if (ret)
|
||||
goto done;
|
||||
@@ -628,7 +630,6 @@ static int init_pkvm_hyp_vcpu(struct pkvm_hyp_vcpu *hyp_vcpu,
|
||||
goto done;
|
||||
|
||||
pkvm_vcpu_init_ptrauth(hyp_vcpu);
|
||||
kvm_reset_pvm_sys_regs(&hyp_vcpu->vcpu);
|
||||
done:
|
||||
if (ret)
|
||||
unpin_host_vcpu(hyp_vcpu);
|
||||
|
||||
Reference in New Issue
Block a user