Commit ee84146c authored by Miaoqian Lin's avatar Miaoqian Lin Committed by Leon Romanovsky
Browse files

RDMA/erdma: Fix refcount leak in erdma_mmap



rdma_user_mmap_entry_get() take reference, we should release it when not
need anymore, add the missing rdma_user_mmap_entry_put() in the error
path to fix it.

Fixes: 15505577 ("RDMA/erdma: Add verbs implementation")
Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20221220121139.1540564-1-linmq006@gmail.com


Acked-by: default avatarCheng Xu <chengyou@linux.alibaba.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent cab30a98
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1110,12 +1110,14 @@ int erdma_mmap(struct ib_ucontext *ctx, struct vm_area_struct *vma)
		prot = pgprot_device(vma->vm_page_prot);
		break;
	default:
		return -EINVAL;
		err = -EINVAL;
		goto put_entry;
	}

	err = rdma_user_mmap_io(ctx, vma, PFN_DOWN(entry->address), PAGE_SIZE,
				prot, rdma_entry);

put_entry:
	rdma_user_mmap_entry_put(rdma_entry);
	return err;
}