377 Commits

Author SHA1 Message Date
Andrey Konovalov
6738e0b30b dashboard/config: disable magic sysrq entirely
It can be reached over tty as well and those path ignore the sysrq_enabled
setting.
2020-01-07 16:17:17 +01:00
Andrey Konovalov
28206bb69a dashboard/config: properly extract non tristate config values
The USB config extraction script properly works with symbols that
are either enabled as =m or =y or disabled. This change adds support
for hex, int and string symbol types. (The current distro config used
for USB config generation doesn't contain any values of those types yet.)
2020-01-05 16:21:57 +01:00
Dmitry Vyukov
1bd353000d dashboard/config: update linux config
Enable AFS.
Enable PHONET (enabled in Debian).
Enable IEEE802154_FAKELB (may allow us to reach some of IEEE802154 code).
Enable USB4.
Enable some misc networking configs.
2020-01-03 16:11:49 +01:00
Dmitry Vyukov
240ba66ba8 dashboard/config: update upstream-kasan.config to next-20191218 2019-12-18 11:27:18 +01:00
Andrey Konovalov
a6bc9c88b9 dashboard/config: update USB config extraction
Currently the config extraction script can produce an incorrect result, when
one of the configs enables a particular config option, but some other one
doesn't. This change fixes the issue.
2019-12-17 16:27:24 +01:00
Andrey Konovalov
b80769fcdd dashboard/config: disable magic sysrq by default
Also don't try to enable GadgetFS, as it can't be enabled with Raw Gadget.
2019-12-16 16:49:11 +01:00
Anton Lindqvist
5b2ca5dad8 dashboard/config: enable KQUEUE_DEBUG on OpenBSD
Recently introduced used to validate correctness of kqueue event lists.
2019-12-13 20:25:07 +01:00
Dmitry Vyukov
0d368675f8 dashboard/app: report newer crashes in the next reporting
We used to report the newest crash long time ago.
Then we switched to preserving the crash across reporting
stages b/c what reaches next stage may be not what was
sent upstream in the previous one.
However, it seems to cause more problems now than it solves.
Crash classification become much better + some backlog
of bugs was clearer, so we don't have that may glued bugs.
However, in some cases we report notoriously old crashes
which is bad. Switch to the newest crash agian.
Let's see how this works now.
2019-12-11 11:05:32 +01:00
Andrey Konovalov
5a5826a14e sys/linux, dashboard: update USB config and IDs 2019-12-10 12:45:34 +01:00
Dmitry Vyukov
43c501b983 dashboard/config: enable few more linux configs
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_NFSD_V4_2_INTER_SSC=y
2019-12-07 18:45:07 +01:00
Dmitry Vyukov
85f267515d dashboard/config: fix netbsd kmsan config 2019-12-06 16:55:10 +01:00
Siddharth M
12c3b6cd9a pkg/build: add support to build the NetBSD kernel with KMSan
* Initial KMSan commit
* pkg/buil: kmsan cleanup
* pkg/build: Modify the logic slightly
2019-12-06 11:28:19 +01:00
Dmitry Vyukov
799e6ffbbe dashboard/app: enable few more tty/console-related configs for linux 2019-12-03 18:48:14 +01:00
Dmitry Vyukov
b5e3232432 dashboard/config: enable more configs
Enable some input configs that may be reachable in qemu.
+NVMEM: reachable in qemu
+BINDERFS
2019-12-02 17:58:15 +01:00
Dmitry Vyukov
6e4aeffeda dashboard/config: enable CIFS and OCFS2_FS
We have some descriptions for them and enabled in debian.
2019-11-29 15:02:42 +01:00
Dmitry Vyukov
6239d724ad dashboard/config: update linux/kasan config
1. Update to latest linux-next (next-20191129).
2. Enable NVMEM/PMEM.
3. Enable new crypto algs.
4. Enable VMAP stacks (yay!).
2019-11-29 10:46:26 +01:00
Dmitry Vyukov
861a5980df dashboard/config: disable CONFIG_DEBUG_INFO_BTF
CONFIG_DEBUG_INFO_BTF started breaking build,
see details in add comments.
2019-11-28 09:32:06 +01:00
Dmitry Vyukov
0d63f89cab syz-ci: allow enabling bisect cause and fix jobs separately
Some backport-only kernels may only be interested in fix bisections.
Allow enabling these separately.
2019-11-27 16:40:04 +01:00
Dmitry Vyukov
6f7be11fa1 dashboard/app: don't report bisections pointing to release commits
They should have been detected by "same binary" logic.
But the problem is that we may use different compilers
for different commits and they switch exactly at release commits.
So we can build the release with a differnet compiler than the
rest of commits and then obviously it won't be "same binary".
Detect release commits separately.

Update #1271
2019-11-27 14:05:14 +01:00
Dmitry Vyukov
be8c51d3d9 dashboard/app: fix creation of bisection jobs
We limited the bugs query for bisection jobs at 300 bugs,
but that's not enough in presence of multiple namespaces.
Some namespaces did not get any bisections because all
bugs belonged to other namespaces/managers.
Fetch all bugs to fix this.

While we are here also simplify check for bisection crashes:
now we have FixBisectionDisabled as a property of manager,
so we don't need to fetch the crash build to check it.
2019-11-15 09:48:06 +01:00
Dmitry Vyukov
048f2d494e dashboard/app: close bugs that we won't fix bisect sooner
Add logic to do the subj.
But it's not enabled yet b/c we need to figure out what to do with KMSAN.
It's different from, say, linux-next.
2019-11-11 17:03:41 +01:00
Marco Elver
377d77fa57 dashboard/config: Update KCSAN config to be more conservative 2019-11-11 16:23:03 +01:00
Dmitry Vyukov
dc438b91de dashboard/app: enable fix bisection to external reporting
Update #1371
2019-11-08 13:40:46 +01:00
Dmitry Vyukov
560ebad5b0 dashboard/app: move FixBisectionDisabled from repo to manager
We have manager in more places (bug, job, etc),
but usually we don't have repo directly (this
always requires loading build). Move FixBisectionDisabled
to manager for easier access, e.g. we will be able to easily
check if a bug happened only on managers with fix bisection
disables, which is currently quite problematic.
2019-11-08 13:38:31 +01:00
Dmitry Vyukov
f39aff9e4a dashboard/app: auto-close bugs after successful fix bisection
Add an optional feature for subj.
Should be useful for unmaintained namespaces like Linux LTS.
2019-11-07 16:08:26 +01:00
Dmitry Vyukov
d5bc68123a dashboard/app: enable mailing results of fix bisection
All prerequisites are done now.
I've cleaned the datastore and did some manual testing as well.

