From ffe7e17368d7ae6c2b40da2ce0703d8ad8a116ac Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 5 Sep 2017 13:31:14 +0200 Subject: prog, sys: move types to prog Large overhaul moves syscalls and arg types from sys to prog. Sys package now depends on prog and contains only generated descriptions of syscalls. Introduce prog.Target type that encapsulates all targer properties, like syscall list, ptr/page size, etc. Also moves OS-dependent pieces like mmap call generation from prog to sys. Update #191 --- tools/syz-execprog/execprog.go | 1 + tools/syz-mutate/mutate.go | 1 + tools/syz-stress/stress.go | 12 ++++++------ tools/syz-upgrade/upgrade.go | 1 + 4 files changed, 9 insertions(+), 6 deletions(-) (limited to 'tools') diff --git a/tools/syz-execprog/execprog.go b/tools/syz-execprog/execprog.go index de2e1f7f3..1bedc09ea 100644 --- a/tools/syz-execprog/execprog.go +++ b/tools/syz-execprog/execprog.go @@ -23,6 +23,7 @@ import ( . "github.com/google/syzkaller/pkg/log" "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/prog" + _ "github.com/google/syzkaller/sys" ) var ( diff --git a/tools/syz-mutate/mutate.go b/tools/syz-mutate/mutate.go index 9824db0b1..adda12df7 100644 --- a/tools/syz-mutate/mutate.go +++ b/tools/syz-mutate/mutate.go @@ -13,6 +13,7 @@ import ( "time" "github.com/google/syzkaller/prog" + _ "github.com/google/syzkaller/sys" ) var ( diff --git a/tools/syz-stress/stress.go b/tools/syz-stress/stress.go index d3ad6e9ed..159e7ddde 100644 --- a/tools/syz-stress/stress.go +++ b/tools/syz-stress/stress.go @@ -18,7 +18,7 @@ import ( "github.com/google/syzkaller/pkg/ipc" . "github.com/google/syzkaller/pkg/log" "github.com/google/syzkaller/prog" - "github.com/google/syzkaller/sys" + _ "github.com/google/syzkaller/sys" ) var ( @@ -129,21 +129,21 @@ func readCorpus() []*prog.Prog { return progs } -func buildCallList() map[*sys.Syscall]bool { +func buildCallList() map[*prog.Syscall]bool { calls, err := host.DetectSupportedSyscalls() if err != nil { Logf(0, "failed to detect host supported syscalls: %v", err) - calls = make(map[*sys.Syscall]bool) - for _, c := range sys.Syscalls { + calls = make(map[*prog.Syscall]bool) + for _, c := range prog.Syscalls { calls[c] = true } } - for _, c := range sys.Syscalls { + for _, c := range prog.Syscalls { if !calls[c] { Logf(0, "disabling unsupported syscall: %v", c.Name) } } - trans := sys.TransitivelyEnabledCalls(calls) + trans := prog.TransitivelyEnabledCalls(calls) for c := range calls { if !trans[c] { Logf(0, "disabling transitively unsupported syscall: %v", c.Name) diff --git a/tools/syz-upgrade/upgrade.go b/tools/syz-upgrade/upgrade.go index 0d7c42112..0a28a27fb 100644 --- a/tools/syz-upgrade/upgrade.go +++ b/tools/syz-upgrade/upgrade.go @@ -18,6 +18,7 @@ import ( "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/prog" + _ "github.com/google/syzkaller/sys" ) func main() { -- cgit mrf-deployment