mirror of https://gitee.com/openkylin/linux.git
selftests/seccomp: Check ENOSYS under tracing
There should be no difference between -1 and other negative syscalls while tracing. Cc: Keno Fischer <keno@juliacomputing.com> Tested-by: Will Deacon <will@kernel.org> Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
parent
adeeec8472
commit
11eb004ef7
|
@ -1942,6 +1942,26 @@ FIXTURE_TEARDOWN(TRACE_syscall)
|
||||||
teardown_trace_fixture(_metadata, self->tracer);
|
teardown_trace_fixture(_metadata, self->tracer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(negative_ENOSYS)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* There should be no difference between an "internal" skip
|
||||||
|
* and userspace asking for syscall "-1".
|
||||||
|
*/
|
||||||
|
errno = 0;
|
||||||
|
EXPECT_EQ(-1, syscall(-1));
|
||||||
|
EXPECT_EQ(errno, ENOSYS);
|
||||||
|
/* And no difference for "still not valid but not -1". */
|
||||||
|
errno = 0;
|
||||||
|
EXPECT_EQ(-1, syscall(-101));
|
||||||
|
EXPECT_EQ(errno, ENOSYS);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(TRACE_syscall, negative_ENOSYS)
|
||||||
|
{
|
||||||
|
negative_ENOSYS(_metadata);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(TRACE_syscall, syscall_allowed)
|
TEST_F(TRACE_syscall, syscall_allowed)
|
||||||
{
|
{
|
||||||
/* getppid works as expected (no changes). */
|
/* getppid works as expected (no changes). */
|
||||||
|
|
Loading…
Reference in New Issue