From nobody Fri Feb 6 18:54:27 2026 X-Original-To: dev-commits-src-main@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 4f73D41fbDz6FSVG for ; Fri, 06 Feb 2026 18:54:28 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f73D41344z3MQc for ; Fri, 06 Feb 2026 18:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770404068; 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=yB88ZplxP8wcunPD3UWj5xDv1xeGMaqbunAwEPlOR9o=; b=EkhIKtavqIj7oTot85JS+j2AW9raXljglh9Flh6mcE3Wds9Gpke9oGPHu4y+byvtMfCq0l govZbAO+dyXQk+OhybNVpOR2OSZ6/mJ+6J+8cumkjuEbG30pstaXQgW4uIvPt9N8FSTbAV TwmA+NXjiOWQ4/6Zg73m+mV1GF+SyeDUgeYKC/37Iplk72v8bWGjIXFolBYNEWoXWU7aNb E2HpoFBj0I9/VkeApD7otr1URii46mYpY5MAIGXDfnQtt456aasV66IjCT6QP8Wvtk//rZ qMXXKvWf1thZluLFAqgzkMXuzrPDycTAHSgWDMQSXXa0+pFS22NYuGGs3aIGKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770404068; a=rsa-sha256; cv=none; b=eR12XsKOjROXdgMHQ2wOVh1BwVj/Ine8FfOBZROLcwQNZ9fgD52O2pzrjM4S0BRFArFbcD mEREd2/9d9amwuRs7BM4nVXtoVAyTFxiOQwriW6tZ7kRbeAIAWVT8Xfj+XQ0lHWacaV5rH Gg6dseeMOnXSnIJiR5YKr0KAkpLc08SHWHtIHEKd4ZCYZ1rh9KTVYcAwio6UUCbr1YIYO7 +PKxjAUPFzwAf+X5vsPfmhB/en9DWgUB0mC4b1coF61Jr4YoHZUnr7UJLyNlH/VP6qnMhq 0MbmUct6CvQ8skCkHjXxgfHQSbGnqEPmka6SJw0IkoZFLnjJQKFbgU8qY2W5DA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770404068; 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=yB88ZplxP8wcunPD3UWj5xDv1xeGMaqbunAwEPlOR9o=; b=ME2j4b2d9jkusTR6L16OoZuBGqca5igKfvtWNO+lk6gOp9RAh3wkwv++3w7OeN6a7xmoRU xime184IOIoVPjb8V+poSi8hYCue0RsLa/8ULKQPWkSIAekBN4yKnviY+lBVJBMi/GyaZj leTTUCfsKhNaV25eLZJqzDmR4xHCtwA3RmdZwT40CzEg4KgGUGpoCxgQWM+MmHWyyKZKhp bA2pnS5AUSocUil8Hy42/8EgfJ71xsd5ni6WuOcIT85uvkvO+UqP7A1tz6wz5Qlc3i6RLK CFqj6+qYGdKBwctF78+n/6xA6t2uQfQSfkKHZw1if/45l9rDV2vDPnD3teU41Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f73D400BJzBxJ for ; Fri, 06 Feb 2026 18:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33e6b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 06 Feb 2026 18:54:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: f5923578eb67 - main - sockets: repair sctp_peeloff(2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5923578eb67c6363e4575c107d3be3180ac9371 Auto-Submitted: auto-generated Date: Fri, 06 Feb 2026 18:54:27 +0000 Message-Id: <698638e3.33e6b.6b5a6d38@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f5923578eb67c6363e4575c107d3be3180ac9371 commit f5923578eb67c6363e4575c107d3be3180ac9371 Author: Gleb Smirnoff AuthorDate: 2026-02-06 18:51:38 +0000 Commit: Gleb Smirnoff CommitDate: 2026-02-06 18:53:59 +0000 sockets: repair sctp_peeloff(2) The shim function soattach() may be passed a non-listening socket by SCTP. NB: the change makes soattach() more hairy, but long term plan is that this function goes away. PR: 293010 Fixes: 64f7e3c9c178ab35cb1f8fdf791aec74ede6f6b2 --- sys/kern/uipc_socket.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 73ac2c6efc4e..8b5d1f504e80 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -905,7 +905,11 @@ sodealloc(struct socket *so) * normal socket(2) syscall it is the pr_attach that calls soreserve(), even * for protocols that don't yet do PR_SOCKBUF. In case of accepted connection * it is our shim that calls soreserve() and the hiwat values are taken from - * the parent socket. + * the parent socket. The SCTP's sopeeloff() hands us a non-listening parent + * socket. + * + * This whole shim should go away when all major protocols fully manage their + * socket buffers. */ static int soattach(struct socket *so, int proto, struct thread *td, struct socket *head) @@ -921,8 +925,10 @@ soattach(struct socket *so, int proto, struct thread *td, struct socket *head) so->so_snd.sb_mtx = &so->so_snd_mtx; so->so_rcv.sb_mtx = &so->so_rcv_mtx; } - if (head == NULL || (error = soreserve(so, head->sol_sbsnd_hiwat, - head->sol_sbrcv_hiwat)) == 0) + if (head == NULL || (error = soreserve(so, + SOLISTENING(head) ? head->sol_sbsnd_hiwat : head->so_snd.sb_hiwat, + SOLISTENING(head) ? head->sol_sbrcv_hiwat : head->so_rcv.sb_hiwat)) + == 0) error = so->so_proto->pr_attach(so, proto, td); if (error != 0 && (so->so_proto->pr_flags & PR_SOCKBUF) == 0) { mtx_destroy(&so->so_snd_mtx);