Commit Graph

2434 Commits

Author SHA1 Message Date
Dmitry Vyukov
cb052d780d
Create README.md 2018-06-11 11:37:34 +02:00
Dmitry Vyukov
7b7a851040
Update syzbot.md
add reference to kernel configs
2018-06-11 11:36:50 +02:00
Dmitry Vyukov
12d131d7d8 dashboard/config: add syzbot configs 2018-06-11 11:32:02 +02:00
Dmitry Vyukov
ee885b87a4 vm/qemu: fix 9p for latest distros
9p stopped working on Debian rolling.
Update the init script.
2018-06-11 11:20:55 +02:00
Dmitry Vyukov
ae8bdb5058 syz-fuzzer: don't crash on commit mismatch
We now check for manager-fuzzer-executor commit mismatch (see Manager.Check).
But in some cases commit mismatch is not detected gracefully, and instead
leads to panics in fuzzer. Namely, when -enabled_syscalls fuzzer flag includes
large syscalls numbers, so large that they are no present at all in the an old
revision that fuzzer uses, in such case fuzzer panics.

Notify manager about invalid calls instead.

Fixes #464
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
deb0e69e10 executor: always use errors=continue when mounting ext2/3/4
For ext2/3/4 we have to have errors=continue because the image
can contain errors=panic flag and can legally crash kernel.

Fixes #599
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
9cff2eb96a dashboard/app: attach fixing commits to canonical bugs
Fixes #615
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
b30b1136b6 dashboard/app: try 1 repro per day until we have at least syz repro
Bugs without repros are not actionable sometimes.

Fixes #627
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
a742909665 dashboard/app: move repro tests for separate file 2018-06-11 12:12:01 +03:00
Dmitry Vyukov
848d746cf5 dashboard/app: use helper functions in tests
Update #606
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
952c799453 dashboard/app: refactor tests
Use standard dashboard client provided by dashapi package in tests.
Switch everything to use the client instead of API method.

Fixes #606
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
d6ae9b9739 dashboard/app: simplify config deployment
Currently one needs to switch between config_stub.go and prod
config back and forth on every deployment. This is very
inconvinient. Rework config, so that switching is not necessary.
2018-06-11 12:12:01 +03:00
Dmitry Vyukov
866118af36 sys/linux: add udplite sockets 2018-06-08 20:51:57 +02:00
Dmitry Vyukov
721401058c sys/linux: add TCP_ZEROCOPY_RECEIVE and TCP_INQ 2018-06-08 20:40:46 +02:00
Dmitry Vyukov
09ca59bff7 sys/linux: add ip6t_srh1 description 2018-06-08 20:29:37 +02:00
Dmitry Vyukov
145029013c sys/linux: add more fs ioctls 2018-06-08 20:21:23 +02:00
Dmitry Vyukov
9dbd63342f sys/linux: minor fixes for aio 2018-06-08 19:26:15 +02:00
Dmitry Vyukov
c5ca9ff98c sys/linux: move aio descriptions into separate file 2018-06-08 18:55:53 +02:00
Dmitry Vyukov
83f945db79 dashboard/app: fix old crash purging logic
NumRepro includes failed repro attempts,
so we should not look at it when purging old crashes.
2018-06-08 10:00:42 +02:00
Dmitry Vyukov
6db75fefbe pkg/report: add another format for null RIP
Kernel keeps inventing new formats...
2018-06-08 09:34:02 +02:00
Dmitry Vyukov
1319a7da09 dashboard/app: fix crash save throttling logic
bug.LastTime is updated on every crash, even if we don't save it.
As the result we did not save recent crashes for popular bugs at all.
Fix this by introducing bug.LastSavedCrash.
2018-06-08 09:34:02 +02:00
Hangbin Liu
f7b27b7a19 sys/linux: add remaining qdisc/tclass/tfilter/actions for netlink route sched
Update #533

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
2018-06-08 08:11:20 +03:00
Dmitry Vyukov
645e75f803 executor: make syscall table and number constant
We see some crashes that suggest corruption of the syscall number:

invalid command number 1296 (errno 11)
invalid command number 107 (errno 110)

Make the table and the number constant to prevent corruption.
2018-06-07 15:32:30 +02:00
Dmitry Vyukov
7fb9023fd7 pkg/report: ignore down functions for task hung bugs 2018-06-07 14:01:22 +02:00
Dmitry Vyukov
8b06421c04 sys/linux: regenerate consts on tip 2018-06-07 13:13:50 +02:00
Dmitry Vyukov
85e7c1404f sys/linux: add AF_XDP support 2018-06-07 13:13:49 +02:00
Daniel Borkmann
ac9b19d2e4 bpf: enable hardening mode 1 for jited images
This will harden non-root programs from kernel side, but not
root-only ones. Helps also to increase coverage a bit since
syzkaller generates programs for both cases.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-06-07 12:39:12 +03:00
Daniel Borkmann
b17ae9398c bpf: enable full unwind and kallsym export support for jited images
Helps syzkaller in particular for unwinding full stack in case
of warnings or crashes.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-06-07 12:39:12 +03:00
Dmitry Vyukov
667b9a6950 sys/linux: fix up midi descriptions 2018-06-07 11:10:49 +02:00
srikanth007m
72b15886d9 Sound Mixer Descriptors for MIDI
Enabling MIDI supported IOCTL descriptors for Syzkaller
2018-06-07 11:56:11 +03:00
srikanth007m
e1c9dcfb07 MIDI Sound mixer Const file 2018-06-07 11:56:04 +03:00
Dmitry Vyukov
d2ba33fac0 pkg/kernel: pass CC to oldconfig
Passing in compiler is important since 4.17
(at the very least it's noted in the config).
2018-06-07 10:18:14 +02:00
Dmitry Vyukov
e0e534c6c2 docs: update fuchsia instructions 2018-06-06 20:55:40 +02:00
Dmitry Vyukov
a251f32666 sys/fuchsia: disable zx_task_kill
Disable zx_task_kill until we figure out how to prevent executor from killing fuzzer.

Update #594
2018-06-06 20:52:30 +02:00
Dmitry Vyukov
0ac1284d5f vm/qemu: fuchsia support
Move most of linux-isms to os/arch configs.
Add proper configs for fuchsia.
2018-06-06 20:45:09 +02:00
Dmitry Vyukov
7efe08c90a syz-fuzzer: write programs directly to stdout
On fuchsia log package misbehaves and programs are lost:
https://fuchsia.atlassian.net/browse/TC-151
Write directly to stdout. Also should be slightly faster and shorter.
2018-06-06 20:39:36 +02:00
Dmitry Vyukov
a6bf43aeeb pkg/report: add simplistic fuchsia reporter 2018-06-06 16:29:59 +02:00
Dmitry Vyukov
97d44b0288 executor: use linux result convention for fuchsia
In several places we assume that -1 is failure and 0 is OK.
Use this convention for fuchsia as well.
2018-06-06 16:17:04 +02:00
Dmitry Vyukov
0c5447b340 syz-manager/mgrconfig: default to sandbox=none
sandbox=none is the default for execprog.
And now it's working reliably.
And only none makes sense for anything but linux.
2018-06-06 16:15:28 +02:00
Dmitry Vyukov
d8edd95800 executor: fix zx_port_wait use
The call signature has changed in zircon.
2018-06-06 16:14:00 +02:00
Dmitry Vyukov
606f9a96d8 pkg/csource: allow to build source fom memory
In most cases we have source in memory,
so provide a function to build right from memory
without creating temp files.
2018-06-06 10:30:54 +02:00
Dmitry Vyukov
41f9540d7a sys/fuchsia: remove ZX_VMO_OP_LOOKUP
It's removed from latest zircon sources.
2018-06-06 10:02:03 +02:00
Dmitry Vyukov
6479ab2a75 Makefile, sys/targets: move all native compilation logic to sys/targets
We currently have native cross-compilation logic duplicated
in Makefile and in sys/targets. Some pieces are missed in one
place, some are in another. Only pkg/csource knows how to check
for -static support.

Move all CC/CFLAGS logic to sys/targets and pull results in Makefile.

This should make Makefile work on distros that have broken x86_64-linux-gnu-gcc,
now we will use just gcc. And this removes the need to define NOSTATIC,
as it's always auto-detected.

This also paves the way for making pkg/csource work on OSes other than Linux.
2018-06-06 10:02:03 +02:00
Dmitry Vyukov
65c0e1a37c AUTHORS: sync with CONTRIBUTORS
Sometimes people forget to add themselves to AUTHORS.
2018-06-06 10:02:03 +02:00
Dmitry Vyukov
9820e1cae6 pkg/report: more "NMI handler took too long" ignores 2018-06-06 10:02:03 +02:00
Denis Efremov
863a24bb5d sys/linux: id field fix in v4l2_event_subscription
The id field in the v4l2_event_subscription structure
currently described as: id len[type, int32].

But all the documentation states is:
"id - ID of the event source. If there is no ID associated
with the event source, then set this to 0. Whether or not
an event needs an ID depends on the event type."

So, the documentation clearly states that:
1. id - is the source of an event
2. type - is the type of an event
3. for some types of events there is no source and id can be 0

According to this 'id int32' is more accurate description of
the field.
2018-06-05 13:33:12 +03:00
Dmitry Vyukov
bf6fa5b647
Update found_bugs.md 2018-06-05 11:33:06 +02:00
Denis Efremov
a316ff9273 sys/linux: add new mount options for xfs && btrfs in kernel v4.17
1. lazytime && nolazytime for xfs
2. nossd_spread for btrfs
2018-06-05 08:47:06 +03:00
Dmitry Vyukov
825571fb8a
Update found_bugs.md 2018-06-05 07:26:35 +02:00
Ondrej Mosnacek
a50d873b17 sys/linux: add MORUS and AEGIS AEAD algorithms 2018-06-04 14:57:38 +03:00