pkg/report: avoid producing no guilty file

If we produce no guilty file at all, the report is mailed only to LKML,
which is mostly equivalent to mailing to nobody.
If we skip all files, return the first one.
This commit is contained in:
Dmitry Vyukov 2020-05-29 15:24:22 +02:00
parent cdc5f8a23e
commit 2510d1afaa
2 changed files with 54 additions and 0 deletions

View File

@ -445,6 +445,12 @@ nextFile:
}
return file
}
// Avoid producing no guilty file at all, otherwise we mail the report to nobody.
// It's unclear if it's better to return the first one or the last one.
// So far the only test we have has only one file anyway.
if len(files) != 0 {
return files[0]
}
return ""
}

48
pkg/report/testdata/linux/guilty/44 vendored Normal file
View File

@ -0,0 +1,48 @@
FILE: arch/x86/kernel/traps.c
traps: PANIC: double fault, error_code: 0x0
double fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 7280 Comm: syz-executor776 Not tainted 5.7.0-rc7-next-20200525-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:fixup_bad_iret+0x24/0x170 arch/x86/kernel/traps.c:665
Code: eb cb 0f 1f 40 00 41 55 49 bd 00 00 00 00 00 fc ff df 41 54 55 48 89 fd 48 c7 c7 80 8a 25 88 53 48 81 ec 40 01 00 00 48 89 e3 <48> c7 04 24 b3 8a b5 41 48 c7 44 24 08 bf d3 49 89 48 c1 eb 03 48
RSP: 0018:fffffe0000001fb8 EFLAGS: 00010086
RAX: fffffffffffffff7 RBX: fffffe0000001fb8 RCX: ffffffff87e00d57
RDX: 0000000000000000 RSI: ffffffff87e009c8 RDI: ffffffff88258a80
RBP: fffffe0000002120 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 0000000001f65880(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffe0000001fa8 CR3: 00000000a02aa000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<ENTRY_TRAMPOLINE>
error_entry+0xb8/0xc0 arch/x86/entry/entry_64.S:1375
RIP: 0010:native_irq_return_iret+0x0/0x2
Code: 5a 41 59 41 58 58 59 5a 5e 5f 48 83 c4 08 e9 10 00 00 00 90 0f 1f 44 00 00 66 2e 0f 1f 84 00 00 00 00 00 f6 44 24 20 04 75 02 <48> cf 57 0f 01 f8 0f 1f 00 65 48 8b 3c 25 00 b0 01 00 48 89 07 48
RSP: 0018:fffffe00000021d8 EFLAGS: 00010046 ORIG_RAX: 0000000000000000
RAX: fffffffffffffff7 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000100
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
RIP: 0033:0x3bfd19e0df38d197
Code: Bad RIP value.
RSP: 002b:00007fffaaa547c8 EFLAGS: 00000346 </ENTRY_TRAMPOLINE>
Modules linked in:
---[ end trace d6561a908e3835a1 ]---
RIP: 0010:fixup_bad_iret+0x24/0x170 arch/x86/kernel/traps.c:665
Code: eb cb 0f 1f 40 00 41 55 49 bd 00 00 00 00 00 fc ff df 41 54 55 48 89 fd 48 c7 c7 80 8a 25 88 53 48 81 ec 40 01 00 00 48 89 e3 <48> c7 04 24 b3 8a b5 41 48 c7 44 24 08 bf d3 49 89 48 c1 eb 03 48
RSP: 0018:fffffe0000001fb8 EFLAGS: 00010086
RAX: fffffffffffffff7 RBX: fffffe0000001fb8 RCX: ffffffff87e00d57
RDX: 0000000000000000 RSI: ffffffff87e009c8 RDI: ffffffff88258a80
RBP: fffffe0000002120 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 0000000001f65880(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffe0000001fa8 CR3: 00000000a02aa000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400