aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorBoshi Yu <boshiyu@linux.alibaba.com>2025-07-25 13:53:55 +0800
committerLeon Romanovsky <leon@kernel.org>2025-08-13 06:23:54 -0400
commitd5c74713f0117d07f91eb48b10bc2ad44e23c9b9 (patch)
tree6cc03890fe6d2536953ce7ae8ec147126014295c
parentRDMA/rxe: Flush delayed SKBs while releasing RXE resources (diff)
downloadwireguard-linux-d5c74713f0117d07f91eb48b10bc2ad44e23c9b9.tar.xz
wireguard-linux-d5c74713f0117d07f91eb48b10bc2ad44e23c9b9.zip
RDMA/erdma: Fix ignored return value of init_kernel_qp
The init_kernel_qp interface may fail. Check its return value and free related resources properly when it does. Fixes: 155055771704 ("RDMA/erdma: Add verbs implementation") Reviewed-by: Cheng Xu <chengyou@linux.alibaba.com> Signed-off-by: Boshi Yu <boshiyu@linux.alibaba.com> Link: https://patch.msgid.link/20250725055410.67520-3-boshiyu@linux.alibaba.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
-rw-r--r--drivers/infiniband/hw/erdma/erdma_verbs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.c b/drivers/infiniband/hw/erdma/erdma_verbs.c
index 94c211df09d8..2e01520ca385 100644
--- a/drivers/infiniband/hw/erdma/erdma_verbs.c
+++ b/drivers/infiniband/hw/erdma/erdma_verbs.c
@@ -1031,7 +1031,9 @@ int erdma_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *attrs,
if (ret)
goto err_out_cmd;
} else {
- init_kernel_qp(dev, qp, attrs);
+ ret = init_kernel_qp(dev, qp, attrs);
+ if (ret)
+ goto err_out_xa;
}
qp->attrs.max_send_sge = attrs->cap.max_send_sge;