OSDN Git Service

iio: Use kmalloc_array() in iio_scan_mask_set()
authorMarkus Elfring <elfring@users.sourceforge.net>
Fri, 23 Sep 2016 20:30:32 +0000 (22:30 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sat, 24 Sep 2016 15:35:24 +0000 (16:35 +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.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/industrialio-buffer.c

index 158aaf4..b12830b 100644 (file)
@@ -307,10 +307,9 @@ static int iio_scan_mask_set(struct iio_dev *indio_dev,
        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) {