From a73b31041073a45b04535c4183b39195bbebe514 Mon Sep 17 00:00:00 2001 From: wenglianfa Date: Thu, 25 Jul 2024 11:06:01 +0800 Subject: [PATCH] libhns: Fix memory leakage when DCA is enabled driver inclusion category: feature bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/IB66RT ------------------------------------------------------------------ After DCA is enabled and a QP is created, the memory block applied for DCA is not free when the QP is destroyed. Here fix it. Fixes:26e79aa7eb8d ("libhns: Add support for attaching QP's WQE buffer") Signed-off-by: wenglianfa Signed-off-by: Xinghai Cen --- providers/hns/hns_roce_u_verbs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c index e30880c..c733b21 100644 --- a/providers/hns/hns_roce_u_verbs.c +++ b/providers/hns/hns_roce_u_verbs.c @@ -1357,7 +1357,8 @@ static void qp_free_wqe(struct hns_roce_qp *qp) if (qp->rq.wqe_cnt) free(qp->rq.wrid); - hns_roce_free_buf(&qp->buf); + else + hns_roce_free_buf(&qp->buf); } static int qp_alloc_wqe(struct ibv_qp_init_attr_ex *attr, -- 2.25.1