From: David S. Miller Date: Fri, 15 May 2020 19:30:13 +0000 (-0700) Subject: Merge branch 'mptcp-fix-MP_JOIN-failure-handling' X-Git-Tag: v5.8-rc1~165^2~177 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=93d43e58683efd958a0421b932a273df74e0e008;p=tomoyo%2Ftomoyo-test1.git Merge branch 'mptcp-fix-MP_JOIN-failure-handling' Paolo Abeni says: ==================== mptcp: fix MP_JOIN failure handling Currently if we hit an MP_JOIN failure on the third ack, the child socket is closed with reset, but the request socket is not deleted, causing weird behaviors. The main problem is that MPTCP's MP_JOIN code needs to plug it's own 'valid 3rd ack' checks and the current TCP callbacks do not allow that. This series tries to address the above shortcoming introducing a new MPTCP specific bit in a 'struct tcp_request_sock' hole, and leveraging that to allow tcp_check_req releasing the request socket when needed. The above allows cleaning-up a bit current MPTCP hooking in tcp_check_req(). An alternative solution, possibly cleaner but more invasive, would be changing the 'bool *own_req' syn_recv_sock() argument into 'int *req_status' and let MPTCP set it to 'REQ_DROP'. v1 -> v2: - be more conservative about drop_req initialization RFC -> v1: - move the drop_req bit inside tcp_request_sock (Eric) ==================== Signed-off-by: David S. Miller --- 93d43e58683efd958a0421b932a273df74e0e008