From nobody Thu Oct 9 07:54:35 2025 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 4cj2G34Ms7z6BRxg; Thu, 09 Oct 2025 07:54:35 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cj2G33ZCPz3vlc; Thu, 09 Oct 2025 07:54:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759996475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YNumhSGWWQeGixLdM1VsBZN6xtr0O9qkBxatFtgXTJ0=; b=OZE9Hfxw8C9/B5CCPdq/4E2sBeVdQm7YC/kvBhJxnmOCu/N7M0/KHCS6/5XV1nBKXw1eli whIVwsFfcWgpG7EX/h34MX3YnNIvCnM7GHMGVrA3J9HIFYNWSPCGQasIIWFcFTCcnuZCiL sDVVJIW1uMCiqAK3yUT31AMWxyIUxQge8+dke1/CCIkmFo3GzSFmmVuk9P3lB/6ujYX9dg DLS5/svMhVte9tmeQtmeBs0k1x+IP6ycMFX9Jj4U80lMQONSy1M9E2XB/3EqSi/Bnql6b4 KAHVm2EgZGANYm5++8rBkpBl5UpNO4qQuF2exO11/KdiIJZrFmdDR9UrinbKZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759996475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YNumhSGWWQeGixLdM1VsBZN6xtr0O9qkBxatFtgXTJ0=; b=cZK3avgngS0HFxRQJqdJ54A5rKGm2l1HYYR/Hx20MR6AsZ9v7WRutRjv3E6y/6qNMd4DTN tdGq6jwVyqSqq/BqWdkB5zUsGE0rIQy+EeGG2pnScSTfptBfOsXdbtAlFJytslmJK+/jUo tWX5y/JH6MCuwOQf3jSvL/qW1T5EHePhC+ALbED0MdxGsTclUQIpu4DiUKP/njF6uvlJqp rzANDNGB7E7bUqGqbhgkT9fR4+fPyfbvl+q0+VuVIq6BVSZfjVzfeS8VdxrWvrEDzFVG71 jZScty9nrpmQt2b+gCkdqxXQcqPduxajLSHs58tC7fwEYN3baIFd4rjMCPxxZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759996475; a=rsa-sha256; cv=none; b=L2uMTIHMpB3aCXmr0PajWmCxoGTGem5XcNn5BkOH/4qv7F+4IuMG0KLgllLfu9mEMN/sa9 gvEjBuR9tkFcyr2CF5tR39LrGBmUoKbkbPSqf2tYMrqHmKL28+y0YpUVWMDaYt9axjcvFQ Qwyo9zTPajNENMApNDcFdHp/w8utXiHWUwAmc96g2+uhlS3G9qEYSc9L+zeH9xaMI15PE1 SNCSpKCOYR7xImis3IeXc0nqU7lw+Gu2TUfqdL8QsIlaU6u7T35Os5NAEUvPPrXZnOz229 Khqstft/FvWtTHOS8E4iroXOT8WFrKMiKvNOBpOj0zl6rA0jugke/3AczxBf4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cj2G3323lz17km; Thu, 09 Oct 2025 07:54:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5997sZ8V041506; Thu, 9 Oct 2025 07:54:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5997sZoi041503; Thu, 9 Oct 2025 07:54:35 GMT (envelope-from git) Date: Thu, 9 Oct 2025 07:54:35 GMT Message-Id: <202510090754.5997sZoi041503@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 1728dae25358 - stable/14 - tcp: improve SEG.ACK validation in SYN-RECEIVED List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1728dae2535836111ebb65dd4e8a6c7cba29254d Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1728dae2535836111ebb65dd4e8a6c7cba29254d commit 1728dae2535836111ebb65dd4e8a6c7cba29254d Author: Michael Tuexen AuthorDate: 2025-10-06 20:39:31 +0000 Commit: Michael Tuexen CommitDate: 2025-10-09 07:54:13 +0000 tcp: improve SEG.ACK validation in SYN-RECEIVED According to the fifth step in SEGMENT ARRIVES, send a RST segment in response to an ACK segment which fails the SEG.ACK check, but leave the endpoint state unchanged. FreeBSD handles this correctly when entering the SYN-RECEIVED state via the SYN-SENT state, but not in the SYN-cache code, which handles the SYN-RECEIVED state via the LISTEN state. This also fixes a panic reported by Alexander Leidinger. Reviewed by: jtl, glebius Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52934 (cherry picked from commit 8af2f06a99b10c0d3ab9021949e750852662672a) --- sys/netinet/tcp_syncache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 4e747d3dcf61..d36abc9f9815 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1292,7 +1292,8 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, "segment rejected\n", s, __func__, th->th_ack, sc->sc_iss + 1); SCH_UNLOCK(sch); - goto failed; + free(s, M_TCPLOG); + return (0); /* Do send RST, do not free sc. */; } TAILQ_REMOVE(&sch->sch_bucket, sc, sc_hash);