From c138f0921521999d03991b4d22d4d7de9280a64b Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 7 Dec 2018 14:28:12 +0100 Subject: tools/syz-trace2syz/proggen: remove currentStraceArg It's used only by 2 functions: genSockaddrNetlink and genIfrIfru. Majority of functions just accept the straceType as argument, which looks like a much more appropriate way to pass an argument to a function. Amusingly, both functions already accept and use the straceType as argument. --- tools/syz-trace2syz/proggen/generate_unions.go | 4 ++-- tools/syz-trace2syz/proggen/proggen.go | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/syz-trace2syz/proggen/generate_unions.go b/tools/syz-trace2syz/proggen/generate_unions.go index da8b26cea..d7ff9174a 100644 --- a/tools/syz-trace2syz/proggen/generate_unions.go +++ b/tools/syz-trace2syz/proggen/generate_unions.go @@ -67,7 +67,7 @@ func (ctx *context) genSockaddrNetlink(syzType *prog.UnionType, straceType parse for i, field := range syzType.Fields { field2Opt[field.FieldName()] = i } - switch a := ctx.currentStraceArg.(type) { + switch a := straceType.(type) { case *parser.GroupType: if len(a.Elems) > 2 { switch b := a.Elems[1].(type) { @@ -93,7 +93,7 @@ func (ctx *context) genSockaddrNetlink(syzType *prog.UnionType, straceType parse func (ctx *context) genIfrIfru(syzType *prog.UnionType, straceType parser.IrType) prog.Arg { idx := 0 - switch ctx.currentStraceArg.(type) { + switch straceType.(type) { case parser.Constant: idx = 2 } diff --git a/tools/syz-trace2syz/proggen/proggen.go b/tools/syz-trace2syz/proggen/proggen.go index 541c1b4eb..0a55566a6 100644 --- a/tools/syz-trace2syz/proggen/proggen.go +++ b/tools/syz-trace2syz/proggen/proggen.go @@ -57,7 +57,6 @@ type context struct { returnCache returnCache currentStraceCall *parser.Syscall currentSyzCall *prog.Call - currentStraceArg parser.IrType } // genProg converts a trace to one of our programs. @@ -138,7 +137,6 @@ func (ctx *context) genArgs(syzType prog.Type, traceArg parser.IrType) prog.Arg log.Logf(3, "parsing syzType: %s, traceArg is nil. generating default arg...", syzType.Name()) return syzType.DefaultArg() } - ctx.currentStraceArg = traceArg log.Logf(3, "parsing arg of syz type: %s, ir type: %#v", syzType.Name(), traceArg) if syzType.Dir() == prog.DirOut { -- cgit mrf-deployment