Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2347577imm; Mon, 28 May 2018 06:29:39 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqfrOU12WLQflYUzDz5WH+Ubr2q0ELj7B4imUDDLUk+jVu4Um2oRaC8CNe9vYbf/w2+mkvr X-Received: by 2002:a63:6aca:: with SMTP id f193-v6mr10667288pgc.244.1527514179571; Mon, 28 May 2018 06:29:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527514179; cv=none; d=google.com; s=arc-20160816; b=JOvmUubrxtYXgSy6csfJUu8c5STHhYENmIX77TWBQSSWQX7VWZIM/Lmitn3ZnIYGcd 1dfC33hbcGi5Q6OKwq90ZfQj1iDLbn2RC+b/RROTzF5wVzw81M8ES2LPoyuj9EZudDrZ 4jUZyROSeCX7yAGq+daiFpG9tsLEhs/2gYt5oMZYAdITU1YaiORhINgZkF7ZCC29wnmg /G5ZQWmom7UaJCmSnWVGfHnaJsP0KVXiEgDjla3IrsZI+8UP9JQGNbg0jG7tsYjhCHMZ xKI417HFaBWGhdMZMvS1WtwrN2EzpGKlIN9+YciaKQhQWokcEk8QLiMlkPu4tjscJVq5 H9ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=JR8siZFa9eRLznAIIvQiKCaeFGUhrHbFuLmb4XZqGDc=; b=egGsT/p6xmxVq6NWTOcTUlKY7rGODihvF6rtSgFPWrWepQG5bnmZQvZH49jbPxBwoi roIMyKenGcZAomLe7j+lrQtuIPM4AmkzCwAp3PvpwKkTpm2q3V1K2LIKyDVGuhg80lbj 25ldYb4M3Xv51qiXZs39iPTnVa/KNqUILYRtLCiVt+KKZp3WY0qEj24M3EbxkGSUmbAF XyfQv/ZoXY5DlVWf5JX93yVkAsa03p/mCouEnO8VuOrrSdQdOJdiS4L0CK8otlyE6iQR GULae1IHB8EbEJQ6ISiQTxsHZWcEtYQulnYA8zJ6JXYExY7jE2SgirbplY3HXKCN9wMg wKxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=IQHrHcsA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p66-v6si29745526pfg.329.2018.05.28.06.29.24; Mon, 28 May 2018 06:29:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=IQHrHcsA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1163225AbeE1KrU (ORCPT + 99 others); Mon, 28 May 2018 06:47:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:37390 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1034269AbeE1KrO (ORCPT ); Mon, 28 May 2018 06:47:14 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 063B3204EE; Mon, 28 May 2018 10:47:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527504434; bh=gnq548eRSwHKD70SZw93F/AS5gWzcDkh7pgmIk7DnXE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IQHrHcsASZN4pvKlp4CnQrcdT1HaAhAW7dwkxmRYChJW4GbudkR2z2pzSzU6BRuUp kqI2ZVV7zcaYrsCy6VstLZMTYFaUcIxF3AyOjvFPu42TIFQeOvm24cjprePm8Oy/xN wMp/cynMBeNnaCcdBQJixbvqEeoyaTIdKMqgnxyc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Liran Alon , Chao Gao , Paolo Bonzini , Sasha Levin Subject: [PATCH 4.14 135/496] KVM: nVMX: Dont halt vcpu when L1 is injecting events to L2 Date: Mon, 28 May 2018 11:58:40 +0200 Message-Id: <20180528100325.629323892@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100319.498712256@linuxfoundation.org> References: <20180528100319.498712256@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Chao Gao [ Upstream commit 135a06c3a515bbd17729eb04f4f26316d48363d7 ] Although L2 is in halt state, it will be in the active state after VM entry if the VM entry is vectoring according to SDM 26.6.2 Activity State. Halting the vcpu here means the event won't be injected to L2 and this decision isn't reported to L1. Thus L0 drops an event that should be injected to L2. Cc: Liran Alon Reviewed-by: Liran Alon Signed-off-by: Chao Gao Signed-off-by: Paolo Bonzini Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- arch/x86/kvm/vmx.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -11174,7 +11174,12 @@ static int nested_vmx_run(struct kvm_vcp if (ret) return ret; - if (vmcs12->guest_activity_state == GUEST_ACTIVITY_HLT) + /* + * If we're entering a halted L2 vcpu and the L2 vcpu won't be woken + * by event injection, halt vcpu. + */ + if ((vmcs12->guest_activity_state == GUEST_ACTIVITY_HLT) && + !(vmcs12->vm_entry_intr_info_field & INTR_INFO_VALID_MASK)) return kvm_vcpu_halt(vcpu); vmx->nested.nested_run_pending = 1;