Commit Graph

1865 Commits

Author SHA1 Message Date
Dmitry Vyukov
4bd70f886b sys/linux: remove crypto algs starting with __
These can't be created from user-space.
2017-11-24 17:50:31 +01:00
Dmitry Vyukov
3bbb8c0b30 sys/linux: prefix non-autogenerated files with init_ 2017-11-24 14:57:38 +01:00
Dmitry Vyukov
ddf7b3e065 sys/linux: improve AF_ALG alg name generation
There is effectively infinite number of possible crypto
algorithm names due to templates. Plus there is tricky
relation between algorithms and algorithm type names.

This change adds custom mutator for sockaddr_alg struct
to improve variance in generated algorithms.
2017-11-24 13:56:20 +01:00
Dmitry Vyukov
d19770f1b9 syz-manager: fix up osutil.RunCmd call
Fixes #435
2017-11-24 13:41:28 +01:00
Dmitry Vyukov
eea051f798 vm/qemu: fix up osutil.RunCmd call 2017-11-24 13:41:08 +01:00
Andrey Konovalov
cb27b030b5
Update found_bugs_usb.md 2017-11-23 17:15:51 +01:00
Andrey Konovalov
5378ce720e
Update found_bugs_usb.md 2017-11-23 17:07:17 +01:00
Andrey Konovalov
6834199b8c pkg/report: various corrupted report detection improvements 2017-11-23 16:17:40 +01:00
Dmitry Vyukov
7061d1973b sys/syz-extract: fix mmap on arm
__NR_mmap is missing on arm entirely,
so we disable mmap during generate.
Patch mmap to mmap2 right in syz-extract,
so that mmap is never missing.
2017-11-23 08:51:04 +01:00
Dmitry Vyukov
31af2ce022 vm/gce: fix boot output capture
Turns out GetSerialPortOutput API does not work if instance has
serial port connections enabled (which we always have).
Get output from serial port relay service instead.
2017-11-22 17:56:48 +01:00
Dmitry Vyukov
a7bbe24b6f dashboard/app: strip quotes from commit titles
There is probably no way to stop people doing this.
Though, we never mention that this is allowed syntax...
2017-11-22 17:56:37 +01:00
Dmitry Vyukov
fc5dca0a4a dashboard/app: reduce database contention
We frequently get "too much contention" errors when saving crashes.
Reduce contention by:
 - finding/creating bug before the transaction
 - saving crash outside of transaction
 - not saving crashes when we have too many of them already
2017-11-22 17:55:07 +01:00
Andrey Konovalov
7bd6e42d35 pkg/report: fix corrupted reports detection
Add another regexp to oopses that should match the whole report.
Report is considered corrupted when it doesn't.
2017-11-22 16:12:55 +01:00
Andrey Konovalov
c8b87c9cf7 pkg/report: fix corrupted KASAN reports detection
KASAN report might not have Allocated or Freed stack traces at all.
2017-11-22 13:41:47 +01:00
Andrey Konovalov
53a23f2a37 pkg/report: corrupted report detection fixes 2017-11-22 13:17:21 +01:00
Dmitry Vyukov
8c7cd9275d dashboard/app: support corrupted reports 2017-11-22 12:49:11 +01:00
Dmitry Vyukov
ee01a72bf4 syz-manager: don't reproduce corrupted reports
Corrupted reports are usually associated with frequently happenning races.
Since they are frequently happenning, we should get a repro for them
without corrupted reports. Reproducing is expensive, so doing it
when we will the repro anyway is harmful.
2017-11-22 12:47:00 +01:00
Dmitry Vyukov
9a6b4d18ba dashboard/app: show bugs by reporting ID
External reporting does not know real bug ID,
but it knows reporting ID. Allow it to genereate links to bugs.
2017-11-22 12:04:03 +01:00
Dmitry Vyukov
657a01b951 pkg/email: ignore missing To: header
We've got such email.
2017-11-22 12:03:31 +01:00
Dmitry Vyukov
7e076b78b4 prog: export MakeData/UnionArg as we do for other arg types
Target code can use these to generate special structs.
2017-11-22 11:46:26 +01:00
Andrey Konovalov
e06afd3259 pkg/repro: don't bisect single entry 2017-11-22 11:45:38 +01:00
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