Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2339982ybz; Thu, 23 Apr 2020 16:19:49 -0700 (PDT) X-Google-Smtp-Source: APiQypLM9BsAGFe8EL7eD6CGgWjvUJD417Arxml6qcvcnfpRhHMbc10E2+f0JBtJMwMS6juE4ftu X-Received: by 2002:a17:907:20b5:: with SMTP id pw21mr4534542ejb.227.1587683989615; Thu, 23 Apr 2020 16:19:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587683989; cv=none; d=google.com; s=arc-20160816; b=lxPi+spCo0wVqDdvfSDkigdrraIQ3JV2VhZjcc6mc/MMDqv+sCmPYyW3RgtLGjvVpB jmzPmyKOSuBl+CU4MygKRj558dkNhP9XBC9Pw9cK5kPegUQxALOXZ6OQgy3EwbmARM1t fELY7PTBMWDGJRA0DPo7bXviBC5DTHMgFXLUOaTzt1iEt70XYcvrtU7OK9u/7vwHKBAK U8Q17zxVYfMOE/61++LsFlwEd8lINvJDhIzrNXmEPkQ0OVFgsOLd+8hvDhsG9vEh86vP +zQMdtxTEqicmzr2i8EgGBZjALEXJpSmiZRAxiXMuH4zk3/GZgHBS4eemDMa7/PpncLW 9ELA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=jBgHAJyVa2BT1AiW7fa4fEhzyBZhGJgPHXVO4ygdE8s=; b=dVZ2YY1P2WXURE3DiYtHpTexHYCivke3YR/kTkEpegWJfgGg6AASexKhr5ZhnTIi+D Y/q94LZyVOTRc5m5BEZv6CuKklpUTCtc5ejwlU8EjljCfsT+/oV/1AjoQTAKbEeaMtP7 1c12L/8R63frCllnN0uUEbsjlIfbF0jhjpIgACtOO44MM9NRm1hX2ATJrccND1/DbWrw Ib0ff9CbWFOjwPnZrbsMq2AEqYYUA/0+APELKeAB0cWz4stFWmevHDLbd34WOoXXpFWz d1fH/SFaZp/maKB2Zzrl9puqgrm2lH0hTB7vbmLSwP9XNAMQ491iGqOl2jv4Fb/utmUG m+Zw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ks15si2140275ejb.223.2020.04.23.16.19.25; Thu, 23 Apr 2020 16:19:49 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729460AbgDWXOm (ORCPT + 99 others); Thu, 23 Apr 2020 19:14:42 -0400 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:49834 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728444AbgDWXGs (ORCPT ); Thu, 23 Apr 2020 19:06:48 -0400 Received: from [192.168.4.242] (helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1jRkvU-0004hp-Ev; Fri, 24 Apr 2020 00:06:36 +0100 Received: from ben by deadeye with local (Exim 4.93) (envelope-from ) id 1jRkvR-00E6pi-Iv; Fri, 24 Apr 2020 00:06:33 +0100 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, Denis Kirjanov , "Peter Shier" , "Paolo Bonzini" , "Jacob Xu" , "Eric Biggers" , "Jim Mattson" Date: Fri, 24 Apr 2020 00:06:00 +0100 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 133/245] kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD In-Reply-To: X-SA-Exim-Connect-IP: 192.168.4.242 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.83-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Jim Mattson commit 396d2e878f92ec108e4293f1c77ea3bc90b414ff upstream. The host reports support for the synthetic feature X86_FEATURE_SSBD when any of the three following hardware features are set: CPUID.(EAX=7,ECX=0):EDX.SSBD[bit 31] CPUID.80000008H:EBX.AMD_SSBD[bit 24] CPUID.80000008H:EBX.VIRT_SSBD[bit 25] Either of the first two hardware features implies the existence of the IA32_SPEC_CTRL MSR, but CPUID.80000008H:EBX.VIRT_SSBD[bit 25] does not. Therefore, CPUID.(EAX=7,ECX=0):EDX.SSBD[bit 31] should only be set in the guest if CPUID.(EAX=7,ECX=0):EDX.SSBD[bit 31] or CPUID.80000008H:EBX.AMD_SSBD[bit 24] is set on the host. Fixes: 0c54914d0c52a ("KVM: x86: use Intel speculation bugs and features as derived in generic x86 code") Signed-off-by: Jim Mattson Reviewed-by: Jacob Xu Reviewed-by: Peter Shier Cc: Paolo Bonzini Reported-by: Eric Biggers Signed-off-by: Paolo Bonzini [bwh: Backported to 3.16: adjust indentation] Signed-off-by: Ben Hutchings --- arch/x86/kvm/cpuid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -400,7 +400,8 @@ static inline int __do_cpuid_ent(struct entry->edx |= F(SPEC_CTRL); if (boot_cpu_has(X86_FEATURE_STIBP)) entry->edx |= F(INTEL_STIBP); - if (boot_cpu_has(X86_FEATURE_SSBD)) + if (boot_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) || + boot_cpu_has(X86_FEATURE_AMD_SSBD)) entry->edx |= F(SPEC_CTRL_SSBD); /* * We emulate ARCH_CAPABILITIES in software even