From b1fd78346efb91177086a5b32c0a679d4882adb6 Mon Sep 17 00:00:00 2001 From: Qiang Huang Date: Wed, 15 Jul 2015 09:09:09 +0800 Subject: [PATCH] Correct tmpfs mount for cgroup Fixes: https://github.com/docker/docker/issues/14543 Fixes: https://github.com/docker/docker/pull/14610 Before this, we got mount info in container: ``` sysfs /sys sysfs ro,seclabel,nosuid,nodev,noexec,relatime 0 0 /sys/fs/cgroup tmpfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0 cgroup /sys/fs/cgroup/cpuset cgroup rw,relatime,cpuset 0 0 ``` It has no mount source, so in `parseInfoFile` in Docker code, we'll get: ``` Error found less than 3 fields post '-' in "84 83 0:41 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime - tmpfs rw,seclabel" ``` After this fix, we have mount info corrected: ``` sysfs /sys sysfs ro,seclabel,nosuid,nodev,noexec,relatime 0 0 tmpfs /sys/fs/cgroup tmpfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0 cgroup /sys/fs/cgroup/cpuset cgroup rw,relatime,cpuset 0 0 ``` Signed-off-by: Qiang Huang --- libcontainer/rootfs_linux.go | 1 + 1 file changed, 1 insertion(+) diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go index 33b9122f8..94a55f647 100644 --- a/libcontainer/rootfs_linux.go +++ b/libcontainer/rootfs_linux.go @@ -189,6 +189,7 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { } tmpfs := &configs.Mount{ Device: "tmpfs", + Source: "tmpfs", Destination: m.Destination, Flags: syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV, }