From fd8caa5462e64f37cb9eebd75ffca1737dde447d Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Thu, 23 Sep 2021 16:15:41 +0000 Subject: all: replace collide mode by `async` call property Replace the currently existing straightforward approach to race triggering (that was almost entirely implemented inside syz-executor) with a more flexible one. The `async` call property instructs syz-executor not to block until the call has completed execution and proceed immediately to the next call. The decision on what calls to mark with `async` is made by syz-fuzzer. Ultimately this should let us implement more intelligent race provoking strategies as well as make more fine-grained reproducers. --- prog/encodingexec_test.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'prog/encodingexec_test.go') diff --git a/prog/encodingexec_test.go b/prog/encodingexec_test.go index 5e0f73ce6..fe6a4dfb4 100644 --- a/prog/encodingexec_test.go +++ b/prog/encodingexec_test.go @@ -465,11 +465,14 @@ func TestSerializeForExec(t *testing.T) { { `test() (fail_nth: 3) test() (fail_nth: 4) +test() (async) `, []uint64{ - execInstrSetProps, 3, + execInstrSetProps, 3, 0, callID("test"), ExecNoCopyout, 0, - execInstrSetProps, 4, + execInstrSetProps, 4, 0, + callID("test"), ExecNoCopyout, 0, + execInstrSetProps, 0, 1, callID("test"), ExecNoCopyout, 0, execInstrEOF, }, @@ -478,12 +481,17 @@ test() (fail_nth: 4) { Meta: target.SyscallMap["test"], Index: ExecNoCopyout, - Props: CallProps{3}, + Props: CallProps{3, false}, + }, + { + Meta: target.SyscallMap["test"], + Index: ExecNoCopyout, + Props: CallProps{4, false}, }, { Meta: target.SyscallMap["test"], Index: ExecNoCopyout, - Props: CallProps{4}, + Props: CallProps{0, true}, }, }, }, -- cgit mrf-deployment