1810 Commits

Author SHA1 Message Date
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
Dmitry Vyukov
e0a2b1953b vm: merge "not executing programs" into "no output"
Frequently it's the same condition.
In one case there is just a stray error message on console
that turns the crash into "not executing programs".
While in another case there is no stray message,
and then it's detected as "no output".
2017-11-08 18:01:43 +01:00
Dmitry Vyukov
3b7ad24d6c syz-manager/mgrconfig: add another OOM suppression
If sshd was killed, we will get "lost connection".
2017-11-08 18:01:43 +01:00
Andrey Konovalov
dd1609f876 executor: proceed even if /dev/net/tun is not available
For some racy bugs syzkaller can generate a C reproducer with tun
enabled, when it's not actuallly required to trigger the bug.
Some kernel developers (that don't have CONFIG_TUN=y on their setups)
complain about such C repros.
When tun is not available, instead of exiting, print a message that tun
initialization failed and proceed.
2017-11-08 17:43:40 +01:00
Tobias Klauser
784eb9c23c sys/freebsd: add POLLINIGNEOF 2017-11-08 19:30:10 +03:00
Dmitry Vyukov
9547ae3a85 dashboard/app: clarify that email commands must be in email body
We've got a reply in subject.
2017-11-08 14:16:36 +01:00
Dmitry Vyukov
bc4a24220e dashboard/app: explicitly say that we don't have a reproducer 2017-11-08 14:16:36 +01:00
Dmitry Vyukov
6c412fa20c pkg/git: add another commit prefix 2017-11-08 14:16:36 +01:00
Andrey Konovalov
699e0a68ad
Update found_bugs_usb.md 2017-11-08 00:03:26 +01:00
Andrey Konovalov
a2c64463a2 execprog: correctly handle fault injections
syz-execprog doesn't utilize info about fault injections from a prog log.
Since syz-execprog is used by the repro package to reproduce crashes,
crashes caused by fault injections might not reproduce.
2017-11-07 16:17:18 +01:00
Andrey Konovalov
ef57962634
Update contributing.md 2017-11-07 14:23:57 +01:00
Andrey Konovalov
102fd70169
Update found_bugs_usb.md 2017-11-07 14:05:28 +01:00
Andrey Konovalov
4baddb8d39
Update found_bugs_usb.md 2017-11-07 14:01:33 +01:00
Andrey Konovalov
262ab53d85
Update found_bugs_usb.md 2017-11-07 13:59:04 +01:00
Andrey Konovalov
085e9f8d56
Update found_bugs_usb.md 2017-11-07 13:51:40 +01:00
Andrey Konovalov
d49979f75f
Update found_bugs_usb.md 2017-11-07 13:34:40 +01:00
Dmitry Vyukov
8f3e774b76 syz-ci: improve commit matching
1. Fetch last 200K commits instead of commits for past year.
For merged commits both author date and commit date can be
arbitrary long in past (e.g. we got a commit dated by 2014).

2. Strip some commit prefixes from commits.
We have some trees where backports are prefixed with "BACKPORT:".
Previously we could no match such commits.
2017-11-07 13:31:00 +01:00
Dmitry Vyukov
c1c91039f7 vm/gce: fix error formatting
This is detected with newer Go toolchain:

vm/gce/gce.go:376: Errorf format %v reads arg #1, but call has only 0 args
vm/gce/gce.go:381: Errorf format %v reads arg #1, but call has only 0 args
2017-11-07 13:25:27 +01:00
Dmitry Vyukov
7b05d23e43 dashboard/app: show fixing commit title as hint 2017-11-07 10:39:39 +01:00
Dmitry Vyukov
8bac040e2a docs: update path to syz-execprog binary 2017-11-07 10:39:39 +01:00
Eric Biggers
38977f0e6b sys/linux: add definition for LOOP_SET_BLOCK_SIZE
The v4.14 kernel will support a new loop ioctl, LOOP_SET_BLOCK_SIZE.
2017-11-07 12:26:11 +03:00
Eric Biggers
a6b071286e sys/linux: fix wrong ioctl numbers in loop device definitions
Fix a couple apparent copy-and-paste errors:

    - ioctl$LOOP_CHANGE_FD should use LOOP_CHANGE_FD
    - ioctl$LOOP_CTL_REMOVE should use LOOP_CTL_REMOVE
2017-11-07 12:26:11 +03:00
Eric Biggers
3f85f7fc46 syz-extract: fix printf conditional in template
commit 3520854be0e7 ("syz-extract: select declaring printf or not")
broke 'make extract' because it introduced invalid syntax in a text
template.  Fix it.
2017-11-07 11:21:47 +03:00
Andrey Konovalov
4340937250
Update found_bugs_usb.md 2017-11-06 16:23:50 +01:00
Dmitry Vyukov
6db82ca081 dashboard/app: show when bugs are fixed and where 2017-11-06 15:01:28 +01:00
Dmitry Vyukov
a2961665fd dashboard/app: pass namespace in bug reports
Namespace can be used for some customization
in external reporter.
2017-11-06 15:01:28 +01:00
Dmitry Vyukov
d5a1adcc06 tools/syz-execprog: allow to override target OS
This is currently useful for akaros, which is tested remotely.
2017-11-06 15:01:28 +01:00
Andrey Konovalov
0b00174908
Update found_bugs_usb.md 2017-11-06 14:30:51 +01:00
Andrey Konovalov
6972c447af
Update found_bugs_usb.md 2017-11-06 13:20:02 +01:00
zoulasc
3520854be0 syz-extract: select declaring printf or not
Kernels are standalone implementations and can have their own
implementations of functions that have different prototypes than
the standard ones. In the NetBSD case the kernel printf returns
void, and it is declared in <sys/systm.h> so avoid re-declaring it.
Select if we are going to declare printf or not depending on the OS.
2017-11-06 11:27:45 +03:00
zoulasc
7afa56efb4 syz-extract: Add missing symlink for NetBSD and refactor symlink code. 2017-11-06 11:27:45 +03:00
zoulasc
0460a8dda0 csource: Fix sed(1) invocation
There is no need to specify '-' as the filename for sed(1):
- The default behavior is to read stdin
- It was not done in all places
- It breaks on NetBSD sed(1) (although I am tempted to fix it now :-)
  and it does not work
2017-11-06 11:27:45 +03:00
Andrey Konovalov
ff12ae316d
Update found_bugs_usb.md 2017-11-04 21:53:06 +01:00
Andrey Konovalov
c78b455b14
Update found_bugs_usb.md 2017-11-04 18:37:14 +01:00
Andrey Konovalov
7c537a4b3d
Update found_bugs_usb.md 2017-11-03 15:48:10 +01:00