From b3ea23c379f1d883266e545f18a5f83562cf8f1c Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 29 May 2017 18:22:55 +0200 Subject: repro: always minimize over EnableTun --- csource/csource.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'csource/csource.go') diff --git a/csource/csource.go b/csource/csource.go index 8231a97ac..45a52dcf7 100644 --- a/csource/csource.go +++ b/csource/csource.go @@ -51,10 +51,6 @@ func Write(p *prog.Prog, opts Options) ([]byte, error) { } w := new(bytes.Buffer) - if prog.RequiresTun(p) { - opts.EnableTun = true - } - fmt.Fprint(w, "// autogenerated by syzkaller (http://github.com/google/syzkaller)\n\n") handled := make(map[string]int) @@ -68,7 +64,7 @@ func Write(p *prog.Prog, opts Options) ([]byte, error) { } fmt.Fprintf(w, "\n") - hdr, err := preprocessCommonHeader(opts, handled, prog.RequiresBitmasks(p)) + hdr, err := preprocessCommonHeader(opts, handled, prog.RequiresBitmasks(p), prog.RequiresChecksums(p)) if err != nil { return nil, err } @@ -327,6 +323,9 @@ loop: if meta.CallName == "syz_test" { emitCall = false } + if !opts.EnableTun && (meta.CallName == "syz_emit_ethernet" || meta.CallName == "syz_extract_tcp_res") { + emitCall = false + } if emitCall { if meta.Native { fmt.Fprintf(w, "\tr[%v] = syscall(__NR_%v", n, meta.CallName) @@ -371,11 +370,14 @@ loop: return calls, n } -func preprocessCommonHeader(opts Options, handled map[string]int, useBitmasks bool) (string, error) { +func preprocessCommonHeader(opts Options, handled map[string]int, useBitmasks, useChecksums bool) (string, error) { var defines []string if useBitmasks { defines = append(defines, "SYZ_USE_BITMASKS") } + if useBitmasks { + defines = append(defines, "SYZ_USE_CHECKSUMS") + } switch opts.Sandbox { case "": // No sandbox, do nothing. -- cgit mrf-deployment