Commit Graph

468 Commits

Author SHA1 Message Date
Dmitry Vyukov
3e84253bf4 dashboard/app: fix up machine info handling
Assorted local fixes fixes, like dedup machine info in the database,
fix up HTML table markup, enforce and check access to the machine info
entities, etc.

Follow up to #2085
Fixes #466
2020-09-14 15:00:02 +02:00
Cheng-Min Chiang
9eff3337ee dashboard/app: send machine information to dashboard
- Change syz-manager so that it will send machine info the first time a
  crash occurs.
- Add a field in entities.Crash to store machine info.
- Add a field in dashapi.BugReport to store machine info.
- Change the HTML template and struct uiCrash to display machine info.
- Add a test to make sure that the link to machine info appears on the
  webpage.

Update #466
2020-09-14 15:00:02 +02:00
Dmitry Vyukov
fab7609913 tools/check-whitespace.sh: check for trailing whitespaces
File types that we don't format automatically can end up
with such basic untidiness as trailing whitespaces.
Check for these. Remove all existing precedents.
2020-09-14 09:55:45 +02:00
Albert van der Linde
ac7ca78e73 dashboard/config: enable CONFIG_FAULT_INJECTION_USERCOPY
As CONFIG_FAULT_INJECTION_USERCOPY is already included in linux-next,
enable the config.

Fixes #1979
2020-09-09 14:39:22 +02:00
Andrew Donnellan
0ea7a8875d dashboard/app: add missing index for job_poll API call
At least on my dashboard setup, the API call 'job_poll' results in a
NEED_INDEX datastore error.

Add the index definition that the development server generates if you make
the job_poll API call.

Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
2020-09-09 07:14:48 +02:00
Dmitry Vyukov
8115b1e225 dashboard/config: enable BPF LSM 2020-08-07 09:28:35 +02:00
Dmitry Vyukov
56fe566546 dashboard/config: enable rcupdate.rcu_expedited
See https://bugzilla.kernel.org/show_bug.cgi?id=208299
and https://groups.google.com/forum/#!topic/kasan-dev/si9jMcgTr74
for context.
2020-08-06 15:23:05 +02:00
Marco Elver
0487ea6f5d Revert "dashboard/config: select KCSAN_VERBOSE in KCSAN config"
This reverts commit 02034dac31.

It seems that the new IRQ state tracking code that just landed in the
kernel breaks KCSAN more severely than I thought. Let disable lockdep
with KCSAN again until it is properly fixed.
2020-08-05 20:28:18 +02:00
Marco Elver
e72ba13c6e Revert "dashboard/config: disable PARAVIRT_DEBUG with KCSAN"
This reverts commit c9cef45b35.
2020-08-05 20:28:18 +02:00
Marco Elver
c9cef45b35 dashboard/config: disable PARAVIRT_DEBUG with KCSAN
Disable CONFIG_PARAVIRT_DEBUG, as it breaks lockdep+KCSAN right now.
2020-08-05 18:33:41 +02:00
Marco Elver
02034dac31 dashboard/config: select KCSAN_VERBOSE in KCSAN config
In the KCSAN config, enable KCSAN_VERBOSE to generate better reports,
that include the locks held and the IRQ trace events for each thread.

The option requires PROVE_LOCKING, which comes with some performance
cost.
2020-08-04 21:39:55 +02:00
Dmitry Vyukov
80a0690249 dashboard/config: regenerate all configs
KASAN config generated on linux-next/next-20200731.
KMSAN config generated on kmsan/93f54a72361aebdc29d5756cd77b9278a08d9861.
KCSAN config generated on upstream/v5.8-rc7.
USB config generated on usb/e3ee0e740c3887d2293e8d54a8707218d70d86ca.

