From f8bc606aad35daf9853e3198f14d4a7baba36fcb Mon Sep 17 00:00:00 2001 From: Dmitry Chagin Date: Thu, 24 Aug 2023 21:02:52 +0300 Subject: [PATCH] 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 --- tests/sys/vm/stack/stack_mprotect_exec_test.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/sys/vm/stack/stack_mprotect_exec_test.c b/tests/sys/vm/stack/stack_mprotect_exec_test.c index d12d99ea39e..ba5a1d5cb85 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 #include +#include #include +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);