Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3305970imu; Sun, 11 Nov 2018 12:02:17 -0800 (PST) X-Google-Smtp-Source: AJdET5cn5RE1PXQFoabguupC8KafqQJf08a9AFvDUhtnmEDd7o6f2Z4D1gdyHLJxfav8nCG2R2OY X-Received: by 2002:a17:902:31a4:: with SMTP id x33-v6mr17132212plb.105.1541966537847; Sun, 11 Nov 2018 12:02:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541966537; cv=none; d=google.com; s=arc-20160816; b=VRZtiGxaxHcJvJrfUKTGbnGpJ8E75kZFfSYyprvTM1r895aabOCjaEiZOGJ1cXwD0w DzCIP7wyLUpnuxyRvt6GmSm8fuAMc/PnNYGMP5zvQeyGB+ebdc3wSCPSlk29zhPR63lP 3i97JBXbd4Y6mKTP8/P3VT/JdUr6L7lSpJEEvF3rjfksheaEPo/4iz+rK+40tmX8/YrD uZeaqun2YYYxQifbJtj5fE9jPP2Q4IwtwaxyR5K+VEkebas1TPX4AtPWnsGeNh7mt1Zd ANqJjS7eqGg5c0XHA+Gku7nn81DaWT9tPDzIegAgw76jf6YS1RQXZLtcstNWBKOZIMR+ qV1A== 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=Qv0xXZZqWimSPF89nh0rLTj+oMGCGm1D4kcBnZIUGMM=; b=MKpUGzgqQ7X+as7aO53edVuJhKkYodpF8GnYFzatrnDMI+Hk/i9ZTygCIoDdfexbBr shX5L/5Y9zRWdjCMSM0TXr/DiE7urL96trtJLaL5vCu+ZbGGoqi4a7Syq77yBnhdknWo jnxmyxt69ILkAs4xwgjrow1kdxuRAIT0v2KgtGFHGpv6KTzZjN4Jjpc3j5QQZZIW/CLY JZrU905rcLQXyXqebVtTx66HeOCvjacPDQLJQb2GeV1M/IFcoEzlCIRfJQ5Kb3Pu5gSJ FEXNXsNIoli2sCgBNZJ8eZHWzbGazhRiTn/czoWHs1GyJGIygOrrpwBfEdv3HTpdDknt OvUw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e9si890028plt.330.2018.11.11.12.02.02; Sun, 11 Nov 2018 12:02:17 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728641AbeKLFuC (ORCPT + 99 others); Mon, 12 Nov 2018 00:50:02 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:51268 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730796AbeKLFsd (ORCPT ); Mon, 12 Nov 2018 00:48:33 -0500 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 1gLvst-0000oN-Ff; Sun, 11 Nov 2018 19:59:03 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gLvsV-0001fY-CI; Sun, 11 Nov 2018 19:58:39 +0000 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, "Tom Lendacky" , "Thomas Gleixner" , "Linus Torvalds" , "David Woodhouse" , "Borislav Petkov" , "Peter Zijlstra" , "Konrad Rzeszutek Wilk" , "Ingo Molnar" Date: Sun, 11 Nov 2018 19:49:05 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) Subject: [PATCH 3.16 223/366] x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR 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.61-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Tom Lendacky commit 612bc3b3d4be749f73a513a17d9b3ee1330d3487 upstream. On AMD, the presence of the MSR_SPEC_CTRL feature does not imply that the SSBD mitigation support should use the SPEC_CTRL MSR. Other features could have caused the MSR_SPEC_CTRL feature to be set, while a different SSBD mitigation option is in place. Update the SSBD support to check for the actual SSBD features that will use the SPEC_CTRL MSR. Signed-off-by: Tom Lendacky Cc: Borislav Petkov Cc: David Woodhouse Cc: Konrad Rzeszutek Wilk Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Fixes: 6ac2f49edb1e ("x86/bugs: Add AMD's SPEC_CTRL MSR usage") Link: http://lkml.kernel.org/r/20180702213602.29202.33151.stgit@tlendack-t1.amdoffice.net Signed-off-by: Ingo Molnar Signed-off-by: Ben Hutchings --- arch/x86/kernel/cpu/bugs.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -219,7 +219,8 @@ x86_virt_spec_ctrl(u64 guest_spec_ctrl, guestval |= guest_spec_ctrl & x86_spec_ctrl_mask; /* SSBD controlled in MSR_SPEC_CTRL */ - if (static_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD)) + if (static_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) || + static_cpu_has(X86_FEATURE_AMD_SSBD)) hostval |= ssbd_tif_to_spec_ctrl(ti->flags); if (hostval != guestval) { @@ -573,9 +574,10 @@ static enum ssb_mitigation __init __ssb_ * Intel uses the SPEC CTRL MSR Bit(2) for this, while AMD may * use a completely different MSR and bit dependent on family. */ - if (!static_cpu_has(X86_FEATURE_MSR_SPEC_CTRL)) + if (!static_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) && + !static_cpu_has(X86_FEATURE_AMD_SSBD)) { x86_amd_ssb_disable(); - else { + } else { x86_spec_ctrl_base |= SPEC_CTRL_SSBD; x86_spec_ctrl_mask |= SPEC_CTRL_SSBD; wrmsrl(MSR_IA32_SPEC_CTRL, x86_spec_ctrl_base);