aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2017-04-09 14:25:11 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2017-05-02 01:21:32 -0400
commitf318aef55fed0968af42ceef3976ee7cd858d845 (patch)
tree6e66fe4a27d9f62ca5e6b04b5cf36606a0d3a3e9
parent5d68fb72d3780555752bcf2526f759f953e08bc3 (diff)
target: Use kmalloc_array() in compare_and_write_callback()
* 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@users.sourceforge.net> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r--drivers/target/target_core_sbc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index ee35c90e3b8d..a7fa4a7339db 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -519,8 +519,8 @@ static sense_reason_t compare_and_write_callback(struct se_cmd *cmd, bool succes
519 goto out; 519 goto out;
520 } 520 }
521 521
522 write_sg = kmalloc(sizeof(struct scatterlist) * cmd->t_data_nents, 522 write_sg = kmalloc_array(cmd->t_data_nents, sizeof(*write_sg),
523 GFP_KERNEL); 523 GFP_KERNEL);
524 if (!write_sg) { 524 if (!write_sg) {
525 pr_err("Unable to allocate compare_and_write sg\n"); 525 pr_err("Unable to allocate compare_and_write sg\n");
526 ret = TCM_OUT_OF_RESOURCES; 526 ret = TCM_OUT_OF_RESOURCES;