From e705ce9eface538b08b6003fdea6d856a4427a3d Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Fri, 18 Jul 2025 15:05:57 +0200 Subject: syz-cluster: consider series subjects during triage If a kernel tree was mentioned in the series subject, pick it regardless of other factors. --- syz-cluster/pkg/triage/tree.go | 8 ++++++++ syz-cluster/pkg/triage/tree_test.go | 12 ++++++++++++ 2 files changed, 20 insertions(+) (limited to 'syz-cluster') 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 { -- cgit mrf-deployment