[GIT,PULL] arm64 fixes for -rc1

Message ID 20240119160528.GA5336@willie-the-truck
State New
Headers
Series [GIT,PULL] arm64 fixes for -rc1 |

Pull-request

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

Message

Will Deacon Jan. 19, 2024, 4:05 p.m. UTC
  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(-)
  

Comments

Rob Herring Jan. 19, 2024, 4:34 p.m. UTC | #1
On Fri, Jan 19, 2024 at 04:05:28PM +0000, Will Deacon wrote:
> 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

I've commented on the patch, but this doesn't fix anything. The original 
work-around was fine.

Rob
  
Rob Herring Jan. 19, 2024, 4:58 p.m. UTC | #2
On Fri, Jan 19, 2024 at 10:34 AM Rob Herring <robh@kernel.org> wrote:
>
> On Fri, Jan 19, 2024 at 04:05:28PM +0000, Will Deacon wrote:
> > 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
>
> I've commented on the patch, but this doesn't fix anything. The original
> work-around was fine.

Sorry, failed to read your commentary at the top. I suppose all this
is fine. It would be nice to have a chance to see all this before it
gets sent upstream.

Rob
  
pr-tracker-bot@kernel.org Jan. 19, 2024, 10:50 p.m. UTC | #3
The pull request you sent on Fri, 19 Jan 2024 16:05:28 +0000:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/18b5cb6cb85c2ac96b8e94e698d11b909225ce4a

Thank you!