diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-06-29 18:15:41 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-06-29 18:15:41 +0200 |
| commit | 0a971ab1d087800b55cd2bf7daed44ab323ff900 (patch) | |
| tree | 7c99eeeee43642b6c4a4105f15b26ab576fb9e35 /pkg | |
| parent | b6b4ddad63ed7b7b39939079c23d708c9d45e15b (diff) | |
syz-manager: implement fallback coverage report
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/ipc/ipc.go | 3 | ||||
| -rw-r--r-- | pkg/signal/signal.go | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/pkg/ipc/ipc.go b/pkg/ipc/ipc.go index b488da277..2f7f4e928 100644 --- a/pkg/ipc/ipc.go +++ b/pkg/ipc/ipc.go @@ -19,6 +19,7 @@ import ( "unsafe" "github.com/google/syzkaller/pkg/osutil" + "github.com/google/syzkaller/pkg/signal" "github.com/google/syzkaller/prog" "github.com/google/syzkaller/sys/targets" ) @@ -333,7 +334,7 @@ func addFallbackSignal(p *prog.Prog, info []CallInfo) { if !inf.Executed || len(inf.Signal) != 0 { continue } - inf.Signal = []uint32{uint32(call.Meta.ID)<<16 | uint32(inf.Errno)&0x3ff} + inf.Signal = []uint32{signal.EncodeFallback(call.Meta.ID, inf.Errno)} } } diff --git a/pkg/signal/signal.go b/pkg/signal/signal.go index 20deba46a..9af1bcce1 100644 --- a/pkg/signal/signal.go +++ b/pkg/signal/signal.go @@ -191,3 +191,11 @@ func Minimize(corpus []Context) []interface{} { } return result } + +func EncodeFallback(id, errno int) uint32 { + return uint32(id)<<16 | uint32(errno)&0x3ff +} + +func DecodeFallback(s uint32) (int, int) { + return int(s >> 16), int(s & 0x3ff) +} |
