diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-06-21 14:38:08 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-06-22 16:40:45 +0200 |
| commit | 2a075d57ab619ae5333c823cc260a722ab0c47fe (patch) | |
| tree | 0877143833caae9b98744a237b0e3a3694348a6b /pkg/instance | |
| parent | c31f96a8c65c0757078ea77218905c73fc1068d4 (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 'pkg/instance')
| -rw-r--r-- | pkg/instance/instance.go | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go index b5f44376c..e7ab3c9ec 100644 --- a/pkg/instance/instance.go +++ b/pkg/instance/instance.go @@ -82,7 +82,7 @@ func (env *Env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile s if err := kernel.Build(cfg.KernelSrc, compilerBin, kernelConfig); err != nil { return osutil.PrependContext("kernel build failed", err) } - cfg.Vmlinux = filepath.Join(cfg.KernelSrc, "vmlinux") + cfg.KernelObj = cfg.KernelSrc cfg.Image = filepath.Join(cfg.Workdir, "syz-image") cfg.SSHKey = filepath.Join(cfg.Workdir, "syz-key") if err := kernel.CreateImage(cfg.TargetOS, cfg.TargetVMArch, cfg.Type, @@ -118,13 +118,11 @@ func (env *Env) Test(numVMs int, reproSyz, reproOpts, reproC []byte) ([]error, e if err := mgrconfig.Complete(env.cfg); err != nil { return nil, err } - reporter, err := report.NewReporter(env.cfg.TargetOS, env.cfg.Type, - env.cfg.KernelSrc, filepath.Dir(env.cfg.Vmlinux), nil, env.cfg.ParsedIgnores) + reporter, err := report.NewReporter(env.cfg) if err != nil { return nil, err } - vmEnv := mgrconfig.CreateVMEnv(env.cfg, false) - vmPool, err := vm.Create(env.cfg.Type, vmEnv) + vmPool, err := vm.Create(env.cfg, false) if err != nil { return nil, fmt.Errorf("failed to create VM pool: %v", err) } |
