linux/drivers/infiniband/hw
Kaike Wan d58c1834bf IB/hfi1: Drop stale TID RDMA packets
In a congested fabric with adaptive routing enabled, traces show that
the sender could receive stale TID RDMA NAK packets that contain newer
KDETH PSNs and older Verbs PSNs. If not dropped, these packets could
cause the incorrect rewinding of the software flows and the incorrect
completion of TID RDMA WRITE requests, and eventually leading to memory
corruption and kernel crash.

The current code drops stale TID RDMA ACK/NAK packets solely based
on KDETH PSNs, which may lead to erroneous processing. This patch
fixes the issue by also checking the Verbs PSN. Addition checks are
added before rewinding the TID RDMA WRITE DATA packets.

Fixes: 9e93e967f7 ("IB/hfi1: Add a function to receive TID RDMA ACK packet")
Cc: <stable@vger.kernel.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Link: https://lore.kernel.org/r/20190815192033.105923.44192.stgit@awfm-01.aw.intel.com
Signed-off-by: Doug Ledford <dledford@redhat.com>
2019-08-20 13:44:44 -04:00
..
bnxt_re RDMA/bnxt_re: Honor vlan_id in GID entry comparison 2019-07-22 15:04:04 -03:00
cxgb3 IB: Remove unneeded memset 2019-07-03 14:26:49 -03:00
cxgb4 5.3 Merge window RDMA pull request 2019-07-15 20:38:15 -07:00
efa RDMA/efa: Entropy in admin commands id 2019-07-04 14:31:09 -03:00
hfi1 IB/hfi1: Drop stale TID RDMA packets 2019-08-20 13:44:44 -04:00
hns RDMA/hns: Fix error return code in hns_roce_v1_rsv_lp_qp() 2019-08-01 12:53:53 -04:00
i40iw 5.3 Merge window RDMA pull request 2019-07-15 20:38:15 -07:00
mlx4 5.3 Merge window RDMA pull request 2019-07-15 20:38:15 -07:00
mlx5 RDMA/mlx5: Fix MR npages calculation for IB_ACCESS_HUGETLB 2019-08-20 13:44:43 -04:00
mthca IB: Remove unneeded memset 2019-07-03 14:26:49 -03:00
ocrdma IB: Remove unneeded memset 2019-07-03 14:26:49 -03:00
qedr RDMA/qedr: Fix the hca_type and hca_rev returned in device attributes 2019-07-29 13:03:59 -04:00
qib Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-07-19 10:42:02 -07:00
usnic 5.3 Merge window RDMA pull request 2019-07-15 20:38:15 -07:00
vmw_pvrdma Linux 5.2-rc6 2019-06-28 21:18:23 -03:00
Makefile rdma: Remove nes 2019-06-13 09:59:49 -04:00