Re: [PATCH] mempool: Use kmalloc_size_roundup() to match ksize() usage

From: Andrew Morton
Date: Tue Oct 18 2022 - 18:51:46 EST


On Tue, 18 Oct 2022 02:03:29 -0700 Kees Cook <keescook@xxxxxxxxxxxx> wrote:

> Round up allocations with kmalloc_size_roundup() so that mempool's use
> of ksize() is always accurate and no special handling of the memory is
> needed by KASAN, UBSAN_BOUNDS, nor FORTIFY_SOURCE.

Confused. If the special handling is not needed, why doesn't the patch
removed the no longer needed special handling?

>
> diff --git a/mm/mempool.c b/mm/mempool.c
> index 96488b13a1ef..0f3107b28e6b 100644
> --- a/mm/mempool.c
> +++ b/mm/mempool.c
> @@ -526,7 +526,7 @@ EXPORT_SYMBOL(mempool_free_slab);
> */
> void *mempool_kmalloc(gfp_t gfp_mask, void *pool_data)
> {
> - size_t size = (size_t)pool_data;
> + size_t size = kmalloc_size_roundup((size_t)pool_data);
> return kmalloc(size, gfp_mask);
> }
> EXPORT_SYMBOL(mempool_kmalloc);
> --
> 2.34.1