Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

we don't ignore cgroup2 mountpoints #1209

Closed
cyphar opened this issue Dec 1, 2016 · 1 comment
Closed

we don't ignore cgroup2 mountpoints #1209

cyphar opened this issue Dec 1, 2016 · 1 comment

Comments

@cyphar
Copy link
Member

cyphar commented Dec 1, 2016

From systemd/systemd#4670:

$ ../runc -v
runc version 1.0.0-rc2
commit: 8893fa693bf9bf29e5a156369bc51b887df43924
spec: 1.0.0-rc2-dev

# "legacy"-mode
$ grep cgroup /proc/self/mountinfo
24 17 0:22 / /sys/fs/cgroup ro,nosuid,nodev,noexec shared:8 - tmpfs tmpfs ro,seclabel,mode=755
25 24 0:23 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime shared:9 - cgroup cgroup rw,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd
27 24 0:25 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime shared:10 - cgroup cgroup rw,blkio
28 24 0:26 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime shared:11 - cgroup cgroup rw,cpuset
29 24 0:27 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime shared:12 - cgroup cgroup rw,memory
30 24 0:28 / /sys/fs/cgroup/pids rw,nosuid,nodev,noexec,relatime shared:13 - cgroup cgroup rw,pids
31 24 0:29 / /sys/fs/cgroup/net_cls,net_prio rw,nosuid,nodev,noexec,relatime shared:14 - cgroup cgroup rw,net_cls,net_prio
32 24 0:30 / /sys/fs/cgroup/perf_event rw,nosuid,nodev,noexec,relatime shared:15 - cgroup cgroup rw,perf_event
33 24 0:31 / /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime shared:16 - cgroup cgroup rw,cpu,cpuacct
34 24 0:32 / /sys/fs/cgroup/hugetlb rw,nosuid,nodev,noexec,relatime shared:17 - cgroup cgroup rw,hugetlb
35 24 0:33 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime shared:18 - cgroup cgroup rw,freezer
36 24 0:34 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime shared:19 - cgroup cgroup rw,devices

# works fine
$ sudo ../runc run cont
/ # exit

$ mkdir -p /tmp/v2
$ sudo mount -t cgroup2 cgroup2 /tmp/v2/

$ sudo ../runc run cont
container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"cgroup\\\" to rootfs \\\"/home/vagrant/runc/cont/rootfs\\\" at \\\"/sys/fs/cgroup\\\" caused \\\"no subsystem for mount\\\"\""

$ sudo umount /tmp/v2

# works fine again
$ sudo ../runc run cont

This happens because of the quite-dodgy getCgroupMountsHelper code.

@ronin13
Copy link

ronin13 commented Dec 15, 2016

I hate the same problem few days back (and got the cryptic error of 'no subsytem for mount'.) and in my case cgroup2 was mounted on /mnt. Regarding getCgroupMountsHelper. I did look around there and see that we are parsing mountinfo manually in many places, whereas in libcontainer github.com/docker/docker/pkg/mount is used. Are we thinking of unifying and using pkg/mount (which provides a cleaner interface), or may be like a go-binding of libmount (which is maintained by util-linux who maintain mount as well).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants