[PATCH 3.16 004/157] iio: Use kmalloc_array() in iio_scan_mask_set()

From: Ben Hutchings
Date: Sat Aug 10 2019 - 16:53:50 EST


3.16.72-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>

commit 057ac1acdfc4743f066fcefe359385cad00549eb upstream.

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.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
drivers/iio/industrialio-buffer.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -836,10 +836,9 @@ int iio_scan_mask_set(struct iio_dev *in
const unsigned long *mask;
unsigned long *trialmask;

- trialmask = kmalloc(sizeof(*trialmask)*
- BITS_TO_LONGS(indio_dev->masklength),
- GFP_KERNEL);
-
+ trialmask = kmalloc_array(BITS_TO_LONGS(indio_dev->masklength),
+ sizeof(*trialmask),
+ GFP_KERNEL);
if (trialmask == NULL)
return -ENOMEM;
if (!indio_dev->masklength) {