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

From: Paul Menage
Date: Mon Sep 12 2011 - 00:05:33 EST


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?

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