Message ID | 1631584275-3075-1-git-send-email-zhenggy@chinatelecom.cn (mailing list archive) |
---|---|
State | Accepted |
Commit | 4f884f3962767877d7aabbc1ec124d2c307a4257 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v4] tcp: fix tp->undo_retrans accounting in tcp_sacktag_one() | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Guessed tree name to be net-next |
netdev/subject_prefix | warning | Target tree name not specified in the subject |
netdev/cc_maintainers | success | CCed 7 of 7 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 4 this patch: 4 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | warning | WARNING: line length of 84 exceeds 80 columns |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 4 this patch: 4 |
netdev/header_inline | success | Link |
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Tue, 14 Sep 2021 09:51:15 +0800 you wrote: > Commit 10d3be569243 ("tcp-tso: do not split TSO packets at retransmit > time") may directly retrans a multiple segments TSO/GSO packet without > split, Since this commit, we can no longer assume that a retransmitted > packet is a single segment. > > This patch fixes the tp->undo_retrans accounting in tcp_sacktag_one() > that use the actual segments(pcount) of the retransmitted packet. > > [...] Here is the summary with links: - [v4] tcp: fix tp->undo_retrans accounting in tcp_sacktag_one() https://git.kernel.org/netdev/net/c/4f884f396276 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 3f7bd7a..141e85e 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -1346,7 +1346,7 @@ static u8 tcp_sacktag_one(struct sock *sk, if (dup_sack && (sacked & TCPCB_RETRANS)) { if (tp->undo_marker && tp->undo_retrans > 0 && after(end_seq, tp->undo_marker)) - tp->undo_retrans--; + tp->undo_retrans = max_t(int, 0, tp->undo_retrans - pcount); if ((sacked & TCPCB_SACKED_ACKED) && before(start_seq, state->reord)) state->reord = start_seq;