summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYosry Ahmed <yosry@kernel.org>2026-03-16 20:27:29 +0000
committerSean Christopherson <seanjc@google.com>2026-04-03 16:08:03 -0700
commit878b8efa2adbbfffc97f68cbba243cdf18d943c0 (patch)
tree3d1e15cbd786393053da851718897d9960d2cca6
parent783cf7d01fb8788f37735c0a6c3955024189287c (diff)
downloadlinux-878b8efa2adbbfffc97f68cbba243cdf18d943c0.tar.gz
linux-878b8efa2adbbfffc97f68cbba243cdf18d943c0.zip
KVM: SVM: Treat mapping failures equally in VMLOAD/VMSAVE emulation
Currently, a #GP is only injected 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. Similar to commit 01ddcdc55e09 ("KVM: nSVM: Always inject a #GP if mapping VMCB12 fails on nested VMRUN"), treat all failures equally. Fixes: 8c5fbf1a7231 ("KVM/nSVM: Use the new mapping API for mapping guest memory") Signed-off-by: Yosry Ahmed <yosry@kernel.org> Link: https://patch.msgid.link/20260316202732.3164936-7-yosry@kernel.org Signed-off-by: Sean Christopherson <seanjc@google.com>
-rw-r--r--arch/x86/kvm/svm/svm.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 7d0d95f40cd2..b83d524a6e78 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -2204,10 +2204,8 @@ static int vmload_vmsave_interception(struct kvm_vcpu *vcpu, bool vmload)
return 1;
}
- ret = kvm_vcpu_map(vcpu, gpa_to_gfn(vmcb12_gpa), &map);
- if (ret) {
- if (ret == -EINVAL)
- kvm_inject_gp(vcpu, 0);
+ if (kvm_vcpu_map(vcpu, gpa_to_gfn(vmcb12_gpa), &map)) {
+ kvm_inject_gp(vcpu, 0);
return 1;
}