git: 130abbf80364 - stable/12 - [tcp] Fix ECN on finalizing sessions.

Richard Scheffenegger rscheff at FreeBSD.org
Sun Apr 11 10:41:31 UTC 2021


The branch stable/12 has been updated by rscheff:

URL: https://cgit.FreeBSD.org/src/commit/?id=130abbf803644dd12ea97dd55cbd19b7cf416738

commit 130abbf803644dd12ea97dd55cbd19b7cf416738
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 10:12:18 +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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index eeb9ca20a2b8..323d61c3e39a 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1137,8 +1137,8 @@ send:
 		} else
 			flags |= TH_ECE|TH_CWR;
 	}
-	
-	if (tp->t_state == TCPS_ESTABLISHED &&
+
+	if (TCPS_HAVEESTABLISHED(tp->t_state) &&
 	    (tp->t_flags & TF_ECN_PERMIT)) {
 		/*
 		 * If the peer has ECN, mark data packets with


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