3717 Commits

Author SHA1 Message Date
Andrew Donnellan
bfc19a4b19 tools/create-gce-image.sh: Generate ppc64le pseries disk images
Add support for generating ppc64le pseries disk images. This will create a
disk image with a PowerPC PReP boot partition at the start, and install
the IEEE1275/OpenFirmware version of GRUB.

If we ever support the powernv platform in the future we're going to have
to do something different here.

Add a command line argument to specify architecture, defaulting to amd64.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
2019-05-03 10:00:16 +02:00
Andrey Konovalov
8e54d550ca repro: speedup bisection for flaky crashes
Limit the amount of bisection chunks to 8. Going over this value probably
means that we are bisection a flaky crash, and continuing bisection would
just take a lot of time and likely produce no result.
2019-05-03 08:30:36 +02:00
Andrey Konovalov
1bfa09b967 pkg/report: skip printk and other printing functions 2019-05-03 08:10:28 +02:00
Anton Lindqvist
e9039493d7 executor: unbreak on OpenBSD at runtime
Not using `elif GOOS_freebsd' since it could cause breakage on other *BSDs
due to unused variables.

Regression introduced in commit c7c3f772 (executor: improve setup for packet
handling on *BSD).
2019-05-02 19:21:37 +02:00
Anton Lindqvist
1852eb1814 sys/openbsd: add vmm descriptions (#1152)
Most probably limited to input validation for now. In the future, it
could be extended to provide a bootable kernel during vm create (/bsd)
and turn vmid into a proper resource.

The OpenBSD VMs on GCE does support vmm(4).
2019-05-01 19:30:36 -07:00
Michael Tüxen
c7c3f772ca
executor: improve setup for packet handling on *BSD (#1153)
Improve the handling of packets by:
* setting the local MAC address.
* configuring the local IPv4 address with prefix /24.
* adding an entry in the arp cache for the remote IPv4 address.
* adding an entry in the IPv6 neighbour cache for the remote
  IPv6 address.
2019-05-01 22:45:36 +02:00
Michael Tuexen
7516d9fa93 sys/freebsd: add support for various network protocols
Add support for Ethernet, IPv4, ICMP, IPv6, ICMP6, TCP, and UDP.
This work is based on the corresponding Linux support.
2019-05-01 19:27:45 +02:00
Michael Tuexen
618456b4f4 sys/freebsd: include ioccom.h in pf.txt
This is needed for the IORW() macros.
2019-04-30 17:55:00 +02:00
Michael Tuexen
a46bda82a4 sys/syz-extract define GENOFFSET when processing FreeBSD sources
This avoids the inclusion of offset.inc files.
2019-04-30 17:55:00 +02:00
Michael Tuexen
b78c475a45 docs/freebsd: fix typo
Thanks to Greg for making me aware of it.
2019-04-30 09:13:44 +02:00
Michael Tuexen
20f16beff7 docs/freebsd: update found_bugs.md 2019-04-30 07:32:54 +02:00
Anton Lindqvist
b617407b25 docs/openbsd: update found_bugs.md 2019-04-25 20:58:11 +02:00
Andrey Konovalov
f46aabc8c6 executor: fix another compiler warning 2019-04-25 16:06:29 +02:00
Andrey Konovalov
8e3c52b11d executor: fix compiler warning 2019-04-24 11:00:51 +02:00
Dmitry Vyukov
0766ce61fd pkg/report: fix stalls in RIP frame
Even though we extract an anchor frame which usually higher up the stack,
the anchor frame can be on RIP: line too. Account for that.
2019-04-24 00:02:57 +03:00
Andrey Konovalov
e99d004deb executor: use NONFAILING in common_usb.h
Also move some code to helper functions.
2019-04-23 23:42:31 +03:00
Andrey Konovalov
4d3d6a5007 executor: adjust waiting time for all usb syzcalls
Allow 2000 ms of waiting time for syz_usb_connect and and the same time for
the whole program is this syzkall is present. Allow 200 ms of waiting time
for syz_usb_disconnect. Remove sleep from syz_usb_control_io.
2019-04-23 23:37:02 +03:00
Dmitry Vyukov
deda7c38f9 pkg/report: skip osq_lock on linux
Another new helper for locking.
2019-04-23 19:18:39 +03:00
Andrey Konovalov
18c131578d pkg/email: support quilt patch format
Quilt uses a slightly different patch format to traditional git
diff/format-patch. Support it.
2019-04-23 19:04:22 +03:00
Dmitry Vyukov
335cf4f4fd prog: fix crash in createResource
We may be in createResource but have no resources at all because of ANYRES
that are not in target.Resources.
This is actually the case for some test targets. We have resources there,
but syscalls that create them are disabled.
In such case we crash in Intn(0).
Check that we have some resources before calling Intn.
2019-04-23 18:59:49 +03:00
Dmitry Vyukov
51fc038380 .golangci.yml: update
Enable more linters.
Tune settings for existings.
Fix excludes.

Update #977
2019-04-23 17:58:54 +03:00
Dmitry Vyukov
8095117313 all: fix some static analysis warnings
Fix warnings produced by golangci-lint.

Update #977
2019-04-23 17:58:54 +03:00
Kristof Provost
2398edeacc sys/freebsd: Add pf ioctl()s
Tweak the building of the FreeBSD vm image to ensure pf is loaded at
startup, so that we can test it.
2019-04-23 15:55:07 +02:00
Marco Vanotti
53199d6e8a Update syscalls (#1116)
* sys/fuchsia: update all syscalls.

This commit modifies all the existing syscalls definitions to match more
closely the documentation in the Fuchsia repo.

* run make extract && make generate
2019-04-22 11:08:29 -07:00
Marco Vanotti
4d3be36006 pkg/build: update zircon build directory. (#1132)
Recently, fuchsia changed the build directory for zircon, now instead of
build-zircon, we have arch.zircon, where arch is x64 or arm64.
2019-04-22 10:51:48 -07:00
Andrey Konovalov
2e55509e43 config: enable CONFIG_PRINTK_CALLER for usb 2019-04-22 12:20:42 +03:00
Andrey Konovalov
05dbaf1bf4 report: skip strscpy and read_word_at_a_time frames 2019-04-22 12:02:56 +03:00
Dmitry Vyukov
7d6251d162
Update research.md 2019-04-22 11:26:08 +03:00
Anton Lindqvist
0a77c33cff docs/openbsd: update found_bugs.md 2019-04-22 11:05:14 +03:00
Marco Vanotti
b0e8efcb4b
docs: update zircon's path in fuchsia
Recently, fuchsia changed the build directory for Zircon and a couple of files. Now instead of build-zircon, we have x64.zircon.
2019-04-16 17:52:32 -07:00
Greg Steuck
505ab413c7 Revert "dashboard/config: enable POOL_DEBUG on OpenBSD (#1113)"
This reverts commit 2fbd3aa9043e84cdce8328e5084a1fecc6ec5be3.
2019-04-14 10:44:34 +02:00
Dmitry Vyukov
c402d8f1aa sys/linux: add pidfd_send_signal 2019-04-12 18:26:28 +02:00
Dmitry Vyukov
c41e6ff180 sys/linux: more tty descriptions 2019-04-12 18:11:09 +02:00
Dmitry Vyukov
4f421599f9 sys/linux: add simple io_uring descriptions
We don't actually communicate with the uring yet,
but this already finds a bunch of bugs.
2019-04-12 16:19:23 +02:00
Dmitry Vyukov
132d7060e6 Makefile: install gnueabi arm compiler
The arm compiler was changed in e5d1b3ac44472b1e7741da6bbcc0e655b931025e
from gnueabihf to gnueabi. Install the corresponding packages.
@Codysseus
2019-04-12 15:15:18 +02:00
Dmitry Vyukov
57a8554e1a dashboard/app: fix cookie caching and redirects
Set expiration date for the cookie,
otherwise it should be dropped on browser restart.

Use http.StatusFound(302) instead of http.StatusMovedPermanently(301)
for redirects. Browsers can cache 301 redirects, which we don't want.
2019-04-12 14:42:17 +02:00
Andrey Konovalov
8916f5e151 docs: mention USB bugs in syzbot doc 2019-04-11 18:55:57 +02:00
Andrey Konovalov
c6165716a5 pkg/report: ignore 'down' frame in the call stack 2019-04-11 18:54:45 +02:00
Dmitry Vyukov
13030ef80c dashboard/config: update usb config 2019-04-11 16:29:46 +02:00
Andrey Konovalov
44841b9f9c all: run make generate 2019-04-11 16:24:45 +02:00
Andrey Konovalov
e7edb38b1d docs: add USB fuzzing docs 2019-04-11 16:24:45 +02:00
Andrey Konovalov
f4a3dc9128 all: add basic USB fuzzing support
This commits implements 4 syzcalls: syz_usb_connect, syz_usb_io_control,
syz_usb_ep_write and syz_usb_disconnect. Those syzcalls are used to emit USB
packets through a custom GadgetFS-like interface (currently exposed at
/sys/kernel/debug/usb-fuzzer), which requires special kernel patches.

USB fuzzing support is quite basic, as it mostly covers only the USB device
enumeration process. Even though the syz_usb_ep_write syzcall does allow to
communicate with USB endpoints after the device has been enumerated, no
coverage is collected from that code yet.
2019-04-11 16:24:45 +02:00
Andrey Konovalov
10e721ba92 sys: add USB descriptions
This commit adds syzkaller descriptions for USB fuzzing. The descriptions in
vusb.txt are written manually and cover different kinds of USB descriptors.
The descriptions in init_vusb_ids.go are generated automanitally by the
syz-usbgen tool and contain the vendor, device and some other IDs that
map to different USB drivers.
2019-04-11 16:24:45 +02:00
Dmitry Vyukov
e955ac5009 syz-ci: stricter verification of instance names 2019-04-10 15:53:23 +02:00
Dmitry Vyukov
31e097a19f dashboard/app: stricter check on namespace names
Check that namespaces don't contain bad chars.
2019-04-10 15:07:22 +02:00
Dmitry Vyukov
e39dbde1da dashboard/app: fix login redirects
Login redirects broke because we failed to generate common header.
This wasn't noticed because we use client redirects
and there is no easy way to test them.
Fix redirects and use server redirect and test this behavior.
2019-04-10 15:06:59 +02:00
Andrey Konovalov
65b612b7c3 dashboard: disable CONFIG_DEBUG_WX in USB config
Otherwise we get "Found insecure W+X mapping" due to rodata=n in cmdline.
2019-04-09 19:15:49 +02:00
Dmitry Vyukov
a2fe7eca30 pkg/report: fix test 2019-04-09 18:47:30 +02:00
Dmitry Vyukov
95f24af5d3 pkg/report: add another interesting linux test case 2019-04-09 18:38:04 +02:00
Dmitry Vyukov
b8dec324f2 pkg/report: refine stalls in compat ioctl's 2019-04-09 18:38:04 +02:00