From nobody Wed Dec 17 16:17:59 2025 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (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 66570DF60 for ; Sat, 14 Dec 2024 00:53:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137591; cv=none; b=avCXhp4FoTjCakxtYfpadPveZgFUOhsFR4jh+ouXHueX8DodQB+XtjlZE8HWLCSjA6bp53mUARuHUgWG9YWADZWhjGw6SZQpr2WE21SbP/kHzYyGcTzli5G7svFNWiv+q7pj43L9EaXjQ9zmHrVfTkbWu7eOAZK+3VO/w9b/i/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137591; c=relaxed/simple; bh=9VcI1y4DrqTHAqxzGhnqIkcAzN8r48f8mRzXZKwipic=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ocTWnStrzb3frzG1bbQtwAbcFwSubzT++DKH2wQeVGqr+743rxcSXLcCPEMVR0FPDI50aucohLkfKFWRB50iEDBmhD2QtV/j6U4C79rVbK6A3Wu7gx4qV5jKhdinemejkhGMumx2XAz8tPMhjg/ioqRRPiw2G6/dEMI8ABJ/kJU= 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=XZhzuWgi; arc=none smtp.client-ip=209.85.216.50 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="XZhzuWgi" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-2ee989553c1so1951700a91.3 for ; Fri, 13 Dec 2024 16:53:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734137589; x=1734742389; 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=HCYhLJZhR58ewaFrjgMGyGbHfnpNdzHm23IqgQZ/0wM=; b=XZhzuWgiWcMoHTc1oBI2ureLcOzeudbOg7Sl9c9eMJx03AbZgEc9ZyLe08aNBR/CRn gEUDvPZJ19Gx63EvcNB4tMIB5kZHkMfz6CO8+J0Ss3LsRL8cr6oFwiJ2dbXpFTHi7enT tGwu9cOXFQmAHinwhGahaSsENDbxIrwXf1/q4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734137589; x=1734742389; 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=HCYhLJZhR58ewaFrjgMGyGbHfnpNdzHm23IqgQZ/0wM=; b=GDRDrSHUCUEmDtbIAlLNXeRU1ijME/4dadft8SoaWDNUluf5ZkIngX8a3RjZq5y3pe y8Skn+MgBNy41LNdsyyDi8dML6NA7K44y0nrsMRg/6TUaWvFtIV7skzr+m/TDbzBCJfU o5NhLZIPMgawFRulUcFalOqLmkvLFvHd+xhKAPuLYnnJfbauJRyPCzw+4y777e+Aw1Gc wlPFP1W/4GJGMdhCuWJvCkVv/Rv/suhykRhIZYCAjnUp4IvTH19qs/fyGN1/K9pbxnWJ +u4x09pw90HQLPufS5FBI4/A/S1EjETIto2pjKREHnok3UM64DETIw+qX24wd7ORyvso 2GJw== X-Forwarded-Encrypted: i=1; AJvYcCVV1bz+YFGXXy9fUm0wfqkiHzHK1UhSs4p98zDPQsS2ymGNHUlEz9I0wANXaqu5loOK1ndeGZpre6zpPHc=@vger.kernel.org X-Gm-Message-State: AOJu0YzE2u39JMMdi+xkgP0Yo8BP9Qdqz3ougBX1LJ8M+GXoMhP2bh0g 0Aoigjq+rJThunmSTVfG3Pb6PVFUrrStR8YRxihUW1NSguE67r2Z0SRdSmMGFg== X-Gm-Gg: ASbGncvHu+B0UiaBxEkJjZHIBKrS+GqkUXOFglqbuRTbBYZO2KvHK8EvyXcip6UF+gY v1yWqb+4D8+Kl2rBebGL60DcHKE+AuqBdtLjfyxGWxPC4LdpjxWpLS9D5gL68+9PowhCdTltnDu qmGt1OxU/u3UAFMdalcUGUjhDV1zjReLzdLRFORAznXCWcTmSk52sTpdMYO3Rql9JRkUnuKgv5t j9Qefb7JLqgOwjctgy0IroI5c5hi2MxXnVERA36ijww1pL26pEKNWHFKL1x1u3c+tHK29pmZWmp X-Google-Smtp-Source: AGHT+IGyZAYcBNhvS6uotk+yKNrfDXGIRBKVBPzRwnHoQvCbP1TZ1iFVgP8Qo1WHFe4yMk8mfH9X9g== X-Received: by 2002:a17:90b:4d08:b0:2ee:ab10:c187 with SMTP id 98e67ed59e1d1-2f28fd6b5f3mr6479214a91.18.1734137588765; Fri, 13 Dec 2024 16:53:08 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:ae86:44a5:253c:f9bf]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142f9e186sm3788270a91.41.2024.12.13.16.53.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 16:53:08 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: linux-arm-msm@vger.kernel.org, Jeffrey Hugo , Julius Werner , linux-arm-kernel@lists.infradead.org, Roxana Bradescu , Trilok Soni , bjorn.andersson@oss.qualcomm.com, Douglas Anderson , stable@vger.kernel.org, James Morse , linux-kernel@vger.kernel.org Subject: [PATCH v2 1/6] arm64: errata: Assume that unknown CPUs _are_ vulnerable to Spectre BHB Date: Fri, 13 Dec 2024 16:52:02 -0800 Message-ID: <20241213165201.v2.1.I2040fa004dafe196243f67ebcc647cbedbb516e6@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241214005248.198803-1-dianders@chromium.org> References: <20241214005248.198803-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" The code for detecting CPUs that are vulnerable to Spectre BHB was based on a hardcoded list of CPU IDs that were known to be affected. Unfortunately, the list mostly only contained the IDs of standard ARM cores. The IDs for many cores that are minor variants of the standard ARM cores (like many Qualcomm Kyro CPUs) weren't listed. This led the code to assume that those variants were not affected. Flip the code on its head and instead list CPU IDs for cores that are known to be _not_ affected. Now CPUs will be assumed vulnerable until added to the list saying that they're safe. As of right now, the only CPU IDs added to the "unaffected" list are ARM Cortex A35, A53, and A55. This list was created by looking at older cores listed in cputype.h that weren't listed in the "affected" list previously. Unfortunately, while this solution is better than what we had before, it's still an imperfect solution. Specifically there are two ways to mitigate Spectre BHB and one of those ways is parameterized with a "k" value indicating how many loops are needed to mitigate. If we have an unknown CPU ID then we've got to guess about how to mitigate it. Since more cores seem to be mitigated by looping (and because it's unlikely that the needed FW code will be in place for FW mitigation for unknown cores), we'll choose looping for unknown CPUs and choose the highest "k" value of 32. The downside of our guessing is that some CPUs may now report as "mitigated" when in reality they should need a firmware mitigation. We'll choose to put a WARN_ON splat in the logs in this case any time we had to make a guess since guessing the right mitigation is pretty awful. Hopefully this will encourage CPU vendors to add their CPU IDs to the list. Fixes: 558c303c9734 ("arm64: Mitigate spectre style branch history side cha= nnels") Cc: stable@vger.kernel.org Signed-off-by: Douglas Anderson --- Changes in v2: - New arch/arm64/kernel/proton-pack.c | 46 +++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pac= k.c index da53722f95d4..39c5573c7527 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -841,13 +841,31 @@ enum bhb_mitigation_bits { }; static unsigned long system_bhb_mitigations; =20 +static const struct midr_range spectre_bhb_firmware_mitigated_list[] =3D { + MIDR_ALL_VERSIONS(MIDR_CORTEX_A73), + MIDR_ALL_VERSIONS(MIDR_CORTEX_A75), + {}, +}; + +static const struct midr_range spectre_bhb_safe_list[] =3D { + MIDR_ALL_VERSIONS(MIDR_CORTEX_A35), + MIDR_ALL_VERSIONS(MIDR_CORTEX_A53), + MIDR_ALL_VERSIONS(MIDR_CORTEX_A55), + {}, +}; + /* * This must be called with SCOPE_LOCAL_CPU for each type of CPU, before a= ny * SCOPE_SYSTEM call will give the right answer. + * + * NOTE: Unknown CPUs are reported as affected. In order to make this work + * and still keep the list short, only handle CPUs where: + * - supports_csv2p3() returned false + * - supports_clearbhb() returned false. */ u8 spectre_bhb_loop_affected(int scope) { - u8 k =3D 0; + u8 k; static u8 max_bhb_k; =20 if (scope =3D=3D SCOPE_LOCAL_CPU) { @@ -886,6 +904,16 @@ u8 spectre_bhb_loop_affected(int scope) k =3D 11; else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k8_list)) k =3D 8; + else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_safe_list) || + is_midr_in_range_list(read_cpuid_id(), spectre_bhb_firmware_mitigated_= list)) + k =3D 0; + else { + WARN_ONCE(true, + "Unrecognized CPU %#010x, assuming Spectre BHB vulnerable\n", + read_cpuid_id()); + /* Hopefully k =3D 32 handles the worst case for unknown CPUs */ + k =3D 32; + } =20 max_bhb_k =3D max(max_bhb_k, k); } else { @@ -916,24 +944,26 @@ static enum mitigation_state spectre_bhb_get_cpu_fw_m= itigation_state(void) } } =20 +/* + * NOTE: Unknown CPUs are reported as affected. In order to make this work + * and still keep the list short, only handle CPUs where: + * - supports_csv2p3() returned false + * - supports_clearbhb() returned false. + * - spectre_bhb_loop_affected() returned 0. + */ static bool is_spectre_bhb_fw_affected(int scope) { static bool system_affected; enum mitigation_state fw_state; bool has_smccc =3D arm_smccc_1_1_get_conduit() !=3D SMCCC_CONDUIT_NONE; - static const struct midr_range spectre_bhb_firmware_mitigated_list[] =3D { - MIDR_ALL_VERSIONS(MIDR_CORTEX_A73), - MIDR_ALL_VERSIONS(MIDR_CORTEX_A75), - {}, - }; bool cpu_in_list =3D is_midr_in_range_list(read_cpuid_id(), - spectre_bhb_firmware_mitigated_list); + spectre_bhb_safe_list); =20 if (scope !=3D SCOPE_LOCAL_CPU) return system_affected; =20 fw_state =3D spectre_bhb_get_cpu_fw_mitigation_state(); - if (cpu_in_list || (has_smccc && fw_state =3D=3D SPECTRE_MITIGATED)) { + if (!cpu_in_list || (has_smccc && fw_state =3D=3D SPECTRE_MITIGATED)) { system_affected =3D true; return true; } --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Wed Dec 17 16:17:59 2025 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 BE30617543 for ; Sat, 14 Dec 2024 00:53:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137593; cv=none; b=c/C5coyiYoMczN2gm6qpBMNZR8oMrvpTjmTosddxXJ0zn4oyz8a8OslhXIaRm2wS6A48RB1bENI41yrLqx17cy95rIot+BRKTSVGhIlso2Iz4fSyOwwFZdGIzpWa2cmj2hz6sigPEpB5OHIP6QGIkRhrIgkpmoETiql/PJM4kpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137593; c=relaxed/simple; bh=XJYoVV8JvXnn2NiRA98wpV2UEbpgwE4/KHVxl3uEyMQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HPsDje0CF1FpeEHZnAiPrVYc/MZrbDYIA+nWI9mZL+n7eXn+0qeShIoUA16nKM2BElKCMFdq8+HW4Rm/oqhsfEn0qG6nDVVNux+8yq8BsHryhXr6u7Qa35oCYEfz7pC6mb7BQvXnxK4lF9+wOrVpr5/LSpvfzU87mPKOnIQGk3A= 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=YMpYUjip; arc=none smtp.client-ip=209.85.215.179 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="YMpYUjip" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-8019338c2b2so1710307a12.3 for ; Fri, 13 Dec 2024 16:53:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734137591; x=1734742391; 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=lb40kxSySziI3vHFr8SIoDrNL6+Q2SvOcQax38nrL70=; b=YMpYUjipeqgd3d+86PYmi/8aaRdHXrJB+kDlh/kGvDKOI/oPhe4BawB4oowi4YjciO Mwn1u117Ukt3WScrLoOAJgIMDqV1UhKg+GNTWqkR+KvpHpY8NqHfWycYGfAm20Z9ggmu ECbKxBttSkpIpTheg8qAdzhT7MQGmSNqwD5lg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734137591; x=1734742391; 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=lb40kxSySziI3vHFr8SIoDrNL6+Q2SvOcQax38nrL70=; b=dcROjplAcJeutRlbiD2WrS9XUSXyjwUFPJXTJWn0CgZYxaDMDvOqUKs3CQGUKEPd3l OH8aLGPj6R4F6/JAvLkSv6gKqUgmK19d1XWWP5AX+O6MpB8n0m1FDBWkSLYhh4omdoaf ioBCFAUZA6MVAIV2ZLdgLpZrd8QNAsiQD51yg4Gg+sFjZynTqosmy9psX/8G+Jurmaqv teiL7qE2CMUD9AGrfxOrDTViWf8gOhsH11O9iy2cqzSgicWFRUaG+fZEyZHSbJoWKbK2 UtqcoB5a7hrBp0A38pXfoKGK2TKFcK3UcyFRfC+6/8cORiOoHt2PO8sYWGcfCSwraEOn utSg== X-Forwarded-Encrypted: i=1; AJvYcCWMBgO9QY6b+21zqrThxsa9dicxqHyKkEKx+Kgr1HzolmEfQZmkoXdvWxtfg+HR1kwbI4FwmFNhAYsDuoY=@vger.kernel.org X-Gm-Message-State: AOJu0YwrCs1AzfksDMA5bPmJUPmIL7ed2AFqtFkb2tSyKkoLfMPdqN4+ CNw/2Zb8uJb55FEokr5tDFLNrHr8xVUj7wONPunn4kgnV2F3DZbHTIJ7dmWDCw== X-Gm-Gg: ASbGncsUODifJYiM3K4yh+f8IMI+n3ubIFRRl/iXUqBbTF4KYKLgTAp/aTtkQGY4oCw zJRejQsnUm42KCEodfLaI18K0rnbzVEOCEaPk/Ji5TchhsMA2J0iubkUQRk4hckzia7awp95Ney ofgaByxF6cJPries8+NNdPOIgHDSWg0JhCcI8uiIUHTzet63bf0Mh8WLQtc5WomwHnU2/edVfMS HcnTn/4MY/SzZOkiDXoYrMqF1xdo4ZJ+oL2JogTGkqnSoVFvqQOrxjf5nUz2mObiuX9P9PyFOKw X-Google-Smtp-Source: AGHT+IHA02wdX7gbQpc2VM52GOd1+IrxDgEcszoQJP7VGIrV4tHzcaG0wjdjW5xSAzMH6mwnDjKcmA== X-Received: by 2002:a17:90a:d450:b0:2ee:f687:6ad3 with SMTP id 98e67ed59e1d1-2f290d96c48mr6152633a91.28.1734137590982; Fri, 13 Dec 2024 16:53:10 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:ae86:44a5:253c:f9bf]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142f9e186sm3788270a91.41.2024.12.13.16.53.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 16:53:10 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: linux-arm-msm@vger.kernel.org, Jeffrey Hugo , Julius Werner , linux-arm-kernel@lists.infradead.org, Roxana Bradescu , Trilok Soni , bjorn.andersson@oss.qualcomm.com, Douglas Anderson , stable@vger.kernel.org, James Morse , linux-kernel@vger.kernel.org Subject: [PATCH v2 2/6] arm64: errata: Add KRYO 2XX/3XX/4XX silver cores to Spectre safe list Date: Fri, 13 Dec 2024 16:52:03 -0800 Message-ID: <20241213165201.v2.2.Iab8dbfb5c9b1e143e7a29f410bce5f9525a0ba32@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241214005248.198803-1-dianders@chromium.org> References: <20241214005248.198803-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" The 2XX cores appear to be based on ARM Cortex A53. The 3XX and 4XX cores appear to be based on ARM Cortex A55. Both of those cores appear to be "safe" from a Spectre point of view. While it would be nice to get confirmation from Qualcomm, it seems hard to believe that they made big enough changes to these cores to affect the Spectre BHB vulnerability status. Add them to the safe list. Fixes: 558c303c9734 ("arm64: Mitigate spectre style branch history side cha= nnels") Cc: stable@vger.kernel.org Signed-off-by: Douglas Anderson --- Changes in v2: - New arch/arm64/kernel/proton-pack.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pac= k.c index 39c5573c7527..012485b75019 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -851,6 +851,9 @@ static const struct midr_range spectre_bhb_safe_list[] = =3D { MIDR_ALL_VERSIONS(MIDR_CORTEX_A35), MIDR_ALL_VERSIONS(MIDR_CORTEX_A53), MIDR_ALL_VERSIONS(MIDR_CORTEX_A55), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_SILVER), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_3XX_SILVER), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_4XX_SILVER), {}, }; =20 --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Wed Dec 17 16:17:59 2025 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (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 0A39F219E4 for ; Sat, 14 Dec 2024 00:53:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137595; cv=none; b=LlIZtCtDY+22FnCdhO1n7y7nVelFtkvCH20GvTdv4wSE82TRLJIRmtU83gCLh37HSv/osB5XvRC7MiPrEpXEiy90UdV5sncFQSBVp1LgSb2Z3NbctpaGR0MV30XMWGiyao7LXpZ790Q2qGsw/dF1+6VihMLg59jT84GSsFUGn0M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137595; c=relaxed/simple; bh=V7gKntkQ8bwv+lZaockCmjTF5uEC8vW5YtYKvCaU2Ck=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CZubHULUU9+pMF3a5CwOqkOnAE7TX/YjTUHnE8PbYS2QtrjnJlVv8qt+YB896uN4SApBffpFBJkPKkeRE37z+pqBF/EIGjKOBhLm00yVJTd6mn7hpcf2s4sk/OQUe3UaH39qFkc2U7w+dOOEJxCfMYEJS9KhrZtRBDTJpIhTCMI= 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=oYcM4koi; arc=none smtp.client-ip=209.85.215.182 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="oYcM4koi" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-7fcf59a41ddso1456477a12.3 for ; Fri, 13 Dec 2024 16:53:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734137593; x=1734742393; 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=aUvE2f6iOzNwCrYNdrQY+FL/vDHn4ndwLWchPd2QhtQ=; b=oYcM4koiQzAZLEfY3lLfB8Eg/+jZLKhC+RDOkk0iMvD1IZ4szKZz7VsKMcxvQFEoMi 8SjDmFAT7VHHLV14kp9igz74bRjd2zw3H4vr0pZAtavzuSmwLFR7M0DgODsqdji9NfhN Bq8wYqP4cKeQFMpZ1sz0iVdaLhQs2PenGONpI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734137593; x=1734742393; 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=aUvE2f6iOzNwCrYNdrQY+FL/vDHn4ndwLWchPd2QhtQ=; b=ftqANcgf/IfIS/4FHGw3nJJlxZbNogwWa5BtdRDpcggS6yRms2ml//nnkVnntoT2pJ sTBPzDkeJqNh3mwf8ZQLlN175+brnbjHKxti4R1PA3vR3H+Ofk2ErAIHA6/6tGeRwB8U nuSvuCbA1fXCLpvUHxtIrIwbWyWSzXeK3vbFIIESFq+7f6IhJVtOM2ehH5zazTba/OM/ q90arWKoOBO2TZ+O75YlnZC6TsnZ7y71ualXRPPjlqv+a/tiePkrsq79Lv7cafLBSX7E 9uM1zD1wqLNO6/i3fOJHgwN3AkMDdL7scBqURsw52l8VKn6FG/zujIkbw3DHGyYRasaM a7IQ== X-Forwarded-Encrypted: i=1; AJvYcCVcEyu8U2IVNNYwJ2TF5gv7GwjAQFeadEQs9MlPpD2KHKqX+Od4VpTE8yHDPW0Gy1mZEySk1AYztb84Rmg=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh3Bz+O3+U0rNtViHSNVoU92CUc7o8NRzGjwki3L5MBztBb+Df jYlnwYUvl/u1rRvleLqlrk/Ir+9Mivnl8VCCnV4u/Tqtzv99JcF1swiwl8gEPA== X-Gm-Gg: ASbGncu+SseWcTfY/GYQbA/+/faalE3iyC9rvS/63EkKf2Yhcig/tnGwm7UbOkhz5er pxj1SePaNM5AWIEXagXSYvKe04kxTSwby8CdGerulgwx1xLD/qmPhQ0R3m33eK6lUk7sj7u2+pd M5oGWgrY/+bElc8lHte6+qyyVbnMuBSg6xGlADpniAIhZjqoofsMCHFufddYfm5xKfUGzDsyOVV l38y1c8VlHemuhifaCjrTTU8AHXfMEyi6v4EMJDWWSh8GxMyhrzjHEqUv9Y6hFV62UaGbyDaOd5 X-Google-Smtp-Source: AGHT+IGU2S6Z3GVHm0+57veKVF9GWyDASh7uUNfkbmZbC9Zjun4Gf1t3LPe02j8X69XemOFEZkD8aQ== X-Received: by 2002:a17:90b:3c02:b0:2ee:c9d8:d01a with SMTP id 98e67ed59e1d1-2f28fb63bf1mr6635097a91.11.1734137593296; Fri, 13 Dec 2024 16:53:13 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:ae86:44a5:253c:f9bf]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142f9e186sm3788270a91.41.2024.12.13.16.53.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 16:53:12 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: linux-arm-msm@vger.kernel.org, Jeffrey Hugo , Julius Werner , linux-arm-kernel@lists.infradead.org, Roxana Bradescu , Trilok Soni , bjorn.andersson@oss.qualcomm.com, Douglas Anderson , stable@vger.kernel.org, James Morse , linux-kernel@vger.kernel.org Subject: [PATCH v2 3/6] arm64: errata: Add QCOM_KRYO_4XX_GOLD to the spectre_bhb_k24_list Date: Fri, 13 Dec 2024 16:52:04 -0800 Message-ID: <20241213165201.v2.3.Ie4ef54abe02e7eb0eee50f830575719bf23bda48@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241214005248.198803-1-dianders@chromium.org> References: <20241214005248.198803-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" Qualcomm Kryo 400-series Gold cores appear to have a derivative of an ARM Cortex A76 in them. Since A76 needs Spectre mitigation via looping then the Kyro 400-series Gold cores also should need Spectre mitigation via looping. Fixes: 558c303c9734 ("arm64: Mitigate spectre style branch history side cha= nnels") Cc: stable@vger.kernel.org Signed-off-by: Douglas Anderson --- The "k" value here really should come from analysis by Qualcomm, but until we can get that analysis let's choose the same value as A76: 24. Ideally someone from Qualcomm can confirm that this mitigation is needed and confirm / provide the proper "k" value. ...or do people think that this should go in the k32 list to be safe. At least adding it to the list of CPUs we don't warn about seems like a good idea since it seems very unlikely that it needs a FW mitigation when the A76 it's based on doesn't. ...or should we just drop this until Qualcomm tells us the right "k" value here? Changes in v2: - Slight change to wording and notes of KRYO_4XX_GOLD patch arch/arm64/kernel/proton-pack.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pac= k.c index 012485b75019..04c3f0567999 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -887,6 +887,7 @@ u8 spectre_bhb_loop_affected(int scope) MIDR_ALL_VERSIONS(MIDR_CORTEX_A76), MIDR_ALL_VERSIONS(MIDR_CORTEX_A77), MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_4XX_GOLD), {}, }; static const struct midr_range spectre_bhb_k11_list[] =3D { --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Wed Dec 17 16:17:59 2025 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (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 0D8153A1CD for ; Sat, 14 Dec 2024 00:53:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137598; cv=none; b=KC4UCkFq/nboUwDjcPiXrHE3DAjAASMTfwDyrXoAwmtqaT1xDPzE4g3RjmeFHcGFAMUhrUKVJOmZ8pcu8F+/yALfqsQGrsaYxc3/fLI7B474fjNV+gWZruHFHy7vf3fUBbDbaVJKPExxPqTGWMKM8suEwVpBHVxfdOlc5oAgD84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137598; c=relaxed/simple; bh=DRY0q/4lkC+b+1JUfhPJH5/uaKyj3aTDNMkw3d4TEtA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ec3DEGG+JaDBGJeceHTXOXUCl5U68csdbqOpvnYP2qm8gLdXm9N4oZFH9TtFQE3GgLtWiyrbn6Wyu8c0aLZO4S6uB0+zoFXtvfbEb3RQmKUQfKj/00Jgon+PjA+gBNeJEKQhaxdERnBeg88Xa7QAkcJJKrMfIMhDdh70m3bHBXk= 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=GHL4kUZj; arc=none smtp.client-ip=209.85.215.170 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="GHL4kUZj" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-7fc41b4c78bso1202675a12.3 for ; Fri, 13 Dec 2024 16:53:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734137595; x=1734742395; 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=iDl/86yemlzCX5AmWhge7CoGQnGj7feSxXoMoerczhc=; b=GHL4kUZjkPzxKX1jDExTn8dwjkfBeXQlCWHpgGr0ReFoOfNeVe6FmegXcR7b4eZEn+ oZw0cYSWuW5TtTdSZLsEMEC29biGthIEZPi6iu2z1rTty6sskaE8S/AJVmpSxFEZPluV YfzD/h2JNRDR4y6yccpfDsbdqTGuK0bHta9dI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734137595; x=1734742395; 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=iDl/86yemlzCX5AmWhge7CoGQnGj7feSxXoMoerczhc=; b=D5+7skN0T5Gj+GfFaHcrmtXkvflGjENtXfg5615Z1tJsWZOPdNKZcyHqJlwFBHKJjR sDje9aTZVhgwfvW1S6eoXCVAJJPCHhXaAcIgbGDbrK11jSMU2/BucsarMpfUuqx7QcIO UOjbHwWqNd3PBxVgUMVshbGWKmqWUJfntYUkrmO+rZtZlL7D/OGiRIoZfSvqB5M8xGsu RW8X+L3jYaC5NR3eXqhINir7E2fowf/aC42aWCHFHcxtvnR9XUtzcFXPrQ9Nk8Ptvj3p rlBnypNkOAnSr6TILiPg8O99kG82+wd/03ESKj/NBFs2ZcEioiqUwTR3Na3eECIYpSH6 MYWg== X-Forwarded-Encrypted: i=1; AJvYcCWCOnZR+IHL8vetpZGu/Sa2dIaBpA8M4rs1zPQ+J2E2Nq0c1ztEMdEaW3tTH4XWxsCw5GOkzL6WLEyYCkw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0HtFUK/9/1AAmdPULPtlrK40m3Q1+QxHv7ap27IYHrNqKadBe EZq7fCibRhETOfS/AZpw53mCgY7ugvyQC1rUed10gVrrAtSMwJj1tdzKBTDP5A== X-Gm-Gg: ASbGnctU+ei0bQS1V6Wwve5rhwULIQ97gYCPk0iMtKVungwEWqxMocizMvM+72iwlp8 dLX4qXTfAmNHDnQftEW0ShcDs9iMFoB1yWQtK9ZG7Nbl9JH20xRNaLi8Ka5cnIJpP/Bx04asi6v Vt7Ec6ximfdf3HAJuphpo4IeJK+foLEXP/swhoIaFUJAzprQ3ocrXizObNE2TdBZcE728Hmtkgh XxFeVbsSgV+AH+uMGxc4DECKeclZRXBFdHrbaZN4L8yPtRUICHfG1thBo+rd1HEOAN7HHfBGMTl X-Google-Smtp-Source: AGHT+IEWnlkjBeBQBC3iIoArI1oOo5CsVi/i/Wbk8mN1sXE73heVuvKgGafObymqxw6xhGs3c8XA1A== X-Received: by 2002:a17:90b:4b51:b0:2ee:d186:fe48 with SMTP id 98e67ed59e1d1-2f2900a6737mr6197559a91.28.1734137595490; Fri, 13 Dec 2024 16:53:15 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:ae86:44a5:253c:f9bf]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142f9e186sm3788270a91.41.2024.12.13.16.53.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 16:53:14 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: linux-arm-msm@vger.kernel.org, Jeffrey Hugo , Julius Werner , linux-arm-kernel@lists.infradead.org, Roxana Bradescu , Trilok Soni , bjorn.andersson@oss.qualcomm.com, Douglas Anderson , stable@vger.kernel.org, James Morse , linux-kernel@vger.kernel.org Subject: [PATCH v2 4/6] arm64: errata: Add QCOM_KRYO_2XX_GOLD to the spectre_bhb_firmware_mitigated_list Date: Fri, 13 Dec 2024 16:52:05 -0800 Message-ID: <20241213165201.v2.4.Ia3dfc0afadbfbee81bb2efb0672262470973dd08@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241214005248.198803-1-dianders@chromium.org> References: <20241214005248.198803-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" Qualcomm Kryo 200-series Gold cores appear to have a derivative of an ARM Cortex A73 in them. Since A73 needs Spectre mitigation via firmware then the Kyro 200-series Gold cores also should need Spectre mitigation via firmware. Unless devices with a Kryo 2XX gold core have a firmware that provides ARM_SMCCC_ARCH_WORKAROUND_3 (which seems unlikely at the time this patch is posted), this will make devices with these cores report that they are vulnerable to Spectre BHB with no mitigation in place. This patch will also cause them not to do a WARN splat at boot about an unknown CPU ID and to stop trying to do a "loop" mitigation for these cores which is (presumably) not reliable for them. Fixes: 558c303c9734 ("arm64: Mitigate spectre style branch history side cha= nnels") Cc: stable@vger.kernel.org Signed-off-by: Douglas Anderson --- I don't really have any good way to test this patch but it seems likely it's needed. If nothing else the claim is that that Qualcomm Kyro 280 CPU is vulnerable [1] but I don't see any mitigations in the kernel for it. NOTE: presumably this patch won't actually do much on its own because (I believe) it requires a firmware update (one adding ARM_SMCCC_ARCH_WORKAROUND_3) to go with it. [1] https://spectreattack.com/spectre.pdf Changes in v2: - Rebased / reworded QCOM_KRYO_2XX_GOLD patch arch/arm64/kernel/proton-pack.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pac= k.c index 04c3f0567999..3b179a1bf815 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -844,6 +844,7 @@ static unsigned long system_bhb_mitigations; static const struct midr_range spectre_bhb_firmware_mitigated_list[] =3D { MIDR_ALL_VERSIONS(MIDR_CORTEX_A73), MIDR_ALL_VERSIONS(MIDR_CORTEX_A75), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_GOLD), {}, }; =20 --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Wed Dec 17 16:17:59 2025 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 DB6057DA95 for ; Sat, 14 Dec 2024 00:53:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137601; cv=none; b=QeWzHErH7pe6HlIWwfUwLyiV5XY1AU7/B8T2xs+CdC18iLpkHcjzGAFiCwAvmTK/rGky97YkaJgDbLP/Zn2RdjVnHy0lNI3xNmyGMtPYQzc/6NoFpoT3zFzKt/aOgfMyV44udnnuZfc2CVzg+PJpJDndJtdE12jUUtQkhrLaL8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137601; c=relaxed/simple; bh=wtOPnKbsorF7XJRH1GXzXj2KmpV4JSzbTQjjrqjiA1M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aVVi1StXHXdDHGSPqTLHoj6Ba9kx8oUum17o9B/tLa15eALGnDVZ95+lqKeMqri1XUaEbrOnt6M//oEY79XJaN+/Nd8nlVxPKnW9w0oraeII9YSRXKxASY+qZnZYOYjTjvzL52hMPTZEmoBHbfuqoKdaOjtnvDcPi6p4Nf5M/1k= 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=dnexty68; arc=none smtp.client-ip=209.85.216.42 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="dnexty68" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-2efd81c7ca4so1578852a91.2 for ; Fri, 13 Dec 2024 16:53:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734137598; x=1734742398; 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=wrdqv5su9sKfrkNYXwk3VMWny97c1fSpv0cdthxhYIM=; b=dnexty68MmZaR2XUnmm8HfrxZKDViRGTfHbMiwe8Du5vrjkrHxU2BiyoSs4MR2U1LT eK6VvUTg30WllBGRgxU4qJfL1G4jyZq1W/2+daHbUWuztmkSoe0xgMrOExMZwLA6WGIJ CCHPcvCsY7eVFf6q/M++P0NBfDvhlzS9kRSTo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734137598; x=1734742398; 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=wrdqv5su9sKfrkNYXwk3VMWny97c1fSpv0cdthxhYIM=; b=ht3X4jnTtnIiHoB6N+EGuhq+j29WMNbFItt+fg0Q001OqTJQzYbMsmtbCjnHfrXgE1 en6AdhhgbRTC1a0KtsmFAJr85kU/lS3a2uR06bIOWqk/sbFKV2vufrXJbxRkSm5l19fL AsEczYCemLD1Qcgy+2MN5O+GiohZemIzk/NqVT6vcSjuCBmvhYKSMzJdDKoABuXM/LW6 BliH1Wmj41OrdXy3Cgw+/K41YahNQ88lKJlGzDrHzd/z85ARhvY51eEXT2ppfHnKps6h eB6xLZcteT2wE+Gb5QfkZ/PEsIyYnaKvve6LPQTYPbRR79UyxzCy69N8UagOqS+exjIG zatg== X-Forwarded-Encrypted: i=1; AJvYcCU2kBuz4jNLUkvD8sRT+W1kwdHi9ScM6pFyB67f1V3p+PUrgpFQTFiF/Famdh1cpecqbd9vhnlFoNPcQsA=@vger.kernel.org X-Gm-Message-State: AOJu0Yzb8acfxTu1QxZvjmY8Wz0lAYO+ZkmnJ77HRr8QzMdUywiFKd9C PBJvEVcinYEhX3G0Uvw5mCJmWWopr4KK6VgufQXLVOkkInzzw9M7aQQ6HJnILQ== X-Gm-Gg: ASbGnctXQHce2kj0+h/rQeyNNCiGQeksKDXIhGHkbkJfzyy6depWwTU7yLntbSCRy0K 5GHSbxJwqjLep83Cy64ygbZGrxCdSZE5ZeWvrcBJicOLYc1gDR+sG9M0aMvYWtZ8Ke+uZ5Vim8n GCuiw1wD/KGPwESSinMsAn9sKzelYfD/rnugDtHPuRQguXd5AbLOZiH10QuWPQR+QlcSIwZ885i HPgO/2iz//o4M9XORxEPOrH/lwjQehrHF+AQOiuqKteS2aFfHy43mf6cTgqjaxYjYQnSSGRfxyz X-Google-Smtp-Source: AGHT+IHOcPfHNBrkQn6M2DPoYqrW9wGOVpvFmhjU4MB0966dHygCTCiPIakP//mkJvwDEs162n4ynA== X-Received: by 2002:a17:90b:4b81:b0:2ee:b66d:6576 with SMTP id 98e67ed59e1d1-2f2901b3256mr7290054a91.30.1734137598295; Fri, 13 Dec 2024 16:53:18 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:ae86:44a5:253c:f9bf]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142f9e186sm3788270a91.41.2024.12.13.16.53.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 16:53:17 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: linux-arm-msm@vger.kernel.org, Jeffrey Hugo , Julius Werner , linux-arm-kernel@lists.infradead.org, Roxana Bradescu , Trilok Soni , bjorn.andersson@oss.qualcomm.com, Douglas Anderson , stable@vger.kernel.org, Dmitry Baryshkov , Anshuman Khandual , Besar Wicaksono , D Scott Phillips , Easwar Hariharan , Oliver Upton , linux-kernel@vger.kernel.org Subject: [PATCH v2 5/6] arm64: cputype: Add QCOM_CPU_PART_KRYO_3XX_GOLD Date: Fri, 13 Dec 2024 16:52:06 -0800 Message-ID: <20241213165201.v2.5.I18e0288742871393228249a768e5d56ea65d93dc@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241214005248.198803-1-dianders@chromium.org> References: <20241214005248.198803-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" Add a definition for the Qualcomm Kryo 300-series Gold cores. Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov Signed-off-by: Douglas Anderson --- (no changes since v1) arch/arm64/include/asm/cputype.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cput= ype.h index 488f8e751349..c8058f91a5bd 100644 --- a/arch/arm64/include/asm/cputype.h +++ b/arch/arm64/include/asm/cputype.h @@ -119,6 +119,7 @@ #define QCOM_CPU_PART_KRYO 0x200 #define QCOM_CPU_PART_KRYO_2XX_GOLD 0x800 #define QCOM_CPU_PART_KRYO_2XX_SILVER 0x801 +#define QCOM_CPU_PART_KRYO_3XX_GOLD 0x802 #define QCOM_CPU_PART_KRYO_3XX_SILVER 0x803 #define QCOM_CPU_PART_KRYO_4XX_GOLD 0x804 #define QCOM_CPU_PART_KRYO_4XX_SILVER 0x805 @@ -195,6 +196,7 @@ #define MIDR_QCOM_KRYO MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO) #define MIDR_QCOM_KRYO_2XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_= PART_KRYO_2XX_GOLD) #define MIDR_QCOM_KRYO_2XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CP= U_PART_KRYO_2XX_SILVER) +#define MIDR_QCOM_KRYO_3XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_= PART_KRYO_3XX_GOLD) #define MIDR_QCOM_KRYO_3XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CP= U_PART_KRYO_3XX_SILVER) #define MIDR_QCOM_KRYO_4XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_= PART_KRYO_4XX_GOLD) #define MIDR_QCOM_KRYO_4XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CP= U_PART_KRYO_4XX_SILVER) --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Wed Dec 17 16:17:59 2025 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (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 1C13313A26F for ; Sat, 14 Dec 2024 00:53:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137603; cv=none; b=IrOqm2vDZAiLEc4MoNYqtR+WioptcZt+W10E7h0kSZFa327aMkQGYBW0bvBNXb/D7KyA2KpwYY6IE01Rfr+creoq4mVpvkzb8k/aTnv5wToRtDwoPYB8glKXSpCKHwuKGiv6mLfj2BTA+XiWmjVfxrTvI43NxE091RlbjYm1OLo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734137603; c=relaxed/simple; bh=0U4zcnqAM+KNnaDs1qdzfHSYLMjiJX0a1xgu5GDyZrc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mNd0pSWrUzHlIYenDDNIKy144KzCxlL2VdfcUkQZdRFV27zDNdIjWUmNITBd6ne9Lo9EIHcZoTEOwo0SnwHTJV/vvFMawFleIiqAWI+d9eQooCLXZEiS+jm4SgA3VuFKF7EyfSwpq21MCT9pxwHT7jy98Bf2IWwbh7VHEaTCumU= 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=PS/SVhCA; arc=none smtp.client-ip=209.85.216.44 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="PS/SVhCA" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-2eeb4d643a5so2017313a91.3 for ; Fri, 13 Dec 2024 16:53:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1734137601; x=1734742401; 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=nevtJ7/NdNl+3R/l/o9OoX53K9dVtdSsX5xkWCrYzfY=; b=PS/SVhCAkcmyNf6MBKpLf1h38taoACTzmNvKUhpMesqWOGCxLxpXfR7eUps1YtNyFV jwl8eKpVozbME8IoVWETe4yt9Z2sH99+YS/Oo+oxjZgWTt4LRZQCtGIsDLpgddeqhnsr jEvKuSICPqgOK/N+X9fvr5EglnS8aRiiZ9Z5w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734137601; x=1734742401; 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=nevtJ7/NdNl+3R/l/o9OoX53K9dVtdSsX5xkWCrYzfY=; b=u1msiV2W09mgpggAyKHV77qTsbRTvAyZ0NjxprEWTX7kKqp6hWPegXSa5TUfZvW65W YgFsTyMhVMmybnD2Hwy/TCwFi2rNUJyrD5YS18FBkqiwwN0Rm1Fc2DDGaP3cxu4k3SvX Bzorcbf9SOzNiTbOb9XcPMJ5Nj60JVBalT8FbE371vvISbj9mdLTfKWNftKGse655LIz BfSBeyUwvMoWq1J8KrqCqX/h83Tzebuo1g/JC8tHg2B3hlUV8wcZZMaL53LClBPHhWJn n9qb8L40VSW512mrKSyRMV2uTTQRcG9VVyaoOcZqPIuWJydcNvQj65KaUmc46V1LuZzV paTw== X-Forwarded-Encrypted: i=1; AJvYcCUbZAnhPRbLTy8+oCPgFJfdr/Ho2BXJyC8tDgxzglFQCtc1afulOLIWcKCmafMHktzDTR+/Dvf9ulegDi8=@vger.kernel.org X-Gm-Message-State: AOJu0Ywmk+don12G2k1WJY6tzoFjr4HStdoiTXiNpZvEMIuS/9t9nUhB u5hyfLnjx6prAd5+Sb0OyA7v0ruwNFQahOn/t/Vj6jntGK3jvAIrnALp9kDY6w== X-Gm-Gg: ASbGnct+yy2j+qhZgg5Ld52hNBN6VJtG5uwj4CmTo1+EjIsNINukvYZpyoXP80nUUCl vm49Z117C1e0J+sP4sOt+HxS96j76hUBwiyi00sHx9VbSQuLEgJpI2JpznfFsBct2XlsG6UUrcg xaG1w+Z+2osn59U9ADkDd7790CW243fEAathGEo7n9LMGGn0+HxzjypzEow0hfekqhoO+Hqpro4 Kb3N0WOS6t+QbMW9NWqjJQM2295OP+e53/GdIkkZVfYcBCQdZ8TsIbyjv1DotFIUKaxaRmCl2OD X-Google-Smtp-Source: AGHT+IFJ8Kx/APKjEY2akHY9UEwVqJx5Yk5K0Is7GrRpeWUBuPmnbC0N3jdlyzrLaN+NBvohTNedbA== X-Received: by 2002:a17:90b:28c8:b0:2ea:b564:4b31 with SMTP id 98e67ed59e1d1-2f28fd73e92mr6735419a91.19.1734137601489; Fri, 13 Dec 2024 16:53:21 -0800 (PST) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:ae86:44a5:253c:f9bf]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142f9e186sm3788270a91.41.2024.12.13.16.53.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 16:53:20 -0800 (PST) From: Douglas Anderson To: Catalin Marinas , Will Deacon , Mark Rutland Cc: linux-arm-msm@vger.kernel.org, Jeffrey Hugo , Julius Werner , linux-arm-kernel@lists.infradead.org, Roxana Bradescu , Trilok Soni , bjorn.andersson@oss.qualcomm.com, Douglas Anderson , stable@vger.kernel.org, James Morse , linux-kernel@vger.kernel.org Subject: [PATCH v2 6/6] arm64: errata: Add QCOM_KRYO_3XX_GOLD to the spectre_bhb_firmware_mitigated_list Date: Fri, 13 Dec 2024 16:52:07 -0800 Message-ID: <20241213165201.v2.6.Ic6fdf0e43851269d10596da7e6ceae959431f9fa@changeid> X-Mailer: git-send-email 2.47.1.613.gc27f4b7a9f-goog In-Reply-To: <20241214005248.198803-1-dianders@chromium.org> References: <20241214005248.198803-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" Qualcomm Kryo 200-series Gold cores appear to have a derivative of an ARM Cortex A75 in them. Since A75 needs Spectre mitigation via firmware then the Kyro 300-series Gold cores also should need Spectre mitigation via firmware. Unless devices with a Kryo 3XX gold core have a firmware that provides ARM_SMCCC_ARCH_WORKAROUND_3 (which seems unlikely at the time this patch is posted), this will make devices with these cores report that they are vulnerable to Spectre BHB with no mitigation in place. This patch will also cause them not to do a WARN splat at boot about an unknown CPU ID and to stop trying to do a "loop" mitigation for these cores which is (presumably) not reliable for them. Fixes: 558c303c9734 ("arm64: Mitigate spectre style branch history side cha= nnels") Cc: stable@vger.kernel.org Signed-off-by: Douglas Anderson --- I don't really have any good way to test this patch but it seems likely it's needed. NOTE: presumably this patch won't actually do much on its own because (I believe) it requires a firmware update (one adding ARM_SMCCC_ARCH_WORKAROUND_3) to go with it. Changes in v2: - Rebased / reworded QCOM_KRYO_3XX_GOLD patch arch/arm64/kernel/proton-pack.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pac= k.c index 3b179a1bf815..f8e0d87d9e2d 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -845,6 +845,7 @@ static const struct midr_range spectre_bhb_firmware_mit= igated_list[] =3D { MIDR_ALL_VERSIONS(MIDR_CORTEX_A73), MIDR_ALL_VERSIONS(MIDR_CORTEX_A75), MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_GOLD), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_3XX_GOLD), {}, }; =20 --=20 2.47.1.613.gc27f4b7a9f-goog