[PATCH v2] arm64: suspend: Save and restore TPIDR2_EL0 across CPU suspend

Catalin Marinas catalin.marinas at arm.com
Wed Nov 4 11:04:11 PST 2026


On Tue, 03 Nov 2026 17:59:41 +0000, Wei Wang wrote:
> TPIDR2_EL0 is a live EL0 register on systems with SME, but
> cpu_do_suspend()/cpu_do_resume() don't preserve it. Its value is
> UNKNOWN after a warm reset, so the task that initiates suspend can
> return to userspace with a corrupted TPIDR2_EL0.
> 
> Save and restore it alongside TPIDR_EL0 and TPIDRRO_EL0. The new slot
> fits in existing padding, so sizeof(struct cpu_suspend_ctx) is
> unchanged.
> 
> [...]

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: suspend: Save and restore TPIDR2_EL0 across CPU suspend
      https://git.kernel.org/arm64/c/beeec0404622



More information about the linux-arm-kernel mailing list