[PATCH] D136197: [ASAN] Don't inline when -asan-max-inline-poisoning-size=0

Roy Sundahl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 18 12:45:42 PDT 2022


rsundahl created this revision.
rsundahl added reviewers: dcoughlin, kubamracek, thetruestblue, usama54321, wrotki, yln.
Herald added subscribers: Enna1, hiraditya.
Herald added a project: All.
rsundahl requested review of this revision.
Herald added projects: Sanitizers, LLVM.
Herald added subscribers: llvm-commits, Sanitizers.

When -asan-max-inline-poisoning-size=0, all shadow memory access should be
outlined (through asan calls). This was not occuring when partial poisoning
was required on the right side of a variable's redzone. This diff contains
the changes necessary to implement and utilize  __asan_set_shadow_01() through
__asan_set_shadow_07(). The change is necessary for the full abstraction of
the asan implementation and will enable experimentation with alternate strategies.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D136197

Files:
  compiler-rt/lib/asan/asan_interface.inc
  compiler-rt/lib/asan/asan_interface_internal.h
  compiler-rt/lib/asan/asan_poisoning.cpp
  compiler-rt/lib/asan/asan_rtl.cpp
  compiler-rt/lib/asan/tests/asan_internal_interface_test.cpp
  compiler-rt/test/asan/TestCases/set_shadow_test.c
  llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  llvm/test/Instrumentation/AddressSanitizer/calls-only.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136197.468670.patch
Type: text/x-patch
Size: 12882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221018/6ec73330/attachment.bin>


More information about the llvm-commits mailing list