2322 Commits

Author SHA1 Message Date
Dmitry Vyukov
c7f6891ca7 pkg/report: reformat code
There is some regression in Go formatting on tip.
I am constantly getting diffs after formatting.
Filed: https://github.com/golang/go/issues/25161
2018-04-29 12:04:22 +02:00
Dmitry Vyukov
d5a5d04517 sys/linux: a bunch of assorted improvements 2018-04-27 19:52:20 +02:00
Dmitry Vyukov
190d92e056 sys/linux: extend namespace desciptions
Slightly extend namespace descriptions and move
them to a separate file.
2018-04-27 18:47:58 +02:00
Dmitry Vyukov
195cc154e2
Update kernel_configs.md 2018-04-27 16:03:10 +02:00
Dmitry Vyukov
7785e4049f
Update setup_linux-host_qemu-vm_arm-kernel.md 2018-04-27 15:46:45 +02:00
Dmitry Vyukov
0008f52678 pkg/report: fix remaining lockdep report formats
We fixed only 1, but new format affects all lockdep reports.
Fix all of them.
2018-04-27 15:44:47 +02:00
Dmitry Vyukov
1e49a807a4 syz-manager: log suppressed crashes always
If there are few of them, it does not matter if they are printed or not.
However if there are lots of them, they need to be seen in log.
2018-04-27 15:43:55 +02:00
Dmitry Vyukov
3c7caf1d6e pkg/host: enable more fault injection 2018-04-27 15:43:29 +02:00
Dmitry Vyukov
733e69fd24 syz-fuzzer: fix kcov detection for cross-arch testing 2018-04-27 15:42:48 +02:00
Dmitry Vyukov
b9e02d5759 docs: add instructions for arm kernel 2018-04-27 14:33:01 +02:00
Dmitry Vyukov
bcd6198db5 executor: support cover on 32-bit kernels
Detect kernel bitness and properly extract coverage on 32-bit kernels.
2018-04-27 14:33:01 +02:00
Dmitry Vyukov
6bd8902381 syz-fuzzer: clean up after probing coverage
We left mmap memory and comparison tracing enabled.
2018-04-27 14:33:01 +02:00
Dmitry Vyukov
ebfe5a54b7 syz-fuzzer: use proper pointer size when checking coverage 2018-04-27 14:33:01 +02:00
Dmitry Vyukov
476b8ca987 syz-manager: properly calculate previous instruction PC
We used to subtract 5 which is length of call instruction on amd64.
Do proper per-arch calculation.
2018-04-27 14:33:01 +02:00
Dmitry Vyukov
d0b7645387 pkg/report: few report parsing fixes for linux 2018-04-26 14:46:16 +02:00
Hangbin Liu
73417389ce sys/linux/socket_netlink_route: add routing rules
Also fix RTA_MULTIPATH data type. We only need struct rtnexthop,
no need to use array type.

v1 -> v2:
Use uid and sock_port instead of int32/16. Use flags for FRA_PROTOCOL
and FRA_IP_PROTO.

Add type fib_rule_hdr because even though the structure is same with rtmsg.
The table, action and flags values are not same.

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
2018-04-25 09:33:09 +02:00
Dmitry Vyukov
37e76fe20b pkg/scource: rename compiled binary to syz-executor
We call the binary syz-executor because it sometimes shows in bug titles,
and we don't want 2 different bugs for when a crash is triggered during
fuzzing and during repro.
2018-04-24 19:17:07 +02:00
Dmitry Vyukov
fd5157bebf pkg/report: sanitize titles better
Strip non-printable characters from titles.
Trim whitespaces on both ends.
Replace tabs with spaces.
Remove duplicate spaces.
Reduce max title length.
2018-04-24 19:17:07 +02:00
Dmitry Vyukov
98e363b852 pkg/git: don't create shallow repos
Shallow repos created by CheckoutBranch conflict with
what CheckoutCommit tries to do.
Fetch of a shallow repo does not unshallow it.
And then checkout of a non-head commit fails.
2018-04-24 19:17:07 +02:00
Dmitry Vyukov
4707a17923
Update found_bugs.md 2018-04-24 15:57:13 +02:00
Dmitry Vyukov
1fda5ee0af
docs: add new ways of testing patches on syzbot
1. Mention that exact commit hash can be provided.
2. Mention that patch is optional now.
2018-04-24 15:34:37 +02:00
Dmitry Vyukov
2bf86f4022 syz-ci: remove restriction on empty patch 2018-04-24 14:55:39 +02:00
Dmitry Vyukov
0bad1c56e8 dashboard/app: make it possible to restrict test repos
Normally instances can test patches on any tree.
However, some (e.g. non-upstreamed KMSAN) can test only on a fixed tree.
RestrictedTestingRepo contains the repo for such instances
and RestrictedTestingReason contains a human readable reason for the restriction.

