aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor_fuchsia.h
Commit message (Collapse)AuthorAgeFilesLines
* executor: include sys/mman.h (#3476)glpesk2022-10-281-0/+1
|
* executor: revert errno logic for fuchsia (#3306)Marco Vanotti2022-08-121-0/+9
| | | | | | Commit 4ce69996ec362f8dd9762dcc1643d13cebaab44a changed the logic for processing results for fuchsia system calls. That change seems to be fault, as it sets syscalls that return with ZX_OK to return -1 instead. I am reverting that commit for now.
* pkg/report: detect executor failuresDmitry Vyukov2021-02-211-1/+1
| | | | | | | | | | | | Currently all executor fail errors go into "lost connection" bucket. This is not very useful. First, there are different executor failures. Second, it's not possible to understand what failures happen how frequently. Third, there are not authentic lost connection. Create separate SYZFAIL: bugs for them. Update #573 Update #502 Update #318
* sys/linux, sys/freebsd: apply more ignore_return attributesDmitry Vyukov2020-12-051-9/+0
| | | | | | | | | | | | | | 1. Apply ignore_return to semctl$GETVAL which produces random errno values on linux and freebsd. 2. Apply ignore_return to prctl and remove the custom code in executor. 3. Remove the custom errno ignoring code in fuchsia executor. The calls are already marked as ignore_return, so this is just a leftover. 4. Only reset errno for ignore_return. The syscall can still return a resource (maybe). We only need to reset errno for fallback coverage.
* executor/fuchsia: Don't map memory as executable.Marco Vanotti2020-06-051-1/+2
| | | | | | | | | | | | | | | | | | | Fuchsia has strict controls over who can map memory as executable. Refactoring syz-executor to be able to do that involves a non trivial amount of work: it needs to run as a fuchsia component and replace stdin for some other mechanism to communicate with syz-fuzzer (probably a fidl service and a thin client that proxies stdin/stdout to syz-fuzzer via ssh). Mapping memory as executable doesn't seem to be used or needed in syz-executor at all. After talking with Dmitry, he mentioned that it was used in a deprecated feature: `syz_execute_func` which would execute random code. It also allows more scenarios during fuzzing. For now, I'm removing that option to allow syzkaller continue fuzzing. This change also refactors all of the error messages adding a string representation of the `zx_status_t` in error logs.
* executor: special-case zx_deadline_after return valueDmitry Vyukov2019-06-041-0/+1
| | | | | zx_deadline_after also returns time, not status. So don't use it as coverage.
* executor: change syscall argument type to intptr_tmunjinoo2019-05-071-4/+4
| | | | | The type size of long depends on compiler. Therefore, changing to intptr_t makes it depends on architecture.
* executor: update syntax for making W+X fuchsia memoryJulia Hansbrough2019-02-271-2/+3
| | | | | | | Fuchsia recently changed such that zx_vmar_map can't be declared executable and writeable at the same time; use a new syscall for this purpose. Also made a few errors more informative.
* executor: update special fuchsia syscallsDmitry Vyukov2018-08-241-1/+3
| | | | | zx_clock_get_monotonic was added, zx_debuglog_read was renamed (or we forgot to add it earlier).
* executor: overhaulDmitry Vyukov2018-07-241-51/+26
| | | | | | | | | | | | | | | | | Make as much code as possible shared between all OSes. In particular main is now common across all OSes. Make more code shared between executor and csource (in particular, loop function and threaded execution logic). Also make loop and threaded logic shared across all OSes. Make more posix/unix code shared across OSes (e.g. signal handling, pthread creation, etc). Plus other changes along similar lines. Also support test OS in executor (based on portable posix) and add 4 arches that cover all execution modes (fork server/no fork server, shmem/no shmem). This change paves way for testing of executor code and allows to preserve consistency across OSes and executor/csource.
* pkg/csource: support fuchsiaDmitry Vyukov2018-06-291-0/+62
Lots of assorted heavylifting to support csource on fuchsia.