aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/mgrconfig
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/mgrconfig')
-rw-r--r--pkg/mgrconfig/config.go5
-rw-r--r--pkg/mgrconfig/load.go6
2 files changed, 11 insertions, 0 deletions
diff --git a/pkg/mgrconfig/config.go b/pkg/mgrconfig/config.go
index c13e6f452..20a0b7b57 100644
--- a/pkg/mgrconfig/config.go
+++ b/pkg/mgrconfig/config.go
@@ -168,6 +168,11 @@ type Config struct {
// Regexps are matched against bug title, guilty file and maintainer emails.
Interests []string `json:"interests,omitempty"`
+ // Path to the strace binary compiled for the target architecture.
+ // If set, for each reproducer syzkaller will run it once more under strace and save
+ // the output.
+ StraceBin string `json:"strace_bin"`
+
// Type of virtual machine to use, e.g. "qemu", "gce", "android", "isolated", etc.
Type string `json:"type"`
// VM-type-specific parameters.
diff --git a/pkg/mgrconfig/load.go b/pkg/mgrconfig/load.go
index c9528b38a..2b49d0cbd 100644
--- a/pkg/mgrconfig/load.go
+++ b/pkg/mgrconfig/load.go
@@ -256,6 +256,12 @@ func (cfg *Config) completeBinaries() error {
if cfg.ExecutorBin != "" && !osutil.IsExist(cfg.ExecutorBin) {
return fmt.Errorf("bad config syzkaller param: can't find %v", cfg.ExecutorBin)
}
+ if cfg.StraceBin != "" {
+ if !osutil.IsExist(cfg.StraceBin) {
+ return fmt.Errorf("bad config param strace_bin: can't find %v", cfg.StraceBin)
+ }
+ cfg.StraceBin = osutil.Abs(cfg.StraceBin)
+ }
return nil
}