merge branch 'pr-1500'
rootfs: switch ms_private remount of oldroot to ms_slave LGTMs: @crosbymichael @hqhq Closes opencontainers/runc#1500
This commit is contained in:
commit
2430a98e64
|
@ -678,9 +678,12 @@ func pivotRoot(rootfs string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make oldroot rprivate to make sure our unmounts don't propagate to the
|
// Make oldroot rslave to make sure our unmounts don't propagate to the
|
||||||
// host (and thus bork the machine).
|
// host (and thus bork the machine). We don't use rprivate because this is
|
||||||
if err := unix.Mount("", ".", "", unix.MS_PRIVATE|unix.MS_REC, ""); err != nil {
|
// known to cause issues due to races where we still have a reference to a
|
||||||
|
// mount while a process in the host namespace are trying to operate on
|
||||||
|
// something they think has no mounts (devicemapper in particular).
|
||||||
|
if err := unix.Mount("", ".", "", unix.MS_SLAVE|unix.MS_REC, ""); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// Preform the unmount. MNT_DETACH allows us to unmount /proc/self/cwd.
|
// Preform the unmount. MNT_DETACH allows us to unmount /proc/self/cwd.
|
||||||
|
|
Loading…
Reference in New Issue