diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-02-06 15:21:47 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-02-06 15:29:56 +0100 |
| commit | 66c15deb7ae082fbf5f24e0bc47013458ddf8855 (patch) | |
| tree | e7077255499686f4df9767f347db9d3337bbd571 /pkg/report/linux.go | |
| parent | 645ce5da79c9654c314f0d12f4c11f2a94ec156b (diff) | |
pkg/report: fix KASAN report parsing
We did not skip kasan_check_read.
Also don't let stack parsing to silently sink to another stack trace.
Diffstat (limited to 'pkg/report/linux.go')
| -rw-r--r-- | pkg/report/linux.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go index 8cdb38205..ef7b8ac5c 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -460,6 +460,7 @@ var linuxStackKeywords = []*regexp.Regexp{ } var linuxStackParams = &stackParams{ + stackStartRes: linuxStackKeywords, frameRes: []*regexp.Regexp{ compile("^ +(?:{{PC}} )?{{FUNC}}"), compile("IP: (?:{{PC}} +)?{{FUNC}}"), @@ -468,8 +469,11 @@ var linuxStackParams = &stackParams{ skipPatterns: []string{ "__sanitizer", "__asan", + "kasan", "check_memory_region", + "print_address_description", "panic", + "invalid_op", "dump_stack", "warn_slowpath", "debug_object", @@ -516,7 +520,7 @@ var linuxOopses = []*oops{ title: compile("BUG: KASAN: ([a-z\\-]+) in {{FUNC}}(?:.*\\n)+?.*(Read|Write) of size (?:[0-9]+)"), fmt: "KASAN: %[1]v %[3]v in %[4]v", stack: &stackFmt{ - start: []string{"kasan_report"}, + start: []string{"Call Trace:"}, }, }, { @@ -801,7 +805,7 @@ var linuxOopses = []*oops{ fmt: "INFO: rcu detected stall in %[1]v", stack: &stackFmt{ start: []string{" apic_timer_interrupt"}, - skip: []string{"rcu"}, + skip: []string{"apic_timer_interrupt", "rcu"}, }, }, { @@ -809,7 +813,7 @@ var linuxOopses = []*oops{ fmt: "INFO: rcu detected stall in %[1]v", stack: &stackFmt{ start: []string{" apic_timer_interrupt"}, - skip: []string{"rcu"}, + skip: []string{"apic_timer_interrupt", "rcu"}, }, }, { |
