From nobody Fri Oct 3 20:24:58 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8829221FF46 for ; Mon, 7 Jul 2025 18:33:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913215; cv=fail; b=qyvNUQenx/glFXHGaV/be4xinn+xVNu1dad1ORBMLax9jHsYLObbR23ghwoc0w4/NLXPIl6lBNwlxg7x7Fno7Kfn5rXWuK4QdDOFAst86r4mxl8BtqzgBGkrT2nQfJg/WuOOFXVUn7cpE7naklPz7XSRZJeZpcU7PJt0LN2GFno= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913215; c=relaxed/simple; bh=9Cocd7sU5ulYg83yHdG+rouLPC33p/0UOykbPM/scXY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sacoHWZtYCndW7uf5aa/8ghIqOBCoUsMe7vw8NAFVl/oFmLkcoy6PcsDwXJxwyT8uO4y/bi4lkcbazu8y5hAgjkvwdPxwEsoVm3pHtek3BiQZDcYXOcysH7dkdcWbs3IPalI/Bu+RA2Q8neuX8s3Y7Fo2kRac4yMNPfAh4CTlE4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=eNRCuBkP; arc=fail smtp.client-ip=40.107.93.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="eNRCuBkP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bz/GUj+rd3MqLfR+kRCU299OVTsfJmoMLtYb5zqcWR4ZKLNJZcKHhowHWy6WQt+lmWQVtwg/CC/xHE6C+TDzQgPodRPoCFyuhNlCfzM3wLbzOcXzGlNGZbkfRa7AnT9eJNjmFqzTKooy0W6VshktPO/ayvo7YAR5K8zImkXkY53+JiFitYd/yXZtSYl8vgpdkMKxSRHEVrN2aIvgf/UnVsWntBIqFmLzfIItx0/SmN+PhvGBONZFps0Rt6qHTMMDkFC76SHqZvsNmv9OmBg0Rym5ku+xuGb8CZo0GHYu3p0DvtcK79J52PZpFE7KSo2BonPh76a03PwaLI/HRx6K5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eIiGl58gsbL8A+TiFEYmaYRwN8mN0uuxuZjTzGh1rTo=; b=VZL9gY0sb5eXmE3I8bkiVrx6+XLC3GP/Bfh+kDUdjs5H61cyhxfGoFqXMUnywgE9TNyfpVGG//Z6bz5J/V/pTzZuMeHMYZE1h/O/N5hzTnyBEJ5csZ41fcvdLSA/2bLMKvXrXE6y6vOKp972zgcETDT4E55ijAWYF+uoaoc9rOnhNwb/u1fOfP1L92HYgRpi6J9we5GuQZRLmvwXIlKabsJVpKTqMRouwW6BKtn9aYFfKakmzNLmjr4H4JiPYYpYS8TjZiMDgwoc+dX100BqQtCPwxz9VkJfFoaZvEv4nX7FUFsBNCcTw+pgAE/LngH2AOo3X63sjpFjnsd/B6IyWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eIiGl58gsbL8A+TiFEYmaYRwN8mN0uuxuZjTzGh1rTo=; b=eNRCuBkPTTtolbb0OIa/ROFis9U5VlQ3yvmfVyOzCQie5JI7ENTybzwKQoix5R7RUmZj2S683xvl1zKKQfM7zAVEUfLNMJfO9lVum3nb5X1y3tMJmEixxI2UsYWpXIA2uoEBBusaR4QRIBqjttNN+Pk4+mbgrVMWz2MoHpYcCdM= Received: from BY5PR16CA0023.namprd16.prod.outlook.com (2603:10b6:a03:1a0::36) by DS4PR12MB9681.namprd12.prod.outlook.com (2603:10b6:8:281::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Mon, 7 Jul 2025 18:33:31 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::a7) by BY5PR16CA0023.outlook.office365.com (2603:10b6:a03:1a0::36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:30 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:28 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 01/21] Documentation/x86: Document new attack vector controls Date: Mon, 7 Jul 2025 13:32:56 -0500 Message-ID: <20250707183316.1349127-2-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|DS4PR12MB9681:EE_ X-MS-Office365-Filtering-Correlation-Id: 8bce1ea0-bf98-40e6-b07e-08ddbd84c5c9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?kHQck9Gd+YF5dMn75dEb1c5TlxCpTS1MZMtqWxIyaavQiI9rmhapoG9kNG2C?= =?us-ascii?Q?ywkrs7x4FQJny2K+iuB1kVA7WrNsGm5oeQy6zeE5QGU9htu6JfApxyyspchj?= =?us-ascii?Q?Tu8WmJDQv6eldoTmCWoEs+1h6QIuVU8I+rChG2IubzYeuLTK06Hy+ZIdPcEf?= =?us-ascii?Q?m9eyIAuU4kz/fQ8azB0oCpet7brQ5tEXGdM7n1+yamXm3HjCZ/x1hl8kgOBl?= =?us-ascii?Q?vrICkaLCBLLUXvmfa2FS26IudNECjAaKph0akmGr+zsvwiM+lvbln3HcSfmy?= =?us-ascii?Q?zHkX83ZGNMJ5mQB8/22brXrFAhVb3Jyj1lJMcNbC1BfzcQBaPP/aeQj7JlWJ?= =?us-ascii?Q?/pD8WSCUYxulMyRVyw8TfOHKEajtfF4BZmfi6odKYktuOBAnd+Qnrj/Vg/fQ?= =?us-ascii?Q?BKxmXlW/Yscm4k793oHM0rjmWvtXezJxDISVgBhVJhjdqECjwcsaRUjzzrSJ?= =?us-ascii?Q?EQzGzjVvwY/6IVzb98YVGL0tO0srAz7ZXJ539FF+yvY81DdPW95Da6jRcnas?= =?us-ascii?Q?bY5EuhwGUiGeZOzpg7v41rWjZQeuGEF1RsT9TFifpXj0fN7dmf91TsthYpop?= =?us-ascii?Q?iBHsiHavKKS3I8IumjwGwx7DWLTjb0x2j1STREg+ucgd0c0IufTYk5Afx1Qt?= =?us-ascii?Q?jrux1yWcWf2n0n3mxVBf8/ZodpgcpXKUjpV0l+CT32ogZ6J/3crPBFYqo54s?= =?us-ascii?Q?g4VEJtlGGOoR4ClwOcanHUyPtG3z9Hzj0ZpduKu8Fy6QE16dKutahwsrzstr?= =?us-ascii?Q?l4XRZ/RpMur5Yff/SbgQinf5PwjHAnn+2VCPYNxSDD9PkakcRJC4ags+aA+M?= =?us-ascii?Q?/8El7t/JAKbFU2VO+cqVWYEHARNAYCzedsuJfmkvbFhmDoJaLWn8qV0IacfF?= =?us-ascii?Q?UPc48gQ7o+FcwuZb91FWVYxtVnnQAUhjyYJ72PSl98JWay1PKnPETaRZgG9w?= =?us-ascii?Q?GSUukBFGehs/C9vpf2CO93kcqFGaQg9D7NcYCYCNROJFONc9pJMpmLquTKzl?= =?us-ascii?Q?qAdN6wLSMZMEgnKoz10RwtDqrqBDsi+u8XN0fNzieMHR78+Jf1oZJuy0eNXL?= =?us-ascii?Q?Z1HpewsgT+Y342RNjgvq6xxrPRIrUrtKJK277801/gdl97SGRwocYzDWEHoA?= =?us-ascii?Q?WwHn4fKQdwmEls8beU0JGQwEbSVNvdxeDqjAseaJTs1CyVR1TX4mmNZ5zB2r?= =?us-ascii?Q?s8BBRjJHUObqOjBa8xOOv71Sk3sYUDtJHLi49vzpycARPg3HpvX+C0u5ZFf5?= =?us-ascii?Q?DXOJBxbTwqkZzgtxW23KRglLu5g/2YM13djl0F4K9xoew9TuJNwk6AvXEkGx?= =?us-ascii?Q?y09kuWKpy1yV5p03EnLDZfAHJ8DUMpqD7/8lDhCAD66mHc3BoYk0xQE4aJrA?= =?us-ascii?Q?jhQsniumpTTy1BefjIlP7uyrNnjWX9s9b9YOBVUdfSKIVb9L+w41l/fzuda5?= =?us-ascii?Q?IobBZt0lf9QE7iFwfLecmk1BJglc133QUVDo0AFEDn6KUqi6h5tH4rdDrSsH?= =?us-ascii?Q?v/ZFWg9PDuM5j2JCabW64l423pjX2u9eOJhi?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:30.6789 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8bce1ea0-bf98-40e6-b07e-08ddbd84c5c9 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR12MB9681 Content-Type: text/plain; charset="utf-8" Document the 5 new attack vector command line options, how they interact with existing vulnerability controls, and recommendations on when they can be disabled. Note that while mitigating against untrusted userspace requires both user-to-kernel and user-to-user protection, these are kept separate. The kernel can control what code executes inside of it and that may affect the risk associated with vulnerabilities especially if new kernel mitigations are implemented. The same isn't typically true of userspace. In other words, the risk associated with user-to-user or guest-to-guest attacks is unlikely to change over time. While the risk associated with user-to-kernel or guest-to-host attacks may change. Therefore, these controls are separated. Signed-off-by: David Kaplan --- .../hw-vuln/attack_vector_controls.rst | 237 ++++++++++++++++++ Documentation/admin-guide/hw-vuln/index.rst | 1 + .../admin-guide/kernel-parameters.txt | 4 + 3 files changed, 242 insertions(+) create mode 100644 Documentation/admin-guide/hw-vuln/attack_vector_control= s.rst diff --git a/Documentation/admin-guide/hw-vuln/attack_vector_controls.rst b= /Documentation/admin-guide/hw-vuln/attack_vector_controls.rst new file mode 100644 index 000000000000..b5e465e618f0 --- /dev/null +++ b/Documentation/admin-guide/hw-vuln/attack_vector_controls.rst @@ -0,0 +1,237 @@ +.. SPDX-License-Identifier: GPL-2.0 + +Attack Vector Controls +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Attack vector controls provide a simple method to configure only the mitig= ations +for CPU vulnerabilities which are relevant given the intended use of a sys= tem. +Administrators are encouraged to consider which attack vectors are relevan= t and +disable all others in order to recoup system performance. + +When new relevant CPU vulnerabilities are found, they will be added to the= se +attack vector controls so administrators will likely not need to reconfigu= re +their command line parameters as mitigations will continue to be correctly +applied based on the chosen attack vector controls. + +Attack Vectors +-------------- + +There are 5 sets of attack-vector mitigations currently supported by the k= ernel: + +#. :ref:`user_kernel` +#. :ref:`user_user` +#. :ref:`guest_host` +#. :ref:`guest_guest` +#. :ref:`smt` + +To control the enabled attack vectors, see :ref:`cmdline`. + +.. _user_kernel: + +User-to-Kernel +^^^^^^^^^^^^^^ + +The user-to-kernel attack vector involves a malicious userspace program +attempting to leak kernel data into userspace by exploiting a CPU vulnerab= ility. +The kernel data involved might be limited to certain kernel memory, or inc= lude +all memory in the system, depending on the vulnerability exploited. + +If no untrusted userspace applications are being run, such as with single-= user +systems, consider disabling user-to-kernel mitigations. + +Note that the CPU vulnerabilities mitigated by Linux have generally not be= en +shown to be exploitable from browser-based sandboxes. User-to-kernel +mitigations are therefore mostly relevant if unknown userspace application= s may +be run by untrusted users. + +*user-to-kernel mitigations are enabled by default* + +.. _user_user: + +User-to-User +^^^^^^^^^^^^ + +The user-to-user attack vector involves a malicious userspace program atte= mpting +to influence the behavior of another unsuspecting userspace program in ord= er to +exfiltrate data. The vulnerability of a userspace program is based on the +program itself and the interfaces it provides. + +If no untrusted userspace applications are being run, consider disabling +user-to-user mitigations. + +Note that because the Linux kernel contains a mapping of all physical memo= ry, +preventing a malicious userspace program from leaking data from another +userspace program requires mitigating user-to-kernel attacks as well for +complete protection. + +*user-to-user mitigations are enabled by default* + +.. _guest_host: + +Guest-to-Host +^^^^^^^^^^^^^ + +The guest-to-host attack vector involves a malicious VM attempting to leak +hypervisor data into the VM. The data involved may be limited, or may +potentially include all memory in the system, depending on the vulnerabili= ty +exploited. + +If no untrusted VMs are being run, consider disabling guest-to-host mitiga= tions. + +*guest-to-host mitigations are enabled by default if KVM support is presen= t* + +.. _guest_guest: + +Guest-to-Guest +^^^^^^^^^^^^^^ + +The guest-to-guest attack vector involves a malicious VM attempting to inf= luence +the behavior of another unsuspecting VM in order to exfiltrate data. The +vulnerability of a VM is based on the code inside the VM itself and the +interfaces it provides. + +If no untrusted VMs, or only a single VM is being run, consider disabling +guest-to-guest mitigations. + +Similar to the user-to-user attack vector, preventing a malicious VM from +leaking data from another VM requires mitigating guest-to-host attacks as = well +due to the Linux kernel phys map. + +*guest-to-guest mitigations are enabled by default if KVM support is prese= nt* + +.. _smt: + +Cross-Thread +^^^^^^^^^^^^ + +The cross-thread attack vector involves a malicious userspace program or +malicious VM either observing or attempting to influence the behavior of c= ode +running on the SMT sibling thread in order to exfiltrate data. + +Many cross-thread attacks can only be mitigated if SMT is disabled, which = will +result in reduced CPU core count and reduced performance. + +If cross-thread mitigations are fully enabled ('auto,nosmt'), all mitigati= ons +for cross-thread attacks will be enabled. SMT may be disabled depending on +which vulnerabilities are present in the CPU. + +If cross-thread mitigations are partially enabled ('auto'), mitigations for +cross-thread attacks will be enabled but SMT will not be disabled. + +If cross-thread mitigations are disabled, no mitigations for cross-thread +attacks will be enabled. + +Cross-thread mitigation may not be required if core-scheduling or similar +techniques are used to prevent untrusted workloads from running on SMT sib= lings. + +*cross-thread mitigations default to partially enabled* + +.. _cmdline: + +Command Line Controls +--------------------- + +Attack vectors are controlled through the mitigations=3D command line opti= on. The +value provided begins with a global option and then may optionally include= one +or more options to disable various attack vectors. + +Format: + | ``mitigations=3D[global]`` + | ``mitigations=3D[global];[attack vectors]`` + +Global options: + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +Option Description +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +'off' All attack vectors disabled. +'auto' All attack vectors enabled, partial cross-thread mitigations. +'auto,nosmt' All attack vectors enabled, full cross-thread mitigations. +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Attack vector options: + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D +Option Description +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D +'no_user_kernel' Disables user-to-kernel mitigations. +'no_user_user' Disables user-to-user mitigations. +'no_guest_host' Disables guest-to-host mitigations. +'no_guest_guest' Disables guest-to-guest mitigations +'no_cross_thread' Disables all cross-thread mitigations. +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D + +Multiple attack vector options may be specified in a comma-separated list.= If +the global option is not specified, it defaults to 'auto'. The global opt= ion +'off' is equivalent to disabling all attack vectors. + +Examples: + | ``mitigations=3Dauto;no_user_kernel`` + + Enable all attack vectors except user-to-kernel. Partial cross-thread + mitigations. + + | ``mitigations=3Dauto,nosmt;no_guest_host,no_guest_guest`` + + Enable all attack vectors and cross-thread mitigations except for + guest-to-host and guest-to-guest mitigations. + + | ``mitigations=3D;no_cross_thread`` + + Enable all attack vectors but not cross-thread mitigations. + +Interactions with command-line options +-------------------------------------- + +Vulnerability-specific controls (e.g. "retbleed=3Doff") take precedence ov= er all +attack vector controls. Mitigations for individual vulnerabilities may be +turned on or off via their command-line options regardless of the attack v= ector +controls. + +Summary of attack-vector mitigations +------------------------------------ + +When a vulnerability is mitigated due to an attack-vector control, the def= ault +mitigation option for that particular vulnerability is used. To use a dif= ferent +mitigation, please use the vulnerability-specific command line option. + +The table below summarizes which vulnerabilities are mitigated when differ= ent +attack vectors are enabled and assuming the CPU is vulnerable. + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D +Vulnerability User-to-Kernel User-to-User Guest-to-Host Guest-to-Guest C= ross-Thread Notes +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D +BHI X X +ITS X X +GDS X X X X = * (Note 1) +L1TF X X = * (Note 2) +MDS X X X X = * (Note 2) +MMIO X X X X = * (Note 2) +Meltdown X +Retbleed X X = * (Note 3) +RFDS X X X X +Spectre_v1 X +Spectre_v2 X X +Spectre_v2_user X X = * (Note 1) +SRBDS X X X X +SRSO X X +SSB = (Note 4) +TAA X X X X = * (Note 2) +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D + +Notes: + 1 -- Can be mitigated without disabling SMT. + + 2 -- Disables SMT if cross-thread mitigations are fully enabled and t= he CPU + is vulnerable + + 3 -- Disables SMT if cross-thread mitigations are fully enabled, the C= PU is + vulnerable, and STIBP is not supported + + 4 -- Speculative store bypass is always enabled by default (no kernel + mitigation applied) unless overridden with spec_store_bypass_disable op= tion + +When an attack-vector is disabled, all mitigations for the vulnerabilities +listed in the above table are disabled, unless mitigation is required for a +different enabled attack-vector or a mitigation is explicitly selected via= a +vulnerability-specific command line option. diff --git a/Documentation/admin-guide/hw-vuln/index.rst b/Documentation/ad= min-guide/hw-vuln/index.rst index 09890a8f3ee9..89ca636081b7 100644 --- a/Documentation/admin-guide/hw-vuln/index.rst +++ b/Documentation/admin-guide/hw-vuln/index.rst @@ -9,6 +9,7 @@ are configurable at compile, boot or run time. .. toctree:: :maxdepth: 1 =20 + attack_vector_controls spectre l1tf mds diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentatio= n/admin-guide/kernel-parameters.txt index f1f2c0874da9..c540e9eb721a 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -3790,6 +3790,10 @@ mmio_stale_data=3Dfull,nosmt [X86] retbleed=3Dauto,nosmt [X86] =20 + [X86] After one of the above options, additionally + supports attack-vector based controls as documented in + Documentation/admin-guide/hw-vuln/attack_vector_controls.rst + mminit_loglevel=3D [KNL,EARLY] When CONFIG_DEBUG_MEMORY_INIT is set, this parameter allows control of the logging verbosity for --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2053.outbound.protection.outlook.com [40.107.244.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5214262FE4 for ; Mon, 7 Jul 2025 18:33:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913217; cv=fail; b=UAJkIsKKmJgQkJOBBRNknVZc4Eh33rZaNtEQ8H6BQEotcTvJeGGnciBbJcEDbMkIRzSEePy6n7ignMdyf0sMZzRKR88fBf7QoAkDW9RqBC+LlF9jfcp6/ZYsd/EnpCVNlsW0BdizqCoayu7JPGdKXqcZnVxvev9gHD8ahNxVi9s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913217; c=relaxed/simple; bh=VbbPgicQP6feLUHj8ejcgZ8wOOSCIvYAKBUFxfGD2PM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pansHSvep10+2iXF0GCHEDp3A9kIN/jA/OmRXeLdiBzW7c3M31YU5RBaFzZRgdOkLiXa32SlpgU1OJyz+p4k+jlY48UWJLr+ISIJOUPxOjAG9dnSLs7RAH7/QXDSDrHPkbUolsX+NyDx9Ag5DrsikvGgnfPMWpjKLMY8mopiDRc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=TCjBCd3k; arc=fail smtp.client-ip=40.107.244.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="TCjBCd3k" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IadtWJOvxojGyWKzM3KLtvjP609EPMuHYNvqPV7Se9GuMCqRZQURhkBM3wLu/+BUm6lyHVRNAArz0yNE+a9A+HBFtBZ0WHvLbsGeVFmoiIEYbaD2RTrl32y89JgcEBO1amApMEiDx/4+WW6kiBEvsfHGvulTU8SDSuQVfqSLDh1CM/UFCpt2URpgRaSJMs2EIySHWrOMn8WVLVnNMZoTmC3MW6382fTjNSkFSnYWn4DlBgacUKM/rft+D9iVfjeFaxlL/0SRDk3rkNssvifeAN35y4Knklx9qFVZs7HMXaluDy8jf2vpI8kpSUybHc925pAMdPPnaXl6icE3bF6P5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=biP3yBSLiRcHxT2I9ygIlfFb+nJAl0FhRU0N9HKmJWw=; b=pIod3bKhiMd/9jzUhL8/qlrfE2VDTc++rV+6ZSfGtJ61kw6fPiqGDN9K08tGBwMTPrK24Z+FMewZ9neoQ/gV/g0U5NXdBgTZ/r15rdQ7OJVJQ7KXqz3xMVcwYBqYk1qgxhm6UD6ERDOW3ypmROklP4kayWYU+hc/WPlBTzRm/Caq8rcqpo0Sd8rNMGfUOw7VqbnZjPN1d1sM1y15KW22TUaPsyUe1zxmrMDFLws0kptAhn8eg6LuKixL2PFeWdNyuk13/xGNB/zNmKwKUSPg+Mhcrotyp/SPujkBx/rCAh0OwIbiAYeCPDB/rA5mFfGznRFoTddSBlx3MBJVjdOanQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=biP3yBSLiRcHxT2I9ygIlfFb+nJAl0FhRU0N9HKmJWw=; b=TCjBCd3kRr2hqSIouumDwRWKQdWNLseawwrfQMmOoeePqupqDgIulKMlghjkFu7YJ7BGzFk5qi7f4EF0nhr87F6xRixPFI2fbWTwjXXtgM7PZO5q6XQVwRJaro28dPEuxmuHik2vq5TWXaJ8NgxK4D3ZcB6B4tgtkiah1gtLT4Y= Received: from BY5PR16CA0024.namprd16.prod.outlook.com (2603:10b6:a03:1a0::37) by BN3PR12MB9571.namprd12.prod.outlook.com (2603:10b6:408:2ca::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Mon, 7 Jul 2025 18:33:32 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::af) by BY5PR16CA0024.outlook.office365.com (2603:10b6:a03:1a0::37) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:31 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:29 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 02/21] cpu: Define attack vectors Date: Mon, 7 Jul 2025 13:32:57 -0500 Message-ID: <20250707183316.1349127-3-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|BN3PR12MB9571:EE_ X-MS-Office365-Filtering-Correlation-Id: 104f3826-c531-4181-9aed-08ddbd84c662 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Wb+Eix5FcMSA2efwxO7JCfRonvvOCdq0IzF2+X+VT4NUsUyjN2DZsKwqGEfF?= =?us-ascii?Q?wmdPJlwkKt58ERjpzVUzIaJOJCIZWVTukov0eCoSWpDQjKZPX7UycQ5ZVkoC?= =?us-ascii?Q?TojiBo+D+RAOCm5/k+QU4joGFkfC0C3Hny1HgrwL13IEW/qDQUEoTzagIKh1?= =?us-ascii?Q?SaKgB9HQtfoCBQyr+QozO8DTvMC6Xlpn/zmCMeEbz/pKI+tVt9bhoCL+l5UW?= =?us-ascii?Q?LhueKIS8R4dWiCrDFSBNs048tIEqCgW+UDTb9w6l2s3U8dx9VtadoPkMNuTt?= =?us-ascii?Q?FryBC752n9+51Z6YZSHr5y4Ho0tic5TO/wfzlFYtxfJnoK9JNpkyheZUZXO6?= =?us-ascii?Q?DxvPNX+BHAaQmgBlOMpPoxQXTy2EUQkipQxTHd2FjM+DeageOYeEWQDRJf+B?= =?us-ascii?Q?HcvQpqMDhROg3eu8OiVPadfvEUe9oRv4TLTjaDTPgscsYeF6o8RIOHPIQYZ/?= =?us-ascii?Q?XDebJ7YPRS2TguxZ/fi1hLgA2Gps92KfnoG66OWXc7ba/44QbgSwLesPb2lY?= =?us-ascii?Q?PngZbi8ASGroKJSrdZ4pxK3q1/gWyJ3fNcbi8Xs8ByUqZZzfh4+vAwLxTAVq?= =?us-ascii?Q?t47RJVXzCeN9HnUrS0rAkGxUk5iOEq0LnEHBH4sfOvBc7nqIryjh4YiyllZd?= =?us-ascii?Q?axFfApihbxzgQvCOfQbADxYZgakiB4WhIGj+Bg8GQJ3CoeuYcqEwxRsCbPmL?= =?us-ascii?Q?iaHkSs9OeQ5uDbO9tXzMVAw94fsqxWJjjTc/B64F+YUcrUwtzRmm8oIcr+QL?= =?us-ascii?Q?WdpnLGgZ4xHshT19hXG0OVVofsJssKP3AStoUkGSbhOn7ZZV11CWKcNVuQxx?= =?us-ascii?Q?HbiC1kPaMGDjHhQjWNKYI5ClY3qy9ObIhCbHzTQP8PF8WiMS2BjjJ+Jw5Cbp?= =?us-ascii?Q?xlIfnslxbjnVUqmKmKYks8ggCZ81dIRHyJuGh4OC5yEX3YhURW0zAlnz9K7p?= =?us-ascii?Q?lpRKQ2mOjnIYCh4D50i1U591dQFqtARrPPcCVIIIYFkmtDOcytIM2rLTaqlI?= =?us-ascii?Q?QbCgntG/KCz9D0qff6DORT9D6ooNQgCITyQL3l7z/oUSMQy+71zS609WWSGg?= =?us-ascii?Q?Kxz5+L2O/THO9k0exr4iSFbXoYLBjI0iDP44a8svc5MgEs6yqW/5gG6RdSmr?= =?us-ascii?Q?WUhfMsVZr8q6D95Z5Vbx6SQBaLlSGV/L/DIG5GFfVsjeoPTFCrF5MAJHgtxC?= =?us-ascii?Q?kw7z+Ecdsyh7aP46vygSHKZoBYVGvNA9mikX8SjCJaHkympK4Wa7tSJMjubk?= =?us-ascii?Q?YcBsCrR/x6NbX7AXpEyvEmo1vgk1xnu/6xs2PyrtR6eyaccA+VDsF87sUj6r?= =?us-ascii?Q?RxF0S1i0qGkUogzNT/e4YqSZpOl8ePHZ+ipB9IlAV2ZgUbhR3XG9wSKUirCh?= =?us-ascii?Q?+X9gtlGvGq4nbZpKI9fyXuHKaqwcE0AsPxvQOoH1DAbFc1AeSJ1+/YO6G4hN?= =?us-ascii?Q?04qf0cZiAo0/1XFVJPOEBpKHKJw8PJ8XfUw/9qODj9juKb4+fBEa3VnyzhIb?= =?us-ascii?Q?luZklZszUMYc4xxv15vh3KysBwrcXrRZycdw?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:31.6811 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 104f3826-c531-4181-9aed-08ddbd84c662 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR12MB9571 Content-Type: text/plain; charset="utf-8" Define 4 new attack vectors that are used for controlling CPU speculation mitigations. These may be individually disabled as part of the mitigations=3D command line. Attack vector controls are combined with glob= al options like 'auto' or 'auto,nosmt' like 'mitigations=3Dauto;no_user_kernel= '. Cross-thread mitigations can either remain enabled fully, including potentially disabling SMT ('auto,nosmt'), remain enabled except for disabling SMT ('auto'), or entirely disabled through the new 'no_cross_thread' attack vector option. The default settings for these attack vectors are consistent with existing kernel defaults, other than the automatic disabling of VM-based attack vectors if KVM support is not present. Signed-off-by: David Kaplan --- include/linux/cpu.h | 21 +++++++ kernel/cpu.c | 130 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 140 insertions(+), 11 deletions(-) diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 96a3a0d6a60e..29adac00c6e5 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -197,9 +197,25 @@ void cpuhp_report_idle_dead(void); static inline void cpuhp_report_idle_dead(void) { } #endif /* #ifdef CONFIG_HOTPLUG_CPU */ =20 +enum cpu_attack_vectors { + CPU_MITIGATE_USER_KERNEL, + CPU_MITIGATE_USER_USER, + CPU_MITIGATE_GUEST_HOST, + CPU_MITIGATE_GUEST_GUEST, + NR_CPU_ATTACK_VECTORS, +}; + +enum smt_mitigations { + SMT_MITIGATIONS_OFF, + SMT_MITIGATIONS_AUTO, + SMT_MITIGATIONS_ON, +}; + #ifdef CONFIG_CPU_MITIGATIONS extern bool cpu_mitigations_off(void); extern bool cpu_mitigations_auto_nosmt(void); +extern bool cpu_attack_vector_mitigated(enum cpu_attack_vectors v); +extern enum smt_mitigations smt_mitigations; #else static inline bool cpu_mitigations_off(void) { @@ -209,6 +225,11 @@ static inline bool cpu_mitigations_auto_nosmt(void) { return false; } +static inline bool cpu_attack_vector_mitigated(enum cpu_attack_vectors v) +{ + return false; +} +#define smt_mitigations SMT_MITIGATIONS_OFF #endif =20 #endif /* _LINUX_CPU_H_ */ diff --git a/kernel/cpu.c b/kernel/cpu.c index a59e009e0be4..be25543567c0 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -37,6 +37,7 @@ #include #include #include +#include =20 #include #define CREATE_TRACE_POINTS @@ -3174,8 +3175,38 @@ void __init boot_cpu_hotplug_init(void) =20 #ifdef CONFIG_CPU_MITIGATIONS /* - * These are used for a global "mitigations=3D" cmdline option for toggling - * optional CPU mitigations. + * All except the cross-thread attack vector are mitigated by default. + * Cross-thread mitigation often requires disabling SMT which is expensive + * so cross-thread mitigations are only partially enabled by default. + * + * Guest-to-Host and Guest-to-Guest vectors are only needed if KVM support= is + * present. + */ +static bool attack_vectors[NR_CPU_ATTACK_VECTORS] __ro_after_init =3D { + [CPU_MITIGATE_USER_KERNEL] =3D true, + [CPU_MITIGATE_USER_USER] =3D true, + [CPU_MITIGATE_GUEST_HOST] =3D IS_ENABLED(CONFIG_KVM), + [CPU_MITIGATE_GUEST_GUEST] =3D IS_ENABLED(CONFIG_KVM), +}; + +bool cpu_attack_vector_mitigated(enum cpu_attack_vectors v) +{ + if (v < NR_CPU_ATTACK_VECTORS) + return attack_vectors[v]; + + WARN_ONCE(1, "Invalid attack vector %d\n", v); + return false; +} + +/* + * There are 3 global options, 'off', 'auto', 'auto,nosmt'. + * These may optionally be combined with attack-vector disables after a ';= '. + * + * Examples: + * mitigations=3Dauto;no_user_kernel,no_user_user,no_cross_thread + * mitigations=3Dauto,nosmt;no_guest_host,no_guest_guest + * + * mitigations=3Doff is equivalent to disabling all attack vectors. */ enum cpu_mitigations { CPU_MITIGATIONS_OFF, @@ -3183,19 +3214,96 @@ enum cpu_mitigations { CPU_MITIGATIONS_AUTO_NOSMT, }; =20 +enum { + NO_USER_KERNEL, + NO_USER_USER, + NO_GUEST_HOST, + NO_GUEST_GUEST, + NO_CROSS_THREAD, + NR_VECTOR_PARAMS, +}; + +enum smt_mitigations smt_mitigations __ro_after_init =3D SMT_MITIGATIONS_A= UTO; static enum cpu_mitigations cpu_mitigations __ro_after_init =3D CPU_MITIGA= TIONS_AUTO; =20 +static const match_table_t global_mitigations =3D { + { CPU_MITIGATIONS_AUTO_NOSMT, "auto,nosmt"}, + { CPU_MITIGATIONS_AUTO, "auto"}, + { CPU_MITIGATIONS_OFF, "off"}, +}; + +static const match_table_t vector_mitigations =3D { + { NO_USER_KERNEL, "no_user_kernel"}, + { NO_USER_USER, "no_user_user"}, + { NO_GUEST_HOST, "no_guest_host"}, + { NO_GUEST_GUEST, "no_guest_guest"}, + { NO_CROSS_THREAD, "no_cross_thread"}, + { NR_VECTOR_PARAMS, NULL}, +}; + +static int __init mitigations_parse_global_opt(char *arg) +{ + int i; + + for (i =3D 0; i < ARRAY_SIZE(global_mitigations); i++) { + const char *pattern =3D global_mitigations[i].pattern; + + if (!strncmp(arg, pattern, strlen(pattern))) { + cpu_mitigations =3D global_mitigations[i].token; + return strlen(pattern); + } + } + + return 0; +} + static int __init mitigations_parse_cmdline(char *arg) { - if (!strcmp(arg, "off")) - cpu_mitigations =3D CPU_MITIGATIONS_OFF; - else if (!strcmp(arg, "auto")) - cpu_mitigations =3D CPU_MITIGATIONS_AUTO; - else if (!strcmp(arg, "auto,nosmt")) - cpu_mitigations =3D CPU_MITIGATIONS_AUTO_NOSMT; - else - pr_crit("Unsupported mitigations=3D%s, system may still be vulnerable\n", - arg); + char *s, *p; + int len; + + len =3D mitigations_parse_global_opt(arg); + + if (cpu_mitigations_off()) { + memset(attack_vectors, 0, sizeof(attack_vectors)); + smt_mitigations =3D SMT_MITIGATIONS_OFF; + } else if (cpu_mitigations_auto_nosmt()) { + smt_mitigations =3D SMT_MITIGATIONS_ON; + } + + p =3D arg + len; + + if (!*p) + return 0; + + /* Attack vector controls may come after a ';' */ + if (*p++ !=3D ';' || !IS_ENABLED(CONFIG_ARCH_HAS_CPU_ATTACK_VECTORS)) { + pr_crit("Unsupported mitigations=3D%s, system may still be vulnerable\n"= , arg); + return 0; + } + + while ((s =3D strsep(&p, ",")) !=3D NULL) { + switch (match_token(s, vector_mitigations, NULL)) { + case NO_USER_KERNEL: + attack_vectors[CPU_MITIGATE_USER_KERNEL] =3D false; + break; + case NO_USER_USER: + attack_vectors[CPU_MITIGATE_USER_USER] =3D false; + break; + case NO_GUEST_HOST: + attack_vectors[CPU_MITIGATE_GUEST_HOST] =3D false; + break; + case NO_GUEST_GUEST: + attack_vectors[CPU_MITIGATE_GUEST_GUEST] =3D false; + break; + case NO_CROSS_THREAD: + smt_mitigations =3D SMT_MITIGATIONS_OFF; + break; + default: + pr_crit("Unsupported mitigations options %s\n", s); + return 0; + } + } =20 return 0; } --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2052.outbound.protection.outlook.com [40.107.212.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28C2526656F for ; Mon, 7 Jul 2025 18:33:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.212.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913222; cv=fail; b=ERdarLJLrDKbZDKijrgynwd3x0BCLv7g504rZQeMCCtoy4pPETGPRV63EYwL1TetPcRoobA1vsdeZ+kSuzCZGFbiZDqH26iDFt5sJ46q7GcZmbmft23A0NFzIVgK9/baJ+1x7uudA1sm3ok8iGvyRYttgdS/48rsvH6bKc9jkyM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913222; c=relaxed/simple; bh=JgcakbMEy0RO9i/kdU6InVokJ3KO1cfoDGS3t0E34ko=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jSkVCjKIW+REhX2zPfXx8QLwpdf8LqlCCp9PHj+zcRZ+nuHvgLGfIJtp/0twmsPuMwNZouHD1Phtopw4svdaQd3nkKWJKyIVZnNn1In3h4XLkNsSyINthHT2JkkYju522oxLAuMInM6q1Sdz4952KZDxf326EZuUg3eocgKIOuE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Cy6+LaYz; arc=fail smtp.client-ip=40.107.212.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Cy6+LaYz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GKcOTTnVPqEZ0VomRRo7BjRh8Cb31FvpRILZh0P1/JbfvDKOgbk5DGRUQGlgWcjBJzftX24uTGL3DFXduxGd25QI3yhGdaHqtHaLzbbwXjzVg20mFb0EOpp+htvZ8fl7G1HyqrKulyW3H7FfGvAHxJUw40PdnqWEmb0RI/joKxW4qgpQ41nNYKgQLqO+B6f0xo78z1thjmJGUwj7Ua+SAbybV8YefDWlym5YDMcpmju5ccEluyukqMPs07R88X7BBajeIpiMdhMd0+mEsNHvluJ4ZFEBOEAQIGSz8DiqkQnPuSgNsPFM9BCnBc2NAasgD2EM3RViTWHg2rzL5Iq/pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HAH5hpGnpnkEemJhi/fu5NUVdq7tPuJ/XXCmm/i0QOA=; b=guWrYaSPp4xJlU0XdyYH4IZmOWoBAqE5YaZgM64TcNDqodw/na9gpAy9JaRFS1Eb4QY/+GheoRubSuKdaXybBmC9cFIV/X3OZN85JedxlZs9sfIBCNXTFLyoGOLGRlBGjFtKRMk9BaVym4S0fmZkDCkhxcNQIjHajZgrWglxGyZfZ/0z+p+Neu8eDcHzKC0k7nepf1Aa37i92+ir8ItuQsLaitVPGBp/D81E1lcvC9bmD4xLao5N0XFVoD/bKMtRhLUHfDL8iXUeFYTwga8cWsho7szu+9sDbr+VOKToIB3qHkxH9/qoNbsf18GFN3nYaaywqCtEnDGU++xR1NYmDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HAH5hpGnpnkEemJhi/fu5NUVdq7tPuJ/XXCmm/i0QOA=; b=Cy6+LaYzIFhww6cMjxqObdt9ES8sdkv1s6v8vMhpsTk1vytYSOlVNsNEuhW/rxILs9Sqz+K65rS+i73lSSlFOYhSQPsroeq8RG6C8QbDhk+mnwB2y91/ivCla7mnlsjrUAqRP6W7sQqECnb5lDiiKXlqWm8PgjJUxltQBx4OJcA= Received: from MW4PR04CA0259.namprd04.prod.outlook.com (2603:10b6:303:88::24) by PH0PR12MB8007.namprd12.prod.outlook.com (2603:10b6:510:28e::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.21; Mon, 7 Jul 2025 18:33:34 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::6e) by MW4PR04CA0259.outlook.office365.com (2603:10b6:303:88::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.26 via Frontend Transport; Mon, 7 Jul 2025 18:33:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:34 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:29 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 03/21] x86/Kconfig: Add arch attack vector support Date: Mon, 7 Jul 2025 13:32:58 -0500 Message-ID: <20250707183316.1349127-4-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|PH0PR12MB8007:EE_ X-MS-Office365-Filtering-Correlation-Id: afa89713-3f63-4f6f-9fc0-08ddbd84c7d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|7416014|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?E07/Y3JpnnbT+UoEIZ5p8U2Pw+yT5tnXy2Wxjqs/Gb9cnuz29mvPEDUkHcmb?= =?us-ascii?Q?78MiceV1HeWkL0PSlzUcpEdvJ/cr42IpNNfCpa4n6lmT+P/LogrD5CmqD9uG?= =?us-ascii?Q?xf6DFVp/gZZmpwVJLqQy/uYMx/57vH4/zevcaj7V4RRW9aN2iOefz4zdsJQd?= =?us-ascii?Q?t4JoMmJYsdxLOYIxC+jxx4OGW+IfoLEAM9X6mI7A3h1B9O5SlPyS8VC4fB/X?= =?us-ascii?Q?N2ppehh6jj4+ow01joAZdN6vm0ixmhFSpWNK8aAKm4JbW8PZLtWWZARRRpns?= =?us-ascii?Q?tB9fZbCbPQa0ZS04TgjfGocKZTPmcB5ctVgTdoVfHCdnibCsgHbW+1l6659f?= =?us-ascii?Q?n0xIKtoT0P+hKmwJN32UXgi8UmYsJBPZomlw7rBD6/sL+NdIZK3EiRNJfjFp?= =?us-ascii?Q?SpN7ZSPii4nc7CC9WPmp071EeMFZfyLz1dkmBWrYBxChdUlq8TbcGKttytml?= =?us-ascii?Q?a7Sr93GZMusXnA7wk2vjH9bvZoKZWz1jEdTuBS1zcMRQrR7e++f4+N9b8SHI?= =?us-ascii?Q?zH9mH9mVuxvRAG9z4/fftRl8GBA9AtRbn9SkqohRGFsxuS8/EQsCD2w6qPP/?= =?us-ascii?Q?OZzpSp8+uyiu628a0EXb7lsPXkmbc1C7+0ZOtA1nh5CR2nFRONzvVeCXht3/?= =?us-ascii?Q?MctmTVbw7MgHEd38KGpH9cOvmTyPV4/EbYF+nHXMMcLXDSUGCL/1L4CknJbY?= =?us-ascii?Q?TTbFpanGI63/7qg9rZIt9w//BhAS2fIh2ndDNtEwYK+XWgvk+8kk+/xDQiP+?= =?us-ascii?Q?QWstyZ4b/JnYltKJFJv8O7Egz4Xc9ORu81cGLoWdN8LAwfQXmWsH33vMhV5N?= =?us-ascii?Q?mapZpeMkSY8embogidTuZ5Njxice3OCUqFelAcs9kO0xFiRz1TEgQZ/VElvF?= =?us-ascii?Q?K3WWMkJ2E9zN6EUmOPS5DgkWV4kwNf66ct3KDf2GI5Xz4QtNs9dGD1jfzKe4?= =?us-ascii?Q?78Ddj84RPLPiwl30Ghv3tXCQdwXVnNicQiZS7N6eDGvduFzGElfCrrc8SHeC?= =?us-ascii?Q?iIurl+csgVfZYZlUbdpJcNjatMN+dA7izBJwO+0sXs6OvSDEQZc4CY9FS4zZ?= =?us-ascii?Q?RaJgPp726T/oveO08itGQdQV7pXHku4R8/5CnG9sPRDBbkJWQt0+ZHzyik2a?= =?us-ascii?Q?A+OrGxy/lnhOFvPif141ZwHRHQZAGMBDoJ8H0fzsTyv+kpIaXC8aUmkw3m3z?= =?us-ascii?Q?Oyavb0Eier9kVxjI7I6fPqfWs1bWxlsc0wDiOkWwIQcJDSFoGHvRfTAJpph6?= =?us-ascii?Q?xsiLxZbIrbX43naMR652RSCr0RaU8JJ1g7/yshvlcTvIrL1f+6Lhp6hatVuZ?= =?us-ascii?Q?EB86h5Pffwu8lGIjpM/bnkM/LzDPSB4KsraG0Bvqw7/RaqiVW6/BjbICQgY8?= =?us-ascii?Q?lrrXDg1QytFpdpS2QZTCw+Z4foclrbzqnj7+iL55dHz2+cbsE3HnUkmEGNWq?= =?us-ascii?Q?BU69CEAH8lTL4F0goBCjU5UKtQnJGe4bXol3iWkhm+RqCIRSILR6gZHouTco?= =?us-ascii?Q?WUwiUwlF1H7ePpGtnX7Qg1gei7zc9jzohZBZ?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(7416014)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:34.0991 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: afa89713-3f63-4f6f-9fc0-08ddbd84c7d3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8007 Content-Type: text/plain; charset="utf-8" ARCH_HAS_CPU_ATTACK_VECTORS should be set for architectures which implement the new attack-vector based controls for CPU mitigations. If an arch does not support attack-vector based controls then an attempt to use them results in a warning. Signed-off-by: David Kaplan --- arch/Kconfig | 3 +++ arch/x86/Kconfig | 1 + 2 files changed, 4 insertions(+) diff --git a/arch/Kconfig b/arch/Kconfig index 9233fbfd8dd3..79668e95c199 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -1772,4 +1772,7 @@ config ARCH_WANTS_PRE_LINK_VMLINUX An architecture can select this if it provides arch//tools/Makefi= le with .arch.vmlinux.o target to be linked into vmlinux. =20 +config ARCH_HAS_CPU_ATTACK_VECTORS + bool + endmenu diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 71019b3b54ea..49e30254d426 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -75,6 +75,7 @@ config X86 select ARCH_ENABLE_SPLIT_PMD_PTLOCK if (PGTABLE_LEVELS > 2) && (X86_64 ||= X86_PAE) select ARCH_ENABLE_THP_MIGRATION if X86_64 && TRANSPARENT_HUGEPAGE select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI + select ARCH_HAS_CPU_ATTACK_VECTORS if CPU_MITIGATIONS select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION select ARCH_HAS_CPU_FINALIZE_INIT --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2045.outbound.protection.outlook.com [40.107.237.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E02A264614 for ; Mon, 7 Jul 2025 18:33:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913219; cv=fail; b=K1wPITg37mRbWccdQjk15Eed212oqCKcWaf6l4ES5c4GOKjhRp2w5olZJCkiiH6wTGifkaWA7zJhHLWvZTL6CoLsQST1omGxU5utsJRkgUUpYCqzfh5EUyfgKWWtSO5Jivt1H3lEpKRncAVKRa5JuDuxgw35DH2aWfJIt31YTJA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913219; c=relaxed/simple; bh=+Pb224qAc4QTNpyxqGhYGhm6Tl1fnIr34RGgJguD0LU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bVRDdbmUqvYJAcX+8p9XDlC8SLm6T5bxGdDBMs2eYVmOT4Dh3SAqXGXg0KgHrOMAXcdzMOa2vijrFYf34Gg7X7J65P3vUtqsQgu0+xG7+ydYU24BJJtkkND9cBPkQxX7wJfm2FaRnrWZJOcajLSzzMNeHpe3j8iFuJyx/6Ojm+w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=c4LzZ4Jb; arc=fail smtp.client-ip=40.107.237.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="c4LzZ4Jb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XbeELRkuSoaXKb64ugkMZyL4lQFlREzL/pqv2qPfRjzapqdi2OzhltXn1NvAzjFk5ZKq8grnHpnNCRSqwWKN4VsyqdqRm1ZGl1+3iotrSR0VRJEoNOPRE3yAwM8FcjYvL18I4QP8uokITRixOLaPtFthqNjAHWSEC52zeLI8qGJKR/P4zTCsdEYlLGeO1liD2aYx/x0qAB3K8TYevpQ4ZrW7mRDlpO12fdRrxShAsmP16spWKdDnlvTUhk5pyvGjWNJ+VYOdwBDLQY0dB+v9kZS2dbXmo1xclbAAsXsxnVezeXGOwbA2sl+xFy+ml8RA/trZeKrczMA3xccrl3mFuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=x1JH5Usy8qtseJxDu6eziz6JIeWmTTUQI6Q1F43ro3Q=; b=la2cubFjYmkf08JIhnQYe7SBNy/3AKbNzax+mpAz8SyVQg9bOU7DmP5oC7hYr2pa8EF1HwhJgDpO5y1Z7RoloITKUTGySCQMq0HnF4A7sg9N93U9/6/sxITGhw4ZyEuXVEep6gFeXvT1Og4Eifd5mqQAQ578atnCzXCNYUVfH6hhwGOIKzKBoIQscPVJtcW5FzarrUi6PLkJFUoTwq0zrtX1mYfdKUbDc1ojYZ1gDBluDFp5z6yUDGMxgyBqlNjT0+4tDTBjN+rMDdxE44zatYK+umtavKl+PbdbDFeUs3c4V8T/5H+AVPyjXlbrFAMT6/aOwyqySUZfpEk27OKaQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x1JH5Usy8qtseJxDu6eziz6JIeWmTTUQI6Q1F43ro3Q=; b=c4LzZ4JbqWEybUjPzzDIpuWJ6243orWXaZ78+dtIWGFXWrY8rxG9ogBDJfCKe0pkKYA7zudDSXFTsELu5tT/40mLVZDCNesjgkgpZHg46Jm779Ge5I1o/+9/BGeTkdXS8n3IexYijt4/+d+XKx/YWpqbBK6e+wLaIA2Ji6RX2uY= Received: from BY5PR16CA0007.namprd16.prod.outlook.com (2603:10b6:a03:1a0::20) by MN0PR12MB5739.namprd12.prod.outlook.com (2603:10b6:208:372::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.24; Mon, 7 Jul 2025 18:33:34 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::2e) by BY5PR16CA0007.outlook.office365.com (2603:10b6:a03:1a0::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:33 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:30 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 04/21] x86/bugs: Define attack vectors relevant for each bug Date: Mon, 7 Jul 2025 13:32:59 -0500 Message-ID: <20250707183316.1349127-5-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|MN0PR12MB5739:EE_ X-MS-Office365-Filtering-Correlation-Id: a69d3de9-39c4-4232-337e-08ddbd84c7b5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eq+suB+uSSmspch/90Dlu7G3KIngJd4HCLHnsp6MHyTjciEHvPuLZz/NotEQ?= =?us-ascii?Q?sdX5wqmtolvCu2meeamL+3tLeyMSiFOLqhpIOqJ1Hnjy9xITh6xoXTdBsekD?= =?us-ascii?Q?i+FlxgD9Y7/Pqaqm8qwVEi/sSC1No0pzZpTifWswTK9NbQ+xoTf0YqUUhQ7V?= =?us-ascii?Q?R21QkEmrJ2bYV2fJEhPVME+NXYIgp9GNYoXFNj2vX+6sA2wJmSTqnlEp5cyp?= =?us-ascii?Q?qEmvfgWASXXrOtSWYLhzsuL0IK2OqQgfHHyyzolAo6pmfZrYZ3W1pdqWXx57?= =?us-ascii?Q?Mzi10IAnUZKVz7vGJV/CoS6DMWwgbj2U431vbG69Ei+xMbmlpDI5FM2DSor2?= =?us-ascii?Q?qQ9lEd7K17oevNmPuk+c56+Os+cwqCD9/6kNKmbc39I6EfQ6iBI+TPQDmbvX?= =?us-ascii?Q?Ypb8poqLPKq2qrSAEa6tlVUAmnhALWs9CikrzDokkOc7XE8Ea7H32THOB+yp?= =?us-ascii?Q?5LEgj8elQuk1T6i1X1duDh8QsxaIAPHbu02fX6vJqs9ilP1eiMVnmlUt0TZU?= =?us-ascii?Q?leaMTvg7/baJwijAo5uqceNi4vOWEp4x/sidl8jOC9NYdg2Yam+9ejXPSkQ2?= =?us-ascii?Q?Kh9n5iXma3wplZCDv4lS4aFSeaM028bo4b2rzXqxEfhW9vkocCT8Ie/8g/Ee?= =?us-ascii?Q?JTAJY7dT92DiJD9Qs891wAwXhHWZjtftYAvK1UmvLyxNPl00CXFkPjuooTfo?= =?us-ascii?Q?mq34+/6PSaIDmz0z7Y8LTh1mkn5h+/sXIStuw6Vxm+Cs+KFFpdHkx5ybng7v?= =?us-ascii?Q?A/qNBj/5wh1UFfDsWj564HyjkpBw9YPUL5tELaFXJY8gL+iXt4YHIbHKip7V?= =?us-ascii?Q?dnl4um1or8+e/9PSaDHi8nY7CfnKKfBKMIG7L9vQrVNfKeQvo4ivvvhxwUx/?= =?us-ascii?Q?1LSuY+t8eYL+QnPUE5Q3F7sPCIDXeBgOTZYXpTpIprkWRdFwEYGrfnWWf56f?= =?us-ascii?Q?4vXMx4GjoztD0mrn5nsb3FnVnxCJe9hpprswacEhsiYDI4qiJS9QoiyNDTxj?= =?us-ascii?Q?Ppxo12pfyuGggpi9MWgBED6z/8U57KlbXp4lDR5KCmp8s8AcAauuULh1tNjS?= =?us-ascii?Q?Pgf5M3WLydxoXl4fC0n2t0OD0NglSI2k7FA5PV1i+5ztT6fAOfsQIsMwyt86?= =?us-ascii?Q?gsar+chVNrRgacV8ru8N8la12ypZ51rEFRfBsFkWdjfC0cPI6pxM8MlD0Pwa?= =?us-ascii?Q?veQNm9F9Qifkp1DXjF3I0Kj80kytLDK8B7dgndT52iq9KNKNzv+m/BsXPCed?= =?us-ascii?Q?b0QG9jt2+Qxznb55rtrrlmy9nTmExT5c4T+QHYvRTq1+alAz/4lm7MD5zIEK?= =?us-ascii?Q?yn8MSQp2EqAWILouMgOxsRyL8psKaQ5ghIrvj8BhbhqUa6X+ei6dvSw962gY?= =?us-ascii?Q?M8drexi7BqlVu9D4xV6PWlfT6RlKsSLqmp4nz+fVdRzlJG+m32nE0ViRsMOF?= =?us-ascii?Q?5gnGMPlQW5hxDc3x0QdxHB8r2fx8nhb5jd+wTBbHs9IL6i+4RkkksHPVm+iB?= =?us-ascii?Q?Q1RBqqVxSxSEbf66YoRPd1Es+NHdopR5wZ6k?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:33.9002 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a69d3de9-39c4-4232-337e-08ddbd84c7b5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5739 Content-Type: text/plain; charset="utf-8" Add a function which defines which vulnerabilities should be mitigated based on the selected attack vector controls. The selections here are based on the individual characteristics of each vulnerability. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index e2a8a21efb10..1fa0704a8694 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -328,6 +328,62 @@ static void x86_amd_ssb_disable(void) #undef pr_fmt #define pr_fmt(fmt) "MDS: " fmt =20 +/* + * Returns true if vulnerability should be mitigated based on the + * selected attack vector controls. + * + * See Documentation/admin-guide/hw-vuln/attack_vector_controls.rst + */ +static bool __init should_mitigate_vuln(unsigned int bug) +{ + switch (bug) { + /* + * The only runtime-selected spectre_v1 mitigations in the kernel are + * related to SWAPGS protection on kernel entry. Therefore, protection + * is only required for the user->kernel attack vector. + */ + case X86_BUG_SPECTRE_V1: + return cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL); + + case X86_BUG_SPECTRE_V2: + case X86_BUG_RETBLEED: + case X86_BUG_SRSO: + case X86_BUG_L1TF: + case X86_BUG_ITS: + return cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST); + + case X86_BUG_SPECTRE_V2_USER: + return cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST); + + /* + * All the vulnerabilities below allow potentially leaking data + * across address spaces. Therefore, mitigation is required for + * any of these 4 attack vectors. + */ + case X86_BUG_MDS: + case X86_BUG_TAA: + case X86_BUG_MMIO_STALE_DATA: + case X86_BUG_RFDS: + case X86_BUG_SRBDS: + return cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST) || + cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST); + + case X86_BUG_GDS: + return cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST) || + cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST) || + (smt_mitigations !=3D SMT_MITIGATIONS_OFF); + default: + WARN(1, "Unknown bug %x\n", bug); + return false; + } +} + /* Default mitigation for MDS-affected CPUs */ static enum mds_mitigations mds_mitigation __ro_after_init =3D IS_ENABLED(CONFIG_MITIGATION_MDS) ? MDS_MITIGATION_AUTO : MDS_MITIGATION_= OFF; --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2051.outbound.protection.outlook.com [40.107.243.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 03120264634 for ; Mon, 7 Jul 2025 18:33:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913219; cv=fail; b=ZXHQYvu/dbLzqxzkbIuPCbQMYSLNE+FIwH/kthbgtQG5ruCpohK04MtZM5nWjIbcuA2xHxfRwvoeWOXhVn+n7IArQMKNtjFJq/4di0rHVZQ+XRAupwDOPZMCk39yP/Tlm4UkLn88sXPtYQq2wwfet1RUoUm5TEMyFH5BSNDs4gk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913219; c=relaxed/simple; bh=V8+pxiVOnMnt+/6H/lGw8wQw11fzD7j6TlwutIKkEmk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cQrKF02CtrYlDIx8Tq0UEhlNU78ht0B0LaF41dvzb4yvystZBYrGiIZUuQvXRwABLRu330qF2YDZg8slJyxv9d3VzzqKhq86gesyNE/ZrO8Y+Hhoz3bpruksHB8JhSD3F2y4rtIirzUc0jkbCtu5XeQUX5JEUqePB/n8WsToEzE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=MBAOdELE; arc=fail smtp.client-ip=40.107.243.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="MBAOdELE" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=geC/PX6wCMDpqfnaMM/mpWSPea96tJhsyGHvNLxEdr6WKhev6UJeGd/xVXFothJ1fIFwQd6B66FUY49/dD4Sk9iAVFtE+lIFVycULW038JxQYSgyufXdp7fgOvCoYz8lfJSt97omsaEANche2/sZpLAH8THRJ/vrkK7KPZ5cIYzEkyutTbqLAZLQQURDLOXZ+SH0Ll6TMxkSW7GzzOG0TrpmdTIeWp8nT6yzrzp/CfJJRF3RgdbDXVdPsAyDQF0zHVTrQESq+XUAZe1ZaZVAcl0XYprYcCGcdWWrG1zMej0lFYwVo5BvrJyZlj8Iohp3vTHzdzZKTKurbVBsyQMrWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4TwrM1ZufZ/SxBaK2uFFOk8IxCD7kvP/kXtjenaPB4I=; b=RQXxBoyi8eHrW8YJikDucUZ9iQNTm8/UnDHwLv+EmAyNHbJNRYkdGJ21jG6weP6RG96gUkBZS/4zxdDTXuJ8u2gmKuLK9KVktRWpaHwY4y9RxU7kDh5AC0QotYMjLGimUR6U1nsyKNyEBoW0DjhpPYN/4r52sLxltoQa2K714xdgCuZRpAsSzkjz3E0sOUAEr+R2QnmeYid5RvxIFSQbSuGGQRMjAPJY1xuVP08xQH+XTggD1nWbeGNCdVGwZF7XtASljta6hTOMMETsxVLNx4lOS3ZrpK7dw++DYBjhH88hVKd8U/AiQYuGCH9DmrMRtns5TZjcLJGfyNZrfQD5SQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4TwrM1ZufZ/SxBaK2uFFOk8IxCD7kvP/kXtjenaPB4I=; b=MBAOdELEe2rz+AYGqKY6w/nLs2rnQTZceBjZUsgrHi0tR7mw0v/mTjuYv+TBS8JjeZF9J4hvEvuXD2zzEsTR4lbmZ8BNOGL+I6V7ZHHMQW01R553ELN+Mcgxfjl+C1t6m13eobZZMPbV+b1UAdMSwOB14lo5oRmQy5mlXXnF86U= Received: from MW4PR04CA0260.namprd04.prod.outlook.com (2603:10b6:303:88::25) by CH1PPF6B6BCC42C.namprd12.prod.outlook.com (2603:10b6:61f:fc00::612) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.29; Mon, 7 Jul 2025 18:33:35 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::26) by MW4PR04CA0260.outlook.office365.com (2603:10b6:303:88::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:34 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:31 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 05/21] x86/bugs: Add attack vector controls for MDS Date: Mon, 7 Jul 2025 13:33:00 -0500 Message-ID: <20250707183316.1349127-6-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|CH1PPF6B6BCC42C:EE_ X-MS-Office365-Filtering-Correlation-Id: 4a7e378c-c34f-4622-758f-08ddbd84c854 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LzSFBJmIRJWz1NAsX1QADP/bwxZV+ycKRU081HFeUjhCkcv4JF3mF2CVZlcx?= =?us-ascii?Q?67CFLnYZx39gPfu4wXvHO1lOXdaWGlI0h6W6w7R8j+9tUOO8lMBcT5CxGazY?= =?us-ascii?Q?qI1jl2KWKhkq6LA4lSKpOAwrx4IS9KwmPGezUhyta44s3yyl3PHKJqwkmN/J?= =?us-ascii?Q?vR74MgcJ63b2NPK4sLwIZeoxwofQ/D5N3q7q+qwQAd7XXRGI++41F5Nj3UDQ?= =?us-ascii?Q?6QX5MlJqOsBXIVaZIo4qZuo8cjSu4phoUYc166yw5yjdGh830/zTb037ycaO?= =?us-ascii?Q?XTAlFU7m8NtbUYQ1AqpvvQLwRtjXnSxLyRDYyUe4a/0DK2KvkRjdFNyM0wZL?= =?us-ascii?Q?weYZgLSnHvUo+sm0pYdkHAZe7SSl6Xx7w8ExjkcFcZaSqztrrJ+rs1W0yLYw?= =?us-ascii?Q?tfWh/enr5zC4iJGIn3bMoXwPHEkVIkxq3itjOARCdHkRljIhEMsKa323lQqH?= =?us-ascii?Q?oBEJXH08qXOLnAInf9eIZ6BDUa4yWvJA7sOUQV84bfKuIStOOMid8W8QYjhY?= =?us-ascii?Q?2TFldJ6udKqmd4FOiWncztp1SNi0H+bYpl/V9Sbtpk/n6CZUzL6tq2oL9ofB?= =?us-ascii?Q?wt815x3y8gPL2TH6ZdiG2QdbmYv5BJJoOBz9nhPH7xCyhCzCR/HSB885FQ6f?= =?us-ascii?Q?MX3yL5wBdARrp7BSQnG9SGIhyg1ViosgmzIaBbZdF9QKDLjTVHx+utZJkuMO?= =?us-ascii?Q?sWnZyV8S28B+7g9VttDTeU6RqTwW2PfKv1miaeRQdW/hV/HAFwuW++yhONK/?= =?us-ascii?Q?u+xbeO28LC2HysaKFvNvtMsxPYHCr+UGf/afWll6kCUoqGz4KTQ+ZUNnbinG?= =?us-ascii?Q?3B1goEsSJ16741O48ufliYurOofjwVWypHc0NvMUTNI9s6wtIpJu+4pv9cHc?= =?us-ascii?Q?SD4A/ZoDHNa2j1U84hBpPsGfap2WE8uxceQXW6mH2cRJTRKW/BwkDIi5E/FC?= =?us-ascii?Q?cVfs2RNQ5araSCwut0Nn1vSUXH09a2iSVWEVTccDZSH5h3A9blZv5/ZLTB0B?= =?us-ascii?Q?+6ewTHVtKVWM/wcj73AFFmwpCejSlzQOKy0cnO0pdeylyIlIIstqCf63nG62?= =?us-ascii?Q?2pNIcxcUGeZ5mzbhp9N2s8LPSYisbZSi6ic1YiXQbw3ew3p6WnDyn/LgeidC?= =?us-ascii?Q?iarNBUhIHoqrbYKq5vC1hmVl0ErstfWTZAQJFep5P2/5DUeyGLGC6CGmyQeB?= =?us-ascii?Q?wC+o7fnwG3x5nSWqTNUvCUZyKa2z4LJC5gzd8P4gMG9yQZw7dWr7G6D2C03S?= =?us-ascii?Q?zZzvj2El9PJeEXJGnKOhC49ea6AaDhKhCdyzPlzNtB2lmUQT/N6tf7SElSqm?= =?us-ascii?Q?gZdTTc8bZh3dytfJQqmByzmKNqH5PlINdGgkNkb/VIqSgjWppgqtuMh2xIgV?= =?us-ascii?Q?ZbkhnHE+BgE1BuF/0EXMq5RcdQ7dCEtXdTL3fq8jhSX+AHRLDhkqj9X2vbFx?= =?us-ascii?Q?f7wsHPaxTChnvQXoXg42tB6IGhD4px/tkGKxK+I/uGgTqsipx1y4UYXv/MqL?= =?us-ascii?Q?pt+Gi154gglKetQFP9vcmcKbrZwnJBCc4fL7?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:34.9429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4a7e378c-c34f-4622-758f-08ddbd84c854 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PPF6B6BCC42C Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if MDS mitigation is required. The global mitigations=3Doff command now simply disables all attack vectors so explicit checking of mitigations=3Doff is no longer needed. If cross-thread attack mitigations are required, disable SMT. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 1fa0704a8694..65d482aa450f 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -437,13 +437,17 @@ static bool verw_clear_cpu_buf_mitigation_selected __= ro_after_init; =20 static void __init mds_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_MDS) || cpu_mitigations_off()) { + if (!boot_cpu_has_bug(X86_BUG_MDS)) { mds_mitigation =3D MDS_MITIGATION_OFF; return; } =20 - if (mds_mitigation =3D=3D MDS_MITIGATION_AUTO) - mds_mitigation =3D MDS_MITIGATION_FULL; + if (mds_mitigation =3D=3D MDS_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_MDS)) + mds_mitigation =3D MDS_MITIGATION_FULL; + else + mds_mitigation =3D MDS_MITIGATION_OFF; + } =20 if (mds_mitigation =3D=3D MDS_MITIGATION_OFF) return; @@ -453,7 +457,7 @@ static void __init mds_select_mitigation(void) =20 static void __init mds_update_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_MDS) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_MDS)) return; =20 /* If TAA, MMIO, or RFDS are being mitigated, MDS gets mitigated too. */ @@ -474,7 +478,7 @@ static void __init mds_apply_mitigation(void) mds_mitigation =3D=3D MDS_MITIGATION_VMWERV) { setup_force_cpu_cap(X86_FEATURE_CLEAR_CPU_BUF); if (!boot_cpu_has(X86_BUG_MSBDS_ONLY) && - (mds_nosmt || cpu_mitigations_auto_nosmt())) + (mds_nosmt || smt_mitigations =3D=3D SMT_MITIGATIONS_ON)) cpu_smt_disable(false); } } --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2065.outbound.protection.outlook.com [40.107.237.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E7944264F96 for ; Mon, 7 Jul 2025 18:33:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913220; cv=fail; b=rrLklbft4LOPYJ8avjidZ3wR/eRmngwL3qg20gNoc/oRGYE8QNqbXD9b4Yi4Jnevwmhg2G2q2PMD2n19qmvK62/KQUVBzQUAvqvGZOFBZSLveF+BSHHrrCCkkfhFz7uLhvFklMWhztHR862BoVQBuU2F4cnvzu3Jnjj40yllU68= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913220; c=relaxed/simple; bh=2BUL30k2kW1rvDW2EXGU1mfB2Cblay60gPb7to2jMs8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=L68xXkOTEG5Vy7wDltyHozMsoIX8DIHRUYr5kl+5tMohzdA+uurrQ9PuC07peXx1l7v5TwtJmw40+5qMgoKW05hsry5yD6m9i1e77k55Fd/EHE/P66PxByRXYxYUpoXs1jh3Ju3BQfFDaEsvVzncrRPqC8sM9Klbve3qzwg7vKw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=t8eZuVyV; arc=fail smtp.client-ip=40.107.237.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="t8eZuVyV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jHa11uA4Pf4X5N1cksQbabIIR/IxhNphzhr8WieHpRKPPc+4VWcc9XKNfT+Kmjb3L9tatATlxZq+bv8bKHYgCZ6bx3DSxiFa8c7xM+e2o1Z/EJgxnrgACbz4ctncCk3tC4ElECkhzKjZZDmRyXKI/JdqA9Gsed26sWTi3t6CZg01r8KGmZtSwgbcnXZu+7bM8DIGeGd9ua/Kq3qhBTZCvhNYMgwukLkMKPW/UpWppyLLL2U4gczVejBUf35wsJk2dGWdwrLX+B1e414OuJxOXVOVCtyu1hflAyNOhQ9T6EylmaAgyINXyU69g/YFGJOKAK5h0tKUySXRcLF6YsteBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=D5g1c1V/sBNPvdh5G48hor+yPF8XH7RxtSUYOEsdifY=; b=JEh8jKXmu7hkqFfCc9BkTAVEpUk090d0ijMZ89Jp0bqA+lwjtbh8DUqZPf+F9bS6+EN8A+gvVk4RwN7sRR4A9faT9ctdg7N2rqETw/1TOYALnBCwVnmUi0nBLuV/6one8Cj+ixhqyAFJxtGUIm8VbrY0Catq7DSJgDmt/WevDMGdFBs+ZcnBIzCd1/Z+uaj8KBDmVSjUF6XA2xOjO/j5HhD6e31+BQButBOJnfk1KLji2PzlZTylBiTZe8VmBJQFdhV9fwehftjCXYbo7WnF3YvxgsuJGl+dC8NXp7Ymlv29skQCGNiXxIKGYJw7LwYo0RL/BZfP2jlor536jWXQZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D5g1c1V/sBNPvdh5G48hor+yPF8XH7RxtSUYOEsdifY=; b=t8eZuVyVE9XxtzkujOJLX1b/OKbLEzSRzmPhVuhfrJM9TNSYDzMRpux5Yk+HAOTHMFuZppAWi6V1q3omdy6SyjmJIwPoal2NwW5N810RKjTO87YQJdJ8JaJUO8SFD++q/6h7o8ZWhBVa8RTdq+nq63qwaQJ6+mtewHNNvvVs9CE= Received: from BY5PR16CA0021.namprd16.prod.outlook.com (2603:10b6:a03:1a0::34) by IA1PR12MB6044.namprd12.prod.outlook.com (2603:10b6:208:3d4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.25; Mon, 7 Jul 2025 18:33:36 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::9e) by BY5PR16CA0021.outlook.office365.com (2603:10b6:a03:1a0::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:35 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:31 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 06/21] x86/bugs: Add attack vector controls for TAA Date: Mon, 7 Jul 2025 13:33:01 -0500 Message-ID: <20250707183316.1349127-7-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|IA1PR12MB6044:EE_ X-MS-Office365-Filtering-Correlation-Id: 639d5a61-1b84-41cd-88b9-08ddbd84c88e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2e/nIdKQJvXXdRWI5S2XBBYoZ+a1MLod/lJ/Lx8H8Z5Kl3XWd7o3pHnrng8H?= =?us-ascii?Q?uvXNeCAH7CbaxZNHWYdA8UlGx/CCxUThUwTQzp4GMxk3je4UgAYD8yz1XHPN?= =?us-ascii?Q?kmgKrAPxcsd+vgGZM4Ef/v/ECjsDEHl83IieCp3sm7NL5C98HRNzPJfPuCev?= =?us-ascii?Q?OooVGvDJcWipt2eW3Sbmg0YLuNTQUEj7yS0UEbjjK0h9boVO33q58RYymuOj?= =?us-ascii?Q?XqsjeO1lynd901NUBIj73SKbzHBAjEaLOVve7gLkEcKJHKys8FyqjxR2ymSR?= =?us-ascii?Q?YIwKLl0fg9JOxBwsUX7V7jGYhFPbFu47JEmvkgB27l1PPSfntOqHmtS5YCjk?= =?us-ascii?Q?ctWm8FoqYyAOD0GIK7jXslr/S/MOnF7B5WP77tZ9yv95nSGITFvVZ+uWWedh?= =?us-ascii?Q?UcANdsQeNxuAEPvKdElPYHoV4lGF7G2QTuCtRGlIzr4VmXO3nd4+EK6rnwbI?= =?us-ascii?Q?Kp9xd3pDbGZdvCYXJLqUsFEiYiXVVPT3FCO0hqzJ+UaM1zMXPcz07MxchJI4?= =?us-ascii?Q?8qpmfa+J47HF/ezF6LD1ISQTuflkRTvbFuqCXOiW0m7u3+/SkO3IxGV5ocjt?= =?us-ascii?Q?wJ4U9NL7Z8elw0z0t2xEtsFh+QM7PCYn0r8rG7sIvUc3z3SVr+YaYzoSkO5i?= =?us-ascii?Q?YZkQspJiG+2OSRb+gKpdrpK8zhz7Vpo4ATnrq3CwI20QOFyahrpUinoEcEmj?= =?us-ascii?Q?STx2ZzS5aaEWQzX7w1wEnhPMelc1KNlllWBkBadtkwMMt3z7MZWMap5ARrXU?= =?us-ascii?Q?Igk/iyCMopieBNSQkoeY+xy0pFcnupEOMTC3wrfD4ExgpEjaIUO2Lgf79O7Z?= =?us-ascii?Q?Q2DkIu2BQuhDEsh+0qQARff2+MVYibfrD1RH/DS83Fj4oRBIwA440PPkCwBe?= =?us-ascii?Q?f/RwcP7ANAhSGwvLnc/srXrElcTsJcVX7toIsAux4nBKckD8y1AeZ285IjFM?= =?us-ascii?Q?ejHo9GK7E/y2UY2IuYUi6ikA44q3EaTkQx27N//mz5wLWOnzHRxzcfxBk9d5?= =?us-ascii?Q?rY7g8EwHZP98CFxR8QOcbtQA3ENl3gY6zhS0dAEIPKYRLiz9E7W2jOdQyYfy?= =?us-ascii?Q?y6ezEYYvX2b4PIMM6U9QyYmVY/fuNH0wwEielu2xHxuLx7COZek10F1tRUju?= =?us-ascii?Q?qBwTOPm7p3vBNi7SvVPCxHYmWjd4o1vLQawHe2m7M9n/2wBkg9U2oFTM/iK9?= =?us-ascii?Q?1VNcm9j6bwcQW8/ZP2/+8jkPaZPMXe9az8Pi/y0pKIbNdLkBghf0TUrOChlm?= =?us-ascii?Q?qJay95fhV7GRmONzQUa4ik1RQZqenanQOsJPgSlRYhEi/xxcgKrxmLTetpWX?= =?us-ascii?Q?vWGRLQusmfBU0Bzo3800KndK2stXlyKqBDfFibT9zgZGBdJ6vX1RYNYPXDzj?= =?us-ascii?Q?lveVsc69v7dOt//LyAvK9Byq6wejgm1oqJA2F38EuYCZApZSmf52+0ohbltL?= =?us-ascii?Q?16XYw/DoRXIJhLgqhBQlb28ia0DQWwELoQF8tjnbCrW/UbxOaw2O6cIKTOXs?= =?us-ascii?Q?JVtJJZBG+BTiUfx8od6ZCnbqVQUPbi0y3a0u?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:35.3239 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 639d5a61-1b84-41cd-88b9-08ddbd84c88e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6044 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if TAA mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 65d482aa450f..527ea049d4cd 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -534,12 +534,13 @@ static void __init taa_select_mitigation(void) return; } =20 - if (cpu_mitigations_off()) - taa_mitigation =3D TAA_MITIGATION_OFF; - /* Microcode will be checked in taa_update_mitigation(). */ - if (taa_mitigation =3D=3D TAA_MITIGATION_AUTO) - taa_mitigation =3D TAA_MITIGATION_VERW; + if (taa_mitigation =3D=3D TAA_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_TAA)) + taa_mitigation =3D TAA_MITIGATION_VERW; + else + taa_mitigation =3D TAA_MITIGATION_OFF; + } =20 if (taa_mitigation !=3D TAA_MITIGATION_OFF) verw_clear_cpu_buf_mitigation_selected =3D true; @@ -547,7 +548,7 @@ static void __init taa_select_mitigation(void) =20 static void __init taa_update_mitigation(void) { - if (!taa_vulnerable() || cpu_mitigations_off()) + if (!taa_vulnerable()) return; =20 if (verw_clear_cpu_buf_mitigation_selected) @@ -588,7 +589,7 @@ static void __init taa_apply_mitigation(void) */ setup_force_cpu_cap(X86_FEATURE_CLEAR_CPU_BUF); =20 - if (taa_nosmt || cpu_mitigations_auto_nosmt()) + if (taa_nosmt || smt_mitigations =3D=3D SMT_MITIGATIONS_ON) cpu_smt_disable(false); } } --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2061.outbound.protection.outlook.com [40.107.244.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA14C2652B0 for ; Mon, 7 Jul 2025 18:33:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913221; cv=fail; b=rX7BpMyCNYDESGjnUWOIot1KZ8jnicntLrAIlcsej+GeThoRoIsyxVWWstbO/ifFleZjwBoHMYZGorR/E+YeeQNUxLRSbD0Tu+T4P0tajNQXk03qInG9nn2m2OveGUPLtRF3zoItssLT/OTVXALyXZmR1/t5nwT3Oq4U8K5tUH8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913221; c=relaxed/simple; bh=kFPF+78lwo9qlUMYIKbpjfx6hWjpSCpOwkJiN5tDDX8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=At8agr9gb7oJRoRMGnxqiZlRn8p80xa3Kc4+otrgAJ4vxyacVmvL72PEkDZXDzIL1xSRO0HE0Yayqqht1//QqN9DhogwNOvQiRTZMOnusKt6R4Ef4O+TsUk/AlLBr7B4D3c/DTHUD+fCH8SEvotTjx31tLrRUNvIjclD6T8rVNo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=XO3GnsJf; arc=fail smtp.client-ip=40.107.244.61 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="XO3GnsJf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ykYjcFQ6bbhcBiYEwbuLkXjzkLPlJ+hanb8fjGthT47mKxHuUvU1u38/iAcXprb/tOHrtsQi2g6E6RnEtFqM1heEj2/1ohJGS6aZdL8ojfGv+uT2ahM4uw8EAdTTmoDzdJTL2m3/FW3iI9kmux69Hi3RXpfNujUfw9/5xUS/QZ1XDQPTQwCvcCZQyz0KbOS++vVUNH2zItv0tZfyspFeSd+h2vZMTOp6ddHJhsOtN5ftdpfjMW07+mDBSh9weSMbwlRVYrCVprOhBqxaJvFN8fOPF0l1jPpswA0ZlRjucX6uXRhNlSUHSrXq1upbyJI22e55cqY+PxIMUriiGq1kcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DcJ85H/DFDAE8egqVxsD/bqet/WFj1nA4Qck7+i6UGQ=; b=ncfQuu1lJO496f8dPFGRAr93tXFZ1eJN5aPK4lay5vio5tcSgP0GlpSqR0taa83tdpqc1KYHtQoILsR2UYa32cqQ7wdiW4+dg+7cfomRHbCtyXmOlwLedmX4ZDQYcMeQQNuhuW7gbVG7mhDeY81iEjHGgAxfPZH5s+21pRW5ga1FMn6+pS59rzh+CJZlhmjTdW1djkqorolysj7wLZ28lWkiCA1YB7Jba9FKP/ptU764NVGJdEX8bwoD+T5LjiPT4JNmwRu3KmxJtnBsX3wYlkIfPhV4IJSylAJrLicyyrjm7RF45KwYkFvuK4O7mbIk42mIx+rTKUDWLcrqFh2ICQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DcJ85H/DFDAE8egqVxsD/bqet/WFj1nA4Qck7+i6UGQ=; b=XO3GnsJfuyl6kCiwUoUlXrUrraB0R/N8ZuYzI5ybJggpjN1/MdXACmszX3f3U+nTJrhBN2emgWlBoB3zguyRBa/+bh7BwXXiJLDEQ8mYaLQ5mpt2SKCCTSa0W63rr2gO4DRAso7YLv3e/HOZP09ZVG5a0JRurylFbSsOynVhgWY= Received: from BY5PR16CA0020.namprd16.prod.outlook.com (2603:10b6:a03:1a0::33) by SA1PR12MB9470.namprd12.prod.outlook.com (2603:10b6:806:459::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Mon, 7 Jul 2025 18:33:37 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::e1) by BY5PR16CA0020.outlook.office365.com (2603:10b6:a03:1a0::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:36 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:32 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 07/21] x86/bugs: Add attack vector controls for MMIO Date: Mon, 7 Jul 2025 13:33:02 -0500 Message-ID: <20250707183316.1349127-8-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|SA1PR12MB9470:EE_ X-MS-Office365-Filtering-Correlation-Id: 0c11b92a-8a18-41c7-c847-08ddbd84c969 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4DS+arjD3/gHZwtwUoDMuuirgGkZkW8fEhC9DyhIu9JEgB1cr6aLMdVDJS72?= =?us-ascii?Q?tQpr38sEnmY11HwmL8Us9VB/tkidUgDbZOyUfQBNP8wPXWaoUUVAVuEA1Pi/?= =?us-ascii?Q?sZNJKpWwaEENs+2/gFDEYrWE7MZkEFcLNQboS+y/PmD0w/iYb7Wmm0zCFG2G?= =?us-ascii?Q?UC87DYT7r3OHHJN0q8cSdM3Z4ryf/CQYeJUqslEgkuVLov60xaKZa4JsJJbe?= =?us-ascii?Q?jBMQdnZCkv6e08w4EW1KtAUV/rY40gFsYqnmmciJD6QWETS8uk0MD0YDkzax?= =?us-ascii?Q?8tLWqBA0TZoAOxEd2M5DRW255OAd/w6Sh5DhEY5/22OtFi0LeXysmy11hSSC?= =?us-ascii?Q?qeNbrCBWKdRbF88KI0mBq52grE4p94K6lYfoJX3C9PKc56UbLNLy13do0sjS?= =?us-ascii?Q?vRSrbCccfLrWrU/J159/2e179LO2OSRdwecI2KDYn4G9p4gvq/SHOHtUyoEy?= =?us-ascii?Q?xETUYn8VKU3OwsCUp+s1kiJFTa8dKTjaKahWPVXYwT51d1UTLAGUSviWXoT5?= =?us-ascii?Q?khMn6RGBmWTQmu+vhfxVSowlbmXvIX8zu0FT36lRn0Pp++bBD/vs0Vrc9oN3?= =?us-ascii?Q?a/mEIqdMJgAOk7kb0uQLtP7Cf/pvh1NNZ/xYmT3PhtGfig5X2x2CzmLVcaIT?= =?us-ascii?Q?gtgVMSOHFhv1vR3uwOgRcvvloEZdV1buo5IdrUx5jPn8yljv1JjYBaOv4ssU?= =?us-ascii?Q?eKFi7bFy36M/ryJvg3/VrXqJhNPl8lg0KDYBaaKxMtTkUYIpk8UvM7FlkGhA?= =?us-ascii?Q?q6i9m09u5Zxwh7XBVM2H0hVhTb6IlTzCxNgWrQRH0Rf5C3OsR8Uy2AYQt2Dt?= =?us-ascii?Q?66yNlaJyJWYfBduZvCM8LLVWSeVNWhd/t5mcJTYwp+OTronJJdgEfHICqULk?= =?us-ascii?Q?cVUxg+5owKBRkCW8AGD9fiC9Q3svymcFRU/jfJ56ByW78EjXC3dfAbRQOr10?= =?us-ascii?Q?0Q/4LQzzZPWMwtk/RKYF74s58p4NW2T07Gv5Wfdm1UCvQyCdS/CpjZCcbhiI?= =?us-ascii?Q?TCBkrpI5g4E/vD6krfCj3BP4DnHK/j02i0zWE9boiiIhi636jC1o8XjDTHmM?= =?us-ascii?Q?z99i0rzgpYT5bIJVDkINrCPTajqC7cJXcE7pJoqf9iUjBoOo22BidhImn/xd?= =?us-ascii?Q?MLpwtMG7zmGOdx03lnLal8K2cCSmeVXbqAQoisoP+Kq5ClistHK+xl+Vt5zo?= =?us-ascii?Q?2XYJXtl17h3qrpn4CmQR9fLwY4T1NyAkBgOJwsedI22pu+7ZKBxAmKU89zTO?= =?us-ascii?Q?hFGXn28u13rJzvaG0Q0CPV7YxxSR40aNBut60FzjAU1wpUH54co2WkffRY1N?= =?us-ascii?Q?615wSNN/9MSfhgDIRhKlqBjaDELeI/vcGjamROJMwyyYnSTc9gvFu7Em5iT0?= =?us-ascii?Q?pxM3XzhtSgIDP4YMYxEVHip6n1LcJIhQQHXwrslY40LclRsASZHNrLFLEiV5?= =?us-ascii?Q?s8YKZ62M9Vg4WFnM3EVNQX+ilgcTsZZSzVKkJDJaM8UyOIOUsVLkATlpZZ8l?= =?us-ascii?Q?6YOYGoq6N8Egx6TnGcUohd4I/Q8SzCMShdba?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:36.7604 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c11b92a-8a18-41c7-c847-08ddbd84c969 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9470 Content-Type: text/plain; charset="utf-8" Use attack vectors controls to determine if MMIO mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 527ea049d4cd..9f81a236735f 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -635,8 +635,12 @@ static void __init mmio_select_mitigation(void) } =20 /* Microcode will be checked in mmio_update_mitigation(). */ - if (mmio_mitigation =3D=3D MMIO_MITIGATION_AUTO) - mmio_mitigation =3D MMIO_MITIGATION_VERW; + if (mmio_mitigation =3D=3D MMIO_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_MMIO_STALE_DATA)) + mmio_mitigation =3D MMIO_MITIGATION_VERW; + else + mmio_mitigation =3D MMIO_MITIGATION_OFF; + } =20 if (mmio_mitigation =3D=3D MMIO_MITIGATION_OFF) return; @@ -651,7 +655,7 @@ static void __init mmio_select_mitigation(void) =20 static void __init mmio_update_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_MMIO_STALE_DATA) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_MMIO_STALE_DATA)) return; =20 if (verw_clear_cpu_buf_mitigation_selected) @@ -699,7 +703,7 @@ static void __init mmio_apply_mitigation(void) if (!(x86_arch_cap_msr & ARCH_CAP_FBSDP_NO)) static_branch_enable(&mds_idle_clear); =20 - if (mmio_nosmt || cpu_mitigations_auto_nosmt()) + if (mmio_nosmt || smt_mitigations =3D=3D SMT_MITIGATIONS_ON) cpu_smt_disable(false); } =20 --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2061.outbound.protection.outlook.com [40.107.220.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 297BE266573 for ; Mon, 7 Jul 2025 18:33:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913222; cv=fail; b=b/JSlUbLpdh76xNGqXeVm0FMsjA/flAiFR4djDAxTEtT8VxTDavXM2N6EmWMkK4+BbJQChdJsbhxzhLBi/Xu70CGjGp6GZdwotlE7yirh416Eo8NxtSHqwdAuj/R0208XV8m+8tT0KTQKj/oFbbGWPWZHIDjnNrC8Tzs72TgohY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913222; c=relaxed/simple; bh=LF3NJTyxlpccbAboNad14iM+v3CorfLA8wJs1Ws/H00=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gwCWb7hJiFNHmWLKBLjZULfU7635srYPOBnRTkXCIiJHXLuxIVD9/EeLytg1fr2EyDttx3bsHcTqHbnv3vepd+pbGf2FAKJTzI/GKEgRMgM5DitsPhtLEXwcLnHZtVHoYy3xFk3Qr6xufpvvaQB1LhkBa0JddI+bDyNjrMMpCm4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=kqXLARo5; arc=fail smtp.client-ip=40.107.220.61 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="kqXLARo5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pE5RP8jmA5jhfV5KWFMgsLHmyUJaYZGOSnHiC0CqOGn8vcac1mzIMspMO/ATZmX2rYi6gLxa+4ytM4e3YaHsiKl/4/2Tx5jj04rGk+3qZk213iGwc5T/j/jK+3OLLXbtVka6rfETG77Z/PUwsnTGrelkVYzsZHG60Hh4jvJJj7DmBi9uwAg9MVzQ5d1il0wr0JegmMAlYCg4SYAVW/IKgjK7ggv//52eZoIWX94wO3yZaBgtXwOBBJ3B5SwA2KnMYVJhrbhwrQMOpQGlUzfzZ/tzIFpwB3/TaU09QZSv7NZlFSsqLWfGmG7pEEseKHtXi/YB2GbPt+3HHb/dgNedyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=X13mkfPY+iZhaU/ERHYY/KbYtIwPSMZzt0UmmAHpCF4=; b=lob3yrEXNU+g2Fo+PlzuVn7T/NIpme9jHKSmVvK6FAuDSLPRZuTskEDiylz+MNHkzRumyPfDT1WpCGZiFN6Q5KSwq9y+nP4vmeEAQBK4u77O7+Yo6s7AkkPvGdJ+lc3wEV5xvRKEFghlKhAFSo3jlHEwoe2c8pPozxN3dzHHzHTn+vyUViPhFSHQ6mKUV8Y8u63YF7EQePR6RT+heBr+BI254ecHkJq/ees2eoGi7MkWt//I9MGquytO6DaHEBoZVNxVw5lFPd8rwIKMusIgmEEM2BBv/gwJxNkZDvKmotkpaLbZH3xiCXM1XFe2u6qd3o0G80ijTXkAdeR7KuO4YA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X13mkfPY+iZhaU/ERHYY/KbYtIwPSMZzt0UmmAHpCF4=; b=kqXLARo5+XsZGA391uhxNhP/F633M/82j4v1CU6C3KcYRM9YeK3Sh5bmZK6nVP7Kyj3ezqgs4gEHD788LV2u9my1XJTMXGyFKEAlgQ3tqJNQz795aY7IjrazuWQuU5rUm9jZfBMKIkluV68JaKvNFqVM2PNmr8lT44CmufeHD1c= Received: from BY5PR16CA0006.namprd16.prod.outlook.com (2603:10b6:a03:1a0::19) by SJ0PR12MB6880.namprd12.prod.outlook.com (2603:10b6:a03:485::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.23; Mon, 7 Jul 2025 18:33:38 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::c3) by BY5PR16CA0006.outlook.office365.com (2603:10b6:a03:1a0::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:38 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:33 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 08/21] x86/bugs: Add attack vector controls for RFDS Date: Mon, 7 Jul 2025 13:33:03 -0500 Message-ID: <20250707183316.1349127-9-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|SJ0PR12MB6880:EE_ X-MS-Office365-Filtering-Correlation-Id: d7d20437-fdab-4ee1-fc02-08ddbd84ca4a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|7416014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?f1ugFqJ0JrtsL3M0KVrs+k9RXV8VuCWv5tJ2nMDc1scNBKfmp6yLB0cVD1ND?= =?us-ascii?Q?aHI53eCvU+76Q7Tc0j7HvHavp6eW01KCZ6Fljm4u/Aap1GPFl26VvILBRduM?= =?us-ascii?Q?RonQo0utT2Lr05uetUrhiQBp2ZBnOqncDF6IzqrM/4GmYllMouZfUGUn8imo?= =?us-ascii?Q?jipNHNn39wParROWS+RyscNQzLqH+daSFkFZyi9g1eIKy8YiQXABFWMKrf5N?= =?us-ascii?Q?EMAkE6ISL80fDM2ekmEBK46YbKJEhKe3NTVIWKYq0QNoUsoJfGwNHaZMX9wf?= =?us-ascii?Q?gq1wO0SOagOeVCeb4LYvJMbPpDkUxHfFzkr8iILflObHxU1f/dZe+N6eKS+Q?= =?us-ascii?Q?iMVxZ6v0KIyl4XG8YXfllLXtocJEYBMy5oJUCXJHs+lkQPwwWU7EpU01T5Mv?= =?us-ascii?Q?8PJa6YEk8B2peDvdu4jw2oV5HFJJkIsJQuIpaDbB9Wjard1NcQpwaI0chvka?= =?us-ascii?Q?XG1xyvEDHqbriFF3g6F1Raed2Y71lJcf+Cg3b3W3W9XKMcpood/L31qe2sja?= =?us-ascii?Q?Eq156ZeboWbvPsuozPBlyPfExOFcL19P5iJh9nTR0PvaRNiUSYb6n3oaEpCR?= =?us-ascii?Q?XJi/GUtlArP7NtqWh2+XtpCtfDz/YjO5czA6tRrK8p/qyTi4BnNOx92riudn?= =?us-ascii?Q?faKUf1HfaD5kL513CKxCJu1sXJ2+J1p62mM1rMAVXqvFsrplMPozZqEPiomz?= =?us-ascii?Q?86e02Qq6ntxEA3GSCsdXtYJloYGg3/XhywX/vMA1V2tEjVLMzivXG8mdGcGw?= =?us-ascii?Q?0Cn8HfNaWV6NvD945ZJxjVSlM1ZjfTnUelomuI2WIH0cUyGKP3uUEbMQd45v?= =?us-ascii?Q?uMXWENrriVOWk5eVvHFL5TJM8+JGq+eBI+Kr60BQDCKo+zTp7NgB2Bfjdx+A?= =?us-ascii?Q?yoVHOGYvrVkAgTSyb2x2pBqLCsWq7NVgkKFucUQId3V4f+u0eD3V2jYrLxF1?= =?us-ascii?Q?Q2JDBiCbxwbL57VSPQMK8FCOFSkZHBFTjQEyRI4TR8Z/fiyRGZ0XlnNqHbSV?= =?us-ascii?Q?c55MbkRG4n94sXUtKIkGE3wKtPMH7ZCS0RNrFaEuK7DQSi/oGU7B865twZyy?= =?us-ascii?Q?Z1t71MIX6/ZAAMVuZaQW/dpOQnT0hMtrP1mhvjRfAeYeRKYJAxwXtpzDgf7b?= =?us-ascii?Q?mgaaMYZZ0+sbEVL1GhSt+JSR8v2kuWcHSN04QMm5Ahdj7de7Rneh1HQl7uj/?= =?us-ascii?Q?Zz/jgD7WrZ6lgaAutLTZmyff3aSS+ffVELdPaEJZUQxZbHi61GtPkLIjMi4V?= =?us-ascii?Q?8ZwUsUD0Opi2uJIxPpK5DzojGfAz1wq7ChBJfTtRgbjZ/JsmIpwHX30sAJiq?= =?us-ascii?Q?wem12pMzOBhv4WAzf40IGSDGWlhEDrbJM2MegouSdB0pqiEUTK3HxHX45kF0?= =?us-ascii?Q?oqR30ONuoUjdfJ+wm0txJT+wCerqs2X1RU6AQJGtzyaJhdq4TwleNFcQsuGF?= =?us-ascii?Q?LbtzGkOkBUAew0mtAxDuxN74qkQ4AJ/dpppx3WbA760eP+5eckccTRN5EvEU?= =?us-ascii?Q?5cgCM2ycjys0KcCqRQBwT5J31SBo2jfExV0U?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:38.2378 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d7d20437-fdab-4ee1-fc02-08ddbd84ca4a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6880 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if RFDS mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 9f81a236735f..cf7d010931b9 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -744,13 +744,17 @@ static inline bool __init verw_clears_cpu_reg_file(vo= id) =20 static void __init rfds_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_RFDS) || cpu_mitigations_off()) { + if (!boot_cpu_has_bug(X86_BUG_RFDS)) { rfds_mitigation =3D RFDS_MITIGATION_OFF; return; } =20 - if (rfds_mitigation =3D=3D RFDS_MITIGATION_AUTO) - rfds_mitigation =3D RFDS_MITIGATION_VERW; + if (rfds_mitigation =3D=3D RFDS_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_RFDS)) + rfds_mitigation =3D RFDS_MITIGATION_VERW; + else + rfds_mitigation =3D RFDS_MITIGATION_OFF; + } =20 if (rfds_mitigation =3D=3D RFDS_MITIGATION_OFF) return; @@ -761,7 +765,7 @@ static void __init rfds_select_mitigation(void) =20 static void __init rfds_update_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_RFDS) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_RFDS)) return; =20 if (verw_clear_cpu_buf_mitigation_selected) --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2065.outbound.protection.outlook.com [40.107.94.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B7CB266B64 for ; Mon, 7 Jul 2025 18:33:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913223; cv=fail; b=jyZmasEc/KAdDybRy9xPUVZa0rv7BaX8jsxBrk4wGlU6YfyIS9i/Dmjfj3xGQv0MZAH2jFiEkotREbE51bp3Sh4KHWhDYSEHs76SDu3ZNrJ8FvO4e3o0KXbioG4TTKuO4xCMVuMl9O3a1UjFqrPQe6wWnWkE/RJeXAQdui2YSws= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913223; c=relaxed/simple; bh=r/hMXQgueHWGgSInaJ1RuUDzyMnL3WYuru4ZGsrn5eE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hskmGnLr6RgbHjJeWd+5raNpmEvW7ZaKxQJK/1Iqy2KvvBZQwc4LZuGSMf6TNonf5M7SNlsqxdRWJf+1Rp34ErT+l6w1WrdvQ2rktJsM9MMRUCZ6saSRQhNTUcJiYQjJBLStSB9N5dgHNOLFc4fpF8cWNgTWl1DK99C0xEI1qME= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=4wIpuobY; arc=fail smtp.client-ip=40.107.94.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="4wIpuobY" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y4+pHlkCz7ApqeOvNi/QqmVDA/QLEiYUZ9SbQEPPXAd5sIIhQWb0W4O7P28e9LTpdEcJItiFw06MPq5oW1eSQdfsPsN+MRpv7LeBhQr//wwv8zRgr6n+g0CYZQz5TussX62E3jxX5xOA6LWFb+2cD6KnLs68Ayv50ca3K95f7hlmqZ3kpTVcZhWr+qMtevIKqvQCGtbNDPig4rXUMaUirYL4e3SiAwcGhZnJperZx8KaP1uW1LLu4vKj5/c5tAREfi9ZiUDbKM83+2xXJOP/aLEQQEhCELWmMed3q1BoyFXa5NAucYh7/y0BWovebSGr2+prIN2u0W7qhXrc5vJM/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zn2mxXXwRu2DrksM1ojZ3Nzg3J+OUp0LtkfwNyavTeM=; b=r4QfvMHIZJX90wLvrhFgW/bWto1rGxIfa55jwb+e3kV3Kbu+vYm7rRBSBz0kuwUCy/nLReb3pqgv5U2jrfThVi0aQD0p+wr8cMqbd9ew7TIXR7Z+PJI7AgIX1Tmtnt3k0PZj42sA5J+d8ouIZBLmxz6Aifz/FI3P8UPEpshpa44wIR8GRw9DikMEy++PGGXB3BdBFZBNbmCObqWtFSZJpBc8c6tU2ZZUB13/4TowF0gJMaYosQEukp6E4/b9K37C/mc3xk8pdnNqTfTwBrbpALNDqGa08V3KiBy/BYlPb9rEOCrIToCznPbpzLFjR5IrLgsD/WqNIWvIoVHHhgctVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zn2mxXXwRu2DrksM1ojZ3Nzg3J+OUp0LtkfwNyavTeM=; b=4wIpuobYo1pUVbk4WNLV51GeJek55cMKazadRZLlGmeN8R5GYK7mcwHDp5umVJI+SQnHlw+I5h2V+XlQN+hW0wk8sBt3wsaW7/orfQahy+z1wmRyPU+6nUocUuTLMZZXbloqOXg+NvXKnOctu6nEWmwDCgnl9cpgJxwAVvkg1TY= Received: from BY5PR16CA0017.namprd16.prod.outlook.com (2603:10b6:a03:1a0::30) by MN2PR12MB4238.namprd12.prod.outlook.com (2603:10b6:208:199::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.25; Mon, 7 Jul 2025 18:33:39 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::d7) by BY5PR16CA0017.outlook.office365.com (2603:10b6:a03:1a0::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:38 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:33 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 09/21] x86/bugs: Add attack vector controls for SRBDS Date: Mon, 7 Jul 2025 13:33:04 -0500 Message-ID: <20250707183316.1349127-10-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|MN2PR12MB4238:EE_ X-MS-Office365-Filtering-Correlation-Id: 90c10bd7-69db-40d6-6017-08ddbd84caae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wrO0mVqAPReUkQHm5BcnHr7Viu+UVa+GMcmsEOZmEcX4XNX518TkHdLaq/My?= =?us-ascii?Q?h2oc2l/DoxffpcmwsN4ScUjqIz48yjKay25YZO4SK3BM6SqsSwfWm+ggrHCx?= =?us-ascii?Q?PE9YxmNbhGbN8TOT/2u74evkdn4eb9nZBcAmSZecCDR0Pa200RLGvDf1b3BP?= =?us-ascii?Q?SR+5LHB4Sofx3Gy9V/5XklStbbD47RtDpF4Q/8/iFPd+rLG6P27lMg/gLYjX?= =?us-ascii?Q?qh756JDCvlVsLmdb2Z6xLntF1yEjE5V1yV9qzt871vhPQA+6jCcJH5dMRJp5?= =?us-ascii?Q?CdmyJpt2tKIfQ1O1H42h5Su36PaHkb0JwcSln1UTfLJ4jwF35HJUDWg2MnJI?= =?us-ascii?Q?ZJWgKdBN7kZ1OPHxdszHTgGUgYjer3xuoWMomYeDpQXB/WGpZtiYr+EK4w8P?= =?us-ascii?Q?aBVPaxmD/P8vlmAYh+siI8cIaRJReLRh9/EIKFdatL5TRqQ5SEMfEuafx4L6?= =?us-ascii?Q?SQxQu5u3UpFpP/klzAauf351GFcJpbpE2ss+s1HZTC+KyJsQrEdA+p62vYUI?= =?us-ascii?Q?UtbE9lU6b3aeIzt7sJ1JAvE+8xQHSL3wOZ4DZ0JkfDpEv90afRy/PoMHDwFi?= =?us-ascii?Q?AEoBqk8jMC8edIY756H9H0dWcyWnvnNPT8Dsb3f4zDU/S1VWTz5DcNVuNyp5?= =?us-ascii?Q?YywNhb0gDgLhIytYZf74KkdgFR5WSSRxbfAwrRGYzUngsKnWqw2aJaTdUPE7?= =?us-ascii?Q?4YtDHnlfdXxnQrW7dDu4um/LJDFQmcYgTlhNw7jh5uGLIDg4Y/5KOt2lLp2i?= =?us-ascii?Q?COhUa+Z4Hte8KVCy/ErT1O4/vdYggm1xs+z74uFSEJoecMjAJdN/sSh7FWJY?= =?us-ascii?Q?CCkU14FYjldrrxhAD0OABvdERddpGWRuJvBZB8BWFuKnX4y1N0Zk/OPChcGv?= =?us-ascii?Q?NHD1WCgpi3k+uWYV1NCe2lJY+TQaoNInZmS8IUOh30xIzgU3mHY+PO6zsPUo?= =?us-ascii?Q?k+pe5SEmzVcOoAEVamdoRtQA7I9BFR2uKQnR6YnRV12NSYSkxntyoPJlDiws?= =?us-ascii?Q?wSBRZR0MyVqVMcglfhiZCWbzJz5Mx4db9w/6CM4UaLrUL0oNvAboJc8MgomC?= =?us-ascii?Q?pK0MYcC5rBVv7adfBhT9gGtzXzNAV1TRsXFu9Qh1Q8sy2mPe9fLnNyGc+fBE?= =?us-ascii?Q?/iYrywbO2OSmt5cA0wtODdAXbd7n1a3l1PMxDuFtnn3+ahOuOVhY2C4mS37z?= =?us-ascii?Q?k8dB03vRureTOj8/EsDnmTbJAjZO1LXKlh0Fq1ySN5nK/4qOFjLarnuQ5gAD?= =?us-ascii?Q?gBkm8YmUB+vghc33DCfrpsNKp96RcMGlm2+GfVTJ7B51WLnH0WEXRHvN2TI+?= =?us-ascii?Q?PrdSIcuLMA14gIPfc7EUZ06eacfzjERkHtXhsilZq89NpDeqHXTflN8tio8G?= =?us-ascii?Q?t4YcIeP+SXalvPNzXp5zB87wSOzoBiEIcwWSuptxKAnC1R0qOx5tMwZcmqA5?= =?us-ascii?Q?9F4xHrQFYsInORneJuPmR43wVar8AI1FLwOH2bazpiB0kTKzQRI9yLIZkth6?= =?us-ascii?Q?7NR9lsOdg0yRjas4G7CM8WkS9cE5Yujgd8PZ?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:38.8822 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 90c10bd7-69db-40d6-6017-08ddbd84caae X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4238 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if SRBDS mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index cf7d010931b9..e01fb83daa07 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -866,13 +866,19 @@ void update_srbds_msr(void) =20 static void __init srbds_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_SRBDS) || cpu_mitigations_off()) { + if (!boot_cpu_has_bug(X86_BUG_SRBDS)) { srbds_mitigation =3D SRBDS_MITIGATION_OFF; return; } =20 - if (srbds_mitigation =3D=3D SRBDS_MITIGATION_AUTO) - srbds_mitigation =3D SRBDS_MITIGATION_FULL; + if (srbds_mitigation =3D=3D SRBDS_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_SRBDS)) + srbds_mitigation =3D SRBDS_MITIGATION_FULL; + else { + srbds_mitigation =3D SRBDS_MITIGATION_OFF; + return; + } + } =20 /* * Check to see if this is one of the MDS_NO systems supporting TSX that --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2065.outbound.protection.outlook.com [40.107.244.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79131266F00 for ; Mon, 7 Jul 2025 18:33:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913224; cv=fail; b=lv4ns2GgOORzYHDan0fceJas1YT0zdVGsniAzlbIWxSBwhkUeHttqTKI+MKQIPHCkVoCHq4Um1h1ddJBbFJNFj7ZWbClFFU90ca8Zzz11YywYoEIEJb9eyALoq7e0GlqQpXipj0JvnLLMlQwWovNlEELRKyDXyBwyf7fYzgcw14= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913224; c=relaxed/simple; bh=1qRTFegq6jbR35j+HO3dWt9MTr5BPSw61QhchgDSB5s=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=oGWhA3F+3JFpBf/ylk8PhKusE2fbg7UB2LQ/iQtKVn5/SWyTkeIeE2VQLiBbvuEGn9D1WN7/ria2+Tvh3v5lSl2GWnPump5NW0TSU3gsU4jZ+OjAl9uHNa5KEMsMvIguck+RU2MAXqmJpj0dFaJMBpIOxsbEVOIVPrx+ykHbXyA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=BJqbPDaP; arc=fail smtp.client-ip=40.107.244.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="BJqbPDaP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jq+gyc0UUlDv71PnT+0e42k0CKsFi7N6GhjfPINuP9bxacXSk1BtxNE94WlzBuFTphh73g2/d+5iQ73Xmu+40Ms2LSEY+GtupXjCWh+MUqJvzJoOWhDrUJdOVXbrh3zCtEWyCyF/NC+cOro/UjdDzAUuG6MSYVc/xaMJ+gV4hbatU/QR8vm5DO/2GEUFK2GBit017dgkYRfkon1b8b9Ag/mylPsUd44EHTM64/f2jPvTn76FCLT80V+y1VMHIBsbcFG3EjqILVxK0Fav/4mlZcmGLWQnqV1n1NlmzZMijZWh9wQlT7A8U+DGhHQDI3zsChfsT0+b1lpnjeEIF+mFbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BNu0CsLHTiWN3YqjotAZi5qpWZvCZqbxwKeCGzQ2bRE=; b=OnPgR7H4F63nXaqrBA1LafJh9tf90LIQzPK89MycjWoD7/v8aYJgAqrbL53OWDMQws4s319gi5mhlE5OJpTRtp3tjRvzu9PQWyNYDLy+xQTy7zFdbwaihKo/YTo+K49ZyRRBgGpMyCQp2Hw5zFfYOXdST5xXgUAwCOUu2/3KdBSpNebhSCSSDIsVfmGPxQhgOplFK7Qx/ezasXKeCtYT8umFLXTsq4kLuSm/oXibTTcs3LlOtsNjjZswxByd2MM6xzaKgstN0XIJfY6O8s8NFjpVOyMUboY4X4KE1mxzHAilmn6hRxSZHAJJKJ+dzq6/GoplBTNhl3RV8S1kCnfBuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BNu0CsLHTiWN3YqjotAZi5qpWZvCZqbxwKeCGzQ2bRE=; b=BJqbPDaPEoJ/u2IrYu5qO4acf08yA/JuoL++AKGkr3IWUWInh+DbVjTKni76eZ7mEduxvDHai0Poi03oHyriQ7G3cNwwVQhcAvNSmVrE+Yt6C47qFUCtVbBL0OGmGjoC7/dPtd++MoVqSITURsC3+zUEamfMPuntxS/88i7h/aw= Received: from MW4PR04CA0263.namprd04.prod.outlook.com (2603:10b6:303:88::28) by DS0PR12MB9398.namprd12.prod.outlook.com (2603:10b6:8:1b3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.24; Mon, 7 Jul 2025 18:33:40 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::d1) by MW4PR04CA0263.outlook.office365.com (2603:10b6:303:88::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.26 via Frontend Transport; Mon, 7 Jul 2025 18:33:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:39 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:34 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 10/21] x86/bugs: Add attack vector controls for GDS Date: Mon, 7 Jul 2025 13:33:05 -0500 Message-ID: <20250707183316.1349127-11-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|DS0PR12MB9398:EE_ X-MS-Office365-Filtering-Correlation-Id: e486af17-ba94-4d29-62a2-08ddbd84cb00 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?orSrSoNxBA+E+hkgCrOT5gWhBzV1j88HFPA3t8Ag5K3r35Hnlvin7l7hgMJ1?= =?us-ascii?Q?7ITXYUsphVfuNPKOrLYPgzMer2QhTA6eQ6cP9wUkK3a8ZB2cN7fnn7H8di+f?= =?us-ascii?Q?5porpD4amCd2P7qbOG70H5qYXsUkEiOA3izIkvxJ330p92lrCOYuZq5AjASs?= =?us-ascii?Q?0p1+fGHWLvmICUCK1igFh3h9Yk0i+er38hAjQPaOgxicmqZdFosEcGWuVrNN?= =?us-ascii?Q?vszjyZ8BO/NGBZRFwblFyIK6zLMUTRFmEPMmCJfRr8l7+4zNi194iIXrUCzP?= =?us-ascii?Q?cjxerp46ZRKRdPv2mqxKe0bTW2frDXiZteVtCwc2gg1gCCVnj73gK0BeMzom?= =?us-ascii?Q?SfaQaldaiS2Vi04SLYE4vxjYhG38ieXbptiVPelQ1HFISyc6Ru43AskK8D6G?= =?us-ascii?Q?or4xMarwQhT26CsN4sARQewdwafS3zOMyD4VyPWajWHDmh/oqBgpk2uhcEhv?= =?us-ascii?Q?6ON7mgm+l0BtxkqacQ4j1uzZ/bdd8q15fy5+tTXLZucbUr5OjbV9Q/JkqZhZ?= =?us-ascii?Q?hWUxPBbXJyjRUoFfg8QJawyxngZ0mkzKsio+UkZHzAqehw8Zhh+aRUCpQzJd?= =?us-ascii?Q?b4Vd7Q6zJ65Eb2T2zyXPHLnKc4vab4QyhvTaGuvX7ckPCPzgMBFiraDE8SBb?= =?us-ascii?Q?E/zcNaMX0k28K4UUprOq8vX8uVuqTKWSQcDd1anAOHfBlcwpxiT1Dx5qu4x1?= =?us-ascii?Q?qpU59BcFx9BAvITTqdsdm1mH/+SFlAzENU8IWwMSZtdl05f1F4Hpbth+ySzY?= =?us-ascii?Q?7A/7O1u0wfJZX0MtA9r+s2YXtraSKcKzgHkwJjyXoEbgCPgVGec3MwLV/ijO?= =?us-ascii?Q?FhkCR8PLUlg/4a1rLLEXnwpuqiP1sJOkyujxGiDxlwxEfH8++kTkt9axvyLS?= =?us-ascii?Q?CnBJdoJ3EDh+Ess77HEcOVNi2YEWJ3O2NY+AyrKhn36ppb7ZEwhzRbZBunhB?= =?us-ascii?Q?PoZetYLk0W99ubvgS7iaEPT0PMDiwzzVgamzde6noRG58JCsXPKMeA5yC1kG?= =?us-ascii?Q?GNmjuHHMqJu9orlRPS0RQB0DAwZUf1lw+cFKztdI54uxQpFQwdpC4UjUK0/t?= =?us-ascii?Q?CpmeZccve4QnFTtteR6VYnNXVweB4WpkCG76IKhzv71LifXU4aBhSEbkRu7z?= =?us-ascii?Q?qAFlkVI4XaBJ1CBDYMkR6g7LRYIxKNsYUr31KvTqOeL7TyZQa2gKp5YJjRG+?= =?us-ascii?Q?G0EcYsIRV7zyGDi+LCJ4SJRa3hNDgGP0Dfg6sUVC78ugLBDGAWqdaexUP3IE?= =?us-ascii?Q?vsLq+bLYdq0AI8kZaND0J9itRLs3FTQZCPNJHIhpAeUsY6swOzLDYjX0T/7p?= =?us-ascii?Q?JWsoHwBfuSBBepq/5twhBeAvFH4Sy7nuAjBTrxgUBt2UETuaAxsBJY0yxjyi?= =?us-ascii?Q?wyatVMdergwyhP5rW8uo1NxhTu/SlDCyrBHk4UJ945h3KMlNflZPviw282B0?= =?us-ascii?Q?+wsf8ZivTjxrqunC71XQtsTyLt/tv3YXdsecwnSKvJX21rr48ypeNmInJYbB?= =?us-ascii?Q?zsZqayvCGqsW0tYeb5xUaJJgWoUQIruh/g2I?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:39.4272 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e486af17-ba94-4d29-62a2-08ddbd84cb00 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9398 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if GDS mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index e01fb83daa07..dc3f9a2e6984 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1026,12 +1026,15 @@ static void __init gds_select_mitigation(void) return; } =20 - if (cpu_mitigations_off()) - gds_mitigation =3D GDS_MITIGATION_OFF; /* Will verify below that mitigation _can_ be disabled */ - - if (gds_mitigation =3D=3D GDS_MITIGATION_AUTO) - gds_mitigation =3D GDS_MITIGATION_FULL; + if (gds_mitigation =3D=3D GDS_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_GDS)) + gds_mitigation =3D GDS_MITIGATION_FULL; + else { + gds_mitigation =3D GDS_MITIGATION_OFF; + return; + } + } =20 /* No microcode */ if (!(x86_arch_cap_msr & ARCH_CAP_GDS_CTRL)) { --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2074.outbound.protection.outlook.com [40.107.237.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CA39267B19 for ; Mon, 7 Jul 2025 18:33:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913224; cv=fail; b=brphN7gyMyY5bVmK1adsFnnUpd9DaHnXp70tASmIEWLJI9d5yBXLaWQbj7uBs5ChzwfTLe9XXMezNuOUqixvNw3hczquzIKCPWcFjLa1dK3YRzn0KFYTDSGq1iy9/NnCiYNTJ55CgPTM9zkzVjx3W5NtrlHDKph0rkyNr8qQ4D0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913224; c=relaxed/simple; bh=ktOZQp7nXPYdvXXJ4zeN17TA88W9OurB0OPGt9J8qPU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jEgaVSHm3jU5IzdvMsyQTrUYCAApV6D1nGH0kWowIp91EsKjY06OnlEegsBRkcjcD/q73lI7t3sAq+U0AXM305NUJKrk6KkVTGZIYo/Gb+1Bi26aKa2krl9c8zBYa6FTrJGdBN5o3yO/YeAA5nOHBpTM9upt2/4PEzmrQplQGm4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=ArGKdPDy; arc=fail smtp.client-ip=40.107.237.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="ArGKdPDy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=buYcnP38OPwNoJTdYo9VDg7KGI9qpO8ViD2p7bsNGbmtZiHuLd41kHUIcFr8D6HWKgbOUolSZ9SXCxb/MZIG4T6Z9JdX492QavGUIaYzRDj1gHe1gmWk2FEZGbd6WcC1ewJBa9A7Wkh28dOWfkjCr3HhW2EOIzgaP3+P+rUzXEijr+EKmDefkk9D6n8YHxU5OQZpOOtOQOkd/MtAuWwZxHwB/pz6PT1Wk1sFYbITpqrvfi4Ith2roNkL3U0f+G5bHYI8YPrA56UhicKrNNhQ+GHzVTZ7+sUI1n7pI8nhpCkTHQTkKs4CHu2CmLet00Gex/dJ5uoahkkt44YH5T9mEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CbaKZzyQnysgQNXXUovBpJSGJe50o9VIWs/EAoqOalA=; b=mhKockofw4trspWvVBJptgtbSH7sjwTpK+N26oSIWqdH3XBDKe+D8x7qE63BeT1NnODBqSQGgLVVkzlFrfXbadEVf3UmTMJrtwauRhjSCWIksN9QGxPVDrNxwqUIN7L7CK1zUakiIgaswRO8h3nJ+MLjBLQU835cNuZq0JonDBtOT/FurdVzqHJ9kv6AQfUlzjIBKatHjg6M7iGs/kOqcoqRAoEiYRzhg4VqxpXz8SXg3ZcDxcRgn0txwWWnEGe4rMVLHBGOji8cWd72hzRdgQwkcf6v4p6qS8mBPcCnInJD7ytXpPo5T6kT3IjlruAciCBL8U9UTvnO9bmUOIpEaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CbaKZzyQnysgQNXXUovBpJSGJe50o9VIWs/EAoqOalA=; b=ArGKdPDyjkAVguwpXARtHIP+Ye5+4Y9mA4SOdOY01/YL9+PyfsNkcDdNfk4gVMJ9NBbmPsTyri4e/rF/oo+W1EivRZ8K3Ox3GblXHpn7XMR94njywtBpDi7dzd/10zVKEXo3Iv3IFG+ofuSGM5g0G4N8o4e6uAn+QVmvT9Fhvqk= Received: from BY5PR16CA0016.namprd16.prod.outlook.com (2603:10b6:a03:1a0::29) by SA1PR12MB7197.namprd12.prod.outlook.com (2603:10b6:806:2bd::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.26; Mon, 7 Jul 2025 18:33:40 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::56) by BY5PR16CA0016.outlook.office365.com (2603:10b6:a03:1a0::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:40 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:39 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:35 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 11/21] x86/bugs: Add attack vector controls for spectre_v1 Date: Mon, 7 Jul 2025 13:33:06 -0500 Message-ID: <20250707183316.1349127-12-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|SA1PR12MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: a1ba417c-1578-44e9-9dfd-08ddbd84cb49 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?aqkiEILLps2vPQRSpovtBmBiouTSJy0Hqv/DO5WBbiAFg/e15wShscRHoU31?= =?us-ascii?Q?CctK6v0qguqiUUpPSxLjofGr9rev+CmKV4MSfSKeX8hX/JOs9++it98FHznz?= =?us-ascii?Q?ZU835wHwgjipiSRdkUCocH/fJwbfvOx6jWxACy+nD/7Xgba5WaWcIowvBiGD?= =?us-ascii?Q?ie+/Z//O8OoVlapZKk6yr3MQIRrgYYpAjJ/rUiTOAWs5UtLmF0PBbgCavzHS?= =?us-ascii?Q?hVhW24/jZS6Q/DR/I+X0WISCDIbUbb94RXql4Q8jriXXinvszpQPkjTEoDvA?= =?us-ascii?Q?bmF0zwDQQm4Y+dI55LR95AGUSgUdzi0HBS7IUuYpdjSf0dF5aTyWu2/NqNYV?= =?us-ascii?Q?Xblr0oBDh1rrs9BcQZFZIPjbMjQ/3GU8WCpGaigGRLyv1Gut+OppSauVaaJr?= =?us-ascii?Q?FZ457smqQ81G/l/I6T6zkhES3H5X8f2sSPrBlVKSSnA+0LHLrUyiv9aBrDG/?= =?us-ascii?Q?gI7JZP5Bo1ZsVteo1Ll8jXxL0WNtYqJu5WHx3NXvalsAOzpJR9q4igZZyP7Z?= =?us-ascii?Q?y67v98h1GcnCf6EMmGlEBsrG/RxJ+/1YZSaj3QWWxhRIfJbnoAl47wJ+4Pop?= =?us-ascii?Q?eZqbKdDCBRftff2WheNViIfjOZeKPnKgXwfxWYK5c7aAvUTlFP41OYfvcDVA?= =?us-ascii?Q?5Wz/YdZP7VTIhr/s7kq81JWpIllXZ9fgIhh+zlJdkb/U9lV7vaHSeRQC71l7?= =?us-ascii?Q?8P4Q8uAOpP0AtUQXhrhX5HTRWYx4LZY6Xtu3X4vwWcX+e6UQzygJtW0c8Kbe?= =?us-ascii?Q?Ac0+AdK0+OYWHCe7LDmqWqiioVFi/5bWu8AaAR5fJewCD+56XpZSirzZMMaW?= =?us-ascii?Q?7O6OIedkQv6JA09e5xDfCfL3Trl9lKssgc6qWXflJkpSJuBeSr5As7LlTvma?= =?us-ascii?Q?Lt+C3IZrNb4SYLMYheOe7vawGZoeUszWAweW1FkjmC0jPf/OShXpa+Y05TuQ?= =?us-ascii?Q?b6ipX4OX3+iD0tsUYM+ZQ0thgYcP63Fxe7+wH33NjOB3kKspDXFPR2t2PQTH?= =?us-ascii?Q?YByXHvcUJQ3HNnZ1H9Nuo7moT+XisK1z+0ecepJXLofi/1xkrkPqntL1TZvf?= =?us-ascii?Q?BsN7xX4q8Dzd9fbq4q0ZhS3mAcifKwLZmaLk+uie9i0NSLvBwQe1RSSDWKmd?= =?us-ascii?Q?FEv/MYKI3cuhY9NVpMiFWXUWou6SdHOw2pNa+4bEak1mmi7juRllaWLyAViZ?= =?us-ascii?Q?RjIUS7bACN5ITmjI9oH/YdIUhGtELadqyueTQ5pML2Y2C9LJkbXIio5YdRCd?= =?us-ascii?Q?Bme2wy4b4R2ahOVFNVw0wXWOuKrMoDFysGTECRC+XtX9QGDw3rMLeyhwzais?= =?us-ascii?Q?oZrwwhjEJPa0HuIeViITFZoawgUETui/1Xxsj3TJyOjbMc6JO71Yf7oY84Tr?= =?us-ascii?Q?TInmg65+6mVZ0knGZNuW7G/9gdh++2Q0NQ1+YYB9P4vMut7r3VVSH6tXY+X3?= =?us-ascii?Q?CMPVRuXnykyXU5wLba2ZRkIB4s09Wjuh448FTxDcZgp6H5Lvqn2GDAIeYp+k?= =?us-ascii?Q?fnXsa7i/h9he+vGqSKRyKeexmlKrDNo5dWYn?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:39.9038 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a1ba417c-1578-44e9-9dfd-08ddbd84cb49 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7197 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if spectre_v1 mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index dc3f9a2e6984..f4b3d879ba38 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1140,13 +1140,16 @@ static bool smap_works_speculatively(void) =20 static void __init spectre_v1_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V1) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V1)) + spectre_v1_mitigation =3D SPECTRE_V1_MITIGATION_NONE; + + if (!should_mitigate_vuln(X86_BUG_SPECTRE_V1)) spectre_v1_mitigation =3D SPECTRE_V1_MITIGATION_NONE; } =20 static void __init spectre_v1_apply_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V1) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V1)) return; =20 if (spectre_v1_mitigation =3D=3D SPECTRE_V1_MITIGATION_AUTO) { --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2066.outbound.protection.outlook.com [40.107.95.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7765B267B90 for ; Mon, 7 Jul 2025 18:33:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.95.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913225; cv=fail; b=NmEp3FHQeKdRe5OfPEyE4Hx6O8q7qzXlPfrpiKPQaDbmVizI5N6CWUKCN6UsuL+dTC+cx9awxryfx2Kqz5T6RvIe3tu0s6i8mbrsc9XzMXrytDLezWq7RDk7X4e9zNZWYtGQSIQjWyLGdF+UGgcR/un+vpo4bySNojmy8FX2NKI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913225; c=relaxed/simple; bh=Huzo6U9tVQjDiP/NdFIWg2ud5HYlkb7j+e71Vbq1J70=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZqzO4ZGr1OTI3ATorDfScpOyZAmH1wVQP5FvT93y18IYj2atgreOeMO2+PQbpVqk8tvwgtgfZXem90lBD1hg9ET/4HhOgYxyWqVlqy2pylc7RZLmFVHMWglkYvU8z+A64IogjyFo2HSiteDRTRsGLE6rH81Yfg3b0GjPaOSakgc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=hyNTqjQi; arc=fail smtp.client-ip=40.107.95.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="hyNTqjQi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pX1Whm2gIo0/gFsv7eVcPjumjmkSM5pmbdM+Ti2e/WaKbbBJAyPmHpOknMvCAdXdWO+anu61/Bqi2vMo1QV2f4iwqq1IGAoCnla1vU140B3P3WZ//Dx1ogB2onViBlodBEDj1a6JM+wiOYrZjH8GnmQUQ6q8OK9FaPEyC5yFVMUamQYwQ2iVViCuLLWe0gvA82w6G+K2ZssUXMD9ONSiOqp4/HdALpDhuirKXM/4pje6iIPuhXaVm0DjpDv8QaV/7v+gGVkRx+mjqtaWajdlCWHFiXn713kZFMez98ht7dYNamSv5+g/WC2IEHz+T/blRDivYgvpeFNUxtn4SWRTgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vk0UD0lTyxpZ1V45umETLGgWROOL3W3ZaV6bFEWQVAw=; b=PnBhB3y7CGVQAOv7gEAVNgcm7g789YPAERPIbFweW31TrWv7qCGUep7fl2wpVrt9Z5Y0rp06XeN6Yo530Od7vNsVYxqD27kRKr32a2HMtKau9a/d6xjJgeb4VQ6sLiTbfd3Zm8UvsuK6Y1SuCtNO/toCE4yb68kPqGAgD6OHViHAFwBJy0MkWA6WeYN/0QLjhR2qFc+H5PGPZWU9ir0PUiHA+hIxeIDKrLLRADqFRHyXjX+KNN66xbDvH/WrSZzZ6cTNJl8ckiG7DRO+dxUTJiuLbAJoeOa+8zMpaNoFcav4QFst3FlX6V598j6BGG0GboxddzKw/rXpBDz0qK61dw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vk0UD0lTyxpZ1V45umETLGgWROOL3W3ZaV6bFEWQVAw=; b=hyNTqjQiH/ZfyjIsMNvORczPh7YG2m0bYb7QMqK53A3hdu8j0fvzS59EfpLsysjA1l4L1j84yEGuEkAgLR4AgANLGilyW0zLD0ioTXYBbKgSXjWppWexpWwD/oLjTDvuJ+kPXwtnyiCeSKbkkaEj3/BqBbaWsAsPBOdDUfCqlxw= Received: from MW4PR04CA0256.namprd04.prod.outlook.com (2603:10b6:303:88::21) by BL4PR12MB9479.namprd12.prod.outlook.com (2603:10b6:208:58e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.25; Mon, 7 Jul 2025 18:33:41 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::8a) by MW4PR04CA0256.outlook.office365.com (2603:10b6:303:88::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:40 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:40 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:36 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 12/21] x86/bugs: Add attack vector controls for retbleed Date: Mon, 7 Jul 2025 13:33:07 -0500 Message-ID: <20250707183316.1349127-13-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|BL4PR12MB9479:EE_ X-MS-Office365-Filtering-Correlation-Id: b38d3ed9-836b-4ea4-3dca-08ddbd84cb9b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?65h7XrRX+EI/BNStCBhtRrrD9vAMX1A1nq8KrzenoYH0RyKkq6n7kKwyQY9F?= =?us-ascii?Q?v9BbWffMDfl0cbd5WptZsY9hCciGjGnmjnIkI5y2L2mKgOoONM35YkuCxVvb?= =?us-ascii?Q?peha3PzXTrAQR7Wq/gJYw/Y2V58pYI/86Xv0hbuKVKYJptmwih974/wvpNB9?= =?us-ascii?Q?1U7g/2umQdF/ZgzQ+WhgQSkU9gcmflFh3hWXM8/vhcXa8GCzqSdzOJSaJxoO?= =?us-ascii?Q?eRUPylSy+0mzdSOEGUU9hzWDj17HSCGK4AESFaFSYxWavom0cS4GXO/Ozei0?= =?us-ascii?Q?FKcm8om+khcuPwCRvz6ORSM8V9q5z35MFniIZumGM9rmh/IpYwTXrAX7KtKd?= =?us-ascii?Q?GF6usAQhaWGhGxVIW6wmFejkHVDUiJnxgsHZhgaeSVFWk9MHe2btcCwG9dLR?= =?us-ascii?Q?G0LW0pqTc3dahVyaS6C4kucE67TH3C7LEZagahC/4VF0R2VDeqttmpjDNVER?= =?us-ascii?Q?GC1QacgXjD8xQkdq8wp8CkE2dXZEldR4+WKeHondaRf3voqtGumTFUf1tXlr?= =?us-ascii?Q?XReOus4jekyLPk9OY+TNaDnS+TGWaQDveTGeipfm8eKlMVDZZuXlrWNsPNEY?= =?us-ascii?Q?lXQCWNch2iaIIPsqVXv21cp/m6npYoQMCQhS8to4/aieaw+r0jc5cPMqKJt6?= =?us-ascii?Q?kPWu+EjBBGvSZQLfKqnbDpPBGR6lQOWuLrMAxaWPl3tsuq+cI0VGwCvSqGh5?= =?us-ascii?Q?dR3i8NCAP9qynnTkXbxFbnTcwRYEH0zJ0qPVYcxJgA4CO9irRm6DzdAkVPDP?= =?us-ascii?Q?4d2iJShy4hKf0pgqGpmw+0tuCLvjcqTiZncbAdvXdzdVJ0VOzgfu1KsmZyAX?= =?us-ascii?Q?a0l8kSPtciamKwmu5wxKbx81SESu2fJw0kUOU9HOhoIhBriSx5DbeO2pVKM6?= =?us-ascii?Q?SvOPJDsOk/NXxtzkA2eBb8K+Bo5UuZ9mFf1VJBnafV93pyBjZbtqbEZkTQbl?= =?us-ascii?Q?uTbt4lF90fVDL5QiNPX1AOFvJjhlRQcCQD87TTrHMgYz57a+w1xiGa6WH903?= =?us-ascii?Q?5oivae8prOlNeCUop87Gp7J/hIrs6f2hvdY/gC9Dt0UfLz9Kc252q5Pw3S2/?= =?us-ascii?Q?1zp+4WvylBSnzGSM6U16Eg/eqWDxufsgrHZNeGq52NimhnnMgjcr46RT049H?= =?us-ascii?Q?p1cCnKq16izXZCkxsmhVzVzMDR3QB93Zcsdj7+JJPDypqfM7n74/l2ABTAj2?= =?us-ascii?Q?g9lnXWK8p8cKtcQJtOPfmJtaEcSwH6c8bB2qwivvpCAnAKGpellP1Ub62jI0?= =?us-ascii?Q?5Cek3HCEabGbXNxsObYpwZQMWahktvFIzjqR9mhs/kf9pzrXMdvXGgf2U3y/?= =?us-ascii?Q?+g9hcp5G4fXQeGuBEJ1DkCieEOK7fofDj0awlYRf1wAfytef+CDq3QXHi/g0?= =?us-ascii?Q?RSIf61dz2YVFsFBfg2vxlGpMABPWYs5UvKH+3bbMm7mGt/QR1k31H4FP93eP?= =?us-ascii?Q?9MKAAzhhOLpEsZfuRLYjnJU7mu4JHhH1ElwS/5cWN47N1v+/XzJjsTNebv5C?= =?us-ascii?Q?zLsT+oiKUOGz/S+jyckjH3GWnuRZ604vpv3t?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:40.4428 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b38d3ed9-836b-4ea4-3dca-08ddbd84cb9b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9479 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if retbleed mitigation is required. Disable SMT if cross-thread protection is desired and STIBP is not available. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index f4b3d879ba38..1e2dab9be7db 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1309,7 +1309,7 @@ early_param("retbleed", retbleed_parse_cmdline); =20 static void __init retbleed_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_RETBLEED) || cpu_mitigations_off()) { + if (!boot_cpu_has_bug(X86_BUG_RETBLEED)) { retbleed_mitigation =3D RETBLEED_MITIGATION_NONE; return; } @@ -1346,6 +1346,11 @@ static void __init retbleed_select_mitigation(void) if (retbleed_mitigation !=3D RETBLEED_MITIGATION_AUTO) return; =20 + if (!should_mitigate_vuln(X86_BUG_RETBLEED)) { + retbleed_mitigation =3D RETBLEED_MITIGATION_NONE; + return; + } + /* Intel mitigation selected in retbleed_update_mitigation() */ if (boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_AMD || boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_HYGON) { @@ -1369,7 +1374,7 @@ static void __init retbleed_select_mitigation(void) =20 static void __init retbleed_update_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_RETBLEED) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_RETBLEED)) return; =20 /* ITS can also enable stuffing */ @@ -1464,7 +1469,7 @@ static void __init retbleed_apply_mitigation(void) } =20 if (mitigate_smt && !boot_cpu_has(X86_FEATURE_STIBP) && - (retbleed_nosmt || cpu_mitigations_auto_nosmt())) + (retbleed_nosmt || smt_mitigations =3D=3D SMT_MITIGATIONS_ON)) cpu_smt_disable(false); } =20 --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2053.outbound.protection.outlook.com [40.107.237.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3344226A1C9 for ; Mon, 7 Jul 2025 18:33:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913227; cv=fail; b=EPhlOe2tK1M4tYx6PDBFRprZQEY/VzLqNy6g8AciNI/AragRvh0ZmOmQzlolluMTGq4riCZ/ydU1jzwk/6qqiGCP/eUBjPdiAZrGDh/SXtveZnqi342yi3OFqkEx5gENAGyrSp242nCexJgxmoPsOHvtD9OH5w1k6PTSD/wXoXU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913227; c=relaxed/simple; bh=rpdJh3HmfZRrUZTn203ZrgeXhgEdhOvCqEDd3736KCg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=oczp2ysdg3IQhXmNEuXns2iDR6NrLGzCdrqTP8yK8NDB/2naxBS7f+zM0jlXs/nPl708Uot7sMrCKvdFwKLd7IcZbU5Lbhy9CF8dGBOQrf1+aEyknTgrMPX73GuOYJrTDdOQJM8WSeV7ZVdvhFqTSW7oCpkknUvGbHl50WSS8sE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=sRdvb8qg; arc=fail smtp.client-ip=40.107.237.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="sRdvb8qg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lJ2zsJ+y1ei4wQ8sJvBL3Iudg9kwb2Y/g2BKAi/W7zv55oa4PQHa7+M/yWrVXSA3SGWtOWv7nkBzrJzn7QQ7XuE7AaLLjx++nEADqqrEXCLo2i6BMGBF++DCJq32IT45axNgSWv8tRuQcvQe5cDhIvvTieLSyIsUtrOYEu43MmwwDMJpu2edCD2HtFsQq6ZP4SNA9m7kR7bQgcodjV/e2+/4kt1fJDDNoRfWK2LmH3cp9CeOgtDKuSWqDwsrkkijv2cEkEHfJhuk2Z/Sil6R0jMN361LfyPvjr2f8i6FbGyLE/o1lucDLfqRDc3EdTwR71Y/sxa1zMYaz0Cttf8W+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=R7ZN3zsoL97r94sAJlZDPegcOk6O434Gf6ffT4yJaZc=; b=xA/equZKhF3kSZBK5XzuzK4hC6+MuRg0J5QpcnBSAo914rvS17PYSo9C0wCqRSIXA9+bdfEx23vaSgCMnF9SBuYWLSdEXxhUFaHGI5zweOUmYTchk/G2CjxwxiD6BYdSx45pM3d5lSa8hboUOzEKImeg0nCX/qaveUyZTszi6UnEhRE3+t4V/PKLzfqTVQLGDGbLvvRM+HDrxGRw3ya3tuxnLp2akPmcUhHAwsjGko8oUbt4vn+vCAIAhOWoOB3xSYG2xiPt1s/TYkd/4kRlEN6nR4zWlFrz8gHFpOM/CZbjx26tTgIKh6uH5K6j99UyAt0GrJfbHhTNsEgZQtMCfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R7ZN3zsoL97r94sAJlZDPegcOk6O434Gf6ffT4yJaZc=; b=sRdvb8qgvOH24TaMZi2cXOzn82NSdZgq8Fv+HRjWLDmB8XVcZMgwS0hNmPCqwI+PfI+2F4xJQZIut/6ebOSz+MH9DPNVDOsz904K9EGOO9GXVNv0DCeJOgAu1mLWOnW1eE163l1AgPBDhCBV7NMruOFRzS1Nnh5kUx6YzJNQm88= Received: from BY5PR16CA0028.namprd16.prod.outlook.com (2603:10b6:a03:1a0::41) by CY1PR12MB9650.namprd12.prod.outlook.com (2603:10b6:930:105::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.24; Mon, 7 Jul 2025 18:33:42 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::e4) by BY5PR16CA0028.outlook.office365.com (2603:10b6:a03:1a0::41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:40 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:36 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 13/21] x86/bugs: Add attack vector controls for spectre_v2_user Date: Mon, 7 Jul 2025 13:33:08 -0500 Message-ID: <20250707183316.1349127-14-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|CY1PR12MB9650:EE_ X-MS-Office365-Filtering-Correlation-Id: c5a81512-27e7-4ecc-8d4e-08ddbd84cbe0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|7416014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?6L4gZq8bWytBESqKSmk2LZpc5wCHqu+uFwpOkXtacPIaLU/yNLgEWaS5TSZn?= =?us-ascii?Q?bRF8guWSgQSB5hv2vPe+MgRbXkB/Qvc3hBw6dSrwYkIBlFjzcmX4zKioD68J?= =?us-ascii?Q?YcQZ5mpD9UY7FtNk+Fwkj+8LwBLhUwrR2ORuc1pPWM9ZV+vP5jC3eMwTjBKF?= =?us-ascii?Q?z+68oM1GRD4ux59FHSw37DlPB5NQtlyHzhHzHavrBV0FF0ctUrcrEj6be3iF?= =?us-ascii?Q?Y/bfBJRcfNtKgDUjWGcpBXFxW2UfaWVIZwzqspsQ/4e3u4uAu4CfERVBIDCq?= =?us-ascii?Q?AUUJvGrgg4TmhtlBknhJn03j63XRJc8DT9SCaREQ3HIxy9m196Gqqi6MLtpN?= =?us-ascii?Q?aRWGQLWqphOcrnpIaFHQ62YwQj81m3+0jpM1abPUzKUX0Gwyl8wyWo+c6iti?= =?us-ascii?Q?uj301iFdhKhJ/8F3kwgvQzqDGxI8LpEWZlQdFl5ZdPjc9B0r3I7gTdhxq54H?= =?us-ascii?Q?5BsMHQAwJdQT26e1TrMDj8camfhM4RFnnvV1DrYMlz3SpTSRLz5iTPDDjZGd?= =?us-ascii?Q?4NW7+uGO/7rFQJDs+sTYwuOfEJH1e9UK82/qxFOUq/fRm/27WTfXagzj0JFj?= =?us-ascii?Q?yE/f2Fz6b5KBkSoxLV/sFeyw3hKJEUsRz5Ywaudi9CDjDW9Fr7mJiLAwwURu?= =?us-ascii?Q?i4FLI4OzjS6InZix4/eZwClG/yQKWbfRyZGM0mcWbyp2DDNvbLPz6eRjs6mq?= =?us-ascii?Q?H963DLbOX4+tlgCI7qMwS4fkR1BXGfJqKLwkJ28O6cDcVVKLlFf8Vf5X9OT5?= =?us-ascii?Q?iL84+b6MZAc8vfh9KsQNILg0EpBZ9Qh3Y3tuqoCmDpnf45E504qmwz2SGTkG?= =?us-ascii?Q?MYp4/LBdfmnSICPfdGWe2tZDQX9Lg+dpRiTYoRh5ASryahn64eTgaFikE3C+?= =?us-ascii?Q?IyFd5vNltJqds53x+CaZApAbtm+6pzflEFd7NvF7d0c1vL6xl0/nW2/tiT7b?= =?us-ascii?Q?0kly0xaG5Im1OfaIetgu/2dQeipmIjQdgtQsxMwUGbzoVU0fXPydglFUDrEn?= =?us-ascii?Q?RuuqQ7riyPmB1AVOL2KEZX1EBG7AYkAJ0iP7SX3NHc3d2FykRwqO4Ij1xiCD?= =?us-ascii?Q?mIPnZuknWdcVYQVmtIguItyaM4zc38QseKHUQzywK5Ei6MuC1y/NmpTSs6Sf?= =?us-ascii?Q?byft75FUGQY6ZwpEJrv2N7Ml5Gy+dXDN8M3yBYjGPAvJg0sibCZAn5+Ku+H4?= =?us-ascii?Q?slaUB+63c3xiCqfhvsqGX4aAQ/DQnSa382EH4EIQIeSpOx3yqv3YyNiHojue?= =?us-ascii?Q?JO7v3COLlkco7lkZQS+mQSRmlwm2X290k5mXjMSR32jY8K+9aG1KF1l311M0?= =?us-ascii?Q?ACee4Cw7+ZjUCSryPpyP6UL5yMnQTcRhOw1UQGnsPAP1FQDNwe21W/PEdmj6?= =?us-ascii?Q?2+zEVsO84Y/vOQrj3F6UG+t4zxlNQqXTrgl9aAjHP7mKcyEq9EzSU/Fj3lrK?= =?us-ascii?Q?uRFERIjfDx3Rgu/NUXQqRSQNxW2wuhO+euBZXaKf2hu+vStJsB31jUIwJPqg?= =?us-ascii?Q?sSNtJSR4pE5AMcybC94JVUytsWCbcjOMvRPw?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:40.8953 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c5a81512-27e7-4ecc-8d4e-08ddbd84cbe0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB9650 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if spectre_v2_user mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 1e2dab9be7db..f331cd70b0b4 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1725,7 +1725,7 @@ static enum spectre_v2_user_cmd __init spectre_v2_par= se_user_cmdline(void) char arg[20]; int ret, i; =20 - if (cpu_mitigations_off() || !IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2)) + if (!IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2)) return SPECTRE_V2_USER_CMD_NONE; =20 ret =3D cmdline_find_option(boot_command_line, "spectre_v2_user", @@ -1763,6 +1763,13 @@ static void __init spectre_v2_user_select_mitigation= (void) spectre_v2_user_stibp =3D SPECTRE_V2_USER_STRICT; break; case SPECTRE_V2_USER_CMD_AUTO: + if (!should_mitigate_vuln(X86_BUG_SPECTRE_V2_USER)) + break; + spectre_v2_user_ibpb =3D SPECTRE_V2_USER_PRCTL; + if (smt_mitigations =3D=3D SMT_MITIGATIONS_OFF) + break; + spectre_v2_user_stibp =3D SPECTRE_V2_USER_PRCTL; + break; case SPECTRE_V2_USER_CMD_PRCTL: spectre_v2_user_ibpb =3D SPECTRE_V2_USER_PRCTL; spectre_v2_user_stibp =3D SPECTRE_V2_USER_PRCTL; --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2076.outbound.protection.outlook.com [40.107.96.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27D6C264616 for ; Mon, 7 Jul 2025 18:33:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.76 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913228; cv=fail; b=KCYdt9sqUts6H2opj0FFja5qtEL26v02hTyGGmO1KlwOuOKFBXLaZHH6rE9vX/RZOZkX85RoTp5l7GFjgES5jKZK8Gy4Zlkuvoh9YXabbuwoYdCKaYHdPZ1ro+q6r0iWaEY/2ULPqxXrwhNi6aQCMKqpsS4f/P337+uFSvO72j8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913228; c=relaxed/simple; bh=mG9YnBF9wBQKlsbr5eIIUHsqI22YsmFSW8sfDm+kuow=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gV2rhF1cZQg1DYRcvaSCPx2KmHoqtE1REo5+7nBe/sq+m42FMm3PTQpnNlVz2Tq01z0VlLhTn8GU7eWztaVa8Yc1eiuHL4V7M6jJyNxwmqU1xpG4XhhTpdPNrCLiCNDPdtTG/kkK6Dy4BeEtr0GbtgqXB6o9SwmYDFIXGuHdjDQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=k3v2wmnU; arc=fail smtp.client-ip=40.107.96.76 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="k3v2wmnU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Vws+4IrZshabqy5+LbMD/H+46ku+GneII6rRlpsavz0xPpbwXxdAneF3P8798vAd8MATk063yfuCawSn1lcu2Ax6I8lYEYTK92zVSzCl11hwvS//TsOfGhXp2gwqvoWdTqsiUjkoSzggq6125/Pw6rp/qP+5IWc7Xo1nhBsVCnCcR/eck+bCM5RT+wiAs/nL/K7jCMzJCx2HhG4PgJdRwqK7IxaWz4xPcL8NpH6Y66ScQTgBaJC6XduqIE3/wv9zKmKMoCVudHYJgKNMonKdvxpbwtGWtCxDw8ca+FMl2rGOWSjQaJiLd27X+rRIK89wozGO+35GyUoZiRiniNnFlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1JQlUFi4lWs/7Glche15I/siff0jyGit3lRFqAg8J0A=; b=M2ua7nuyQeSasSGCpwzvm1mhUMEPkcCD+5am/F3qNF1wdEu9vQsbCaxtvX+tCD9u4jFAqs2hKrO51+rLdtGs4TeZr8EPyx6nkwurV/fFfuCVUaZmovSaQI9VWuk0GIrZiXiq7pHWmVIZVcNIC1cqSA54w2X6d/wPjvCzvdJPwbxVeEn6ov9/2+JhRrfvOUPWmARrfnIGIj66bP6RdLsPB1FlynWGlQhUrOq456wuADG8XnJJnf0+NUYiLOIEFEeoqNvB/r30kwphYIzg47ILYPVHJDkAG3zbcYNADzeYRfAWFMEYjJ2fkiU77EUdkygW7FY/6V+61OzmvcADLchk7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1JQlUFi4lWs/7Glche15I/siff0jyGit3lRFqAg8J0A=; b=k3v2wmnUaFVwgbJUtiIdmMDzVAzIHSy7F3BkmNtrHhgrZuq9IVgF1wlPKl2PTqGqM7A4FrwDg6JThDq4tvXWExs5A3pJ6zo1eDHfR8YLAWwyvXnnhEex6VlVylEbp5oFN3Ux7rT/xDIQNTnwWXyisJyzt6HueCB+LsYn+ALnA3o= Received: from MW4PR04CA0246.namprd04.prod.outlook.com (2603:10b6:303:88::11) by MN0PR12MB5740.namprd12.prod.outlook.com (2603:10b6:208:373::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Mon, 7 Jul 2025 18:33:42 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::f6) by MW4PR04CA0246.outlook.office365.com (2603:10b6:303:88::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.26 via Frontend Transport; Mon, 7 Jul 2025 18:33:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:41 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:37 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 14/21] x86/bugs: Add attack vector controls for BHI Date: Mon, 7 Jul 2025 13:33:09 -0500 Message-ID: <20250707183316.1349127-15-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|MN0PR12MB5740:EE_ X-MS-Office365-Filtering-Correlation-Id: 82e0203d-c88a-43c6-cb89-08ddbd84cc4b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|7416014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cSd9CpLXUOJHxVDqun394cLz2sA3/knd2dQPHN4l+gzQIAi5BHGX0aVOZ+mh?= =?us-ascii?Q?B0ldvN73N1Y2apOgGZ9JmkSBvmJBaNnvyIv0GCkpbRSnemOIY9RdDHPYXZJ8?= =?us-ascii?Q?xVwpmvriOGCXMibpzlD7hQzW/nJgBnDzH1zoChqOEPmcbVxL9ZY6wphyT7Kp?= =?us-ascii?Q?iGAV4FsRbkStHwvx0z+WuSMaBrb8+DA4OivbXZi4331DY9R4xgYvM4bbArj8?= =?us-ascii?Q?lpcvU8ldFYrNbMPW+T4X7G89M7u59oWC90wboIK9pEA52hQ/W7EHIBk0dxtq?= =?us-ascii?Q?mC7Kilrv+r/ssFDHQVp8/wGmkNsX72PkC+zToLg8AWU/OnYdcdA4DHXwWuI3?= =?us-ascii?Q?UU7+XqeMWlfpoztn4pnOQgCpSfGO93VcmABkFpKmC9UjdTrjAk353ozAvcdI?= =?us-ascii?Q?TwfiAobpRGGVHnWTpMKGSrQh128IAgXuLAYe2MAdfQtB5hFsHhJrC6FmXPcu?= =?us-ascii?Q?xLx02RMCFRQ6AMtxP7lMRu/eGnlS26tkKcPM34o1laSTxElzWT7LGt2USdOq?= =?us-ascii?Q?2eWwNlKgCvdYhvUjlIIMlWobWXeRli0HaA/eYQ2Pc8kZMWmeNnuafWEb0vUJ?= =?us-ascii?Q?QUJIzuz6M+39wXoLXi8yAz8bUxN0eQUPLvJr9a/q/z/Rin09Zl3ILOibPA1p?= =?us-ascii?Q?1Rb2wVCD0E5rhy2KdgJeyJa4sQ0Hk2vpKzRRDz1oFQswt/ZySazjcnZgvDen?= =?us-ascii?Q?7QR/oKkm0Nlv1+W7QX+2b/DJB54s0JYWMFW8MvlwJzDCCzaZDqPo53voeS9u?= =?us-ascii?Q?6+V3e8Jiwm5K1PRwaAN6jiU0TILYoAnjn/F5owiwnDtErI4Vo18rzJsTTTqH?= =?us-ascii?Q?RJ+b9FpRhscx5fmnxBIEM6CyGu7RmTKyASu0WWRFac+8tuA2JKZsxeW3aolZ?= =?us-ascii?Q?i0M3MFmHIa5bTOzPJca2j0skOjU9jxGSuII9bnAjCbIXsiGN+IVGf58oWJzj?= =?us-ascii?Q?W/6XEXOoSCe/ev1VqFcsnPjPOwgY92k1zf+6KGnpuAtir8Mv7cMSBM545zzE?= =?us-ascii?Q?0NEht7/1SrtwKFps4V8tqANObYcjBaRdAusAz1jGl3y14xqWQQ/+VOROdPBm?= =?us-ascii?Q?AueKT3wJU9kQ/Ck7kDbl5f09xxGDsvtd8CaTIGjghavNinsU3dSa5l5TVdxK?= =?us-ascii?Q?5/1qJ8Tmh60A4OIe25KqRkN8D/Aht/zF5R4Zttx1UKYGUq6Ulfiz+suOhihU?= =?us-ascii?Q?JxrKQT5MYwMdW2+eutuaq0TsxkPFscVQQnZlcr9awz5dfQ2hECUgw1iK2T6/?= =?us-ascii?Q?Ts20V97IGiItz+B3tCSyMO9usyK+SYsuOcOpBmUgn4nJbG06WwcuceQRm+Cb?= =?us-ascii?Q?PIUYlDRgJFDJDQv2O5oOFQRKcxdPjiSlDkZ1Ds3gWniKmqnK/tk5TqrNUvXA?= =?us-ascii?Q?naPU217umchQ7H9lE0UowFcmhO+XW9pOqi16Mxl6Qki9nxrBCRQ+YHYwhYu1?= =?us-ascii?Q?VMnt2dLkL/lYEm1tIx07CJQArPgbzbLUyJMTbb3iAawNS7itYJ5rMrOvREG9?= =?us-ascii?Q?SkDHyGlcAbLQ2a/pEpCNvQgliQ5Nlqza5o77?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:41.5992 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 82e0203d-c88a-43c6-cb89-08ddbd84cc4b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5740 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if BHI mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index f331cd70b0b4..adc563443c9d 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -2125,11 +2125,20 @@ early_param("spectre_bhi", spectre_bhi_parse_cmdlin= e); =20 static void __init bhi_select_mitigation(void) { - if (!boot_cpu_has(X86_BUG_BHI) || cpu_mitigations_off()) + if (!boot_cpu_has(X86_BUG_BHI)) bhi_mitigation =3D BHI_MITIGATION_OFF; =20 - if (bhi_mitigation =3D=3D BHI_MITIGATION_AUTO) - bhi_mitigation =3D BHI_MITIGATION_ON; + if (bhi_mitigation !=3D BHI_MITIGATION_AUTO) + return; + + if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST)) { + if (cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL)) + bhi_mitigation =3D BHI_MITIGATION_ON; + else + bhi_mitigation =3D BHI_MITIGATION_VMEXIT_ONLY; + } else { + bhi_mitigation =3D BHI_MITIGATION_OFF; + } } =20 static void __init bhi_update_mitigation(void) --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2053.outbound.protection.outlook.com [40.107.94.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F44526462B for ; Mon, 7 Jul 2025 18:33:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913230; cv=fail; b=N1NcfLRRhAvD8KtFQ2fkagtY4DQdY3ZqfImEWiHLLwkMlEgm1Q0T/jJ5nuYvqrvUhYVqSHpUyh0wjRCFvb///6j05PdEjwRwEi/fmVb7rJ8abq5RqymtRsBRjvR0JoMG8QTcED3yEsEIDWft1t39+tfSHwOiKcahlnQ87IQQ2x0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913230; c=relaxed/simple; bh=ZD5FODUyefxO8YfPP0MkUu2ZQWVazEXBVUfztpawULE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=h0wUXG9tmeDWhrkgss5YzLab+1x6kttCRBQWvH+Yf8LRdBfFuue0HAs+n1t9dGHBlbPCLLdarwRRvvE8UPyH5NDXBtuK0R03rsXzl+zFl34UJcQ7q5Swr2CobavJm98rc16YsoZjrdyPO6R4N7om62egnWUH28CsN9vG3Itbn1A= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=PKWg9PCz; arc=fail smtp.client-ip=40.107.94.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="PKWg9PCz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vsRuRsGNKRDTKKn2YON7CYyc/ureM1zDeq85tODMxXf7Ukd+vLaEx6pUIc36vhhglLvjwxMzCbK7YESz2opZO6PviL8pAS01II9amHCbfoEuH93mpNPJZpvb8fymJ2vni35KiuywPci5/bTE7fv7ju+tG3T5kFRneHfXMJ9c2k2cHhDQ3+rWlq3AlJdeK1CbaJjEs77AKvlbQ/owdMplnyB2Q4x3q7Po0dLlqPeswC9YygakzkXgalmhaLO7096u9GGBvDc80qNUqMU+mmWde2vq7QK1KO17k7jgfk05LI+s3a0UCkTRp4+yWaNbY/CETppSZdXopRkJiikgWtyS+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rqcN6HjCtJ+YQdWmucGEJg/ynTu426YpoLGLA/gkjz8=; b=Ty7On7+L4KBdavM9wIdDurLQjeozb4mWpClsnXSOdLukHxozj9Rjvx8vWhO1kbmGaHZnbuN8D4tcJJ1sLe09S5RP1IfJavjB/ru/tFvuUJFakKCQzgcjvAOqsDNKfmYicIIUEeC60Xlc2ggguJoYUv4r88NX+us8D0Y3rNwjz3sSS2HDrMWikLYi7+nzQBYQhEPP/BrRNIevE8iKLFAF0GyoHZAQ95ETXISgGfVg1q56+4CDuKQueCEtJbhf6HkfEGUEdIYCTbRklswaiSSRsUCWlaKiBtsrUtdQB78Aw7+4+DfSMG1hqtkMkMppDMSFZcLqdQS6xRJMh+8svUAwTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rqcN6HjCtJ+YQdWmucGEJg/ynTu426YpoLGLA/gkjz8=; b=PKWg9PCzZXxgMuwiTrQcn3P0uGcaVKQ0AaTVIwD6A/HEWld7x/ww+/pXESHD74DFvYoAXmvgaW/vds2xGOljnFekYHtc8X5rh7s3HHb8I8Kayf2xlum48wOsG6Bs54AEcUeOsaqRVlR7selOmt6rSAm6lkeuJrmnFn55f0Iaz1s= Received: from BY5PR16CA0032.namprd16.prod.outlook.com (2603:10b6:a03:1a0::45) by LV3PR12MB9329.namprd12.prod.outlook.com (2603:10b6:408:21c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Mon, 7 Jul 2025 18:33:43 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::16) by BY5PR16CA0032.outlook.office365.com (2603:10b6:a03:1a0::45) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:42 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:38 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 15/21] x86/bugs: Add attack vector controls for spectre_v2 Date: Mon, 7 Jul 2025 13:33:10 -0500 Message-ID: <20250707183316.1349127-16-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|LV3PR12MB9329:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a92b7c5-c761-449d-edf0-08ddbd84ccc9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sAybhEgX6FuWNWn1/pqMuwqcyxBwtAVWPZYn/Zjo3P/IFWtraprKmrvzOFJk?= =?us-ascii?Q?A1ncjjBpq2DsRGkoIVjMeq38ZZ3pDjWm7sVRkYKgtxGwYBLibhZC3vF+AiKy?= =?us-ascii?Q?8uucWnU949V6YXzRR+m0Kg0EqswX4Ewa++g3WfT9SP7spehJB6FoYjkAxdsr?= =?us-ascii?Q?dsqmoMEX1AicfGrpS0eYAH/1HvkVW7FaHUMWTZRks9EeneSmulSDKDaMMPZa?= =?us-ascii?Q?YZJlltHy0fe8LSE9e7lRv7iu73woP12JjbeZQpOW+WVwIsnsHj8KZ4qlaZj4?= =?us-ascii?Q?u98tYGkZjGS6fPxcJXok+kiHPqqziRNGntYmGlpw894ThgxSLcjrKG8AWZ3u?= =?us-ascii?Q?YTUn9oAwE+qPuTPhOsGdeoPZ2UKMXD8UzngvVX9HA3Wp75Blmc/liNHLLZ22?= =?us-ascii?Q?uWhm6zQMlCwftRMdSLo3oVHh8/ib8slmq1snls4w0lfJOM+1p9Ilsp+ms/AV?= =?us-ascii?Q?4OMRPL/IbugU0dkP/7EqHGJnIHdMGPxTGXmFWVWqAJWukyH7y75xO6a0+5Wc?= =?us-ascii?Q?8+RGR6wHLa+o1lwsqJRjpqs+Bl015FoIAnp7RF/RwCu71WsBOzEwHJwVdyoe?= =?us-ascii?Q?IKUN/xn0uMf+7XL5ay4uk3hOBAk5szWvGNb0GXmZjnICaHUK5tAG3o5/bT3Y?= =?us-ascii?Q?9b3ndqaayPlKx3Ubq1n8mdIMoaFn8UR3P4M3qQypLv1a4V69VQDxvDdfLrgj?= =?us-ascii?Q?DC+zK0B2SPCpJ+i9OFCj02H8NsqhnftXjKQ5HbrKBDYbhfmSRMhHFxUrMale?= =?us-ascii?Q?Z95X5fsasdlJfyQJRP/zXU35Ljqs6P8mnj8SNlKh8UjZEUnVKPGxPuh/5TML?= =?us-ascii?Q?cCG2WGfhs23Y3f9IEMUSlJOn0l61gXVNkGltjEY3W8Z7OEGbU7IK1E+2ekRs?= =?us-ascii?Q?FJ8dKPe7gbEKwDYsOuHwbGWzyAw46IBc4qeWAJ9Z4L8nwo0+nhjf4FsgirpR?= =?us-ascii?Q?V0yDEqlKyxRcMhc09MTAiVvAJzWO4n9CLBnRPAd6fTJx6Yru9nNya0RoGIMn?= =?us-ascii?Q?dkXdC40xJ6lhNs9Op0G+x7Yrxx3/iHL+gu6+Xqq5gj2Q78FPlZW1eN/HD23Z?= =?us-ascii?Q?FvSTuDs09HUl7Zo29ot93XvKY8kza5ksSqVip2qQyR9uwqyTYidrViOtEGjF?= =?us-ascii?Q?5PjkTI+gJ6tmGhrVrcJK7XJY5x0efnFXd46irWZ0xtrZA1CMqzArVGGYw+71?= =?us-ascii?Q?Gc9AonvRn+lpy/6bYNaFTZ7JWlS44DfIYtXI/oY8en2qPqy5GCYsu8d9HGf0?= =?us-ascii?Q?xrRf7t4BFdxzFC1VvL386hMl6vK70LsLP8lpR0Vwf2rAhR43ZD6sEX75wUKO?= =?us-ascii?Q?/auF1kBvSR6iNt6whN2vtEhiJ7Ls8Xj8BLKJF8iXtrPG6h5ogsbcHUrYTMrC?= =?us-ascii?Q?h+cgvWtgxIlm5RLPeKtouGTAJNFZD2yUgPQxzHqt1nXG9L/8ta5jgH/ylxa9?= =?us-ascii?Q?wlwyWzA5bzbyRIbbSYAYIa8F8yp2ldf6Ag2DcOis2dJtHE0XA9yvzcm/BSGb?= =?us-ascii?Q?PmczgBmQVUvxST8cUKnzLO7g5HVaDgn/Q66K?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:42.4192 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a92b7c5-c761-449d-edf0-08ddbd84ccc9 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9329 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if spectre_v2 mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index adc563443c9d..2168e75bc1ac 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1921,8 +1921,7 @@ static enum spectre_v2_mitigation_cmd __init spectre_= v2_parse_cmdline(void) int ret, i; =20 cmd =3D IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2) ? SPECTRE_V2_CMD_AUTO := SPECTRE_V2_CMD_NONE; - if (cmdline_find_option_bool(boot_command_line, "nospectre_v2") || - cpu_mitigations_off()) + if (cmdline_find_option_bool(boot_command_line, "nospectre_v2")) return SPECTRE_V2_CMD_NONE; =20 ret =3D cmdline_find_option(boot_command_line, "spectre_v2", arg, sizeof(= arg)); @@ -2194,8 +2193,11 @@ static void __init spectre_v2_select_mitigation(void) case SPECTRE_V2_CMD_NONE: return; =20 - case SPECTRE_V2_CMD_FORCE: case SPECTRE_V2_CMD_AUTO: + if (!should_mitigate_vuln(X86_BUG_SPECTRE_V2)) + break; + fallthrough; + case SPECTRE_V2_CMD_FORCE: if (boot_cpu_has(X86_FEATURE_IBRS_ENHANCED)) { spectre_v2_enabled =3D SPECTRE_V2_EIBRS; break; @@ -2249,7 +2251,7 @@ static void __init spectre_v2_update_mitigation(void) } } =20 - if (boot_cpu_has_bug(X86_BUG_SPECTRE_V2) && !cpu_mitigations_off()) + if (boot_cpu_has_bug(X86_BUG_SPECTRE_V2)) pr_info("%s\n", spectre_v2_strings[spectre_v2_enabled]); } =20 --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2063.outbound.protection.outlook.com [40.107.243.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A35D26B778 for ; Mon, 7 Jul 2025 18:33:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.63 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913232; cv=fail; b=rEzgPXvn8tSh6tj0Icz55ilR1IVQdb2lh0xNBOHlKLlsH0bziMq0mFAlOI3QlWzT6IoGa7sFHSFMFxSVMG5sJ/YcutIsz5puBiIOguTHyRbl9cLqndGQoAZXDey8npVhQt5K9IxEwWHlgJFu5cUREdOYptscyax3k4cshfwVoW0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913232; c=relaxed/simple; bh=fZJrvn+g7fUak1mVl/21qm81+84cgi9KenqyZ6zwL0I=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HLNzRNWLJBrkxXAqjuvUnX0r/WcY1u7GRCs+Iz45cbNNsAze3Ck1YNkvmoEIgFZoe31aXFzRiCZvTacTL0pZKfkicqw47b2SEPWq1lYmnrAUoncQK95BTR+TqP8lWIUZyVfBTWIgYBtuMyceXPUwu7u6WW1ydf2rtXiNunVlxXw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=EH7JhKUH; arc=fail smtp.client-ip=40.107.243.63 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="EH7JhKUH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hfZX+lAJIVugi0XSyFEIE6Fa/uNMtXku6qIJ2wmSSQh+fNpIIRrJG5DO6z6ZF2NT18nOHMu4Al+TgyH5wYzk35ZEuHC5nwMyD2qKDILt7og91qf/4sPF2d8luuJ2KKoaFgrkYYhiVRd1WHgI+fxaZsQqx/jd60UgHwm6U1jxCyBdVgizXhCn+ZuFaP1evEFtsEt1m6+PpxxrwnfBzRQ+DNylg8VphFkRQQNmJsZRMdH/3XWq7UAuhDwtGlG9osjc9c0t/iv4Sjzk6MONCMCSTlDyQ6jxShUCFwlI1heYfEwZbgDmDBKgbsU2DQSSo16Bx5yK2XYZj5hYRM82/rGQgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=H6MguyxUMnUQJX3gsEj6dtK8QOsvw6mG9cfdX66P04A=; b=AB3FwnwnXK/xOhXlOmaqFK6mMpd0dPSG9D0aU4hy7JPGNJrIFdg8/+Ln7ILYZuE9tnYGUMwj2OssEqWKMoLVQlj6Fh+CFxEhwOGddHJGhpJKR5jcGfOQ7Z+dYsx1+UDVyZgDpqwZYp55hYcyyWVFqGNIHFAHru8xRHiareLanEfrOkeKd/VUqzLOOVK19ZV5m7anny1kF77pF5b8zVTryd/rtt5TWUPWJcJMPhNw95zDy5aBSQkWVmApX3p9zq1tT/ESP20I8uBbmvS7xJ+Qmee1n72595MrHjyMg7uD1uc+M+LYq8jpAuTQEtd+CuYoZkbRQC31i9vzfLsbLhdihQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H6MguyxUMnUQJX3gsEj6dtK8QOsvw6mG9cfdX66P04A=; b=EH7JhKUHWYno8plDhZRhLFjLz3vWrtiFQ63MoIHRZ5BoIsFegeTM0jWHNoJ4LEavHNAPDax8zAfKzdElkzSvLZriXXe2qqqD3bXBr+N3BfLBO4/9Sfgra3zzkruxZ7p+eqrWvSDU9uTQyEqRAscIrC8Pu0qiDIN4lT+SgTZOj/s= Received: from MW4PR04CA0243.namprd04.prod.outlook.com (2603:10b6:303:88::8) by BL4PR12MB9480.namprd12.prod.outlook.com (2603:10b6:208:58d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.25; Mon, 7 Jul 2025 18:33:44 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::c5) by MW4PR04CA0243.outlook.office365.com (2603:10b6:303:88::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.26 via Frontend Transport; Mon, 7 Jul 2025 18:33:43 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:43 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:38 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 16/21] x86/bugs: Add attack vector controls for L1TF Date: Mon, 7 Jul 2025 13:33:11 -0500 Message-ID: <20250707183316.1349127-17-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|BL4PR12MB9480:EE_ X-MS-Office365-Filtering-Correlation-Id: 35b0c590-3276-43d3-61d2-08ddbd84cd8b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Yh5dni87MkBjBqAvNZpOrLTwiUiwCv+oQgCCa8C9hG9YaPMEkiGnGKYpl3JS?= =?us-ascii?Q?M6fNVbCdCX7wUdSgtFVGVu1ScTv4dBZiyf+PbNFU83Dwd3ECghOfTN8qs0ch?= =?us-ascii?Q?PTonUV87tngUJ9t5SF7cz3sz+bnZ0whxvVaHSe9Fiw8OmGE0rHxPBT6/cg9O?= =?us-ascii?Q?INZBwkbmtkuc3Rwq8eWQ7917m/voZXhJQaF1ygQB3NW+bbJxC8s/cYPOj8mh?= =?us-ascii?Q?VPr9S14sanbG+fgyetc36fPUNR1FvRLlqEX/Fzwx10MgJnG+8fi13VtGBJkH?= =?us-ascii?Q?A5o+5L8+l1Y6XBjhSmt6Sh3K9xl/9D7yOAMkVK2rS4tWtnmQd9ujIr0BQabi?= =?us-ascii?Q?0nmemHD2VFAFIdEdXhiS/f9SxQU/+WIhoTJ/VMFqdHLcxk5Gc2e8q+lxpZDv?= =?us-ascii?Q?GM1T11y23Z5iyvF+K0OYYLes21k2Qo/HsrnI30M7N9w3VhPAo5fgeGrAmMSx?= =?us-ascii?Q?T0YexwVqevXP2gy06URo2XX/MYakqfJNYtcNjmYrvZEN1VcVjpNAzBfiyibe?= =?us-ascii?Q?9PRSt9Sl89ptOhIA1Tf9ZXGj9zQgbE3ZcA7TvVHOajNzKutuUnmsLRNfAoI1?= =?us-ascii?Q?sEUD0JD2HcM0jsWHzFcWzEAlKJ6A/lBVuRTEAXOz2ZCYJKGBvrKOi0xfpBp2?= =?us-ascii?Q?wKMF86ziTVVXCmm1ykpmafLLqNHJUnw9LtU75KfiP9T6uNPHk4Jddw0Pqjb5?= =?us-ascii?Q?3jmIWna4FDCL6o+YrltubEfXa2BczxKJxAVhOKPoPdM7N4U7jVOEqVWfTsfx?= =?us-ascii?Q?Gh77EkvPwo/ronBykz4i/D5o2fFt9KyvjPd3LulpWo2KEFGshdPwJwc4b3Pv?= =?us-ascii?Q?2tyNeqUz+o0lRZ/Wjyn7vjkL2svQGSKGFajAvCZZmiwPZ4qU1kZ6ObO0G+ga?= =?us-ascii?Q?Ei3/XyPULFSgGOzzMHmOmNINypaORMU3aN7McKzbwl27PXcUYaLfntElpu6/?= =?us-ascii?Q?o+E+BxMJqtjS/UdozTN1Mr8nu3HH8q0vsC1h7lIKUontpzppvifCAamIrw+1?= =?us-ascii?Q?CYcnEgZvT9aGqGYY/Pi3ztwrYrG+zgDPJ86WRViTKWan+HTQhAW3EIWdfAx0?= =?us-ascii?Q?NVGVnTCxKtxxMPQ50lODrWr31DMKOnfbu1WMkl5/E78R9AEiTTO5/kFlzJPd?= =?us-ascii?Q?SeWNnCRyThidq0gI0Z8vk+evUFwfRGAjwyMhBdjEHgl3WNmg7AzefD+59PL6?= =?us-ascii?Q?GElX8awn6SvklchtT5ETLtPAGSWoUat78rb9cBUSTX/5Kzj6Tx2W11dygEOh?= =?us-ascii?Q?pFxDqtME5Ixy2KIMz6rB7/br8I+PO2lJahK5RsK5FhC0T3K0K47GJolEHCRC?= =?us-ascii?Q?TCFc3r8qqf9Yg3Expky4uVZT5GcGzvCKrBsTB9ZB4XfjznYJJlppuZ8ejBLG?= =?us-ascii?Q?eFpyQ2Aa+Ho+9q4P7n/pQw3mejdp0rYAUToDlljdun/3Ntr7hcVfxH0I2Do8?= =?us-ascii?Q?tytsfjQNycsQ/grignkoFvy+yhaHSnD9hD4JE+YHlpJsdVIVfsAYkgwvX3UH?= =?us-ascii?Q?UiEzSytHP0KsjRVlAoFxhI2bQOKHN6HB39tu?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:43.6929 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35b0c590-3276-43d3-61d2-08ddbd84cd8b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9480 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if L1TF mitigation is required. Disable SMT if cross-thread protection is desired. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 2168e75bc1ac..ecfd7d728ac5 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -2884,17 +2884,23 @@ static void override_cache_bits(struct cpuinfo_x86 = *c) =20 static void __init l1tf_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_L1TF) || cpu_mitigations_off()) { + if (!boot_cpu_has_bug(X86_BUG_L1TF)) { l1tf_mitigation =3D L1TF_MITIGATION_OFF; return; } =20 - if (l1tf_mitigation =3D=3D L1TF_MITIGATION_AUTO) { - if (cpu_mitigations_auto_nosmt()) - l1tf_mitigation =3D L1TF_MITIGATION_FLUSH_NOSMT; - else - l1tf_mitigation =3D L1TF_MITIGATION_FLUSH; + if (l1tf_mitigation !=3D L1TF_MITIGATION_AUTO) + return; + + if (!should_mitigate_vuln(X86_BUG_L1TF)) { + l1tf_mitigation =3D L1TF_MITIGATION_OFF; + return; } + + if (smt_mitigations =3D=3D SMT_MITIGATIONS_ON) + l1tf_mitigation =3D L1TF_MITIGATION_FLUSH_NOSMT; + else + l1tf_mitigation =3D L1TF_MITIGATION_FLUSH; } =20 static void __init l1tf_apply_mitigation(void) --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2047.outbound.protection.outlook.com [40.107.92.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C86EF26B2BE for ; Mon, 7 Jul 2025 18:33:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913229; cv=fail; b=pvGclyoRQcBAqusTgudzU17+GGExBvl9KPDXDyru3gp7gIx4/OsffxxBU+46hqo9tmrnykCZVdwMQeCraSU26LSxHhm7EkAeyGbGKVyhJTwJxt9ODT6yqTUVGz2ZfIfN5EeT6W84riQZJO6ng/3asOaDECAC62nJD4Pwyr91ARk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913229; c=relaxed/simple; bh=qA/O+SEyqTU3uZiSvZ/nV2fCKX1gY5CV6Gz/+ayxy0U=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fU4fpvbb29uKvtnJLbyDxzBDyO5jhwyvfIEUMnq7C1MDUPh2vc5HP8KVBElFMb+Arvp0F3Fzi3EKuESpJMVcurnBb4/WlNDvD73g+ZBMggQk+Y3V6LLEoCnt7cfw28sb142G4JqOhvYDCYsUSXAXMs1XSxvMk7saPCUl9Ljod9o= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=p1Jn52xe; arc=fail smtp.client-ip=40.107.92.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="p1Jn52xe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EKHNH8vKezwvafT7d6vQPR+wAb4RfLuRSPxUYMOPrRTYdcq9qaMCSyGH9a8nS//a0KlhFClDkQDs1UYkYRk+/QoZgu18GK3Z2Evn3kvXla2TAzGwn0XPqGMjptgkWeSN+NoL6CRozzwdy2kndLXqGLSD7JmatbYDw7cIzHopp/u0eXgWfZSRGHVzmf34S1uydkMEiNgVAKYqnhqvzvaOd+BPUAcMxVsrTe4zCukcd3xaaYrAoXrUZ6KJeGgPvhGn5eI5UHlU9/neXXzrnHriHVhZ/+bmOiZJ5hWGldxCx3pocctPsjJ7S8NVYSws7E+wj8CMfp51+h/jUjlFRJLcGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ya0SwZG/OwM+u4A6if5pHJd43eCTzD7yYugGz8cLw3w=; b=D8hNE/7uBMwpqm2OowPhY1KRxT789CnzdUrHIuN+tiextFr4USfBw+9Ulu5sxS7MWMiGiWrjY6SqoQFkTc7EU9euRNMZV8ENmHtId3TVuZlF25l9u1+fUtki3IFl/B6c1zSlwtTd1zEPCD0+LsSz/RkI+gXzssi7InuixpTCBMGFGBPTjzFrZP6sA+YPMnehvXXLDEb+MU9fqsZj+Q2qPMLOu31uqmLxMBbAgxGf/g/35yKGfnV2L1Wzuw0EwazZAW98WP4aHVDIqMmesz3FG7tiOA5hvxQeKrUIA4nub4QMlLtlVXvl/+1v4nYM/uyiXSeiBJlzUh6X6HM4neVnoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ya0SwZG/OwM+u4A6if5pHJd43eCTzD7yYugGz8cLw3w=; b=p1Jn52xehrHKT6Ka3cU4cN0O++LvCr+rc9X2rVLcraoIlDC09xZHD27bhGlmgY2Dgx9ezL4mWDh4gef/qn62T1RRps6zOlsCYPocb3fGMkgiidgIjFnWfJhK/qnxnKOq2qy8EPN9P4jcdQFwX8RoIvj6eFwC9rLRJOCGY5OBvSA= Received: from BY5PR16CA0025.namprd16.prod.outlook.com (2603:10b6:a03:1a0::38) by SJ0PR12MB6733.namprd12.prod.outlook.com (2603:10b6:a03:477::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Mon, 7 Jul 2025 18:33:44 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::b0) by BY5PR16CA0025.outlook.office365.com (2603:10b6:a03:1a0::38) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:43 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:39 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 17/21] x86/bugs: Add attack vector controls for SRSO Date: Mon, 7 Jul 2025 13:33:12 -0500 Message-ID: <20250707183316.1349127-18-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|SJ0PR12MB6733:EE_ X-MS-Office365-Filtering-Correlation-Id: b2ebacea-3fa6-4528-54bd-08ddbd84cdb1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?H+ibLuQMK1FZeeZm/OoPnQZtzTCRaP3Of+cstswp2HC7Gx1ljdAUr8V0YW61?= =?us-ascii?Q?w3iWHcCVRbsb1hhM/n2S2RfIXcvrYLK4nDeSOtkhCzEgkpb6gnj2/TEtRVQD?= =?us-ascii?Q?Ist72Is1kftPybC4jOvil7gtpNdqE5OXewON+eXOYhNyvR4tq3SSRUHsZMR3?= =?us-ascii?Q?lI0VDEw7EYw+O0BWELFCYDKYt3TifHk8S89AxBobu1NiyAkmZ4+6Wtmz6Cgi?= =?us-ascii?Q?zG9hIgRQhO7lv47hMroZR/mCbM+67je8P0KJ4XTPya51zM9FEX863cBXmm0k?= =?us-ascii?Q?X2MnhhU7/RewJn35vMhwoDFJcwPJgHZ9eY6jdIPQHlIrciKAJ950JlfnlP2Y?= =?us-ascii?Q?iRiuFdxTsks34yfRj7IkRed7k6iX1Xec+bCzEasVajK42/3fMpJ7/WFS7Bss?= =?us-ascii?Q?v4bcy0PBKAqcHV4CU4YEzocJ4kf0/SWTwrlf7zjk9zO67Wq3H6ejUeAbTKew?= =?us-ascii?Q?IzXa3Yj3jNw4oT8e4GW3kFpUADyK3GW6v4jDaC1EokRekQ/zEVMa151BDsnu?= =?us-ascii?Q?CfqUDd74mLhebX448ffafdDkl7gVx/qzZOhXfnAlIqt/CuUtkLnCYf7yviPC?= =?us-ascii?Q?zRMsVMSVasmxMhQVxO+eqvBRIVGkJYoT5Fz3gDSKCA7WqNrGYuOpnV1fFCcJ?= =?us-ascii?Q?wtfth9XA0Q3jysuliAyjLEy5dOmtbtjpJ0jXN6wCo156rzuNPk0o90Aa3iDD?= =?us-ascii?Q?DU87RZejLYdKqLJpPjevPuK0sbTEeaJIkxyHiJqtwltwVDSnqXAzxnUTHKdy?= =?us-ascii?Q?rmjcpBi1ZDJmojbsBAFOYhPGigiGeHg5MGeJPb7OddePk+E9AQnfdleGCFGD?= =?us-ascii?Q?B5bNfJ/AggMZ36slH6gPsCBNm+B0avfHGeH2v/PzSaeMbaJ6X7zbYyWCOKZC?= =?us-ascii?Q?pwBQNTcFzNuP0fVThEGooDTBjXlVSFKFC1SF78rauOhyIjsuNP8HUcJC7m6+?= =?us-ascii?Q?IbZ+TmzmrOo0BFRM075J4UYKZcVCvaCl2KgYZnXFok/wcbhLobzuN7hxyMrh?= =?us-ascii?Q?pSgifnwn7W3KjH/GVTUVkFoya1tVpu8tk3NFHZT3MBM3Mi1aPFx1fsOOJhLB?= =?us-ascii?Q?UTQn++Dg093b5kWFyLMC7ORZTQq5NyUST/xeci6ulpLv458avvIJOatOCQeA?= =?us-ascii?Q?yjFpmEVRj1f4q1IwTyNq63XXj+Z+3ABckkayzTM/ZeZAJTp9SCJch8+zvaLK?= =?us-ascii?Q?E6Q3Rd3PCgi7tbeaVyu+nns8XvjJEpTZOLC/+tDjQNvH8hB6Qwwj29cKkbwn?= =?us-ascii?Q?HyMcUEhf4YTCxKowER3j2Xmhgjl0SrVftIl0TkBNDrJcZndUI7NpLuaaHcPG?= =?us-ascii?Q?Q2Vtam5PpWm7nl57qsEBURNMr97QBa1woHIFapNx2w4EeUdXCMxgOH2kRygx?= =?us-ascii?Q?bmzJG2DJrX6r2FkFr6WSi99JXN91FlkwjTLinMs4UTMNQ4JDXrcueXtoVt5R?= =?us-ascii?Q?z47rrx1DOsNocSeupWszWZGseaNx0yKOKQTCCfiXDIteQWc7IlISZ+izRPvE?= =?us-ascii?Q?81SyURAvaF8gjj6UL8yfeLU4mhJxpJxh8aVI?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:43.9405 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b2ebacea-3fa6-4528-54bd-08ddbd84cdb1 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6733 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if SRSO mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index ecfd7d728ac5..c0e23e625b6f 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -3012,14 +3012,19 @@ early_param("spec_rstack_overflow", srso_parse_cmdl= ine); =20 static void __init srso_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_SRSO) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_SRSO)) { srso_mitigation =3D SRSO_MITIGATION_NONE; - - if (srso_mitigation =3D=3D SRSO_MITIGATION_NONE) return; + } =20 - if (srso_mitigation =3D=3D SRSO_MITIGATION_AUTO) - srso_mitigation =3D SRSO_MITIGATION_SAFE_RET; + if (srso_mitigation =3D=3D SRSO_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_SRSO)) { + srso_mitigation =3D SRSO_MITIGATION_SAFE_RET; + } else { + srso_mitigation =3D SRSO_MITIGATION_NONE; + return; + } + } =20 /* Zen1/2 with SMT off aren't vulnerable to SRSO. */ if (boot_cpu_data.x86 < 0x19 && !cpu_smt_possible()) { --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2079.outbound.protection.outlook.com [40.107.102.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3048426B776 for ; Mon, 7 Jul 2025 18:33:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.79 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913231; cv=fail; b=nYFYKmJc9L4ZaVb8MKWNLaX7HsK7jODvtEeANTBQlBkJ7ScQrm/d//Fx9YL5Dx6cX+J8XRHV9PKucc0t6tJ9POTFLFMRD45HHKwP0g0JianxWX69EjuyrOqhd/3Y4WSx+jNU06Nm8uEctuOkeRJkcuUMdc15/xcTeAQ4k5lw0qk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913231; c=relaxed/simple; bh=OAeQGfJRSc/yfGqnDEGQJh+MhE0gcNuFnYpN0tJFp+s=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=dKPzH/zqSFfinNvnPLOUqPmNECT6DSyZXkmWSNNPnGU+qWICJcYWWsB46mUTQIAB37WSyHa/Nv9Isc8Z+HPPJX/pm/vikWlN1aXHCTY54A6C1KGXvCVQet21S8gr1j0NBRj1IiSAhDDXtGYk/lygDkO3waTbYtntmmlTVQPD8UA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=I+WgsI46; arc=fail smtp.client-ip=40.107.102.79 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="I+WgsI46" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OJyvqH4TtT9gltpL3epDEqCnRvfo+ZFKKJDuhIHgEFCm3fjQTm6a3FKCh5SuLfByZ1eMbMVRRcETe9LPW3LpHg08iSgqPH2WxGyC/RalGik315Q2MN2BkpF0vyQvneiDq29MkPZ92XZuG7/v2tbU7B0RqqIHFlauL3nnEbcQGBbYuDnCCgdEWVx3xhifxwXKYclz5c5/M8YD0MnAakyzGygTBsdREXaBeB3aaRCFxd+5Gn+grLnRC3tpTvucCXVVIDVAhHMtb1/PQe5WF02aQjt7pJihS4Z5WMr1G+NE0VuujUtMSv7gwSGvYuEQQZUQhwM2C+cFHbSMW6VtIyPjPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=02U2US11ebDKiFo+FtxmjCB82RnST0ycZW2jDhKQDlw=; b=ndHeCpnFrxXkpaEFHu2GOfeJYb50jQPfgFdr9tzMYUxYsnB4FhV9X3UVi4aU50JYP2nA9sLPlbFUWbGlHLm2hGR+xZ4ly/dHV9k8Je9E9GP970TM4BybL/grkeQJ3PqUCnYMdlAzlePLW6JPqjDGWi0VuZIjAhnrR+U86XAzL0CfQ5AwdH/LnGMwozldCtvehC13eI76fL37smnOZdKEiaGIWIxP9VR8aJpvmwXSmlRPJU9padlXbthST1P15iK/qtxEpV91tM4yytcG6CLKRAVO2fAnMxVB5Rg7LSXfAuIyRvlcAfG4Fs3gNnawfMXVGb7ML2ZDYcs7klNdK7sFow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=02U2US11ebDKiFo+FtxmjCB82RnST0ycZW2jDhKQDlw=; b=I+WgsI46IW3JeWvqB4RI+AEu9jCqU9qXOSrQGV+39XAhRJ0ccIh6FoYYhvhHezwq9R1PK1cPgqy3lPY07j+UT7OtiSr4BWTZ/bWQ0VdPSUVK+6slgc6fg1U2JMfrdNt5+scbxDedbL5/hp3zFFV37wEv1PRuVT99B9UiQzkqlAI= Received: from BY5PR16CA0005.namprd16.prod.outlook.com (2603:10b6:a03:1a0::18) by BL3PR12MB6570.namprd12.prod.outlook.com (2603:10b6:208:38d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.25; Mon, 7 Jul 2025 18:33:45 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::bd) by BY5PR16CA0005.outlook.office365.com (2603:10b6:a03:1a0::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:44 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:40 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 18/21] x86/bugs: Add attack vector controls for ITS Date: Mon, 7 Jul 2025 13:33:13 -0500 Message-ID: <20250707183316.1349127-19-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|BL3PR12MB6570:EE_ X-MS-Office365-Filtering-Correlation-Id: bac2e397-d36d-4171-3568-08ddbd84ce14 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|1800799024|7416014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?8zSxi4rv9qkxvr/rtMAitMMUV7TmnhZCf+8cEoIuUd+L7vvAzKJo319UqzQ+?= =?us-ascii?Q?1GDMyY34Auf8Ss+214m+dVl82xYIDb5FCOldr9W/lxTlbQNuVVqOgRpgj+gr?= =?us-ascii?Q?kuwbZoZg5F72w3l6/knDSY9xj0b1T+k8ce55wD/jNqsBeWhtW0UANSjSooij?= =?us-ascii?Q?yxkAkWn1x5GFrzCR886CHTH11ovUGl97eKZ8ws9R5RospqNzTO+qNxG/D6O6?= =?us-ascii?Q?25WrdxEsAtGMtbR8JmzzB+iPniqt4ixx+erxL4Hof12lDpBzGzItiBuasG96?= =?us-ascii?Q?7E8W9KEEXGUCtZsi24yS/We2ph2LKhpogK/Pk9nesGRRefbQAirwdFnHFQrj?= =?us-ascii?Q?R6RhZehN9sGZMUh+elU6t+R2kBr5nvqx3FTnp1LQ+L0uLt0dyY7V2LpTaO5n?= =?us-ascii?Q?bCtV1cX+iAO/HR7ZRi2OjaGiqZv54W2/PLhDScg/mm/Ls2uRNFdwQfCnBJzu?= =?us-ascii?Q?afbwtNoUY17pJLnLbI5azOHz8iTBfYER2rlYuYllzCHjhc16PG2MxHsWOZl/?= =?us-ascii?Q?4pQgKvMMjbXf7UElSwQs/DB1yBT9UL1qwZ2qoHDQCtk+fbR17VxFMji6Q2wU?= =?us-ascii?Q?upXRPvS8hAdzHglZBlbKWlJaHt0aShMdDNHH5QOH/UFm1ZVnUGiX8RmHg9Qz?= =?us-ascii?Q?BB3h0n8PiypQLKXVqYwlXVQe1EdjRIwCokyFJ+KnnbG/NX58b5NhC7PEDyXA?= =?us-ascii?Q?Y5rWjcL2q+r37n2SViwG8kuXx4h4SJxeZzryls2yjv99lH3wslz28ptZ2VRx?= =?us-ascii?Q?ypVrMxFfhw1vI/4thO7GF0mCMlFRnpOpisMuV/nhTzWfCc43cBCB7nykxCYG?= =?us-ascii?Q?IinoUYqLRyifSiTRNpMqk+h40GBs6ZHf5Zf7HwTrJDpMfJrVQ/8Py+7bGwam?= =?us-ascii?Q?FV6o7l7+eB88w/k3tlXSN2vAwsPoFb1jvJr16/gJiPd6lkbtW//GXtVlq6jw?= =?us-ascii?Q?D8TDFFoN1SrsKIMp0FHVt9zZlHW+AhzPCus1uGTkdwrc+TGX4PdrdqG/XwLH?= =?us-ascii?Q?KoerjO5DEfNJVC2XvE6Rmu0F8FW6lWSwRnLRzDaJWuy3jI0ia6NXYH5+k7Kr?= =?us-ascii?Q?mc/uLERUAf+G4Nldyux7o21ELPipFh67VLsNxzdPLlxndgC8v80O+0VGXefb?= =?us-ascii?Q?sNHHi4DSILqpdU8DkEajqT+B3KGSELtRqjVWaim5n7R3eI5n77yDjAG6+FnP?= =?us-ascii?Q?nm9Uu5YCeUMpMMPrtNAbOxDzbOHKthyjJkuX53amVVRqJBXy/5Vk5MAht3Ok?= =?us-ascii?Q?nJGTW2ZJ5apQkuhNqqv6JZYG1MRF40s4FA/GUGKKe4xAKXproWbalhybZsIr?= =?us-ascii?Q?a0w4FluEieLVVt2TZzun3SNFXUCg5JToF5hqMtIJAOa5m+DZZl3IkWjm0KLG?= =?us-ascii?Q?3r9ir+a032vEgf1UYg2t0Ozn1QlA+8+0jOVo56lgZlMw0bhwWANM1KZIW+pa?= =?us-ascii?Q?AdODIcrBioph51FLfFZt/4BrlyBO/P4C91FYZKrbkKgNzrCb8jSmmbFfVKg+?= =?us-ascii?Q?KmzQvQHCrXvELcxpD0ZbgqYA9/aySwG7v99R?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:44.5892 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bac2e397-d36d-4171-3568-08ddbd84ce14 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6570 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine if ITS mitigation is required. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index c0e23e625b6f..7972c9b16e8a 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1514,13 +1514,17 @@ early_param("indirect_target_selection", its_parse_= cmdline); =20 static void __init its_select_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_ITS) || cpu_mitigations_off()) { + if (!boot_cpu_has_bug(X86_BUG_ITS)) { its_mitigation =3D ITS_MITIGATION_OFF; return; } =20 - if (its_mitigation =3D=3D ITS_MITIGATION_AUTO) - its_mitigation =3D ITS_MITIGATION_ALIGNED_THUNKS; + if (its_mitigation =3D=3D ITS_MITIGATION_AUTO) { + if (should_mitigate_vuln(X86_BUG_ITS)) + its_mitigation =3D ITS_MITIGATION_ALIGNED_THUNKS; + else + its_mitigation =3D ITS_MITIGATION_OFF; + } =20 if (its_mitigation =3D=3D ITS_MITIGATION_OFF) return; @@ -1551,12 +1555,13 @@ static void __init its_select_mitigation(void) =20 static void __init its_update_mitigation(void) { - if (!boot_cpu_has_bug(X86_BUG_ITS) || cpu_mitigations_off()) + if (!boot_cpu_has_bug(X86_BUG_ITS)) return; =20 switch (spectre_v2_enabled) { case SPECTRE_V2_NONE: - pr_err("WARNING: Spectre-v2 mitigation is off, disabling ITS\n"); + if (its_mitigation !=3D ITS_MITIGATION_OFF) + pr_err("WARNING: Spectre-v2 mitigation is off, disabling ITS\n"); its_mitigation =3D ITS_MITIGATION_OFF; break; case SPECTRE_V2_RETPOLINE: --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2086.outbound.protection.outlook.com [40.107.92.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04C37187346 for ; Wed, 9 Jul 2025 15:58:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752076741; cv=fail; b=sYjqC5Kv8VAQHuS2rm9HlxplDc9Zj5NJH9weK59QVuzp0DZF4pIPVtStwzIEZS3R9uDnEYoQ0yKGpwQu3Xtm4+h0YIfiElYKGXGXR0SnYPohK7gpuLs6P7vFhEoXHeeUd7gDnBbEy78NkzuHM/vUMsXVtEPLN0ux4ubsGFqQDjg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752076741; c=relaxed/simple; bh=P3GRBv3TvNC4WU/ZSTT3xcb1UoLq7qRxvju4mXRWXmE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nrt0hs44yvgK8ffFq4CqzeZ5hjIGMaYPnc1SXTmwTlh6pjzhrOv/amOCfjYATXCLFH0s+haCrjIi/d8ju6+YP08PfAqImtwZ7NripPulhgZfuDyx2KEqrGAiCkQM4pBoJ/gqsnp2ojF1t4ikGGA6MGZVG7dh3/EaQDEWAdacgWE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=CHPmSxfj; arc=fail smtp.client-ip=40.107.92.86 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="CHPmSxfj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fjqDnu9ya5tiGUTrvxqaHEUAyTZ+N8sNIBk8Y0hRxX6rlW+jCDkqVbG7GEDrRg2qLMxJXL6dGXZk4K5Yy+v7oYI1NA9ZanpIGT5tBTsbUglc5NYV9ztL+xAfLzOQfAj2NhkpoWxA0jeoe82Up0anr8DEHTP6h//x39OYDIFo77MaEAd8Sl0XboSdRjv9WeuiFddBWSTM7YvDtgI8E5bcNl2Zy3Jelc13jMpX3OHRUAXe1iotSUN1CXbHfJk0mnr+d7Nicyq7HiYBmdguITBVaudFSB87P9e/5qoUsN/4S1G3Nve79s0UGWjTkkRP8PoEUEUtxVSyfp663epZi2dP+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uoSZFhiwauj3Q3o4wlbZuLF53i9pPeJ3ULXGx/8sOdE=; b=oyCBrhTORlxy2583ra7P+Bujc0ii5ofDocfRgq5y+v9CRrvhGRAWpYewfMxj/iYWUeEDuXaeE92oUKuz3YoFtrj7xN3B5h5T9QUfKN7xq1X3S3Hnfh3F/oh1J40ckwgN56c73qFie5wxn78K1jFydK7JEEYBQHU8Kt9rUEK1nkiso6q3d0i0gyK694M6wWm3AiQq4WHB13hPOxU0DrVxb5TAkjHLKlOCWNJQKja28HtS4XOqLqNcwo8EO0FD1mMS4GXQhFWQp9JG8SZcuUq1ApdbzYG7UKvLIsve/da//eAkAHng8FR0npp5ge3/jQyIkKPzfpFL97ezP27Igj4ZcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uoSZFhiwauj3Q3o4wlbZuLF53i9pPeJ3ULXGx/8sOdE=; b=CHPmSxfjE2FouNFmn/HvPkLzjcWBhExPtczO3d+HWoVLK5nCd4mfyVVAVg1IZz/wK6jZ+qBHhucM+Awzc62Qbx9iQKQl9OaMwHPo82ACFrfjR+GAz01O8b792V19opObeXJKyvPq0jiPJbikWR4Zg8Ui5rdW7C1HoWHMNPPZOpc= Received: from MW4PR04CA0071.namprd04.prod.outlook.com (2603:10b6:303:6b::16) by CH0PR12MB8529.namprd12.prod.outlook.com (2603:10b6:610:18d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.28; Wed, 9 Jul 2025 15:58:55 +0000 Received: from SJ5PEPF000001F1.namprd05.prod.outlook.com (2603:10b6:303:6b:cafe::fa) by MW4PR04CA0071.outlook.office365.com (2603:10b6:303:6b::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Wed, 9 Jul 2025 15:58:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ5PEPF000001F1.mail.protection.outlook.com (10.167.242.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8922.22 via Frontend Transport; Wed, 9 Jul 2025 15:58:54 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 9 Jul 2025 10:58:53 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v7 19/22] x86/bugs: Add attack vector controls for TSA Date: Wed, 9 Jul 2025 10:58:44 -0500 Message-ID: <20250709155844.3279471-1-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F1:EE_|CH0PR12MB8529:EE_ X-MS-Office365-Filtering-Correlation-Id: 672bb07e-5144-4a4a-f742-08ddbf0181a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|7416014|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4nvWdyj+rMSTGlfqtIxGDmLJvWTPA3HiiDnXbZp1iwmo2thWdL6sd9AutGqq?= =?us-ascii?Q?YH26fV09B3RTrFJntyZaFBqKYXVujzWFLFMDxvyl0NCGA8euNt+6ZZC3/P1m?= =?us-ascii?Q?oI2yqoI/1kLJ34lXGmmDxTNCg+pI1IJtu2i5vD62KEa9cy8pILgcNDacWVie?= =?us-ascii?Q?7QutQ6iC36eEEifdEyBLGCXy8f84Z2AuMUxJH7Fc1HszzdO4ROHGbFUDQMZn?= =?us-ascii?Q?xjbS9PEZCSg9LYVcYYQoM5aEcOkE03xQHqunELpUs/0Rkx35CC1HCASfUFy0?= =?us-ascii?Q?lRyh3xfJ+rETZ3GX8Bk6NSbUa8vH0BLcmIDGoW03OY+t8+TAoK4LUjKvFsGO?= =?us-ascii?Q?UveIZ/mdv/+6AtpuczwCqgWALZr/TY7HxIybdMmcGTEkKyRopB0GIg9+a28J?= =?us-ascii?Q?SoBHLU+PFr+Fx4lSw4lLXzr0LvMmMRZm0xDa7HajMzotjDh9FVJL/Z40Dm6l?= =?us-ascii?Q?0x+KQ1OS52pioAPkVW8jF1ZiwjJKjmMfJY6iWphxFUYbcRhb5W+PruFKNCmv?= =?us-ascii?Q?iadJLT+TKfC6o9+WOmE31SZE20Sk/9baS/Xlqt/QGMPI0yiZyHP1lUSPLeay?= =?us-ascii?Q?ng3WNlBAhgCfa9WYqwRilfpugVpO462llbzuOEtabGFqfnCfhtizyQcuTnc2?= =?us-ascii?Q?Lteuv9NiwHR+mzetHXi1Vk2ldsX8H83S03QwFa5QwHAHMAURqbRxSzREWL2R?= =?us-ascii?Q?tku7L5NykQoht/VZ0q8hSxlHgJyWJkkj406o3V+GdIik0ahsASRXBkHJ5XfU?= =?us-ascii?Q?rgI+I6FvQMqsvfwWLjJARAHrHytuawcV7qlRCGbWAnUhF8hb2RDZzHTWN8Iv?= =?us-ascii?Q?PO/PWm7a5Z2zns6AlU1bIswPeOuWdrMyFdPC0du5ezE0CnrpAL1400kJfwWo?= =?us-ascii?Q?jbwSRGxOYL7Gssvz39Ura9aQn8J/swXp123rnYehzpwCzeOqkgmsQMrYUSWs?= =?us-ascii?Q?pyt2Y49uqM2n6B2OvGX+Pk1TYhno8fcFmpMYh8NS6BHHEQH7zi8pZny2DZcb?= =?us-ascii?Q?v+rySacjoHJ8jf+8fC7RohJJvCID3w9MOLNlBlkgyMpM/CawIr/CCrZJ9g5F?= =?us-ascii?Q?2KzTSdwJpXloC85zw78iNwbvM9RfCyk8muBkljSYkpL37gcF01nEdk1xtZSZ?= =?us-ascii?Q?96AoQbepfuppyTLAmUN+M5KfboeA+qSeIiJpkF/kT8YFXsW6NhfkxGY+MgZn?= =?us-ascii?Q?ErBpFA54ouSccpWeTbWTe0us2ZER75SyUg8H8x0wKFH7V+mu+Yq4g3mbcyzD?= =?us-ascii?Q?QKANnY9VHivzs3Rpfhque4COYuXhG14XMdXDoT4ZBB2pt90yloDSIbKKwNtG?= =?us-ascii?Q?x+GqEZZufPl5l609uNXDchchqqPZb5XPmpjjJI8wjKrgRSFL0WMvx7pIcHw2?= =?us-ascii?Q?7cuSlTKge2ZG+FY2u5R/OFXX77iIJ9XfqANsZpm8Mx9LwlWQMGhid5kjexPz?= =?us-ascii?Q?EOwSzbWpY+93swFm2kXNQvzSd7Ht9TtCiZZRiQXczPNV6Aojui2aQiywPrY3?= =?us-ascii?Q?/i2iHPkAP2TlhQBwXPWjhbAXl62DO3fkxucM?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(7416014)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2025 15:58:54.6070 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 672bb07e-5144-4a4a-f742-08ddbf0181a4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001F1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8529 Content-Type: text/plain; charset="utf-8" Use attack vector controls to determine which TSA mitigation to use. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index f41d871f0622..e02b232fcc6e 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1657,28 +1657,38 @@ early_param("tsa", tsa_parse_cmdline); =20 static void __init tsa_select_mitigation(void) { - if (cpu_mitigations_off() || !boot_cpu_has_bug(X86_BUG_TSA)) { + if (!boot_cpu_has_bug(X86_BUG_TSA)) { tsa_mitigation =3D TSA_MITIGATION_NONE; return; } =20 + if (tsa_mitigation =3D=3D TSA_MITIGATION_AUTO) { + if (cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL) || + cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER)) { + if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST)) + tsa_mitigation =3D TSA_MITIGATION_FULL; + else + tsa_mitigation =3D TSA_MITIGATION_USER_KERNEL; + } else if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST) || + cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST)) { + tsa_mitigation =3D TSA_MITIGATION_VM; + } else { + tsa_mitigation =3D TSA_MITIGATION_NONE; + } + } + if (tsa_mitigation =3D=3D TSA_MITIGATION_NONE) return; =20 - if (!boot_cpu_has(X86_FEATURE_VERW_CLEAR)) { + if (!boot_cpu_has(X86_FEATURE_VERW_CLEAR)) tsa_mitigation =3D TSA_MITIGATION_UCODE_NEEDED; - goto out; - } - - if (tsa_mitigation =3D=3D TSA_MITIGATION_AUTO) - tsa_mitigation =3D TSA_MITIGATION_FULL; =20 /* * No need to set verw_clear_cpu_buf_mitigation_selected - it * doesn't fit all cases here and it is not needed because this * is the only VERW-based mitigation on AMD. */ -out: pr_info("%s\n", tsa_strings[tsa_mitigation]); } =20 --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2070.outbound.protection.outlook.com [40.107.220.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E410026B2AD for ; Mon, 7 Jul 2025 18:33:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913231; cv=fail; b=RAFN5fa2KiQ4XlVWA6MbsT/bKtE5NLFIHJnKEoJB5t2MESTEK6nwS0K+yZL91mLVx849k4Q7LTwcNldg9NCgQsVTykzx3kFn0FGK5ZKFO546rTTJYPxLkQ5QFjmYU6uWsK1F39nbaTgSxlLaNgG1YuSNHmtpzGYbGmo2icr8OnM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913231; c=relaxed/simple; bh=7XkJ6PtM4zRIFCuC+g8GXDT2+h1fkCYxGDPTCtg1U6w=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KomTy/gzcHCklFk45AglW8wvn2jsqi6L5LLHnG5y37fi69IMnJL6xT6DypNyJlOB/HHxSd7ZA4lIHVrjgBe3cvRlfY7Q7G5ushE90FrdattRiF49SYWZrAWjABLyxeMGvQmet9HI+9rKUGkomCvm0mbb6pZgSrIkoSZK0ZXT4iM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=A+pl/pNT; arc=fail smtp.client-ip=40.107.220.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="A+pl/pNT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EuJU8xS8RA/MwNWBz0ls2ulLO8fpNxpuV9gmZZSZi9wOY0PBD6zoUBX5Ke+t6rbnkP/Ev/Dbri4Fj5BUq7W4knT4dG1418HAYg4BXpSxfAxVpfDTIW3dLIYiSG5g05UxUbf8iM6dvBaGhG/aeaxVbgkEvN4IRLWR5ixJev8HAOdxoERQYJEgtPhpnEUnWHtTcGsqH6zvtJkTkSSYU05ZVt5EFeR/w1BbxDa7ZiUIUExn8xAIeqvbR2BjhbLCepoO9b4exlpl3jYlceG+YYbHo6xy3LDzHrXlB++DqF5gz84/GrYJc1hhrlMcyBhYdi1u6rKRctWwJVLlXHmczgOQ7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dSqyZzXIuaHiLdYjXHaNZa3izwqYa3/ncZGys9AZu74=; b=vY1wkkffJFwVeOEDZE+gjlMnbNg87IUozJ/dasftY3pjI1mJkn2ERzf/X4Cjc+/FnkuQqRrsOv6yajNuyzCQiA+tc9sd4ewWj7zfg7DpJSdztqDf7LtR3fFb2H1T9slDsI8TM6BFKEs3/hqJWaYLL94ZE+2MtT5pIuGbMQ5F0w5l8sBT2R7h0+GbxtWguERk3dz51SRLsPJikAWv5/UL2yzoERxw7Tmj2jNB9yOFUm3w5zuvwG1pYu8zWrRYcs2EIZ8zH+Dl47pR0vq+BEUjMnsPNj67V8jsmJK18lZWWOOsdGbiynco/pl1e/JxqOea0/UOzdShJMXXqx/bFBkpTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dSqyZzXIuaHiLdYjXHaNZa3izwqYa3/ncZGys9AZu74=; b=A+pl/pNTyHCAYLsAdKo0+KGcjvhwxaj6FqlG3n6g548reJ1c3/CXLXU5BwJl1585SP12weLehW344Oa0c1OAf40z8w+Bmq3OAbJwuQOLYgm8cnreEr7g22GEerac36MFaf3WAs+rEr8MmPnrsfy9SJ04877vICZ5OeU4RmY4IbM= Received: from MW4PR04CA0255.namprd04.prod.outlook.com (2603:10b6:303:88::20) by DS0PR12MB8020.namprd12.prod.outlook.com (2603:10b6:8:14f::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.25; Mon, 7 Jul 2025 18:33:45 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::31) by MW4PR04CA0255.outlook.office365.com (2603:10b6:303:88::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:44 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:40 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 19/21] x86/pti: Add attack vector controls for PTI Date: Mon, 7 Jul 2025 13:33:14 -0500 Message-ID: <20250707183316.1349127-20-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|DS0PR12MB8020:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f65600c-1550-4f66-de47-08ddbd84ce4e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Fzqr2srCdNanb89/lN/VD4bCdBe1CM/b0X3bmPY0176UGr/kWzf4p3SuO5on?= =?us-ascii?Q?A4w+OJusOlTT2T6xbzd5Fa/faLHa4o1Tbh2Y8u7zzSkaMpBoqwSfEOf48Rit?= =?us-ascii?Q?9G4GqZxyPB+vLeAIIpywkUdnWWfZ/vJWjGFStObfHKBhdHB6fBJshe9ApxMd?= =?us-ascii?Q?tokmO/K1oY7nY1nX69SW7afBWiFSOm/W9My4HgYnfvNkFPcqSPJVNJU+PJXg?= =?us-ascii?Q?6FDD7qlOu8ALzG6OQXgqxhlqKCLhk37eEF5FF9mBOsLAFHiV+6EU66oBEmVq?= =?us-ascii?Q?H29ffUyZUwsF6pKYveEDISJHib4YVPyVIlgFhE3xwyeFxQC0iyL6UM/6cro4?= =?us-ascii?Q?ZB19m3bWrbcW4I8kOaMqYmpsVkmH9vq4KexrUDaN+JTWAnyll2DnfB4Q5iGM?= =?us-ascii?Q?fx4Rn3S5rHFh8B8bLXRcB4fatMfuYgPxkAh8+ANUiKZu+Wesb3FgFJfIJsYk?= =?us-ascii?Q?eMJEBCaYK9rHES1LYk/ikjSakXAlJnGbexXiOcn6ttmnSIyfNVj/38hZtT3+?= =?us-ascii?Q?h2l1Ct47+3f7TclIeLfCwnJBbAIvAn2g1OPr4+Z0dct5qiMfdWCIDBGbgHtP?= =?us-ascii?Q?YodJ1RSHDWGQYZu7wQ4azKiHQK2e8cDbOP8oxE+Ky0lSR3N+uWzkOKknpiJ7?= =?us-ascii?Q?CaozY5opKYCNVNeOBwJ/u803d/HKTnLCQEysXyKeXvOJtvBF4pRJ2Au5W0h1?= =?us-ascii?Q?nmLer1pfqXM+J0HtlJjyXkzZiiRocDyZi5BnppEe5Xh3XMbUQcfb7Ve1eO7T?= =?us-ascii?Q?/eyMlVo08ogKKi2+51Ncz3EUxCCnBjbdHP3TwX2xeBU1n2T17sUrEVZTCk2h?= =?us-ascii?Q?sL7pgmxg8mBsh6A+JbSV7PXxkSmEQkQ/uV073sf0Dks75TLgVjpDA8D/3YSM?= =?us-ascii?Q?irRwLcJU7DfHGHdq458SOkZP9++d6+8sfC1+Aiq8zPCbv4m3JNlSUfySZUL9?= =?us-ascii?Q?fw2lSNzWSm1bBZ5vSmzupIOHkt4rhccpNOF3ueZwMQMZIngIwLn5zvZ+xRYV?= =?us-ascii?Q?SXpS2oSrAs8zgefoYZxlTyx8Yt4MWsRXOJ5dRWvIE2nXryaEJuQCztCur1yh?= =?us-ascii?Q?jz2ua5aehhX0earPqx+zvBfuGxtqCFPvPCwqH77Co5FxNG7OEbz99RmRXEPu?= =?us-ascii?Q?GHX4oexFocAQ49m+sr+N4jTPVV9iz3SfokxeUaDP4JK4dvl90MefDiX+b2/h?= =?us-ascii?Q?jW03QTR8cSHssDz4+y1j++ZeFvbcGvdLxKZ4efCiG80YA9W3E10lxfiOolQF?= =?us-ascii?Q?B850LThKDMaq7CxdceFb+szxPU5s/kh+kZsbIjfSipaPvlV3C0WzOx3SCa5a?= =?us-ascii?Q?bHXt9/hjZzfKuO+Kd1VO86GX1mqh16Krbgkfmuhz7Yh3xG+MZcnlZJNjx4f6?= =?us-ascii?Q?YYEL5v92Dc9W3qiDVAoSRbP0xaP/qwLRcNHyg8vXMQeNHIItYBFQEYGGMWjU?= =?us-ascii?Q?4puIqzqaqT9UR4fS3SwGlMZZ3SEF6GNWnwiV/8zFsQzwYsK6KpFcwakyv92W?= =?us-ascii?Q?/THCaouvCF1WmyWWrrwMGOfsj2fPBl5xYmSw?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:44.9743 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1f65600c-1550-4f66-de47-08ddbd84ce4e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8020 Content-Type: text/plain; charset="utf-8" Disable PTI mitigation if user->kernel attack vector mitigations are disabled. Signed-off-by: David Kaplan --- arch/x86/mm/pti.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c index c0c40b67524e..b10d4d131dce 100644 --- a/arch/x86/mm/pti.c +++ b/arch/x86/mm/pti.c @@ -38,6 +38,7 @@ #include #include #include +#include =20 #undef pr_fmt #define pr_fmt(fmt) "Kernel/User page tables isolation: " fmt @@ -84,7 +85,8 @@ void __init pti_check_boottime_disable(void) return; } =20 - if (cpu_mitigations_off()) + if (pti_mode =3D=3D PTI_AUTO && + !cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL)) pti_mode =3D PTI_FORCE_OFF; if (pti_mode =3D=3D PTI_FORCE_OFF) { pti_print_if_insecure("disabled on command line."); --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2068.outbound.protection.outlook.com [40.107.223.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D370E26B765 for ; Mon, 7 Jul 2025 18:33:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913232; cv=fail; b=DatVuzoxyXvg93lWgVLFmxGHZBSrMqpR1k8Qzn65Fn3WaSfHXrWIsG1ZGThmnIOxUgCFjM64y8Sey0FfuplaCvbhjGnVoyA8hN0IfPZaXi7wfITtMJfp1mVLmkmrKw6c7VUsk/z1xnwef5/gT3ZicDZtigVa/3cYuJLHdGm68V0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913232; c=relaxed/simple; bh=CmaRJ46vRjjv8/cquhIry2PyYxlQizg0pGjjwabSe18=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ffy0jjrokoD3KUjg53YaOtw7n5y+hpBcWVZ3icZWfuBkRykc48aefG+nxuTzd1gGC8UcagJ4r2nP8XawedOIhJh7dkuNMUo6yBLKzgUL4QZzm0VkQGKpYLEMiqCVgcoz4Y+lfVO3+nyjRiGve6z09pazBmZLCgFWLQnnKEqxu0c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=xyEsz196; arc=fail smtp.client-ip=40.107.223.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="xyEsz196" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oCN9Jivmn0Rz8qVnYiv+g6zv6btVwpd7eXg8QvbZnKY+gDJQw64kJOt+4qn33CX9GQC/gDak8ymt4mKiIOJauGayyObPuWB25h9McIfD6G1qG14pqPDeOgf2LsMdOzkZHeDs3rgMqnoZ3k7bkBIWcGwfzJvZuolvxrbkTSu0FIAq8v2QOlxJRCW2zi1I/7blujoDm+LJ6A5PTpRZbFXDFwg0TPhoD0UsbLfyPTcCC7tk8QDhF2DTtADDx3O3zVpKOeT7aqRwDvauw8yGDkMIdp2z2A9lNbPrePsdBmKojcwI5dKDd/6tLiZ9jbmQShClxqtCiKfsFV2wQVSuRYJkcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=APXX1QMgmhLb5zV6BO3BbXFgNojNzHQxEOT84uA8hqQ=; b=ZLD88Cr4nMeWnvk6oIGmAI3VcHaToOU2LWoeGdcZMKVyHFo1aQUdZbO7FpCUQs0n7vNUrlZ2bUtOHWFYrgT6+mnM02+qFYvyHZxhKWCIia0+QncFNj9mgabtJnr07dMqb9lVtDHacBxK+Sk52lRNGgidTNMM8lAJg8ElCJAppimjztJtzoKWLSHq8ZsGaz57XgZzCtDQSuJW/haL40vCAcJPMjO4PiLwIDjnUgV5MsMldI4c4tq7nx9dTVbz93ycNJu82lpWaMuc+bQzuRdm1RhE2SF+lB7xLm4eo80tP/7nKB6IytGs5/vO8uusROWgfG8SVO2Y4h4k6dQct8YECw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=APXX1QMgmhLb5zV6BO3BbXFgNojNzHQxEOT84uA8hqQ=; b=xyEsz196fOfXtpVS08qeupnVG0S7/7QwMMOldOeY3SxRoVpAe4JdD4nr53Mon0nmyxYh+Vo7weykn2BiwbwvrxtWVuVPwC7fikiE6ahvpwTaFE/jVWzcWqReaZWfKV2mLK89HPT3oKjY/FoGNmaTf2gMBQZteoi4eA+wvk9L+lM= Received: from MW4PR04CA0263.namprd04.prod.outlook.com (2603:10b6:303:88::28) by BY5PR12MB4243.namprd12.prod.outlook.com (2603:10b6:a03:20f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.25; Mon, 7 Jul 2025 18:33:45 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:303:88:cafe::3a) by MW4PR04CA0263.outlook.office365.com (2603:10b6:303:88::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.26 via Frontend Transport; Mon, 7 Jul 2025 18:33:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.15 via Frontend Transport; Mon, 7 Jul 2025 18:33:45 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:41 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 20/21] x86/bugs: Print enabled attack vectors Date: Mon, 7 Jul 2025 13:33:15 -0500 Message-ID: <20250707183316.1349127-21-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|BY5PR12MB4243:EE_ X-MS-Office365-Filtering-Correlation-Id: de99c7ef-5865-4056-bdc8-08ddbd84ceab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|7416014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4awD0pFfUuz98JXhV5MQ4UadHNwY710G4r3lVhabevAvDjs13PrD812SnZmX?= =?us-ascii?Q?3TYWjWNRuGIsJh86wwrf1k3mbQhu8gcc5+b4RlArkF/xDUwHL20DyTA2lh5c?= =?us-ascii?Q?x3O6nfDSiPeds9B3vX8+YopAa4DdI+PouvVjmAEyW7qkZvLXwWAdG+pmqFMV?= =?us-ascii?Q?McgcOegx4mspACgIHm0NfnOf9HO/MWTM3GSDBs7ddtXKRQc5DjAXdU9hDzrw?= =?us-ascii?Q?ulh9T6ghmgv9J0YMZaWRkzCFC24gnxIo3m/b7mvY9Ba5mjqMOKZdh/b02gNp?= =?us-ascii?Q?9pvrHvGA+t/OuNEYubEUQZSukLr8pq6NFsJZCxEbgU5AaWHzFLBO+vBmIoTi?= =?us-ascii?Q?sokDGythmMjWwsmcWKHpEIHEMCP/OsygFYQ++3jUFf5nQnwafqVGcEkevzsy?= =?us-ascii?Q?pkYxzaVOsdTh9B1P9IfXMyRsAqD1saWjKI6b4tSkVmZUXTOW/BqjvqEFQgaH?= =?us-ascii?Q?R73YXZFqJ0Hed8eBAf3ArN0MDNYQOGqG3ZhzPqItlt7ylql8F/IbALx9Dnwn?= =?us-ascii?Q?/HpaMrSsbc+bcB9wCXYYYdSzEGZE2uO6HLaWIbGC+++Ty0UxapZlAoI1zlK2?= =?us-ascii?Q?5R2lq7whNFuT0yLRpZKzM4uxkVaH4EakG+8iW15ZbuR9d6OsVO+NoGdS4BGn?= =?us-ascii?Q?pF+4ZG4RwaXWhY9mSKwbsU0VBoImkwgW8CDxaf4r6qvoy+X/DVV26iWAtrqp?= =?us-ascii?Q?8/51F76eatLM/e4VIXwcrStYPKPkcn7nEJGnoycgeTq69wrH88pj3J8BzSNm?= =?us-ascii?Q?MT2EaSoawxba95/2jLPS8BG09atO8y+hJhkRNUWUrDWfiOy6hXlWlBQ0f0d6?= =?us-ascii?Q?gc8UX5ggVAJM5mlkHqk46oioXqsdZVQ/qcW4fXlaY3FkTrE6t5z/RubodkQY?= =?us-ascii?Q?I7LJILbYwebETwY/uFpebnm1EPkwn80IGfOJDDlzOtteFpYQAIWEZdQJ3Fsk?= =?us-ascii?Q?SKv8hb2Ef2kHatn3+Vb94mxS2vkPuJfabdKMKLrVLQopmiLWZJKaUoISjTo5?= =?us-ascii?Q?XhijoCTjssi1VWPzhD+GEy6PxUs/8l0DULrM4zji3Vsx3jrjOMG/3oPZ35gt?= =?us-ascii?Q?77yyqnDT/lXInh3Aa5wZGsiwba2lNnYcGnx9E6Th+JcotxW2s1KnduOwms5j?= =?us-ascii?Q?PTiGLFeLDvDLgfU8qjIXwKGXVNANPEAEbP5DW4mMRmWIR2KW3gJRlbi3hCHz?= =?us-ascii?Q?tTrN7OFMw+8CUMLotneShFG/RK5ZEE8EdjpXW7LYbhs4xJSkbgdvuVp4CGH+?= =?us-ascii?Q?VtbuDpxqxt/G07EFBkYzm+x36IuBCkfOACW5LHYxKvt6TerkrXfIXki3BKmR?= =?us-ascii?Q?5zFmBSb3Y/MJURg4G6WoNjzH2USNn0NpWI+SSkcYPWABA7S+/Mljfvb1H8lF?= =?us-ascii?Q?jxymu3gQ0Q82wQAB8DR2Nkoa9zudIfqadaXsqyT27t2wRjTV+dAZ4K2OGhOQ?= =?us-ascii?Q?fDeX7NXuToDcJS2YeiwQI7huxVe1VDKqGMzkWTYn/QvXJXYqugmmKqR8g74L?= =?us-ascii?Q?npLadi+3cjUhh1MfDOdIVYgneFPir4YoENSV?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:45.5835 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: de99c7ef-5865-4056-bdc8-08ddbd84ceab X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4243 Content-Type: text/plain; charset="utf-8" Print the status of enabled attack vectors and SMT mitigation status in the boot log for easier reporting and debugging. This information will also be available through sysfs. Signed-off-by: David Kaplan --- arch/x86/kernel/cpu/bugs.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 7972c9b16e8a..917acf99eb6a 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -187,6 +187,39 @@ DEFINE_STATIC_KEY_FALSE(switch_mm_cond_l1d_flush); DEFINE_STATIC_KEY_FALSE(cpu_buf_vm_clear); EXPORT_SYMBOL_GPL(cpu_buf_vm_clear); =20 +#undef pr_fmt +#define pr_fmt(fmt) "mitigations: " fmt + +static void __init cpu_print_attack_vectors(void) +{ + pr_info("Enabled attack vectors: "); + + if (cpu_attack_vector_mitigated(CPU_MITIGATE_USER_KERNEL)) + pr_cont("user_kernel, "); + + if (cpu_attack_vector_mitigated(CPU_MITIGATE_USER_USER)) + pr_cont("user_user, "); + + if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_HOST)) + pr_cont("guest_host, "); + + if (cpu_attack_vector_mitigated(CPU_MITIGATE_GUEST_GUEST)) + pr_cont("guest_guest, "); + + pr_cont("SMT mitigations: "); + + switch (smt_mitigations) { + case SMT_MITIGATIONS_OFF: + pr_cont("off\n"); + break; + case SMT_MITIGATIONS_AUTO: + pr_cont("auto\n"); + break; + case SMT_MITIGATIONS_ON: + pr_cont("on\n"); + } +} + void __init cpu_select_mitigations(void) { /* @@ -207,6 +240,8 @@ void __init cpu_select_mitigations(void) =20 x86_arch_cap_msr =3D x86_read_arch_cap_msr(); =20 + cpu_print_attack_vectors(); + /* Select the proper CPU mitigations before patching alternatives: */ spectre_v1_select_mitigation(); spectre_v2_select_mitigation(); --=20 2.34.1 From nobody Fri Oct 3 20:24:58 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2083.outbound.protection.outlook.com [40.107.244.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E14426F469 for ; Mon, 7 Jul 2025 18:33:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913237; cv=fail; b=AMxUuUyvG41oHlLuex+tY+mE80rdKqc9mG6tRT6UaEuqYOiZZfp585ASDmNDJTSNppWI8vNp+NN+8tVPhtHkAuvXGxaV/Xd7u2hzwUt/gxL1a+Flakopp0Ebn4sJZJms/+WWVKtaijU6gHknfQzUfZHc3d+R52OBu9ovfurVZAE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751913237; c=relaxed/simple; bh=RyAhKBePYSz9QwD2JI1ve8t6GvmfnSar3mRpK71wyuY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jGV5zsB46uY9ESVytyZGBEvbMeLChBYs2WPItk1732GYNPYv8wVcGqbKMTYMhB3ezGbMKP3PB6Ro06qZ7o+TAI4oED4Yz30U/e353GnuzZiT5bMQFjY54yKwnQyr6sBwTPJkxTkUAeLN+ZSXcHLTednXH6PvE9SjR2KXDlL1zaY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=WrRtMUw8; arc=fail smtp.client-ip=40.107.244.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="WrRtMUw8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ouDk/gqJ5LO7wMHK/lCPFxc8sgDdpWzNu0lqNY9wjK28kr1lHGzjG7imbPk3vUrafTem0toxaGbctNiP/WmUbc4IAhipim59spfvdeH9kN7ZXyVbPCN7Q3cPcZQDvfA/scXgLnbwl3Jrd0LZrLc31v+wnomb4Ad5coXv6Mole3e7nSGhp1h6JT1xJImMxlsIaFPkV4VFX21OFFJVeBMhkkhGV7E5qThEd6OGhfPfTVY1Z3csYBq8bjINFUg+rCNpR5LK9GU9CG16opi35o1td+bufZyWaMKk13SAU35d7mjMMOaMhcylzfYMiwPA5402RI7oZiO0wLK9tsk5IaT4WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wgMfm9Vh+6ixVrUOUdlFXV+UuzFXiqi4eTwHEikx/NI=; b=Fa8eHtxjToMOBdy2M1M+myzFSqBRfDY0/T1+D2opd+lQaRrmrib4Ff8ZvfGFc/zX21o6f41IdA9Ef4skup9id/W+10QiDBIWC6RfMJIl7YGjYUdZq95SXhTz2BZUwmPOJLNXrgWRkNekPYwiZGnKvINAY6lXCyHbhs3fTgp7/S3gZx1dhSbYrqjXr/Y4HVirPfoT36zslWpOxy089+VIe07RsBsynRSwO8C9n59iHoS6o/3Z3G0mUjQ32hwPpVkS+ItIU5OCqGVOdf7QnwJPf0jQGYooabk0B3q+xF8kONvogD1PzkT98RoD9kA8F0lMCqwdHmhUOQ3kEWuAwURmBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wgMfm9Vh+6ixVrUOUdlFXV+UuzFXiqi4eTwHEikx/NI=; b=WrRtMUw8oO/OHBRk6rEc8mJaAQ1VrDGCnhxYfMofQSMRmvwOX9pfMQ+HeUnOIWzzu7SNI/PhSgGL3Abx3trVq9GJvQmLkq7OMKEae8XcJ1bw+5rCJjDOu5JtW/yw4lp7psPZe0J8RcUMvd+ZhOTl3Sk0KQTiVp6tWNU5u+CDH/c= Received: from BY5PR16CA0007.namprd16.prod.outlook.com (2603:10b6:a03:1a0::20) by BL1PR12MB5731.namprd12.prod.outlook.com (2603:10b6:208:386::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.25; Mon, 7 Jul 2025 18:33:48 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:1a0:cafe::88) by BY5PR16CA0007.outlook.office365.com (2603:10b6:a03:1a0::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Mon, 7 Jul 2025 18:33:46 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8901.20 via Frontend Transport; Mon, 7 Jul 2025 18:33:46 +0000 Received: from tiny.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Jul 2025 13:33:42 -0500 From: David Kaplan To: Thomas Gleixner , Borislav Petkov , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Ingo Molnar , Dave Hansen , , "H . Peter Anvin" CC: Subject: [PATCH v6 21/21] cpu: Show attack vectors in sysfs Date: Mon, 7 Jul 2025 13:33:16 -0500 Message-ID: <20250707183316.1349127-22-david.kaplan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250707183316.1349127-1-david.kaplan@amd.com> References: <20250707183316.1349127-1-david.kaplan@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|BL1PR12MB5731:EE_ X-MS-Office365-Filtering-Correlation-Id: d76b1ecf-60e9-4eae-3547-08ddbd84cf02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|7416014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?d55OtIo2JfG/8MDgOm8ZLZt9HNEcU7TD2qE1YImnGlyyeAUv+LhsxuWDGJgo?= =?us-ascii?Q?P/xKrUctZyCKkCbZi9T7Z9yN7KLZHtNVLVS9BZF/9FrFF6yqp/OvIYVwUCpH?= =?us-ascii?Q?AKcf53GLmGicyyrE58T2nHMFOB3iHwzzuEohTVr0W/jWena4iVyhQt3sZxeJ?= =?us-ascii?Q?7aFTViI/SFXfJkNheqvB27auQKIWTOGROCu6VIhvI9Odjt9hp3S7diUd6mA5?= =?us-ascii?Q?JVlkWycDT7sPsfIuEr9YsThV52GEKqwLFhUihPt2YIa5Dr3AgNJxq/6UNBAZ?= =?us-ascii?Q?HFmRAaAtkDfXLZnd1l2bbfUUrKieyYtfeYXA46SM1BBGWBON9oGrrW43RRvm?= =?us-ascii?Q?T0IFUEVDdQnxRtzH5EIwF9n6nz0fooQEdWMqfHEF8ZSqxDPQXEDEOMCgYWr/?= =?us-ascii?Q?1Oc+rpZTEk+3Q0siR7YWFLLtGdqdZEOV7i3KtB4d7/xaBpTrlGxWKeyNEp52?= =?us-ascii?Q?N53LuYmF98+Jx9H63IfbsqAAifNIHZP7f7rfcH/XIF7oUTHCVrglOEOzmNh+?= =?us-ascii?Q?s4JQDr7rATvPZQHY0GWGI8b8k164DZaFXRHL9N/M6t3UykONaJ0scdaHVeCW?= =?us-ascii?Q?AXI1p/ttpjU8+CQgE2vO9UdSVvXCval2C4x09O62GApG6iweX+wZb9ZP+5Le?= =?us-ascii?Q?mv3/NoRNwfuPt4UNutzIJhJuVoudMy6nX0YUdP/7n/oihA+hIEydc1jD4uLK?= =?us-ascii?Q?4wg3yqGMXrfd74KpU+N+4uwR2cgxXO9CQzihyaCD4vkQ/+7XOSFD4zh2JtSv?= =?us-ascii?Q?7VZr0UWDc5eTY4Hgj6gjRAqJuHaRJjB8BLw9RMrsb9eTw5vWGXQ5YYq7x13w?= =?us-ascii?Q?4IlUsJOHuDw+Ph341Dn7vR0FNi8uNcShUq0TmPFBLo9nD8n5fkhj80KONJ80?= =?us-ascii?Q?FHKGBJq7Wv54s9mRWe7833fwJSN06gU5dkYIZI6sSm8j4tM/vKzvD4uXk1bk?= =?us-ascii?Q?65bBh4I70J7sBptOnOTxMH1Klu6WXxigjvlTI/xJEBp1kX56KxEox/gDdfeu?= =?us-ascii?Q?5Uz9vr/prRO8QvWB9ySkYAcHly5vsCzIkj8RU2GZKK3x9S4P5wgvoZnVKU8P?= =?us-ascii?Q?tUA4J+oXj2UnQfy1iep+6DPfqFjp4qqks5cwLqnBf+fK7j3Ih5QeNXpAd1yG?= =?us-ascii?Q?S3PBZ5L6dJoG3U9Nlwdxcenvy3qtcwLhEZLFmfLQPNMtNHGtZ6H/JaHKRP2p?= =?us-ascii?Q?lnrImo/6nBLfzb8YV2Kgj9XrGR6NUdPjXhQgFGCx//3JLO0PvElV/s4oblmq?= =?us-ascii?Q?GOirC5cBRAJw3/wc4x3mhV97cn54W6HD3HMtYg/GcQ5YYfEAXIG23bxLyhVv?= =?us-ascii?Q?kWxa0R13/d22196A+kJNFzy30XO4RjSTXvgy98kWWDJOnh4rkk+RYtC8mc3D?= =?us-ascii?Q?S/N8wGo/N8dpnuO83jEtlazvHcJPdJBw6tMdcVRP1Q8ZVEsbxfKT4r3GajyS?= =?us-ascii?Q?ft0cxJLIGXVjAehsVIxDXJL179hnvTzcLIAJYFe9SpAVRYcp9CrN9gLm1hog?= =?us-ascii?Q?O9sJfQogukJvK3X72YLpV4jPznUnLImFVHZJ?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(7416014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2025 18:33:46.1481 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d76b1ecf-60e9-4eae-3547-08ddbd84cf02 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5731 Content-Type: text/plain; charset="utf-8" Show the status of currently mitigated attack vectors in /sys/devices/system/cpu/vector_mitigations/. Signed-off-by: David Kaplan --- drivers/base/cpu.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index 7779ab0ca7ce..0b76213ea70e 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c @@ -20,6 +20,7 @@ #include #include #include +#include #include =20 #include "base.h" @@ -647,6 +648,70 @@ static const struct attribute_group cpu_root_vulnerabi= lities_group =3D { .attrs =3D cpu_root_vulnerabilities_attrs, }; =20 +static const char *attack_vector_state(enum cpu_attack_vectors v) +{ + return str_on_off(cpu_attack_vector_mitigated(v)); +} + +static ssize_t cpu_show_user_kernel_vector(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%s\n", attack_vector_state(CPU_MITIGATE_USER_KER= NEL)); +} + +static ssize_t cpu_show_user_user_vector(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%s\n", attack_vector_state(CPU_MITIGATE_USER_USER= )); +} + +static ssize_t cpu_show_guest_host_vector(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%s\n", attack_vector_state(CPU_MITIGATE_GUEST_HOS= T)); +} + +static ssize_t cpu_show_guest_guest_vector(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%s\n", attack_vector_state(CPU_MITIGATE_GUEST_GUE= ST)); +} + +static ssize_t cpu_show_smt_vector(struct device *dev, + struct device_attribute *attr, char *buf) +{ + switch (smt_mitigations) { + case SMT_MITIGATIONS_OFF: + return sysfs_emit(buf, "off\n"); + case SMT_MITIGATIONS_ON: + return sysfs_emit(buf, "on\n"); + case SMT_MITIGATIONS_AUTO: + return sysfs_emit(buf, "auto\n"); + } + + return 0; +} + +static DEVICE_ATTR(user_kernel, 0444, cpu_show_user_kernel_vector, NULL); +static DEVICE_ATTR(user_user, 0444, cpu_show_user_user_vector, NULL); +static DEVICE_ATTR(guest_host, 0444, cpu_show_guest_host_vector, NULL); +static DEVICE_ATTR(guest_guest, 0444, cpu_show_guest_guest_vector, NULL); +static DEVICE_ATTR(smt, 0444, cpu_show_smt_vector, NULL); + +static struct attribute *cpu_vector_mitigations_attrs[] =3D { + &dev_attr_user_kernel.attr, + &dev_attr_user_user.attr, + &dev_attr_guest_host.attr, + &dev_attr_guest_guest.attr, + &dev_attr_smt.attr, + NULL +}; + +static const struct attribute_group cpu_vector_mitigations_group =3D { + .name =3D "vector_mitigations", + .attrs =3D cpu_vector_mitigations_attrs, +}; + static void __init cpu_register_vulnerabilities(void) { struct device *dev =3D bus_get_dev_root(&cpu_subsys); @@ -654,6 +719,8 @@ static void __init cpu_register_vulnerabilities(void) if (dev) { if (sysfs_create_group(&dev->kobj, &cpu_root_vulnerabilities_group)) pr_err("Unable to register CPU vulnerabilities\n"); + if (sysfs_create_group(&dev->kobj, &cpu_vector_mitigations_group)) + pr_err("Unable to register CPU attack vectors\n"); put_device(dev); } } --=20 2.34.1