diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-05-06 16:58:38 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-05-06 16:58:38 +0200 |
| commit | cda1fcb742f957d6396e32c75f95575d81543fd4 (patch) | |
| tree | ac3402599468128738811206ae4a03eea3c4a255 /sys/test | |
| parent | 037b77dc65b054baa4bd72db8a4f4940d87b695d (diff) | |
sys: dedup mmap code across OSes
Update #538
Diffstat (limited to 'sys/test')
| -rw-r--r-- | sys/test/gen/32.go | 10 | ||||
| -rw-r--r-- | sys/test/gen/64.go | 10 | ||||
| -rw-r--r-- | sys/test/init.go | 23 | ||||
| -rw-r--r-- | sys/test/test.txt | 2 |
4 files changed, 13 insertions, 32 deletions
diff --git a/sys/test/gen/32.go b/sys/test/gen/32.go index 28a8fd380..7f5595363 100644 --- a/sys/test/gen/32.go +++ b/sys/test/gen/32.go @@ -506,10 +506,6 @@ var syscalls_32 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "anyres32", TypeSize: 4, ArgDir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 4}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "anyres64", TypeSize: 8, ArgDir: 1}}}, }}, - {Name: "mmap", CallName: "mmap", Args: []Type{ - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"}, - }}, {Name: "mutate0", CallName: "mutate0"}, {Name: "mutate1", CallName: "mutate1"}, {Name: "mutate2", CallName: "mutate2"}, @@ -544,6 +540,10 @@ var syscalls_32 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "b", TypeSize: 4}}, Buf: "a"}, }}, + {Name: "syz_mmap", CallName: "syz_mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"}, + }}, {Name: "syz_test", CallName: "syz_test"}, {Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align0"}}}, @@ -822,4 +822,4 @@ var consts_32 = []ConstValue{ {Name: "ONLY_32BITS_CONST", Value: 1}, } -const revision_32 = "e64e7aa2b83bf3882517a64e4d760868ce7e378f" +const revision_32 = "03eb61c17cd6775babc6992bed09fd510eec1467" diff --git a/sys/test/gen/64.go b/sys/test/gen/64.go index 232927c6d..528be76fc 100644 --- a/sys/test/gen/64.go +++ b/sys/test/gen/64.go @@ -505,10 +505,6 @@ var syscalls_64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "anyres32", TypeSize: 4, ArgDir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "anyres64", TypeSize: 8, ArgDir: 1}}}, }}, - {Name: "mmap", CallName: "mmap", Args: []Type{ - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, - }}, {Name: "mutate0", CallName: "mutate0"}, {Name: "mutate1", CallName: "mutate1"}, {Name: "mutate2", CallName: "mutate2"}, @@ -543,6 +539,10 @@ var syscalls_64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "b", TypeSize: 8}}, Buf: "a"}, }}, + {Name: "syz_mmap", CallName: "syz_mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, + }}, {Name: "syz_test", CallName: "syz_test"}, {Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align0"}}}, @@ -820,4 +820,4 @@ var consts_64 = []ConstValue{ {Name: "IPPROTO_UDP", Value: 17}, } -const revision_64 = "d9251ec1f9c31ffae40648c5410d8d7624136f72" +const revision_64 = "d00f8c6b2c92c5a3d3155c34bcafacc4ee1efce3" diff --git a/sys/test/init.go b/sys/test/init.go index 3bc7cd2e0..ae8849028 100644 --- a/sys/test/init.go +++ b/sys/test/init.go @@ -5,6 +5,7 @@ package test import ( "github.com/google/syzkaller/prog" + "github.com/google/syzkaller/sys/targets" "github.com/google/syzkaller/sys/test/gen" ) @@ -14,25 +15,5 @@ func init() { } func initTarget(target *prog.Target) { - arch := &arch{ - mmapSyscall: target.SyscallMap["mmap"], - } - - target.MakeMmap = arch.makeMmap -} - -type arch struct { - mmapSyscall *prog.Syscall -} - -func (arch *arch) makeMmap(addr, size uint64) *prog.Call { - meta := arch.mmapSyscall - return &prog.Call{ - Meta: meta, - Args: []prog.Arg{ - prog.MakeVmaPointerArg(meta.Args[0], addr, size), - prog.MakeConstArg(meta.Args[1], size), - }, - Ret: prog.MakeReturnArg(meta.Ret), - } + target.MakeMmap = targets.MakeSyzMmap(target) } diff --git a/sys/test/test.txt b/sys/test/test.txt index 729b44247..eb4b76388 100644 --- a/sys/test/test.txt +++ b/sys/test/test.txt @@ -3,7 +3,7 @@ # Syscalls used in syzkaller tests. -mmap(addr vma, len len[addr]) +syz_mmap(addr vma, len len[addr]) syz_test() # Integer types. |
