From ce42e0ed036b39c5ddf18967b1449e95faf0d3c6 Mon Sep 17 00:00:00 2001 From: Michael Tuexen Date: Fri, 9 Aug 2024 16:12:22 +0200 Subject: [PATCH] tcp: initialize V_ts_offset_secret for all vnets Initialize V_ts_offset_secret for each vnet, not only for the default vnet, since it is vnet specific. Reviewed by: Peter Lei Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46246 (cherry picked from commit 9b569353e0b073a513cf10debbe634c2ceb29fdf) --- sys/netinet/tcp_subr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index a2424f2ab4d..d633bd66034 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1508,6 +1508,7 @@ tcp_vnet_init(void *arg __unused) VNET_PCPUSTAT_ALLOC(tcpstat, M_WAITOK); V_tcp_msl = TCPTV_MSL; + arc4rand(&V_ts_offset_secret, sizeof(V_ts_offset_secret), 0); } VNET_SYSINIT(tcp_vnet_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH, tcp_vnet_init, NULL); @@ -1545,7 +1546,6 @@ tcp_init(void *arg __unused) /* Initialize the TCP logging data. */ tcp_log_init(); #endif - arc4rand(&V_ts_offset_secret, sizeof(V_ts_offset_secret), 0); if (tcp_soreceive_stream) { #ifdef INET