diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2023-02-09 11:47:16 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2023-02-10 13:26:12 +0100 |
| commit | 76400e5b38b0e6d150454ab38bebfb00dc4af7ca (patch) | |
| tree | 1368c1f18a49f830b469cee5a170dc274e562b96 /pkg/report/linux.go | |
| parent | e29a17f507c26c0b9e50ceadad1f7643063809a1 (diff) | |
pkg/report: extract guilty files for rcu errors correctly
The existing code is broken - the console output does not contain a
whitespace before the apic_timer_interrupt frame. Also, add the
apic_timer source files to the excluded ones.
Diffstat (limited to 'pkg/report/linux.go')
| -rw-r--r-- | pkg/report/linux.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go index 62d2adb6d..d29b5909c 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -77,6 +77,7 @@ func ctorLinux(cfg *config) (reporterImpl, []string, error) { regexp.MustCompile(`^arch/.*/mm/fault.c`), regexp.MustCompile(`^arch/.*/mm/physaddr.c`), regexp.MustCompile(`^arch/.*/kernel/stacktrace.c`), + regexp.MustCompile(`^arch/.*/kernel/apic/apic.c`), regexp.MustCompile(`^arch/arm64/kernel/entry.*.c`), regexp.MustCompile(`^kernel/locking/.*`), regexp.MustCompile(`^kernel/panic.c`), @@ -701,7 +702,7 @@ func (ctx *linux) extractGuiltyFileRaw(title string, report []byte) string { // we would need to ignore too many files and that would be fragile. // So instead we try to extract guilty file starting from the known // interrupt entry point first. - for _, interruptEnd := range []string{" apic_timer_interrupt+0x", "Exception stack"} { + for _, interruptEnd := range []string{"apic_timer_interrupt+0x", "Exception stack"} { if pos := bytes.Index(report, []byte(interruptEnd)); pos != -1 { if file := ctx.extractGuiltyFileImpl(report[pos:]); file != "" { return file |