Fixes #1371
2019-11-07 14:45:13 +01:00
Dmitry Vyukov
461291eaaf dashboard/app: show what fix bisections we will mail
Show [report pending] for fix bisections that we will send.
Help to analyze what will happen when we enable mailing of fix bisections.

Update #1271
2019-11-07 14:27:46 +01:00
Dmitry Vyukov
9cf4d4ed2e dashboard/app: few more cosmetic UI changes
Don't add <br> before bisection, if bisection does not exist.
Rename fix bisections table to make it clearer that they failed.
2019-11-07 12:37:52 +01:00
Dmitry Vyukov
efb49b4d0b dashboard/app: slightly tidy up bisection results
Add new lines around bisection block as it was before.
Remove kernel tree, does not seem to be critical.
Make it clear what is cause bisection and what is fix bisection
(currently we have 2 "Bisection" which is not very helpful).
2019-11-07 11:07:08 +01:00
Dmitry Vyukov
30cb7f98cd pkg/bisect: detect wrong bisections
Detect bisection to merge commits and to commits that don't affect
kernel binary (comments, other arches, whitespaces, etc).
Such bisections are not reported in emails (but shown on web).

Update #1271
2019-11-07 11:07:03 +01:00
Zubin Mithra
0f3ec414b9 dashboard/app: add support for disabling fix bisection
* Allow fix bisection to be disabled on kernel repos to which force-pushes
occur.
* Pending fix bisection jobs for KernelRepo with FixBisectionDisabled will have
to be deleted manually.
* Add TestFixBisectionsDisabled.

