On Wed, Feb 16, 2011 at 5:50 PM, Li Zefan <lizf@xxxxxxxxxxxxxx> wrote: > Chaning cpuset->mems/cpuset->cpus should be protected under > callback_mutex. > > cpuset_clone() doesn't follow this rule. It's ok because it's > called when creating and initializing a cgroup, but we'd better > hold the lock to avoid subtil break in the future. > > Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Acked-by: Paul Menage <menage@xxxxxxxxxx> Patch title should be s/cpuset_clone/cpuset_post_clone/ > --- > kernel/cpuset.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/kernel/cpuset.c b/kernel/cpuset.c > index 1e18d26..445573b 100644 > --- a/kernel/cpuset.c > +++ b/kernel/cpuset.c > @@ -1840,8 +1840,10 @@ static void cpuset_post_clone(struct cgroup_subsys *ss, > cs = cgroup_cs(cgroup); > parent_cs = cgroup_cs(parent); > > + mutex_lock(&callback_mutex); > cs->mems_allowed = parent_cs->mems_allowed; > cpumask_copy(cs->cpus_allowed, parent_cs->cpus_allowed); > + mutex_unlock(&callback_mutex); > return; > } > > -- > 1.7.3.1 > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href