[all-commits] [llvm/llvm-project] 596d06: [GWP-ASan] enable/disable and fork support.

Evgenii Stepanov via All-commits all-commits at lists.llvm.org
Fri Jan 24 13:53:33 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 596d06145a2b94fa9549f0e8cadc641586dfab1d
      https://github.com/llvm/llvm-project/commit/596d06145a2b94fa9549f0e8cadc641586dfab1d
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2020-01-24 (Fri, 24 Jan 2020)

  Changed paths:
    M compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp
    M compiler-rt/lib/gwp_asan/guarded_pool_allocator.h
    M compiler-rt/lib/gwp_asan/options.inc
    M compiler-rt/lib/gwp_asan/platform_specific/guarded_pool_allocator_posix.cpp
    M compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
    A compiler-rt/lib/gwp_asan/tests/enable_disable.cpp
    A compiler-rt/lib/gwp_asan/tests/harness.cpp
    M compiler-rt/lib/gwp_asan/tests/harness.h
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc

  Log Message:
  -----------
  [GWP-ASan] enable/disable and fork support.

Summary:
* Implement enable() and disable() in GWP-ASan.
* Setup atfork handler.
* Improve test harness sanity and re-enable GWP-ASan in Scudo.

Scudo_standalone disables embedded GWP-ASan as necessary around fork().
Standalone GWP-ASan sets the atfork handler in init() if asked to. This
requires a working malloc(), therefore GWP-ASan initialization in Scudo
is delayed to the post-init callback.

Test harness changes are about setting up a single global instance of
the GWP-ASan allocator so that pthread_atfork() does not create
dangling pointers.

Test case shamelessly stolen from D72470.

Reviewers: cryptoad, hctim, jfb

Subscribers: mgorny, jfb, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

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




More information about the All-commits mailing list