Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp9851833imu; Wed, 5 Dec 2018 11:21:01 -0800 (PST) X-Google-Smtp-Source: AFSGD/U747Dm4RjqDohCeKcUtASdfoyhKN8Vik8eoMIKfEX/aT9NCL8x0otw9CPPRgrbZ9gtPAac X-Received: by 2002:a62:9111:: with SMTP id l17mr25507049pfe.200.1544037661335; Wed, 05 Dec 2018 11:21:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544037661; cv=none; d=google.com; s=arc-20160816; b=wwCNxiW0n/GnEa8IxL24G0ZMP1mGr2OwMpJi56W4UXxcTtRCBNi/CgmipM90IGPjj/ NCIU0DVYMSlmMNVlfmLNqlK+CYTjIV9gThvYlMOJWDT1wTQGVd5g1OeQTMPz2px62vs2 +kp3NWst09NOP4pwwl6nsGJncH+3Y5pt9j/qhtFfMYzTpA4MnhdGhfUmBWwONX5cU4hJ bpUQn/PXkfwBoUjUFuga4IvXAiPaJRdVngVHVVTaFAPDrdhKxJ+fxtXkharSi78TNNXe OmXY+OcOgTU1+RKqcZfwXgaIzNYsFvDyGMOawkEt8nOXWpy3zkBN0D2FFb7o0cJEyQTp Z2hw== 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; bh=TZXzUHfJeVOSyvX/Ocpi3CUI7AyzlgBYzlmhzfR0dSQ=; b=Po9rcigXVVrcUEAPoqXuu7KuEiImQkhQRvqTeD4HuRGbWb6kwIyFRByJa0hoL5Jpfj ReXF/IU7plXtkt2+u5aoka0NGYN5B1SjuPQKQk3FMiaVSSNkRxPlMpOqFLrleMA2nQKC Jij/DL3UMoI35aHWw1ZluBE7vAHvjd7Ppp4HQjH0s6umJSH4LuDw7t0aNZ4xEaNpM2im oZ+btzQfnBSKW5/JaGobWoMvYHGO4JzTNRm/XV4yg4JFYLAZZcIEHn5AN1RjrahHZQyd /J3qa2DVfHJyfjIQLDamsEmTynsnNBhy/KSgdARi9A1HXS4GAx+03Ve/COZulgpNKNsF Wxhg== ARC-Authentication-Results: i=1; mx.google.com; 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 b5si21396910pfg.121.2018.12.05.11.20.45; Wed, 05 Dec 2018 11:21:01 -0800 (PST) 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; 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 S1728083AbeLETT7 (ORCPT + 99 others); Wed, 5 Dec 2018 14:19:59 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55140 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727349AbeLETT7 (ORCPT ); Wed, 5 Dec 2018 14:19:59 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D0C6985362; Wed, 5 Dec 2018 19:19:58 +0000 (UTC) Received: from localhost (ovpn-116-33.gru2.redhat.com [10.97.116.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id 489BD5D96E; Wed, 5 Dec 2018 19:19:58 +0000 (UTC) From: Eduardo Habkost To: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , kvm@vger.kernel.org Cc: Jim Mattson , x86@kernel.org, linux-kernel@vger.kernel.org, KarimAllah Ahmed , David Woodhouse Subject: [PATCH] kvm: x86: Report STIBP on GET_SUPPORTED_CPUID Date: Wed, 5 Dec 2018 17:19:56 -0200 Message-Id: <20181205191956.31480-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 05 Dec 2018 19:19:58 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Months ago, we have added code to allow direct access to MSR_IA32_SPEC_CTRL to the guest, which makes STIBP available to guests. This was implemented by commits d28b387fb74d ("KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL") and b2ac58f90540 ("KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL"). However, we never updated GET_SUPPORTED_CPUID to let userspace know that STIBP can be enabled in CPUID. Fix that by updating kvm_cpuid_8000_0008_ebx_x86_features and kvm_cpuid_7_0_edx_x86_features. Signed-off-by: Eduardo Habkost --- arch/x86/kvm/cpuid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 7bcfa61375c0..cc6dd65828a4 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -381,7 +381,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, /* cpuid 0x80000008.ebx */ const u32 kvm_cpuid_8000_0008_ebx_x86_features = F(AMD_IBPB) | F(AMD_IBRS) | F(AMD_SSBD) | F(VIRT_SSBD) | - F(AMD_SSB_NO); + F(AMD_SSB_NO) | F(AMD_STIBP); /* cpuid 0xC0000001.edx */ const u32 kvm_cpuid_C000_0001_edx_x86_features = @@ -411,7 +411,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, /* cpuid 7.0.edx*/ const u32 kvm_cpuid_7_0_edx_x86_features = F(AVX512_4VNNIW) | F(AVX512_4FMAPS) | F(SPEC_CTRL) | - F(SPEC_CTRL_SSBD) | F(ARCH_CAPABILITIES); + F(SPEC_CTRL_SSBD) | F(ARCH_CAPABILITIES) | F(INTEL_STIBP); /* all calls to cpuid_count() should be made on the same cpu */ get_cpu(); -- 2.18.0.rc1.1.g3f1ff2140