Commit Graph

4988 Commits

Author SHA1 Message Date
Matthew Dempsky
f3ba1b5b7b sys/syz-sysgen: add -src and -out flags
This is useful for integrating into Fuchsia's build system, where we
need to be able to run syz-sysgen with a read-only source directory,
and emit the output files elsewhere.
2020-06-02 10:29:24 -07:00
Dmitry Vyukov
06417ff868 pkg/report: add tests for rcu stalls in kmem_cache_alloc
I though maybe we need special handling for them:
stop at kmem_cache_alloc function. But now I am not sure.
This can also be an infinite loop which calls kmalloc/kfree.
Let's not change code for now, just fix things with tests
(this is a good representative set).
2020-06-02 17:47:56 +02:00
Andrey Konovalov
c98aaf984a pkg/report: improve report titles 2020-06-02 17:23:51 +02:00
Dmitry Vyukov
52fd7b7d77 tools: add syz-big-env
On top of syz-env it provides akaros/fuchsia/netbsd toolchains and gcloud sdk.
With this it's possible to run dashboard/app tests on CI and locally
and test executor build and pkg/{csource,cover} for these OSes.

Update #1765
2020-06-02 13:39:30 +02:00
Dmitry Vyukov
2b26ad000f pkg/cover: skip test on akaros
Akaros compiler does not support coverage.
2020-06-02 13:39:30 +02:00
Dmitry Vyukov
d56234396c pkg/cover: support coverage reports on fuchsia 2020-06-02 13:39:30 +02:00
Dmitry Vyukov
a0331e89e0
docs: fix a typo
Fixes ##1778
2020-05-31 10:23:36 +02:00
Dmitry Vyukov
6f3e1c7c67 pkg/build: chmod key file before running qemu
In case the original key has wrong permissions.
Ssh is very picky about key permissions.
2020-05-30 11:04:21 +02:00
Daimeng Wang
f7fbb18cba syz-manager: add detailed coverage logging
Originally, syz-manager confusingly logs corpusSignal as "cover".
Change syz-manager's logging to output corpusSignal, corpusCover
and maxSignal.
Add a field in Stats to store maxSignal.
2020-05-30 08:04:19 +02:00
m00nbsd
954bd312f9 sys/netbsd: improve vusb.txt 2020-05-29 21:25:38 +02:00
Dmitry Vyukov
3905eaae00 dashboard/config: enable RCU_EQS_DEBUG
For context see:
https://groups.google.com/d/msg/syzkaller-bugs/2viu2RYTzZE/lu5DNOytAAAJ
2020-05-29 16:23:13 +02:00
Dmitry Vyukov
bed0830408 sys/targets: fix cross-compiler CI check
cdc5f8a23e accidentially changed
this condition to a wrong one. Change it back.
2020-05-29 15:33:29 +02:00
Dmitry Vyukov
2510d1afaa pkg/report: avoid producing no guilty file
If we produce no guilty file at all, the report is mailed only to LKML,
which is mostly equivalent to mailing to nobody.
If we skip all files, return the first one.
2020-05-29 15:27:43 +02:00
Dmitry Vyukov
cdc5f8a23e sys/targets: support SOURCEDIR_GOOS vars
Support SOURCEDIR_GOOS env vars as an alternative to SOURCEDIR.
SOURCEDIR_GOOS takes precedence.
This allows to test several OSes at the same time.

Update #1765
2020-05-29 13:02:19 +02:00
Dmitry Vyukov
f9f8a06c7c pkg/cover: fix test name output 2020-05-29 13:01:39 +02:00
Andrey Konovalov
6c68daf098 executor: fix printing null master in netlink_device_change
The issues is only present with verbose debugging enabled.

executor/common_linux.h: In function ‘void netlink_device_change(nlmsg*, int, const char*, bool, const char*, const void*, int, const char*)’:
executor/common_linux.h:380:7: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
  380 |  debug("netlink: device %s up master %s: %s\n", name, master, strerror(err));
2020-05-29 09:50:00 +02:00
Dmitry Vyukov
7e7ceb21ba pkg/build: chmod output ssh key
ssh is very picky about ssh key permissions.
Let's enforce the right persmissions without bothering user with this.
2020-05-29 08:30:49 +02:00
Marco Vanotti
d19ed305ae pkg/build/fuchsia: Enable KASAN by default.
This commit makes syzkaller build the kasan variant of fuchsia by
default.

Support for kernel address sanitizer has landed in fuchsia since commit
`54c5edfc37afe7294256552cefefca64c6ce7e94`[0].

[0]: https://fxrev.dev/383323
2020-05-28 20:12:33 +02:00
Dmitry Vyukov
0d951763f5
docs/netbsd: update image link 2020-05-28 16:54:29 +02:00
Dmitry Vyukov
c7192a2f9a syz-ci: serialize syzkaller build/test
syzkaller testing may be slowed down by concurrent kernel builds too much
and cause timeout failures, so we serialize it with other builds:
https://groups.google.com/forum/#!msg/syzkaller-openbsd-bugs/o-G3vEsyQp4/f_nFpoNKBQAJ
2020-05-28 14:11:53 +02:00
Anton Lindqvist
142a0957d0 sys/openbsd: change type of sysctl namelen argument
The namelen argument must reflect the number of elements in the name
vector. Since it's a vector of integers, bytesize4 seems more
appropriate.

With help from by Dmitry[1].

