From 4e1aade2feeb2b9c8b40426b39296d2ae9aa0b99 Mon Sep 17 00:00:00 2001 From: Anton Lindqvist Date: Sat, 8 Dec 2018 11:00:59 +0100 Subject: pkg/report: pass the target to each OS report constructor In order to use the already defined kernel name in sys/targets to reduce duplications. --- pkg/report/report.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'pkg/report/report.go') diff --git a/pkg/report/report.go b/pkg/report/report.go index 89322a6f4..be6e31216 100644 --- a/pkg/report/report.go +++ b/pkg/report/report.go @@ -13,6 +13,7 @@ import ( "strings" "github.com/google/syzkaller/pkg/mgrconfig" + "github.com/google/syzkaller/sys/targets" ) type Reporter interface { @@ -65,7 +66,11 @@ func NewReporter(cfg *mgrconfig.Config) (Reporter, error) { if err != nil { return nil, err } - rep, suppressions, err := ctor(cfg.KernelSrc, cfg.KernelObj, ignores) + target := targets.Get(cfg.TargetOS, cfg.TargetArch) + if target == nil && typ != "gvisor" { + return nil, fmt.Errorf("unknown target %v/%v", cfg.TargetOS, cfg.TargetArch) + } + rep, suppressions, err := ctor(target, cfg.KernelSrc, cfg.KernelObj, ignores) if err != nil { return nil, err } @@ -87,7 +92,7 @@ var ctors = map[string]fn{ "windows": ctorStub, } -type fn func(string, string, []*regexp.Regexp) (Reporter, []string, error) +type fn func(*targets.Target, string, string, []*regexp.Regexp) (Reporter, []string, error) func compileRegexps(list []string) ([]*regexp.Regexp, error) { compiled := make([]*regexp.Regexp, len(list)) -- cgit mrf-deployment