aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-12-07 10:43:27 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-12-07 10:43:27 +0100
commit840b5cc05832dbf0a7a02379097d9e72e25fc00e (patch)
tree9b71432b30095e4d8ff081c9a913cee158562a77 /tools
parent5cdc1f5f6d97544416380561df22191a8e2e9c00 (diff)
tools/syz-trace2syz/parser: remove Filename from TraceTree
We already printed file name of the trace in parseTraces, no need to print it again and again. Consequently we don't need Filename in TraceTree. If needed, caller can always log it before parsing, or pass along with the TraceTree.
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-trace2syz/parser/intermediate_types.go1
-rw-r--r--tools/syz-trace2syz/parser/parser.go6
-rw-r--r--tools/syz-trace2syz/trace2syz.go11
3 files changed, 7 insertions, 11 deletions
diff --git a/tools/syz-trace2syz/parser/intermediate_types.go b/tools/syz-trace2syz/parser/intermediate_types.go
index b38086080..17dda668b 100644
--- a/tools/syz-trace2syz/parser/intermediate_types.go
+++ b/tools/syz-trace2syz/parser/intermediate_types.go
@@ -14,7 +14,6 @@ type TraceTree struct {
TraceMap map[int64]*Trace
Ptree map[int64][]int64
RootPid int64
- Filename string
}
// NewTraceTree initializes a TraceTree.
diff --git a/tools/syz-trace2syz/parser/parser.go b/tools/syz-trace2syz/parser/parser.go
index 6efffeb06..6076b9a18 100644
--- a/tools/syz-trace2syz/parser/parser.go
+++ b/tools/syz-trace2syz/parser/parser.go
@@ -55,9 +55,5 @@ func Parse(filename string) *TraceTree {
if err != nil {
log.Fatalf("error reading file: %s", err.Error())
}
- tree := ParseLoop(data)
- if tree != nil {
- tree.Filename = filename
- }
- return tree
+ return ParseLoop(data)
}
diff --git a/tools/syz-trace2syz/trace2syz.go b/tools/syz-trace2syz/trace2syz.go
index 4d6eee36b..19149cca4 100644
--- a/tools/syz-trace2syz/trace2syz.go
+++ b/tools/syz-trace2syz/trace2syz.go
@@ -17,6 +17,7 @@ import (
"github.com/google/syzkaller/pkg/db"
"github.com/google/syzkaller/pkg/log"
+ "github.com/google/syzkaller/pkg/osutil"
"github.com/google/syzkaller/prog"
_ "github.com/google/syzkaller/sys"
"github.com/google/syzkaller/tools/syz-trace2syz/parser"
@@ -70,9 +71,9 @@ func parseTraces(target *prog.Target) []*prog.Prog {
deserializeDir := *flagDeserialize
totalFiles := len(names)
- log.Logf(0, "parsing %d traces", totalFiles)
+ log.Logf(0, "parsing %v traces", totalFiles)
for i, file := range names {
- log.Logf(1, "parsing File %d/%d: %s", i+1, totalFiles, filepath.Base(names[i]))
+ log.Logf(1, "parsing file %v/%v: %v", i+1, totalFiles, filepath.Base(names[i]))
tree := parser.Parse(file)
if tree == nil {
log.Logf(1, "file: %s is empty", filepath.Base(file))
@@ -86,7 +87,7 @@ func parseTraces(target *prog.Target) []*prog.Prog {
continue
}
if err := ctx.Prog.Finalize(); err != nil {
- log.Fatalf("error validating program: %s", err)
+ log.Fatalf("error validating program: %v", err)
}
if progIsTooLarge(ctx.Prog) {
log.Logf(1, "prog is too large")
@@ -97,7 +98,7 @@ func parseTraces(target *prog.Target) []*prog.Prog {
continue
}
progName := filepath.Join(deserializeDir, filepath.Base(file)+strconv.Itoa(i))
- if err := ioutil.WriteFile(progName, ctx.Prog.Serialize(), 0640); err != nil {
+ if err := osutil.WriteFile(progName, ctx.Prog.Serialize()); err != nil {
log.Fatalf("failed to output file: %v", err)
}
}
@@ -131,7 +132,7 @@ func getTraceFiles(dir string) []string {
// parseTree groups system calls in the trace by process id.
// The tree preserves process hierarchy i.e. parent->[]child
func parseTree(tree *parser.TraceTree, pid int64, target *prog.Target) []*proggen.Context {
- log.Logf(2, "parsing trace: %s", tree.Filename)
+ log.Logf(2, "parsing trace pid %v", pid)
var ctxs []*proggen.Context
ctx := proggen.GenSyzProg(tree.TraceMap[pid], target, callSelector)