aboutsummaryrefslogtreecommitdiffstats
path: root/executor/syscalls.h
Commit message (Collapse)AuthorAgeFilesLines
...
* sys/akaros: remove /dev/consDmitry Vyukov2018-08-021-2/+0
| | | | Presumably it causes corrupted console output.
* executor: overhaulDmitry Vyukov2018-07-241-0/+14547
| | | | | | | | | | | | | | | | | 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.
* all: initial support for fuchsiaDmitry Vyukov2017-09-201-7530/+0
| | | | | | Nothing works, but builds. Update #191
* sys/linux: improve user_desc descriptionDmitry Vyukov2017-09-201-3/+3
|
* pkg/compiler: don't genererate missing syscallsDmitry Vyukov2017-09-151-281/+5
| | | | | | | | We used to generate them only because manager had no idea what arch it is testing. So syscalls numbers had to match between all arches. This is not needed anymore. Also don't generate unreferenced structs/resources.
* syz-manager, syz-fuzzer, executor: ensure that binaries are consistentDmitry Vyukov2017-09-151-0/+10
| | | | | | | 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: consolidate info about various targetsDmitry Vyukov2017-09-151-2988/+2988
| | | | | | | | | | | | Info about targets (like C arch/CFLAGS) is required in multiple places: extract.sh syz-extract syz-sysgen csource vm/qemu ... Consolidate it in one place and use that in syz-sysgen.
* pkg/compiler: detect resources without ctorsDmitry Vyukov2017-09-041-0/+5
| | | | Fixes #217
* sys: improve bpf descriptionsDmitry Vyukov2017-09-021-0/+35
|
* pkg/compiler: restore generation of unsupported syscallsDmitry Vyukov2017-09-021-0/+276
| | | | | | Unfortunately this is sitll needed, see the added comment. Update #191
* sys: add AF_PACKET sockets descriptionAndrey Konovalov2017-09-011-0/+99
|
* pkg/compiler: move more const-processing code to compilerDmitry Vyukov2017-08-271-519/+555
|
* pkg/compiler, sys/syz-sysgen: move const handling to pkg/compilerDmitry Vyukov2017-08-271-275/+0
| | | | Now pkg/compiler deals with consts.
* all: support i386 archDmitry Vyukov2017-08-191-0/+1521
| | | | Update #191
* sys: support arm archDmitry Vyukov2017-08-191-0/+1521
| | | | | | | Not tested, but const extraction and build works. Update #324 Update #191
* sys: describe clone/execve callsDmitry Vyukov2017-08-121-0/+9
| | | | | Update #211 Update #310
* sys: describe chroot/getcwd/chdir/fchdirDmitry Vyukov2017-08-121-0/+12
| | | | Update #211
* prog: fix encoding for exec of result argsAndrey Konovalov2017-08-011-0/+6
| | | | | | ResultArg might have const value. Also add a test.
* prog: return error instead of panic when parsingAndrey Konovalov2017-07-241-0/+3
|
* prog: allow recursion for optional pointersAndrey Konovalov2017-07-191-0/+9
| | | | | | | | When syzkaller generates arg that uses a few structs that reference each other via pointers, it can go into infinite recursion and crash. Fix this by forcing pointer args to be null when the depth of recursion reaches 3 for some struct.
* sys: add ETHTOOL ioctl in socket.txtJB Cayrou2017-06-191-0/+3
| | | | | | Add ioctl$sock_SIOCETHTOOL and ETHTOOL structures defined in uapi/linux/ethtool.h http://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/ethtool.h
* sys: use consistent icmp socket syscall namesAndrey Konovalov2017-06-141-36/+30
|
* executor: fix clang-tidy warningsDmitry Vyukov2017-06-131-3/+3
| | | | | A single check is enabled for now (misc-definitions-in-headers). But it's always fixable and found 2 bugs in csource.
* sys: check in generated filesDmitry Vyukov2017-06-131-0/+4542
| | | | | | | | | | | | | | | | | | We used to have all generated files checked in. Later we removed them (now users are supposed to run make to generate them). This causes several problems: - go get does not work as it tries to build everything straight away (go get -d works, but users are confused) - users don't run make and complain that build is broken - users don't re-run make after updates and complain that build is broken - hard to integrate into other build system (even if they support building Go, they don't support running sysgen out-of-the-box) Fixes #216
* sys: remove autogenerated filesDmitry Vyukov2016-09-021-3350/+0
| | | | | | | | They were necessary when they were the source of constant values extracted from kernel code (hard to do). Now constants are checked-in separately, and these large files can be easily regenerated with 'make generate'. Now they are only a source of large uninteresting diffs in commits. Remove them.
* executor, csource: share some common code between executor and csourceDmitry Vyukov2016-08-281-3330/+3327
|
* overhaul syscall description generation processDmitry Vyukov2016-08-261-4121/+3008
| | | | | | | | | | | | | | | | | | | | | | This splits generation process into two phases: 1. Extract values of constants from linux kernel sources. 2. Generate Go code. Constant values are checked in. The advantage is that the second phase is now completely independent from linux source files, kernel version, presence of headers for particular drivers, etc. This allows to change what Go code we generate any time without access to all kernel headers (which in future won't be limited to only upstream headers). Constant extraction process does require proper kernel sources, but this can be done only once by the person who added the driver and has access to the required sources. Then the constant values are checked in for others to use. Consant extraction process is per-file/per-arch. That is, if I am adding a driver that is not present upstream and that works only on a single arch, I will check in constants only for that driver and for that arch.
* executor: add support for 386 arch (COMPAT syscalls)Dmitry Vyukov2016-06-301-0/+1113
| | | | | This is not fully working now: e.g. prog and sys packages assume that pointer size is 8. But at least it compiles and works.
* sys: update generated filesDmitry Vyukov2016-06-131-0/+207
|
* sys: fix /dev/snd/pcm descriptionDmitry Vyukov2016-02-051-3/+6
|
* sys: regenerate after tun/random supportDmitry Vyukov2016-01-261-0/+87
|
* sys: open a bunch of new devicesDmitry Vyukov2016-01-261-0/+144
|
* sysgen: use __ppc64__ || __PPC64__ || __powerpc64__ to detect ppcDmitry Vyukov2016-01-251-3/+3
| | | | Different macros are defined by different compilers...
* sys: add basic netlink support for realDmitry Vyukov2016-01-231-0/+48
|
* sys: use kernel headers instead of host headersDmitry Vyukov2016-01-221-15/+965
| | | | | | | | This solves several problems: - host usually have outdates headers, so previously we need to define missing consts - host may not have some headers at all - generation depends on linux distribution and version - some of the consts cannot be defined at all (e.g. ioctls that use struct arguments)
* sys: describe more dri syscallsDmitry Vyukov2016-01-161-0/+92
|
* sys: support /dev/input/event ioctlsDmitry Vyukov2016-01-151-0/+72
|
* sys: support /dev/input/{mouse,mice,event}Dmitry Vyukov2016-01-131-0/+2
|
* sys: introduce a generic syz_open_dev helper syscallDmitry Vyukov2016-01-131-15/+20
|
* sys: add support for /dev/snd/controlDmitry Vyukov2016-01-131-0/+51
|
* sys: add support for /dev/snd/timerDmitry Vyukov2016-01-121-0/+30
|
* sys: support /dev/snd/seqDmitry Vyukov2016-01-111-0/+66
|
* sys: add kvm supportDmitry Vyukov2016-01-081-0/+172
|
* sys: add sctp supportDmitry Vyukov2015-12-301-12/+96
|
* sys: add union typeDmitry Vyukov2015-12-291-2/+2
|
* sys: support for AF_UNIX socketsDmitry Vyukov2015-12-281-2/+42
|
* sys: move more subsystems into separate filesDmitry Vyukov2015-12-281-394/+394
|
* sys: split syscall description into several filesDmitry Vyukov2015-12-281-34/+34
|
* host: detect unsupported syscallsDmitry Vyukov2015-12-271-0/+4
| | | | | | Also detect transitively unsupported syscalls, that is, syscalls for which all syscalls that can create input arguments are disabled.
* sysgen: fix syscall number assignment for syzkallsDmitry Vyukov2015-12-241-8/+8
|