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

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 23 11:11:58 PDT 2017


vitalybuka accepted this revision.
vitalybuka added a comment.
This revision is now accepted and ready to land.

Did you consider to avoid interval option at all?
e.g. closer you get to rss limit -> smaller number of fuzz iteration without purge?



================
Comment at: lib/fuzzer/FuzzerLoop.cpp:604
+      !EF->__sanitizer_purge_allocator) {
+    return;
+  }
----------------
for could you put following together?

```
EF->__sanitizer_purge_allocator();
LastAllocatorPurgeAttemptTime = system_clock::now(); 
```

e.g.

```
void Fuzzer::PurgeAllocator() {
  if (some condition)
    return;
  if (some condition)
    return;
  if (some condition)
    return;
  if (some condition)
    return;
 
  EF->__sanitizer_purge_allocator();
  LastAllocatorPurgeAttemptTime = system_clock::now();
}

or 

void Fuzzer::PurgeAllocator() {
  if (some condition ||
      some condition ||
      some condition ||
      some condition) {
     return;
  } 
 
  EF->__sanitizer_purge_allocator();
  LastAllocatorPurgeAttemptTime = system_clock::now();
}


```


https://reviews.llvm.org/D39155





More information about the llvm-commits mailing list