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>

Signed-off-by: Julia Lawall <julia.law...@inria.fr>

---
 drivers/target/target_core_rd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -u -p a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c
--- a/drivers/target/target_core_rd.c
+++ b/drivers/target/target_core_rd.c
@@ -131,7 +131,7 @@ static int rd_allocate_sgl_table(struct
                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;

Reply via email to