---
 mm/slub.c |    3 +++
 1 file changed, 3 insertions(+)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c	2008-02-13 19:31:11.839445657 -0800
+++ linux-2.6/mm/slub.c	2008-02-13 19:31:49.183576972 -0800
@@ -1080,6 +1080,9 @@ static struct page *allocate_slab(struct
 	struct page *page;
 	int pages = 1 << s->order;
 
+	if (s->flags & __PAGE_ALLOC_FALLBACK)
+		return NULL;
+
 	flags |= s->allocflags;
 
 	if (node == -1)