diff --git a/mm/slub.c b/mm/slub.c index 0337e60db5ace..2d87896c6dfbf 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -5265,6 +5265,9 @@ static void *___kmalloc_large_node(size_t size, gfp_t flags, int node) void *ptr = NULL; unsigned int order = get_order(size); + if (size > KMALLOC_MAX_SIZE) + return NULL; + if (unlikely(flags & GFP_SLAB_BUG_MASK)) flags = kmalloc_fix_flags(flags);