SLUB slab validation: Alloc while interrupts are disabled must use GFP_ATOMIC The data structure to manage the information gathered about functions allocating and freeing objects is allocated when the list_lock has already been taken. We need to allocate with GFP_ATOMIC instead of GFP_TEMPORARY. Signed-off-by: Christoph Lameter --- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.22-rc4-mm2/mm/slub.c =================================================================== --- linux-2.6.22-rc4-mm2.orig/mm/slub.c 2007-06-16 15:36:36.000000000 -0700 +++ linux-2.6.22-rc4-mm2/mm/slub.c 2007-06-16 15:37:05.000000000 -0700 @@ -2922,7 +2922,7 @@ static int alloc_loc_track(struct loc_tr order = get_order(sizeof(struct location) * max); - l = (void *)__get_free_pages(GFP_TEMPORARY, order); + l = (void *)__get_free_pages(GFP_ATOMIC, order); if (!l) return 0;