|
|
@@ -5000,7 +5000,7 @@ static int handle_emulation_failure(struct kvm_vcpu *vcpu)
|
|
|
|
|
|
++vcpu->stat.insn_emulation_fail;
|
|
|
trace_kvm_emulate_insn_failed(vcpu);
|
|
|
- if (!is_guest_mode(vcpu)) {
|
|
|
+ if (!is_guest_mode(vcpu) && kvm_x86_ops->get_cpl(vcpu) == 0) {
|
|
|
vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
|
|
|
vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_EMULATION;
|
|
|
vcpu->run->internal.ndata = 0;
|