Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix incomplete state save in rxe_requester If a send packet is dropped by the IP layer in rxe_requester() the call to rxe_xmit_packet() can fail with err == -EAGAIN. To recover, the state of the wqe is restored to the state before the packet was sent so it can be resent. However, the routines that save and restore the state miss a significnt part of the variable state in the wqe, the dma struct which is used to process through the sge table. And, the state is not saved before the packet is built which modifies the dma struct. Under heavy stress testing with many QPs on a fast node sending large messages to a slow node dropped packets are observed and the resent packets are corrupted because the dma struct was not restored. This patch fixes this behavior and allows the test cases to succeed.
Product status
3050b99850247695cb07a5c15265afcc08bcf400 before 70518f3aaf5a059b691867d7d2d46b999319656a
3050b99850247695cb07a5c15265afcc08bcf400 before 2f2a6422287fe29f9343247d77b645100ece0652
3050b99850247695cb07a5c15265afcc08bcf400 before 255c0e60e1d16874fc151358d94bc8df661600dd
3050b99850247695cb07a5c15265afcc08bcf400 before 5d122db2ff80cd2aed4dcd630befb56b51ddf947
4.8
Any version before 4.8
6.1.53
6.4.16
6.5.3
6.6
References
git.kernel.org/...c/70518f3aaf5a059b691867d7d2d46b999319656a
git.kernel.org/...c/2f2a6422287fe29f9343247d77b645100ece0652
git.kernel.org/...c/255c0e60e1d16874fc151358d94bc8df661600dd
git.kernel.org/...c/5d122db2ff80cd2aed4dcd630befb56b51ddf947