diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2021-01-28 15:23:25 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-01-28 16:02:10 +0100 |
| commit | 7df34f59bca2c74f1dfa5c198b94577cf918cbb2 (patch) | |
| tree | 18c55c16f8e019a480d6379315f6935affdf2374 | |
| parent | eefc07f2541beeb1bcd50b1d75f40b5f04af2b06 (diff) | |
syz-ci: allow to use relative paths in config
Relative paths generally work except for few cases
where we e.g. start a subprocess in another dir and
pass a path from config to it (e.g. kernel build make).
Explicitly turn all paths into absolute to support
relative paths everywhere.
| -rw-r--r-- | syz-ci/syz-ci.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/syz-ci/syz-ci.go b/syz-ci/syz-ci.go index c93667f08..d979892ec 100644 --- a/syz-ci/syz-ci.go +++ b/syz-ci/syz-ci.go @@ -258,6 +258,10 @@ func loadConfig(filename string) (*Config, error) { if cfg.HTTP == "" { return nil, fmt.Errorf("param 'http' is empty") } + cfg.Goroot = osutil.Abs(cfg.Goroot) + cfg.SyzkallerDescriptions = osutil.Abs(cfg.SyzkallerDescriptions) + cfg.BisectBinDir = osutil.Abs(cfg.BisectBinDir) + cfg.Ccache = osutil.Abs(cfg.Ccache) // Manager name must not contain dots because it is used as GCE image name prefix. managerNameRe := regexp.MustCompile("^[a-zA-Z0-9-_]{3,64}$") var managers []*ManagerConfig @@ -293,6 +297,13 @@ func loadConfig(filename string) (*Config, error) { managercfg.HTTP = fmt.Sprintf(":%v", cfg.ManagerPort) cfg.ManagerPort++ } + mgr.Compiler = osutil.Abs(mgr.Compiler) + mgr.Ccache = osutil.Abs(mgr.Ccache) + mgr.Userspace = osutil.Abs(mgr.Userspace) + mgr.KernelConfig = osutil.Abs(mgr.KernelConfig) + mgr.KernelBaselineConfig = osutil.Abs(mgr.KernelBaselineConfig) + mgr.KernelCmdline = osutil.Abs(mgr.KernelCmdline) + mgr.KernelSysctl = osutil.Abs(mgr.KernelSysctl) } cfg.Managers = managers if len(cfg.Managers) == 0 { |
