[compiler-rt] f93c2b6 - [sanitizer] Disable ASLR for release_shadow_space

Adhemerval Zanella via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 29 12:09:12 PDT 2020


Author: Adhemerval Zanella
Date: 2020-10-29T16:09:03-03:00
New Revision: f93c2b64ed381bc4bc52f4b8539026f1597f574d

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

LOG: [sanitizer] Disable ASLR for release_shadow_space

On aarch64 with kernel 4.12.13 the test sporadically fails with

RSS at start: 1564, after mmap: 103964, after mmap+set label: 308768, \
after fixed map: 206368, after another mmap+set label: 308768, after \
munmap: 206368
release_shadow_space.c.tmp: [...]/release_shadow_space.c:80: int \
main(int, char **): Assertion `after_fixed_mmap <= before + delta' failed.

It seems on some executions the memory is not fully released, even
after munmap.  And it also seems that ASLR is hurting it by adding
some fragmentation, by disabling it I could not reproduce the issue
in multiple runs.

Added: 
    

Modified: 
    compiler-rt/test/dfsan/release_shadow_space.c

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/dfsan/release_shadow_space.c b/compiler-rt/test/dfsan/release_shadow_space.c
index 40326a986a1a..8b050345d0b6 100644
--- a/compiler-rt/test/dfsan/release_shadow_space.c
+++ b/compiler-rt/test/dfsan/release_shadow_space.c
@@ -1,5 +1,5 @@
-// DFSAN_OPTIONS=no_huge_pages_for_shadow=false RUN: %clang_dfsan %s -o %t && %run %t
-// DFSAN_OPTIONS=no_huge_pages_for_shadow=true RUN: %clang_dfsan %s -o %t && %run %t
+// DFSAN_OPTIONS=no_huge_pages_for_shadow=false RUN: %clang_dfsan %s -o %t && setarch `uname -m` -R %run %t
+// DFSAN_OPTIONS=no_huge_pages_for_shadow=true RUN: %clang_dfsan %s -o %t && setarch `uname -m` -R %run %t
 
 #include <assert.h>
 #include <sanitizer/dfsan_interface.h>


        


More information about the llvm-commits mailing list