From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH] KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip Date: Mon, 24 Nov 2008 12:26:19 +0100 Message-ID: <492A8F5B.6070208@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , "Yang, Sheng" To: kvm-devel Return-path: Received: from gecko.sbs.de ([194.138.37.40]:21543 "EHLO gecko.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751000AbYKXL1Z (ORCPT ); Mon, 24 Nov 2008 06:27:25 -0500 Sender: kvm-owner@vger.kernel.org List-ID: Push b55a50582030cf294a675492d7ab2e235b965cc8 and d3a2c20c9b850d92dae383fd6a64840de2687cd6 also to the user space irqchip path. Signed-off-by: Jan Kiszka --- arch/x86/kvm/vmx.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 7ea4855..775a140 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -2486,7 +2486,9 @@ static void do_interrupt_requests(struct kvm_vcpu *vcpu, vmx_update_window_states(vcpu); if (vcpu->arch.nmi_pending && !vcpu->arch.nmi_injected) { - if (vcpu->arch.nmi_window_open) { + if (vcpu->arch.interrupt.pending) { + enable_nmi_window(vcpu); + } else if (vcpu->arch.nmi_window_open) { vcpu->arch.nmi_pending = false; vcpu->arch.nmi_injected = true; } else {