Re: cgroup, kernfs: make mountinfo show properly scoped path for cgroup namespaces

From: Andrei Vagin
Date: Wed May 11 2016 - 20:10:26 EST


Hello,

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=4f41fc59620fcedaa97cbdf3d7d2956d80fcd922

This commit breaks criu:

[root@fc22-vm criu]# ./criu/criu check
Error (mount.c:403): mnt: No root found for mountpoint 35 (@./sys/kernel/debug)

The problem is that mountinfo doesn't contain a /sys mount, so criu
can't build a tree of mounts.

[root@fc22-vm criu]# cat /proc/self/mountinfo | grep 17
20 17 0:18 / /sys/kernel/security rw,nosuid,nodev,noexec,relatime
shared:7 - securityfs securityfs rw
24 17 0:21 / /sys/fs/cgroup ro,nosuid,nodev,noexec shared:8 - tmpfs
tmpfs ro,mode=755
26 17 0:23 / /sys/fs/pstore rw,nosuid,nodev,noexec,relatime shared:18
- pstore pstore rw
34 24 0:31 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime
shared:17 - cgroup cgroup rw,freezer
54 17 0:32 / /sys/kernel/config rw,relatime shared:19 - configfs configfs rw
35 17 0:7 / /sys/kernel/debug rw,relatime shared:22 - debugfs debugfs rw

[root@fc22-vm criu]# python
>>> import os
>>> os.open("/sys", os.O_RDONLY)
3
>>>
[1]+ Stopped python
[root@fc22-vm criu]# ps
PID TTY TIME CMD
760 pts/0 00:00:00 bash
913 pts/0 00:00:00 python
914 pts/0 00:00:00 ps
[root@fc22-vm criu]# cat /proc/913/fdinfo/3
pos: 0
flags: 0100000
mnt_id: 17

Thanks,
Andrew