[PATCH v12 20/40] arm64/sme: Implement streaming SVE signal handling

Catalin Marinas catalin.marinas at arm.com
Wed Mar 2 09:09:32 PST 2022


On Fri, Feb 25, 2022 at 04:59:03PM +0000, Mark Brown wrote:
> When in streaming mode we have the same set of SVE registers as we do in
> regular SVE mode with the exception of FFR and the use of the SME vector
> length. Provide signal handling for these registers by taking one of the
> reserved words in the SVE signal context as a flags field and defining a
> flag which is set for streaming mode. When the flag is set the vector
> length is set to the streaming mode vector length and we save and
> restore streaming mode data. We support entering or leaving streaming
> mode based on the value of the flag but do not support changing the
> vector length, this is not currently supported SVE signal handling.
> 
> We could instead allocate a separate record in the signal frame for the
> streaming mode SVE context but this inflates the size of the maximal signal
> frame required and adds complication when validating signal frames from
> userspace, especially given the current structure of the code.
> 
> Any implementation of support for streaming mode vectors in signals will
> have some potential for causing issues for applications that attempt to
> handle SVE vectors in signals, use streaming mode but do not understand
> streaming mode in their signal handling code, it is hard to identify a
> case that is clearly better than any other - they all have cases where
> they could cause unexpected register corruption or faults.
> 
> Signed-off-by: Mark Brown <broonie at kernel.org>

Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>



More information about the linux-arm-kernel mailing list