linux/drivers/infiniband/sw/rxe
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
..
Kconfig RDMA/rxe: Fix missing kconfig dependency on CRYPTO 2021-03-01 14:46:31 -04:00
Makefile RDMA/rxe: Delete deprecated module parameters interface 2022-01-05 15:18:47 -04:00
rxe_av.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_av.c 2022-11-10 15:33:05 -04:00
rxe_comp.c RDMA/rxe: Don't call direct between tasks 2024-04-22 16:54:33 -03:00
rxe_cq.c RDMA/rxe: Improve newline in printing messages 2024-01-25 11:49:50 +02:00
rxe_hdr.h RDMA/rxe: Extend rxe packet format to support flush 2022-12-09 19:36:02 -04:00
rxe_hw_counters.c RDMA/rxe: Merge request and complete tasks 2024-04-22 16:54:33 -03:00
rxe_hw_counters.h RDMA/rxe: Merge request and complete tasks 2024-04-22 16:54:33 -03:00
rxe_icrc.c RDMA/rxe: Change rxe_dbg to rxe_dbg_dev 2023-03-24 10:41:49 -03:00
rxe_loc.h RDMA/rxe: Merge request and complete tasks 2024-04-22 16:54:33 -03:00
rxe_mcast.c RDMA/rxe: Fix an error handling path in rxe_get_mcg() 2022-05-24 12:55:12 -03:00
rxe_mmap.c RDMA/rxe: Change rxe_dbg to rxe_dbg_dev 2023-03-24 10:41:49 -03:00
rxe_mr.c RDMA/rxe: Remove unused 'iova' parameter from rxe_mr_init_user 2024-02-04 13:05:43 +02:00
rxe_mw.c RDMA/rxe: Improve newline in printing messages 2024-01-25 11:49:50 +02:00
rxe_net.c RDMA/rxe: Let destroy qp succeed with stuck packet 2024-04-22 16:55:57 -03:00
rxe_net.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_opcode.c RDMA/rxe: Extend rxe packet format to support flush 2022-12-09 19:36:02 -04:00
rxe_opcode.h RDMA//rxe: Optimize send path in rxe_resp.c 2023-06-09 13:18:52 -03:00
rxe_param.h RDMA/rxe: Fix comments about removed tasklets 2023-05-19 12:02:26 -03:00
rxe_pool.c RDMA/rxe: Return the correct errno 2024-04-11 14:47:26 +03:00
rxe_pool.h RDMA/rxe: Remove rxe_alloc() 2023-02-16 11:30:11 -04:00
rxe_qp.c RDMA/rxe: Let destroy qp succeed with stuck packet 2024-04-22 16:55:57 -03:00
rxe_queue.c RDMA/rxe: Clean kzalloc failure paths 2023-03-30 09:54:32 +03:00
rxe_queue.h RDMA/rxe: Fix missing memory barriers in rxe_queue.h 2023-02-16 12:07:05 -04:00
rxe_recv.c RDMA/rxe: Convert spin_{lock_bh,unlock_bh} to spin_{lock_irqsave,unlock_irqrestore} 2023-05-16 21:07:33 -03:00
rxe_req.c RDMA/rxe: Get rid of pkt resend on err 2024-04-22 16:54:34 -03:00
rxe_resp.c RDMA/rxe: Fix responder length checking for UD request packets 2024-06-09 11:51:32 +03:00
rxe_srq.c RDMA/rxe: Fix rxe_modify_srq 2023-07-31 15:24:12 -03:00
rxe_task.c RDMA/rxe: Improve newline in printing messages 2024-01-25 11:49:50 +02:00
rxe_task.h RDMA/rxe: Add workqueue support for rxe tasks 2023-05-17 15:34:25 -03:00
rxe_verbs.c RDMA/rxe: Fix data copy for IB_SEND_INLINE 2024-05-30 16:20:18 +03:00
rxe_verbs.h RDMA/rxe: Don't call rxe_requester from rxe_completer 2024-04-22 16:54:33 -03:00
rxe.c RDMA/rxe: Fix the problem "mutex_destroy missing" 2024-04-01 14:36:41 +03:00
rxe.h RDMA/rxe: Improve newline in printing messages 2024-01-25 11:49:50 +02:00