arm64/signal: Flush FPSIMD register state when disabling streaming mode
authorMark Brown <broonie@kernel.org>
Wed, 17 Aug 2022 18:23:22 +0000 (19:23 +0100)
committerWill Deacon <will@kernel.org>
Tue, 23 Aug 2022 10:29:11 +0000 (11:29 +0100)
commitea64baacbc36a0d552aec0d87107182f40211131
tree7542049c01e01e9a1774f5fff4b4a12fb2cf05a8
parent7ddcaf78e93c9282b4d92184f511b4d5bee75355
arm64/signal: Flush FPSIMD register state when disabling streaming mode

When handling a signal delivered to a context with streaming mode enabled
we will disable streaming mode for the signal handler, when doing so we
should also flush the saved FPSIMD register state like exiting streaming
mode in the hardware would do so that if that state is reloaded we get the
same behaviour. Without this we will reload whatever the last FPSIMD state
that was saved for the task was.

Fixes: 40a8e87bb328 ("arm64/sme: Disable ZA and streaming mode when handling signals")
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220817182324.638214-3-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/signal.c