[all-commits] [llvm/llvm-project] 0c35b6: [ASAN] Don't inline when -asan-max-inline-poisonin...

Roy Sundahl via All-commits all-commits at lists.llvm.org
Mon Oct 24 14:27:13 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0c35b6165ccc4fc3c5c1286236a02ea6f7894d00
      https://github.com/llvm/llvm-project/commit/0c35b6165ccc4fc3c5c1286236a02ea6f7894d00
  Author: Roy Sundahl <rsundahl at apple.com>
  Date:   2022-10-24 (Mon, 24 Oct 2022)

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

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

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.

Differential Revision: https://reviews.llvm.org/D136197




More information about the All-commits mailing list