In preparation for config system refactoring,
to minimize diffs and make them more meaningful.
Also to make used kernel tree revisions known.
2020-08-04 10:58:43 +02:00
Pedro Lopes
53dd7c4e25 dashboard/app: Receive Recipients from API
Changed `api.go` to receive Recipients struct and merge it with
Maintainers.
2020-07-31 17:18:29 +02:00
Pedro Lopes
68aca71e8d dashboard/dashapi: create Recipients
Create struct Recipients to store a slice structs (RecipientInfo) of
email, default name, and if the user should be added to To or Cc when
sending the email. After this commit Commit::Cc and Crash::Maintainers
will become deprecated.
2020-07-31 17:18:29 +02:00
Nazime Hande Harputluoglu
233283a191 sys/linux: descriptions for /dev/snd/hw* 2020-07-29 15:49:04 +02:00
Albert van der Linde
8497067886 dashboard/config: enable raw device driver 2020-07-20 11:30:15 +02:00
Dmitry Vyukov
1efec8f5c7 dashboard/app: say "issue" instead of "crash"
We've got several complains re using of word "crash" in all syzbot reports, e.g.:
https://groups.google.com/d/msg/syzkaller-bugs/8rFLFgQR9fo/HBYUXIRyBAAJ
https://groups.google.com/d/msg/syzkaller-bugs/3nlcT8Wn7hg/8Th16X3DBAAJ
Another suggested that "crash" is too hard for e.g. a LOCKDEP splat:
https://groups.google.com/d/msg/syzkaller/YzHLAU0dXpI/WOqq1ggBBQAJ

Another terminology complaint was regarding the following fact.
When we test a patch, we only detect if it still triggers _any_ issue
(not necessary the original one). Currently we way "still triggers crash"
(without any article, which is probably wrong from English perspective
anyway). We did not say "the", but people assumed that and complained.
Explicitly say "a".

Also replace all uses of "bug" with "issue" for consistency.
And use "final oops" instead of "final crash", which seems
to be standard terminology at least for Linux:
https://en.wikipedia.org/wiki/Linux_kernel_oops
2020-07-14 23:21:01 +02:00
Dmitry Vyukov
f90ec89960 dashboard/config: update config to next-20200710 2020-07-13 09:32:49 +02:00
Dmitry Vyukov
c1147c8df7 all: fix comments format
Fix capitalization, dots at the end
and two spaces after a period.

Update #1876
2020-07-12 08:22:44 +02:00
Dmitry Vyukov
fd3bba535d dashboard/app: cache per-namespace bug stats
We used to show number of fixed bugs at the top of the main page.
However, now with the button nagivation, "fixed" is shown on every page.
Fetching and processing all bugs on every page would be unwise.
Cache these stats in memcache. It will be useful to show more stats in future.
2020-07-09 19:40:12 +02:00
Dmitry Vyukov
c063196348 dashboard/app: add memcache to admin interface
Add memcache statistics and flush action to the admin page
in preparation for actually using memcache in future commits.
2020-07-09 19:40:12 +02:00
Dmitry Vyukov
353d190191 dashboard/app: add navigation buttons
Currently we have only "fixed" link at the top of the page.
"invalid" is missing and this is not scalable.
Add natigation buttons (tabs) for main pages.
2020-07-09 19:40:12 +02:00
Dmitry Vyukov
3940e7a64f all: fix log/error text starting with capital letter
Update #1876
2020-07-05 10:55:16 +02:00
Dmitry Vyukov
fcb219b67e all: don't compare string len with 0
For strings it's more readable to compare the string itself with "",
instead of comparing len with 0. Fix all such cases.

Update #1876
2020-07-04 15:05:30 +02:00
Dmitry Vyukov
b1b6c0ed6d dashboard/app: use DailyLimit=0 to mark disabled reportings
We currently use ConstFilter(FilterHold) to mark disabled reportings.
But this condition is impossible to check (even if we make it a named
function, functions are not comparable).
Use DailyLimit=0 as a way to say the same. Note: previously it was used to say "no limit".
This is needed for the next change that needs to understand the active last reporting.
2020-06-23 16:42:46 +02:00
Dmitry Vyukov
854773ea9f dashboard/app: prohibit dup cycles
Bug dup cycles are not useful and the
rest of the code is not prepared for them.
Prohibit updates that create cycles.
This required to restructure the code to move
the check into the transaction, so that we
can't get cycles even after concurrent updates.

