diff options
author | Dmitry Chagin <dchagin@FreeBSD.org> | 2023-08-24 18:02:52 +0000 |
---|---|---|
committer | Dmitry Chagin <dchagin@FreeBSD.org> | 2023-08-27 07:32:29 +0000 |
commit | 2837c79aed1b5f14609aa354bf730f9fbfa70e1c (patch) | |
tree | 3c02677aad4f992c0fd4d4adbd32512734388277 | |
parent | 265a3b49d017a07070d6e5bc18c66e30e01c908a (diff) | |
download | src-2837c79aed1b5f14609aa354bf730f9fbfa70e1c.tar.gz src-2837c79aed1b5f14609aa354bf730f9fbfa70e1c.zip |
tests: Handle SIGSEGV in the vm stack mprotect exec test
To exit gracefully handle SIGSEGV and mark the test as failed.
MFC after: 3 days
(cherry picked from commit f8bc606aad35daf9853e3198f14d4a7baba36fcb)
-rw-r--r-- | tests/sys/vm/stack/stack_mprotect_exec_test.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/sys/vm/stack/stack_mprotect_exec_test.c b/tests/sys/vm/stack/stack_mprotect_exec_test.c index d12d99ea39ee..ba5a1d5cb859 100644 --- a/tests/sys/vm/stack/stack_mprotect_exec_test.c +++ b/tests/sys/vm/stack/stack_mprotect_exec_test.c @@ -12,8 +12,15 @@ #include <vm/vm_param.h> #include <atf-c.h> +#include <signal.h> #include <unistd.h> +static void +sigsegv_handler(int sig __unused) +{ + + atf_tc_fail("Invalid stack protection mode after grows"); +} ATF_TC_WITHOUT_HEAD(mprotect_exec_test); ATF_TC_BODY(mprotect_exec_test, tc) @@ -22,6 +29,8 @@ ATF_TC_BODY(mprotect_exec_test, tc) char *addr, *guard; size_t alloc_size; + signal(SIGSEGV, sigsegv_handler); + pagesize = sysconf(_SC_PAGESIZE); ATF_REQUIRE(pagesize > 0); |