From patchwork Thu May 31 17:02:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jim Mattson X-Patchwork-Id: 10441385 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 BCC36602BC for ; Thu, 31 May 2018 17:03:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B589228FB4 for ; Thu, 31 May 2018 17:03:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AA1CA28FB8; Thu, 31 May 2018 17:03:06 +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=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3E3EF28FB4 for ; Thu, 31 May 2018 17:03:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755719AbeEaRDC (ORCPT ); Thu, 31 May 2018 13:03:02 -0400 Received: from mail-ua0-f202.google.com ([209.85.217.202]:51494 "EHLO mail-ua0-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755638AbeEaRDB (ORCPT ); Thu, 31 May 2018 13:03:01 -0400 Received: by mail-ua0-f202.google.com with SMTP id f3-v6so5507385uan.18 for ; Thu, 31 May 2018 10:03:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc :content-transfer-encoding; bh=aJf46weO3mhDiDnFFt3JNge6ZlBJx/jZkV9quF4PeNM=; b=iDG4oy4kKFjkwpqA2+RZH9exxgynDXmNAOSF+YCc0LSIxPiRe6pS8vyUZRvSUTsWXU QuM2Vx/2jDYJezPWdwkamzPdUeaVEAK2JKcbjpfg/C9xlIJn4imL62GhRreX68qMcyBo aXgTnLIvcLwXSjq7PKsEDiOqQ/jLWPPtOCWiQ8iz5OW/ZWpGwkwNlkcaz+7yYzKbSjvr LtSqU00iv/NjIwFxL+HEoRRkvB+YevSX6o6uJAu1ua+1DEGotOH2MQr4VvZd8HrfD9HC ihma+AR6Du39DXmocPfC5T8B85YkNPGMw6TDqpukcYoCDPtdtQFJicCpiHXNDhKUfmAt r9Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc :content-transfer-encoding; bh=aJf46weO3mhDiDnFFt3JNge6ZlBJx/jZkV9quF4PeNM=; b=c9X9jwGuoyVVN4mrzsXjOR2XXUFAwwY3UG8R3/e6YWDH6Y7HD52h/mE1uj5ecZciif PKbeAsvSUl9Tv5TpLD8GZfTluEBKfAwlpABp/e9/6bOKg6RybJzcpc13WCTHS6mqJ5eN yBNe9W2OttXwfgFD14Ph97N6tr84PsfsZTg9XgRldnmZS8JTQmdJjPLFl5Dwj16CmERi EZmjthMcYNkoYrDaT3DOn69KigT6YVFA3cMUwNA5jSV3VPe5tyhDr93o6HzWdf9YYicB elGTBiYsvmAarFdqpB912I0Jr94zcP8jMPszlMTeaSu1kWEbw6aQZr0yfWlq52EUmlwv 45Mg== X-Gm-Message-State: ALKqPwc/0CTDhMVJ5AQAwJMJvqarBFEm/fZ+8CxJmwzAy8TzVA4u8q0j 2xmsoj7TgInsCNZJI9IpY+0GmpXqBpVAeA== X-Google-Smtp-Source: ADUXVKJ+j8Jpa2pmtgXOGzq0ptOduMRZL30qOvZapDwTJhQOP1GJBCncqxS143vY9OqQ+7vymY6rNWS16j1mcA== X-Received: by 2002:a9f:3004:: with SMTP id h4-v6mr1102728uab.58.1527786180770; Thu, 31 May 2018 10:03:00 -0700 (PDT) Date: Thu, 31 May 2018 10:02:56 -0700 Message-Id: <20180531170256.192315-1-jmattson@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.17.0.921.gf22659ad46-goog Subject: [PATCH] KVM/nVMX: Set the CPU_BASED_USE_MSR_BITMAPS if we have a valid L02 MSR bitmap From: Jim Mattson To: pshier@google.com Cc: KarimAllah Ahmed , David Woodhouse , Andy Lutomirski , Arjan van de Ven , Borislav Petkov , Dan Williams , Dave Hansen , David Woodhouse , Greg Kroah-Hartman , Josh Poimboeuf , Linus Torvalds , Peter Zijlstra , "=?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?=" , Thomas Gleixner , arjan.van.de.ven@intel.com, dave.hansen@intel.com, jmattson@google.com, kvm@vger.kernel.org, sironi@amazon.de, Ingo Molnar Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: KarimAllah Ahmed We either clear the CPU_BASED_USE_MSR_BITMAPS and end up intercepting all MSR accesses or create a valid L02 MSR bitmap and use that. This decision has to be made every time we evaluate whether we are going to generate the L02 MSR bitmap. Before commit: d28b387fb74d ("KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL") ... this was probably OK since the decision was always identical. This is no longer the case now since the MSR bitmap might actually change once we decide to not intercept SPEC_CTRL and PRED_CMD. Signed-off-by: KarimAllah Ahmed Signed-off-by: David Woodhouse Acked-by: Paolo Bonzini Cc: Andy Lutomirski Cc: Arjan van de Ven Cc: Borislav Petkov Cc: Dan Williams Cc: Dave Hansen Cc: David Woodhouse Cc: Greg Kroah-Hartman Cc: Josh Poimboeuf Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Radim Krčmář Cc: Thomas Gleixner Cc: arjan.van.de.ven@intel.com Cc: dave.hansen@intel.com Cc: jmattson@google.com Cc: kvm@vger.kernel.org Cc: sironi@amazon.de Link: http://lkml.kernel.org/r/1518305967-31356-6-git-send-email-dwmw@amazon.co.uk Signed-off-by: Ingo Molnar --- arch/x86/kvm/vmx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 599179bfb87f..91e3539cba02 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -10130,7 +10130,8 @@ static void nested_get_vmcs12_pages(struct kvm_vcpu *vcpu, if (cpu_has_vmx_msr_bitmap() && nested_cpu_has(vmcs12, CPU_BASED_USE_MSR_BITMAPS) && nested_vmx_merge_msr_bitmap(vcpu, vmcs12)) - ; + vmcs_set_bits(CPU_BASED_VM_EXEC_CONTROL, + CPU_BASED_USE_MSR_BITMAPS); else vmcs_clear_bits(CPU_BASED_VM_EXEC_CONTROL, CPU_BASED_USE_MSR_BITMAPS);