diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-03-27 08:37:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-27 08:37:37 -0700 |
commit | c600014643fec02b5d48f092b90cc8a511c74eff (patch) | |
tree | ea241c61c1399d0be1b4cf5255a0907678f6d5f0 /cmd | |
parent | b20594ea51ba1fb21cb727a8b224415335e04ac7 (diff) | |
parent | aacc5a863221097d3deafaf890d525da814b0dec (diff) | |
download | podman-c600014643fec02b5d48f092b90cc8a511c74eff.tar.gz podman-c600014643fec02b5d48f092b90cc8a511c74eff.tar.bz2 podman-c600014643fec02b5d48f092b90cc8a511c74eff.zip |
Merge pull request #2762 from giuseppe/rootless-exec-old-containers-uidmap
rootless: fix regression when using exec on old containers
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/exec.go | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/cmd/podman/exec.go b/cmd/podman/exec.go index a6afbf75a..fc1c76e9f 100644 --- a/cmd/podman/exec.go +++ b/cmd/podman/exec.go @@ -112,14 +112,19 @@ func execCmd(c *cliconfig.ExecValues) error { var ret int data, err := ioutil.ReadFile(ctr.Config().ConmonPidFile) - if err != nil { - return errors.Wrapf(err, "cannot read conmon PID file %q", ctr.Config().ConmonPidFile) - } - conmonPid, err := strconv.Atoi(string(data)) - if err != nil { - return errors.Wrapf(err, "cannot parse PID %q", data) + if err == nil { + conmonPid, err := strconv.Atoi(string(data)) + if err != nil { + return errors.Wrapf(err, "cannot parse PID %q", data) + } + became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid)) + } else { + pid, err := ctr.PID() + if err != nil { + return err + } + became, ret, err = rootless.JoinNS(uint(pid), c.PreserveFDs) } - became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid)) if err != nil { return err } |