aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/pkg
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-09-03 21:03:54 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-10-01 20:14:51 +0000
commit267f56c68647622ed18443309598739a42bc3d31 (patch)
treea929f60d8096e89a96afef8b88df06d28ee8d97e /syz-cluster/pkg
parent17e67ed6bfc97990b3215df7fe40b5fba86eba62 (diff)
syz-cluster: prefix fuzzing-related steps
Specify a track name for each fuzzing campaign. It will help distinguish them once there are multiple ones.
Diffstat (limited to 'syz-cluster/pkg')
-rw-r--r--syz-cluster/pkg/api/api.go10
-rw-r--r--syz-cluster/pkg/workflow/template.yaml8
2 files changed, 14 insertions, 4 deletions
diff --git a/syz-cluster/pkg/api/api.go b/syz-cluster/pkg/api/api.go
index a634fe344..a6a199431 100644
--- a/syz-cluster/pkg/api/api.go
+++ b/syz-cluster/pkg/api/api.go
@@ -22,6 +22,7 @@ type FuzzTask struct {
// FuzzConfig represents a set of parameters passed to the fuzz step.
type FuzzConfig struct {
+ Track string `json:"track"` // E.g. KASAN.
Config string `json:"config"` // Refers to workflow/configs/{}.
CorpusURL string `json:"corpus_url"`
// Don't expect kernel coverage for the patched area.
@@ -230,12 +231,15 @@ const (
fsCorpusURL = `https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db`
)
+const kasanTrack = "KASAN"
+
// The list is ordered by decreasing importance.
var FuzzConfigs = []*TriageFuzzConfig{
{
EmailLists: []string{`kvm@vger.kernel.org`},
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `kvm`,
CorpusURL: allCorpusURL,
},
@@ -244,6 +248,7 @@ var FuzzConfigs = []*TriageFuzzConfig{
EmailLists: []string{`io-uring@vger.kernel.org`},
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `io-uring`,
CorpusURL: allCorpusURL,
},
@@ -252,6 +257,7 @@ var FuzzConfigs = []*TriageFuzzConfig{
EmailLists: []string{`bpf@vger.kernel.org`},
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `bpf`,
CorpusURL: bpfCorpusURL,
},
@@ -264,6 +270,7 @@ var FuzzConfigs = []*TriageFuzzConfig{
},
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `net`,
CorpusURL: netCorpusURL,
},
@@ -277,6 +284,7 @@ var FuzzConfigs = []*TriageFuzzConfig{
},
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `fs`,
CorpusURL: fsCorpusURL,
},
@@ -285,6 +293,7 @@ var FuzzConfigs = []*TriageFuzzConfig{
EmailLists: []string{`linux-mm@kvack.org`},
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `all`,
CorpusURL: allCorpusURL,
// Not all mm/ code is instrumented with KCOV.
@@ -295,6 +304,7 @@ var FuzzConfigs = []*TriageFuzzConfig{
EmailLists: nil, // A fallback option.
KernelConfig: `upstream-apparmor-kasan.config`,
FuzzConfig: FuzzConfig{
+ Track: kasanTrack,
Config: `all`,
CorpusURL: allCorpusURL,
},
diff --git a/syz-cluster/pkg/workflow/template.yaml b/syz-cluster/pkg/workflow/template.yaml
index c253187e4..31b217566 100644
--- a/syz-cluster/pkg/workflow/template.yaml
+++ b/syz-cluster/pkg/workflow/template.yaml
@@ -66,7 +66,7 @@ spec:
arguments:
parameters:
- name: test-name
- value: "Build Base"
+ value: "[{{=jsonpath(inputs.parameters.element, '$.track')}}] Build Base"
- name: session-id
value: "{{workflow.parameters.session-id}}"
artifacts:
@@ -95,7 +95,7 @@ spec:
- name: base-build-id
value: "{{=jsonpath(steps['base-build'].outputs.parameters.result, '$.build_id')}}"
- name: test-name
- value: "Boot test: Base"
+ value: "[{{=jsonpath(inputs.parameters.element, '$.track')}}] Boot test: Base"
- - name: abort-if-base-boot-failed
template: exit-workflow
when: "{{=jsonpath(steps['boot-test-base'].outputs.parameters.result, '$.success') == false}}"
@@ -106,7 +106,7 @@ spec:
arguments:
parameters:
- name: test-name
- value: "Build Patched"
+ value: "[{{=jsonpath(inputs.parameters.element, '$.track')}}] Build Patched"
- name: findings
value: "true"
- name: session-id
@@ -133,7 +133,7 @@ spec:
- name: report-findings
value: "true"
- name: test-name
- value: "Boot test: Patched"
+ value: "[{{=jsonpath(inputs.parameters.element, '$.track')}}] Boot test: Patched"
- - name: abort-if-patched-boot-failed
template: exit-workflow
when: "{{=jsonpath(steps['boot-test-patched'].outputs.parameters.result, '$.success') == false}}"