aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-symbolize
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-06-21 14:38:08 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-06-22 16:40:45 +0200
commit2a075d57ab619ae5333c823cc260a722ab0c47fe (patch)
tree0877143833caae9b98744a237b0e3a3694348a6b /tools/syz-symbolize
parentc31f96a8c65c0757078ea77218905c73fc1068d4 (diff)
pkg/report: allow to specify suppressions per OS
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.
Diffstat (limited to 'tools/syz-symbolize')
-rw-r--r--tools/syz-symbolize/symbolize.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/syz-symbolize/symbolize.go b/tools/syz-symbolize/symbolize.go
index e683a5b01..9020d2fcc 100644
--- a/tools/syz-symbolize/symbolize.go
+++ b/tools/syz-symbolize/symbolize.go
@@ -11,6 +11,7 @@ import (
"runtime"
"github.com/google/syzkaller/pkg/report"
+ "github.com/google/syzkaller/syz-manager/mgrconfig"
)
var (
@@ -26,7 +27,12 @@ func main() {
flag.PrintDefaults()
os.Exit(1)
}
- reporter, err := report.NewReporter(*flagOS, "", *flagKernelSrc, *flagKernelObj, nil, nil)
+ cfg := &mgrconfig.Config{
+ TargetOS: *flagOS,
+ KernelObj: *flagKernelObj,
+ KernelSrc: *flagKernelSrc,
+ }
+ reporter, err := report.NewReporter(cfg)
if err != nil {
fmt.Fprintf(os.Stderr, "failed to create reporter: %v\n", err)
os.Exit(1)
@@ -44,5 +50,8 @@ func main() {
fmt.Fprintf(os.Stderr, "failed to symbolize report: %v\n", err)
os.Exit(1)
}
+ fmt.Printf("TITLE: %v\n", rep.Title)
+ fmt.Printf("CORRUPTED: %v\n", rep.Corrupted)
+ fmt.Printf("\n")
os.Stdout.Write(rep.Report)
}