xref: /llvm-project/compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp (revision 69e01fa1e9279f7361069809c93f53e4e2648b5c)
1 // Test that sanitizers suppress mlock.
2 // RUN: %clang  %s -o %t && %run %t
3 
4 // No shadow, so no need to disable mlock.
5 // XFAIL: ubsan, lsan
6 
7 // FIXME: Implement.
8 // XFAIL: hwasan
9 
10 #include <assert.h>
11 #include <sys/mman.h>
12 
main()13 int main() {
14 #if defined(__has_feature)
15 #  if __has_feature(hwaddress_sanitizer)
16   // Don't mlock, it may claim all memory.
17   abort();
18 #  endif
19 #endif
20   assert(0 == mlockall(MCL_CURRENT));
21   assert(0 == mlock((void *)0x12345, 0x5678));
22   assert(0 == munlockall());
23   assert(0 == munlock((void *)0x987, 0x654));
24 }
25