aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor.cc
Commit message (Collapse)AuthorAgeFilesLines
* repro: factor out of syz-repro toolDmitry Vyukov2016-11-191-308/+3
| | | | | | | | Factor out repro logic from syz-repro tool, so that it can be used in syz-manager. Also, support sandboxes in code generated by csoure. This is required to reproduce crashes that require e.g. namespace sandbox.
* csource: teach how to execute pseudo syz_ syscallsDmitry Vyukov2016-08-281-106/+3
| | | | Update #59
* executor, csource: share some common code between executor and csourceDmitry Vyukov2016-08-281-35/+7
|
* executor: add experimental mode to skip paging faultsDmitry Vyukov2016-08-221-27/+65
| | | | | | | Ignore SIGSEGV/SIGBUS during copyin/copyout of arguments. The memory may not be addressable. The ignoring allows to pass partially-addressable input data to kernel. It's unclear if it's a good idea or not yet.
* executor: revive setuid sandboxDmitry Vyukov2016-07-011-15/+76
| | | | | | | | | | | | | | The new namespace-based sanboxing is good, but it's not always what one wants (and also requires special kernel configs). Change dropprivs config value to sandbox, which can have different values (currently: none, setuid, namespace). Setuid mode uses setuid(nobody) before fuzzing as before. In future we can add more sandboxing modes or, say, extend -sandbox=setuid to -sandbox=setuid:johndoe to impersonolate into given user.
* executor: add support for 386 arch (COMPAT syscalls)Dmitry Vyukov2016-06-301-23/+23
| | | | | This is not fully working now: e.g. prog and sys packages assume that pointer size is 8. But at least it compiles and works.
* executor: don't consider failures to remove temp dirs as crashesDmitry Vyukov2016-06-281-6/+6
| | | | | | | There is a number of known, low-frequency reasons for failures in remove_dir. Make the failures non-fatal. Fixes #45
* executor: prevent test processes from ptracing parent processesDmitry Vyukov2016-03-101-0/+17
|
* executor: ignore NOFILE errors during cleanupDmitry Vyukov2016-03-101-1/+8
| | | | This is a common source of false positives.
* executor: ignore the case when test process kills loop processDmitry Vyukov2016-03-101-1/+2
| | | | This lead to lots of false positives.
* executor: make loop killing non-fatalDmitry Vyukov2016-03-101-1/+4
|
* ipc: give executor some time to startupDmitry Vyukov2016-01-271-1/+5
| | | | | | Namespace-based sandbox can take some time to setup. In particular, lots of parallel executors block on net namespace creation.
* sys: open a bunch of new devicesDmitry Vyukov2016-01-261-2/+4
|
* sys: allow to open all devices as stopgapDmitry Vyukov2016-01-241-11/+23
|
* executor: restore nodropprivs modeDmitry Vyukov2016-01-231-15/+24
|
* executor: new namespace-based sandboxDmitry Vyukov2016-01-221-73/+208
|
* vm/adb: use a more reliable way to reboot devicesDmitry Vyukov2016-01-201-1/+6
|
* executor: start moving sandboxing code into executorDmitry Vyukov2016-01-201-0/+14
|
* executor: adopt for new kcovDmitry Vyukov2016-01-191-14/+16
| | | | Now kcov exposes only uintptr-sized PCs.
* sys: describe more dri syscallsDmitry Vyukov2016-01-161-0/+6
|
* executor: reportat after clang-format bug fixDmitry Vyukov2016-01-151-30/+12
| | | | http://reviews.llvm.org/rL257763
* executor: don't create all threads when spot a root syscallDmitry Vyukov2016-01-131-1/+1
|
* executor: don't print all waitpid debug messagesDmitry Vyukov2016-01-131-2/+5
|
* sys: introduce a generic syz_open_dev helper syscallDmitry Vyukov2016-01-131-29/+18
|
* sys: add support for /dev/snd/controlDmitry Vyukov2016-01-131-1/+17
|
* sys: support /dev/snd/seqDmitry Vyukov2016-01-111-0/+6
|
* executor: use mknodat instead of mknod (the latter is not implemented on ↵Dmitry Vyukov2016-01-111-1/+1
| | | | android)
* sys: add kvm supportDmitry Vyukov2016-01-081-17/+31
|
* executor: fix some bugs found by clangDmitry Vyukov2015-12-311-1/+4
|
* executor: get rid of sigtimedwaitDmitry Vyukov2015-12-241-43/+18
| | | | | Wait with spin loop instead. See the comment for explanation.
* executor: don't use WUNTRACED in waitDmitry Vyukov2015-12-241-3/+3
| | | | | | | WUNTRACED wait returns when child has stopped. That's not what we want to wait for. If it's stopped we need to timeout wait and kill the stopped child.
* prog: remove padding checkingDmitry Vyukov2015-12-231-54/+2
| | | | | So far it has found only false positives. Let's leave this to KMSAN.
* executor: fix collide modeDmitry Vyukov2015-12-231-1/+1
| | | | Don't wait for every other call.
* add a flag to disable setpgid syscallDmitry Vyukov2015-12-171-46/+46
| | | | It is broken on some of our test systems.
* executor: export syscall execution resultsDmitry Vyukov2015-12-171-0/+7
| | | | Errno can be used to guide fuzzing, or detect not implemented syscalls.
* executor: allow to wait for child processes without sigtimedwaitDmitry Vyukov2015-12-171-1/+24
| | | | We've hit 2 systems that mishandle sigtimedwait.
* sys: automatically add padding to structsDmitry Vyukov2015-12-171-9/+68
|
* executor: switch to ioctl's instead of writesDmitry Vyukov2015-12-031-10/+13
|
* executor: execute mount under rootDmitry Vyukov2015-11-301-0/+2
|
* executor: fix buildDmitry Vyukov2015-11-291-7/+5
|
* executor: switch to new coverageDmitry Vyukov2015-11-281-54/+62
|
* executor: prevent programs to mess with fuzzer fdsDmitry Vyukov2015-11-201-0/+8
|
* add fuse supportDmitry Vyukov2015-11-191-7/+66
|
* executor: don't wait for pending calls if there are noneDmitry Vyukov2015-11-191-6/+13
|
* executor: fix detection of last callDmitry Vyukov2015-11-191-1/+1
|
* executor: fix detection of out of threadsDmitry Vyukov2015-11-191-7/+8
|
* allow executor execute particular syscalls under rootDmitry Vyukov2015-11-181-10/+28
| | | | this is required to test e.g. fuse fs (non-root can't mount)
* basic support for dri/drm driversDmitry Vyukov2015-11-181-0/+5
|
* fix waiting for worker processes in executorDmitry Vyukov2015-11-181-4/+25
| | | | + disable SIGCANCEL/SIGSETXID signal handlers
* add tty-related ioctl'sDmitry Vyukov2015-11-161-2/+17
|