diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 71644482faa7..a49f005d42cc 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -2851,6 +2851,8 @@ static void update_nodemasks_hier(struct cpuset *cs, nodemask_t *new_mems) continue; rcu_read_unlock(); + check_insane_mems_config(new_mems); + spin_lock_irq(&callback_lock); cp->effective_mems = *new_mems; spin_unlock_irq(&callback_lock); @@ -2904,8 +2906,6 @@ static int update_nodemask(struct cpuset *cs, struct cpuset *trialcs, if (retval < 0) return retval; - check_insane_mems_config(&trialcs->mems_allowed); - spin_lock_irq(&callback_lock); cs->mems_allowed = trialcs->mems_allowed; spin_unlock_irq(&callback_lock);