aboutsummaryrefslogtreecommitdiffstats
path: root/syz-verifier/main.go
Commit message (Collapse)AuthorAgeFilesLines
* vm: make sure vm.Pools are cleaned upCameron Finucane2024-09-191-0/+1
| | | | Add calls to Close() from all locations that call Create().
* syz-verifier: use ignore flag because go mod tidy knows itTaras Madan2024-07-021-1/+1
|
* pkg/ipc: remove ProgInfoDmitry Vyukov2024-05-211-0/+4
| | | | | | Switch to flatrpc.ProgInfo. Note: this disables syz-runtest and syz-verifier.
* syz-verifier: move the monitoring binding address to configurationAKSUM2024-05-061-3/+3
|
* syz-verifier: redesigned the analysis program generation and analysis flow ↵Taras Madan2022-03-221-30/+3
| | | | | | | | | (#2908) Program verification logic is located in one function now. VMs fetch programs from priority queues, not from the generator. VMs operate the tasks, not programs now. For the crashed VM - return error for every program in the queue *fixed some road errors
* syz-verifier: add monitoring api (#2869)Taras Madan2021-11-091-0/+7
|
* syz-verifier: move select{} to main (#2858)Taras Madan2021-11-031-0/+2
|
* syz-verifier: move Verifier to verifier.goTaras Madan2021-10-151-242/+0
|
* syz-verifier: rename verifier.go and Result to better reflect internalsTaras Madan2021-10-151-3/+1
|
* syz-verifier: add rpcserver.go and move all the related stuff thereTaras Madan2021-10-151-202/+2
|
* syz-verifier: remove verifier, io and os/signal from the stats dependenciesTaras Madan2021-10-151-2/+34
|
* syz-verifier: change logger to support verbosity (#2809)tarasmadan2021-10-121-6/+6
|
* syz-verifier: fix qemu vm leakage (#2804)tarasmadan2021-10-071-27/+35
| | | | fix the VM resource leakage some refactoring
* syz-verifier: fixes the crash of the app run w/o parameters (#2800)tarasmadan2021-10-061-1/+6
| | | | | * syz-verifier: fixes the crash of the app run w/o parameters * syz-verifier: extend command line params description
* pkg/report: separate reporter wrapper from OS-specific implementationsAleksandr Nogikh2021-08-061-1/+1
| | | | | | | | | | | | | Currently a number of report post-processing activities are implemented as a decorator over the interface that defines OS-specific implementations. Following exactly the same interface is too restrictive in this case as adding extra parameters to the post-processing forces the developer to adjust all implementations thay may not need these parameters at all. Untie the wrapper from the Reporter interface. Use a package-private reporterImpl interface for the OS-specific implementations, while having an exported Reporter structure. Make sure that Reporter is stored and passed as a pointer.
* pkg/rpctype, syz-runner, syz-verifier: add reruns to syz-verifier architectureMara Mihali2021-08-061-36/+106
| | | | | | | When a mismatch is found in the results returned for a program, the program will be rerun on all the kernels to ensure the mismatch is not flaky (i.e. it didn't occur because of some background activity or external state and will always be returned when running the program). If the same mismatch occurs in all reruns, syz-verifier creates a report for the program, otherwise it discards the program as being flaky
* docs: add documentation for syz-verifierMara Mihali2021-08-051-0/+3
|
* syz-verifier: ensure Results are gathered and sent in orderMara Mihali2021-07-241-8/+7
| | | | | | | The field res from progInfo will store the result from Pool i at index i. This will make verifying results easier, especially after introducing reruns, as the result from a Pool will always be found at the same position.
* syz-verifier: change poolInfo.vmRunners from a slice to a mapMara Mihali2021-07-221-16/+11
| | | | | | | vmRunners holds what programs have been sent to each Runner. Previously, entries would only be removed from this map when a VM crashes as the programs were stored in a slice. Modified vmRunners to hold programs as a map in order to easily query and delete the entries.
* syz-verifier: include crashes in the results verificationMara Mihali2021-07-221-24/+17
|
* syz-verifier: gather stats based on ReturnState not just ErrnoMara Mihali2021-07-221-6/+1
|
* syz-verifier: move all files to main packageMara Mihali2021-07-221-11/+9
|
* syz-verifier: introduce a ReturnState structureMara Mihali2021-07-221-4/+4
| | | | | | | The ReturnState structure will store return values and other information resulted from executing a system call. The Verify function now checks that the ReturnStates of the same system call executed on different kernels are the same.
* pkg/instance, syz-runner, syz-verifier: add option to create a new ↵Mara Mihali2021-07-191-1/+5
| | | | environment for each program
* syz-verifier: add errno descriptions in result reportsMara Mihali2021-07-191-1/+6
|
* syz-verifier: report the number of programs executed per minuteMara Mihali2021-07-191-0/+1
|
* syz-verifier: add flag to specify stats output locationMara Mihali2021-07-191-1/+16
|
* syz-verifier: create startInstances functionMara Mihali2021-07-191-4/+10
|
* syz-verifier: move stats gathering in the Verify functionMara Mihali2021-07-191-9/+3
|
* syz-verifier: use the stats packageMara Mihali2021-07-191-3/+13
| | | | Add a stats.Stats object to the Verifier, responsible for gathering statistics, and update tests.
* syz-verifier: use only system calls supported by all kernels and with no ↵maramihali2021-07-131-30/+113
| | | | | | | | | | | | | | | transitive dependencies when building the `prog.ChoiceTable` (#2653) * pkg/rpctype: add types for CheckUnsupported RPC * syz-runner: added functionality for detecting unsupported system calls * syz-verifier: added UpdateUnsupported RPC method This will receive the unsupported system calls from each kernel, compute the intersections of system calls that are enabled by all kernels and build the choice table only using those. * syz-verifier, syz-runner: report only when specific calls are enabled
* syz-verifier: account for corner cases and improve test coverage (#2661)maramihali2021-07-131-4/+24
| | | | | * syz-verifier: integrate special cases in logic * syz-verifier: improve test coverage
* syz-verifier: improve readability of resultsMara Mihali2021-07-081-11/+22
|
* pkg/instance: added threaded and collide flagsMara Mihali2021-07-061-1/+1
| | | | These can be used to disable threaded execution and collision mode for program's system calls.
* syz-verifier: add result processing functionalityMara Mihali2021-07-061-27/+84
| | | | The main utility saves reports in a file for further inspection.
* syz-verifier: add the starting point of syz-verifierMara Mihali2021-06-301-0/+331