]> www.infradead.org Git - users/jedix/linux-maple.git/commit
arm64/fpsimd: signal: Use SMSTOP behaviour in setup_return()
authorMark Rutland <mark.rutland@arm.com>
Thu, 8 May 2025 13:26:29 +0000 (14:26 +0100)
committerWill Deacon <will@kernel.org>
Thu, 8 May 2025 14:29:09 +0000 (15:29 +0100)
commit99560c9452bb9819334bdb9c6e9e27c0f45f8829
tree6701067203318be50d2489b7b50ec3e7611b8c2e
parent6ef1d778ce56c5bde1ac0a1f85fd9710efde6724
arm64/fpsimd: signal: Use SMSTOP behaviour in setup_return()

Historically the behaviour of setup_return() was nondeterministic,
depending on whether the task's FSIMD/SVE/SME state happened to be live.
We fixed most of that in commit:

  929fa99b1215 ("arm64/fpsimd: signal: Always save+flush state early")

... but we didn't decide on how clearing PSTATE.SM should behave, and left a
TODO comment to that effect.

Use the new task_smstop_sm() helper to make this behave as if an SMSTOP
instruction was used to exit streaming mode. This would have been the
most common behaviour prior to the commit above.

Fixes: 40a8e87bb328 ("arm64/sme: Disable ZA and streaming mode when handling signals")
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20250508132644.1395904-10-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/signal.c