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/encoding.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'prog/encoding.go') diff --git a/prog/encoding.go b/prog/encoding.go index 7c8cf6878..98dee8a8e 100644 --- a/prog/encoding.go +++ b/prog/encoding.go @@ -99,6 +99,7 @@ func (ctx *serializer) call(c *Call) { switch kind := value.Kind(); kind { case reflect.Int: ctx.printf(": %d", value.Int()) + case reflect.Bool: default: panic("unable to serialize call prop of type " + kind.String()) } @@ -376,6 +377,8 @@ func (p *parser) parseCallProps() CallProps { } else { value.SetInt(intV) } + case reflect.Bool: + value.SetBool(true) default: panic("unable to handle call props of type " + kind.String()) } -- cgit mrf-deployment