Fixes #567
2018-04-24 14:30:32 +02:00
Dmitry Vyukov
2e579571e0 dashboard/app: refactor manager info in config
In preparation for future changes.
2018-04-24 13:58:56 +02:00
Dmitry Vyukov
9366d03f00 dashboard/app: allow testing fixes on exact commit and without patch
This implements 2 features:
1. It's now possible to specify exact commit when testing as:

2. It's possible to test without patch attached
assuming the patch is already committed to the tested tree.

Fixes #558
2018-04-24 13:23:01 +02:00
Dmitry Vyukov
e2f4bf8f38 pkg/gce: improve API rate limit logic
Sometimes we see rate limiting errors.
This is especially bad for e.g. patch testing requests.
Increase default API delay and add backoff logic.
2018-04-24 13:23:01 +02:00
Dmitry Vyukov
33424b08c3 pkg/report: more corrupted report detection 2018-04-24 13:23:01 +02:00
Dmitry Vyukov
02bbd80e7c prog: fix gometalinter warnings 2018-04-24 13:23:01 +02:00
Dmitry Vyukov
e7e85d3609 pkg/kernel: fix gometalinter warning 2018-04-23 16:50:25 +02:00
Dmitry Vyukov
0d8e591c31 syz-ci: reduce git poll period 2018-04-23 16:28:24 +02:00
Dmitry Vyukov
8b5dcf17b0 syz-ci: clean kernel dir before patch test build
This leads to false errors when we are switching between gcc and clang:

kernel build failed: failed to run /usr/bin/make [make bzImage -j 32 CC=/syzkaller/clang-kmsan/bin/clang]: exit status 2
arch/x86/Makefile:184: *** Compiler lacks asm-goto support..  Stop.

Fixes #568
2018-04-23 16:26:26 +02:00
Dmitry Vyukov
ff12bea91c pkg/ipc: fix data race on config.Timeout 2018-04-23 16:26:26 +02:00
Dmitry Vyukov
c7b0bb14c0
Update found_bugs.md 2018-04-23 15:38:28 +02:00
Dmitry Vyukov
5be8929822
Update README.md 2018-04-23 15:36:58 +02:00
Dmitry Vyukov
20941ab3cb
Update found_bugs.md 2018-04-23 11:19:36 +02:00
Hyeongchan Kim
d23fcf6cfb syz-upgrade: fix typo in usage message 2018-04-21 10:41:19 +02:00
Dmitry Vyukov
ca03d6881a vm/qemu: don't be too clever with cpu configuration
Some machine configurations have strict limits on number of CPUs
and don't support NUMA (e.g. arm vexpress-a15).
maxcpu and numa options make qemu fail.
Don't be too clever. If necessary maxcpu and numa options
can be added in qemu_args.
2018-04-20 20:14:10 +02:00
Dmitry Vyukov
8b9a3f2c76 pkg/report: add some example arm crashes 2018-04-20 20:14:10 +02:00
Dmitry Vyukov
9b895661a9 syz-manager: fix coverage report for archs other than amd64 2018-04-20 20:14:10 +02:00
Dmitry Vyukov
bf2018dd07 executor: don't fail when ipv6 is not enabled
Check in checkpoint_iptables is not enough as
reset_iptables will fail even if no tables enabled.
Add similar check to reset_iptables.
2018-04-20 20:14:10 +02:00
Dmitry Vyukov
cc402841ba
Update kernel_configs.md 2018-04-20 09:28:52 +02:00
Dmitry Vyukov
eae05cb05e syz-manager: make misconfig errors more comprehensible 2018-04-19 20:16:21 +02:00
Dmitry Vyukov
074c0dd9b9 syz-manager: make error about "no syscalls enabled" more useful
Exit only after we print why syscalls were disabled.
2018-04-19 20:13:50 +02:00
Dmitry Vyukov
bcc3786b30 syz-manager: make error messages about inconsistent binaries more comprehensible 2018-04-19 20:12:03 +02:00
Dmitry Vyukov
a6714e43a9 syz-manager: make error about changed files more comprehensible 2018-04-19 20:01:42 +02:00
Dmitry Vyukov
500489e312 sys/syz-extract: provide readable error on missing input file
Currently syz-extract crashes with nil deref panic if
it is executed manually and is gives an absent file name.
Output a readable error.
2018-04-19 19:43:27 +02:00
Dmitry Vyukov
e5453dd396 executor: increase max image size to 128MB
Images of some filesystems need to be that large (xfs, btrfs, f2fs).
2018-04-19 16:59:49 +02:00
Dmitry Vyukov
81daaca980 pkg/host: fix kallsyms names again
Some x86 syscalls now seem to be __x64_ and __ia32_ instead of sys_ or ksys_.
2018-04-19 16:58:24 +02:00
Dmitry Vyukov
3642839c10 sys/linux: add f2fs support 2018-04-19 14:15:31 +02:00
Dmitry Vyukov
19af2a1b35 pkg/report: coarsen "unregister_netdevice" title
This leads to unbounded number of bug reports as syzkaller
can generate new device names dynamically.
Exclude actual device name from title.
2018-04-19 13:58:34 +02:00