[lxc-devel] [lxc/lxc] 956f11: cgmanager: several fixes

GitHub noreply at github.com
Wed Oct 8 14:40:29 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/lxc/lxc
  Commit: 956f113bf0c3b8e8d686afd912ba24080a121d7d
      https://github.com/lxc/lxc/commit/956f113bf0c3b8e8d686afd912ba24080a121d7d
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2014-10-08 (Wed, 08 Oct 2014)

  Changed paths:
    M src/lxc/cgmanager.c

  Log Message:
  -----------
  cgmanager: several fixes

These all fix various ways that cgroup actions could fail if an
unprivileged user's cgroup paths were not all the same for all
controllers.

1. in cgm_{g,s}et, use the right controller, not the first in the list,
   to get the cgroup path.

2. when we pass 'all' to cgmanager for a ${METHOD}_abs, make sure that all
   cgroup paths are the same.  That isn't necessary for methods not
   taking an absolute path, so split up the former
   cgm_supports_multiple_controllers() function into two booleans, one
   telling whether cgm supports it, and another telling us whether
   cgm supports it AND all controller cgroup paths are the same.

3. separately, do_cgm_enter with abs=true couldn't work if all
   cgroup paths were not the same.  So just ditch that helper and
   call lxc_cgmanager_enter() where needed, because the special
   cases would be more complicated.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>




More information about the lxc-devel mailing list