4112 Commits

Author SHA1 Message Date
Siddharth M
0b48f538f1 pkg/report: enable feature comparisons for NetBSD 2019-07-15 18:10:08 +03:00
Eric Biggers
139ac68a73 sys/linux: update key descriptions
- Add KEYCTL_MOVE (new in v5.3)
- Add KEYCTL_CAPABILITIES (new in v5.3)
- Add KEYCTL_GRANT_PERMISSION (new in v5.3)
- Remove KEY_PERM_UNDEF (was only ever in an internal kernel header,
  not in UAPI; removed in v5.3)
2019-07-15 13:44:02 +03:00
R3x
a827bf70d7 pkg/report: Fix corrupted reports 2019-07-14 19:22:39 +03:00
Siddharth M
2bbe2f0558 executor: add network packet injection for NetBSD
* Initial Commit

* working build of network packet fuzzing

* Add missed csource file

* pkg/csource: fix build

* executor/common_bsd.h: Add comment stating reason for ifconfig create
2019-07-14 17:59:29 +03:00
Anton Lindqvist
e6fb0f1316 docs/openbsd: update found_bugs.md 2019-07-13 09:20:32 +02:00
Andrey Konovalov
baa5258a5e executor: fix out-of-bounds in USB fuzzing code
We might not have any string descriptors provided at all, use a hardcoded
string in this case.
2019-07-11 15:44:30 +02:00
Andrey Konovalov
186a30b993 executor: update USB fuzzing code to use new kernel API
The kernel API has changed and now differentiates between IN and OUT
control requests.
2019-07-11 15:03:48 +02:00
Anton Lindqvist
ff7bf04c7c sys/openbsd: add diskmap descriptions 2019-07-10 22:37:39 +02:00
Dmitry Vyukov
f62e1e85cf dashboard/config: update linux configs
Update configs to the current linux-next (16c474c9ba39ede5fd1cd835ac52b3760d7820b7).
Enable CONFIG_GVE=y, we may be able to reach it on GCE.
2019-07-05 11:51:08 +02:00
Denis Efremov
a0626693a0 sys/linux: fix floppy description
* sys/linux: fix floppy description

Fix typo in the FDGETPRM ioctl.

* sys/linux: extract && generate for floppy

Signed-off-by: Denis Efremov <efremov@linux.com>
2019-07-05 09:16:10 +02:00
Anton Lindqvist
429efa16d6 executor: make errors during thread creation exit zero
On OpenBSD, the executor sometimes manages to set the memory resource
limit 0 causing any following memory allocation to fail. Since threads
are potentially created from such a thread which cannot allocate any
memory, the executor will exit non-zero which in turn will cause
false-positive panics to be reported. For more info see the
discussion[1] in PR #1243.

Instead, if hitting a fatal error during thread creation exit zero.

[1] https://github.com/google/syzkaller/pull/1243
2019-07-04 20:26:46 +02:00
Willem de Bruijn
deef5fbc83 docs/linux: add references to syzkaller build instructions
In the various linux build instructions, add pointers to the main
doc with instructions for building syzkaller.

