aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/host/syscalls.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/vminfo: move feature checking to hostDmitry Vyukov2024-05-151-45/+0
| | | | | | | | | | | | | | | | | Feature checking procedure is split into 2 phases: 1. syz-fuzzer invokes "syz-executor setup feature" for each feature one-by-one, and checks if executor does not fail. Executor can also return a special "this feature does not need custom setup", this allows to not call setup of these features in each new VM. 2. pkg/vminfo runs a simple program with ipc.ExecOpts specific for a concrete feature, e.g. for wifi injection it will try to run a program with wifi feature enabled, if setup of the feature fails, executor should also exit with an error. For coverage features we also additionally check that we actually got coverage. Then pkg/vminfo combines results of these 2 checks into final result. syz-execprog now also uses vminfo package and mimics the same checking procedure. Update #1541
* syz-manager: print better message about disabled syscallsDmitry Vyukov2024-04-291-15/+6
| | | | | | Print better message and print it when verbosity >= 1. This will allow to easier diff any changes in enabled syscalls caused by future code changes.
* pkg/host: explicitly disable syz_execute_funcDmitry Vyukov2024-04-291-17/+0
| | | | | | | | | Disable the syscall in descriptions rather than in the code. This makes it more visible for users that it's disabled, and makes it less special (will not need to move this logic to host). Also change the condition in syz-sysgen to be more precise, otherwise syz_execute_func becomes unused function.
* pkg/host: only try enabled syscalls when starting syz-fuzzerKris Alder2022-03-081-1/+4
| | | | | | | | | | | When syz-fuzzer starts, it tries all syscalls to filter out any that are not supported. This process should include only the syscalls that are enabled using the 'enable_syscalls' and 'disable_syscalls' fields in syz-manager's config. This is useful for fuzzing Cuttlefish devices, for example, where the 'vhost_vsock' syscall needs to be excluded from fuzzing and from this test.
* pkg/host, docs: fix typosPatrick Meyer2021-05-061-1/+1
|
* sys/targets: don't use HostFuzzer mode for test OSDmitry Vyukov2020-07-151-2/+1
| | | | | | | | | | | | | | We set HostFuzzer for all test targets b/c in some contexts they needed the same special behavior as real HostFuzzer targets (e.g no checking enabled syscalls). However, in some other contexts they don't the same special behavior as real HostFuzzer targets. For example, pkg/ipc does rate limiting for HostFuzzer and pkg/runtest don't run C tests for HostFuzzer. Add special case for test targets in pkg/host, and don't set HostFuzzer for all test targets (keep it for one target for better coverage).
* prog: refactor ANY to not fabricate new typesDmitry Vyukov2020-05-051-9/+11
| | | | | | | | | | Currently ANY implementation fabricates new types dynamically. This is something we don't do anywhere else, generally types come from compiler and all are static. Dynamic types will conflict with use of Ref in Arg optimization. Move ANY types creation into compiler. Update #1580
* prog: support disabled attributeDmitry Vyukov2020-05-041-31/+37
| | | | | Update #477 Update #502
* pkg/host: split files into syscalls/featuresDmitry Vyukov2019-11-161-0/+61
pkg/host does 2 things: detects supported syscalls and supported features. There is enough code for each for a separate file.