diff options
author | Vitaly Buka <vitalybuka@google.com> | 2018-03-21 21:25:07 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2018-03-21 21:25:07 +0000 |
commit | 351f235ea4d0bfa17b65dd3a0ac14bbd8a98b90b (patch) | |
tree | c17517effa21f7c7db2b7ab6a9dc87389cb6378f /test/sanitizer_common | |
parent | 52411af60152548a1f25237339abaf2b9db0fbba (diff) |
Mmap interceptor new option, Write Exec runtime detector
Summary:
Following-up the refactoring of mmap interceptors, adding a new common
option to detect PROT_WRITE|PROT_EXEC pages request.
Patch by David CARLIER
Reviewers: vitalybuka, vsk
Reviewed By: vitalybuka
Subscribers: krytarowski, #sanitizers
Differential Revision: https://reviews.llvm.org/D44194
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@328151 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/sanitizer_common')
-rw-r--r-- | test/sanitizer_common/TestCases/Linux/mmap_write_exec.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/sanitizer_common/TestCases/Linux/mmap_write_exec.cpp b/test/sanitizer_common/TestCases/Linux/mmap_write_exec.cpp new file mode 100644 index 000000000..6b7271735 --- /dev/null +++ b/test/sanitizer_common/TestCases/Linux/mmap_write_exec.cpp @@ -0,0 +1,15 @@ +// RUN: %clangxx %s -o %t +// RUN: %env_tool_opts=detect_write_exec=1 %run %t 2>&1 | FileCheck %s +// ubsan and lsan do not install mmap interceptors +// UNSUPPORTED: ubsan, lsan + +// TODO: Fix option on Android, it hangs there for unknown reasons. +// XFAIL: android + +#include <sys/mman.h> + +int main(int argc, char **argv) { + char *p = (char *)mmap(0, 1024, PROT_READ | PROT_WRITE | PROT_EXEC, + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + // CHECK: WARNING: {{.*}}Sanitizer: writable-executable page usage +} |