Commit Graph

3731 Commits

Author SHA1 Message Date
Dmitry Vyukov
04165d8f66 Makefile: enable arm executor build in presubmit
arm build seems to work now on Travis since we switched to xenial.
2019-05-07 18:01:24 +02:00
Dmitry Vyukov
84fd26e585 executor: fix 32-bit build
Syscall args can't be printed with %lx now.
Cast them to uint64 for now since we have only 2 such places.
2019-05-07 18:01:24 +02:00
Dmitry Vyukov
3e1f67583e dashboard/config: update upstream KASAN config
Update config to latest linux-next kernel.
2019-05-07 18:01:24 +02:00
Dmitry Vyukov
6a9fb250a6 pkg/report: fix WARNING parsing for powerpc
2 recent commits conflict and cause test 380 to fail:

pkg/report: improve warning titles
pkg/report: Handle powerpc stack traces correctly

Currently 380 is detected as "WARNING in program_check_exception"
rather than the expected "WARNING in assert_slb_presence".
The reason is that we started parsing WARNING stack trace and applying
proper skip patterns to frames.

Adjust WARNING matching and skip common powerpc WARNING frames.
2019-05-07 09:50:41 +02:00
Dmitry Vyukov
85e64702d6 syz-fuzzer: fix "all system calls are disabled" handling
Currently we don't fill enabled/disabled calls when we return
"all system calls are disabled" error. As the result manager
does not print any explanation for the error.
Fill in enabled/disabled calls when all calls are disabled.
2019-05-07 09:09:57 +02:00
Siddharth M
27544d0fc8 pkg/report: fix other NetBSD corrupted reports
* Fix Superviser mode and lock error

* Fix smaller issues
2019-05-07 09:03:05 +02:00
Andrey Konovalov
024f6c4b7f pkg/report: improve warning titles
This change makes the reporting code account for the skip patterns when
selecting the frame that is used in a title of a generic warning report.
2019-05-07 08:53:52 +02:00
munjinoo
001e36bc78 executor: change syscall argument type to intptr_t
The type size of long depends on compiler.
Therefore, changing to intptr_t makes it depends on architecture.
2019-05-07 08:48:35 +02:00
Andrew Donnellan
04e9d8cedd pkg/report: Handle powerpc stack traces correctly
powerpc stack traces are printed a bit differently from x86 stack traces.
Adjust the regexes accordingly to cope with this format.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
2019-05-07 08:41:33 +02:00
Andrey Konovalov
148296f478 pkg/report: improve titles of 'sleeping function called from invalid context' 2019-05-06 18:39:08 +02:00
Andrey Konovalov
d28f4ce564
Update setup_ubuntu-host_qemu-vm_x86-64-kernel.md 2019-05-03 18:34:43 +02:00
Dmitry Vyukov
c73da24c18 pkg/report: add __ia32_sys_ syscall prefix 2019-05-03 12:40:49 +02:00
Andrew Donnellan
90c8f82ae8 pkg/build: Add ppc64le Linux as a supported configuration
Enable the Linux builder for ppc64le.

For ppc64le, we use zImage rather than bzImage as our kernel target. Pass
through the target architecture to buildKernel() so we can pick the right
target based on arch.

Closes: #1084 ("pkg/build: Support building Linux on ppc64le")
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
2019-05-03 10:00:16 +02:00
Andrew Donnellan
0642ca0c5c pkg/build: Call Linux image creation script with target arch argument
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
2019-05-03 10:00:16 +02:00
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 2fbd3aa904.
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 e5d1b3ac44
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