diff options
| author | Kris Alder <kalder@google.com> | 2023-10-17 11:43:11 -0700 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2023-10-19 17:06:09 +0000 |
| commit | 4f9b680bf7d56a0023c4ec0e87207c77de7d276a (patch) | |
| tree | 5527e86b6d3889c3f97c12552387c97dbe48bb41 /syz-ci | |
| parent | 42e1d5241be0f7564d28dbd5f704d67c77d4dd74 (diff) | |
syz-ci: add kernel_src_suffix field to config
This is used to add a suffix to the kernel_src config field. This is
used in Android where kernel source is under .../kernel/aosp/.
Diffstat (limited to 'syz-ci')
| -rw-r--r-- | syz-ci/jobs.go | 3 | ||||
| -rw-r--r-- | syz-ci/manager.go | 4 | ||||
| -rw-r--r-- | syz-ci/syz-ci.go | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/syz-ci/jobs.go b/syz-ci/jobs.go index b2d996cf4..d8092ad0e 100644 --- a/syz-ci/jobs.go +++ b/syz-ci/jobs.go @@ -366,6 +366,9 @@ func (jp *JobProcessor) process(job *Job) *dashapi.JobDoneReq { *mgrcfg = *mgr.managercfg mgrcfg.Workdir = filepath.Join(dir, "workdir") mgrcfg.KernelSrc = filepath.Join(dir, "kernel") + if mgr.mgrcfg.KernelSrcSuffix != "" { + mgrcfg.KernelSrc = filepath.Join(dir, "kernel", mgr.mgrcfg.KernelSrcSuffix) + } mgrcfg.Syzkaller = filepath.Join(dir, "gopath", "src", "github.com", "google", "syzkaller") os.RemoveAll(mgrcfg.Workdir) defer os.RemoveAll(mgrcfg.Workdir) diff --git a/syz-ci/manager.go b/syz-ci/manager.go index 306081ad6..b1746184a 100644 --- a/syz-ci/manager.go +++ b/syz-ci/manager.go @@ -143,6 +143,10 @@ func createManager(cfg *Config, mgrcfg *ManagerConfig, stop chan struct{}, debug: debug, } + if mgrcfg.KernelSrcSuffix != "" { + mgr.kernelDir = path.Join(kernelDir, mgrcfg.KernelSrcSuffix) + } + os.RemoveAll(mgr.currentDir) return mgr, nil } diff --git a/syz-ci/syz-ci.go b/syz-ci/syz-ci.go index ad4a45523..7beb6ad88 100644 --- a/syz-ci/syz-ci.go +++ b/syz-ci/syz-ci.go @@ -178,6 +178,9 @@ type ManagerConfig struct { Ccache string `json:"ccache"` Userspace string `json:"userspace"` KernelConfig string `json:"kernel_config"` + // KernelSrcSuffiz adds a suffix to the kernel_src manager config. This is needed for cases where + // the kernel source root as reported in the coverage UI is a subdirectory of the VCS root. + KernelSrcSuffix string `json:"kernel_src_suffix"` // Build-type-specific parameters. // Parameters for concrete types are in Config type in pkg/build/TYPE.go, e.g. pkg/build/android.go. Build json.RawMessage `json:"build"` |
