Index: linux-2.6.17-mm6/mm/page_alloc.c =================================================================== --- linux-2.6.17-mm6.orig/mm/page_alloc.c 2006-07-07 16:51:50.430063305 -0700 +++ linux-2.6.17-mm6/mm/page_alloc.c 2006-07-10 10:21:32.507743432 -0700 @@ -255,7 +255,9 @@ static inline void prep_zero_page(struct { int i; +#ifdef CONFIG_HIGHMEM VM_BUG_ON((gfp_flags & (__GFP_WAIT | __GFP_HIGHMEM)) == __GFP_HIGHMEM); +#endif /* * clear_highpage() will use KM_USER0, so it's a bug to use __GFP_ZERO * and __GFP_HIGHMEM from hard or soft interrupt context.