diff --git a/integration/template_test.go b/integration/template_test.go index 45acaf77c..cb991b417 100644 --- a/integration/template_test.go +++ b/integration/template_test.go @@ -60,6 +60,26 @@ func newTemplateConfig(rootfs string) *configs.Config { Devices: configs.DefaultAutoCreatedDevices, Hostname: "integration", Mounts: []*configs.Mount{ + { + Source: "proc", + Destination: "/proc", + Device: "proc", + Flags: defaultMountFlags, + }, + { + Source: "tmpfs", + Destination: "/dev", + Device: "tmpfs", + Flags: syscall.MS_NOSUID | syscall.MS_STRICTATIME, + Data: "mode=755", + }, + { + Source: "devpts", + Destination: "/dev/pts", + Device: "devpts", + Flags: syscall.MS_NOSUID | syscall.MS_NOEXEC, + Data: "newinstance,ptmxmode=0666,mode=0620,gid=5", + }, { Device: "tmpfs", Source: "shm", diff --git a/nsinit/config.go b/nsinit/config.go index 2ef1aee52..e50bb3c11 100644 --- a/nsinit/config.go +++ b/nsinit/config.go @@ -234,6 +234,26 @@ func getTemplate() *configs.Config { "/proc/sys", "/proc/sysrq-trigger", "/proc/irq", "/proc/bus", }, Mounts: []*configs.Mount{ + { + Source: "proc", + Destination: "/proc", + Device: "proc", + Flags: defaultMountFlags, + }, + { + Source: "tmpfs", + Destination: "/dev", + Device: "tmpfs", + Flags: syscall.MS_NOSUID | syscall.MS_STRICTATIME, + Data: "mode=755", + }, + { + Source: "devpts", + Destination: "/dev/pts", + Device: "devpts", + Flags: syscall.MS_NOSUID | syscall.MS_NOEXEC, + Data: "newinstance,ptmxmode=0666,mode=0620,gid=5", + }, { Device: "tmpfs", Source: "shm", diff --git a/rootfs_linux.go b/rootfs_linux.go index c0c470def..cea629aba 100644 --- a/rootfs_linux.go +++ b/rootfs_linux.go @@ -17,36 +17,13 @@ import ( const defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -var baseMounts = []*configs.Mount{ - { - Source: "proc", - Destination: "/proc", - Device: "proc", - Flags: defaultMountFlags, - }, - { - Source: "tmpfs", - Destination: "/dev", - Device: "tmpfs", - Flags: syscall.MS_NOSUID | syscall.MS_STRICTATIME, - Data: "mode=755", - }, - { - Source: "devpts", - Destination: "/dev/pts", - Device: "devpts", - Flags: syscall.MS_NOSUID | syscall.MS_NOEXEC, - Data: "newinstance,ptmxmode=0666,mode=0620,gid=5", - }, -} - // setupRootfs sets up the devices, mount points, and filesystems for use inside a // new mount namespace. func setupRootfs(config *configs.Config, console *linuxConsole) (err error) { if err := prepareRoot(config); err != nil { return newSystemError(err) } - for _, m := range append(baseMounts, config.Mounts...) { + for _, m := range config.Mounts { if err := mount(m, config.Rootfs, config.MountLabel); err != nil { return newSystemError(err) }