aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-07-12 12:38:52 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-07-12 12:38:52 +0200
commit3986ce95fde3d4b5bccef19b537da090021046fc (patch)
tree942ad9281a606ba3e8815899280574b398c7b5da /pkg
parent38558199915a6c6a799a1a2b679ac077d194afec (diff)
pkg/report: add report format for "lock held when returning to user space"
This report does not have stack trace, so we always detected it as corrupted.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/report/linux.go7
-rw-r--r--pkg/report/testdata/linux/report/2579
2 files changed, 16 insertions, 0 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go
index f29235b69..c8e8dc523 100644
--- a/pkg/report/linux.go
+++ b/pkg/report/linux.go
@@ -819,6 +819,13 @@ var linuxOopses = []*oops{
fmt: "WARNING: locking bug in %[1]v",
stack: warningStackFmt(),
},
+
+ {
+ title: compile("WARNING: lock held when returning to user space"),
+ report: compile("WARNING: lock held when returning to user space(?:.*\\n)+?.*leaving the kernel with locks still held(?:.*\\n)+?.*at: (?:{{PC}} +)?{{FUNC}}"),
+ fmt: "WARNING: lock held when returning to user space in %[1]v",
+ noStackTrace: true,
+ },
{
title: compile("WARNING: .*mm/.*\\.c.* k?.?malloc"),
fmt: "WARNING: kmalloc bug in %[1]v",
diff --git a/pkg/report/testdata/linux/report/257 b/pkg/report/testdata/linux/report/257
new file mode 100644
index 000000000..4f08edbbc
--- /dev/null
+++ b/pkg/report/testdata/linux/report/257
@@ -0,0 +1,9 @@
+TITLE: WARNING: lock held when returning to user space in fuse_lock_inode
+
+[ 197.071637] ================================================
+[ 197.073115] WARNING: lock held when returning to user space!
+[ 197.074536] 4.18.0-rc4+ #51 Not tainted
+[ 197.075539] ------------------------------------------------
+[ 197.076969] syz-executor0/17896 is leaving the kernel with locks still held!
+[ 197.078741] 1 lock held by syz-executor0/17896:
+[ 197.079733] #0: 00000000a3b01fa0 (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0