aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/syz-cover/syz-cover.go23
1 files changed, 17 insertions, 6 deletions
diff --git a/tools/syz-cover/syz-cover.go b/tools/syz-cover/syz-cover.go
index 8e4f79076..4cb28352e 100644
--- a/tools/syz-cover/syz-cover.go
+++ b/tools/syz-cover/syz-cover.go
@@ -35,6 +35,7 @@ import (
"cloud.google.com/go/civil"
"github.com/google/syzkaller/pkg/cover"
+ "github.com/google/syzkaller/pkg/cover/backend"
"github.com/google/syzkaller/pkg/mgrconfig"
"github.com/google/syzkaller/pkg/osutil"
"github.com/google/syzkaller/pkg/tool"
@@ -119,6 +120,21 @@ func toolFileCover() {
fmt.Println(details)
}
+func initModules(cfg *mgrconfig.Config) []*vminfo.KernelModule {
+ modules, err := backend.DiscoverModules(cfg.SysTarget, cfg.KernelObj, cfg.ModuleObj)
+ if err != nil {
+ tool.Fail(err)
+ }
+ if *flagModules != "" {
+ m, err := loadModules(*flagModules)
+ if err != nil {
+ tool.Fail(err)
+ }
+ modules = m
+ }
+ return modules
+}
+
func main() {
defer tool.Init()()
if *flagForFile != "" {
@@ -133,12 +149,7 @@ func main() {
if err != nil {
tool.Fail(err)
}
- var modules []*vminfo.KernelModule
- if *flagModules != "" {
- if modules, err = loadModules(*flagModules); err != nil {
- tool.Fail(err)
- }
- }
+ modules := initModules(cfg)
rg, err := cover.MakeReportGenerator(cfg, cfg.KernelSubsystem, modules, false)
if err != nil {
tool.Fail(err)