diff options
| author | Patrick Meyer <meyerpatrick@google.com> | 2021-05-08 23:56:52 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-05-20 13:29:54 +0200 |
| commit | f724ff25c0a72ce7eefd85c6a88b3522283c50cc (patch) | |
| tree | adc908d6f8765f915dddc47cf27c094968d1a66d /sys/darwin | |
| parent | 5681e9317b1f70c3cc1fba432eb138c183b8bdd1 (diff) | |
sys/darwin: minimal set of syscalls
To make MakeUnixNeutralizer work we need to have definitions of mmap
and friends, like MAP_FIXED.
Diffstat (limited to 'sys/darwin')
| -rw-r--r-- | sys/darwin/gen/empty.go | 6 | ||||
| -rw-r--r-- | sys/darwin/init.go | 22 | ||||
| -rw-r--r-- | sys/darwin/sys.txt | 18 | ||||
| -rw-r--r-- | sys/darwin/sys.txt.const | 27 |
4 files changed, 73 insertions, 0 deletions
diff --git a/sys/darwin/gen/empty.go b/sys/darwin/gen/empty.go new file mode 100644 index 000000000..7884be456 --- /dev/null +++ b/sys/darwin/gen/empty.go @@ -0,0 +1,6 @@ +// Copyright 2021 syzkaller project authors. All rights reserved. +// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +package gen + +// Empty file to unbreak build while descriptions are not generated. diff --git a/sys/darwin/init.go b/sys/darwin/init.go new file mode 100644 index 000000000..11c376e72 --- /dev/null +++ b/sys/darwin/init.go @@ -0,0 +1,22 @@ +// Copyright 2021 syzkaller project authors. All rights reserved. +// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +package darwin + +import ( + "github.com/google/syzkaller/prog" + "github.com/google/syzkaller/sys/targets" +) + +func InitTarget(target *prog.Target) { + arch := &arch{ + unix: targets.MakeUnixNeutralizer(target), + } + + target.MakeDataMmap = targets.MakePosixMmap(target, false, false) + target.Neutralize = arch.unix.Neutralize +} + +type arch struct { + unix *targets.UnixNeutralizer +} diff --git a/sys/darwin/sys.txt b/sys/darwin/sys.txt new file mode 100644 index 000000000..bebb19142 --- /dev/null +++ b/sys/darwin/sys.txt @@ -0,0 +1,18 @@ +# Copyright 2021 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +include <fcntl.h> +include <sys/mman.h> + +resource fd[int32]: 0xffffffffffffffff, AT_FDCWD + +open(file ptr[in, filename], flags flags[open_flags]) fd +close(fd fd) +mmap(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd, offset fileoff) +munmap(addr vma, len len[addr]) +mknod(file ptr[in, filename], mode flags[mknod_mode], dev int32) + +open_flags = O_RDONLY +mmap_prot = PROT_EXEC, PROT_READ, PROT_WRITE +mmap_flags = MAP_ANONYMOUS, MAP_ANON, MAP_FILE, MAP_FIXED, MAP_HASSEMAPHORE, MAP_PRIVATE, MAP_SHARED, MAP_NOCACHE, MAP_JIT, MAP_32BIT +mknod_mode = S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK diff --git a/sys/darwin/sys.txt.const b/sys/darwin/sys.txt.const new file mode 100644 index 000000000..7632f92da --- /dev/null +++ b/sys/darwin/sys.txt.const @@ -0,0 +1,27 @@ +# Code generated by syz-sysgen. DO NOT EDIT. +arches = amd64 +AT_FDCWD = amd64:18446744073709551614 +MAP_32BIT = amd64:32768 +MAP_ANON = amd64:4096 +MAP_ANONYMOUS = amd64:4096 +MAP_FILE = amd64:0 +MAP_FIXED = amd64:16 +MAP_HASSEMAPHORE = amd64:512 +MAP_JIT = amd64:2048 +MAP_NOCACHE = amd64:1024 +MAP_PRIVATE = amd64:2 +MAP_SHARED = amd64:1 +O_RDONLY = amd64:0 +PROT_EXEC = amd64:4 +PROT_READ = amd64:1 +PROT_WRITE = amd64:2 +SYS_close = amd64:6 +SYS_mknod = amd64:14 +SYS_mmap = amd64:197 +SYS_munmap = amd64:73 +SYS_open = amd64:5 +S_IFBLK = amd64:24576 +S_IFCHR = amd64:8192 +S_IFIFO = amd64:4096 +S_IFREG = amd64:32768 +S_IFSOCK = amd64:49152 |
