summaryrefslogtreecommitdiff
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorBoshi Yu <boshiyu@linux.alibaba.com>2025-07-25 13:53:55 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-28 16:28:47 +0200
commitacf0dea8dc907d01b67bdc23a44d5bf9e536aaa2 (patch)
tree8781be3541d66e4b6e966915cbe006a75f59fc1d /drivers/infiniband
parent76588276fcf8947dbb89d4d77c2409835c640d10 (diff)
downloadlinux-acf0dea8dc907d01b67bdc23a44d5bf9e536aaa2.tar.gz
linux-acf0dea8dc907d01b67bdc23a44d5bf9e536aaa2.tar.bz2
linux-acf0dea8dc907d01b67bdc23a44d5bf9e536aaa2.zip
RDMA/erdma: Fix ignored return value of init_kernel_qp
[ Upstream commit d5c74713f0117d07f91eb48b10bc2ad44e23c9b9 ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/infiniband')
-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 29ad2f5ffabe..e990690d8b3c 100644
--- a/drivers/infiniband/hw/erdma/erdma_verbs.c
+++ b/drivers/infiniband/hw/erdma/erdma_verbs.c
@@ -979,7 +979,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;