syzkaller/executor
Dmitry Vyukov b458f2c1a6 executor: wrap all syscalls into NONFAILING
Currently we sprinkle NONFAILING all over pseudo-syscall code,
around all individual accesses to fuzzer-generated pointers.
This is tedious manual work and subject to errors.
Wrap execute_syscall invocation with NONFAILING in execute_call once instead.
Then we can remove NONFAILING from all pseudo-syscalls and never get back to this.
Potential downsides: (1) this is coarser-grained and we will skip whole syscall
on invalid pointer, but this is how normal syscalls work as well,
so should not be a problem; (2) we will skip any clean up (closing of files, etc)
as well; but this may be fine as well (programs can perfectly leave open file
descriptors as well).

Update #1918
2020-07-15 09:26:23 +02:00
..
android executor: minor cleanup of android sandbox 2020-03-11 12:09:17 +01:00
common_akaros.h executor: fix do_sandbox_none on akaros and test 2019-01-31 11:35:53 +01:00
common_bsd.h executor/netbsd: base nth on 2 (#1874) 2020-06-27 17:24:37 +02:00
common_fuchsia.h executor/fuchsia: Don't map memory as executable. 2020-06-05 16:46:48 -03:00
common_kvm_amd64.h executor: prevent non-null expected warnings 2019-03-21 13:27:41 +01:00
common_kvm_arm64.h executor: prevent non-null expected warnings 2019-03-21 13:27:41 +01:00
common_linux.h executor: enable cgroup/cpuset memory pressure calc. 2020-06-29 11:07:03 +02:00
common_test.h executor: make syz_compare output more handy to use 2019-12-20 16:45:33 +01:00
common_usb_linux.h executor: add support for USB fuzzing on NetBSD 2020-05-19 23:07:55 +02:00
common_usb_netbsd.h sys/netbsd: support multiple vHCI buses (#1822) 2020-06-13 12:10:16 +02:00
common_usb.h executor: add support for USB fuzzing on NetBSD 2020-05-19 23:07:55 +02:00
common_windows.h executor: fix do_sandbox_none on akaros and test 2019-01-31 11:35:53 +01:00
common.h executor: fix endianness problem in internet checksum 2020-06-19 20:49:11 +02:00
executor_akaros.h executor: change syscall argument type to intptr_t 2019-05-07 08:48:35 +02:00
executor_bsd.h sys/netbsd: support multiple vHCI buses (#1822) 2020-06-13 12:10:16 +02:00
executor_fuchsia.h executor/fuchsia: Don't map memory as executable. 2020-06-05 16:46:48 -03:00
executor_linux.h ipc: fix endianness issues 2020-06-23 16:18:44 +02:00
executor_test.h executor: change syscall argument type to intptr_t 2019-05-07 08:48:35 +02:00
executor_windows.h executor: change syscall argument type to intptr_t 2019-05-07 08:48:35 +02:00
executor.cc executor: wrap all syscalls into NONFAILING 2020-07-15 09:26:23 +02:00
gen.go executor: enable KVM generator only on AMD64 arch 2020-06-17 17:43:56 +02:00
kvm_gen.cc executor: remove unused kvm_asm64_vm86 2019-01-17 10:52:20 +01:00
kvm.h sys: improve kvm description 2017-01-28 19:58:31 +01:00
kvm.S executor: remove unused kvm_asm64_vm86 2019-01-17 10:52:20 +01:00
kvm.S.h executor: remove unused kvm_asm64_vm86 2019-01-17 10:52:20 +01:00
nocover.h executor: Protect the coverage buffer 2019-06-04 16:24:36 +02:00
stub.go .golangci.yml: enable godot checker 2020-06-05 12:23:19 +02:00
test_linux.h executor: overhaul 2018-07-24 12:04:27 +02:00
test.h executor: fix bitfields for big-endian arch 2020-07-10 10:25:58 +02:00