aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoey Jiao <joeyjiaojg@qq.com>2023-06-26 14:01:59 +0800
committerAleksandr Nogikh <nogikh@google.com>2023-07-04 16:43:58 +0000
commit1e521165c861b79aaaa34ecbf6c12132b10824bf (patch)
tree4599e6137f189a4c9807ef7256539a6919b2b0e7
parent0a696517375e14db148edec48d23e1702cbe0513 (diff)
all: pass cfg to MakeReportGenerator
Change-Id: I839fbc94c02da62cadee99a44b4f7c520e35a0dd
-rw-r--r--pkg/cover/report.go13
-rw-r--r--pkg/cover/report_test.go11
-rw-r--r--syz-manager/cover.go3
-rw-r--r--tools/syz-cover/syz-cover.go3
4 files changed, 19 insertions, 11 deletions
diff --git a/pkg/cover/report.go b/pkg/cover/report.go
index 3423d9b09..d150fcab7 100644
--- a/pkg/cover/report.go
+++ b/pkg/cover/report.go
@@ -30,9 +30,10 @@ type Prog struct {
var RestorePC = backend.RestorePC
-func MakeReportGenerator(target *targets.Target, vm, objDir, srcDir, buildDir string, subsystem []mgrconfig.Subsystem,
- moduleObj []string, modules []host.KernelModule, rawCover bool) (*ReportGenerator, error) {
- impl, err := backend.Make(target, vm, objDir, srcDir, buildDir, moduleObj, modules)
+func MakeReportGenerator(cfg *mgrconfig.Config, subsystem []mgrconfig.Subsystem,
+ modules []host.KernelModule, rawCover bool) (*ReportGenerator, error) {
+ impl, err := backend.Make(cfg.SysTarget, cfg.Type, cfg.KernelObj,
+ cfg.KernelSrc, cfg.KernelBuildSrc, cfg.ModuleObj, modules)
if err != nil {
return nil, err
}
@@ -41,9 +42,9 @@ func MakeReportGenerator(target *targets.Target, vm, objDir, srcDir, buildDir st
Paths: []string{""},
})
rg := &ReportGenerator{
- target: target,
- srcDir: srcDir,
- buildDir: buildDir,
+ target: cfg.SysTarget,
+ srcDir: cfg.KernelSrc,
+ buildDir: cfg.KernelBuildSrc,
subsystem: subsystem,
rawCoverEnabled: rawCover,
Impl: impl,
diff --git a/pkg/cover/report_test.go b/pkg/cover/report_test.go
index 219977157..72f5c0665 100644
--- a/pkg/cover/report_test.go
+++ b/pkg/cover/report_test.go
@@ -260,6 +260,15 @@ func buildTestBinary(t *testing.T, target *targets.Target, test Test, dir string
func generateReport(t *testing.T, target *targets.Target, test Test) ([]byte, []byte, error) {
dir := t.TempDir()
bin := buildTestBinary(t, target, test, dir)
+ cfg := &mgrconfig.Config{
+ Derived: mgrconfig.Derived{
+ SysTarget: target,
+ },
+ KernelObj: dir,
+ KernelSrc: dir,
+ KernelBuildSrc: dir,
+ Type: "",
+ }
subsystem := []mgrconfig.Subsystem{
{
Name: "sound",
@@ -277,7 +286,7 @@ func generateReport(t *testing.T, target *targets.Target, test Test) ([]byte, []
progs = append(progs, Prog{Sig: p.Sig, Data: p.Data, PCs: append([]uint64{}, p.PCs...)})
}
- rg, err := MakeReportGenerator(target, "", dir, dir, dir, subsystem, nil, nil, false)
+ rg, err := MakeReportGenerator(cfg, subsystem, nil, false)
if err != nil {
return nil, nil, err
}
diff --git a/syz-manager/cover.go b/syz-manager/cover.go
index bc8d48e10..9591562b0 100644
--- a/syz-manager/cover.go
+++ b/syz-manager/cover.go
@@ -20,8 +20,7 @@ var getReportGenerator = func() func(cfg *mgrconfig.Config,
return func(cfg *mgrconfig.Config, modules []host.KernelModule) (*cover.ReportGenerator, error) {
once.Do(func() {
log.Logf(0, "initializing coverage information...")
- rg, err = cover.MakeReportGenerator(cfg.SysTarget, cfg.Type, cfg.KernelObj, cfg.KernelSrc,
- cfg.KernelBuildSrc, cfg.KernelSubsystem, cfg.ModuleObj, modules, cfg.RawCover)
+ rg, err = cover.MakeReportGenerator(cfg, cfg.KernelSubsystem, modules, cfg.RawCover)
})
return rg, err
}
diff --git a/tools/syz-cover/syz-cover.go b/tools/syz-cover/syz-cover.go
index 014a9392b..72cd2a7a4 100644
--- a/tools/syz-cover/syz-cover.go
+++ b/tools/syz-cover/syz-cover.go
@@ -65,8 +65,7 @@ func main() {
}
modules = m
}
- rg, err := cover.MakeReportGenerator(cfg.SysTarget, cfg.Type, cfg.KernelObj,
- cfg.KernelSrc, cfg.KernelBuildSrc, nil, nil, modules, false)
+ rg, err := cover.MakeReportGenerator(cfg, cfg.KernelSubsystem, modules, false)
if err != nil {
tool.Fail(err)
}