aboutsummaryrefslogtreecommitdiffstats
path: root/executor
Commit message (Collapse)AuthorAgeFilesLines
...
* sys/linux: improve i2c descriptions a bitDmitry Vyukov2019-10-081-5/+5
|
* Change KCSAN info file to debugfsMarco Elver2019-10-081-1/+1
|
* executor, host, csource: Add support to enable KCSANMarco Elver2019-10-043-0/+12
| | | | | | | | | By default, the current KCSAN .config does not enable KCSAN during boot, since we encounter races during boot which would prevent syzkaller from ever executing. This adds support to detect if KCSAN is available, and enables it on the fuzzer host.
* sys/linux: add new syscall descriptions for devio and usbmonVeronica Radu2019-10-012-15/+158
| | | | Update #533
* sys/linux/dev_binder.txt: also support real-world binder device namesEric Biggers2019-09-302-5/+20
| | | | | | It was reported that binder isn't covered when using syzkaller on a real Android device, since the binder device names are different. Update the descriptions to know about the real-world device names too.
* sys/linux: add new pidfd syscallsDmitry Vyukov2019-09-272-3/+12
|
* executor, csource: adjust syz_open_dev$hiddev timeoutAndrey Konovalov2019-09-241-0/+2
| | | | Looks like opening hiddev can take up to ~100 ms.
* executor: handle USB IN requests with wLength == 0Andrey Konovalov2019-09-191-3/+7
|
* executor: always provide DEVICE_QUALIFIER USB descriptorAndrey Konovalov2019-09-191-0/+16
|
* sys/linux: update BPF constantsPaul Chaignon2019-09-192-3/+6
| | | | Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
* sys/linux: re-generate Linux descriptions from next-20190918Eric Biggers2019-09-192-5/+30
|
* sys/linux: update BPF's anonymous structuresPaul Chaignon2019-09-181-5/+5
| | | | Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
* sys/linux: basic support for bpf-to-bpf function callsPaul Chaignon2019-09-171-5/+5
| | | | | | | | | The BPF template currently only defines helper calls. BPF function calls (bpf-to-bpf calls) are however supported in Linux since v4.16. This patch defines bpf-to-bpf calls in the template. Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
* executor: fix out-of-bounds access to syscalls arrayAndrey Konovalov2019-09-171-20/+20
| | | | | Move accessing syscalls array to check for USB syscalls after we validate the call_num value (it can be e.g. instr_copyin/out).
* sys/linux: support for loopkup-free map value accessesPaul Chaignon2019-09-171-5/+5
| | | | | | | | | | | | A new BPF instruction that allows lookup-free map value accesses was added in Linux v5.2, with commit d8eca5b ("bpf: implement lookup-free direct value access for maps"). It enables direct access to map values without having to call a BPF helper. It is currently used to implement global variable support. This commit adds support for that new instruction. Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
* sys/freebsd/sys.txt: update sendfile descriptionMichael Tuexen2019-09-161-2/+2
| | | | | The signature of sendfile() on FreeBSD is different from the one used on Linux.
* sys/freebsd/vnet.txt: replace IPPROTO_SEP by IPPROTO_DCCP (#1401)Michael Tüxen2019-09-161-2/+2
| | | | r350749 updated the constant from IPPROTO_SEP to IPPROTO_DCCP to be consistent with the IANA registry.
* executor/fuchsia: close vmo handle in syz_mmap.Marco Vanotti2019-09-121-0/+7
| | | | | | | | | | | | This commit fixes a handle leak in syz_mmap. The bug was pointed out by mdempsky during a code review. The `syz_mmap` function creates a VMO and maps it to a VMAR in the address specified by the `syz_mmap` parameters. Once a VMO is mapped to a vmar, the handle to the vmo can be closed without problems. The new code makes sure that `zx_handle_close(vmo_handle)` gets called before the `syz_mmap` function returns.
* executor/fuchsia: don't crash on syz_mmap failure.Marco Vanotti2019-09-111-3/+7
| | | | | | | | | | | | | | | | | syz_mmap is a pseudo-syscall that can be used by syzkaller in fuzzing programs, however, it is also used to setup the environment for syz-executor. syz-executor already checks the return value[0] when it is used for setting up the environment, so it doesn't make sense for the function to crash (most probably, in a fuzzing program it will be called with arguments that would make it fail). The previous behavior was causing a bunch of "Lost connection to test machine" syzkaller crashes which were meaningless. An example of a program in which syz_mmap would crash would be any program in which the handle to the root vmar is closed before calling syz_mmap. [0]: https://github.com/google/syzkaller/blob/a60cb4cd840ce786236a00480e8bb1025e0c5fef/executor/executor_fuchsia.h#L15
* executor/usb: use UTF16 encoding for default stringAndrey Konovalov2019-09-061-6/+18
| | | | Also respond with lang ID when string #0 is requested.
* executor/usb: fix null-ptr-deref in syz_usb_control_ioAndrey Konovalov2019-09-061-2/+2
|
* executor/usb: improve debugging messagesAndrey Konovalov2019-09-061-9/+9
|
* sys/linux/usb: fix CDC mac address encodingAndrey Konovalov2019-09-061-5/+5
|
* sys/linux/usb: always provide device string idsAndrey Konovalov2019-09-061-5/+5
| | | | | This forces the kernel to make a USB string request and select a lang ID early during the enumaration stage.
* executor/usb: allow syz_usb_control_io args to be 0Andrey Konovalov2019-09-061-2/+7
|
* sys/linux/vusb.txt: properly describe interfaces for USB CDC NCMAndrey Konovalov2019-09-062-15/+15
| | | | Also rename cdc_ethernet to cdc_ecm.
* sys/linux, executor: basic support for multiple USB interfacesAndrey Konovalov2019-09-061-15/+26
|
* executor: fix sigsegv for default USB string responseAndrey Konovalov2019-09-051-1/+1
|
* sys/linux/vusb.txt: fix typo in descriptionsAndrey Konovalov2019-09-051-5/+5
|
* 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).