target: Use kmalloc_array() in transport_kmap_data_sg()
authorMarkus Elfring <elfring@users.sourceforge.net>
Sun, 9 Apr 2017 19:07:14 +0000 (21:07 +0200)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 2 May 2017 05:21:33 +0000 (22:21 -0700)
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: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c

index a0cd56ee5fe984f7ddf27c41157f7314343d23c1..37f57357d4a0827f5669cb89d1619c4651192547 100644 (file)
@@ -2311,7 +2311,7 @@ void *transport_kmap_data_sg(struct se_cmd *cmd)
                return kmap(sg_page(sg)) + sg->offset;
 
        /* >1 page. use vmap */
-       pages = kmalloc(sizeof(*pages) * cmd->t_data_nents, GFP_KERNEL);
+       pages = kmalloc_array(cmd->t_data_nents, sizeof(*pages), GFP_KERNEL);
        if (!pages)
                return NULL;