Commit 449e691
mptcp: fix recvbuffer adjust on sleeping rcvmsg
If the recvmsg() blocks after receiving some data - i.e. due to
SO_RCVLOWAT - the MPTCP code will attempt multiple times to
adjust the receive buffer size, wrongly accounting every time the
cumulative of received data - instead of accounting only for the
delta.
Address the issue moving mptcp_rcv_space_adjust just after the
data reception and passing it only the just received bytes.
This also removes an unneeded difference between the TCP and MPTCP
RX code path implementation.
Fixes: 5813022 ("mptcp: error out earlier on disconnect")
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>
Link: https://patch.msgid.link/20241230-net-mptcp-rbuf-fixes-v1-1-8608af434ceb@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>1 parent 260466b commit 449e691
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1939 | 1939 | | |
1940 | 1940 | | |
1941 | 1941 | | |
| 1942 | + | |
| 1943 | + | |
1942 | 1944 | | |
1943 | 1945 | | |
1944 | 1946 | | |
| |||
1992 | 1994 | | |
1993 | 1995 | | |
1994 | 1996 | | |
| 1997 | + | |
1995 | 1998 | | |
1996 | 1999 | | |
1997 | 2000 | | |
| |||
2268 | 2271 | | |
2269 | 2272 | | |
2270 | 2273 | | |
2271 | | - | |
2272 | 2274 | | |
2273 | 2275 | | |
2274 | 2276 | | |
2275 | 2277 | | |
2276 | 2278 | | |
2277 | 2279 | | |
2278 | 2280 | | |
2279 | | - | |
2280 | | - | |
2281 | 2281 | | |
2282 | 2282 | | |
2283 | 2283 | | |
| |||
0 commit comments