RDMA/efa: Drop double zeroing for sg_init_table()
authorJulia Lawall <Julia.Lawall@inria.fr>
Sun, 20 Sep 2020 11:26:17 +0000 (13:26 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 22 Sep 2020 23:26:47 +0000 (20:26 -0300)
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-6-git-send-email-Julia.Lawall@inria.fr
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Acked-by: Gal Pressman <galpress@amazon.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/efa/efa_verbs.c

index 9ff2a83..191e084 100644 (file)
@@ -1165,7 +1165,7 @@ static struct scatterlist *efa_vmalloc_buf_to_sg(u64 *buf, int page_cnt)
        struct page *pg;
        int i;
 
-       sglist = kcalloc(page_cnt, sizeof(*sglist), GFP_KERNEL);
+       sglist = kmalloc_array(page_cnt, sizeof(*sglist), GFP_KERNEL);
        if (!sglist)
                return NULL;
        sg_init_table(sglist, page_cnt);