[PATCH 5.15.y 00/14] arm64: errata: Speculative SSBS workaround

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This series is a v5.15-only backport (based on v5.15.164) 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@xxxxxxx/
  "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@xxxxxxx/
  "arm64: errata: Expand speculative SSBS workaround"
  Present in v6.11-rc1

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

This backport applies the patches which are not present in v5.15.y, and
as prerequisites backports HWCAP detection based on user-visible id
register values, the addition of Neoverse-V2 MIDR values, and the
restoration of the spec_bar() macro.

I have tested the backport (when applied to v5.15.164), 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

James Morse (1):
  arm64: cpufeature: Force HWCAP to be based on the sysreg visible to
    user-space

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/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         | 48 ++++++++++++++++++++++----
 arch/arm64/kernel/proton-pack.c        | 12 +++++++
 arch/arm64/tools/cpucaps               |  1 +
 8 files changed, 179 insertions(+), 7 deletions(-)

-- 
2.30.2





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux