Commit Graph

232 Commits

Author SHA1 Message Date
Anton Lindqvist
d75f7686f1 dashboard/config: enable WITNESS_LOCKTRACE on OpenBSD (#987)
This option will print all lock acquisition paths once a lock violation
is identified by witness[1].

[1] https://marc.info/?l=openbsd-cvs&m=154955230813384&w=2
2019-02-09 07:27:06 -08:00
Dmitry Vyukov
ffec3d1894 dashboard/config: add lsm= cmdline arg for stacked modules
It won't take effect right now as security= has precedence over lsm=.
But it won't harm too and later we will only need to remove security=.
Also it will work with this custom patch for syzbot:
https://groups.google.com/d/msg/syzkaller/BSgVCTSShRQ/E6lFuiDpFwAJ

Update #973
2019-02-01 19:43:52 +01:00
Dmitry Vyukov
aa53be276d dashboard/config: prepare for stacked security modules
In linux-next security modules can be stacked.
TOMOYO is compatible with other modules and SAFESETID
module is added. But this is not yet in mainline.

Enable TOMOYO and SAFESETID.
There is no way to enable stacked modules in linux-next
while preserving the current behavior in mainline.
Once these changes reach mainline, we will need to replace
security cmdline arguments with lsm as follows:

lsm=yama,safesetid,integrity,selinux,tomoyo
lsm=yama,safesetid,integrity,smack,tomoyo
lsm=yama,safesetid,integrity,tomoyo,apparmor
2019-02-01 11:00:59 +01:00
Anton Lindqvist
ce1ccf9723 dashboard/config: enable witness on OpenBSD
Lets give this another try now that larger kernels can boot.
2019-01-24 07:38:43 +01:00
Dmitry Vyukov
7da2392541 pkg/report: support CONFIG_PRINTK_CALLER
CONFIG_PRINTK_CALLER has reached linux-next:
https://groups.google.com/d/msg/syzkaller/xEDUgkgFvL8/d5bBS3BJBwAJ

Enable CONFIG_PRINTK_CALLER and support parsing of its output format.

This gives us several advantages:
 - output from different contexts don't intermix
 - intermixed output doesn't cause corrupted reports
 - we can keep larger prefix since we know it comes from the same task

Credit for the kernel part goes to Tetsuo Handa.
Also Sergey Senozhatsky and Petr Mladek for reviews of the kernel part.

Fixes #596
Fixes #600
2019-01-03 19:23:07 +01:00
Anton Lindqvist
752613e615 dashboard/config: enable LOCKF_DIAGNOSTIC on OpenBSD 2019-01-03 09:29:12 +01:00
Eric Biggers
f0491811f9 dashboard/config: enable more linux crypto configs 2019-01-02 11:24:46 +01:00
Dmitry Vyukov
6b761be059 dashboard/config: enable more linux net configs
Enable some BT/RXRPC/MAC80211/ISDN configs.
2018-12-29 19:22:34 +01:00
Dmitry Vyukov
c87e9eb9bd dashboard/config: enable HSR and NUMA_EMU 2018-12-26 18:24:53 +01:00
Dmitry Vyukov
309bb18442 dashboard/config: moar networking configs
Add more x25 drivers, wlan, slip, caif and other stuff that I don't understand,
but syzkaller can potentially reach.
2018-12-24 18:56:06 +01:00
Dmitry Vyukov
dd61e58d94 sys/linux: extend AX25/ROSE/NETROM descriptions 2018-12-24 18:56:06 +01:00
Dmitry Vyukov
b025ab82d2 dashboard/config: enable more net configs
Enable some more net configs that we can potentially reach.
Update to latest kernel.
2018-12-24 09:59:56 +01:00
Greg Steuck
a8b6d1af46 pkg/build/openbsd: always make clean to manage config in tree
clean build barely takes 3 minutes end-to-end on our CI machine.

Undo debug options which caused prevented kernels from booting on GCE.
2018-12-19 17:15:31 +01:00
Greg Steuck
67c1ac5222 dashboard/config: store kernel configs in tree
* sus/openbsd: store kernel configs in tree

They now include https://man.openbsd.org/witness per suggestion from
@mptre

* LOCKF_DIAGNOSTIC while we are at it.

* Moved to a better place.
2018-12-18 10:35:29 +01:00
Dmitry Vyukov
71b3a323eb dashboard/app: CC kernel tree specific mailing list on reports
Add ability to CC particular emails for crashes on particular kernel trees.

Fixes #828
2018-12-18 09:59:07 +01:00
Dmitry Vyukov
961cbc6f40 dashboard/config: update kernel configs to latest kernel 2018-12-12 13:05:51 +01:00
Dmitry Vyukov
eb9ed7316a dashboard/app: purge old repros
We have some bugs with insane amount of repros.
So many that new crashes don't show up on dashboard at all.
Purge old repros too. There is no need to keep more than 40.
2018-11-23 20:10:07 +01:00
Dmitry Vyukov
646afdf841 dashboard/app: enlarge stats value column for manager
When numbers become large, they may not fit into 100px.
2018-11-23 14:44:58 +01:00
Dmitry Vyukov
97aa259615 dashboard/app: show managers per namespaces
End users are interested for managers only for a single namespace.
So show them per-namespace.
2018-11-22 15:07:17 +01:00
Dmitry Vyukov
79d9c3191f dashboard/app: use sort.Slice
Now that GAE provides a newer Go toolchain,
we can use sort.Slice goodness.
2018-11-22 14:43:43 +01:00
Dmitry Vyukov
13ab4beeef syz-manager: modernize web UI
1. Use dashboard style.
2. Allow sorting of tables.
3. Show old crashes in grey.
4. Use tables instead of text output for more pages.
5. Show corpus inputs on a separate page to allow copy-pasting.
6. Use standard JS sorting instead of custom bubble sort (much faster).
7. Fix off-by one in table sorting.

Fixes #694
2018-11-22 14:36:32 +01:00
Dmitry Vyukov
9db828b506 dashboard/app: show kernel commit time
Show kernel commit time (author) in a hint for all kernel commit hashes.

Update #473
2018-11-21 11:45:00 +01:00
Dmitry Vyukov
1df0de78f9 dashboard/config: add spec_store_bypass_disable=prctl
Opens more interesting kernel surface.
2018-11-17 15:46:36 -08:00
Dmitry Vyukov
58fb30b383 dashboard/config: enable more drm configs
There are 2 important virtual drm drivers:

CONFIG_DRM_VKMS
CONFIG_DRM_VGEM

VGEM was already enabled, enable VKMS.
Also enable few other configs that look like
we can potentially reach them.
2018-11-15 14:20:49 -08:00
Dmitry Vyukov
f3c4e61859 sys/linux: add vimc/vivid/vim2m/vicodec/swradio/radio/vbi/cec devices
Create planar and non-planar vivid devices.
Create each for each test process.
Add swradio/radio/vbi/cec media devices.
2018-11-10 10:38:39 -08:00
Dmitry Vyukov
eee19d60c2 dashboard/config: update configs to latest kernel 2018-11-10 10:38:38 -08:00
Dmitry Vyukov
899726922e dashboard/config: update kernel configs
Enable:
CONFIG_BLK_DEV_FD
CONFIG_CRYPTO_OFB
CONFIG_VIDEO_VIMC
CONFIG_VIDEO_VIM2M
CONFIG_VIDEO_VIVID
CONFIG_VIDEO_VICODEC
2018-10-28 19:47:53 +01:00
Dmitry Vyukov
23454ce6df dashboard/app: make build upload more robust
Currently it triggers datastore timeouts episodically.
Don't fail build upload if bug commit update fails.
Split the large query into two smaller queries.
2018-10-10 14:03:14 +02:00
Dmitry Vyukov
7eaec1b83e dashboard/app: fetch bugs in batches
We are seeing lots of datastore timeout errors during bug fetch.
It's a bad idea to fetch thousands of bugs in one query,
so fetch them in batches of 1000 bugs.
Hopefully will reduce rate of errors.
2018-10-10 13:40:22 +02:00
Alexander Potapenko
a316a2afee kmsan: add kmsan_from_kasan_config.sh to generate KMSAN config 2018-10-02 15:41:28 +02:00
Dmitry Vyukov
6939672737 dashboard/config: add KMEMLEAK config
Based on KASAN config, but with KASAN and most other debug
configs disabled and KMEMLEAK enabled.
2018-09-28 14:57:20 +02:00
Dmitry Vyukov
746df66f2c dashboard/config: disable CONFIG_DYNAMIC_DEBUG and CONFIG_BPFILTER
syzkaller manages to turn on dynamic debug messages somehow,
which then produces tons of output on console. Disable dynamic
debug on kasan.
Disable bpfilter on kmsan as we already did on kasan.
2018-09-28 14:57:20 +02:00
Dmitry Vyukov
b1b7b3a864 dashboard/config: enable ima on command line
Does it actually enable ima?
2018-09-25 19:56:04 +02:00
Dmitry Vyukov
19a403430d dashboard/config: disable BPFILTER
BPFILTER leads to frequent failures:
https://groups.google.com/d/msg/syzkaller/SxiyMLyIAVA/JU0tLqqkCQAJ
2018-09-25 17:04:08 +02:00
Dmitry Vyukov
7ffd14ab85 dashboard/app: add similarity domains for namespaces
It does not make sense to show similar bugs across linux/openbsd/akaros.
Allow restricting similarity domains for namespaces.

Fixes #742
2018-09-24 11:12:44 +02:00
Dmitry Vyukov
3c8de4d941 dashboard/app: show coverage report per-manager
Now that syz-ci can upload coverage reports to GCS,
we can show up-to-date coverage for each manager
rather than a single static outdated file per namespace.
2018-09-20 19:32:54 +02:00
Dmitry Vyukov
4fb3cca18f dashboard/app: tidy up UI
Don't show maintainers for crashes if we don't have them (only linux has).
Show short git hashes for kernel/syzkaller, 40 chars looks excessive (full hash is in hint).
Show current build kernel/syzkaller git hash in managers table.
Remove fuzzing time from managers table (does not seem too useful).
2018-09-20 18:29:38 +02:00
Dmitry Vyukov
0e88373b1c dashboard/app: change backup bucket
Backup datastore into a separate bucket as it creates lots of garbage.
2018-09-20 18:29:38 +02:00
Alexander Potapenko
25ff1e17d3 dashboard/config: update upstream-kmsan.config to v4.19-rc4
The previous version has accidentally disabled many configs that were previously enabled on syzbot.
2018-09-20 11:10:38 +02:00
Alexander Potapenko
5959df5cd2
Update upstream-kmsan.config to 4.19.0-rc3
Also ensure CONFIG_DRM_AMD_DC is off.
2018-09-18 12:01:20 +02:00
Dmitry Vyukov
a171414b74 dashboard/app: allow some cross-reporting dups
Allow a special case of cross-reporting duping:
rom last but one reporting to the last one (which is stable, final destination)
provided that these two reportings have the same access level and type.
The rest of the combinations can lead to surprising states and
information hiding, so we still don't allow them.

Fixes #569
2018-09-11 11:39:41 +02:00
Dmitry Vyukov
3f4ebb87dc dashboard/app: show managers according to access level
It is useful to show some info about managers,
in particular failed builds.
2018-09-08 13:58:05 +02:00
Dmitry Vyukov
be20da4250 dashboard/config: disable CONFIG_HARDENED_USERCOPY_PAGESPAN
See https://groups.google.com/forum/#!msg/syzkaller-bugs/wt3NikTfotQ/UIU_tEjrBAAJ
2018-09-07 18:21:58 +02:00
Dmitry Vyukov
69cfeb8078 dashboard/config: enable more things in linux config
Enable configs that are enabled in android/chromeos.
2018-09-07 15:06:27 +02:00
Dmitry Vyukov
0bb7a7eb8e dashboard/config: add smack support 2018-09-06 11:37:46 +02:00
Dmitry Vyukov
0b937a7eef dashboard/app: allow renaming/bucketing bugs
Add config hooks that can be used to rename/bucket bugs.

Fixes #677
2018-09-05 15:08:41 +02:00
Dmitry Vyukov
196410e4f5 dashboard/config: re-enable selinux
Upstream "selinux: fix mounting of cgroup2 under older policies"
commit fixes mounting of cgroup2 under wheezy selinux policy.
So don't disable selinux on start.
Create separate cmdline arguments that enable selinux and apparmor.
2018-09-05 12:50:53 +02:00
Dmitry Vyukov
ffd18c6443 dashboard/app: split repo and branch by space
We currently split them with / which makes it hard
to copy paste and generally understand that these
are 2 separate things.
Split them with a space. User request:
https://groups.google.com/forum/#!msg/syzkaller-bugs/yNFv3qgXY3I/ejPrxLCdBAAJ
2018-09-03 16:22:41 +02:00
Dmitry Vyukov
2c6cb254ae dashboard/config: update kernel configs
- enable usbip
- enable squashfs
- enable ubifs
- enable dm-verity
- enable IMA/EVM
/\/\/\
all things we want to test

- set hung_task_check_interval_secs = 20 for more precise hung detection
- switch to apparmor (we don't enable selinux anyway)
- update to latest kernel

Update #533
2018-08-29 15:59:16 -07:00
Dmitry Vyukov
307deaee5e dashboard/app: add space between colon and url in bug emails
As asked by Peter Zijlstra: "the lack of whitespace between "repro:"
and the URL makes it hard to copy paste".

We keep lines below 78 colons because otherwise some email clients will reflow them.
And also we want it all properly aligned as asked by Ted Ts'o.
So shorten "syzkaller repro" to "syz repro".
2018-08-24 22:11:46 +02:00