Skip to content

Commit 7b13482

Browse files
Wei Lin Guayjfvogel
authored andcommitted
RDS: Fix out-of-order RDS_CMSG_RDMA_SEND_STATUS
If the RDS user application requests notification of RDMA send completions, there is a possibility that RDS_CMSG_RDMA_SEND_STATUS will be delivered out-of-order. This can happen if RDS drops sending ACK after it received an explicit ACK. In this case, the rds message ended up in reverse order in the list. Orabug: 22126982 Signed-off-by: Wei Lin Guay <[email protected]> Reviewed-by: Håkon Bugge <[email protected]> Reviewed-by: Knut Omang <[email protected]> Reviewed-by: Santosh Shilimkar <[email protected]> Reviewed-by: Ajaykumar Hotchandani <[email protected]> Orabug: 27364391 (cherry picked from commit 5631f1a) cherry-pick-repo=linux-uek.git Signed-off-by: Gerd Rausch <[email protected]> Signed-off-by: Somasundaram Krishnasamy <[email protected]> Orabug: 33590097 UEK6 => UEK7 (cherry picked from commit 53a472c) cherry-pick-repo=UEK/production/linux-uek.git Signed-off-by: Gerd Rausch <[email protected]> Reviewed-by: William Kucharski <[email protected]>
1 parent ae8f58a commit 7b13482

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

net/rds/send.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ void rds_send_drop_acked(struct rds_connection *conn, u64 ack,
846846
if (!rds_send_is_acked(rm, ack, is_acked))
847847
break;
848848

849-
list_move(&rm->m_conn_item, &list);
849+
list_move_tail(&rm->m_conn_item, &list);
850850
clear_bit(RDS_MSG_ON_CONN, &rm->m_flags);
851851
}
852852

0 commit comments

Comments
 (0)