Commit Graph

1995 Commits

Author SHA1 Message Date
Dmitry Vyukov
ad2c9da9fb syz-manager: log number of VMs that are currently fuzzing 2018-02-01 17:30:46 +01:00
Dmitry Vyukov
67bd338380 dashboard/app: show jobs/managers/logs only for admin
That's not very interesting for anybody other than admins.
2018-02-01 16:57:38 +01:00
Dmitry Vyukov
eeefb53ba9 dashboard/app: tidy up UIs
Show short kernel repo/branch aliases,
also slightly reshuffle and tidy up tables.
2018-02-01 16:20:13 +01:00
Dmitry Vyukov
e525e980ea pkg/report: add more TODO cases 2018-02-01 15:49:05 +01:00
Dmitry Vyukov
9b1e75c0bc dashboard/app: fix patched/missing on numbers
We currently print N/M which does not mean N out of M are patched,
instead it means N patched and M are not patched.
This is confusing. Print more traditional "N out of M".
2018-02-01 15:40:32 +01:00
Dmitry Vyukov
11fa8bb3de prog: fix mutation of special types
Caught by existing tests, just happens very infrequently.
2018-02-01 15:20:37 +01:00
Dmitry Vyukov
d973f28294 prog: don't serialize default arguments
This reduces size of a corpus in half.
We store corpus on manager and on hub,
so this will reduce their memory consumption.
But also makes large programs more readable.
2018-02-01 15:20:12 +01:00
Dmitry Vyukov
a84dec47f0 dashboard/app: properly handle job request dups
Dups always have the same Message-ID,
and that's more reliable than looking at From/Sender.
So use Message-ID for deduplication.
2018-01-31 16:15:02 +01:00
Dmitry Vyukov
d39a1fe856 tools/syz-execprog: fix parsing of multiple logs 2018-01-31 15:50:36 +01:00
Dmitry Vyukov
ccac2d6f42 prog: fix TestSpecialStructs
We should not try to generate/mutate output arguments.
SpecialTypes generators are meant to accept inout arguments.
2018-01-31 15:50:36 +01:00
Dmitry Vyukov
02553e2292
Update found_bugs.md 2018-01-30 15:23:49 +01:00
Dmitry Vyukov
a899be78f5
Update found_bugs.md 2018-01-30 13:15:30 +01:00
Dmitry Vyukov
08d47756d0 executor: fix 32-bit support
ipt_get_entries.entrytable must be pointer aligned,
so in 32-bit build there is no padding before it.
2018-01-28 09:17:03 +01:00
Dmitry Vyukov
08146b1a84 sys/linux: extend netfilter descriptions 2018-01-27 17:08:43 +01:00
Dmitry Vyukov
5d7477249b prog: remove unused UnionArg.OptionType 2018-01-27 17:08:43 +01:00
Dmitry Vyukov
e8b4970547 pkg/compiler: allow unions with only 1 field
Unions with only 1 field are not actually unions,
and can always be replaced with the option type.
However, they are still useful when there will be
more options in future but currently only 1 is described.
Alternatives are:
 - not using union (but then all existing programs will be
   broken when union is finally introduced)
 - adding a fake field (ugly and reduces fuzzer efficiency)

Allow unions with only 1 field.
2018-01-27 17:08:43 +01:00
Dmitry Vyukov
1d18b11287 pkg/report: fix guilty file regexps 2018-01-25 10:57:31 +01:00
Dmitry Vyukov
6b2a715e62
Update found_bugs.md 2018-01-25 09:11:47 +01:00
Dmitry Vyukov
866f1102f7 pkg/email: handle emails without Content-Type header
git-send-email sends emails without Content-Type,
let's assume it's text.
2018-01-24 19:37:00 +01:00
Dmitry Vyukov
9a6ff11ff9 sys/linux: fix devname_mask alignment
Since we use int64, it has 8-byte alignment.
It's wrong, it must have 1-byte alignment.
Use int8 instead.
2018-01-24 11:41:13 +01:00
Dmitry Vyukov
ef6d3c0e03 sys/linux: add IPPROTO_L2TP to vnet protos 2018-01-24 11:38:45 +01:00
Dmitry Vyukov
ca9c302d80 pkg/compiler, prog: fix template parent lens
It's possible that a struct can have 2+ parents,
which is the same template (differs only by arguments).
See the new test case.
Support such case.
2018-01-24 11:35:22 +01:00
Dmitry Vyukov
e5b101ddff syz-manager: fix coverage page refresh 2018-01-24 11:25:14 +01:00
Dmitry Vyukov
a5b7566c4a executor: handle old and new selinux mount points 2018-01-23 12:56:00 +01:00
Dmitry Vyukov
3d76cc40d9 pkg/compiler: fix len of parent template struct
Consider the following example:

type len_templ1[DATA1, DATA2] {
	data	DATA1
	inner	len_temp2[DATA2]
}

type len_temp2[DATA] {
	data	DATA
	len	len[len_templ1, int8]
}

Here len refers to a parent struct, but the struct is a template,
so it's actual name is something like "len_templ1[int8, int16]".
Currently this does not work as compiler barks at incorrect
len target.

Make this work.
2018-01-23 11:38:53 +01:00
Dmitry Vyukov
14d1e424b6 pkg/compiler: allow use of empty strings
This comes up in several contexts in netfilter.
2018-01-23 11:05:51 +01:00
Dmitry Vyukov
de3e24c4b6 pkg/compiler: allow strings as template arguments
Needed for netfilter descriptions.
2018-01-23 10:44:01 +01:00
Dmitry Vyukov
228e3d951c syz-hub: don't send all repros to new managers
We how have thousands of repros, running all of them
on new managers will take ethernity.
2018-01-22 13:55:29 +01:00
Dmitry Vyukov
40a6602675 sys/linux: add netfilter descriptions
Lots of TODOs and only ipv4, but some start.
2018-01-22 12:19:33 +01:00
Dmitry Vyukov
6785f79347 executor: reshuffle namespace sandboxing sequence again
Now we create tun in the _outer_ net namespace,
which is tied to init user namespace. Thus fuzzer
does not have CAP_ADMIN in it.
In the end it seems that there is no sandboxing sequence,
which would give us everything we need.
Reshuffle sequences so that we have corrent namespace
hierarchy, but don't have IFF_NAPI_FRAGS.
2018-01-22 12:13:40 +01:00
Dmitry Vyukov
aeb24072ff
Update found_bugs.md 2018-01-22 12:09:16 +01:00
Dmitry Vyukov
fbbdcd9228 sys/linux: add AF_VSOCK/vhost descriptions 2018-01-19 20:41:18 +01:00
Dmitry Vyukov
02dc66caa8 sys/linux: add AF_RDS descriptions 2018-01-19 18:06:43 +01:00
Dmitry Vyukov
4c17ea3e18 executor: harden a bit against fuzzer madness 2018-01-19 18:06:11 +01:00
Dmitry Vyukov
161c1d640a sys/linux: resolve TODO re KCOV consts 2018-01-18 20:11:20 +01:00
Dmitry Vyukov
ff722179da sys/linux: make xattr prefix non-zero-terminated 2018-01-18 20:00:38 +01:00
Dmitry Vyukov
b7f99b54ae sys/linux: more selinux descriptions 2018-01-18 19:58:49 +01:00
Dmitry Vyukov
3661e26e74 pkg/compiler: support non-zero-terminated strings
Add stringnoz type.
2018-01-18 18:48:39 +01:00
Dmitry Vyukov
c77c36d5fa pkg/report: add another negative test case 2018-01-18 14:55:44 +01:00
Dmitry Vyukov
dcf3aa89fe pkg/report: allow up to 15 lines from "Call Trace" to first frame
Fixes a bunch of reports incorrectly marked as corrupted.
2018-01-18 10:28:07 +01:00
Dmitry Vyukov
2666e00902 dashboard/app: restructure email text
Reproducers are more important. .config is less important.
Reorder lines in that order.
As suggested by Theodore Ts'o in
https://groups.google.com/d/msg/syzkaller/5hjgr2v_oww/fn5QW6dvDQAJ
2018-01-18 10:01:26 +01:00
Dmitry Vyukov
0d1e95d2ba dashboard/app: rearrange attachment order
Some email clients show attachments inline.
Config is large, make it the last attachment.
As suggested by Theodore Ts'o in
https://groups.google.com/d/msg/syzkaller/5hjgr2v_oww/fn5QW6dvDQAJ
2018-01-18 10:01:26 +01:00
Dmitry Vyukov
b134896b20 dashboard/app: embed comment about syzkaller repros into the repro
Reduces clutter in email text.
As suggested by Theodore Ts'o in
https://groups.google.com/d/msg/syzkaller/5hjgr2v_oww/fn5QW6dvDQAJ
2018-01-18 10:01:26 +01:00
Dmitry Vyukov
add1f438ac dashboard/app: fix commit time formatting
Current code mishandles the case when we don't know time at all.
2018-01-18 08:47:34 +01:00
Dmitry Vyukov
56cc113a8e dashboard/app: improve report format
- show kernel repo alias
- show commit title/date
- say how many times the crash happened/where
- some minor tweaks

Fixes #468
2018-01-17 21:50:57 +01:00
Dmitry Vyukov
b8970f313e syz-ci: fix log message 2018-01-17 21:09:02 +01:00
Dmitry Vyukov
fbc4659e78 syz-ci: disable fix commit extraction for mmots
mmots contains weird squashed commits titled "linux-next" or "origin",
which contain hundreds of other commits. This makes fix attribution totally broken.
Obviously need something better long term, but also need to fight fire now.
2018-01-17 20:17:23 +01:00
Dmitry Vyukov
d7bc58204e dashboard/app: collect more info for better reports
Collect kernel build commit title/date.
Add support for kernel repo aliases (to be able
to say linux-next instead of full git repo address).
Collect on what managers a bug happened.
Reuse Crash.ReportLen as generic crash reporting priority.
Make it possible to prioritize reporting of particular
kernel repos and arches.

Fixes #473
2018-01-17 19:52:30 +01:00
Dmitry Vyukov
02a2ba2966 dashboard/app: add job user blacklist 2018-01-17 19:52:30 +01:00
Dmitry Vyukov
2129f66e2d dashboard/app: use Reported-by tags to fix bugs
Accept and use Reported-by tags in commits to mark bugs as fixed.
2018-01-17 19:52:30 +01:00