diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-01-12 00:33:35 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-01-12 00:33:35 +0000 |
commit | 346a7f2e0b7f1f9de90bdfe12da1dbb86018f557 (patch) | |
tree | 8cca228e36e19aa3090f6b475dd8e9afbf8531d7 /runsc/boot | |
parent | e524c21569616484e3209be952dd90636209419e (diff) | |
parent | 7e462a1c7f56b9b8439ad1ac92906bd8dd376ab7 (diff) |
Merge release-20201216.0-83-g7e462a1c7 (automated)
Diffstat (limited to 'runsc/boot')
-rw-r--r-- | runsc/boot/loader.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/runsc/boot/loader.go b/runsc/boot/loader.go index f41d6c665..d7afd3dc1 100644 --- a/runsc/boot/loader.go +++ b/runsc/boot/loader.go @@ -440,6 +440,10 @@ func createProcessArgs(id string, spec *specs.Spec, creds *auth.Credentials, k * if err != nil { return kernel.CreateProcessArgs{}, fmt.Errorf("creating limits: %v", err) } + env, err := specutils.ResolveEnvs(spec.Process.Env) + if err != nil { + return kernel.CreateProcessArgs{}, fmt.Errorf("resolving env: %w", err) + } wd := spec.Process.Cwd if wd == "" { @@ -449,7 +453,7 @@ func createProcessArgs(id string, spec *specs.Spec, creds *auth.Credentials, k * // Create the process arguments. procArgs := kernel.CreateProcessArgs{ Argv: spec.Process.Args, - Envv: spec.Process.Env, + Envv: env, WorkingDirectory: wd, Credentials: creds, Umask: 0022, @@ -933,6 +937,11 @@ func (l *Loader) executeAsync(args *control.ExecArgs) (kernel.ThreadID, error) { } } + args.Envv, err = specutils.ResolveEnvs(args.Envv) + if err != nil { + return 0, fmt.Errorf("resolving env: %w", err) + } + // Add the HOME environment variable if it is not already set. if kernel.VFS2Enabled { root := args.MountNamespaceVFS2.Root() |