Skip to content

Commit 3782495

Browse files
committed
RDMA/odp: Use kvcalloc for the dma_list and page_list
There is no specific need for these to be in the valloc space, let the system decide automatically how to do the allocation. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Leon Romanovsky <[email protected]> Signed-off-by: Jason Gunthorpe <[email protected]>
1 parent 204e3e5 commit 3782495

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

drivers/infiniband/core/umem_odp.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -314,13 +314,13 @@ static inline int ib_init_umem_odp(struct ib_umem_odp *umem_odp,
314314
*/
315315
umem_odp->interval_tree.last--;
316316

317-
umem_odp->page_list = vzalloc(
318-
array_size(sizeof(*umem_odp->page_list), pages));
317+
umem_odp->page_list = kvcalloc(
318+
pages, sizeof(*umem_odp->page_list), GFP_KERNEL);
319319
if (!umem_odp->page_list)
320320
return -ENOMEM;
321321

322-
umem_odp->dma_list =
323-
vzalloc(array_size(sizeof(*umem_odp->dma_list), pages));
322+
umem_odp->dma_list = kvcalloc(
323+
pages, sizeof(*umem_odp->dma_list), GFP_KERNEL);
324324
if (!umem_odp->dma_list) {
325325
ret = -ENOMEM;
326326
goto out_page_list;
@@ -354,9 +354,9 @@ static inline int ib_init_umem_odp(struct ib_umem_odp *umem_odp,
354354

355355
out_unlock:
356356
mutex_unlock(&ctx->per_mm_list_lock);
357-
vfree(umem_odp->dma_list);
357+
kvfree(umem_odp->dma_list);
358358
out_page_list:
359-
vfree(umem_odp->page_list);
359+
kvfree(umem_odp->page_list);
360360
return ret;
361361
}
362362

@@ -532,8 +532,8 @@ void ib_umem_odp_release(struct ib_umem_odp *umem_odp)
532532
ib_umem_odp_unmap_dma_pages(umem_odp, ib_umem_start(umem_odp),
533533
ib_umem_end(umem_odp));
534534
remove_umem_from_per_mm(umem_odp);
535-
vfree(umem_odp->dma_list);
536-
vfree(umem_odp->page_list);
535+
kvfree(umem_odp->dma_list);
536+
kvfree(umem_odp->page_list);
537537
}
538538
put_per_mm(umem_odp);
539539
mmdrop(umem_odp->umem.owning_mm);

0 commit comments

Comments
 (0)