Commit Graph

4731 Commits

Author SHA1 Message Date
Dmitry Vyukov
831e9a81a6 dashboard/app: update docs 2020-03-27 10:43:05 +01:00
Dmitry Vyukov
9b6ecd9356 dashboard/app: fix tests hang
This is ugly but without this go test hangs with:

panic: Metadata fetch failed for 'instance/attributes/gae_backend_version':
	Get http://metadata/computeMetadata/v1/instance/attributes/gae_backend_version:
	dial tcp: lookup metadata on 127.0.0.1:53: no such host

It's unclear what's the proper fix for this.

It used to work for me for ridiculous reasons only:
somebody provided metadata host which returned errors,
but since nobody cares what's in the returned response
and no error checking whatsoever, it somehow did not crash...
2020-03-27 10:43:05 +01:00
Andrey Konovalov
9af8b4b30b dashboard/config: disable network interface renaming on android-5.4
Using Debian Stretch image in combination with android-5.4 kernel results
in eth0 being renamed to e.g. enp0s4 by virtio_net driver, which breaks
our startup scripts. Disable network interface renaming via a kernel
commandline argument.
2020-03-27 06:58:53 +01:00
Andrey Konovalov
ff9f28fce0 dashboard/config: enable e1000 driver in bits-syzbot.config
QEMU vm currently uses e1000 as the network model. Update android-5.4
config, the rest already has CONFIG_E1000 enabled.
2020-03-27 06:58:53 +01:00
Dmitry Vyukov
0bbbd25447 pkg/report: fix detection of questionable frames
The previous commit "pkg/report: handle cases when whole stack is questionable"
mishandles frames that start with [PC] prefix before " ? ".
Restore that part.
2020-03-27 06:23:11 +01:00
Mark Johnston
7d95711b32 sys/freebsd: add Capsicum system calls 2020-03-27 05:51:58 +01:00
Mark Johnston
be07a9be5e sys/freebsd: add __realpathat system call 2020-03-27 05:51:58 +01:00
Mark Johnston
87abd520f8 sys/freebsd: add bindat(2) 2020-03-27 05:51:58 +01:00
Mark Johnston
c37c8bf05b sys/freebsd: add POSIX shared memory system calls 2020-03-27 05:51:58 +01:00
Mark Johnston
ed2c77ae59 sys/freebsd: add connectat(2) 2020-03-27 05:51:58 +01:00
Mark Johnston
f2e4c4ea82 sys/freebsd: add posix_fadvise(2) and posix_fallocate(2) 2020-03-27 05:51:58 +01:00
Mark Johnston
0645e7c7e9 sys/freebsd: add missing open(2) flags 2020-03-27 05:51:58 +01:00
Mark Johnston
20d6478ce7 sys/freebsd: use symbolic names for faccessat(2) flags 2020-03-27 05:51:58 +01:00
Mark Johnston
7a683c4c28 sys/freebsd: add chflags(2) and related syscalls 2020-03-27 05:51:58 +01:00
Mark Johnston
892d1075a4 sys/freebsd: add lchmod(2) 2020-03-27 05:51:58 +01:00
Mark Johnston
7c5dc2298f sys/freebsd: add copy_file_range(2) 2020-03-27 05:51:58 +01:00
Mark Johnston
31f17aa979 sys/freebsd: add minherit(2) 2020-03-27 05:51:58 +01:00
Mark Johnston
edada2ecad sys/freebsd: add FreeBSD-specific madvise(2) flags 2020-03-27 05:51:58 +01:00
Mark Johnston
0b37813464 sys/freebsd: fix mode for socket_inet_sctp.txt 2020-03-27 05:51:58 +01:00
Andrey Konovalov
6d25c5a09d
Update syzbot.md 2020-03-26 12:34:19 +01:00
Andrey Konovalov
e8e6c7d21d
Update syzbot.md 2020-03-25 13:20:15 +01:00
Anton Lindqvist
41f049cc40 docs/openbsd: update found bugs.md 2020-03-24 18:19:57 +01:00
Dmitry Vyukov
68660b21c2 tools/syz-trace2syz/proggen: fix test for new descriptions 2020-03-24 09:17:26 +01:00
Dmitry Vyukov
9fa8161a2c dashboard/config: set hung_task_all_cpu_backtrace=1
See https://lkml.org/lkml/2020/3/23/973
We still want the backtraces.
2020-03-24 08:46:17 +01:00
Dmitry Vyukov
2ab437bb1e prog: improve TestDeserializeHelper
1. Allow to not provide Out if it's the same as In.
2. Always check Out.
2020-03-24 08:43:00 +01:00
Dmitry Vyukov
ef871b2e4f sys/linux: don't use syz_open_dev when openat is enough 2020-03-24 08:43:00 +01:00
Dmitry Vyukov
8cf47975a6 pkg/compiler: truncate const values to their physical size
We do similar truncation for values in the prog package (truncateToBitSize).
Truncating them in the generated descriptions makes it possible
to directly compare values (otherwise -1 and truncated -1 don't match).
2020-03-24 08:43:00 +01:00
Dmitry Vyukov
2a504af1a3 prog: add test for truncateToBitSize 2020-03-24 08:42:59 +01:00
Dmitry Vyukov
f211a294e5 prog: don't use spaces in hints test names
Spaces are replaced with _ in testing output.
The first thing you do on failure is search for the test name.
No match. Figure out spaces were replaced. Replace each _ in the name with space.
Counterproductive.
2020-03-24 08:42:59 +01:00
Dmitry Vyukov
624509aadb prog: add helper to hints tests
Add a help to create uint64 sets with less code.
2020-03-24 08:42:59 +01:00
Andrey Konovalov
33e14df3b1
Update external_fuzzing_usb.md 2020-03-23 17:25:56 +01:00
Andrey Konovalov
84f999d631
Update external_fuzzing_usb.md 2020-03-23 16:24:52 +01:00
Dmitry Vyukov
78267cec1a vm: better handle VM diagnosis output
1. Always append diagnosis output at the end.
Don't intermix it with kernel output. It's confusing and not useful.

2. Don't include diagnosis output into Report.
It's too verbose and is not the crash. Keep it only in the Output.
2020-03-21 16:30:35 +01:00
Dmitry Vyukov
d60b9c6b0e vm/vmimpl: refactor DiagnoseFree/OpenBSD
Make signatures of these functions match vm.Diagnose.
Both more flexible, less code, more reasonable.
2020-03-21 16:08:02 +01:00
Dmitry Vyukov
a2d5b1c04d pkg/report: handle cases when whole stack is questionable
If the report is identified as corrupted because there are no frames at all,
try to re-extract using questionable frames.
This is a bit risky and may produce lots of one-off corrupted reports
at random locations. But we won't know until we deploy this...

Fixes #1216
2020-03-21 14:43:26 +01:00
Kamil Rytarowski
329c2fa6c4 netbsd/found_bugs.md: Reset to the redirection to syzbot
This list is not maintained.
2020-03-21 12:27:14 +01:00
Kamil Rytarowski
f4ae90369c netbsd: Improve README.md
Based on feedback from Maxime Villard.
2020-03-21 12:23:34 +01:00
Andrey Konovalov
4288d95ef6 pkg/report: improve report titles 2020-03-21 08:13:09 +01:00
Marco Vanotti
aa6c6a5572 sys/fuchsia: Add cprng and vmo tests.
This commit adds two new tests for fuchsia. One tests a basic syscall
(zx_cprng_draw), and the other does multiple tests over a vmo.
2020-03-21 07:02:15 +01:00
Andrey Konovalov
2c31c529a9 pkg/report: improve report titles 2020-03-18 17:41:34 +01:00
Dmitry Vyukov
0a96a13cb9 tools/syz-check: extend usage docs
Allow to run for only 1 arch and extend docs.
2020-03-18 09:23:24 +01:00
Dmitry Vyukov
97bc55cead pkg/compiler: check that flags values fit into base type
flags[foo, int8]
foo = 0x12345678

is always an error, detect these cases.
Found some bugs in mptcp, packet sockets, kvm.
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
61e9cc09af pkg/compiler: preserve literal int const names
Useful for error reporting.
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
fc752a617f pkg/compiler: reduce clutter in test output
Don't prefix each error with test file:line (which is pointless in this case).
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
2e9037c55f pkg/compiler: check that const values fit into base type
const[0x12345678, int8] is always an error, detect these cases.
Found some bugs in mptcp, socket proto and fuchsia fidl descriptions.
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
0bcbb36f9f pkg/compiler: unshare error handler
eh is shared across several tests and uses wrong t.
Unshare it.
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
80d43738f1 prog: rename target.SanitizeCall to Neutralize
We will need a wrapper for target.SanitizeCall that will do more
than just calling the target-provided function. To avoid confusion
and potential mistakes, give the target function and prog function
different names. Prog package will continue to call this "sanitize",
which will include target's "neutralize" + more.
Also refactor API a bit: we need a helper function that sanitizes
the whole program because that's needed most of the time.

Fixes #477
Fixes #502
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
a2f9a44649 prog: export deserialization test helper for sys/{linux,openbsd}
sys/{linux,openbsd} duplicate deserialization test logic as well.
Export and reuse the existing helper function.
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
0a4d69469b prog: factor out common code in tests
Factor out a common test helper for tests that deserialize and check programs.
2020-03-17 21:19:13 +01:00
Dmitry Vyukov
1ea952c9ff pkg/compiler: calculate more precise sizes for arguments
If we have:

ioctl(fd fd, cmd int32)
ioctl$FOO(fd fd, cmd const[FOO])

Currently we assume that cmd size in ioctl$FOO is sizeof(void*).
However, we know that in ioctl it's specified as int32,
so we can infer that the actual syscall size is 4.

This massively reduces sizes of socket/setsockopt/getsockopt/ioctl
and some other syscalls, which is good because we now use physical
size in mutation/hints and some other places.

This will also enable not morphing ioctl's into other ioctl's.

Update #477
Update #502
2020-03-17 21:19:13 +01:00