mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
Merge branch 'mptcp-misc-fixes-for-v7-1-rc3'
Matthieu Baerts says: ==================== mptcp: misc fixes for v7.1-rc3 Here are various unrelated fixes: - Patch 1: increment the right MIB counter. A fix for v5.7. - Patch 2: set the right MPTCP reset reason. A fix for v5.9. - Patch 3: fix rx timestamp corruption when on MPTCP passive fastopen. A fix for v6.2. - Patch 4: increase sockopt seq after having set TCP_MAXSEG to propagate it to newer subflows later. A fix for 6.17. ==================== Link: https://patch.msgid.link/20260501-net-mptcp-misc-fixes-7-1-rc3-v1-0-b70118df778e@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
9d7ebff0c3
|
|
@ -12,6 +12,7 @@ void mptcp_fastopen_subflow_synack_set_params(struct mptcp_subflow_context *subf
|
|||
struct sock *sk, *ssk;
|
||||
struct sk_buff *skb;
|
||||
struct tcp_sock *tp;
|
||||
bool has_rxtstamp;
|
||||
|
||||
/* on early fallback the subflow context is deleted by
|
||||
* subflow_syn_recv_sock()
|
||||
|
|
@ -40,12 +41,13 @@ void mptcp_fastopen_subflow_synack_set_params(struct mptcp_subflow_context *subf
|
|||
*/
|
||||
tp->copied_seq += skb->len;
|
||||
subflow->ssn_offset += skb->len;
|
||||
has_rxtstamp = TCP_SKB_CB(skb)->has_rxtstamp;
|
||||
|
||||
/* Only the sequence delta is relevant */
|
||||
MPTCP_SKB_CB(skb)->map_seq = -skb->len;
|
||||
MPTCP_SKB_CB(skb)->end_seq = 0;
|
||||
MPTCP_SKB_CB(skb)->offset = 0;
|
||||
MPTCP_SKB_CB(skb)->has_rxtstamp = TCP_SKB_CB(skb)->has_rxtstamp;
|
||||
MPTCP_SKB_CB(skb)->has_rxtstamp = has_rxtstamp;
|
||||
MPTCP_SKB_CB(skb)->cant_coalesce = 1;
|
||||
|
||||
mptcp_data_lock(sk);
|
||||
|
|
|
|||
|
|
@ -812,6 +812,10 @@ static int mptcp_setsockopt_all_sf(struct mptcp_sock *msk, int level,
|
|||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!ret)
|
||||
sockopt_seq_inc(msk);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -581,7 +581,7 @@ static void subflow_finish_connect(struct sock *sk, const struct sk_buff *skb)
|
|||
subflow->backup);
|
||||
|
||||
if (!subflow_thmac_valid(subflow)) {
|
||||
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_JOINACKMAC);
|
||||
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_JOINSYNACKMAC);
|
||||
subflow->reset_reason = MPTCP_RST_EMPTCP;
|
||||
goto do_reset;
|
||||
}
|
||||
|
|
@ -908,7 +908,7 @@ static struct sock *subflow_syn_recv_sock(const struct sock *sk,
|
|||
|
||||
if (!subflow_hmac_valid(subflow_req, &mp_opt)) {
|
||||
SUBFLOW_REQ_INC_STATS(req, MPTCP_MIB_JOINACKMAC);
|
||||
subflow_add_reset_reason(skb, MPTCP_RST_EPROHIBIT);
|
||||
subflow_add_reset_reason(skb, MPTCP_RST_EMPTCP);
|
||||
goto dispose_child;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user