Hi Jakub, Paolo, Stephen,
On 23/02/2024 5:14 pm, Matthieu Baerts (NGI0) wrote:
From: Paolo Abeni pabeni@redhat.com
Such value should be inherited from the first subflow, but passive sockets always used 'rsk_rcv_wnd'.
Fixes: 6f8a612a33e4 ("mptcp: keep track of advertised windows right edge") Cc: stable@vger.kernel.org Signed-off-by: Paolo Abeni pabeni@redhat.com Reviewed-by: Mat Martineau martineau@kernel.org Signed-off-by: Matthieu Baerts (NGI0) matttbe@kernel.org
net/mptcp/protocol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 442fa7d9b57a..2c8f931c6d5b 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -3211,7 +3211,7 @@ struct sock *mptcp_sk_clone_init(const struct sock *sk, msk->write_seq = subflow_req->idsn + 1; msk->snd_nxt = msk->write_seq; msk->snd_una = msk->write_seq;
- msk->wnd_end = msk->snd_nxt + req->rsk_rcv_wnd;
- msk->wnd_end = msk->snd_nxt + tcp_sk(ssk)->snd_wnd;
Please note that this patch will conflict with the following commit from net-next:
3f83d8a77eee ("mptcp: fix more tx path fields initialization")
That's because this commit modifies the same line as the one modified here. We cannot avoid a conflict here. To fix it, please use 'WRITE_ONCE()' with the new line from -net:
WRITE_ONCE(msk->wnd_end, msk->snd_nxt + tcp_sk(ssk)->snd_wnd);
A 3-way diff has been attached to this email.
msk->setsockopt_seq = mptcp_sk(sk)->setsockopt_seq; mptcp_init_sched(msk, mptcp_sk(sk)->sched);
Cheers, Matt