[PATCH] D39154: [Sanitizers] New sanitizer API to purge allocator quarantine.

Aleksey Shlyapnikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 20 19:52:23 PDT 2017


alekseyshl created this revision.

Purging allocator quarantine and returning memory to OS might be desired
between fuzzer iterations since, most likely, the quarantine is not
going to catch bugs in the code under fuzz, but reducing RSS might
significantly prolong the fuzzing session.

[libFuzzer] Periodically purge allocator's quarantine to prolong fuzzing sessions.

Fuzzing targets that allocate/deallocate a lot of memory tend to consume
a lot of RSS when ASan quarantine is enabled. Purging quarantine between
iterations and returning memory to OS keeps RSS down and should not
reduce the quarantine effectiveness provided the fuzz target does not
preserve state between iterations (in this case this feature can be turned off).

Based on https://reviews.llvm.org/D39153.


https://reviews.llvm.org/D39154

Files:
  include/sanitizer/allocator_interface.h
  lib/asan/asan_allocator.cc
  lib/fuzzer/FuzzerDriver.cpp
  lib/fuzzer/FuzzerExtFunctions.def
  lib/fuzzer/FuzzerFlags.def
  lib/fuzzer/FuzzerInternal.h
  lib/fuzzer/FuzzerLoop.cpp
  lib/fuzzer/FuzzerOptions.h
  lib/sanitizer_common/sanitizer_allocator_combined.h
  lib/sanitizer_common/sanitizer_allocator_interface.h
  lib/sanitizer_common/sanitizer_allocator_primary32.h
  lib/sanitizer_common/sanitizer_allocator_primary64.h
  lib/sanitizer_common/sanitizer_common_interface.inc
  lib/sanitizer_common/sanitizer_quarantine.h
  test/asan/TestCases/Linux/release_to_os_test.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39154.119738.patch
Type: text/x-patch
Size: 13145 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171021/e259cdd4/attachment.bin>


More information about the llvm-commits mailing list