Dmitry Vyukov
8cff5843fb
vm/adb: use a more reliable way to reboot devices
2016-01-20 13:58:57 +01:00
Dmitry Vyukov
891b46a9a5
vm: faster output oops grepping
...
Use manual parsing instead of a regexp.
Regexp takes ~220ms for typical output size. New code takes ~2ms.
Brings manager CPU consumption from ~250% down to ~25%.
2016-01-19 17:22:36 +01:00
Dmitry Vyukov
dfd341e349
vm/qemu: use snapshot mode
...
This avoids image copy per instance.
Also page cache won't hold multiple copies of the image.
2016-01-19 15:48:32 +01:00
Dmitry Vyukov
b1f7eb0c30
vm: reformat
2016-01-15 20:33:09 +01:00
Dmitry Vyukov
1bdeb308d3
vm: add another crash message for older kernels
2016-01-15 20:15:36 +01:00
Dmitry Vyukov
12f3129e71
vm/local: implement debug mode
2016-01-14 11:04:49 +01:00
Dmitry Vyukov
91630fe39d
sys: add support for /dev/snd/control
2016-01-13 16:54:29 +01:00
Dmitry Vyukov
4d906f05d4
vm/adb: add adb-based VM
...
vm/adb can be used to fuzz on real android devices.
2016-01-11 17:40:26 +01:00
Dmitry Vyukov
de48f7b019
vm: refactor VM interface in preparation for adb support
...
adb has more complex port forwarding setup, also / is mounted read-only.
Make VM interface more flexible to support such cases.
2016-01-11 17:33:44 +01:00
Dmitry Vyukov
02aa995eb1
vm/local: minor improvements
2015-12-30 19:53:39 +01:00
Dmitry Vyukov
43815ce761
vm/local: revive local VM
2015-12-30 18:25:14 +01:00
Dmitry Vyukov
0451ffa50a
qemu/kvm: improve output buffering
...
There seems to be some missed pieces in output.
2015-12-28 15:53:51 +01:00
Dmitry Vyukov
293e915415
vm: fix crash message extraction regexp
...
First, "cut here" is not interesting as it always follows
by a more descriptive message.
Unreferenced object is interesting.
Also, strip \r at the end.
Add a test.
2015-12-24 19:55:19 +01:00
Dmitry Vyukov
05b38edce2
vm/qemu: fix output reading bug
...
If qemu boot retries several times due to busy tcp port,
it ends up with several output reading goroutines.
That completely messes output.
2015-12-24 12:06:04 +01:00
Dmitry Vyukov
2eb388c0f8
vm: improve VM interface
...
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).
2015-12-23 19:12:45 +01:00
Dmitry Vyukov
8e7ca7c5ff
remove master and naming overhaul
...
Remove master process entirely, it is not useful in its current form.
We first need to understand what we want from it, and them re-implement it.
Prefix all binaries with syz- to avoid name clashes.
2015-12-17 16:06:33 +01:00
Dmitry Vyukov
41126671ec
manager: allow to run fuzzer under root
2015-12-17 14:38:46 +01:00
Dmitry Vyukov
db6bf8626d
detect UBSAN error reports
2015-12-17 14:38:46 +01:00
Dmitry Vyukov
cf2089138e
support kmemleak
...
If you set "leak":true in manager config, it will do leak checking.
It's quite slow, though. Also there seems to be false positives
and/or non-reproducible leaks.
2015-12-03 20:38:33 +01:00
Dmitry Vyukov
b1e98de8a6
fuzzer: parallel execution mode
...
Config now have procs parameter that controls number
of parallel executor's running in each VM.
2015-11-26 15:56:18 +01:00
Dmitry Vyukov
b0131d4eef
manager: add support for suppressions
...
There are always some known bugs...
2015-11-20 19:58:27 +01:00
Dmitry Vyukov
be856bc9e4
allow local vm to not call setuid (not necessary if started not under root)
2015-11-18 16:30:29 +01:00
Dmitry Vyukov
d2c7f41bb0
fix ssh when you have too many keys
...
IdentitiesOnly=yes disables sending of irrelevant keys
2015-11-09 11:28:26 +01:00
Dmitry Vyukov
7ae6489b27
increase saved context size for crash logs
...
A bug can be caused by earlier programs,
so it is useful to be able to see them.
2015-11-06 21:51:19 +01:00
Dmitry Vyukov
bb15aa8bfd
fix crash output
2015-11-06 21:51:19 +01:00
Dmitry Vyukov
f563cc395b
minor improvements for kvm
2015-11-05 10:30:08 +01:00
Dmitry Vyukov
786414e8e9
don't emit unnecessary info into crash log
...
This was necessary because there was a bug in log offset calculation.
Not the bug is fixed and the additional output makes it harder to grep logs.
2015-11-04 20:23:48 +01:00
Dmitry Vyukov
9ef3f5494e
fix crash report extraction from logs
2015-10-20 17:44:56 +02:00
Dmitry Vyukov
9c10c5a1fb
fix crash report extraction from logs
2015-10-20 17:43:56 +02:00
Dmitry Vyukov
8264f54f5e
improve lkvm support (still does not quite work)
2015-10-20 15:46:04 +02:00
Dmitry Vyukov
74f5340ea6
allow to run local vm without coverage
2015-10-20 15:46:04 +02:00
Dmitry Vyukov
30c9c31819
refactor enabled syscall handling
2015-10-20 15:46:04 +02:00
Dmitry Vyukov
95fb739d94
aggregate vm params into a single struct (for ease of extension)
2015-10-20 15:46:04 +02:00
Dmitry Vyukov
fb190a7fb9
remove ability to execute tests in parallel in fuzzer
...
it consumes more memory and makes it difficult to find crashing input
2015-10-16 22:21:02 +02:00
Dmitry Vyukov
587db99baa
lkvm support
2015-10-16 13:33:24 +02:00
Dmitry Vyukov
8d0aa4f7c0
improvements for kdbus
2015-10-15 17:59:01 +02:00
Dmitry Vyukov
2971d4d4e0
allow to omit -kernel flag in vm/qemu
...
For the case when image already contains the right kernel.
2015-10-15 17:59:01 +02:00
Dmitry Vyukov
7a72606565
allow to specify additional kernel command line arguments in vm/qemu
2015-10-15 17:59:01 +02:00
Dmitry Vyukov
874c5754bb
initial commit
2015-10-12 10:16:57 +02:00