aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor_fuchsia.h
Commit message (Collapse)AuthorAgeFilesLines
* 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.