Commit 7c67f546 authored by Paolo Bonzini's avatar Paolo Bonzini

KVM: SVM: do not allow VMRUN inside SMM

VMRUN is not supported inside the SMM handler and the behavior is undefined.
Just raise a #UD.
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent acd05785
...@@ -345,8 +345,12 @@ int nested_svm_vmrun(struct vcpu_svm *svm) ...@@ -345,8 +345,12 @@ int nested_svm_vmrun(struct vcpu_svm *svm)
struct kvm_host_map map; struct kvm_host_map map;
u64 vmcb_gpa; u64 vmcb_gpa;
vmcb_gpa = svm->vmcb->save.rax; if (is_smm(&svm->vcpu)) {
kvm_queue_exception(&svm->vcpu, UD_VECTOR);
return 1;
}
vmcb_gpa = svm->vmcb->save.rax;
ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(vmcb_gpa), &map); ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(vmcb_gpa), &map);
if (ret == -EINVAL) { if (ret == -EINVAL) {
kvm_inject_gp(&svm->vcpu, 0); kvm_inject_gp(&svm->vcpu, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment