aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/pkg/triage
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-07-18 15:05:57 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-07-22 12:06:00 +0000
commite705ce9eface538b08b6003fdea6d856a4427a3d (patch)
tree68fe281fa38ea50c71793338b83fff28c6829231 /syz-cluster/pkg/triage
parent343f8ef4bca603a6a280812c4c6597825fcc63c5 (diff)
syz-cluster: consider series subjects during triage
If a kernel tree was mentioned in the series subject, pick it regardless of other factors.
Diffstat (limited to 'syz-cluster/pkg/triage')
-rw-r--r--syz-cluster/pkg/triage/tree.go8
-rw-r--r--syz-cluster/pkg/triage/tree_test.go12
2 files changed, 20 insertions, 0 deletions
diff --git a/syz-cluster/pkg/triage/tree.go b/syz-cluster/pkg/triage/tree.go
index 61e8935f4..34bcb0d02 100644
--- a/syz-cluster/pkg/triage/tree.go
+++ b/syz-cluster/pkg/triage/tree.go
@@ -14,8 +14,16 @@ func SelectTree(series *api.Series, trees []*api.Tree) *api.Tree {
for _, cc := range series.Cc {
seriesCc[strings.ToLower(cc)] = true
}
+ tagsMap := map[string]bool{}
+ for _, tag := range series.SubjectTags {
+ tagsMap[tag] = true
+ }
var best *api.Tree
for _, tree := range trees {
+ if tagsMap[tree.Name] {
+ // If the tree was directly mentioned in the patch subject, just return it.
+ return tree
+ }
intersects := false
for _, cc := range tree.EmailLists {
if seriesCc[strings.ToLower(cc)] {
diff --git a/syz-cluster/pkg/triage/tree_test.go b/syz-cluster/pkg/triage/tree_test.go
index d0c2aa6ec..2a5dfd721 100644
--- a/syz-cluster/pkg/triage/tree_test.go
+++ b/syz-cluster/pkg/triage/tree_test.go
@@ -27,6 +27,10 @@ func TestSelectTree(t *testing.T) {
EmailLists: []string{"wireless@list"},
Priority: 2,
},
+ {
+ Name: "test",
+ Priority: api.TreePriorityNever,
+ },
}
tests := []struct {
testName string
@@ -48,6 +52,14 @@ func TestSelectTree(t *testing.T) {
result: "mainline",
series: &api.Series{Cc: []string{"unknown@list"}},
},
+ {
+ testName: "prefer-direct-match",
+ result: "test",
+ series: &api.Series{
+ Cc: []string{"net@list", "wireless@list"},
+ SubjectTags: []string{"test"},
+ },
+ },
}
for _, test := range tests {