selftests/seccomp: fix negative_ENOSYS tracer tests on arm32
[ Upstream commit 73989c998814d82c71d523c104c398925470d59e ]
TRACE_syscall.ptrace.negative_ENOSYS and TRACE_syscall.seccomp.negative_ENOSYS
on arm32 are being reported as failures instead of skipping.
The teardown_trace_fixture function sets the test to KSFT_FAIL in case of a
non 0 return value from the tracer process.
Due to _metadata now being shared between the forked processes the tracer is
returning the KSFT_SKIP value set by the tracee which is non 0.
Remove the setting of the _metadata.exit_code in teardown_trace_fixture.
Fixes: 24cf65a622 ("selftests/harness: Share _metadata between forked processes")
Signed-off-by: Terry Tritton <terry.tritton@linaro.org>
Link: https://lore.kernel.org/r/20250509115622.64775-1-terry.tritton@linaro.org
Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b038ffbd49
commit
295f1b128c
@@ -1618,14 +1618,8 @@ void teardown_trace_fixture(struct __test_metadata *_metadata,
|
|||||||
{
|
{
|
||||||
if (tracer) {
|
if (tracer) {
|
||||||
int status;
|
int status;
|
||||||
/*
|
|
||||||
* Extract the exit code from the other process and
|
|
||||||
* adopt it for ourselves in case its asserts failed.
|
|
||||||
*/
|
|
||||||
ASSERT_EQ(0, kill(tracer, SIGUSR1));
|
ASSERT_EQ(0, kill(tracer, SIGUSR1));
|
||||||
ASSERT_EQ(tracer, waitpid(tracer, &status, 0));
|
ASSERT_EQ(tracer, waitpid(tracer, &status, 0));
|
||||||
if (WEXITSTATUS(status))
|
|
||||||
_metadata->exit_code = KSFT_FAIL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user