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) {
|
||||
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(tracer, waitpid(tracer, &status, 0));
|
||||
if (WEXITSTATUS(status))
|
||||
_metadata->exit_code = KSFT_FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user