Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp413967rdg; Tue, 10 Oct 2023 14:19:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGsTsTqkKEYsmrHi+XTRlZrmffg+5uWoH7cjhQt6Mn10nlJSFUrYO/yQ2zZdP1dWsGNGtJq X-Received: by 2002:a05:6a20:7d9d:b0:15d:4cf1:212e with SMTP id v29-20020a056a207d9d00b0015d4cf1212emr23072147pzj.4.1696972776337; Tue, 10 Oct 2023 14:19:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696972776; cv=none; d=google.com; s=arc-20160816; b=cZ5gCsZwHSOnoc0y3FBPpaAozlsjYokVbTRpIFrAxikQnReBvFC7FBnDv0Oa7ufDlN e/edmUNmVKVUcBgXO6LnEWSlwO65OvTUlIZsOoVHUf99ua9qijtc6qWGiS44x3DlVZxN SnmLUYBpQFA/cf3znsO8PhPvC6o7Oj/3kiIh6qS9/R6+ub+J+wLDPYC0VTQgd1u8RlrY 7o/62D2hm3NHlJxuFCPGYv+hfkOw1VNQxNaXlJ5YBm0ddbwnBTJOvaXRDBH5mtwQUlMI s2PdcYqAr2ZXtzloftwBhhRIfD+Gyc4srWH5uK3NEDLM86xwZ4/iGTVkuDR6ZdkOoDRC QlMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=wAGgoqHHqbCyDpKG+uIxflelClRhvj/LX6OUp4VbLDY=; fh=RGHaMbDko9suw/oQPGxOXnFxfheDBIGVguYLXYE/0H4=; b=T3qtOCQVbr3NDsdIE5BjOLGcU8XGm6oNEnMNSRSU/tDO2t7qlaTIVflGPL3xinZdPL zoMzFQt2ba1vzYsLkPDyFWs19AZIpWFs+bm30pxP3ZHkgoFwHafkrGD/p+0MYgsraqgk 8gXr1J9BQaiX1ttT2yOSf3vPFf6DwrchLaJBivK6N1nSZrgVbM8QmjvAXxzcjBG8vMQo TB/mwZe7N+i8EzhRZeBXqu8CyALcZfDIAZ6jHMIDeZVI6A3SPVD3vyqXnwFsKWMkDk+W GtlRCybod3St4gucT1JipBsxd0Qzg4F0HtE7WZfTmx8e9K7cP3LjXoHjDb/+ovzPuuxG we3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@exactco.de header.s=x header.b=izQSodZ1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id u185-20020a6385c2000000b0057c29fec784si12621369pgd.110.2023.10.10.14.19.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 14:19:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@exactco.de header.s=x header.b=izQSodZ1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id DD9CC80D8FC6; Tue, 10 Oct 2023 14:19:33 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344108AbjJJVTX (ORCPT + 99 others); Tue, 10 Oct 2023 17:19:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231841AbjJJVTW (ORCPT ); Tue, 10 Oct 2023 17:19:22 -0400 Received: from mx.exactcode.de (mx.exactcode.de [144.76.154.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5AEA892 for ; Tue, 10 Oct 2023 14:19:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=exactco.de; s=x; h=To:References:Message-Id:Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version:Content-Type; bh=wAGgoqHHqbCyDpKG+uIxflelClRhvj/LX6OUp4VbLDY=; b=izQSodZ1PwUkTKLSnSOO6ANWq/ceg0oHaHKtSfwDnKlqqFxrzI2gstA8jgNkMX2eaQEfO1zthSCfOg4ru1g+9CF9zsUnABupnJGK/wqs97EJumzL/yc1z2GjBRucpkjejAn9HrzBOgg+SAb2jCdxcLh6m4G0YH7+d7wKFyJCNz8=; Received: from exactco.de ([90.187.5.221]) by mx.exactcode.de with esmtp (Exim 4.82) (envelope-from ) id 1qqK8v-0007iW-7p; Tue, 10 Oct 2023 21:19:53 +0000 Received: from dynamic-046-114-176-240.46.114.pool.telefonica.de ([46.114.176.240] helo=smtpclient.apple) by exactco.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.86_2) (envelope-from ) id 1qqKA6-0007Ob-85; Tue, 10 Oct 2023 21:21:06 +0000 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: [RFC] AMD Zen4 CPU bug? Spurious SMT Sibling Invalid Opcode Speculation From: =?utf-8?Q?Ren=C3=A9_Rebe?= In-Reply-To: <20231010083956.GEZSUN3OKuYSyU182V@fat_crate.local> Date: Tue, 10 Oct 2023 23:18:57 +0200 Cc: linux-kernel@vger.kernel.org, x86@kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: <8AD7373A-7FAF-4823-9D8F-1EDF60EEAB6D@exactcode.com> References: <20231004222511.GHZR3mR/oNFZuJGB9P@fat_crate.local> <797F7A00-541E-4333-B653-1120DF5C56B1@exactcode.com> <20231006093244.GAZR/UPJidkn7GIGeL@fat_crate.local> <20231010083956.GEZSUN3OKuYSyU182V@fat_crate.local> To: Borislav Petkov X-Mailer: Apple Mail (2.3731.400.51.1.1) X-Spam-Score: -3.1 (---) X-Spam-Status: No, score=2.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_SBL_CSS, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 10 Oct 2023 14:19:34 -0700 (PDT) X-Spam-Level: ** Hi Borislav, > On 10. Oct 2023, at 10:39, Borislav Petkov wrote: >=20 > On Fri, Oct 06, 2023 at 11:32:44AM +0200, Borislav Petkov wrote: >> I'm still working on it and I'll have something soon. >=20 > Ok, try this below and see whether it fixes your reproducer. On the first day the patch so far appears to have prevented the spurious #UD exception to appear again. Tested-by: Ren=C3=A9 Rebe > Thx. >=20 > --- > From: "Borislav Petkov (AMD)" > Date: Sat, 7 Oct 2023 12:57:02 +0200 > Subject: [PATCH] x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs >=20 > Fix erratum #1485 on Zen4 parts where running with STIBP disabled can > cause an #UD exception. The performance impact of the fix is = negligible. >=20 > Signed-off-by: Borislav Petkov (AMD) > Cc: > --- > arch/x86/include/asm/msr-index.h | 9 +++++++-- > arch/x86/kernel/cpu/amd.c | 8 ++++++++ > 2 files changed, 15 insertions(+), 2 deletions(-) >=20 > diff --git a/arch/x86/include/asm/msr-index.h = b/arch/x86/include/asm/msr-index.h > index 1d111350197f..b37abb55e948 100644 > --- a/arch/x86/include/asm/msr-index.h > +++ b/arch/x86/include/asm/msr-index.h > @@ -637,12 +637,17 @@ > /* AMD Last Branch Record MSRs */ > #define MSR_AMD64_LBR_SELECT 0xc000010e >=20 > -/* Fam 17h MSRs */ > -#define MSR_F17H_IRPERF 0xc00000e9 > +/* Zen4 */ > +#define MSR_ZEN4_BP_CFG 0xc001102e > +#define MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT 5 >=20 > +/* Zen 2 */ > #define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3 > #define MSR_ZEN2_SPECTRAL_CHICKEN_BIT BIT_ULL(1) >=20 > +/* Fam 17h MSRs */ > +#define MSR_F17H_IRPERF 0xc00000e9 > + > /* Fam 16h MSRs */ > #define MSR_F16H_L2I_PERF_CTL 0xc0010230 > #define MSR_F16H_L2I_PERF_CTR 0xc0010231 > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c > index 03ef962a6992..ece2b5b7b0fe 100644 > --- a/arch/x86/kernel/cpu/amd.c > +++ b/arch/x86/kernel/cpu/amd.c > @@ -80,6 +80,10 @@ static const int amd_div0[] =3D > AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x00, 0x0, 0x2f, 0xf), > AMD_MODEL_RANGE(0x17, 0x50, 0x0, 0x5f, 0xf)); >=20 > +static const int amd_erratum_1485[] =3D > + AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), > + AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); > + > static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int = *erratum) > { > int osvw_id =3D *erratum++; > @@ -1149,6 +1153,10 @@ static void init_amd(struct cpuinfo_x86 *c) > pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full = protection.\n"); > setup_force_cpu_bug(X86_BUG_DIV0); > } > + > + if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && > + cpu_has_amd_erratum(c, amd_erratum_1485)) > + msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT); > } >=20 > #ifdef CONFIG_X86_32 > --=20 > 2.42.0.rc0.25.ga82fb66fed25 >=20 > --=20 > Regards/Gruss, > Boris. >=20 > https://people.kernel.org/tglx/notes-about-netiquette -- ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin http://exactcode.com | http://exactscan.com | http://ocrkit.com