Commit Graph

2328 Commits

Author SHA1 Message Date
Dmitry Vyukov
113a43ffb6 pkg/ipc: test only on simple prog
Don't use random programs for testing.
Sometimes they lead to flakes like:
opendir(./1/file0) failed (errno 13)
2018-03-20 16:56:58 +01:00
Dmitry Vyukov
a5d08e443b docs: add link to dashboard to syzbot doc 2018-03-20 16:56:58 +01:00
Dmitry Vyukov
85fb286052 dashboard/app: add link to dashboard to bug emails 2018-03-20 16:56:58 +01:00
Dmitry Vyukov
4514465649
travis: switch to Go 1.9+1.10 (#539)
1.9 is available for a long time, no point in testing in 1.9rc1.
1.10 is already released too.
2018-03-20 14:34:44 +01:00
Dmitry Vyukov
e20831f6ce
Makefile: enable gometalinter on travis (#537) 2018-03-20 13:26:51 +01:00
Dmitry Vyukov
72c33b66ba dashboard/add: don't log bad emails as errors 2018-03-20 11:55:55 +01:00
Dmitry Vyukov
b389d9170c dashboard/app: don't log /api requests as errors
Not so interesting if it was just /api request.
2018-03-20 11:49:18 +01:00
Dmitry Vyukov
e8a29b89d0 dashboard/app: don't log un-signed-in users as errors
Un-signed-in users are redirected to login page.
And maybe they have access after sign-in.
Otherwise the error will be logged aftger sign-in.
2018-03-20 11:33:18 +01:00
Dmitry Vyukov
8884d5d1e6 dashboard/app: don't log updates to closed bugs
These happen and we specifically treat them as non-bugs.
Don't log them as errors as well.
2018-03-19 11:57:45 +01:00
Dmitry Vyukov
7e7d7ed26a pkg/report: add another test 2018-03-19 11:05:40 +01:00
Sumukha Pk
08dacaa0b9 netbsd.md: Changes made in file about missing clarity (#535)
* Changes made in the netbsd.md file, syzkaller made easier to install

* Name added to list of contributors

* Added name to CONTRIBUTORS file

* Changes in file regarding format issues
2018-03-13 12:33:05 +03:00
Dmitry Vyukov
f505ca4b5b
Update README.md 2018-03-12 12:53:30 +03:00
Dmitry Vyukov
36d1c4540a all: fix gometalinter warnings
Fix typos, non-canonical code, remove dead code, etc.
2018-03-08 18:48:26 +01:00
Dmitry Vyukov
63ef857906 add config for gometalinter
gometalinter is https://github.com/alecthomas/gometalinter
2018-03-08 18:47:04 +01:00
Dmitry Vyukov
acd0caa5f7 dashboard/app: log api method/client
Since we now don't have them in URL, log them explicitly.
2018-03-08 13:18:32 +01:00
Dmitry Vyukov
8240eedfec dashboard/app: switch API to passing args as form-encoded values
This is slightly more secure and does not pollute URLs.
2018-03-08 13:00:10 +01:00
Dmitry Vyukov
b0d99d1ebb syz-ci: add config parameter that enables jobs
If a syz-ci is not meant to do patch testing,
it's better to not start jobs polling loop at all.
2018-03-08 12:24:03 +01:00
Dmitry Vyukov
d0790618dc prog: fix isDefaultArg
Test that isDefaultArg returns true for result of DefaultArg.
Fix few bugs uncovered by this test.
2018-03-08 12:02:17 +01:00
Dmitry Vyukov
549f0dc24e dashboard/app: allow sorting crash table
Sorting at least by date may be useful.
2018-03-08 11:32:33 +01:00
Dmitry Vyukov
7166783e9b pkg/report: fix crash during output parsing
The test case causes rep.StartPos == secondReportPos,
which then makes extraction of description fail,
because report is empty.
2018-03-08 10:17:07 +01:00
Dmitry Vyukov
d50edb7e5c
Update syzbot.md 2018-03-07 17:08:01 +01:00
Dmitry Vyukov
a5e765400b pkg/report: improve invalid-free format and ignore more mutex-related functions 2018-03-07 13:40:36 +01:00
Dmitry Vyukov
299c167882 dashboard/app: fix 2 crashes on invalud input data 2018-03-07 13:01:50 +01:00
Dmitry Vyukov
11cf581658 executor: fix ifdef's for csource
There is test failure on travis:
https://travis-ci.org/google/syzkaller/jobs/349948391
I can't reproduce it locally, and it only happened on 1.8, but not on 1.9?
But this seems to be what could have provoked such failure.
2018-03-07 10:50:09 +01:00
Dmitry Vyukov
c8a1847658 sys/linux: add descriptions for /dev/infiniband/rdma_cm
Also fix uffd and bluetooth consts while we are here.
2018-03-06 19:15:44 +01:00
Dmitry Vyukov
2814d6b845 sys/linux: fix perf_event_attr layout 2018-03-06 19:15:44 +01:00
Dmitry Vyukov
c9af7e5fda pkg/report: improve KASAN report parsing
The problem is with "BUG: KASAN: (.*)" match which matches
just anything however much it is corrupted.
Mark this match as corrupted.
2018-03-06 19:15:44 +01:00
Dmitry Vyukov
b5fcd0c554 pkg/osutil: use proper gid during sandboxing 2018-03-06 19:15:44 +01:00
Andrey Konovalov
a17d898aa0 buildbot: fix broken deb package link 2018-03-06 18:27:26 +01:00
Dmitry Vyukov
aef0b7921b syz-hub: fix auth logic
Fix a bug and add a test.
2018-03-05 14:07:02 +01:00
Dmitry Vyukov
bbd5104f06 executor: fix includes
We use errno, vaargs, printf in all of fail/error/exitf,
but we include the corresponding headers only when SYZ_USE_TMP_DIR.
Include them whenever fail/error/exitf are used.
2018-03-05 12:59:12 +01:00
Dmitry Vyukov
4bad061006 prog: extend some error messages 2018-03-05 12:58:29 +01:00
Dmitry Vyukov
bc09be4253 prog: fix 32-bit build
Currently fails with:
prog/mutation.go:442:24: constant 4294967296 overflows int
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
42467f5b7b sys/linux: add syz_init_net_socket syscall
The new pseudo syscall allows opening sockets that can only
be created in init net namespace (BLUETOOTH, NFC, LLC).
Use it to open these sockets.

Unfortunately this only works with sandbox none at the moment.
The problem is that setns of a network namespace requires CAP_SYS_ADMIN
in the target namespace, and we've lost all privs in the init namespace
during creation of a user namespace.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
e91c118db9 sys/linux: make ifreq template, fix some usages 2018-03-05 12:10:27 +01:00
Dmitry Vyukov
70a1ddb939 prog: harden program parsing against description changes more
Handle most of type changes, e.g. const is changed to struct,
or struct to pointers. In all these cases we create default args.
They may not give the coverage anymore, but still better than
losing them right away.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
b99c76c405 prog: recover after type changes during program deserialization
Make program deserialization handle and recover after type changes
in descriptions.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
bd5df8f49b prog: handle excessive args and fields during program parsing
Tolerate excessive args and fields during program parsing.
This is useful after description changes to not lose corpus.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
f027f1a3f7 sys/linux: use size attributes on structs
1. Add size attribte on sockaddr.
2. Remove sockaddr's that are larger than 16 bytes from sockaddr.
3. Add size attribute on sockaddr_storage which wasn't actually 128 bytes.
4. Add size attribute to ifreq.
5. Fix ifmap field types as uncovered by the size attributes.
6. Fix sockaddr_storage_tcp from struct to union which is should be.
7. Make sockaddr_un_file fixed size as it should be.
8. Fix some explicit paddings that were only correct for 64 bits.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
002cecf202 pkg/compiler: allow specifying static size for filename's
Sometimes filenames are embed into structs and need to take fixed space.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
5ef8dbdf5a pkg/compiler: support size attribute for unions 2018-03-05 12:10:27 +01:00
Dmitry Vyukov
a339951e5f pkg/compiler: add size attribute for structs
The size attribute allows to pad a struct up to the specified size.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
5110ff445d pkg/compiler: switch attributes from Ident to Type
This allows parametrized attributes like size[10].
But this is not used for now.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
db01d57e91 sys/linux: a bunch of assorted improvements and fixes 2018-03-05 12:10:27 +01:00
Dmitry Vyukov
e28ba02d9d prog: harden program parsing
This fixes crash during parsing of existing programs in corpus
after vma<->ptr type change in descriptions.
2018-03-05 12:10:27 +01:00
Dmitry Vyukov
2c6f473e0f sys/linux: add remaining aux netfilter descriptions 2018-03-01 19:26:53 +01:00
Julia Hansbrough
c40895075b [docs] Add Linux network troubleshooting guidance.
It took me a bit to figure out this kernel configuration quirk, so
thought it may be helpful to add to the troubleshooting section!
2018-03-01 10:11:02 +01:00
Dmitry Vyukov
05b5a32cfd pkg/gce: fix a type 2018-02-27 12:08:16 +01:00
Dmitry Vyukov
6ceee05ad9 prog: extend a TODO about big-endian hints 2018-02-27 12:06:28 +01:00
Dmitry Vyukov
64482eb948 pkg/gce: use current instance network
The current instance is not necessary in the default network.
2018-02-27 11:58:41 +01:00