aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorMarco Vanotti <mvanotti@google.com>2019-10-30 18:16:22 -0700
committerMarco Vanotti <mvanotti@users.noreply.github.com>2019-12-09 15:13:49 -0800
commit607350e438a212477ce42ba3e85e82bc570d459a (patch)
tree512b550c35536d6b3b2fbdb8bff49c8fe96e2ef0 /sys
parent1f9a4e330bd054cd88f7fc662197f33bfa7ceff0 (diff)
syz/targets: add SyzExecutorCmd flag
This commit adds a new attribute to syzkaller targets that tells syzkaller how to invoke the syz-executor command. Some systems, like Fuchsia, are now building syz-executor as part of the build, and there is no need to copy it over, or to run it from `/tmp`. In fact, that might stop working at some time in the future in Fuchsia. All places that used to copy syz-executor into the target machine will now check for the SyzExecutorCmd flag, and won't copy it if the flag is set.
Diffstat (limited to 'sys')
-rw-r--r--sys/targets/targets.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/targets/targets.go b/sys/targets/targets.go
index 9c3a01f2e..34c06d5c6 100644
--- a/sys/targets/targets.go
+++ b/sys/targets/targets.go
@@ -49,6 +49,11 @@ type osCommon struct {
// Special mode for OSes that do not have support for building Go binaries.
// In this mode we run Go binaries on the host machine, only executor runs on target.
HostFuzzer bool
+ // How to run syz-executor directly.
+ // Some systems build syz-executor into their images.
+ // If this flag is not empty, syz-executor will not be copied to the machine, and will be run using
+ // this command instead.
+ SyzExecutorCmd string
// Extension of executable files (notably, .exe for windows).
ExeExtension string
// Name of the kernel object file.
@@ -361,6 +366,7 @@ var oses = map[string]osCommon{
ExecutorUsesShmem: false,
ExecutorUsesForkServer: false,
HostFuzzer: true,
+ SyzExecutorCmd: "syz-executor",
KernelObject: "zircon.elf",
},
"windows": {