aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/fuzzer
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2024-07-17 12:21:45 +0200
committerAleksandr Nogikh <nogikh@google.com>2024-07-17 13:42:16 +0000
commite8048e9c74182279be8992eced157419d4d9344f (patch)
treeec28ad428543ad3f3ed2f87b2eb0610cce6765f0 /pkg/fuzzer
parent099fe5ad899cde7d3f351e83ce16325f0b86fde8 (diff)
pkg/fuzzer: speed up triage jobs
If we have found new signal for several calls of the same programs, triage them in paralllel.
Diffstat (limited to 'pkg/fuzzer')
-rw-r--r--pkg/fuzzer/job.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkg/fuzzer/job.go b/pkg/fuzzer/job.go
index 84d3af930..77933d15c 100644
--- a/pkg/fuzzer/job.go
+++ b/pkg/fuzzer/job.go
@@ -5,6 +5,7 @@ package fuzzer
import (
"math/rand"
+ "sync"
"github.com/google/syzkaller/pkg/corpus"
"github.com/google/syzkaller/pkg/cover"
@@ -98,9 +99,16 @@ func (job *triageJob) run(fuzzer *Fuzzer) {
if stop {
return
}
+ var wg sync.WaitGroup
for call, info := range job.calls {
- job.handleCall(call, info)
+ call, info := call, info
+ wg.Add(1)
+ go func() {
+ job.handleCall(call, info)
+ wg.Done()
+ }()
}
+ wg.Wait()
}
func (job *triageJob) handleCall(call int, info *triageCall) {