On Wed, Jun 02, 2010 at 03:03:49PM -0700, Paul Menage wrote: > On Wed, Jun 2, 2010 at 2:38 PM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > > > > cgroup_attach_task() does, and this time PF_EXITING is understandable. > > > > Oh, OK, I was talking about the one in cgroup_attach_task(), which is > called by attach_task_by_pid(), and assumed that you were referring to > the same one. I'd forgotten about the pre-check in > attach_task_by_pid(). Yes, that one could probably be removed without > affecting any final outcomes. > > Paul Yes, I agree. The check should be moved into cgroup_attach_task before the ss->can_attach calls, so the "optimization" stays in the case where it's wanted. And the use of __task_cred after the exiting check seems safe too if the check is gone - from cred.h: "The caller must make sure task doesn't go away, either by holding a ref on task or by holding tasklist_lock to prevent it from being unlinked." So that means it'd be safe to take a reference, task sets exiting and does everything before unhashing, then access the cred pointer; since we hold tasklist lock it's the same case. -- Ben _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers