The time has come to remove the cgfs cgroup driver as well. I'm doing this for
mainly two reasons:
- potential security issue:
The cgfs cgroup driver has been unmaintained for a long time now. It did not
receive new functionality apart from bugfixes. Now that cgroup2 is a thing
the internal logic how to deal with cgroups has been substantially reworked
for the cgfsng driver. Given that we won't do the same work for the cgfs
driver I smell bugs all over the place in the near future. I don't want to
wake up to a security issue where someone forces LXC to fallback to the cgfs
driver to exploit bugs when e.g. running in a pure unified cgroup layout.
- code complexity:
The cgfs cgroup driver is massively complex since it tried to figure out
where the mountpoint for each legacy cgroup hierarchy is, i.e. it didn't make
simplyfing assumptions like cgfsng does about where the cgroup hierarchies -
legacy or unified - would be mounted. This was appropriate before cgroup
mounting has been standardized. Nowadays, anyone who mounts cgroups not under
/sys/fs/cgroup is on their own. Furthermore, with unified hierarchy cgroup
layouts there will only be a single hierarchy mounted at /sys/fs/cgroup so
there's even less need to drag the complex parsing in cgfs into the future.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>