aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report/linux.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-12-30 09:39:28 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-12-30 09:39:28 +0100
commit2ccf0adec3e674aae4c144c7357b3668e4266341 (patch)
tree33e595ee4db01f73b67fa4e64dca505f3656ad4a /pkg/report/linux.go
parent35e3f847cfd8b50b97ed3172577d884b0869b18e (diff)
pkg/report: parse linux stack corruption reports
Diffstat (limited to 'pkg/report/linux.go')
-rw-r--r--pkg/report/linux.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go
index 19a312f9b..76a090195 100644
--- a/pkg/report/linux.go
+++ b/pkg/report/linux.go
@@ -1187,6 +1187,26 @@ var linuxOopses = []*oops{
{
[]byte("Kernel panic"),
[]oopsFormat{
+ // Note: for stack corruption reports kernel may fail
+ // to print function symbol name and/or unwind stack.
+ {
+ title: compile("Kernel panic - not syncing: stack-protector:"),
+ report: compile("Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: {{FUNC}}"),
+ fmt: "kernel panic: stack is corrupted in %[1]v",
+ noStackTrace: true,
+ },
+ {
+ title: compile("Kernel panic - not syncing: stack-protector:"),
+ report: compile("Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: [a-f0-9]+"),
+ fmt: "kernel panic: stack is corrupted in %[1]v",
+ stack: &stackFmt{
+ parts: []*regexp.Regexp{
+ compile("Call Trace:"),
+ parseStackTrace,
+ },
+ skip: []string{"stack_chk"},
+ },
+ },
{
title: compile("Kernel panic - not syncing: Attempted to kill init!"),
fmt: "kernel panic: Attempted to kill init!",