arm64: dts: clearfog-gt-8k: describe mini-PCIe CON2 USB
[linux-2.6-block.git] / mm / slab.c
index aa76a70e087e6f5f1b1f61a18065831447dffec5..2a5654bb3b3ff3fc66e7c0ebca8a583cec61d3f1 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1288,7 +1288,7 @@ void __init kmem_cache_init(void)
         * Initialize the caches that provide memory for the  kmem_cache_node
         * structures first.  Without this, further allocations will bug.
         */
-       kmalloc_caches[INDEX_NODE] = create_kmalloc_cache(
+       kmalloc_caches[KMALLOC_NORMAL][INDEX_NODE] = create_kmalloc_cache(
                                kmalloc_info[INDEX_NODE].name,
                                kmalloc_size(INDEX_NODE), ARCH_KMALLOC_FLAGS,
                                0, kmalloc_size(INDEX_NODE));
@@ -1304,7 +1304,7 @@ void __init kmem_cache_init(void)
                for_each_online_node(nid) {
                        init_list(kmem_cache, &init_kmem_cache_node[CACHE_CACHE + nid], nid);
 
-                       init_list(kmalloc_caches[INDEX_NODE],
+                       init_list(kmalloc_caches[KMALLOC_NORMAL][INDEX_NODE],
                                          &init_kmem_cache_node[SIZE_NODE + nid], nid);
                }
        }
@@ -3675,6 +3675,8 @@ __do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long caller)
        struct kmem_cache *cachep;
        void *ret;
 
+       if (unlikely(size > KMALLOC_MAX_CACHE_SIZE))
+               return NULL;
        cachep = kmalloc_slab(size, flags);
        if (unlikely(ZERO_OR_NULL_PTR(cachep)))
                return cachep;
@@ -3710,6 +3712,8 @@ static __always_inline void *__do_kmalloc(size_t size, gfp_t flags,
        struct kmem_cache *cachep;
        void *ret;
 
+       if (unlikely(size > KMALLOC_MAX_CACHE_SIZE))
+               return NULL;
        cachep = kmalloc_slab(size, flags);
        if (unlikely(ZERO_OR_NULL_PTR(cachep)))
                return cachep;