aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-07-13 16:24:56 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-07-15 09:26:23 +0200
commitb458f2c1a61c78e2004be6b4ef60b45fb81bd684 (patch)
tree9be99ed7ae69bb21d00abe32a32a0886fd1d53af /sys
parent6b24f02a1122b986a5778bcb442ebabed406eeb1 (diff)
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
Diffstat (limited to 'sys')
-rw-r--r--sys/test/test/nonfailing1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/test/test/nonfailing b/sys/test/test/nonfailing
new file mode 100644
index 000000000..e4c24b71f
--- /dev/null
+++ b/sys/test/test/nonfailing
@@ -0,0 +1 @@
+syz_compare(0xfffffffffffffffe, 0x1, 0xffffffffffffffff, 0x1) # EFAULT