Skip to content

Commit c84f0f4

Browse files
Kalesh APrleon
authored andcommitted
RDMA/bnxt_re: Fix to drop reference to the mmap entry in case of error
In the error handling path of bnxt_re_mmap(), driver should invoke rdma_user_mmap_entry_put() to free the reference of mmap entry in case the error happens after rdma_user_mmap_entry_get was called. Fixes: ea22248 ("RDMA/bnxt_re: Update alloc_page uapi for pacing") Reviewed-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com> Reviewed-by: Kashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Link: https://patch.msgid.link/20250104061519.2540178-1-kalesh-anakkur.purayil@broadcom.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
1 parent 220043b commit c84f0f4

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

drivers/infiniband/hw/bnxt_re/ib_verbs.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4465,9 +4465,10 @@ int bnxt_re_mmap(struct ib_ucontext *ib_uctx, struct vm_area_struct *vma)
44654465
case BNXT_RE_MMAP_TOGGLE_PAGE:
44664466
/* Driver doesn't expect write access for user space */
44674467
if (vma->vm_flags & VM_WRITE)
4468-
return -EFAULT;
4469-
ret = vm_insert_page(vma, vma->vm_start,
4470-
virt_to_page((void *)bnxt_entry->mem_offset));
4468+
ret = -EFAULT;
4469+
else
4470+
ret = vm_insert_page(vma, vma->vm_start,
4471+
virt_to_page((void *)bnxt_entry->mem_offset));
44714472
break;
44724473
default:
44734474
ret = -EINVAL;

0 commit comments

Comments
 (0)