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".
To make it possible to provide URLs that jump to a specific BugNamespace,
this adds clickable anchors for each of the BugNamespaces without changing
the current appearance of the h2 tag.
See the issue for the problem description.
Include repro level into reporting priority,
so that we can order by just it during selection
and ignore ReproC/ReproSyz.
Fixes#634
See #516 for description of the problem.
The new scheme is:
1. RCU stalls the highest priority.
CONFIG_RCU_CPU_STALL_TIMEOUT=100
which results in stalls detected after 100-101 secs.
2. Then softlockup detector.
kernel.watchdog_thresh = 55 (sysctl)
which surprisingly detects stalls after 110-132 secs.
3. Then hung tasks and workqueue stalls.
Unfortunately we can't separate them because that would
require setting "no output" timeout to 10+ minutes.
workqueue.watchdog_thresh=140 (cmdline)
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
Both are detected after 140-280 secs.
4. Finally, "no output" crashes.
Detected by vm.MonitorExecution after 300 secs.
Fixes#516
I had missed that once hardening is enabled, it automatically disables
any exposure of JITed addresses, therefore when crashes or warnings are
thrown we don't unwind beyond a helper function. For now disable hardening.
After merge window I'll see if it's possible to detangle the case where
kernel queries kallsyms internally to find function names whenever a WARN
or BUG is thrown. If that's not possible easily, we can potentially add a
harden mode 3 which does hardening but does not disable kallsyms exposure
and then set this here for tools like syzkaller.
Fixes: ac9b19d2e4 ("bpf: enable hardening mode 1 for jited images")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
[dvyukov: also updated dashboard/config/upstream.sysctl]
Since dateSort does not take years into account, Time field of long-standing
bugs is not sorted correctly. Also, it will become more useful to
include year of closed date after we operate the dashboard for some years.
Thus, this patch changes the format of formatTime method, and use textSort
for sorting.
Based on patch by Tetsuo Handa.
dashboard/app/api.go:390:28⚠️ do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (SA1012) (megacheck)
Under Firefox 60 browser, sort operation does not work and
ReferenceError: event is not defined
error message is printed in the Web Console window.
Let's explicitly pass an object reference to the sortTable function.
Credit goes to Tetsuo Handa.
Currently one needs to switch between config_stub.go and prod
config back and forth on every deployment. This is very
inconvinient. Rework config, so that switching is not necessary.
bug.LastTime is updated on every crash, even if we don't save it.
As the result we did not save recent crashes for popular bugs at all.
Fix this by introducing bug.LastSavedCrash.
Exact details of syzbot communication change over time,
so it's a bad idea to hardcode them in each email.
Full details are also quite lengthy, so we can't express
all of them in each email header. And providing partial
info may be worse than just providing a link to full info.
So remove most details from email footer,
and just give links to documentation.
Also clarify docs re when "syz fix" should/can be used.
Normally instances can test patches on any tree.
However, some (e.g. non-upstreamed KMSAN) can test only on a fixed tree.
RestrictedTestingRepo contains the repo for such instances
and RestrictedTestingReason contains a human readable reason for the restriction.
Fixes#567
This implements 2 features:
1. It's now possible to specify exact commit when testing as:
2. It's possible to test without patch attached
assuming the patch is already committed to the tested tree.
Fixes#558