This is an archive of the discontinued LLVM Phabricator instance.

[Sanitizers] New sanitizer API to purge allocator quarantine.
AbandonedPublic

Authored by alekseyshl on Oct 20 2017, 7:52 PM.

Details

Reviewers
cryptoad
Summary

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 D39153.

Event Timeline

alekseyshl created this revision.Oct 20 2017, 7:52 PM
alekseyshl abandoned this revision.Oct 23 2017, 10:34 AM