diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.64-vanilla/include/linux/mmzone.h linux-2.5.64-zonelist_fix/include/linux/mmzone.h --- linux-2.5.64-vanilla/include/linux/mmzone.h Tue Mar 4 19:29:22 2003 +++ linux-2.5.64-zonelist_fix/include/linux/mmzone.h Mon Mar 17 14:13:02 2003 @@ -178,7 +178,7 @@ struct bootmem_data; typedef struct pglist_data { struct zone node_zones[MAX_NR_ZONES]; - struct zonelist node_zonelists[GFP_ZONEMASK+1]; + struct zonelist node_zonelists[MAX_NR_ZONES]; int nr_zones; struct page *node_mem_map; unsigned long *valid_addr_bitmap; diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.64-vanilla/mm/page_alloc.c linux-2.5.64-zonelist_fix/mm/page_alloc.c --- linux-2.5.64-vanilla/mm/page_alloc.c Tue Mar 4 19:28:58 2003 +++ linux-2.5.64-zonelist_fix/mm/page_alloc.c Mon Mar 17 14:13:02 2003 @@ -1028,7 +1028,7 @@ local_node = pgdat->node_id; printk("Building zonelist for node : %d\n", local_node); - for (i = 0; i <= GFP_ZONEMASK; i++) { + for (i = 0; i < MAX_NR_ZONES; i++) { struct zonelist *zonelist; zonelist = pgdat->node_zonelists + i;