Dmitry Vyukov
4dcfea28eb
pkg/host: support test OS
...
test OS parasitizeson other OSes just as akaros,
and there is nothing to detect as well.
So use the same stub for test as for akaros.
2018-07-27 10:22:23 +02:00
Dmitry Vyukov
22105302cc
executor: ignore unshare errors in setuid sandbox
...
We already do this in sandbox=none, but forgot about setuid.
2018-07-27 10:22:23 +02:00
Dmitry Vyukov
c7725f52b1
syz-execprog: initialize net devices
2018-07-27 10:22:23 +02:00
Dmitry Vyukov
68faa52582
prog: parse comments in serialized programs
...
Remember per-call comments, will be useful for annotating tests.
Also support this form:
call() # comment
2018-07-27 10:22:23 +02:00
Zach Riggle
0889ba7a79
adb: Add console logic for ttyUSB.serial
...
By using UDEV rules, we can create device nodes which exist at
/dev/ttyUSB.{android device serial}
Which makes it easier to determine which console belongs to a device.
While this is non-standard behavior, it's an inexpensive path check
and makes the lookup faster and deterministic.
2018-07-26 20:13:37 +02:00
Dmitry Vyukov
ad155aa428
pkg/csource: say what compiler is missing
2018-07-25 10:44:45 +02:00
Dmitry Vyukov
e0c1bcbabc
prog: move MaxPids const to prog
...
The const may be needed by other packages.
E.g. when checking manager config.
2018-07-25 10:39:29 +02:00
Dmitry Vyukov
3cbc0ac516
pkg/csource: tun/cgroups are linux-specific
2018-07-25 10:39:29 +02:00
Dmitry Vyukov
5164d966fd
executor: remove unused file
...
Leftover after "executor: overhaul".
2018-07-25 10:39:29 +02:00
Dmitry Vyukov
1ca246b8b2
Makefile: fix build
2018-07-25 08:39:05 +02:00
Dmitry Vyukov
da1670a69d
Makefile: install /bin/sh
...
Installs /bin/sh required for pkg/csource/gen.sh
2018-07-25 08:36:42 +02:00
Anton Lindqvist
9182049979
pkg/csource: remove /bin/bash assumption
...
OpenBSD and probably other BSDs does not ship with /bin/bash. This particular
script runs fine with regular /bin/sh.
2018-07-25 08:30:07 +02:00
Julia Hansbrough
a922a2e809
[manager] Fix typo.
...
s/cash/crash/
2018-07-25 08:28:36 +02:00
Dokyung Song
6982d892b6
sys/targets: fix Fuchsia lib directory
...
to fix linking error when building syz-executor for Fuchsia.
2018-07-25 08:26:57 +02:00
Dmitry Vyukov
375a3e31e1
pkg/build: save kernel config early
...
Currently we don't capture kernel config for broken builds
because the config is saved as the last step.
Save it as early as possible.
2018-07-24 14:30:05 +02:00
Dmitry Vyukov
9b6bfa3fe8
dashboard/app: don't show broken links to empty configs
2018-07-24 14:29:21 +02:00
Dmitry Vyukov
daf70d7973
dashboard/config: disable CONFIG_DRM_AMDGP
...
Causes build failures:
https://syzkaller.appspot.com/bug?extid=9118f0a7ae77f4eee4a9
and we don't test it anyway.
While we are here disable other GPUs
and update config to latest version.
2018-07-24 14:28:01 +02:00
Dmitry Vyukov
d1ed573636
Makefile: disable 32-bit executor build
...
Fails on travis...
2018-07-24 14:04:43 +02:00
Dmitry Vyukov
beb957b793
vm/qemu, vm/gce: kill fuzzer on first kernel bug
...
Some kernel bugs don't stop kernel.
For such bugs whiel vm.MonitorExecution waits for kernel output for 10 secs,
fuzzer continues running programs and produces tons of output
after the kernel bug message. Kill fuzzer once MonitorExecution
detects a kernel bug.
2018-07-24 13:44:48 +02:00
Dmitry Vyukov
4969639c7c
executor: fix strict aliasing violations
...
test_copyin does bad things. Fix that.
executor/test.h: In function ‘int test_copyin()’:
executor/common.h:299:16: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
*(type*)(addr) = (type)(val); \
^
2018-07-24 13:29:26 +02:00
Dmitry Vyukov
9fe4bdc5f1
executor: overhaul
...
Make as much code as possible shared between all OSes.
In particular main is now common across all OSes.
Make more code shared between executor and csource
(in particular, loop function and threaded execution logic).
Also make loop and threaded logic shared across all OSes.
Make more posix/unix code shared across OSes
(e.g. signal handling, pthread creation, etc).
Plus other changes along similar lines.
Also support test OS in executor (based on portable posix)
and add 4 arches that cover all execution modes
(fork server/no fork server, shmem/no shmem).
This change paves way for testing of executor code
and allows to preserve consistency across OSes and executor/csource.
2018-07-24 12:04:27 +02:00
Dmitry Vyukov
db7957bc09
pkg/report: add format for akaros warnings
2018-07-24 10:10:45 +02:00
Dmitry Vyukov
a0512a53a3
vm/qemu: use e1000 instead of e1000e
...
e1000e fails on recent Debian distros with:
Initialization of device e1000e failed: failed to find romfile "efi-e1000e.rom
2018-07-23 20:28:18 +02:00
Anton Lindqvist
912c93d745
executor: fix typo in comment
2018-07-23 11:11:32 +02:00
Anton Lindqvist
54bb6b9222
prog: add missing Default() implementation for ConstType
2018-07-23 11:11:32 +02:00
Anton Lindqvist
e3c4ac00ee
executor: ensure RLIMIT_NOFILE is greater than kInPipeFd
2018-07-23 11:11:32 +02:00
Anton Lindqvist
3f17ab418a
executor: add missing cover_size_ptr field
2018-07-23 11:11:32 +02:00
Jiangen Jiao
f69c5fcd76
syz-manager: Support kernelSrc and vmlinux from different tree
...
If vmlinux built from different tree from kernelSrc, cover page will failed to
show. So match only the path without prefix.
2018-07-23 09:52:04 +02:00
Dmitry Vyukov
8cc079c3f6
syz-ci: fix poll of fixing commits
2018-07-20 20:48:34 +02:00
Dmitry Vyukov
af255b09a7
pkg/vcs: poll fixing commits on akaros and fuchsia
2018-07-20 20:26:59 +02:00
Dmitry Vyukov
49f3583951
pkg/report: add another akaros backtrace message
2018-07-18 17:34:19 +02:00
Dmitry Vyukov
809256c36c
dashboard/config: add fs.mount-max = 100 sysctl
...
See "mnt: Add a per mount namespace limit on the number of mounts"
commit for details.
2018-07-18 11:14:00 +02:00
Dmitry Vyukov
6d5bd5b5eb
syz-ci: fix arch passed to build.Clean
2018-07-17 17:55:52 +02:00
Hangbin Liu
570df9b277
sys/linux/socket_netlink_route: add specific policies for IFLA_LINKINFO
...
Add interface specified policies for IFLA_LINKINFO. I only added the
interfaces we create in initial setup. Remain other types of interfaces
in the TODO list.
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
2018-07-17 10:08:31 +02:00
Dmitry Vyukov
1376136672
sys/akaros: add a bunch of global files for akaros
2018-07-16 20:30:09 +02:00
Dmitry Vyukov
40cb0c9aa6
sys/akaros: fix signatures of file syscalls
...
Most of them differ and accept path length and/or pid.
2018-07-16 17:39:58 +02:00
Dmitry Vyukov
bad4246bf2
pkg/report: improve akaros reporter and implement symbolization
2018-07-16 17:03:14 +02:00
Dmitry Vyukov
df5ae5f537
sys/akaros: don't call provision(-1)
...
It causes kernel debug splat,
which has high chances of corrupting kernel crashes.
2018-07-16 17:02:02 +02:00
Dmitry Vyukov
474681b37b
executor: add timeout for akaros
2018-07-16 17:01:07 +02:00
Dmitry Vyukov
7cfcfa6a73
sys/akaros: disable init_arsc syscall
...
It unconditionally crashes kernel now.
2018-07-16 16:57:35 +02:00
Dmitry Vyukov
58293c9eb3
pkg/report: fix kmalloc bug in krealloc
2018-07-16 10:16:21 +02:00
Dmitry Vyukov
92a4950507
pkg/host: add "network devices" feature
...
Linux executor sets up some network devices for testing,
detect when that's supported on the machine and don't
do it if it's not supported.
2018-07-13 12:46:32 +02:00
Dmitry Vyukov
fcdb43e97d
sys/linux: regenerate files
2018-07-13 12:44:14 +02:00
Dmitry Vyukov
d1dc5f516d
pkg/compiler: fix error format string
2018-07-13 12:35:16 +02:00
Dmitry Vyukov
3d741171f2
pkg/report: add "lock held when returning to user space" format for older kernels
2018-07-13 10:31:26 +02:00
Dmitry Vyukov
06c33b3af0
prog: sanitize calls after hints mutation
...
Hints mutation could produce unsanitized calls.
Sanitize calls after hints mutation.
Also sanitize on load (in validate), because bad programs
can already be in corpuses. And it's just the right thing
to do because sanitization rules can change over time.
2018-07-12 12:40:30 +02:00
Dmitry Vyukov
3986ce95fd
pkg/report: add report format for "lock held when returning to user space"
...
This report does not have stack trace, so we always detected it as corrupted.
2018-07-12 12:38:52 +02:00
Dmitry Vyukov
3855819991
dashboard/config: enable CONFIG_DEBUG_AID_FOR_SYZBOT
2018-07-12 12:38:36 +02:00
Dmitry Vyukov
f642b4185a
sys/linux: improve fuse descriptions
2018-07-12 12:36:38 +02:00
Dmitry Vyukov
95e7a88b97
sys/linux: implement fuse as normal syscalls
...
Remove syz_fuse* and implement them as normal syscalls.
We not have enough expressive power to form mount options.
2018-07-10 16:18:45 +02:00