linux/drivers/infiniband/sw
Honggang LI f67ac0061c RDMA/rxe: Fix responder length checking for UD request packets
According to the IBA specification:
If a UD request packet is detected with an invalid length, the request
shall be an invalid request and it shall be silently dropped by
the responder. The responder then waits for a new request packet.

commit 689c5421bf ("RDMA/rxe: Fix incorrect responder length checking")
defers responder length check for UD QPs in function `copy_data`.
But it introduces a regression issue for UD QPs.

When the packet size is too large to fit in the receive buffer.
`copy_data` will return error code -EINVAL. Then `send_data_in`
will return RESPST_ERR_MALFORMED_WQE. UD QP will transfer into
ERROR state.

Fixes: 689c5421bf ("RDMA/rxe: Fix incorrect responder length checking")
Signed-off-by: Honggang LI <honggangli@163.com>
Link: https://lore.kernel.org/r/20240523094617.141148-1-honggangli@163.com
Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2024-06-09 11:51:32 +03:00
..
rdmavt tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
rxe RDMA/rxe: Fix responder length checking for UD request packets 2024-06-09 11:51:32 +03:00
siw RDMA/siw: Call orq_get_current if possible 2023-12-04 20:13:30 -04:00
Makefile rdma/siw: addition to kernel build environment 2019-07-02 17:03:41 -03:00