Only unshare the mount namespace for execin
Fixes #4728 Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This commit is contained in:
parent
c549d6b643
commit
e6ecb9032a
|
@ -14,10 +14,12 @@ import (
|
|||
|
||||
// ExecIn uses an existing pid and joins the pid's namespaces with the new command.
|
||||
func (ns *linuxNs) ExecIn(container *libcontainer.Container, nspid int, args []string) (int, error) {
|
||||
ns.logger.Println("unshare namespaces")
|
||||
for _, ns := range container.Namespaces {
|
||||
if err := system.Unshare(ns.Value); err != nil {
|
||||
return -1, err
|
||||
for _, nsv := range container.Namespaces {
|
||||
// skip the PID namespace on unshare because it it not supported
|
||||
if nsv.Key != "NEWPID" {
|
||||
if err := system.Unshare(nsv.Value); err != nil {
|
||||
return -1, err
|
||||
}
|
||||
}
|
||||
}
|
||||
fds, err := ns.getNsFds(nspid, container)
|
||||
|
|
Loading…
Reference in New Issue