aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report/testdata/linux
Commit message (Collapse)AuthorAgeFilesLines
* pkg/report: skip strncpy in linux reportsDmitry Vyukov2018-12-121-0/+55
|
* pkg/report: refine rcu stall detectionDmitry Vyukov2018-11-221-0/+69
| | | | Add another anchor frame.
* pkg/report: fix corrupted stack trace checkingDmitry Vyukov2018-11-221-0/+1139
| | | | | | | | | | | | | | We started detecting all kernel reboots as corrupted, because we considered that after any "Allocated" line a stack trace should follow. Kernel boot output now contains: ima: Allocated hash algorithm: sha256 and there is no stack trace after that. 1. Refine stack trace regexps (we actually want to look for "Allocated by task PID:" lines). 2. Don't check stacks if report format says that it does not contain stacks.
* pkg/report: add "PANIC: double fault" report formatDmitry Vyukov2018-11-225-1/+164
| | | | | | | Amusing that's another kernel failure mode that we are discovering after 3 years. One can't even reliably understand when kernel has crashed. I wonder if syzkaller never hit these, or just never recognized and reported them. We will see. Don't even want to think about arm kernel output parsing.
* pkg/report: ignore arch/.*/mm/physaddr.c as guilty fileDmitry Vyukov2018-10-101-0/+51
| | | | | | | This is called from kfree in the added test. We already ignore everything related to kmalloc/free and e.g. arch/.*/mm/fault.c, so it looks reasonable to ignore this one too.
* pkg/report: ignore printk as guilty fileDmitry Vyukov2018-09-281-0/+103
|
* pkg/report: improve KMEMLEAK report parsingDmitry Vyukov2018-09-284-0/+95
| | | | Skip few more common allocation functions.
* pkg/report: fix guilty file extractionDmitry Vyukov2018-09-262-0/+78
| | | | | Account for the case that some file names can appear _before_ crash report starts. Start extracting guilty file starting from StartPos.
* pkg/report: ignore more str* functionsDmitry Vyukov2018-09-243-0/+555
|
* pkg/report: improve KMSAN report parsingDmitry Vyukov2018-09-138-6/+218
| | | | | | Extract guilty frame from stack. Add few more ignored functions. Add more tests.
* pkg/report: improve rcu stall/lockup reportsDmitry Vyukov2018-09-1046-471/+2093
| | | | | | | | | | | | | | | | During rcu stalls and cpu lockups kernel loops in some part of code, usually across several functions. When the stall is detected, traceback points to a random stack within the looping code. We generally take the top function in the stack (with few exceptions) as the bug identity. As the result stalls with the same root would produce multiple reports in different functions, which is bad. Instead we identify a representative function deeper in the stack. For most syscalls it can be the syscall entry function (e.g. SyS_timer_create). However, for highly discriminated functions syscalls like ioctl/read/write/connect we take the previous function (e.g. for connect the one that points to exact protocol, or for ioctl the one that is related to the device). Fixes #710
* pkg/report: ignore mm/memory.c as guilty fileDmitry Vyukov2018-08-291-0/+61
|
* pkg/report: ignore android art debug outputDmitry Vyukov2018-08-251-0/+10
|
* pkg/report: ignore another mutex lock guts functionDmitry Vyukov2018-08-131-0/+102
|
* pkg/report: skip more spinlock framesDmitry Vyukov2018-08-041-0/+116
| | | | | | Currently this report is named: "general protection fault in perf_trace_lock" which is bad.
* pkg/report: fix kmalloc bug in kreallocDmitry Vyukov2018-07-162-0/+136
|
* pkg/report: add "lock held when returning to user space" format for older ↵Dmitry Vyukov2018-07-131-0/+10
| | | | kernels
* pkg/report: add report format for "lock held when returning to user space"Dmitry Vyukov2018-07-121-0/+9
| | | | This report does not have stack trace, so we always detected it as corrupted.
* pkg/report: add suppressions for Go race OOMsDmitry Vyukov2018-06-231-0/+1
|
* pkg/report: add another format for null RIPDmitry Vyukov2018-06-081-0/+119
| | | | Kernel keeps inventing new formats...
* pkg/report: ignore down functions for task hung bugsDmitry Vyukov2018-06-072-0/+446
|
* pkg/report: more "NMI handler took too long" ignoresDmitry Vyukov2018-06-061-0/+2
|
* pkg/report: ignore INFO messages about long interruptsDmitry Vyukov2018-06-042-0/+4
|
* pkg/report: fix remaining lockdep report formatsDmitry Vyukov2018-04-271-0/+161
| | | | | We fixed only 1, but new format affects all lockdep reports. Fix all of them.
* pkg/report: few report parsing fixes for linuxDmitry Vyukov2018-04-266-3/+120
|
* pkg/report: sanitize titles betterDmitry Vyukov2018-04-243-1/+1959
| | | | | | | | Strip non-printable characters from titles. Trim whitespaces on both ends. Replace tabs with spaces. Remove duplicate spaces. Reduce max title length.
* pkg/report: more corrupted report detectionDmitry Vyukov2018-04-241-0/+461
|
* pkg/report: add some example arm crashesDmitry Vyukov2018-04-208-0/+296
|
* pkg/report: coarsen "unregister_netdevice" titleDmitry Vyukov2018-04-191-1/+1
| | | | | | This leads to unbounded number of bug reports as syzkaller can generate new device names dynamically. Exclude actual device name from title.
* pkg/report: filter out more corrupted reports due to fault injectionDmitry Vyukov2018-04-162-0/+640
|
* pkg/report: detect hangs in unregister_netdeviceDmitry Vyukov2018-04-132-0/+151
| | | | | | Add special report format for hangs in unregister_netdevice. And support new format of lockdep reports (otherwise they all are marked as corrupted).
* pkg/report: improve corrupted report detectionDmitry Vyukov2018-04-0927-25/+543
| | | | | | | | | | | 1. If we see should_failslab frames during report parsing, that's a corrupted report with intermixed frames from fault injection stack. 2. If we matched report title and this report should contains a guilty stack frame, but we failed to extract any frame, consider it as corrupted. New tests added. Also one of the old tests is fixed.
* pkg/report: strip "panic_on_warn set" more aggressivelyDmitry Vyukov2018-04-071-0/+127
| | | | | KMSAN reports can be short, but still include full stack. The added test is only 28 lines, so reduce the threshold from 40 to 25 lines.
* pkg/report: don't blame kcovDmitry Vyukov2018-04-061-0/+63
| | | | kcov frame can be present in rcu stalls, ignore it.
* pkg/report: skip list functions during function extractionDmitry Vyukov2018-04-016-0/+1055
| | | | | List functions are very generic and we see lots of different bug merged into "bug-type in list_function".
* pkg/report: detect corrupted task hung reportsDmitry Vyukov2018-04-011-0/+33
|
* pkg/report: add few KMSAN report examplesDmitry Vyukov2018-03-265-1/+332
|
* pkg/report: add another testDmitry Vyukov2018-03-191-0/+101
|
* pkg/report: fix crash during output parsingDmitry Vyukov2018-03-081-0/+9
| | | | | | The test case causes rep.StartPos == secondReportPos, which then makes extraction of description fail, because report is empty.
* pkg/report: improve invalid-free format and ignore more mutex-related functionsDmitry Vyukov2018-03-072-0/+175
|
* pkg/report: improve KASAN report parsingDmitry Vyukov2018-03-064-2/+280
| | | | | | The problem is with "BUG: KASAN: (.*)" match which matches just anything however much it is corrupted. Mark this match as corrupted.
* pkg/report: add format for "workqueue leaked lock or atomic" crashesDmitry Vyukov2018-02-202-0/+37
|
* pkg/report: improve ODEBUG bug reportsDmitry Vyukov2018-02-191-0/+92
|
* pkg/report: skip mm/util.c in guilty filesDmitry Vyukov2018-02-142-0/+134
|
* pkg/report: improve corrupted report detectionDmitry Vyukov2018-02-124-1/+662
| | | | | | | Detect informational kernel reports that are not bugs in itself, but contain stack traces. If we see them in the middle of another report, we know stacks are intermixed and the report is potentially corrupted.
* pkg/report: harden more against corrupted reportsDmitry Vyukov2018-02-101-0/+157
|
* pkg/report: better titles for some kmalloc bugsDmitry Vyukov2018-02-103-0/+389
|
* pkg/report: special-case extraction of guilty file for rcu stallsDmitry Vyukov2018-02-072-4/+2
|
* pkg/report: improve guilty frame extractionDmitry Vyukov2018-02-075-8/+3
| | | | | | | | | | 1. Make extractStackFrame more picky about stray frames. This fixes some TODO's in tests where we matched completley unrelated frames printed by another task. 2. Extract KASAN guilty frame from report header if the frame should not be skipped (e.g. not __lock_acquire). This makes parsing more tolerant to corrupted reports.
* pkg/report: detect when several reports are intermixedDmitry Vyukov2018-02-078-5/+1045
| | | | | | | If there are more than one report, detect where the second report starts and extract description only from the first report. There are too many cases where several reports gets intermixed and as the result we extract bogus description.