[PATCH v2 1/8] KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
Will Deacon
will at kernel.org
Fri Feb 7 04:27:51 PST 2025
On Thu, Feb 06, 2025 at 02:10:55PM +0000, Mark Rutland wrote:
> There are several problems with the way hyp code lazily saves the host's
> FPSIMD/SVE state, including:
>
> * Host SVE being discarded unexpectedly due to inconsistent
> configuration of TIF_SVE and CPACR_ELx.ZEN. This has been seen to
> result in QEMU crashes where SVE is used by memmove(), as reported by
> Eric Auger:
>
> https://issues.redhat.com/browse/RHEL-68997
>
> * Host SVE state is discarded *after* modification by ptrace, which was an
> unintentional ptrace ABI change introduced with lazy discarding of SVE state.
>
> * The host FPMR value can be discarded when running a non-protected VM,
> where FPMR support is not exposed to a VM, and that VM uses
> FPSIMD/SVE. In these cases the hyp code does not save the host's FPMR
> before unbinding the host's FPSIMD/SVE/SME state, leaving a stale
> value in memory.
How hard would it be to write tests for these three scenarios? If we
had something to exercise the relevant paths then...
> ... and so this eager save+flush probably needs to be backported to ALL
> stable trees.
... this backporting might be a little easier to be sure about?
Will
More information about the linux-arm-kernel
mailing list