[PATCH] D103304: Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always).

Kevin Athey via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 28 01:56:24 PDT 2021


kda created this revision.
kda added a reviewer: vitalybuka.
Herald added subscribers: hiraditya, dberris.
kda requested review of this revision.
Herald added projects: Sanitizers, LLVM.
Herald added subscribers: llvm-commits, Sanitizers.

In addition:

- add global flag to capture compile intent for UAR: __asan_use_after_return_mode. The global is a SANITIZER_WEAK_ATTRIBUTE.
- create flagless versions of GetFakeStackFast, OnMalloc, DEFINE_STACK_MALLOC_WITH_CLASS_ID (__asan_stack_flagless_malloc_<id>), __asan_get_current_fake_stack. They are used for the 'always' case to bypass an unnecessary branch.
- AddressSanitizer uses the flagless version of malloc in the 'always' case.

for issue: https://github.com/google/sanitizers/issues/1394


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D103304

Files:
  compiler-rt/lib/asan/asan_fake_stack.cpp
  compiler-rt/lib/asan/asan_interface.inc
  compiler-rt/lib/asan/asan_rtl.cpp
  compiler-rt/test/asan/TestCases/Linux/uar_signals.cpp
  compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp
  compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
  compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
  compiler-rt/test/asan/TestCases/heavy_uar_test.cpp
  compiler-rt/test/asan/TestCases/pass-struct-byval-uar.cpp
  compiler-rt/test/asan/TestCases/scariness_score_test.cpp
  compiler-rt/test/asan/TestCases/uar_and_exceptions.cpp
  llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
  llvm/test/Instrumentation/AddressSanitizer/stack-poisoning.ll
  llvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103304.348465.patch
Type: text/x-patch
Size: 22486 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210528/4c6fefbb/attachment.bin>


More information about the llvm-commits mailing list