From f9e341e30b4f3faa468a0b885775a4fbf7825016 Mon Sep 17 00:00:00 2001 From: Mara Mihali Date: Thu, 5 Aug 2021 16:56:46 +0000 Subject: pkg/rpctype, syz-runner, syz-verifier: add reruns to syz-verifier architecture When a mismatch is found in the results returned for a program, the program will be rerun on all the kernels to ensure the mismatch is not flaky (i.e. it didn't occur because of some background activity or external state and will always be returned when running the program). If the same mismatch occurs in all reruns, syz-verifier creates a report for the program, otherwise it discards the program as being flaky --- pkg/rpctype/rpctype.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'pkg') diff --git a/pkg/rpctype/rpctype.go b/pkg/rpctype/rpctype.go index b64fb1561..35aa75307 100644 --- a/pkg/rpctype/rpctype.go +++ b/pkg/rpctype/rpctype.go @@ -27,6 +27,7 @@ type RPCCandidate struct { type RPCProg struct { Prog []byte ProgIdx int + RunIdx int } type ConnectArgs struct { @@ -113,6 +114,8 @@ type NextExchangeArgs struct { // Info contains information about the execution of each system call in the // program. Info ipc.ProgInfo + // RunIdx is the number of times this program has been run on the kernel. + RunIdx int } // NextExchaneRes contains the data passed from server to client namely -- cgit mrf-deployment