From nobody Wed Oct 14 16:03:51 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j4bbr44hpz6vmbr for ; Wed, 14 Oct 2026 16:03:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4j4bbr1gg6z4Zgm for ; Wed, 14 Oct 2026 16:03:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791993832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kAi2gTJs3FvrRU8pIvRWdJ+ALx6s+zPg9xLFw9ilf0M=; b=tEaTlT+E/upPsO5pTlnaDZdxHFGxIpHrnO4GYL2DNs9L1PjH5bwGTpvsEG2mJEZNU2mzom mX+THBYTBLcW6ERy7LXgq1hGVu3ux0um6lCe9hejUVg53eCaFzkpyEUxP92N23O71mJ0hD AxH9IUhZZUwTpPk6I4jhUIIKl/HOnHXKq23HoOUG3cIIqsOtVlGFYVUHgCRgBByAEiqGG+ jVA+tmfw2U31PeeA4epACAZiByADh9JtJVMaY5J6UxKUSfRsCPjtBg9kULgRR1fZ7BMmLg A5eQyTj8aIvn7k32s4zw2HgK/M49vBb7Vigs9FltlrKl7650nqIvdLYZQBX8/A== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791993832; b=UidlcDtMoNxWs7R0BomonmeJ3VU/2TKl1SItR0o/+e94AOEae4jIkgeawZLvSJrkc18i5K 6/+3lCJ3EXJ9wmUT+fkPvUrZchYn9dV8zvAxXh00n+cDG9vWEzS8gbe0kWc2RnUuTf3EhS AGg1EMHa7A1zJQWmsQnm5jZbQ39kLzDWuhmY4MGFWVfOxuhrv6uDleg3L1gUQ3xJqZcvFk Mkz5Z8QUNFvEWHnBuKwtenM1Pk82iqUEZfJSeSkKWzMPydMHm3LJSVNoJ5LkpA6Zj3P1Jf zpw5QV3HLdE1le+rrnXMqEK85nBxdk1Xdwgdbrx3hWyGM5ooY9r555dQzU68KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791993832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kAi2gTJs3FvrRU8pIvRWdJ+ALx6s+zPg9xLFw9ilf0M=; b=OqANqzJuAH9tfjw9ZxKa4foPBnXn7Sh/BkzGi0SZLYYd6ZJl+oVI6hH7G3rCb1lYiFl/uS vKXjk+uyiMN5xBXYubkeCxasitgBqZPzcs0/MXpUjf0CXUZtTR0vJUfenlnk9AYNkeU91/ rTrj/gJlclSbWpaynFkGBNfLSUc+soc18pS1mt1ocH/g/+Mv2NoyVxxoVuKk07OdediBAv 8ghNVMQ5appBQhcOA8p+i+5l+oBoQDeVnMmbLed9mMzjf5R6TWfqSkhNxvPpngBAKw9GOa QpZwG20/nf3dZ+8kVED4ZRNq9yooiuRK8JGii2OOzsdOEiN0zyf7yW/dxn728A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j4bbq6t2pz17Nv for ; Wed, 14 Oct 2026 16:03:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2744a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Oct 2026 16:03:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Michael Tuexen From: Mark Johnston Subject: git: 11f0c61eecb8 - releng/14.4 - tcp: improve handling of stopped timers List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.4 X-Git-Reftype: branch X-Git-Commit: 11f0c61eecb83c1b613347243c8aca5c0af2752c Auto-Submitted: auto-generated Date: Wed, 14 Oct 2026 16:03:51 +0000 Message-Id: <6acfa7e7.2744a.2881731b@gitrepo.freebsd.org> The branch releng/14.4 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=11f0c61eecb83c1b613347243c8aca5c0af2752c commit 11f0c61eecb83c1b613347243c8aca5c0af2752c Author: Michael Tuexen AuthorDate: 2026-07-28 20:15:22 +0000 Commit: Mark Johnston CommitDate: 2026-10-13 13:47:11 +0000 tcp: improve handling of stopped timers When a TCP timer is stopped, t_timers[] is set to SBT_MAX. Adding the corresponding t_precisions[], if it is not zero, would result in overflows in tcp_timer_next(). To avoid this, skip stopped timers. The problem was identified while debugging uperf by Lukas Book and an initial patch was provided by him. The committed patch was suggested by glebius. The problem can be observed by running netstat -nxptcp and looking for negative timer values and by observing very long running timers in some cases. Approved by: so Security: FreeBSD-EN-26:27.tcp Reported by: Lukas Book Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D58484 (cherry picked from commit 52b7cbcb78c14e89f6faec8da5acc2caa3d37208) (cherry picked from commit 85485a570d4f9c5f9d9b867ee847b8ee5f7d2445) --- sys/netinet/tcp_timer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 1c687e94bb4a..5e01716e7a44 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -850,6 +850,8 @@ tcp_timer_next(struct tcpcb *tp, sbintime_t *precision) sbintime_t after, before; for (i = 0, rv = TT_N, after = before = SBT_MAX; i < TT_N; i++) { + if (tp->t_timers[i] == SBT_MAX) + continue; if (tp->t_timers[i] < after) { after = tp->t_timers[i]; rv = i;