Dmitry Vyukov
8fa0c867d4
syz-fuzzer: generates hints only for the call that gave new coverage
...
During smashing we know what call gave new coverage,
so we can concentrate just on it.
This helps to reduce amount of hints generated (we have too many of them).
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
5044885ca2
prog: add a TODO for hints
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
54ae9c6db3
tools/syz-execprog: print total number of comps/hints
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
4f9fc95501
prog: fix bugs in hints generation
...
Add a random hints test and fix bugs it uncovers.
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
a3789f831f
syz-fuzzer: fix crash during hints processing
...
info can be nil on hard executor failures
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
baecf7a955
syz-fuzzer: make -v=1 logging more useful
...
We currently print programs with -v=1, this leads to too verbose output.
This was used during syzkaller bootstrapping and is not so useful anymore.
Don't print programs with -v=1. Instead give more insignt into what fuzzer
is doing.
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
b71450d9fb
executor: prevent executor from messing with output region
...
When comparisons are enabled fuzzer somehow manages to discover
the output region and corrupt it. It seems to fetch the address
from some memory operations (mmap/munmap).
Don't leak the output region address.
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
3c6fe80395
syz-fuzzer: send hints/seeds stats to manager
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
6755f62592
syz-fuzzer: fix manager polling
...
We need to always poll manager to send stats/maxsignal,
we just need not request candidates if we have plenty of work.
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
9b5612df77
syz-fuzzer: fix detection of hints
...
Global compsSupported is shadowed by the local var,
so we never have hints enabled.
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
afa9178d57
pkg/ipc: fix reading comp hints
...
if/else branches are intermixed
2017-10-23 09:59:39 +02:00
Dmitry Vyukov
ab829b1b0b
pkg/report: more linux spinlock oops messages
2017-10-22 14:30:13 +02:00
LeadroyaL
4d9c071338
use absolute link
2017-10-20 10:27:24 +02:00
LeadroyaL
534e07edeb
docs: fix configuration documentation
2017-10-20 10:27:24 +02:00
Dmitry Vyukov
355f57c5fb
Update freebsd.md
2017-10-19 14:34:48 +02:00
Dmitry Vyukov
b8d21896b6
Delete issue_template.md
2017-10-19 14:27:44 +02:00
Dmitry Vyukov
d1fdae0c34
Create issue_template.txt
2017-10-19 14:27:36 +02:00
Dmitry Vyukov
f7e3d40e6f
Update freebsd.md
2017-10-19 13:31:40 +02:00
Dmitry Vyukov
d629e2b7fe
Update freebsd.md
2017-10-19 13:28:49 +02:00
Andrey Konovalov
10c53cfcdb
Update found_bugs_usb.md
2017-10-19 13:13:56 +02:00
Dmitry Vyukov
3704c60135
executor: fix build breakages due to doexit
...
Some standard libraries contain "using ::exit;",
which breaks with the current redefinition of exit.
2017-10-19 11:06:05 +02:00
Dmitry Vyukov
f26811f080
pkg/ast: fix TestParseAll
2017-10-19 10:45:27 +02:00
Dmitry Vyukov
fe864987bd
syz-manager: pass kernel object dir to report.NewReporter
2017-10-18 18:19:01 +02:00
Dmitry Vyukov
6a4810dd45
pkg/report: strip unnecessary info from "workqueue lockup" crashes
2017-10-18 16:56:05 +02:00
Dmitry Vyukov
441d64d9a5
syz-manager/mgrconfig: fix selection of executor binary
...
We currently select executor for vm arch, need to select target arch.
This breaks linux/amd64/386 configuration where we select amd64 instead of 386.
2017-10-18 16:49:25 +02:00
Dmitry Vyukov
296be8cc8d
pkg/ipc: move fallback coverage into executor
...
It seems to explode linux corpus.
So make it freebsd-specific.
2017-10-18 16:49:25 +02:00
Andrey Konovalov
5776783af1
Update found_bugs_usb.md
2017-10-18 14:16:38 +02:00
Dmitry Vyukov
0c3dda40b8
Update contributing.md
2017-10-18 12:31:05 +02:00
Dmitry Vyukov
7ba02b7e21
Update pull_request_template.txt
2017-10-18 12:26:12 +02:00
Dmitry Vyukov
21c4900972
Update pull_request_template.txt
2017-10-18 12:25:15 +02:00
Dmitry Vyukov
1ba1282960
Create pull_request_template.txt
2017-10-18 12:23:12 +02:00
Dmitry Vyukov
7fdc7eba93
Create issue_template.md
2017-10-18 12:14:53 +02:00
Dmitry Vyukov
83d9b33c5b
Update contributing.md
2017-10-18 12:07:21 +02:00
Dmitry Vyukov
f89294761c
executor: use forkserver for freebsd
...
Use forkserver and shmem for freebsd.
This greatly improves speed.
Also introduce fallback coverage signal based
on unique (syscall+errno) pairs.
2017-10-18 12:01:24 +02:00
Dmitry Vyukov
6368c469a5
pkg/report: support freebsd
2017-10-18 12:01:24 +02:00
Dmitry Vyukov
85c802e4cf
pkg/report: support multiple OSes
...
Introduce report.Reporter interface.
Add an implementation per-OS.
Make users be explicit about OS they are testing.
2017-10-18 12:01:24 +02:00
Willem de Bruijn
b69d27d17e
docs: minor updates to x86_64 ubuntu setup instruction
2017-10-17 15:26:15 +02:00
Willem de Bruijn
6a3e678181
sys/linux: add MSG_ZEROCOPY
2017-10-17 15:26:15 +02:00
Dmitry Vyukov
6a06c36fe1
pkg/report: don't use access size for KASAN reports
...
Including access size potentially leads to failure to deduplicate
reports when size comes from user or for racy bugs (bug is detected
on different accesses depending on timings).
We already drop size from UAF and OOB, drop it for other bug types.
2017-10-17 15:09:01 +02:00
Dmitry Vyukov
a1bdb604cc
syz-manager: extend periodic messages
...
Add coverage and number of reproducing programs to the periodic messages.
When all machines are busy reproducing crashes, it appears that
syz-manager hanged as number of executed programs does not increase.
Coverage is just a nice characteristic.
Also print machine check message, it appears once and contains useful info.
2017-10-17 15:00:01 +02:00
Dmitry Vyukov
038cff25e2
vm/qemu: update error message for newer qemu
...
Newer qemu prints "Could" instead of "could".
2017-10-17 14:09:37 +02:00
Dmitry Vyukov
493f7afa4b
docs: add some info about freebsd
2017-10-17 13:56:29 +02:00
Dmitry Vyukov
3d5e81e280
sys/freebsd: more syscall descriptions
...
This is mostly copied form linux.
We probably need better support for sharing descriptions
between multiple OSes. But there are lots of differences,
so this is not trivial.
2017-10-17 13:50:05 +02:00
Dmitry Vyukov
766bfcfdd0
Makefile: format akaros descriptions
2017-10-17 11:02:27 +02:00
Dmitry Vyukov
bb146866c0
executor: improvements for akaros
...
1. remove workaround for pthread attrs (was fixed in akaros)
2. remove workaround for dup2 (was fixed in akaros)
3. check that we receive a program
4. implement timeout for test processes
2017-10-17 10:57:38 +02:00
Dmitry Vyukov
a8a0b01a8b
tools/syz-mutate: allow to specify target
2017-10-17 10:54:19 +02:00
Dmitry Vyukov
22279cf815
Makefile: don't string executor
...
This fails on bots with:
strip --strip-debug ./bin/linux_arm64/syz-executor
strip: Unable to recognise the format of the input file `./bin/linux_arm64/syz-executor'
2017-10-16 20:25:19 +02:00
Dmitry Vyukov
974ad2210c
syz-manager: check git revision on start
...
If we have no git revision, we will fail later anyway.
Better to fail earlier.
2017-10-16 20:21:47 +02:00
Dmitry Vyukov
8793f74c6c
sys/fuchsia: more descriptions
2017-10-16 19:23:13 +02:00
Dmitry Vyukov
6222b00f4b
sys/fuchsia: minor improvements to syscall descriptions
2017-10-16 15:53:28 +02:00