From nobody Sun Feb 8 19:43:14 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1690568283; cv=none; d=zohomail.com; s=zohoarc; b=YDjRWZ45LWgSxcdOZDWpLmlso+2Za62hvlcnxw+TYNPfl05hM32ucK09ha0KcEPTLzkqUKcR4tU16OGrqF85AOVAOZmFkpr/opQWdTH2QmkznmbrhlRjqwY3UQOYLR1rPbgYprzyYOccEpWYdid+ktVM0vOeJAi625LdZlZloQY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1690568283; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=3nq2RPXzCPRYbH8lvC65kvlUMs1gv25dgH5jMGPpHZ0=; b=GMLZmgrm4INbQX7VEnF0J0BJsdA/NuBY8Nfz2SrFsTfYyrj/62p/6bJu37snP6k9+UzIX6QKzVuuy9VQUumhQi2wLMwWj8bIrjPBym/BCmaZEZ85ye3i5tdy9K/zz0ZAfvxLkVjVUNciBxoSJEizZHsP8CW7cYWq6SuBYP9Pjyg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1690568283569950.9007098407217; Fri, 28 Jul 2023 11:18:03 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.571530.895600 (Exim 4.92) (envelope-from ) id 1qPS20-0003CC-A3; Fri, 28 Jul 2023 18:17:40 +0000 Received: by outflank-mailman (output) from mailman id 571530.895600; Fri, 28 Jul 2023 18:17:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1qPS20-0003C5-7I; Fri, 28 Jul 2023 18:17:40 +0000 Received: by outflank-mailman (input) for mailman id 571530; Fri, 28 Jul 2023 18:17:38 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1qPS1y-0003Bz-LO for xen-devel@lists.xenproject.org; Fri, 28 Jul 2023 18:17:38 +0000 Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 066e8dd2-2d73-11ee-b24e-6b7b168915f2; Fri, 28 Jul 2023 20:17:36 +0200 (CEST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 066e8dd2-2d73-11ee-b24e-6b7b168915f2 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1690568256; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=53Becd7zOjdCL49sQjmjL6weiFSnrO2dmg85Si+Y4qw=; b=MJMBpc6hkVtpIXdQBsdD0C1TvdmGfCiAOCAXSTuXXSgapZxeP9PtBqnJ zKLGqMZUzujLwo46b0C+Hy6UpwklyFlUQJgENMQwfk5qoXzdUFZCGR5wy cm+Qx0hlDQ2p0rnSm8jOJU5JkKVfgc5Ff4oWb8+0E44n1UZjCiP0THYEy I=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 117824141 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.123 X-Policy: $RELAYED IronPort-Data: A9a23:O+pExqIrBwwCgHh4FE+R0ZUlxSXFcZb7ZxGr2PjKsXjdYENSgzIEm GUdX26EaPqKZmqkL9AlYNiy9hkAsJbWndRlSAplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws Jb5rta31GWNglaYCUpKrfrawP9TlK6q4mhA4QZuPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/ jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5NPUQW0 9hIdwsIRT+OoPu24J+xFuZF05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHJoFxBrB+ juuE2LRLRYkb4G+62u+qHOKguvGui/5XIIbLejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LQHGz XfQwYmvX2Y29uTIFzTErOz8QS6O1TY9F1MnPQkgHVQ+5vLMraYqjjLiRIpsOfvg5jHqIg0c0 wxmvQBn2eRL0JBVifvrlbzUq2ny/8aUF2bZ8i2SBzv4tV0hOeZJcqTysTDmAeB8wJF1p7Vrl FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/LF7rVxBA1b5IehtDMhWfS+FyPosdz7ze 1P0sghM/pJVN3bCRfYpMtrtW550nfa7T4uNuhXogjxmOMUZmOivpXEGWKJt9zq1zBhEfV8XZ /93jvpA/V5FUP86nVJats8W0KMxxzBW+I8gbcmT8vhT6pLHPCT9Ye5cYDOzghURsPvsTPP9r 4wOaKNnCnx3DIXDX8Ug2ddCdglTfSBrX8CeRg4+XrfrHzeK0VoJU5f5qY7NsaQ890iJvo8kJ k2AZ3I= IronPort-HdrOrdr: A9a23:ykANl6PXskYv3MBcTs+jsMiBIKoaSvp037BL7TEXdfUxSKalfq +V8sjzuSWatN9zYgBDpTnjAtjlfZq0z/ccjbX5W43SPzUO0FHCEGgI1+rfKlPbexEWptQx6U 8jG5IObeHNMQ== X-Talos-CUID: =?us-ascii?q?9a23=3A7J2oeGh4qv8Mbc3u9DEgK6UCCTJuSEH4lFH0cxC?= =?us-ascii?q?DDE1GRZqMSX+98v9rup87?= X-Talos-MUID: =?us-ascii?q?9a23=3Aif5QSAwKBV+g0u8K4ig+alAKoxaaqIupNhtQsLd?= =?us-ascii?q?XgJOFEyh0MhCRjjC3S7Zyfw=3D=3D?= X-IronPort-AV: E=Sophos;i="6.01,238,1684814400"; d="scan'208";a="117824141" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu Subject: [PATCH] x86/amd: Fix DE_CFG truncation in amd_check_zenbleed() Date: Fri, 28 Jul 2023 19:17:30 +0100 Message-ID: <20230728181730.3065977-1-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1690568285658100001 This line: val &=3D ~chickenbit; ends up truncating val to 32 bits, and turning off various errata workaroun= ds in Zen2 systems. Fixes: f91c5ea97067 ("x86/amd: Mitigations for Zenbleed") Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Wei Liu The choice is between int or uint64_t. This is one case where the insisten= ce on using unsigned int as a default data type is genuinely unsafe. --- xen/arch/x86/cpu/amd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 3ed06f670491..089038bf62c5 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -909,8 +909,9 @@ void __init detect_zen2_null_seg_behaviour(void) void amd_check_zenbleed(void) { const struct cpu_signature *sig =3D &this_cpu(cpu_sig); - unsigned int good_rev, chickenbit =3D (1 << 9); + unsigned int good_rev; uint64_t val, old_val; + int chickenbit =3D (1 << 9); =20 /* * If we're virtualised, we can't do family/model checks safely, and --=20 2.30.2