aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/ipc/ipcconfig
Commit message (Collapse)AuthorAgeFilesLines
* executor: add runner modeDmitry Vyukov2024-06-241-56/+0
| | | | | | | Move all syz-fuzzer logic into syz-executor and remove syz-fuzzer. Also restore syz-runtest functionality in the manager. Update #4917 (sets most signal handlers to SIG_IGN)
* executor: remove noshmem modeDmitry Vyukov2024-06-041-1/+0
| | | | | | | | | All OSes we have now support shmem. Support for Fuchia/Starnix/Windows wasn't implemented, but generally they support shared memory. Remove all of the complexity and code associated with noshmem mode. If/when we revive these OSes, it's easier to properly implement shmem mode for them.
* pkg/ipc: remove ExecOptsDmitry Vyukov2024-05-211-3/+3
| | | | Switch to flatrpc.ExecOpts.
* pkg/ipc: use flatrpc flagsDmitry Vyukov2024-05-171-5/+6
| | | | | | Flatrpc flags are passed in RPC execution requests, so to avoid conversions and duplicate set of flags use flatrpc flags in pkg/ipc directly.
* pkg/ipc: make it possible to change EnvFlags between executionsDmitry Vyukov2024-04-301-16/+16
| | | | | | | | | | | | | | | | Pass EnvFlags into Exec instead of New. This allows to change EnvFlags between executions. Change of EnvFlags forces executor process restart since it uses EnvFlags during setup. Currently this is intended to be NFC since we always pass the same EnvFlags. In future this will allow to (1) reduce part of the VM checking procedure to execution of programs with different options (e.g. we can probe for coverage/comparisons support, probe different sandboxes, etc); (2) use it during fuzzing/reproduction, e.g. we can check if the crash reproduces under setuid sandbox, or execute some fuzzing programs in significantly different modes.
* pkg/ipc: refactor rate limitingDmitry Vyukov2024-04-151-0/+1
| | | | | | | 1. Move the flag to Config (logically belongs there). 2. Create rate limter lazily (it's not needed most of the time). This will help to stop passing *prog.Prog to Exec method.
* pkg/csource, pkg/instance, pkg/ipc, pkg/mgrconfig, tools/syz-prog2c, ↵Andrey Artemiev2022-08-061-6/+8
| | | | syz-manager: introduce a new setting 'sandbox_arg' (#3263)
* all: replace collide mode by `async` call propertyAleksandr Nogikh2021-12-101-3/+2
| | | | | | | | | | | | | Replace the currently existing straightforward approach to race triggering (that was almost entirely implemented inside syz-executor) with a more flexible one. The `async` call property instructs syz-executor not to block until the call has completed execution and proceed immediately to the next call. The decision on what calls to mark with `async` is made by syz-fuzzer. Ultimately this should let us implement more intelligent race provoking strategies as well as make more fine-grained reproducers.
* all: make timeouts configurableDmitry Vyukov2020-12-281-1/+3
| | | | | | Add sys/targets.Timeouts struct that parametrizes timeouts throughout the system. The struct allows to control syscall/program/no output timeouts for OS/arch/VM/etc. See comment on the struct for more details.
* pkg/ipc: remove Config.TimeoutDmitry Vyukov2020-11-301-2/+0
| | | | | It's not used for anything useful and will conflict with automatic timeout tuning.
* pkg/ipc: move target characteristics out of config flagsDmitry Vyukov2019-11-161-7/+2
| | | | | They don't belong there, executor does not know about them. In preparation for future changes.
* executor: refactor sandbox flagsDmitry Vyukov2019-11-161-1/+1
| | | | In preparation for future changes.
* pkg/ipc: move sandbox helpers from ipcconfigDmitry Vyukov2018-12-101-28/+1
| | | | | | Currently syz-runtest fails to start because -debug flag is defined both in syz-runtest and ipcconfig. But moving sandbox functions we prevent ipcconfig from being imported into syz-runtest.
* pkg/host: improve KMEMLEAK supportDmitry Vyukov2018-09-281-11/+30
| | | | | | | | | | | Rewind kmemleak fd before reading it second time, otherwise we will read truncated reports. Auto-learn what leak reports we've already seen and ignore them in future. This is required because there are some false positives and some fire too frequently. So now we will hit each leak only once per manager run, but we still will try to reproduce them.
* RFC: android: Add support for untrusted_app sandboxing (#697)Zach Riggle2018-09-171-2/+4
| | | | | | | | | | | | | | | | | | | | | executor: add support for android_untrusted_app sandbox This adds a new sandbox type, 'android_untrusted_app', which restricts syz-executor to the privileges which are available to third-party applications, e.g. those installed from the Google Play store. In particular, this uses the UID space reserved for applications (instead of the 'setuid' sandbox, which uses the traditional 'nobody' user / 65534) as well as a set of groups which the Android-specific kernels are aware of, and finally ensures that the SELinux context is set appropriately. Dependencies on libselinux are avoided by manually implementing the few functions that are needed to change the context of the current process, and arbitrary files. The underlying mechanisms are relatively simple. Fixes google/syzkaller#643 Test: make presubmit Bug: http://b/112900774
* pkg/ipc: remove abort signal and buffer sizeDmitry Vyukov2018-08-031-15/+9
| | | | | | They were needed for intermediate gvisor support. Now that we have end-to-end support for gvisor, they are not needed anymore. Remove.
* pkg/ipc: move flags into subpackageDmitry Vyukov2018-08-031-0/+71
Move all ipc flags into pkg/ipc/ipcconfig package so that importing pkg/ipc does pull in the flags.