git: e5bbb777cbfa - stable/13 - tcp: Use sbuf_drain unconditionally

Richard Scheffenegger rscheff at FreeBSD.org
Fri Apr 16 20:45:38 UTC 2021


The branch stable/13 has been updated by rscheff:

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

commit e5bbb777cbfafbd915ce815b8d0f2d3db8d26431
Author:     Richard Scheffenegger <rscheff at FreeBSD.org>
AuthorDate: 2021-04-02 18:26:48 +0000
Commit:     Richard Scheffenegger <rscheff at FreeBSD.org>
CommitDate: 2021-04-16 20:43:54 +0000

    tcp: Use sbuf_drain unconditionally
    
    After making sbuf_drain safe for external use,
    there is no need to protect the call.
    
    MFC after: 2 weeks
    Reviewed By: tuexen, #transport
    Sponsored by: NetApp, Inc.
    Differential Revision: https://reviews.freebsd.org/D29545
    
    (cherry picked from commit 38ea2bd0698e434ec531b97fa94b24db24e16629)
    (cherry picked from commit a04906f0273fa6d80eb3ebf22b9b84e53e6b21e0)
---
 sys/netinet/tcp_hostcache.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/sys/netinet/tcp_hostcache.c b/sys/netinet/tcp_hostcache.c
index a8c4b2b178cd..a873558621d1 100644
--- a/sys/netinet/tcp_hostcache.c
+++ b/sys/netinet/tcp_hostcache.c
@@ -644,7 +644,6 @@ sysctl_tcp_hc_list(SYSCTL_HANDLER_ARGS)
 	const int linesize = 128;
 	struct sbuf sb;
 	int i, error, len;
-	bool do_drain = false;
 	struct hc_metrics *hc_entry;
 	char ip4buf[INET_ADDRSTRLEN];
 #ifdef INET6
@@ -702,16 +701,9 @@ sysctl_tcp_hc_list(SYSCTL_HANDLER_ARGS)
 			    hc_entry->rmx_hits,
 			    hc_entry->rmx_updates,
 			    hc_entry->rmx_expire);
-			do_drain = true;
 		}
 		THC_UNLOCK(&V_tcp_hostcache.hashbase[i].hch_mtx);
-		/* Need to track if sbuf has data, to avoid
-		 * a KASSERT when calling sbuf_drain.
-		 */
-		if (do_drain) {
-			sbuf_drain(&sb);
-			do_drain = false;
-		}
+		sbuf_drain(&sb);
 	}
 #undef msec
 	error = sbuf_finish(&sb);


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