Skip to content

Commit 9ed4659

Browse files
authored
UCT/GDAKI: Fix wqe_idx overflow (#10881)
uct_gdaki_wqe_prepare_put_or_atomic assumes wqe_idx is at most UINT16_T_MAX but atomic & single APIs passed sq_rsvd_index, an ever-incrementing uint64_t counter. Other submit APIs avoid this issue by using inc_mask() per lane, which properly masks the WQE index down to uint16_t. Signed-off-by: Itay Alroy <ialroy@nvidia.com>
1 parent 0b2825b commit 9ed4659

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Hui Zhou <hzhou321@anl.gov>
4646
Igor Ivanov <igori@mellanox.com>
4747
Ilia Yastrebov <iyastrebov@nvidia.com>
4848
Ilya Nelkenbaum <ilyan@mellanox.com>
49+
Itay Alroy <ialroy@nvidia.com>
4950
Ivan Kochin <ikochin@nvidia.com>
5051
Jakir Kham <jakirkham@gmail.com>
5152
Jason Gunthorpe <jgg@mellanox.com>

src/uct/ib/mlx5/gdaki/gdaki.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ uct_rc_mlx5_gda_reserv_wqe(struct doca_gpu_dev_verbs_qp *qp, unsigned count,
109109

110110
UCS_F_DEVICE void uct_rc_mlx5_gda_wqe_prepare_put_or_atomic(
111111
doca_gpu_dev_verbs_qp *qp, doca_gpu_dev_verbs_wqe *wqe_ptr,
112-
uint32_t wqe_idx, uint32_t opcode, unsigned ctrl_flags, uint64_t raddr,
112+
uint16_t wqe_idx, uint32_t opcode, unsigned ctrl_flags, uint64_t raddr,
113113
uint32_t rkey, uint64_t laddr, uint32_t lkey, uint32_t bytes,
114114
bool is_atomic, uint64_t add)
115115
{

0 commit comments

Comments
 (0)