scsi: target: rd: Drop double zeroing
authorJulia Lawall <Julia.Lawall@inria.fr>
Sun, 20 Sep 2020 11:26:14 +0000 (13:26 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 8 Oct 2020 03:50:03 +0000 (23:50 -0400)
sg_init_table zeroes its first argument, so the allocation of that argument
doesn't have to.

the semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,n,flags;
@@

x =
- kcalloc
+ kmalloc_array
  (n,sizeof(*x),flags)
...
sg_init_table(x,n)
// </smpl>

Link: https://lore.kernel.org/r/1600601186-7420-3-git-send-email-Julia.Lawall@inria.fr
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_rd.c

index 408bd975170b9b04f14d2cfa3a304091f4da44fa..bf936bbeccfee7f35034d0b35a23a7c79caab54a 100644 (file)
@@ -131,7 +131,7 @@ static int rd_allocate_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *
                if (sg_per_table < total_sg_needed)
                        chain_entry = 1;
 
-               sg = kcalloc(sg_per_table + chain_entry, sizeof(*sg),
+               sg = kmalloc_array(sg_per_table + chain_entry, sizeof(*sg),
                                GFP_KERNEL);
                if (!sg)
                        return -ENOMEM;