aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandall Stewart <rrs@FreeBSD.org>2023-11-27 19:38:06 +0000
committerRandall Stewart <rrs@FreeBSD.org>2023-11-27 19:38:06 +0000
commit6a79e48076bcce3e902323e62689eacb98faa180 (patch)
tree336b38f9af1ee32c6de802c806f9009e8b52ad0d
parent1a7c9e1585dd3ae14b03226e359d434c10066bfb (diff)
downloadsrc-6a79e48076bcce3e902323e62689eacb98faa180.tar.gz
src-6a79e48076bcce3e902323e62689eacb98faa180.zip
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
-rw-r--r--sys/netinet/tcp_hpts.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c
index 92b2f69c9e58..d673ccbe4a73 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);