aboutsummaryrefslogtreecommitdiffstats
path: root/executor
Commit message (Collapse)AuthorAgeFilesLines
...
* prog: implemented argument and call prioritiesVeronica Radu2019-09-042-1/+3
|
* sys/linux/vusb.txt: fix unused EPSNUM paramAndrey Konovalov2019-09-041-5/+5
|
* all: convert Fuchsia to use "host fuzzing" modeMatthew Dempsky2019-08-271-0/+2
| | | | | | | | | Go support is not a priority for Fuchsia at the moment, so it's preferable to use host fuzzing mode for Fuchsia like currently done for Akaros. This commit basically looks for all the places where there was special logic for OS=="akaros" and extends the same logic for OS=="fuchsia".
* sys/linux, executor: minor USB fixes (#1361)Andrey Konovalov2019-08-232-8/+11
|
* sys/linux: fix bNumEndpoints in a USB interface (#1360)Andrey Konovalov2019-08-221-5/+5
| | | | | | bNumEndpoints is defined as len[endpoints]. This initially assumed that endpoints is an array, which is not the case for descriptions for particular USB classes. Improve it by defining a new template for interfaces and passing in a value range for bNumEndpoints for these cases.
* executor: fix procid not declared properly for netbsd (#1358)Andrey Konovalov2019-08-221-1/+1
|
* sys/linux: add basic USB CDC NCM descriptions (#1337)Andrey Konovalov2019-08-142-5/+15
| | | | CDC NCM support is incomplete, as it requires support for describing multiples interfaces per configuration.
* sys/linux: fix USB string descriptors (#1336)Andrey Konovalov2019-08-141-5/+5
| | | | | They should either contain a lang id or a string. Do some other minor fixes as well.
* sys/fuchsia: update socket syscallsMarco Vanotti2019-08-142-32/+2
|
* sys/openbsd: add ktrace descriptionAnton Lindqvist2019-08-122-1/+2
|
* sys/openbsd: add acct descriptionAnton Lindqvist2019-08-122-1/+2
|
* sys/openbsd: add speaker descriptionsAnton Lindqvist2019-08-122-1/+4
|
* sys/linux: add basic USB CDC Ethernet descriptions (#1328)Andrey Konovalov2019-08-093-6/+16
|
* prog: add special mutation for binary flagsVeronica Radu2019-08-092-1/+7
|
* sys/linux: add syz_open_dev$char_usb descriptionsAndrey Konovalov2019-08-082-5/+20
| | | | | syz_open_dev$char_usb opens char devices with major = USB_MAJOR. Sanitize its values to make sure it doesn't open other char/block devices.
* executer/common_bsd.h: increase the number of tap/tun devices for NetBSDR3x2019-08-081-0/+6
|
* executor: add some USB realted TODOs (#1319)Andrey Konovalov2019-08-072-14/+9
| | | Also simplify timeout related code a bit.
* sys/linux: add basic USB PRINTER descriptions (#1316)Andrey Konovalov2019-08-062-5/+15
| | | Also put USB HID descriptions together.
* sys/linux: import HID report descriptor descriptions (#1311)Andrey Konovalov2019-08-021-5/+5
| | | Remove long items and better specify tags.
* sys/linux/socket.txt: update timestamp optionsHangbin Liu2019-07-302-5/+15
| | | | | | | | | Update socket timeval, timestamp options and flags. v2: separate SO_{TIMESTAMP, TIMESTAMPNS}_{OLD, NEW} as they only need enable/disable option value. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* prog: don't minimize ProcType to 0Dmitry Vyukov2019-07-262-1/+2
| | | | | | | | Default value for ProcType is 0 (same for all PID's). Usually 0 either does not make sense at all or make different PIDs collide (since we use ProcType to separate value ranges for different PIDs). So don't change ProcType to 0 unless the type is explicitly marked as opt (in that case we will also generate 0 anyway).
* sys/linux: add usbmon add vfio descriptionsVeronicaRadu2019-07-262-5/+80
|
* sys/linux: extract USB HID ids (#1294)Andrey Konovalov2019-07-221-5/+5
| | | | | | | | | | | | | | | | | | * sys/linux: extract USB HID ids As it turns out the HID kernel subsystem registers only one USB driver that checks that the interface of the connected device has HID class and then looks up its own list of vendor/device ids to find a matching driver. This means that we currently don't generate proper vendor/device ids for USB HID devices. This patch updates the syz-usbgen tool to also extract USB HID vendor/device ids from a running kernel and makes the generated descriptions for HID devices to be patched using the extracted ids. This patch also contains some minor improvements to USB descriptions (better HID descriptions and more replies for some USB classes/drivers). * sys/linux: run make generate
* sys/linux: use AT_FDCWD only for directoriesDmitry Vyukov2019-07-221-5/+5
| | | | | | Currently we use AT_FDCWD as a special value for all file descriptors, but it does not make sense for almost all of them (sockets, bpf, etc). Use it as a special value only for fd_dir.
* executor: drop CAP_SYS_NICEDmitry Vyukov2019-07-221-4/+12
| | | | | | | | | | A process with CAP_SYS_NICE can bring kernel down by asking for too high SCHED_DEADLINE priority, as the result rcu and other system services that use kernel threads will stop functioning. Some parameters for SCHED_DEADLINE should be OK, but we don't have means to enforce values of indirect syscall arguments. Peter Zijlstra proposed sysctl_deadline_period_{min,max} which could be used to enfore safe limits without droppping CAP_SYS_NICE, but we don't have it yet. See the following bug for details: https://groups.google.com/forum/#!topic/syzkaller-bugs/G6Wl_PKPIWI
* sys/linux: improve sched_attr descriptionDmitry Vyukov2019-07-221-5/+5
| | | | Today we have means to properly describe parent size.
* executor: drop CAP_SYS_PTRACE with sandbox=noneDmitry Vyukov2019-07-221-17/+25
| | | | | | We only drop CAP_SYS_PTRACE for sandbox=namespace, but it can equally affect testing with sandbox=none. Drop it for sandbox=none, add a test.
* sys/fuchsia: update zx_clock_get syscall (#1292)Marco Vanotti2019-07-163-5/+4
| | | | | | | | | | | | * sys/fuchsia: update zx_clock_get. zx_clock_get was deprecated and replaced by zx_clock_get_new. In a recent CL[0], they replaced the zx_clock_get by zx_clock_get_new and moved all client. This commit updates syzkaller to use the new function. [0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/298575 * run make extract && make generate
* run make extract and make generate for fuchsiaMarco Vanotti2019-07-162-22/+6
|
* sys/linux, executor: improve USB descriptionsAndrey Konovalov2019-07-162-11/+54
| | | | | 1. Change HID descriptions to allow devices to have two interrupt endpoints. 2. Remove unneeded responses to OUT control requests from descriptions. 3. Add some debugging code to detect and report missing descriptions.
* sys/linux: update fs-verity descriptionsEric Biggers2019-07-161-5/+5
| | | | | | | | The fs-verity API was redesigned, and we're planning to re-add the fs-verity patches to linux-next soon. Get the syzkaller descriptions up to date with the new API [1] [1] https://lkml.kernel.org/linux-fsdevel/20190701153237.1777-4-ebiggers@kernel.org
* sys/linux: update BPF constantsPaul Chaignon2019-07-161-5/+5
| | | | Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
* sys/linux: update for v5.3 againEric Biggers2019-07-162-10/+5
| | | | | | | | | | | | | | | | | | Update descriptions to be compatible with latest linux-next (next-20190715), which in theory will match v5.3-rc1 when the merge window closes. - KEYCTL_GRANT_PERMISSION was reverted. So remove its description. - CRYPTO_ALG_TYPE_DIGEST was removed. So remove its description. - IB_QP_CREATE_SIGNATURE_EN was renamed to IB_QP_CREATE_INTEGRITY_EN. Also remove the sys/linux/rdma_*.const files which were incorrectly checked into git. The real copies of those files are in sys/linux/dev_infiniband_rdma_*.const. For now I did *not* check for other new APIs that need to be described.
* sys/linux: update key descriptionsEric Biggers2019-07-152-5/+20
| | | | | | | | - Add KEYCTL_MOVE (new in v5.3) - Add KEYCTL_CAPABILITIES (new in v5.3) - Add KEYCTL_GRANT_PERMISSION (new in v5.3) - Remove KEY_PERM_UNDEF (was only ever in an internal kernel header, not in UAPI; removed in v5.3)
* executor: add network packet injection for NetBSDSiddharth M2019-07-143-7/+26
| | | | | | | | | | | | * Initial Commit * working build of network packet fuzzing * Add missed csource file * pkg/csource: fix build * executor/common_bsd.h: Add comment stating reason for ifconfig create
* executor: fix out-of-bounds in USB fuzzing codeAndrey Konovalov2019-07-111-5/+9
| | | | | We might not have any string descriptors provided at all, use a hardcoded string in this case.
* executor: update USB fuzzing code to use new kernel APIAndrey Konovalov2019-07-111-42/+68
| | | | | The kernel API has changed and now differentiates between IN and OUT control requests.
* sys/openbsd: add diskmap descriptionsAnton Lindqvist2019-07-102-1/+3
|
* sys/linux: fix floppy descriptionDenis Efremov2019-07-051-5/+5
| | | | | | | | | | * sys/linux: fix floppy description Fix typo in the FDGETPRM ioctl. * sys/linux: extract && generate for floppy Signed-off-by: Denis Efremov <efremov@linux.com>
* executor: make errors during thread creation exit zeroAnton Lindqvist2019-07-041-2/+2
| | | | | | | | | | | | | On OpenBSD, the executor sometimes manages to set the memory resource limit 0 causing any following memory allocation to fail. Since threads are potentially created from such a thread which cannot allocate any memory, the executor will exit non-zero which in turn will cause false-positive panics to be reported. For more info see the discussion[1] in PR #1243. Instead, if hitting a fatal error during thread creation exit zero. [1] https://github.com/google/syzkaller/pull/1243
* sys/linux, executor: run make extract and generateAndrey Konovalov2019-07-012-5/+10
|
* sys/linux, executor: add syz_usb_ep_read syzkallAndrey Konovalov2019-07-012-21/+81
| | | | syz_usb_ep_read reads data from USB endpoints other than #0.
* sys/netbsd: Adding more syscallsSiddharth M2019-07-012-1/+21
| | | | | | | | | | | | | | * sys/netbsd: Adding more syscalls * Added lwp create structures * Added a few lwp flags * completed _lwp* syscalls * add clone syscall * fix errors, recheck arguments
* sys/openbsd: add missing WSDISPLAYIO_SBURNER ioctl commandAnton Lindqvist2019-06-302-1/+2
|
* sys/linux: update mpls_lable and rta typesHangbin Liu2019-06-261-5/+5
| | | | | | | | | | | | | | Kernel get mpls lable like ``` unsigned entry = be32_to_cpu(hdr->label_stack_entry); result.label = (entry & MPLS_LS_LABEL_MASK) >> MPLS_LS_LABEL_SHIFT; ``` So we just need to store the label in big endian order. For mpls rta types, kernel accpet only one lable for RTA_DST and multi labels for RTA_NEWDST. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* sys/netbsd: Add new syscalls exit and ptraceR3x2019-06-262-1/+3
|
* sys/linux, executor: run make extract and generateAndrey Konovalov2019-06-242-5/+15
|
* sys/linux, executor: add basic USB HID fuzzing supportAndrey Konovalov2019-06-242-36/+87
| | | | | This commit adds the necessary descriptions and executor adjustments to enable targeted fuzzing of the enumeration process of USB HID devices.
* sys/linux: update BPF constantsPaul Chaignon2019-06-231-5/+5
| | | | Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
* sys/freebsd: fix sockaddr structuresMichael Tuexen2019-06-231-2/+2
| | | | FreeBSD uses in sockaddr_{in,in6,un} structures a length field.