From 409ee912f2c4f07e3064b4e6f4a83e1f812531d8 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Fri, 15 Mar 2024 19:53:15 +0100 Subject: all: move fuzzer to the host Instead of doing fuzzing in parallel in running VM, make all decisions in the host syz-manager process. Instantiate and keep a fuzzer.Fuzzer object in syz-manager and update the RPC between syz-manager and syz-fuzzer to exchange exact programs to execute and their resulting signal and coverage. To optimize the networking traffic, exchange mostly only the difference between the known max signal and the detected signal. --- pkg/corpus/corpus.go | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'pkg/corpus') diff --git a/pkg/corpus/corpus.go b/pkg/corpus/corpus.go index 772037178..8eed1fc63 100644 --- a/pkg/corpus/corpus.go +++ b/pkg/corpus/corpus.go @@ -9,7 +9,6 @@ import ( "github.com/google/syzkaller/pkg/cover" "github.com/google/syzkaller/pkg/hash" - "github.com/google/syzkaller/pkg/rpctype" "github.com/google/syzkaller/pkg/signal" "github.com/google/syzkaller/prog" ) @@ -63,15 +62,6 @@ func (item Item) StringCall() string { return stringCall(item.Prog, item.Call) } -// RPCInputShort() does not include coverage. -func (item Item) RPCInputShort() rpctype.Input { - return rpctype.Input{ - Call: item.Call, - Prog: item.ProgData, - Signal: item.Signal.Serialize(), - } -} - func stringCall(p *prog.Prog, call int) string { if call != -1 { return p.Calls[call].Meta.Name @@ -91,16 +81,6 @@ func (item NewInput) StringCall() string { return stringCall(item.Prog, item.Call) } -func (item NewInput) RPCInput() rpctype.Input { - return rpctype.Input{ - Call: item.Call, - Prog: item.Prog.Serialize(), - Signal: item.Signal.Serialize(), - Cover: item.Cover, - RawCover: item.RawCover, - } -} - type NewItemEvent struct { Sig string Exists bool -- cgit mrf-deployment