fork: report pid reservation failure properly
[linux-2.6-block.git] / mm / mempolicy.c
index 4721046a134a6b8c6ab177c92cebbc67da02dc9d..ede26291d4aa92ad120bfd006786414fd6d45c56 100644 (file)
@@ -945,7 +945,8 @@ static struct page *new_node_page(struct page *page, unsigned long node, int **x
                return alloc_huge_page_node(page_hstate(compound_head(page)),
                                        node);
        else
-               return alloc_pages_exact_node(node, GFP_HIGHUSER_MOVABLE, 0);
+               return alloc_pages_exact_node(node, GFP_HIGHUSER_MOVABLE |
+                                                   __GFP_THISNODE, 0);
 }
 
 /*
@@ -1985,7 +1986,8 @@ retry_cpuset:
                nmask = policy_nodemask(gfp, pol);
                if (!nmask || node_isset(node, *nmask)) {
                        mpol_cond_put(pol);
-                       page = alloc_pages_exact_node(node, gfp, order);
+                       page = alloc_pages_exact_node(node,
+                                               gfp | __GFP_THISNODE, order);
                        goto out;
                }
        }