Commit Graph

3321 Commits

Author SHA1 Message Date
Dmitry Vyukov
309bb18442 dashboard/config: moar networking configs
Add more x25 drivers, wlan, slip, caif and other stuff that I don't understand,
but syzkaller can potentially reach.
2018-12-24 18:56:06 +01:00
Dmitry Vyukov
dd61e58d94 sys/linux: extend AX25/ROSE/NETROM descriptions 2018-12-24 18:56:06 +01:00
Shankara Pailoor
dd2986b43b tools/syz-trace2syz/parser: parse strace bitsets
Strace decodes bitsets like fd_set or sa_mask into the following structure: [a b c d e].
Before we couldn't parse these structures, but now parse them into the Group IR Type
2018-12-24 10:05:32 +01:00
Dmitry Vyukov
88f5934633 vm: allow fine-grained control over program exit conditions
Currently we only support canExit flag.
However there are actually 3 separate conditions:
 - program can exit normally
 - program can timeout (e.g. fuzzer test or runtest can't)
 - program can exit with error (e.g. C test can)
Allow to specify these 3 conditions separately.
2018-12-24 09:59:56 +01:00
Dmitry Vyukov
b025ab82d2 dashboard/config: enable more net configs
Enable some more net configs that we can potentially reach.
Update to latest kernel.
2018-12-24 09:59:56 +01:00
Anton Lindqvist
be79df56ff pkg/report: lower uvm_fault oops precedence to favor more specific titles 2018-12-24 06:48:44 +01:00
Anton Lindqvist
fa2887794d pkg/report: normalize OpenBSD assertion messages 2018-12-24 06:48:44 +01:00
Anton Lindqvist
e3bd7ab805 docs/openbsd: update found_bugs.md 2018-12-22 09:39:47 +01:00
Dmitry Vyukov
9a4bb6b0b5 sys/linux: add CRYPTO_MSG_GETSTAT 2018-12-22 09:39:03 +01:00
Dmitry Vyukov
3e3b15df7e sys/linux: add RTM_NEWNSID/RTM_GETNSID 2018-12-22 09:39:02 +01:00
Michael Pratt
603b512405 vm/gvisor: use runsc debug --stacks to diagnose
This feature has been around longer than -trace-signal. It returns the
stacks directly, which we then append to the kernel log.
2018-12-21 18:08:49 +01:00
Michael Pratt
2fc01104d0 vm: allow Diagnose to directly return diagnosis
Rather than writing the diagnosis to the kernel console, Diagnose can
now directly return the extra debugging info, which will be appended ot
the kernel console log.
2018-12-21 18:08:49 +01:00
Dmitry Vyukov
588075e659 pkg/report: split overly complex function
gometalinter points to testParseImpl cyclomatic complexity.
2018-12-21 10:16:58 +01:00
Dmitry Vyukov
2b4970017d pkg/report: fix Start/EndPos calculation for fuchsia
We computed Start/EndPos after trimming line prefix,
this resulted in offsetted values which are not correct.
Fix that. Add more tests and checks for Start/EndPos.
2018-12-20 13:22:46 +01:00
Dmitry Vyukov
dbe573e3b8 pkg/osutil: always remove old file in Rename 2018-12-20 13:22:46 +01:00
Dmitry Vyukov
aaf59e8445
Update found_bugs.md 2018-12-20 13:08:17 +01:00
Greg Steuck
02e6905247 tools/create-openbsd-gce-ci.sh: raise memory limit for openbsd 2018-12-19 20:17:05 +01:00
Greg Steuck
a8b6d1af46 pkg/build/openbsd: always make clean to manage config in tree
clean build barely takes 3 minutes end-to-end on our CI machine.

Undo debug options which caused prevented kernels from booting on GCE.
2018-12-19 17:15:31 +01:00
Anton Lindqvist
fe2dc057b5 docs/openbsd: update found_bugs.md 2018-12-19 11:35:58 +01:00
Victor Hsieh
c2c27bd174 docs: fix step to create local branch from new origin
The current step creates a local branch from the default origin, which is
probably not my-origin in the instruction.
2018-12-19 11:29:51 +01:00
Dmitry Vyukov
4edaba9329 pkg/vcs: disable sandboxing in tests
syz-ci disabling does not work across syz-ci updates.
2018-12-18 12:48:59 +01:00
Dmitry Vyukov
1e30dd27ee syz-ci: run syzkaller tests without sandbox
pkg/vcs git tests fail with sandboxing as part of git
invocations is sandboxed and part is not.
2018-12-18 10:48:38 +01:00
Anton Lindqvist
446ca483e2 docs/openbsd: update found_bugs.md 2018-12-18 10:35:49 +01:00
Greg Steuck
67c1ac5222 dashboard/config: store kernel configs in tree
* sus/openbsd: store kernel configs in tree

They now include https://man.openbsd.org/witness per suggestion from
@mptre

* LOCKF_DIAGNOSTIC while we are at it.

* Moved to a better place.
2018-12-18 10:35:29 +01:00
Victor Hsieh
f4815544c1 sys/linux: add fs-verity ioctls
This adds 2 ioctls and an argument type:
 - FS_IOC_ENABLE_VERITY
 - FS_IOC_MEASURE_VERITY
 - struct fsverity_digest

Note fs-verity on-disk structs are not yet added.
2018-12-18 10:34:52 +01:00
Dmitry Vyukov
bd8b4220d5 syz-ci: upload syzkaller build errors to dashboard
Fixes #793
2018-12-18 10:33:05 +01:00
Dmitry Vyukov
71b3a323eb dashboard/app: CC kernel tree specific mailing list on reports
Add ability to CC particular emails for crashes on particular kernel trees.

Fixes #828
2018-12-18 09:59:07 +01:00
Dmitry Vyukov
057f344bb7 syz-ci: add kernel crash title to boot errors
Fixes #829
2018-12-18 09:50:08 +01:00
Dmitry Vyukov
a9cc88c19f pkg/osutil: provide better Rename
os.Rename fails for cross-device renaming (e.g. to/from tmpfs).
This is quite unpleasant. Provide own version that falls back to copying.
2018-12-17 19:09:10 +01:00
Dmitry Vyukov
b38da77e00 pkg/bisect: check existence of input files
It's better to fail early then to wait for kernel build.

Update #501
2018-12-17 19:09:03 +01:00
Dmitry Vyukov
61adbb167e pkg/vcs: don't use --no-tags when fetching git
pkg/bisect uses Poll and then relies on tags for compiler detection.
Don't use --no-tags when fetching.

Update #501
2018-12-17 19:08:52 +01:00
Dmitry Vyukov
527230f1d9 vm: fix string duplication
gometalinter says:

vm/vm.go:295:1⚠️ fuzzerPreemptedStr is unused (deadcode)
2018-12-17 10:46:08 +01:00
Dmitry Vyukov
1749e412ca pkg/instance: make kernel reboot detection portable
The current code is linux specific, generalize it to other OSes.
2018-12-16 16:48:05 +01:00
Dmitry Vyukov
ce6744512e pkg/vcs: fix fetching of commits on non master branch
Fixes #728
2018-12-16 16:18:06 +01:00
Dmitry Vyukov
c7e64e2b4f vm: don't call Diagnose when VM hasn't crashed
Fixes #875
2018-12-16 13:54:07 +01:00
Dmitry Vyukov
4bc415c230 vm: add tests for MonitorExecution
This gives almost 100% coverage for MonitorExecution.
Test all corner cases like lost connection, no output,
diagnose, exiting/non-exiting programs, etc.

Update #875
2018-12-16 13:54:03 +01:00
Dmitry Vyukov
def91db3fe prog, pkg/csource: more readable serialization for strings
Always serialize strings in readable format (non-hex).
Serialize binary data in readable format in more cases.

Fixes #792
2018-12-15 15:17:13 +01:00
Dmitry Vyukov
7a944a0a66 pkg/report: fix RIP line symbolization
Don't subtract 1 for RIP lines.

Fixes #361
2018-12-15 13:36:01 +01:00
Michael Pratt
c912893981 docs: add instructions for running syz-execprog in gVisor
This configuration mounts the syzkaller bin/linux_amd64 folder as the
sandbox root, bind mounts a single input log, then runs syz-execprog on
the input.
2018-12-15 08:11:02 +01:00
Dmitry Vyukov
7624ddd6d8 executor: move setrlimit from setup_control_pipes to bsd os_init
This broke fuchsia build. We need setrlimit only for bsd.
2018-12-14 12:13:14 +01:00
Greg Steuck
fe7127be71 docs/openbsd/setup.md: micro-simplification
@mptre WDYT
2018-12-13 20:25:36 +01:00
Dmitry Vyukov
dd2fb82fa0 pkg/report: another gvisor OOM suppression 2018-12-13 16:45:56 +01:00
Dmitry Vyukov
61b76f0097 pkg/report: another gvisor OOM suppression 2018-12-13 16:40:18 +01:00
Dmitry Vyukov
e7cae6a7f2 pkg/report: another gvisor OOM suppression 2018-12-13 16:36:15 +01:00
Dmitry Vyukov
ecf8ceeef2 pkg/report: pkg/report: relaxed gvisor OOM suppressions more
There are more variations of this panic format.
2018-12-13 12:33:17 +01:00
Dmitry Vyukov
a553162c82 pkg/report: replace more moving parts in gvisor crash titles
"container" seems to have been renamed to "sandbox".
Also exact pid numbers are harmful.
2018-12-13 12:29:52 +01:00
Dmitry Vyukov
3f9ec66365 pkg/report: relaxed gvisor OOM suppressions
Existing ones don't match actual gvisor output after address mangling.
Not matching exact context in parens should be good enough re false positives.
2018-12-13 12:22:49 +01:00
Greg Steuck
f3d9d5948c pkg/csource: support tun and setuid repros on {free,open}bsd
* expose procid on BSD for tun, always declare loop()
* deal with terrible bsd includes
* replicate loop() declaration
2018-12-13 09:44:24 +01:00
Michael Pratt
ec0147d47f Merge pull request #874 from prattmic/bazel_version
pkg/build: fix bazel version parsing
2018-12-13 09:38:59 +01:00
Michael Pratt
d5cf08b04e vm/gvisor: don't close conn on error
If net.Dial returns an error, conn is nil and closing it will panic.
2018-12-13 09:38:49 +01:00