From: Eric Dumazet Date: Wed, 27 Oct 2010 17:33:43 +0000 (+0200) Subject: numa: fix slab_node(MPOL_BIND) X-Git-Tag: v2.6.35.10~153 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=6b4100ddcb000aab7cbb86a66361989d1e87a1c3;p=karo-tx-linux.git numa: fix slab_node(MPOL_BIND) commit 800416f799e0723635ac2d720ad4449917a1481c upstream. When a node contains only HighMem memory, slab_node(MPOL_BIND) dereferences a NULL pointer. [ This code seems to go back all the way to commit 19770b32609b: "mm: filter based on a nodemask as well as a gfp_mask". Which was back in April 2008, and it got merged into 2.6.26. - Linus ] Signed-off-by: Eric Dumazet Cc: Mel Gorman Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman Signed-off-by: Andi Kleen --- diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 5bc0a96beb51..407cda2d753f 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1576,7 +1576,7 @@ unsigned slab_node(struct mempolicy *policy) (void)first_zones_zonelist(zonelist, highest_zoneidx, &policy->v.nodes, &zone); - return zone->node; + return zone ? zone->node : numa_node_id(); } default: