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