[1] https://github.com/google/syzkaller/pull/1761#discussion_r430139775
2020-05-27 21:39:33 +02:00
Dmitry Vyukov
ec1531937e pkg/cover: skip test on old gcc's 2020-05-27 14:55:17 +02:00
Dmitry Vyukov
fdf90f622b pkg/cover: add test for report generation
Test various combinations of no debug info,
no coverage instrumentation, no PCs, bad PCs, good PCs,
and what errors we produce for these.
Also implement support for cross-arch reports:
prefix objdump with cross-compile prefix
(e.g. aarch64-linux-gnu-objdump instead of objdump).
2020-05-27 14:38:28 +02:00
m00nbsd
9072c1268e pkg/build/netbsd: use mknod rather than MAKEDEV 2020-05-26 18:50:51 +02:00
Dmitry Vyukov
8ca3b7d2bb sys/linux: fix some warnings in descriptions 2020-05-25 18:06:29 +02:00
Dmitry Vyukov
47dd291b8e sys/linux: update warn files on next-20200521 2020-05-25 18:06:29 +02:00
Dmitry Vyukov
0f54349fc6 tools/syz-check: restore handling of unions
Unions were dropped accidentially during removal StructDesc.
2020-05-25 18:06:29 +02:00
Dmitry Vyukov
82f3c7881f tools/syz-check: don't check kvm on arm 2020-05-25 18:06:29 +02:00
Dmitry Vyukov
fcec29826e tools/syz-check: fix field name in output 2020-05-25 18:06:29 +02:00
Dmitry Vyukov
30927cd7ca pkg/vcs: run git clean with switching commits
Maybe it will help to fix:
https://groups.google.com/forum/#!topic/syzkaller-bugs/2lgvlHd8t1c
2020-05-25 14:42:46 +02:00
Dmitry Vyukov
73964a9b3a pkg/instance: extend debug output on syzkaller make error
For debugging of:
https://groups.google.com/forum/#!topic/syzkaller-bugs/2lgvlHd8t1c
2020-05-25 12:53:19 +02:00
Anton Lindqvist
1128418284 sys/openbsd: add sysctl descriptions 2020-05-24 21:38:38 +02:00
m00nbsd
bd28eb9d78 pkg/report: fix kUBSan reporting on NetBSD 2020-05-24 14:34:40 +02:00
m00nbsd
ce7ca01039 pkg/build: create /dev/vhci on NetBSD 2020-05-24 13:15:28 +02:00
m00nbsd
96c92ad3ab executor: fix a cast in common_usb_netbsd.h 2020-05-24 00:00:55 +02:00
Dmitry Vyukov
9682898d6f
docs: add KRACE paper 2020-05-22 06:33:04 +02:00
Dmitry Vyukov
5afa2ddd5a tools/syz-check: fix path calculation
pkg/ast now gives full file name in Pos.
2020-05-21 18:22:54 +02:00
Dmitry Vyukov
4db3f9927f
README.md: fix oss-fuzz badge link 2020-05-21 17:36:56 +02:00
Dmitry Vyukov
cecffa2df9 sys/syz-sysgen: don't format descriptions
Formatting takes 10 seconds.
make format will run go fmt anyway.
2020-05-21 16:18:44 +02:00
Dmitry Vyukov
b5c5dd7786 prog: speed up TestPrioDeterminism
Make it faster + disable in race mode (still too slow).
2020-05-21 16:18:44 +02:00
Dmitry Vyukov
4053862c26 prog: fix determinism in choice table
Floats bite.
We interated over uses map non-deterministically,
which would be fine overall except that it may
break floats due to rounding.
2020-05-21 13:56:29 +02:00
Dmitry Vyukov
d06aafeef6 prog: fix determinism in resource creation
We chosen a non-deterministic resource in createResource
due to map iteration order.
This is caught by existing TestDeterminism,
but just very infrequently.
2020-05-21 13:56:29 +02:00
m00nbsd
1f30020f85 executor: fix a USB define on NetBSD 2020-05-21 12:01:24 +02:00
m00nbsd
df09374f0c executor: use the SYZ_USB define for NetBSD 2020-05-21 09:10:30 +02:00
m00nbsd
49c689a527 executor: fix the types used in common_usb_netbsd.h 2020-05-21 09:10:30 +02:00
Dipanjan Das
203d1b0208
vm/isolated: fix hang when target_reboot is not set
* updated the contributor list

* Fixes #1750, syz-manager hangs with "target_reboot:" false in isolated VM mode

If in the isolated VM mode, "target_reboot": false option is set in the
syz-manager's configuration, it hangs forever. syz-manager essentially
keeps on waiting for the VM to reboot, while a reboot is never triggered
due to target_reboot option being set to false. The fix is to perform the
waitRebootAndSSH() check only when target_reboot is set to true.

File(s) changed:

    vm/isolated/isolated.go: Move the waitRebootAndSSH() check inside the correct block
2020-05-21 09:08:32 +02:00
m00nbsd
c61086ab68
dashboard/config: improve the NetBSD configs 2020-05-20 14:58:07 -07:00
Dmitry Vyukov
dd849aa3a2 sys/linux: generate consts on next-20200519 2020-05-20 19:40:08 +02:00
Dmitry Vyukov
204f4fde06 sys/syz-extract: fix for full paths
pkg/ast now uses full paths since 554f8f39c5.
Fix syz-extract accordingly.
2020-05-20 19:38:14 +02:00
Dmitry Vyukov
4afdfa205b dashboard/config: disable PROVE_RAW_LOCK_NESTING
It does not work yet.
Generated on next-20200519.
2020-05-20 15:39:22 +02:00