mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 05:27:07 +02:00
KVM: nSVM: Always inject a #GP if mapping VMCB12 fails on nested VMRUN
nested_svm_vmrun() currently only injects a #GP if kvm_vcpu_map() fails
with -EINVAL. But it could also fail with -EFAULT if creating a host
mapping failed. Inject a #GP in all cases, no reason to treat failure
modes differently.
Fixes: 8c5fbf1a72 ("KVM/nSVM: Use the new mapping API for mapping guest memory")
CC: stable@vger.kernel.org
Co-developed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Yosry Ahmed <yosry@kernel.org>
Link: https://patch.msgid.link/20260303003421.2185681-6-yosry@kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
ac17892e51
commit
01ddcdc55e
|
|
@ -1010,12 +1010,9 @@ int nested_svm_vmrun(struct kvm_vcpu *vcpu)
|
|||
}
|
||||
|
||||
vmcb12_gpa = svm->vmcb->save.rax;
|
||||
ret = kvm_vcpu_map(vcpu, gpa_to_gfn(vmcb12_gpa), &map);
|
||||
if (ret == -EINVAL) {
|
||||
if (kvm_vcpu_map(vcpu, gpa_to_gfn(vmcb12_gpa), &map)) {
|
||||
kvm_inject_gp(vcpu, 0);
|
||||
return 1;
|
||||
} else if (ret) {
|
||||
return kvm_skip_emulated_instruction(vcpu);
|
||||
}
|
||||
|
||||
ret = kvm_skip_emulated_instruction(vcpu);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user