Date: Wed, 3 Apr 2024 16:42:59 GMT From: Michael Tuexen <tuexen@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: e0bd180130b8 - main - tcp: fix conversion of rttvar Message-ID: <202404031642.433GgxSw046837@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e0bd180130b8c95f568483d0df6abff00d7d2153 commit e0bd180130b8c95f568483d0df6abff00d7d2153 Author: Michael Tuexen <tuexen@FreeBSD.org> AuthorDate: 2024-04-03 16:39:31 +0000 Commit: Michael Tuexen <tuexen@FreeBSD.org> CommitDate: 2024-04-03 16:39:31 +0000 tcp: fix conversion of rttvar A wrong variable and wrong scaling factors were used. Reported by: Coverity Scan CID: 1508689 Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D44612 --- sys/netinet/tcp_subr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index db335a890b28..860d65249148 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -4240,19 +4240,19 @@ tcp_change_time_units(struct tcpcb *tp, int granularity) uint32_t val, frac; val = USEC_2_TICKS(tp->t_rttvar); - frac = tp->t_srtt % (HPTS_USEC_IN_SEC / hz); + frac = tp->t_rttvar % (HPTS_USEC_IN_SEC / hz); tp->t_rttvar = val << TCP_RTTVAR_SHIFT; /* * frac is the fractional part here is left * over from converting to hz and shifting. - * We need to convert this to the 5 bit + * We need to convert this to the 4 bit * remainder. */ if (frac) { if (hz == 1000) { - frac = (((uint64_t)frac * (uint64_t)TCP_RTT_SCALE) / (uint64_t)HPTS_USEC_IN_MSEC); + frac = (((uint64_t)frac * (uint64_t)TCP_RTTVAR_SCALE) / (uint64_t)HPTS_USEC_IN_MSEC); } else { - frac = (((uint64_t)frac * (uint64_t)(hz) * (uint64_t)TCP_RTT_SCALE) /(uint64_t)HPTS_USEC_IN_SEC); + frac = (((uint64_t)frac * (uint64_t)(hz) * (uint64_t)TCP_RTTVAR_SCALE) /(uint64_t)HPTS_USEC_IN_SEC); } tp->t_rttvar += frac; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202404031642.433GgxSw046837>