aboutsummaryrefslogtreecommitdiffstats
path: root/repro
Commit message (Collapse)AuthorAgeFilesLines
* pkg/repro: move from pkgDmitry Vyukov2017-06-171-441/+0
|
* syz-manager/config: rename to syz-manager/mgrconfigDmitry Vyukov2017-06-171-3/+3
| | | | | | | | | | | We have 2 packages with the same name: pkg/config and syz-manager/config. This leads to constant clashes. We either rename one to pkgconfig or another to mgrconfig. This is not good and will become worse when/if we have another program-specific config in a separate package. Rename manager config to mgrconfig. Other program-specific configs can use the same convention in future -- fooconfig.
* repro: always minimize over EnableTunAndrey Konovalov2017-06-121-1/+1
|
* csourse: don't generate debug printfsAndrey Konovalov2017-06-121-0/+12
|
* csource: try to simplify repeat loopAndrey Konovalov2017-06-121-0/+12
|
* csource: use sandbox only when requiredAndrey Konovalov2017-06-121-0/+11
|
* csource: emit bitmasks only when requiredAndrey Konovalov2017-06-121-1/+1
|
* csource: force enable tun flag when requiredAndrey Konovalov2017-06-121-1/+1
|
* csource: only handle SIGSEGV when necessaryAndrey Konovalov2017-06-121-8/+20
|
* csource: use tmp dir only when necessaryAndrey Konovalov2017-06-121-0/+12
|
* csource: add EnableTun optionAndrey Konovalov2017-06-121-19/+48
|
* vm: overhaulDmitry Vyukov2017-06-031-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VM infrastructure currently has several problems: - Config struct is complete mess with a superset of params for all VM types - verification of Config is mess spread across several places - there is no place where VM code could do global initialization like creating GCE connection, uploading GCE image to GCS, matching adb devices with consoles, etc - it hard to add private VM implementations such impl would need to add code to config package which would lead to constant merge conflicts - interface for VM implementation is mixed with interface for VM users this does not allow to provide best interface for both of them - there is no way to add common code for all VM implementations This change solves these problems by: - splitting VM interface for users (vm package) and VM interface for VM implementations (vmimpl pacakge), this in turn allows to add common code - adding Pool concept that allows to do global initialization and config checking at the right time - decoupling manager config from VM-specific config each VM type now defines own config Note: manager configs need to be changed after this change: VM-specific parts are moved to own "vm" subobject. Note: this change also drops "local" VM type. Its story was long unclear and there is now syz-stress which solves the same problem.
* pkg/log: move from logDmitry Vyukov2017-06-031-1/+1
|
* pkg/fileutil: move from fileutilDmitry Vyukov2017-06-031-1/+1
|
* config: split and refactorDmitry Vyukov2017-06-011-1/+1
| | | | | | | | | Introduce generic config.Load function that can be reused across multiple programs (syz-manager, syz-gce, etc). Move the generic config functionality to pkg/config package. The idea is to move all helper (non-main) packages to pkg/ dir, because we have more and more of them and they pollute the top dir. Move the syz-manager config parts into syz-manager/config package.
* csource: reproduce crashes with fault injectionDmitry Vyukov2017-05-261-5/+18
|
* repro: quick return when user press ctrl^CBai Shuai2017-05-161-1/+8
|
* repro: always recreate VMsDmitry Vyukov2017-02-021-25/+15
| | | | | | | | | | Currently we try to optimize and reuse VMs in some cases. The major problem is that qemu VM.Run implementation does not expect more than one Run call. The second one always fails. Another problem is that VM state is not completely clean and there can be some accumulated state. Don't try to be smart and recreate VMs always.
* csource: compile with -WerrorDmitry Vyukov2017-01-091-1/+1
| | | | | | Check for compiler warnings during compilation. Don't require -std=c99. Fix existing compiler warnings.
* manager: add ability to ignore bugsDmitry Vyukov2016-12-191-2/+2
| | | | | | Add new config parameter "ignores" which contains list of regexp expressions. If one of the expressions is matched against oops line, crash report is not saved and VM is not restarted.
* prog: minimize based on individual argsAndrey Konovalov2016-11-251-1/+1
|
* manager: reproduce crashes on the flyDmitry Vyukov2016-11-251-0/+3
| | | | | | | With this change manager will run reproduction on crashes until reproducer is discovered, but at most 3 times. If reproducer is discovered it is saved with crashes and shown on the web UI.
* vm: add ability to interrupt commandsDmitry Vyukov2016-11-191-1/+1
| | | | This is required for crash reproduction in manager.
* repro: factor out of syz-repro toolDmitry Vyukov2016-11-191-0/+344
Factor out repro logic from syz-repro tool, so that it can be used in syz-manager. Also, support sandboxes in code generated by csoure. This is required to reproduce crashes that require e.g. namespace sandbox.