aboutsummaryrefslogtreecommitdiffstats
path: root/syz-manager
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-12-06 10:08:26 +0100
committerDmitry Vyukov <dvyukov@google.com>2020-12-13 18:56:36 +0100
commit3e671cc5ce6612d8a67495a107df5ff8091113ea (patch)
tree2cd9b52eb5a63d3672ae5276c8456492430d687f /syz-manager
parentbca53db974f570410921f59b8c2c59a3d263cb44 (diff)
pkg/cover: split into ELF-dependent/independent parts
Diffstat (limited to 'syz-manager')
-rw-r--r--syz-manager/covfilter.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/syz-manager/covfilter.go b/syz-manager/covfilter.go
index 60d42bc37..83ac93228 100644
--- a/syz-manager/covfilter.go
+++ b/syz-manager/covfilter.go
@@ -13,7 +13,6 @@ import (
"sort"
"strconv"
- "github.com/google/syzkaller/pkg/cover"
"github.com/google/syzkaller/pkg/log"
"github.com/google/syzkaller/pkg/mgrconfig"
"github.com/google/syzkaller/pkg/osutil"
@@ -28,8 +27,7 @@ func createCoverageFilter(cfg *mgrconfig.Config) (string, map[uint32]uint32, err
if err := initCover(cfg.SysTarget, cfg.KernelObj, cfg.KernelSrc, cfg.KernelBuildSrc); err != nil {
return "", nil, err
}
- symbols := reportGenerator.GetSymbols()
- if err := initFilesFuncs(pcs, filter.Files, filter.Functions, symbols); err != nil {
+ if err := initFilesFuncs(pcs, filter.Files, filter.Functions); err != nil {
return "", nil, err
}
}
@@ -50,7 +48,7 @@ func createCoverageFilter(cfg *mgrconfig.Config) (string, map[uint32]uint32, err
return filename, pcs, nil
}
-func initFilesFuncs(pcs map[uint32]uint32, files, funcs []string, symbols []cover.Symbol) error {
+func initFilesFuncs(pcs map[uint32]uint32, files, funcs []string) error {
funcsRegexp, err := compileRegexps(funcs)
if err != nil {
return err
@@ -61,7 +59,7 @@ func initFilesFuncs(pcs map[uint32]uint32, files, funcs []string, symbols []cove
}
fileDedup := make(map[string]bool)
used := make(map[*regexp.Regexp][]string)
- for _, sym := range symbols {
+ for _, sym := range reportGenerator.Symbols {
matched := false
for _, re := range funcsRegexp {
if re.MatchString(sym.Name) {
@@ -71,11 +69,12 @@ func initFilesFuncs(pcs map[uint32]uint32, files, funcs []string, symbols []cove
}
}
for _, re := range filesRegexp {
- if re.MatchString(sym.File) {
+ file := sym.Unit.Name
+ if re.MatchString(file) {
matched = true
- if !fileDedup[sym.File] {
- fileDedup[sym.File] = true
- used[re] = append(used[re], sym.File)
+ if !fileDedup[file] {
+ fileDedup[file] = true
+ used[re] = append(used[re], file)
}
break
}