[PATCH] arm64/fpsimd: signal: Forbid non-streaming SVE payload on SME-only systems

Mark Brown broonie at kernel.org
Thu Oct 1 07:25:03 PDT 2026


On Thu, Oct 01, 2026 at 02:08:36PM +0100, Mark Rutland wrote:

> Regardless of this patch, the kselftests themselves are broken for
> SME-only configurations. The signal tests have been broken for at least
> 3 years (since the kernel started creating SVE contexts on SME-only
> systems), so evidently such configurations are not being tested. I have
> some local fixes for the kselftests that I will send out soon.

I do have some coverage set up but it's set up in such a way that it'll
only notice new failures so things that have never worked won't be
visible.

> @@ -443,19 +444,33 @@ static int restore_sve_fpsimd_context(struct user_ctxs *user)

>  	} else {
>  		/*
> -		 * A SME only system use SVE for streaming mode so can
> -		 * have a SVE formatted context with a zero VL and no
> -		 * payload data.
> +		 * Non-streaming SVE state may be preserved without an SVE
> +		 * payload, in which case all state is saved in the FPSIMD
> +		 * context.
> +		 *
> +		 * On SME-only systems, non-streaming (FPSIMD-only) state is
> +		 * always preserved without an SVE payload, and with VL==0. On
> +		 * such systems, only accept non-streaming state without an SVE
> +		 * payload.
>  		 */
> -		if (!system_supports_sve() && !system_supports_sme())
> +		if (!system_supports_sve() && !fpsimd_only)
>  			return -EINVAL;

This means that this function will now accept a FPSIMD only SVE context
on systems with neither SVE nor SME, but that check was redundant since
we already reject anything with SVE magic in parse_user_sigframe() on
such systems and should never get here anyway.

Reviewed-by: Mark Brown <broonie at kernel.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20261001/7aa72627/attachment.sig>


More information about the linux-arm-kernel mailing list