• Daniel Lezcano's avatar
    cgroup: add clone_children control file · 97978e6d
    Daniel Lezcano authored
    The ns_cgroup is a control group interacting with the namespaces.  When a
    new namespace is created, a corresponding cgroup is automatically created
    too.  The cgroup name is the pid of the process who did 'unshare' or the
    child of 'clone'.
    
    This cgroup is tied with the namespace because it prevents a process to
    escape the control group and use the post_clone callback, so the child
    cgroup inherits the values of the parent cgroup.
    
    Unfortunately, the more we use this cgroup and the more we are facing
    problems with it:
    
    (1) when a process unshares, the cgroup name may conflict with a
        previous cgroup with the same pid, so unshare or clone return -EEXIST
    
    (2) the cgroup creation is out of control because there may have an
        application creating several namespaces where the system will
        automatically create several cgroups in his back and let them on the
        cgroupfs (eg.  a vrf based on the network namespace).
    
    (3) the mix of (1) and (2) force an administrator to...
    97978e6d
cgroup.c 128 KB