[GIT PULL] arm64 fixes for -rc1

From: Will Deacon
Date: Fri Jan 19 2024 - 11:05:40 EST


Hi Linus,

Please pull these arm64 fixes for -rc1. I think the main one is fixing
the dynamic SCS patching when full LTO is enabled (clang was silently
getting this horribly wrong), but it's all good stuff. Rob just pointed
out that the fix to the workaround for erratum #2966298 might not be
necessary, but in the worst case it's harmless and since the official
description leaves a little to be desired here, I've left it in.

Cheers,

Will

--->8

The following changes since commit db32cf8e280b46726065c518e90761bb0229bacf:

Merge branch 'for-next/fixes' into for-next/core (2024-01-04 12:32:33 +0000)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes

for you to fetch changes up to 1b20d0486a602417defb5bf33320d31b2a7a47f8:

arm64: Fix silcon-errata.rst formatting (2024-01-18 11:15:43 +0000)

----------------------------------------------------------------
arm64 fixes for -rc1

- Fix shadow call stack patching with LTO=full

- Fix voluntary preemption of the FPSIMD registers from assembly code

- Fix workaround for A520 CPU erratum #2966298 and extend to A510

- Fix SME issues that resulted in corruption of the register state

- Minor fixes (missing includes, formatting)

----------------------------------------------------------------
Ard Biesheuvel (2):
arm64: scs: Work around full LTO issue with dynamic SCS
arm64: fpsimd: Bring cond_yield asm macro in line with new rules

Mark Brown (3):
arm64/ptrace: Don't flush ZA/ZT storage when writing ZA via ptrace
arm64/fpsimd: Remove spurious check for SVE support
arm64/sme: Always exit sme_alloc() early with existing storage

Mark Rutland (2):
arm64: entry: fix ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
arm64: entry: simplify kernel_exit logic

Rob Herring (2):
arm64: Rename ARM64_WORKAROUND_2966298
arm64: errata: Add Cortex-A510 speculative unprivileged load workaround

Robin Murphy (1):
arm64: Fix silcon-errata.rst formatting

Tudor Ambarus (1):
arm64: irq: include <linux/cpumask.h>

Documentation/arch/arm64/silicon-errata.rst | 4 ++--
arch/arm64/Kconfig | 18 ++++++++++++++++++
arch/arm64/include/asm/assembler.h | 25 +++++++++----------------
arch/arm64/include/asm/irq.h | 2 ++
arch/arm64/kernel/Makefile | 8 +++++++-
arch/arm64/kernel/asm-offsets.c | 2 --
arch/arm64/kernel/cpu_errata.c | 21 +++++++++++++++++----
arch/arm64/kernel/entry.S | 25 ++++++++++++++-----------
arch/arm64/kernel/fpsimd.c | 12 ++++++------
arch/arm64/kernel/ptrace.c | 13 +++++++------
arch/arm64/tools/cpucaps | 2 +-
11 files changed, 83 insertions(+), 49 deletions(-)