diff options
author | 2020-05-15 12:30:13 -0700 | |
---|---|---|
committer | 2020-05-15 12:30:13 -0700 | |
commit | 93d43e58683efd958a0421b932a273df74e0e008 (patch) | |
tree | dd27101a3b5e26414458c2d0e9180a30d66025bd /mm/page_alloc.c | |
parent | net: phy: tja11xx: execute cable test on link up (diff) | |
parent | mptcp: cope better with MP_JOIN failure (diff) | |
download | linux-93d43e58683efd958a0421b932a273df74e0e008.tar.gz linux-93d43e58683efd958a0421b932a273df74e0e008.tar.bz2 linux-93d43e58683efd958a0421b932a273df74e0e008.zip |
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 <davem@davemloft.net>
Diffstat (limited to 'mm/page_alloc.c')
0 files changed, 0 insertions, 0 deletions