These instructions were present before commit d23e90a7b44b ("all:
switch to Go 1.12"). They were duplicated across files. Since the
commit the instructions are in one place. Make it easier to find
them from the platform-specific setup guides.

Also clarify in the x86_64 guide that using a precompiled compiler
from the supplied list is optional if the distribution provided
compiler is recent enough. Before commit d28f4ce ("Update
setup_ubuntu-host_qemu-vm_x86-64-kernel.md") the file had explicit
build instructions. Those are no longer needed.
2019-07-04 19:37:16 +02:00
Dmitry Vyukov
55565fa037 prog: fix minimization bugs
Fix several nasty bugs in minimization that could lead
to almost arbitrary results. These bugs affected both
crash minimization and corpus population.
Extend the randomized test to catch these bugs.
Add additional asserts to code to catch similar bugs in future.

Reported-by @xairy
2019-07-02 14:49:44 +02:00
Dmitry Vyukov
5f175e9c09 pkg/report: ignore __wake_up function on linux
They are very generic and a bug is almost always in the parent frame.
2019-07-02 09:03:49 +02:00
Andrey Konovalov
cccc4302d7 sys/linux, executor: run make extract and generate 2019-07-01 17:26:35 +02:00
Andrey Konovalov
13c3a99962 sys/linux, executor: add syz_usb_ep_read syzkall
syz_usb_ep_read reads data from USB endpoints other than #0.
2019-07-01 17:26:35 +02:00
R3x
df9270ba7f pkg/report: fix ASan report parsing bug 2019-07-01 16:28:15 +02:00
Siddharth M
907bf74686 sys/netbsd: Adding more syscalls
* sys/netbsd: Adding more syscalls

* Added lwp create structures

* Added a few lwp flags

* completed _lwp* syscalls

* add clone syscall

* fix errors, recheck arguments
2019-07-01 12:37:45 +02:00
Anton Lindqvist
699d6448c8 sys/openbsd: add missing WSDISPLAYIO_SBURNER ioctl command 2019-06-30 20:34:23 +02:00
Alessio Balsini
7509bf360e docs/linux/qemu-arm64: fix copy/paste with non-ASCII character
The sneaky '“' character causes errors when copy-pasting snapshots of
the documentation.
Solved with s/“/"/g.

Signed-off-by: Alessio Balsini <balsini@android.com>
2019-06-26 16:35:33 +02:00
Hangbin Liu
c2c0d4d6ae sys/linux: update mpls_lable and rta types
Kernel get mpls lable like
```
unsigned entry = be32_to_cpu(hdr->label_stack_entry);
result.label = (entry & MPLS_LS_LABEL_MASK) >> MPLS_LS_LABEL_SHIFT;
```
So we just need to store the label in big endian order.

For mpls rta types, kernel accpet only one lable for RTA_DST and
multi labels for RTA_NEWDST.

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
2019-06-26 16:34:37 +02:00
R3x
4d3422405e pkg/report: fix error in report symbolization 2019-06-26 11:19:18 +02:00
R3x
9b3b970634 docs/netbsd: remove TODO tasks that have been completed 2019-06-26 11:18:42 +02:00
R3x
c0d1d69763 sys/netbsd: Add new syscalls exit and ptrace 2019-06-26 11:18:16 +02:00
Denis Efremov
0a8d1a965a travis: use cache
* travis: cache clang-format installation

* travis: indent

* travis: use user paths for caching

* travis: cache go build results

* travis: use system clang-format

* travis: remove custom libstdc++ installation

Fixes #1252
2019-06-25 13:55:46 +02:00
Andrey Konovalov
82c13b6b49 sys/linux, executor: run make extract and generate 2019-06-24 17:24:44 +02:00
Andrey Konovalov
fa26c3cf35 sys/linux, executor: add basic USB HID fuzzing support
This commit adds the necessary descriptions and executor adjustments to
enable targeted fuzzing of the enumeration process of USB HID devices.
2019-06-24 17:24:44 +02:00
R3x
35a4434115 pkg/build: add DEBUG also 2019-06-24 16:24:48 +02:00
R3x
3a7e9179b1 pkg/build: add LOCKDEBUG and KASAN_PANIC 2019-06-24 16:24:48 +02:00
Andrey Konovalov
2873954bda pkg/report: add KMSAN kernel-usb-infoleak title regex 2019-06-24 12:58:49 +02:00
Dmitry Vyukov
7636971370 vm: fix typo in comment 2019-06-24 10:50:20 +02:00
Dmitry Vyukov
dfc7d235f5 vm: fix spurious crash detection caused by trimmed lines
We've got a case when "ODEBUG:" was incorrectly detected as crash.
That was caused by a flaw in matchPos logic. Fix that.
See the added test for details.
2019-06-24 10:14:58 +02:00
Dmitry Vyukov
472f0082fd pkg/ifuzz: update to latest intelxed
Update all-enc-instructions.txt to b7231de4c808db821d64f4018d15412640c34113
and regenerate instruction info.
2019-06-23 15:10:27 +02:00
Dmitry Vyukov
da9246f6d7 pkg/report: fix up parsing of lockdep stacks 2019-06-23 14:48:05 +02:00
Paul Chaignon
3efccdd201 sys/linux: update BPF constants
Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
2019-06-23 13:17:12 +02:00
Michael Tuexen
b39edb92c6 sys/freebsd: fix sockaddr structures
FreeBSD uses in sockaddr_{in,in6,un} structures a length field.
2019-06-23 13:16:30 +02:00
Anton Lindqvist
34bf9440bd docs/openbsd: correct order of vmctl arguments
The order of arguments passed to vmctl was recently changed: options comes
first followed by positional arguments.
2019-06-18 17:26:13 +02:00
Anton Lindqvist
efb619c0e4 sys/openbsd: correct setrlimit resource detection
The sanitizer fails to sanitize programs like the following:

  setrlimit(0x10000000000002, &(0x7f0000000080))

... due to presence of the most significant bit. Therefore mask of all
bits that cannot form a valid rlimit resource.

This is one of the root causes of the high amount of reported "lost
connection to test machine".
2019-06-18 16:28:55 +02:00
Anton Lindqvist
e3f76baaa9 docs/openbsd: update found_bugs.md 2019-06-18 09:46:08 +02:00
Anton Lindqvist
442206d76b sys/openbsd: sanitize mlockall syscalls
Locking down future mappings will most likely cause syz-executor to run
out of memory.

This is one of the root causes of the high amount of reported "lost
connection to test machine".
2019-06-14 18:34:50 +02:00
Dmitry Vyukov
1dcdf7ef37 tools/syz-stress: fix syscall list parsing
If -syscalls flag is empty (default),
strings.Split produces an empty string which
is then not parsed as valid syscall name.
2019-06-14 12:19:25 +02:00
Anton Lindqvist
998ccc760b sys/openbsd: rename test case 2019-06-13 18:51:26 +02:00
Anton Lindqvist
dad7ee745f sys/openbsd: sanitize setrlimit(RLIMIT_STACK) syscalls
Do not allow the stack to grow beyond the initial soft limit chosen by
syz-executor. Otherwise, syz-executor will most likely not be able to
perform any more heap allocations since they majoriy of memory is
reserved for the stack.

This is one of the root causes of the high amount of reported "lost
connection to test machine".
2019-06-13 18:51:26 +02:00
Siddharth M
a139f92fef pkg/report: Add initial support for report symbolisation
* pkg/report: initial netbsd commit

* pkg/report: fix netbsd errors and add comments to help

* fix spelling error
2019-06-13 18:39:32 +02:00
R3x
d25bb7ad41 pkg/report: use cover protect on NetBSD also 2019-06-13 18:26:11 +02:00
Andrey Konovalov
3f4e812b87 executor: improve usb coverage attribution
Always call write_extra_output() only if the current program or call
can produce extra coverage (== is a syz_usb* syzcall).
2019-06-12 19:47:26 +02:00
Andrey Konovalov
5a3f55c869 sys/linux: run make extract and generate
Forgot to do it after the last changes in hiddev descriptions.
Fuse is also updated.
2019-06-12 15:26:04 +02:00
Anton Lindqvist
794a1ad73a sys/openbsd: sanitize setrlimit(RLIMIT_DATA) syscalls (#1231)
OpenBSD performs a strict validation of the RLIMIT_DATA soft limit
during memory allocation. Lowering the same limit could cause
syz-executor to run out of memory quickly. Therefore make sure to not go
lower than the default soft limit for the staff group.

This is one of the root causes of the high amount of reported "lost
connection to test machine".
2019-06-11 16:50:14 -07:00
Andrew Turner
ea2f400664 tools/kcovtrace: Fix the format of kcovtrace.c 2019-06-11 15:25:32 +02:00
Andrew Turner
28a6eb7203 tools/kcovtrace: Fix cover type on FreeBSD and NetBSD
It should be uint64_t as a 32 bit tool may be tracing a 64 bit kernel.
2019-06-11 12:31:30 +02:00