aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--syz-manager/manager.go8
-rw-r--r--syz-manager/rpc.go1
-rw-r--r--syz-manager/stats.go2
4 files changed, 9 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a1e8a1f3f..544c2a148 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -58,3 +58,4 @@ Christoph Paasch
Collabora
André Almeida
Dipanjan Das
+Daimeng Wang
diff --git a/syz-manager/manager.go b/syz-manager/manager.go
index 8ef139c33..f4b78c906 100644
--- a/syz-manager/manager.go
+++ b/syz-manager/manager.go
@@ -215,13 +215,15 @@ func RunManager(cfg *mgrconfig.Config, target *prog.Target, sysTarget *targets.T
mgr.fuzzingTime += diff * time.Duration(atomic.LoadUint32(&mgr.numFuzzing))
executed := mgr.stats.execTotal.get()
crashes := mgr.stats.crashes.get()
- signal := mgr.stats.corpusSignal.get()
+ corpusCover := mgr.stats.corpusCover.get()
+ corpusSignal := mgr.stats.corpusSignal.get()
+ maxSignal := mgr.stats.maxSignal.get()
mgr.mu.Unlock()
numReproducing := atomic.LoadUint32(&mgr.numReproducing)
numFuzzing := atomic.LoadUint32(&mgr.numFuzzing)
- log.Logf(0, "VMs %v, executed %v, cover %v, crashes %v, repro %v",
- numFuzzing, executed, signal, crashes, numReproducing)
+ log.Logf(0, "VMs %v, executed %v, corpus cover %v, corpus signal %v, max signal %v, crashes %v, repro %v",
+ numFuzzing, executed, corpusCover, corpusSignal, maxSignal, crashes, numReproducing)
}
}()
diff --git a/syz-manager/rpc.go b/syz-manager/rpc.go
index 6cf979a38..f550a2ca5 100644
--- a/syz-manager/rpc.go
+++ b/syz-manager/rpc.go
@@ -270,6 +270,7 @@ func (serv *RPCServer) Poll(a *rpctype.PollArgs, r *rpctype.PollRes) error {
newMaxSignal := serv.maxSignal.Diff(a.MaxSignal.Deserialize())
if !newMaxSignal.Empty() {
serv.maxSignal.Merge(newMaxSignal)
+ serv.stats.maxSignal.set(len(serv.maxSignal))
for _, f1 := range serv.fuzzers {
if f1 == f {
continue
diff --git a/syz-manager/stats.go b/syz-manager/stats.go
index 8d265f984..6ac0db039 100644
--- a/syz-manager/stats.go
+++ b/syz-manager/stats.go
@@ -27,6 +27,7 @@ type Stats struct {
hubRecvReproDrop Stat
corpusCover Stat
corpusSignal Stat
+ maxSignal Stat
mu sync.Mutex
namedStats map[string]uint64
@@ -44,6 +45,7 @@ func (stats *Stats) all() map[string]uint64 {
"exec total": stats.execTotal.get(),
"cover": stats.corpusCover.get(),
"signal": stats.corpusSignal.get(),
+ "max signal": stats.maxSignal.get(),
}
if stats.haveHub {
m["hub: send prog add"] = stats.hubSendProgAdd.get()