Closes #1365
2019-11-05 09:17:27 +01:00
Zubin Mithra
a77e6539d9 syz-ci: send build info for failed bisections
* When fix bisections fails due to a crash on HEAD, the dashboard needs to
keep track of which commit the crash occured at. In order to do this,
send correct commit information to the dashboard.
* Modify mail_bisect_result.txt to be clearer on what
BisectResult.KernelCommit represents. Modify test in bisect_test.go to
accommodate the changes in templates.
2019-11-05 09:15:56 +01:00
Andrey Konovalov
76630fc947 executor, pkg/host, dashboard/config: rename usb-fuzzer to usb raw-gadget
The interface is being upstreamed and the name has changed.
2019-11-04 15:43:43 +01:00
Dmitry Vyukov
841212d4cc sys/linux: extend CAN descriptions 2019-11-02 21:31:45 +01:00
Dmitry Vyukov
018e59bad0 dashboard/app: add link to bug to reproducers
As requested by users.
Fixes #1396
2019-10-25 18:02:24 +02:00
Dmitry Vyukov
c2e837da36 dashboard/app: flexible rules for bug obsoleting
Implement logic described in #1054:
 - close bugs that happened a lot and then stopped faster
 - close bugs in non-final reporting with different period
 - allow closing bugs that happened only on 1 manager with different period

Fixes #1054
2019-10-25 15:56:00 +02:00
Dmitry Vyukov
2d4fab5ed1 dashboard/app: reduce auto-closing timeout to 120 days
See #1054

First simple step.
2019-10-25 13:28:42 +02:00
Dmitry Vyukov
ffff482138 dashboard/app: don't log user errors in checkCrashTextAccess too
This pollutes error logs too.
2019-10-25 13:28:42 +02:00
Dmitry Vyukov
e1b158574e datastore/app: switch more bug queries to paged queries
Update #1448
2019-10-25 13:28:42 +02:00
Dmitry Vyukov
44e9a18ae7 dashboard/app: switch foreachBug to using cursors
Cursors seem to be more efficient than Offset-based queries:
https://cloud.google.com/datastore/docs/concepts/queries#datastore-datastore-cursor-paging-go

Update #1448
2019-10-25 13:28:42 +02:00
Dmitry Vyukov
93b35d600e dashboard/app: use paged query to load bugs on the main page
The bugs query periodically times out. Try to use a paged query.

Update #1448
2019-10-25 13:28:42 +02:00
Dmitry Vyukov
3a0514fbbf dashboard/app: remove duplicate error log
The returned error is logged by caller.
2019-10-25 13:28:42 +02:00
Dmitry Vyukov
639a1e6606 dashboard/app: don't log errors that can be caused by bad user requests 2019-10-25 13:28:42 +02:00
Dmitry Vyukov
b602d64b59 dashboard/config: disable /dev/{mem,kmem,ioport} in syzbot bits
If syzkaller gets to /dev/{mem,kmem,ioport}, it will destroy the machine.
It managed to do so with some mount's, chdir's and bogus file names.
These are not needed for fuzzing, so completely disabling them is
the simplest and the most reliable option.
2019-10-23 15:57:13 +02:00
Andrey Konovalov
a970258ea5 dashboard/config: better extract usb configs
When generating a USB config, disable USB symbols that are disabled in the
base config, as they might have been enabled when some of the dependecies
got enabled.
2019-10-23 10:13:19 +02:00
Dmitry Vyukov
ef4a2149fe dashboard/config: update linux/kasan config
- update to latest linux-next
- disable /dev/{mem,kmem,ioport}
- enable lockdown (but it's not actually turned on)
- enable /dev/device_notify
- enable exfat
- enable virtio_fs
- enable few other things that look reachable in VMs

Fixes #1436
2019-10-15 13:50:06 +02:00
Andrey Konovalov
05ad729222 dashboard/config: update USB config 2019-10-14 14:14:06 +02:00
Dmitry Vyukov
64612bfd3c tools/syz-reprolist: add utility to extract list of reproducers 2019-10-08 12:39:23 +02:00
Dmitry Vyukov
3e1e84d48e dashboard/app: refactor few things related to fix bisections 2019-10-04 18:02:27 +02:00
zsm-oss
671dd8203a Merge pull request #1383 from zsm-oss/show-bisections
dashboard/app: show fix bisections on bug web UI
2019-10-04 17:51:16 +02:00