subflow: always init 'rel_write_seq'
Currently we do not init the subflow write sequence for MP_JOIN subflows. This will cause bad mapping being generated as soon as we will use non backup subflow. Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Tested-by: Christoph Paasch <cpaasch@apple.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
205a55f4e6
commit
b0977bb268
|
@ -1814,7 +1814,6 @@ void mptcp_finish_connect(struct sock *ssk)
|
||||||
ack_seq++;
|
ack_seq++;
|
||||||
subflow->map_seq = ack_seq;
|
subflow->map_seq = ack_seq;
|
||||||
subflow->map_subflow_seq = 1;
|
subflow->map_subflow_seq = 1;
|
||||||
subflow->rel_write_seq = 1;
|
|
||||||
|
|
||||||
/* the socket is not connected yet, no msk/subflow ops can access/race
|
/* the socket is not connected yet, no msk/subflow ops can access/race
|
||||||
* accessing the field below
|
* accessing the field below
|
||||||
|
|
|
@ -200,6 +200,7 @@ static void subflow_finish_connect(struct sock *sk, const struct sk_buff *skb)
|
||||||
if (subflow->conn_finished)
|
if (subflow->conn_finished)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
subflow->rel_write_seq = 1;
|
||||||
subflow->conn_finished = 1;
|
subflow->conn_finished = 1;
|
||||||
subflow->ssn_offset = TCP_SKB_CB(skb)->seq;
|
subflow->ssn_offset = TCP_SKB_CB(skb)->seq;
|
||||||
pr_debug("subflow=%p synack seq=%x", subflow, subflow->ssn_offset);
|
pr_debug("subflow=%p synack seq=%x", subflow, subflow->ssn_offset);
|
||||||
|
|
Loading…
Reference in New Issue