Re: [PATCH 3/5] device_cgroup: keep track of local group settings
From: "Serge E. Hallyn" <serge@hallyn.com>
Date: 2012-11-29 19:25:21
Also in:
lkml
Quoting Aristeu Rozanski (aris@redhat.com):
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@kernel.org> Cc: Serge Hallyn <redacted> Signed-off-by: Aristeu Rozanski <redacted> --- 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