aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report/gvisor.go
Commit message (Collapse)AuthorAgeFilesLines
* report: add "BUG on" oops entry for gVisorKonstantin Bogomolov2025-08-141-0/+11
| | | | | | Following https://github.com/google/gvisor/commit/b47d21ef21a6f59b8f574eebf83c7936880c1c0d syzkaller should look for this message type.
* pkg/report: factor out type definitionsTaras Madan2025-06-271-9/+0
|
* pkg/report: gather Go runtime bugs under one bugFlorent Revest2023-07-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | | 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: move report.Type to pkg/report/crashAleksandr Nogikh2023-07-051-6/+8
| | | | | This will help avoid a circular dependency pkg/vcs -> pkg/report -> pkg/vcs.
* pkg/report: extract more report types for LinuxAleksandr Nogikh2023-07-051-0/+6
| | | | Amend oops and oopsFormat to contain report type.
* pkg/report: ignore ALSA fatal errorsDmitry Vyukov2023-02-221-11/+0
| | | | | 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-221-3/+0
| | | | | | | | | | | | | | | 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.
* vm/gvisor: fix regex typoAleksandr Dobkinimg src=404 onerror=alert(document.domain)2022-05-031-1/+1
| | | | The original author intended to match the individual char "_" but ended up matching the range "/-_" instead.
* pkg/report: ignore ThreadSanitizer clock allocator overflow errorsAndrei Vagin2022-01-271-0/+1
| | | | | Reported-by: syzbot+aada2d85478c047a3cbf@syzkaller.appspotmail.com Signed-off-by: Andrei Vagin <avagin@google.com>
* pkg/report: separate reporter wrapper from OS-specific implementationsAleksandr Nogikh2021-08-061-1/+1
| | | | | | | | | | | | | Currently a number of report post-processing activities are implemented as a decorator over the interface that defines OS-specific implementations. Following exactly the same interface is too restrictive in this case as adding extra parameters to the post-processing forces the developer to adjust all implementations thay may not need these parameters at all. Untie the wrapper from the Reporter interface. Use a package-private reporterImpl interface for the OS-specific implementations, while having an exported Reporter structure. Make sure that Reporter is stored and passed as a pointer.
* pkg/report: detect syzkaller panics in lost connection bugsDmitry Vyukov2019-11-061-24/+2
| | | | | | | | | Some syzkaller panics happen due to memory corruptions, but it still would be useful at least to get some visibility into these crashes. On some OSes we actualy already detect them as they have "panic:" oops pattern, but not e.g. on linux. Fixes #318
* Merge pull request #1338 from prattmic/patch-3Michael Pratt2019-08-221-0/+1
| | | pkg/report: ignore exceeded race limits
* pkg/gvisor: suppress one more gvisor PID exhaustionMichael Pratt2019-08-221-5/+6
|
* pkg/report: refactor argument passingDmitry Vyukov2019-07-231-6/+3
| | | | | | We now pass 5 arguments through a bunch of functions, this is quite inconvinient when the set of arguments changes. Incapsulate all arguments in a struct and pass/store it as a whole.
* pkg/cover: fix prefix computationSiddharth M2019-07-171-1/+1
| | | | | | | | | | | | | | | | | | * pkg/cover: Modify parsing logic 1. Remove prefix computation 2. Add a mgrconfig for kernel build directory * pkg/report: shorten reports with kernelBuildSrc instead of kernelSrc * pkg/report: Fix failing tests * pkg/report: fix formating issues * tools/syz-cover: Fix unintended redefinition * make changes to fix failing ci build * pkg/report: fix issues
* pkg/report: another gvisor OOM suppressionDmitry Vyukov2018-12-131-3/+3
|
* pkg/report: another gvisor OOM suppressionDmitry Vyukov2018-12-131-0/+1
|
* pkg/report: another gvisor OOM suppressionDmitry Vyukov2018-12-131-0/+1
|
* pkg/report: pkg/report: relaxed gvisor OOM suppressions moreDmitry Vyukov2018-12-131-3/+3
| | | | There are more variations of this panic format.
* pkg/report: replace more moving parts in gvisor crash titlesDmitry Vyukov2018-12-131-0/+8
| | | | | "container" seems to have been renamed to "sandbox". Also exact pid numbers are harmful.
* pkg/report: relaxed gvisor OOM suppressionsDmitry Vyukov2018-12-131-3/+3
| | | | | Existing ones don't match actual gvisor output after address mangling. Not matching exact context in parens should be good enough re false positives.
* pkg/report: update gvisor ptrace regs suppressionsMichael Pratt2018-12-131-3/+3
| | | | | https://github.com/google/gvisor/commit/99d595869332f817de8f570fae184658c513a43c changed the format of these to include the registers.
* pkg/report: pass the target to each OS report constructorAnton Lindqvist2018-12-081-1/+4
| | | | | In order to use the already defined kernel name in sys/targets to reduce duplications.
* pkg/report: suppress another gvisor OOMDmitry Vyukov2018-11-301-0/+1
|
* .gometalinter: reduce dupl thresholdDmitry Vyukov2018-07-311-31/+4
| | | | | | Reduce dupl threshold from 63 to 60 and fix violations. Update #538
* .gometalinter.json: enable gofmtDmitry Vyukov2018-07-311-9/+9
| | | | | | | The part that we want from gofmt is simplify (-s). Fix all code that needs fixing. Update #538
* pkg/report: improve akaros reporter and implement symbolizationDmitry Vyukov2018-07-161-1/+1
|
* pkg/report: detect partial result errorsDmitry Vyukov2018-07-061-0/+12
|
* pkg/report: suppress more gvisor OOMsDmitry Vyukov2018-07-051-1/+3
|
* pkg/report: supporess another OOM for gvisorDmitry Vyukov2018-06-271-0/+1
|
* pkg/report: add suppressions for Go race OOMsDmitry Vyukov2018-06-231-0/+2
|
* pkg/report: fix gvisor segv reportsDmitry Vyukov2018-06-221-6/+6
|
* pkg/report: add more gvisor formatsDmitry Vyukov2018-06-221-1/+19
|
* pkg/report: allow to specify suppressions per OSDmitry Vyukov2018-06-221-5/+8
| | | | | | | | | | | | | Currently all (linux-specific) suppressions are hardcoded in mgrconfig. This is very wrong. Move them to pkg/report and allow to specify per OS. Add gvisor-specific suppressions. This required a bit of refactoring. Introduce mgrconfig.KernelObj finally. Make report.NewReporter and vm.Create accept mgrconfig directly instead of passing it as multiple scattered args. Remove tools/syz-parse and it always did the same as tools/syz-symbolize. Simplify global vars in syz-manager/cover.go. Create reporter eagerly in manager. Use sort.Slice more. Overall -90 lines removed.
* pkg/report: add gvisor supportDmitry Vyukov2018-06-221-0/+176