[PATCH] arm64/sme: Set new vector length before reallocating

Catalin Marinas catalin.marinas at arm.com
Wed Jul 26 10:37:26 PDT 2023


On Wed, Jul 26, 2023 at 01:12:26PM +0100, Mark Brown wrote:
> As part of fixing the allocation of the buffer for SVE state when changing
> SME vector length we introduced an immediate reallocation of the SVE state,
> this is also done when changing the SVE vector length for consistency.
> Unfortunately this reallocation is done prior to writing the new vector
> length to the task struct, meaning the allocation is done with the old
> vector length and can lead to memory corruption due to an undersized buffer
> being used.
> 
> Move the update of the vector length before the allocation to ensure that
> the new vector length is taken into account.
> 
> For some reason this isn't triggering any problems when running tests on
> the arm64 fixes branch (even after repeated tries) but is triggering
> issues very often after merge into mainline.
> 
> Fixes: d4d5be94a878 ("arm64/fpsimd: Ensure SME storage is allocated after SVE VL changes")
> Signed-off-by: Mark Brown <broonie at kernel.org>

I'll add a cc stable here since the above commit was fixing code that
went in for 5.19.

-- 
Catalin



More information about the linux-arm-kernel mailing list