Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4926178yba; Wed, 8 May 2019 05:18:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqy/4Ysw+k5f/2xzvUkYsr2J0oZTt3kU5/uBQibE4qGk9p/0l4IFB6RlxYn7iUik7Q4oOYHW X-Received: by 2002:a62:2703:: with SMTP id n3mr23984204pfn.199.1557317900942; Wed, 08 May 2019 05:18:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557317900; cv=none; d=google.com; s=arc-20160816; b=BmGogkH6vfJIXWtB63g5DNUrJ26qoiUN/uK66EaBk5fqRUmiGcanLFKketuNlxYDoB z6MDQy0mKDTZ3tIoJN563u6MLBLFRdV/mJuqCyTVMv+rLLB0bEVkBPpXjXUvCPH1NRMA DlvT/xeCJuSuPVxWeNNQ0G2gbD8BVUXYlkXM+v5JrQB57/3RbHY54OSdgN2Gw6RQkPAt jXukiFgaWSepY7NZd3CV35DAWP8Txb5E3wqkB9qOooCPDhG+iG8hjFGvCdYA+rPgzWrB 97oE8ILkz4ZeNlifQvatQJGxlw4/IqSKRJqIMnOE8FTuM+/vnLGG1ayQm7prmsWF3oMH JEiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=+uSM2xfSQ11lGMP7BGRPKgpGed0cJqoT69USPPkz3jU=; b=ONGbFUhgRasCw62Raw1j1/RMyt4lwxWD0jJTrzdrrccEAzWzncxUAN9mKTEKySmgP8 JHde+5RVunI4efAcokvP1es8ke0pofc8XBo6IaCO1o+7NN7pKf2y2ECPX7YwQBKmWRn3 vJpNm0RacSS0S3SFWc3bFT2kwME0kvXguP+bwUR48VbqhQRF4FozdzUAvTLKbTVtjga9 jrnfOXjExCX9g3E/imR0hgWK3sZ+qLFQKwTdCmWR1GeoYgI5JKdIClZ6FAMsK+J3BmCh ACqGr/WHQ5D07Elfvdb4Nov75m3UiOHkMo5oEQsZiR9zZy9lj4yHOjDVWl/Zgn3SJZ25 2GaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=Ks8R50Pm; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k15si8874375pgh.331.2019.05.08.05.18.02; Wed, 08 May 2019 05:18:20 -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=fail header.i=@gmail.com header.s=20161025 header.b=Ks8R50Pm; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728462AbfEHMQp (ORCPT + 99 others); Wed, 8 May 2019 08:16:45 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:39679 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728031AbfEHMQp (ORCPT ); Wed, 8 May 2019 08:16:45 -0400 Received: by mail-wm1-f67.google.com with SMTP id n25so2970944wmk.4; Wed, 08 May 2019 05:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=+uSM2xfSQ11lGMP7BGRPKgpGed0cJqoT69USPPkz3jU=; b=Ks8R50PmLH8B3wYlvGWd9xR78gXMG+K3RiXZmZt7IJD12HkAxPr+weWGElt2Pq+Oiq 6EHpYkYVNUldyBbIZgLFhgOmtmS1lGe+c9GmDXIkor1o/YKw6xVHI8Sge4HeT7Tz/rV3 pR28gQOzdSUa9+yUpzqGx6q6PlCNGjIjixJDSaBoHnvNNdkAwq23nu7EFHBSF4Eha/Eb IvR/KLR1mfqxUM1oXCNLB4BPdN8PEucgB6GlmYyzZo6X/gWWn5S8FRxJ0Kc8QQ+cNbku HRusIXxlJcTdO5OS/y1URHtWkC0tJ9KOPZZ1vgfTkHgmlJg8TBG1ZF7Avp9fuvLUVySE BHWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=+uSM2xfSQ11lGMP7BGRPKgpGed0cJqoT69USPPkz3jU=; b=mgLxjNRLmAF9eLTsXYWtPmArTk8zMLzPQQj2qxmf1KUbx1/ApDSOeoLZY3RG3fgHmo Ucc+tl25krPFhrQv4J/fpJRBMdCX9b75V4zLDys+puU3V5q/k5XTjrebEdMXJSzZZ10o 8zTP1UJcWN3uCGA4qbjrOZVs+SIy3oE5Rr2+L/yItDeuy5NxHtKIu8uQ3liqtYzLCBu2 Yky6Pvdiq6FnOS6/taZYKL/4XZ+QdZXkQnhYhBgWJ+MSdOGA8DlAaDj7Uf/Y/PJJXhM0 IH3lPvOZSq4v4owurwjBLSOnOt11RuLT2JcdmSqJU4Bo4uqXn5qU+FSBGaDtBa7FMKEn NWwg== X-Gm-Message-State: APjAAAUDsgdHmcja567XTzLJ+AXIHROZYsfSsAxl1rvQyHlNMhe1DUX3 Bbu4IEIuliICwMLUwxS86ZuVB7Id X-Received: by 2002:a1c:c7c8:: with SMTP id x191mr2860289wmf.146.1557317803365; Wed, 08 May 2019 05:16:43 -0700 (PDT) Received: from 640k.localdomain.com ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p24sm1509368wma.18.2019.05.08.05.16.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 08 May 2019 05:16:42 -0700 (PDT) From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Sean Christopherson , Peter Shier , Aaron Lewis Subject: [PATCH v2] kvm: nVMX: Set nested_run_pending in vmx_set_nested_state after checks complete Date: Wed, 8 May 2019 14:16:39 +0200 Message-Id: <1557317799-39866-1-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Aaron Lewis nested_run_pending=1 implies we have successfully entered guest mode. Move setting from external state in vmx_set_nested_state() until after all other checks are complete. Based on a patch by Aaron Lewis. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/vmx/nested.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index cec77f30f61c..e58caff92694 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -5420,9 +5420,6 @@ static int vmx_set_nested_state(struct kvm_vcpu *vcpu, if (!(kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE)) return 0; - vmx->nested.nested_run_pending = - !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING); - if (nested_cpu_has_shadow_vmcs(vmcs12) && vmcs12->vmcs_link_pointer != -1ull) { struct vmcs12 *shadow_vmcs12 = get_shadow_vmcs12(vcpu); @@ -5446,9 +5443,14 @@ static int vmx_set_nested_state(struct kvm_vcpu *vcpu, return -EINVAL; vmx->nested.dirty_vmcs12 = true; + vmx->nested.nested_run_pending = + !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING); + ret = nested_vmx_enter_non_root_mode(vcpu, false); - if (ret) + if (ret) { + vmx->nested.nested_run_pending = 0; return -EINVAL; + } return 0; } -- 1.8.3.1