aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report/testdata
Commit message (Collapse)AuthorAgeFilesLines
...
* pkg/report: ignore CPU bug mitigation warningsAleksandr Nogikh2023-11-231-0/+28
| | | | These are just informative messages.
* pkg/report: ignore strstr()Alexander Potapenko2023-09-041-0/+33
| | | | | Like many other str* functions, strstr() is not interesting and should be ignored.
* pkg/report: ignore copy_page_{to,from}_iter(), copy_folio_to_iter()Alexander Potapenko2023-09-041-0/+88
| | | | | | | | | Bug title in https://syzkaller.appspot.com/bug?extid=17a061f6132066e9fb95 is "KMSAN: kernel-infoleak in copy_page_to_iter (4)", which is too generic and may potentially correspond to multiple bugs. Ignore copy_page_to_iter() and copy_folio_to_iter() to make it more meaningful. In addition, speculatively ignore copy_page_from_iter().
* pkg/report: drop "ALT: KMSAN origin" titles for uninit reportsAlexander Potapenko2023-08-3120-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | It was initially proposed in https://github.com/google/syzkaller/issues/1575 that KMSAN reports with the same origin should be clustered together using an alt title. This however turns out to be too aggressive: certain KMSAN reports have their uninitialized values originating from common functions - this leads to too many KMSAN reports being glued together. Because KMSAN reports can be also clustered with KASAN reports or other kernel panics, ultimately seemingly unrelated crashes are considered similar just because they share their top frames with two KMSAN reports that, in turn, share the same origin. The resulting issues on the dashboard look confusing to the users, they are hard to find and require manual untangling, which probably outweighs the benefits of having KMSAN issues with exactly the same origin clustered together. For other types of KMSAN reports (infoleaks and use-after-frees) the alt titles are preserved. First, there are fewer of those on the dashboard. Second, they are rarely grouped together with non-KASAN reports and are less likely to cause a lot of mess.
* pkg/report: gather Go runtime bugs under one bugFlorent Revest2023-07-264-0/+21
| | | | | | | | | | | | | | | | | | | | | | | When a "fatal error:" bug is reported, this usually means that syzkaller itself had a memory corruption (except in the gVisor fuzzing case where this could be an actual bug in gVisor) Most likely, this is due to a kernel that went wild and corrupted the syzkaller address space, but in that case the exact details of what part of the runtime failed are rarely relevant. This gathers all these go runtime errors under one umbrella so they are easier to track. Except for gVisor on which the logic is kept the same as existing. Add three test cases to the linux reporting: - 705 (equivalent to the current all/report/7) to make sure Go OOO are suppressed (they have a different title now but still get suppressed) - 706 (equivalent to the current all/report/8) to make sure that ALSA "fatal errors" are not handled as Go fatal errors - 707 (new) to make sure that reports like https://syzkaller.appspot.com/bug?extid=3f00d7083c52713ba3b0 are re-named to "go runtime error"
* pkg/report: update decompile testsAleksandr Nogikh2023-07-112-3/+3
| | | | Newer arm compiler versions produce somewhat different output.
* pkg/report: introduce crash.SyzFailure report typeAleksandr Nogikh2023-07-063-0/+3
| | | | It refers to SYZFAIL and SYZFATAL errors.
* pkg/report: extract more report types for LinuxAleksandr Nogikh2023-07-05303-30/+311
| | | | Amend oops and oopsFormat to contain report type.
* pkg/report: skip more lib/xarray.h and mm/filemap.c functionsAleksandr Nogikh2023-07-041-0/+225
| | | | Reference: https://syzkaller.appspot.com/bug?extid=c370a63abf53498ae3e2
* pkg/report: whack-a-mole folio-related functionsAlexander Potapenko2023-07-045-0/+300
| | | | | | | | | | | | | | | | | Ignore the following functions: - folio_alloc - filemap_alloc_folio - __filemap_get_folio - find_or_create_page - do_read_cache_folio - read_cache_page - pagecache_get_page - grab_cache_page_write_begin that perform allocations within mm/filemap.c This is to defeat an overly eager report clusterization in https://syzkaller.appspot.com/bug?extid=828dfc12440b4f6f305d
* pkg/report: ignore crc_itu_tAleksandr Nogikh2023-06-131-0/+94
| | | | See https://syzkaller.appspot.com/bug?extid=d8fc21bfa138a5ae916d
* pkg/report: ignore print_taintedAleksandr Nogikh2023-06-131-0/+43
| | | | Sample bug: https://syzkaller.appspot.com/bug?extid=fae676d3cf469331fc89
* pkg/report: ignore Register information linesAleksandr Nogikh2023-05-201-0/+644
| | | | | | They are misleading guilty file detection. See https://groups.google.com/g/syzkaller-bugs/c/T6Z_5Gh1Qio
* pkg/report: ignore kvfreeAleksandr Nogikh2023-05-161-0/+98
| | | | Based on https://syzkaller.appspot.com/bug?extid=64b645917ce07d89bde5
* pkg/report: ignore arm64 fault handlingAleksandr Nogikh2023-05-101-0/+46
| | | | See https://syzkaller.appspot.com/bug?id=88b03615bcf53f3cdc9b987ad26207a9b8d47d8f
* pkg/report: skip stack trace handling functionsAleksandr Nogikh2023-04-171-0/+131
| | | | Also, skip more workqueue functions.
* pkg/report: ignore mm/folio-compat.c and (un)lock_pageAleksandr Nogikh2023-04-052-0/+119
|
* pkg/report: ignore arch/.*/kernel/unwind.*.c and kernel/stacktrace.cAleksandr Nogikh2023-04-031-0/+175
|
* pkg/report: ignore more guilty filesAleksandr Nogikh2023-03-282-1/+75
| | | | | Ignore arch/arm64/kernel/process.c and some of page cache sources, as the real problem will much more likely lie in the caller.
* pkg/report: skip the rcu_barrier frame for hung tasksAleksandr Nogikh2023-03-271-0/+75
| | | | Its caller is much more informative.
* pkg/report: fix false positive reboot reportsDmitry Vyukov2023-03-131-0/+7
| | | | | For context see: https://lore.kernel.org/all/CACT4Y+ZMXN=smH-0FN4Ui0zm6P-c=eEwG6fNJ9deTnc0M099UQ@mail.gmail.com/T/#t
* pkg/report: ignore copy_to/from_iterDmitry Vyukov2023-03-133-2/+122
|
* pkg/report: ignore ALSA fatal errorsDmitry Vyukov2023-02-221-0/+2
| | | | | Of course something in the kernel prints "fatal error" and it's not a kernel bug.
* pkg/report: improve Go throw/panic parsingDmitry Vyukov2023-02-222-0/+25
| | | | | | | | | | | | | | | This several small improvements: 1. Move these patterns into the common part. We run Go code on (almost) all OSes and error messages are the same for all of them. 2. Detect "fatal error:" as a bug as well. This is what I currently see from Go 1.20 runtime, but we don't recognize it, so these reports probably go into "lost connection" bucket now (bad). 3. Add a pattern for panic(ENOMEM) message. pkg/image/compression_optimized.go can produce it on mmap failure. 4. Add tests.
* pkg/report: handle guilty file extraction for non-symbolized reportsAleksandr Nogikh2023-02-161-0/+116
| | | | | Currently we return ".", which is not really expected by all the surrounding logic.
* pkg/report: extract guilty files for arm64 rcu stallsAleksandr Nogikh2023-02-101-0/+81
|
* pkg/report: extract guilty files for rcu errors correctlyAleksandr Nogikh2023-02-102-0/+135
| | | | | | 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.
* pkg/report: improve rcu stall parsing on arm64Aleksandr Nogikh2023-02-101-0/+72
|
* pkg/report: anchor at netlink_dump frameAleksandr Nogikh2023-02-091-0/+112
| | | | This frame also ditributes work to other functions.
* pkg/report: test ReportToGuiltyFileAleksandr Nogikh2023-02-081-0/+67
| | | | | | | Refactor the existing guilty path testing code to allow for simpler extension. Reuse the resulting code to invoke guilty_raw tests.
* pkg/report: skip more memory allocation framesAleksandr Nogikh2023-02-062-2/+45
| | | | | The family of such functions is big and keeps on growing. Add them to the generic skipPatterns code.
* pkg/report: detect custom VFS errorsDmitry Vyukov2023-01-203-0/+9
| | | | Fixes #3621
* pkg/report: skip netlink_ack and netlink_rcv_skbAlexander Potapenko2023-01-172-0/+76
| | | | | | | Two KMSAN reports belonging to different subsystems ended up being merged together because they both had netlink_ack in their origin. Let's skip this frame as well as netlink_rcv_skb, which is common among several network protocols.
* pkg/report: ignore kvmalloc framesDmitry Vyukov2022-11-281-0/+72
|
* pkg/report: skip some new spinlock/mutex-related framesDmitry Vyukov2022-11-211-0/+91
|
* pkg/report: skip more lockdep framesDmitry Vyukov2022-11-175-6/+87
|
* pkg/report: skip debug objects framesDmitry Vyukov2022-11-151-0/+36
|
* pkg/report: skip queue_work framesDmitry Vyukov2022-11-152-4/+4
| | | | | | | We have lots of report "in queue_work". They are usually due to the caller bugs. Currently this leads to glueing of unrelated bugs together. Skip queue_work to prevent this glueing.
* pkg/report: extract top frame in arm reportsDmitry Vyukov2022-11-154-3/+264
|
* pkg/report: skip "allocate_slab"Alexander Potapenko2022-11-095-0/+384
| | | | | | Turns out a lot of KMSAN bugs get merged together because their origin is "allocate_slab". Make sure we skip that frame when parsing stacks, so that a different origin frame is used.
* pkg/report: parse stack in "inconsistent lock state" reportsDmitry Vyukov2022-10-243-3/+3
| | | | | | | | We took the exact top frame for these reports. As the result the frame filtering logic wasn't working and some bugs were attributed to very common functions like _atomic_dec_and_lock/kmem_cache_alloc_node. Parse the full stack instead.
* pkg/report: add some "inconsistent lock state" samplesDmitry Vyukov2022-10-245-0/+499
|
* pkg/report: ignore more mutex framesDmitry Vyukov2022-10-181-0/+59
|
* pkg/report: improve arm64 stack overflow reportsDmitry Vyukov2022-10-1312-5/+233
| | | | | | | Extract guilty frame from arm64 stack overflow reports. Add AltTitle for stack overflow reports, since we now have 3 different formats (arm64 and x86 produce different reports). Improve stall frame extraction for arm64.
* pkg/report: remove alt title for BUGsDmitry Vyukov2022-10-0619-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to use "kernel BUG at source:line" for BUGs. Later we switch to "kernel BUG in function" as a better title, but kept the old title as alt title so that the new titles are merged with existing bugs. Now it's causing issues: the following 2 reports got merged together: kernel BUG at lib/string_helpers.c:983 Call Trace: __fortify_strlen include/linux/fortify-string.h:144 [inline] strlcpy include/linux/fortify-string.h:159 [inline] init_names fs/gfs2/ops_fstype.c:385 [inline] gfs2_fill_super+0x1226/0x27f0 fs/gfs2/ops_fstype.c:1187 kernel BUG at lib/string_helpers.c:980! Call Trace: __fortify_strlen include/linux/fortify-string.h:128 [inline] strlcpy include/linux/fortify-string.h:143 [inline] __set_page_owner_handle+0x2b1/0x3e0 mm/page_owner.c:171 __set_page_owner+0x3e/0x50 mm/page_owner.c:190 prep_new_page mm/page_alloc.c:2441 [inline] while they are unrelated. A BUG in a common ignored helper will glue all reports together. We added the alt title in Jan 2021 (de4e4f4d8b582). All existing bugs should have been merged already, so we can safely remove the alt title now.
* pkg/report: ignore klist_ framesAleksandr Nogikh2022-10-051-0/+125
| | | | Crashes are much more likely to be caused by their callers.
* pkg/report: ignore hex_dump callsAleksandr Nogikh2022-10-041-0/+263
|
* pkg/report: skip mm/mempool.c as guilty fileDmitry Vyukov2022-10-041-0/+26
|
* pkg/report: better replace numbersDmitry Vyukov2022-10-041-0/+5
| | | | | | | | Currently "./syzkaller-testdir264563108" is replaced with "./syzkaller-testdir2ADDR". That's due to a bug in the ADDR replacement rule. Fix it. Also improve NUM replement b/c currently "testdir264563108" is considered as it can be a function name.
* pkg/report: ignore more refcount/kobject framesDmitry Vyukov2022-10-042-1/+51
| | | | | | We ignore some of the kobject frames, but there is also kobject_cleanup that we were missing (or maybe was added recently). Make refcount/kobject patterns more robust.