[PATCH] devcgroup: avoid using cgroup_lock

Serge E. Hallyn serue at us.ibm.com
Fri Mar 13 06:41:39 PDT 2009


Quoting Li Zefan (lizf at cn.fujitsu.com):
> >> @@ -426,11 +431,11 @@ static int devcgroup_access_write(struct cgroup *cgrp, struct cftype *cft,
> >>  				  const char *buffer)
> >>  {
> >>  	int retval;
> >> -	if (!cgroup_lock_live_group(cgrp))
> > 
> > Does it matter that we no longer check for cgroup_is_removed()?
> > 
> 
> No, this means in a rare case that the write handler is called when the cgroup
> is dead, we still do the update work instead of returning ENODEV.
> 
> This is ok, since at that time, accessing cgroup and devcgroup is still valid,
> but will have no effect since there is no task in this cgroup and the cgroup
> will be destroyed soon.

Ok, just wanted to make sure the devcgroup couldn't be partially torn
down and risking NULL or freed-memory derefs...

BTW is that against linux-next?  (didn't seem to apply cleanly against
my 2.6.29-rc9)  I guess I'd like to do a little test before acking,
though it looks ok based on your answer.

thanks,
-serge


More information about the Containers mailing list