aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-05-11 17:03:56 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-05-11 17:03:56 +0200
commit9eb09c40090fa79b9434e26fdc39e1fdd3e6805b (patch)
treef61047e7f95c1964d86e932659e31e643a7fbcc5
parentb026d481bebf7dcc49bf8f4b18cc067527c2058c (diff)
pkg/mgrconfig: convert all paths to absolute
Qemu can use ssh key after chdir to workdir. Consistently apply Abs to all paths.
-rw-r--r--pkg/mgrconfig/load.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkg/mgrconfig/load.go b/pkg/mgrconfig/load.go
index c17f7cd15..74ebc549b 100644
--- a/pkg/mgrconfig/load.go
+++ b/pkg/mgrconfig/load.go
@@ -89,6 +89,12 @@ func Complete(cfg *Config) error {
return fmt.Errorf("failed to read workdir_template: %v", err)
}
}
+ if cfg.Image != "" {
+ if !osutil.IsExist(cfg.Image) {
+ return fmt.Errorf("bad config param image: can't find %v", cfg.Image)
+ }
+ cfg.Image = osutil.Abs(cfg.Image)
+ }
if cfg.Syzkaller == "" {
return fmt.Errorf("config param syzkaller is empty")
}
@@ -135,6 +141,7 @@ func (cfg *Config) CompleteKernelDirs() {
if cfg.KernelBuildSrc == "" {
cfg.KernelBuildSrc = cfg.KernelSrc
}
+ cfg.KernelBuildSrc = osutil.Abs(cfg.KernelBuildSrc)
}
func checkSSHParams(cfg *Config) error {
@@ -151,6 +158,7 @@ func checkSSHParams(cfg *Config) error {
if info.Mode()&0077 != 0 {
return fmt.Errorf("sshkey %v is unprotected, ssh will reject it, do chmod 0600", cfg.SSHKey)
}
+ cfg.SSHKey = osutil.Abs(cfg.SSHKey)
return nil
}