From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x225DAv9Gt+XK5aRyk6BM6YAaUPegilHehE7rxZq3JGT3kaYmpBokNa0g9FISL2EtVFS1Mfeg ARC-Seal: i=1; a=rsa-sha256; t=1517360197; cv=none; d=google.com; s=arc-20160816; b=lCG+MvvJcgH4ay4QkgTFFM/L6BrbV8b8WaPikgi6a+OA7h6yCMHr0aOnqIdeWwt6By UKqjdDfTeo/bxIAiRO0s9aNrGy5Swzp2FJ0jiSIhGpYpCKOYLeH2Upl/Xta6tjCQeMRX ybq0O9yAvam+tn5TyntyExTWQetvmfcGm6YiI6yhmYVVjZRQxBLMUvKKbYLlSrG70g7Z FiQC1+k4kO6x5ooK5cLBsPaWWbC8IySHrg3ojm42GdCY6NlH7sstPnCm5FIcvstjWwdd PClnoQgeKuhL139PrFTEyB7qI2CLJ8hY1zWrpZE3aHLc7pWiXhp/cmQYD/B3UsBZR8rb IbAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject :arc-authentication-results; bh=VHKu+wfKx9gXoD2jAnjPJ2esU3U2mdnzgcQbPrg249A=; b=gYjAUMgVy9IN4PWxdv6GR+RqGgZhjikDWjY8dFD2+y1i5R3wRiFXTfel6XLeY/eIIR UuL5Nq09hh965x3RoomhKHAp2RuEdWvw0XlzoxukUBLH+mI/OSXX9Xq6o62LdGiAeKan zTgp2Gi+YggAlM1C4Gh2Zsl80n7vmWm6SDfqQlEZQkly2nq/Y7Lr+ocN/PL36u5DByNh SrEcU13x/F07NY6Nb+t87Sv8GP8K2Po29dwT5um7VEazUVN5fAXc1cHXUjEMiN+4kikR ll4z9co+dw4Jv+gWsD5F92JMtcWTRbVMTNLEH6koxjuIh0VMXKaqxfB+NV4BK/gp8c0L mW4Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of pbonzini@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=pbonzini@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of pbonzini@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=pbonzini@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Subject: Re: [PATCH v3 4/4] KVM: VMX: Allow direct access to MSR_IA32_SPEC_CTRL To: Jim Mattson Cc: KarimAllah Ahmed , KarimAllah Ahmed , kvm list , LKML , the arch/x86 maintainers , Asit Mallick , Arjan Van De Ven , Dave Hansen , Andi Kleen , Andrea Arcangeli , Linus Torvalds , Tim Chen , Thomas Gleixner , Dan Williams , Jun Nakajima , David Woodhouse , Greg KH , Andy Lutomirski , Ashok Raj References: <1517271028-15916-1-git-send-email-karahmed@amazon.de> <1517271028-15916-5-git-send-email-karahmed@amazon.de> <43859417-ae76-ed1f-eb4f-8a84a35998fc@amazon.com> <7bd999e6-bc15-2470-80fb-771161df39d6@redhat.com> From: Paolo Bonzini Message-ID: Date: Tue, 30 Jan 2018 19:56:27 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590974131114135545?= X-GMAIL-MSGID: =?utf-8?q?1591067486288749375?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On 30/01/2018 19:27, Jim Mattson wrote: > On Tue, Jan 30, 2018 at 4:19 PM, Paolo Bonzini wrote: >> The new code in nested_vmx_merge_msr_bitmap should be conditional on >> vmx->save_spec_ctrl_on_exit. > > But then if L1 doesn't use MSR_IA32_SPEC_CTRL itself and it uses the > VM-entry MSR load list to set up L2's MSR_IA32_SPEC_CTRL, you will > never set vmx->save_spec_ctrl_on_exit, and L2's accesses to the MSR > will always be intercepted by L0. If you don't make it conditional, L0 will forget to read back at vmexit what value L2 has written to the MSR. The alternative is to set vmx->save_spec_ctrl_on_exit on all writes, including those coming from L2. That works for me. Paolo