aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor_bsd.cc
Commit message (Collapse)AuthorAgeFilesLines
* executor: remove unused fileDmitry Vyukov2018-07-251-240/+0
| | | | Leftover after "executor: overhaul".
* executor: ensure RLIMIT_NOFILE is greater than kInPipeFdAnton Lindqvist2018-07-231-0/+6
|
* executor: add missing cover_size_ptr fieldAnton Lindqvist2018-07-231-0/+1
|
* executor: rework fallback coverageDmitry Vyukov2018-06-221-24/+6
| | | | | | | | | | We have fallback coverage implmentation for freebsd. 1. It's broken after some recent changes. 2. We need it for fuchsia, windows, akaros, linux too. 3. It's painful to work with C code. Move fallback coverage to ipc package, fix it and provide for all OSes.
* executor: make syscall table and number constantDmitry Vyukov2018-06-071-3/+3
| | | | | | | | | We see some crashes that suggest corruption of the syscall number: invalid command number 1296 (errno 11) invalid command number 107 (errno 110) Make the table and the number constant to prevent corruption.
* executor: filter out invalid PCs on linux/x86_64Dmitry Vyukov2018-05-141-0/+10
| | | | | Fuzzer manages to corrupt output region and write random coverage again and again. Do a sanity range check on coverage PCs to filter out invalid ones.
* executor: fix read_cover_size signatureDmitry Vyukov2018-04-301-1/+1
|
* executor: support cover on 32-bit kernelsDmitry Vyukov2018-04-271-7/+8
| | | | Detect kernel bitness and properly extract coverage on 32-bit kernels.
* executor: update to support FreeBSD kcovMitchell Horne2018-04-051-0/+51
| | | | | | Make the required changes to the BSD executor file to interface with FreeBSD's kernel coverage implementation. This will allow coverage to be used when running syzkaller on this platform.
* prog: rework address allocationDmitry Vyukov2018-02-191-0/+3
| | | | | | | | | | | | 1. mmap all memory always, without explicit mmap calls in the program. This makes lots of things much easier and removes lots of code. Makes mmap not a special syscall and allows to fuzz without mmap enabled. 2. Change address assignment algorithm. Current algorithm allocates unmapped addresses too frequently and allows collisions between arguments of a single syscall. The new algorithm analyzes actual allocations in the program and places new arguments at unused locations.
* executor: introduce uint64/32/16/8 typesDmitry Vyukov2017-12-271-11/+11
| | | | | | | | | | | | | | | The "define uint64_t unsigned long long" were too good to work. With a different toolchain I am getting: cstdint:69:11: error: expected unqualified-id using ::uint64_t; ^ executor/common.h:34:18: note: expanded from macro 'uint64_t' Do it the proper way: introduce uint64/32/16/8 types and use them. pkg/csource then does s/uint64/uint64_t/ to not clutter code with additional typedefs.
* executor: small fixes for netbsdDmitry Vyukov2017-10-251-1/+5
| | | | | | | | | | RLIMIT_AS auses frequent random aborts on netbsd. Reason unknown. Disable it for now. Documentation says that __syscall should be used for syscalls with 64-bit arguments. On amd64 most syscalls have 64-bit arguments (incl mmap), so switch to it.
* executor: fix netbsd syscallsDmitry Vyukov2017-10-251-1/+9
| | | | | | executor_netbsd.cc was including syscalls_freebsd.h, which completely messed up syscall numbers and names. Include the right syscalls header.
* executor: fix mkdtemp return value checkDmitry Vyukov2017-10-251-1/+1
| | | | mkdtemp return NULL on failure.
* all: basic building on netbsdDmitry Vyukov2017-10-231-0/+174
This just makes make TARGETOS=netbsd succeed. We don't yet have prog target for netbsd.