git: 8d589e0cf979 - stable/11 - [tcp] Fix ECN on finalizing sessions.

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


The branch stable/11 has been updated by rscheff:

URL: https://cgit.FreeBSD.org/src/commit/?id=8d589e0cf9793996f24f0d6fa9fddbf8b2ce0cdd

commit 8d589e0cf9793996f24f0d6fa9fddbf8b2ce0cdd
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:45:11 +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 d7fcd626d9cd..53e3623e7616 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1152,8 +1152,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