diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2017-04-09 14:25:11 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2017-05-02 01:21:32 -0400 |
commit | f318aef55fed0968af42ceef3976ee7cd858d845 (patch) | |
tree | 6e66fe4a27d9f62ca5e6b04b5cf36606a0d3a3e9 | |
parent | 5d68fb72d3780555752bcf2526f759f953e08bc3 (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.c | 4 |
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; |