Re: [PATCH] capabilities: add capability cgroup controller

From: Serge E. Hallyn
Date: Fri Jun 24 2016 - 12:59:19 EST


Quoting Tejun Heo (tj@xxxxxxxxxx):
> Hello,
>
> On Fri, Jun 24, 2016 at 10:59:16AM -0500, Serge E. Hallyn wrote:
> > Quoting Tejun Heo (tj@xxxxxxxxxx):
> > > But isn't being recursive orthogonal to using cgroup? Why not account
> > > usages recursively along the process hierarchy? Capabilities don't
> > > have much to do with cgroup but everything with process hierarchy.
> > > That's how they're distributed and modified. If monitoring their
> > > usages is necessary, it makes sense to do it in the same structure.
> >
> > That was my argument against using cgroups to enforce a new bounding
> > set. For tracking though, the cgroup process tracking seems as applicable
> > to this as it does to systemd tracking of services. It tracks a task and
> > the children it forks.
>
> Just monitoring is less jarring than implementing security enforcement
> via cgroup, but it is still jarring. What's wrong with recursive
> process hierarchy monitoring which is in line with the whole facility
> is implemented anyway?

As I think Topi pointed out, one shortcoming is that if there is a short-lived
child task, using its /proc/self/status is racy. You might just miss that it
ever even existed, let alone that the "application" needed it.

Another alternative we've both mentioned is to use systemtap. That's not
as nice a solution as a cgroup, but then again this isn't really a common
case, so maybe it is precisely what a tracing infrastructure is meant for.

-serge