diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 4708c06eba0a287f113cb55c6313e7a96a2b7a7a..01966adceced1a14fbe2c675fb5246edc2643a94 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -2211,6 +2211,7 @@ static void cpuset_attach(struct cgroup_taskset *tset) cgroup_taskset_first(tset, &css); cs = css_cs(css); + cpus_read_lock(); percpu_down_write(&cpuset_rwsem); /* prepare for attach */ @@ -2266,6 +2267,7 @@ static void cpuset_attach(struct cgroup_taskset *tset) wake_up(&cpuset_attach_wq); percpu_up_write(&cpuset_rwsem); + cpus_read_unlock(); } /* The various types of files and directories in a cpuset file system */