Received: by 2002:a25:d956:0:0:0:0:0 with SMTP id q83csp4717184ybg; Tue, 28 Apr 2020 16:50:01 -0700 (PDT) X-Google-Smtp-Source: APiQypK0eVjKTErudyoBgUFT8GLhyvDzk7aFW/Mu2YI29E5gfpMydMdb8uQooy+IYZjZFJHavhnG X-Received: by 2002:a05:6402:1611:: with SMTP id f17mr183666edv.352.1588117800924; Tue, 28 Apr 2020 16:50:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588117800; cv=none; d=google.com; s=arc-20160816; b=IRk4s+L0EbvLZfQRQdmYq6nYTJniwPpP4aDoRBgkq3sGXlHh5huHJvijjjyFBWZ/Dz TYvtMkOqL5lt1+Akm6jkw5pR2DH44ksQGnuDFlsmphwcfUB3zLviNzyy1MK/gPTB+9yh ow8MB1zWS072YqNob8uge/LW1EBbW7sKTnhQyPLMGAIjtJe58nLyNQkGnqPrC343jUOY h8xdADBrKaA45Pn/Vk0eh6esw5pgN07Kt75Eu5PhQ2bmNGKCZZyCUaJ8QE+GVHQiZgX4 ODcix1B07dtdBDjeCVKGDcu053+eMzQQRo7sYAVuoYoiVfUGqYVWJG8HL1O3PHBTVNI/ ELyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=EgsET8VUBtyD/s7lLWUx9sIqs9ALDQ1NZU7iSsS+5z8=; b=IB+rjagZ05vqHArY6OzsoDB9/VEQd8FoS3Y5NOWejSexdP5ASaX2ePtUG/Qg9Q3IsY CHKh2Nd8WAHMSlySA7dQN6ipcVCl4HCsF49NndXQdzTzlTMZ28wGw1xE5SyRhRkTp9It ZkjhDLj0Mo6RxMeeapKGtxCAGv2Fmzo0FyEs4lwZUztYkXJQEpNJpJJuyAmWBR5inbEu DLy1tC9EnKZ5eeTGGhMOuekPDmndkyleolY+AHqwocIT3ztFEO3FfsGv3Jb581yApjaQ wG2O5rpL1cG378T97GwSDBipHIvq6HLgQNFyuDdZnz5lz4GwYvhISa0Ua0j69QRW82wS CTAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ARorGs0j; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bi20si2850394edb.233.2020.04.28.16.49.36; Tue, 28 Apr 2020 16:50:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ARorGs0j; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726044AbgD1Xph (ORCPT + 99 others); Tue, 28 Apr 2020 19:45:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726181AbgD1Xph (ORCPT ); Tue, 28 Apr 2020 19:45:37 -0400 Received: from mail-il1-x141.google.com (mail-il1-x141.google.com [IPv6:2607:f8b0:4864:20::141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EDE48C03C1AD for ; Tue, 28 Apr 2020 16:45:36 -0700 (PDT) Received: by mail-il1-x141.google.com with SMTP id m5so656832ilj.10 for ; Tue, 28 Apr 2020 16:45:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EgsET8VUBtyD/s7lLWUx9sIqs9ALDQ1NZU7iSsS+5z8=; b=ARorGs0jnGaWn5EIpZPmClAu62Hy0g8PR3YB73+67ybQ2ieKO9vsk6kh/JQEy8xXCk 84jvy8YVxjHRERDflDRmS0wNpoz8LfE8tEsGBTNIf2czBsRUgVRoUAUpRKIxpQtd1fqw +tEVCLNgDtQyo7ikNGMqWnOyIoCyg+TMmiWVnhnJIpeC2s1EMbruVG4xeIPlBBl2wtMd sQgbBr3iZNm+bhF+bM7m5/HP1zCAiOjdkUN/hLXZyxbrf6viHXbd+l2ZQrBi3UbOoPMA r38Ny0io12tjiM/0GMG4FF/uLoLAWH4Y+uij54/VTv89fs/22BRmohM0cYqR4XF9tjvY l7XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EgsET8VUBtyD/s7lLWUx9sIqs9ALDQ1NZU7iSsS+5z8=; b=sh8dGkfq7o1PZQvu8iVfr61LB36ZhZ/hCCPd4qElpAHe+aHNbltpIvfSiCWHFrWlUH kGm6gAQNHkAaarZP8HSoFU2so7tScFY/83pqdEN0i2zNcCF27jbprZfUuuD9kbdbJuZd iVegPovuG3e8G7/ZtgSGLZ5mhVNpmjwerlGXYCp3RPOCnwDoi4o2O5apsPj+ol1MV4wZ mLE7Aj1F87BZdeb9SIkvQ3Rg5VXGrej65bAAbuBJXr+8aRPTocbgZQvQY5UJhQccytal UoFmXay7DjnhpkoqIjdAUB3kWZJcUrZPmf3yhX5KnKlm+8Dh932jbG0h8e7ZxcCv4eP6 lTlQ== X-Gm-Message-State: AGi0PubrurPF8wQsVAcyBM5/0oHPONLeWk/XVuhu16Jq76KCr5SauCLF 3kNfYF15JIbUixqGb2DzFw2gmND6H5JRdjA3Q5RQDA== X-Received: by 2002:a92:985d:: with SMTP id l90mr29658275ili.108.1588117535890; Tue, 28 Apr 2020 16:45:35 -0700 (PDT) MIME-Version: 1.0 References: <20200428231025.12766-1-sean.j.christopherson@intel.com> In-Reply-To: <20200428231025.12766-1-sean.j.christopherson@intel.com> From: Jim Mattson Date: Tue, 28 Apr 2020 16:45:25 -0700 Message-ID: Subject: Re: [PATCH 0/2] KVM: nVMX: vmcs.SYSENTER optimization and "fix" To: Sean Christopherson Cc: Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Joerg Roedel , kvm list , LKML 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 On Tue, Apr 28, 2020 at 4:10 PM Sean Christopherson wrote: > > Patch 1 is a "fix" for handling SYSENTER_EIP/ESP in L2 on a 32-bit vCPU. > The primary motivation is to provide consistent behavior after patch 2. > > Patch 2 is essentially a re-submission of a nested VMX optimization to > avoid redundant VMREADs to the SYSENTER fields in the nested VM-Exit path. > > After patch 2 and without patch 1, KVM would end up with weird behavior > where L1 and L2 would only see 32-bit values for their own SYSENTER_E*P > MSRs, but L1 could see a 64-bit value for L2's MSRs. > > Sean Christopherson (2): > KVM: nVMX: Truncate writes to vmcs.SYSENTER_EIP/ESP for 32-bit vCPU > KVM: nVMX: Drop superfluous VMREAD of vmcs02.GUEST_SYSENTER_* > > arch/x86/kvm/vmx/nested.c | 4 ---- > arch/x86/kvm/vmx/vmx.c | 18 ++++++++++++++++-- > 2 files changed, 16 insertions(+), 6 deletions(-) It seems like this could be fixed more generally by truncating natural-width fields on 32-bit vCPUs in handle_vmwrite(). However, that also would imply that we can't shadow any natural-width fields on a 32-bit vCPU.