diff options
| author | Andrey Konovalov <andreyknvl@google.com> | 2017-05-29 18:22:55 +0200 |
|---|---|---|
| committer | Andrey Konovalov <andreyknvl@google.com> | 2017-06-12 19:48:23 +0200 |
| commit | b3ea23c379f1d883266e545f18a5f83562cf8f1c (patch) | |
| tree | efb559f98420e1f5b728b0d5f765b337260ba236 /csource/csource.go | |
| parent | 07335203daa3b5bf7f4a372797ca12abb8f597be (diff) | |
repro: always minimize over EnableTun
Diffstat (limited to 'csource/csource.go')
| -rw-r--r-- | csource/csource.go | 14 |
1 files changed, 8 insertions, 6 deletions
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. |
