aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-07-03 18:32:44 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-07-10 10:37:15 +0000
commit9aad9b3bd1b57a05f7aa0a949a56f2bcb641c07e (patch)
tree2023d1a8b8c4a04e998de86eeb6d589b35547a08
parenta7a1cea58a31ffafc3d6473559349a52d46c33a0 (diff)
syz-manager: don't minimize corpus during triage
During corpus triage it would happen very often since we are actively adding inputs, and presumably the persistent corpus was reasonably minimial, and we don't use it for fuzzing yet.
-rw-r--r--syz-manager/manager.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/syz-manager/manager.go b/syz-manager/manager.go
index 69a285d42..78229eb07 100644
--- a/syz-manager/manager.go
+++ b/syz-manager/manager.go
@@ -1391,6 +1391,12 @@ func (mgr *Manager) addNewCandidates(candidates []fuzzer.Candidate) {
}
func (mgr *Manager) minimizeCorpusLocked() {
+ // Don't minimize corpus until we have triaged all inputs from it.
+ // During corpus triage it would happen very often since we are actively adding inputs,
+ // and presumably the persistent corpus was reasonably minimial, and we don't use it for fuzzing yet.
+ if mgr.phase < phaseTriagedCorpus {
+ return
+ }
currSize := mgr.corpus.StatProgs.Val()
if currSize <= mgr.lastMinCorpus*103/100 {
return
@@ -1434,10 +1440,6 @@ func (mgr *Manager) minimizeCorpusLocked() {
log.Logf(0, "coverage for %v has saturated, not accepting more inputs", call)
}
- // Don't minimize persistent corpus until fuzzers have triaged all inputs from it.
- if mgr.phase < phaseTriagedCorpus {
- return
- }
mgr.corpusDBMu.Lock()
defer mgr.corpusDBMu.Unlock()
for key := range mgr.corpusDB.Records {