aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-08-04 17:02:49 +0200
committerAleksandr Nogikh <nogikh@google.com>2023-08-04 16:03:43 +0000
commit4ffcc9efeba621d9391f2beb81ab904c2f97cefa (patch)
tree42cea5835643a9e2745856cc08e40cfd332a865e
parent635a5acfb7298dc171e913960b31157947faa91d (diff)
syz-ci: accept the global per-syz-ci backport list
Now that we also support checking whether the guilty commit is present, we can afford to share the custom backport list among all syz-ci managers in a number of cases.
-rw-r--r--syz-ci/jobs.go2
-rw-r--r--syz-ci/manager.go7
-rw-r--r--syz-ci/syz-ci.go7
3 files changed, 13 insertions, 3 deletions
diff --git a/syz-ci/jobs.go b/syz-ci/jobs.go
index f9851edfb..662361fd2 100644
--- a/syz-ci/jobs.go
+++ b/syz-ci/jobs.go
@@ -503,7 +503,7 @@ func (jp *JobProcessor) bisect(job *Job, mgrcfg *mgrconfig.Config) error {
Config: req.KernelConfig,
BaselineConfig: baseline,
Userspace: mgr.mgrcfg.Userspace,
- Backports: mgr.mgrcfg.BisectBackports,
+ Backports: mgr.backportCommits(),
},
Syzkaller: bisect.SyzkallerConfig{
Repo: jp.cfg.SyzkallerRepo,
diff --git a/syz-ci/manager.go b/syz-ci/manager.go
index 13f8768e1..306081ad6 100644
--- a/syz-ci/manager.go
+++ b/syz-ci/manager.go
@@ -686,6 +686,13 @@ func (mgr *Manager) pollCommits(buildCommit string) ([]string, []dashapi.Commit,
return present, fixCommits, nil
}
+func (mgr *Manager) backportCommits() []vcs.BackportCommit {
+ return append(
+ append([]vcs.BackportCommit{}, mgr.cfg.BisectBackports...),
+ mgr.mgrcfg.BisectBackports...,
+ )
+}
+
func (mgr *Manager) uploadBuildAssets(buildInfo *dashapi.Build, assetFolder string) ([]dashapi.NewAsset, error) {
if mgr.storage == nil {
// No reason to continue anyway.
diff --git a/syz-ci/syz-ci.go b/syz-ci/syz-ci.go
index a8f59524a..ad4a45523 100644
--- a/syz-ci/syz-ci.go
+++ b/syz-ci/syz-ci.go
@@ -117,8 +117,11 @@ type Config struct {
// in bisection results.
// Values of the map are ignored and can e.g. serve as comments.
BisectIgnore map[string]string `json:"bisect_ignore"`
- Ccache string `json:"ccache"`
- Managers []*ManagerConfig `json:"managers"`
+ // Extra commits to cherry-pick to older kernel revisions.
+ // The list is concatenated with the similar parameter from ManagerConfig.
+ BisectBackports []vcs.BackportCommit `json:"bisect_backports"`
+ Ccache string `json:"ccache"`
+ Managers []*ManagerConfig `json:"managers"`
// Poll period for jobs in seconds (optional, defaults to 10 seconds)
JobPollPeriod int `json:"job_poll_period"`
// Set up a second (parallel) job processor to speed up processing.