Re: [PATCH 2/2] um: vector: Use 'kmalloc_array' instead of 'kmalloc'

From: Kees Cook
Date: Tue Jan 08 2019 - 18:58:32 EST


On Fri, Dec 28, 2018 at 1:57 AM Christophe JAILLET
<christophe.jaillet@xxxxxxxxxx> wrote:
>
> Use 'kmalloc_array' instead of 'kmalloc' when appropriate.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

Richard, can you take these?

> ---
> I don't know why it has not already been replaced in 6da2ec56059c
> ("treewide: kmalloc() -> kmalloc_array()".

Hm, not sure. I'd guess it was from the ()s and some Coccinelle rule
missing handling that. I thought I caught them all. :P

> ---
> arch/um/drivers/vector_kern.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
> index 5b917716289d..dee5246bda81 100644
> --- a/arch/um/drivers/vector_kern.c
> +++ b/arch/um/drivers/vector_kern.c
> @@ -507,12 +507,12 @@ static struct vector_queue *create_queue(
> return NULL;
> result->max_depth = max_size;
> result->dev = vp->dev;
> - result->mmsg_vector = kmalloc(
> - (sizeof(struct mmsghdr) * max_size), GFP_KERNEL);
> + result->mmsg_vector = kmalloc_array(max_size, sizeof(struct mmsghdr),
> + GFP_KERNEL);
> if (result->mmsg_vector == NULL)
> goto out_mmsg_fail;
> - result->skbuff_vector = kmalloc(
> - (sizeof(void *) * max_size), GFP_KERNEL);
> + result->skbuff_vector = kmalloc_array(max_size, sizeof(void *),
> + GFP_KERNEL);
> if (result->skbuff_vector == NULL)
> goto out_skb_fail;
>
> --
> 2.19.1
>


--
Kees Cook