selftests/riscv: ptrace: Fix memory leak of regset_data in vector tests

The regset_data buffer allocated with calloc() in the parent process
of several vector ptrace tests is never freed before returning,
causing memory leaks in:

- ptrace_v_not_enabled
- ptrace_v_early_debug
- ptrace_v_syscall_clobbering
- v_csr_invalid/ptrace_v_invalid_values
- v_csr_valid/ptrace_v_valid_values

Add free(regset_data) before kill(pid, SIGKILL) to release the
allocated buffer.

Signed-off-by: Wang Yan <wangyan01@kylinos.cn>
Reviewed-by: Sergey Matyukevich <geomatsi@gmail.com>
Link: https://patch.msgid.link/20260710083437.489648-1-wangyan01@kylinos.cn
[pjw@kernel.org: Fixed Sergey's E-mail address]
Signed-off-by: Paul Walmsley <pjw@kernel.org>
This commit is contained in:
Wang Yan 2026-07-10 16:34:37 +08:00 committed by Paul Walmsley
parent a2ac823d8a
commit 58a37e7317

View File

@ -75,7 +75,7 @@ TEST(ptrace_v_not_enabled)
ASSERT_EQ(-1, ret);
/* cleanup */
free(regset_data);
ASSERT_EQ(0, kill(pid, SIGKILL));
}
}
@ -207,7 +207,7 @@ TEST(ptrace_v_early_debug)
EXPECT_EQ(vl_csr, regset_data->vl);
/* cleanup */
free(regset_data);
ASSERT_EQ(0, kill(pid, SIGKILL));
}
}
@ -331,7 +331,7 @@ TEST(ptrace_v_syscall_clobbering)
EXPECT_EQ(0UL, regset_data->vl);
/* cleanup */
free(regset_data);
ASSERT_EQ(0, kill(pid, SIGKILL));
}
}
@ -649,7 +649,7 @@ TEST_F(v_csr_invalid, ptrace_v_invalid_values)
ASSERT_EQ(ret, -1);
/* cleanup */
free(regset_data);
ASSERT_EQ(0, kill(pid, SIGKILL));
}
}
@ -911,7 +911,7 @@ TEST_F(v_csr_valid, ptrace_v_valid_values)
EXPECT_EQ(regset_data->vlenb, vlenb);
/* cleanup */
free(regset_data);
ASSERT_EQ(0, kill(pid, SIGKILL));
}
}