diff options
Diffstat (limited to 'pkg/mgrconfig')
| -rw-r--r-- | pkg/mgrconfig/config.go | 6 | ||||
| -rw-r--r-- | pkg/mgrconfig/load.go | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/pkg/mgrconfig/config.go b/pkg/mgrconfig/config.go index 24854af38..a2e850db1 100644 --- a/pkg/mgrconfig/config.go +++ b/pkg/mgrconfig/config.go @@ -135,6 +135,12 @@ type Config struct { // Reproduce, localize and minimize crashers (default: true). Reproduce bool `json:"reproduce"` + // The number of VMs that are reserved to only perform fuzzing and nothing else. + // Can be helpful e.g. to ensure that the pool of fuzzing VMs is never exhaused and + // the manager continues fuzzing no matter how many new bugs are encountered. + // By default the value is 0, i.e. all VMs can be used for all purposes. + FuzzingVMs int `json:"fuzzing_vms,omitempty"` + // List of syscalls to test (optional). For example: // "enable_syscalls": [ "mmap", "openat$ashmem", "ioctl$ASHMEM*" ] EnabledSyscalls []string `json:"enable_syscalls,omitempty"` diff --git a/pkg/mgrconfig/load.go b/pkg/mgrconfig/load.go index f26b26124..ff9d8e61f 100644 --- a/pkg/mgrconfig/load.go +++ b/pkg/mgrconfig/load.go @@ -167,6 +167,10 @@ func Complete(cfg *Config) error { return err } } + if cfg.FuzzingVMs < 0 { + return fmt.Errorf("fuzzing_vms cannot be less than 0") + } + var err error cfg.Syscalls, err = ParseEnabledSyscalls(cfg.Target, cfg.EnabledSyscalls, cfg.DisabledSyscalls) if err != nil { |
