mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
RDMA/core: Free pfn_list with appropriate kvfree call
Ensure that pfn_list allocated by kvcalloc() is freed using corresponding
kvfree() function. Match memory allocation and free routines kvcalloc -> kvfree.
Fixes: 259e9bd07c
("RDMA/core: Avoid hmm_dma_map_alloc() for virtual DMA devices")
Signed-off-by: Akhilesh Patil <akhilesh@ee.iitb.ac.in>
Link: https://patch.msgid.link/aJjcPjL1BVh8QrMN@bhairav-test.ee.iitb.ac.in
Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
parent
2186e8c39e
commit
111aea0464
@ -115,7 +115,7 @@ static int ib_init_umem_odp(struct ib_umem_odp *umem_odp,
|
|||||||
|
|
||||||
out_free_map:
|
out_free_map:
|
||||||
if (ib_uses_virt_dma(dev))
|
if (ib_uses_virt_dma(dev))
|
||||||
kfree(map->pfn_list);
|
kvfree(map->pfn_list);
|
||||||
else
|
else
|
||||||
hmm_dma_map_free(dev->dma_device, map);
|
hmm_dma_map_free(dev->dma_device, map);
|
||||||
return ret;
|
return ret;
|
||||||
@ -287,7 +287,7 @@ static void ib_umem_odp_free(struct ib_umem_odp *umem_odp)
|
|||||||
mutex_unlock(&umem_odp->umem_mutex);
|
mutex_unlock(&umem_odp->umem_mutex);
|
||||||
mmu_interval_notifier_remove(&umem_odp->notifier);
|
mmu_interval_notifier_remove(&umem_odp->notifier);
|
||||||
if (ib_uses_virt_dma(dev))
|
if (ib_uses_virt_dma(dev))
|
||||||
kfree(umem_odp->map.pfn_list);
|
kvfree(umem_odp->map.pfn_list);
|
||||||
else
|
else
|
||||||
hmm_dma_map_free(dev->dma_device, &umem_odp->map);
|
hmm_dma_map_free(dev->dma_device, &umem_odp->map);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user