Dmitry Vyukov
f5311fac95
sys: add basic netlink support for real
2016-01-23 21:27:57 +01:00
Dmitry Vyukov
7e28ae6b3b
sys: fix arg type
2016-01-23 13:17:06 +01:00
Dmitry Vyukov
790b11ac9b
sys: add basic netlink support
2016-01-23 13:10:35 +01:00
Dmitry Vyukov
8bdf62d1b7
sys: implement array byte size arguments
2016-01-23 00:37:08 +01:00
Dmitry Vyukov
b06604d52a
sys: remove resolved TODO
2016-01-23 00:06:30 +01:00
Dmitry Vyukov
0a98e8c14a
executor: restore nodropprivs mode
2016-01-23 00:04:34 +01:00
Dmitry Vyukov
81438c4ddd
sys: use kernel headers instead of host headers
...
This solves several problems:
- host usually have outdates headers, so previously we need to define missing consts
- host may not have some headers at all
- generation depends on linux distribution and version
- some of the consts cannot be defined at all (e.g. ioctls that use struct arguments)
2016-01-22 21:18:33 +01:00
Dmitry Vyukov
fe270dcf86
fuzzer: turn off kmemleak when not used
...
kmemleak introduces significant slowdown
2016-01-22 18:22:08 +01:00
Dmitry Vyukov
1e06d2bafc
executor: new namespace-based sandbox
2016-01-22 18:09:32 +01:00
Dmitry Vyukov
3247604265
vm/adb: fix instance leak
2016-01-21 16:12:42 +01:00
Dmitry Vyukov
2fb5e9b0d4
vm/qemu: fix latent output reading bug
2016-01-20 14:01:45 +01:00
Dmitry Vyukov
8cff5843fb
vm/adb: use a more reliable way to reboot devices
2016-01-20 13:58:57 +01:00
Dmitry Vyukov
aa1b7fe3a8
executor: start moving sandboxing code into executor
2016-01-20 13:49:06 +01:00
Dmitry Vyukov
a6b573b82a
config: add another builtin suppression
2016-01-20 13:48:01 +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
d5c2595f05
executor: adopt for new kcov
...
Now kcov exposes only uintptr-sized PCs.
2016-01-19 15:08:11 +01:00
Dmitry Vyukov
842a74a661
manager: use jsonrpc for communication
...
It seems to be less agressive with caching.
gob caches tons of memory per connection.
Also fix a timer memory leak.
2016-01-19 12:32:21 +01:00
Dmitry Vyukov
7f927c8e33
manager: don't copy data aimlessly
...
Inputs on manager are immutable anyway.
2016-01-19 12:31:09 +01:00
Dmitry Vyukov
36b96db4da
manager: import net/http/pprof
...
Also expose how much memory is spent on coverage information.
2016-01-19 12:29:59 +01:00
Dmitry Vyukov
a46b854974
fuzzer: don't store coverage for all inputs
2016-01-19 12:28:07 +01:00
Dmitry Vyukov
1d77072874
prog: don't cache static priorities
...
This is not computed very frequently, but wastes memory.
2016-01-19 12:26:27 +01:00
Dmitry Vyukov
9c277c7974
sys: describe more dri syscalls
2016-01-16 00:23:47 +01:00
Dmitry Vyukov
b1f7eb0c30
vm: reformat
2016-01-15 20:33:09 +01:00
Dmitry Vyukov
7a94216729
csource: format source with clang-format
2016-01-15 20:32:32 +01:00
Dmitry Vyukov
81dc7f8dc8
sys: support /dev/input/event ioctls
2016-01-15 20:16:02 +01:00
Dmitry Vyukov
1bdeb308d3
vm: add another crash message for older kernels
2016-01-15 20:15:36 +01:00
Dmitry Vyukov
a670fa2035
executor: reportat after clang-format bug fix
...
http://reviews.llvm.org/rL257763
2016-01-15 10:33:27 +01:00
Dmitry Vyukov
12f3129e71
vm/local: implement debug mode
2016-01-14 11:04:49 +01:00
Dmitry Vyukov
b217dcb509
sys: support /dev/input/{mouse,mice,event}
2016-01-13 20:45:35 +01:00
Dmitry Vyukov
d399ab9dc9
executor: don't create all threads when spot a root syscall
2016-01-13 20:44:05 +01:00
Dmitry Vyukov
9e2ea41475
executor: don't print all waitpid debug messages
2016-01-13 19:26:51 +01:00
Dmitry Vyukov
a92b8c76c3
sys: introduce a generic syz_open_dev helper syscall
2016-01-13 18:57:12 +01:00
Dmitry Vyukov
f675d35c97
prog: add some magic integers
2016-01-13 17:23:41 +01:00
Dmitry Vyukov
91630fe39d
sys: add support for /dev/snd/control
2016-01-13 16:54:29 +01:00
Dmitry Vyukov
bca57831a5
sys: add support for /dev/snd/timer
2016-01-12 20:14:56 +01:00
Dmitry Vyukov
15128d47bd
sys: support /dev/snd/seq
2016-01-11 22:26:09 +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
46fa57f3b4
executor: use mknodat instead of mknod (the latter is not implemented on android)
2016-01-11 17:30:08 +01:00
Dmitry Vyukov
31d1087c3f
ipc: umount all mounts before removing temp dirs
...
This is needed if unshare(CLONE_NEWNS) is not implemented.
Otherwise, os.RemoveAll fails.
2016-01-11 17:28:34 +01:00
Dmitry Vyukov
4f3c86c950
manager: restore exclusion of programs with disabled syscalls
2016-01-08 22:41:36 +01:00
Dmitry Vyukov
bb47c6540d
sys: add kvm support
2016-01-08 22:41:36 +01:00
Dmitry Vyukov
c9b24b38c9
Update README.md
2016-01-07 13:16:20 +01:00
Dmitry Vyukov
ad969c98f1
tools: add script that creates a Linux image suitable for syzkaller
2016-01-07 13:12:36 +01:00
Dmitry Vyukov
33950d306a
executor: fix some bugs found by clang
2015-12-31 17:52:26 +01:00
Dmitry Vyukov
96e9dbd874
sys: update grammar description
2015-12-31 16:03:01 +01:00
Dmitry Vyukov
aa82db2290
sys: implement sockaddr_storage
2015-12-31 16:03:01 +01:00
Dmitry Vyukov
4eb9d403e8
prog: implement mutation of union args
2015-12-31 16:03:01 +01:00
Dmitry Vyukov
62351e3ea5
fuzzer: allow to write programs to dmesg
...
Mostly useful for local VM.
2015-12-31 16:03:01 +01:00