diff options
| author | Boshi Yu <boshiyu@linux.alibaba.com> | 2025-07-25 13:53:55 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-08-28 16:28:47 +0200 |
| commit | acf0dea8dc907d01b67bdc23a44d5bf9e536aaa2 (patch) | |
| tree | 8781be3541d66e4b6e966915cbe006a75f59fc1d /drivers/infiniband | |
| parent | 76588276fcf8947dbb89d4d77c2409835c640d10 (diff) | |
| download | linux-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.c | 4 |
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; |
