[ofa-general] [PATCH] libmlx4: fix problem in post_send error flow (inline wqes)

Jack Morgenstein jackm at dev.mellanox.co.il
Mon Jun 11 08:09:50 PDT 2007


Prevents the following error:
caller posts a 2-wqe list, with the second wqe in the list being an
INLINE which is too long.

In this case, post_send goes to "out" with: nreq = 1, inl positive, and size in
the range allowing blueflame. All the blueflame test conditions are met.
However, the cntl pointer now points to the invalid wqe, and this
will be "blueflamed".

Signed-off-by: Jack Morgenstein <jackm at dev.mellanox.co.il>

diff --git a/src/qp.c b/src/qp.c
index 92edec6..7df3311 100644
--- a/src/qp.c
+++ b/src/qp.c
@@ -236,6 +236,7 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
 					inl += len;
 
 					if (inl > qp->max_inline_data) {
+						inl = 0;
 						ret = -1;
 						*bad_wr = wr;
 						goto out;



More information about the general mailing list