From patchwork Tue Jun 7 10:18:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Euan Harris X-Patchwork-Id: 9160231 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 555D960777 for ; Tue, 7 Jun 2016 10:20:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 464632656B for ; Tue, 7 Jun 2016 10:20:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3B12C28179; Tue, 7 Jun 2016 10:20:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C3B102656B for ; Tue, 7 Jun 2016 10:20:46 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bAE5y-00035o-9s; Tue, 07 Jun 2016 10:18:50 +0000 Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bAE5x-00035P-56 for xen-devel@lists.xenproject.org; Tue, 07 Jun 2016 10:18:49 +0000 Received: from [85.158.143.35] by server-1.bemta-6.messagelabs.com id 5D/CF-30266-88F96575; Tue, 07 Jun 2016 10:18:48 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeJIrShJLcpLzFFi42JxWrohUrdjfli 4wZadLBbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8adXSIFC9grdp5uYGpgbGDrYuTkkBDwl+h/ NI0ZxGYT0JLY/WEhexcjB4eIgIrE7b0GIGFmgT5GiccNpiC2sICXxMwdU8DKWYBK3v89BmbzC rhJPPnwiAlipKJE97MJYOOFBJQlPlxZww5RIyhxcuYTFoiZEhIHX7xghqjnlrh9eirzBEaeWU jKZiEpW8DItIpRvTi1qCy1SNdIL6koMz2jJDcxM0fX0MBMLze1uDgxPTUnMalYLzk/dxMjMDw YgGAH47K/TocYJTmYlER5H3qHhQvxJeWnVGYkFmfEF5XmpBYfYpTh4FCS4JWbB5QTLEpNT61I y8wBBipMWoKDR0mE99xcoDRvcUFibnFmOkTqFKMux4Ift9cyCbHk5eelSonzGoDMEAApyijNg xsBi5pLjLJSwryMQEcJ8RSkFuVmlqDKv2IU52BUEuaVB5nCk5lXArfpFdARTEBHLLsWDHJESS JCSqqBMWT3nRTW+2sef1dlT5NbcGqywIrz+1uu/iucVPd9b5/DerXop1aahx/siku+dTZuypF 12f5KjF6J+8vNcl/G2X7+4e09a1dJ55beV6Js+pE2+VnK6uwO0yc4d9yQzT678lNVkenseJPS V64sHFtP9oedE2E5kJ0r6rGGf/J809nAQGxqDlNXYinOSDTUYi4qTgQANoOVmpUCAAA= X-Env-Sender: prvs=959077496=euan.harris@citrix.com X-Msg-Ref: server-9.tower-21.messagelabs.com!1465294724!17690857!2 X-Originating-IP: [66.165.176.89] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 8.46; banners=-,-,- X-VirusChecked: Checked Received: (qmail 9699 invoked from network); 7 Jun 2016 10:18:47 -0000 Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89) by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP; 7 Jun 2016 10:18:47 -0000 X-IronPort-AV: E=Sophos;i="5.26,432,1459814400"; d="scan'208";a="358859677" From: Euan Harris To: Date: Tue, 7 Jun 2016 10:18:38 +0000 Message-ID: <1465294718-31626-1-git-send-email-euan.harris@citrix.com> X-Mailer: git-send-email 1.7.10.4 MIME-Version: 1.0 X-DLP: MIA2 Cc: andrew.cooper3@citrix.com, kevin.tian@intel.com, Euan Harris , jun.nakajima@intel.com, jbeulich@suse.com Subject: [Xen-devel] [PATCH] nested vmx: Intercept guest rdmsr for MSR_IA32_VMX_VMFUNC X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Guest reads of MSR_IA32_VMX_VMFUNC should be handled by the logic in vmx_msr_read_intercept(). Otherwise a guest can read the raw host value of this MSR, even if nested vmx is disabled. Signed-off-by: Euan Harris Reviewed-by: Jan Beulich Acked-by: Kevin Tian --- xen/arch/x86/hvm/vmx/vmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 743b5a1..6c0721f 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -2624,7 +2624,7 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content) __vmread(GUEST_IA32_DEBUGCTL, msr_content); break; case IA32_FEATURE_CONTROL_MSR: - case MSR_IA32_VMX_BASIC...MSR_IA32_VMX_TRUE_ENTRY_CTLS: + case MSR_IA32_VMX_BASIC...MSR_IA32_VMX_VMFUNC: if ( !nvmx_msr_read_intercept(msr, msr_content) ) goto gp_fault; break;