slab: Return NULL for oversized allocations
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / slab_def.h
index 113ec08..cd40158 100644 (file)
@@ -126,6 +126,9 @@ static __always_inline void *kmalloc(size_t size, gfp_t flags)
                if (!size)
                        return ZERO_SIZE_PTR;
 
+               if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))
+                       return NULL;
+
                i = kmalloc_index(size);
 
 #ifdef CONFIG_ZONE_DMA
@@ -172,6 +175,9 @@ static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
                if (!size)
                        return ZERO_SIZE_PTR;
 
+               if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))
+                       return NULL;
+
                i = kmalloc_index(size);
 
 #ifdef CONFIG_ZONE_DMA