[compiler-rt] dd921cb - [sanitizer] Add missing declarations for sigaltstack syscall wrappers.

Evgenii Stepanov via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 4 13:10:57 PST 2020


Author: Evgenii Stepanov
Date: 2020-02-04T13:10:43-08:00
New Revision: dd921cb89b9d9011155625c094fd12fbe5be7892

URL: https://github.com/llvm/llvm-project/commit/dd921cb89b9d9011155625c094fd12fbe5be7892
DIFF: https://github.com/llvm/llvm-project/commit/dd921cb89b9d9011155625c094fd12fbe5be7892.diff

LOG: [sanitizer] Add missing declarations for sigaltstack syscall wrappers.

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D73987

Added: 
    

Modified: 
    compiler-rt/include/sanitizer/linux_syscall_hooks.h
    compiler-rt/test/msan/Linux/syscalls.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/include/sanitizer/linux_syscall_hooks.h b/compiler-rt/include/sanitizer/linux_syscall_hooks.h
index 2733da82b5f8..56eae3d40f96 100644
--- a/compiler-rt/include/sanitizer/linux_syscall_hooks.h
+++ b/compiler-rt/include/sanitizer/linux_syscall_hooks.h
@@ -3077,6 +3077,8 @@ void __sanitizer_syscall_pre_impl_rt_sigaction(long signum, long act,
                                                long oldact, long sz);
 void __sanitizer_syscall_post_impl_rt_sigaction(long res, long signum, long act,
                                                 long oldact, long sz);
+void __sanitizer_syscall_pre_impl_sigaltstack(long ss, long oss);
+void __sanitizer_syscall_post_impl_sigaltstack(long res, long ss, long oss);
 #ifdef __cplusplus
 }  // extern "C"
 #endif

diff  --git a/compiler-rt/test/msan/Linux/syscalls.cpp b/compiler-rt/test/msan/Linux/syscalls.cpp
index c5ac3e27fa11..2f60b0ed9a51 100644
--- a/compiler-rt/test/msan/Linux/syscalls.cpp
+++ b/compiler-rt/test/msan/Linux/syscalls.cpp
@@ -8,6 +8,7 @@
 #include <string.h>
 
 #include <linux/aio_abi.h>
+#include <signal.h>
 #include <sys/ptrace.h>
 #include <sys/stat.h>
 #include <sys/uio.h>
@@ -123,5 +124,9 @@ int main(int argc, char *argv[]) {
   __sanitizer_syscall_post_socketpair(0, 0, 0, 0, (int *)buf);
   assert(__msan_test_shadow(buf, sizeof(buf)) == 2 * sizeof(int));
 
+  __msan_poison(buf, sizeof(buf));
+  __sanitizer_syscall_post_sigaltstack(0, nullptr, (stack_t *)buf);
+  assert(__msan_test_shadow(buf, sizeof(buf)) == sizeof(stack_t));
+
   return 0;
 }


        


More information about the llvm-commits mailing list