aboutsummaryrefslogtreecommitdiffstats
path: root/executor/syscalls_linux.h
Commit message (Collapse)AuthorAgeFilesLines
* executor: overhaulDmitry Vyukov2018-07-241-10421/+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/linux/socket_netlink_route: add specific policies for IFLA_LINKINFOHangbin Liu2018-07-171-5/+5
| | | | | | | | Add interface specified policies for IFLA_LINKINFO. I only added the interfaces we create in initial setup. Remain other types of interfaces in the TODO list. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* sys/linux: regenerate filesDmitry Vyukov2018-07-131-3/+3
|
* sys/linux: improve fuse descriptionsDmitry Vyukov2018-07-121-15/+125
|
* sys/linux: implement fuse as normal syscallsDmitry Vyukov2018-07-101-20/+25
| | | | | Remove syz_fuse* and implement them as normal syscalls. We not have enough expressive power to form mount options.
* sys/linux: use fmt in filesystem optionsDmitry Vyukov2018-07-091-5/+5
| | | | | We currently generate poor formatted intergers, generate proper integers using the new fmt type.
* sys/linux: use negative consts where usefulDmitry Vyukov2018-07-091-5/+5
|
* sys/linux: refine 9p descriptionsDmitry Vyukov2018-07-081-5/+5
| | | | | | | RVERSION needs to use 0xffff tag, otherwise parsing fails. Use only tags 1 and 2. They are densely allocated, so most of the time it's 1. And it needs to be correct in multiple replies for mount to succeed. So limit tag space.
* sys/linux: modernize cgroup descriptionsDmitry Vyukov2018-07-081-5/+5
|
* sys/linux: modernize selinux descriptionsDmitry Vyukov2018-07-081-5/+5
|
* sys/linux: extend 9p descriptionsDmitry Vyukov2018-07-081-10/+195
| | | | Add actual protocol messages.
* prog, pkg/compiler: support fmt typeDmitry Vyukov2018-07-081-5/+5
| | | | | fmt type allows to convert intergers and resources to string representation.
* sys/linux: refine vfat/msdos optionsDmitry Vyukov2018-07-071-5/+5
|
* sys/linux: add 9p descriptionsDmitry Vyukov2018-07-061-10/+40
| | | | Only mount for now.
* sys/akaros: add all syscallsDmitry Vyukov2018-07-061-15/+15
|
* sys/linux: add mount$bpfDmitry Vyukov2018-07-061-10/+15
| | | | Plus some minor assorted fixes.
* sys/linux: add rtc descriptionChi Pham2018-07-021-10/+125
|
* pkg/compiler: check for unused declarationsDmitry Vyukov2018-06-301-10/+21
| | | | | Error on unused structs/unions/resources/flags. Finds tons of bugs.
* prog: detect when flags are a bitmaskDmitry Vyukov2018-06-301-5/+5
|
* sys/linux: add 2 custom uidsDmitry Vyukov2018-06-231-5/+5
| | | | | Give fuzzer 2 custom uids to mess with. Ideally these should be proc, we can't do this for resources.
* sys/linux: fix /dev/urandom descriptionsDmitry Vyukov2018-06-231-20/+15
| | | | | Don't use pseudo syscall without a reason. Remove duplicate syscall.
* executor: rework fallback coverageDmitry Vyukov2018-06-221-0/+10
| | | | | | | | | | 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/linux: regenerate constsDmitry Vyukov2018-06-191-5/+5
| | | | @evdenis
* sys/linux: additional scsi_ioctls of sg deviceDenis Efremov2018-06-191-10/+65
| | | | | | | Add previously skipped SCSI_IOCTL_* ioctls in the sg rule. Signed-off-by: Denis Efremov <efremov@linux.com>
* sys/linux: refine xdp descriptionDmitry Vyukov2018-06-181-5/+5
| | | | | | | | | Split sockaddr_xdp for bind. Bind accepts another sock_xdp in addr. Without the split getsockaddr "can" create sock_xdp's because it returns generic sockaddr which contains all addresses, including sockaddr_xdp, which in turn contains sock_xdp.
* sys: mark output resources as optDmitry Vyukov2018-06-181-15/+115
| | | | | Mark output resources as opt in preparation for more precise constructor calculation.
* sys/linux: add rseq syscallDmitry Vyukov2018-06-121-9/+13
|
* executor: always use errors=continue when mounting ext2/3/4Dmitry Vyukov2018-06-111-5/+5
| | | | | | | For ext2/3/4 we have to have errors=continue because the image can contain errors=panic flag and can legally crash kernel. Fixes #599
* sys/linux: add udplite socketsDmitry Vyukov2018-06-081-10/+30
|
* sys/linux: add TCP_ZEROCOPY_RECEIVE and TCP_INQDmitry Vyukov2018-06-081-10/+20
|
* sys/linux: add ip6t_srh1 descriptionDmitry Vyukov2018-06-081-5/+5
|
* sys/linux: add more fs ioctlsDmitry Vyukov2018-06-081-10/+55
|
* sys/linux: minor fixes for aioDmitry Vyukov2018-06-081-8/+11
|
* sys/linux: add remaining qdisc/tclass/tfilter/actions for netlink route schedHangbin Liu2018-06-081-5/+5
| | | | | | Update #533 Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* executor: make syscall table and number constantDmitry Vyukov2018-06-071-10/+10
| | | | | | | | | 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/linux: regenerate consts on tipDmitry Vyukov2018-06-071-5/+5
|
* sys/linux: add AF_XDP supportDmitry Vyukov2018-06-071-10/+65
|
* sys/linux: fix up midi descriptionsDmitry Vyukov2018-06-071-10/+40
|
* sys/linux: id field fix in v4l2_event_subscriptionDenis Efremov2018-06-051-4/+4
| | | | | | | | | | | | | | | | | | The id field in the v4l2_event_subscription structure currently described as: id len[type, int32]. But all the documentation states is: "id - ID of the event source. If there is no ID associated with the event source, then set this to 0. Whether or not an event needs an ID depends on the event type." So, the documentation clearly states that: 1. id - is the source of an event 2. type - is the type of an event 3. for some types of events there is no source and id can be 0 According to this 'id int32' is more accurate description of the field.
* sys/linux: add new mount options for xfs && btrfs in kernel v4.17Denis Efremov2018-06-051-5/+5
| | | | | 1. lazytime && nolazytime for xfs 2. nossd_spread for btrfs
* sys/linux: fix cdrom rules description && clarification on how to runDenis Efremov2018-06-041-5/+5
| | | | | | | 1. Comment with clarification on how to run qemu added. 2. Fixed description of int type. Signed-off-by: Denis Efremov <efremov@linux.com>
* sys/linux: improve /dev/snd/controlC descriptionsDmitry Vyukov2018-06-041-5/+5
|
* sys/linux: video4linux v4l2_jpegcompression APP_len fixDenis Efremov2018-05-291-4/+4
| | | | Signed-off-by: Denis Efremov <efremov@linux.com>
* sys/linux: cdrom generic descriptionDenis Efremov2018-05-291-10/+235
| | | | Signed-off-by: Denis Efremov <efremov@linux.com>
* sys/linux: few minor tweaks for bpfDmitry Vyukov2018-05-181-5/+5
|
* sys/linux: add MAP_FIXED_NOREPLACE constDmitry Vyukov2018-05-181-5/+5
|
* sys/linux: use optional in tun descriptionsDmitry Vyukov2018-05-171-5/+5
|
* sys/linux: fix duplicate field in structDmitry Vyukov2018-05-171-5/+5
|
* sys/linux: regenerate video4linux consts on the right treeDmitry Vyukov2018-05-111-106/+5
| | | | | Now generated on: https://source.codeaurora.org/quic/la/kernel/msm-4.9 msm-4.9
* sys/linux: add missing consts for video4linux.txtDmitry Vyukov2018-05-111-10/+525
| | | | | | | | | | | | | For now other arches are regenerated on upstream tree. It does not contain a bunch of consts, so we define them to 1 for now. arm64 consts are left intact. video4linux.txt is added to "android" files in syz-extract, so that future make extract runs don't overwrite arm64 consts. Also fix VIDIOC_G_FBUF argument direction, currently tests crash with: panic: call ioctl$VIDIOC_G_FBUF: pointer arg 'buffer' has output direction [recovered] panic: call ioctl$VIDIOC_G_FBUF: pointer arg 'buffer' has output direction