From 6a79e48076bcce3e902323e62689eacb98faa180 Mon Sep 17 00:00:00 2001 From: Randall Stewart Date: Mon, 27 Nov 2023 14:38:06 -0500 Subject: [PATCH] Fix two latent bugs in hpts. One where a static is put on a local variable, the other an initialization bug where we should be setting tv.tv_sec to 0. PR: 275482 --- sys/netinet/tcp_hpts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index 92b2f69c9e5..d673ccbe4a7 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -1519,6 +1519,7 @@ __tcp_run_hpts(struct tcp_hpts_entry *hpts) hpts->p_mysleep.tv_usec = dynamic_min_sleep; /* Reschedule with new to value */ tcp_hpts_set_max_sleep(hpts, 0); + tv.tv_sec = 0; tv.tv_usec = hpts->p_hpts_sleep_time * HPTS_TICKS_PER_SLOT; /* Validate its in the right ranges */ if (tv.tv_usec < hpts->p_mysleep.tv_usec) { @@ -1600,7 +1601,7 @@ tcp_choose_hpts_to_run(void) void tcp_run_hpts(void) { - static struct tcp_hpts_entry *hpts; + struct tcp_hpts_entry *hpts; struct epoch_tracker et; NET_EPOCH_ENTER(et);