aboutsummaryrefslogtreecommitdiffstats
path: root/manager
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-11-20 19:58:27 +0100
committerDmitry Vyukov <dvyukov@google.com>2015-11-20 19:58:27 +0100
commitb0131d4eefe908aef51ea88be98dc8a926023371 (patch)
treedde3663897c60bf2f2a0343ba54d6702482686da /manager
parent11b28f516665846164a5a0b90a0a5e8918063d28 (diff)
manager: add support for suppressions
There are always some known bugs...
Diffstat (limited to 'manager')
-rw-r--r--manager/main.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/manager/main.go b/manager/main.go
index b539e1f5c..c67661767 100644
--- a/manager/main.go
+++ b/manager/main.go
@@ -10,6 +10,7 @@ import (
"fmt"
"io/ioutil"
"log"
+ "regexp"
"strings"
"github.com/google/syzkaller/sys"
@@ -37,6 +38,7 @@ type Config struct {
Params map[string]interface{}
Enable_Syscalls []string
Disable_Syscalls []string
+ Suppressions []string
}
func main() {
@@ -62,6 +64,22 @@ func main() {
EnabledSyscalls: enabledSyscalls,
NoCover: cfg.Nocover,
}
+
+ // Add some builtin suppressions.
+ cfg.Suppressions = append(cfg.Suppressions, []string{
+ "panic: failed to start executor binary",
+ "panic: executor failed: pthread_create failed",
+ "panic: failed to create temp dir",
+ "Out of memory: Kill process .* \\(syzkaller_fuzze\\)",
+ }...)
+ for _, s := range cfg.Suppressions {
+ re, err := regexp.Compile(s)
+ if err != nil {
+ fatalf("failed to compile suppression '%v': %v", s, err)
+ }
+ vmCfg.Suppressions = append(vmCfg.Suppressions, re)
+ }
+
var instances []vm.Instance
for i := 0; i < cfg.Count; i++ {
inst, err := vm.Create(cfg.Type, vmCfg, i)