aboutsummaryrefslogtreecommitdiffstats
path: root/executor
Commit message (Collapse)AuthorAgeFilesLines
...
* executor: fix a cast in common_usb_netbsd.hm00nbsd2020-05-241-2/+2
|
* executor: fix a USB define on NetBSDm00nbsd2020-05-211-1/+3
|
* executor: use the SYZ_USB define for NetBSDm00nbsd2020-05-211-1/+1
|
* executor: fix the types used in common_usb_netbsd.hm00nbsd2020-05-211-57/+57
|
* executor: add support for extra coverage on NetBSDm00nbsd2020-05-201-11/+22
|
* executor: add support for USB fuzzing on NetBSDm00nbsd2020-05-196-9/+407
|
* executor: exclude syz_kvm_setup_cpu on armDmitry Vyukov2020-05-181-1/+1
| | | | | KVM was removed for ARM. Improved CI finally allows to catch this.
* executor, sys/linux: syz_usb_ep_read/write accept endpoint addressAndrey Konovalov2020-05-152-12/+62
| | | | | This patch changes syz_usb_ep_read/write pseudo-syscalls to accept endpoint address as specified in its endpoint descriptor, instead of endpoint index.
* executor: stall unknown usb requestsAndrey Konovalov2020-05-152-8/+55
| | | | Also don't fail(), leave that to USB_DEBUG and analyze_control_request().
* executor: don't build gen.go on FreeBSDMichael Tuexen2020-05-131-1/+1
|
* executor: don't build gen.go on OpenBSD or NetBSDMichael Tuexen2020-05-131-1/+1
| | | | Use (NOT openbsd) AND (NOT netbsd) instead of (NOT openbsd) OR (NOT netbsd).
* executor: fix typo (#1737)Michael Tüxen2020-05-131-1/+1
|
* executor: fix #ifdef condition for remove_dir()Michael Tuexen2020-05-131-1/+1
|
* Makefile: generate descriptions on-the-flyDmitry Vyukov2020-04-302-26306/+0
| | | | | | | | | | | | | | | | | | Checking in the generated descriptions files makes few things simpler, but causes pain for pull requests: (1) PRs that touch descriptions _always_ conflict, (2) PRs are large and harder to review, (3) people sometimes forget to add auto-generated files. The proposed way does not require us to hardcode lots of dependencies in the Makefile (which is nice) and seem to work. Let's see how it works. The main contributor-visible consequence is that the auto-generated files do not need to be checked-in now. Credit for figuring the Makefile magic goes to @melver. Fixes #1291
* sys: add mldv2 packet structsAndy Nguyen2020-04-291-8/+8
| | | | Use special values for hop limit to increase likelihood of triggering certain paths.
* sys: add more specific ipv6 optionsAndy Nguyen2020-04-292-8/+40
| | | | Additionally fix a type for ipv6_hopopts_ext_header
* pkg/compiler: deduplicate Types in descriptionsDmitry Vyukov2020-04-261-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add prog.Ref Type that serves as a proxy for real types and allows to deduplicate Types in generated descriptions. The Ref type is effectively an index in an array of types. Just before serialization pkg/compiler replaces real types with the Ref types and prepares corresponding array of real types. When a Target is registered in prog package, we do the opposite operation and replace Ref's with the corresponding real types. This brings improvements across the board: compiler memory consumption is reduced by 15%, test building time by 25%, descriptions size by 33%. Before: $ du -h sys/linux/gen 54M sys/linux/gen $ time GOMAXPROCS=1 go test -p=1 -c ./prog real 0m54.200s real 0m53.883s $ time GOMAXPROCS=1 go install -p=1 ./tools/syz-execprog real 0m27.911s real 0m27.767s $ TIME="%e %P %M" GOMAXPROCS=1 time go tool compile ./sys/linux/gen 20.59 100% 3200016 20.97 100% 3445976 20.25 100% 3209684 After: $ du -h sys/linux/gen 36M sys/linux/gen $ time GOMAXPROCS=1 go test -p=1 -c ./prog real 0m42.290s real 0m43.230s $ time GOMAXPROCS=1 go install -p=1 ./tools/syz-execprog real 0m24.337s real 0m24.727s $ TIME="%e %P %M" GOMAXPROCS=1 time go tool compile ./sys/linux/gen 19.11 100% 2764952 19.66 100% 2787624 19.35 100% 2749376 Update #1580
* sys/openbsd: extend vnetGreg Steuck2020-04-261-1/+1
| | | | | | | | * started with freebsd/vnet.txt * pruned unsupported items * gmake extract * gmake generate_sys * gmake fomat
* sys/netbsd: add lchmod(2) (#1687)Ayushi Sharma2020-04-212-1/+2
|
* executor: remove unidentified fileGreg Steuck2020-04-201-0/+0
| | | | | | | | | | It was committed as the following and doesn't make sense. commit e06d2ea701a5532381cde7609c521649f0f01018 Author: R3x <siddharth.muralee@gmail.com> Date: Sat Jul 6 14:01:06 2019 +0000 sys/netbsd: Added posix_spawn and fork syscalls
* sys/syz-sysgen: better formatting for syscall descriptionsDmitry Vyukov2020-04-191-4725/+742
| | | | | We don't really need clang-format for auto-generated code. We can do better ourselves!
* prog: add ignore_return and breaks_returns call attribtuesDmitry Vyukov2020-04-193-498/+3392
| | | | | We had these hard-coded for fuchsia and linux accordingly. Replace with call attributes.
* sys/linux: sync call timeouts with executorDmitry Vyukov2020-04-191-1/+2
| | | | Timeouts in executor and sys/linux get out of sync. Sync them.
* sys/linux: add timeout call attributesDmitry Vyukov2020-04-193-288/+1345
| | | | | | | Move additional call/prog timeouts to descriptions. Due to this logic duplication executor used 50ms for syz_mount_image, while pkg/csource used 100ms.
* prog: introduce call attributesDmitry Vyukov2020-04-193-4560/+4570
| | | | | | Add common infrastructure for syscall attributes. Add few attributes we want, but they are not implemented for now (don't affect behavior, this will follow).
* executor: surround the data mapping with PROT_NONE pagesDmitry Vyukov2020-04-182-2/+11
| | | | | | | | | | | Surround the main data mapping with PROT_NONE pages to make virtual address layout more consistent across different configurations (static/non-static build) and C repros. One observed case before: executor had a mapping above the data mapping (output region), while C repros did not have that mapping above, as the result in one case VMA had next link, while in the other it didn't and it caused a bug to not reproduce with the C repro. The bug that reproduces only with the mapping above: https://lkml.org/lkml/2020/4/17/819
* executor: remove more code if ENABLE_NAPI_FRAGS is not setDmitry Vyukov2020-04-181-8/+11
| | | | | | In some configurations tun_frags_enabled ends up being unused with a compiler warning and failed build. Remove mode code if ENABLE_NAPI_FRAGS is not enabled.
* sys/netbsd: add minherit(2)ais2397@gmail.com2020-04-162-1/+2
|
* sys/linux: add some more ipv4/6 addressesDmitry Vyukov2020-04-141-6/+6
| | | | Add few private ipv4/6 addresses that may affect kernel behavior.
* sys/linux: regenerate constsDmitry Vyukov2020-04-141-6/+6
| | | | | | | | | | | On the current linux-next: f19bb13a0eaf0034a603e3b54a7c3a50faf6821e (next-20200414) EXT4_EOFBLOCKS_FL was removed by 4337ecd1fe997d2b2135b4434caaccdb47c10c06 ARM does not support KVM anymore, removed by 541ad0150ca4 ("arm: Remove 32bit KVM host support"). Fixes #1676
* sys/netbsd: fix struct statais2397@gmail.com2020-04-131-1/+1
|
* sys/linux: add link_create and link_update commandsPaul Chaignon2020-04-122-6/+18
| | | | Signed-off-by: Paul Chaignon <paul@cilium.io>
* bpf: update BPF constantsPaul Chaignon2020-04-121-6/+6
| | | | Signed-off-by: Paul Chaignon <paul@cilium.io>
* executor/usb: don't fail when ath9k is not enabledAndrey Konovalov2020-04-071-1/+1
|
* executor: regenerate filesDmitry Vyukov2020-04-061-7/+7
|
* sys/netbsd: adding chflags(2) syscalls (#1661)Ayushi Sharma2020-04-042-8/+11
|
* csource, executor: add usb emulation featureAndrey Konovalov2020-04-033-0/+12
| | | | | | | | | The feature gets enabled when /dev/raw-gadget is present and accessible. With this feature enabled, executor will do chmod 0666 /dev/raw-gadget on startup, which makes it possible to do USB fuzzing in setuid and namespace sandboxes. There should be no backwards compatibility issues with syz reproducers that don't explicitly enable this feature, as they currently only work in none sandbox.
* executor: re-run make generateDmitry Vyukov2020-03-311-7/+7
|
* sys/netbsd: adding lwp syscalls (#1654)Ayushi Sharma2020-03-312-8/+9
|
* executor: add some comments to USB helper functionsAndrey Konovalov2020-03-281-0/+17
|
* executor: split out Linux specific USB codeAndrey Konovalov2020-03-282-533/+550
|
* sys/freebsd: add Capsicum system callsMark Johnston2020-03-272-2/+18
|
* sys/freebsd: add __realpathat system callMark Johnston2020-03-272-2/+4
|
* sys/freebsd: add bindat(2)Mark Johnston2020-03-272-2/+6
|
* sys/freebsd: add POSIX shared memory system callsMark Johnston2020-03-272-2/+10
|
* sys/freebsd: add connectat(2)Mark Johnston2020-03-272-2/+6
|
* sys/freebsd: add posix_fadvise(2) and posix_fallocate(2)Mark Johnston2020-03-272-2/+6
|
* sys/freebsd: add missing open(2) flagsMark Johnston2020-03-271-2/+2
|
* sys/freebsd: use symbolic names for faccessat(2) flagsMark Johnston2020-03-271-2/+2
|
* sys/freebsd: add chflags(2) and related syscallsMark Johnston2020-03-272-2/+10
|