Commit Graph

1694 Commits

Author SHA1 Message Date
Dmitry Vyukov
b3a8d05cdd executor: fixup previous commit 2017-11-22 10:38:32 +01:00
Dmitry Vyukov
ae8da4a43e executor: move arm syscall fixup to syz-extract 2017-11-22 10:34:47 +01:00
Atul Prakash
1ad2f8f9d2 Makefile: compilation for arm should now work. Added arm target to presubmit tests 2017-11-22 10:18:01 +01:00
Atul Prakash
9113005830 docs/linux: added and updated docs for ARM32 architecture
docs/linux: Also fixed link and spacing in arm32 docs
2017-11-22 10:17:35 +01:00
Atul Prakash
93f228d8d8 executor: Modified executor_linux.cc to support ARM32 architecture
executor: changed kOutputDataAddr so that it works on 32-bit kernels
executor: simplified ifdefs for arm in executor_linux.cc
executor: removed empty lines that were accidentally added.
2017-11-22 10:16:55 +01:00
Dmitry Vyukov
6440d6940f syz-manager: send corrupted flag to dashboard 2017-11-21 19:11:54 +01:00
Dmitry Vyukov
ad0af9fff5 vm: return Report from MonitorExecution
This allows callers to get access to Report.Corrupted.
Better than adding 6-th return value and will allow
to pipe other report properties if necessary.
2017-11-21 19:02:35 +01:00
Andrey Konovalov
d4d14b030e
Update found_bugs_usb.md 2017-11-21 15:05:03 +01:00
Andrey Konovalov
7401db5302
Update found_bugs_usb.md 2017-11-21 14:55:21 +01:00
Andrey Konovalov
eff27f330a makefile: move diff check to makefile from travis script 2017-11-20 18:22:40 +01:00
Dmitry Vyukov
f07ea3fc22 sys/linux: remove get_kernel_syms, add quotactl syscall
get_kernel_syms does not seem to be present upstream.
Describe an old quotactl syscall.
Also fix umount/umount2 names in kallsyms.
2017-11-20 17:23:24 +01:00
Dmitry Vyukov
e4f20040fb sys/syz-extract: fix compiler invocation 2017-11-20 15:41:35 +01:00
Dmitry Vyukov
84dd36bae9 dashboard/app: fix error trimming 2017-11-20 11:59:16 +01:00
Dmitry Vyukov
2d24bbb225 vm/gce: fix nil deref
New console output code crashes with nil deref,
because we shadow outer err variable and then
dereference nil err.

Also express ssh connect timeout in real time.
Currently the timeout is on par of ~25 mins
(5s sleep + 10s connect timeout) * 100.
Reduce timeout to 5m of real time.
2017-11-20 11:57:42 +01:00
Dmitry Vyukov
9badd05327 vm/gce: provide VM console output on boot failures
"can't ssh into the instance" is not a very useful error.
2017-11-19 12:29:00 +01:00
Dmitry Vyukov
2994ea0981 dashboard/app: gracefully handle large error text in emails
Build error output and failing VM boot log can be way too long to inline.
Inline a part of it and attach full text instead.
2017-11-19 12:12:10 +01:00
Dmitry Vyukov
2da09f3c79 syz-ci: fix false "no output" during patch testing 2017-11-19 11:58:55 +01:00
Dmitry Vyukov
e93131fcce dashboard/app: remember job links
Remember link for jobs.
Check that mailing list is in CC when we accept commands.
2017-11-19 11:58:17 +01:00
Dmitry Vyukov
bf82068946 dashboard/app: assorted improvements/fixes for patch testing
Fix a bunch of bugs after testing.
Also update docs for patch testing.
2017-11-17 21:04:40 +01:00
Dmitry Vyukov
a1469efbdd pkg/email: unsplit arguments for test command 2017-11-17 20:43:47 +01:00
Dmitry Vyukov
00f6ff581c pkg/email: truncate garbage after patches 2017-11-17 18:54:19 +01:00
Dmitry Vyukov
2950adb95c syz-ci: use repro opts during job testing 2017-11-17 18:32:09 +01:00
Dmitry Vyukov
a28ef3fdb6 dashboard/app: reduce email polling interval
Email latency is important for job results,
reduce it from 10 to 1 minute.
2017-11-17 18:00:15 +01:00
Dmitry Vyukov
bcf027edf8 syz-ci: pre-fill kernel/syzkaller commits in job build
Dashboard requires kernel/syzkaller commits to be filled,
but we don't know them yet. Put stub values there.
2017-11-17 17:58:09 +01:00
Dmitry Vyukov
fba338cd51 pkg/csource: add function to parse serialized options
Also move options and options tests into a separate file,
add serialization function.
2017-11-17 17:57:51 +01:00
Dmitry Vyukov
3fb087023a pkg/osutil: properly set gid for sandboxing 2017-11-17 14:28:45 +01:00
Dmitry Vyukov
e3d7179396 pkg/git: fix branch during fetch 2017-11-17 14:17:47 +01:00
Dmitry Vyukov
2f7fc0ff65 pkg/kernel: sandbox make invocation 2017-11-17 14:56:34 +03:00
Dmitry Vyukov
348d8f13f0 dashboard/app: fix build 2017-11-16 12:51:52 +01:00
Dmitry Vyukov
c4d43f4773 pkg/osutil: don't leace runaway processes
When manager is stopped there are sometimes runaway qemu
processes still running. Set PDEATHSIG for all subprocesses.
We never need child processes outliving parents.
2017-11-16 12:48:02 +01:00
Dmitry Vyukov
4bc654f911 syz-ci: add support for patch testing 2017-11-16 13:09:50 +03:00
Dmitry Vyukov
e928bb6b8a dashboard/app: test fix patches by request
Add initial support for testing fix patches.
A user on mailing list can request patch testing with:

and attach a patch.
2017-11-16 13:09:50 +03:00
Dmitry Vyukov
708390a039 syz-ci: pre-parse and pre-populate manager config
Config is currently parsed in 2 places.
Parse it in constructor once.
2017-11-16 10:15:23 +01:00
Dmitry Vyukov
9a98ae3fb6 pkg/git: provide more helper functions
Add Patch, Checkout, CheckRepoAddress and CheckBranch.
Will be needed for patch testing.
2017-11-16 10:12:17 +01:00
Dmitry Vyukov
95cf3e7247 pkg/email: fix base64-encoded body parsing
We currently handle base64 only for attachments,
but text/plain body can also be base64-encoded.
2017-11-16 10:10:12 +01:00
Dmitry Vyukov
447a290a8c pkg/config: provide SaveData function
Parallel to LoadFile/LoadData.
2017-11-16 10:10:12 +01:00
Dmitry Vyukov
4f3b40072c dashboard/app: poll email at test end
We currently check that there are no pending emails left on test end.
But since we don't poll, there still can be non-delivered emails.
Poll email at test end.
2017-11-16 10:10:12 +01:00
Dmitry Vyukov
72989ce05a dashboard/app: make emailReport more general
Don't assume that emailReport sends reports about bugs only.
2017-11-16 10:10:09 +01:00
Dmitry Vyukov
3ed60d0989 dashboard/app: make findCrashForBug return crash key 2017-11-16 09:58:02 +01:00
Dmitry Vyukov
89572feb6f dashboard/app: provide bugReportingByName helper 2017-11-16 09:53:41 +01:00
Dmitry Vyukov
45b4f336f2 dashboard/app: improve formatTime
We never want to print 1970 date.
2017-11-16 09:48:55 +01:00
Dmitry Vyukov
ed39afd6e8 dashboard/app: factor out uploadBuild from apiUploadBuild
Make it possible to upload builds from functions other than apiUploadBuild.
2017-11-16 09:47:38 +01:00
Dmitry Vyukov
4121c7b5d1 syz-ci: add global dashboard client
Will allow to do connections to dashboard by syz-ci itself.
Unused for now, but will allow graceful config update.
2017-11-15 18:13:51 +01:00
Dmitry Vyukov
cf38de0018 pkg/report: avoid compiling a bunch of regexps on every crash 2017-11-14 10:16:27 +01:00
Dmitry Vyukov
bbbea5a373 pkg/report: pass report as []byte to isCorrupted
We always pass report/log as []byte.
Pass it here the same way for consistency and to avoid
unnecessary large memory allocation/copy.
2017-11-14 10:13:38 +01:00
Dmitry Vyukov
4bd78cef05 pkg/report, pkg/repro, syz-manager: name crash attributes consistently
We currently have several names for crash attributes, which is disturbing.
E.g. crash title is called "Title" or "Desc". Name them consistently.

Title - single line bug identity.
Report - whole crash text.
Log - whole fuzzer/kernel output.
2017-11-14 10:04:22 +01:00
Dmitry Vyukov
82b3b903a0 pkg/report: make isCorrupted linux-specific
isCorrupted is linux-specific, but is a global function.
Name can collide with other OSes. Make is linux method.
2017-11-14 09:47:44 +01:00
Dmitry Vyukov
10112655d7 vm: remove needOutput arg for MonitorExecution
Always wait 10 secs for output.
If anything this can only lead to missed crashes during repro.
Let's unify manager and repro behavior.
2017-11-14 09:45:34 +01:00
Dmitry Vyukov
7a53e7e35d pkg/report: combine report data into a struct
Parse returns 5 variables now. Later we may want to add crash "priority".
Introduce Report struct that holds all report data.
2017-11-14 09:41:55 +01:00
Andrey Konovalov
f9a8d567eb pkg/report: add corrupted report detection
This change makes pkg/report try to detect corrupted reports by
using some heuristics.
2017-11-13 17:18:16 +03:00