mptcp: restore window probe
Since commit72377ab2d6("mptcp: more conservative check for zero probes") the MPTCP-level zero window probe check is always disabled, as the TCP-level write queue always contains at least the newly allocated skb. Refine the relevant check tacking in account that the above condition and that such skb can have zero length. Fixes:72377ab2d6("mptcp: more conservative check for zero probes") Cc: stable@vger.kernel.org Reported-by: Geliang Tang <geliang@kernel.org> Closes: https://lore.kernel.org/d0a814c364e744ca6b836ccd5b6e9146882e8d42.camel@kernel.org Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Tested-by: Geliang Tang <geliang@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20251028-net-mptcp-send-timeout-v1-3-38ffff5a9ec8@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
8e04ce45a8
commit
a824084b98
@@ -1299,7 +1299,12 @@ alloc_skb:
|
||||
if (copy == 0) {
|
||||
u64 snd_una = READ_ONCE(msk->snd_una);
|
||||
|
||||
if (snd_una != msk->snd_nxt || tcp_write_queue_tail(ssk)) {
|
||||
/* No need for zero probe if there are any data pending
|
||||
* either at the msk or ssk level; skb is the current write
|
||||
* queue tail and can be empty at this point.
|
||||
*/
|
||||
if (snd_una != msk->snd_nxt || skb->len ||
|
||||
skb != tcp_send_head(ssk)) {
|
||||
tcp_remove_empty_skb(ssk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user