Commit Graph

183 Commits

Author SHA1 Message Date
Dmitry Vyukov
3ccc84556b tools/stress: disable unsupported syscalls 2015-12-30 18:24:08 +01:00
Dmitry Vyukov
9f9ae3fcc3 tools/syz-upgrade: helper tool for corpus format upgrades 2015-12-28 12:49:19 +01:00
Dmitry Vyukov
80d60f7305 tools/syz-repro: fix repeat multiplier
For loop already increases multiplier on exit,
so additional incrase is not necessary.
2015-12-24 12:06:15 +01:00
Dmitry Vyukov
d4180ca5c7 tools/syz-repro: add reproduction tool 2015-12-23 19:19:45 +01:00
Dmitry Vyukov
1c801e8512 prog: factor out execution log parsing functionality
It will be needed to reproduction tool.
2015-12-23 19:18:13 +01:00
Dmitry Vyukov
7f3186abbb execprog: detect executor-detected bugs 2015-12-23 19:09:48 +01:00
Dmitry Vyukov
6af1c1f308 execprog: replace loop flag with repeat
This will be necessary for reproduction tool.
It needs to run a program a fixed number of times
instead of loop infinitely.
2015-12-23 13:39:14 +01:00
Dmitry Vyukov
e253cbc79f csource: new package
Move C source generation into a separate package.
Prog is too bloated already.
2015-12-23 13:38:31 +01:00
Dmitry Vyukov
bd75706280 add a flag to disable setpgid syscall
It is broken on some of our test systems.
2015-12-17 17:31:11 +01:00
Dmitry Vyukov
bbf4e35323 executor: export syscall execution results
Errno can be used to guide fuzzing, or detect not implemented syscalls.
2015-12-17 17:31:11 +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
d665e11e9d move Gate type to ipc package and use it in stress tool
This allows to print what programs stress executes.
2015-12-17 14:38:46 +01:00
Dmitry Vyukov
48d0a3662e tools/stress: minor improvements 2015-12-17 14:38:46 +01:00
Dmitry Vyukov
8bda33214d execprog: rate limit printing
Otherwise it happen too frequently when executing a single program in a loop.
2015-11-28 11:27:44 +01:00
Dmitry Vyukov
83e92abf50 tools/stress: support missing flags 2015-11-23 17:08:53 +01:00
Dmitry Vyukov
0165a4b2e4 use fork server in executor
This avoids exec per test.
Also allows to pre-map shared memory regions.
And will allow to pre-map coverage regions, etc.

Seems to work already, but probably there are still some bugs.
2015-11-10 20:30:50 +01:00
Dmitry Vyukov
760fa7e724 go fmt 2015-11-10 14:32:37 +01:00
Dmitry Vyukov
54af41532d merge execlog and execprog tools
Functionality was duplicated to significant degree.
Now execprog can do all execlog could do.
2015-11-10 13:56:10 +01:00
Dmitry Vyukov
18220dd54e support parallel execution in stress utility 2015-11-10 13:38:08 +01:00
Dmitry Vyukov
a44473e4a4 add collide mode to executor
In this mode we execute pairs of syscalls concurrently
to provoke data races in kernel.
2015-11-06 23:15:40 +01:00
Dmitry Vyukov
a7d2a521f3 support dropprivs in execlog/execprog 2015-11-05 10:30:39 +01:00
Dmitry Vyukov
727e8240ff read corpus from a zip archive in stress tool 2015-10-20 15:46:04 +02:00
Dmitry Vyukov
304c1de389 add threaded and timeout flags to execlog 2015-10-20 15:46:04 +02:00
Dmitry Vyukov
505473bd9b allow to specify timeout in execprog 2015-10-20 15:46:04 +02:00
Dmitry Vyukov
6d84c5d2d7 add mutate tool that allows to manually investigate mutator behavior 2015-10-16 22:00:16 +02:00
Dmitry Vyukov
c9b915608d initial support for call priorities 2015-10-14 16:55:09 +02:00
Dmitry Vyukov
38493312da allow to specify parallelism level in tools/execlog 2015-10-14 10:54:04 +02:00
Dmitry Vyukov
78514887ec clean up temp files in tools/execprog 2015-10-14 10:53:46 +02:00
Dmitry Vyukov
a02244e114 deduplicate coverare in executor
This allows to use larger coverage buffer
and not overflow output at the same time.
2015-10-13 15:29:07 +02:00
Dmitry Vyukov
c90d728595 dump coverage in execprog command 2015-10-13 15:29:07 +02:00
Dmitry Vyukov
29e95fbb26 process covereage in ipc package instead of fuzzer 2015-10-13 15:29:07 +02:00
Dmitry Vyukov
9145be6961 make ipc.Env.Exec accept the program to execute 2015-10-13 15:29:07 +02:00
Dmitry Vyukov
874c5754bb initial commit 2015-10-12 10:16:57 +02:00