From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42739) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmysY-00048W-RV for qemu-devel@nongnu.org; Thu, 22 Sep 2016 03:57:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmysT-0000hX-3p for qemu-devel@nongnu.org; Thu, 22 Sep 2016 03:57:09 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:18081) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmysS-0000fn-B3 for qemu-devel@nongnu.org; Thu, 22 Sep 2016 03:57:05 -0400 References: <57D90289.6020003@huawei.com> From: "Herongguang (Stephen)" Message-ID: <57E38EAC.3020108@huawei.com> Date: Thu, 22 Sep 2016 15:56:28 +0800 MIME-Version: 1.0 In-Reply-To: <57D90289.6020003@huawei.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [RFC/PATCH 3] kvm: fix events.flags (KVM_VCPUEVENT_VALID_SMM) overwritten by 0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, pbonzini@redhat.com, quintela@redhat.com, amit.shah@redhat.com, rth@twiddle.net, ehabkost@redhat.com, mtosatti@redhat.com Cc: arei.gonglei@huawei.com, "Huangweidong (C)" Fix events.flags (KVM_VCPUEVENT_VALID_SMM) overwritten by 0. Signed-off-by: He Rongguang --- Note without patch 2, this would result in kvm-kmod crash, as described in patch 2 --- target-i386/kvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-i386/kvm.c b/target-i386/kvm.c index d1a25c5..7db33d2 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -2456,6 +2456,7 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level) events.sipi_vector = env->sipi_vector; + events.flags = 0; if (has_msr_smbase) { events.smi.smm = !!(env->hflags & HF_SMM_MASK); events.smi.smm_inside_nmi = !!(env->hflags2 & HF2_SMM_INSIDE_NMI_MASK); @@ -2474,7 +2475,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level) events.flags |= KVM_VCPUEVENT_VALID_SMM; } - events.flags = 0; if (level >= KVM_PUT_RESET_STATE) { events.flags |= KVM_VCPUEVENT_VALID_NMI_PENDING | KVM_VCPUEVENT_VALID_SIPI_VECTOR; -- 1.8.3.4