linux/drivers/infiniband/sw/siw
Bernard Metzler 53a3f77704 RDMA/siw: Fix connection failure handling
In case immediate MPA request processing fails, the newly
created endpoint unlinks the listening endpoint and is
ready to be dropped. This special case was not handled
correctly by the code handling the later TCP socket close,
causing a NULL dereference crash in siw_cm_work_handler()
when dereferencing a NULL listener. We now also cancel
the useless MPA timeout, if immediate MPA request
processing fails.

This patch furthermore simplifies MPA processing in general:
Scheduling a useless TCP socket read in sk_data_ready() upcall
is now surpressed, if the socket is already moved out of
TCP_ESTABLISHED state.

Fixes: 6c52fdc244 ("rdma/siw: connection management")
Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
Link: https://lore.kernel.org/r/20230905145822.446263-1-bmt@zurich.ibm.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2023-09-11 14:53:23 +03:00
..
iwarp.h RDMA: Delete not-used static inline functions 2021-03-22 09:31:19 -03:00
Kconfig RDMA/siw: Add missing Kconfig selections 2022-09-01 10:12:01 +03:00
Makefile
siw_cm.c RDMA/siw: Fix connection failure handling 2023-09-11 14:53:23 +03:00
siw_cm.h
siw_cq.c RDMA/siw: Set defined status for work completion with undefined status 2022-11-15 16:47:00 -04:00
siw_main.c RDMA/siw: Fix tx thread initialization. 2023-07-31 10:05:23 +03:00
siw_mem.c mm/gup: remove vmas parameter from pin_user_pages() 2023-06-09 16:25:26 -07:00
siw_mem.h RDMA: Delete not-used static inline functions 2021-03-22 09:31:19 -03:00
siw_qp_rx.c RDMA: Add ib_virt_dma_to_page() 2023-04-16 11:08:07 +03:00
siw_qp_tx.c RDMA/siw: Call llist_reverse_order in siw_run_sq 2023-08-22 17:05:12 +03:00
siw_qp.c RDMA/siw: use vmalloc_array and vcalloc 2023-07-21 15:52:09 -03:00
siw_verbs.c RDMA/siw: Correct wrong debug message 2023-08-22 17:05:12 +03:00
siw_verbs.h RDMA: Globally allocate and release QP memory 2021-08-03 13:44:27 -03:00
siw.h RDMA/siw: Fix tx thread initialization. 2023-07-31 10:05:23 +03:00