git: 236d1f8c1773 - stable/13 - [tcp] Fix ECN on finalizing sessions.

Richard Scheffenegger rscheff at FreeBSD.org
Sun Apr 11 10:08:12 UTC 2021


The branch stable/13 has been updated by rscheff:

URL: https://cgit.FreeBSD.org/src/commit/?id=236d1f8c1773a647891a9f37cc305dabde22f7f7

commit 236d1f8c1773a647891a9f37cc305dabde22f7f7
Author:     Richard Scheffenegger <rscheff at FreeBSD.org>
AuthorDate: 2021-04-08 12:50:34 +0000
Commit:     Richard Scheffenegger <rscheff at FreeBSD.org>
CommitDate: 2021-04-11 09:18:35 +0000

    [tcp] Fix ECN on finalizing sessions.
    
    A subtle oversight would subtly change new data packets
    sent after a shutdown() or close() call, while the send
    buffer is still draining.
    
    MFC after: 3 days
    Reviewed By: #transport, tuexen
    Sponsored by: NetApp, Inc.
    Differential Revision: https://reviews.freebsd.org/D29616
    
    (cherry picked from commit 9f2eeb02623d6a847a90da68a5892c25b14ce2d4)
---
 sys/netinet/tcp_output.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index d4b5a328e2a6..e23cdc749e98 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1181,7 +1181,7 @@ send:
 			tp->t_flags2 &= ~TF2_ECN_SND_ECE;
 	}
 
-	if (tp->t_state == TCPS_ESTABLISHED &&
+	if (TCPS_HAVEESTABLISHED(tp->t_state) &&
 	    (tp->t_flags2 & TF2_ECN_PERMIT)) {
 		/*
 		 * If the peer has ECN, mark data packets with


More information about the dev-commits-src-all mailing list