|
@@ -183,7 +183,9 @@ static struct mempolicy *mpol_new(int mode, nodemask_t *nodes)
|
|
|
switch (mode) {
|
|
|
case MPOL_INTERLEAVE:
|
|
|
policy->v.nodes = *nodes;
|
|
|
- if (nodes_weight(*nodes) == 0) {
|
|
|
+ nodes_and(policy->v.nodes, policy->v.nodes,
|
|
|
+ node_states[N_HIGH_MEMORY]);
|
|
|
+ if (nodes_weight(policy->v.nodes) == 0) {
|
|
|
kmem_cache_free(policy_cache, policy);
|
|
|
return ERR_PTR(-EINVAL);
|
|
|
}
|