Re: [PATCH 3/5] device_cgroup: keep track of local group settings

From: Serge E. Hallyn
Date: Thu Nov 29 2012 - 14:25:09 EST


Quoting Aristeu Rozanski (aris@xxxxxxxxxx):
> In preparation for better hierarchy support, it's needed to retain the local
> settings in order to try to reapply them after a propagated change if they're
> still valid.
>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
> Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx>
>
> ---
> security/device_cgroup.c | 108 ++++++++++++++++++++++++++++++++++-------------
> 1 file changed, 80 insertions(+), 28 deletions(-)

Hi,

thanks for doing this. I've got one concern though. I don't see
any place where devcgroup_create() was updated to create the
local exceptions list. I think we need a guarantee that at
any time the local exceptions list will contain all the entries
contained in the cgroup->exceptions list. Otherwise you cannot
use the exception_add() the way you do (or you can't use RCU),
since there could be a window between the successful addition
of a rule to cgroup->local.exceptions and the failed addition to
cgroup->exceptions, during which a task (since it won't need
the mutex for devcg_allow()) could exceed allowed permissions.

It's possible I'm misunderstanding. If you think that's the case
just kick me and I'll take a fresh look.

(Btw is there a git tree or gitweb view I could look at alongside
the patchset?)

thanks,
-serge
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/