diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-04-09 14:19:51 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-04-09 14:19:51 +0200 |
| commit | 3fdee3b0057fc61eb4cea14173183877c343f193 (patch) | |
| tree | 2761f3282632bf277a1a2ff00f6746e798fdd27d /pkg | |
| parent | f13fb4453e351757c8b77c7c0dc0d9d9967a16b8 (diff) | |
pkg/report: improve corrupted report detection
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.
Diffstat (limited to 'pkg')
30 files changed, 613 insertions, 63 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go index 5b3404d19..6d018e1af 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -579,6 +579,10 @@ var linuxStackParams = &stackParams{ "list_move", "list_splice", }, + corruptedLines: []*regexp.Regexp{ + // Fault injection stacks are frequently intermixed with crash reports. + compile(`^ should_failslab\+0x`), + }, } func warningStackFmt(skip ...string) *stackFmt { diff --git a/pkg/report/report.go b/pkg/report/report.go index 82e68edc4..d738761d8 100644 --- a/pkg/report/report.go +++ b/pkg/report/report.go @@ -142,15 +142,11 @@ func matchOops(line []byte, oops *oops, ignores []*regexp.Regexp) int { if match == -1 { return -1 } - for _, supp := range oops.suppressions { - if supp.Match(line) { - return -1 - } + if matchesAny(line, oops.suppressions) { + return -1 } - for _, ignore := range ignores { - if ignore.Match(line) { - return -1 - } + if matchesAny(line, ignores) { + return -1 } return match } @@ -183,10 +179,13 @@ func extractDescription(output []byte, oops *oops, params *stackParams) ( for i := 2; i < len(match); i += 2 { args = append(args, string(output[match[i]:match[i+1]])) } + corrupted = false if f.stack != nil { - frame := extractStackFrame(params, f.stack, output[match[0]:]) + frame := "" + frame, corrupted = extractStackFrame(params, f.stack, output[match[0]:]) if frame == "" { - continue + frame = "corrupted" + corrupted = true } args = append(args, frame) } @@ -195,8 +194,11 @@ func extractDescription(output []byte, oops *oops, params *stackParams) ( } if len(desc) == 0 { // If we are here and matchedTitle is set, it means that we've matched - // a title of an oops but not full report regexp or stack trace. - corrupted = matchedTitle + // a title of an oops but not full report regexp or stack trace, + // which means the report was corrupted. + if matchedTitle { + corrupted = true + } pos := bytes.Index(output, oops.header) if pos == -1 { return @@ -227,34 +229,39 @@ type stackParams struct { frameRes []*regexp.Regexp // skipPatterns match functions that must be unconditionally skipped. skipPatterns []string + // If we looked at any lines that match corruptedLines during report analysis, + // then the report is marked as corrupted. + corruptedLines []*regexp.Regexp } -func extractStackFrame(params *stackParams, stack *stackFmt, output []byte) string { +func extractStackFrame(params *stackParams, stack *stackFmt, output []byte) (string, bool) { skip := append([]string{}, params.skipPatterns...) skip = append(skip, stack.skip...) var skipRe *regexp.Regexp if len(skip) != 0 { skipRe = regexp.MustCompile(strings.Join(skip, "|")) } - frame := extractStackFrameImpl(params, output, skipRe, stack.parts) + frame, corrupted := extractStackFrameImpl(params, output, skipRe, stack.parts) if frame != "" || len(stack.parts2) == 0 { - return frame + return frame, corrupted } return extractStackFrameImpl(params, output, skipRe, stack.parts2) } func extractStackFrameImpl(params *stackParams, output []byte, skipRe *regexp.Regexp, - parts []*regexp.Regexp) string { + parts []*regexp.Regexp) (string, bool) { + corrupted := false s := bufio.NewScanner(bytes.NewReader(output)) nextPart: for _, part := range parts { if part == parseStackTrace { for s.Scan() { ln := s.Bytes() - for _, re := range params.stackStartRes { - if re.Match(ln) { - continue nextPart - } + if !corrupted && matchesAny(ln, params.corruptedLines) { + corrupted = true + } + if matchesAny(ln, params.stackStartRes) { + continue nextPart } var match []int for _, re := range params.frameRes { @@ -268,12 +275,15 @@ nextPart: } frame := ln[match[2]:match[3]] if skipRe == nil || !skipRe.Match(frame) { - return string(frame) + return string(frame), corrupted } } } else { for s.Scan() { ln := s.Bytes() + if !corrupted && matchesAny(ln, params.corruptedLines) { + corrupted = true + } match := part.FindSubmatchIndex(ln) if match == nil { continue @@ -281,14 +291,23 @@ nextPart: if len(match) == 4 && match[2] != -1 { frame := ln[match[2]:match[3]] if skipRe == nil || !skipRe.Match(frame) { - return string(frame) + return string(frame), corrupted } } break } } } - return "" + return "", corrupted +} + +func matchesAny(line []byte, res []*regexp.Regexp) bool { + for _, re := range res { + if re.Match(line) { + return true + } + } + return false } // replace replaces [start:end] in where with what, inplace. diff --git a/pkg/report/report_test.go b/pkg/report/report_test.go index 4e234934a..f8ebe5db1 100644 --- a/pkg/report/report_test.go +++ b/pkg/report/report_test.go @@ -6,6 +6,7 @@ package report import ( "bufio" "bytes" + "flag" "fmt" "io/ioutil" "os" @@ -17,11 +18,14 @@ import ( "github.com/google/syzkaller/pkg/osutil" ) +var flagUpdate = flag.Bool("update", false, "update test files accordingly to current results") + func TestParse(t *testing.T) { forEachFile(t, "report", testParseFile) } type ParseTest struct { + FileName string Log []byte Title string StartLine string @@ -43,7 +47,9 @@ func testParseFile(t *testing.T, reporter Reporter, fn string) { phaseReport ) phase := phaseHeaders - test := &ParseTest{} + test := &ParseTest{ + FileName: fn, + } prevEmptyLine := false s := bufio.NewScanner(input) for s.Scan() { @@ -122,24 +128,27 @@ func testParseImpl(t *testing.T, reporter Reporter, test *ParseTest) { title = rep.Title corrupted = rep.Corrupted } - if title == "" && test.Title != "" { - t.Fatalf("did not find crash message") - } - if title != "" && test.Title == "" { - t.Fatalf("found bogus crash title %q", title) - } - if title != test.Title { - t.Fatalf("extracted bad crash title %+q", title) + if title != test.Title || corrupted != test.Corrupted { + if *flagUpdate && test.StartLine == "" && test.EndLine == "" { + buf := new(bytes.Buffer) + fmt.Fprintf(buf, "TITLE: %v\n", title) + if corrupted { + fmt.Fprintf(buf, "CORRUPTED: Y\n") + } + fmt.Fprintf(buf, "\n%s", test.Log) + if test.HasReport { + fmt.Fprintf(buf, "REPORT:\n%s", test.Report) + } + if err := ioutil.WriteFile(test.FileName, buf.Bytes(), 0640); err != nil { + t.Logf("failed to update test file: %v", err) + } + } + t.Fatalf("got:\nTITLE: %s\nCORRUPTED: %v\ngot:\nTITLE: %s\nCORRUPTED: %v\n", + title, corrupted, test.Title, test.Corrupted) } if title != "" && len(rep.Report) == 0 { t.Fatalf("found crash message but report is empty") } - if corrupted && !test.Corrupted { - t.Fatalf("report is incorrectly marked as corrupted") - } - if !corrupted && test.Corrupted { - t.Fatalf("failed to mark report '%s' as corrupted", title) - } if rep != nil { if test.HasReport && !bytes.Equal(rep.Report, test.Report) { t.Fatalf("extracted wrong report:\n%s\nwant:\n%s", rep.Report, test.Report) diff --git a/pkg/report/testdata/linux/report/0 b/pkg/report/testdata/linux/report/0 index 7e92c7be8..b346d1bf2 100644 --- a/pkg/report/testdata/linux/report/0 +++ b/pkg/report/testdata/linux/report/0 @@ -1,4 +1,4 @@ -TITLE: BUG: unable to handle kernel +TITLE: BUG: unable to handle kernel paging request in corrupted CORRUPTED: Y [ 772.918915] BUG: unable to handle kernel paging request at ffff88002bde1e40 diff --git a/pkg/report/testdata/linux/report/100 b/pkg/report/testdata/linux/report/100 index 5016e3bad..4634bb329 100644 --- a/pkg/report/testdata/linux/report/100 +++ b/pkg/report/testdata/linux/report/100 @@ -1,4 +1,4 @@ -TITLE: general protection fault: 0000 [#1] SMP KASAN +TITLE: general protection fault in corrupted CORRUPTED: Y [ 1722.511384] kasan: CONFIG_KASAN_INLINE enabled diff --git a/pkg/report/testdata/linux/report/11 b/pkg/report/testdata/linux/report/11 index f4a92fff0..e19fb2f72 100644 --- a/pkg/report/testdata/linux/report/11 +++ b/pkg/report/testdata/linux/report/11 @@ -1,4 +1,4 @@ -TITLE: BUG: unable to handle kernel +TITLE: BUG: unable to handle kernel paging request in corrupted CORRUPTED: Y [ 1581.999813] BUG: unable to handle kernel paging request at ffffea0000f0e440 diff --git a/pkg/report/testdata/linux/report/126 b/pkg/report/testdata/linux/report/126 index 197cc7d41..507ad8234 100644 --- a/pkg/report/testdata/linux/report/126 +++ b/pkg/report/testdata/linux/report/126 @@ -1,4 +1,4 @@ -TITLE: BUG: memory leak +TITLE: memory leak in corrupted CORRUPTED: Y 2018/01/09 14:28:48 BUG: memory leak diff --git a/pkg/report/testdata/linux/report/136 b/pkg/report/testdata/linux/report/136 index f2267e640..750b4b0c7 100644 --- a/pkg/report/testdata/linux/report/136 +++ b/pkg/report/testdata/linux/report/136 @@ -1,4 +1,4 @@ -TITLE: BUG: using __this_cpu_read() in preemptible [ADDR] code: syz-executor +TITLE: BUG: using __this_cpu_read() in preemptible code in corrupted CORRUPTED: Y [ 62.873963] BUG: using __this_cpu_read() in preemptible [00000000] code: syz-executor7/11203 diff --git a/pkg/report/testdata/linux/report/138 b/pkg/report/testdata/linux/report/138 index 8cb418200..7fff497bb 100644 --- a/pkg/report/testdata/linux/report/138 +++ b/pkg/report/testdata/linux/report/138 @@ -1,4 +1,4 @@ -TITLE: INFO: task syz-executor blocked for more than 120 seconds. +TITLE: INFO: task hung in corrupted CORRUPTED: Y [ 369.632194] INFO: task syz-executor1:12659 blocked for more than 120 seconds. diff --git a/pkg/report/testdata/linux/report/15 b/pkg/report/testdata/linux/report/15 index 01f7726eb..73ee802ab 100644 --- a/pkg/report/testdata/linux/report/15 +++ b/pkg/report/testdata/linux/report/15 @@ -1,4 +1,4 @@ -TITLE: KASAN: slab-out-of-bounds in memcpy at addr ADDR +TITLE: KASAN: slab-out-of-bounds Read in corrupted CORRUPTED: Y [ 1722.511384] ================================================================== diff --git a/pkg/report/testdata/linux/report/154 b/pkg/report/testdata/linux/report/154 index 0621018ea..a32f3b75c 100644 --- a/pkg/report/testdata/linux/report/154 +++ b/pkg/report/testdata/linux/report/154 @@ -1,4 +1,4 @@ -TITLE: BUG: unable to handle kernel +TITLE: BUG: unable to handle kernel paging request in corrupted CORRUPTED: Y [ 85.149573] BUG: unable to handle kernel paging request at ffffffff0001eea6 diff --git a/pkg/report/testdata/linux/report/178 b/pkg/report/testdata/linux/report/178 index bbe1a4583..818a05bd3 100644 --- a/pkg/report/testdata/linux/report/178 +++ b/pkg/report/testdata/linux/report/178 @@ -1,4 +1,4 @@ -TITLE: INFO: task syz-executor blocked for more than 120 seconds. +TITLE: INFO: task hung in corrupted CORRUPTED: Y [ 861.152227] INFO: task syz-executor3:10976 blocked for more than 120 seconds. diff --git a/pkg/report/testdata/linux/report/180 b/pkg/report/testdata/linux/report/180 index 0621018ea..a32f3b75c 100644 --- a/pkg/report/testdata/linux/report/180 +++ b/pkg/report/testdata/linux/report/180 @@ -1,4 +1,4 @@ -TITLE: BUG: unable to handle kernel +TITLE: BUG: unable to handle kernel paging request in corrupted CORRUPTED: Y [ 85.149573] BUG: unable to handle kernel paging request at ffffffff0001eea6 diff --git a/pkg/report/testdata/linux/report/20 b/pkg/report/testdata/linux/report/20 index 444f7c2ac..f76942251 100644 --- a/pkg/report/testdata/linux/report/20 +++ b/pkg/report/testdata/linux/report/20 @@ -1,4 +1,4 @@ -TITLE: BUG: unable to handle kernel +TITLE: BUG: unable to handle kernel NULL pointer dereference in corrupted CORRUPTED: Y [ 149.188010] BUG: unable to handle kernel NULL pointer dereference at 000000000000058c diff --git a/pkg/report/testdata/linux/report/201 b/pkg/report/testdata/linux/report/201 index a6e165ed0..e79f94bbe 100644 --- a/pkg/report/testdata/linux/report/201 +++ b/pkg/report/testdata/linux/report/201 @@ -1,4 +1,4 @@ -TITLE: general protection fault: 0000 [#1] PREEMPT SMP KASAN +TITLE: general protection fault in corrupted CORRUPTED: Y [ 32.536478] binder: BINDER_SET_CONTEXT_MGR already set diff --git a/pkg/report/testdata/linux/report/218 b/pkg/report/testdata/linux/report/218 index 3af708482..d4f527760 100644 --- a/pkg/report/testdata/linux/report/218 +++ b/pkg/report/testdata/linux/report/218 @@ -1,5 +1,5 @@ -# TODO: this is actually corrupted because of the intervening vmalloc allocation failure. -TITLE: WARNING in debug_print_object +TITLE: WARNING: ODEBUG bug in corrupted +CORRUPTED: Y [ 127.347754] xprt_adjust_timeout: rq_timeout = 0! [ 127.359095] ------------[ cut here ]------------ diff --git a/pkg/report/testdata/linux/report/229 b/pkg/report/testdata/linux/report/229 new file mode 100644 index 000000000..e2d150516 --- /dev/null +++ b/pkg/report/testdata/linux/report/229 @@ -0,0 +1,190 @@ +TITLE: WARNING: kmalloc bug in corrupted +CORRUPTED: Y + +[ 212.560360] FAULT_INJECTION: forcing a failure. +[ 212.560360] name failslab, interval 1, probability 0, space 0, times 0 +[ 212.561336] BFS-fs: bfs_fill_super(): loop0 is unclean, continuing +[ 212.571639] CPU: 1 PID: 17814 Comm: syz-executor3 Not tainted 4.16.0+ #11 +[ 212.571646] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 212.571650] Call Trace: +[ 212.571667] dump_stack+0x1a7/0x27d +[ 212.571681] ? arch_local_irq_restore+0x53/0x53 +[ 212.571695] ? lockdep_init_map+0x9/0x10 +[ 212.578121] WARNING: CPU: 0 PID: 17813 at mm/slab_common.c:1012 kmalloc_slab+0x5d/0x70 +[ 212.584909] should_fail+0x914/0xae0 +[ 212.594229] Kernel panic - not syncing: panic_on_warn set ... +[ 212.594229] +[ 212.596797] ? fault_create_debugfs_attr+0x1f0/0x1f0 +[ 212.633158] ? __raw_spin_lock_init+0x1c/0x100 +[ 212.637722] ? trace_hardirqs_on_caller+0x421/0x5c0 +[ 212.642722] ? find_held_lock+0x35/0x1d0 +[ 212.646766] ? find_held_lock+0x35/0x1d0 +[ 212.650822] ? check_same_owner+0x320/0x320 +[ 212.655124] ? rcu_note_context_switch+0x710/0x710 +[ 212.660032] ? kasan_check_read+0x11/0x20 +[ 212.664161] should_failslab+0xec/0x120 +[ 212.668116] kmem_cache_alloc+0x47/0x760 +[ 212.672156] ? find_held_lock+0x35/0x1d0 +[ 212.676203] get_empty_filp+0xfb/0x510 +[ 212.680066] ? d_instantiate+0x79/0xa0 +[ 212.683931] ? proc_nr_files+0x60/0x60 +[ 212.687795] ? lock_downgrade+0x980/0x980 +[ 212.691922] ? lock_release+0xa40/0xa40 +[ 212.695876] ? kasan_check_read+0x11/0x20 +[ 212.700004] ? do_raw_spin_unlock+0x9e/0x310 +[ 212.704390] ? do_raw_spin_trylock+0x1a0/0x1a0 +[ 212.708950] ? kasan_check_write+0x14/0x20 +[ 212.713165] ? do_raw_spin_lock+0xc1/0x230 +[ 212.717381] alloc_file+0x26/0x390 +[ 212.720899] ? kasan_check_write+0x14/0x20 +[ 212.725114] __shmem_file_setup+0x54f/0x6a0 +[ 212.729416] ? __check_object_size+0x8b/0x530 +[ 212.733890] ? shmem_fill_super+0xa10/0xa10 +[ 212.738192] ? get_unused_fd_flags+0x121/0x190 +[ 212.742753] ? __alloc_fd+0x750/0x750 +[ 212.746533] ? kasan_check_write+0x14/0x20 +[ 212.750748] ? _copy_from_user+0x99/0x110 +[ 212.754877] SyS_memfd_create+0x3ba/0x4c0 +[ 212.759004] ? memfd_fcntl+0x12e0/0x12e0 +[ 212.763048] ? do_syscall_64+0xb7/0x940 +[ 212.767004] ? memfd_fcntl+0x12e0/0x12e0 +[ 212.771043] do_syscall_64+0x281/0x940 +[ 212.774909] ? vmalloc_sync_all+0x30/0x30 +[ 212.779037] ? _raw_spin_unlock_irq+0x27/0x70 +[ 212.783510] ? finish_task_switch+0x1c1/0x810 +[ 212.787983] ? syscall_return_slowpath+0x550/0x550 +[ 212.792890] ? syscall_return_slowpath+0x2ac/0x550 +[ 212.797797] ? prepare_exit_to_usermode+0x350/0x350 +[ 212.802789] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 212.808133] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 212.812955] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 212.818125] RIP: 0033:0x4552d9 +[ 212.821293] RSP: 002b:00007f346514cbb8 EFLAGS: 00000246 ORIG_RAX: 000000000000013f +[ 212.828982] RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 00000000004552d9 +[ 212.836227] RDX: 0000000020000218 RSI: 0000000000000000 RDI: 00000000004ba0e5 +[ 212.843475] RBP: 000000000072bea0 R08: 0000000000000000 R09: 0000000000000001 +[ 212.850725] R10: 0000000002000000 R11: 0000000000000246 R12: 0000000000000014 +[ 212.857972] R13: 0000000000000662 R14: 00000000006fc9d0 R15: 0000000000000003 +[ 212.865231] CPU: 0 PID: 17813 Comm: syz-executor0 Not tainted 4.16.0+ #11 +[ 212.872149] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 212.881505] Call Trace: +[ 212.884088] dump_stack+0x1a7/0x27d +[ 212.887715] ? arch_local_irq_restore+0x53/0x53 +[ 212.892384] ? vsnprintf+0x1ed/0x1900 +[ 212.896180] panic+0x1f8/0x42c +[ 212.899363] ? refcount_error_report+0x214/0x214 +[ 212.904109] ? show_regs_print_info+0x18/0x18 +[ 212.908598] ? __warn+0x1c1/0x200 +[ 212.912044] ? kmalloc_slab+0x5d/0x70 +[ 212.915838] __warn+0x1dc/0x200 +[ 212.917356] BFS-fs: bfs_fill_super(): loop2 is unclean, continuing +[ 212.919106] ? kmalloc_slab+0x5d/0x70 +[ 212.919121] report_bug+0x1f4/0x2b0 +[ 212.919134] fixup_bug.part.10+0x37/0x80 +[ 212.919141] do_error_trap+0x2d7/0x3e0 +[ 212.919151] ? math_error+0x400/0x400 +[ 212.925475] BFS-fs: bfs_fill_super(): Superblock is corrupted +[ 212.929234] ? remove_wait_queue+0x350/0x350 +[ 212.929247] ? __sched_text_start+0x8/0x8 +[ 212.929260] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 212.929271] do_invalid_op+0x1b/0x20 +[ 212.967437] invalid_op+0x1b/0x40 +[ 212.970890] RIP: 0010:kmalloc_slab+0x5d/0x70 +[ 212.975282] RSP: 0018:ffff88018d637908 EFLAGS: 00010246 +[ 212.980637] RAX: 0000000000000000 RBX: ffff8801be761004 RCX: ffffffff820964ba +[ 212.987895] RDX: 1ffff1003a59d624 RSI: 0000000000000000 RDI: 0000000000800000 +[ 212.995154] RBP: ffff88018d637908 R08: ffffed003b604f99 R09: ffffed003b604f99 +[ 213.002419] R10: 0000000000000001 R11: ffffed003b604f98 R12: 00000000007fffff +[ 213.009683] R13: ffff8801be761000 R14: 00000000014080c0 R15: ffff88018cf8c400 +[ 213.016956] ? bfs_fill_super+0x38a/0xea0 +[ 213.021104] __kmalloc+0x25/0x760 +[ 213.021257] FAULT_INJECTION: forcing a failure. +[ 213.021257] name failslab, interval 1, probability 0, space 0, times 0 +[ 213.024544] ? __might_sleep+0x95/0x190 +[ 213.024558] ? bfs_fill_super+0x3d3/0xea0 +[ 213.024566] ? bfs_fill_super+0xde4/0xea0 +[ 213.024578] bfs_fill_super+0x3d3/0xea0 +[ 213.024590] ? snprintf+0xc0/0xf0 +[ 213.024606] ? set_blocksize+0x1f1/0x260 +[ 213.024621] mount_bdev+0x2b7/0x370 +[ 213.062960] ? bfs_iget+0xb70/0xb70 +[ 213.066568] bfs_mount+0x34/0x40 +[ 213.069918] mount_fs+0x66/0x2d0 +[ 213.073266] vfs_kern_mount.part.26+0xc6/0x4a0 +[ 213.077828] ? may_umount+0xa0/0xa0 +[ 213.081437] ? _raw_read_unlock+0x22/0x30 +[ 213.085564] ? __get_fs_type+0x8a/0xc0 +[ 213.089442] do_mount+0xea4/0x2bb0 +[ 213.092960] ? __might_fault+0x110/0x1d0 +[ 213.097002] ? copy_mount_string+0x40/0x40 +[ 213.101220] ? check_same_owner+0x320/0x320 +[ 213.105524] ? __check_object_size+0x8b/0x530 +[ 213.110005] ? __might_sleep+0x95/0x190 +[ 213.113967] ? kasan_check_write+0x14/0x20 +[ 213.118185] ? _copy_from_user+0x99/0x110 +[ 213.122311] ? memdup_user+0x5e/0x90 +[ 213.126006] ? copy_mount_options+0x1f7/0x2e0 +[ 213.130483] SyS_mount+0xab/0x120 +[ 213.133917] ? copy_mnt_ns+0xb40/0xb40 +[ 213.137786] do_syscall_64+0x281/0x940 +[ 213.141653] ? vmalloc_sync_all+0x30/0x30 +[ 213.145782] ? _raw_spin_unlock_irq+0x27/0x70 +[ 213.150255] ? finish_task_switch+0x1c1/0x810 +[ 213.154734] ? syscall_return_slowpath+0x550/0x550 +[ 213.159640] ? syscall_return_slowpath+0x2ac/0x550 +[ 213.164549] ? prepare_exit_to_usermode+0x350/0x350 +[ 213.169542] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 213.174888] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 213.179716] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 213.184884] RIP: 0033:0x457d0a +[ 213.188055] RSP: 002b:00007fa164808bb8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 +[ 213.195746] RAX: ffffffffffffffda RBX: 0000000020000000 RCX: 0000000000457d0a +[ 213.202993] RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007fa164808c00 +[ 213.210244] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000020000000 +[ 213.217578] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000013 +[ 213.224824] R13: 0000000000000662 R14: 00000000006fc9d0 R15: 0000000000000000 +[ 213.232084] CPU: 1 PID: 17834 Comm: syz-executor3 Not tainted 4.16.0+ #11 +[ 213.238994] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 213.248320] Call Trace: +[ 213.250884] dump_stack+0x1a7/0x27d +[ 213.254490] ? arch_local_irq_restore+0x53/0x53 +[ 213.259134] ? lock_downgrade+0x980/0x980 +[ 213.263264] should_fail+0x914/0xae0 +[ 213.266954] ? fault_create_debugfs_attr+0x1f0/0x1f0 +[ 213.272034] ? up_write+0x72/0x210 +[ 213.275548] ? up_read+0x110/0x110 +[ 213.279062] ? find_held_lock+0x35/0x1d0 +[ 213.283108] ? check_same_owner+0x320/0x320 +[ 213.287408] ? rcu_note_context_switch+0x710/0x710 +[ 213.293199] should_failslab+0xec/0x120 +[ 213.297150] kmem_cache_alloc+0x47/0x760 +[ 213.301188] ? __lock_is_held+0xb6/0x140 +[ 213.305229] getname_flags+0xcb/0x580 +[ 213.309003] getname+0x19/0x20 +[ 213.312173] do_sys_open+0x2e7/0x6d0 +[ 213.315865] ? filp_open+0x70/0x70 +[ 213.319379] ? SyS_pread64+0x190/0x190 +[ 213.323244] ? do_sys_ftruncate.constprop.14+0x112/0x5d0 +[ 213.328673] SyS_open+0x2d/0x40 +[ 213.331931] ? do_sys_open+0x6d0/0x6d0 +[ 213.335792] do_syscall_64+0x281/0x940 +[ 213.339653] ? vmalloc_sync_all+0x30/0x30 +[ 213.343777] ? _raw_spin_unlock_irq+0x27/0x70 +[ 213.348248] ? finish_task_switch+0x1c1/0x810 +[ 213.352719] ? syscall_return_slowpath+0x550/0x550 +[ 213.357622] ? syscall_return_slowpath+0x2ac/0x550 +[ 213.362533] ? prepare_exit_to_usermode+0x350/0x350 +[ 213.367525] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 213.372865] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 213.377685] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 213.382848] RIP: 0033:0x40f531 +[ 213.386012] RSP: 002b:00007f346514cbb0 EFLAGS: 00000293 ORIG_RAX: 0000000000000002 +[ 213.393695] RAX: ffffffffffffffda RBX: 0000000020000228 RCX: 000000000040f531 +[ 213.401634] RDX: 00007f346514cc0a RSI: 0000000000000002 RDI: 00007f346514cc00 +[ 213.408875] RBP: 0000000000000001 R08: 0000000000000000 R09: 000000000000000a +[ 213.416119] R10: 0000000000000075 R11: 0000000000000293 R12: 0000000000000015 +[ 213.423363] R13: 0000000000000662 R14: 00000000006fc9d0 R15: 0000000000000004 +[ 213.431058] Dumping ftrace buffer: +[ 213.434726] (ftrace buffer empty) +[ 213.438410] Kernel Offset: disabled +[ 213.442016] Rebooting in 86400 seconds.. diff --git a/pkg/report/testdata/linux/report/230 b/pkg/report/testdata/linux/report/230 new file mode 100644 index 000000000..409267226 --- /dev/null +++ b/pkg/report/testdata/linux/report/230 @@ -0,0 +1,162 @@ +TITLE: WARNING: kmalloc bug in corrupted +CORRUPTED: Y + +[ 102.088489] BFS-fs: bfs_fill_super(): loop1 is unclean, continuing +[ 102.095036] WARNING: CPU: 1 PID: 10275 at mm/slab_common.c:1012 kmalloc_slab+0x5d/0x70 +[ 102.103084] Kernel panic - not syncing: panic_on_warn set ... +[ 102.103084] +[ 102.110443] CPU: 1 PID: 10275 Comm: syz-executor1 Not tainted 4.16.0+ #14 +[ 102.117362] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 102.126708] Call Trace: +[ 102.129296] dump_stack+0x1a7/0x27d +[ 102.132924] ? arch_local_irq_restore+0x53/0x53 +[ 102.137595] ? console_unlock+0x5f5/0xfb0 +[ 102.141749] ? vsnprintf+0x1ed/0x1900 +[ 102.145550] panic+0x1f8/0x42c +[ 102.148742] ? refcount_error_report+0x214/0x214 +[ 102.153494] ? show_regs_print_info+0x18/0x18 +[ 102.157995] ? __warn+0x1c1/0x200 +[ 102.158833] FAULT_INJECTION: forcing a failure. +[ 102.158833] name failslab, interval 1, probability 0, space 0, times 0 +[ 102.161445] ? kmalloc_slab+0x5d/0x70 +[ 102.161457] __warn+0x1dc/0x200 +[ 102.161468] ? kmalloc_slab+0x5d/0x70 +[ 102.161480] report_bug+0x1f4/0x2b0 +[ 102.161496] fixup_bug.part.10+0x37/0x80 +[ 102.161507] do_error_trap+0x2d7/0x3e0 +[ 102.161516] ? math_error+0x400/0x400 +[ 102.161527] ? remove_wait_queue+0x350/0x350 +[ 102.161543] ? __sched_text_start+0x8/0x8 +[ 102.161555] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 102.212200] do_invalid_op+0x1b/0x20 +[ 102.215897] invalid_op+0x1b/0x40 +[ 102.219332] RIP: 0010:kmalloc_slab+0x5d/0x70 +[ 102.223720] RSP: 0018:ffff8801972af8d0 EFLAGS: 00010246 +[ 102.229066] RAX: 0000000000000000 RBX: ffff880185ea5004 RCX: ffffffff820a91ba +[ 102.236318] RDX: 1ffff10039d57a84 RSI: 0000000000000000 RDI: 0000000000800000 +[ 102.243567] RBP: ffff8801972af8d0 R08: ffffed003b624fb1 R09: ffffed003b624fb1 +[ 102.250821] R10: 0000000000000001 R11: ffffed003b624fb0 R12: 00000000007fffff +[ 102.258071] R13: ffff880185ea5000 R14: 00000000014080c0 R15: ffff8801c5dba300 +[ 102.265344] ? bfs_fill_super+0x38a/0xea0 +[ 102.269485] __kmalloc+0x25/0x760 +[ 102.272923] ? __might_sleep+0x95/0x190 +[ 102.276878] ? bfs_fill_super+0x3d3/0xea0 +[ 102.281009] ? bfs_fill_super+0xde4/0xea0 +[ 102.285145] bfs_fill_super+0x3d3/0xea0 +[ 102.289100] ? snprintf+0xc0/0xf0 +[ 102.292542] ? set_blocksize+0x1f1/0x260 +[ 102.296593] mount_bdev+0x2b7/0x370 +[ 102.300198] ? bfs_iget+0xb70/0xb70 +[ 102.303813] bfs_mount+0x34/0x40 +[ 102.307160] mount_fs+0x66/0x2d0 +[ 102.310511] vfs_kern_mount.part.26+0xc6/0x4a0 +[ 102.315076] ? may_umount+0xa0/0xa0 +[ 102.318686] ? _raw_read_unlock+0x22/0x30 +[ 102.322817] ? __get_fs_type+0x8a/0xc0 +[ 102.326691] do_mount+0xea4/0x2b90 +[ 102.330212] ? __might_fault+0x110/0x1d0 +[ 102.334266] ? copy_mount_string+0x40/0x40 +[ 102.338484] ? __check_object_size+0x8b/0x530 +[ 102.342966] ? __might_sleep+0x95/0x190 +[ 102.346926] ? kasan_check_write+0x14/0x20 +[ 102.351145] ? _copy_from_user+0x99/0x110 +[ 102.355282] ? memdup_user+0x5e/0x90 +[ 102.358974] ? copy_mount_options+0x1f7/0x2e0 +[ 102.363453] ksys_mount+0xab/0x120 +[ 102.366978] SyS_mount+0x39/0x50 +[ 102.370328] ? ksys_mount+0x120/0x120 +[ 102.374113] do_syscall_64+0x281/0x940 +[ 102.377984] ? vmalloc_sync_all+0x30/0x30 +[ 102.382133] ? finish_task_switch+0x1b9/0x970 +[ 102.386609] ? finish_task_switch+0x17a/0x970 +[ 102.391087] ? syscall_return_slowpath+0x550/0x550 +[ 102.396001] ? syscall_return_slowpath+0x2ac/0x550 +[ 102.400924] ? prepare_exit_to_usermode+0x350/0x350 +[ 102.405927] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 102.411275] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 102.416108] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 102.421283] RIP: 0033:0x457d0a +[ 102.424453] RSP: 002b:00007f5f23b62bb8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 +[ 102.432143] RAX: ffffffffffffffda RBX: 0000000020000000 RCX: 0000000000457d0a +[ 102.439397] RDX: 0000000020000000 RSI: 0000000020000040 RDI: 00007f5f23b62c00 +[ 102.446647] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000020000000 +[ 102.453898] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000013 +[ 102.461150] R13: 0000000000000662 R14: 00000000006fc9d0 R15: 0000000000000000 +[ 102.468421] CPU: 0 PID: 10267 Comm: syz-executor5 Not tainted 4.16.0+ #14 +[ 102.475332] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 102.484658] Call Trace: +[ 102.487223] dump_stack+0x1a7/0x27d +[ 102.490830] ? arch_local_irq_restore+0x53/0x53 +[ 102.495485] should_fail+0x914/0xae0 +[ 102.499181] ? fault_create_debugfs_attr+0x1f0/0x1f0 +[ 102.504263] ? lock_release+0xa40/0xa40 +[ 102.508217] ? print_irqtrace_events+0x270/0x270 +[ 102.512951] ? perf_trace_lock_acquire+0xe3/0x980 +[ 102.517774] ? find_held_lock+0x35/0x1d0 +[ 102.521813] ? __lock_is_held+0xb6/0x140 +[ 102.525860] ? check_same_owner+0x320/0x320 +[ 102.530157] ? trace_hardirqs_on_caller+0x421/0x5c0 +[ 102.535151] ? rcu_note_context_switch+0x710/0x710 +[ 102.540063] should_failslab+0xec/0x120 +[ 102.544016] kmem_cache_alloc_trace+0x4b/0x740 +[ 102.548575] ? init_wait_entry+0x1b0/0x1b0 +[ 102.552784] ? __fget+0x347/0x580 +[ 102.556218] ? lock_downgrade+0x980/0x980 +[ 102.560349] ? loop_get_status64+0x120/0x120 +[ 102.564733] __kthread_create_on_node+0x127/0x480 +[ 102.569556] ? kthread_park+0x130/0x130 +[ 102.573505] ? mark_held_locks+0xaf/0x100 +[ 102.577631] ? __raw_spin_lock_init+0x1c/0x100 +[ 102.582196] ? __lockdep_init_map+0xe4/0x650 +[ 102.586582] ? loop_get_status64+0x120/0x120 +[ 102.590971] kthread_create_on_node+0xc9/0x100 +[ 102.595533] ? __kthread_create_on_node+0x480/0x480 +[ 102.600532] ? rcu_report_exp_cpu_mult+0x480/0x480 +[ 102.605440] lo_ioctl+0x889/0x1b70 +[ 102.608964] ? loop_clr_fd+0xb90/0xb90 +[ 102.612829] blkdev_ioctl+0x1759/0x1e00 +[ 102.616781] ? blkpg_ioctl+0xb40/0xb40 +[ 102.620644] ? lock_downgrade+0x980/0x980 +[ 102.624772] ? kasan_check_read+0x11/0x20 +[ 102.628898] ? rcu_is_watching+0x85/0x130 +[ 102.633023] ? rcu_report_exp_cpu_mult+0x480/0x480 +[ 102.637934] ? __fget+0x370/0x580 +[ 102.641367] ? iterate_fd+0x3f0/0x3f0 +[ 102.645144] ? trace_hardirqs_off+0xd/0x10 +[ 102.649354] ? _raw_spin_unlock_irqrestore+0xa6/0xc0 +[ 102.654442] block_ioctl+0xde/0x120 +[ 102.658047] ? blkdev_fallocate+0x3b0/0x3b0 +[ 102.662344] do_vfs_ioctl+0x1b1/0x1520 +[ 102.666211] ? rcu_pm_notify+0xc0/0xc0 +[ 102.670075] ? ioctl_preallocate+0x2b0/0x2b0 +[ 102.674462] ? fget_raw+0x20/0x20 +[ 102.677887] ? putname+0xee/0x130 +[ 102.681316] ? rcu_read_lock_sched_held+0x108/0x120 +[ 102.686309] ? kmem_cache_free+0x258/0x2a0 +[ 102.690521] ? putname+0xf3/0x130 +[ 102.693953] ? do_sys_open+0x320/0x6d0 +[ 102.697822] ? security_file_ioctl+0x89/0xb0 +[ 102.702207] ksys_ioctl+0x94/0xb0 +[ 102.705641] SyS_ioctl+0x24/0x30 +[ 102.708982] ? ksys_ioctl+0xb0/0xb0 +[ 102.712586] do_syscall_64+0x281/0x940 +[ 102.716448] ? vmalloc_sync_all+0x30/0x30 +[ 102.720575] ? finish_task_switch+0x1b9/0x970 +[ 102.725048] ? finish_task_switch+0x17a/0x970 +[ 102.729519] ? syscall_return_slowpath+0x550/0x550 +[ 102.734424] ? syscall_return_slowpath+0x2ac/0x550 +[ 102.739335] ? prepare_exit_to_usermode+0x350/0x350 +[ 102.744328] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 102.749673] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 102.754495] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 102.759661] RIP: 0033:0x455147 +[ 102.762828] RSP: 002b:00007fef09fe0bb8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 +[ 102.770514] RAX: ffffffffffffffda RBX: 0000000020000228 RCX: 0000000000455147 +[ 102.777849] RDX: 0000000000000014 RSI: 0000000000004c00 RDI: 0000000000000015 +[ 102.785095] RBP: 0000000000000001 R08: 0000000000000000 R09: 000000000000000a +[ 102.792342] R10: 0000000000000075 R11: 0000000000000246 R12: 0000000000000014 +[ 102.799594] R13: 0000000000000662 R14: 00000000006fc9d0 R15: 0000000000000007 +[ 102.807275] Dumping ftrace buffer: +[ 102.811054] (ftrace buffer empty) +[ 102.814740] Kernel Offset: disabled +[ 102.818345] Rebooting in 86400 seconds.. diff --git a/pkg/report/testdata/linux/report/231 b/pkg/report/testdata/linux/report/231 new file mode 100644 index 000000000..fc46dcd0d --- /dev/null +++ b/pkg/report/testdata/linux/report/231 @@ -0,0 +1,166 @@ +TITLE: WARNING: kmalloc bug in corrupted +CORRUPTED: Y + +[ 167.468733] WARNING: CPU: 1 PID: 27333 at mm/slab_common.c:1012 kmalloc_slab+0x5d/0x70 +[ 167.476944] Kernel panic - not syncing: panic_on_warn set ... +[ 167.476944] +[ 167.478916] syz-executor0: vmalloc: allocation failure: 17045651456 bytes, mode:0x14080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) +[ 167.484301] CPU: 1 PID: 27333 Comm: syz-executor2 Not tainted 4.16.0-rc4+ #260 +[ 167.484309] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 167.484313] Call Trace: +[ 167.484330] dump_stack+0x194/0x24d +[ 167.484348] ? arch_local_irq_restore+0x53/0x53 +[ 167.484368] ? vsnprintf+0x1ed/0x1900 +[ 167.484386] panic+0x1e4/0x41c +[ 167.484399] ? refcount_error_report+0x214/0x214 +[ 167.496214] syz-executor0 cpuset= +[ 167.503519] ? show_regs_print_info+0x18/0x18 +[ 167.503540] ? __warn+0x1c1/0x200 +[ 167.503558] ? kmalloc_slab+0x5d/0x70 +[ 167.503568] __warn+0x1dc/0x200 +[ 167.512936] / +[ 167.515466] ? kmalloc_slab+0x5d/0x70 +[ 167.519083] mems_allowed=0 +[ 167.523712] report_bug+0x211/0x2d0 +[ 167.523736] fixup_bug.part.11+0x37/0x80 +[ 167.569741] do_error_trap+0x2d7/0x3e0 +[ 167.573618] ? math_error+0x400/0x400 +[ 167.577399] ? rcu_read_lock_held+0xa9/0xc0 +[ 167.581705] ? xfrm_state_get_afinfo+0x138/0x280 +[ 167.586466] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 167.591298] do_invalid_op+0x1b/0x20 +[ 167.594996] invalid_op+0x1b/0x40 +[ 167.598432] RIP: 0010:kmalloc_slab+0x5d/0x70 +[ 167.602816] RSP: 0018:ffff8801ccfc72f0 EFLAGS: 00010246 +[ 167.608159] RAX: 0000000000000000 RBX: 0000000010000018 RCX: ffffffff84ec4fc8 +[ 167.615412] RDX: 0000000000000ba7 RSI: 0000000000000000 RDI: 0000000010000018 +[ 167.622664] RBP: ffff8801ccfc72f0 R08: 0000000000000000 R09: 1ffff100399f8e21 +[ 167.629912] R10: ffff8801ccfc7040 R11: 0000000000000001 R12: 0000000000000018 +[ 167.637162] R13: ffff8801ccfc7598 R14: 00000000014080c0 R15: ffff8801aebaad80 +[ 167.644429] ? xfrm_add_sa+0x1b08/0x3440 +[ 167.648484] __kmalloc+0x25/0x760 +[ 167.651918] ? xfrm_get_mode.part.29+0x260/0x260 +[ 167.656651] ? xfrm_find_algo+0x1c4/0x270 +[ 167.660784] ? xfrm_add_sa+0x1b15/0x3440 +[ 167.664835] xfrm_add_sa+0x1b15/0x3440 +[ 167.668721] ? xfrm_send_state_notify+0x1c50/0x1c50 +[ 167.673717] ? nla_parse+0x29a/0x3d0 +[ 167.677419] ? nla_validate+0x1c0/0x1c0 +[ 167.681379] ? __netlink_ns_capable+0xe1/0x120 +[ 167.685944] ? xfrm_send_state_notify+0x1c50/0x1c50 +[ 167.690941] xfrm_user_rcv_msg+0x41c/0x860 +[ 167.695160] ? xfrm_user_rcv_msg+0x41c/0x860 +[ 167.699554] ? xfrm_dump_sa_done+0xe0/0xe0 +[ 167.703768] ? netlink_deliver_tap+0x2c0/0xf90 +[ 167.708333] ? lock_downgrade+0x980/0x980 +[ 167.712466] ? lock_release+0xa40/0xa40 +[ 167.716459] ? __might_fault+0x110/0x1d0 +[ 167.720513] netlink_rcv_skb+0x14b/0x380 +[ 167.724559] ? xfrm_dump_sa_done+0xe0/0xe0 +[ 167.728782] ? netlink_ack+0xa10/0xa10 +[ 167.732667] ? netlink_skb_destructor+0x1d0/0x1d0 +[ 167.737510] xfrm_netlink_rcv+0x6f/0x90 +[ 167.741475] netlink_unicast+0x4c4/0x6b0 +[ 167.745524] ? netlink_attachskb+0x8a0/0x8a0 +[ 167.749925] ? security_netlink_send+0x81/0xb0 +[ 167.754495] netlink_sendmsg+0xa4a/0xe60 +[ 167.758550] ? netlink_unicast+0x6b0/0x6b0 +[ 167.762776] ? security_socket_sendmsg+0x89/0xb0 +[ 167.767513] ? netlink_unicast+0x6b0/0x6b0 +[ 167.771734] sock_sendmsg+0xca/0x110 +[ 167.775435] ___sys_sendmsg+0x767/0x8b0 +[ 167.779397] ? copy_msghdr_from_user+0x590/0x590 +[ 167.784137] ? __schedule+0x903/0x1ec0 +[ 167.788020] ? __sched_text_start+0x8/0x8 +[ 167.792165] ? __fget_light+0x2b2/0x3c0 +[ 167.796123] ? fget_raw+0x20/0x20 +[ 167.799567] ? iterate_fd+0x3f0/0x3f0 +[ 167.803348] ? __fd_install+0x288/0x740 +[ 167.807306] ? get_unused_fd_flags+0x190/0x190 +[ 167.811891] __sys_sendmsg+0xe5/0x210 +[ 167.815675] ? __sys_sendmsg+0xe5/0x210 +[ 167.819635] ? SyS_shutdown+0x290/0x290 +[ 167.823605] ? exit_to_usermode_loop+0x8c/0x2f0 +[ 167.828271] ? trace_event_raw_event_sys_exit+0x260/0x260 +[ 167.833798] SyS_sendmsg+0x2d/0x50 +[ 167.837320] ? __sys_sendmsg+0x210/0x210 +[ 167.841365] do_syscall_64+0x281/0x940 +[ 167.845244] ? __do_page_fault+0xc90/0xc90 +[ 167.849459] ? _raw_spin_unlock_irq+0x27/0x70 +[ 167.853937] ? finish_task_switch+0x1c1/0x7e0 +[ 167.858416] ? syscall_return_slowpath+0x550/0x550 +[ 167.863330] ? syscall_return_slowpath+0x2ac/0x550 +[ 167.868245] ? prepare_exit_to_usermode+0x350/0x350 +[ 167.873243] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 167.878597] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 167.883433] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 167.888601] RIP: 0033:0x453e69 +[ 167.891771] RSP: 002b:00007f1cbcfbfc68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e +[ 167.899458] RAX: ffffffffffffffda RBX: 00007f1cbcfc06d4 RCX: 0000000000453e69 +[ 167.906711] RDX: 0000000000000000 RSI: 000000002014f000 RDI: 0000000000000013 +[ 167.913961] RBP: 000000000072bea0 R08: 0000000000000000 R09: 0000000000000000 +[ 167.921210] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff +[ 167.928460] R13: 00000000000004c7 R14: 00000000006f7348 R15: 0000000000000000 +[ 167.935756] CPU: 0 PID: 27337 Comm: syz-executor0 Not tainted 4.16.0-rc4+ #260 +[ 167.943107] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 167.952439] Call Trace: +[ 167.955005] dump_stack+0x194/0x24d +[ 167.958613] ? arch_local_irq_restore+0x53/0x53 +[ 167.963256] ? idr_get_free+0xfd0/0xfd0 +[ 167.967210] ? kernel_text_address+0x102/0x140 +[ 167.971780] warn_alloc+0x19a/0x2b0 +[ 167.975385] ? zone_watermark_ok_safe+0x400/0x400 +[ 167.980216] ? save_stack+0xa3/0xd0 +[ 167.983823] ? save_stack+0x43/0xd0 +[ 167.987429] ? kasan_kmalloc+0xad/0xe0 +[ 167.991294] ? __kmalloc_node+0x47/0x70 +[ 167.995244] ? kvmalloc_node+0x64/0xd0 +[ 167.999119] __vmalloc_node_range+0x4f0/0x650 +[ 168.003598] ? lock_release+0xa40/0xa40 +[ 168.007729] ? xt_alloc_entry_offsets+0x21/0x30 +[ 168.012374] __vmalloc_node_flags_caller+0x50/0x60 +[ 168.017279] ? xt_alloc_entry_offsets+0x21/0x30 +[ 168.021926] kvmalloc_node+0x82/0xd0 +[ 168.025618] xt_alloc_entry_offsets+0x21/0x30 +[ 168.030092] translate_table+0x235/0x1690 +[ 168.034222] ? lock_release+0xa40/0xa40 +[ 168.038175] ? check_same_owner+0x320/0x320 +[ 168.042474] ? __check_object_size+0x8b/0x530 +[ 168.046956] ? __might_sleep+0x95/0x190 +[ 168.050909] ? alloc_counters.isra.10+0x7e0/0x7e0 +[ 168.055732] ? kasan_check_write+0x14/0x20 +[ 168.059946] ? _copy_from_user+0x99/0x110 +[ 168.064075] do_ip6t_set_ctl+0x370/0x5f0 +[ 168.068120] ? translate_compat_table+0x1c50/0x1c50 +[ 168.073129] ? mutex_unlock+0xd/0x10 +[ 168.076818] ? nf_sockopt_find.constprop.0+0x1a7/0x220 +[ 168.082077] nf_setsockopt+0x67/0xc0 +[ 168.085774] ipv6_setsockopt+0x10b/0x130 +[ 168.089815] tcp_setsockopt+0x82/0xd0 +[ 168.093602] sock_common_setsockopt+0x95/0xd0 +[ 168.098082] SyS_setsockopt+0x189/0x360 +[ 168.102040] ? SyS_recv+0x40/0x40 +[ 168.105478] ? trace_event_raw_event_sys_exit+0x260/0x260 +[ 168.110996] ? do_syscall_64+0xb7/0x940 +[ 168.114951] ? SyS_recv+0x40/0x40 +[ 168.118386] do_syscall_64+0x281/0x940 +[ 168.122251] ? __do_page_fault+0xc90/0xc90 +[ 168.126464] ? _raw_spin_unlock_irq+0x27/0x70 +[ 168.130938] ? finish_task_switch+0x1c1/0x7e0 +[ 168.135411] ? syscall_return_slowpath+0x550/0x550 +[ 168.140320] ? syscall_return_slowpath+0x2ac/0x550 +[ 168.145230] ? prepare_exit_to_usermode+0x350/0x350 +[ 168.150222] ? entry_SYSCALL_64_after_hwframe+0x52/0xb7 +[ 168.155570] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 168.160399] entry_SYSCALL_64_after_hwframe+0x42/0xb7 +[ 168.165566] RIP: 0033:0x453e69 +[ 168.168731] RSP: 002b:00007f2fec3b0c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 +[ 168.176415] RAX: ffffffffffffffda RBX: 00007f2fec3b16d4 RCX: 0000000000453e69 +[ 168.183662] RDX: 0000000000000040 RSI: 0000000000000029 RDI: 0000000000000014 +[ 168.190911] RBP: 000000000072bea0 R08: 0000000000000004 R09: 0000000000000000 +[ 168.198158] R10: 0000000020001fde R11: 0000000000000246 R12: 00000000ffffffff +[ 168.205403] R13: 0000000000000520 R14: 00000000006f7ba0 R15: 0000000000000000 +[ 168.213128] Dumping ftrace buffer: +[ 168.216945] (ftrace buffer empty) +[ 168.220646] Kernel Offset: disabled +[ 168.224264] Rebooting in 86400 seconds.. diff --git a/pkg/report/testdata/linux/report/57 b/pkg/report/testdata/linux/report/57 index 1dfcff097..ed9fc28b8 100644 --- a/pkg/report/testdata/linux/report/57 +++ b/pkg/report/testdata/linux/report/57 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_sched self-detected stall on CPU +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 277.780013] INFO: rcu_sched self-detected stall on CPU diff --git a/pkg/report/testdata/linux/report/58 b/pkg/report/testdata/linux/report/58 index 4cac7fb95..a32d5630f 100644 --- a/pkg/report/testdata/linux/report/58 +++ b/pkg/report/testdata/linux/report/58 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_preempt detected stalls on CPUs/tasks: { 2} (detected by 0, t=NUM jiffies, g=NUM, c=NUM, q=7339) +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 1722.511384] INFO: rcu_preempt detected stalls on CPUs/tasks: { 2} (detected by 0, t=65008 jiffies, g=48068, c=48067, q=7339) diff --git a/pkg/report/testdata/linux/report/59 b/pkg/report/testdata/linux/report/59 index da1da2a3e..f1fa08de7 100644 --- a/pkg/report/testdata/linux/report/59 +++ b/pkg/report/testdata/linux/report/59 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_sched detected stalls on CPUs/tasks: { 0} (detected by 1, t=2179 jiffies, g=740, c=739, q=1) +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 317.168127] INFO: rcu_sched detected stalls on CPUs/tasks: { 0} (detected by 1, t=2179 jiffies, g=740, c=739, q=1) diff --git a/pkg/report/testdata/linux/report/60 b/pkg/report/testdata/linux/report/60 index 4cbf64182..540d13ea0 100644 --- a/pkg/report/testdata/linux/report/60 +++ b/pkg/report/testdata/linux/report/60 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_preempt self-detected stall on CPU +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 50.583499] something diff --git a/pkg/report/testdata/linux/report/61 b/pkg/report/testdata/linux/report/61 index 7cff0cbfd..7d5a5ae4f 100644 --- a/pkg/report/testdata/linux/report/61 +++ b/pkg/report/testdata/linux/report/61 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_sched self-detected stall on CPU +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 50.583499] INFO: rcu_sched self-detected stall on CPU diff --git a/pkg/report/testdata/linux/report/62 b/pkg/report/testdata/linux/report/62 index 4a51fafd3..2f06e0b31 100644 --- a/pkg/report/testdata/linux/report/62 +++ b/pkg/report/testdata/linux/report/62 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_bh detected stalls on CPUs/tasks: +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 152.002376] INFO: rcu_bh detected stalls on CPUs/tasks: diff --git a/pkg/report/testdata/linux/report/63 b/pkg/report/testdata/linux/report/63 index d89b05b75..d040b80bb 100644 --- a/pkg/report/testdata/linux/report/63 +++ b/pkg/report/testdata/linux/report/63 @@ -1,4 +1,4 @@ -TITLE: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { +TITLE: INFO: rcu detected stall in corrupted CORRUPTED: Y [ 72.159680] INFO: rcu_sched detected expedited stalls on CPUs/tasks: { diff --git a/pkg/report/testdata/linux/report/64 b/pkg/report/testdata/linux/report/64 index f5bfd0eaa..d05f1f6d8 100644 --- a/pkg/report/testdata/linux/report/64 +++ b/pkg/report/testdata/linux/report/64 @@ -1,4 +1,4 @@ -TITLE: BUG: spinlock lockup suspected on CPU, syz-executor/NUM +TITLE: BUG: spinlock lockup suspected in corrupted CORRUPTED: Y [ 72.159680] BUG: spinlock lockup suspected on CPU#2, syz-executor/12636 diff --git a/pkg/report/testdata/linux/report/66 b/pkg/report/testdata/linux/report/66 index 1f9ef4a6a..a998d3f21 100644 --- a/pkg/report/testdata/linux/report/66 +++ b/pkg/report/testdata/linux/report/66 @@ -1,4 +1,4 @@ -TITLE: BUG: spinlock lockup suspected on CPU, syz-executor/NUM +TITLE: BUG: spinlock lockup suspected in corrupted CORRUPTED: Y [ 72.159680] BUG: spinlock lockup suspected on CPU#2, syz-executor/12636 diff --git a/pkg/report/testdata/linux/report/7 b/pkg/report/testdata/linux/report/7 index 61bc14df5..a89e0316d 100644 --- a/pkg/report/testdata/linux/report/7 +++ b/pkg/report/testdata/linux/report/7 @@ -1,4 +1,4 @@ -TITLE: BUG: soft lockup - CPU stuck for 11s! [syz-executor] +TITLE: BUG: soft lockup in corrupted CORRUPTED: Y mmap(&(0x7f00008dd000/0x1000)=nil, (0x1000), 0x3, 0x32, 0xffffffffffffffff, 0x0) diff --git a/pkg/report/testdata/linux/report/84 b/pkg/report/testdata/linux/report/84 index 2ce990e6c..0f1dcedce 100644 --- a/pkg/report/testdata/linux/report/84 +++ b/pkg/report/testdata/linux/report/84 @@ -1,4 +1,4 @@ -TITLE: general protection fault: 0000 [#1] [ 387.NUM] audit: type=1326 audit(ADDR.637:LINE): auid=ADDR uid=0 gid=0 ses=ADDR pid=NUM comm="syz-executor" exe="/root/s +TITLE: general protection fault in corrupted CORRUPTED: Y [ 92.396607] general protection fault: 0000 [#1] [ 387.811073] audit: type=1326 audit(1486238739.637:135): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=10020 comm="syz-executor1" exe="/root/syz-executor1" sig=31 arch=c000003e syscall=202 compat=0 ip=0x44fad9 code=0x0 |
