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: [email protected]
Signed-off-by: Paolo Abeni <[email protected]>
Reviewed-by: Mat Martineau <[email protected]>
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>1 parent 260466b commit 449e691
1 file changed
+3
-3
lines changed| 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