aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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.