From nobody Wed Dec 17 18:02:41 2025 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B20D1F76D6 for ; Tue, 7 Jan 2025 20:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736280504; cv=none; b=gHpTuL5ocj20AEuPX6Xe+qmUSr7F60eQZCYgKCdQ5xZOLhis5sJ8s4rOBMYt3IK7k/fOXhfQUcdzL5TOKAJ/+P6wkukUpFzoceGLuqnT7jsSbFdCe9dWjjgS5jsu5HZ7K33cdC1RqnHat03UdvoA6p46hCa97UqdNIJzxaJtZiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736280504; c=relaxed/simple; bh=Duq+INKIqNPUgvYTHZsJkbkyGq8prfurW6VmwQI5pbU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q6pCt9UgJ40SiN893MEcQIwhF8VlcClYikNgQhgza29TcDMciBCX7Di1Jd9JNL8xWuY/B7flqqzv3AcJVIUN+X9hnpFkosOrsWLGckclciAyEW8zdEsSXshom+Jyn9lJCFZTDc5QauYJVxn2JhQtJoIt/gvyej1LYB5kGIzf/OY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=PgCPJ6l+; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="PgCPJ6l+" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-21a7ed0155cso16138865ad.3 for ; Tue, 07 Jan 2025 12:08:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736280499; x=1736885299; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OfHdG1ANNWPpZE2kjiBnSExD56hP6zWfFTzaWahyQ5I=; b=PgCPJ6l+mNt/l80HE6BzyNgX5kWGIe/m4WTXfKM8m5wD2+39y3c61K4xoE0zVtp1Pv kUsAIwZWBmVYy1/u9FsCzjpoGtNN6bJ8/WceueyFjrC5I8w8bTDxfoEvkWcmVK7CBcLc Wsxsi3arNIqeeKatGBHHXfyQk429zXACrhRpQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736280499; x=1736885299; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OfHdG1ANNWPpZE2kjiBnSExD56hP6zWfFTzaWahyQ5I=; b=tlAtXta3yIg8wpOJEFuURwk1791IuAWtRNvoSl6XlIvXNU4Bu5aLF3m90NY+NU773C 9+EN9bLHPdD7yTN/GzKbj6tIQL/fNDRfkhY9MUb9FpfRWjMVfgRVOQYf1kv1X5asuY1s S+vxIyTrOx2zLrlGjm3uWI9vpA042AFudqmFt39W9EojdcfXul/5dDwfsx+OJWckGO6W WMjwMU7w10o0nnis7yrA9W7ac2ZD9z/OTsbyY1B4rwuMMBLbm1OzrAkLRgygBtnXjt1p NoDxQm3/4N6lfZrgCazThfCBS2/gvcqgTleTZGKevzDTLNJqUTgy/tdFWlLZGobhOJjX aSug== X-Forwarded-Encrypted: i=1; AJvYcCWmnGn+bSQjG/n4THY4hpRpMgnwrfzLYJ3F5kJejcM4RDnglNM8iB2iLMfGaNDrM6qw+jyKmwveIn5cjGg=@vger.kernel.org X-Gm-Message-State: AOJu0YzQ2glfY3FbcyhfbdFHxdRijZuIDAg6nL2L/bvHoeyzi0CuIAYx hVoEnT5F+RMPEoje2vk9Xt4GZsANroRufYJ/RTL/QwR7bkJMt+uUubOBw9+HSQ== X-Gm-Gg: ASbGncvwbh1UGtk6gmb2+ZjjDUnUoZdOy1KR3BmMz8Ks/Jzz1N20CDIR9+t6fwV2fe6 RiZL2LgqQIWu3V4SJLrOJzxKaB1eei2n27AdiVXd4TBDXEUwfGaNrwUqV3nkyoutTqOvnFb2Ekh Xv2aY3Hh1IpWDX746oRBgjgb22fZ5UZkeGV8GZltdy9c0NUBnH/GBkDjARETuEEC2+5C2ffI4kA Qzyb2YvwvvX2hZmTjk5r0pp9lp0m1p5dtxSoD3myo39HT9ScTEx9rFdvO4ABJTm8mNtZiWZFLiZ X-Google-Smtp-Source: AGHT+IFu7otqKCCIAbXozs9Yi25BzurouHYPRUn+yFnfSXfUKFQHp3WyFH7S4/kldp390+NNufFNOg== X-Received: by 2002:a17:902:ccc2:b0:216:4165:c05e with SMTP id d9443c01a7336-21a83f67982mr5749945ad.24.1736280499600; Tue, 07 Jan 2025 12:08:19 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:2961:4bbc:5703:5820]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc962d47sm314263425ad.55.2025.01.07.12.08.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jan 2025 12:08:18 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: Roxana Bradescu , Julius Werner , bjorn.andersson@oss.qualcomm.com, Trilok Soni , linux-arm-msm@vger.kernel.org, Florian Fainelli , linux-arm-kernel@lists.infradead.org, Jeffrey Hugo , Scott Bauer , Douglas Anderson , stable@vger.kernel.org, James Morse , linux-kernel@vger.kernel.org Subject: [PATCH v4 5/5] arm64: errata: Add newer ARM cores to the spectre_bhb_loop_affected() lists Date: Tue, 7 Jan 2025 12:06:02 -0800 Message-ID: <20250107120555.v4.5.I4a9a527e03f663040721c5401c41de587d015c82@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20250107200715.422172-1-dianders@chromium.org> References: <20250107200715.422172-1-dianders@chromium.org> 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 Content-Type: text/plain; charset="utf-8" When comparing to the ARM list [1], it appears that several ARM cores were missing from the lists in spectre_bhb_loop_affected(). Add them. NOTE: for some of these cores it may not matter since other ways of clearing the BHB may be used (like the CLRBHB instruction or ECBHB), but it still seems good to have all the info from ARM's whitepaper included. [1] https://developer.arm.com/Arm%20Security%20Center/Spectre-BHB Fixes: 558c303c9734 ("arm64: Mitigate spectre style branch history side cha= nnels") Cc: stable@vger.kernel.org Signed-off-by: Douglas Anderson Reviewed-by: James Morse --- (no changes since v3) Changes in v3: - New arch/arm64/kernel/proton-pack.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pac= k.c index 89405be53d8f..0f51fd10b4b0 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -876,6 +876,14 @@ static u8 spectre_bhb_loop_affected(void) { u8 k =3D 0; =20 + static const struct midr_range spectre_bhb_k132_list[] =3D { + MIDR_ALL_VERSIONS(MIDR_CORTEX_X3), + MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2), + }; + static const struct midr_range spectre_bhb_k38_list[] =3D { + MIDR_ALL_VERSIONS(MIDR_CORTEX_A715), + MIDR_ALL_VERSIONS(MIDR_CORTEX_A720), + }; static const struct midr_range spectre_bhb_k32_list[] =3D { MIDR_ALL_VERSIONS(MIDR_CORTEX_A78), MIDR_ALL_VERSIONS(MIDR_CORTEX_A78AE), @@ -889,6 +897,7 @@ static u8 spectre_bhb_loop_affected(void) }; static const struct midr_range spectre_bhb_k24_list[] =3D { MIDR_ALL_VERSIONS(MIDR_CORTEX_A76), + MIDR_ALL_VERSIONS(MIDR_CORTEX_A76AE), MIDR_ALL_VERSIONS(MIDR_CORTEX_A77), MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1), MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_4XX_GOLD), @@ -904,7 +913,11 @@ static u8 spectre_bhb_loop_affected(void) {}, }; =20 - if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k32_list)) + if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k132_list)) + k =3D 132; + else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k38_list)) + k =3D 38; + else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k32_list)) k =3D 32; else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k24_list)) k =3D 24; --=20 2.47.1.613.gc27f4b7a9f-goog