Fixes #1852
2020-06-23 16:42:46 +02:00
Andrey Konovalov
2c4fd27e5b dashboard/config, sys/linux: update usb config 2020-06-19 18:43:45 +02:00
Dmitry Vyukov
a9bc67ccc6 dashboard/config: update config to next-20200613 2020-06-13 19:30:12 +02:00
Dmitry Vyukov
588020678f all: use more respective language
Some terms are normalised on the technical level
but may be oppressive on a societal level.
Replace them with more technically neutral terms.
See the following doc for a longer version:
https://tools.ietf.org/id/draft-knodel-terminology-00.html
2020-06-11 23:19:34 +02:00
m00nbsd
7604bb0341
dashboard/config/netbsd: add fault(4) to the kernel build (#1795) 2020-06-08 11:59:03 +02:00
Dmitry Vyukov
2b2857bd21 .golangci.yml: enable funlen checker
Checks for too long functions (based on lines and statements).
2020-06-05 12:23:19 +02:00
Dmitry Vyukov
e3d77cf2a3 .golangci.yml: enable godot checker
A good one. Lots of fixed comments are contributed by episodic contributors.
So it's good to catch these earlier.
2020-06-05 12:23:19 +02:00
Andrey Konovalov
66f8bb2026 dashboard, syz-ci: add blacklist for bisection results
Currently only ignores the commit that adds the Raw Gadget interface.

Requested here:
https://groups.google.com/g/syzkaller-bugs/c/sZUeGC3Fh-o/m/t_5cKPrMAQAJ
2020-06-03 10:24:14 +02:00
Dmitry Vyukov
52fd7b7d77 tools: add syz-big-env
On top of syz-env it provides akaros/fuchsia/netbsd toolchains and gcloud sdk.
With this it's possible to run dashboard/app tests on CI and locally
and test executor build and pkg/{csource,cover} for these OSes.

Update #1765
2020-06-02 13:39:30 +02:00
Dmitry Vyukov
3905eaae00 dashboard/config: enable RCU_EQS_DEBUG
For context see:
https://groups.google.com/d/msg/syzkaller-bugs/2viu2RYTzZE/lu5DNOytAAAJ
2020-05-29 16:23:13 +02:00
m00nbsd
c61086ab68
dashboard/config: improve the NetBSD configs 2020-05-20 14:58:07 -07:00
Dmitry Vyukov
4afdfa205b dashboard/config: disable PROVE_RAW_LOCK_NESTING
It does not work yet.
Generated on next-20200519.
2020-05-20 15:39:22 +02:00
Dmitry Vyukov
8f2ad84be9 dashboard/config: update main config to next-20200518 2020-05-19 20:25:08 +02:00
Dmitry Vyukov
672c10ad7c all: add missing copyright statements 2020-05-18 11:34:42 +02:00
Dmitry Vyukov
88cb3e92ba dashboard/app: add notion of per-repo build maintainers
For context see:
https://groups.google.com/d/msg/syzkaller/9HxkC_hRP4M/MzFl4laADgAJ

Now if, say, linux-next, is build/boot-broken we can CC maintainers of the tree.

Fixes #1667
2020-05-09 15:40:30 +02:00
Dmitry Vyukov
e97b06d3ce dashboard/app: show patch testing requests on bug page
Fixes #1547
2020-05-08 15:48:07 +02:00
Dmitry Vyukov
a788005625 dashboard/app: collect BB coverage stats from managers
Fixes #1698
2020-05-08 14:09:35 +02:00
Dmitry Vyukov
2b98fdbcbc dashboard/app: fix send of replies for patch testing
We used to send replies even if bug has fixing commits.
Was broken in f8368f999a
and we did not have a test. Add a test and restore old
behavior.
2020-05-08 12:29:00 +02:00
Andrey Konovalov
1913718f34 dashboard/config: add CONFIG_TWIST_FOR_SYZKALLER_TESTING config 2020-05-08 09:13:41 +02:00
Marco Elver
fa822db46a dashboard/config: Enable USB_RAW_GADGET for KCSAN config
The latest kernel includes USB raw-gadget support. Enable it for KCSAN.
2020-05-07 14:28:41 +02:00
Marco Elver
9b994354ae dashboard/config: Update KCSAN config 2020-05-07 14:28:41 +02:00
Dmitry Vyukov
08bed8d769 dashboard/app: fix linter warnings 2020-04-29 16:32:33 +02:00
Dmitry Vyukov
496a08ae32 dashboard/app: introduce notion of "decommissioned" namespaces
Decommissioned namespaces are not actively tested, no notifications are sent, etc.
UI is somewhat different, we don't want about broken builds, etc.
They are kept mostly read-only for historical reference.
2020-04-29 13:14:07 +02:00
Dmitry Vyukov
d397d49acd dashboard/app: remove old namespace redirects
We kept redirects from old URLs for more than a year.
It's time to remove them. Old links, if they still exist,
need to be updated sooner or later.
2020-04-29 13:07:43 +02:00
Dmitry Vyukov
ba2806dbc6 dashboard/app: add help link for coverage reports 2020-04-29 09:09:35 +02:00