Re: [PATCH 01/18] mtd-cfi_cmdset_0001: Use kmalloc_array() in cfi_intelext_partition_fixup()

From: Marek Vasut
Date: Wed Jan 11 2017 - 17:01:59 EST


On 01/11/2017 09:35 PM, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Tue, 10 Jan 2017 18:48:34 +0100
>
> * 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 structure 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/mtd/chips/cfi_cmdset_0001.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
> index 5e1b68cbcd0a..68227aa74d22 100644
> --- a/drivers/mtd/chips/cfi_cmdset_0001.c
> +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
> @@ -746,7 +746,9 @@ static int cfi_intelext_partition_fixup(struct mtd_info *mtd,
> newcfi = kmalloc(sizeof(struct cfi_private) + numvirtchips * sizeof(struct flchip), GFP_KERNEL);
> if (!newcfi)
> return -ENOMEM;
> - shared = kmalloc(sizeof(struct flchip_shared) * cfi->numchips, GFP_KERNEL);
> + shared = kmalloc_array(cfi->numchips,
> + sizeof(*shared),
> + GFP_KERNEL);

You can keep this on a single line, no need for the linebreak. It
doesn't violate the 80-chars per line rule IMO.

> if (!shared) {
> kfree(newcfi);
> return -ENOMEM;
>


--
Best regards,
Marek Vasut