From 539e603206f427ff6549cde661fef0205a4c9034 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 15 Sep 2017 10:15:00 +0200 Subject: syz-manager, syz-fuzzer, executor: ensure that binaries are consistent Check that manager/fuzzer/executor are build on the same git revision, use the same syscall descriptions and the same target arch. Update #336 --- sys/linux/386.go | 4 +++- sys/linux/amd64.go | 4 +++- sys/linux/arm.go | 4 +++- sys/linux/arm64.go | 4 +++- sys/linux/init.go | 3 ++- sys/linux/ppc64le.go | 4 +++- 6 files changed, 17 insertions(+), 6 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/386.go b/sys/linux/386.go index 60842fd78..edce34ee9 100644 --- a/sys/linux/386.go +++ b/sys/linux/386.go @@ -4,7 +4,7 @@ package linux import . "github.com/google/syzkaller/prog" func init() { - initArch(syscalls_386, resources_386, structDescs_386, consts_386, "386", 4) + initArch(revision_386, syscalls_386, resources_386, structDescs_386, consts_386, "386", 4) } var resources_386 = []*ResourceDesc{ @@ -17186,3 +17186,5 @@ var consts_386 = []ConstValue{ {Name: "__WCLONE", Value: 2147483648}, {Name: "__WNOTHREAD", Value: 536870912}, } + +const revision_386 = "fb26afa29ccd7317f2c0796cf1386b493eeb955f" diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go index 5a64db3e7..53f1aacc4 100644 --- a/sys/linux/amd64.go +++ b/sys/linux/amd64.go @@ -4,7 +4,7 @@ package linux import . "github.com/google/syzkaller/prog" func init() { - initArch(syscalls_amd64, resources_amd64, structDescs_amd64, consts_amd64, "amd64", 8) + initArch(revision_amd64, syscalls_amd64, resources_amd64, structDescs_amd64, consts_amd64, "amd64", 8) } var resources_amd64 = []*ResourceDesc{ @@ -17268,3 +17268,5 @@ var consts_amd64 = []ConstValue{ {Name: "__WCLONE", Value: 2147483648}, {Name: "__WNOTHREAD", Value: 536870912}, } + +const revision_amd64 = "c14ec0f07c2984481a0bf1453ea928549382eb25" diff --git a/sys/linux/arm.go b/sys/linux/arm.go index 3eb900c60..b364bdc71 100644 --- a/sys/linux/arm.go +++ b/sys/linux/arm.go @@ -4,7 +4,7 @@ package linux import . "github.com/google/syzkaller/prog" func init() { - initArch(syscalls_arm, resources_arm, structDescs_arm, consts_arm, "arm", 4) + initArch(revision_arm, syscalls_arm, resources_arm, structDescs_arm, consts_arm, "arm", 4) } var resources_arm = []*ResourceDesc{ @@ -17140,3 +17140,5 @@ var consts_arm = []ConstValue{ {Name: "__WCLONE", Value: 2147483648}, {Name: "__WNOTHREAD", Value: 536870912}, } + +const revision_arm = "f73cb445fdead3417b165eec037a0d892cc3253e" diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go index f82fa3974..8f90a0822 100644 --- a/sys/linux/arm64.go +++ b/sys/linux/arm64.go @@ -4,7 +4,7 @@ package linux import . "github.com/google/syzkaller/prog" func init() { - initArch(syscalls_arm64, resources_arm64, structDescs_arm64, consts_arm64, "arm64", 8) + initArch(revision_arm64, syscalls_arm64, resources_arm64, structDescs_arm64, consts_arm64, "arm64", 8) } var resources_arm64 = []*ResourceDesc{ @@ -17182,3 +17182,5 @@ var consts_arm64 = []ConstValue{ {Name: "__WCLONE", Value: 2147483648}, {Name: "__WNOTHREAD", Value: 536870912}, } + +const revision_arm64 = "72353a7ede1fe6cb903fcb02eb5eb11407bea5d8" diff --git a/sys/linux/init.go b/sys/linux/init.go index cbf93e963..509e2ab04 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -9,12 +9,13 @@ import ( "github.com/google/syzkaller/prog" ) -func initArch(syscalls []*prog.Syscall, resources []*prog.ResourceDesc, +func initArch(rev string, syscalls []*prog.Syscall, resources []*prog.ResourceDesc, structDescs []*prog.KeyedStruct, consts []prog.ConstValue, archName string, ptrSize uint64) { arch := makeArch(syscalls, resources, structDescs, consts, archName) target := &prog.Target{ OS: "linux", Arch: archName, + Revision: rev, PtrSize: ptrSize, PageSize: pageSize, DataOffset: dataOffset, diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go index b1b9459ed..aa0f691a7 100644 --- a/sys/linux/ppc64le.go +++ b/sys/linux/ppc64le.go @@ -4,7 +4,7 @@ package linux import . "github.com/google/syzkaller/prog" func init() { - initArch(syscalls_ppc64le, resources_ppc64le, structDescs_ppc64le, consts_ppc64le, "ppc64le", 8) + initArch(revision_ppc64le, syscalls_ppc64le, resources_ppc64le, structDescs_ppc64le, consts_ppc64le, "ppc64le", 8) } var resources_ppc64le = []*ResourceDesc{ @@ -17172,3 +17172,5 @@ var consts_ppc64le = []ConstValue{ {Name: "__WCLONE", Value: 2147483648}, {Name: "__WNOTHREAD", Value: 536870912}, } + +const revision_ppc64le = "cec4f3697757a69ac044be83bac5ba45df7f2fbf" -- cgit mrf-deployment