Message ID | 20221223072900.802728-1-linmq006@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] RDMA/hns: Fix refcount leak in hns_roce_mmap | expand |
On 2022/12/23 15:29:00, Miaoqian Lin wrote: > rdma_user_mmap_entry_get_pgoff() takes the reference. > Add missing rdma_user_mmap_entry_put() to release the reference. > > Fixes: 0045e0d3f42e ("RDMA/hns: Support direct wqe of userspace") > Signed-off-by: Miaoqian Lin <linmq006@gmail.com> > --- > change in v2: > - use goto label to manage the release. > --- > drivers/infiniband/hw/hns/hns_roce_main.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c > index 8ba68ac12388..946ba1109e87 100644 > --- a/drivers/infiniband/hw/hns/hns_roce_main.c > +++ b/drivers/infiniband/hw/hns/hns_roce_main.c > @@ -443,14 +443,15 @@ static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma) > prot = pgprot_device(vma->vm_page_prot); > break; > default: > - return -EINVAL; > + ret = -EINVAL; > + goto out; > } > > ret = rdma_user_mmap_io(uctx, vma, pfn, rdma_entry->npages * PAGE_SIZE, > prot, rdma_entry); > > +out: > rdma_user_mmap_entry_put(rdma_entry); > - > return ret; > } > > Thank you. For the patch: Acked-by Haoyue Xu <xuhaoyue1@hisilicon.com> Regards, Haoyue
On Fri, 23 Dec 2022 11:29:00 +0400, Miaoqian Lin wrote: > rdma_user_mmap_entry_get_pgoff() takes the reference. > Add missing rdma_user_mmap_entry_put() to release the reference. > > Applied, thanks! [1/1] RDMA/hns: Fix refcount leak in hns_roce_mmap https://git.kernel.org/rdma/rdma/c/cf6a05c8494a8a Best regards,
diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c index 8ba68ac12388..946ba1109e87 100644 --- a/drivers/infiniband/hw/hns/hns_roce_main.c +++ b/drivers/infiniband/hw/hns/hns_roce_main.c @@ -443,14 +443,15 @@ static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma) prot = pgprot_device(vma->vm_page_prot); break; default: - return -EINVAL; + ret = -EINVAL; + goto out; } ret = rdma_user_mmap_io(uctx, vma, pfn, rdma_entry->npages * PAGE_SIZE, prot, rdma_entry); +out: rdma_user_mmap_entry_put(rdma_entry); - return ret; }
rdma_user_mmap_entry_get_pgoff() takes the reference. Add missing rdma_user_mmap_entry_put() to release the reference. Fixes: 0045e0d3f42e ("RDMA/hns: Support direct wqe of userspace") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> --- change in v2: - use goto label to manage the release. --- drivers/infiniband/hw/hns/hns_roce_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)