aboutsummaryrefslogtreecommitdiffstats
path: root/executor/syscalls_fuchsia.h
Commit message (Collapse)AuthorAgeFilesLines
* executor: overhaulDmitry Vyukov2018-07-241-387/+0
| | | | | | | | | | | | | | | | | Make as much code as possible shared between all OSes. In particular main is now common across all OSes. Make more code shared between executor and csource (in particular, loop function and threaded execution logic). Also make loop and threaded logic shared across all OSes. Make more posix/unix code shared across OSes (e.g. signal handling, pthread creation, etc). Plus other changes along similar lines. Also support test OS in executor (based on portable posix) and add 4 arches that cover all execution modes (fork server/no fork server, shmem/no shmem). This change paves way for testing of executor code and allows to preserve consistency across OSes and executor/csource.
* sys/fuchsia: Update Fuchsia syscalls.Julia Hansbrough2018-07-071-4/+38
| | | | | | | | | Updates cover * zx_vmo_create * zx_clock_get_monotonic * hypervisor- and vCPU-related syscalls * system_get_features * some DDK syscalls
* sys/fuchsia: remove ZX_POL_NEW_EVPAIRDmitry Vyukov2018-06-301-2/+2
| | | | It was removed from zircon.
* prog: detect when flags are a bitmaskDmitry Vyukov2018-06-301-2/+2
|
* sys/fuchsia: add few new syscallsDmitry Vyukov2018-06-291-4/+14
|
* sys/fuchsia: add pipe syscallDmitry Vyukov2018-06-291-4/+6
|
* sys/fuchsia: remove zx_job_set_relative_importanceDmitry Vyukov2018-06-261-6/+4
| | | | It seems to be removed from zircon.
* executor: rework fallback coverageDmitry Vyukov2018-06-221-0/+4
| | | | | | | | | | We have fallback coverage implmentation for freebsd. 1. It's broken after some recent changes. 2. We need it for fuchsia, windows, akaros, linux too. 3. It's painful to work with C code. Move fallback coverage to ipc package, fix it and provide for all OSes.
* sys: mark output resources as optDmitry Vyukov2018-06-181-2/+2
| | | | | Mark output resources as opt in preparation for more precise constructor calculation.
* executor: make syscall table and number constantDmitry Vyukov2018-06-071-4/+4
| | | | | | | | | We see some crashes that suggest corruption of the syscall number: invalid command number 1296 (errno 11) invalid command number 107 (errno 110) Make the table and the number constant to prevent corruption.
* sys/fuchsia: disable zx_task_killDmitry Vyukov2018-06-061-6/+4
| | | | | | Disable zx_task_kill until we figure out how to prevent executor from killing fuzzer. Update #594
* sys/fuchsia: remove ZX_VMO_OP_LOOKUPDmitry Vyukov2018-06-061-6/+4
| | | | It's removed from latest zircon sources.
* sys: move generate files to separate packagesDmitry Vyukov2018-05-051-2/+2
| | | | | | | | | Move generated files to gen subdir. This allows to: 1. Rebuild init.go without rebuilding generated code. 2. Excluding generated files from gometalinter checking. This makes faster and consume less memory. Update #538
* gometalinter: enable package comment checkingDmitry Vyukov2018-05-031-2/+2
| | | | Update #538
* fuchsia: Update syzkaller to build with current Fuchsia API. (#543)Julia Hansbrough2018-03-211-16/+6
| | | | | | | | | | | | | | | | | | | | | * fuchsia: Fix the `extractor` tool. The include path in Zircon has changed; updated syz-extract/fuchsia.go to include this, and re-ran extract to get updated *.const files. * fuchsia: Update syzkaller to build with current Fuchsia API. Fuchsia doesn't have a stable API right now, so alas, this will probably continue to change until that's nailed down. But, useful to get this up-to-date at least. Relevant notes: * zx_channel_call_finish and _retry aren't technically public; leave them out until we have a less-cludgy way to expose them * musl supports setjmp/longjmp but not _setjmp/_longjump * remove some unsupported syscalls * update the build invocation
* fuchsia: Fix the `extractor` tool.Julia Hansbrough2018-03-211-2/+2
| | | | | The include path in Zircon has changed; updated syz-extract/fuchsia.go to include this, and re-ran extract to get updated *.const files.
* pkg/compiler: don't assign call IDs staticallyDmitry Vyukov2018-02-251-2/+2
| | | | | | IDs change whenever a call is added or removed, this leads to large diffs unnecessarly. Assign IDs dynamically.
* pkg/compiler: fix corner case in alignment calculationDmitry Vyukov2018-02-191-2/+2
|
* prog: rework address allocationDmitry Vyukov2018-02-191-2/+8
| | | | | | | | | | | | 1. mmap all memory always, without explicit mmap calls in the program. This makes lots of things much easier and removes lots of code. Makes mmap not a special syscall and allows to fuzz without mmap enabled. 2. Change address assignment algorithm. Current algorithm allocates unmapped addresses too frequently and allows collisions between arguments of a single syscall. The new algorithm analyzes actual allocations in the program and places new arguments at unused locations.
* sys/syz-sysgen: don't generate syz_ syscall numbersDmitry Vyukov2018-01-131-28/+14
| | | | They don't seem to be used today.
* pkg/compiler: support void typeDmitry Vyukov2018-01-131-2/+2
| | | | | | "void": type with static size 0 mostly useful inside of templates and varlen unions can't be syscall argument
* pkg/compiler: add bitsize typeDmitry Vyukov2018-01-061-2/+2
| | | | This is need for few crypto/xfrm descriptions.
* sys/fuchsia: more descriptionsDmitry Vyukov2017-10-161-24/+148
|
* sys/fuchsia: minor improvements to syscall descriptionsDmitry Vyukov2017-10-161-6/+6
|
* sys/fuchsia: add more descriptionsDmitry Vyukov2017-10-021-4/+56
|
* sys/fuchsia: describe more syscallsDmitry Vyukov2017-09-251-8/+160
|
* sys/syz-extract: support fuchsiaDmitry Vyukov2017-09-251-2/+2
|
* all: more assorted fuchsia supportDmitry Vyukov2017-09-221-11/+18
|
* all: initial support for fuchsiaDmitry Vyukov2017-09-201-0/+26
Nothing works, but builds. Update #191