Commit 2112ebfb authored by Junxian Huang's avatar Junxian Huang
Browse files

RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common()

maillist inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBV0G0
CVE: NA

Reference: https://web.git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/commit/?h=wip/leon-for-rc&id=444907dd45cbe62fd69398805b6e2c626fab5b3a



----------------------------------------------------------------------

When ib_copy_to_udata() fails in hns_roce_create_qp_common(),
hns_roce_qp_remove() should be called in the error path to
clean up resources in hns_roce_qp_store().

Fixes: 0f00571f ("RDMA/hns: Use new SQ doorbell register for HIP09")
Signed-off-by: default avatarJunxian Huang <huangjunxian6@hisilicon.com>
Link: https://patch.msgid.link/20250311084857.3803665-6-huangjunxian6@hisilicon.com


Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
Signed-off-by: default avatarXinghai Cen <cenxinghai@h-partners.com>
parent 403f2fb1
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1368,7 +1368,7 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev,
				       min(udata->outlen, sizeof(resp)));
				       min(udata->outlen, sizeof(resp)));
		if (ret) {
		if (ret) {
			ibdev_err(ibdev, "copy qp resp failed!\n");
			ibdev_err(ibdev, "copy qp resp failed!\n");
			goto err_store;
			goto err_flow_ctrl;
		}
		}
	}
	}