>> @@ -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. >> - return -ENODEV; >> + >> + mutex_lock(&devcgroup_mutex); >> retval = devcgroup_update_access(cgroup_to_devcgroup(cgrp), >> cft->private, buffer); >> - cgroup_unlock(); >> + mutex_unlock(&devcgroup_mutex); >> return retval; >> } _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers