mm/sl[au]b: correct allocation type check in kmalloc_slab()
authorJoonsoo Kim <js1304@gmail.com>
Mon, 4 Feb 2013 14:46:46 +0000 (23:46 +0900)
committerPekka Enberg <penberg@kernel.org>
Wed, 6 Feb 2013 18:37:55 +0000 (20:37 +0200)
commit "slab: Common Kmalloc cache determination" made mistake
in kmalloc_slab(). SLAB_CACHE_DMA is for kmem_cache creation,
not for allocation. For allocation, we should use GFP_XXX to identify
type of allocation. So, change SLAB_CACHE_DMA to GFP_DMA.

Acked-by: Christoph Lameter <cl@linux.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
mm/slab_common.c

index 6d73f0b7f21c07ae82d091014a9a828091aa9112..2f0e7d5976cb9d47d6e91566c2668715eeee04fc 100644 (file)
@@ -382,7 +382,7 @@ struct kmem_cache *kmalloc_slab(size_t size, gfp_t flags)
                index = fls(size - 1);
 
 #ifdef CONFIG_ZONE_DMA
-       if (unlikely((flags & SLAB_CACHE_DMA)))
+       if (unlikely((flags & GFP_DMA)))
                return kmalloc_dma_caches[index];
 
 #endif