Re: [PATCH 3/4] threadgroup: extend threadgroup_lock() to cover exitand exec

From: Tejun Heo
Date: Tue Sep 13 2011 - 04:00:00 EST


On Sun, Sep 11, 2011 at 09:04:55PM -0700, Paul Menage wrote:
> On Sun, Sep 4, 2011 at 11:01 AM, Tejun Heo <htejun@xxxxxxxxx> wrote:
> > From: Tejun Heo <tj@xxxxxxxxxx>
> >
> > threadgroup_lock() protected only protected against new addition to
> > the threadgroup, which was inherently somewhat incomplete and
> > problematic for its only user cgroup.  On-going migration could race
> > against exec and exit leading to interesting problems - the symmetry
> > between various attach methods, task exiting during method execution,
> > ->exit() racing against attach methods, migrating task switching basic
> > properties during exec and so on.
> >
> > This patch extends threadgroup_lock() such that it protects against
> > all three threadgroup altering operations - fork, exit and exec.  For
> > exit, threadgroup_change_begin/end() calls are added to exit path.
> > For exec, threadgroup_[un]lock() are updated to also grab and release
> > cred_guard_mutex.
>
> Can you add a comment (either in the commit or in the code) about why
> the cred_guard_mutex change is necessary? Is it simply that exec takes
> cred_guard_mutex and hence this excludes exec, or is there something
> more subtle?

Will do so. It's just for the exclusion of cred_guard_mutex. Maybe
we better rename it to exec_mutex or something, I don't know.

Thanks.

--
tejun
--
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/