summaryrefslogtreecommitdiff
path: root/mm/mempolicy.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2006-01-03 10:58:53 -0500
committerJeff Garzik <jgarzik@pobox.com>2006-01-03 10:58:53 -0500
commita18ceba7b40e24a9da87249bd74f16ea5abd6894 (patch)
tree5ce615d345e720ddabf95c46fb62287ee763ad4e /mm/mempolicy.c
parentaaadff81195056c7c14e0d834b3318c624c0fd78 (diff)
parent88026842b0a760145aa71d69e74fbc9ec118ca44 (diff)
downloadlinux-a18ceba7b40e24a9da87249bd74f16ea5abd6894.tar.gz
linux-a18ceba7b40e24a9da87249bd74f16ea5abd6894.tar.xz
Merge branch 'master'
Diffstat (limited to 'mm/mempolicy.c')
-rw-r--r--mm/mempolicy.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index bec88c81244e..72f402cc9c9a 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -161,6 +161,10 @@ static struct mempolicy *mpol_new(int mode, nodemask_t *nodes)
switch (mode) {
case MPOL_INTERLEAVE:
policy->v.nodes = *nodes;
+ if (nodes_weight(*nodes) == 0) {
+ kmem_cache_free(policy_cache, policy);
+ return ERR_PTR(-EINVAL);
+ }
break;
case MPOL_PREFERRED:
policy->v.preferred_node = first_node(*nodes);