aboutsummaryrefslogtreecommitdiffstats
path: root/vm/local
Commit message (Collapse)AuthorAgeFilesLines
* vm: overhaulDmitry Vyukov2017-06-031-151/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/fileutil: move from fileutilDmitry Vyukov2017-06-031-1/+1
|
* fileutil: remove unused CopyFile argDmitry Vyukov2017-06-031-1/+1
|
* vm: add ability to interrupt commandsDmitry Vyukov2016-11-191-1/+6
| | | | This is required for crash reproduction in manager.
* fuzzer: warn about absent kcov/kmemleak filesDmitry Vyukov2016-02-161-17/+48
| | | | | | | Currently the failure mode is too obscure, so warn explicitly about these common cases. Also make local mode more usable.
* vm/local: implement debug modeDmitry Vyukov2016-01-141-0/+4
|
* vm: refactor VM interface in preparation for adb supportDmitry Vyukov2016-01-111-17/+12
| | | | | adb has more complex port forwarding setup, also / is mounted read-only. Make VM interface more flexible to support such cases.
* vm/local: minor improvementsDmitry Vyukov2015-12-301-0/+11
|
* vm/local: revive local VMDmitry Vyukov2015-12-301-0/+105
|
* vm: improve VM interfaceDmitry Vyukov2015-12-231-110/+0
| | | | | | | Current interface is suitable only for running syz-fuzzer. Make the interface more generic (boot, copy file, run an arbitrary command). This allows to build other tools on top of vm package (e.g. reproducer creation).
* allow local vm to not call setuid (not necessary if started not under root)Dmitry Vyukov2015-11-181-1/+1
|
* allow to run local vm without coverageDmitry Vyukov2015-10-201-0/+5
|
* refactor enabled syscall handlingDmitry Vyukov2015-10-201-9/+4
|
* aggregate vm params into a single struct (for ease of extension)Dmitry Vyukov2015-10-201-14/+7
|
* initial commitDmitry Vyukov2015-10-121-0/+117