aboutsummaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* executor: move arm syscall fixup to syz-extractDmitry Vyukov2017-11-2238-2283/+2234
|
* sys/linux: remove get_kernel_syms, add quotactl syscallDmitry Vyukov2017-11-2011-3613/+3644
| | | | | | get_kernel_syms does not seem to be present upstream. Describe an old quotactl syscall. Also fix umount/umount2 names in kallsyms.
* sys/syz-extract: fix compiler invocationDmitry Vyukov2017-11-201-2/+1
|
* pkg/osutil: don't leace runaway processesDmitry Vyukov2017-11-161-4/+4
| | | | | | When manager is stopped there are sometimes runaway qemu processes still running. Set PDEATHSIG for all subprocesses. We never need child processes outliving parents.
* sys/freebsd: add POLLINIGNEOFTobias Klauser2017-11-083-3/+5
|
* sys/linux: add definition for LOOP_SET_BLOCK_SIZEEric Biggers2017-11-0711-4672/+4708
| | | | The v4.14 kernel will support a new loop ioctl, LOOP_SET_BLOCK_SIZE.
* sys/linux: fix wrong ioctl numbers in loop device definitionsEric Biggers2017-11-0711-17/+37
| | | | | | | Fix a couple apparent copy-and-paste errors: - ioctl$LOOP_CHANGE_FD should use LOOP_CHANGE_FD - ioctl$LOOP_CTL_REMOVE should use LOOP_CTL_REMOVE
* syz-extract: fix printf conditional in templateEric Biggers2017-11-071-1/+1
| | | | | | commit 3520854be0e7 ("syz-extract: select declaring printf or not") broke 'make extract' because it introduced invalid syntax in a text template. Fix it.
* syz-extract: select declaring printf or notzoulasc2017-11-067-15/+19
| | | | | | | | Kernels are standalone implementations and can have their own implementations of functions that have different prototypes than the standard ones. In the NetBSD case the kernel printf returns void, and it is declared in <sys/systm.h> so avoid re-declaring it. Select if we are going to declare printf or not depending on the OS.
* syz-extract: Add missing symlink for NetBSD and refactor symlink code.zoulasc2017-11-061-5/+19
|
* sys/linux: add definition for keyctl_restrict_keyring()Eric Biggers2017-11-0311-3233/+3274
| | | | | Add a definition for keyctl_restrict_keyring(), which was added in the v4.12 kernel.
* sys/linux: add definition for keyctl_dh_compute()Eric Biggers2017-11-0311-3288/+3405
| | | | | | Add a definition for keyctl_dh_compute(), which was added in the v4.7 kernel, then in the v4.12 kernel extended to take in an optional 'keyctl_kdf_params' argument. (Requires CONFIG_KEY_DH_OPERATIONS=y.)
* sys/linux: use resource subtypes for "user" and "keyring" keysEric Biggers2017-11-036-7427/+7516
| | | | | | | | | | | Many functions in the keys API take in an ID parameter that is expected to refer to a keyring, not to any key. Therefore, define a resource subtype 'keyring' which can be created by add_key("keyring", ...) or by using one of the special keyring IDs. Also define a resource subtype 'user_key', since we'll be adding a definition for KEYCTL_DH_COMPUTE which takes in a struct containing "user" key IDs.
* sys/linux: define all the key typesEric Biggers2017-11-036-21/+21
| | | | | | | Add to key.txt all key types that currently might be present in the kernel. It was missing a few important ones such as "asymmetric", which has a significant attack surface since the payloads are run through an ASN.1 decoder.
* Changing the types of members of struct statUtkarsh Anand2017-10-302-30/+29
| | | | As defined in the header files.
* Added a few more syscall descriptions, constsUtkarsh Anand2017-10-3014-59/+2389
| | | | and other related files.
* Add two new syscalls `shmctl` and `msgctl`Utkarsh Anand2017-10-304-44/+114
|
* Fix the SYS_SEMCTL value issue for NetBSDUtkarsh Anand2017-10-304-17/+27
|
* sys/netbsd: fix mmap signatureDmitry Vyukov2017-10-253-2/+4
| | | | mmap syscall has 7 arguments (one unused padding)
* sys/freebsd: fix const nameDmitry Vyukov2017-10-251-23/+23
|
* Lots of changes to sys/netbsd (#397)Utkarsh Anand2017-10-2513-136/+696
| | | | | | | | | | | | | | | | * Lots of changes to sys/netbsd: - Removed a few syscalls that did not have proper constants defined. - Autogenerated *.const files. - Removed a few types like uid and gid, that were not available. - Ran make generate * Few changes for NetBSD support: - Added sys/netbsd/init.go - Added netbsd to sys/sys.go * Fix order in sys/sys.go * Update documentation for NetBSD
* Added 4 files containing syscall descriptions (#396)Utkarsh Anand2017-10-244-0/+335
| | | | | | | | * Added 4 files containing syscall descriptions - Initial additions for peer review. * Removed a flag: - Because it was failing to compile.
* executor: use forkserver for freebsdDmitry Vyukov2017-10-181-2/+2
| | | | | | | Use forkserver and shmem for freebsd. This greatly improves speed. Also introduce fallback coverage signal based on unique (syscall+errno) pairs.
* sys/linux: add MSG_ZEROCOPYWillem de Bruijn2017-10-1711-157/+177
|
* sys/freebsd: more syscall descriptionsDmitry Vyukov2017-10-1727-24/+4397
| | | | | | | This is mostly copied form linux. We probably need better support for sharing descriptions between multiple OSes. But there are lots of differences, so this is not trivial.
* executor: improvements for akarosDmitry Vyukov2017-10-172-23/+23
| | | | | | | 1. remove workaround for pthread attrs (was fixed in akaros) 2. remove workaround for dup2 (was fixed in akaros) 3. check that we receive a program 4. implement timeout for test processes
* sys/fuchsia: more descriptionsDmitry Vyukov2017-10-1612-210/+1245
|
* sys/fuchsia: minor improvements to syscall descriptionsDmitry Vyukov2017-10-167-160/+155
|
* executor, pkg/ipc: unify ipc protocol between linux and other OSesDmitry Vyukov2017-10-161-8/+23
| | | | | | | | | | | | | | | | | We currently use more complex and functional protocol on linux, and a simple ad-hoc protocol on other OSes. This leads to code duplication in both ipc and executor. Linux supports coverage, shared memory communication and fork server, which would also be useful for most other OSes. Unify communication protocol and parametrize it by (1) use of shmem or only pipes, (2) use of fork server. This reduces duplication in ipc and executor and will allow to support the useful features for other OSes easily. Finally, this fixes akaros support as it currently uses syz-stress running on host (linux) and executor running on akaros.
* pkg/csource: support akarosDmitry Vyukov2017-10-162-11/+31
|
* sys/akaros: add akaros supportDmitry Vyukov2017-10-166-0/+586
|
* sys/linux: fix fcntl signatureDmitry Vyukov2017-10-1611-11/+21
|
* sys/syz-extract: support akarosDmitry Vyukov2017-10-163-0/+36
|
* sys/syz-extract: support freebsdDmitry Vyukov2017-10-125-18/+111
|
* sys/syz-extract: factor out compilation functionDmitry Vyukov2017-10-125-291/+189
| | | | | | | Each arch duplicates significant portion of logic to compile the extract source file. Factor this logic into a separate function and reuse it across all OSes.
* all: basic freebsd supportDmitry Vyukov2017-10-026-0/+148
| | | | For now we just make Go part build for freebsd.
* executor: support fragmentation in syz_emit_ethernetDmitry Vyukov2017-10-026-6/+44
| | | | | | A recent linux commit "tun: enable napi_gro_frags() for TUN/TAP driver" added support for fragmentation when emitting packets via tun. Support this feature in syz_emit_ethernet.
* sys/fuchsia: add more descriptionsDmitry Vyukov2017-10-0212-83/+539
|
* sys/linux: include additional header to ion.txtBilly Lau2017-09-293-0/+3
| | | | This helps with resolving missing AT_FDCWD const.
* sys/windows: add more descriptionsDmitry Vyukov2017-09-274-10/+17450
|
* Makefile, sys/syz-extract: fix androidDmitry Vyukov2017-09-273-5/+9
|
* executor, sys/windows: initial windows supportDmitry Vyukov2017-09-2511-53/+372
|
* sys/fuchsia: describe more syscallsDmitry Vyukov2017-09-2542-54/+1819
|
* sys/syz-extract: support fuchsiaDmitry Vyukov2017-09-259-160/+304
|
* all: more assorted fuchsia supportDmitry Vyukov2017-09-229-33/+143
|
* sys/fuchsia: fix buildDmitry Vyukov2017-09-211-0/+1
|
* all: initial support for fuchsiaDmitry Vyukov2017-09-2014-135/+174
| | | | | | Nothing works, but builds. Update #191
* sys/linux: improve user_desc descriptionDmitry Vyukov2017-09-204-22/+46
|
* sys/targets: move targets from sys packageDmitry Vyukov2017-09-155-82/+86
| | | | | | | This breaks circular dependency between: sysgen -> sys/linux -> sys -> sysgen With this circular dependency it is very difficult to update format of generated descriptions because sysgen does not build.
* pkg/compiler: don't genererate missing syscallsDmitry Vyukov2017-09-156-9274/+6908
| | | | | | | | 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.