arm64/ptrace: Ensure that the task sees ZT writes on first use
authorMark Brown <broonie@kernel.org>
Wed, 16 Aug 2023 18:40:07 +0000 (19:40 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 17 Aug 2023 18:00:03 +0000 (19:00 +0100)
commit2f43f549cd0b3164ea0345e59aa3958c0d243383
tree87800e9ccf19e6b3f4e7a9e101c1657f20890b02
parent5d0a8d2fba50e9c07cde4aad7fba28c008b07a5b
arm64/ptrace: Ensure that the task sees ZT writes on first use

When the value of ZT is set via ptrace we don't disable traps for SME.
This means that when a the task has never used SME before then the value
set via ptrace will never be seen by the target task since it will
trigger a SME access trap which will flush the register state.

Disable SME traps when setting ZT, this means we also need to allocate
storage for SVE if it is not already allocated, for the benefit of
streaming SVE.

Fixes: f90b529bcbe5 ("arm64/sme: Implement ZT0 ptrace support")
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # 6.3.x
Link: https://lore.kernel.org/r/20230816-arm64-zt-ptrace-first-use-v2-1-00aa82847e28@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/ptrace.c