kselftest/arm64: Don't open code SVE_PT_SIZE() in fp-ptrace
authorMark Brown <broonie@kernel.org>
Tue, 12 Aug 2025 14:49:27 +0000 (15:49 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Sat, 30 Aug 2025 10:31:11 +0000 (11:31 +0100)
In fp-trace when allocating a buffer to write SVE register data we open
code the addition of the header size to the VL depeendent register data
size, which lead to an underallocation bug when we cut'n'pasted the code
for FPSIMD format writes. Use the SVE_PT_SIZE() macro that the kernel
UAPI provides for this.

Fixes: b84d2b27954f ("kselftest/arm64: Test FPSIMD format data writes via NT_ARM_SVE in fp-ptrace")
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20250812-arm64-fp-trace-macro-v1-1-317cfff986a5@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
tools/testing/selftests/arm64/fp/fp-ptrace.c

index 124bc883365e4472cd3f3751297bb54190495642..cdd7a45c045d5f61604e6e8883fa219563c78d0c 100644 (file)
@@ -1187,7 +1187,7 @@ static void sve_write_sve(pid_t child, struct test_config *config)
        if (!vl)
                return;
 
-       iov.iov_len = SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, SVE_PT_REGS_SVE);
+       iov.iov_len = SVE_PT_SIZE(vq, SVE_PT_REGS_SVE);
        iov.iov_base = malloc(iov.iov_len);
        if (!iov.iov_base) {
                ksft_print_msg("Failed allocating %lu byte SVE write buffer\n",
@@ -1234,8 +1234,7 @@ static void sve_write_fpsimd(pid_t child, struct test_config *config)
        if (!vl)
                return;
 
-       iov.iov_len = SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq,
-                                                         SVE_PT_REGS_FPSIMD);
+       iov.iov_len = SVE_PT_SIZE(vq, SVE_PT_REGS_FPSIMD);
        iov.iov_base = malloc(iov.iov_len);
        if (!iov.iov_base) {
                ksft_print_msg("Failed allocating %lu byte SVE write buffer\n",