public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6.6.y 0/13] arm64: errata: Speculative SSBS workaround
@ 2024-08-09  9:57 Mark Rutland
  2024-08-09  9:57 ` [PATCH 6.6.y 01/13] arm64: Add Neoverse-V2 part Mark Rutland
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Mark Rutland @ 2024-08-09  9:57 UTC (permalink / raw)
  To: stable
  Cc: anshuman.khandual, bwicaksono, catalin.marinas, james.clark,
	james.morse, mark.rutland, will

Hi,

This series is a v6.6-only backport (based on v6.6.44) of the upstream
workaround for SSBS errata on Arm Ltd CPUs, as affected parts are likely
to be used with stable kernels. This does not apply to earlier stable
trees, which will receive a separate backport.

The errata mean that an MSR to the SSBS special-purpose register does not
affect subsequent speculative instructions, permitting speculative store
bypassing for a window of time.

The upstream support was original posted as:

* https://lore.kernel.org/linux-arm-kernel/20240508081400.235362-1-mark.rutland@arm.com/
  "arm64: errata: Add workaround for Arm errata 3194386 and 3312417"
  Present in v6.10

* https://lore.kernel.org/linux-arm-kernel/20240603111812.1514101-1-mark.rutland@arm.com/
  "arm64: errata: Expand speculative SSBS workaround"
  Present in v6.11-rc1

* https://lore.kernel.org/linux-arm-kernel/20240801101803.1982459-1-mark.rutland@arm.com/
  "arm64: errata: Expand speculative SSBS workaround (again)"
  Present in v6.11-rc2

This backport applies the patches which are not present in v6.6.y, and
as prerequisites backports the addition of the Neoverse-V2 MIDR values
and the restoration of the spec_bar() macro.

I have tested the backport (when applied to v6.6.44), ensuring that the
detection logic works and that the HWCAP and string in /proc/cpuinfo are
both hidden when the relevant errata are detected.

Mark.Besar Wicaksono (1):
  arm64: Add Neoverse-V2 part

Mark Rutland (12):
  arm64: barrier: Restore spec_bar() macro
  arm64: cputype: Add Cortex-X4 definitions
  arm64: cputype: Add Neoverse-V3 definitions
  arm64: errata: Add workaround for Arm errata 3194386 and 3312417
  arm64: cputype: Add Cortex-X3 definitions
  arm64: cputype: Add Cortex-A720 definitions
  arm64: cputype: Add Cortex-X925 definitions
  arm64: errata: Unify speculative SSBS errata logic
  arm64: errata: Expand speculative SSBS workaround
  arm64: cputype: Add Cortex-X1C definitions
  arm64: cputype: Add Cortex-A725 definitions
  arm64: errata: Expand speculative SSBS workaround (again)

 Documentation/arch/arm64/silicon-errata.rst | 36 +++++++++++++++++++
 arch/arm64/Kconfig                          | 38 +++++++++++++++++++++
 arch/arm64/include/asm/barrier.h            |  4 +++
 arch/arm64/include/asm/cputype.h            | 16 +++++++++
 arch/arm64/kernel/cpu_errata.c              | 31 +++++++++++++++++
 arch/arm64/kernel/cpufeature.c              | 12 +++++++
 arch/arm64/kernel/proton-pack.c             | 12 +++++++
 arch/arm64/tools/cpucaps                    |  1 +
 8 files changed, 150 insertions(+)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-08-15 15:05 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-09  9:57 [PATCH 6.6.y 0/13] arm64: errata: Speculative SSBS workaround Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 01/13] arm64: Add Neoverse-V2 part Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 02/13] arm64: barrier: Restore spec_bar() macro Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 03/13] arm64: cputype: Add Cortex-X4 definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 04/13] arm64: cputype: Add Neoverse-V3 definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 05/13] arm64: errata: Add workaround for Arm errata 3194386 and 3312417 Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 06/13] arm64: cputype: Add Cortex-X3 definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 07/13] arm64: cputype: Add Cortex-A720 definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 08/13] arm64: cputype: Add Cortex-X925 definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 09/13] arm64: errata: Unify speculative SSBS errata logic Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 10/13] arm64: errata: Expand speculative SSBS workaround Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 11/13] arm64: cputype: Add Cortex-X1C definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 12/13] arm64: cputype: Add Cortex-A725 definitions Mark Rutland
2024-08-09  9:57 ` [PATCH 6.6.y 13/13] arm64: errata: Expand speculative SSBS workaround (again) Mark Rutland
2024-08-12 15:03   ` Greg KH
2024-08-15 14:51     ` Mark Rutland
2024-08-15 15:05       ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox