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/common.go | 2 +- csource/csource.go | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'csource') diff --git a/csource/common.go b/csource/common.go index 2d26c2c4e..4db577579 100644 --- a/csource/common.go +++ b/csource/common.go @@ -424,7 +424,7 @@ static void debug_dump_data(const char* data, int length) } #endif -#if defined(SYZ_EXECUTOR) || (defined(__NR_syz_emit_ethernet) && defined(SYZ_TUN_ENABLE)) || defined(__NR_syz_test) +#if defined(SYZ_EXECUTOR) || defined(SYZ_USE_CHECKSUMS) || defined(__NR_syz_test) struct csum_inet { uint32_t acc; }; 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