diff --git a/include/linux/slab.h b/include/linux/slab.h index c19f190b..d8832c6c 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -19,7 +20,10 @@ static inline void *kmalloc(size_t size, gfp_t flags) run_shrinkers(); - p = malloc(size); + p = size + ? aligned_alloc(min(rounddown_pow_of_two(size), + PAGE_SIZE), size) + : malloc(0); if (p && (flags & __GFP_ZERO)) memset(p, 0, size);