Re: [PATCH 01/16] md/bitmap: Use kmalloc_array() in bitmap_storage_alloc()

From: Jes Sorensen
Date: Wed Sep 28 2016 - 15:51:31 EST


SF Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> writes:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Tue, 27 Sep 2016 13:01:07 +0200
>
> * A multiplication for the size determination of a memory allocation
> indicated that an array data structure should be processed.
> Thus use the corresponding function "kmalloc_array".
>
> This issue was detected by using the Coccinelle software.
>
> * Replace the specification of a data type by a pointer dereference
> to make the corresponding size determination a bit safer according to
> the Linux coding style convention.
>
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/md/bitmap.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
> index 13041ee..8cfb02c 100644
> --- a/drivers/md/bitmap.c
> +++ b/drivers/md/bitmap.c
> @@ -760,9 +760,9 @@ static int bitmap_storage_alloc(struct bitmap_storage *store,
>
> num_pages = DIV_ROUND_UP(bytes, PAGE_SIZE);
> offset = slot_number * num_pages;
> -
> - store->filemap = kmalloc(sizeof(struct page *)
> - * num_pages, GFP_KERNEL);
> + store->filemap = kmalloc_array(num_pages,
> + sizeof(*store->filemap),
> + GFP_KERNEL);

If you have to make cosmetic changes for the sake of it, then at least
use the 80 characters per line that you have available.

This one makes the code uglier.

Jes