aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report/fuzz.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/report: set SysTarget before fuzzingAleksandr Nogikh2022-07-121-0/+5
| | | | | | This is important when opcode decompilation is involved. Closes #3229.
* all: use entire log to detect reports to suppressAleksandr Nogikh2021-08-061-2/+2
| | | | | | | | | | Currently syzkaller only applies its suppressions regexps to the oops message itself and a small number of its preceding bytes. A case has been reported (#2685), where it was important to analyse a bigger portion of output data. Pass the whole log and a starting position to the `Report.Parse` method separately instead of passing an already cut log there. Adjust use cases of the `Report.Parse` method to handle its new behavior.
* pkg/report: separate reporter wrapper from OS-specific implementationsAleksandr Nogikh2021-08-061-4/+4
| | | | | | | | | | | | | 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/mgrconfig: move derived fields into separate structDmitry Vyukov2020-11-301-2/+4
| | | | | | Users should not be concerned with the internal derived fields. Move all derived fields into a separate struct before adding more. This leaves config.go as a better documentation for end users.
* sys/targets: add OS/Arch name constsDmitry Vyukov2020-10-261-3/+4
| | | | | | | | | | | | We use strings to identify OS/Arch. These strings are duplicated throughout the code base massively. golangci-lint points to possiblity of typos and duplication. We already had to define these names in pkg/csource and disable checking for prog package. A future change triggers such warnings in another package. Add OS/Arch name consts to sys/targets so that they can be used to refer to OS/Arch. Use the consts everywhere.
* vm/vmimpl/merger: remove all CRs from outputAlexander Egorenkov2020-10-021-4/+2
| | | | | | | Get rid of all places stripping \r in pkg/report. And adapt all tests. Signed-off-by: Alexander Egorenkov <Alexander.Egorenkov@ibm.com>
* pkg/report: add Report.SkipPosDmitry Vyukov2020-05-131-6/+29
| | | | | SkipPos is what pkg/instance needs, but also will be needed for ParseAll.
* pkg/report: pass the target to each OS report constructorAnton Lindqvist2018-12-081-1/+2
| | | | | In order to use the already defined kernel name in sys/targets to reduce duplications.
* pkg/report: fix few fuzz bugsDmitry Vyukov2018-09-271-26/+54
| | | | | | | Improve go-fuzz fuzzer function and fix few new bugs it finds: 1. Panic in linux parser (bad). 2. Akaros can report empty rep.Report. 3. Fuchsia can return empty rep.Report.
* pkg/report: add fuzz testDmitry Vyukov2017-12-041-0/+36
Found 3 bugs already. Update #457