diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 12db47c8bd3f0133167bd35d91bfed3534dc0d94..e33414f36dba64365b41bfd9570da66106c8d5a1 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -4227,6 +4227,11 @@ static int kvm_vcpu_ioctl_nmi(struct kvm_vcpu *vcpu) static int kvm_vcpu_ioctl_smi(struct kvm_vcpu *vcpu) { + if (is_smm(vcpu)) { + vcpu->arch.hflags &= ~HF_SMM_MASK; + vcpu->arch.smi_pending = 0; + } + kvm_make_request(KVM_REQ_SMI, vcpu); return 0;