diff options
author | Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com> | 2021-11-29 14:19:52 -0500 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2021-12-07 13:22:53 -0400 |
commit | 9292f8f9a2ac42eb320bced7153aa2e63d8cc13a (patch) | |
tree | fcb1db9847c7b18f2c5f572f3d1a328da7496d5c /drivers/infiniband | |
parent | db6169b5bac1c75ed37cfdaedc7dfb1618f3f362 (diff) | |
download | linux-9292f8f9a2ac42eb320bced7153aa2e63d8cc13a.tar.bz2 |
IB/hfi1: Correct guard on eager buffer deallocation
The code tests the dma address which legitimately can be 0.
The code should test the kernel logical address to avoid leaking eager
buffer allocations that happen to map to a dma address of 0.
Fixes: 60368186fd85 ("IB/hfi1: Fix user-space buffers mapping with IOMMU enabled")
Link: https://lore.kernel.org/r/20211129191952.101968.17137.stgit@awfm-01.cornelisnetworks.com
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/hfi1/init.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hfi1/init.c b/drivers/infiniband/hw/hfi1/init.c index dbd1c31830b9..8e1236be46e1 100644 --- a/drivers/infiniband/hw/hfi1/init.c +++ b/drivers/infiniband/hw/hfi1/init.c @@ -1120,7 +1120,7 @@ void hfi1_free_ctxtdata(struct hfi1_devdata *dd, struct hfi1_ctxtdata *rcd) rcd->egrbufs.rcvtids = NULL; for (e = 0; e < rcd->egrbufs.alloced; e++) { - if (rcd->egrbufs.buffers[e].dma) + if (rcd->egrbufs.buffers[e].addr) dma_free_coherent(&dd->pcidev->dev, rcd->egrbufs.buffers[e].len, rcd->egrbufs.buffers[e].addr, |