diff options
Diffstat (limited to 'syz-cluster/pkg/api/api.go')
| -rw-r--r-- | syz-cluster/pkg/api/api.go | 51 |
1 files changed, 33 insertions, 18 deletions
diff --git a/syz-cluster/pkg/api/api.go b/syz-cluster/pkg/api/api.go index decbc9611..5976db71d 100644 --- a/syz-cluster/pkg/api/api.go +++ b/syz-cluster/pkg/api/api.go @@ -15,10 +15,15 @@ type TriageResult struct { // The data layout faclitates the simplicity of the workflow definition. type FuzzTask struct { - Base BuildRequest `json:"base"` - Patched BuildRequest `json:"patched"` - Config string `json:"config"` // Refers to workflow/configs/{}. - CorpusURL string `json:"corpus_url"` + Base BuildRequest `json:"base"` + Patched BuildRequest `json:"patched"` + FuzzConfig +} + +// FuzzConfig represents a set of parameters passed to the fuzz step. +type FuzzConfig struct { + Config string `json:"config"` // Refers to workflow/configs/{}. + CorpusURL string `json:"corpus_url"` } // The triage step of the workflow will request these from controller. @@ -29,11 +34,11 @@ type Tree struct { EmailLists []string `json:"email_lists"` } -type FuzzConfig struct { - Name string `json:"name"` // Primary key. +// TriageFuzzConfig is a single record in the list of supported fuzz configs. +type TriageFuzzConfig struct { EmailLists []string `json:"email_lists"` KernelConfig string `json:"kernel_config"` - CorpusURL string `json:"corpus_url"` + FuzzConfig } type BuildRequest struct { @@ -208,39 +213,49 @@ const ( ) // The list is ordered by decreasing importance. -var FuzzConfigs = []*FuzzConfig{ +var FuzzConfigs = []*TriageFuzzConfig{ { - Name: `kvm`, EmailLists: []string{`kvm@vger.kernel.org`}, KernelConfig: `upstream-apparmor-kasan.config`, - CorpusURL: allCorpusURL, + FuzzConfig: FuzzConfig{ + Config: `kvm`, + CorpusURL: allCorpusURL, + }, }, { - Name: `io-uring`, EmailLists: []string{`io-uring@vger.kernel.org`}, KernelConfig: `upstream-apparmor-kasan.config`, - CorpusURL: allCorpusURL, + FuzzConfig: FuzzConfig{ + Config: `io-uring`, + CorpusURL: allCorpusURL, + }, }, { - Name: `bpf`, EmailLists: []string{`bpf@vger.kernel.org`}, KernelConfig: `upstream-apparmor-kasan.config`, - CorpusURL: bpfCorpusURL, + FuzzConfig: FuzzConfig{ + Config: `bpf`, + CorpusURL: bpfCorpusURL, + }, }, { - Name: `net`, EmailLists: []string{ `netdev@vger.kernel.org`, `netfilter-devel@vger.kernel.org`, `linux-wireless@vger.kernel.org`, }, KernelConfig: `upstream-apparmor-kasan.config`, - CorpusURL: netCorpusURL, + FuzzConfig: FuzzConfig{ + Config: `net`, + CorpusURL: netCorpusURL, + }, }, { - Name: `all`, EmailLists: nil, // A fallback option. KernelConfig: `upstream-apparmor-kasan.config`, - CorpusURL: allCorpusURL, + FuzzConfig: FuzzConfig{ + Config: `all`, + CorpusURL: allCorpusURL, + }, }, } |
