[compiler-rt] [msan] Re-exec with no ASLR if memory layout is incompatible on Linux (PR #85142)

Thurston Dang via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 18 10:50:00 PDT 2024


thurstond wrote:

> We're seeing similar issues with dfsan, e.g. https://ci.chromium.org/ui/p/chromium/builders/try/linux_upload_clang/5066/overview
> 
> ```
>  FAIL: DataFlowSanitizer-x86_64 :: lookup_table.c (22061 of 81767)
>  ******************** TEST 'DataFlowSanitizer-x86_64 :: lookup_table.c' FAILED ********************
>  Exit Code: 139
>  
>  Command Output (stderr):
>  --
>  RUN: at line 1: /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang  -fsanitize=dataflow   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/test/dfsan/lookup_table.c -mllvm -dfsan-combine-offset-labels-on-gep=false -mllvm -dfsan-combine-pointer-labels-on-load=false -mllvm -dfsan-combine-taint-lookup-table=remap_to_upper -DLOOKUP_TABLE -o /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/test/dfsan/X86_64Config/Output/lookup_table.c.tmp &&  /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/test/dfsan/X86_64Config/Output/lookup_table.c.tmp
>  + /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang -fsanitize=dataflow -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/test/dfsan/lookup_table.c -mllvm -dfsan-combine-offset-labels-on-gep=false -mllvm -dfsan-combine-pointer-labels-on-load=false -mllvm -dfsan-combine-taint-lookup-table=remap_to_upper -DLOOKUP_TABLE -o /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/test/dfsan/X86_64Config/Output/lookup_table.c.tmp
>  + /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/test/dfsan/X86_64Config/Output/lookup_table.c.tmp
>  FATAL: Code 0x618710e92e60 is out of application range. Non-PIE build?
>  /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/test/dfsan/X86_64Config/Output/lookup_table.c.script: line 3: 850288 Segmentation fault      (core dumped) /b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/runtimes/runtimes-x86_64-unknown-linux-gnu-bins/compiler-rt/test/dfsan/X86_64Config/Output/lookup_table.c.tmp
> ```

Thank you Arthur for the heads up! I've drafted a pull request to port this patch to DFSan (https://github.com/llvm/llvm-project/pull/85674)

https://github.com/llvm/llvm-project/pull/85142


More information about the llvm-commits mailing list