aboutsummaryrefslogtreecommitdiffstats
path: root/csource
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2017-05-29 18:22:55 +0200
committerAndrey Konovalov <andreyknvl@google.com>2017-06-12 19:48:23 +0200
commitb3ea23c379f1d883266e545f18a5f83562cf8f1c (patch)
treeefb559f98420e1f5b728b0d5f765b337260ba236 /csource
parent07335203daa3b5bf7f4a372797ca12abb8f597be (diff)
repro: always minimize over EnableTun
Diffstat (limited to 'csource')
-rw-r--r--csource/common.go2
-rw-r--r--csource/csource.go14
2 files changed, 9 insertions, 7 deletions
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.