[PATCH 01/] firewire-net: Use kmalloc_array() in fwnet_broadcast_start()

SF Markus Elfring
2016-09-18T06:11:11Z

Date: Sat, 17 Sep 2016 21:55:42 +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@users.sourceforge.net>
---
drivers/firewire/net.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index 309311b..7911f13 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -1103,8 +1103,7 @@ static int fwnet_broadcast_start(struct fwnet_device *dev)

max_receive = 1U << (dev->card->max_receive + 1);
num_packets = (FWNET_ISO_PAGE_COUNT * PAGE_SIZE) / max_receive;
-
- ptrptr = kmalloc(sizeof(void *) * num_packets, GFP_KERNEL);
+ ptrptr = kmalloc_array(num_packets, sizeof(*ptrptr), GFP_KERNEL);
if (!ptrptr) {
retval = -ENOMEM;
goto failed;
--
2.10.0