From nobody Mon Oct 13 00:30:04 2025 X-Original-To: dev-commits-src-branches@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 4clJCJ4pTWz6BVy7; Mon, 13 Oct 2025 00:30:04 +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 4clJCJ49XCz48tT; Mon, 13 Oct 2025 00:30:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315404; 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=sLf3lkTgoS14cJzT2JY786Mmp7+R+gnx6cKmV7p6g1s=; b=MOa47Aixx45VcvVYJfF+MRvfPDor+o3SVX0Tg42u0c/ooxghWJ6QDD2bXvtC9j1WVXI8ye W4v7yqgtVaV2BVuC+vSTJsozks7630bzSU7MgAPqxUaSeIgjEX4zmsDgs2GA0SFMMpF5Gi 45UoDhuty77YSpmnHttveeYF7N9Q+fs2vo+HFpDFZ5Vswy1nxt7HP+96T7oKYFTNqrbZVd U0AQw687juUjhGBK7MB+fW62oved3ekZHngQ+1tSF/R1vGfhiMN2FvK1M3APQoi+TCd3u9 9JjNWfQPe6k2CMfRGps/dhJtnRkIAOyiEO5prCTMniGTJWaW20i287dxPjUWlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315404; 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=sLf3lkTgoS14cJzT2JY786Mmp7+R+gnx6cKmV7p6g1s=; b=rwNZQCiuTRvnZJCV9Hb7zPIyJ5MI4VDBDHQ7mosIEScvBZ3Gk0AwhqhN9iE7gQEzh/qPZ/ 66tM8C5JuFrB70KTjLM55C7IhrgZoGU/M6tghNFrbyNoD2g/YFklz5ndtppszW3L/HDwlT lZvU4VD1ABr7cgR2uBBrZIXqnC5pGm0UTPEXbsHY6Avrl8DjCl7Wd3bJFn7pEXR1vIhP6u sWv2leth3PeCgYEZHTTyywAQF3buU3ztDmuNGYXEi0e6SqYL98xxyxWR6XJX1UScg7HiwH aRhhzIumIRJ+GiGa/PrQWZCX3WNz7sSlBhqWEwdoQ4eEtYqG/rRjbZHH6UyP2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315404; a=rsa-sha256; cv=none; b=q1F0qmMUByn/1AdopB1O10OaHapUl9sxZFp2LcIq+K1lcjXzGN5UCtxx3XDQsVo78NZ3nv FXv2KDr9TD6J4n4c6hkE5sNp+bIDrVKaOY8bKLxfphl6MwpCsOAH3Aa52K8n29t7/gg4H1 gM202e+yLGY9RBYgh9TzauoleIJ9op+KZyp3nSM4u++i8HNmUsTMoFxeb1T8X9ERcHJ8Am Sn3iERXpWK/Yn/5reAhBRM2fkv/+a1gNZYia5RWF/ywgVEdzuU6jlMawaCo3Hp/2bcQesK RqKcgByQnNifTeX5d97oAO5WCADPVhGzNT8erLicyc5oLcCwWfPBnQaSXTAw7A== 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 4clJCJ3Ykyzk74; Mon, 13 Oct 2025 00:30:04 +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 59D0U4Ww042364; Mon, 13 Oct 2025 00:30:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0U4Wt042359; Mon, 13 Oct 2025 00:30:04 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:04 GMT Message-Id: <202510130030.59D0U4Wt042359@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f0f57fde342d - stable/14 - kern_exit.c: do not leak reaper bitmap busy bits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f0f57fde342d79aec17ef56406aa08bb1eaa1f79 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f0f57fde342d79aec17ef56406aa08bb1eaa1f79 commit f0f57fde342d79aec17ef56406aa08bb1eaa1f79 Author: Konstantin Belousov AuthorDate: 2025-10-01 03:17:31 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:42 +0000 kern_exit.c: do not leak reaper bitmap busy bits PR: 289917 (cherry picked from commit f19ef352ec63f9fcc10076a263b8ce402ba31379) --- sys/kern/kern_exit.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 0c3070f2e360..6f772b488b79 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -129,6 +129,27 @@ proc_realparent(struct proc *child) return (parent); } +static void +reaper_clear(struct proc *p, struct proc *rp) +{ + struct proc *p1; + bool clear; + + sx_assert(&proctree_lock, SX_XLOCKED); + LIST_REMOVE(p, p_reapsibling); + if (p->p_reapsubtree == 1) + return; + clear = true; + LIST_FOREACH(p1, &rp->p_reaplist, p_reapsibling) { + if (p1->p_reapsubtree == p->p_reapsubtree) { + clear = false; + break; + } + } + if (clear) + proc_id_clear(PROC_ID_REAP, p->p_reapsubtree); +} + void reaper_abandon_children(struct proc *p, bool exiting) { @@ -140,7 +161,7 @@ reaper_abandon_children(struct proc *p, bool exiting) return; p1 = p->p_reaper; LIST_FOREACH_SAFE(p2, &p->p_reaplist, p_reapsibling, ptmp) { - LIST_REMOVE(p2, p_reapsibling); + reaper_clear(p2, p); p2->p_reaper = p1; p2->p_reapsubtree = p->p_reapsubtree; LIST_INSERT_HEAD(&p1->p_reaplist, p2, p_reapsibling); @@ -154,27 +175,6 @@ reaper_abandon_children(struct proc *p, bool exiting) p->p_treeflag &= ~P_TREE_REAPER; } -static void -reaper_clear(struct proc *p) -{ - struct proc *p1; - bool clear; - - sx_assert(&proctree_lock, SX_LOCKED); - LIST_REMOVE(p, p_reapsibling); - if (p->p_reapsubtree == 1) - return; - clear = true; - LIST_FOREACH(p1, &p->p_reaper->p_reaplist, p_reapsibling) { - if (p1->p_reapsubtree == p->p_reapsubtree) { - clear = false; - break; - } - } - if (clear) - proc_id_clear(PROC_ID_REAP, p->p_reapsubtree); -} - void proc_clear_orphan(struct proc *p) { @@ -974,7 +974,7 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options) sx_xunlock(PIDHASHLOCK(p->p_pid)); LIST_REMOVE(p, p_sibling); reaper_abandon_children(p, true); - reaper_clear(p); + reaper_clear(p, p->p_reaper); PROC_LOCK(p); proc_clear_orphan(p); PROC_UNLOCK(p); From nobody Mon Oct 13 00:30:05 2025 X-Original-To: dev-commits-src-branches@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 4clJCK5DLGz6BWrY; Mon, 13 Oct 2025 00:30:05 +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 4clJCK4Cjbz48rc; Mon, 13 Oct 2025 00:30:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315405; 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=olbNBnJ+MKvQmoIasWinNn8zv7USh67F9Kcm4LqgvAA=; b=E86xcWS6vmrfwP54E4aKQzjEP0WWps46iC2u9p10cFOU4qjFZ3p9zxUBcbrV5KCtoPbbrW zwgHe/USk4NjJX+jPW0eCr/d6qJZKkUi4P4gJrx+Qq/eujPO10jt9gxU28Ss1vq3W6LEO2 tfXrsvgJJrC3L4+h5s4G+OGfb9MXR2qq7xv8HlzNA2ls+MjiSLoQILltpW3czfBDQVge68 Pu73KBvIVXYP4BYghvVud9tU670cImMM1015o0tQL/WeeajAcgwYlg962LtR7agZDYls9f YH4ZXHF1EBZVYjqiXc1ypo+8YW/n1KjtdnvKa+LlPdOYOYhizyVLiembGoqgHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315405; 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=olbNBnJ+MKvQmoIasWinNn8zv7USh67F9Kcm4LqgvAA=; b=eHO+0pqmQjJ9v2VfeZFuvN9vq1oj61oLZfFgdUExa2+Epq8wRAHERFW/O3V83utFUkK5AD B99Eb8EJR+6xs8f5y3V9Egsd6OrWJp5NWIvRG5mBgGg96fyRXjmxnpStab5ZDa2AIdMFPl kV/5pUZBRMLhPumy68DGYlJfUpXuO+IE+FKZKMbAsLgPT5WgR1q6aHJeZt6Z2hqvbspAfL STNoOiCw8B2cU6/zDEGeyFzchiyVarS4J1GBz9QOgPCfteTeaJY6HH5a3POF0o031WtMml eYHRVBP4V7wJzF94MgvahcEkn/ErW+JEAsAScmY9LdJsEu06wFWHRDObH2paXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315405; a=rsa-sha256; cv=none; b=Hb7dE8Kq6AFA/Ae9+hTayhFK+fWsnPbHp1SsTIK1Sh5CFAa9F3q98CQhXCOn1RqqLAkdwF ul3YJq02ntijMrBbsGV9VhUw8R7LV96ADzhEGm4gzGgTU+gRXxtreiaSx8n30i61eqFe7D ZJXm0QF+Kju8vlZUb4Q207b+oNLgySsrvHQMM0enQv1wOxQvNr2wuKsm7ozONy6Zr8jubI lVYYfSW37eVMpmaj7+VSEDAqM5WI2qvn9xIiAFpRCLk9v4/zYLWE25VxV9M8YVj081QD3E P0mRHjDWiJkX2vDXoUa31sz0JQc8pi6j11ESBoU298aw1VRehP2w/sreiOwyTQ== 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 4clJCK3knZzkFH; Mon, 13 Oct 2025 00:30:05 +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 59D0U5nK042627; Mon, 13 Oct 2025 00:30:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0U5cg042622; Mon, 13 Oct 2025 00:30:05 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:05 GMT Message-Id: <202510130030.59D0U5cg042622@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3bd1780213bf - stable/14 - kern: replace several EBADF with EINVAL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3bd1780213bf53f6229ea2f00b1b975b18652836 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3bd1780213bf53f6229ea2f00b1b975b18652836 commit 3bd1780213bf53f6229ea2f00b1b975b18652836 Author: Konstantin Belousov AuthorDate: 2025-09-07 10:59:45 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:43 +0000 kern: replace several EBADF with EINVAL (cherry picked from commit fd9e09cb2ab07993e8dc783c802f273329e70bb8) --- sys/kern/kern_event.c | 2 +- sys/kern/sys_procdesc.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 50d04e1fe253..d1145c37e128 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -1771,7 +1771,7 @@ kqueue_acquire(struct file *fp, struct kqueue **kqp) kq = fp->f_data; if (fp->f_type != DTYPE_KQUEUE || kq == NULL) - return (EBADF); + return (EINVAL); *kqp = kq; KQ_LOCK(kq); if ((kq->kq_state & KQ_CLOSING) == KQ_CLOSING) { diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index 3221885c9277..ef8c397a05b6 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -132,7 +132,7 @@ procdesc_find(struct thread *td, int fd, const cap_rights_t *rightsp, if (error) return (error); if (fp->f_type != DTYPE_PROCDESC) { - error = EBADF; + error = EINVAL; goto out; } pd = fp->f_data; @@ -178,7 +178,7 @@ kern_pdgetpid(struct thread *td, int fd, const cap_rights_t *rightsp, if (error) return (error); if (fp->f_type != DTYPE_PROCDESC) { - error = EBADF; + error = EINVAL; goto out; } *pidp = procdesc_pid(fp); From nobody Mon Oct 13 00:30:06 2025 X-Original-To: dev-commits-src-branches@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 4clJCL6FJqz6BWts; Mon, 13 Oct 2025 00:30:06 +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 4clJCL4pvtz48yX; Mon, 13 Oct 2025 00:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315406; 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=Nn1YvCykMmoq8BcrdjKJQoEamO/DfgaBj8xq8+CBN6M=; b=WSUZyufEY+Qqjofi+StNlKOs26+QEwImooIn8j9lWXy3xX7kqPpa3m+MbR0neaqj4gyQc6 jqJsWW38nn4z3+9bY3/2QA7OQ9DGvOs+8uFZY87Cm4JAN/kAfq1mF+OZ5UdA0bke97omT/ ppbqT8gNOVervY8q3MktNIFMs7AZ2S46UesbXo94dSHGlo49tPNFwq5UrAqjmThC+mUBTJ wArlRhuIZiX1wT2Y6ZAq91TMTCYbaAidR2njtZNqTfMEPhr4fz/2EZ3K4YbuZANqZpnh8G QYku/BODi02H9hHUCgH8Ud4MYATw4YHIIVGEcNjxw3Q1XZZw5BV+nZ9xjXGQlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315406; 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=Nn1YvCykMmoq8BcrdjKJQoEamO/DfgaBj8xq8+CBN6M=; b=J9Vaii/W2yt94YyqOguCbJV6Ns+AWqkE3MWq+w6sUY7uxUohNoiiicx6u3g6PHQc2oaYAn lbcxBVN4lTmMNfczo5n+PXai3zAIvKemQWcIPRVWTQdsxcchcwZp27BgFCIbqe1VQm2RX6 wpYmUDFDvAhBjQvKdJzjE0Ebcov+e5JGVScXR4hx29SH4Cc9Fm/iiTGmInclP3fNiRN4OF UjsOPYyvtdWokpXpOs86TKPfVig0OurnSLhbK/aKILLQdEFIBjp6tf1nVdaGCAxTzhK9m4 OJU/q4Laaykg7i6QSXZzIB1zfqIlKO+pjYabn4/TuHfKM1If5b61unz3QGv7Vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315406; a=rsa-sha256; cv=none; b=h3aNIi1TJ0qePuSKSLwTY8b0PFaQ+JBetV03+jcyWqUF9d3ZqPDGLDYuBY4WdjRLvjvRbF OLEMmKB3LW6bxB4g2naa7Vjn4AP0JEHHX6E07jiy3GRkcsBW6ZiZMdmvPrLp2v00S6C1TL 2d4/G2iEL+IhMj2cj3r6obkLXeqUDVuFJ6aqPHLF2Ky67McaFRG52fja/BqRz9eDy+cuKh ApqQWqsrnrFTPNrpgwhi36vt1hz/P0QQh6pBeMKJQN6lAZhdoIxm5khLBHAuOyJ2M9/DeP xtEqNUIAJWNQYPq+2i4nWUgMkzLrSwVFZOXdTNkWR9elofKKgzk3lury7yHzjQ== 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 4clJCL4DdNzkNs; Mon, 13 Oct 2025 00:30:06 +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 59D0U6MN042890; Mon, 13 Oct 2025 00:30:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0U6Ud042885; Mon, 13 Oct 2025 00:30:06 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:06 GMT Message-Id: <202510130030.59D0U6Ud042885@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 84b512720455 - stable/14 - pdgetpid(2): switch back returning EBADF for non-procdesc fd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 84b51272045564ef63787423105334176aa6014e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=84b51272045564ef63787423105334176aa6014e commit 84b51272045564ef63787423105334176aa6014e Author: Konstantin Belousov AuthorDate: 2025-09-13 19:23:27 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:43 +0000 pdgetpid(2): switch back returning EBADF for non-procdesc fd (cherry picked from commit a85525a5c8b28f1516d49e5d6ae5842873c24643) --- sys/kern/sys_procdesc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index ef8c397a05b6..b2b638b6f99f 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -178,7 +178,7 @@ kern_pdgetpid(struct thread *td, int fd, const cap_rights_t *rightsp, if (error) return (error); if (fp->f_type != DTYPE_PROCDESC) { - error = EINVAL; + error = EBADF; goto out; } *pidp = procdesc_pid(fp); From nobody Mon Oct 13 00:30:07 2025 X-Original-To: dev-commits-src-branches@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 4clJCN3J4Fz6BWcf; Mon, 13 Oct 2025 00:30:08 +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 4clJCM5gGZz48lY; Mon, 13 Oct 2025 00:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315407; 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=WqPF7DTi6KePXw8c9tu2gkIrdnIk26REXkvdfuNks+k=; b=ggYZBnxvaRJ0n5nc9XGgwhnbxF5tG2/IZk0B0dR02nvqp2z0nf0u9eoZEsqurkXx7rTNZd zXUKAJEMyfP//v3icAO01goRx+ichsSzykklfpZsLTNTXM3vhR1BjFIqD8q0qsD5jg/sU1 D9KVmzYNQ5hpYXmrB2gS+P6diFq3Y68NPwKIdMMoEGqRWw8VMOlYEK8GwMYaSXE0sPx3KP 96Xc1VZm0b/fnHIqhn6YE5u+Q4CWgIs9sm+lg5s1dxY5zkV6KodxnEfLYXhMc+EkwyjnPz SLQy916NR+A7hgPI+4awK9bIjBT9bfmDgQ+QjPbDHuUhUYxGz9bMennRb2goqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315407; 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=WqPF7DTi6KePXw8c9tu2gkIrdnIk26REXkvdfuNks+k=; b=pu+XJF/77NNgnu/Pl18GNX7jQsk7hVoEUM/zVyuL9J3t7a3WH8rjTUOHEz6Shv1hpUoV1N obzvuOh4C7e+vZCQwCbPDk30uPJqFCQSDSzrP3rsE6tZWQJAnjjZh/YbBsSAqHRs44fSSa LkmQ7mV1gkZp60aH9DYQxEa8RKQzhYKucAm39EN272Jzt7GvtWl18YSb6hHyGkfScRA3xm thkdPZZ5oLWBxLke17IbHbhTvs7mUkNq+vAYu3D1ExM/KRCHMS2HWpCoEEoIuuHw4kVJ40 pKLnx3AJ5u4P8isaNJ1580J89DTCLL/zu15q50gZM4BpXDZPJAxpA64sbmaWgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315407; a=rsa-sha256; cv=none; b=QRId4w3WsFLYQk2tkShADp/3zI+zSmlW/PmVO2iDgsBKsBkniPwAgk+HeWnq+QNLKjLbvy TYxOQuwSCIq/jZPKyYh/e/2BodN0zosNSz1frjGtf2hBKyS+hU89MF2bJXj4MxhdcKSl1W vWp28QlvDEAsroYf3T0LJjBXQZQ6FRWa7pSGnF7Lo6FOVGc3ABUgvzJJasBXuzXczUh0ZO ScPRC2Dm7PYIYl1pvJApRVc3we4mOvXZf8ck9SAggITgHHNlRApeOSjoPUk+HlkDb2Mvj8 jgPh7K+RhT0bruZHVbybP8adZAg9kF+Sjn7zKPff8GFtycElS4UNR3XQnKormQ== 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 4clJCM5Fqfzk9S; Mon, 13 Oct 2025 00:30:07 +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 59D0U7rE043151; Mon, 13 Oct 2025 00:30:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0U7Ow043146; Mon, 13 Oct 2025 00:30:07 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:07 GMT Message-Id: <202510130030.59D0U7Ow043146@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5f4168fa9f29 - stable/14 - vm/vm_fault.c: cleanup includes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5f4168fa9f29a2985a16c34a5571c20c6775f622 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5f4168fa9f29a2985a16c34a5571c20c6775f622 commit 5f4168fa9f29a2985a16c34a5571c20c6775f622 Author: Konstantin Belousov AuthorDate: 2025-08-06 21:53:23 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:43 +0000 vm/vm_fault.c: cleanup includes (cherry picked from commit 0854b4f569e1e68032e431b1efb45b9fd9849194) --- sys/vm/vm_fault.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 3e4fe7bdae36..5eb19d4e287b 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -73,11 +73,9 @@ * Page fault handling module. */ -#include #include "opt_ktrace.h" #include "opt_vm.h" -#include #include #include #include From nobody Mon Oct 13 00:30:08 2025 X-Original-To: dev-commits-src-branches@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 4clJCP1JSpz6BX1G; Mon, 13 Oct 2025 00:30:09 +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 4clJCN6PzNz48lN; Mon, 13 Oct 2025 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315408; 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=WAFa/SYI8PzP7GHqvuITgTmG4+Oh5j4jnTnprK1gKtk=; b=vZ5SHKOeKc/dGDAF5W+RHtFk0lNkjWl7lSeLFlSrR/frXgcooXn2GjeDIRr2nlrBgxZb5E WJiObG9J7RXZZQNXY+5F9LWVDMO0yqPHjIwYcC9vE506nG3b4QKouiNcmIOG7wQAOdnWl+ fa7vPjEPQaZkJJY5hLh1O9uRHTfscaUeJy8wvDmUbnzTvLG3Zn7noIdLzoABiTvl5jx0QT 84O5CoOtYZ3qEB/R17fpgeG1SjuveGqKf3NFaoYvqJa3y8Sr/GAwFUdOqv/EKAgki04/oW XMMXAfpUZivRlPgiaL/EVKob+v0xpPKmZ1EEyyWom/8DDLEeQf7SoKZsNqpNUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315408; 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=WAFa/SYI8PzP7GHqvuITgTmG4+Oh5j4jnTnprK1gKtk=; b=ql9AUT+vgvGNEObTDdV4Mt+wmvGNVzXQHUi8YN/1W0Cc2hmmPqZKLZv0AJ5oJXOezdXdvH NeJcL//LJSuHLyjlqjAmbdd+KN3BG3mg2L9zkGL2dTmZa+pkLpWXAB0g1C9ACF8v9ginbl 4u5QX95LkaUVekE7KZZzopki4MEHZEeiUY1d0S5OlHUqL/1VrpadC7RVRzwxCGmTjzFwxI tktsOzMq4uhexT4qV6PXU+BLUjPw1iLJ7MPIxzR6z6iGDYzUV0LV54lCMyKo/WfQZ4N4fA jvE8nbDmfbfSOQLSjfQl8pnpFfjZVWFdH9VNfPZQIUJ4Zp5qM/QvUdadUWcz9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315408; a=rsa-sha256; cv=none; b=DyKHpFR81PXygyHqaRLm1zrwM1nnj90CvUKO3JTPGQYPP+yVS1mnT7G3VvrqLh+bQ39sVl nHS8yu45Dy8BftVuAqgoN0YHueS8//fmBcPWrP4dJn7H7vZcGOI/4LfFfZUr0MbvaMReL4 QSxqJq+6jSpAyyqT1+GrAubkLog7Z9cCBfcvGx976OGAIBwwtjHYs/qNJZbp5JVbZsZFaJ Ux6ADbrTNv5iL1j4WDy8bVZTtMB+i8oCyK2p8QoUfOX31JQuPI4e1/atmDFeP7kABlh6Hs IBdfmcwf4X7SV0P2rcfhOj/WjCRrRVtaTVQWPtkLr51iWvyncJFyVewBEr6zyA== 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 4clJCN5Z1qzkFJ; Mon, 13 Oct 2025 00:30:08 +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 59D0U8Rt043414; Mon, 13 Oct 2025 00:30:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0U8Dj043409; Mon, 13 Oct 2025 00:30:08 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:08 GMT Message-Id: <202510130030.59D0U8Dj043409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3126c57163fb - stable/14 - vm_fault: drop never-true busy_sleep test List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3126c57163fbbeb0d013d9c04d87a44a458b3f07 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3126c57163fbbeb0d013d9c04d87a44a458b3f07 commit 3126c57163fbbeb0d013d9c04d87a44a458b3f07 Author: Doug Moore AuthorDate: 2025-07-06 20:46:00 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:44 +0000 vm_fault: drop never-true busy_sleep test (cherry picked from commit 2d6185cf87e815d4951a9ddcf5c535ebd07a8815) --- sys/vm/vm_fault.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 5eb19d4e287b..32c3d698b085 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1423,8 +1423,7 @@ vm_fault_busy_sleep(struct faultstate *fs) } vm_object_pip_wakeup(fs->object); vm_fault_unlock_map(fs); - if (fs->m != vm_page_lookup(fs->object, fs->pindex) || - !vm_page_busy_sleep(fs->m, "vmpfw", 0)) + if (!vm_page_busy_sleep(fs->m, "vmpfw", 0)) VM_OBJECT_UNLOCK(fs->object); VM_CNT_INC(v_intrans); vm_object_deallocate(fs->first_object); From nobody Mon Oct 13 00:30:10 2025 X-Original-To: dev-commits-src-branches@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 4clJCR3xRFz6BWrp; Mon, 13 Oct 2025 00:30:11 +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 4clJCR0bq0z495J; Mon, 13 Oct 2025 00:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315411; 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=XCRiAn9nabcD0dJPTWBquWgH96qiKnce6lmJ9JWBGl4=; b=hm8hd+oZAAX4zfZayMz4tk7IIAskf8b+1HsnAYUu3Z1vdFhAtSr/rx41gdIDaRKVFg8ueJ PY4J1beaD5RBNZ1KxlAMdmmc1kUryPl9wAMhkwn4VPRU6TO5OWtoaiX5r2VcZHxbVPiOfZ C1rJGetEGEZTQ/L/WIJnf1os1CDtqBg3Snd3sRqwR8WHGj+kOYKIE/dF1w8XdQyKlX5uWF yPi2SpYvR9/pkDLf9R6yiFeUv1KhBz+/EdTW8hmyTMaZk6hYSyzbEy9IgzH18dg2OSD4Kg jIcWdSZZsxJ28Nou2ZRxurDa5OlzB6DVlOwz7MOxugttYaMwE4l4qffpRVoaFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315411; 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=XCRiAn9nabcD0dJPTWBquWgH96qiKnce6lmJ9JWBGl4=; b=cDq5ASrgtOOM7+akyuxBsNiGHo4q8lJW32IP63oT2o3DOLLElRs6Sv/zyDpk0s2asdsnWD pw7dy+FG4Kzc/3qml+DM9QJY/lYa70hTvSHJI4ILxTvn8Cb7GR6AFoXSP5lhun/f2DmK77 6T7vygZeHNVZoAFAoJbKobN9HcC5m2sid/UhaM8gBfjaYRFVV5G9b0QaNJw1C6kx3rUZev vGC7p9BQztBnT3xAvnh1I2yW2O8QSH8vosrTwffuTOFxcPR09IgOerDS+9ebmlpNdvwpyE Fh4hRQCXJ6tidbKTXdi4CMmlTbAdjuzHDPdPa5qBQtGBKZUK61wKDRrsdBNZew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315411; a=rsa-sha256; cv=none; b=bzN8WqdF31uQ8EMHD7W8q2k6slyokSVd8j0AZxiEphbrDLTNPlgBCUt5nC5C3zFqUi3SDW pHnP3A/WdsXngOW44aHmRCGNWIEiXU1SbmHMPwMC8BeFFfVx9FeMIX3GGugPIvnPtnTD74 f0ZTyjNyuWK2Py2IdnGHrbfci/Dv1Y8DzVReScKKV9DtqdY7QST93/O0rGwKG8JrXG1PSy Z+q72dyNjH48xQW2EJkjyMNgdZlnsUaQ/bnjJvmjqMp/xsyX9zeVFH4YyqniRJ6UN+VNUe OwTdRC5A//XZIRTm5bvwBKpMWZdon4KgyO0jOpNOrCJnh+K6z6/hKuRi82L7gg== 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 4clJCQ72kBzkFK; Mon, 13 Oct 2025 00:30:10 +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 59D0UAm2044612; Mon, 13 Oct 2025 00:30:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0UA48044606; Mon, 13 Oct 2025 00:30:10 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:10 GMT Message-Id: <202510130030.59D0UA48044606@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e7422f7dfd0e - stable/14 - vm_fault: add vm_fault_might_be_cow() helper List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7422f7dfd0e4c1f0db5560f171260d78bad9383 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e7422f7dfd0e4c1f0db5560f171260d78bad9383 commit e7422f7dfd0e4c1f0db5560f171260d78bad9383 Author: Konstantin Belousov AuthorDate: 2025-08-14 03:39:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:45 +0000 vm_fault: add vm_fault_might_be_cow() helper (cherry picked from commit 5bd4c04a4e7f7bda657e6027e64675d0caf50715) --- sys/vm/vm_fault.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 89acbb0095e9..796b4c44b3f9 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -259,6 +259,12 @@ vm_fault_unlock_vp(struct faultstate *fs) } } +static bool +vm_fault_might_be_cow(struct faultstate *fs) +{ + return (fs->object != fs->first_object); +} + static void vm_fault_deallocate(struct faultstate *fs) { @@ -266,7 +272,7 @@ vm_fault_deallocate(struct faultstate *fs) vm_fault_page_release(&fs->m_cow); vm_fault_page_release(&fs->m); vm_object_pip_wakeup(fs->object); - if (fs->object != fs->first_object) { + if (vm_fault_might_be_cow(fs)) { VM_OBJECT_WLOCK(fs->first_object); vm_fault_page_free(&fs->first_m); VM_OBJECT_WUNLOCK(fs->first_object); @@ -990,7 +996,7 @@ vm_fault_cow(struct faultstate *fs) { bool is_first_object_locked; - KASSERT(fs->object != fs->first_object, + KASSERT(vm_fault_might_be_cow(fs), ("source and target COW objects are identical")); /* @@ -1154,7 +1160,7 @@ vm_fault_zerofill(struct faultstate *fs) * If there's no object left, fill the page in the top * object with zeros. */ - if (fs->object != fs->first_object) { + if (vm_fault_might_be_cow(fs)) { vm_object_pip_wakeup(fs->object); fs->object = fs->first_object; fs->pindex = fs->first_pindex; @@ -1417,7 +1423,7 @@ vm_fault_busy_sleep(struct faultstate *fs, int allocflags) * likely to reclaim it. */ vm_page_aflag_set(fs->m, PGA_REFERENCED); - if (fs->object != fs->first_object) { + if (vm_fault_might_be_cow(fs)) { vm_fault_page_release(&fs->first_m); vm_object_pip_wakeup(fs->first_object); } @@ -1711,7 +1717,7 @@ found: * top-level object, we have to copy it into a new page owned by the * top-level object. */ - if (fs.object != fs.first_object) { + if (vm_fault_might_be_cow(&fs)) { /* * We only really need to copy if we want to write it. */ From nobody Mon Oct 13 00:30:09 2025 X-Original-To: dev-commits-src-branches@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 4clJCQ3z7hz6BVyK; Mon, 13 Oct 2025 00:30:10 +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 4clJCQ1KK5z48td; Mon, 13 Oct 2025 00:30:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315410; 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=QxPCMkwHwdWf7emq72ke/mU8KXo7gaC9ADtWazc/+z8=; b=Slytu+f51HH1rgmHQqmewWPyZsnX7p1YbE5XhhvmNsVGcO48JgADm4RtL4rP3LOh1XcGQi EZsbSE8oFlBa5dkW4ADkxc5fuIrOuktLbFqOQP7jZapsLSyY7qsOxMRHu8WLER2zGJJ0dz udiJ+3JXuFkBrSpbNfKWuyXF7UpXtd9av2bxBVpXeiC4VQsEL42GcuoostuvH98hiFMVTE /kSnT/j4vojmrr5di2I6B+RzksxzIscYbmHn3puS4OpNI14B+A0nSasP9daUVAGxjYxW9h +crOLZ6tW1hAadEFdwvLUbsb/KQo0UCOsxSCNGeWVtt0OJuvXAxM6iqzM8BcLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315410; 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=QxPCMkwHwdWf7emq72ke/mU8KXo7gaC9ADtWazc/+z8=; b=o1uO0SN9C03QgoRS8tdgH3AYLf6B5N7U07P0DPdGTkXGk+7EaojPshw5mp2Grh9lvot3Pq 239+b+8mPrUL+hq7ulMhAt6hNpy6E2tQ6CquApk+TQoe6byo4RT1VMZKEApA+Q6tEe/W8M BRn23C4+AzidviNuAXoAtJMrHpk73Kt+sRjb7iGK1+/k3HwYp/3Y2/z1L8vQaCeniRkGDf oc0+xOJwKz4aawyUhcqtMLgPLKqMPff2oQ7YUNnzJzHIkrQZHiqMLJgtcgBDLMzBmQPaM1 x+GBla8FKgC7ZRmQupYjeJ8Otaro8+85mYOauJeP8kNoBcCWNEBNkQJtzDdE4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315410; a=rsa-sha256; cv=none; b=jA4nsX45gr/LVjD8VxuxKqy6QVv7wUplFBh12tqvHSWb2PRTfHW2BD+jzZFNNcMHvCcttS t+TkAx2gN23pYtuiBJzAge1gFjGt+/GJUOiYV5UiPemvRjBOKxBlQoGCnu3Gtag+x21g+p W0Wr4exG83SY1OoT76OUxoDd0UwB9zlzJKKl+gEo+1LUoUS+ZfhbZro+62A1KneL63Nc1T sayleu1sm4fgzM/bLdDz3Zdipde6M5FBB+K276IBDeuWFNMRs9ygPFEGUJcchJuD4ys8/h S3qNHV33049inD7NpTTsHE8tgttq1a5/Mb33Rv2/ft/SronyUNZqiYMmbzJGFw== 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 4clJCQ0BHMzkcB; Mon, 13 Oct 2025 00:30:10 +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 59D0U9l9043934; Mon, 13 Oct 2025 00:30:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0U9eK043929; Mon, 13 Oct 2025 00:30:09 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:09 GMT Message-Id: <202510130030.59D0U9eK043929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 4b938ed09069 - stable/14 - vm_fault_busy_sleep(): pass explicit allocflags for vm_page_busy_sleep() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4b938ed09069e24e6c2714b62b4b5559081da67b Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4b938ed09069e24e6c2714b62b4b5559081da67b commit 4b938ed09069e24e6c2714b62b4b5559081da67b Author: Konstantin Belousov AuthorDate: 2025-08-06 21:49:10 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:44 +0000 vm_fault_busy_sleep(): pass explicit allocflags for vm_page_busy_sleep() (cherry picked from commit c6b79f587f27649f90e00bc131d37bafa50ffc62) --- sys/vm/vm_fault.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 32c3d698b085..89acbb0095e9 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1409,7 +1409,7 @@ vm_fault_getpages(struct faultstate *fs, int *behindp, int *aheadp) * page except, perhaps, to pmap it. */ static void -vm_fault_busy_sleep(struct faultstate *fs) +vm_fault_busy_sleep(struct faultstate *fs, int allocflags) { /* * Reference the page before unlocking and @@ -1423,7 +1423,7 @@ vm_fault_busy_sleep(struct faultstate *fs) } vm_object_pip_wakeup(fs->object); vm_fault_unlock_map(fs); - if (!vm_page_busy_sleep(fs->m, "vmpfw", 0)) + if (!vm_page_busy_sleep(fs->m, "vmpfw", allocflags)) VM_OBJECT_UNLOCK(fs->object); VM_CNT_INC(v_intrans); vm_object_deallocate(fs->first_object); @@ -1468,7 +1468,7 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) fs->m = vm_page_lookup(fs->object, fs->pindex); if (fs->m != NULL) { if (!vm_page_tryxbusy(fs->m)) { - vm_fault_busy_sleep(fs); + vm_fault_busy_sleep(fs, 0); return (FAULT_RESTART); } From nobody Mon Oct 13 00:30:11 2025 X-Original-To: dev-commits-src-branches@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 4clJCS4vHhz6BWfx; Mon, 13 Oct 2025 00:30:12 +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 4clJCS18d4z49Dv; Mon, 13 Oct 2025 00:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315412; 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=H3xSv2VAVvKoZ8rEAg4jeH+LP6+g5Fu5O95dEOYZHDw=; b=Z+Ggk46/9nerdhlH3zNFrk2+iSfD3/U3cjcULSjt5uQHXZEU0yIT1KPAtXvjC5K0G57lVd 827sWg+El5dGE8+km/1r4xspM6VmI+agaIJ0tLJJjIM3TtOQ8vTOXHqwM9SdtJMAlEg1Hy hrqGsNvlZZ22fq23kp7E/ODkvgOtp+QrsRvJDtqopnSMkmtk7yPwfketiP/Fgn7uLiI3sB R67sjutRWbPmwmhIXFqKUkqfynKdqS7JTitedsXGuZ0cgx5WzuLkbDn4EujxRD554QuDSE w8YDHB7emUbZ3cJlZvCBotFY9Eiut43dLUo1S2594X8LG3S4KNb5+SNQoVvPhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315412; 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=H3xSv2VAVvKoZ8rEAg4jeH+LP6+g5Fu5O95dEOYZHDw=; b=Pnxn1Ag8hewCoIS56UGMNFnlEBmvBQ/iTuKWuo29nINGcbjjiZiirAplaJWpi2elQor31K oj5JmzD8lzay6k0VW5Kiu2lmDIXJ9Mx6EZ6d+sGxOcswQBCqzfynUu5wGvJNvSggMWOvf7 w9Z2S51uCgR1lJt4hGgYDfj7+SHjIHd0qWFA8Aa5WgaSe4oisD+VFk+tPNIrEyb06A7+I6 ilL5Q8Ua2pTzcZySqZeIytnKf+dKB6pFe+qkps68fEYvyBXzSxef0D8tPY+gBCBP+nJHCI 25QS96lootalq8EXAE3sjvJ792WL5EyxCQoYsi6rial2SZWr0zFkWukracYbcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315412; a=rsa-sha256; cv=none; b=APDq3dscdxs8euRmP9QphJH/U0sFsWA6jGlUca8cRx0T3lXaP+ViAQfRz2Oj0JP54N5j+e tAArSP7KkizbOtdX/FldUaSeAJRhFtubfj9Yf7OSO17tytWasHfwgKUrRMO9keIQnvSH39 k6ugkzbZjoCEpSXDEwO3rZUhNEPHTOKRe1ix5FHZclpu5kfUTjfAaN+/iogkSvSxRZ6siY V6TnxY+hp8RhpGwSLZ3prLz1GVX7tqXv8KwBfLfFnKz51bzrmiLBTeUl2mHm9ZCkIiEMsQ TSWr+ZoAjndsiGaDm9JnXz/OLTqdNAmuaCGrhZhENvcAJl65k8cbkW+jpySFeA== 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 4clJCS0VRbzkcC; Mon, 13 Oct 2025 00:30:12 +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 59D0UBkj045241; Mon, 13 Oct 2025 00:30:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0UBxl045236; Mon, 13 Oct 2025 00:30:11 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:11 GMT Message-Id: <202510130030.59D0UBxl045236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f4d5c6d65168 - stable/14 - vm_fault: add helper vm_fault_can_cow_rename() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f4d5c6d65168d3d9b99a2332d854c14b231188e6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f4d5c6d65168d3d9b99a2332d854c14b231188e6 commit f4d5c6d65168d3d9b99a2332d854c14b231188e6 Author: Konstantin Belousov AuthorDate: 2025-07-24 10:47:52 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:45 +0000 vm_fault: add helper vm_fault_can_cow_rename() (cherry picked from commit 3f05bbdbd80f2eefb647e595dc73e80d6186d6a5) --- sys/vm/vm_fault.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 796b4c44b3f9..9ba96ab888d6 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -991,6 +991,16 @@ vm_fault_relookup(struct faultstate *fs) return (KERN_SUCCESS); } +static bool +vm_fault_can_cow_rename(struct faultstate *fs) +{ + return ( + /* Only one shadow object and no other refs. */ + fs->object->shadow_count == 1 && fs->object->ref_count == 1 && + /* No other ways to look the object up. */ + fs->object->handle == NULL && (fs->object->flags & OBJ_ANON) != 0); +} + static void vm_fault_cow(struct faultstate *fs) { @@ -1008,15 +1018,7 @@ vm_fault_cow(struct faultstate *fs) * object so that it will go out to swap when needed. */ is_first_object_locked = false; - if ( - /* - * Only one shadow object and no other refs. - */ - fs->object->shadow_count == 1 && fs->object->ref_count == 1 && - /* - * No other ways to look the object up - */ - fs->object->handle == NULL && (fs->object->flags & OBJ_ANON) != 0 && + if (vm_fault_can_cow_rename(fs) && /* * We don't chase down the shadow chain and we can acquire locks. */ From nobody Mon Oct 13 00:30:13 2025 X-Original-To: dev-commits-src-branches@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 4clJCT6PNnz6BWg0; Mon, 13 Oct 2025 00:30:13 +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 4clJCT1TtVz49Bf; Mon, 13 Oct 2025 00:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315413; 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=vISPoWGQOuOFpF5JnLp+NqhGqj8hrAUoihUqt+YGi+E=; b=MAc/HClJes9ydeDkIP6GjYoGLrhLtSZzPC4Y8NAmfSQhVS9mR0Auc0WqekBWacLVz8gZw+ 0fN+/uDrC/bfRgmJzk9/jsiooDKg55L1/4RdHZe+hMYV/taYpNrsiKFfTrhJ4dgRwGUKu2 UdCu/OjN84eQbHahI1ksJDktpVdj3M/aqGwRmQ7R2qnx3fbEGyLpVRu9IGnwoEZmUEhK/c hUT7fqgNv8s5rtj8pM80HmXsm3i6aoGb+RjjHKxUUJKb+jhK4mFbNUkSKTSIQuohB8uV5m jUMYvV7rEFR0+lPZ4hpnJAo1foNH7sW+U7LO55LcaxrHQc8jimozlrEItFBeaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315413; 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=vISPoWGQOuOFpF5JnLp+NqhGqj8hrAUoihUqt+YGi+E=; b=CuI2QzZKjhNxJx9JWJTIG5NgRusNEpuPpb9OistmKdfE0Y1slf0b2irB6zyi8vmv6V/ypo ImNgPAwTMSeBeKqdqPzkDVc0Gu+IwlEtbuTpzNC5ZhmmS261QMAWvewVl91uyrl9leWbpZ v7GnslvC617wA22WcsAk60nwhfWaDZ8U5mX6LVI25TP2dcG7pCkW23+9EJHEuzEG9cg829 mnYnXwAxdeULA0HECudH40u1AhlGyTSlUjUq2hUyKcotPoDsKzjMGRuYWF8MHWIixz5b52 RFSQ+Y2yrWqCw0BUhRHjFNhLWYGkTeTkbW8rolyBe66yrTo8Y5lw2evjRDhc3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315413; a=rsa-sha256; cv=none; b=f798y45SJvHy/hRfPRtVJ9f2quZzWJQ/dzOjyzkcGGX3Wh22D2LGV2dVuHWHTUFzTjAW7h LMynVSNJECyoLulMMxrhLhIrFrlbQTL7mcDUdTHKlbmvDx4KBwqA/s0LACjR7qt+eat+FJ TLbem92+N6Y/vOy9D7Op3PufvANZuPZY3/ee/iZahgdmS01tDgiTRXNyNWtdDnmHFzDZ1h p3/Dxjo6wuuDJ3LVliaq/ntm60s3XVY2aSmSLFSk2ya8V1T5Y/wb30LZZXiRE0RpTEbg4N avGvH3RWOwoJ21i50bTfcYgMnouPZfVmrT9udgqC1Ly8+7n8krZBpB3gPD0s3w== 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 4clJCT0yRhzjsS; Mon, 13 Oct 2025 00:30:13 +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 59D0UDkC045882; Mon, 13 Oct 2025 00:30:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0UDVd045875; Mon, 13 Oct 2025 00:30:13 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:13 GMT Message-Id: <202510130030.59D0UDVd045875@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 94ea60483bcc - stable/14 - vm_fault: try to only share-busy page for soft faults List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94ea60483bcc0681e351901d1e466547a275a6da Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=94ea60483bcc0681e351901d1e466547a275a6da commit 94ea60483bcc0681e351901d1e466547a275a6da Author: Konstantin Belousov AuthorDate: 2025-07-23 10:44:29 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:45 +0000 vm_fault: try to only share-busy page for soft faults (cherry picked from commit 149674bbac5842ac883414a6c1e75d829c70d42b) --- sys/vm/vm_fault.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 93 insertions(+), 15 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 9ba96ab888d6..f6e75629864e 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -203,7 +203,10 @@ vm_fault_page_release(vm_page_t *mp) * pageout while optimizing fault restarts. */ vm_page_deactivate(m); - vm_page_xunbusy(m); + if (vm_page_xbusied(m)) + vm_page_xunbusy(m); + else + vm_page_sunbusy(m); *mp = NULL; } } @@ -334,6 +337,13 @@ vm_fault_dirty(struct faultstate *fs, vm_page_t m) } +static bool +vm_fault_is_read(const struct faultstate *fs) +{ + return ((fs->prot & VM_PROT_WRITE) == 0 && + (fs->fault_type & (VM_PROT_COPY | VM_PROT_WRITE)) == 0); +} + /* * Unlocks fs.first_object and fs.map on success. */ @@ -1004,7 +1014,7 @@ vm_fault_can_cow_rename(struct faultstate *fs) static void vm_fault_cow(struct faultstate *fs) { - bool is_first_object_locked; + bool is_first_object_locked, rename_cow; KASSERT(vm_fault_might_be_cow(fs), ("source and target COW objects are identical")); @@ -1018,13 +1028,29 @@ vm_fault_cow(struct faultstate *fs) * object so that it will go out to swap when needed. */ is_first_object_locked = false; - if (vm_fault_can_cow_rename(fs) && - /* - * We don't chase down the shadow chain and we can acquire locks. - */ - (is_first_object_locked = VM_OBJECT_TRYWLOCK(fs->first_object)) && - fs->object == fs->first_object->backing_object && - VM_OBJECT_TRYWLOCK(fs->object)) { + rename_cow = false; + + if (vm_fault_can_cow_rename(fs) && vm_page_xbusied(fs->m)) { + /* + * Check that we don't chase down the shadow chain and + * we can acquire locks. Recheck the conditions for + * rename after the shadow chain is stable after the + * object locking. + */ + is_first_object_locked = VM_OBJECT_TRYWLOCK(fs->first_object); + if (is_first_object_locked && + fs->object == fs->first_object->backing_object) { + if (VM_OBJECT_TRYWLOCK(fs->object)) { + rename_cow = vm_fault_can_cow_rename(fs); + if (!rename_cow) + VM_OBJECT_WUNLOCK(fs->object); + } + } + } + + if (rename_cow) { + vm_page_assert_xbusied(fs->m); + /* * Remove but keep xbusy for replace. fs->m is moved into * fs->first_object and left busy while fs->first_m is @@ -1081,8 +1107,12 @@ vm_fault_cow(struct faultstate *fs) * address space. If OBJ_ONEMAPPING is set after the check, * removing mappings will at worse trigger some unnecessary page * faults. + * + * In the fs->m shared busy case, the xbusy state of + * fs->first_m prevents new mappings of fs->m from + * being created because a parallel fault on this + * shadow chain should wait for xbusy on fs->first_m. */ - vm_page_assert_xbusied(fs->m_cow); if ((fs->first_object->flags & OBJ_ONEMAPPING) == 0) pmap_remove_all(fs->m_cow); } @@ -1475,6 +1505,51 @@ vm_fault_object(struct faultstate *fs, int *behindp, int *aheadp) */ fs->m = vm_page_lookup(fs->object, fs->pindex); if (fs->m != NULL) { + /* + * If the found page is valid, will be either shadowed + * or mapped read-only, and will not be renamed for + * COW, then busy it in shared mode. This allows + * other faults needing this page to proceed in + * parallel. + * + * Unlocked check for validity, rechecked after busy + * is obtained. + */ + if (vm_page_all_valid(fs->m) && + /* + * No write permissions for the new fs->m mapping, + * or the first object has only one mapping, so + * other writeable COW mappings of fs->m cannot + * appear under us. + */ + (vm_fault_is_read(fs) || vm_fault_might_be_cow(fs)) && + /* + * fs->m cannot be renamed from object to + * first_object. These conditions will be + * re-checked with proper synchronization in + * vm_fault_cow(). + */ + (!vm_fault_can_cow_rename(fs) || + fs->object != fs->first_object->backing_object)) { + if (!vm_page_trysbusy(fs->m)) { + vm_fault_busy_sleep(fs, VM_ALLOC_SBUSY); + return (FAULT_RESTART); + } + + /* + * Now make sure that racily checked + * conditions are still valid. + */ + if (__predict_true(vm_page_all_valid(fs->m) && + (vm_fault_is_read(fs) || + vm_fault_might_be_cow(fs)))) { + VM_OBJECT_UNLOCK(fs->object); + return (FAULT_SOFT); + } + + vm_page_sunbusy(fs->m); + } + if (!vm_page_tryxbusy(fs->m)) { vm_fault_busy_sleep(fs, 0); return (FAULT_RESTART); @@ -1708,10 +1783,10 @@ RetryFault: found: /* - * A valid page has been found and exclusively busied. The - * object lock must no longer be held. + * A valid page has been found and busied. The object lock + * must no longer be held if the page was busied. */ - vm_page_assert_xbusied(fs.m); + vm_page_assert_busied(fs.m); VM_OBJECT_ASSERT_UNLOCKED(fs.object); /* @@ -1780,7 +1855,7 @@ found: * Page must be completely valid or it is not fit to * map into user space. vm_pager_get_pages() ensures this. */ - vm_page_assert_xbusied(fs.m); + vm_page_assert_busied(fs.m); KASSERT(vm_page_all_valid(fs.m), ("vm_fault: page %p partially invalid", fs.m)); @@ -1812,7 +1887,10 @@ found: (*fs.m_hold) = fs.m; vm_page_wire(fs.m); } - vm_page_xunbusy(fs.m); + if (vm_page_xbusied(fs.m)) + vm_page_xunbusy(fs.m); + else + vm_page_sunbusy(fs.m); fs.m = NULL; /* From nobody Mon Oct 13 00:30:14 2025 X-Original-To: dev-commits-src-branches@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 4clJCV5Cvlz6BWg1; Mon, 13 Oct 2025 00:30:14 +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 4clJCV1ykRz49H8; Mon, 13 Oct 2025 00:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315414; 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=xGzxVSN5LSnkuOtQxUJxPZIt5c7qpbw7CgYJcAD3mDE=; b=CpnyqXJMmGKtoNksZW6rukBRpidfRmm41C2HrsdGx4HQXntpR+QFj6FuWPmrWly4MQlS2B gbw3uIVbCeMhgHDk73p7VTKh9cvkCMYiNjuCpDK7WMp7t4s64jxtv5tgNY9dO5NS0MzOpm HOglSTjbUUiLDgRzutFTXE8LZeg8V7p/OGEj4jml9QorAtYsjpY6MDF5mZeoYd913oUVFJ DyUBKc8LSp0WB4ZNW7O/hZ1VZFoJjuNPBRUHkzjC735cFYTZwX2NhBmjY3b2LJRBt2GTLK pTmmmXBu5xaY8njFkwDNGiws0WxsL9wZoyuEYM5bvo4EPByONhmLfRMbWX9yJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315414; 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=xGzxVSN5LSnkuOtQxUJxPZIt5c7qpbw7CgYJcAD3mDE=; b=qyuj3jHAsYSYfDLE2aAZ/+PgRgMkvhREuLZfY7sHQ7tfGrD4jstA3N7a6Fnl4/c1V1S24u IYIlUL50YLGUitzigfXtimQHnXbLj8BCVbhSNZDfVNI3TxKctPN4nszJbyqYIQJRDJTjDB JArxCst+tsEvNfeGrkJ+R7oY+86YQQMmnm0blWCLhUlgCmGKRixdX3ddXLSZssPQIyJW9K 4EqDY4YrDr1iNNKUHS0jRxV9GTKqd0+bW15n1IzWmAAk3JR3dZLBUOGmS3CzROPqy0H+90 SQ8qwIkOKq8vOFkL7A4gfHOVyYBq28AF7ki72Bp6Xa5tDqgMynIEywH9ZtdpJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315414; a=rsa-sha256; cv=none; b=noGNk304hzZlzTxmXidIpJXYqZy/zH6aQsETqFS4o4dcTFF3cuMSmDZrBpPuJ8dI404/wQ 0miC5YqZf6EeB3dKPi00sZiTSIkzXJWGjhi+uQFEenpjQypxaDZoqKvL2enZDlw/7815wz n0rQKKj2YBkjXub7W9C1R+GszAYISolXyOEzEbz/AhP7O5EDWjJw6LtlRa3Um3bLpPYD57 Z9ZbZpQXwuhRfSfA7hfZADw9MJkmhh0M5VexbFOnGESPOvMrmAxDRCditZvJhWAlLNRMw0 pSwABQk5AvTq4euZuNZHHiA6GURA+P7kldGDNvsigIKGHbwFgkDD2ibP1KXb2g== 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 4clJCV1Sr8zkNt; Mon, 13 Oct 2025 00:30:14 +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 59D0UEbl046552; Mon, 13 Oct 2025 00:30:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0UEcH046545; Mon, 13 Oct 2025 00:30:14 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:14 GMT Message-Id: <202510130030.59D0UEcH046545@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d1cdb4a087e6 - stable/14 - vm_fault: assert that first_m is xbusy List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d1cdb4a087e69e1515a855a928ced8a18f9b75f9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d1cdb4a087e69e1515a855a928ced8a18f9b75f9 commit d1cdb4a087e69e1515a855a928ced8a18f9b75f9 Author: Konstantin Belousov AuthorDate: 2025-08-05 15:46:56 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:46 +0000 vm_fault: assert that first_m is xbusy (cherry picked from commit a38483fa2b3a26414d3409b12dd35ac406c44cea) --- sys/vm/vm_fault.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index f6e75629864e..aad112a652ed 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1785,6 +1785,11 @@ found: /* * A valid page has been found and busied. The object lock * must no longer be held if the page was busied. + * + * Regardless of the busy state of fs.m, fs.first_m is always + * exclusively busied after the first iteration of the loop + * calling vm_fault_object(). This is an ordering point for + * the parallel faults occuring in on the same page. */ vm_page_assert_busied(fs.m); VM_OBJECT_ASSERT_UNLOCKED(fs.object); @@ -1887,6 +1892,9 @@ found: (*fs.m_hold) = fs.m; vm_page_wire(fs.m); } + + KASSERT(fs.first_object == fs.object || vm_page_xbusied(fs.first_m), + ("first_m must be xbusy")); if (vm_page_xbusied(fs.m)) vm_page_xunbusy(fs.m); else From nobody Mon Oct 13 00:30:15 2025 X-Original-To: dev-commits-src-branches@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 4clJCW3tf8z6BX2s; Mon, 13 Oct 2025 00:30:15 +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 4clJCW2Pxcz49Kj; Mon, 13 Oct 2025 00:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315415; 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=6lPH01/exVEKha5/248S7SCCnQn4IhoLFcDPFGo9ukE=; b=mfpgX3bJMgl6jykmW8yxR6QFP07mvK87VnAHyPQzMSoIA9r7ak2H7ntdjPaUBsORgES5FB Gja2N1b178iUi5xzjcGZp0Vm7G2mRyHBK4eZkOLfSaoDueIxYg46f2StLEe0tP2Ne71jhf FGEa1UjxsQ47hUmYRrEp+PwVQZ4FVVwZKWVf0cn67OMo+RoRBo0rllvgLh3GthKimvBHZX W6UeOfhqfq7JgAcZaGV3qorIsulATMAoJ58xeP3/BCCVNpDMLRLBs+omNGvZ15Uo81/gUX PL5Z46CKR2LM1biBYduzSlseoAj6pT9HS/W1EpYTO8o6Q3rBYSynqxSabh6DPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315415; 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=6lPH01/exVEKha5/248S7SCCnQn4IhoLFcDPFGo9ukE=; b=ROXZ9IAMy0UF4z/6pdoSCYCLi6HdKxnr/w6uLlcNBJcmra+pKv9rmiM3DJT2Z46NCTMIHJ 8jcVRtc36Gry72W20xVpfEW06YiwRqjA+w8Itv7aqBnFVflJsgUFq5aUabWyrFxTbyDTSd mS6BO4RTt57cc9WESi4z+7N8I0oWB4TLs8Xm7g0Yu6xAYHD9rQ140Dz2rYrtQNHlCAPkOX cf5J3TG5duQPfJURNIEVLJvaLEFHyCQfdompTwyBkEJRoce0QL/9+LlYkwVA3PrT7wwyrW BTMrcT1SxqAIiRuSi+X+yrdqO0JxNiInQmOdngmX7l/CsFVceETP7fYn9OKPlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315415; a=rsa-sha256; cv=none; b=OG+E3swu0ljwxxQqK5SASKaCF1W8H19y5EbuEUfKOZPWkMjgJeyQNMKwt0e95fjFVkMdoB rE2KyErtoOEBaPjkMwdcptS2pVAzDgX5k3y/taBr9Ch/oOjHHS3V62ouluvZ/UWqqxtqoB m5cuWUITt8+yZzkRRBljD3sm0L7HmRgPabCcVOgvgtEdn2o6X04Q7Fb9IasFHLliRMDHka RYzhLzrH++mYw5RmeQjrQxPyzkM3ZTJ9gtWhMFUDvZgthb0fQhfhmhHnwUH2WjDYi0S1pe PT/NuDESEus+3rFmru2jDvdr14oUZqrgZ8Uv7/xGQRaZkBbqc6+f9+Ap8FSnTg== 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 4clJCW1zSjzjvr; Mon, 13 Oct 2025 00:30:15 +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 59D0UFoE047234; Mon, 13 Oct 2025 00:30:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0UFtZ047223; Mon, 13 Oct 2025 00:30:15 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:30:15 GMT Message-Id: <202510130030.59D0UFtZ047223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0c7c1c27ea9e - stable/14 - vm_fault_busy_sleep(): update comment after addition of allocflags arg List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0c7c1c27ea9eed8aefa236daa13eabb5bd050cfc Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0c7c1c27ea9eed8aefa236daa13eabb5bd050cfc commit 0c7c1c27ea9eed8aefa236daa13eabb5bd050cfc Author: Konstantin Belousov AuthorDate: 2025-09-15 00:52:47 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-13 00:23:46 +0000 vm_fault_busy_sleep(): update comment after addition of allocflags arg (cherry picked from commit f1b656f14464c2e3ec4ab2eeade3b00dce4bd459) --- sys/vm/vm_fault.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index aad112a652ed..9f7176eebabb 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1440,11 +1440,10 @@ vm_fault_getpages(struct faultstate *fs, int *behindp, int *aheadp) * and we could end up trying to pagein and pageout the same page * simultaneously. * - * We can theoretically allow the busy case on a read fault if the page - * is marked valid, but since such pages are typically already pmap'd, - * putting that special case in might be more effort then it is worth. - * We cannot under any circumstances mess around with a shared busied - * page except, perhaps, to pmap it. + * We allow the busy case on a read fault if the page is valid. We + * cannot under any circumstances mess around with a shared busied + * page except, perhaps, to pmap it. This is controlled by the + * VM_ALLOC_SBUSY bit in the allocflags argument. */ static void vm_fault_busy_sleep(struct faultstate *fs, int allocflags) From nobody Mon Oct 13 00:32:26 2025 X-Original-To: dev-commits-src-branches@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 4clJG24xNvz6BX4H; Mon, 13 Oct 2025 00:32:26 +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 4clJG23pnyz3DNN; Mon, 13 Oct 2025 00:32:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315546; 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=Ur9SWKqZnmWkzHN3h+mBvAvFzOk2d5ZNriGzwZCWkg0=; b=P2Yfh1AU9pKeIvKR6W7Zuk3vOV+Uz2OLIsNBVw9YI0JGVfG6hHhjt+jPjwsAQBVivyXS2y nABKt1ZetAhgLCTFVDKWpfFSHypiW8KHCOeC/u8ad3aI/r4mSQpBMg4CdjkJl0FZpxE4XS rS4XCnbTN1B+TtOC3mPOVFcXUWl34iwCTtwyCd0jQDfRoRh9SGcB0TeNMh/I96KxP3rOxR sqJRgmoCsH4yhBJKsf/gt4iee66Q4p+OCequ+UWvt6M1b1arqvp12u0hno27hiOHk8QX2P 67KrI8TDY2Zzh1WJgP0j1txTg0RtR1uuLEJw84taM5oA7d3C3Q8dsSxSygQhSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760315546; 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=Ur9SWKqZnmWkzHN3h+mBvAvFzOk2d5ZNriGzwZCWkg0=; b=ObiwOiAhC3WrNYEsSgz3djimTmHRfFPTXw7mFc3pgVYAjeyuvPkfVoShxEQJyZRXZGcera S7QtGyYfyfLb4UjlAvltsPfH3+/vRIZbcLLu/29cV9x//QTTN4+i9rn7C44ZOZ4wNPYeip RW0Zd6kmrlrkMRQ9VzrPLMZqtUINBfAgJkSH+WZId8hPwFzuXcyODrA7Ppwj8GOo0ydaK+ VnCx/yjoYQRF//+21IM4o8qinS7RZNVWNFnkFy8p2ymQ85QaNnhctClaJgukM+LBl1yM65 UoaPWKaL7RuXqQzAVyl71ocEn5e+t2ouYoT6DXvAhwcpY+8GWLkEOZDtyOvwXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760315546; a=rsa-sha256; cv=none; b=saHw5P2BRVxSZD/Udl+cjVJM+9u6PMy/oIf5e4JKUTUMjXJ32x37GIdgu0rLwRJQqwBW8O aJ5cRUXkL2h7S744Zkw1Vf6Fu+B2/FDEX8GnB3XdhSB/liF6mm408OsdSuBYpScesMDg39 9L2pbyjproSsgMJC8T9CITXGlOfxOMi/G/z3KYdn3+ow5QE+VoIRZ1j7Oxa6DjZ6ebvpTU IFaS3r2jI+3r6x+49cs7vyqVaLPVi4Ul1aoANXd4XxaJeuQRQ9OicE0semBqKwqOqilkCS h2PO5BkK92N2hCsERUrtnVkqW4Iakh1dzjbzz8zrMwGu0yFDsqJbCQC3BI1RYA== 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 4clJG23DXMzkmN; Mon, 13 Oct 2025 00:32:26 +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 59D0WQFE056293; Mon, 13 Oct 2025 00:32:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D0WQTg056290; Mon, 13 Oct 2025 00:32:26 GMT (envelope-from git) Date: Mon, 13 Oct 2025 00:32:26 GMT Message-Id: <202510130032.59D0WQTg056290@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: a7fc4e326c8d - stable/15 - rpc.tlsservd.c: Pin max threads at 1 for now List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a7fc4e326c8db7b5429b616e0446aac1a041d239 Auto-Submitted: auto-generated The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=a7fc4e326c8db7b5429b616e0446aac1a041d239 commit a7fc4e326c8db7b5429b616e0446aac1a041d239 Author: Rick Macklem AuthorDate: 2025-10-10 23:29:25 +0000 Commit: Rick Macklem CommitDate: 2025-10-13 00:29:26 +0000 rpc.tlsservd.c: Pin max threads at 1 for now PR#289734 reports a crash in tcp_use_close() when the rpc.tlsservd daemon is being used. Although I have no, as yet, had time to track down/fix the race, it turns out setting rpctls_maxthreads to 1 avoids the problem. This patch pins rpctls_maxthreads to 1 to avoid the problem, until there is a proper fix. PR: 289734 (cherry picked from commit 7a289fe3cd5c6de7ddbe394b7700b20b0bafdb3e) --- usr.sbin/rpc.tlsservd/rpc.tlsservd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c index f07385a2baa7..fb0501b2db4c 100644 --- a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c +++ b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c @@ -168,7 +168,12 @@ main(int argc, char **argv) rpctls_verbose = false; ncpu = (u_int)sysconf(_SC_NPROCESSORS_ONLN); +#ifdef notnow rpctls_maxthreads = ncpu > 1 ? ncpu / 2 : 1; +#else + /* XXX For now, until fixed properly!! */ + rpctls_maxthreads = 1; +#endif while ((ch = getopt_long(argc, argv, "2C:D:dhl:N:n:mp:r:uvWw", longopts, NULL)) != -1) { @@ -199,6 +204,8 @@ main(int argc, char **argv) if (rpctls_maxthreads < 1 || rpctls_maxthreads > ncpu) errx(1, "maximum threads must be between 1 and " "number of CPUs (%d)", ncpu); + /* XXX For now, until fixed properly!! */ + rpctls_maxthreads = 1; break; case 'n': hostname[0] = '@'; From nobody Mon Oct 13 01:26:06 2025 X-Original-To: dev-commits-src-branches@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 4clKRy6NmQz6Bbmv; Mon, 13 Oct 2025 01:26:06 +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 4clKRy5WfLz3JqD; Mon, 13 Oct 2025 01:26:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760318766; 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=YvR1R6ODUTNn+Ap4DjwQBMz8fJtpoALck6mnA+4A3j0=; b=pppBBnunr9CpZio9bEF79Ecr+m7ZIPoTedZ3MTRBBAKIopcddtIKgwYg+UVk9/B2cyoX0O DxONwxLD6eUJvf5+1RuFlaKM7f/HIOYaCxWQ1taFJ6pWwqM83903vy4g0XpiGhOwDeWlKS krMdFfcfNY9CrHlQCBmTQGoal5uF/wqpV4S6XBF/De5Xti9KERGvhDotxcT0oPBbTj8waC WYKOXVN2qiPnGZrRBy+UCnxHbbbztkmTCPvua5tfPNnQ3UAf4IZLkXctfXXRVCaxs+bOB1 F3WdbdtXFi5DnsB9Mo3NeHyzMur3KugKwpq4xdI6hU0Ycl9OyNU/fTrT2YfEpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760318766; 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=YvR1R6ODUTNn+Ap4DjwQBMz8fJtpoALck6mnA+4A3j0=; b=mR+NCqTg2xnZ+3vxO6EYAWoQD5efL/ywHX8rd9kZjr8EFNmt3xBF9zIl8hH/i4YxHBzWbu Yr1plgiY4SqqNlB6TG6WSNGCNXGs/OjVEkGpds3wg1Yupsa33wiorQeLEUBQP4mGstXCe4 05zFyg+X67/es/ORBNGZNFkE++hSTFHiato4n0M3DUFIXCWj5aSrJirV4ngsCbBKyNk6yZ NMg8izHWTGFeUFOGQ2wltYLjGlvhGnDaNpiM5wXJRDypyIIvGDhsVvOyZdgHb9ZkIHVX+X yNQ2IB74eaTZY6WeLkLHnOLIE5womc3BuE/piZnArr9pN74g7pSzfp4P+tY+MA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760318766; a=rsa-sha256; cv=none; b=y2Hg3bYT64Cn12CVYuyT5BAZfqmcFy6WKvBlxaHtH0ZwEb06Fmo6I2Gqdg6Lx8jHCT7pIt PP95nehtIbrNI/uk9b2FZW5h8jpqGKOk05ksXijS9rIXCcoisOEd1V2+D7lRHO/c5EyNDv PpZSPqSvcLW4EHYnlKMUksSmLYoCgUGL7lfzVnv8KKt7vqSC5+06x3h+K3mw3FsQpiuonP YY7dhMgEZDXf162tEqB8qfAuoq8W6OXpGRzaasqZ6BR1q2sxVtoSi9O7T2n58+ZXzNwxjA SbuezRRnOqklB8RdiREa4yO2Ro9TqiOorUrvA0+fIa4OzdmTaf0RxdP07u610Q== 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 4clKRy55jLzm17; Mon, 13 Oct 2025 01:26:06 +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 59D1Q6RZ052337; Mon, 13 Oct 2025 01:26:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D1Q6Q1052335; Mon, 13 Oct 2025 01:26:06 GMT (envelope-from git) Date: Mon, 13 Oct 2025 01:26:06 GMT Message-Id: <202510130126.59D1Q6Q1052335@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c904188d3515 - releng/15.0 - rpc.tlsservd.c: Pin max threads at 1 for now List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: c904188d35154b291c837603ed332eab694d3bb6 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c904188d35154b291c837603ed332eab694d3bb6 commit c904188d35154b291c837603ed332eab694d3bb6 Author: Rick Macklem AuthorDate: 2025-10-10 23:29:25 +0000 Commit: Colin Percival CommitDate: 2025-10-13 01:25:42 +0000 rpc.tlsservd.c: Pin max threads at 1 for now PR#289734 reports a crash in tcp_use_close() when the rpc.tlsservd daemon is being used. Although I have no, as yet, had time to track down/fix the race, it turns out setting rpctls_maxthreads to 1 avoids the problem. This patch pins rpctls_maxthreads to 1 to avoid the problem, until there is a proper fix. Approved by: re (cperciva) PR: 289734 (cherry picked from commit 7a289fe3cd5c6de7ddbe394b7700b20b0bafdb3e) (cherry picked from commit a7fc4e326c8db7b5429b616e0446aac1a041d239) --- usr.sbin/rpc.tlsservd/rpc.tlsservd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c index f07385a2baa7..fb0501b2db4c 100644 --- a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c +++ b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c @@ -168,7 +168,12 @@ main(int argc, char **argv) rpctls_verbose = false; ncpu = (u_int)sysconf(_SC_NPROCESSORS_ONLN); +#ifdef notnow rpctls_maxthreads = ncpu > 1 ? ncpu / 2 : 1; +#else + /* XXX For now, until fixed properly!! */ + rpctls_maxthreads = 1; +#endif while ((ch = getopt_long(argc, argv, "2C:D:dhl:N:n:mp:r:uvWw", longopts, NULL)) != -1) { @@ -199,6 +204,8 @@ main(int argc, char **argv) if (rpctls_maxthreads < 1 || rpctls_maxthreads > ncpu) errx(1, "maximum threads must be between 1 and " "number of CPUs (%d)", ncpu); + /* XXX For now, until fixed properly!! */ + rpctls_maxthreads = 1; break; case 'n': hostname[0] = '@'; From nobody Mon Oct 13 06:08:45 2025 X-Original-To: dev-commits-src-branches@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 4clRk533d8z6C03p; Mon, 13 Oct 2025 06:08:45 +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 4clRk52XmGz3lcg; Mon, 13 Oct 2025 06:08:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760335725; 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=DJ/XgdXMnz/1y9OMkqTM+qvyelkNmckEg3zRjY8dpdg=; b=IP+1z28B32zwA+lA7IZMAePRLmnfkdrnedIn6A0nIOz+z10ZF/ynvckn57/DV8HUgCYePW pEROFoxAqaJiW6DP5SMImLgiKCcB9GK5mkmJnPC7f3GwG+NxAeW1XgzMoD7OSUoRuznM59 dQ2mdZIAmqxsesYmapGTSQW1aV8E/FFi0d+SFQuRb6SiGc55zORd00nCu3106Bh9jPGpSH kyN63DnxMx+p/SkNfmYBdt/EXrCkXuuOO7fogJAaiwmAFBoultNQE57iCqQGuhUfAmjCmx o3gnPBabO8Vv7e523GNvTFS21YIzxxWVPugJLbabdgD/wqKsDcnDS7g3yULjOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760335725; 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=DJ/XgdXMnz/1y9OMkqTM+qvyelkNmckEg3zRjY8dpdg=; b=huJzX9PNhivsz9l7ovmFUJtJOdIP32AE+G3JhdIAsxqzcsli0dm83RC0MVX1EtZ2kdCWQx 6GD7IcN9RxcqBbjfzFY+gbB0XgbFSZFIPXgNWfjHPa8BIfUWXOdSp98rZKP0c5gD/ffVfj 5OmliGpUq8Yaza0DzYDjNy5E3jmfdS7StNISPDEQPY/Jw585Jy7GlDxooVwIwAjYZtLMjN uLgWh3W79T2OEiWZHDD2ihcinVzBoglZzcTaO3ZPTjaFTtKdK0ALOUrhFYYJ7tLWZBs95t IZBvzrR2vIjnAq3GHOIZj6T4AIKax54jYTBZizG/j0DNFTAwiBQ/5Pltne4I5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760335725; a=rsa-sha256; cv=none; b=GTVrCoftNp8NOpKQiNb9A3JPQV8q+TW48le4csA1suA7O6V3FT4CPEiGZZYlyvB7YRzPE1 bYarbLtd2+gP92oWSc7S71AL5/ezUCleoEVcRlbVhRdlc2OlVrP/v4pMJCDXgmk6uctJTV 18jPuvbYaV3G+++s55cTpKoCbK1XyobTzFO4aNvwxhn0eMx81Sf61h7xgtyiNaWTJ4Tba3 FdhVyXpBsnX7Wgqc/IyO4EpfL6zUFoh6R682T255cuXmZRzIFivzvtAFeR0JYMz0QBQZGk SVY6cVbEWKwRKdb43be5bbwThVTrVjXosNB+YVqQfFFet4htUrG1UrBCktWRQA== 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 4clRk51gwtzvPW; Mon, 13 Oct 2025 06:08:45 +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 59D68j6c080441; Mon, 13 Oct 2025 06:08:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D68j8C080438; Mon, 13 Oct 2025 06:08:45 GMT (envelope-from git) Date: Mon, 13 Oct 2025 06:08:45 GMT Message-Id: <202510130608.59D68j8C080438@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: f139a644d3ee - stable/15 - MFC: libbz2: add pkg-config file (bzip2.pc) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f139a644d3ee01667480ff6d698757d3e3689794 Auto-Submitted: auto-generated The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=f139a644d3ee01667480ff6d698757d3e3689794 commit f139a644d3ee01667480ff6d698757d3e3689794 Author: Xin LI AuthorDate: 2025-10-10 05:35:54 +0000 Commit: Xin LI CommitDate: 2025-10-13 06:08:29 +0000 MFC: libbz2: add pkg-config file (bzip2.pc) Add generation of a bzip2.pc file for use with pkg-config and create a basic template as bzip2.pc.in. This allows other software to easily locate and link against libbz2 using standard pkg-config mechanisms instead of manual compiler and linker flags. The version number is extracted automatically from bzlib.h to keep it consistent with the library sources. Tested: pkg-config --exists --print-errors "bzip2 >= 1.0.9" (fail, expected) pkg-config --exists --print-errors "bzip2 >= 1.0" (succeeded) pkg-config --libs bzip2 (-lbz2) pkg-config --cflags bzip2 () (cherry picked from commit 586319793368cbc664b48187bda60d27e171753a) --- lib/libbz2/Makefile | 13 +++++++++++++ lib/libbz2/bzip2.pc.in | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/libbz2/Makefile b/lib/libbz2/Makefile index d773f202dd67..2aedbaed4328 100644 --- a/lib/libbz2/Makefile +++ b/lib/libbz2/Makefile @@ -13,4 +13,17 @@ CFLAGS+= -I${BZ2DIR} WARNS?= 3 +BZIP2_VERSION!= sed -n '/bzip2\/libbzip2 version /{s/.*version //;s/ of.*//p;q;}' ${BZ2DIR}/bzlib.h + +bzip2.pc: bzip2.pc.in + sed -e 's,@prefix@,/usr,g ; \ + s,@exec_prefix@,$${prefix},g ; \ + s,@libdir@,${LIBDIR},g ; \ + s,@sharedlibdir@,${SHLIBDIR},g ; \ + s,@includedir@,${INCLUDEDIR},g ; \ + s,@VERSION@,${BZIP2_VERSION},g ;' \ + ${.ALLSRC} > ${.TARGET} + +PCFILES= bzip2.pc + .include diff --git a/lib/libbz2/bzip2.pc.in b/lib/libbz2/bzip2.pc.in new file mode 100644 index 000000000000..d91c9931a58a --- /dev/null +++ b/lib/libbz2/bzip2.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +sharedlibdir=@sharedlibdir@ +includedir=@includedir@ + +Name: bzip2 +Description: bzip2 compression library +Version: @VERSION@ +Libs: -L${libdir} -lbz2 +Cflags: -I${includedir} From nobody Mon Oct 13 06:09:11 2025 X-Original-To: dev-commits-src-branches@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 4clRkb4kdDz6Bymx; Mon, 13 Oct 2025 06:09:11 +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 4clRkb4Df5z3ln8; Mon, 13 Oct 2025 06:09:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760335751; 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=0QdBompqpZuHbOD8diIZemCNUFz9je2UF+Q/s6FnZbA=; b=AtZGHEVuc9Kaiotnc6yN6e/3ETtagKZ7XKJIsOZGPeIwPYwwKtIGEQ3uM0OznsYjPWutfH TboJ16aLWNysDSfD5SIFON9aF3wZ0ZX7D7byG/DjEtOVKjNGYHEBFPpg+BZBPr/MYtRvaO 57GGGNdWXbMxRrzvjMVfbrQrG3M1jQ93IO6X+67A2+xMTtbIRcHIscFtX4e4RRq3i+NJqT wlt6oMJCNSOam7VRFQvIoCz94WYJqTFStrSYyWG7QV9E3oGXwl/hhg0PdHWRDGgM+xH7HZ BaMs5lga2Au0HQKLQhITdmQyKvfPrFiFkegq3xaW+d9S8E0KygJLvHgAjRhG7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760335751; 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=0QdBompqpZuHbOD8diIZemCNUFz9je2UF+Q/s6FnZbA=; b=r1aJRQ/dQlC/4I8L+ZEo3RDsMFLEpSXyjYcNoX6NhoN5LFLGCMD5nMfrFJ7AvRbiJ+3eR1 3MkM+ire+5OYCk0sptflvRQnev2rzzUMIkLWDxFOSnTIbARqtKxSpzLexfoMmAOJ+S7RtL nQWrfUw/1rRJV4MajfR+6f0mbJS8uKwXiW6nPj0myaWKdVV0nOsjiVPBny2WzI6d+jHAy+ UkfGqASuctH+cJdDClZ9LI87QKFu4HpAO+O9SGKvocYt9S7gisDxFOuzhhwu3Je1DjXc8L T4bw71sxaEpQS8B7mFuDJ7G3RHNZGkJ25RUgRI+GW3KHl7cZ0hLBQp3vXny9Gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760335751; a=rsa-sha256; cv=none; b=MBJh0q8UyDMIOQqDVo4foy7QBw23QmTz+cr2WKHadjw1pfIRtOO+zd+Ts2gA4u469/qoI0 ybhEFdOsYP6ZtwoIrpfkZDhOBzisaNQ29Bf41yRyS2kewxzKiJ3UQhZYxzppXsqbmNQn9C zpWRPU46QVSItjU7hVPV1IxDvboCq8/3FVpDQHIpSCOZhsURWr5qY7rc1aZ+UpW6LJBK2p 4nrJxRxXNU0LUaKHC07owNwYxqLUEPTDVMOYBaq0tMgOhjxP30jPkZNwHeT0s7PwNGA65x zeKJISqFIENB9KYMg0sKwE0uRL0dilas4FVWCQ6+yiSvOiFEVUbkfGQQYERLzQ== 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 4clRkb3r15zvBy; Mon, 13 Oct 2025 06:09:11 +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 59D69B55080712; Mon, 13 Oct 2025 06:09:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D69Bif080709; Mon, 13 Oct 2025 06:09:11 GMT (envelope-from git) Date: Mon, 13 Oct 2025 06:09:11 GMT Message-Id: <202510130609.59D69Bif080709@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: e1ea6b7b70cf - stable/14 - MFC: libbz2: add pkg-config file (bzip2.pc) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e1ea6b7b70cf5204979f6c6112ad54c0036a9f7e Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=e1ea6b7b70cf5204979f6c6112ad54c0036a9f7e commit e1ea6b7b70cf5204979f6c6112ad54c0036a9f7e Author: Xin LI AuthorDate: 2025-10-10 05:35:54 +0000 Commit: Xin LI CommitDate: 2025-10-13 06:09:06 +0000 MFC: libbz2: add pkg-config file (bzip2.pc) Add generation of a bzip2.pc file for use with pkg-config and create a basic template as bzip2.pc.in. This allows other software to easily locate and link against libbz2 using standard pkg-config mechanisms instead of manual compiler and linker flags. The version number is extracted automatically from bzlib.h to keep it consistent with the library sources. Tested: pkg-config --exists --print-errors "bzip2 >= 1.0.9" (fail, expected) pkg-config --exists --print-errors "bzip2 >= 1.0" (succeeded) pkg-config --libs bzip2 (-lbz2) pkg-config --cflags bzip2 () (cherry picked from commit 586319793368cbc664b48187bda60d27e171753a) --- lib/libbz2/Makefile | 13 +++++++++++++ lib/libbz2/bzip2.pc.in | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/libbz2/Makefile b/lib/libbz2/Makefile index 832ec15487b8..3f52b3df6f92 100644 --- a/lib/libbz2/Makefile +++ b/lib/libbz2/Makefile @@ -12,4 +12,17 @@ CFLAGS+= -I${BZ2DIR} WARNS?= 3 +BZIP2_VERSION!= sed -n '/bzip2\/libbzip2 version /{s/.*version //;s/ of.*//p;q;}' ${BZ2DIR}/bzlib.h + +bzip2.pc: bzip2.pc.in + sed -e 's,@prefix@,/usr,g ; \ + s,@exec_prefix@,$${prefix},g ; \ + s,@libdir@,${LIBDIR},g ; \ + s,@sharedlibdir@,${SHLIBDIR},g ; \ + s,@includedir@,${INCLUDEDIR},g ; \ + s,@VERSION@,${BZIP2_VERSION},g ;' \ + ${.ALLSRC} > ${.TARGET} + +PCFILES= bzip2.pc + .include diff --git a/lib/libbz2/bzip2.pc.in b/lib/libbz2/bzip2.pc.in new file mode 100644 index 000000000000..d91c9931a58a --- /dev/null +++ b/lib/libbz2/bzip2.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +sharedlibdir=@sharedlibdir@ +includedir=@includedir@ + +Name: bzip2 +Description: bzip2 compression library +Version: @VERSION@ +Libs: -L${libdir} -lbz2 +Cflags: -I${includedir} From nobody Mon Oct 13 06:50:34 2025 X-Original-To: dev-commits-src-branches@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 4clSfL2kdQz6C3gC; Mon, 13 Oct 2025 06:50:34 +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 4clSfL26Vxz3LrB; Mon, 13 Oct 2025 06:50:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760338234; 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=5mKXkcVlIYAbdspUtjrv3wie6MGI9y2zstz3WIPHpLA=; b=klCUBwVORhQ0PwzAW8p0k+fz2G0/eKBduDRchaX0Eim102k8UDPCqr3EmkhEltka+jWxyO cLau77ApIQn8iJOZABT2fcHeJozmTqcpV0nGxccaJxSGr5wVQVMwHGfeVisVLLWD91iXkG 1LfI5EmG4aII0nMXUrcOD+nSiV1UQOBnCsCGu8nHgjjOWeLzbMxWFBL/sFxrJhQUFIN5Ag P4OOAWAbTfFtChBp2Izy8Ot2w2ddTKXRt/B2q2SVrvpe9ydDnQtY2EdLNks23bPPdob1XI mQNbsGaZYjPaUMb/5DjvIXvr75z1BCz1vFSjVVu9YGFuBPwYN2CdN6JySxFzEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760338234; 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=5mKXkcVlIYAbdspUtjrv3wie6MGI9y2zstz3WIPHpLA=; b=CjQg65vdHHHV/ibfQ5P1nEtxCwiJXDhqCiXgEDI6RoDJww8sPCpSj8yrWFrVMr1g4k39DK X2l/ts/xd0uTQt1k9/x77PcorLYEVi8U1FG41Nev7OjUbif/oVe8SojZmBDwLy/5m91i8a 9k+ZbXE7M+ZuB2RhtEgmMW8lsFbE1vP/ORdfz24OwCPhCaZJt/rOxskYwG4/fu65Ethi6C JgH7R5UX2Fkz2/6MHkRueK9U/O+6sylUQFKC9Gf8KBBiya7FAuCZ59oXPecj0dCCKgZADL w3borBydonAALwBWp+SYRKCaM68SQNCIyZ9sSwGQtIZTvqoaBrgyxbmTwUyXWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760338234; a=rsa-sha256; cv=none; b=ajVaVnN7U7Mx/ouRI+OJYHKKrsJH5pbkjJFbUh2B/XCB/uJSsiMfQdzuYdHrkwE17aMNGw HyPLMoV2LHS0o1PCJ8s2znJSGWQIikS4Q1mEeuedQc/+4sOI/dENOdzsc79sUrsg6kilC8 /XVnM+mN6ovlH4u8EbowLTH1vvDkvBfRqmZ20Ia7iETugffhENyGCXV+Hts8YaN1vIXcfv xi/ookAnILX+xjpl4pjpCjGDZGlFSAlwGZ24lGusdKW8tbkvi2vSdI/Kdns7pTEmtx7UIk A0L3MYqHaMtf5s9154+dE7rNkLaUB7DGFaGcVLmzOp+mUGPlJ+v11Q+IDp3ruA== 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 4clSfL1cp6zwGR; Mon, 13 Oct 2025 06:50:34 +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 59D6oYsK078901; Mon, 13 Oct 2025 06:50:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D6oYug078898; Mon, 13 Oct 2025 06:50:34 GMT (envelope-from git) Date: Mon, 13 Oct 2025 06:50:34 GMT Message-Id: <202510130650.59D6oYug078898@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: dced18c7703d - stable/15 - libbluetooth: Move to the bluetooth-lib package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: dced18c7703d256a9975bb7143d107f0f07dfd17 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=dced18c7703d256a9975bb7143d107f0f07dfd17 commit dced18c7703d256a9975bb7143d107f0f07dfd17 Author: Lexi Winter AuthorDate: 2025-10-12 15:28:20 +0000 Commit: Lexi Winter CommitDate: 2025-10-13 06:32:57 +0000 libbluetooth: Move to the bluetooth-lib package Move the library, but not any of the runtime. This allows executables to link against libbluetooth without having to pull in the entire BT stack. MFC after: 3 days Reviewed by: dch, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53016 (cherry picked from commit 426891e0f8f1cfae0263ba81ea55f46c547d7762) --- lib/libbluetooth/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libbluetooth/Makefile b/lib/libbluetooth/Makefile index a6ac291a0bf8..b935bdf3fc78 100644 --- a/lib/libbluetooth/Makefile +++ b/lib/libbluetooth/Makefile @@ -1,6 +1,8 @@ # $Id: Makefile,v 1.5 2003/07/22 18:38:04 max Exp $ PACKAGE= bluetooth +LIB_PACKAGE= + CONFS= hosts protocols CONFSDIR= /etc/bluetooth CONFSMODE_protocols= 444 From nobody Mon Oct 13 06:50:35 2025 X-Original-To: dev-commits-src-branches@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 4clSfM4gc9z6C468; Mon, 13 Oct 2025 06:50: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 4clSfM382fz3Lfq; Mon, 13 Oct 2025 06:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760338235; 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=hP/VWUi76Gda6WgaWgTg+RMWFMgOSif84vI3wYR/zO4=; b=QUmiTq7ac8ih8I56rLTvgHCSX7ZHLFJ5hETQiZwOczGKaAJ6QM9m82WmWseFcdpUTqmCTj emAEKhvTixpIW32Vo8J9TqAnX2LJh325DvnJtq+YfxCAyW9j4ITffyLsX3Au5Yu9fdVgAq B9vtgWuvx/QqWh/FICsfZM6r181TKjuDlfrdwczFiHzIHX1Xa2CPlzbe4HuimWfUh3DG7t Vv378QJP5N/WmDuZ9SYzUseTkmTjwwl35PoIW/T0kn2DIuJRp+gDaha0EwB+Bn5gangNUT 4tV2U9P8q5jMzEn4e0Kj5D8gZ4Tff+EPHxusZq/4NvGxtePq2NZQSL7athbQEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760338235; 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=hP/VWUi76Gda6WgaWgTg+RMWFMgOSif84vI3wYR/zO4=; b=iJRoHXFibvFeyUPVJT4Qifm8obSnVJdq5Hcu9AklfEx3M1CCMzA+BOA7TJVyKuDWNgmSD+ fvdVrP1LNW86lLaQD45U+cxDLRu+drUzCgQlErbvPw39qmNTputd8GZk12y27Q+fneUe+I YwS4ODwmB9d79yY9QPLPlcBpzDxDi3qoTluV3XKi5uMqpbf0iio9AKMLSl4o1vgAQVGZE0 m10LNYYi4YJNT/z9zIF2yuVVeyPoATNwWIIQK1LOsHqGqDmfxFgk7H3g+LzOkx3Xc/MGAi aDPvSQX3Z+RPtxm94ha2eS27MaRRHdRmcg0bbfh84loE9KMrgg6l4Fh+cL/qKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760338235; a=rsa-sha256; cv=none; b=n4SfHTY0iWgL3rei28VHhHTVy7muVMSQlEq9+H6RLWoPXnbiWd8HQF73RAck7rS2Mmjavy +B+jIoanK3lcbMH9aSZGQbpjoNJf28jSzpoCNd3wVQ5sF7yJUBLizT4sS238o0J5G+jOXb ERWDMhH4QfQuZ0bzrmLRYvtUSWTulPa62ua8cyVhX/3Z6m5CszYqrza1Lxno4xBf4ZoF3z 8qO+9juPI/E5PuAvWhyfbVCUudcuiuCaf9mWm5dMh33u7MLaRJMYtaKovDxG/NFvyNt0vN sbosWesi58c/Qn9xv8UatGT+KdWCpwBM201awXF81YL2y4Fg/ckDqYAHZwv8Qw== 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 4clSfM2Tv0zwC1; Mon, 13 Oct 2025 06:50: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 59D6oZ3J078935; Mon, 13 Oct 2025 06:50:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D6oZhi078932; Mon, 13 Oct 2025 06:50:35 GMT (envelope-from git) Date: Mon, 13 Oct 2025 06:50:35 GMT Message-Id: <202510130650.59D6oZhi078932@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 861225fbe31b - stable/15 - virtual_oss: Move plugins to the sound package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 861225fbe31b86922d7f9fcfa1d280bde50f862e Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=861225fbe31b86922d7f9fcfa1d280bde50f862e commit 861225fbe31b86922d7f9fcfa1d280bde50f862e Author: Lexi Winter AuthorDate: 2025-10-12 15:29:17 +0000 Commit: Lexi Winter CommitDate: 2025-10-13 06:33:56 +0000 virtual_oss: Move plugins to the sound package This is the correct place for them, and also issues an incorrect dependency from utilities to sound. Fixes: 1b806e607f52 ("packages: Add a sound package") MFC after: 3 days Reviewed by: christos, dch Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53015 (cherry picked from commit 419dcdc2c981306b0ded44580977d2e053719b14) --- lib/virtual_oss/Makefile.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/virtual_oss/Makefile.inc b/lib/virtual_oss/Makefile.inc index 45c8e0b1fdfc..877465a5c548 100644 --- a/lib/virtual_oss/Makefile.inc +++ b/lib/virtual_oss/Makefile.inc @@ -1,3 +1,5 @@ +PACKAGE= sound + .include "../Makefile.inc" LDFLAGS+= -L${.OBJDIR:H:H}/libsamplerate From nobody Mon Oct 13 06:50:36 2025 X-Original-To: dev-commits-src-branches@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 4clSfN6xFnz6C46F; Mon, 13 Oct 2025 06:50:36 +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 4clSfN3yNrz3Lj4; Mon, 13 Oct 2025 06:50:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760338236; 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=2iys0lpsdYBkeJ8VZpS9GARZJu6JRx8DDI6COikuOzc=; b=v3ncUryhIOmhvzB+GHiZQVCzo2dOXKsLXRwnLEuGvSHxGFOt0eD4yhvWoqp/Vl+0+ZJGvh sgp7OihU9Sx02vWD2GklI6QJPG+AOhaiSmM+ysWKmnjOktsUIW/NBjCdXmv9HxhZBS9mUX 40CKQ2RLgYCeNoTnc55pTbK4rp7CAcBM/UF++CmWStM+1W2/AAPtCmn4nm7jig9fAm8vLP k2J3/X8S37B1dOapHiqwRGwEkuVzrvYzEkN8P7YAF/ffNi0+Fyg3BUkyUD7CLsQAZcawYy MvwnAp2wvLvOjIw5AANUplH1hUAwFOycrf48NPS/LLQAu2nMlCZf5QxZ949ynw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760338236; 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=2iys0lpsdYBkeJ8VZpS9GARZJu6JRx8DDI6COikuOzc=; b=AzeOgSTGJv79eqdSsMlA1eMDynvvp+ZQpHpIE71pF5cRwbyhBxrgKS5ShqpMKJ9/ZavwhV tnyz+XdrlSI0erwT3Y5kYGwP//fyvW/cvra5YmcWjQjovB10yIk9PZG1mHiv90pH0y9SS4 rHpC8PVJf1mmGLIsjL1lcWHVMrnumjabMn36nMvRdRlhpuibtAI2mxV77t3rdCJ1Zr9lum 66EoC73UmGknf8jn6oLiNwSj6gvnK/bL0yC0g+BuY/pTfdK0Z0X/kA4wHOk2tZreJCHD35 7lcXITiok9OOx5EYzIgWR+hZUxYIwmRxekKC0mqLXHnHdx8k60u+OPVAjZEgAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760338236; a=rsa-sha256; cv=none; b=akS0ZM4Eh/LTYsZM3iMGu2nwRzo3uDSexk+rMHxhRlKrQTVdhEQSvCfinZesf9T8rqw0FQ aE/LITnpm1mCDig4qMf6ODJT4fGzTQYf7KlrBhW0tG3n4be+t6v1w0A9f+8yTUhAXJZyB2 wEhTrge0d1qRgLaQCwwSjduHp3oRSNkMJZcnPgpxST+YpZDhr8pNp8alyj1O1FCfijAIwt K9Pz1eBKnHkobSpEG5NyUVRJ1tCcnUE8Bvh8o2h0kWp/oorj0vqFYiXRslrk/icMgvlZ0F pnikxX4H9EkT7IOsnM06da10Oza42655pv3VI7SM3MLS4IbNPxPTgOrhAQurMw== 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 4clSfN3Qx9zvy2; Mon, 13 Oct 2025 06:50:36 +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 59D6oalh078972; Mon, 13 Oct 2025 06:50:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D6oam9078969; Mon, 13 Oct 2025 06:50:36 GMT (envelope-from git) Date: Mon, 13 Oct 2025 06:50:36 GMT Message-Id: <202510130650.59D6oam9078969@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 663a53d8e795 - stable/15 - release/packages/ucl: Fix typos List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 663a53d8e795ff8502908da0be4c4df3cee41c33 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=663a53d8e795ff8502908da0be4c4df3cee41c33 commit 663a53d8e795ff8502908da0be4c4df3cee41c33 Author: Lexi Winter AuthorDate: 2025-10-12 15:53:43 +0000 Commit: Lexi Winter CommitDate: 2025-10-13 06:34:08 +0000 release/packages/ucl: Fix typos MFC after: 3 days Sponsored by: https://www.patreon.com/bsdivy (cherry picked from commit 039eba16f969a3ebc6c169fa61880a33d2a95090) --- release/packages/ucl/acpi-all.ucl | 2 +- release/packages/ucl/audit-all.ucl | 2 +- release/packages/ucl/libbegemot-all.ucl | 4 ++-- release/packages/ucl/libbsdstat-all.ucl | 2 +- release/packages/ucl/mandoc-all.ucl | 2 +- release/packages/ucl/yp-all.ucl | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/release/packages/ucl/acpi-all.ucl b/release/packages/ucl/acpi-all.ucl index 9e75822a8a04..9b63b825bd60 100644 --- a/release/packages/ucl/acpi-all.ucl +++ b/release/packages/ucl/acpi-all.ucl @@ -23,7 +23,7 @@ ACPI is a hardware standard allowing the operating system to monitor various hardware devices and system state. For example, ACPI can report whether the system is on AC or battery power. -This packages provides several utilities that can be used to interact with the +This package provides several utilities that can be used to interact with the ACPI implementation in the kernel: * The /etc/rc.d/power_profile service can be used to change system performance diff --git a/release/packages/ucl/audit-all.ucl b/release/packages/ucl/audit-all.ucl index 3324795d8d9c..0ff79f7c6b73 100644 --- a/release/packages/ucl/audit-all.ucl +++ b/release/packages/ucl/audit-all.ucl @@ -39,7 +39,7 @@ The audit facility implements the de facto industry standard BSM API, file formats, and command line interface, first found in the Solaris operating system. -This packages provides the auditing daemon auditd(8) and various utilities +This package provides the auditing daemon auditd(8) and various utilities used to manage the auditing system and work with audit data. EOD diff --git a/release/packages/ucl/libbegemot-all.ucl b/release/packages/ucl/libbegemot-all.ucl index 812e94f72eaf..5bead26f69f8 100644 --- a/release/packages/ucl/libbegemot-all.ucl +++ b/release/packages/ucl/libbegemot-all.ucl @@ -41,8 +41,8 @@ calls are however clumsy to use and the usage of one of these calls is probably not portable to other systems - not all systems support both calls. The rpoll(3) family of functions is designed to overcome these restrictions. -They support the well known and understood technique of event driven programing -and, in addition to select(2) and poll(2) also support timers. +They support the well known and understood technique of event driven +programming and, in addition to select(2) and poll(2) also support timers. EOD annotations { diff --git a/release/packages/ucl/libbsdstat-all.ucl b/release/packages/ucl/libbsdstat-all.ucl index 144d4200fed9..56efee79a334 100644 --- a/release/packages/ucl/libbsdstat-all.ucl +++ b/release/packages/ucl/libbsdstat-all.ucl @@ -19,7 +19,7 @@ comment = "Periodic statistics library" desc = < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 53fcc7f9b0de - stable/15 - bridge.4: Fix the synopsis for -ifuntagged List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 53fcc7f9b0de48449ff3c80140448dd620f44214 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=53fcc7f9b0de48449ff3c80140448dd620f44214 commit 53fcc7f9b0de48449ff3c80140448dd620f44214 Author: Lexi Winter AuthorDate: 2025-10-13 05:57:57 +0000 Commit: Lexi Winter CommitDate: 2025-10-13 06:34:24 +0000 bridge.4: Fix the synopsis for -ifuntagged This command doesn't accept a vlan-id. PR: 290141 MFC after: 3 days Reported by: Paul Procacci Reviewed by: ziaee (manpages) Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53049 (cherry picked from commit dc978c5cb55b75d292c7ef32564f5c376685234b) --- sbin/ifconfig/ifconfig.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index c4184ba61ee4..bf9a032d8c58 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 12, 2025 +.Dd October 12, 2025 .Dt IFCONFIG 8 .Os .Sh NAME @@ -2769,7 +2769,7 @@ Set the untagged VLAN identifier for an interface. Frames received on this interface without an 802.1Q tag will be assigned to this VLAN instead of the default VLAN 0, and outgoing frames on this VLAN will have their 802.1Q tag removed. -.It Cm -ifuntagged Ar interface Ar vlan-id +.It Cm -ifuntagged Ar interface Clear the untagged VLAN identifier for an interface. .It Cm defuntagged Ar vlan-id Enable the From nobody Mon Oct 13 07:07:16 2025 X-Original-To: dev-commits-src-branches@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 4clT1c3Ydyz6C5HN; Mon, 13 Oct 2025 07:07:16 +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 4clT1c2n0Mz3Qc6; Mon, 13 Oct 2025 07:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760339236; 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=vdwawFqwdo91pp4oxY/bH6RDcxRFNQ6soEEcz0s6TLY=; b=Lgl9/T8PpG2YmuJBYglJ/Qmb5TmCZ5XXxxuwsVb+RRplZKxJrPG6eFBFi2STEl40YPhU5v ACRiRpDIiX1du1uOyKJRXFWcMzrVe80jMjoKsmWZOFpb1zGDQCSpDBaHjXwjbfBWY388vC CCwasB1nv95GBNbBWZsJZxlkf8JM28Lnn2gCZocC3O2uRUTPGKsivEEy5J2NgnfDt27VW6 fXtq07t6o5kAPG9eKZKrzETSm91cAGjh8WPTYAVc8IK0pS/V6xWXfDIVaSG0iMVZztPB76 aAP3TVy91idkQ9NRNEh1esv6tXHhcNTBXI4UEJGj+Fl6tBfQkTLm7lS6fu/cZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760339236; 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=vdwawFqwdo91pp4oxY/bH6RDcxRFNQ6soEEcz0s6TLY=; b=lkp8+W3VzQgjQpQqU3WoBVGha/fOChEpEOvIGM53q8/zY3gNkJeW/SIIV1GwavcE8ycF/B nwjoGkpO3/0wLMukkQKNJk9/cRkCIj8FBShdg/SYOGtlGrn6w+pF4y2M+/pI4MikE0gvE1 a/JONFn/y3k7SjWqltjTWs2TQAAFZvpuZggdst+v8uxDdaFjYI+Pp+O8wERtkBckDwVJh3 9hffxFWToiAIUBY/EHeW5d2RcoKUZ2PsHw2Kmp/nVT9fXjciRrOJ330Esxjq7u3z0Pkwf1 CeuLXbcSOkzYBg5Af/RshmA7nuhtVcc3p2QkzbZRD7TRdnd/3rASZDUF6Jk0fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760339236; a=rsa-sha256; cv=none; b=T8zPAtQXfNByh1behNYQSe9x3FULsRIqAr3PTpr5CNWEddZ2V4RCJAS4tz8ELqVZw5uJai bdy0GzTekFJ75T8Qp+7KMD93TR88m8gfBULFiOya/G0qV8anogCjrPs24rluf8iSNhM9Wl MTZGZ/KTVQdy0rHZXJJtWnVeDgTZ8e/Att/HgrBBCbzmMUZwjDoVyg3BaidTvs1zGaGe8h 8/Uj7CmppF6tg431YArqRnyjPGIwBECm9YZ+2NExY2SnlXCxJFgqCbwDEOxbdAP0tBCZa7 M88b2rUYPtEktyTtoFD7oAQdEH3RxVqXVmdl0uMRyVsmhJZV8YTT/tXftrzy1w== 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 4clT1c2M3mzx3K; Mon, 13 Oct 2025 07:07:16 +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 59D77Ggq008057; Mon, 13 Oct 2025 07:07:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D77GIF008054; Mon, 13 Oct 2025 07:07:16 GMT (envelope-from git) Date: Mon, 13 Oct 2025 07:07:16 GMT Message-Id: <202510130707.59D77GIF008054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 0fa9385d10c5 - releng/15.0 - bridge.4: Fix the synopsis for -ifuntagged List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 0fa9385d10c530cccb36aef602840a7c0a094513 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=0fa9385d10c530cccb36aef602840a7c0a094513 commit 0fa9385d10c530cccb36aef602840a7c0a094513 Author: Lexi Winter AuthorDate: 2025-10-13 05:57:57 +0000 Commit: Colin Percival CommitDate: 2025-10-13 07:06:21 +0000 bridge.4: Fix the synopsis for -ifuntagged This command doesn't accept a vlan-id. Approved by: re (cperciva) PR: 290141 MFC after: 3 days Reported by: Paul Procacci Reviewed by: ziaee (manpages) Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53049 (cherry picked from commit dc978c5cb55b75d292c7ef32564f5c376685234b) (cherry picked from commit 53fcc7f9b0de48449ff3c80140448dd620f44214) --- sbin/ifconfig/ifconfig.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index c4184ba61ee4..bf9a032d8c58 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 12, 2025 +.Dd October 12, 2025 .Dt IFCONFIG 8 .Os .Sh NAME @@ -2769,7 +2769,7 @@ Set the untagged VLAN identifier for an interface. Frames received on this interface without an 802.1Q tag will be assigned to this VLAN instead of the default VLAN 0, and outgoing frames on this VLAN will have their 802.1Q tag removed. -.It Cm -ifuntagged Ar interface Ar vlan-id +.It Cm -ifuntagged Ar interface Clear the untagged VLAN identifier for an interface. .It Cm defuntagged Ar vlan-id Enable the From nobody Mon Oct 13 07:07:17 2025 X-Original-To: dev-commits-src-branches@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 4clT1d61wJz6C59J; Mon, 13 Oct 2025 07:07:17 +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 4clT1d3jZYz3Qw9; Mon, 13 Oct 2025 07:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760339237; 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=hg/4+zixhSv5QpateL/Teyq2nEalKPDoyQj6fa0jK5I=; b=vlvKDruOWw18QxiYnILW5qTU7LZWwgmUnEGyY731L9Vj7ujA5qVi0zCwWtT5smEXZHDW80 0SeWPKhYDcM10Qo+dw7F9mkuwHDEy1XMRUPBXxUg9I/amY6eOXJbY8hDxiFEjRDNICU3WG 6zUVpA0wW4fBefZEJKMez751kVU0UXqX1bRrDAYPclJrUNejMITOnd//tuLGKvZ5vPPb8m vMiu1HhRvZqq5f1tsfpUodRYaXyn2BrmSnBThxAmwUNENE3So6JDxnmlKiIybyKjnCqEJO 12Rkd2yiW8G+8i7wO354lGUSMXYmg5iAiblpkUu4Hlytop5FAa/hSl0A/JZ1Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760339237; 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=hg/4+zixhSv5QpateL/Teyq2nEalKPDoyQj6fa0jK5I=; b=qK9iOhhU8vhB46Q49inzKoHfhsYgj0fhydOIGHGah/ggmrNFOewpG9YQDLO8+pD3numLh1 9FX+EzP8Tf+FYnpX0kT77HdlMD28XwOMRcBTBhzJ3wyYS6aoqJTKx4R5wwDV4cEU2znYMD VGOhLGxU0p+ocxw3NmHV8U3SXY86nWLJZYpdKlZk/ZVB9gAGS+/jamIU3mQaVJgK//zFCy xbatSDDMI/5ptDHXi+gsrIklt+ZoLHTIgMn2jzjRGS++zFM/x87URC64srTwhYJm2Upi95 oQMCDC0htKloj6LBMOHdO04NzyU3XszJSuIdvQOjCajac4p08PoZgTpaRX8J4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760339237; a=rsa-sha256; cv=none; b=Y6O3B7uLfv0zH9IrneB/BOtLhE7m1yCcaCHV95CSAl6CDF8I2lpfNH8kTK3CEc4FR27THF ag0mQRuxFlYdOYVs5gAPf9C/jrjUEnjr8QpZXdgMP9pwIQQ6otYayll9NNEF7R6wmFPsA6 rwAL3+dcmAM7hTS7QF1COFgU+39uTgzbFZ+0RpY8mXxSUeEhynCABKstfpAYLpUoJr53lx FO0WSYFIoRJPj0nkZKrJwMDD1KuXP+onXOcqdV8rT76fVK5BYm7q2nFRhnG3Hm2XRXRfa9 AkpGQTnOCUgNX0Z7UMBYYxTJQmqV3wT2rmfxk2FYXuumzq+ZYAygWusU7YAddw== 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 4clT1d3GZfzwm4; Mon, 13 Oct 2025 07:07:17 +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 59D77He2008089; Mon, 13 Oct 2025 07:07:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D77H4q008086; Mon, 13 Oct 2025 07:07:17 GMT (envelope-from git) Date: Mon, 13 Oct 2025 07:07:17 GMT Message-Id: <202510130707.59D77H4q008086@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: fde09c830088 - releng/15.0 - release/packages/ucl: Fix typos List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: fde09c830088ba4fabdb5f05f608e04e60d83f11 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=fde09c830088ba4fabdb5f05f608e04e60d83f11 commit fde09c830088ba4fabdb5f05f608e04e60d83f11 Author: Lexi Winter AuthorDate: 2025-10-12 15:53:43 +0000 Commit: Colin Percival CommitDate: 2025-10-13 07:06:29 +0000 release/packages/ucl: Fix typos Approved by: re (cperciva) MFC after: 3 days Sponsored by: https://www.patreon.com/bsdivy (cherry picked from commit 039eba16f969a3ebc6c169fa61880a33d2a95090) (cherry picked from commit 663a53d8e795ff8502908da0be4c4df3cee41c33) --- release/packages/ucl/acpi-all.ucl | 2 +- release/packages/ucl/audit-all.ucl | 2 +- release/packages/ucl/libbegemot-all.ucl | 4 ++-- release/packages/ucl/libbsdstat-all.ucl | 2 +- release/packages/ucl/mandoc-all.ucl | 2 +- release/packages/ucl/yp-all.ucl | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/release/packages/ucl/acpi-all.ucl b/release/packages/ucl/acpi-all.ucl index 9e75822a8a04..9b63b825bd60 100644 --- a/release/packages/ucl/acpi-all.ucl +++ b/release/packages/ucl/acpi-all.ucl @@ -23,7 +23,7 @@ ACPI is a hardware standard allowing the operating system to monitor various hardware devices and system state. For example, ACPI can report whether the system is on AC or battery power. -This packages provides several utilities that can be used to interact with the +This package provides several utilities that can be used to interact with the ACPI implementation in the kernel: * The /etc/rc.d/power_profile service can be used to change system performance diff --git a/release/packages/ucl/audit-all.ucl b/release/packages/ucl/audit-all.ucl index 3324795d8d9c..0ff79f7c6b73 100644 --- a/release/packages/ucl/audit-all.ucl +++ b/release/packages/ucl/audit-all.ucl @@ -39,7 +39,7 @@ The audit facility implements the de facto industry standard BSM API, file formats, and command line interface, first found in the Solaris operating system. -This packages provides the auditing daemon auditd(8) and various utilities +This package provides the auditing daemon auditd(8) and various utilities used to manage the auditing system and work with audit data. EOD diff --git a/release/packages/ucl/libbegemot-all.ucl b/release/packages/ucl/libbegemot-all.ucl index 812e94f72eaf..5bead26f69f8 100644 --- a/release/packages/ucl/libbegemot-all.ucl +++ b/release/packages/ucl/libbegemot-all.ucl @@ -41,8 +41,8 @@ calls are however clumsy to use and the usage of one of these calls is probably not portable to other systems - not all systems support both calls. The rpoll(3) family of functions is designed to overcome these restrictions. -They support the well known and understood technique of event driven programing -and, in addition to select(2) and poll(2) also support timers. +They support the well known and understood technique of event driven +programming and, in addition to select(2) and poll(2) also support timers. EOD annotations { diff --git a/release/packages/ucl/libbsdstat-all.ucl b/release/packages/ucl/libbsdstat-all.ucl index 144d4200fed9..56efee79a334 100644 --- a/release/packages/ucl/libbsdstat-all.ucl +++ b/release/packages/ucl/libbsdstat-all.ucl @@ -19,7 +19,7 @@ comment = "Periodic statistics library" desc = < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: e74f3a9494cb - releng/15.0 - virtual_oss: Move plugins to the sound package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: e74f3a9494cb54f3a5c80e439af72c76cb14b94c Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e74f3a9494cb54f3a5c80e439af72c76cb14b94c commit e74f3a9494cb54f3a5c80e439af72c76cb14b94c Author: Lexi Winter AuthorDate: 2025-10-12 15:29:17 +0000 Commit: Colin Percival CommitDate: 2025-10-13 07:06:44 +0000 virtual_oss: Move plugins to the sound package This is the correct place for them, and also issues an incorrect dependency from utilities to sound. Approved by: re (cperciva) Fixes: 1b806e607f52 ("packages: Add a sound package") MFC after: 3 days Reviewed by: christos, dch Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53015 (cherry picked from commit 419dcdc2c981306b0ded44580977d2e053719b14) (cherry picked from commit 861225fbe31b86922d7f9fcfa1d280bde50f862e) --- lib/virtual_oss/Makefile.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/virtual_oss/Makefile.inc b/lib/virtual_oss/Makefile.inc index 45c8e0b1fdfc..877465a5c548 100644 --- a/lib/virtual_oss/Makefile.inc +++ b/lib/virtual_oss/Makefile.inc @@ -1,3 +1,5 @@ +PACKAGE= sound + .include "../Makefile.inc" LDFLAGS+= -L${.OBJDIR:H:H}/libsamplerate From nobody Mon Oct 13 07:07:19 2025 X-Original-To: dev-commits-src-branches@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 4clT1h5nF6z6C5LF; Mon, 13 Oct 2025 07:07:20 +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 4clT1g58V5z3QfM; Mon, 13 Oct 2025 07:07:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760339239; 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=MZBlag4JGu4Z7yabI0J/jUhS0vTgA3FuvjewtM2ap34=; b=oEfTrmnG1JlszdI2U0o8se0IK5V/hF8dtfnKFhsyWj4QsoCjMoA8QbQ+rGjxwjb2CmyVH0 s7pP875BqXUhJe/wSr7WFK28RxO0khKqPe6PsEpAgg3vybn64cN6Wh3Dv2xUQ6FTWblpfG LAa7Ly2wBsl60ldTk/md/AefnrTG0Y8GMb60hoZOFddFXlXT+fwv+rhicZsGnKa4jF8mG+ bjKPWJopPAJNrOjpa7ZOaVu6oTLSL7VOM1ZoGlK7JToalyoIJ7Jifdc32uKClAduJXYV3i zTGrtTbZrVK0/GryWKL0TwifhE1qJUdS6ejwVeXumLLnZJPnPMH+nJfnR/A6Aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760339239; 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=MZBlag4JGu4Z7yabI0J/jUhS0vTgA3FuvjewtM2ap34=; b=Z2wui6h/SNsE5tEvLv1TDT+kXIu2bsc3phEL+sKi6s/fFJGa/v7KWUpPANTZjy9BKtebSh kWYi3/uL+oNL6Ea0UohBZf7sxUzAOgf7RCFd917+tIAMR6JTzh8uDG0IBRax92ATirY0po BemE8/rFs05ZFifSGZ9ZRLSZn+dT8ZHql9G9geEWU6YR/7FvW399rSYgPwdG0/q/GGWE6u F1h/+eAH4gAVpOkEk/hReJgbLzO4f8eRy2sZhGI3aX4ZsqJKp1wZsFyQDfRZflfW2iFYGT fsSQx954tu0xYkfXeFtzgzh1SMV/1wfHl9D774hpBCZ32gLeb1LN4J/idab7Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760339239; a=rsa-sha256; cv=none; b=xAjxUH2HALfiAGDII3GWY192UIA4yc9rJ4nl9BcdF1q6zWzXDYnN6Qwm99fYW2jwj/GczN AuXZ4XZSzcNGI4NmID9WzZmts+lfE6MNbg02uV+soW53VghHwLd52Au8nkkJMOEwrLsr8W udcBpxf4V/vZFZU1dBjw362Bq5vud2uc1nN+1yk4kKwWgYd5WXzvWs987dxTn03f2Ow9hu tIi4HNUG63tmVCu1KKkiVWX1WX8JSNz0UlX6GNsRZVnqcdQiq0JhRMi9U4coEGIevblAfF /e5xuW/2r2OdMoU8pAjrvM6p57HUjGiVxP9kGssixHUnEmIuyo3fWqQo0NFFQA== 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 4clT1g4dQ1zwHb; Mon, 13 Oct 2025 07:07:19 +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 59D77JkC008156; Mon, 13 Oct 2025 07:07:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59D77JPq008153; Mon, 13 Oct 2025 07:07:19 GMT (envelope-from git) Date: Mon, 13 Oct 2025 07:07:19 GMT Message-Id: <202510130707.59D77JPq008153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: ab0d79d53721 - releng/15.0 - libbluetooth: Move to the bluetooth-lib package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: ab0d79d5372194a1563b033cbc81dac4aba5ae09 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ab0d79d5372194a1563b033cbc81dac4aba5ae09 commit ab0d79d5372194a1563b033cbc81dac4aba5ae09 Author: Lexi Winter AuthorDate: 2025-10-12 15:28:20 +0000 Commit: Colin Percival CommitDate: 2025-10-13 07:06:47 +0000 libbluetooth: Move to the bluetooth-lib package Move the library, but not any of the runtime. This allows executables to link against libbluetooth without having to pull in the entire BT stack. Approved by: re (cperciva) MFC after: 3 days Reviewed by: dch, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53016 (cherry picked from commit 426891e0f8f1cfae0263ba81ea55f46c547d7762) (cherry picked from commit dced18c7703d256a9975bb7143d107f0f07dfd17) --- lib/libbluetooth/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libbluetooth/Makefile b/lib/libbluetooth/Makefile index a6ac291a0bf8..b935bdf3fc78 100644 --- a/lib/libbluetooth/Makefile +++ b/lib/libbluetooth/Makefile @@ -1,6 +1,8 @@ # $Id: Makefile,v 1.5 2003/07/22 18:38:04 max Exp $ PACKAGE= bluetooth +LIB_PACKAGE= + CONFS= hosts protocols CONFSDIR= /etc/bluetooth CONFSMODE_protocols= 444 From nobody Mon Oct 13 15:28:54 2025 X-Original-To: dev-commits-src-branches@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 4clh8Q3xkWz6Bwvx; Mon, 13 Oct 2025 15:28:54 +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 4clh8Q2vjzz3pZT; Mon, 13 Oct 2025 15:28:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760369334; 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=c08zRSFQ0sdRnq3AxGHzxE7VKpNNOMZULBA9VcsrIa8=; b=ffnk331u1jtIksxSvDsmarItr25PxF/zW72qs4+Gvc4ADHhNMp0Rxzti74fAyZBC7aT6Dv nDpyzHxZ+m0NfNwqpGWhFOZJyK0SN2kje4m6KH/ce4jeQ+xAgopfsdkldQmM7Pne+/+F4v 5xOYXC02gDajfETEqkB4i+964MxFSkg8Y6VBcVPD1u5Ki+dpwfYKRYTD+LjSjH8ubteMpC 90SQDUX7vQ/cUpcmSH0rN89zsKPP1EO8/Y+TSzBF5JLIDkBKtIACN1Y1DKPwTRW2OM/Z14 PgulE5ffrs37o4q/Dfw1VI9OquiUxZIBIYSSFoTn4V/LQ40CtSf6ggmJiRDk2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760369334; 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=c08zRSFQ0sdRnq3AxGHzxE7VKpNNOMZULBA9VcsrIa8=; b=hK8YT09EJdqSH8c04DzJpo7mg+Af0BKwx8RLsoP3RZ4aIoNBtfcinR7VkseF8LOojRiGXc hjVjnQL3G+yT+MmVsmxOMSP/giA1J4+yqeX+utQyAuOCL1ggcC5lR4AcC/TWCpzeT32qoy ly4yWKHNb8ntfUFyWIUgqYOaNyCiqg60BPp0d0xqRJ/qEmGwPjgmjJ+AyvEsn/j7BaGCs0 HiXVWpZ14JLfQ7DCYQ2LDWBKdPUc9ARWevf0Ik99Soo2H0Eokctey7YUP0jl08pytDrhZs NAiiwAF1d6vT5uHu0gi4VkARplxzEUhNwLNA5Ao7rODlFDp5wZoLBinPNWi0eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760369334; a=rsa-sha256; cv=none; b=W98VqQ8fxb17M3SsyMeVAvRMAKzSRsoQl5KDkUD8pPahCrgvt958nm2hZQuTBDSeqbN72l TkMr8vFw4NGjl8p1NXs4CDF18ONANgYxkgbpbLUvfgDZhXFfwKpoLh/ercPLryBCpzigaL xat7sTCxhGS9g89nhTcMICJj01sE3Gw++r9/48kVpGrujfshM13m815iILDNrJGUxmnKwt l+gIEcJ3+44oz5AoHn7ky4vBTnu2Zkjw09Dt1ZwvfvUpE2yCwGUTE34s29wjK7C33e1UAK 273zA8gLAhtXLTabIlOPHYFjCGRLaxw+LqSPyXuYm5uM+chV/BnEKQGfDV1WIw== 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 4clh8Q2MWxz1BlJ; Mon, 13 Oct 2025 15:28:54 +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 59DFSs9Z050725; Mon, 13 Oct 2025 15:28:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59DFSs8F050722; Mon, 13 Oct 2025 15:28:54 GMT (envelope-from git) Date: Mon, 13 Oct 2025 15:28:54 GMT Message-Id: <202510131528.59DFSs8F050722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 573cb59c35de - releng/15.0 - MFC: libbz2: add pkg-config file (bzip2.pc) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 573cb59c35deb4e9dd720c736d7984773fd1068d Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=573cb59c35deb4e9dd720c736d7984773fd1068d commit 573cb59c35deb4e9dd720c736d7984773fd1068d Author: Xin LI AuthorDate: 2025-10-10 05:35:54 +0000 Commit: Colin Percival CommitDate: 2025-10-13 15:28:24 +0000 MFC: libbz2: add pkg-config file (bzip2.pc) Add generation of a bzip2.pc file for use with pkg-config and create a basic template as bzip2.pc.in. This allows other software to easily locate and link against libbz2 using standard pkg-config mechanisms instead of manual compiler and linker flags. The version number is extracted automatically from bzlib.h to keep it consistent with the library sources. Approved by: re (cperciva) Tested: pkg-config --exists --print-errors "bzip2 >= 1.0.9" (fail, expected) pkg-config --exists --print-errors "bzip2 >= 1.0" (succeeded) pkg-config --libs bzip2 (-lbz2) pkg-config --cflags bzip2 () (cherry picked from commit 586319793368cbc664b48187bda60d27e171753a) (cherry picked from commit f139a644d3ee01667480ff6d698757d3e3689794) --- lib/libbz2/Makefile | 13 +++++++++++++ lib/libbz2/bzip2.pc.in | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/libbz2/Makefile b/lib/libbz2/Makefile index d773f202dd67..2aedbaed4328 100644 --- a/lib/libbz2/Makefile +++ b/lib/libbz2/Makefile @@ -13,4 +13,17 @@ CFLAGS+= -I${BZ2DIR} WARNS?= 3 +BZIP2_VERSION!= sed -n '/bzip2\/libbzip2 version /{s/.*version //;s/ of.*//p;q;}' ${BZ2DIR}/bzlib.h + +bzip2.pc: bzip2.pc.in + sed -e 's,@prefix@,/usr,g ; \ + s,@exec_prefix@,$${prefix},g ; \ + s,@libdir@,${LIBDIR},g ; \ + s,@sharedlibdir@,${SHLIBDIR},g ; \ + s,@includedir@,${INCLUDEDIR},g ; \ + s,@VERSION@,${BZIP2_VERSION},g ;' \ + ${.ALLSRC} > ${.TARGET} + +PCFILES= bzip2.pc + .include diff --git a/lib/libbz2/bzip2.pc.in b/lib/libbz2/bzip2.pc.in new file mode 100644 index 000000000000..d91c9931a58a --- /dev/null +++ b/lib/libbz2/bzip2.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +sharedlibdir=@sharedlibdir@ +includedir=@includedir@ + +Name: bzip2 +Description: bzip2 compression library +Version: @VERSION@ +Libs: -L${libdir} -lbz2 +Cflags: -I${includedir} From nobody Mon Oct 13 18:32:18 2025 X-Original-To: dev-commits-src-branches@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 4clmD23sT1z6CB0t; Mon, 13 Oct 2025 18:32:18 +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 4clmD233x5z3DHJ; Mon, 13 Oct 2025 18:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760380338; 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=rUvflG+cCRv2AfzLI9R/E/K6xwN6ROwmDmzoh3OnSD8=; b=V42ESnpn+x9jxFSqjG6nwM6uto0neCs8l3UD7NxN/ICGAO8zXN3LE78uvTUz9FjfVv873O VCZ+0sFRHYwmvsN4rrO799LQpVrw6LZIrcrCjaCuL/pnDdY451rbrbdx2kPPamEtUw66Wg JGeWSeXOdq+TGoUgTGrig8kzSEoUcfm8edP8zETyX9z38kD+xP6gVeHJhCa8bALVbfUxIB nhVugKyaMcPgeOGOqqqyiPsHvfyfRZM1ta/WqPLWNAGzRxqksezzIGAdQw/+IuZJySc3vQ IbsVtx+1QCZCHd1ETpi5ZvWyfqzyliZcM/1BGDMjFtjh7wu9S4xMg3ZqisZ59Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760380338; 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=rUvflG+cCRv2AfzLI9R/E/K6xwN6ROwmDmzoh3OnSD8=; b=H7qTZyMAXr79GJ7V/ZnRnAxGPx5g1iqvgXDl0XB+pqPCmmFlZ3+glOenO2+rQbtVpVoIDH NaNuOFYkImr/bsmxVtl/KIfOmsZe7ywwMXkZ7tdrigMB5TSqvMsgLUlUulfMlWT6yQQ/Zz jISGsszfB9CryMYeGX8dnnCxwCqUuCx3/QusiwABp15Hc4EZehXxdBqKDB+aBBM9pJbPwl qOfBTk7n8f63haJHpzdf1BJI5QOfGVasnnr7OPvqsBEC7nhzSXFAQCWIFmlaFeMz3s2kYB /sCjdmpqqUVx7d4NX1nCldmbD8MYzyM5w+QS3dq8fQJNK4j8IIFAaJE26nwGHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760380338; a=rsa-sha256; cv=none; b=Kn/ZOojmFj5LHuRmlrB7BGXRx0e+dt25YopXGa+RBfwhjN98/rbT4iKsju5SCLmTSf4BYK o1xajaALmBNms77kKcFftnbmoh5Z4eJWQwVxXb3DyUg43VmTYTVaaA1Gd8Kr2gJIw8jXr0 8pfcj76swlitQX/uYRcwWmQOZUD59kMW03RcqpEQNidqPVL0q+aRQJFCdjoqgE46tdg34+ 30SyYYAOwnmP0tXcdw9Rphx+suDBrD8VgGJXz03869lJIBbWWUSu12HMbpXI2XOMVRPnL4 b++0MW8IijyFxP1RwHyoSKbvBqzTNNp+GwCZbnxktsC9lmQFtSOIZgpQRDD/Qg== 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 4clmD22gZFz3Zj; Mon, 13 Oct 2025 18:32:18 +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 59DIWIpO005413; Mon, 13 Oct 2025 18:32:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59DIWIEo005410; Mon, 13 Oct 2025 18:32:18 GMT (envelope-from git) Date: Mon, 13 Oct 2025 18:32:18 GMT Message-Id: <202510131832.59DIWIEo005410@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 3b5ec539beef - stable/15 - Makefile.inc1: Build source packages before sets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3b5ec539beefb82dd3210f51c0e2e0759b20dad8 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=3b5ec539beefb82dd3210f51c0e2e0759b20dad8 commit 3b5ec539beefb82dd3210f51c0e2e0759b20dad8 Author: Lexi Winter AuthorDate: 2025-10-13 18:30:31 +0000 Commit: Lexi Winter CommitDate: 2025-10-13 18:32:06 +0000 Makefile.inc1: Build source packages before sets To build set-src, we first need to build the source packages. Add a .ORDER to ensure this happens. Otherwise, in a parallel build, sets might be built before the src-* packages have finished building, and set-src will be mysteriously missing. MFC after: 3 seconds Reported by: cperciva Actually diagnosed by: jrtc27 One-line fix by: ivy Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D53076 (cherry picked from commit ea5685ba79fc9309698ef72cf48bc1f0c91ad3dd) --- Makefile.inc1 | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index cd3e3f007c3b..d530ca4e9584 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2107,6 +2107,7 @@ create-packages-world: _pkgbootstrap _repodir .PHONY .ORDER: create-packages-world create-packages-sets .ORDER: create-packages-kernel create-packages-sets +.ORDER: create-packages-source create-packages-sets create-packages-sets: _pkgbootstrap _repodir .PHONY ${_+_}@cd ${.CURDIR}; \ ${MAKE} -f Makefile.inc1 \ From nobody Tue Oct 14 00:57:31 2025 X-Original-To: dev-commits-src-branches@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 4clwmW3jfJz6CfJf; Tue, 14 Oct 2025 00:57:31 +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 4clwmW3VC8z3vT0; Tue, 14 Oct 2025 00:57:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403451; 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=MwRGuIQjEYM0ZEHdAmB5jeaCuwWI+P+bo/gdPbYHBMQ=; b=hABVOkZQpAlEdqpFlyeQ1/5QZKc58hKjpxIaZVlcTQ+Rua9MLuMVS8F+zXRcU/q9kKN9yV A67xNSiTS2jcJOyFX45s6+p3Ua52qpaWXIO0T69kHInOLji8btWs2kBloMQmDJxKLj3709 8C9MVExUnrodUt+3yArTFU0hbUwEcDZGAMUV1IRYEZaNJZi8+RNse3D4IhIhtX0t48eg8y Ed3f4iYq1liu5jX+6Phq0rhUjOzOF6w8nlQQaDPSeTQ5ImuUv2r9ZRtiS5TseNEIyfdtXL 8lXo6Wo5OEvyDNLfk+tvIp0lRiLdPwxV+4EbTeQMn8aJ1X5LYYl2kUuWodvUMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403451; 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=MwRGuIQjEYM0ZEHdAmB5jeaCuwWI+P+bo/gdPbYHBMQ=; b=ZGvZpVKLLA7R/pu9KPAKhLHITeBU5wMi191ZV1TBvXtxQJwVQxKeA/9v96HuOfMb93snhC /ZqplgWD2Vtxo7B8U47zZ2Q+sq0z36XxSWFqpvkTglu9dO8IDwpT5/BLKmjVM1Int0faUO J8rS2dzhvUcWwJ5lL5kOjn15w8eTgHhi0LLU8K1DvZUoXp43tjJ94cDEez4ZYd+uqq5nZS 2bGY/ljmfb6vi0J1BI3pFJdkW6h9/fN30AJcI0KtY8WRz6qxzKpz0Nm+zSaILwBdJvqsDf Qg+OXDbZ5fEB74XgY318Hp9MFVMa/itla+5bNq5jIANpAClFVJt6XK7ZAWOl5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403451; a=rsa-sha256; cv=none; b=mTtOibC6iQ/oDHukM5CKzf8qgNIZ3q7w7bUEYxfgmU5i60XwjOePBmuhd4gwf/ilKu1VAL wdhlP6ID4CS4pkhjmb80bEwgmaG/mGxYPT0Upu8HbOCOi+TaTtBoYXcj8l9b7gwu0E2lBp yGgoDLlMCNWyAqmS7EC8JtXSBGCtCvd6lPk/EKpVA4nrmN06OYIMtNNoOMAKU9KWQv3ynF esCGu9arxN/3H7U7h6SgMKrSaoUy+LMCvKsEVmiey9fnrAxcG5upVKKUO+lAuPQoutvn9I xcBJ1v3h0zhobEWl9BluFqGVatUerSu0EuimDiLALpldPXaHtacsTh19iiFE5A== 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 4clwmW2tfxzVVM; Tue, 14 Oct 2025 00:57:31 +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 59E0vVUd021525; Tue, 14 Oct 2025 00:57:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vVkr021522; Tue, 14 Oct 2025 00:57:31 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:31 GMT Message-Id: <202510140057.59E0vVkr021522@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 1a08326c6f50 - stable/15 - MFV: Import blocklist 2025-04-28 (8aa81bf) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1a08326c6f503db5f0fb9201cdf55379bbe576e8 Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=1a08326c6f503db5f0fb9201cdf55379bbe576e8 commit 1a08326c6f503db5f0fb9201cdf55379bbe576e8 Author: Jose Luis Duran AuthorDate: 2025-10-12 17:01:03 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:51:43 +0000 MFV: Import blocklist 2025-04-28 (8aa81bf) Merge commit '70f30afd4e9af5a51ee324d97e4d8c5f2124ec15' Breaking changes: - Upstream commit 24932b6 ("blocklistd: log the conf file line number with bad protocol errors") breaks backward database compatibility. An error will be displayed: Key size mismatch 296 != 288 A new and compatible database, with the new name, will be created when the service starts (committed separately). - Upstream commit ddf6d71 ("implement BLOCKLIST_BAD_USER as a "one-count" failure") introduced BLOCKLIST_BAD_USER with a one-count failure mechanism. BLOCKLIST_AUTH_FAIL was implemented with a two-count failure mechanism. Since we utilize BLOCKLIST_AUTH_FAIL, the number of failed attempts now doubles towards the maximum limit (nfails). This commit will be reverted separately. Changes: https://github.com/zoulasc/blocklist/compare/7093cd9...8aa81bf Approved by: emaste (mentor) MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D52869 (cherry picked from commit 48e64ca13d4f36795ac718911b805e3e9a726f1b) --- contrib/blocklist/Makefile | 2 +- contrib/blocklist/Makefile.inc | 7 +- contrib/blocklist/README | 52 ++-- contrib/blocklist/TODO | 49 +++- contrib/blocklist/bin/Makefile | 12 +- .../bin/{blacklistctl.8 => blocklistctl.8} | 69 +++++- .../bin/{blacklistctl.c => blocklistctl.c} | 9 +- .../blocklist/bin/{blacklistd.8 => blocklistd.8} | 75 +++--- .../blocklist/bin/{blacklistd.c => blocklistd.c} | 48 ++-- .../bin/{blacklistd.conf.5 => blocklistd.conf.5} | 82 ++++--- contrib/blocklist/bin/conf.c | 200 ++++++++++++--- contrib/blocklist/bin/conf.h | 3 +- contrib/blocklist/bin/internal.c | 8 +- contrib/blocklist/bin/internal.h | 8 +- contrib/blocklist/bin/run.c | 9 +- contrib/blocklist/bin/run.h | 2 +- contrib/blocklist/bin/state.c | 6 +- contrib/blocklist/bin/state.h | 2 +- contrib/blocklist/bin/support.c | 11 +- contrib/blocklist/bin/support.h | 7 +- contrib/blocklist/diff/ftpd.diff | 12 +- contrib/blocklist/diff/named.diff | 12 +- contrib/blocklist/diff/postfix.diff | 98 ++++++++ contrib/blocklist/diff/proftpd.diff | 20 +- contrib/blocklist/diff/ssh.diff | 14 +- contrib/blocklist/etc/Makefile | 10 +- .../etc/{blacklistd.conf => blocklistd.conf} | 7 +- contrib/blocklist/etc/ipf.conf | 45 ++++ contrib/blocklist/etc/npf.conf | 4 +- contrib/blocklist/etc/rc.d/Makefile | 4 +- .../blocklist/etc/rc.d/{blacklistd => blocklistd} | 20 +- contrib/blocklist/include/Makefile | 4 +- contrib/blocklist/include/bl.h | 11 +- .../blocklist/include/{blacklist.h => blocklist.h} | 44 ++-- contrib/blocklist/lib/Makefile | 20 +- contrib/blocklist/lib/bl.c | 112 +++++---- contrib/blocklist/lib/{blacklist.c => blocklist.c} | 49 ++-- .../lib/{libblacklist.3 => libblocklist.3} | 124 +++++----- contrib/blocklist/lib/shlib_version | 2 +- contrib/blocklist/libexec/Makefile | 4 +- contrib/blocklist/libexec/blacklistd-helper | 134 ---------- contrib/blocklist/libexec/blocklistd-helper | 272 +++++++++++++++++++++ contrib/blocklist/port/Makefile.am | 42 ++-- contrib/blocklist/port/_strtoi.h | 2 +- contrib/blocklist/port/configure.ac | 12 +- contrib/blocklist/port/fgetln.c | 2 +- contrib/blocklist/port/fparseln.c | 6 +- contrib/blocklist/port/pidfile.c | 6 +- contrib/blocklist/port/popenve.c | 6 +- contrib/blocklist/port/port.h | 32 ++- contrib/blocklist/port/sockaddr_snprintf.c | 6 +- contrib/blocklist/port/strlcat.c | 7 +- contrib/blocklist/port/strlcpy.c | 7 +- contrib/blocklist/port/strtoi.c | 6 +- contrib/blocklist/port/vsyslog_r.c | 13 + contrib/blocklist/test/Makefile | 2 +- contrib/blocklist/test/cltest.c | 6 +- contrib/blocklist/test/srvtest.c | 42 +++- 58 files changed, 1293 insertions(+), 587 deletions(-) diff --git a/contrib/blocklist/Makefile b/contrib/blocklist/Makefile index da4411d0ca75..899746d01431 100644 --- a/contrib/blocklist/Makefile +++ b/contrib/blocklist/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2015/01/22 17:49:41 christos Exp $ +# $NetBSD: Makefile,v 1.1.1.1 2020/06/15 01:52:52 christos Exp $ SUBDIR = lib .WAIT include bin etc libexec diff --git a/contrib/blocklist/Makefile.inc b/contrib/blocklist/Makefile.inc index 85c82783cd35..b22d4a801240 100644 --- a/contrib/blocklist/Makefile.inc +++ b/contrib/blocklist/Makefile.inc @@ -1,10 +1,11 @@ -# $NetBSD: Makefile.inc,v 1.3 2015/01/23 03:57:22 christos Exp $ +# $NetBSD: Makefile.inc,v 1.3 2025/02/11 17:48:30 christos Exp $ WARNS=6 .if !defined(LIB) -LDADD+= -lblacklist -DPADD+= ${LIBBLACKLIST} +LDADD+= -lblocklist +DPADD+= ${LIBBLOCKLIST} .endif CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+=-DHAVE_STRUCT_SOCKADDR_SA_LEN -DHAVE_UTIL_H -DHAVE_DB_H +CPPFLAGS+=-DHAVE_SYS_CDEFS_H diff --git a/contrib/blocklist/README b/contrib/blocklist/README index 7da3317a77fe..4b34138e01ec 100644 --- a/contrib/blocklist/README +++ b/contrib/blocklist/README @@ -1,21 +1,21 @@ -# $NetBSD: README,v 1.8 2017/04/13 17:59:34 christos Exp $ +# $NetBSD: README,v 1.3 2024/02/09 00:53:30 wiz Exp $ This package contains library that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy. -The interface to the packet filter is in libexec/blacklistd-helper +The interface to the packet filter is in libexec/blocklistd-helper (this is currently designed for npf) and the configuration file -(inspired from inetd.conf) is in etc/blacklistd.conf. +(inspired from inetd.conf) is in etc/blocklistd.conf. -On NetBSD you can find an example npf.conf and blacklistd.conf in -/usr/share/examples/blacklistd; you need to adjust the interface +On NetBSD you can find an example npf.conf and blocklistd.conf in +/usr/share/examples/blocklistd; you need to adjust the interface in npf.conf and copy both files to /etc; then you just enable -blacklistd=YES in /etc/rc.conf, start it up, and you are all set. +blocklistd=YES in /etc/rc.conf, start it up, and you are all set. -There is also a startup file in etc/rc.d/blacklistd +There is also a startup file in etc/rc.d/blocklistd -Patches to various daemons to add blacklisting capabilitiers are in the +Patches to various daemons to add blocklisting capabilities are in the "diff" directory: - OpenSSH: diff/ssh.diff [tcp socket example] - Bind: diff/named.diff [both tcp and udp] @@ -23,21 +23,21 @@ Patches to various daemons to add blacklisting capabilitiers are in the These patches have been applied to NetBSD-current. -The network daemon (for example sshd) communicates to blacklistd, via -a unix socket like syslog. The library calls are simple and everything +The network daemon (for example sshd) communicates to blocklistd, via +a Unix socket like syslog. The library calls are simple and everything is handled by the library. In the simplest form the only thing the daemon needs to do is to call: - blacklist(action, acceptedfd, message); + blocklist(action, acceptedfd, message); Where: - action = 0 -> successful login clear blacklist state + action = 0 -> successful login clear blocklist state 1 -> failed login, add to the failed count acceptedfd -> the file descriptor where the server is connected to the remote client. It is used to determine the listening socket, and the remote address. This allows any program to - contact the blacklist daemon, since the verification + contact the blocklist daemon, since the verification if the program has access to the listening socket is done by virtue that the port number is retrieved from the kernel. @@ -46,13 +46,13 @@ Where: Unfortunately there is no way to get information about the "peer" from a udp socket, because there is no connection and that information is kept with the server. In that case the daemon can provide the -peer information to blacklistd via: +peer information to blocklistd via: - blacklist_sa(action, acceptedfd, sockaddr, sockaddr_len, message); + blocklist_sa(action, acceptedfd, sockaddr, sockaddr_len, message); The configuration file contains entries of the form: -# Blacklist rule +# Blocklist rule # host/Port type protocol owner name nfail disable 192.168.1.1:ssh stream tcp * -int 10 1m 8.8.8.8:ssh stream tcp * -ext 6 60m @@ -60,18 +60,18 @@ ssh stream tcp6 * * 6 60m http stream tcp * * 6 60m Here note that owner is * because the connection is done from the -child ssh socket which runs with user privs. We treat ipv4 connections +child ssh socket which runs with user privs. We treat IPv4 connections differently by maintaining two different rules one for the external interface and one from the internal We also register for both tcp and tcp6 since those are different listening sockets and addresses; -we don't bother with ipv6 and separate rules. We use nfail = 6, +we don't bother with IPv6 and separate rules. We use nfail = 6, because ssh allows 3 password attempts per connection, and this will let us have 2 connections before blocking. Finally we block for an hour; we could block forever too by specifying * in the duration column. -blacklistd and the library use syslog(3) to report errors. The -blacklist filter state is persisted automatically in /var/db/blacklistd.db +blocklistd and the library use syslog(3) to report errors. The +blocklist filter state is persisted automatically in /var/db/blocklistd.db so that if the daemon is restarted, it remembers what connections is currently handling. To start from a fresh state (if you restart npf too for example), you can use -f. To watch the daemon at work, @@ -80,27 +80,27 @@ you can use -d. The current control file is designed for npf, and it uses the dynamic rule feature. You need to create a dynamic rule in your /etc/npf.conf on the group referring to the interface you want to block -called blacklistd as follows: +called blocklistd as follows: ext_if=bge0 int_if=sk0 group "external" on $ext_if { ... - ruleset "blacklistd-ext" - ruleset "blacklistd" + ruleset "blocklistd-ext" + ruleset "blocklistd" ... } group "internal" on $int_if { ... - ruleset "blacklistd-int" + ruleset "blocklistd-int" ... } -You can use 'blacklistctl dump -a' to list all the current entries +You can use 'blocklistctl dump -a' to list all the current entries in the database; the ones that have nfail / where urrent ->= otal, should have an id assosiated with them; this means that +>= otal, should have an id associated with them; this means that there is a packet filter rule added for that entry. For npf, you can examine the packet filter dynamic rule entries using 'npfctl rule list'. The number of current entries can exceed diff --git a/contrib/blocklist/TODO b/contrib/blocklist/TODO index 9925020d54bb..d67111bd5139 100644 --- a/contrib/blocklist/TODO +++ b/contrib/blocklist/TODO @@ -1,4 +1,4 @@ -# $NetBSD: TODO,v 1.7 2015/01/23 21:34:01 christos Exp $ +# $NetBSD: TODO,v 1.3 2025/02/05 20:22:26 christos Exp $ - don't poll periodically, find the next timeout - use the socket also for commands? Or separate socket? @@ -17,5 +17,48 @@ -n block unblock -- do we need an api in blacklistctl to perform maintenance -- fix the blacklistctl output to be more user friendly +- do we need an api in blocklistctl to perform maintenance +- fix the blocklistctl output to be more user friendly + +- figure out some way to do distributed operation securely (perhaps with + a helper daemon that authenticates local sockets and then communicates + local DB changes to the central server over a secure channel -- + perhaps blocklistd-helper can have a back-end that can send updates to + a central server) + +- add "blocklistd -l" to enable filter logging on all rules by default + +- add some new options in the config file + + "/all" - block both TCP and UDP (on the proto field?) + + "/log" - enable filter logging (if not the default) (on the name field?) + "/nolog"- disable filter logging (if not the default) (on the name field?) + + The latter two probably require a new parameter for blocklistd-helper. + +- "blocklistd -f" should (also?) be a blocklistctl function!?!?! + +- if blocklistd was started with '-r' then a SIGHUP should also do a + "control flush $rulename" and then re-add all the filter rules? + +- should/could /etc/rc.conf.d/ipfilter be created with the following? + + reload_postcmd=blocklistd_reload + start_postcmd=blocklistd_start + stop_precmd=blocklistd_stop + blocklistd_reload () + { + /etc/rc.d/blocklistd reload # IFF SIGHUP does flush/re-add + # /etc/rc.d/blocklistd restart + } + blocklistd_stop () + { + /etc/rc.d/blocklistd stop + } + blocklistd_start () + { + /etc/rc.d/blocklistd start + } + + or is there a better way? diff --git a/contrib/blocklist/bin/Makefile b/contrib/blocklist/bin/Makefile index 280c72fd3af1..1856e2524f3c 100644 --- a/contrib/blocklist/bin/Makefile +++ b/contrib/blocklist/bin/Makefile @@ -1,12 +1,12 @@ -# $NetBSD: Makefile,v 1.11 2015/01/27 19:40:36 christos Exp $ +# $NetBSD: Makefile,v 1.1.1.1 2020/06/15 01:52:52 christos Exp $ BINDIR=/sbin -PROGS=blacklistd blacklistctl -MAN.blacklistd=blacklistd.8 blacklistd.conf.5 -MAN.blacklistctl=blacklistctl.8 -SRCS.blacklistd = blacklistd.c conf.c run.c state.c support.c internal.c -SRCS.blacklistctl = blacklistctl.c conf.c state.c support.c internal.c +PROGS=blocklistd blocklistctl +MAN.blocklistd=blocklistd.8 blocklistd.conf.5 +MAN.blocklistctl=blocklistctl.8 +SRCS.blocklistd = blocklistd.c conf.c run.c state.c support.c internal.c +SRCS.blocklistctl = blocklistctl.c conf.c state.c support.c internal.c DBG=-g LDADD+=-lutil diff --git a/contrib/blocklist/bin/blacklistctl.8 b/contrib/blocklist/bin/blocklistctl.8 similarity index 59% rename from contrib/blocklist/bin/blacklistctl.8 rename to contrib/blocklist/bin/blocklistctl.8 index 7c6521117745..a98c16374f19 100644 --- a/contrib/blocklist/bin/blacklistctl.8 +++ b/contrib/blocklist/bin/blocklistctl.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: blacklistctl.8,v 1.9 2016/06/08 12:48:37 wiz Exp $ +.\" $NetBSD: blocklistctl.8,v 1.4 2025/02/07 01:35:38 kre Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,27 +27,43 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 7, 2016 -.Dt BLACKLISTCTL 8 +.Dd January 27, 2025 +.Dt BLOCKLISTCTL 8 .Os .Sh NAME -.Nm blacklistctl -.Nd display and change the state of blacklistd +.Nm blocklistctl +.Nd display and change the state of the blocklistd database .Sh SYNOPSIS .Nm .Cm dump .Op Fl abdnrw +.Op Fl D Ar dbname .Sh DESCRIPTION .Nm -is a program used to display the state of -.Xr blacklistd 8 +is a program used to display and change the state of the +.Xr blocklistd 8 +database. +The following sub-commands are supported: +.Ss dump .Pp -The following options are available: +The following options are available for the +.Cm dump +sub-command: .Bl -tag -width indent .It Fl a -Show all database entries, by default it shows only the embryonic ones. +Show all database entries, by default it shows only the active ones. +Inactive entries will be shown with a last-access (or, with +.Fl r , +the remaining) time of +.Ql never . .It Fl b Show only the blocked entries. +.It Fl D Ar dbname +Specify the location of the +.Ic blocklistd +database file to use. +The default is +.Pa /var/db/blocklistd.db . .It Fl d Increase debugging level. .It Fl n @@ -59,18 +75,47 @@ Normally the width of addresses is good for IPv4, the .Fl w flag, makes the display wide enough for IPv6 addresses. .El +.Pp +The output of the +.Cm dump +sub-command consists of a header (unless +.Fl n +was given) and one line for each record in the database, where each line +has the following columns: +.Bl -tag -width indent +.It Ql address/ma:port +The remote address, mask, and local port number of the client connection +associated with the database entry. +.It Ql id +column will show the identifier for the packet filter rule associated +with the database entry, though this may only be the word +.Ql OK +for packet filters which do not creat a unique identifier for each rule. +.It Ql nfail +The number of +.Em failures +reported for the client on the noted port, as well as the number of +failures allowed before blocking (or, with +.Fl a , +an asterisk +.Aq * ) +.It So last access Sc | So remaining time Sc +The last time a the client was reported as attempting access, or, with +.Fl r , +the time remaining before the rule blocking the client will be removed. +.El .Sh SEE ALSO -.Xr blacklistd 8 +.Xr blocklistd 8 .Sh NOTES Sometimes the reported number of failed attempts can exceed the number of attempts that -.Xr blacklistd 8 +.Xr blocklistd 8 is configured to block. This can happen either because the rule has been removed manually, or because there were more attempts in flight while the rule block was being added. This condition is normal; in that case -.Xr blacklistd 8 +.Xr blocklistd 8 will first attempt to remove the existing rule, and then it will re-add it to make sure that there is only one rule active. .Sh HISTORY diff --git a/contrib/blocklist/bin/blacklistctl.c b/contrib/blocklist/bin/blocklistctl.c similarity index 94% rename from contrib/blocklist/bin/blacklistctl.c rename to contrib/blocklist/bin/blocklistctl.c index 89b72921caf5..8c75e0430c61 100644 --- a/contrib/blocklist/bin/blacklistctl.c +++ b/contrib/blocklist/bin/blocklistctl.c @@ -1,4 +1,4 @@ -/* $NetBSD: blacklistctl.c,v 1.23 2018/05/24 19:21:01 christos Exp $ */ +/* $NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -32,8 +32,10 @@ #include "config.h" #endif +#ifdef HAVE_SYS_CDEFS_H #include -__RCSID("$NetBSD: blacklistctl.c,v 1.23 2018/05/24 19:21:01 christos Exp $"); +#endif +__RCSID("$NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $"); #include #include @@ -63,7 +65,8 @@ usage(int c) warnx("Missing/unknown command"); else if (c != '?') warnx("Unknown option `%c'", (char)c); - fprintf(stderr, "Usage: %s dump [-abdnrw]\n", getprogname()); + fprintf(stderr, + "Usage: %s dump [-abdnrw] [-D dbname]\n", getprogname()); exit(EXIT_FAILURE); } diff --git a/contrib/blocklist/bin/blacklistd.8 b/contrib/blocklist/bin/blocklistd.8 similarity index 85% rename from contrib/blocklist/bin/blacklistd.8 rename to contrib/blocklist/bin/blocklistd.8 index 82e1f15f61c9..e0b9fb482cbd 100644 --- a/contrib/blocklist/bin/blacklistd.8 +++ b/contrib/blocklist/bin/blocklistd.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: blacklistd.8,v 1.23 2020/04/21 13:57:12 christos Exp $ +.\" $NetBSD: blocklistd.8,v 1.8 2025/02/25 22:13:34 christos Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,11 +27,11 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 21, 2020 -.Dt BLACKLISTD 8 +.Dd February 25, 2025 +.Dt BLOCKLISTD 8 .Os .Sh NAME -.Nm blacklistd +.Nm blocklistd .Nd block and release ports on demand to avoid DoS abuse .Sh SYNOPSIS .Nm @@ -53,22 +53,35 @@ for notifications from other daemons about successful or failed connection attempts. If no such file is specified, then it only listens to the socket path specified by -.Ar sockspath +.Ar sockpath or if that is not specified to -.Pa /var/run/blacklistd.sock . +.Pa /var/run/blocklistd.sock . Each notification contains an (action, port, protocol, address, owner) tuple that identifies the remote connection and the action. -This tuple is consulted against entries in -.Ar configfile -with syntax specified in -.Xr blacklistd.conf 5 . +This tuple is consulted against entries from the +.Ar configfile , +with the syntax specified in +.Xr blocklistd.conf 5 . If an entry is matched, a state entry is created for that tuple. Each entry contains a number of tries limit and a duration. .Pp +If +.Ar configfile +is a directory, or a directory exists with the same name as +.Ar configfile +with +.Qq .d +appended to it, each file in the directory will be read as configuration file. +If +.Ar configfile +exists as a file it will be processed before the contents of the +.Ar configfile Ns .d +directory if that also exists. +.Pp The way .Nm does configuration entry matching is by having the client side pass the -file descriptor associated with the connection the client wants to blacklist +file descriptor associated with the connection the client wants to blocklist as well as passing socket credentials. .Pp The file descriptor is used to retrieve information (address and port) @@ -116,7 +129,7 @@ specified by the arguments. The .Ar rulename argument can be set from the command line (default -.Dv blacklistd ) . +.Dv blocklistd ) . The script could print a numerical id to stdout as a handle for the rule that can be used later to remove that connection, but that is not required as all information to remove the rule is @@ -152,8 +165,8 @@ The following options are available: .It Fl C Ar controlprog Use .Ar controlprog -to communicate with the packet filter, usually -.Pa /usr/libexec/blacklistd-helper . +to communicate with the packet filter, instead of the default, which is +.Pa /usr/libexec/blocklistd-helper . The following arguments are passed to the control program: .Bl -tag -width protocol .It action @@ -161,7 +174,7 @@ The action to perform: .Dv add , .Dv rem , or -.Dv flush +.Dv flush ; to add, remove or flush a firewall rule. .It name The rule name. @@ -183,13 +196,17 @@ identifier of the rule to be removed. The add command is expected to return the rule identifier string to stdout. .El .It Fl c Ar configuration -The name of the configuration file to read, usually -.Pa /etc/blacklistd.conf . +The name of the configuration file to read. +The default when +.Fl c +is not given is +.Pa /etc/blocklistd.conf . .It Fl D Ar dbfile The Berkeley DB file where .Nm -stores its state, usually -.Pa /var/db/blacklistd.db . +stores its state. +It defaults to +.Pa /var/db/blocklistd.db . .It Fl d Normally, .Nm @@ -203,14 +220,14 @@ are deleted by invoking the control script as: .Bd -literal -offset indent control flush .Ed -.It Fl P Ar sockspathsfile +.It Fl P Ar sockpathsfile A file containing a list of pathnames, one per line that .Nm will create sockets to listen to. This is useful for chrooted environments. .It Fl R Ar rulename Specify the default rule name for the packet filter rules, usually -.Dv blacklistd . +.Dv blocklistd . .It Fl r Re-read the firewall rules from the internal database, then remove and re-add them. @@ -256,19 +273,21 @@ This signal tells to decrease the internal debugging level by 1. .El .Sh FILES -.Bl -tag -width /usr/libexec/blacklistd-helper -compact -.It Pa /usr/libexec/blacklistd-helper +.Bl -tag -width /usr/libexec/blocklistd-helper -compact +.It Pa /usr/libexec/blocklistd-helper Shell script invoked to interface with the packet filter. -.It Pa /etc/blacklistd.conf +.It Pa /etc/blocklistd.conf Configuration file. -.It Pa /var/db/blacklistd.db +.It Pa /var/db/blocklistd.db Database of current connection entries. -.It Pa /var/run/blacklistd.sock +.It Pa /var/run/blocklistd.sock Socket to receive connection notifications. .El .Sh SEE ALSO -.Xr blacklistd.conf 5 , -.Xr blacklistctl 8 , +.Xr blocklistd.conf 5 , +.Xr blocklistctl 8 , +.Xr ipf 8 , +.Xr ipfw 8 , .Xr pfctl 8 , .Xr syslogd 8 .Sh HISTORY diff --git a/contrib/blocklist/bin/blacklistd.c b/contrib/blocklist/bin/blocklistd.c similarity index 91% rename from contrib/blocklist/bin/blacklistd.c rename to contrib/blocklist/bin/blocklistd.c index 714abcbcaf0e..4846b507c8d1 100644 --- a/contrib/blocklist/bin/blacklistd.c +++ b/contrib/blocklist/bin/blocklistd.c @@ -1,4 +1,4 @@ -/* $NetBSD: blacklistd.c,v 1.38 2019/02/27 02:20:18 christos Exp $ */ +/* $NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -31,8 +31,11 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif + +#ifdef HAVE_SYS_CDEFS_H #include -__RCSID("$NetBSD: blacklistd.c,v 1.38 2019/02/27 02:20:18 christos Exp $"); +#endif +__RCSID("$NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $"); #include #include @@ -175,6 +178,8 @@ process(bl_t bl) struct dbinfo dbi; struct timespec ts; + memset(&dbi, 0, sizeof(dbi)); + memset(&c, 0, sizeof(c)); if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { (*lfun)(LOG_ERR, "clock_gettime failed (%m)"); return; @@ -188,10 +193,11 @@ process(bl_t bl) if (getremoteaddress(bi, &rss, &rsl) == -1) goto out; - if (debug) { + if (debug || bi->bi_msg[0]) { sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); - (*lfun)(LOG_DEBUG, "processing type=%d fd=%d remote=%s msg=%s" - " uid=%lu gid=%lu", bi->bi_type, bi->bi_fd, rbuf, + (*lfun)(bi->bi_msg[0] ? LOG_INFO : LOG_DEBUG, + "processing type=%d fd=%d remote=%s msg=%s uid=%lu gid=%lu", + bi->bi_type, bi->bi_fd, rbuf, bi->bi_msg, (unsigned long)bi->bi_uid, (unsigned long)bi->bi_gid); } @@ -216,16 +222,19 @@ process(bl_t bl) switch (bi->bi_type) { case BL_ABUSE: /* - * If the application has signaled abusive behavior, - * set the number of fails to be one less than the - * configured limit. Fallthrough to the normal BL_ADD - * processing, which will increment the failure count - * to the threshhold, and block the abusive address. + * If the application has signaled abusive behavior, set the + * number of fails to be two less than the configured limit. + * Fall through to the normal BL_ADD and BL_BADUSER processing, + * which will increment the failure count to the threshhold, and + * block the abusive address. */ if (c.c_nfail != -1) - dbi.count = c.c_nfail - 1; + dbi.count = c.c_nfail - 2; /*FALLTHROUGH*/ case BL_ADD: + dbi.count++; /* will become += 2 */ + /*FALLTHROUGH*/ + case BL_BADUSER: dbi.count++; dbi.last = ts.tv_sec; if (c.c_nfail != -1 && dbi.count >= c.c_nfail) { @@ -254,9 +263,6 @@ process(bl_t bl) dbi.count = 0; dbi.last = 0; break; - case BL_BADUSER: - /* ignore for now */ - break; default: (*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); } @@ -334,7 +340,7 @@ static void addfd(struct pollfd **pfdp, bl_t **blp, size_t *nfd, size_t *maxfd, const char *path) { - bl_t bl = bl_create(true, path, vflag ? vdlog : vsyslog); + bl_t bl = bl_create(true, path, vflag ? vdlog : vsyslog_r); if (bl == NULL || !bl_isconnected(bl)) exit(EXIT_FAILURE); if (*nfd >= *maxfd) { @@ -395,15 +401,25 @@ rules_flush(void) static void rules_restore(void) { + DB *db; struct conf c; struct dbinfo dbi; unsigned int f; - for (f = 1; state_iterate(state, &c, &dbi, f) == 1; f = 0) { + db = state_open(dbfile, O_RDONLY, 0); + if (db == NULL) { + (*lfun)(LOG_ERR, "Can't open `%s' to restore state (%m)", + dbfile); + return; + } + for (f = 1; state_iterate(db, &c, &dbi, f) == 1; f = 0) { if (dbi.id[0] == '\0') continue; (void)run_change("add", &c, dbi.id, sizeof(dbi.id)); + state_put(state, &c, &dbi); } + state_close(db); + state_sync(state); } int diff --git a/contrib/blocklist/bin/blacklistd.conf.5 b/contrib/blocklist/bin/blocklistd.conf.5 similarity index 83% rename from contrib/blocklist/bin/blacklistd.conf.5 rename to contrib/blocklist/bin/blocklistd.conf.5 index 70036441eb4b..3a7dbfc07f58 100644 --- a/contrib/blocklist/bin/blacklistd.conf.5 +++ b/contrib/blocklist/bin/blocklistd.conf.5 @@ -1,6 +1,6 @@ -.\" $NetBSD: blacklistd.conf.5,v 1.9 2019/11/06 20:33:30 para Exp $ +.\" $NetBSD: blocklistd.conf.5,v 1.7 2025/02/11 17:47:05 christos Exp $ .\" -.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" Copyright (c) 2015, 2025 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation @@ -27,17 +27,17 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 18, 2020 -.Dt BLACKLISTD.CONF 5 +.Dd February 5, 2025 +.Dt BLOCKLISTD.CONF 5 .Os .Sh NAME -.Nm blacklistd.conf -.Nd configuration file format for blacklistd +.Nm blocklistd.conf +.Nd configuration file format for blocklistd .Sh DESCRIPTION The .Nm file contains configuration entries for -.Xr blacklistd 8 +.Xr blocklistd 8 in a fashion similar to .Xr inetd.conf 5 . Only one entry per line is permitted. @@ -48,34 +48,34 @@ Comments are denoted by a at the beginning of a line. .Pp There are two kinds of configuration lines, -.Va local +.Va [local] and -.Va remote . +.Va [remote] . By default, configuration lines are -.Va local , +.Va [local] , i.e. the address specified refers to the addresses on the local machine. To switch to between -.Va local +.Va [local] and -.Va remote +.Va [remote] configuration lines you can specify the stanzas: .Dq [local] and .Dq [remote] . .Pp On -.Va local +.Va [local] and -.Va remote +.Va [remote] lines .Dq * means use the default, or wildcard match. In addition, for -.Va remote +.Va [remote] lines .Dq = means use the values from the matched -.Va local +.Va [local] configuration line. .Pp The first four fields, @@ -85,9 +85,9 @@ The first four fields, and .Va owner are used to match the -.Va local +.Va [local] or -.Va remote +.Va [remote] addresses, whereas the last 3 fields .Va name , .Va nfail , @@ -110,8 +110,8 @@ The can be an IPv4 address in numeric format, an IPv6 address in numeric format and enclosed by square brackets, or an interface name. Mask modifiers are not allowed on interfaces because interfaces -can have multiple addresses in different protocols where the mask has a different -size. +can have multiple addresses in different protocols where the mask has a +different size. .Pp The .Dv mask @@ -143,8 +143,8 @@ The field, is the name of the packet filter rule to be used. If the .Va name -starts with a -.Dq - , +starts with a hyphen +.Pq Dq - , then the default rulename is prepended to the given name. If the .Dv name @@ -160,13 +160,13 @@ field contains the number of failed attempts before access is blocked, defaulting to .Dq * meaning never, and the last field -.Va disable +.Va duration specifies the amount of time since the last access that the blocking rule should be active, defaulting to .Dq * meaning forever. The default unit for -.Va disable +.Va duration is seconds, but one can specify suffixes for different units, such as .Dq m for minutes @@ -176,28 +176,34 @@ for hours and for days. .Pp Matching is done first by checking the -.Va local +.Va [local] rules individually, in the order of the most specific to the least specific. -If a match is found, then the -.Va remote +If a match is found, then the matching +.Va [remote] rules are applied. The .Va name , .Va nfail , and -.Va disable +.Va duration fields can be altered by the -.Va remote +.Va [remote] rule that matched. .Pp The -.Va remote +.Va [remote] rules can be used for allowing specific addresses, changing the mask -size, the rule that the packet filter uses, the number of failed attempts, -or the block duration. +size (via +.Va name ) , +the rule that the packet filter uses (also via +.Va name ) , +the number of failed attempts (via +.Va nfail ) , +or the duration to block (via +.Va duration ) . .Sh FILES -.Bl -tag -width /etc/blacklistd.conf -compact -.It Pa /etc/blacklistd.conf +.Bl -tag -width /etc/blocklistd.conf -compact +.It Pa /etc/blocklistd.conf Configuration file. .El .Sh EXAMPLES @@ -209,13 +215,15 @@ bnx0:ssh * * * * 3 6h [remote] # Never block 1.2.3.4 1.2.3.4:ssh * * * * * * -# For addresses coming from 8.8.0.0/16 block whole /24 networks instead of +# Never block the example IPv6 subnet either +[2001:db8::]/32:ssh * * * * * * +# For addresses coming from 8.8.0.0/16 block whole /24 networks instead # individual hosts, but keep the rest of the blocking parameters the same. 8.8.0.0/16:ssh * * * /24 = = .Ed .Sh SEE ALSO -.Xr blacklistctl 8 , -.Xr blacklistd 8 +.Xr blocklistctl 8 , +.Xr blocklistd 8 .Sh HISTORY .Nm first appeared in *** 2790 LINES SKIPPED *** From nobody Tue Oct 14 00:57:32 2025 X-Original-To: dev-commits-src-branches@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 4clwmX65P0z6Cf7k; Tue, 14 Oct 2025 00:57:32 +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 4clwmX4TW0z3vLH; Tue, 14 Oct 2025 00:57:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403452; 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=avv082mq+TMVcgd90z4b7ULaO4CHaccqui1zyKSKpBY=; b=E8wguCGYDeMwdiq6Q7X3B4YG4aDKh3K3K+V3Q2KzZMKYbAtD0Ot/89ie2x+BuXpA3jgluX sJ8BZ9XOuMfXob2mLq2kETIFsovN8nCXNdLOgbdJIURgE58iaYoEGhFpN2gVDNmqL/Do8C gLNdWnSYirpZgLbPf1XoHdHnCMA3cKEKItWrlQXWRGNIzu5GnidEi53qVyXbLAfJjJlEy5 BMu73Wzkl4Jz7F99lLgoapmBqqQ1yM/1bu+4PrESOzGl7Q7PAUfm8TIXHdogjzx8zXqOsM e8EtbKzFkH7lD8PBKyEa5AKK5MY5NNJXMe5J2ymuhckUM8fzdT7Mo2qctvuWVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403452; 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=avv082mq+TMVcgd90z4b7ULaO4CHaccqui1zyKSKpBY=; b=g9Az4Rt+fx5We1S+0HFd/+yFOURQBB4AnLwbSQ9BO9hHMvwNiODer/wHMLEdCEQUv54j+P Zy9VLIhkkfmj21UeG+0UnSxR6mM6QJSuQV71KPo/Bamr1+0FVMZdJpolnCgLrjcITQnGf0 QPW8gMG5ZdSu0ynpjIDCI9KeVvK9RJ7j3lXZF+hziB9xVPA9uC0Y3qccAg8bh4TOmopSmU qT14a+gLsnFfHmAfShWGCHdtuKBCM5zqL41dL3fesCnvnmhbx5syrXC09h7fkHnKgD22tl DcDnf7WOEmT80I5cVswoMe4b7/fd54Axq8PhhZl8UrE0Y4J+25UuE5hzLXE8WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403452; a=rsa-sha256; cv=none; b=vrh+M7JjnQ8hpWyUamOoo9+LT8MkKbeL7LQFF6XxOvZq0Mk3Z0ME9/FnxpOwXMXq251CoY GKqkZXM1drQhiwVyJepknmOGdB3u1YnSGPV8mSG8+Tg+Gl7hfuMsUEdWs1h5NGLGOe5GcN sLv2FcvQ3ydhOBhl/bLLaywYB0RScYXSaitQxeSlrI0urZ7XDM3W565LdvC8bBb0ZeDzPd /g5nSz5qHuxyutWmARwNC8gEl4QWcbIwBvwkkyxCY0fon+pFJ/iqnAk2EfODPNiXGBItAX 2AXpGyDTVwVdupb6jdSkpPr9k7iLzbRonBqV1Q63fyXH23KRVPHNNbiEGa9pXA== 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 4clwmX3r19zVVB; Tue, 14 Oct 2025 00:57:32 +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 59E0vW5a021562; Tue, 14 Oct 2025 00:57:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vWb1021559; Tue, 14 Oct 2025 00:57:32 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:32 GMT Message-Id: <202510140057.59E0vWb1021559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: a719ef67e8ed - stable/15 - blocklist: Revert upstream commit ddf6d71 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a719ef67e8ed2cbae5f397d2a4680a02495b79ab Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=a719ef67e8ed2cbae5f397d2a4680a02495b79ab commit a719ef67e8ed2cbae5f397d2a4680a02495b79ab Author: Jose Luis Duran AuthorDate: 2025-10-11 14:15:03 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:52:47 +0000 blocklist: Revert upstream commit ddf6d71 Upstream commit ddf6d71 ("implement BLOCKLIST_BAD_USER as a "one-count" failure") introduced BLOCKLIST_BAD_USER with a one-count failure mechanism. BLOCKLIST_AUTH_FAIL was implemented with a two-count failure mechanism. Since we have been utilizing BLOCKLIST_AUTH_FAIL, the number of failed attempts now doubles towards the maximum limit (nfails), giving system administrators the impression that the number of failed authentication attempts is inaccurate. Revert this commit until a consensus has been reached. We do not want to introduce yet another breaking change with the renaming of the library. Approved by: emaste (mentor) MFC after: 2 days (cherry picked from commit 4d56eb007b18881becb2107f87bd2a7edca3e6bf) --- contrib/blocklist/bin/blocklistd.c | 18 +++++++++--------- contrib/blocklist/lib/libblocklist.3 | 32 +++++++++++++++++++------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/contrib/blocklist/bin/blocklistd.c b/contrib/blocklist/bin/blocklistd.c index 4846b507c8d1..03a1dbbf056c 100644 --- a/contrib/blocklist/bin/blocklistd.c +++ b/contrib/blocklist/bin/blocklistd.c @@ -222,19 +222,16 @@ process(bl_t bl) switch (bi->bi_type) { case BL_ABUSE: /* - * If the application has signaled abusive behavior, set the - * number of fails to be two less than the configured limit. - * Fall through to the normal BL_ADD and BL_BADUSER processing, - * which will increment the failure count to the threshhold, and - * block the abusive address. + * If the application has signaled abusive behavior, + * set the number of fails to be one less than the + * configured limit. Fallthrough to the normal BL_ADD + * processing, which will increment the failure count + * to the threshhold, and block the abusive address. */ if (c.c_nfail != -1) - dbi.count = c.c_nfail - 2; + dbi.count = c.c_nfail - 1; /*FALLTHROUGH*/ case BL_ADD: - dbi.count++; /* will become += 2 */ - /*FALLTHROUGH*/ - case BL_BADUSER: dbi.count++; dbi.last = ts.tv_sec; if (c.c_nfail != -1 && dbi.count >= c.c_nfail) { @@ -263,6 +260,9 @@ process(bl_t bl) dbi.count = 0; dbi.last = 0; break; + case BL_BADUSER: + /* ignore for now */ + break; default: (*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); } diff --git a/contrib/blocklist/lib/libblocklist.3 b/contrib/blocklist/lib/libblocklist.3 index 7a016625a047..fd6eb93eb756 100644 --- a/contrib/blocklist/lib/libblocklist.3 +++ b/contrib/blocklist/lib/libblocklist.3 @@ -106,20 +106,26 @@ The .Ar action parameter can take these values: .Bl -tag -width ".Dv BLOCKLIST_ABUSIVE_BEHAVIOR" -.It Va BLOCKLIST_BAD_USER -The sending daemon has determined the username presented for -authentication is invalid. -This is considered as one failure count. -.It Va BLOCKLIST_AUTH_FAIL +.It Dv BLOCKLIST_AUTH_FAIL There was an unsuccessful authentication attempt. -This is considered as two failure counts together. -.It Va BLOCKLIST_ABUSIVE_BEHAVIOR -The sending daemon has detected abusive behavior from the remote system. -This is considered as a total immediate failure. -The remote address will be blocked as soon as possible. -.It Va BLOCKLIST_AUTH_OK -A valid user successfully authenticated. -Any entry for the remote address will be removed as soon as possible. +.It Dv BLOCKLIST_AUTH_OK +A user successfully authenticated. +.It Dv BLOCKLIST_ABUSIVE_BEHAVIOR +The sending daemon has detected abusive behavior +from the remote system. +The remote address should +be blocked as soon as possible. +.It Dv BLOCKLIST_BAD_USER +The sending daemon has determined the username +presented for authentication is invalid. +The +.Xr blocklistd 8 +daemon compares the username to a configured list of forbidden +usernames and +blocks the address immediately if a forbidden username matches. +(The +.Dv BLOCKLIST_BAD_USER +support is not currently available.) .El .Pp The From nobody Tue Oct 14 00:57:33 2025 X-Original-To: dev-commits-src-branches@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 4clwmZ1Nnhz6Cf7n; Tue, 14 Oct 2025 00:57:34 +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 4clwmY6D0Lz3vTK; Tue, 14 Oct 2025 00:57:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403453; 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=SYEoRmB2eWwW72rV0Iik5942KuAMfyB1h4Xv+4O2Tsk=; b=pwahNlHZ1jLkaH+EdmYnd5Y6230iE/OehJlejOIxa+0OmVsy7B1v35TVYz6hFHaK1yawb4 Qih6Q29IUTHr/urEH2Bj40Evm0Yue8F7E8PJxkusGE+BrHLepxGCBcatipUjPh9VOwr0eU aj87srMcW+8yEIQCQLNlwWwvy9qkUXGfmpBNr1zR62c3hR7hpBX9TSRmD4+ypsca/mpara pMnYOhtwOwQwTdQGEp0yE/S8HmplHWLirPfzRU/JiImlzcqQGsabfzOBfss1YKuc2ED2Q/ bUp6NJLCf0IUet7WobQYPemh6BmlIO4BJtibC/Ak/+sUzL3WUIw/+0c4rfUJ8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403453; 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=SYEoRmB2eWwW72rV0Iik5942KuAMfyB1h4Xv+4O2Tsk=; b=trw0r0RTt6iTRbM/1DgedEK+opvF67NeiSKMjpSWSueBBZiJ+QF2XS2+Sy8Jc9enBvxFHe EG0u/ud6+L3d4OlI1/AVFQQGbbU4dZBGtJVtHqI47jsIs7KDsGyPK0l5aOnLmbnO0kdgF/ Khg748BqOkx7m40u7f5ODqnLoGNzwYR8hq8wyGtmoxj7Li6Lqkr26XRz7BvUnVRIopSIFd Mp13wdOwDKEYHOmRAAI+k4Smt0ThEhaKY7HzBDDAw+Wc+P6EAvv4gFX4zpgfg9NSFfzDKS UqZBXLWWMZopW7LDT5+dRX8JaT+GbddXdc+EeK6oaypmlyW2onoFk6+Ibrcj1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403453; a=rsa-sha256; cv=none; b=jlv5iaRc+vTDut9oO5qtTlCgDJHUxBtpNmsLmTBWbGDhdltC12HUG4ZOMIOgDH2E7dn+5X hdvLYPf3h/nBiyB7UEEle0GWHrQvRlvnoJsZRXHJUwC6Z9v/tXkPFjlmIZTAYje7W/WOd6 FtM8VNYnDUU4054e1BD2M/uwgIZZ5XyPXa4uMsvVVurLU7Qh8go6eLwmmFQuTEyEHD3uuG rsnSD4RPr8sbageQ+Rrxvse5VHz6e/RD7PfnT3BTNH0S76T4G+Us2j5iZY1fSeocdES9v5 wQLtz+omZxQJaoKMW31Y+B2zhVbblbwdjWS3eHOmCR2hpX7XUYvOjmgI8haqHw== 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 4clwmY4qKvzVC1; Tue, 14 Oct 2025 00:57:33 +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 59E0vXdQ021599; Tue, 14 Oct 2025 00:57:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vXQf021596; Tue, 14 Oct 2025 00:57:33 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:33 GMT Message-Id: <202510140057.59E0vXQf021596@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 7f6f2139eef9 - stable/15 - blocklist: Rename blacklist to blocklist List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7f6f2139eef9f9fc263977c847c6dbf235a1b1b7 Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=7f6f2139eef9f9fc263977c847c6dbf235a1b1b7 commit 7f6f2139eef9f9fc263977c847c6dbf235a1b1b7 Author: Jose Luis Duran AuthorDate: 2025-10-12 17:14:27 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:53:16 +0000 blocklist: Rename blacklist to blocklist Follow up upstream rename from blacklist to blocklist. - Old names and rc scripts are still valid, but emitting an ugly warning - Old firewall rules and anchor names should work, but emitting an ugly warning - Old MK_BLACKLIST* knobs are wired to the new ones Although care has been taken not to break current configurations, this is a large patch containing mostly duplicated code. If issues arise, it will be swiftly reverted. Reviewed by: ivy (pkgbase) Approved by: emaste (mentor) MFC after: 2 days Relnotes: yes (cherry picked from commit 7238317403b95a8e35cf0bc7cd66fbd78ecbe521) --- contrib/blocklist/bin/blacklistctl.c | 170 ++++++ contrib/blocklist/bin/blacklistd.c | 592 +++++++++++++++++++++ contrib/blocklist/bin/old_internal.c | 50 ++ contrib/blocklist/bin/old_internal.h | 58 ++ contrib/blocklist/include/blacklist.h | 65 +++ contrib/blocklist/include/old_bl.h | 80 +++ contrib/blocklist/lib/blacklist.c | 117 ++++ contrib/blocklist/lib/old_bl.c | 554 +++++++++++++++++++ crypto/openssh/auth-pam.c | 4 +- crypto/openssh/auth.c | 8 +- crypto/openssh/{blacklist.c => blocklist.c} | 16 +- .../{blacklist_client.h => blocklist_client.h} | 30 +- crypto/openssh/monitor.c | 8 +- crypto/openssh/servconf.c | 18 +- crypto/openssh/servconf.h | 2 +- crypto/openssh/sshd-session.c | 10 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 14 +- lib/Makefile | 1 + lib/libblacklist/Makefile | 24 +- lib/libblocklist/Makefile | 30 ++ lib/libblocklist/Makefile.depend | 16 + lib/libsysdecode/Makefile.depend | 2 +- libexec/Makefile | 6 +- libexec/blacklistd-helper/Makefile | 7 - libexec/blocklistd-helper/Makefile | 10 + .../Makefile.depend | 0 libexec/blocklistd-helper/blacklistd-helper | 293 ++++++++++ libexec/fingerd/Makefile | 8 +- libexec/fingerd/Makefile.depend.options | 2 +- libexec/fingerd/fingerd.c | 16 +- libexec/rc/rc.conf | 6 +- libexec/rc/rc.d/Makefile | 5 +- libexec/rc/rc.d/blacklistd | 10 +- libexec/rc/rc.d/blocklistd | 46 ++ release/packages/ucl/blocklist-all.ucl | 8 +- secure/libexec/sshd-auth/Makefile | 10 +- secure/libexec/sshd-session/Makefile | 10 +- secure/usr.sbin/sshd/Makefile.depend.options | 2 +- share/man/man5/periodic.conf.5 | 2 +- share/man/man5/src.conf.5 | 43 +- share/mk/bsd.libnames.mk | 1 + share/mk/local.dirdeps-options.mk | 1 + share/mk/src.libnames.mk | 10 +- share/mk/src.opts.mk | 10 + targets/pseudo/userland/Makefile.depend | 6 + targets/pseudo/userland/lib/Makefile.depend | 4 + targets/pseudo/userland/libexec/Makefile.depend | 4 +- tools/build/mk/OptionalObsoleteFiles.inc | 21 +- tools/build/options/WITHOUT_BLACKLIST | 6 +- tools/build/options/WITHOUT_BLACKLIST_SUPPORT | 8 +- tools/build/options/WITHOUT_BLOCKLIST | 4 + tools/build/options/WITHOUT_BLOCKLIST_SUPPORT | 6 + usr.sbin/Makefile | 2 + usr.sbin/blacklistctl/Makefile | 10 +- usr.sbin/blacklistd/Makefile | 13 +- usr.sbin/blacklistd/blacklistd.conf | 10 +- usr.sbin/blocklistctl/Makefile | 22 + usr.sbin/blocklistctl/Makefile.depend | 18 + usr.sbin/blocklistd/Makefile | 23 + usr.sbin/blocklistd/Makefile.depend | 18 + usr.sbin/blocklistd/blocklistd.conf | 16 + usr.sbin/periodic/etc/security/520.pfdenied | 2 +- 63 files changed, 2426 insertions(+), 144 deletions(-) diff --git a/contrib/blocklist/bin/blacklistctl.c b/contrib/blocklist/bin/blacklistctl.c new file mode 100644 index 000000000000..6298a08b10b4 --- /dev/null +++ b/contrib/blocklist/bin/blacklistctl.c @@ -0,0 +1,170 @@ +/* $NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif +__RCSID("$NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $"); + +#include +#include +#ifdef HAVE_LIBUTIL_H +#include +#endif +#ifdef HAVE_UTIL_H +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +#include "conf.h" +#include "state.h" +#include "old_internal.h" +#include "support.h" + +static __dead void +usage(int c) +{ + if (c == 0) + warnx("Missing/unknown command"); + else if (c != '?') + warnx("Unknown option `%c'", (char)c); + fprintf(stderr, + "Usage: %s dump [-abdnrw] [-D dbname]\n", getprogname()); + exit(EXIT_FAILURE); +} + +static const char * +star(char *buf, size_t len, int val) +{ + if (val == -1) + return "*"; + snprintf(buf, len, "%d", val); + return buf; +} + +int +main(int argc, char *argv[]) +{ + const char *dbname = _PATH_BLSTATE; + DB *db; + struct conf c; + struct dbinfo dbi; + unsigned int i; + struct timespec ts; + int all, blocked, remain, wide, noheader; + int o; + + noheader = wide = blocked = all = remain = 0; + lfun = dlog; + + if (argc == 1 || strcmp(argv[1], "dump") != 0) + usage(0); + + argc--; + argv++; + + while ((o = getopt(argc, argv, "abD:dnrw")) != -1) + switch (o) { + case 'a': + all = 1; + blocked = 0; + break; + case 'b': + blocked = 1; + break; + case 'D': + dbname = optarg; + break; + case 'd': + debug++; + break; + case 'n': + noheader = 1; + break; + case 'r': + remain = 1; + break; + case 'w': + wide = 1; + break; + default: + usage(o); + } + + db = state_open(dbname, O_RDONLY, 0); + if (db == NULL) + err(EXIT_FAILURE, "Can't open `%s'", dbname); + + clock_gettime(CLOCK_REALTIME, &ts); + wide = wide ? 8 * 4 + 7 : 4 * 3 + 3; + if (!noheader) + printf("%*.*s/ma:port\tid\tnfail\t%s\n", wide, wide, + "address", remain ? "remaining time" : "last access"); + for (i = 1; state_iterate(db, &c, &dbi, i) != 0; i = 0) { + char buf[BUFSIZ]; + char mbuf[64], pbuf[64]; + if (!all) { + if (blocked) { + if (c.c_nfail == -1 || dbi.count < c.c_nfail) + continue; + } else { + if (dbi.count >= c.c_nfail) + continue; + } + } + sockaddr_snprintf(buf, sizeof(buf), "%a", (void *)&c.c_ss); + printf("%*.*s/%s:%s\t", wide, wide, buf, + star(mbuf, sizeof(mbuf), c.c_lmask), + star(pbuf, sizeof(pbuf), c.c_port)); + if (c.c_duration == -1) { + strlcpy(buf, "never", sizeof(buf)); + } else { + if (remain) + fmtydhms(buf, sizeof(buf), + c.c_duration - (ts.tv_sec - dbi.last)); + else + fmttime(buf, sizeof(buf), dbi.last); + } + printf("%s\t%d/%s\t%-s\n", dbi.id, dbi.count, + star(mbuf, sizeof(mbuf), c.c_nfail), buf); + } + state_close(db); + return EXIT_SUCCESS; +} diff --git a/contrib/blocklist/bin/blacklistd.c b/contrib/blocklist/bin/blacklistd.c new file mode 100644 index 000000000000..ded3075ed707 --- /dev/null +++ b/contrib/blocklist/bin/blacklistd.c @@ -0,0 +1,592 @@ +/* $NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif +__RCSID("$NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $"); + +#include +#include +#include + +#ifdef HAVE_LIBUTIL_H +#include +#endif +#ifdef HAVE_UTIL_H +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "old_bl.h" +#include "old_internal.h" +#include "conf.h" +#include "run.h" +#include "state.h" +#include "support.h" + +static const char *configfile = _PATH_BLCONF; +static DB *state; +static const char *dbfile = _PATH_BLSTATE; +static sig_atomic_t readconf; +static sig_atomic_t done; +static int vflag; + +static void +sigusr1(int n __unused) +{ + debug++; +} + +static void +sigusr2(int n __unused) +{ + debug--; +} + +static void +sighup(int n __unused) +{ + readconf++; +} + +static void +sigdone(int n __unused) +{ + done++; +} + +static __dead void +usage(int c) +{ + if (c != '?') + warnx("Unknown option `%c'", (char)c); + fprintf(stderr, "Usage: %s [-vdfr] [-c ] [-R ] " + "[-P ] [-C ] [-D ] " + "[-s ] [-t ]\n", getprogname()); + exit(EXIT_FAILURE); +} + +static int +getremoteaddress(bl_info_t *bi, struct sockaddr_storage *rss, socklen_t *rsl) +{ + *rsl = sizeof(*rss); + memset(rss, 0, *rsl); + + if (getpeername(bi->bi_fd, (void *)rss, rsl) != -1) + return 0; + + if (errno != ENOTCONN) { + (*lfun)(LOG_ERR, "getpeername failed (%m)"); + return -1; + } + + if (bi->bi_slen == 0) { + (*lfun)(LOG_ERR, "unconnected socket with no peer in message"); + return -1; + } + + switch (bi->bi_ss.ss_family) { + case AF_INET: + *rsl = sizeof(struct sockaddr_in); + break; + case AF_INET6: + *rsl = sizeof(struct sockaddr_in6); + break; + default: + (*lfun)(LOG_ERR, "bad client passed socket family %u", + (unsigned)bi->bi_ss.ss_family); + return -1; + } + + if (*rsl != bi->bi_slen) { + (*lfun)(LOG_ERR, "bad client passed socket length %u != %u", + (unsigned)*rsl, (unsigned)bi->bi_slen); + return -1; + } + + memcpy(rss, &bi->bi_ss, *rsl); + +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN + if (*rsl != rss->ss_len) { + (*lfun)(LOG_ERR, + "bad client passed socket internal length %u != %u", + (unsigned)*rsl, (unsigned)rss->ss_len); + return -1; + } +#endif + return 0; +} + +static void +process(bl_t bl) +{ + struct sockaddr_storage rss; + socklen_t rsl; + char rbuf[BUFSIZ]; + bl_info_t *bi; + struct conf c; + struct dbinfo dbi; + struct timespec ts; + + memset(&dbi, 0, sizeof(dbi)); + memset(&c, 0, sizeof(c)); + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { + (*lfun)(LOG_ERR, "clock_gettime failed (%m)"); + return; + } + + if ((bi = bl_recv(bl)) == NULL) { + (*lfun)(LOG_ERR, "no message (%m)"); + return; + } + + if (getremoteaddress(bi, &rss, &rsl) == -1) + goto out; + + if (debug || bi->bi_msg[0]) { + sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); + (*lfun)(bi->bi_msg[0] ? LOG_INFO : LOG_DEBUG, + "processing type=%d fd=%d remote=%s msg=%s uid=%lu gid=%lu", + bi->bi_type, bi->bi_fd, rbuf, + bi->bi_msg, (unsigned long)bi->bi_uid, + (unsigned long)bi->bi_gid); + } + + if (conf_find(bi->bi_fd, bi->bi_uid, &rss, &c) == NULL) { + (*lfun)(LOG_DEBUG, "no rule matched"); + goto out; + } + + + if (state_get(state, &c, &dbi) == -1) + goto out; + + if (debug) { + char b1[128], b2[128]; + (*lfun)(LOG_DEBUG, "%s: initial db state for %s: count=%d/%d " + "last=%s now=%s", __func__, rbuf, dbi.count, c.c_nfail, + fmttime(b1, sizeof(b1), dbi.last), + fmttime(b2, sizeof(b2), ts.tv_sec)); + } + + switch (bi->bi_type) { + case BL_ABUSE: + /* + * If the application has signaled abusive behavior, + * set the number of fails to be one less than the + * configured limit. Fallthrough to the normal BL_ADD + * processing, which will increment the failure count + * to the threshhold, and block the abusive address. + */ + if (c.c_nfail != -1) + dbi.count = c.c_nfail - 1; + /*FALLTHROUGH*/ + case BL_ADD: + dbi.count++; + dbi.last = ts.tv_sec; + if (c.c_nfail != -1 && dbi.count >= c.c_nfail) { + /* + * No point in re-adding the rule. + * It might exist already due to latency in processing + * and removing the rule is the wrong thing to do as + * it allows a window to attack again. + */ + if (dbi.id[0] == '\0') { + int res = run_change("add", &c, + dbi.id, sizeof(dbi.id)); + if (res == -1) + goto out; + } + sockaddr_snprintf(rbuf, sizeof(rbuf), "%a", + (void *)&rss); + (*lfun)(LOG_INFO, + "blocked %s/%d:%d for %d seconds", + rbuf, c.c_lmask, c.c_port, c.c_duration); + } + break; + case BL_DELETE: + if (dbi.last == 0) + goto out; + dbi.count = 0; + dbi.last = 0; + break; + case BL_BADUSER: + /* ignore for now */ + break; + default: + (*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); + } + state_put(state, &c, &dbi); + +out: + close(bi->bi_fd); + + if (debug) { + char b1[128], b2[128]; + (*lfun)(LOG_DEBUG, "%s: final db state for %s: count=%d/%d " + "last=%s now=%s", __func__, rbuf, dbi.count, c.c_nfail, + fmttime(b1, sizeof(b1), dbi.last), + fmttime(b2, sizeof(b2), ts.tv_sec)); + } +} + +static void +update_interfaces(void) +{ + struct ifaddrs *oifas, *nifas; + + if (getifaddrs(&nifas) == -1) + return; + + oifas = ifas; + ifas = nifas; + + if (oifas) + freeifaddrs(oifas); +} + +static void +update(void) +{ + struct timespec ts; + struct conf c; + struct dbinfo dbi; + unsigned int f, n; + char buf[128]; + void *ss = &c.c_ss; + + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { + (*lfun)(LOG_ERR, "clock_gettime failed (%m)"); + return; + } + +again: + for (n = 0, f = 1; state_iterate(state, &c, &dbi, f) == 1; + f = 0, n++) + { + time_t when = c.c_duration + dbi.last; + if (debug > 1) { + char b1[64], b2[64]; + sockaddr_snprintf(buf, sizeof(buf), "%a:%p", ss); + (*lfun)(LOG_DEBUG, "%s:[%u] %s count=%d duration=%d " + "last=%s " "now=%s", __func__, n, buf, dbi.count, + c.c_duration, fmttime(b1, sizeof(b1), dbi.last), + fmttime(b2, sizeof(b2), ts.tv_sec)); + } + if (c.c_duration == -1 || when >= ts.tv_sec) + continue; + if (dbi.id[0]) { + run_change("rem", &c, dbi.id, 0); + sockaddr_snprintf(buf, sizeof(buf), "%a", ss); + (*lfun)(LOG_INFO, "released %s/%d:%d after %d seconds", + buf, c.c_lmask, c.c_port, c.c_duration); + } + state_del(state, &c); + goto again; + } +} + +static void +addfd(struct pollfd **pfdp, bl_t **blp, size_t *nfd, size_t *maxfd, + const char *path) +{ + bl_t bl = bl_create(true, path, vflag ? vdlog : vsyslog_r); + if (bl == NULL || !bl_isconnected(bl)) + exit(EXIT_FAILURE); + if (*nfd >= *maxfd) { + *maxfd += 10; + *blp = realloc(*blp, sizeof(**blp) * *maxfd); + if (*blp == NULL) + err(EXIT_FAILURE, "malloc"); + *pfdp = realloc(*pfdp, sizeof(**pfdp) * *maxfd); + if (*pfdp == NULL) + err(EXIT_FAILURE, "malloc"); + } + + (*pfdp)[*nfd].fd = bl_getfd(bl); + (*pfdp)[*nfd].events = POLLIN; + (*blp)[*nfd] = bl; + *nfd += 1; +} + +static void +uniqueadd(struct conf ***listp, size_t *nlist, size_t *mlist, struct conf *c) +{ + struct conf **list = *listp; + + if (c->c_name[0] == '\0') + return; + for (size_t i = 0; i < *nlist; i++) { + if (strcmp(list[i]->c_name, c->c_name) == 0) + return; + } + if (*nlist == *mlist) { + *mlist += 10; + void *p = realloc(*listp, *mlist * sizeof(*list)); + if (p == NULL) + err(EXIT_FAILURE, "Can't allocate for rule list"); + list = *listp = p; + } + list[(*nlist)++] = c; +} + +static void +rules_flush(void) +{ + struct conf **list; + size_t nlist, mlist; + + list = NULL; + mlist = nlist = 0; + for (size_t i = 0; i < rconf.cs_n; i++) + uniqueadd(&list, &nlist, &mlist, &rconf.cs_c[i]); + for (size_t i = 0; i < lconf.cs_n; i++) + uniqueadd(&list, &nlist, &mlist, &lconf.cs_c[i]); + + for (size_t i = 0; i < nlist; i++) + run_flush(list[i]); + free(list); +} + +static void +rules_restore(void) +{ + DB *db; + struct conf c; + struct dbinfo dbi; + unsigned int f; + + db = state_open(dbfile, O_RDONLY, 0); + if (db == NULL) { + (*lfun)(LOG_ERR, "Can't open `%s' to restore state (%m)", + dbfile); + return; + } + for (f = 1; state_iterate(db, &c, &dbi, f) == 1; f = 0) { + if (dbi.id[0] == '\0') + continue; + (void)run_change("add", &c, dbi.id, sizeof(dbi.id)); + state_put(state, &c, &dbi); + } + state_close(db); + state_sync(state); +} + +int +main(int argc, char *argv[]) +{ + int c, tout, flags, flush, restore, ret; + const char *spath, **blsock; + size_t nblsock, maxblsock; + + setprogname(argv[0]); + + spath = NULL; + blsock = NULL; + maxblsock = nblsock = 0; + flush = 0; + restore = 0; + tout = 0; + flags = O_RDWR|O_EXCL|O_CLOEXEC; + while ((c = getopt(argc, argv, "C:c:D:dfP:rR:s:t:v")) != -1) { + switch (c) { + case 'C': + controlprog = optarg; + break; + case 'c': + configfile = optarg; + break; + case 'D': + dbfile = optarg; + break; + case 'd': + debug++; + break; + case 'f': + flush++; + break; + case 'P': + spath = optarg; + break; + case 'R': + rulename = optarg; + break; + case 'r': + restore++; + break; + case 's': + if (nblsock >= maxblsock) { + maxblsock += 10; + void *p = realloc(blsock, + sizeof(*blsock) * maxblsock); + if (p == NULL) + err(EXIT_FAILURE, + "Can't allocate memory for %zu sockets", + maxblsock); + blsock = p; + } + blsock[nblsock++] = optarg; + break; + case 't': + tout = atoi(optarg) * 1000; + break; + case 'v': + vflag++; + break; + default: + usage(c); + } + } + + argc -= optind; + if (argc) + usage('?'); + + signal(SIGHUP, sighup); + signal(SIGINT, sigdone); + signal(SIGQUIT, sigdone); + signal(SIGTERM, sigdone); + signal(SIGUSR1, sigusr1); + signal(SIGUSR2, sigusr2); + + openlog(getprogname(), LOG_PID, LOG_DAEMON); + + if (debug) { + lfun = dlog; + if (tout == 0) + tout = 5000; + } else { + if (tout == 0) + tout = 15000; + } + + update_interfaces(); + conf_parse(configfile); + if (flush) { + rules_flush(); + if (!restore) + flags |= O_TRUNC; + } + + struct pollfd *pfd = NULL; + bl_t *bl = NULL; + size_t nfd = 0; + size_t maxfd = 0; + + for (size_t i = 0; i < nblsock; i++) + addfd(&pfd, &bl, &nfd, &maxfd, blsock[i]); + free(blsock); + + if (spath) { + FILE *fp = fopen(spath, "r"); + char *line; + if (fp == NULL) + err(EXIT_FAILURE, "Can't open `%s'", spath); + for (; (line = fparseln(fp, NULL, NULL, NULL, 0)) != NULL; + free(line)) + addfd(&pfd, &bl, &nfd, &maxfd, line); + fclose(fp); + } + if (nfd == 0) + addfd(&pfd, &bl, &nfd, &maxfd, _PATH_BLSOCK); + + state = state_open(dbfile, flags, 0600); + if (state == NULL) + state = state_open(dbfile, flags | O_CREAT, 0600); + if (state == NULL) + return EXIT_FAILURE; + + if (restore) { + if (!flush) + rules_flush(); + rules_restore(); + } + + if (!debug) { + if (daemon(0, 0) == -1) + err(EXIT_FAILURE, "daemon failed"); + if (pidfile(NULL) == -1) + err(EXIT_FAILURE, "Can't create pidfile"); + } + + for (size_t t = 0; !done; t++) { + if (readconf) { + readconf = 0; + conf_parse(configfile); + } + ret = poll(pfd, (nfds_t)nfd, tout); + if (debug) + (*lfun)(LOG_DEBUG, "received %d from poll()", ret); + switch (ret) { + case -1: + if (errno == EINTR) + continue; + (*lfun)(LOG_ERR, "poll (%m)"); + return EXIT_FAILURE; + case 0: + state_sync(state); + break; + default: + for (size_t i = 0; i < nfd; i++) + if (pfd[i].revents & POLLIN) + process(bl[i]); + } + if (t % 100 == 0) + state_sync(state); + if (t % 10000 == 0) + update_interfaces(); + update(); + } + state_close(state); + return 0; +} diff --git a/contrib/blocklist/bin/old_internal.c b/contrib/blocklist/bin/old_internal.c new file mode 100644 index 000000000000..79093cc8b8ab --- /dev/null +++ b/contrib/blocklist/bin/old_internal.c @@ -0,0 +1,50 @@ +/* $NetBSD: internal.c,v 1.2 2025/02/11 17:48:30 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif +__RCSID("$NetBSD: internal.c,v 1.2 2025/02/11 17:48:30 christos Exp $"); + +#include +#include +#include "conf.h" +#include "old_internal.h" + +int debug; +const char *rulename = "blacklistd"; +const char *controlprog = _PATH_BLCONTROL; +struct confset lconf, rconf; +struct ifaddrs *ifas; +void (*lfun)(int, const char *, ...) = syslog; diff --git a/contrib/blocklist/bin/old_internal.h b/contrib/blocklist/bin/old_internal.h new file mode 100644 index 000000000000..becee563e81d --- /dev/null +++ b/contrib/blocklist/bin/old_internal.h @@ -0,0 +1,58 @@ +/* $NetBSD: internal.h,v 1.1.1.1 2020/06/15 01:52:53 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _OLD_INTERNAL_H +#define _OLD_INTERNAL_H + +#ifndef _PATH_BLCONF +#define _PATH_BLCONF "/etc/blacklistd.conf" +#endif +#ifndef _PATH_BLCONTROL +#define _PATH_BLCONTROL "/usr/libexec/blacklistd-helper" +#endif +#ifndef _PATH_BLSTATE +/* We want the new name, the old one would be incompatible after 24932b6 */ +#define _PATH_BLSTATE "/var/db/blocklistd.db" +#endif + +extern struct confset rconf, lconf; +extern int debug; +extern const char *rulename; +extern const char *controlprog; +extern struct ifaddrs *ifas; + +#if !defined(__syslog_attribute__) && !defined(__syslog__) +#define __syslog__ __printf__ +#endif + +extern void (*lfun)(int, const char *, ...) *** 2509 LINES SKIPPED *** From nobody Tue Oct 14 00:57:34 2025 X-Original-To: dev-commits-src-branches@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 4clwmb0tgrz6CfGG; Tue, 14 Oct 2025 00:57: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 4clwmZ5TtYz3vJM; Tue, 14 Oct 2025 00:57:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403454; 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=AHKJ6NZA8VqJr78fJCror4iH+a3OPObm16K3Lb/u/MA=; b=XiaTspaZqZS7cN89tM91S9uskN4L0X8jAEEocCFRJcvWAeSDjPBc7r2N9ExSe1MsJ/C/2X w/si675qhyNbvmUH2UGnnvoFc5GrPaHe4JpA+oSeejhsPpGb94akaaTdkyTyXyX0UHxIVK t7UA6vVR+t4ydH9tNV4mbb5+j/OQQMOqqcaMBwD8+ueMAaWhTEqtWuf3lAfIr04Wcloeer Wzjvkq68ZYByvCMIZY+rZ4bPSkf3iXmBYCl84OPX5J6bg76EPxPHm9jpo1K//e0PQP9m3S cVPHHYkWRUuu9PopnpKyr7ZB/xL2BiMCCcfEroemVlV4pJDxhjasl65rBAueNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403454; 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=AHKJ6NZA8VqJr78fJCror4iH+a3OPObm16K3Lb/u/MA=; b=dfQRR8Jer9tu57ZxMckAYoDaimDBkwIWI5Z8CKRdazz5rfcVDlBAamPKw5ohfzW/9rCSst f6FKOHN44yQsUV9AOMoITqrUCV4QasfRVjnWZjRDLhnJWpkeevc9Udu2/s/eJ6i/6+5B9n KefvIngnNDRWIvnRRA107YRcDbC5eMAX/ViD46zKTIhv44sxt932H1x2bh/UY1fkvlU313 yw8s0tENiD6vMnzQLwDKx9Z2Clhf6aHbSNghH4ygqDA/ATWiuUk2/QjFBSa5nAjspIo/35 T/+uEz/7iAEh/3jnFzrZiW+FL/JOUm2Hg42l6VrUw4ehweY7JwymZkcWhJUGTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403454; a=rsa-sha256; cv=none; b=UrQ8pEOqrJbOHTI9TdI+3dq7yWRsTBErkFyQbutOC+JOyZhvyoG5rfzdcq2M4BZUOCzB/7 If0ZACYVGXfU1N95lALmNFicZoqHkKV66C7zmFXxuYpkKIe/Dm44uJTxPPCrTWjqVhnLjG 2tnvSSTjZPVcyk+vJnqw5rj981/CCNogVKmVQWAyrPDh+aI6BHzL/GDpDWqeHW18dwzxfO 4Cnj7SjIWD4eov10kUB9g3ZUzODsM9o6QELf0elvrEs5RB2xDnLsQ/aHjNsYK89TpaWcPD aTlxDE50Ca0sUJiskbAjDmPODJMn0Ma6TX16nO3SD8U2fd5LjwOui1i3VfWGPw== 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 4clwmZ55TWzTvS; Tue, 14 Oct 2025 00:57:34 +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 59E0vYdR021640; Tue, 14 Oct 2025 00:57:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vYNV021637; Tue, 14 Oct 2025 00:57:34 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:34 GMT Message-Id: <202510140057.59E0vYNV021637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: ba5768504bee - stable/15 - blocklist-helper: Silence a bogus pf warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ba5768504bee39191754fc1aece3927c8936f27c Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=ba5768504bee39191754fc1aece3927c8936f27c commit ba5768504bee39191754fc1aece3927c8936f27c Author: Jose Luis Duran AuthorDate: 2025-10-12 17:16:12 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:53:40 +0000 blocklist-helper: Silence a bogus pf warning Silence a bogus warning about (an ethernet) anchor not being found. It has been reported as PR 280516. In the meantime, just sweep under the carpet. Approved by: emaste (mentor) MFC after: 2 days (cherry picked from commit 2347ca21d657121670e6e7246c6ac32efc996cac) --- contrib/blocklist/libexec/blocklistd-helper | 2 +- libexec/blocklistd-helper/blacklistd-helper | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/blocklist/libexec/blocklistd-helper b/contrib/blocklist/libexec/blocklistd-helper index f27cde4ed4ea..14a192ee35ce 100755 --- a/contrib/blocklist/libexec/blocklistd-helper +++ b/contrib/blocklist/libexec/blocklistd-helper @@ -258,7 +258,7 @@ flush) pf) # dynamically determine which anchors exist for anchor in $(/sbin/pfctl -a "$2" -s Anchors 2> /dev/null); do - /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush + /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush 2> /dev/null /sbin/pfctl -a "$anchor" -F rules done echo OK diff --git a/libexec/blocklistd-helper/blacklistd-helper b/libexec/blocklistd-helper/blacklistd-helper index 4195f070e8ee..92f768e86cdf 100644 --- a/libexec/blocklistd-helper/blacklistd-helper +++ b/libexec/blocklistd-helper/blacklistd-helper @@ -279,7 +279,7 @@ flush) pf) # dynamically determine which anchors exist for anchor in $(/sbin/pfctl -a "$2" -s Anchors 2> /dev/null); do - /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush + /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush 2> /dev/null /sbin/pfctl -a "$anchor" -F rules done echo OK From nobody Tue Oct 14 00:57:35 2025 X-Original-To: dev-commits-src-branches@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 4clwmc2GC0z6Cf7s; Tue, 14 Oct 2025 00:57:36 +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 4clwmb6chXz3vNw; Tue, 14 Oct 2025 00:57:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403456; 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=CaOQbPDJsEm6Ufb8MTac9QM4v0XUeH7ZSH9Bd1M7fUo=; b=R1uEX57CgNWzWlScHLFHZAUiZL8ojE17KgT5QvPkUXb90MqaF3zZL+EOpdcDMgtoMw5tas U0i3/PbN3xvMkSDi/v6A87/0NVirHPrn4QLWgspxJk9nJjVR9QcHJ/k0yn3CkjMo9Vdohd PvQAhGi0rauZNkBFz15fVVbwECLluMMLOSxDWj8+icR2LoDqP9/1fhixuCMRUqqvUG9AoS +dPoaJBie/zI8899mEHJHPvZAs3WI2TJGHtJcRpvssOBSExCZS4MqRAwj2OtzDdXeb7mhG pjEdwhkcIPHY+VKBL3GvNBILrholPKjEFEc72swYJb7Q0Gw+7gfO6nGBqHUpZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403456; 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=CaOQbPDJsEm6Ufb8MTac9QM4v0XUeH7ZSH9Bd1M7fUo=; b=RPMyw62szzI2nYS+x8GZdddSfBR3FPYohicVJ+F48lb9pOdnNcwpD99ZWusyT4SJcYTL+B LSeUhLHNTShLb8ExzexRx+JQrnjE0vKn6tCtiiB1TjD284qU//J+pn/o0iKQZz1vnfzE44 4LA6w4gQmXm9AFvI7nEV065PzOjLjZRbHp3yFY5r2FfMWgE/ub9m0GvMB7Rrr5mDlXRI16 3/i8bR9PC2bzCNj1lNmhghhX84cdMly1U/zBTXG6wm/3T8Z4O9Drj0dPI/nOvz5CNpupoj 11c0OaFsvAVZwM0DLwl6xCXyVZDNJyV8I16/fR2qyndyyPUcVSJWa8l3DU2r8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403456; a=rsa-sha256; cv=none; b=qOuFLs/MZMKWGbdO57Rw9+hVAqBJcoYCaYRVE1N13A/xX3eIJcBymMS7eMTIJ8mmpNGURj +MTaMd82vB6+CK7ReK7YBZXX1ZMm216VxCTuO9VdvLuA+ie7KoS+aOR8RL0D4Y2KfJZpHu wp8SPH/CT4kOym8jSDIwx9qjA/i4Cv+F3TtGeyTVYhGf2mF1LCXIp0ubZG+fetolrRQE8i mfWeSSKRLn9DefLJmBugFbYBPpMyBqtaK2+XOJF1tGR9A1nlqltEB6/bdcL177Lb93vw7+ jrVt3j3UPO4vwtc1Dz1EeNaZxOXeElvSNMRzLt1vZUvsaCSLRLbaHnJWsdacfQ== 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 4clwmb68bbzTvT; Tue, 14 Oct 2025 00:57: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 59E0vZSb021680; Tue, 14 Oct 2025 00:57:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vZeR021677; Tue, 14 Oct 2025 00:57:35 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:35 GMT Message-Id: <202510140057.59E0vZeR021677@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f935c0f66f75 - stable/15 - blacklist: Avoid duplicate manual pages in METALOG List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f935c0f66f75e882185ed8bc46f39054f2ced4e1 Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f935c0f66f75e882185ed8bc46f39054f2ced4e1 commit f935c0f66f75e882185ed8bc46f39054f2ced4e1 Author: Jose Luis Duran AuthorDate: 2025-10-13 00:53:50 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:54:07 +0000 blacklist: Avoid duplicate manual pages in METALOG Previously, blacklist man pages were just a symlink to their blocklist counterpart, this in turn installed blocklist man pages twice, and resulted in a duplicate error when running metalog_reader.lua -c. Take advantage of the duplication to document nuances in blacklist, such as the fact that it uses the new database and socket name (blocklist). Also, note that it has been renamed to blocklist. In the future, it will help to document its deprecation. Approved by: emaste (mentor) Fixes: 7238317403b9 ("blocklist: Rename blacklist to blocklist") MFC after: 2 days (cherry picked from commit c6240045536548c22ce40d9ef36c1dc52abcfc9c) --- contrib/blocklist/bin/blacklistctl.8 | 136 ++++++++++++++ contrib/blocklist/bin/blacklistd.8 | 308 ++++++++++++++++++++++++++++++++ contrib/blocklist/bin/blacklistd.conf.5 | 242 +++++++++++++++++++++++++ contrib/blocklist/lib/libblacklist.3 | 188 +++++++++++++++++++ lib/libblacklist/Makefile | 17 +- usr.sbin/blacklistctl/Makefile | 3 +- usr.sbin/blacklistd/Makefile | 4 +- 7 files changed, 884 insertions(+), 14 deletions(-) diff --git a/contrib/blocklist/bin/blacklistctl.8 b/contrib/blocklist/bin/blacklistctl.8 new file mode 100644 index 000000000000..4d557c0c979d --- /dev/null +++ b/contrib/blocklist/bin/blacklistctl.8 @@ -0,0 +1,136 @@ +.\" $NetBSD: blocklistctl.8,v 1.4 2025/02/07 01:35:38 kre Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 27, 2025 +.Dt BLACKLISTCTL 8 +.Os +.Sh NAME +.Nm blacklistctl +.Nd display and change the state of the blacklistd database +.Sh SYNOPSIS +.Nm +.Cm dump +.Op Fl abdnrw +.Op Fl D Ar dbname +.Sh DESCRIPTION +.Nm +is a program used to display and change the state of the +.Xr blacklistd 8 +database. +The following sub-commands are supported: +.Ss dump +.Pp +The following options are available for the +.Cm dump +sub-command: +.Bl -tag -width indent +.It Fl a +Show all database entries, by default it shows only the active ones. +Inactive entries will be shown with a last-access (or, with +.Fl r , +the remaining) time of +.Ql never . +.It Fl b +Show only the blocked entries. +.It Fl D Ar dbname +Specify the location of the +.Ic blacklistd +database file to use. +The default is +.Pa /var/db/blocklistd.db . +.It Fl d +Increase debugging level. +.It Fl n +Don't display a header. +.It Fl r +Show the remaining blocked time instead of the last activity time. +.It Fl w +Normally the width of addresses is good for IPv4, the +.Fl w +flag, makes the display wide enough for IPv6 addresses. +.El +.Pp +The output of the +.Cm dump +sub-command consists of a header (unless +.Fl n +was given) and one line for each record in the database, where each line +has the following columns: +.Bl -tag -width indent +.It Ql address/ma:port +The remote address, mask, and local port number of the client connection +associated with the database entry. +.It Ql id +column will show the identifier for the packet filter rule associated +with the database entry, though this may only be the word +.Ql OK +for packet filters which do not creat a unique identifier for each rule. +.It Ql nfail +The number of +.Em failures +reported for the client on the noted port, as well as the number of +failures allowed before blocking (or, with +.Fl a , +an asterisk +.Aq * ) +.It So last access Sc | So remaining time Sc +The last time a the client was reported as attempting access, or, with +.Fl r , +the time remaining before the rule blocking the client will be removed. +.El +.Sh SEE ALSO +.Xr blacklistd 8 +.Sh NOTES +The +.Nm +program has been renamed to +.Xr blocklistctl 8 . +.Pp +Sometimes the reported number of failed attempts can exceed the number +of attempts that +.Xr blacklistd 8 +is configured to block. +This can happen either because the rule has been removed manually, or +because there were more attempts in flight while the rule block was being +added. +This condition is normal; in that case +.Xr blacklistd 8 +will first attempt to remove the existing rule, and then it will re-add +it to make sure that there is only one rule active. +.Sh HISTORY +.Nm +first appeared in +.Nx 7 . +.Fx +support for +.Nm +was implemented in +.Fx 11 . +.Sh AUTHORS +.An Christos Zoulas diff --git a/contrib/blocklist/bin/blacklistd.8 b/contrib/blocklist/bin/blacklistd.8 new file mode 100644 index 000000000000..9ca886e9c4d3 --- /dev/null +++ b/contrib/blocklist/bin/blacklistd.8 @@ -0,0 +1,308 @@ +.\" $NetBSD: blocklistd.8,v 1.8 2025/02/25 22:13:34 christos Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 25, 2025 +.Dt BLACKLISTD 8 +.Os +.Sh NAME +.Nm blacklistd +.Nd block and release ports on demand to avoid DoS abuse +.Sh SYNOPSIS +.Nm +.Op Fl dfrv +.Op Fl C Ar controlprog +.Op Fl c Ar configfile +.Op Fl D Ar dbfile +.Op Fl P Ar sockpathsfile +.Op Fl R Ar rulename +.Op Fl s Ar sockpath +.Op Fl t Ar timeout +.Sh DESCRIPTION +.Nm +is a daemon similar to +.Xr syslogd 8 +that listens to sockets at paths specified in the +.Ar sockpathsfile +for notifications from other daemons about successful or failed connection +attempts. +If no such file is specified, then it only listens to the socket path +specified by +.Ar sockpath +or if that is not specified to +.Pa /var/run/blocklistd.sock . +Each notification contains an (action, port, protocol, address, owner) tuple +that identifies the remote connection and the action. +This tuple is consulted against entries from the +.Ar configfile , +with the syntax specified in +.Xr blacklistd.conf 5 . +If an entry is matched, a state entry is created for that tuple. +Each entry contains a number of tries limit and a duration. +.Pp +If +.Ar configfile +is a directory, or a directory exists with the same name as +.Ar configfile +with +.Qq .d +appended to it, each file in the directory will be read as configuration file. +If +.Ar configfile +exists as a file it will be processed before the contents of the +.Ar configfile Ns .d +directory if that also exists. +.Pp +The way +.Nm +does configuration entry matching is by having the client side pass the +file descriptor associated with the connection the client wants to blacklist +as well as passing socket credentials. +.Pp +The file descriptor is used to retrieve information (address and port) +about the remote side with +.Xr getpeername 2 +and the local side with +.Xr getsockname 2 . +.Pp +By examining the port of the local side, +.Nm +can determine if the client program +.Dq owns +the port. +By examining the optional address portion on the local side, it can match +interfaces. +By examining the remote address, it can match specific allow or deny rules. +.Pp +Finally +.Nm +can examine the socket credentials to match the user in the configuration file. +.Pp +While this works well for TCP sockets, it cannot be relied on for unbound +UDP sockets. +It is also less meaningful when it comes to connections using non-privileged +ports. +On the other hand, if we receive a request that has a local endpoint indicating +a UDP privileged port, we can presume that the client was privileged to be +able to acquire that port. +.Pp +Once an entry is matched +.Nm +can perform various actions. +If the action is +.Dq add +and the number of tries limit is reached, then a +control script +.Ar controlprog +is invoked with arguments: +.Bd -literal -offset indent +control add
+.Ed +.Pp +and should invoke a packet filter command to block the connection +specified by the arguments. +The +.Ar rulename +argument can be set from the command line (default +.Dv blacklistd ) . +The script could print a numerical id to stdout as a handle for +the rule that can be used later to remove that connection, but +that is not required as all information to remove the rule is +kept. +.Pp +If the action is +.Dq rem +Then the same control script is invoked as: +.Bd -literal -offset indent +control rem
+.Ed +.Pp +where +.Ar id +is the number returned from the +.Dq add +action. +.Pp +.Nm +maintains a database of known connections in +.Ar dbfile . +On startup it reads entries from that file, and updates its internal state. +.Pp +.Nm +checks the list of active entries every +.Ar timeout +seconds (default +.Dv 15 ) +and removes entries and block rules using the control program as necessary. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl C Ar controlprog +Use +.Ar controlprog +to communicate with the packet filter, instead of the default, which is +.Pa /usr/libexec/blacklistd-helper . +The following arguments are passed to the control program: +.Bl -tag -width protocol +.It action +The action to perform: +.Dv add , +.Dv rem , +or +.Dv flush ; +to add, remove or flush a firewall rule. +.It name +The rule name. +.It protocol +The optional protocol name (can be empty): +.Dv tcp , +.Dv tcp6 , +.Dv udp , +.Dv udp6 . +.It address +The IPv4 or IPv6 numeric address to be blocked or released. +.It mask +The numeric mask to be applied to the blocked or released address +.It port +The optional numeric port to be blocked (can be empty). +.It id +For packet filters that support removal of rules by rule identifier, the +identifier of the rule to be removed. +The add command is expected to return the rule identifier string to stdout. +.El +.It Fl c Ar configuration +The name of the configuration file to read. +The default when +.Fl c +is not given is +.Pa /etc/blacklistd.conf . +.It Fl D Ar dbfile +The Berkeley DB file where +.Nm +stores its state. +It defaults to +.Pa /var/db/blocklistd.db . +.It Fl d +Normally, +.Nm +disassociates itself from the terminal unless the +.Fl d +flag is specified, in which case it stays in the foreground. +.It Fl f +Truncate the state database and flush all the rules named +.Ar rulename +are deleted by invoking the control script as: +.Bd -literal -offset indent +control flush +.Ed +.It Fl P Ar sockpathsfile +A file containing a list of pathnames, one per line that +.Nm +will create sockets to listen to. +This is useful for chrooted environments. +.It Fl R Ar rulename +Specify the default rule name for the packet filter rules, usually +.Dv blacklistd . +.It Fl r +Re-read the firewall rules from the internal database, then +remove and re-add them. +This helps for packet filters that do not retain state across reboots. +.It Fl s Ar sockpath +Add +.Ar sockpath +to the list of Unix sockets +.Nm +listens to. +.It Fl t Ar timeout +The interval in seconds +.Nm +polls the state file to update the rules. +.It Fl v +Cause +.Nm +to print +diagnostic messages to +.Dv stdout +instead of +.Xr syslogd 8 . +.El +.Sh SIGNAL HANDLING +.Nm +deals with the following signals: +.Bl -tag -width "USR2" +.It Dv HUP +Receipt of this signal causes +.Nm +to re-read the configuration file. +.It Dv INT , Dv TERM & Dv QUIT +These signals tell +.Nm +to exit in an orderly fashion. +.It Dv USR1 +This signal tells +.Nm +to increase the internal debugging level by 1. +.It Dv USR2 +This signal tells +.Nm +to decrease the internal debugging level by 1. +.El +.Sh FILES +.Bl -tag -width /usr/libexec/blacklistd-helper -compact +.It Pa /usr/libexec/blacklistd-helper +Shell script invoked to interface with the packet filter. +.It Pa /etc/blacklistd.conf +Configuration file. +.It Pa /var/db/blocklistd.db +Database of current connection entries. +.It Pa /var/run/blocklistd.sock +Socket to receive connection notifications. +.El +.Sh SEE ALSO +.Xr blacklistd.conf 5 , +.Xr blacklistctl 8 , +.Xr ipf 8 , +.Xr ipfw 8 , +.Xr pfctl 8 , +.Xr syslogd 8 +.Sh NOTES +The +.Nm +daemon has been renamed to +.Xr blocklistd 8 . +.Sh HISTORY +.Nm +first appeared in +.Nx 7 . +.Fx +support for +.Nm +was implemented in +.Fx 11 . +.Sh AUTHORS +.An Christos Zoulas diff --git a/contrib/blocklist/bin/blacklistd.conf.5 b/contrib/blocklist/bin/blacklistd.conf.5 new file mode 100644 index 000000000000..e775d30e7e8e --- /dev/null +++ b/contrib/blocklist/bin/blacklistd.conf.5 @@ -0,0 +1,242 @@ +.\" $NetBSD: blocklistd.conf.5,v 1.7 2025/02/11 17:47:05 christos Exp $ +.\" +.\" Copyright (c) 2015, 2025 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 5, 2025 +.Dt BLACKLISTD.CONF 5 +.Os +.Sh NAME +.Nm blacklistd.conf +.Nd configuration file format for blacklistd +.Sh DESCRIPTION +The +.Nm +file contains configuration entries for +.Xr blacklistd 8 +in a fashion similar to +.Xr inetd.conf 5 . +Only one entry per line is permitted. +Every entry must have all fields populated. +Each field can be separated by a tab or a space. +Comments are denoted by a +.Dq # +at the beginning of a line. +.Pp +There are two kinds of configuration lines, +.Va [local] +and +.Va [remote] . +By default, configuration lines are +.Va [local] , +i.e. the address specified refers to the addresses on the local machine. +To switch to between +.Va [local] +and +.Va [remote] +configuration lines you can specify the stanzas: +.Dq [local] +and +.Dq [remote] . +.Pp +On +.Va [local] +and +.Va [remote] +lines +.Dq * +means use the default, or wildcard match. +In addition, for +.Va [remote] +lines +.Dq = +means use the values from the matched +.Va [local] +configuration line. +.Pp +The first four fields, +.Va location , +.Va type , +.Va proto , +and +.Va owner +are used to match the +.Va [local] +or +.Va [remote] +addresses, whereas the last 3 fields +.Va name , +.Va nfail , +and +.Va disable +are used to modify the filtering action. +.Pp +The first field denotes the +.Va location +as an address, mask, and port. +The syntax for the +.Va location +is: +.Bd -literal -offset indent + [
|][/][:] +.Ed +.Pp +The +.Dv address +can be an IPv4 address in numeric format, an IPv6 address +in numeric format and enclosed by square brackets, or an interface name. +Mask modifiers are not allowed on interfaces because interfaces +can have multiple addresses in different protocols where the mask has a +different size. +.Pp +The +.Dv mask +is always numeric, but the +.Dv port +can be either numeric or symbolic. +.Pp +The second field is the socket +.Va type : +.Dv stream , +.Dv dgram , +or numeric. +The third field is the +.Va protocol : +.Dv tcp , +.Dv udp , +.Dv tcp6 , +.Dv udp6 , +or numeric. +The fourth field is the effective user +.Va ( owner ) +of the daemon process reporting the event, +either as a username or a userid. +.Pp +The rest of the fields control the behavior of the filter. +.Pp +The +.Va name +field, is the name of the packet filter rule to be used. +If the +.Va name +starts with a hyphen +.Pq Dq - , +then the default rulename is prepended to the given name. +If the +.Dv name +contains a +.Dq / , +the remaining portion of the name is interpreted as the mask to be +applied to the address specified in the rule, causing a single rule violation to +block the entire subnet for the configured prefix. +.Pp +The +.Va nfail +field contains the number of failed attempts before access is blocked, +defaulting to +.Dq * +meaning never, and the last field +.Va duration +specifies the amount of time since the last access that the blocking +rule should be active, defaulting to +.Dq * +meaning forever. +The default unit for +.Va duration +is seconds, but one can specify suffixes for different units, such as +.Dq m +for minutes +.Dq h +for hours and +.Dq d +for days. +.Pp +Matching is done first by checking the +.Va [local] +rules individually, in the order of the most specific to the least specific. +If a match is found, then the matching +.Va [remote] +rules are applied. +The +.Va name , +.Va nfail , +and +.Va duration +fields can be altered by the +.Va [remote] +rule that matched. +.Pp +The +.Va [remote] +rules can be used for allowing specific addresses, changing the mask +size (via +.Va name ) , +the rule that the packet filter uses (also via +.Va name ) , +the number of failed attempts (via +.Va nfail ) , +or the duration to block (via +.Va duration ) . +.Sh FILES +.Bl -tag -width /etc/blacklistd.conf -compact +.It Pa /etc/blacklistd.conf +Configuration file. +.El +.Sh EXAMPLES +.Bd -literal -offset 8n +# Block ssh, after 3 attempts for 6 hours on the bnx0 interface +[local] +# location type proto owner name nfail duration +bnx0:ssh * * * * 3 6h +[remote] +# Never block 1.2.3.4 +1.2.3.4:ssh * * * * * * +# Never block the example IPv6 subnet either +[2001:db8::]/32:ssh * * * * * * +# For addresses coming from 8.8.0.0/16 block whole /24 networks instead +# individual hosts, but keep the rest of the blocking parameters the same. +8.8.0.0/16:ssh * * * /24 = = +.Ed +.Sh SEE ALSO +.Xr blacklistctl 8 , +.Xr blacklistd 8 +.Sh NOTES +The +.Nm +file has been renamed to +.Xr blocklistd.conf 8 . +.Sh HISTORY +.Nm +first appeared in +.Nx 7 . +.Fx +support for +.Nm +was implemented in +.Fx 11 . +.Sh AUTHORS +.An Christos Zoulas diff --git a/contrib/blocklist/lib/libblacklist.3 b/contrib/blocklist/lib/libblacklist.3 new file mode 100644 index 000000000000..5bc093c38f79 --- /dev/null +++ b/contrib/blocklist/lib/libblacklist.3 @@ -0,0 +1,188 @@ +.\" $NetBSD: libblocklist.3,v 1.7 2025/02/05 20:14:30 christos Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 5, 2025 +.Dt LIBBLACKLIST 3 +.Os +.Sh NAME +.Nm blacklist_open , +.Nm blacklist_open2 , +.Nm blacklist_close , +.Nm blacklist_r , +.Nm blacklist , +.Nm blacklist_sa , +.Nm blacklist_sa_r +.Nd Blacklistd notification library +.Sh LIBRARY +.Lb libblacklist +.Sh SYNOPSIS +.In blacklist.h +.Ft struct blacklist * +.Fn blacklist_open "void" +.Ft struct blacklist * +.Fn blacklist_open2 "void (*logger)(int, struct syslog_data *, va_list)" +.Ft void +.Fn blacklist_close "struct blacklist *cookie" +.Ft int +.Fn blacklist "int action" "int fd" "const char *msg" +.Ft int +.Fn blacklist_r "struct blacklist *cookie" "int action" "int fd" "const char *msg" +.Ft int +.Fn blacklist_sa "int action" "int fd" "const struct sockaddr *sa" "socklen_t salen" "const char *msg" +.Ft int +.Fn blacklist_sa_r "struct blacklist *cookie" "int action" "int fd" "const struct sockaddr *sa" "socklen_t salen" "const char *msg" +.Sh DESCRIPTION +These functions can be used by daemons to notify +.Xr blacklistd 8 +about successful and failed remote connections so that blacklistd can +block or release port access to prevent Denial of Service attacks. +.Pp +The function +.Fn blacklist_open +creates the necessary state to communicate with +.Xr blacklistd 8 +and returns a pointer to it, or +.Dv NULL +on failure. +.Pp +The function +.Fn blacklist_open2 +is similar to +.Fn blacklist_open +but allows a +.Fa logger +to be specified. +If the +.Fa logger +is +.Dv NULL , +then no logging is performed. +.Pp +The +.Fn blacklist_close +function frees all memory and resources used. +.Pp +The +.Fn blacklist +function sends a message to +.Xr blacklistd 8 , +with an integer +.Ar action +argument specifying the type of notification, +a file descriptor +.Ar fd +specifying the accepted file descriptor connected to the client, +and an optional message in the +.Ar msg +argument. +.Pp +The +.Ar action +parameter can take these values: +.Bl -tag -width ".Dv BLACKLIST_ABUSIVE_BEHAVIOR" +.It Dv BLACKLIST_AUTH_FAIL +There was an unsuccessful authentication attempt. +.It Dv BLACKLIST_AUTH_OK +A user successfully authenticated. +.It Dv BLACKLIST_ABUSIVE_BEHAVIOR +The sending daemon has detected abusive behavior +from the remote system. +The remote address should +be blocked as soon as possible. +.It Dv BLACKLIST_BAD_USER +The sending daemon has determined the username +presented for authentication is invalid. +The +.Xr blacklistd 8 +daemon compares the username to a configured list of forbidden +usernames and +blocks the address immediately if a forbidden username matches. +(The +.Dv BLACKLIST_BAD_USER +support is not currently available.) +.El +.Pp +The +.Fn blacklist_r +function is more efficient because it keeps the blacklist state around. +.Pp +The +.Fn blacklist_sa +and +.Fn blacklist_sa_r +functions can be used with unconnected sockets, where +.Xr getpeername 2 +will not work, the server will pass the peer name in the message. +.Pp +In all cases the file descriptor passed in the +.Fa fd +argument must be pointing to a valid socket so that +.Xr blacklistd 8 +can establish ownership of the local endpoint +using +.Xr getsockname 2 . +.Pp +By default, +.Xr syslogd 8 +is used for message logging. +The internal +.Fn bl_create +function can be used to create the required internal +state and specify a custom logging function. +.Sh RETURN VALUES +The function +.Fn blacklist_open +returns a cookie on success and +.Dv NULL +on failure setting +.Dv errno +to an appropriate value. +.Pp +The functions +.Fn blacklist , +.Fn blacklist_sa , +and +.Fn blacklist_sa_r +return +.Dv 0 +on success and +.Dv \-1 +on failure setting +.Dv errno +to an appropriate value. +.Sh NOTES +The +.Lb libblacklist +has been renamed to +.Xr libblocklist 3 . +.Sh SEE ALSO +.Xr blacklistd.conf 5 , +.Xr blacklistd 8 +.Sh AUTHORS +.An Christos Zoulas diff --git a/lib/libblacklist/Makefile b/lib/libblacklist/Makefile index 07c770883eab..cac023d69bb7 100644 --- a/lib/libblacklist/Makefile +++ b/lib/libblacklist/Makefile @@ -18,14 +18,13 @@ CFLAGS+=-I${BLOCKLIST_DIR}/include -I${BLOCKLIST_DIR}/port \ SRCS= old_bl.c blacklist.c vsyslog_r.c INCS= blacklist.h -MAN= libblocklist.3 - -MLINKS+=libblocklist.3 libblacklist.3 \ - libblocklist.3 blacklist_open.3 \ - libblocklist.3 blacklist_close.3 \ - libblocklist.3 blacklist.3 \ - libblocklist.3 blacklist_r.3 \ - libblocklist.3 blacklist_sa.3 \ - libblocklist.3 blacklist_sa_r.3 +MAN= libblacklist.3 + +MLINKS= libblacklist.3 blacklist_open.3 \ + libblacklist.3 blacklist_close.3 \ + libblacklist.3 blacklist.3 \ + libblacklist.3 blacklist_r.3 \ + libblacklist.3 blacklist_sa.3 \ + libblacklist.3 blacklist_sa_r.3 .include diff --git a/usr.sbin/blacklistctl/Makefile b/usr.sbin/blacklistctl/Makefile index 8a01f52926a7..41c5f44b072b 100644 --- a/usr.sbin/blacklistctl/Makefile +++ b/usr.sbin/blacklistctl/Makefile @@ -6,8 +6,7 @@ PACKAGE= blocklist PROG= blacklistctl SRCS= blacklistctl.c conf.c state.c support.c old_internal.c \ sockaddr_snprintf.c pidfile.c strtoi.c popenve.c -MAN= blocklistctl.8 -MLINKS= blocklistctl.8 blacklistctl.8 +MAN= blacklistctl.8 LDFLAGS+=-L${LIBBLACKLISTDIR} LIBADD+= blocklist util diff --git a/usr.sbin/blacklistd/Makefile b/usr.sbin/blacklistd/Makefile index b4ba4ca2f9ad..490b12d46968 100644 --- a/usr.sbin/blacklistd/Makefile +++ b/usr.sbin/blacklistd/Makefile @@ -7,9 +7,7 @@ CONFS= blacklistd.conf PROG= blacklistd SRCS= blacklistd.c conf.c run.c state.c support.c old_internal.c \ sockaddr_snprintf.c pidfile.c strtoi.c popenve.c vsyslog_r.c -MAN= blocklistd.8 blocklistd.conf.5 -MLINKS= blocklistd.8 blacklistd.8 \ - blocklistd.conf.5 blacklistd.conf.5 *** 4 LINES SKIPPED *** From nobody Tue Oct 14 00:57:36 2025 X-Original-To: dev-commits-src-branches@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 4clwmd1smFz6CfDm; Tue, 14 Oct 2025 00:57:37 +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 4clwmd0DKgz3vZG; Tue, 14 Oct 2025 00:57:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403457; 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=P5DDcIRhGQ2Ly9XBqud0zqvWY2nYfEeAtC2XwcDa1nI=; b=VTNfPVflNRAce7XVDPp7MIOVNYi6zMEyBWcBUFtGLeo1YzIOFlTzINaChxqhg3Tr0FH1cJ wYJ3Jk+hLCxLHvoeAyiGCbmtgjxe9Olxlo0UtHdEsl/7iPJC3sHzhVtXgCrVuog5tiuSJU J76lKTkg+9AxlF6UrXciOiAwwhFd7UyA/WJkLMfDOWL9nx0qxIZsM0pHCuNdfP768B3V1w zUdrt9FeMuOrCIUKspX8ZE78J5rS0MsEh6wcQW0vOgvasaZvTLCtz3W7xkHQt+igb3Fq1g gvbxfnfcmynKJIcelr4SSb38LnaMGg4w/VTUISqxWEsvc56gCHtyI6Ugj01iBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403457; 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=P5DDcIRhGQ2Ly9XBqud0zqvWY2nYfEeAtC2XwcDa1nI=; b=QiWhJ5ixgZELi5dyuv26Tuo3Z+r3g8yG5/PsMtr8glOaf7DZAL38KYTN6Q1ApfzIbKqvBd fSuSerpJV+twC1nIxHVqVsgv3Z4zSFpSVrMFgnP2IR+9tZXjjhERHZfNt67WYdf3aKn6m1 bfTuHI54UCWH8BRYe+TxY9TThc4eMYDRf69PgNrHIZi1BzvWXq1Bdz8OQdkqN5ns0Kl26c KsoR+hObSLJCcaPEvMXcZ3RGDaw43znjVYOv5cNdq42FLZ1kozOtZBb1DLo1ds1y9rrDLf 3SfTVU4xgNcmneSwmxFNmtWrYI2daSytCajOpDPGpAoxszUPzGqOt+qReaqXNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403457; a=rsa-sha256; cv=none; b=Y7xw8NCahc85o4n5ysptsxeZxsJMj5u1JuPdq4tMOVGFoVwNyW+vGCi0Znt/IXuM8cqoLb guk+QIntNOC40B/AbeYI5ETjhtGhqQ/DTxeg0AvcXTxwAQbixwLPFlvtRpg7pN9hRF/ZPm b6yBLuc7+QONh/7QSOOEuWOkTlTf5Q4gvyiOidkWcpTkXkCDVCCkiy14+asFMjPAuV3T1A 0KHZ8Xb4DajRxqi/SKAYt/hPzYuRm389y+Epnjyy4mm+1MSIAm6RYYcZQrPG018umxVSz4 /0sPKEnkfj6WYZYHK/mgXeeoH4fnO192/fZ8iy7SOrXvsWz37KYwXM+AnM99yg== 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 4clwmc6mM2zVC2; Tue, 14 Oct 2025 00:57:36 +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 59E0vaw5021720; Tue, 14 Oct 2025 00:57:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vaGm021717; Tue, 14 Oct 2025 00:57:36 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:36 GMT Message-Id: <202510140057.59E0vaGm021717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f22ca25404e7 - stable/15 - blocklist: Add an UPDATING entry List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f22ca25404e795aa08efc35d8cdbb5b44304650f Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f22ca25404e795aa08efc35d8cdbb5b44304650f commit f22ca25404e795aa08efc35d8cdbb5b44304650f Author: Jose Luis Duran AuthorDate: 2025-10-13 14:35:12 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:54:25 +0000 blocklist: Add an UPDATING entry Add an UPDATING entry about the renaming of blocklist. Approved by: emaste (mentor) Fixes: 7238317403b9 ("blocklist: Rename blacklist to blocklist") MFC after: 1 day (cherry picked from commit ffa8165009365ff93050626d880f2d1d6aacc31a) --- UPDATING | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/UPDATING b/UPDATING index 6e893f07df61..4b14159ceb4a 100644 --- a/UPDATING +++ b/UPDATING @@ -17,6 +17,12 @@ and/or ports. can install the ftp/freebsd-ftpd port. pkgbase users should remove the orphaned FreeBSD-ftpd package. +20251012: + Blacklist has been renamed upstream to Blocklist. If you have it + configured, rename all configuration files, firewall anchors or + sentinel files to reflect the new nomenclature. Old setups will + continue to work emitting a warning. + 20251002: Audio-related utilities including mixer(8) and virtual_oss(8) have moved to the new FreeBSD-sound package. If you have set-optional or From nobody Tue Oct 14 00:57:38 2025 X-Original-To: dev-commits-src-branches@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 4clwmf43Rhz6Cf9k; Tue, 14 Oct 2025 00:57:38 +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 4clwmf2VnYz3vRb; Tue, 14 Oct 2025 00:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403458; 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=JGEQoKkB73RdaKSDJTd+9ErgoCQzaw7U4uLp8BVxsHU=; b=oTkl3fWD6+/8o3Wo0IOOgnCRRoQzCBqHJ2m3Gz4kGApMpYHAi78J43d4KvHWZX2Boi2nGL loJ9Z/6MH4hUeTdij3sZb0xyGuoexuTMLSz3uvZAL4y1BWuwhgMxbyw6GdqmU+lSxkrM3y kTjsZhrE9mpTzFeZ6wtL8vZ00ZnVGtftS5vk/K73NFx6NlUptGzFvoxTTgqARqNOeFM7To DC8vSgY8wvBN4Mv+63DlFBwEJSX4FupnWkbv8UcG+WetLPzpClzWrs/v3UBUd7FS6ubbKk rODTxShdfEuEo/oGGz0QZQklh4B1EPUCl724mN7plOnK2PkHO8a5/lZEzIBRnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403458; 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=JGEQoKkB73RdaKSDJTd+9ErgoCQzaw7U4uLp8BVxsHU=; b=w+fv3uKs483t7+85aPqXF0b+J6bBbAzSdt03hVKexKm9XgXO8A5XEZZ8LJBpAyUMq/TV2W fM3crkY1XfBZUCjEwaYvk/7/m0UBfkvarbsx8HHdhGdJFsBmkRdFHrjRx3gbPXzk7uaqVr +KHM5bIPBNNYNNBhEbr5ZBCDCVRtwtieDTAhl1Oxxq0/YCb5PEnZDXVV6IAgph4M5lT+Ow atogiTuFr7gPtMas/DjFx4Bq7HpjPtpXjkeWsjY9bQVWM4M1ZKAesOJKWhRlDbI4XwfYDj tTjpNtIZQil7mOR2az5SmyNhMDADPpkfQaPFCxN4mImePp4uueR+VZxI2Nhi9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403458; a=rsa-sha256; cv=none; b=ReYyDnM3YzBG5g18R/TLNWSZAAD6iK9qcBNQ1XY3KTjYxTM9Xy2U7wChiOBWJy/SNUmSjE quSr0gUZxyMnb0HnEqJoN5gEkGrrCvsE+xb2aIDWzW2MzGiRBYzJuoTfuW97BJBBVhdqgY ebu8WuJjxdIX162frjUY3808Fa8Oek0/4HfAKNRB3gVVTv1CxO3hCTPFajaHdBTcSIB9EU 6PAF+caZNU7qtibVSZsX4yYcMeafdmkGMYGDAytft07kKqGVakX9P19DxyEAuz1efGqNT2 RZXALnBIgjuc/VJNUghypi9Xxnh0dC6YiNboVlzFAPIzSXcAFG04ApRaZFlFIg== 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 4clwmf0zhrzVC3; Tue, 14 Oct 2025 00:57:38 +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 59E0vcBb021757; Tue, 14 Oct 2025 00:57:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0vcPC021754; Tue, 14 Oct 2025 00:57:38 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:57:38 GMT Message-Id: <202510140057.59E0vcPC021754@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 06889e177e7e - stable/15 - UPDATING: Fix typo objump should be objdump List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 06889e177e7e218a18a475e4747bc046078ef3c1 Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=06889e177e7e218a18a475e4747bc046078ef3c1 commit 06889e177e7e218a18a475e4747bc046078ef3c1 Author: Jose Luis Duran AuthorDate: 2025-10-13 14:50:30 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:54:38 +0000 UPDATING: Fix typo objump should be objdump Approved by: emaste (mentor) Fixes: 86edb11e7491 ("Always install llvm-objdump as objdump") MFC after: 1 day (cherry picked from commit 376508ef2f794a57606a791166f1ce7f20d3ccaf) --- UPDATING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 4b14159ceb4a..26c2355de1ac 100644 --- a/UPDATING +++ b/UPDATING @@ -690,7 +690,7 @@ and/or ports. Bump _FreeBSD_version to 1400078 to be able to detect this change. 20221212: - llvm-objump is now always installed as objdump. Previously there was + llvm-objdump is now always installed as objdump. Previously there was no /usr/bin/objdump unless the WITH_LLVM_BINUTILS knob was used. Some LLVM objdump options have a different output format compared to From nobody Tue Oct 14 00:58:02 2025 X-Original-To: dev-commits-src-branches@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 4clwn70DZNz6Cf5r; Tue, 14 Oct 2025 00:58:03 +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 4clwn65m6gz3wSk; Tue, 14 Oct 2025 00:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403482; 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=k1ylPWkUjhgxD7CVq38lt2jMm8v8XdQYU9cQ0MVt2k0=; b=HXoh608hBTmNTVXqqjF9MP4jOUIvbr+tUJeAR1drKbX38MnOj8bqj10UY+pHG916WdaiU6 qzTtZ1//cH0Xog7T3rMd27jCdFdoXGxc59EbUhRZ6JDIMM0ubEqx9PGLfxAWJzNHlCNSMU lQVoAcNCwaV/R/Ng+tJC2ztF7+gYQNoqwOdKEq7zimhWGYOri2bGbGNJ1h9STm9suBKbPV DW28IJue3vpfT53t3GVuKnrwjL57540LksKcTnhRC1KDc1F8Dy/5/OQaQ8yP9pJj1dKh4Z 9hLv1NFyaPnrjsh1K9oBxWe4GgI5GawgKyWIAKia9sCu8vCbp+YhMF8qOojVhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760403482; 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=k1ylPWkUjhgxD7CVq38lt2jMm8v8XdQYU9cQ0MVt2k0=; b=C68BKXwTqS4aP/SRGGnhF4u7pbMpwvFrL95MrZ3UEnDhjdLUZi4yv2hgP0Lux6AlqiR1Or 2xP8Z7bPZbbyZjgvjcmQSH0pAAICRdQD2MRlUUH+ocpSYrCBKphTvfMIT8LpyOC8DA5RWc /PR01N7vuzSCutcWM9cqA0Jrqlqgw4uF5S2vb8QdcjnKaciYl2tFcxgzmo7pcxGXnuUfVg Hp+y4DhMPTyXyMhxVrsSr6Cww/Jqk4BfQOdd2Hifi4dq8hXw/tYve1WJY7/tjre8deP01u y9/SRBCbusMe5CSM0oDliqPt5EKJaJcHzt1a1zxz9yOCPO8+kmOdDrPq5I4iCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760403482; a=rsa-sha256; cv=none; b=XDfrTsZxzgNex27aDpgyk8ylL2EhqhaUiOFJ0onDYtQNC4LJ6YG97I6xU7NCJi/blMGQx7 cyQnlSrdo2xHhnUI3gXWemxRbLGcYWj6uB+dOC/+ovqfwVdYXcTKGqjHngj0IRJ8+njw+m wTxFM2IfY7beeGYwedvCjyxr9vUQb1zNYzuhlBGQUzt421EVhfreDYN1FhHIRo3oJ8IHmh PLk0yhAjbsPsHfEyzdmkngozB5IucB4i9CUJjhUGjsi/4kDUTDPMFD3dvMe0e0aFw+fybm dm4aQoYCXGJEpXkL4OjmVTer1GMyFnR2vCB7Urd/XRIO+nliSheANc4+rUDUfw== 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 4clwn65FsWzVVN; Tue, 14 Oct 2025 00:58:02 +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 59E0w2bk022044; Tue, 14 Oct 2025 00:58:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E0w2be022041; Tue, 14 Oct 2025 00:58:02 GMT (envelope-from git) Date: Tue, 14 Oct 2025 00:58:02 GMT Message-Id: <202510140058.59E0w2be022041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 83a1049fcfb6 - stable/14 - UPDATING: Fix typo objump should be objdump List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 83a1049fcfb6cb5a1fd6cbeb4a193c41cd59ae54 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=83a1049fcfb6cb5a1fd6cbeb4a193c41cd59ae54 commit 83a1049fcfb6cb5a1fd6cbeb4a193c41cd59ae54 Author: Jose Luis Duran AuthorDate: 2025-10-13 14:50:30 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-14 00:55:49 +0000 UPDATING: Fix typo objump should be objdump Approved by: emaste (mentor) Fixes: 86edb11e7491 ("Always install llvm-objdump as objdump") MFC after: 1 day (cherry picked from commit 376508ef2f794a57606a791166f1ce7f20d3ccaf) --- UPDATING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 644e17fc55be..5396fa8204c1 100644 --- a/UPDATING +++ b/UPDATING @@ -291,7 +291,7 @@ and/or ports. Bump _FreeBSD_version to 1400078 to be able to detect this change. 20221212: - llvm-objump is now always installed as objdump. Previously there was + llvm-objdump is now always installed as objdump. Previously there was no /usr/bin/objdump unless the WITH_LLVM_BINUTILS knob was used. Some LLVM objdump options have a different output format compared to From nobody Tue Oct 14 02:47:53 2025 X-Original-To: dev-commits-src-branches@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 4clzCt0JGTz6CnW7; Tue, 14 Oct 2025 02:47:54 +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 4clzCs5ByRz3CNJ; Tue, 14 Oct 2025 02:47:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410073; 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=fPCt5xbRRvSNhNfWeQqYn1pmJaVhPKkKaDkzSqXfsa4=; b=VfFxHdWnttUfRfp2mL4ozGxBcUQ2cSzNSBynWR0Zqf9hR6+i/yKGTogvP9paSTvqMjme3p 9PRsGHlK4X11x+vajGb6A310rxXBcTbB2icKwLLNv6cAlAhJkU9m1ES5pz6hLaupZSSals sWBBL0ya75YhIxCm/YtvXnM6onkC4ef8Z14xlRkoYZuv13JIA/KyLagLhLy5DZl2UBpCbN syuxGaYboDiA3lO85gAc3i53rcjB8jmC51XwrwrWZqkpX4+noyvSqBCjRxiY3TEE2sBUeY /+pXdypM/6DZ2XKtoTYynviTAwW7jQT+O8W1IHFl32S3YsHZxKxd6sR98j+FuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410073; 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=fPCt5xbRRvSNhNfWeQqYn1pmJaVhPKkKaDkzSqXfsa4=; b=YyDdKijs9zTygxgPpXXGGYrimeGYpHL+LZPdLQqSiCkJJ4dAqOLljwK2GAxS948H/QHe2s 19pB3zQlfPvJhEuxz6UuKCy0DevSK4nkg/ELjG03LRTM2rr/Pc71/Bdda9uG/rnV6J7c1H nYO0y9IrBszT8qnwesKk9uLSx4RInfxUL5UMkh0r9XatAqy8GdDPxSGjS5oVWQ3cDKb89s fSu3Nn+RWFhg3ikmeRleaW0ZfS5oP6+if6sTw06CjghwuCZTFhvF4g2QcvwdjFahJkEsqV pLBR7FzqO2/NYFFKxA4CzUqDJYTczdt3P5xQvVzs8LLPSiesLvUO08xffr0ZMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760410073; a=rsa-sha256; cv=none; b=OLPhKjU8LkitWSuozUtbeU8luQ/wJZVj6jUXaKRhbS8kepU3CrxpG3/iXuCsDh3WvQxQ4u cL928s76lHuxmmSZKpxG8rFzJNBvMI9ObdIVTuzLH6Iwch5xDddoRpQjtUUBu2HstP1tLk r2zW7qb2hF0ZoAMWE4U+vLRjVTEkpIV/Qytc4k8/i0NUCdTldDd3SL1q98iOnvi1NR2y1C 6ozVxESt+31w4lCPx1DCzIjzyj0X5iltvtL0gycr/9aKicJWzjcqUXsUxfs8z6kzw2x2bJ zGitKn1XdysnNrRrZ1lpUE+h0E2AGLT86DCyiq1k5j/tIPBCcaxTPOLfvqwHUg== 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 4clzCs4JN4zb2p; Tue, 14 Oct 2025 02:47:53 +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 59E2lr2k029485; Tue, 14 Oct 2025 02:47:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E2lr3j029482; Tue, 14 Oct 2025 02:47:53 GMT (envelope-from git) Date: Tue, 14 Oct 2025 02:47:53 GMT Message-Id: <202510140247.59E2lr3j029482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: e01a58798f58 - releng/15.0 - mit-krb5.pc: Add missing -lkrb5profile List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: e01a58798f586c955b28db5dfe7bbddcb849f2bf Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e01a58798f586c955b28db5dfe7bbddcb849f2bf commit e01a58798f586c955b28db5dfe7bbddcb849f2bf Author: Igor Ostapenko AuthorDate: 2025-10-11 10:20:44 +0000 Commit: Colin Percival CommitDate: 2025-10-14 02:47:32 +0000 mit-krb5.pc: Add missing -lkrb5profile Fixes the ports that prefer static linking: https://reviews.freebsd.org/D49277 Approved by: re (cperciva) Reviewed by: ivy, dch, cy Sponsored by: SkunkWerks, GmbH Differential Revision: https://reviews.freebsd.org/D52910 (cherry picked from commit 2d9fd2c573c318754e3f36d2549e0e57ce199d60) (cherry picked from commit 771ee17c88106fb07b5035a2f36c36ccafe94edd) --- crypto/krb5/src/build-tools/mit-krb5.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/krb5/src/build-tools/mit-krb5.pc.in b/crypto/krb5/src/build-tools/mit-krb5.pc.in index fdc557785ad4..dca1654c8c9d 100644 --- a/crypto/krb5/src/build-tools/mit-krb5.pc.in +++ b/crypto/krb5/src/build-tools/mit-krb5.pc.in @@ -12,4 +12,4 @@ Description: An implementation of Kerberos network authentication Version: @KRB5_VERSION@ Cflags: -I${includedir} Libs: -L${libdir} -lkrb5 -lk5crypto @COM_ERR_LIB@ -Libs.private: -lkrb5support +Libs.private: -lkrb5support -lkrb5profile From nobody Tue Oct 14 02:47:54 2025 X-Original-To: dev-commits-src-branches@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 4clzCt60Hwz6CnTM; Tue, 14 Oct 2025 02:47:54 +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 4clzCt51FJz3CKj; Tue, 14 Oct 2025 02:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410074; 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=Zl9KeYjSt6h5gkqcL/lHib5iDsR3UTvXurn/m4BBKHI=; b=n/NUt+jamFr5fZBt8EZkERKITVHUaycpEjnfDs2BNkznaYsu6Y1UI6pgDXvjQbJSbv9WRs n76kwDlNQoSH51ZSF43C//i2Lx3q1apreTc1uoKzp7yvHmccJDg28FIaF204ohBy3G5dnK FgA14fOrpqNjIy6bHavd1N3DmwAt/JHxZMKmOrdf7tQtH7GSmErVD3LXdpnOf+uJYoe0N6 R3BueD4T/By/B60FPbU5fk1tK0jg5Emary6Qd+CeNypnZgGSKVIobYU4FuX+3+3lHH+B0t nt9pgJCogSMVQHE4U6bAAQrlUpHSuLb9Q3mRmUJYZmQOSQxZahcRHD49+9EwrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410074; 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=Zl9KeYjSt6h5gkqcL/lHib5iDsR3UTvXurn/m4BBKHI=; b=eM1V39+t/CcTMODR2wsVHx6AKsgTn51vD1QsOCbhKr0dzA4YPshZ37n1S+2hCnxfAv2PF3 GDBJMStv3nmgMrtHwdfNE1QCeZhppnvgseIcZlpjN2rukQmu0QDnMNEib71Z0YogmiDteZ ICXio0cqvw2tjc47IP7po0PNGKIOQ0RRs/9uOtW2xA8O2e8ZyI4FyZ7vHiGI2/fQDe0gEa BIMAHf+9dmlpHigslAAO8zJhof3dCGulL1YcTCXoXCEi3PGVpIZWTdAyhWzrzeAG28/Wql ZwKLgPfwzxZ4sWhwa0Ua7q20Upz6h6TNx8hbvFkhUjvRcWqeF9MgscoravI4rQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760410074; a=rsa-sha256; cv=none; b=w4Pq5IqtFgTjtP7pWajgjZEaxwR+pdM4V/CPGsBiYSO7YHdN4ltGSUr0bM4pa/diaSnvlS v38BL77oJLRY/Id6/ddE3l4bWNLhpR4Ux9oLknMIOR0oZuT3onUaUcf+tW+KS+CnoCjx+F g/ek/gAMrEVsBCBoPZhLrJoFH8vGVp4JlBtPMl/NdkxeOkiZwVMzM7PkocJG1hn7IMuDUS plQUW4erdoNHnNiD0dVVlDrKTBMFtrzS1R/ik9Klc8xJW3MJKOiDam6T9fBzzyb4FKjPrR Hts9ibpck8ncfLxWs7oRNqxjfnVPBN+cjb7t2c7DjRRy9XAOyZ+CDTaWrsQTUQ== 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 4clzCt4d5VzZgF; Tue, 14 Oct 2025 02:47:54 +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 59E2lsY3029520; Tue, 14 Oct 2025 02:47:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E2lsEe029517; Tue, 14 Oct 2025 02:47:54 GMT (envelope-from git) Date: Tue, 14 Oct 2025 02:47:54 GMT Message-Id: <202510140247.59E2lsEe029517@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: f01adba1e2ac - releng/15.0 - Makefile.inc1: Build source packages before sets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: f01adba1e2acb05798238e11971b4b1535231fdb Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f01adba1e2acb05798238e11971b4b1535231fdb commit f01adba1e2acb05798238e11971b4b1535231fdb Author: Lexi Winter AuthorDate: 2025-10-13 18:30:31 +0000 Commit: Colin Percival CommitDate: 2025-10-14 02:47:36 +0000 Makefile.inc1: Build source packages before sets To build set-src, we first need to build the source packages. Add a .ORDER to ensure this happens. Otherwise, in a parallel build, sets might be built before the src-* packages have finished building, and set-src will be mysteriously missing. Approved by: re (cperciva) MFC after: 3 seconds Reported by: cperciva Actually diagnosed by: jrtc27 One-line fix by: ivy Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D53076 (cherry picked from commit ea5685ba79fc9309698ef72cf48bc1f0c91ad3dd) (cherry picked from commit 3b5ec539beefb82dd3210f51c0e2e0759b20dad8) --- Makefile.inc1 | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index cd3e3f007c3b..d530ca4e9584 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2107,6 +2107,7 @@ create-packages-world: _pkgbootstrap _repodir .PHONY .ORDER: create-packages-world create-packages-sets .ORDER: create-packages-kernel create-packages-sets +.ORDER: create-packages-source create-packages-sets create-packages-sets: _pkgbootstrap _repodir .PHONY ${_+_}@cd ${.CURDIR}; \ ${MAKE} -f Makefile.inc1 \ From nobody Tue Oct 14 02:54:13 2025 X-Original-To: dev-commits-src-branches@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 4clzM93Bb7z6Cp4N; Tue, 14 Oct 2025 02:54:13 +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 4clzM92bnwz3FDY; Tue, 14 Oct 2025 02:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410453; 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=7mq4e/xCUM1pu8TYX+ABqblyPJpY1Wfcw9XrvwR2FjY=; b=aAOkL0sLVG97uYD5t7jlNBVuGpebz/5MoChRKw5dshQzWJ+l1AKMsUDqVtoi+QS0MWZ6Ru oClGM4ZTAEYuouaG36alS2v2lgeNSbEUQS6u6HTed6nYTvKD2/vMKw9M35VpZsIYlQZhHZ qUMfK0vWPF6osKy74h8i02Qh0FPuI/sd8tnfHqttKzJg/ZTcAs28yBaYEiYS/eIQkUysS5 Ay9oodqYl0a31R9TRSOwUD/I4QXwCri8Qta3o2yr+LAudBzwsBxeTNSIS7cOsSIdW4IZwB hdt6tSo5+OIK80gVl76Tdtz1IvwLKADxFqBXWmsDPvYXZVJr9hSOdXL7X/FeqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410453; 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=7mq4e/xCUM1pu8TYX+ABqblyPJpY1Wfcw9XrvwR2FjY=; b=Jw0vOUoVW/qmEYFYgM195KZDeVLR1/Ip5wJ+n0weSntSkm11BhsKnRZ7k8lS4Ndbs2vCQo fcQoyAXKzJ86U2D0KVgEMWZNR9oyVdw37CEmgzJnAzMX0XAp26Fwr/GFEZDleu/LScu2XL /BBK0iY+xdKSvcTX+pYCfQxlQ6hbYTs/92u/8jH6DdfhUq5qRnF/xaHcB9t06b+eWdA5zi TjU3mY9amFJadkWYPUZ8jLTYNxOmN64Q1bGpp+0scGXn7HxtEr+s/QR1zvbIipKM2e1ME1 gcYRIWDL+ejSeziWKaqeVcYZx7E8thGhd0O082IQRePavJrC1079CmL0N36jOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760410453; a=rsa-sha256; cv=none; b=FJLsGxr7BKiFWM/BbJE8xKbG15a2VUc7yg7ntgYJTG7noImDJZZADWdv3JpMEr0+SjDKMA 8jsXRfst6zANn8r8r/ZcIQnHjmQycRYjWU8AB3fuxAFKXRJSVqI7GKPUy/10JQIoq3/II9 RDJ84NmPxjNJuc953NOFl5sy0IhPCyE6LawnGt02eQ9nZwiXpKUEIFvAhg59OesLVvEDA4 8vqL4++IcUwP5akAihsKdjMl+afzEqxXD6jWbB4PNS4pCyrzhUJ9khvby64z0qFrMJ+eDT Mt5GXkCOKaJMCdV3/JIpOm9YTfjar42EZQld5x6J2uU4hgtQw8c/XnmMkcpr4g== 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 4clzM929jrzbNQ; Tue, 14 Oct 2025 02:54:13 +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 59E2sDmS046918; Tue, 14 Oct 2025 02:54:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E2sD15046915; Tue, 14 Oct 2025 02:54:13 GMT (envelope-from git) Date: Tue, 14 Oct 2025 02:54:13 GMT Message-Id: <202510140254.59E2sD15046915@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: e9010214e9be - stable/15 - EC2: Fix additional files on small+builder AMIs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e9010214e9bebbe6155c9f720551008a785b692c Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e9010214e9bebbe6155c9f720551008a785b692c commit e9010214e9bebbe6155c9f720551008a785b692c Author: Colin Percival AuthorDate: 2025-10-11 17:35:51 +0000 Commit: Colin Percival CommitDate: 2025-10-14 02:54:01 +0000 EC2: Fix additional files on small+builder AMIs The file /usr/local/etc/ssl/cert.pem is not present on "small" and "builder" AMIs, so we don't need to add it to METALOG. Fixes: 2b0ffc0ee48c ("EC2: metalog_add missing files from packages") MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva (cherry picked from commit 8a7ac88aa3991e8c2c19007ac0c36a92fc94bc2d) --- release/tools/ec2-builder.conf | 1 - release/tools/ec2-small.conf | 1 - 2 files changed, 2 deletions(-) diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf index bcea69331be5..3b0344f9eb9a 100644 --- a/release/tools/ec2-builder.conf +++ b/release/tools/ec2-builder.conf @@ -68,7 +68,6 @@ vm_extra_pre_umount() { # Add files from packages which weren't recorded in metalog metalog_add_data ./usr/local/etc/dhclient.conf - metalog_add_data ./usr/local/etc/ssl/cert.pem return 0 } diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf index f12afec75a4f..6564a59c2cf6 100644 --- a/release/tools/ec2-small.conf +++ b/release/tools/ec2-small.conf @@ -51,7 +51,6 @@ vm_extra_pre_umount() { # Add files from packages which weren't recorded in metalog metalog_add_data ./usr/local/etc/dhclient.conf - metalog_add_data ./usr/local/etc/ssl/cert.pem return 0 } From nobody Tue Oct 14 02:55:18 2025 X-Original-To: dev-commits-src-branches@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 4clzNQ27yjz6Cp8F; Tue, 14 Oct 2025 02:55:18 +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 4clzNQ1Rkcz3FSh; Tue, 14 Oct 2025 02:55:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410518; 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=TpneU0DiTnKrGdTtRHK7/OyEMcdn0h/XshPsxncBmRE=; b=alKmCGgoeQDyfSnBbYphYCZyfWPKrfD7u4GDPJFwKieatOSM/COh15QolL3JF2UBUrppyZ ofaOg9DsuBfUxQB/s28qdBEY8rbTKZSCeZqnpA45Qpv9rUhxEYhXl5rBM0rEvLM7a5W9zp pDmQGlfgYZrO0IBhUKEYDSI+n7raSeOHXu7PSuipXzwVgldrXZShS1mamn13Mh8cnMf/yC cPPyyD2rFMwtAee26o4iJ9EQBNgmc9AYDoXnaMnvHmGHFWEJkhSLu8dG8CFtobP+BwOmTR A/zR5e51PuId1dGVK0RfSg26fRWBJ2QFL/vJFx9cPdZyuEF9oo6/+YDJLc+vmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760410518; 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=TpneU0DiTnKrGdTtRHK7/OyEMcdn0h/XshPsxncBmRE=; b=GyEkpngndYTPNuqaFJdzjbZvr4dvHV5LuYM5zypl/gGvvIhS9ECL77qcJzjwzn1KsqdRFW yPWL+FhUYzbpEs0ZNXPSXyvvpltRs41dT0oafCXh5ExLjLG2NgeXzwqX1eDoNnTFB9CqJ1 8xkRiDiH5UETsayIDaktOR4zmVmaDQFdTh4GSH3OWROS7Ex5G1+DbS4DIcVs8Mr4f5HwkG 6NUTSEBnokqIr40I/CpWSetNYOJTiyET7B7U9hD4o8q/+doMxWOKhT1aaj+UoiemgNTiSd fhkij8tQJnkPAZ1DXSE4KPosKJz3Nkfbss3/LWqjzVQIx6qmwMjqJ2GaRD9z2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760410518; a=rsa-sha256; cv=none; b=R1ZtRucDVnFS/UiYSld0aQqjqjBY9AZH0Ejgb2FuPl7iqSQwByWGVklimuuWO98NA9N4ec /Jnmijrq0nKm/Ft9xTg4eNZ4vFCbHbE5W5PvtGm5rtLenXcV32grmrz8q3lLtd3UxnmMLl 6niip2l4kl3J/o8UV+jw9vtDSQ5fByvcTxal4fDtZc8YqtXr9xfRyXcycEahvC9YD7Az4Y jgriKHDVN5eZutkroUuGRYX3+KnZYzB4RHfCo5torosKlsPPe2nRc9sVQjHYzwN6L/DQCm 1jmdBcrTPpmpYjV0GAJw3JXsdQiBbNJFjcv+Hl7DaMaIlmgoHR/0OotTN52fzg== 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 4clzNQ0z32zb5q; Tue, 14 Oct 2025 02:55:18 +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 59E2tIwi047368; Tue, 14 Oct 2025 02:55:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E2tIJB047365; Tue, 14 Oct 2025 02:55:18 GMT (envelope-from git) Date: Tue, 14 Oct 2025 02:55:18 GMT Message-Id: <202510140255.59E2tIJB047365@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 6908a3580702 - releng/15.0 - EC2: Fix additional files on small+builder AMIs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 6908a3580702a446d8420bb93ed95530a98c936b Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6908a3580702a446d8420bb93ed95530a98c936b commit 6908a3580702a446d8420bb93ed95530a98c936b Author: Colin Percival AuthorDate: 2025-10-11 17:35:51 +0000 Commit: Colin Percival CommitDate: 2025-10-14 02:54:24 +0000 EC2: Fix additional files on small+builder AMIs The file /usr/local/etc/ssl/cert.pem is not present on "small" and "builder" AMIs, so we don't need to add it to METALOG. Approved by: re (cperciva) Fixes: 2b0ffc0ee48c ("EC2: metalog_add missing files from packages") MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva (cherry picked from commit 8a7ac88aa3991e8c2c19007ac0c36a92fc94bc2d) (cherry picked from commit e9010214e9bebbe6155c9f720551008a785b692c) --- release/tools/ec2-builder.conf | 1 - release/tools/ec2-small.conf | 1 - 2 files changed, 2 deletions(-) diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf index bcea69331be5..3b0344f9eb9a 100644 --- a/release/tools/ec2-builder.conf +++ b/release/tools/ec2-builder.conf @@ -68,7 +68,6 @@ vm_extra_pre_umount() { # Add files from packages which weren't recorded in metalog metalog_add_data ./usr/local/etc/dhclient.conf - metalog_add_data ./usr/local/etc/ssl/cert.pem return 0 } diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf index f12afec75a4f..6564a59c2cf6 100644 --- a/release/tools/ec2-small.conf +++ b/release/tools/ec2-small.conf @@ -51,7 +51,6 @@ vm_extra_pre_umount() { # Add files from packages which weren't recorded in metalog metalog_add_data ./usr/local/etc/dhclient.conf - metalog_add_data ./usr/local/etc/ssl/cert.pem return 0 } From nobody Tue Oct 14 04:36:55 2025 X-Original-To: dev-commits-src-branches@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 4cm1dh0sXBz6BhXR; Tue, 14 Oct 2025 04:36:56 +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 4cm1dh096pz3Prt; Tue, 14 Oct 2025 04:36:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416616; 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=2NejBrp/i+0KQCe833rd7eesn6RvAlIkz1mUahdu4Us=; b=IyedO3wWBxmd++0ieCYYU/uhD/W840JM0ZFaYe0c2zSvNiynHwi+qnVb1YncIvI5znMhQ5 bgoquCF2VQcY6BE2hLu8R0dgTRirWSRLMAsL1rNMvYOwTb5n6NoR0nuNFiHMh6YYTgWh92 oFTERu1IsNZbOmOXjRua0XAo0cla3qdX1UFhge8d+D+IfBIFMXdADVWR6cSJ9kp444ybrJ l3BYnMJ4DYxhmfkpDSJ4BuBaHgD9Ca/zN9GMGbORX14nFrQCrvr8f3kwvfsuuU7ocFBnf+ Dexn7J8o5u9Hy1LeL9aILkz7Xxtyaf8lmwVhv492M5FrqaoJ85EOBE0AOO9k1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416616; 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=2NejBrp/i+0KQCe833rd7eesn6RvAlIkz1mUahdu4Us=; b=qwilgZSLtf5kqZZt57Z3zRwM0OlV1osoQ1HPTavD1ND6k/QiYFSPKP3WiBMOAewpz2e8AF Mb5WuvDrg/kSPsud4gGJ68hCU61dGdlsINAVM1Aa7nI7iZFzcu30rx59yn0qIpOi1oaxu2 Q80blBYqG0MvY3XfsNpWtlYJTK93Xso/pK6S5Kn0J30PyTlxOZgCYnCX2Qn3CR6dpcN1eX oCgo3kbvNWLiJuGJUrMytuMqqPbfqZkVwC4wiSoCtsazBISJDOsOOHtr8LdYMZsJLoyrzl JjJ7dpZv4WYp3l7+ww5Kbetx4Vo4mbPIBQPx853WXk9kKSB7klX8dBnbO5HQvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760416616; a=rsa-sha256; cv=none; b=lrhB5s/Fji7b19tIVkOhwNQcCmtGYrck2JeyavmCuSGyqBmNXGU4mC7cVMujsBOp/mDfl/ X9libIzeUGD0/1KSSPMhY8i3tEeEESWoswEUjC8sSivWMURBSIZmKCHIEjDvr6/+BSvwHJ rsh4SzDW0xZPZcuzVllBGlptq7R2LJz8K05WHTnY58a+L7wI656czTryv6ZfLcOwzidvtl jNXKsH+LPn2u3X73dJ8qnrRWKXRdX6pUBN5jWG/YBP2TK+GRSbqQRL0I8vUr+I5IUcPsp2 54GinPN5Nl4FOuau3cj0WBCSOmrw/ml6Oig90LpmT2Smr4iwpuJhIg1wtF+kGw== 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 4cm1dg6F3LzdcZ; Tue, 14 Oct 2025 04:36:55 +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 59E4atkU038055; Tue, 14 Oct 2025 04:36:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E4atsV038052; Tue, 14 Oct 2025 04:36:55 GMT (envelope-from git) Date: Tue, 14 Oct 2025 04:36:55 GMT Message-Id: <202510140436.59E4atsV038052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: e2dcc9fc4d2e - releng/15.0 - MFV: Import blocklist 2025-04-28 (8aa81bf) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: e2dcc9fc4d2e6722190cf15bc5bf5dc2e9132ab5 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e2dcc9fc4d2e6722190cf15bc5bf5dc2e9132ab5 commit e2dcc9fc4d2e6722190cf15bc5bf5dc2e9132ab5 Author: Jose Luis Duran AuthorDate: 2025-10-12 17:01:03 +0000 Commit: Colin Percival CommitDate: 2025-10-14 04:36:12 +0000 MFV: Import blocklist 2025-04-28 (8aa81bf) Merge commit '70f30afd4e9af5a51ee324d97e4d8c5f2124ec15' Breaking changes: - Upstream commit 24932b6 ("blocklistd: log the conf file line number with bad protocol errors") breaks backward database compatibility. An error will be displayed: Key size mismatch 296 != 288 A new and compatible database, with the new name, will be created when the service starts (committed separately). - Upstream commit ddf6d71 ("implement BLOCKLIST_BAD_USER as a "one-count" failure") introduced BLOCKLIST_BAD_USER with a one-count failure mechanism. BLOCKLIST_AUTH_FAIL was implemented with a two-count failure mechanism. Since we utilize BLOCKLIST_AUTH_FAIL, the number of failed attempts now doubles towards the maximum limit (nfails). This commit will be reverted separately. Changes: https://github.com/zoulasc/blocklist/compare/7093cd9...8aa81bf Approved by: re (cperciva) Approved by: emaste (mentor) MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D52869 (cherry picked from commit 48e64ca13d4f36795ac718911b805e3e9a726f1b) (cherry picked from commit 1a08326c6f503db5f0fb9201cdf55379bbe576e8) --- contrib/blocklist/Makefile | 2 +- contrib/blocklist/Makefile.inc | 7 +- contrib/blocklist/README | 52 ++-- contrib/blocklist/TODO | 49 +++- contrib/blocklist/bin/Makefile | 12 +- .../bin/{blacklistctl.8 => blocklistctl.8} | 69 +++++- .../bin/{blacklistctl.c => blocklistctl.c} | 9 +- .../blocklist/bin/{blacklistd.8 => blocklistd.8} | 75 +++--- .../blocklist/bin/{blacklistd.c => blocklistd.c} | 48 ++-- .../bin/{blacklistd.conf.5 => blocklistd.conf.5} | 82 ++++--- contrib/blocklist/bin/conf.c | 200 ++++++++++++--- contrib/blocklist/bin/conf.h | 3 +- contrib/blocklist/bin/internal.c | 8 +- contrib/blocklist/bin/internal.h | 8 +- contrib/blocklist/bin/run.c | 9 +- contrib/blocklist/bin/run.h | 2 +- contrib/blocklist/bin/state.c | 6 +- contrib/blocklist/bin/state.h | 2 +- contrib/blocklist/bin/support.c | 11 +- contrib/blocklist/bin/support.h | 7 +- contrib/blocklist/diff/ftpd.diff | 12 +- contrib/blocklist/diff/named.diff | 12 +- contrib/blocklist/diff/postfix.diff | 98 ++++++++ contrib/blocklist/diff/proftpd.diff | 20 +- contrib/blocklist/diff/ssh.diff | 14 +- contrib/blocklist/etc/Makefile | 10 +- .../etc/{blacklistd.conf => blocklistd.conf} | 7 +- contrib/blocklist/etc/ipf.conf | 45 ++++ contrib/blocklist/etc/npf.conf | 4 +- contrib/blocklist/etc/rc.d/Makefile | 4 +- .../blocklist/etc/rc.d/{blacklistd => blocklistd} | 20 +- contrib/blocklist/include/Makefile | 4 +- contrib/blocklist/include/bl.h | 11 +- .../blocklist/include/{blacklist.h => blocklist.h} | 44 ++-- contrib/blocklist/lib/Makefile | 20 +- contrib/blocklist/lib/bl.c | 112 +++++---- contrib/blocklist/lib/{blacklist.c => blocklist.c} | 49 ++-- .../lib/{libblacklist.3 => libblocklist.3} | 124 +++++----- contrib/blocklist/lib/shlib_version | 2 +- contrib/blocklist/libexec/Makefile | 4 +- contrib/blocklist/libexec/blacklistd-helper | 134 ---------- contrib/blocklist/libexec/blocklistd-helper | 272 +++++++++++++++++++++ contrib/blocklist/port/Makefile.am | 42 ++-- contrib/blocklist/port/_strtoi.h | 2 +- contrib/blocklist/port/configure.ac | 12 +- contrib/blocklist/port/fgetln.c | 2 +- contrib/blocklist/port/fparseln.c | 6 +- contrib/blocklist/port/pidfile.c | 6 +- contrib/blocklist/port/popenve.c | 6 +- contrib/blocklist/port/port.h | 32 ++- contrib/blocklist/port/sockaddr_snprintf.c | 6 +- contrib/blocklist/port/strlcat.c | 7 +- contrib/blocklist/port/strlcpy.c | 7 +- contrib/blocklist/port/strtoi.c | 6 +- contrib/blocklist/port/vsyslog_r.c | 13 + contrib/blocklist/test/Makefile | 2 +- contrib/blocklist/test/cltest.c | 6 +- contrib/blocklist/test/srvtest.c | 42 +++- 58 files changed, 1293 insertions(+), 587 deletions(-) diff --git a/contrib/blocklist/Makefile b/contrib/blocklist/Makefile index da4411d0ca75..899746d01431 100644 --- a/contrib/blocklist/Makefile +++ b/contrib/blocklist/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2015/01/22 17:49:41 christos Exp $ +# $NetBSD: Makefile,v 1.1.1.1 2020/06/15 01:52:52 christos Exp $ SUBDIR = lib .WAIT include bin etc libexec diff --git a/contrib/blocklist/Makefile.inc b/contrib/blocklist/Makefile.inc index 85c82783cd35..b22d4a801240 100644 --- a/contrib/blocklist/Makefile.inc +++ b/contrib/blocklist/Makefile.inc @@ -1,10 +1,11 @@ -# $NetBSD: Makefile.inc,v 1.3 2015/01/23 03:57:22 christos Exp $ +# $NetBSD: Makefile.inc,v 1.3 2025/02/11 17:48:30 christos Exp $ WARNS=6 .if !defined(LIB) -LDADD+= -lblacklist -DPADD+= ${LIBBLACKLIST} +LDADD+= -lblocklist +DPADD+= ${LIBBLOCKLIST} .endif CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+=-DHAVE_STRUCT_SOCKADDR_SA_LEN -DHAVE_UTIL_H -DHAVE_DB_H +CPPFLAGS+=-DHAVE_SYS_CDEFS_H diff --git a/contrib/blocklist/README b/contrib/blocklist/README index 7da3317a77fe..4b34138e01ec 100644 --- a/contrib/blocklist/README +++ b/contrib/blocklist/README @@ -1,21 +1,21 @@ -# $NetBSD: README,v 1.8 2017/04/13 17:59:34 christos Exp $ +# $NetBSD: README,v 1.3 2024/02/09 00:53:30 wiz Exp $ This package contains library that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy. -The interface to the packet filter is in libexec/blacklistd-helper +The interface to the packet filter is in libexec/blocklistd-helper (this is currently designed for npf) and the configuration file -(inspired from inetd.conf) is in etc/blacklistd.conf. +(inspired from inetd.conf) is in etc/blocklistd.conf. -On NetBSD you can find an example npf.conf and blacklistd.conf in -/usr/share/examples/blacklistd; you need to adjust the interface +On NetBSD you can find an example npf.conf and blocklistd.conf in +/usr/share/examples/blocklistd; you need to adjust the interface in npf.conf and copy both files to /etc; then you just enable -blacklistd=YES in /etc/rc.conf, start it up, and you are all set. +blocklistd=YES in /etc/rc.conf, start it up, and you are all set. -There is also a startup file in etc/rc.d/blacklistd +There is also a startup file in etc/rc.d/blocklistd -Patches to various daemons to add blacklisting capabilitiers are in the +Patches to various daemons to add blocklisting capabilities are in the "diff" directory: - OpenSSH: diff/ssh.diff [tcp socket example] - Bind: diff/named.diff [both tcp and udp] @@ -23,21 +23,21 @@ Patches to various daemons to add blacklisting capabilitiers are in the These patches have been applied to NetBSD-current. -The network daemon (for example sshd) communicates to blacklistd, via -a unix socket like syslog. The library calls are simple and everything +The network daemon (for example sshd) communicates to blocklistd, via +a Unix socket like syslog. The library calls are simple and everything is handled by the library. In the simplest form the only thing the daemon needs to do is to call: - blacklist(action, acceptedfd, message); + blocklist(action, acceptedfd, message); Where: - action = 0 -> successful login clear blacklist state + action = 0 -> successful login clear blocklist state 1 -> failed login, add to the failed count acceptedfd -> the file descriptor where the server is connected to the remote client. It is used to determine the listening socket, and the remote address. This allows any program to - contact the blacklist daemon, since the verification + contact the blocklist daemon, since the verification if the program has access to the listening socket is done by virtue that the port number is retrieved from the kernel. @@ -46,13 +46,13 @@ Where: Unfortunately there is no way to get information about the "peer" from a udp socket, because there is no connection and that information is kept with the server. In that case the daemon can provide the -peer information to blacklistd via: +peer information to blocklistd via: - blacklist_sa(action, acceptedfd, sockaddr, sockaddr_len, message); + blocklist_sa(action, acceptedfd, sockaddr, sockaddr_len, message); The configuration file contains entries of the form: -# Blacklist rule +# Blocklist rule # host/Port type protocol owner name nfail disable 192.168.1.1:ssh stream tcp * -int 10 1m 8.8.8.8:ssh stream tcp * -ext 6 60m @@ -60,18 +60,18 @@ ssh stream tcp6 * * 6 60m http stream tcp * * 6 60m Here note that owner is * because the connection is done from the -child ssh socket which runs with user privs. We treat ipv4 connections +child ssh socket which runs with user privs. We treat IPv4 connections differently by maintaining two different rules one for the external interface and one from the internal We also register for both tcp and tcp6 since those are different listening sockets and addresses; -we don't bother with ipv6 and separate rules. We use nfail = 6, +we don't bother with IPv6 and separate rules. We use nfail = 6, because ssh allows 3 password attempts per connection, and this will let us have 2 connections before blocking. Finally we block for an hour; we could block forever too by specifying * in the duration column. -blacklistd and the library use syslog(3) to report errors. The -blacklist filter state is persisted automatically in /var/db/blacklistd.db +blocklistd and the library use syslog(3) to report errors. The +blocklist filter state is persisted automatically in /var/db/blocklistd.db so that if the daemon is restarted, it remembers what connections is currently handling. To start from a fresh state (if you restart npf too for example), you can use -f. To watch the daemon at work, @@ -80,27 +80,27 @@ you can use -d. The current control file is designed for npf, and it uses the dynamic rule feature. You need to create a dynamic rule in your /etc/npf.conf on the group referring to the interface you want to block -called blacklistd as follows: +called blocklistd as follows: ext_if=bge0 int_if=sk0 group "external" on $ext_if { ... - ruleset "blacklistd-ext" - ruleset "blacklistd" + ruleset "blocklistd-ext" + ruleset "blocklistd" ... } group "internal" on $int_if { ... - ruleset "blacklistd-int" + ruleset "blocklistd-int" ... } -You can use 'blacklistctl dump -a' to list all the current entries +You can use 'blocklistctl dump -a' to list all the current entries in the database; the ones that have nfail / where urrent ->= otal, should have an id assosiated with them; this means that +>= otal, should have an id associated with them; this means that there is a packet filter rule added for that entry. For npf, you can examine the packet filter dynamic rule entries using 'npfctl rule list'. The number of current entries can exceed diff --git a/contrib/blocklist/TODO b/contrib/blocklist/TODO index 9925020d54bb..d67111bd5139 100644 --- a/contrib/blocklist/TODO +++ b/contrib/blocklist/TODO @@ -1,4 +1,4 @@ -# $NetBSD: TODO,v 1.7 2015/01/23 21:34:01 christos Exp $ +# $NetBSD: TODO,v 1.3 2025/02/05 20:22:26 christos Exp $ - don't poll periodically, find the next timeout - use the socket also for commands? Or separate socket? @@ -17,5 +17,48 @@ -n block unblock -- do we need an api in blacklistctl to perform maintenance -- fix the blacklistctl output to be more user friendly +- do we need an api in blocklistctl to perform maintenance +- fix the blocklistctl output to be more user friendly + +- figure out some way to do distributed operation securely (perhaps with + a helper daemon that authenticates local sockets and then communicates + local DB changes to the central server over a secure channel -- + perhaps blocklistd-helper can have a back-end that can send updates to + a central server) + +- add "blocklistd -l" to enable filter logging on all rules by default + +- add some new options in the config file + + "/all" - block both TCP and UDP (on the proto field?) + + "/log" - enable filter logging (if not the default) (on the name field?) + "/nolog"- disable filter logging (if not the default) (on the name field?) + + The latter two probably require a new parameter for blocklistd-helper. + +- "blocklistd -f" should (also?) be a blocklistctl function!?!?! + +- if blocklistd was started with '-r' then a SIGHUP should also do a + "control flush $rulename" and then re-add all the filter rules? + +- should/could /etc/rc.conf.d/ipfilter be created with the following? + + reload_postcmd=blocklistd_reload + start_postcmd=blocklistd_start + stop_precmd=blocklistd_stop + blocklistd_reload () + { + /etc/rc.d/blocklistd reload # IFF SIGHUP does flush/re-add + # /etc/rc.d/blocklistd restart + } + blocklistd_stop () + { + /etc/rc.d/blocklistd stop + } + blocklistd_start () + { + /etc/rc.d/blocklistd start + } + + or is there a better way? diff --git a/contrib/blocklist/bin/Makefile b/contrib/blocklist/bin/Makefile index 280c72fd3af1..1856e2524f3c 100644 --- a/contrib/blocklist/bin/Makefile +++ b/contrib/blocklist/bin/Makefile @@ -1,12 +1,12 @@ -# $NetBSD: Makefile,v 1.11 2015/01/27 19:40:36 christos Exp $ +# $NetBSD: Makefile,v 1.1.1.1 2020/06/15 01:52:52 christos Exp $ BINDIR=/sbin -PROGS=blacklistd blacklistctl -MAN.blacklistd=blacklistd.8 blacklistd.conf.5 -MAN.blacklistctl=blacklistctl.8 -SRCS.blacklistd = blacklistd.c conf.c run.c state.c support.c internal.c -SRCS.blacklistctl = blacklistctl.c conf.c state.c support.c internal.c +PROGS=blocklistd blocklistctl +MAN.blocklistd=blocklistd.8 blocklistd.conf.5 +MAN.blocklistctl=blocklistctl.8 +SRCS.blocklistd = blocklistd.c conf.c run.c state.c support.c internal.c +SRCS.blocklistctl = blocklistctl.c conf.c state.c support.c internal.c DBG=-g LDADD+=-lutil diff --git a/contrib/blocklist/bin/blacklistctl.8 b/contrib/blocklist/bin/blocklistctl.8 similarity index 59% rename from contrib/blocklist/bin/blacklistctl.8 rename to contrib/blocklist/bin/blocklistctl.8 index 7c6521117745..a98c16374f19 100644 --- a/contrib/blocklist/bin/blacklistctl.8 +++ b/contrib/blocklist/bin/blocklistctl.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: blacklistctl.8,v 1.9 2016/06/08 12:48:37 wiz Exp $ +.\" $NetBSD: blocklistctl.8,v 1.4 2025/02/07 01:35:38 kre Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,27 +27,43 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 7, 2016 -.Dt BLACKLISTCTL 8 +.Dd January 27, 2025 +.Dt BLOCKLISTCTL 8 .Os .Sh NAME -.Nm blacklistctl -.Nd display and change the state of blacklistd +.Nm blocklistctl +.Nd display and change the state of the blocklistd database .Sh SYNOPSIS .Nm .Cm dump .Op Fl abdnrw +.Op Fl D Ar dbname .Sh DESCRIPTION .Nm -is a program used to display the state of -.Xr blacklistd 8 +is a program used to display and change the state of the +.Xr blocklistd 8 +database. +The following sub-commands are supported: +.Ss dump .Pp -The following options are available: +The following options are available for the +.Cm dump +sub-command: .Bl -tag -width indent .It Fl a -Show all database entries, by default it shows only the embryonic ones. +Show all database entries, by default it shows only the active ones. +Inactive entries will be shown with a last-access (or, with +.Fl r , +the remaining) time of +.Ql never . .It Fl b Show only the blocked entries. +.It Fl D Ar dbname +Specify the location of the +.Ic blocklistd +database file to use. +The default is +.Pa /var/db/blocklistd.db . .It Fl d Increase debugging level. .It Fl n @@ -59,18 +75,47 @@ Normally the width of addresses is good for IPv4, the .Fl w flag, makes the display wide enough for IPv6 addresses. .El +.Pp +The output of the +.Cm dump +sub-command consists of a header (unless +.Fl n +was given) and one line for each record in the database, where each line +has the following columns: +.Bl -tag -width indent +.It Ql address/ma:port +The remote address, mask, and local port number of the client connection +associated with the database entry. +.It Ql id +column will show the identifier for the packet filter rule associated +with the database entry, though this may only be the word +.Ql OK +for packet filters which do not creat a unique identifier for each rule. +.It Ql nfail +The number of +.Em failures +reported for the client on the noted port, as well as the number of +failures allowed before blocking (or, with +.Fl a , +an asterisk +.Aq * ) +.It So last access Sc | So remaining time Sc +The last time a the client was reported as attempting access, or, with +.Fl r , +the time remaining before the rule blocking the client will be removed. +.El .Sh SEE ALSO -.Xr blacklistd 8 +.Xr blocklistd 8 .Sh NOTES Sometimes the reported number of failed attempts can exceed the number of attempts that -.Xr blacklistd 8 +.Xr blocklistd 8 is configured to block. This can happen either because the rule has been removed manually, or because there were more attempts in flight while the rule block was being added. This condition is normal; in that case -.Xr blacklistd 8 +.Xr blocklistd 8 will first attempt to remove the existing rule, and then it will re-add it to make sure that there is only one rule active. .Sh HISTORY diff --git a/contrib/blocklist/bin/blacklistctl.c b/contrib/blocklist/bin/blocklistctl.c similarity index 94% rename from contrib/blocklist/bin/blacklistctl.c rename to contrib/blocklist/bin/blocklistctl.c index 89b72921caf5..8c75e0430c61 100644 --- a/contrib/blocklist/bin/blacklistctl.c +++ b/contrib/blocklist/bin/blocklistctl.c @@ -1,4 +1,4 @@ -/* $NetBSD: blacklistctl.c,v 1.23 2018/05/24 19:21:01 christos Exp $ */ +/* $NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -32,8 +32,10 @@ #include "config.h" #endif +#ifdef HAVE_SYS_CDEFS_H #include -__RCSID("$NetBSD: blacklistctl.c,v 1.23 2018/05/24 19:21:01 christos Exp $"); +#endif +__RCSID("$NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $"); #include #include @@ -63,7 +65,8 @@ usage(int c) warnx("Missing/unknown command"); else if (c != '?') warnx("Unknown option `%c'", (char)c); - fprintf(stderr, "Usage: %s dump [-abdnrw]\n", getprogname()); + fprintf(stderr, + "Usage: %s dump [-abdnrw] [-D dbname]\n", getprogname()); exit(EXIT_FAILURE); } diff --git a/contrib/blocklist/bin/blacklistd.8 b/contrib/blocklist/bin/blocklistd.8 similarity index 85% rename from contrib/blocklist/bin/blacklistd.8 rename to contrib/blocklist/bin/blocklistd.8 index 82e1f15f61c9..e0b9fb482cbd 100644 --- a/contrib/blocklist/bin/blacklistd.8 +++ b/contrib/blocklist/bin/blocklistd.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: blacklistd.8,v 1.23 2020/04/21 13:57:12 christos Exp $ +.\" $NetBSD: blocklistd.8,v 1.8 2025/02/25 22:13:34 christos Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,11 +27,11 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 21, 2020 -.Dt BLACKLISTD 8 +.Dd February 25, 2025 +.Dt BLOCKLISTD 8 .Os .Sh NAME -.Nm blacklistd +.Nm blocklistd .Nd block and release ports on demand to avoid DoS abuse .Sh SYNOPSIS .Nm @@ -53,22 +53,35 @@ for notifications from other daemons about successful or failed connection attempts. If no such file is specified, then it only listens to the socket path specified by -.Ar sockspath +.Ar sockpath or if that is not specified to -.Pa /var/run/blacklistd.sock . +.Pa /var/run/blocklistd.sock . Each notification contains an (action, port, protocol, address, owner) tuple that identifies the remote connection and the action. -This tuple is consulted against entries in -.Ar configfile -with syntax specified in -.Xr blacklistd.conf 5 . +This tuple is consulted against entries from the +.Ar configfile , +with the syntax specified in +.Xr blocklistd.conf 5 . If an entry is matched, a state entry is created for that tuple. Each entry contains a number of tries limit and a duration. .Pp +If +.Ar configfile +is a directory, or a directory exists with the same name as +.Ar configfile +with +.Qq .d +appended to it, each file in the directory will be read as configuration file. +If +.Ar configfile +exists as a file it will be processed before the contents of the +.Ar configfile Ns .d +directory if that also exists. +.Pp The way .Nm does configuration entry matching is by having the client side pass the -file descriptor associated with the connection the client wants to blacklist +file descriptor associated with the connection the client wants to blocklist as well as passing socket credentials. .Pp The file descriptor is used to retrieve information (address and port) @@ -116,7 +129,7 @@ specified by the arguments. The .Ar rulename argument can be set from the command line (default -.Dv blacklistd ) . +.Dv blocklistd ) . The script could print a numerical id to stdout as a handle for the rule that can be used later to remove that connection, but that is not required as all information to remove the rule is @@ -152,8 +165,8 @@ The following options are available: .It Fl C Ar controlprog Use .Ar controlprog -to communicate with the packet filter, usually -.Pa /usr/libexec/blacklistd-helper . +to communicate with the packet filter, instead of the default, which is +.Pa /usr/libexec/blocklistd-helper . The following arguments are passed to the control program: .Bl -tag -width protocol .It action @@ -161,7 +174,7 @@ The action to perform: .Dv add , .Dv rem , or -.Dv flush +.Dv flush ; to add, remove or flush a firewall rule. .It name The rule name. @@ -183,13 +196,17 @@ identifier of the rule to be removed. The add command is expected to return the rule identifier string to stdout. .El .It Fl c Ar configuration -The name of the configuration file to read, usually -.Pa /etc/blacklistd.conf . +The name of the configuration file to read. +The default when +.Fl c +is not given is +.Pa /etc/blocklistd.conf . .It Fl D Ar dbfile The Berkeley DB file where .Nm -stores its state, usually -.Pa /var/db/blacklistd.db . +stores its state. +It defaults to +.Pa /var/db/blocklistd.db . .It Fl d Normally, .Nm @@ -203,14 +220,14 @@ are deleted by invoking the control script as: .Bd -literal -offset indent control flush .Ed -.It Fl P Ar sockspathsfile +.It Fl P Ar sockpathsfile A file containing a list of pathnames, one per line that .Nm will create sockets to listen to. This is useful for chrooted environments. .It Fl R Ar rulename Specify the default rule name for the packet filter rules, usually -.Dv blacklistd . +.Dv blocklistd . .It Fl r Re-read the firewall rules from the internal database, then remove and re-add them. @@ -256,19 +273,21 @@ This signal tells to decrease the internal debugging level by 1. .El .Sh FILES -.Bl -tag -width /usr/libexec/blacklistd-helper -compact -.It Pa /usr/libexec/blacklistd-helper +.Bl -tag -width /usr/libexec/blocklistd-helper -compact +.It Pa /usr/libexec/blocklistd-helper Shell script invoked to interface with the packet filter. -.It Pa /etc/blacklistd.conf +.It Pa /etc/blocklistd.conf Configuration file. -.It Pa /var/db/blacklistd.db +.It Pa /var/db/blocklistd.db Database of current connection entries. -.It Pa /var/run/blacklistd.sock +.It Pa /var/run/blocklistd.sock Socket to receive connection notifications. .El .Sh SEE ALSO -.Xr blacklistd.conf 5 , -.Xr blacklistctl 8 , +.Xr blocklistd.conf 5 , +.Xr blocklistctl 8 , +.Xr ipf 8 , +.Xr ipfw 8 , .Xr pfctl 8 , .Xr syslogd 8 .Sh HISTORY diff --git a/contrib/blocklist/bin/blacklistd.c b/contrib/blocklist/bin/blocklistd.c similarity index 91% rename from contrib/blocklist/bin/blacklistd.c rename to contrib/blocklist/bin/blocklistd.c index 714abcbcaf0e..4846b507c8d1 100644 --- a/contrib/blocklist/bin/blacklistd.c +++ b/contrib/blocklist/bin/blocklistd.c @@ -1,4 +1,4 @@ -/* $NetBSD: blacklistd.c,v 1.38 2019/02/27 02:20:18 christos Exp $ */ +/* $NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -31,8 +31,11 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif + +#ifdef HAVE_SYS_CDEFS_H #include -__RCSID("$NetBSD: blacklistd.c,v 1.38 2019/02/27 02:20:18 christos Exp $"); +#endif +__RCSID("$NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $"); #include #include @@ -175,6 +178,8 @@ process(bl_t bl) struct dbinfo dbi; struct timespec ts; + memset(&dbi, 0, sizeof(dbi)); + memset(&c, 0, sizeof(c)); if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { (*lfun)(LOG_ERR, "clock_gettime failed (%m)"); return; @@ -188,10 +193,11 @@ process(bl_t bl) if (getremoteaddress(bi, &rss, &rsl) == -1) goto out; - if (debug) { + if (debug || bi->bi_msg[0]) { sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); - (*lfun)(LOG_DEBUG, "processing type=%d fd=%d remote=%s msg=%s" - " uid=%lu gid=%lu", bi->bi_type, bi->bi_fd, rbuf, + (*lfun)(bi->bi_msg[0] ? LOG_INFO : LOG_DEBUG, + "processing type=%d fd=%d remote=%s msg=%s uid=%lu gid=%lu", + bi->bi_type, bi->bi_fd, rbuf, bi->bi_msg, (unsigned long)bi->bi_uid, (unsigned long)bi->bi_gid); } @@ -216,16 +222,19 @@ process(bl_t bl) switch (bi->bi_type) { case BL_ABUSE: /* - * If the application has signaled abusive behavior, - * set the number of fails to be one less than the - * configured limit. Fallthrough to the normal BL_ADD - * processing, which will increment the failure count - * to the threshhold, and block the abusive address. + * If the application has signaled abusive behavior, set the + * number of fails to be two less than the configured limit. + * Fall through to the normal BL_ADD and BL_BADUSER processing, + * which will increment the failure count to the threshhold, and + * block the abusive address. */ if (c.c_nfail != -1) - dbi.count = c.c_nfail - 1; + dbi.count = c.c_nfail - 2; /*FALLTHROUGH*/ case BL_ADD: + dbi.count++; /* will become += 2 */ + /*FALLTHROUGH*/ + case BL_BADUSER: dbi.count++; dbi.last = ts.tv_sec; if (c.c_nfail != -1 && dbi.count >= c.c_nfail) { @@ -254,9 +263,6 @@ process(bl_t bl) dbi.count = 0; dbi.last = 0; break; - case BL_BADUSER: - /* ignore for now */ - break; default: (*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); } @@ -334,7 +340,7 @@ static void addfd(struct pollfd **pfdp, bl_t **blp, size_t *nfd, size_t *maxfd, const char *path) { - bl_t bl = bl_create(true, path, vflag ? vdlog : vsyslog); + bl_t bl = bl_create(true, path, vflag ? vdlog : vsyslog_r); if (bl == NULL || !bl_isconnected(bl)) exit(EXIT_FAILURE); if (*nfd >= *maxfd) { @@ -395,15 +401,25 @@ rules_flush(void) static void rules_restore(void) { + DB *db; struct conf c; struct dbinfo dbi; unsigned int f; - for (f = 1; state_iterate(state, &c, &dbi, f) == 1; f = 0) { + db = state_open(dbfile, O_RDONLY, 0); + if (db == NULL) { + (*lfun)(LOG_ERR, "Can't open `%s' to restore state (%m)", + dbfile); + return; + } + for (f = 1; state_iterate(db, &c, &dbi, f) == 1; f = 0) { if (dbi.id[0] == '\0') continue; (void)run_change("add", &c, dbi.id, sizeof(dbi.id)); + state_put(state, &c, &dbi); } + state_close(db); + state_sync(state); } int diff --git a/contrib/blocklist/bin/blacklistd.conf.5 b/contrib/blocklist/bin/blocklistd.conf.5 similarity index 83% rename from contrib/blocklist/bin/blacklistd.conf.5 rename to contrib/blocklist/bin/blocklistd.conf.5 index 70036441eb4b..3a7dbfc07f58 100644 --- a/contrib/blocklist/bin/blacklistd.conf.5 +++ b/contrib/blocklist/bin/blocklistd.conf.5 @@ -1,6 +1,6 @@ -.\" $NetBSD: blacklistd.conf.5,v 1.9 2019/11/06 20:33:30 para Exp $ +.\" $NetBSD: blocklistd.conf.5,v 1.7 2025/02/11 17:47:05 christos Exp $ .\" -.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" Copyright (c) 2015, 2025 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation @@ -27,17 +27,17 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 18, 2020 -.Dt BLACKLISTD.CONF 5 +.Dd February 5, 2025 +.Dt BLOCKLISTD.CONF 5 .Os .Sh NAME -.Nm blacklistd.conf -.Nd configuration file format for blacklistd +.Nm blocklistd.conf +.Nd configuration file format for blocklistd .Sh DESCRIPTION The .Nm file contains configuration entries for -.Xr blacklistd 8 +.Xr blocklistd 8 in a fashion similar to .Xr inetd.conf 5 . Only one entry per line is permitted. @@ -48,34 +48,34 @@ Comments are denoted by a at the beginning of a line. .Pp There are two kinds of configuration lines, -.Va local +.Va [local] and -.Va remote . +.Va [remote] . By default, configuration lines are -.Va local , +.Va [local] , i.e. the address specified refers to the addresses on the local machine. To switch to between -.Va local +.Va [local] and -.Va remote +.Va [remote] configuration lines you can specify the stanzas: .Dq [local] and .Dq [remote] . .Pp On -.Va local +.Va [local] and -.Va remote +.Va [remote] lines .Dq * means use the default, or wildcard match. In addition, for -.Va remote +.Va [remote] lines .Dq = means use the values from the matched -.Va local +.Va [local] configuration line. .Pp The first four fields, @@ -85,9 +85,9 @@ The first four fields, and .Va owner are used to match the -.Va local +.Va [local] or -.Va remote +.Va [remote] addresses, whereas the last 3 fields .Va name , .Va nfail , @@ -110,8 +110,8 @@ The can be an IPv4 address in numeric format, an IPv6 address in numeric format and enclosed by square brackets, or an interface name. Mask modifiers are not allowed on interfaces because interfaces -can have multiple addresses in different protocols where the mask has a different -size. +can have multiple addresses in different protocols where the mask has a +different size. .Pp The .Dv mask @@ -143,8 +143,8 @@ The field, is the name of the packet filter rule to be used. If the .Va name -starts with a -.Dq - , +starts with a hyphen +.Pq Dq - , then the default rulename is prepended to the given name. If the .Dv name @@ -160,13 +160,13 @@ field contains the number of failed attempts before access is blocked, defaulting to .Dq * meaning never, and the last field -.Va disable +.Va duration specifies the amount of time since the last access that the blocking rule should be active, defaulting to .Dq * meaning forever. The default unit for -.Va disable +.Va duration is seconds, but one can specify suffixes for different units, such as .Dq m for minutes @@ -176,28 +176,34 @@ for hours and for days. .Pp Matching is done first by checking the -.Va local +.Va [local] rules individually, in the order of the most specific to the least specific. -If a match is found, then the -.Va remote +If a match is found, then the matching +.Va [remote] rules are applied. The .Va name , .Va nfail , and -.Va disable +.Va duration fields can be altered by the -.Va remote +.Va [remote] rule that matched. .Pp The -.Va remote +.Va [remote] rules can be used for allowing specific addresses, changing the mask -size, the rule that the packet filter uses, the number of failed attempts, -or the block duration. +size (via +.Va name ) , +the rule that the packet filter uses (also via +.Va name ) , +the number of failed attempts (via +.Va nfail ) , +or the duration to block (via +.Va duration ) . .Sh FILES -.Bl -tag -width /etc/blacklistd.conf -compact -.It Pa /etc/blacklistd.conf +.Bl -tag -width /etc/blocklistd.conf -compact +.It Pa /etc/blocklistd.conf Configuration file. .El .Sh EXAMPLES @@ -209,13 +215,15 @@ bnx0:ssh * * * * 3 6h [remote] # Never block 1.2.3.4 1.2.3.4:ssh * * * * * * -# For addresses coming from 8.8.0.0/16 block whole /24 networks instead of +# Never block the example IPv6 subnet either +[2001:db8::]/32:ssh * * * * * * +# For addresses coming from 8.8.0.0/16 block whole /24 networks instead # individual hosts, but keep the rest of the blocking parameters the same. 8.8.0.0/16:ssh * * * /24 = = .Ed .Sh SEE ALSO -.Xr blacklistctl 8 , -.Xr blacklistd 8 +.Xr blocklistctl 8 , +.Xr blocklistd 8 .Sh HISTORY *** 2792 LINES SKIPPED *** From nobody Tue Oct 14 04:36:56 2025 X-Original-To: dev-commits-src-branches@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 4cm1dj2zSRz6BhVQ; Tue, 14 Oct 2025 04:36:57 +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 4cm1dj0TtRz3PxW; Tue, 14 Oct 2025 04:36:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416617; 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=73j5Fa3jd/Ip57tBiagQ8Eh/KX0mzHVs3MCFaYg+/Vg=; b=FjEPtFLnQG1emTE1oAlv2EILVurK6I1QvF2MYRN6wJo0SsNxopGHCkOhhV2C283JMWYHVA OLbXnkD6oNHLp6p69IKuWLMNXVfgH5HnblyX9z4ake94ovJxwQZm9IiOQaNiDottZGkIDB hKXuMmgmLl22+WTISKhpjZ99OoPXbHM1zV5CtgO3T26L01tw7HiY/RLk+SL3XbNF6/8ySr SVN5tWSxaWCRIsmAEjHwwEPgLHttcoDVGf1TxoZI+8MmekXH1m5ildihlIuU90F4fqEGE0 5wBGANZlq2aqfNafMPMSXMZtL9nJpihV+Ei+M9ik2edEqFGKHfIZTwsNsWcI0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416617; 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=73j5Fa3jd/Ip57tBiagQ8Eh/KX0mzHVs3MCFaYg+/Vg=; b=dyOKMEwdgIWQVTC1Gx5bWyXkGDtffOHm7/P8fl5GOoc9HQVMtbBge1eb50EgvyJTgN7JfB cWJ5LwfUfScMAAmTeHHxO7RVE01b9o+mgd07xPpntcqNCFcR6RWALY2ENt76STKnipe17I 0r9cg3EBTC4iaZjkDNX4Sfi8m+K267jaoMmOSiIFNlIyutKUNwbkjNKmq0PGUxpPk5YgbC 78/eDKZJtn3JlivFussmcXovjOP9acuinPpeGPqU05FR0wDUHaiQrlMBrlvno52D8/BbDf KGoLyTUDf7tzb9IC7RgsCgJtjayiJKVkm/2nMP8Qk1E/KQ0lpYaNvphloDmzJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760416617; a=rsa-sha256; cv=none; b=AA3KdmWrLchzOmyjwxV6z2Fi/65s5I1IdFI0nfin3YUAAAGdi5SraxNJtDFlyzzlamKGNA uko8/wj0bkRsgPsAyFd/8GtwcrZ22IbAsopCQQDRkC61sSIgobiBg3zfeit9zuW8+QiSIF O8/MQrHv3szztyCQLIxkO2BiSZFy796TSOQB9Dc0e203zx2YxWetPPxt2+BrH6xa+QSF53 7G8cqmnqWshburEOW1gAdTOHGfi/V+XyHisjN4GCAMIyI0bE/r8Nhr4HUn7YVz3Okyryra FhSlOc6+4vetsm5qbaFIxWeu2u+lOLnenBSDN8lJORS5Cm9TX9BNVHiqCxzO/A== 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 4cm1dj05CpzdXY; Tue, 14 Oct 2025 04:36:57 +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 59E4auJ9038090; Tue, 14 Oct 2025 04:36:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E4auCd038087; Tue, 14 Oct 2025 04:36:56 GMT (envelope-from git) Date: Tue, 14 Oct 2025 04:36:56 GMT Message-Id: <202510140436.59E4auCd038087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 803c373304ff - releng/15.0 - blocklist: Revert upstream commit ddf6d71 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 803c373304ff607b84a17c8b020dccf3f558bead Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=803c373304ff607b84a17c8b020dccf3f558bead commit 803c373304ff607b84a17c8b020dccf3f558bead Author: Jose Luis Duran AuthorDate: 2025-10-11 14:15:03 +0000 Commit: Colin Percival CommitDate: 2025-10-14 04:36:31 +0000 blocklist: Revert upstream commit ddf6d71 Upstream commit ddf6d71 ("implement BLOCKLIST_BAD_USER as a "one-count" failure") introduced BLOCKLIST_BAD_USER with a one-count failure mechanism. BLOCKLIST_AUTH_FAIL was implemented with a two-count failure mechanism. Since we have been utilizing BLOCKLIST_AUTH_FAIL, the number of failed attempts now doubles towards the maximum limit (nfails), giving system administrators the impression that the number of failed authentication attempts is inaccurate. Revert this commit until a consensus has been reached. We do not want to introduce yet another breaking change with the renaming of the library. Approved by: re (cperciva) Approved by: emaste (mentor) MFC after: 2 days (cherry picked from commit 4d56eb007b18881becb2107f87bd2a7edca3e6bf) (cherry picked from commit a719ef67e8ed2cbae5f397d2a4680a02495b79ab) --- contrib/blocklist/bin/blocklistd.c | 18 +++++++++--------- contrib/blocklist/lib/libblocklist.3 | 32 +++++++++++++++++++------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/contrib/blocklist/bin/blocklistd.c b/contrib/blocklist/bin/blocklistd.c index 4846b507c8d1..03a1dbbf056c 100644 --- a/contrib/blocklist/bin/blocklistd.c +++ b/contrib/blocklist/bin/blocklistd.c @@ -222,19 +222,16 @@ process(bl_t bl) switch (bi->bi_type) { case BL_ABUSE: /* - * If the application has signaled abusive behavior, set the - * number of fails to be two less than the configured limit. - * Fall through to the normal BL_ADD and BL_BADUSER processing, - * which will increment the failure count to the threshhold, and - * block the abusive address. + * If the application has signaled abusive behavior, + * set the number of fails to be one less than the + * configured limit. Fallthrough to the normal BL_ADD + * processing, which will increment the failure count + * to the threshhold, and block the abusive address. */ if (c.c_nfail != -1) - dbi.count = c.c_nfail - 2; + dbi.count = c.c_nfail - 1; /*FALLTHROUGH*/ case BL_ADD: - dbi.count++; /* will become += 2 */ - /*FALLTHROUGH*/ - case BL_BADUSER: dbi.count++; dbi.last = ts.tv_sec; if (c.c_nfail != -1 && dbi.count >= c.c_nfail) { @@ -263,6 +260,9 @@ process(bl_t bl) dbi.count = 0; dbi.last = 0; break; + case BL_BADUSER: + /* ignore for now */ + break; default: (*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); } diff --git a/contrib/blocklist/lib/libblocklist.3 b/contrib/blocklist/lib/libblocklist.3 index 7a016625a047..fd6eb93eb756 100644 --- a/contrib/blocklist/lib/libblocklist.3 +++ b/contrib/blocklist/lib/libblocklist.3 @@ -106,20 +106,26 @@ The .Ar action parameter can take these values: .Bl -tag -width ".Dv BLOCKLIST_ABUSIVE_BEHAVIOR" -.It Va BLOCKLIST_BAD_USER -The sending daemon has determined the username presented for -authentication is invalid. -This is considered as one failure count. -.It Va BLOCKLIST_AUTH_FAIL +.It Dv BLOCKLIST_AUTH_FAIL There was an unsuccessful authentication attempt. -This is considered as two failure counts together. -.It Va BLOCKLIST_ABUSIVE_BEHAVIOR -The sending daemon has detected abusive behavior from the remote system. -This is considered as a total immediate failure. -The remote address will be blocked as soon as possible. -.It Va BLOCKLIST_AUTH_OK -A valid user successfully authenticated. -Any entry for the remote address will be removed as soon as possible. +.It Dv BLOCKLIST_AUTH_OK +A user successfully authenticated. +.It Dv BLOCKLIST_ABUSIVE_BEHAVIOR +The sending daemon has detected abusive behavior +from the remote system. +The remote address should +be blocked as soon as possible. +.It Dv BLOCKLIST_BAD_USER +The sending daemon has determined the username +presented for authentication is invalid. +The +.Xr blocklistd 8 +daemon compares the username to a configured list of forbidden +usernames and +blocks the address immediately if a forbidden username matches. +(The +.Dv BLOCKLIST_BAD_USER +support is not currently available.) .El .Pp The From nobody Tue Oct 14 04:36:58 2025 X-Original-To: dev-commits-src-branches@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 4cm1dl1rPdz6BhVT; Tue, 14 Oct 2025 04:36:59 +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 4cm1dk5bfJz3Q3Z; Tue, 14 Oct 2025 04:36:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416618; 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=MoiKLxOnYN5RNwhM+65M0PQ4ZqYe94prHma8JwtztMo=; b=sbcls/19/A1cLSJZSAa0Kg6nC40LSyGQ8TmuUxAzzZo+2kFatiOqDU9c1DYEKaVa7N6P/n jAA1kCgMN4qRhJt4H4cm2f1svxWs+Ldn4IPbhKhjb74UYLOhb+QtjSLMKmtygl5y36KQKb Pg/mZCWhOLcK9ltkbGPgLzh1qOyNiDSNJV9LyobGKRXyGZl+08vlZ/MaAKYIPmTq/wH4Pt 4boL5yQfpXw+8d6kyTyfKUFkSTDAIDXa1FM4ImPUOOTBSmKJkCtXw7M0nlBzS7fiiEuGIN jUOM9ySgLpl8fGemTyfitzXy9jhJd+5yr9J+moTGNxU+iEFWcuGgVIANHFlOpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416618; 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=MoiKLxOnYN5RNwhM+65M0PQ4ZqYe94prHma8JwtztMo=; b=L7kvXKrh8Gr91gzfr/haEBny2CcopotihiAPwnIpWvXxpMSXLaxZWztt81rCVhQznvRrEC BorZiRdNm/TxRjhLxIRdGIasG9mde0cNPWrASZiYIkMvEP/MHZLieeGqai5wt6ww3Rgg2H Surghn3UT9e8VNFgX7SnoJuIFTJBfHS1x9qKPjhJYTeSu58MmEz5Bs25NjdB8Ud+f1hC1K vVx/FmxwPkWQqm55ua9qbHXYczlJ0C5BRP6U1HTHEWS2hLEQ2D6LYKpoUZSIK8snyLEdhD VtKY1cmUzws0ZZl3m4sfL5cyDh+6qYjJcCV7Uuu9J07GpfGteywh59IgWNfn1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760416618; a=rsa-sha256; cv=none; b=sgk0QN9UK0k2plK/XI+N2JkMLUtNDrtwU9+GfldxcjMmKRCZzeP9Hl/ZctDKjNjty4NYPP bw4hGGGWD7LH7B5+1mDQWLPnGJpXmKkS0CtoHIU/OIEGX2NxhdjRkeAaelbSQjAju9r9Aw gx4wYJm0dNml5xICZXg+Am8hcwqAvr80KrxrU7RJXy8XPMrs2Lt+w+/pNGszNt+HrCR6nJ j2+7FGs7VTIK2FTSvmBR+nmiih6M8qs/r2mrCAbk1DwQPIfOFb2xKgmE6POlt/lhPCeW46 53o4j27QUzqJ2SiaYcxV8Ir3AGYet7KoP9ol+wBa8Oh6xAI9YDrwcZgFklsAjQ== 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 4cm1dk1MJxzdcb; Tue, 14 Oct 2025 04:36:58 +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 59E4awbw038124; Tue, 14 Oct 2025 04:36:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E4awON038121; Tue, 14 Oct 2025 04:36:58 GMT (envelope-from git) Date: Tue, 14 Oct 2025 04:36:58 GMT Message-Id: <202510140436.59E4awON038121@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 2b6eb6561253 - releng/15.0 - blocklist: Rename blacklist to blocklist List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 2b6eb65612539f7a9ee94899b310d18e3ae894a3 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2b6eb65612539f7a9ee94899b310d18e3ae894a3 commit 2b6eb65612539f7a9ee94899b310d18e3ae894a3 Author: Jose Luis Duran AuthorDate: 2025-10-12 17:14:27 +0000 Commit: Colin Percival CommitDate: 2025-10-14 04:36:35 +0000 blocklist: Rename blacklist to blocklist Follow up upstream rename from blacklist to blocklist. - Old names and rc scripts are still valid, but emitting an ugly warning - Old firewall rules and anchor names should work, but emitting an ugly warning - Old MK_BLACKLIST* knobs are wired to the new ones Although care has been taken not to break current configurations, this is a large patch containing mostly duplicated code. If issues arise, it will be swiftly reverted. Approved by: re (cperciva) Reviewed by: ivy (pkgbase) Approved by: emaste (mentor) MFC after: 2 days Relnotes: yes (cherry picked from commit 7238317403b95a8e35cf0bc7cd66fbd78ecbe521) (cherry picked from commit 7f6f2139eef9f9fc263977c847c6dbf235a1b1b7) --- contrib/blocklist/bin/blacklistctl.c | 170 ++++++ contrib/blocklist/bin/blacklistd.c | 592 +++++++++++++++++++++ contrib/blocklist/bin/old_internal.c | 50 ++ contrib/blocklist/bin/old_internal.h | 58 ++ contrib/blocklist/include/blacklist.h | 65 +++ contrib/blocklist/include/old_bl.h | 80 +++ contrib/blocklist/lib/blacklist.c | 117 ++++ contrib/blocklist/lib/old_bl.c | 554 +++++++++++++++++++ crypto/openssh/auth-pam.c | 4 +- crypto/openssh/auth.c | 8 +- crypto/openssh/{blacklist.c => blocklist.c} | 16 +- .../{blacklist_client.h => blocklist_client.h} | 30 +- crypto/openssh/monitor.c | 8 +- crypto/openssh/servconf.c | 18 +- crypto/openssh/servconf.h | 2 +- crypto/openssh/sshd-session.c | 10 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 14 +- lib/Makefile | 1 + lib/libblacklist/Makefile | 24 +- lib/libblocklist/Makefile | 30 ++ lib/libblocklist/Makefile.depend | 16 + lib/libsysdecode/Makefile.depend | 2 +- libexec/Makefile | 6 +- libexec/blacklistd-helper/Makefile | 7 - libexec/blocklistd-helper/Makefile | 10 + .../Makefile.depend | 0 libexec/blocklistd-helper/blacklistd-helper | 293 ++++++++++ libexec/fingerd/Makefile | 8 +- libexec/fingerd/Makefile.depend.options | 2 +- libexec/fingerd/fingerd.c | 16 +- libexec/rc/rc.conf | 6 +- libexec/rc/rc.d/Makefile | 5 +- libexec/rc/rc.d/blacklistd | 10 +- libexec/rc/rc.d/blocklistd | 46 ++ release/packages/ucl/blocklist-all.ucl | 8 +- secure/libexec/sshd-auth/Makefile | 10 +- secure/libexec/sshd-session/Makefile | 10 +- secure/usr.sbin/sshd/Makefile.depend.options | 2 +- share/man/man5/periodic.conf.5 | 2 +- share/man/man5/src.conf.5 | 43 +- share/mk/bsd.libnames.mk | 1 + share/mk/local.dirdeps-options.mk | 1 + share/mk/src.libnames.mk | 10 +- share/mk/src.opts.mk | 10 + targets/pseudo/userland/Makefile.depend | 6 + targets/pseudo/userland/lib/Makefile.depend | 4 + targets/pseudo/userland/libexec/Makefile.depend | 4 +- tools/build/mk/OptionalObsoleteFiles.inc | 21 +- tools/build/options/WITHOUT_BLACKLIST | 6 +- tools/build/options/WITHOUT_BLACKLIST_SUPPORT | 8 +- tools/build/options/WITHOUT_BLOCKLIST | 4 + tools/build/options/WITHOUT_BLOCKLIST_SUPPORT | 6 + usr.sbin/Makefile | 2 + usr.sbin/blacklistctl/Makefile | 10 +- usr.sbin/blacklistd/Makefile | 13 +- usr.sbin/blacklistd/blacklistd.conf | 10 +- usr.sbin/blocklistctl/Makefile | 22 + usr.sbin/blocklistctl/Makefile.depend | 18 + usr.sbin/blocklistd/Makefile | 23 + usr.sbin/blocklistd/Makefile.depend | 18 + usr.sbin/blocklistd/blocklistd.conf | 16 + usr.sbin/periodic/etc/security/520.pfdenied | 2 +- 63 files changed, 2426 insertions(+), 144 deletions(-) diff --git a/contrib/blocklist/bin/blacklistctl.c b/contrib/blocklist/bin/blacklistctl.c new file mode 100644 index 000000000000..6298a08b10b4 --- /dev/null +++ b/contrib/blocklist/bin/blacklistctl.c @@ -0,0 +1,170 @@ +/* $NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif +__RCSID("$NetBSD: blocklistctl.c,v 1.4 2025/02/11 17:48:30 christos Exp $"); + +#include +#include +#ifdef HAVE_LIBUTIL_H +#include +#endif +#ifdef HAVE_UTIL_H +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +#include "conf.h" +#include "state.h" +#include "old_internal.h" +#include "support.h" + +static __dead void +usage(int c) +{ + if (c == 0) + warnx("Missing/unknown command"); + else if (c != '?') + warnx("Unknown option `%c'", (char)c); + fprintf(stderr, + "Usage: %s dump [-abdnrw] [-D dbname]\n", getprogname()); + exit(EXIT_FAILURE); +} + +static const char * +star(char *buf, size_t len, int val) +{ + if (val == -1) + return "*"; + snprintf(buf, len, "%d", val); + return buf; +} + +int +main(int argc, char *argv[]) +{ + const char *dbname = _PATH_BLSTATE; + DB *db; + struct conf c; + struct dbinfo dbi; + unsigned int i; + struct timespec ts; + int all, blocked, remain, wide, noheader; + int o; + + noheader = wide = blocked = all = remain = 0; + lfun = dlog; + + if (argc == 1 || strcmp(argv[1], "dump") != 0) + usage(0); + + argc--; + argv++; + + while ((o = getopt(argc, argv, "abD:dnrw")) != -1) + switch (o) { + case 'a': + all = 1; + blocked = 0; + break; + case 'b': + blocked = 1; + break; + case 'D': + dbname = optarg; + break; + case 'd': + debug++; + break; + case 'n': + noheader = 1; + break; + case 'r': + remain = 1; + break; + case 'w': + wide = 1; + break; + default: + usage(o); + } + + db = state_open(dbname, O_RDONLY, 0); + if (db == NULL) + err(EXIT_FAILURE, "Can't open `%s'", dbname); + + clock_gettime(CLOCK_REALTIME, &ts); + wide = wide ? 8 * 4 + 7 : 4 * 3 + 3; + if (!noheader) + printf("%*.*s/ma:port\tid\tnfail\t%s\n", wide, wide, + "address", remain ? "remaining time" : "last access"); + for (i = 1; state_iterate(db, &c, &dbi, i) != 0; i = 0) { + char buf[BUFSIZ]; + char mbuf[64], pbuf[64]; + if (!all) { + if (blocked) { + if (c.c_nfail == -1 || dbi.count < c.c_nfail) + continue; + } else { + if (dbi.count >= c.c_nfail) + continue; + } + } + sockaddr_snprintf(buf, sizeof(buf), "%a", (void *)&c.c_ss); + printf("%*.*s/%s:%s\t", wide, wide, buf, + star(mbuf, sizeof(mbuf), c.c_lmask), + star(pbuf, sizeof(pbuf), c.c_port)); + if (c.c_duration == -1) { + strlcpy(buf, "never", sizeof(buf)); + } else { + if (remain) + fmtydhms(buf, sizeof(buf), + c.c_duration - (ts.tv_sec - dbi.last)); + else + fmttime(buf, sizeof(buf), dbi.last); + } + printf("%s\t%d/%s\t%-s\n", dbi.id, dbi.count, + star(mbuf, sizeof(mbuf), c.c_nfail), buf); + } + state_close(db); + return EXIT_SUCCESS; +} diff --git a/contrib/blocklist/bin/blacklistd.c b/contrib/blocklist/bin/blacklistd.c new file mode 100644 index 000000000000..ded3075ed707 --- /dev/null +++ b/contrib/blocklist/bin/blacklistd.c @@ -0,0 +1,592 @@ +/* $NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif +__RCSID("$NetBSD: blocklistd.c,v 1.10 2025/03/26 17:09:35 christos Exp $"); + +#include +#include +#include + +#ifdef HAVE_LIBUTIL_H +#include +#endif +#ifdef HAVE_UTIL_H +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "old_bl.h" +#include "old_internal.h" +#include "conf.h" +#include "run.h" +#include "state.h" +#include "support.h" + +static const char *configfile = _PATH_BLCONF; +static DB *state; +static const char *dbfile = _PATH_BLSTATE; +static sig_atomic_t readconf; +static sig_atomic_t done; +static int vflag; + +static void +sigusr1(int n __unused) +{ + debug++; +} + +static void +sigusr2(int n __unused) +{ + debug--; +} + +static void +sighup(int n __unused) +{ + readconf++; +} + +static void +sigdone(int n __unused) +{ + done++; +} + +static __dead void +usage(int c) +{ + if (c != '?') + warnx("Unknown option `%c'", (char)c); + fprintf(stderr, "Usage: %s [-vdfr] [-c ] [-R ] " + "[-P ] [-C ] [-D ] " + "[-s ] [-t ]\n", getprogname()); + exit(EXIT_FAILURE); +} + +static int +getremoteaddress(bl_info_t *bi, struct sockaddr_storage *rss, socklen_t *rsl) +{ + *rsl = sizeof(*rss); + memset(rss, 0, *rsl); + + if (getpeername(bi->bi_fd, (void *)rss, rsl) != -1) + return 0; + + if (errno != ENOTCONN) { + (*lfun)(LOG_ERR, "getpeername failed (%m)"); + return -1; + } + + if (bi->bi_slen == 0) { + (*lfun)(LOG_ERR, "unconnected socket with no peer in message"); + return -1; + } + + switch (bi->bi_ss.ss_family) { + case AF_INET: + *rsl = sizeof(struct sockaddr_in); + break; + case AF_INET6: + *rsl = sizeof(struct sockaddr_in6); + break; + default: + (*lfun)(LOG_ERR, "bad client passed socket family %u", + (unsigned)bi->bi_ss.ss_family); + return -1; + } + + if (*rsl != bi->bi_slen) { + (*lfun)(LOG_ERR, "bad client passed socket length %u != %u", + (unsigned)*rsl, (unsigned)bi->bi_slen); + return -1; + } + + memcpy(rss, &bi->bi_ss, *rsl); + +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN + if (*rsl != rss->ss_len) { + (*lfun)(LOG_ERR, + "bad client passed socket internal length %u != %u", + (unsigned)*rsl, (unsigned)rss->ss_len); + return -1; + } +#endif + return 0; +} + +static void +process(bl_t bl) +{ + struct sockaddr_storage rss; + socklen_t rsl; + char rbuf[BUFSIZ]; + bl_info_t *bi; + struct conf c; + struct dbinfo dbi; + struct timespec ts; + + memset(&dbi, 0, sizeof(dbi)); + memset(&c, 0, sizeof(c)); + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { + (*lfun)(LOG_ERR, "clock_gettime failed (%m)"); + return; + } + + if ((bi = bl_recv(bl)) == NULL) { + (*lfun)(LOG_ERR, "no message (%m)"); + return; + } + + if (getremoteaddress(bi, &rss, &rsl) == -1) + goto out; + + if (debug || bi->bi_msg[0]) { + sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); + (*lfun)(bi->bi_msg[0] ? LOG_INFO : LOG_DEBUG, + "processing type=%d fd=%d remote=%s msg=%s uid=%lu gid=%lu", + bi->bi_type, bi->bi_fd, rbuf, + bi->bi_msg, (unsigned long)bi->bi_uid, + (unsigned long)bi->bi_gid); + } + + if (conf_find(bi->bi_fd, bi->bi_uid, &rss, &c) == NULL) { + (*lfun)(LOG_DEBUG, "no rule matched"); + goto out; + } + + + if (state_get(state, &c, &dbi) == -1) + goto out; + + if (debug) { + char b1[128], b2[128]; + (*lfun)(LOG_DEBUG, "%s: initial db state for %s: count=%d/%d " + "last=%s now=%s", __func__, rbuf, dbi.count, c.c_nfail, + fmttime(b1, sizeof(b1), dbi.last), + fmttime(b2, sizeof(b2), ts.tv_sec)); + } + + switch (bi->bi_type) { + case BL_ABUSE: + /* + * If the application has signaled abusive behavior, + * set the number of fails to be one less than the + * configured limit. Fallthrough to the normal BL_ADD + * processing, which will increment the failure count + * to the threshhold, and block the abusive address. + */ + if (c.c_nfail != -1) + dbi.count = c.c_nfail - 1; + /*FALLTHROUGH*/ + case BL_ADD: + dbi.count++; + dbi.last = ts.tv_sec; + if (c.c_nfail != -1 && dbi.count >= c.c_nfail) { + /* + * No point in re-adding the rule. + * It might exist already due to latency in processing + * and removing the rule is the wrong thing to do as + * it allows a window to attack again. + */ + if (dbi.id[0] == '\0') { + int res = run_change("add", &c, + dbi.id, sizeof(dbi.id)); + if (res == -1) + goto out; + } + sockaddr_snprintf(rbuf, sizeof(rbuf), "%a", + (void *)&rss); + (*lfun)(LOG_INFO, + "blocked %s/%d:%d for %d seconds", + rbuf, c.c_lmask, c.c_port, c.c_duration); + } + break; + case BL_DELETE: + if (dbi.last == 0) + goto out; + dbi.count = 0; + dbi.last = 0; + break; + case BL_BADUSER: + /* ignore for now */ + break; + default: + (*lfun)(LOG_ERR, "unknown message %d", bi->bi_type); + } + state_put(state, &c, &dbi); + +out: + close(bi->bi_fd); + + if (debug) { + char b1[128], b2[128]; + (*lfun)(LOG_DEBUG, "%s: final db state for %s: count=%d/%d " + "last=%s now=%s", __func__, rbuf, dbi.count, c.c_nfail, + fmttime(b1, sizeof(b1), dbi.last), + fmttime(b2, sizeof(b2), ts.tv_sec)); + } +} + +static void +update_interfaces(void) +{ + struct ifaddrs *oifas, *nifas; + + if (getifaddrs(&nifas) == -1) + return; + + oifas = ifas; + ifas = nifas; + + if (oifas) + freeifaddrs(oifas); +} + +static void +update(void) +{ + struct timespec ts; + struct conf c; + struct dbinfo dbi; + unsigned int f, n; + char buf[128]; + void *ss = &c.c_ss; + + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { + (*lfun)(LOG_ERR, "clock_gettime failed (%m)"); + return; + } + +again: + for (n = 0, f = 1; state_iterate(state, &c, &dbi, f) == 1; + f = 0, n++) + { + time_t when = c.c_duration + dbi.last; + if (debug > 1) { + char b1[64], b2[64]; + sockaddr_snprintf(buf, sizeof(buf), "%a:%p", ss); + (*lfun)(LOG_DEBUG, "%s:[%u] %s count=%d duration=%d " + "last=%s " "now=%s", __func__, n, buf, dbi.count, + c.c_duration, fmttime(b1, sizeof(b1), dbi.last), + fmttime(b2, sizeof(b2), ts.tv_sec)); + } + if (c.c_duration == -1 || when >= ts.tv_sec) + continue; + if (dbi.id[0]) { + run_change("rem", &c, dbi.id, 0); + sockaddr_snprintf(buf, sizeof(buf), "%a", ss); + (*lfun)(LOG_INFO, "released %s/%d:%d after %d seconds", + buf, c.c_lmask, c.c_port, c.c_duration); + } + state_del(state, &c); + goto again; + } +} + +static void +addfd(struct pollfd **pfdp, bl_t **blp, size_t *nfd, size_t *maxfd, + const char *path) +{ + bl_t bl = bl_create(true, path, vflag ? vdlog : vsyslog_r); + if (bl == NULL || !bl_isconnected(bl)) + exit(EXIT_FAILURE); + if (*nfd >= *maxfd) { + *maxfd += 10; + *blp = realloc(*blp, sizeof(**blp) * *maxfd); + if (*blp == NULL) + err(EXIT_FAILURE, "malloc"); + *pfdp = realloc(*pfdp, sizeof(**pfdp) * *maxfd); + if (*pfdp == NULL) + err(EXIT_FAILURE, "malloc"); + } + + (*pfdp)[*nfd].fd = bl_getfd(bl); + (*pfdp)[*nfd].events = POLLIN; + (*blp)[*nfd] = bl; + *nfd += 1; +} + +static void +uniqueadd(struct conf ***listp, size_t *nlist, size_t *mlist, struct conf *c) +{ + struct conf **list = *listp; + + if (c->c_name[0] == '\0') + return; + for (size_t i = 0; i < *nlist; i++) { + if (strcmp(list[i]->c_name, c->c_name) == 0) + return; + } + if (*nlist == *mlist) { + *mlist += 10; + void *p = realloc(*listp, *mlist * sizeof(*list)); + if (p == NULL) + err(EXIT_FAILURE, "Can't allocate for rule list"); + list = *listp = p; + } + list[(*nlist)++] = c; +} + +static void +rules_flush(void) +{ + struct conf **list; + size_t nlist, mlist; + + list = NULL; + mlist = nlist = 0; + for (size_t i = 0; i < rconf.cs_n; i++) + uniqueadd(&list, &nlist, &mlist, &rconf.cs_c[i]); + for (size_t i = 0; i < lconf.cs_n; i++) + uniqueadd(&list, &nlist, &mlist, &lconf.cs_c[i]); + + for (size_t i = 0; i < nlist; i++) + run_flush(list[i]); + free(list); +} + +static void +rules_restore(void) +{ + DB *db; + struct conf c; + struct dbinfo dbi; + unsigned int f; + + db = state_open(dbfile, O_RDONLY, 0); + if (db == NULL) { + (*lfun)(LOG_ERR, "Can't open `%s' to restore state (%m)", + dbfile); + return; + } + for (f = 1; state_iterate(db, &c, &dbi, f) == 1; f = 0) { + if (dbi.id[0] == '\0') + continue; + (void)run_change("add", &c, dbi.id, sizeof(dbi.id)); + state_put(state, &c, &dbi); + } + state_close(db); + state_sync(state); +} + +int +main(int argc, char *argv[]) +{ + int c, tout, flags, flush, restore, ret; + const char *spath, **blsock; + size_t nblsock, maxblsock; + + setprogname(argv[0]); + + spath = NULL; + blsock = NULL; + maxblsock = nblsock = 0; + flush = 0; + restore = 0; + tout = 0; + flags = O_RDWR|O_EXCL|O_CLOEXEC; + while ((c = getopt(argc, argv, "C:c:D:dfP:rR:s:t:v")) != -1) { + switch (c) { + case 'C': + controlprog = optarg; + break; + case 'c': + configfile = optarg; + break; + case 'D': + dbfile = optarg; + break; + case 'd': + debug++; + break; + case 'f': + flush++; + break; + case 'P': + spath = optarg; + break; + case 'R': + rulename = optarg; + break; + case 'r': + restore++; + break; + case 's': + if (nblsock >= maxblsock) { + maxblsock += 10; + void *p = realloc(blsock, + sizeof(*blsock) * maxblsock); + if (p == NULL) + err(EXIT_FAILURE, + "Can't allocate memory for %zu sockets", + maxblsock); + blsock = p; + } + blsock[nblsock++] = optarg; + break; + case 't': + tout = atoi(optarg) * 1000; + break; + case 'v': + vflag++; + break; + default: + usage(c); + } + } + + argc -= optind; + if (argc) + usage('?'); + + signal(SIGHUP, sighup); + signal(SIGINT, sigdone); + signal(SIGQUIT, sigdone); + signal(SIGTERM, sigdone); + signal(SIGUSR1, sigusr1); + signal(SIGUSR2, sigusr2); + + openlog(getprogname(), LOG_PID, LOG_DAEMON); + + if (debug) { + lfun = dlog; + if (tout == 0) + tout = 5000; + } else { + if (tout == 0) + tout = 15000; + } + + update_interfaces(); + conf_parse(configfile); + if (flush) { + rules_flush(); + if (!restore) + flags |= O_TRUNC; + } + + struct pollfd *pfd = NULL; + bl_t *bl = NULL; + size_t nfd = 0; + size_t maxfd = 0; + + for (size_t i = 0; i < nblsock; i++) + addfd(&pfd, &bl, &nfd, &maxfd, blsock[i]); + free(blsock); + + if (spath) { + FILE *fp = fopen(spath, "r"); + char *line; + if (fp == NULL) + err(EXIT_FAILURE, "Can't open `%s'", spath); + for (; (line = fparseln(fp, NULL, NULL, NULL, 0)) != NULL; + free(line)) + addfd(&pfd, &bl, &nfd, &maxfd, line); + fclose(fp); + } + if (nfd == 0) + addfd(&pfd, &bl, &nfd, &maxfd, _PATH_BLSOCK); + + state = state_open(dbfile, flags, 0600); + if (state == NULL) + state = state_open(dbfile, flags | O_CREAT, 0600); + if (state == NULL) + return EXIT_FAILURE; + + if (restore) { + if (!flush) + rules_flush(); + rules_restore(); + } + + if (!debug) { + if (daemon(0, 0) == -1) + err(EXIT_FAILURE, "daemon failed"); + if (pidfile(NULL) == -1) + err(EXIT_FAILURE, "Can't create pidfile"); + } + + for (size_t t = 0; !done; t++) { + if (readconf) { + readconf = 0; + conf_parse(configfile); + } + ret = poll(pfd, (nfds_t)nfd, tout); + if (debug) + (*lfun)(LOG_DEBUG, "received %d from poll()", ret); + switch (ret) { + case -1: + if (errno == EINTR) + continue; + (*lfun)(LOG_ERR, "poll (%m)"); + return EXIT_FAILURE; + case 0: + state_sync(state); + break; + default: + for (size_t i = 0; i < nfd; i++) + if (pfd[i].revents & POLLIN) + process(bl[i]); + } + if (t % 100 == 0) + state_sync(state); + if (t % 10000 == 0) + update_interfaces(); + update(); + } + state_close(state); + return 0; +} diff --git a/contrib/blocklist/bin/old_internal.c b/contrib/blocklist/bin/old_internal.c new file mode 100644 index 000000000000..79093cc8b8ab --- /dev/null +++ b/contrib/blocklist/bin/old_internal.c @@ -0,0 +1,50 @@ +/* $NetBSD: internal.c,v 1.2 2025/02/11 17:48:30 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif +__RCSID("$NetBSD: internal.c,v 1.2 2025/02/11 17:48:30 christos Exp $"); + +#include +#include +#include "conf.h" +#include "old_internal.h" + +int debug; +const char *rulename = "blacklistd"; +const char *controlprog = _PATH_BLCONTROL; +struct confset lconf, rconf; +struct ifaddrs *ifas; +void (*lfun)(int, const char *, ...) = syslog; diff --git a/contrib/blocklist/bin/old_internal.h b/contrib/blocklist/bin/old_internal.h new file mode 100644 index 000000000000..becee563e81d --- /dev/null +++ b/contrib/blocklist/bin/old_internal.h @@ -0,0 +1,58 @@ +/* $NetBSD: internal.h,v 1.1.1.1 2020/06/15 01:52:53 christos Exp $ */ + +/*- + * Copyright (c) 2015 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _OLD_INTERNAL_H +#define _OLD_INTERNAL_H + +#ifndef _PATH_BLCONF +#define _PATH_BLCONF "/etc/blacklistd.conf" +#endif +#ifndef _PATH_BLCONTROL +#define _PATH_BLCONTROL "/usr/libexec/blacklistd-helper" +#endif +#ifndef _PATH_BLSTATE +/* We want the new name, the old one would be incompatible after 24932b6 */ +#define _PATH_BLSTATE "/var/db/blocklistd.db" +#endif + +extern struct confset rconf, lconf; +extern int debug; +extern const char *rulename; +extern const char *controlprog; +extern struct ifaddrs *ifas; + +#if !defined(__syslog_attribute__) && !defined(__syslog__) +#define __syslog__ __printf__ +#endif *** 2511 LINES SKIPPED *** From nobody Tue Oct 14 04:36:59 2025 X-Original-To: dev-commits-src-branches@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 4cm1dl5Ctlz6BhZv; Tue, 14 Oct 2025 04:36:59 +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 4cm1dl3yTCz3QF2; Tue, 14 Oct 2025 04:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416619; 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=FeO8/eMlsecJ8Quboo9ZcNgFaqQCUs13zFRxUr6bCxU=; b=hi7+ux+hgFNvTuxPWV86sTHbBFblpRYYQR8BzMvdNL+vd0x+QM961EZtR37q50yW31zkdB eYLJASTmOWgcf5JpJoMPUqT3Zel5SgGhj5hLB8GkeXK53gsBePuOYEbcRSKd0QZRWk4Ord j2w83LhDthgCtDcZiu/EB3JBu+c5Xk2O3o8vwtPD2CCYOt2Mr5ZT0cmngeTdzm0N3Of6eB JIV0R5uxtG+3HYO7WjbqaQj2Hg24HwnbKb8ZCzxFNxIBkUmCIG1UKdid4+ttX5BIvEN4LV VHO8xermM3Ekf7tqkpGUYEA4xhfFuoKiPgASfVIq2yFcvJyDh1AM2x78v4KTwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416619; 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=FeO8/eMlsecJ8Quboo9ZcNgFaqQCUs13zFRxUr6bCxU=; b=dZhtTXym7jJtvoxpU+PlbD6YSOZl3gnneRDAnclV/U/42yfTqRzwRc/pjH5nD+b6gFseWq ys1V/Hc1D64D4vioYRW7yorWNkHRPyeswYaEAgU0l1iYNAxoVjSjgGTwFFa7cVLWrO75K8 qd4knyRnHpw7jRSxpDK/mpbmYB3iandmnV4EV8S3EJ1S4wsGK2PInm/yVTokUmt/RDWVRd oCHqCAo1hSrs/8G7w21fb/f0Sd6P/O2gOdyyhjCESQ4OvuVzBfnYvg/+msHQs9HMTZdK57 bw2aXwdsSMW9zfELu9hlGeO2X88lRYgPDlMxFr79CfmSzZgWGhsqjlhW0DwiQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760416619; a=rsa-sha256; cv=none; b=lvRzpSVFw5rbY9QkvYN9uzdCesJi9NfgsMlpcJ+vJ0zmOWgYayGeHSuRU6TbgAXWe2JPq9 oHRbmd79VUSqJO8/mPGFNypQdRkw8weyRZ8fvjnlsHTk0EwyVx5FRHS8mg1Ri9VBDSNEhu aEDk/j6+fFmBG8eaDUemO/kpIjvAAROsQo6Q+wfYKm94zh5mFnklRc8nwI+lfrpWZD17vr DkBP7YizKLH2agjQ9SaVzpoyJrCo1Qr4FQQPOS1WdNz/JkHJbW8zTt0O4lAE5E0XYjYoEm ncQBUb2lW/tNytTSV0erVrtnrwli1Z+bEtEj6aNepfMUYO6dJDYrjNQtBC46LQ== 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 4cm1dl2N8NzdZM; Tue, 14 Oct 2025 04:36:59 +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 59E4axZ9038159; Tue, 14 Oct 2025 04:36:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E4axqx038156; Tue, 14 Oct 2025 04:36:59 GMT (envelope-from git) Date: Tue, 14 Oct 2025 04:36:59 GMT Message-Id: <202510140436.59E4axqx038156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: f315a3512c70 - releng/15.0 - blocklist-helper: Silence a bogus pf warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: f315a3512c709afc2a59584791f29ebd7e9e047d Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f315a3512c709afc2a59584791f29ebd7e9e047d commit f315a3512c709afc2a59584791f29ebd7e9e047d Author: Jose Luis Duran AuthorDate: 2025-10-12 17:16:12 +0000 Commit: Colin Percival CommitDate: 2025-10-14 04:36:39 +0000 blocklist-helper: Silence a bogus pf warning Silence a bogus warning about (an ethernet) anchor not being found. It has been reported as PR 280516. In the meantime, just sweep under the carpet. Approved by: re (cperciva) Approved by: emaste (mentor) MFC after: 2 days (cherry picked from commit 2347ca21d657121670e6e7246c6ac32efc996cac) (cherry picked from commit ba5768504bee39191754fc1aece3927c8936f27c) --- contrib/blocklist/libexec/blocklistd-helper | 2 +- libexec/blocklistd-helper/blacklistd-helper | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/blocklist/libexec/blocklistd-helper b/contrib/blocklist/libexec/blocklistd-helper index f27cde4ed4ea..14a192ee35ce 100755 --- a/contrib/blocklist/libexec/blocklistd-helper +++ b/contrib/blocklist/libexec/blocklistd-helper @@ -258,7 +258,7 @@ flush) pf) # dynamically determine which anchors exist for anchor in $(/sbin/pfctl -a "$2" -s Anchors 2> /dev/null); do - /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush + /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush 2> /dev/null /sbin/pfctl -a "$anchor" -F rules done echo OK diff --git a/libexec/blocklistd-helper/blacklistd-helper b/libexec/blocklistd-helper/blacklistd-helper index 4195f070e8ee..92f768e86cdf 100644 --- a/libexec/blocklistd-helper/blacklistd-helper +++ b/libexec/blocklistd-helper/blacklistd-helper @@ -279,7 +279,7 @@ flush) pf) # dynamically determine which anchors exist for anchor in $(/sbin/pfctl -a "$2" -s Anchors 2> /dev/null); do - /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush + /sbin/pfctl -a "$anchor" -t "port${anchor##*/}" -T flush 2> /dev/null /sbin/pfctl -a "$anchor" -F rules done echo OK From nobody Tue Oct 14 04:37:00 2025 X-Original-To: dev-commits-src-branches@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 4cm1dm431Fz6BhBM; Tue, 14 Oct 2025 04:37:00 +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 4cm1dm3TP7z3Q3t; Tue, 14 Oct 2025 04:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416620; 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=o4afukLQ9RkRazTWfuBPQKJpacRSAlkx29x3CwLA8jA=; b=p8ZuC7gbUxpXAof2SPeLVPBfak9Fb8C1ma0mq84ir7jJVSX0CXon8kihVEwgAjlUeLqyze Ddc9KJh3gm39xvMfAtasdJAQ4l8/2QFIXcsg/nvjGG5JCv+zi6hmB83NmpizZxxpxpta3F 2O+LZZHLYwo7RLwpIapjFeMQpyBIqIA5mR6DZjTVQfpTO2RNserHM4mehnwLR5WpwGxOs4 IKxvCAL0TWa+rnafGoBL/RIh7sWwqMIdBrlg/HskkLYxObL9g36YSvStiophvXDhhSSRHL lcHpoyS6ZRQpDHHPO9RaVbXKRNYR83pCq8xoSQ4IhHwb/UpTY0OzDeUeKplwbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416620; 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=o4afukLQ9RkRazTWfuBPQKJpacRSAlkx29x3CwLA8jA=; b=nrIdmiMObCIh04/O2PJRXIhKGS2wQ+RESZgkMryj9qNfqNl4Bk/02RgbczrsGSC831R103 /XMo3dtlnI4BQ/uLN8AzKyWPmS9aNKMzif4Z/qP6vNOj6NN5YDZSywWjzvIPlt/2pOBKfy xCPbOhACEPrPLh+wd1ZeEJcXK4KktNrzbmqYD0GANGYkLCi/5/r2XQPryve02QFMaEEilj dCztmk45M3n26HDSWPqXPJGVA80qmbF3DsKJbSkCzCNgFmFSnPdqGZ1as5Je00pwUkzq2k doQMC3wyMVVfqJTanlceQfStPT8ybA0oa5fGh2dAOJDHqzv7OKelluDlZFD4Yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760416620; a=rsa-sha256; cv=none; b=TsPtVxQ1+CGx91E5QWGMjt9L+b5rrqLPsVpsdspmAT40PjFasd5khN2EPcqoN7CroiEWc1 jGwkbHj3l1j1chUCLw9kI0DrqQEEGH8CB7DyNwqC8FxztHgUVebgmB/54GVAsFmFl/QkUT 9W1092/qZyTHs4/cBTPQFzjF7Z65JWqlvWA+Zv8m5r5p8dOjsriYEcz8v+aLLPTCsioWxy 0gAi1nX+XgnToYl3pGAUYNf59uki/ikO7JZVacbfj2dt6eI4nKNx8c57qYgv6uw1SC0cOv j9toYyzmK2O/zmNA49M6u+pIJ53u8ZKgD/JHY0hL1+Ari9XG9UBn7H0J51QwPQ== 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 4cm1dm349CzdXZ; Tue, 14 Oct 2025 04:37:00 +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 59E4b0rC038201; Tue, 14 Oct 2025 04:37:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E4b05u038198; Tue, 14 Oct 2025 04:37:00 GMT (envelope-from git) Date: Tue, 14 Oct 2025 04:37:00 GMT Message-Id: <202510140437.59E4b05u038198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 621d4b1d01d5 - releng/15.0 - blacklist: Avoid duplicate manual pages in METALOG List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 621d4b1d01d55567de08ccec98120be5be7d257b Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=621d4b1d01d55567de08ccec98120be5be7d257b commit 621d4b1d01d55567de08ccec98120be5be7d257b Author: Jose Luis Duran AuthorDate: 2025-10-13 00:53:50 +0000 Commit: Colin Percival CommitDate: 2025-10-14 04:36:42 +0000 blacklist: Avoid duplicate manual pages in METALOG Previously, blacklist man pages were just a symlink to their blocklist counterpart, this in turn installed blocklist man pages twice, and resulted in a duplicate error when running metalog_reader.lua -c. Take advantage of the duplication to document nuances in blacklist, such as the fact that it uses the new database and socket name (blocklist). Also, note that it has been renamed to blocklist. In the future, it will help to document its deprecation. Approved by: re (cperciva) Approved by: emaste (mentor) Fixes: 7238317403b9 ("blocklist: Rename blacklist to blocklist") MFC after: 2 days (cherry picked from commit c6240045536548c22ce40d9ef36c1dc52abcfc9c) (cherry picked from commit f935c0f66f75e882185ed8bc46f39054f2ced4e1) --- contrib/blocklist/bin/blacklistctl.8 | 136 ++++++++++++++ contrib/blocklist/bin/blacklistd.8 | 308 ++++++++++++++++++++++++++++++++ contrib/blocklist/bin/blacklistd.conf.5 | 242 +++++++++++++++++++++++++ contrib/blocklist/lib/libblacklist.3 | 188 +++++++++++++++++++ lib/libblacklist/Makefile | 17 +- usr.sbin/blacklistctl/Makefile | 3 +- usr.sbin/blacklistd/Makefile | 4 +- 7 files changed, 884 insertions(+), 14 deletions(-) diff --git a/contrib/blocklist/bin/blacklistctl.8 b/contrib/blocklist/bin/blacklistctl.8 new file mode 100644 index 000000000000..4d557c0c979d --- /dev/null +++ b/contrib/blocklist/bin/blacklistctl.8 @@ -0,0 +1,136 @@ +.\" $NetBSD: blocklistctl.8,v 1.4 2025/02/07 01:35:38 kre Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 27, 2025 +.Dt BLACKLISTCTL 8 +.Os +.Sh NAME +.Nm blacklistctl +.Nd display and change the state of the blacklistd database +.Sh SYNOPSIS +.Nm +.Cm dump +.Op Fl abdnrw +.Op Fl D Ar dbname +.Sh DESCRIPTION +.Nm +is a program used to display and change the state of the +.Xr blacklistd 8 +database. +The following sub-commands are supported: +.Ss dump +.Pp +The following options are available for the +.Cm dump +sub-command: +.Bl -tag -width indent +.It Fl a +Show all database entries, by default it shows only the active ones. +Inactive entries will be shown with a last-access (or, with +.Fl r , +the remaining) time of +.Ql never . +.It Fl b +Show only the blocked entries. +.It Fl D Ar dbname +Specify the location of the +.Ic blacklistd +database file to use. +The default is +.Pa /var/db/blocklistd.db . +.It Fl d +Increase debugging level. +.It Fl n +Don't display a header. +.It Fl r +Show the remaining blocked time instead of the last activity time. +.It Fl w +Normally the width of addresses is good for IPv4, the +.Fl w +flag, makes the display wide enough for IPv6 addresses. +.El +.Pp +The output of the +.Cm dump +sub-command consists of a header (unless +.Fl n +was given) and one line for each record in the database, where each line +has the following columns: +.Bl -tag -width indent +.It Ql address/ma:port +The remote address, mask, and local port number of the client connection +associated with the database entry. +.It Ql id +column will show the identifier for the packet filter rule associated +with the database entry, though this may only be the word +.Ql OK +for packet filters which do not creat a unique identifier for each rule. +.It Ql nfail +The number of +.Em failures +reported for the client on the noted port, as well as the number of +failures allowed before blocking (or, with +.Fl a , +an asterisk +.Aq * ) +.It So last access Sc | So remaining time Sc +The last time a the client was reported as attempting access, or, with +.Fl r , +the time remaining before the rule blocking the client will be removed. +.El +.Sh SEE ALSO +.Xr blacklistd 8 +.Sh NOTES +The +.Nm +program has been renamed to +.Xr blocklistctl 8 . +.Pp +Sometimes the reported number of failed attempts can exceed the number +of attempts that +.Xr blacklistd 8 +is configured to block. +This can happen either because the rule has been removed manually, or +because there were more attempts in flight while the rule block was being +added. +This condition is normal; in that case +.Xr blacklistd 8 +will first attempt to remove the existing rule, and then it will re-add +it to make sure that there is only one rule active. +.Sh HISTORY +.Nm +first appeared in +.Nx 7 . +.Fx +support for +.Nm +was implemented in +.Fx 11 . +.Sh AUTHORS +.An Christos Zoulas diff --git a/contrib/blocklist/bin/blacklistd.8 b/contrib/blocklist/bin/blacklistd.8 new file mode 100644 index 000000000000..9ca886e9c4d3 --- /dev/null +++ b/contrib/blocklist/bin/blacklistd.8 @@ -0,0 +1,308 @@ +.\" $NetBSD: blocklistd.8,v 1.8 2025/02/25 22:13:34 christos Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 25, 2025 +.Dt BLACKLISTD 8 +.Os +.Sh NAME +.Nm blacklistd +.Nd block and release ports on demand to avoid DoS abuse +.Sh SYNOPSIS +.Nm +.Op Fl dfrv +.Op Fl C Ar controlprog +.Op Fl c Ar configfile +.Op Fl D Ar dbfile +.Op Fl P Ar sockpathsfile +.Op Fl R Ar rulename +.Op Fl s Ar sockpath +.Op Fl t Ar timeout +.Sh DESCRIPTION +.Nm +is a daemon similar to +.Xr syslogd 8 +that listens to sockets at paths specified in the +.Ar sockpathsfile +for notifications from other daemons about successful or failed connection +attempts. +If no such file is specified, then it only listens to the socket path +specified by +.Ar sockpath +or if that is not specified to +.Pa /var/run/blocklistd.sock . +Each notification contains an (action, port, protocol, address, owner) tuple +that identifies the remote connection and the action. +This tuple is consulted against entries from the +.Ar configfile , +with the syntax specified in +.Xr blacklistd.conf 5 . +If an entry is matched, a state entry is created for that tuple. +Each entry contains a number of tries limit and a duration. +.Pp +If +.Ar configfile +is a directory, or a directory exists with the same name as +.Ar configfile +with +.Qq .d +appended to it, each file in the directory will be read as configuration file. +If +.Ar configfile +exists as a file it will be processed before the contents of the +.Ar configfile Ns .d +directory if that also exists. +.Pp +The way +.Nm +does configuration entry matching is by having the client side pass the +file descriptor associated with the connection the client wants to blacklist +as well as passing socket credentials. +.Pp +The file descriptor is used to retrieve information (address and port) +about the remote side with +.Xr getpeername 2 +and the local side with +.Xr getsockname 2 . +.Pp +By examining the port of the local side, +.Nm +can determine if the client program +.Dq owns +the port. +By examining the optional address portion on the local side, it can match +interfaces. +By examining the remote address, it can match specific allow or deny rules. +.Pp +Finally +.Nm +can examine the socket credentials to match the user in the configuration file. +.Pp +While this works well for TCP sockets, it cannot be relied on for unbound +UDP sockets. +It is also less meaningful when it comes to connections using non-privileged +ports. +On the other hand, if we receive a request that has a local endpoint indicating +a UDP privileged port, we can presume that the client was privileged to be +able to acquire that port. +.Pp +Once an entry is matched +.Nm +can perform various actions. +If the action is +.Dq add +and the number of tries limit is reached, then a +control script +.Ar controlprog +is invoked with arguments: +.Bd -literal -offset indent +control add
+.Ed +.Pp +and should invoke a packet filter command to block the connection +specified by the arguments. +The +.Ar rulename +argument can be set from the command line (default +.Dv blacklistd ) . +The script could print a numerical id to stdout as a handle for +the rule that can be used later to remove that connection, but +that is not required as all information to remove the rule is +kept. +.Pp +If the action is +.Dq rem +Then the same control script is invoked as: +.Bd -literal -offset indent +control rem
+.Ed +.Pp +where +.Ar id +is the number returned from the +.Dq add +action. +.Pp +.Nm +maintains a database of known connections in +.Ar dbfile . +On startup it reads entries from that file, and updates its internal state. +.Pp +.Nm +checks the list of active entries every +.Ar timeout +seconds (default +.Dv 15 ) +and removes entries and block rules using the control program as necessary. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl C Ar controlprog +Use +.Ar controlprog +to communicate with the packet filter, instead of the default, which is +.Pa /usr/libexec/blacklistd-helper . +The following arguments are passed to the control program: +.Bl -tag -width protocol +.It action +The action to perform: +.Dv add , +.Dv rem , +or +.Dv flush ; +to add, remove or flush a firewall rule. +.It name +The rule name. +.It protocol +The optional protocol name (can be empty): +.Dv tcp , +.Dv tcp6 , +.Dv udp , +.Dv udp6 . +.It address +The IPv4 or IPv6 numeric address to be blocked or released. +.It mask +The numeric mask to be applied to the blocked or released address +.It port +The optional numeric port to be blocked (can be empty). +.It id +For packet filters that support removal of rules by rule identifier, the +identifier of the rule to be removed. +The add command is expected to return the rule identifier string to stdout. +.El +.It Fl c Ar configuration +The name of the configuration file to read. +The default when +.Fl c +is not given is +.Pa /etc/blacklistd.conf . +.It Fl D Ar dbfile +The Berkeley DB file where +.Nm +stores its state. +It defaults to +.Pa /var/db/blocklistd.db . +.It Fl d +Normally, +.Nm +disassociates itself from the terminal unless the +.Fl d +flag is specified, in which case it stays in the foreground. +.It Fl f +Truncate the state database and flush all the rules named +.Ar rulename +are deleted by invoking the control script as: +.Bd -literal -offset indent +control flush +.Ed +.It Fl P Ar sockpathsfile +A file containing a list of pathnames, one per line that +.Nm +will create sockets to listen to. +This is useful for chrooted environments. +.It Fl R Ar rulename +Specify the default rule name for the packet filter rules, usually +.Dv blacklistd . +.It Fl r +Re-read the firewall rules from the internal database, then +remove and re-add them. +This helps for packet filters that do not retain state across reboots. +.It Fl s Ar sockpath +Add +.Ar sockpath +to the list of Unix sockets +.Nm +listens to. +.It Fl t Ar timeout +The interval in seconds +.Nm +polls the state file to update the rules. +.It Fl v +Cause +.Nm +to print +diagnostic messages to +.Dv stdout +instead of +.Xr syslogd 8 . +.El +.Sh SIGNAL HANDLING +.Nm +deals with the following signals: +.Bl -tag -width "USR2" +.It Dv HUP +Receipt of this signal causes +.Nm +to re-read the configuration file. +.It Dv INT , Dv TERM & Dv QUIT +These signals tell +.Nm +to exit in an orderly fashion. +.It Dv USR1 +This signal tells +.Nm +to increase the internal debugging level by 1. +.It Dv USR2 +This signal tells +.Nm +to decrease the internal debugging level by 1. +.El +.Sh FILES +.Bl -tag -width /usr/libexec/blacklistd-helper -compact +.It Pa /usr/libexec/blacklistd-helper +Shell script invoked to interface with the packet filter. +.It Pa /etc/blacklistd.conf +Configuration file. +.It Pa /var/db/blocklistd.db +Database of current connection entries. +.It Pa /var/run/blocklistd.sock +Socket to receive connection notifications. +.El +.Sh SEE ALSO +.Xr blacklistd.conf 5 , +.Xr blacklistctl 8 , +.Xr ipf 8 , +.Xr ipfw 8 , +.Xr pfctl 8 , +.Xr syslogd 8 +.Sh NOTES +The +.Nm +daemon has been renamed to +.Xr blocklistd 8 . +.Sh HISTORY +.Nm +first appeared in +.Nx 7 . +.Fx +support for +.Nm +was implemented in +.Fx 11 . +.Sh AUTHORS +.An Christos Zoulas diff --git a/contrib/blocklist/bin/blacklistd.conf.5 b/contrib/blocklist/bin/blacklistd.conf.5 new file mode 100644 index 000000000000..e775d30e7e8e --- /dev/null +++ b/contrib/blocklist/bin/blacklistd.conf.5 @@ -0,0 +1,242 @@ +.\" $NetBSD: blocklistd.conf.5,v 1.7 2025/02/11 17:47:05 christos Exp $ +.\" +.\" Copyright (c) 2015, 2025 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 5, 2025 +.Dt BLACKLISTD.CONF 5 +.Os +.Sh NAME +.Nm blacklistd.conf +.Nd configuration file format for blacklistd +.Sh DESCRIPTION +The +.Nm +file contains configuration entries for +.Xr blacklistd 8 +in a fashion similar to +.Xr inetd.conf 5 . +Only one entry per line is permitted. +Every entry must have all fields populated. +Each field can be separated by a tab or a space. +Comments are denoted by a +.Dq # +at the beginning of a line. +.Pp +There are two kinds of configuration lines, +.Va [local] +and +.Va [remote] . +By default, configuration lines are +.Va [local] , +i.e. the address specified refers to the addresses on the local machine. +To switch to between +.Va [local] +and +.Va [remote] +configuration lines you can specify the stanzas: +.Dq [local] +and +.Dq [remote] . +.Pp +On +.Va [local] +and +.Va [remote] +lines +.Dq * +means use the default, or wildcard match. +In addition, for +.Va [remote] +lines +.Dq = +means use the values from the matched +.Va [local] +configuration line. +.Pp +The first four fields, +.Va location , +.Va type , +.Va proto , +and +.Va owner +are used to match the +.Va [local] +or +.Va [remote] +addresses, whereas the last 3 fields +.Va name , +.Va nfail , +and +.Va disable +are used to modify the filtering action. +.Pp +The first field denotes the +.Va location +as an address, mask, and port. +The syntax for the +.Va location +is: +.Bd -literal -offset indent + [
|][/][:] +.Ed +.Pp +The +.Dv address +can be an IPv4 address in numeric format, an IPv6 address +in numeric format and enclosed by square brackets, or an interface name. +Mask modifiers are not allowed on interfaces because interfaces +can have multiple addresses in different protocols where the mask has a +different size. +.Pp +The +.Dv mask +is always numeric, but the +.Dv port +can be either numeric or symbolic. +.Pp +The second field is the socket +.Va type : +.Dv stream , +.Dv dgram , +or numeric. +The third field is the +.Va protocol : +.Dv tcp , +.Dv udp , +.Dv tcp6 , +.Dv udp6 , +or numeric. +The fourth field is the effective user +.Va ( owner ) +of the daemon process reporting the event, +either as a username or a userid. +.Pp +The rest of the fields control the behavior of the filter. +.Pp +The +.Va name +field, is the name of the packet filter rule to be used. +If the +.Va name +starts with a hyphen +.Pq Dq - , +then the default rulename is prepended to the given name. +If the +.Dv name +contains a +.Dq / , +the remaining portion of the name is interpreted as the mask to be +applied to the address specified in the rule, causing a single rule violation to +block the entire subnet for the configured prefix. +.Pp +The +.Va nfail +field contains the number of failed attempts before access is blocked, +defaulting to +.Dq * +meaning never, and the last field +.Va duration +specifies the amount of time since the last access that the blocking +rule should be active, defaulting to +.Dq * +meaning forever. +The default unit for +.Va duration +is seconds, but one can specify suffixes for different units, such as +.Dq m +for minutes +.Dq h +for hours and +.Dq d +for days. +.Pp +Matching is done first by checking the +.Va [local] +rules individually, in the order of the most specific to the least specific. +If a match is found, then the matching +.Va [remote] +rules are applied. +The +.Va name , +.Va nfail , +and +.Va duration +fields can be altered by the +.Va [remote] +rule that matched. +.Pp +The +.Va [remote] +rules can be used for allowing specific addresses, changing the mask +size (via +.Va name ) , +the rule that the packet filter uses (also via +.Va name ) , +the number of failed attempts (via +.Va nfail ) , +or the duration to block (via +.Va duration ) . +.Sh FILES +.Bl -tag -width /etc/blacklistd.conf -compact +.It Pa /etc/blacklistd.conf +Configuration file. +.El +.Sh EXAMPLES +.Bd -literal -offset 8n +# Block ssh, after 3 attempts for 6 hours on the bnx0 interface +[local] +# location type proto owner name nfail duration +bnx0:ssh * * * * 3 6h +[remote] +# Never block 1.2.3.4 +1.2.3.4:ssh * * * * * * +# Never block the example IPv6 subnet either +[2001:db8::]/32:ssh * * * * * * +# For addresses coming from 8.8.0.0/16 block whole /24 networks instead +# individual hosts, but keep the rest of the blocking parameters the same. +8.8.0.0/16:ssh * * * /24 = = +.Ed +.Sh SEE ALSO +.Xr blacklistctl 8 , +.Xr blacklistd 8 +.Sh NOTES +The +.Nm +file has been renamed to +.Xr blocklistd.conf 8 . +.Sh HISTORY +.Nm +first appeared in +.Nx 7 . +.Fx +support for +.Nm +was implemented in +.Fx 11 . +.Sh AUTHORS +.An Christos Zoulas diff --git a/contrib/blocklist/lib/libblacklist.3 b/contrib/blocklist/lib/libblacklist.3 new file mode 100644 index 000000000000..5bc093c38f79 --- /dev/null +++ b/contrib/blocklist/lib/libblacklist.3 @@ -0,0 +1,188 @@ +.\" $NetBSD: libblocklist.3,v 1.7 2025/02/05 20:14:30 christos Exp $ +.\" +.\" Copyright (c) 2015 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 5, 2025 +.Dt LIBBLACKLIST 3 +.Os +.Sh NAME +.Nm blacklist_open , +.Nm blacklist_open2 , +.Nm blacklist_close , +.Nm blacklist_r , +.Nm blacklist , +.Nm blacklist_sa , +.Nm blacklist_sa_r +.Nd Blacklistd notification library +.Sh LIBRARY +.Lb libblacklist +.Sh SYNOPSIS +.In blacklist.h +.Ft struct blacklist * +.Fn blacklist_open "void" +.Ft struct blacklist * +.Fn blacklist_open2 "void (*logger)(int, struct syslog_data *, va_list)" +.Ft void +.Fn blacklist_close "struct blacklist *cookie" +.Ft int +.Fn blacklist "int action" "int fd" "const char *msg" +.Ft int +.Fn blacklist_r "struct blacklist *cookie" "int action" "int fd" "const char *msg" +.Ft int +.Fn blacklist_sa "int action" "int fd" "const struct sockaddr *sa" "socklen_t salen" "const char *msg" +.Ft int +.Fn blacklist_sa_r "struct blacklist *cookie" "int action" "int fd" "const struct sockaddr *sa" "socklen_t salen" "const char *msg" +.Sh DESCRIPTION +These functions can be used by daemons to notify +.Xr blacklistd 8 +about successful and failed remote connections so that blacklistd can +block or release port access to prevent Denial of Service attacks. +.Pp +The function +.Fn blacklist_open +creates the necessary state to communicate with +.Xr blacklistd 8 +and returns a pointer to it, or +.Dv NULL +on failure. +.Pp +The function +.Fn blacklist_open2 +is similar to +.Fn blacklist_open +but allows a +.Fa logger +to be specified. +If the +.Fa logger +is +.Dv NULL , +then no logging is performed. +.Pp +The +.Fn blacklist_close +function frees all memory and resources used. +.Pp +The +.Fn blacklist +function sends a message to +.Xr blacklistd 8 , +with an integer +.Ar action +argument specifying the type of notification, +a file descriptor +.Ar fd +specifying the accepted file descriptor connected to the client, +and an optional message in the +.Ar msg +argument. +.Pp +The +.Ar action +parameter can take these values: +.Bl -tag -width ".Dv BLACKLIST_ABUSIVE_BEHAVIOR" +.It Dv BLACKLIST_AUTH_FAIL +There was an unsuccessful authentication attempt. +.It Dv BLACKLIST_AUTH_OK +A user successfully authenticated. +.It Dv BLACKLIST_ABUSIVE_BEHAVIOR +The sending daemon has detected abusive behavior +from the remote system. +The remote address should +be blocked as soon as possible. +.It Dv BLACKLIST_BAD_USER +The sending daemon has determined the username +presented for authentication is invalid. +The +.Xr blacklistd 8 +daemon compares the username to a configured list of forbidden +usernames and +blocks the address immediately if a forbidden username matches. +(The +.Dv BLACKLIST_BAD_USER +support is not currently available.) +.El +.Pp +The +.Fn blacklist_r +function is more efficient because it keeps the blacklist state around. +.Pp +The +.Fn blacklist_sa +and +.Fn blacklist_sa_r +functions can be used with unconnected sockets, where +.Xr getpeername 2 +will not work, the server will pass the peer name in the message. +.Pp +In all cases the file descriptor passed in the +.Fa fd +argument must be pointing to a valid socket so that +.Xr blacklistd 8 +can establish ownership of the local endpoint +using +.Xr getsockname 2 . +.Pp +By default, +.Xr syslogd 8 +is used for message logging. +The internal +.Fn bl_create +function can be used to create the required internal +state and specify a custom logging function. +.Sh RETURN VALUES +The function +.Fn blacklist_open +returns a cookie on success and +.Dv NULL +on failure setting +.Dv errno +to an appropriate value. +.Pp +The functions +.Fn blacklist , +.Fn blacklist_sa , +and +.Fn blacklist_sa_r +return +.Dv 0 +on success and +.Dv \-1 +on failure setting +.Dv errno +to an appropriate value. +.Sh NOTES +The +.Lb libblacklist +has been renamed to +.Xr libblocklist 3 . +.Sh SEE ALSO +.Xr blacklistd.conf 5 , +.Xr blacklistd 8 +.Sh AUTHORS +.An Christos Zoulas diff --git a/lib/libblacklist/Makefile b/lib/libblacklist/Makefile index 07c770883eab..cac023d69bb7 100644 --- a/lib/libblacklist/Makefile +++ b/lib/libblacklist/Makefile @@ -18,14 +18,13 @@ CFLAGS+=-I${BLOCKLIST_DIR}/include -I${BLOCKLIST_DIR}/port \ SRCS= old_bl.c blacklist.c vsyslog_r.c INCS= blacklist.h -MAN= libblocklist.3 - -MLINKS+=libblocklist.3 libblacklist.3 \ - libblocklist.3 blacklist_open.3 \ - libblocklist.3 blacklist_close.3 \ - libblocklist.3 blacklist.3 \ - libblocklist.3 blacklist_r.3 \ - libblocklist.3 blacklist_sa.3 \ - libblocklist.3 blacklist_sa_r.3 +MAN= libblacklist.3 + +MLINKS= libblacklist.3 blacklist_open.3 \ + libblacklist.3 blacklist_close.3 \ + libblacklist.3 blacklist.3 \ + libblacklist.3 blacklist_r.3 \ + libblacklist.3 blacklist_sa.3 \ + libblacklist.3 blacklist_sa_r.3 .include diff --git a/usr.sbin/blacklistctl/Makefile b/usr.sbin/blacklistctl/Makefile index 8a01f52926a7..41c5f44b072b 100644 --- a/usr.sbin/blacklistctl/Makefile +++ b/usr.sbin/blacklistctl/Makefile @@ -6,8 +6,7 @@ PACKAGE= blocklist PROG= blacklistctl SRCS= blacklistctl.c conf.c state.c support.c old_internal.c \ sockaddr_snprintf.c pidfile.c strtoi.c popenve.c -MAN= blocklistctl.8 -MLINKS= blocklistctl.8 blacklistctl.8 +MAN= blacklistctl.8 LDFLAGS+=-L${LIBBLACKLISTDIR} LIBADD+= blocklist util diff --git a/usr.sbin/blacklistd/Makefile b/usr.sbin/blacklistd/Makefile index b4ba4ca2f9ad..490b12d46968 100644 --- a/usr.sbin/blacklistd/Makefile +++ b/usr.sbin/blacklistd/Makefile @@ -7,9 +7,7 @@ CONFS= blacklistd.conf PROG= blacklistd SRCS= blacklistd.c conf.c run.c state.c support.c old_internal.c \ sockaddr_snprintf.c pidfile.c strtoi.c popenve.c vsyslog_r.c -MAN= blocklistd.8 blocklistd.conf.5 *** 6 LINES SKIPPED *** From nobody Tue Oct 14 04:37:01 2025 X-Original-To: dev-commits-src-branches@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 4cm1dn6P0rz6Bh5c; Tue, 14 Oct 2025 04:37:01 +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 4cm1dn5Szgz3Q48; Tue, 14 Oct 2025 04:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416621; 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=yZxOHH4WQR1iGARKexi9NcyWwfnH0UVilW6S+XO09+Q=; b=rGm5d4V7HLUG1ZXF7Wi+OzWe6YLSGs/wrecT8PVw3KDp3b8s9V96aU7IwjUElVIIJpEVk+ 7ET8Bkpm/6ZMT/r4dJEs5DIyXNJJERp3dgj9jKvkcTgmaZogtjVZawQt4cugC8kjbwHmaB knCNCCR/l0KTVOVQ8LbyceWv3dsL8OAM2XpaI39HAgNDjZd5A2y6du2aJK9OCTsFTT7i8/ JE2hO2KRiuDhsq8CRYa7RNeMW4/98yi5JUY8G6Et0CgJ/kpXj2y0XYRkwCl3i/C+ruUCyg iHa5EzRJkoOsvelTEh2yR0qKWU+fA9G9l9sdP/6BzGL48s5WZBmKwBOQCOjVkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760416621; 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=yZxOHH4WQR1iGARKexi9NcyWwfnH0UVilW6S+XO09+Q=; b=NsZc64ZRY2bUXsMQPFpBTLAeQci7nfq88tog8dY88oPvfUvESpI6qwqFTLKjEcnvTWqq6+ /fjOBpD8Y+U6zYITgMVRrf8jqw8htHToYgwLMu+gvx6MXngYo5ra7YgdD0I/Vw2lrxzNFj 80Q9ZDMEJN6OxInmKp0B5WDBA4Yoqmnpjt/2OAI3ISYqU5oeX0UgyYas2GacoVahUtA323 BZnjNNjUH6Z7nPaYkNB4Yk+bBlxn8R9XpcqxTS2U5rzAo7SIkULYQHRwgbccoT70/fxHyZ 53xdvdbzoNmeosiD4ueiWzPkJeqYWK7KwKJ6c1AdAnyhur3wNonJhTzU7OnEQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760416621; a=rsa-sha256; cv=none; b=BIeN19Em6pjqStfAjXNotW/cQ7zWUpcx4LTy+0TkvgRTyNBnpicqSN8zE/N/SXFDvvkCqd bfjC1ZeTdFJ9DcszQEX/+9tr+CjWtOvbDf/H9eXoDjk0BEvcoRqfShqpZEZY5w2YfRRYKh KkMYl0bvzAuUDUohWvkK8eCH4ZZHrV7Gsd6AL9PA1rt3cFAlvAxxmrhYsPlLb/ELs9t+cb GGcbS3hMA5OwVArD1xuU6as3qhDkE3+TOgydAeTjpjBe7aS/CczwA8uWiGjGzy0hw4aB5s npzJMYhKZFBmi52B+mSfFI/LqjP0ibB7Oo7Z/62NITR84S0M9TZ8Z96cZUxF2A== 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 4cm1dn3gvrzdZN; Tue, 14 Oct 2025 04:37:01 +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 59E4b1l1038239; Tue, 14 Oct 2025 04:37:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59E4b1pQ038236; Tue, 14 Oct 2025 04:37:01 GMT (envelope-from git) Date: Tue, 14 Oct 2025 04:37:01 GMT Message-Id: <202510140437.59E4b1pQ038236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: bf591ddc87aa - releng/15.0 - blocklist: Add an UPDATING entry List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: bf591ddc87aa0fdc0fff279fbef3d3570ea56666 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=bf591ddc87aa0fdc0fff279fbef3d3570ea56666 commit bf591ddc87aa0fdc0fff279fbef3d3570ea56666 Author: Jose Luis Duran AuthorDate: 2025-10-13 14:35:12 +0000 Commit: Colin Percival CommitDate: 2025-10-14 04:36:45 +0000 blocklist: Add an UPDATING entry Add an UPDATING entry about the renaming of blocklist. Approved by: re (cperciva) Approved by: emaste (mentor) Fixes: 7238317403b9 ("blocklist: Rename blacklist to blocklist") MFC after: 1 day (cherry picked from commit ffa8165009365ff93050626d880f2d1d6aacc31a) (cherry picked from commit f22ca25404e795aa08efc35d8cdbb5b44304650f) --- UPDATING | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/UPDATING b/UPDATING index 6e893f07df61..4b14159ceb4a 100644 --- a/UPDATING +++ b/UPDATING @@ -17,6 +17,12 @@ and/or ports. can install the ftp/freebsd-ftpd port. pkgbase users should remove the orphaned FreeBSD-ftpd package. +20251012: + Blacklist has been renamed upstream to Blocklist. If you have it + configured, rename all configuration files, firewall anchors or + sentinel files to reflect the new nomenclature. Old setups will + continue to work emitting a warning. + 20251002: Audio-related utilities including mixer(8) and virtual_oss(8) have moved to the new FreeBSD-sound package. If you have set-optional or From nobody Tue Oct 14 14:16:16 2025 X-Original-To: dev-commits-src-branches@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 4cmGV83N1Zz6CWF0; Tue, 14 Oct 2025 14:16:16 +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 4cmGV82tz9z3XQn; Tue, 14 Oct 2025 14:16:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760451376; 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=NWSx4KCArHqAvBT+5ZA/NJOX+hR4d1WPGSZv0fzn+pc=; b=MAEkpYKPzre31rFw/qvH9NJOOjrcsx+5LSnAF5aBqShY/icWFQI0HW9D4jhb7FRCQ6xx/K iMvOMyL535rbJ/tzAB6bbZ2IMQNvCV3BqL0Kvd/yCna9VdszB9OAjOrf1Eu2xarvoax477 HVX71IsNm5Yo6sH8tD3zoMBaIrakMzo7xNl3OAv0mdafWMIG7NLI1M8BaNd+Ew7TIW9DmY y7MCo64E2LdrgDC2a+mDK38PqKiSzdc+mqnxgNN2rTgXminI5bJSJQMwED+XeaNG4ciXol 4Rl+GLtzk9oOJ/l+ufSK8y5/JG+u9rIAy3VIFNiu9xkTYSJntLvRouN/hIORHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760451376; 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=NWSx4KCArHqAvBT+5ZA/NJOX+hR4d1WPGSZv0fzn+pc=; b=KPhQnVRRzzBXZiion/WafvYTDy1xGvL5KPCXbtck7/tiKESUhK261+l6/X9lcE0xtWu+XO 2SDyQf6CY7GwsO2dl2eiLse3bP5D7/pdcg08WSdMVD82MPmgC+SqXVFmcFbUit6DRh25hy 2axBM90ZsZZDJrcFpNJ9/zqCnWi5NcEVb8iBV6XNrQ+YOYNqK+M7I4OHpjtXzZXpxKMvXj 9SjABMlYKHOWOiPzpkeTePjyvZu66+wBi2Oom/MMpvEZ4TG97QbFbgXJfAiDmO2D6XkSrc mBaxMkBNsayLzQZY1AGSHdcWQvU0WD4lFhEPbCsq6EJ3q/pEHOGYmMSBe4vhbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760451376; a=rsa-sha256; cv=none; b=cmJmQghVfTzBB/Qgth+nr1BS1B393U/bpliXmFtNwFirEDx5nfZD0W1qxaUGBjD2J0UKDl TTH7I5pDcfDlCcD6+GB6wpFOkh5WEiUMkwcBhLg1j0PNIuNdZDsj408uSOYZFyv/mg8+g2 2HcU5GXJ4M5borBF46/9DUiXkJPVwCTmW5UFdgrWhTX1k1CTtxOHCrONKnPgGmUcAGE1uz ll5xo7Hdi1MKhsyaQXTbNlvdc6BvbypLq77ZTGMZOO/smFeVOtR6M70unhaLUra8lPjSIz OunEWcqVIIomE9bjSYuqUn44Tlt9u5Dzb5C58tXqp00hH9A/SOqMGcAyQ4xYQQ== 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 4cmGV82VDjzwDs; Tue, 14 Oct 2025 14:16:16 +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 59EEGGP3028160; Tue, 14 Oct 2025 14:16:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EEGGs5028157; Tue, 14 Oct 2025 14:16:16 GMT (envelope-from git) Date: Tue, 14 Oct 2025 14:16:16 GMT Message-Id: <202510141416.59EEGGs5028157@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: d06e31d4a762 - stable/13 - libm: remainder: make sure x is zero List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d06e31d4a7622b535d903a1b84ce59e211ca2b18 Auto-Submitted: auto-generated The branch stable/13 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=d06e31d4a7622b535d903a1b84ce59e211ca2b18 commit d06e31d4a7622b535d903a1b84ce59e211ca2b18 Author: Ahmad Khalifa AuthorDate: 2025-10-10 09:30:52 +0000 Commit: Ahmad Khalifa CommitDate: 2025-10-14 14:01:59 +0000 libm: remainder: make sure x is zero Make sure the entirety of x is zero before flipping the sign bit. Otherwise the sign would be wrong for small values of x when x is negative and |n*y| > |x| Reported by: alfredo PR: 251091 Reviewed by: kargl MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53023 (cherry picked from commit 25cca51ed294890d20a3c0290814cd26875db686) --- lib/msun/src/e_remainder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/msun/src/e_remainder.c b/lib/msun/src/e_remainder.c index bd1ce8950619..5b71088911a2 100644 --- a/lib/msun/src/e_remainder.c +++ b/lib/msun/src/e_remainder.c @@ -66,8 +66,8 @@ remainder(double x, double p) if(x>=p_half) x -= p; } } - GET_HIGH_WORD(hx,x); - if ((hx&0x7fffffff)==0) hx = 0; + EXTRACT_WORDS(hx, lx, x); + if (((hx&0x7fffffff)|lx) == 0) hx = 0; SET_HIGH_WORD(x,hx^sx); return x; } From nobody Tue Oct 14 14:16:17 2025 X-Original-To: dev-commits-src-branches@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 4cmGV966QZz6CWMk; Tue, 14 Oct 2025 14:16:17 +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 4cmGV948Mlz3XJS; Tue, 14 Oct 2025 14:16:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760451377; 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=LzBN+bB7wuIvKpx0Lh608KUykJ1SrMu5dCTowGe4uuM=; b=owVpP5J6kknGHBgZL6aIyGflprkYGkf/I86q9ejZMAtyvS7L/Tj5QenODDJHlH5ukwuAh0 ot8DCY20K9V4LBMde+53ZzyG+RkQZpY35ot7a3DQon9cQb1YiuqdCmk+TfSogurygq6DAB Xfq32zRCf0AWtAstD6wxWgT5hVhoYIWFyrULniQagaVM/0kjEtyZvIjsOJ6y+wak4mOtQt dWMvZbfWpnaRcNBqhmkYY4s/2rPEVfKAokZk6UoCX23NJdOziSBlJMZyao9zm6bI6lyp54 7thqqzpSUf/+nWSCOTcjOKDPcCHp45a4pny8ddog2WDqIbg/mAx3hPRCycnoEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760451377; 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=LzBN+bB7wuIvKpx0Lh608KUykJ1SrMu5dCTowGe4uuM=; b=T5ddj37b6agtC76kRdV716jEyRz6IVs+umKZ/4s6FXiiygO5we9xHsapFrSa2Mu+7PJDaW BqMoorOHzpaEbGUZ8yRl4ZZh/fAOei5Beg4NpR1xQcKU4vWdVC+LuyxIYma38Z3HyXvQbv eqKS42nahFZd06w8BbiLxvllC1e5QpVp2Joy0/Wij8uFqQtGP1ZxiDmchMK90lp0p8egsa IG7ADc6qAr6BxT742sm028DCaUXV3tVW9T1rH+ryCKfqxK+BXIUzO046d1wlfHw9t5fjuK TVfZUjhZni2Kj1//1jXiBPSjzNGqycfodRV6E7iUdzn0zHeDuClMS5TdIa7U1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760451377; a=rsa-sha256; cv=none; b=tycmvqaJjjS1+S3cPp+s+JR7BHnvhfCZndDdncwAYE3P6mXeLLkP3dAHGGOwo4qXaVylrA i0AAjRMgw00A2B1484C0ouMFQQbEy73nEyM2Kb76RiRhCUyFisy9mb13s+lhhtgADul3t1 vZ/v2fo818sN4qNFk00WHiLwIfgO62Oe5QC60S4ahAr7s1jfd15FopH2SBfzQsjcd7bxpV X+KGb5qBy2RX9bNUnrXkU9FGhNufWVvsPiqHHMrAMXn7dIiitw/DF3+duct/Cb5m0oIDc3 7l/Aa5/hKG/j4RTlRTCFdHaEu1D7wx4VfqW8FqKafJCdtlQVld4NC/Xn9gSZ8Q== 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 4cmGV93Yy2zvtK; Tue, 14 Oct 2025 14:16:17 +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 59EEGHm4028210; Tue, 14 Oct 2025 14:16:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EEGHJW028207; Tue, 14 Oct 2025 14:16:17 GMT (envelope-from git) Date: Tue, 14 Oct 2025 14:16:17 GMT Message-Id: <202510141416.59EEGHJW028207@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 439909c48b0e - stable/14 - libm: remainder: make sure x is zero List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 439909c48b0e8b0e8dda03b9a359b73dcabb546e Auto-Submitted: auto-generated The branch stable/14 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=439909c48b0e8b0e8dda03b9a359b73dcabb546e commit 439909c48b0e8b0e8dda03b9a359b73dcabb546e Author: Ahmad Khalifa AuthorDate: 2025-10-10 09:30:52 +0000 Commit: Ahmad Khalifa CommitDate: 2025-10-14 14:00:19 +0000 libm: remainder: make sure x is zero Make sure the entirety of x is zero before flipping the sign bit. Otherwise the sign would be wrong for small values of x when x is negative and |n*y| > |x| Reported by: alfredo PR: 251091 Reviewed by: kargl MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53023 (cherry picked from commit 25cca51ed294890d20a3c0290814cd26875db686) --- lib/msun/src/e_remainder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/msun/src/e_remainder.c b/lib/msun/src/e_remainder.c index 406f12c14c2f..057da0e3d990 100644 --- a/lib/msun/src/e_remainder.c +++ b/lib/msun/src/e_remainder.c @@ -65,8 +65,8 @@ remainder(double x, double p) if(x>=p_half) x -= p; } } - GET_HIGH_WORD(hx,x); - if ((hx&0x7fffffff)==0) hx = 0; + EXTRACT_WORDS(hx, lx, x); + if (((hx&0x7fffffff)|lx) == 0) hx = 0; SET_HIGH_WORD(x,hx^sx); return x; } From nobody Tue Oct 14 14:16:18 2025 X-Original-To: dev-commits-src-branches@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 4cmGVC0Vqrz6CWKk; Tue, 14 Oct 2025 14:16:19 +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 4cmGVB516xz3XGL; Tue, 14 Oct 2025 14:16:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760451378; 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=9ld+KEh5dOk95GHS0IwWB6Ix76Yofh4XUoIAIr1KFVw=; b=qz70R6YEfRAi5vNfprIj3GoLGYcl45S/Rq41WMgOqYGJSiF0MY12XKHfD25dfKR8pL2RsC hGwd0RubZ4eWkxthV4bBB/bMf9igoQux8RK6webpsuYe1R4QSENIVSibh1rdohf8tcSFll DQCHFrtI1AkCZ8OC2chFchuOqjQ5gRga4HIkn1URRh+QpiN5atv6zk2mvxwFCgDnIIdkEd SFDaGRtI508PbK+tgmS5iF9gELh9+a+cGTv8DVGZicKl6Rs3DQJ6APC7+Fi7YKjeLXiSn+ 5xztUIoRjG8gdjr+rmCLUg88erBcds8vEMmwxjTTm7I/9ZafAOM0mV6wuFq05g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760451378; 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=9ld+KEh5dOk95GHS0IwWB6Ix76Yofh4XUoIAIr1KFVw=; b=Uc7QW9/VibuNJiAZwfZISFiZ4g4vXWOfe7AZZ/LkXJDlpYsSofjTOCSuo2TsabqhhAKgqM vBxra6hMPvJY4qQQWyg2KNDeEvEeYMfs34nZVq0MFc9cv/km2eZvDTky73kgb+rZfuwBMq XmWNwZHAfy55/UA3ObLWUCLhekxLHG14VHMyFLnifZHX/92Kpsjrp9Mo4kMPbHTNYqAne7 pQCYCwW4GTX9yYz6JOjiJJyPFrYo+1ciTYPzYT8w9tXvIN6Gl1wK5xzAE9hbnt5uXINmrt U/j6yNnS3FeGl3QVAke5obpEGQhL2SKjXuAuhocfueNMuFZJ9xu8s5RsTmaS8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760451378; a=rsa-sha256; cv=none; b=v8tPxJ9b+Wgr7nWvm4aYWxG/unv0qrwYfYnEFe5T29c+akVbeSd9P+u3XPnUxYPqNl+2qd rEtpf3umYZGoxPO4vsdh/SlMNoY8Ik29Yqx7ZLSuaTbdV3dDsBH+Xk4St3TM+txntYNkpc esVH6kFVKK8UfzagEOhPkPSVBhAr8yoxsXVkBK+h7i0beDqavdvmFOoTmACx2Oh/S6zP5c bpByO2vxUIuILJhlHqF3eRr6bGsItUeD6ejTkiUNN5htcTFQypJ2EwEEChYVZl3Oqbosn7 f+haRBOefS3Om/ybeG/xh/d8X4s6FzsKHrXP0fn/mjTgNHnSUWHEaGnNVxtOcw== 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 4cmGVB4cPGzwPM; Tue, 14 Oct 2025 14:16:18 +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 59EEGIrw028256; Tue, 14 Oct 2025 14:16:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EEGIYX028253; Tue, 14 Oct 2025 14:16:18 GMT (envelope-from git) Date: Tue, 14 Oct 2025 14:16:18 GMT Message-Id: <202510141416.59EEGIYX028253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 583e976d6d09 - stable/15 - libm: remainder: make sure x is zero List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 583e976d6d09770a6299a19603d4f0dbaa562cac Auto-Submitted: auto-generated The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=583e976d6d09770a6299a19603d4f0dbaa562cac commit 583e976d6d09770a6299a19603d4f0dbaa562cac Author: Ahmad Khalifa AuthorDate: 2025-10-10 09:30:52 +0000 Commit: Ahmad Khalifa CommitDate: 2025-10-14 13:42:31 +0000 libm: remainder: make sure x is zero Make sure the entirety of x is zero before flipping the sign bit. Otherwise the sign would be wrong for small values of x when x is negative and |n*y| > |x| Reported by: alfredo PR: 251091 Reviewed by: kargl MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53023 (cherry picked from commit 25cca51ed294890d20a3c0290814cd26875db686) --- lib/msun/src/e_remainder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/msun/src/e_remainder.c b/lib/msun/src/e_remainder.c index a5fb7141d01a..cc6cd320073e 100644 --- a/lib/msun/src/e_remainder.c +++ b/lib/msun/src/e_remainder.c @@ -64,8 +64,8 @@ remainder(double x, double p) if(x>=p_half) x -= p; } } - GET_HIGH_WORD(hx,x); - if ((hx&0x7fffffff)==0) hx = 0; + EXTRACT_WORDS(hx, lx, x); + if (((hx&0x7fffffff)|lx) == 0) hx = 0; SET_HIGH_WORD(x,hx^sx); return x; } From nobody Tue Oct 14 15:01:06 2025 X-Original-To: dev-commits-src-branches@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 4cmHTt3HSnz6CZH4; Tue, 14 Oct 2025 15:01:06 +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 4cmHTt2LLbz3g28; Tue, 14 Oct 2025 15:01:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760454066; 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=kYB0lHDlxDnRVYnjFGLn2tYoFNeBhfzFtjwpyXw6Njg=; b=b8eszHHBtDGPEPH6bnJ9Z2qf9Uu+k/K9WfGox5YoQDIVxbQaR3EYjR+HrfKC4yQFViFJh0 RFvi2Xk8dLoN4ky7WqTH5RchGLBg9o+BPGqrcQUo1XJNaD3ut/s0XojSGADgyT1rGB3rG1 f7S78qVV4Iuj4/sIWnL3O3S+V1/1fqBVqtI2rChmQUeRV3NeZNko8DYWZFThQNrW7plXtr UM+WXhmhprtaC+I306kQOn9aB5waSiMfTvZZo12vEEcu1TrPgXmioZ6idT3HJ1WHDZLK7t L8WkyJu5LvXoY56EFBIwPw5a21QfjkjLoquyXVWiKYVIHqNsrpF9UlANYWTTmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760454066; 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=kYB0lHDlxDnRVYnjFGLn2tYoFNeBhfzFtjwpyXw6Njg=; b=J7xWoaw1/67AU5/Mf+dIsZ4j1iUvJzwDAumTnMM+bPijEaUlIUMIk/UaQ4VcPaa2zXOh+s spICTTr3AOdQ9MvIh8ZsMa0jsImFCLG+dguCnxT+zELcpALEYPci/nnBYqSTQtYR/lYB9I bbGefXe8JszgKdB7rwKj/mZ3Z8BT0WjE66xlBWS8TMeSJr7g0B+TpixRyWpLwLTbzor7SE bumpmHkcYCXIWs5dlJuXouBz/7V/gu0GnY1lUHSylfKxfboDRpbjA//tvwJdY+/gYjNS+N P2XQDuZqZmIWRz7xRzYbOav63iRgJnnagmuppH+nlNDKMxxBjjQQxG2oLX4RWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760454066; a=rsa-sha256; cv=none; b=Nefd12kbJZHf1e802s6Wx4jxlUCBkzdvtPmKIp2VDgr3fXnclmTl3025/FNibKjziOxVB/ ZUO21Vq7Qhv/iCpQaEw6I2JxmvMM4IHLbYBj7FiIpDrsmWG5IZQ52G2nXqc39FeOQ39Cv0 EXqPtON9Z/aMq3R3R/AjblyIwN9R01w0ZbpP6X6dcuU31pc3aRY/8bft66OC05pQouAMlI qybhW5rnWrD6IGppRDe8fWSPgcnoWcncoYbgLDJCQUUzd1dfQN8gNyGA4zNnAp6309R91w +zAiOjcTdx1FzLJKMLGRMgybrvblLyGyDGVm1P/yam1iK8GkEZ30GOoeDuNzog== 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 4cmHTt1gKvzxN2; Tue, 14 Oct 2025 15:01:06 +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 59EF16O7019252; Tue, 14 Oct 2025 15:01:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EF16of019249; Tue, 14 Oct 2025 15:01:06 GMT (envelope-from git) Date: Tue, 14 Oct 2025 15:01:06 GMT Message-Id: <202510141501.59EF16of019249@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: dbd1e3229643 - stable/15 - bsdinstall: Tweak pkgbase/dist set labels List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: dbd1e32296437c9b2e3fb73400e59fda4adc3e64 Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=dbd1e32296437c9b2e3fb73400e59fda4adc3e64 commit dbd1e32296437c9b2e3fb73400e59fda4adc3e64 Author: Ed Maste AuthorDate: 2025-10-09 17:01:36 +0000 Commit: Ed Maste CommitDate: 2025-10-14 15:00:58 +0000 bsdinstall: Tweak pkgbase/dist set labels Have the button labels refer to the artifact type directly (distribution sets / packages), and use "Tech Preview" as packaged base is no longer experimental. Reviewed by: ivy, cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52999 (cherry picked from commit abd9424590ba37ac10e92723ad6428f0448024c1) --- usr.sbin/bsdinstall/scripts/auto | 4 ++-- usr.sbin/bsdinstall/scripts/jail | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto index 61d52065af2a..8058b1a41dbf 100755 --- a/usr.sbin/bsdinstall/scripts/auto +++ b/usr.sbin/bsdinstall/scripts/auto @@ -209,9 +209,9 @@ if [ ! -f $BSDINSTALL_DISTDIR/MANIFEST ]; then PKGBASE=yes else bsddialog --backtitle "$OSNAME Installer" --title "Select Installation Type" \ - --yes-label "Traditional" --no-label "Packages (Experimental)" --yesno \ + --yes-label "Distribution Sets" --no-label "Packages (Tech Preview)" --yesno \ $PKGBASE_DEFAULT_BUTTON \ - "Would you like to install the base system using traditional distribution sets or packages (experimental)?" 0 0 + "Would you like to install the base system using traditional distribution sets or packages (technology preview)?" 0 0 if [ $? -eq 1 ]; then PKGBASE=yes fi diff --git a/usr.sbin/bsdinstall/scripts/jail b/usr.sbin/bsdinstall/scripts/jail index f2c7ef2b37de..3b1b2ee98fff 100755 --- a/usr.sbin/bsdinstall/scripts/jail +++ b/usr.sbin/bsdinstall/scripts/jail @@ -175,8 +175,8 @@ fi if [ ! "$nonInteractive" == "YES" ]; then bsddialog --backtitle "$OSNAME Installer" --title "Select Installation Type" \ - --yes-label "Traditional" --no-label "Packages (Experimental)" --yesno \ - "Would you like to install the base system using traditional distribution sets or packages (experimental)?" 0 0 + --yes-label "Distribution Sets" --no-label "Packages (Tech Preview)" --yesno \ + "Would you like to install the base system using traditional distribution sets or packages (technology preview)?" 0 0 if [ $? -eq 1 ]; then PKGBASE=yes fi From nobody Tue Oct 14 15:01:24 2025 X-Original-To: dev-commits-src-branches@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 4cmHVF2KFsz6CZYw; Tue, 14 Oct 2025 15:01:25 +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 4cmHVD6VLFz3gDw; Tue, 14 Oct 2025 15:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760454084; 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=pyrcdkjaMIFpR3GLcfjyUHtxypd7/pkWlfUaF3iH+40=; b=pdmFIYtm1XUwfpoDanftneYFWdhqOa9iu1joTB0ZnbJBEuBqFp104x3icHe3h4xTbko0To WWyWg35UJIvwvDj4rkwx6wuvF/iHlaob2ym4X4ohcUnMnbKfZRIyLmWthDvuo49mUuEHrr wuvS8tLKELzqLDhnrNCej4c5hIEm6HjMAZrijLZZhwkF9Z9BDnzxRj3ro/R4T6+xeP5ZrL A0UY07tmW9+02m/TiLRh8HC47rr+nFHxrf/iu4AIkXstS6o2mDQgjau9kIOZFsrHFeG03M jcvGb3a878bIW5BKKfcs+vSHIFcjFqkGc52gvzQOmf3hWqaraZ2xiSD0BHQWNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760454084; 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=pyrcdkjaMIFpR3GLcfjyUHtxypd7/pkWlfUaF3iH+40=; b=gv98A+iC5RJ/uechnOyfBqKslVHml56pZcdqeLDliXw/aAu+OYTkllzD7+EmsykCIuQig0 qOHZIzOo8ARzaCjLuGyY9Dw6lTjfVF7QENSBbOsia5QP7/ClST4WzhVLQeNC3psXtrj/Vc ko0EIqEjw+anx0/ewOtGQA+7L9dQ3dcWgN6dGl8e8dtPuHBJUb5rDsnwCe3Ow+wpDVjl+Q QJA9WCAsQc6IYh5v/By7m7OUz79mktpAjzIQZmv/TZP/9X0O37cF5+59X4o1CvRv7Ua+b0 xBTQcuykpksgDirKDuub8w1Z2BBegIO8Nf2ZQNlkAvcoebSmw1eIG0i3gjEocg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760454084; a=rsa-sha256; cv=none; b=HzF5UwOPYDB5TG+t1360ZThyD1N+cvGmIDqvkCobAqJH6fjoeSZJXg8vFRbTT9DzR/mqTu DO1WmhED/6jX5AT4coK9hyL3C+jhSwxBsKAyTddF9pHwnlVjn3kkR3R2wBf/0JTNbd4XJr vcsW24tFQrwY6uSgn32l9WuLVG4kJYb2D7+mp1off6u0ynoGm8gGjW0zsGORttu+AaaSpK /JWrng9VuhCFoImpZNTsAWeM4JifCI+8JcPBKP/CJCtOs2Pvrvc6Jr9hmylbiL+RlxkeOl Bjpui7oV0pibPxqnv1ULOmXrRCI8Zda540np6IvwOJJM9+iK8X0Izq5FhMB2DQ== 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 4cmHVD62rvzxPq; Tue, 14 Oct 2025 15:01:24 +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 59EF1OUU020314; Tue, 14 Oct 2025 15:01:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EF1OO4020311; Tue, 14 Oct 2025 15:01:24 GMT (envelope-from git) Date: Tue, 14 Oct 2025 15:01:24 GMT Message-Id: <202510141501.59EF1OO4020311@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: eb895ad4c47e - stable/15 - Revert ".cirrus.yml: Reenable CI with pre-commit CI scripts" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: eb895ad4c47e0f3ee77dff638159e21dee1c501a Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=eb895ad4c47e0f3ee77dff638159e21dee1c501a commit eb895ad4c47e0f3ee77dff638159e21dee1c501a Author: Ed Maste AuthorDate: 2025-09-19 14:09:48 +0000 Commit: Ed Maste CommitDate: 2025-10-14 15:00:58 +0000 Revert ".cirrus.yml: Reenable CI with pre-commit CI scripts" This reverts commit 676d64ee8327851063d92d0dd6a4ceee6b3a25e6. These tests take a combined 3h to run and are consuming our montly Cirrus-CI credits in short order, before failing. In the PR markj reports that the failure appeared somewhere between: good: da64f6e047b5f6cd9b9e8450d19072cb0b6e44d0 bad: b197d2abcb6895d78bc9df8404e374397aa44748 Unfortunately, even after we find the offending commit and have a fix we still do not have sufficient monthly compute credit. Disable these tests for now, pending a solution to both issues. PR: 289696 Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D52618 (cherry picked from commit 2b8bfdcad1f46076eaf40938634538fbcb13cb1c) --- .cirrus.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.cirrus.yml b/.cirrus.yml index 9ed08d750e2f..84efa04f1ccb 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -194,11 +194,13 @@ precommit_task: matrix: - name: amd64 smoke test using internal ci systems only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' || $CIRRUS_BRANCH =~ 'pull/.*' + trigger_type: manual env: TARGET: amd64 TARGET_ARCH: amd64 - name: aarch64 smoke test using internal ci systems only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' || $CIRRUS_BRANCH =~ 'pull/.*' + trigger_type: manual env: TARGET: arm64 TARGET_ARCH: aarch64 From nobody Tue Oct 14 20:46:46 2025 X-Original-To: dev-commits-src-branches@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 4cmR8k2nQtz6C2rF; Tue, 14 Oct 2025 20:46:46 +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 4cmR8k1wJVz3HvY; Tue, 14 Oct 2025 20:46:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760474806; 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=0QEXPacIufgb7xM/jHWW57ZSYUNIXUbzLqXlDVvleKA=; b=s5Lnu3+b9xpUCvdIM5h2B5ftOlJCpvK57JETdO/up/VRfmiobwn+WuNCVLFhaHq46j3UT7 npkIgnSPIy2AvrOeWyLOKE0uo+PTluRGfnQd4jSsquaAc8Q6Mt7r3SbP87Y7R4Ts2Tdrw9 KSEftWn/2OB2r5Frgu4+mDOzAADRCeCzgWXaMzG0xDJCfUvQ7EM+DGRVJ0rekseNU+xCpd 1mdlFrRQdxZU++chEq40e3B1gbgT7MedtVEehthhmeoYmoFXtwbj1vJzSyUYIW67p7dmWA AUlLOV/0sekL5IwIj1NP3vmctGgObrAo+zT0P+h9W06WqVr0UlcpMZJ4IaJJvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760474806; 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=0QEXPacIufgb7xM/jHWW57ZSYUNIXUbzLqXlDVvleKA=; b=gA5H+zq+XO0puM9eHMTEXPIG59uwem/UKB5j3sHPtqV3RmRbCUF2OQtZLVaga+tdeLDDoM lDX1mDA1RHAoiCfgP/3qBddOb16OvQzZPqK/Muz1fuZ744uHJ+j+dqy7LYX2GLoEk8p9aa Kmvx8qRnFeiirfQPjaqSlxozoNH95DSw8C2W2Ay3st1XwISf9OBSwHRcs4p+WOQmMXyJJJ s2ZskCqpMIAtO24eSzqlsehM9nTYff9QWZAGgcRcIL5+qxQziBP8bhcJqHv6W6tmG2I77Y lVmgKpQvbVwLqHJS3aehK5EcPNohaBfmOkBrBza/+94lPoV/fIZWYP+ymjafYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760474806; a=rsa-sha256; cv=none; b=mw5lRxP/mJax9gKhQsBve9rEV+xU5FuC1obMzdVtmatuLjwafKStQNOS6bvtGpSQM5WHc4 qxEkS8zmW8ELVo7hsI9KM5+/1rgoz9YV5sIOOfl3Jwpfb4+fkokIb18LmAgP/GqSDwY3Gc fJnl2trq17iXkCTmMoQi7b9rlZEQs4s589L1slq9aCzBijzqAIXswAvtQtiHBiEG5e9zQH osxhS2dfK5fNWZbWgzZrf0cAFqQs4HU+Ykd9++fpmDLvXb+TJ0NuO9Lm5t/0zWgvVvMDvd ipt3NTzCrMC2ycg4R5WKr/28+Mfr1JCW6QFCLLGP+edQjCAKctPkblUaxbqmPg== 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 4cmR8k1JqRz17BS; Tue, 14 Oct 2025 20:46:46 +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 59EKkkuM066228; Tue, 14 Oct 2025 20:46:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EKkkEW066225; Tue, 14 Oct 2025 20:46:46 GMT (envelope-from git) Date: Tue, 14 Oct 2025 20:46:46 GMT Message-Id: <202510142046.59EKkkEW066225@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: 3dac4b92ec99 - stable/15 - sockstat: improve indentation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/15 X-Git-Reftype: branch X-Git-Commit: 3dac4b92ec992fc85d148bf7d2d2deb1dbc5c827 Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=3dac4b92ec992fc85d148bf7d2d2deb1dbc5c827 commit 3dac4b92ec992fc85d148bf7d2d2deb1dbc5c827 Author: Michael Tuexen AuthorDate: 2025-10-07 02:04:35 +0000 Commit: Michael Tuexen CommitDate: 2025-10-14 06:51:32 +0000 sockstat: improve indentation No functional changes intended. Sponsored by: Netflix, Inc. (cherry picked from commit ab837a2eed6d7562d538ac5f90b3b2776a9f0f5f) --- usr.bin/sockstat/main.c | 123 ++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 61 deletions(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index 3b989c4283e4..a917672120d5 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -1230,40 +1230,40 @@ calculate_sock_column_widths(struct col_widths *cw, struct sock *s) { .socket = s->splice_socket }); if (sp != NULL) { len = formataddr(&sp->laddr->address, - NULL, 0); + NULL, 0); cw->splice_address = MAX( - cw->splice_address, len); + cw->splice_address, len); } } } if (opt_i) { - if (s->proto == IPPROTO_TCP || s->proto == IPPROTO_UDP) - { + if (s->proto == IPPROTO_TCP || + s->proto == IPPROTO_UDP) { len = snprintf(NULL, 0, - "%" PRIu64, s->inp_gencnt); + "%" PRIu64, s->inp_gencnt); cw->inp_gencnt = MAX(cw->inp_gencnt, len); } } if (opt_U) { if (faddr != NULL && - ((s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) || - (s->proto == IPPROTO_TCP && - s->state != TCPS_CLOSED && - s->state != TCPS_LISTEN))) { + ((s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) || + (s->proto == IPPROTO_TCP && + s->state != TCPS_CLOSED && + s->state != TCPS_LISTEN))) { len = snprintf(NULL, 0, "%u", - ntohs(faddr->encaps_port)); + ntohs(faddr->encaps_port)); cw->encaps = MAX(cw->encaps, len); } } if (opt_s) { if (faddr != NULL && - s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) { + s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) { len = strlen(sctp_path_state(faddr->state)); cw->path_state = MAX(cw->path_state, len); } @@ -1271,21 +1271,22 @@ calculate_sock_column_widths(struct col_widths *cw, struct sock *s) if (first) { if (opt_s) { if (s->proto == IPPROTO_SCTP || - s->proto == IPPROTO_TCP) { + s->proto == IPPROTO_TCP) { switch (s->proto) { case IPPROTO_SCTP: len = strlen( sctp_conn_state(s->state)); cw->conn_state = MAX( - cw->conn_state, len); + cw->conn_state, len); break; case IPPROTO_TCP: if (s->state >= 0 && s->state < TCP_NSTATES) { - len = strlen( - tcpstates[s->state]); - cw->conn_state = MAX( - cw->conn_state, len); + len = strlen( + tcpstates[s->state]); + cw->conn_state = MAX( + cw->conn_state, + len); } break; } @@ -1462,8 +1463,8 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) cw->splice_address, buf); } if (opt_i) { - if (s->proto == IPPROTO_TCP || s->proto == IPPROTO_UDP) - { + if (s->proto == IPPROTO_TCP || + s->proto == IPPROTO_UDP) { snprintf(buf, bufsize, "%" PRIu64, s->inp_gencnt); xo_emit(" {:id/%*s}", cw->inp_gencnt, buf); @@ -1472,29 +1473,29 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) } if (opt_U) { if (faddr != NULL && - ((s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) || - (s->proto == IPPROTO_TCP && - s->state != TCPS_CLOSED && - s->state != TCPS_LISTEN))) { + ((s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) || + (s->proto == IPPROTO_TCP && + s->state != TCPS_CLOSED && + s->state != TCPS_LISTEN))) { xo_emit(" {:encaps/%*u}", cw->encaps, - ntohs(faddr->encaps_port)); + ntohs(faddr->encaps_port)); } else if (!is_xo_style_encoding) xo_emit(" {:encaps/%*s}", cw->encaps, "??"); } if (opt_s) { if (faddr != NULL && - s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) { + s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) { xo_emit(" {:path-state/%-*s}", cw->path_state, - sctp_path_state(faddr->state)); + sctp_path_state(faddr->state)); } else if (!is_xo_style_encoding) xo_emit(" {:path-state/%-*s}", cw->path_state, - "??"); + "??"); } if (first) { if (opt_s) { @@ -1503,40 +1504,40 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) switch (s->proto) { case IPPROTO_SCTP: xo_emit(" {:conn-state/%-*s}", - cw->conn_state, - sctp_conn_state(s->state)); + cw->conn_state, + sctp_conn_state(s->state)); break; case IPPROTO_TCP: if (s->state >= 0 && - s->state < TCP_NSTATES) + s->state < TCP_NSTATES) xo_emit(" {:conn-state/%-*s}", - cw->conn_state, - tcpstates[s->state]); + cw->conn_state, + tcpstates[s->state]); else if (!is_xo_style_encoding) xo_emit(" {:conn-state/%-*s}", - cw->conn_state, "??"); + cw->conn_state, "??"); break; } } else if (!is_xo_style_encoding) xo_emit(" {:conn-state/%-*s}", - cw->conn_state, "??"); + cw->conn_state, "??"); } if (opt_b) { if (s->proto == IPPROTO_TCP) xo_emit(" {:bblog-state/%-*s}", - cw->bblog_state, - bblog_state(s->bblog_state)); + cw->bblog_state, + bblog_state(s->bblog_state)); else if (!is_xo_style_encoding) xo_emit(" {:bblog-state/%-*s}", - cw->bblog_state, "??"); + cw->bblog_state, "??"); } if (opt_S) { if (s->proto == IPPROTO_TCP) xo_emit(" {:stack/%-*s}", - cw->stack, s->stack); + cw->stack, s->stack); else if (!is_xo_style_encoding) xo_emit(" {:stack/%-*s}", - cw->stack, "??"); + cw->stack, "??"); } if (opt_C) { if (s->proto == IPPROTO_TCP) @@ -1551,8 +1552,8 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) faddr = faddr->next; if (!is_xo_style_encoding && (laddr != NULL || faddr != NULL)) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw->user, "??", cw->command, "??", - cw->pid, "??", cw->fd, "??"); + " {:fd/%*s}", cw->user, "??", cw->command, "??", + cw->pid, "??", cw->fd, "??"); first = false; } xo_emit("\n"); @@ -1613,7 +1614,7 @@ display(void) xo_emit(" {T:/%*s}", cw.fib, "FIB"); if (opt_I) xo_emit(" {T:/%-*s}", cw.splice_address, - "SPLICE ADDRESS"); + "SPLICE ADDRESS"); if (opt_i) xo_emit(" {T:/%*s}", cw.inp_gencnt, "ID"); if (opt_U) @@ -1644,15 +1645,15 @@ display(void) if (opt_n || (pwd = cap_getpwuid(cappwd, xf->xf_uid)) == NULL) xo_emit("{:user/%-*lu}", cw.user, - (u_long)xf->xf_uid); + (u_long)xf->xf_uid); else xo_emit("{:user/%-*s}", cw.user, pwd->pw_name); if (!is_xo_style_encoding) xo_emit(" {:command/%-*.10s}", cw.command, - getprocname(xf->xf_pid)); + getprocname(xf->xf_pid)); else xo_emit(" {:command/%-*s}", cw.command, - getprocname(xf->xf_pid)); + getprocname(xf->xf_pid)); xo_emit(" {:pid/%*lu}", cw.pid, (u_long)xf->xf_pid); xo_emit(" {:fd/%*d}", cw.fd, xf->xf_fd); display_sock(s, &cw, buf, bufsize); @@ -1667,8 +1668,8 @@ display(void) xo_open_instance("socket"); if (!is_xo_style_encoding) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw.user, "??", cw.command, "??", - cw.pid, "??", cw.fd, "??"); + " {:fd/%*s}", cw.user, "??", cw.command, "??", + cw.pid, "??", cw.fd, "??"); display_sock(s, &cw, buf, bufsize); xo_close_instance("socket"); } @@ -1680,8 +1681,8 @@ display(void) xo_open_instance("socket"); if (!is_xo_style_encoding) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw.user, "??", cw.command, "??", - cw.pid, "??", cw.fd, "??"); + " {:fd/%*s}", cw.user, "??", cw.command, "??", + cw.pid, "??", cw.fd, "??"); display_sock(s, &cw, buf, bufsize); xo_close_instance("socket"); } From nobody Tue Oct 14 20:47:52 2025 X-Original-To: dev-commits-src-branches@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 4cmRB02TCWz6C2rQ; Tue, 14 Oct 2025 20:47: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cmRB01yfdz3JWR; Tue, 14 Oct 2025 20:47:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760474872; 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=cX2LWYkgiws+/nn2FmzsIs8vMZpY8ucvNA1AJRdNIsI=; b=YaN6A1MSq4g2njFOEPw5bqjU3HiVMTPnIbmoRmPH4Tvenhif6+4cy239CyyBnlSWbavKeX YXG7BFUSKZhOtMoYn9E4i5MrvNLUaBJGEwdofMB8f8Fo8YL9YRuH7cIPUgbtUgYPd49XbZ W+PUAJm/TvUHnwc3YjPwUv51+LKqQFq91fTCz8J93ipo2O/8uFnIkB2ib4XIW9poTeadSV 24i79CmbOh5a0xGQv+lMi209/oYd652fx3yvEAlqYk8tvZLSbe1Bhx128R1IMVlOX6f7Tx fE1CdRJKjQ7OM804fi1MOuVmj3bBn3RxW5XIAWAK/qOayYBYStd73UpNAomJ5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760474872; 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=cX2LWYkgiws+/nn2FmzsIs8vMZpY8ucvNA1AJRdNIsI=; b=kBUNtnaydrB6dL4Bnm2YhpAcTaKJsLizGQbMlQgxNOY4x1fbTfqUkrP4SwjYQjGE+9Ept7 y5Vg23hu66xvX4yyGMjyC8CyW6PxRkbJV+lKtQtA3anMVgNWXLPuiLVpiL6yKIH2A0maT/ mhZDiMLDUb/gufFOSPMqIZ3wmf4RKBL4fDnA/LxsXDvx3LPa/6/DqfQG31pc3zS4ZfkABw 7uq5CnSxQpwkoDCSBEGdY89m0Ryg9qylC+a7k6fLVtNjzbuuZZl2ScCkM9dQ2szjzu+Uq7 OMxhlCHE83QJhI66BCzmvthAy94CTzkptyxPdp9VcQ13sz2uu1mP6VgfSYXGNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760474872; a=rsa-sha256; cv=none; b=b0qxc7OC+3pfe0iXvtytbOIv7XXQ2zcjpSy2mORMgDyptIRqRAUbRx9KXeKth6Z3yBl8Xe MfvnFL3FkK4btyaBm1Vk3wnFv+P/7Gsob9nULhIOzUjM0yY06nMFRHgO62JgFnqJeEw8na tK4tz3dt5R4eFzFw+jzkhUHmNczCv0qXRsh4KJLJn4Iot0gdlyhmtGbXP+/YG3A/0gaRSG tQkSV8O3KPUbETE7wFQlUIm6qOigLy97driYNOggp9H89jLmRwPhDGJVnPhe9RNxtV2L4a 4sYaLBCa3plKiGTdzGBH5W225Mq4rvy17m3ufo+PygnCcfpFZTjx5I55ex1Vug== 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 4cmRB01Qmkz17Q2; Tue, 14 Oct 2025 20:47:52 +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 59EKlqN3066670; Tue, 14 Oct 2025 20:47:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59EKlq3w066667; Tue, 14 Oct 2025 20:47:52 GMT (envelope-from git) Date: Tue, 14 Oct 2025 20:47:52 GMT Message-Id: <202510142047.59EKlq3w066667@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: 7e567f51ff59 - stable/15 - sockstat: improve output formatting List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/15 X-Git-Reftype: branch X-Git-Commit: 7e567f51ff59d169b5fd0bc350d0c7dfc9fc2609 Auto-Submitted: auto-generated The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=7e567f51ff59d169b5fd0bc350d0c7dfc9fc2609 commit 7e567f51ff59d169b5fd0bc350d0c7dfc9fc2609 Author: Michael Tuexen AuthorDate: 2025-10-09 19:10:53 +0000 Commit: Michael Tuexen CommitDate: 2025-10-14 06:52:38 +0000 sockstat: improve output formatting Fix the format when the output for a socket spans multiple lines. Reviewed by: rrs Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52984 (cherry picked from commit 98b2a2265f5ee47bd932347699e6117df2f41488) --- usr.bin/sockstat/main.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index a917672120d5..f0eb83eb3e9f 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -1545,18 +1545,30 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) else if (!is_xo_style_encoding) xo_emit(" {:cc/%-*s}", cw->cc, "??"); } + } else if (!is_xo_style_encoding) { + if (opt_s) + xo_emit(" {:conn-state/%-*s}", cw->conn_state, + "??"); + if (opt_b) + xo_emit(" {:bblog-state/%-*s}", cw->bblog_state, + "??"); + if (opt_S) + xo_emit(" {:stack/%-*s}", cw->stack, "??"); + if (opt_C) + xo_emit(" {:cc/%-*s}", cw->cc, "??"); } if (laddr != NULL) laddr = laddr->next; if (faddr != NULL) faddr = faddr->next; + xo_emit("\n"); if (!is_xo_style_encoding && (laddr != NULL || faddr != NULL)) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw->user, "??", cw->command, "??", - cw->pid, "??", cw->fd, "??"); + " {:fd/%*s} {:proto/%-*s}", cw->user, "??", + cw->command, "??", cw->pid, "??", cw->fd, "??", + cw->proto, "??"); first = false; } - xo_emit("\n"); } static void From nobody Wed Oct 15 00:48:31 2025 X-Original-To: dev-commits-src-branches@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 4cmXWh0d1jz6CNnF; Wed, 15 Oct 2025 00:48:32 +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 4cmXWg6GhJz3lZJ; Wed, 15 Oct 2025 00:48:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489311; 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=eBoDdTr/Hn9TDXutsz1MhK3ztwcpSpPW8P1qKpeJwM8=; b=hFaU7PXRhYlx44vVckK9cDcfHk+OvTfQemitKjZRtBxpm9ATjFjC0MinmM5yJ3ePpxZO9t GGMST5/1wbU8aYiQnBaVlzKe2sQ9Rjykn9hDJdCyOYSTJ0wKt5o5yAIbljb0L8dDy1SFU7 4Z4W9zior/L0atQBL3ZR+1pA3V5jvN2JaSx/YViU1/+ILxAE2uslpq6R4RkKHIr53QC7dY OsWo6FgT7ie/6mLKvClBENH91+61iEJJh5/6AvfpOQdvmi7f6Ks1A67Tnur7G5En2kWKty sWu5+hcWLyD4+0Rr54x6HwMckazgjBX1unFShgqa+2tRhcaGle1Y/oztwFsMsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489311; 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=eBoDdTr/Hn9TDXutsz1MhK3ztwcpSpPW8P1qKpeJwM8=; b=PwASzGgAxeOCV7Xk2wTKe75dsFrvTuCcqmOvVrDO6nJQqGp8CwzqyELtFwyfGgR/Y7a76Q eOUL3yJbsP4Q9K68SfdHtMc0xJu74yNEuJOKB33Z2II7DPMZybkRtcpn+Gj4TFqKy0dzQx haUtyG8A6AZAopQTWCGWgCgG8RGDjRqzNY1DV5YxCWArJ4/ixlptObhbVMCgO59Ce2LrZJ DnDm5buXAhzDAPH8pDaqGzoBbYz9jmCK/a5DAWH//gskijCYL0n3mrdC2LX5ywaW832T27 ZC2YI68uv1+X0IorbHUVOkJbYmhX18m6aDkqts8mfHO903uJjzPg8joHE+4Vnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760489311; a=rsa-sha256; cv=none; b=sj7XY9O2+M1YXtTcqGp+gHII8K9ONwT+v3AKOKp0ivZDs2RZgvVITsTu/T9SyYdAa9WPh2 5IqK8aSBT6Ne1M1Ase8oFC4864FEwJ4aQM9M+foeW4E7w3QGS488IxAAKvG/AKsJM7GA+4 MPexDdqrHOY4GkiIbpnCCq7qQK2cIV2TkkNqyOv+sH74v7ec3VWTESrs6Mz85P+/fIPbBQ cPYI7TS4JyDT5+kVlnKPLE0fV+k4LWhZ90yHh0chGVAJdRfmcosljwOyeRF78Lk+e1an/N O5p92vAmjyfdx98FP8dknNlisj9cM/yNaZe57Kpl/lbLhwbiu7Wyd75lZj2nDA== 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 4cmXWg5sN4z1Qk; Wed, 15 Oct 2025 00:48:31 +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 59F0mVT5017403; Wed, 15 Oct 2025 00:48:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F0mVD4017399; Wed, 15 Oct 2025 00:48:31 GMT (envelope-from git) Date: Wed, 15 Oct 2025 00:48:31 GMT Message-Id: <202510150048.59F0mVD4017399@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 2ef79b0524b5 - stable/15 - Cirrus-CI: Build packages in parallel List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2ef79b0524b516792f1ebb1c623999ef2ec06408 Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2ef79b0524b516792f1ebb1c623999ef2ec06408 commit 2ef79b0524b516792f1ebb1c623999ef2ec06408 Author: Ed Maste AuthorDate: 2025-10-02 14:39:11 +0000 Commit: Ed Maste CommitDate: 2025-10-15 00:47:10 +0000 Cirrus-CI: Build packages in parallel Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52857 (cherry picked from commit e2796f0359afad522113c25d720fa30677a044ab) --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 5aaf7ac897d2..d99449e44a4f 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -160,7 +160,7 @@ task: - su user -c "make -j$(nproc) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildkernel" package_script: - - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages" + - su user -c "make -j$(nproc) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages" package_check_script: - su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG" From nobody Wed Oct 15 00:48:29 2025 X-Original-To: dev-commits-src-branches@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 4cmXWf0YTYz6CNnB; Wed, 15 Oct 2025 00:48:30 +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 4cmXWd63p4z3lc6; Wed, 15 Oct 2025 00:48:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489309; 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=4Skf7mUBfuY09gFM/GYV3Pp48UyyPXkYGbRXSxWZKug=; b=D7VFpY85UMYQ6+ks0lwbAYIs7GhLXrzC7ASJiU3yzgTHojeAFmzpUzqTn9WHvVRASbZ4/I lBotDww0lOVHfjXGGU99/fmHOQKPNv6+vvWmrGSXv/xcb8eGE6iFgVNLNtjbFkQ+zC6jyu 6d+Rke8PYPA5iFC60gbTS4+zKG7jwHM9Fv3VLjgNOv3e0OaL7JkbEcetJabioUIEHJ4J5p IAG0m3i9Hb3RhMa2CfPq0ntDlN661I00lQtFoDz8N6GyOIH3Dp7LSIWayWkafdmf4zI6p0 tnWTIEbDCAAs2Zj9pN1QVQP1uuw0qxv1vdn6O8EH922ZCuwOF/dC3dPlHA79UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489309; 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=4Skf7mUBfuY09gFM/GYV3Pp48UyyPXkYGbRXSxWZKug=; b=CN4RjpRSo0n7ins2ajM2fVnHOe9W8NF6qGimc3AgAmur8l9Ryq8dm0NcAF9GLYYcjd/ILS 6xdm0MWXDBa9yrUQErwoWnmum1nvpv21fKE+puTKBdsKkOuemrKrJyGUzarHoviAoVWggd GOZ56euW9ick3OXC9I2y/I+Puah6U/bWKcA4XfuTXmD4ext3H9Yn7Lgnrzu4XWddg9FYDR xaxKzbPmkZpix5nq8Ecq0n43G12wpwcaz0BpiZkW8Njcl60CioV+i3khFezPLCglce1Tl4 +/I11sUpook6s3KT9oFxkr6R+5bdQUYqse0d9Wv5LWDI+MO+o0CnlbXZyZxw6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760489309; a=rsa-sha256; cv=none; b=DjUSId0a/PtezI/7Wsdojup/flC/e0/PtKE+IHUlyRzsvwqmVMe72wa6XHVvW87lg6MXA7 oGHJZypaxaHSXJI2t+GM9PcrPH+oQlKSB1pBv76w8JBGeACrvMGpW5mwv7i4ZCNQJ9kQjm 2yV+YFpwOfWzlCBeJnngkTIWdgFbNwSGkYWQ1VRft8rIH4XsoYCX7z776Zz4tuL6aNRWwb ZEEtJEB/m6le2Q7G9xc31r4tV5FzBNAykUOKdKIQPE7cVrcof1LCD8R5RZAD69N1tzxgiF cOD98w+fLCerv0JylnJDEsjJX7DOwnwSQJiv5dc0mFIAwIP1Aqm4x1Ve0Yl4ig== 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 4cmXWd5Ksnz1Zb; Wed, 15 Oct 2025 00:48:29 +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 59F0mTvp017327; Wed, 15 Oct 2025 00:48:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F0mTVE017324; Wed, 15 Oct 2025 00:48:29 GMT (envelope-from git) Date: Wed, 15 Oct 2025 00:48:29 GMT Message-Id: <202510150048.59F0mTVE017324@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 608043e6d029 - stable/15 - Cirrus-CI: Bump to FreeBSD 14.3 image List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 608043e6d029a00170a0a80d52fa9afdf209c692 Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=608043e6d029a00170a0a80d52fa9afdf209c692 commit 608043e6d029a00170a0a80d52fa9afdf209c692 Author: Ed Maste AuthorDate: 2025-10-04 13:10:09 +0000 Commit: Ed Maste CommitDate: 2025-10-15 00:47:10 +0000 Cirrus-CI: Bump to FreeBSD 14.3 image Sponsored by: The FreeBSD Foundation (cherry picked from commit cca9295dd6adc4245fbeeefbe05c13c52d089bd7) --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 84efa04f1ccb..d48946ac8505 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -4,7 +4,7 @@ compute_engine_instance: # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images platform: freebsd image_project: freebsd-org-cloud-dev - image: freebsd-14-2-release-amd64-ufs + image: freebsd-14-3-release-amd64-ufs cpu: 8 memory: 8G disk: 40 From nobody Wed Oct 15 00:48:30 2025 X-Original-To: dev-commits-src-branches@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 4cmXWf6XP2z6CNq4; Wed, 15 Oct 2025 00:48:30 +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 4cmXWf50Mnz3llT; Wed, 15 Oct 2025 00:48:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489310; 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=35sr2CWRW5OQ6lXZWpYrjT6vw3ujlucSbBLQ5wO35SE=; b=uV/sIQ1RBXeIxUmQLFF5TzMoonYgMUnfxMcHJ/1n/6JYl9e4zIPV+3m77U0G30QSVF+YDW hdX9OlBNqBhK1DARavtodTFkn1LbOgrRLYMyZriIroUMUrR5yOsMCUffBjm4WQp0bkdaMk yz3pD5NKiH/adGuhm/+qj9XW+k49J9LLVyyAmEizvV8mppIWWOU8XsMygEDsEiQs2xznGj VwH0XRTUaqFqrFsTlaKR+RrFn5WoL+ePO8ZW0tLFrnVdA6UqNBlRLvWhHzAVqYVWNCCe72 8WzRUcFglbaXcaL5T6MbbjgT8shqDGrPEN0nzWUbnQWO8lHiCRQBWCxlKRPyTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489310; 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=35sr2CWRW5OQ6lXZWpYrjT6vw3ujlucSbBLQ5wO35SE=; b=DQwrcHcUXlJgRvbLrHMzEH0Uml9uwBg2FLfaWya8EoaSmvg9KBJjqwqWT3gYg6FqwQMZHr grcvh47MC4g2WMXltbfAsIGqFLdmdlZicNSaLuyRsPp575p03VRu8w08UYGq2FRYXW+UXX gRD48XFRANN+a6SycVWy510gYelekuJJYW5uvCC0ElTXUMUswNsQcJQlw2yorIqYN3V8YC TO99uAGcLawpG3+wYceFaYYnF6aDMinFqlltNmOtBptH/ydjZ6LWOdT1jpWtZS8ioXRWKU mZmuUk7L4A2WNOcH+elJi4pBPRaJDBFsvftFgtynXUGQ8pbhv0cV5F2CI9k2eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760489310; a=rsa-sha256; cv=none; b=r9gtgpjNS3NnnbDT4YHRSZBrLmlhN2uiknnbqQN2/xr7J4fGxBi/bfarCUW8sPb1f2IdpL o7EFbgRhFi+a4QqNWCNo9IIejs15Y41aKJqUAeOKA4bHwGjLVfA3T1NG+hzV/w57p57q3G dRppFieTk8HF9q3xftdZLDk0M8T29dl4vckEQRlnwPSD1KipqJ+5Wugdn2HO9M9zuut2aA y9SGRsju8h8JR8rMaZlR4gLubnb6p0sSYei6tqHH3d9qmj/UHtHX4tJSvJqTpZIdkM4NlS p/equLC81B75oJ3wm/9hnpM2Vm8kgzAzTpWk9DH1Eu/4t3lmJleQSA5hY4cmLQ== 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 4cmXWf4cCmz1p3; Wed, 15 Oct 2025 00:48:30 +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 59F0mUZn017366; Wed, 15 Oct 2025 00:48:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F0mU1J017363; Wed, 15 Oct 2025 00:48:30 GMT (envelope-from git) Date: Wed, 15 Oct 2025 00:48:30 GMT Message-Id: <202510150048.59F0mU1J017363@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: f283515a1015 - stable/15 - Cirrus-CI: Use nproc instead of sysctl -n hw.ncpu List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f283515a1015b5e02dee2b3f4504e7a5ca1a5cfe Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f283515a1015b5e02dee2b3f4504e7a5ca1a5cfe commit f283515a1015b5e02dee2b3f4504e7a5ca1a5cfe Author: Ed Maste AuthorDate: 2025-10-02 14:37:19 +0000 Commit: Ed Maste CommitDate: 2025-10-15 00:47:10 +0000 Cirrus-CI: Use nproc instead of sysctl -n hw.ncpu It is available on all supproted FreeBSD versions. Sponsored by: The FreeBSD Foundation (cherry picked from commit 5bba547a678beb280bf4080375f45b04ceb44fc5) --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index d48946ac8505..5aaf7ac897d2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -154,10 +154,10 @@ task: - su user -c "git config --global --add safe.directory $(pwd -P)" build_world_script: - - su user -c "make -j$(sysctl -n hw.ncpu) ${EXTRA_MAKE_FLAGS} CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld" + - su user -c "make -j$(nproc) ${EXTRA_MAKE_FLAGS} CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld" build_kernel_script: - - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildkernel" + - su user -c "make -j$(nproc) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildkernel" package_script: - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages" From nobody Wed Oct 15 00:48:32 2025 X-Original-To: dev-commits-src-branches@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 4cmXWj3Cdkz6CNdq; Wed, 15 Oct 2025 00:48:33 +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 4cmXWh6g98z3lRj; Wed, 15 Oct 2025 00:48:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489313; 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=EVPO916foto9hV6iFqfDVG3xO8F0gk9JyytxL1NoJV4=; b=ejiidfcbXjy9mY58oQdMrfaMBPkGppR26Dbf9PQhKAzuU6N5ORnIFjxIZTzndEmRkEKCZD XPfiVryl3i1FTU4OGOBEISpYfJSv7OdU9EYvgP9U3rWBi+OkeikbWQPM/FH+h4vSv7NkBj 6MD3BkjVKdl+itX+9Yi9DxpUeUSMd2w/opxhNS2vMVUULMoIu7Euec+ElpFCAXFzKeStbi 6x2IWUMSbRG+oCsyjFKrt6+HA3ffAO0q77VgzwROrVDHSJgnEuVD7ufM2FGjIo3h+zt0lZ UOET/Hv41r6phic1GoKkzqsPgrjhQJRacUo95PboLR2V9HFzqIYgXydVtCPBlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760489312; 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=EVPO916foto9hV6iFqfDVG3xO8F0gk9JyytxL1NoJV4=; b=hxSxK7hMNCc3XxJKyxjWinY+g+IZcRTHXa8nI/bxo5CykHFU0nZaC/EZgTeLen9o8LgRde 1t7MRpKiFDyuDewbeFCkkt70F8wRwx20k8wTIv46d+qO8yz3Wqk8ESm06Fjsq9VQvWpMhb WZd3+loZ63grDSjA36T0Fx/jKGH5gkVWvzaJh0meFCIqHBsZWMYlfADuYLoUL9OFE9WJyQ aOoV6+3sZFMpm7V91Bp3P7nZkq2PzRaPgAbZBnM/RNGzCJYZg6BjyvsbK1f9mkAccwXgS8 ubVEO0o+E0n/7f4jOvtm3FF+Zi4VQuRBIgvRQOVCp37+EDQtmhxqjX/vwH5LDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760489313; a=rsa-sha256; cv=none; b=ZD2OgM/vFik3B2F5BFIzxtraOxwIi7Wspjm/1Y8YhFxuw3P3yJYEqs4LGHjxV2aUYxbvqY j3vorY7w4/e0YkT4yBQVyw0nvWOC68ZMjrhvnfVH6Sum2AVpeDdsMJd3DyDg8DSsAaBal/ gGNiyi1kLAKSsZaWaNqZxklal4DvfBcm2kQntOlvGMDPpISyjSUWyu2R4V9z5euDHvzzLk QDMwgUuYETstCrbDCR2yE2ZX9xfww8pW3O7s2KKts2cELBvWcAzPWh/xgvFyfEDhSQA1Ca VvKvAFPWdqCPvjw6WgNoYpsnNQBTDKCAjveLvQdkWX5clXGLuqV32bu1+03PXg== 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 4cmXWh6GWdz1v0; Wed, 15 Oct 2025 00:48:32 +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 59F0mWDn017438; Wed, 15 Oct 2025 00:48:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F0mWZw017435; Wed, 15 Oct 2025 00:48:32 GMT (envelope-from git) Date: Wed, 15 Oct 2025 00:48:32 GMT Message-Id: <202510150048.59F0mWZw017435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: ba89a061d0ba - stable/15 - Cirrus-CI: Switch back to tzst packages, but use level 1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ba89a061d0bae42c4367bc5408b8c51fd63a2715 Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ba89a061d0bae42c4367bc5408b8c51fd63a2715 commit ba89a061d0bae42c4367bc5408b8c51fd63a2715 Author: Ed Maste AuthorDate: 2025-10-02 14:39:43 +0000 Commit: Ed Maste CommitDate: 2025-10-15 00:47:10 +0000 Cirrus-CI: Switch back to tzst packages, but use level 1 We previously used `PKG_FORMAT: tar` to avoid spending a lot of time in zstd compression. Instead just set PKG_LEVEL to compression level 1, which still produces packages that are much smaller than uncompressed tarballs with only a small penalty in build time. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52858 (cherry picked from commit ae5914c0e4478fd35ef9db3f32665b60e04d5a6f) --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index d99449e44a4f..b5c96820c192 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -10,7 +10,7 @@ compute_engine_instance: disk: 40 env: - PKG_FORMAT: tar + PKG_LEVEL: 1 task: matrix: From nobody Wed Oct 15 01:11:09 2025 X-Original-To: dev-commits-src-branches@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 4cmY1p1RQdz6CPnv; Wed, 15 Oct 2025 01:11:10 +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 4cmY1p0nw8z3nVg; Wed, 15 Oct 2025 01:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760490670; 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=efUWEbmGaV+6I7ZhwVaVIEc0dZ3Ew7AMAxIOlQoVDCA=; b=tKRiFMhSZ0s5AfUXnk6pGNOfaLhnPRmwczyEr/X7VMzB9qOT3odaaa8fcXQW9q7K1Jt3YB 2zOrTMK4RRFUu8fP9YD+jyWwVN3vIxdLQbz7frOocMbXYJiq9S6UA0vocpgHjjTp+zHYAO PrhK3s1DgJ58qAo9Zd433StuPDpDyFwZoyu9ceYRQjty5/a/ZHtwEZdIk0jwsM4x2IkOZU dwMfegGopcC8ZzUW60m3BfpJCOA/nTa0PDolZSQIq95pyrfi7AcSN01rYel+HXNbo5uCpD COGgc3A+Zc4A7Qou8k3hhaUi/vLVXGenjLv9xxZGSVZyTL3GoYdoIUE9CsQruw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760490670; 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=efUWEbmGaV+6I7ZhwVaVIEc0dZ3Ew7AMAxIOlQoVDCA=; b=Ezj21Eh3a7YZ1DUiN20kmndLsIBV97JkN8ieXWeAPBLDVFV2wmnYnL7V9g0s9S9rYwBAE5 +ahKfT8VrHSnOoZ1mpVPxQv3UUQgDQUDPpfpRLYilpLM2RxQPjP6PwV8t9CI4GvZ9O3Zei OTVWpQHaYIPNNtjY4Nm/O9scUarBApGhOmg9lC8X/j/iZEfW7fhCfNaBrfgYyquqBkvHFg f0nHbGuxJOmEC678Z3vaMbP0ggq7/ZFdDIPlAjpkXaml3dttcwUO8l+oergxz4rPyGmqzT UT/MkbXt0lTZkM8kCboqXCTI2imOO6/0QVeFFo/UQFaQgdwJY/Z3BgKmRzCm/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760490670; a=rsa-sha256; cv=none; b=j3JNcynJtr8wVqFEzypV5GKhmzeNhI2Qr6+3iYrGTxi2stKKzy4+DNqgtrrno9laR2gxmZ T6fVQesOza3Hg5R7osMwEwTKqnMGbIPE36qg0muHxAtFefDTl9dP3Fjft5mQV/58DtPebW dnY6ZnCE6Uw6DX0lgx+aTNdagIwA81XjVTTdz55+7ybGgvqEKFyy1baIjcPmlGwbrB9Hw+ aA4N71brG8vFUAAqIthah3E7mAGGXSZbrS/BeGX//BTA4hKi+kjbDbIpEhyJFJ82DKBxS1 3d5Xa9jya+ngPQYCdq4zmV/O/Yp9ATmD3fzL42SeoQOaGjRgIsE4q8Dkq5e8Tw== 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 4cmY1p0PSbz2Lx; Wed, 15 Oct 2025 01:11:10 +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 59F1B9dh065878; Wed, 15 Oct 2025 01:11:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F1B9ks065875; Wed, 15 Oct 2025 01:11:09 GMT (envelope-from git) Date: Wed, 15 Oct 2025 01:11:09 GMT Message-Id: <202510150111.59F1B9ks065875@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: ac19e85c60ac - stable/14 - Cirrus-CI: Use nproc instead of sysctl -n hw.ncpu List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ac19e85c60accb4673b5bae93840346c08a2b635 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ac19e85c60accb4673b5bae93840346c08a2b635 commit ac19e85c60accb4673b5bae93840346c08a2b635 Author: Ed Maste AuthorDate: 2025-10-02 14:37:19 +0000 Commit: Ed Maste CommitDate: 2025-10-15 01:10:57 +0000 Cirrus-CI: Use nproc instead of sysctl -n hw.ncpu It is available on all supproted FreeBSD versions. Sponsored by: The FreeBSD Foundation (cherry picked from commit 5bba547a678beb280bf4080375f45b04ceb44fc5) (cherry picked from commit f283515a1015b5e02dee2b3f4504e7a5ca1a5cfe) --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index f8f2fdde9a9a..80a4ae57b696 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -154,10 +154,10 @@ task: - su user -c "git config --global --add safe.directory $(pwd -P)" build_world_script: - - su user -c "make -j$(sysctl -n hw.ncpu) ${EXTRA_MAKE_FLAGS} CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld" + - su user -c "make -j$(nproc) ${EXTRA_MAKE_FLAGS} CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld" build_kernel_script: - - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildkernel" + - su user -c "make -j$(nproc) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildkernel" package_script: - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages" From nobody Wed Oct 15 02:12:18 2025 X-Original-To: dev-commits-src-branches@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 4cmZNL5MdJz6CTpk; Wed, 15 Oct 2025 02:12:18 +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 4cmZNL4qZhz3tSf; Wed, 15 Oct 2025 02:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760494338; 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=si1c9Mn8rXn0VlxaSwrfI8g1Gn9tzn5keckfSVEjFiU=; b=WbyhCvbMouXUaM2dpz319izAkwvsG4lAvsEP+wLBcVfCFikhItQdu3+CyfJUKq8whaXMqw xkuzo07fWJv7sbYEoMShnNwgQ7mi3rMVzbbUw+Uba8JlnD3O6WULM6ausBECqAkVksfT7R +xpewInWDHCEdX3QaAhi1C2Jq1+OFFZSYAsLqWsJ0xaRD99RX8PpZKpRH9NmeyXU1e8Zzm KXrOgGB5tnao5d2cX+B0NH/iNwciR8SkymfiZkLdpMIdTEms8XDDw691gLrdI6cGZz9krC QQnYCymVRqIUWBcQNptXiCqNIi8gYjxrjrt8UQbOwAlDmQCCPn05DWvatGBlJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760494338; 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=si1c9Mn8rXn0VlxaSwrfI8g1Gn9tzn5keckfSVEjFiU=; b=yZNBL0PTEmjacKKhWLP1iAV3eRJ/dovXsA6VLgSvtyd/PIQGma1pSh8y1t8Y3Yej+or4yf oH37GyvfrLT9+2kQfE8j2fD4EDjZ3tguqbwgWvb6WZvVnCx8TCxzJqI8F/lh2xKO0oZn95 vtOPr7gzwa5anOtFmDTitGYUTGO/ARN6Pl+/V1S8NTzu+94TIbojyB30dPwDdPoKWIaWR6 aZrVWABb0DYZkMhdloeZJrcxv5IYoqfymxaufbYFzeGDieyMbsZwqFsB7vN81q7DvX+dh/ TSN8WbQMsJI2gmQMrjrjv4JG5cZn1bX206LXHnAhbfyVubFOtrXrzV04bCHCCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760494338; a=rsa-sha256; cv=none; b=hryXnEM6pCqaMie3I453QI11dFCEiYUduGoDTzHpSYVDZN4W0vTksEbx+aqGO0iurgydeS r/4msoL7kkl434HuC2GRnr76zxzLDXlotg5/y0g1WgWyM7q0YELLVtxsBP1Bwq+k5hnF4Q 50Opkw+pHE5CYXmejJSPlA4fuxK7hd8s9/cyFVgKVDI1TbIchAQ5KppZYlcH4GObBR2wsh /EmZK9Mz8ETNgp0bdOljF8r8AzrywGBHfxCyUSItcnnYqr7IUwywa3eHfTkw15USKEPNkp c5DecPLI8524L8Y4UY/ojxUYW18Dop/KilMdHRCg/bT9Xl+r6kb3j7OQzUlpjg== 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 4cmZNL4P5tz44W; Wed, 15 Oct 2025 02:12:18 +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 59F2CIKs083493; Wed, 15 Oct 2025 02:12:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F2CIOG083490; Wed, 15 Oct 2025 02:12:18 GMT (envelope-from git) Date: Wed, 15 Oct 2025 02:12:18 GMT Message-Id: <202510150212.59F2CIOG083490@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: f43e19db6cea - stable/15 - vfs offset: fix assertion failure in face of racing ffofset and setfl locking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f43e19db6cea0a7dd7bf51f3fe2227d466ea5a80 Auto-Submitted: auto-generated The branch stable/15 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=f43e19db6cea0a7dd7bf51f3fe2227d466ea5a80 commit f43e19db6cea0a7dd7bf51f3fe2227d466ea5a80 Author: Mateusz Guzik AuthorDate: 2025-10-05 17:03:54 +0000 Commit: Mateusz Guzik CommitDate: 2025-10-15 02:12:05 +0000 vfs offset: fix assertion failure in face of racing ffofset and setfl locking Both use the same 16 bit var to store their locked and waiters bits, then this in file_v_unlock: state = atomic_load_16(flagsp); if ((state & lock_wait_bit) == 0 && atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit)) return; can fail if for example foffset is being unlocked while setfl is getting locked. Afterwards the code assumes there are blocked waiters on foffset. Reviewed by: kib, markj Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D52915 --- sys/kern/vfs_vnops.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index f81c2033d95e..e27692ccb1a3 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -806,9 +806,12 @@ file_v_lock(struct file *fp, short lock_bit, short lock_wait_bit) flagsp = &fp->f_vflags; state = atomic_load_16(flagsp); - if ((state & lock_bit) == 0 && - atomic_cmpset_acq_16(flagsp, state, state | lock_bit)) - return; + for (;;) { + if ((state & lock_bit) != 0) + break; + if (atomic_fcmpset_acq_16(flagsp, &state, state | lock_bit)) + return; + } sleepq_lock(flagsp); state = atomic_load_16(flagsp); @@ -842,9 +845,12 @@ file_v_unlock(struct file *fp, short lock_bit, short lock_wait_bit) flagsp = &fp->f_vflags; state = atomic_load_16(flagsp); - if ((state & lock_wait_bit) == 0 && - atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit)) - return; + for (;;) { + if ((state & lock_wait_bit) != 0) + break; + if (atomic_fcmpset_rel_16(flagsp, &state, state & ~lock_bit)) + return; + } sleepq_lock(flagsp); MPASS((*flagsp & lock_bit) != 0); From nobody Wed Oct 15 02:12:46 2025 X-Original-To: dev-commits-src-branches@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 4cmZNv0DsFz6CTs2; Wed, 15 Oct 2025 02:12:47 +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 4cmZNt6ktDz3tr9; Wed, 15 Oct 2025 02:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760494367; 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=R3U3XWIe939EjcVTRNK4gPNQB2CHgO30rVr9MwfS8Jg=; b=hflXKoXSKkv8RMBrBWZsZM8Uguclv3wmCb/dNXdxRLSRJLhEWv3CIuulalTqzgwmwMw1Sp 9gMoqKI2TGwau/tqFC2mr/QPt3E4N35bDphOP8XLxh8MMWp2NRBS0nZg9PNg+TcZb2SgFu c7w3hQbkzk9+voBNymVJj012RO9ncBNrMgzAeWQC+1DPoULcOYjqcT+0GS372ALns5Ilks imBS6cSg3mUijE4jhp35aaXSZSfniOZTgNQmjvQZnkqYArotjcGAh+sGUONLTb78vPyo9W dc1Wf7Aw4FDltIsM+CO4kdEBEg75UNv+gOjacZZdjcwnoIhk08P+3S9ryrw7Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760494367; 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=R3U3XWIe939EjcVTRNK4gPNQB2CHgO30rVr9MwfS8Jg=; b=mulcFVoS3AVn6XT72KuyeYtboOvulLNLOXHZPA0BzBALBBg2ckuCUf4/pOnhT/hnI7iJNr ACnrGPxt6HuawZ5+Glf1UFuWsA3gBGy2V95opDszylZILk57eEmIzfMffuo1MG3Y9r4Lv7 VNPW4uPZ2LbH1OriTeuk0y1CtNR04DOBZgdqBTLl5SFRVElIinByRIi7WpSscic6/qNFcN ayqxYzIidzkqU5JQk5t4Lk0d+Bf3wuNx2P191a+jCII4tl8B00ij7W8C/NVPM1LtWdkjRs 6MASvaTnmMPFhHU0y4EKqHd04FbITbLwZsIsUcBp+IiQRSwca+OHMzqXbh2Jnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760494367; a=rsa-sha256; cv=none; b=T8lAxbEPfF6xng8VkQuIQt0GYj6pLyNQaqGXt/5t+ahDdQNlPv8hGES3jZl7ZEet967OCX urkejEybgKiwcf9KGP7hP7Njc7I4a93gDZGCKmP8ozZFOLU8P9CjcXYzV5MaOa7+uR0F6/ +OPRjflVg7mnL59pSqljY1XC3eRXWRKk3tMU46xvMNOIwLGg4nmRoDainlq2OadeIGiIlj DGnfxPKFrOHMDx7Lj0aT57Z4IMhf3Npf2nfb3ZGcQW9Z4gLOmcuiXpHNaZW0t7kj/WysCq ieI57jcEvI7njK5HM0pwWgu+TAWsfVxoI8VJpTAvIYn4yZ4Kb2sXefNDRol6VA== 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 4cmZNt6GDzz3GS; Wed, 15 Oct 2025 02:12:46 +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 59F2Ckcx085988; Wed, 15 Oct 2025 02:12:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F2Cko1085985; Wed, 15 Oct 2025 02:12:46 GMT (envelope-from git) Date: Wed, 15 Oct 2025 02:12:46 GMT Message-Id: <202510150212.59F2Cko1085985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 57bf745be964 - stable/14 - vfs offset: fix assertion failure in face of racing ffofset and setfl locking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 57bf745be96462355350fa18ec1dadfa9f04a10d Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=57bf745be96462355350fa18ec1dadfa9f04a10d commit 57bf745be96462355350fa18ec1dadfa9f04a10d Author: Mateusz Guzik AuthorDate: 2025-10-05 17:03:54 +0000 Commit: Mateusz Guzik CommitDate: 2025-10-15 02:12:32 +0000 vfs offset: fix assertion failure in face of racing ffofset and setfl locking Both use the same 16 bit var to store their locked and waiters bits, then this in file_v_unlock: state = atomic_load_16(flagsp); if ((state & lock_wait_bit) == 0 && atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit)) return; can fail if for example foffset is being unlocked while setfl is getting locked. Afterwards the code assumes there are blocked waiters on foffset. Reviewed by: kib, markj Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D52915 --- sys/kern/vfs_vnops.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 5b25e2680ee4..4d1df41cf588 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -767,9 +767,12 @@ file_v_lock(struct file *fp, short lock_bit, short lock_wait_bit) flagsp = &fp->f_vflags; state = atomic_load_16(flagsp); - if ((state & lock_bit) == 0 && - atomic_cmpset_acq_16(flagsp, state, state | lock_bit)) - return; + for (;;) { + if ((state & lock_bit) != 0) + break; + if (atomic_fcmpset_acq_16(flagsp, &state, state | lock_bit)) + return; + } sleepq_lock(flagsp); state = atomic_load_16(flagsp); @@ -803,9 +806,12 @@ file_v_unlock(struct file *fp, short lock_bit, short lock_wait_bit) flagsp = &fp->f_vflags; state = atomic_load_16(flagsp); - if ((state & lock_wait_bit) == 0 && - atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit)) - return; + for (;;) { + if ((state & lock_wait_bit) != 0) + break; + if (atomic_fcmpset_rel_16(flagsp, &state, state & ~lock_bit)) + return; + } sleepq_lock(flagsp); MPASS((*flagsp & lock_bit) != 0); From nobody Wed Oct 15 05:57:29 2025 X-Original-To: dev-commits-src-branches@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 4cmgNB1wkcz6Cm92; Wed, 15 Oct 2025 05:57:30 +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 4cmgNB1MYFz3HbG; Wed, 15 Oct 2025 05:57:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760507850; 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=lN5UcdLhcu8EkuOWN0CntqomebNa787JLConSA+BiGg=; b=J4Eyzrj3G/+v3H1tvC+mjmQJYEcOQUJdCVAm6uJzgnYLsMZr7njBqGMyqK3Mqta3FrwW8a I30v1jKls9m9avdQ3vPDseFFoyP/5VzGVcDyDzvGij2DewPDyRYCHT/wue/9SVTPeHwRpX A4xJqDCkYdEAV9vvA872/JlhVn/h4IB8aAero54VnjK4CvGdAAP10w0x+MpHas2XEhIoRU iOzrcwM8ZLEvCQcbbuCKpIQrTwaiSNtmRGzUpyrXLlvWlkpdWlM7r1brH5lkRfivb6QbJ2 78XbtxYeb2FjTYWqRjIJ8TBSYE3a8Nbet0uKp8/lnlxBn4jFQlvCtyNU/EF+sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760507850; 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=lN5UcdLhcu8EkuOWN0CntqomebNa787JLConSA+BiGg=; b=BNBo9iceQlWmnQFRc1bZpJkWPLEumjQ5zoGV7awEOtDZVMqZTCGFpYD9nVo1bZsgGlw/Bd Ey1UVFptodd4S+MfeYjLf3l5XeFktNBzGTrbOkS9G3/G4XoQuSzoDVDe9bb3nK/hsSJzzV Axq16T+ltuQFYhHlJdGQZd+dEJ5rDfJ4SEgVg/G5+GtokVKwicPcLPy1LvEbFXEybXvKKL 8eb2J6UCG6vI8l8hCPmCeJxjzV33P7oYZXrDgViyeeCOeNOS0DG5kT/qhID7psELnqISjU G/Y0e/wlSqenDBkYyrO3Q9a56gBneYJig323D6ihCORMdEJ6fq1Xud0XLzx+4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760507850; a=rsa-sha256; cv=none; b=b6yfW48HEHSMT9ioN1s9tIk4EPNW7+bipNFFA/0ILt86pp1Y68z2MdN5GGf1hls5IsLhKv Gsfhd4yZ25E02d52J0CJvmLSF6SnCoTCsLsOgfjCYQhpfC8WwlK/LijkXTNEtO6p6aPzLR up3wO5ivjEv1go5yQ0VWljy4aSqyM7qckuGN2YRcARgJbeQ4i6Y6ARsStY/JOlIW+tXqYR BJ4bMFEDnSjjxPzbGEqEE0HXLtJ5q2vPLjS+Z/6gXYnUyGyZ7J844FE+/negKVhWGinmcf o/66LvvOb+nm3Y9JQCBGvzIHmyXV8vlsqND09+yMfXj5/Nggy+6ODIcsz2RxMA== 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 4cmgNB0wNnz9Wl; Wed, 15 Oct 2025 05:57:30 +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 59F5vTUk002800; Wed, 15 Oct 2025 05:57:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F5vT4N002797; Wed, 15 Oct 2025 05:57:29 GMT (envelope-from git) Date: Wed, 15 Oct 2025 05:57:29 GMT Message-Id: <202510150557.59F5vT4N002797@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: ad2ca1c5c179 - stable/15 - vmimage.subr: Sort METALOG before running makefs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ad2ca1c5c17935d8601b3ee48f705e1e5ede57bc Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ad2ca1c5c17935d8601b3ee48f705e1e5ede57bc commit ad2ca1c5c17935d8601b3ee48f705e1e5ede57bc Author: Colin Percival AuthorDate: 2025-10-12 04:32:29 +0000 Commit: Colin Percival CommitDate: 2025-10-15 05:57:20 +0000 vmimage.subr: Sort METALOG before running makefs When creating VM images from pkgbase, the METALOG may not be in order; in particular, files may be listed before the directories which contain them. This causes makefs to create directories with 000 permissions. Interestingly, such VM images boot just fine, since root ignores those permissions; the first sign of trouble was sshd refusing logins with an error message which said absolutely nothing about /etc/ having incorrect permissions or being unable to read files inside it. Immediately prior to running makefs, sort the METALOG file. While we're here, uniquify as well; this does not guarantee that we do not have duplicate paths, but if there are duplicate paths with different settings something else has gone wrong and we don't really have any good way of solving the problem anyway. Reviewed by: ivy Hint from: imp MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D53046 (cherry picked from commit 0cc81b375ea43c7e853b109d00c72c8c3b3df993) --- release/tools/vmimage.subr | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 15c4dd53e70b..c3c917dcd642 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -290,6 +290,11 @@ buildfs() { cat ${DESTDIR}/METALOG.pkg >> ${DESTDIR}/METALOG fi + # Sort METALOG file; makefs produces directories with 000 permissions + # if their contents are seen before the directories themselves. + env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted + mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + case "${VMFS}" in ufs) cd ${DESTDIR} && ${MAKEFS} ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \ From nobody Wed Oct 15 06:08:51 2025 X-Original-To: dev-commits-src-branches@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 4cmgdH3HpFz6Cmwp; Wed, 15 Oct 2025 06:08:51 +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 4cmgdH2YVDz3Jdn; Wed, 15 Oct 2025 06:08:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508531; 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=+aQWRQe9vcJ68I6/T1c4s9VnWKPzyczSOTljbt18Ewg=; b=yYKa2qiGDiRLX1bdjGGXexNqD0b7DzU5flaKEYKTnhxcVP+grsZvPDvfTOZhN6irlrLl2x 1OLWGipQNqkv+dW6nsqu3qK0jv7Sqxov6WOaF0aDwt9iVohuYTIPmMrjtCavesX+efo8jt POZ9aq+5YJhcRQp6QWnhSiYyKSNsItZxNzEciBY0KJoNBxaNeM13BzM/ZLth/SfpX5Wvqq egYWRI2HoZMSQawgd+MApyagdYUfjKS/6YA82KNzIonmtItjUrBvrkGD1ksvHSdSTHVGg2 spvgcKYKVBdvGzoFL0+/EfjCmuBWlMmanV9WUfKVuteq0A3fQXvBC0Cf5GMpRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508531; 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=+aQWRQe9vcJ68I6/T1c4s9VnWKPzyczSOTljbt18Ewg=; b=Jb4XECc4cVjLR3+b716HaRSw025K9gNJRukafzfBXrK4+jMHJ5OlbmahYQ6i0srJh+0h34 J0gUsxBQsSaumHpX3tVy/ywfeh/aUQsecnhrWvsSlwhNJmZbkkCa4u9ez6mBY9Z44PDZFB Q9xvMYbYfOujLEXkLIoDyQU+h/mqXAoM8/+ICrMVRJNuc0z5WEGSJP2LNm+GxfjDevsTIu jceHju13oe0hmydqeQLc7cYx05Gx7W8pt33tGzSIqPxfS77pemvcggCizhm5DpqY2KNoXl un83sOF+RLptztzGuo91snyAC7wryB//5xK6a+v4a2OMUp7wTheQxLss/n44OA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760508531; a=rsa-sha256; cv=none; b=Fw3eFPpSmjzHbaw1H0tDldVwpUJdjxunu+5AYoODhdCqsN/bDKHqH/wKgE5clr75iby9dz 18B8rh98QP3Stpv6gJNN9ahltGnLTG2Ezce7vZQrmsc2h+N1c4UWlj96YU6Oe3Z73DaX3Q Kh3DxX3ZPdiESGtSaF43eML5fNwf8TIAKTCWpDoad0waEtk0IlMwYhcSj9czdZwNky62Fo aJna9YlyGXIYMUlxs9cW9TpkGbEymH+RNHVXrD+2kvwjeMDcC7sD5ybV9dbCbq6glmB9DH IhliE4QEfmqIRAGkrHq5vVlltv9aJdWIQkiUP46jetj+DEQJlAPV2t434qRdvQ== 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 4cmgdH26qhz9mD; Wed, 15 Oct 2025 06:08:51 +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 59F68p0b023188; Wed, 15 Oct 2025 06:08:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F68pAb023185; Wed, 15 Oct 2025 06:08:51 GMT (envelope-from git) Date: Wed, 15 Oct 2025 06:08:51 GMT Message-Id: <202510150608.59F68pAb023185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 9bea2657c453 - releng/15.0 - vfs offset: fix assertion failure in face of racing ffofset and setfl locking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 9bea2657c4538f234709a97010f05e2b776c87a6 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9bea2657c4538f234709a97010f05e2b776c87a6 commit 9bea2657c4538f234709a97010f05e2b776c87a6 Author: Mateusz Guzik AuthorDate: 2025-10-05 17:03:54 +0000 Commit: Colin Percival CommitDate: 2025-10-15 06:08:01 +0000 vfs offset: fix assertion failure in face of racing ffofset and setfl locking Both use the same 16 bit var to store their locked and waiters bits, then this in file_v_unlock: state = atomic_load_16(flagsp); if ((state & lock_wait_bit) == 0 && atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit)) return; can fail if for example foffset is being unlocked while setfl is getting locked. Afterwards the code assumes there are blocked waiters on foffset. Approved by: re (cperciva) Reviewed by: kib, markj Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D52915 (cherry picked from commit f43e19db6cea0a7dd7bf51f3fe2227d466ea5a80) --- sys/kern/vfs_vnops.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index f81c2033d95e..e27692ccb1a3 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -806,9 +806,12 @@ file_v_lock(struct file *fp, short lock_bit, short lock_wait_bit) flagsp = &fp->f_vflags; state = atomic_load_16(flagsp); - if ((state & lock_bit) == 0 && - atomic_cmpset_acq_16(flagsp, state, state | lock_bit)) - return; + for (;;) { + if ((state & lock_bit) != 0) + break; + if (atomic_fcmpset_acq_16(flagsp, &state, state | lock_bit)) + return; + } sleepq_lock(flagsp); state = atomic_load_16(flagsp); @@ -842,9 +845,12 @@ file_v_unlock(struct file *fp, short lock_bit, short lock_wait_bit) flagsp = &fp->f_vflags; state = atomic_load_16(flagsp); - if ((state & lock_wait_bit) == 0 && - atomic_cmpset_rel_16(flagsp, state, state & ~lock_bit)) - return; + for (;;) { + if ((state & lock_wait_bit) != 0) + break; + if (atomic_fcmpset_rel_16(flagsp, &state, state & ~lock_bit)) + return; + } sleepq_lock(flagsp); MPASS((*flagsp & lock_bit) != 0); From nobody Wed Oct 15 06:08:52 2025 X-Original-To: dev-commits-src-branches@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 4cmgdJ4pqzz6CmnV; Wed, 15 Oct 2025 06:08: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cmgdJ3FBZz3JgT; Wed, 15 Oct 2025 06:08:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508532; 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=4t9aqHXXQDTMdB1gM/6q9s2241yC0sQ5dJb/KbvNP7k=; b=mv5PHawUcBOP4wRx82edXsIPiYdngOcu8V4CG0otaxvgBcly8vcjBI/tcuWLv+zDSm177+ 9dr62TfAtUPiCllsdzNI+qxMZ6m/Vz4bZX1CuDV8Sp2vPHrG4FIlAQ3QMNjXxIS0NBxFrj a4xkIkZ2VXhNHgitmd08+kM4xP2VZpQeUun8AX3bkvyChddH4b5fgac6uP2wCAoMRJg2+C EFUf2Oupe3hGU4NAtWoltPSiWOd8vQml+X0r6rCGdi5Fv/muvGr8ZULv26GWlU4AkcbtfR 5xQwIdOLCjO6b25yIVGB3gdCgUgGQYzPo3ObVbDBYbd3s00p82cKjvbt3ZTOHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508532; 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=4t9aqHXXQDTMdB1gM/6q9s2241yC0sQ5dJb/KbvNP7k=; b=YveVyOCoHXZHRcnwUAmR5S9+115ATrsKYeSWLADI2yOozFcz2rHJbmX84nAHYlcZ+McWe/ Y4ZliDnfxFN0l1kkRa0m3L82y1+U/fGvne30XuoNv9cgpDdOMIkS1Xl7IUemHxuV8LTVCA M9xVj5/jpRn1w32EQ3Pl7YWiLOmRNWQ0+xuSmqKSD9bF2aLQI0mzLvZiqKPRjxl9psUd6c kGb3SJfvQARc8UT8RhHnnblLzWHQh11lBfPXiOQkVMbF+MOoMG1ZGwnH1abHBwzq85QvJi baLWRzxxQiyKJiFy4Mj+CHJMUF2dyvV+DdfHxdD23/5+Hk9gSQTyx0a/TElVNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760508532; a=rsa-sha256; cv=none; b=tPpUeHen17EDKVZaIgHOphVati5gSmshXFY15b8NFKNG+jVUEqg4w9JE2TVp4il7uAnFMr 7aOaF8cLDps9nJRN0oMRM4uCcB6QXf7LePbufQqcrv108HZfZO1wY/qOkGzqT7aNH23sFe 95V4NmuIJSYCT0vDXNodLQcFYB93bmJZSS0XRORoRswwv6X6sf35AJGLGAFuzL9HZLHyuq yZhbXNS0lrlnTMXOjJ8tNdwW8lo0jAg+mX7XlZHuGWBS/+iSZJNCdtalmVi5SMWh0lAPOd eBaE+Tl4DgvN13col3ZH+3DQdifJIDxICNMxc24sAVGkAvopJ9yj4rN4xY4JUA== 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 4cmgdJ2mQzzB7d; Wed, 15 Oct 2025 06:08:52 +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 59F68qJl023228; Wed, 15 Oct 2025 06:08:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F68qK5023225; Wed, 15 Oct 2025 06:08:52 GMT (envelope-from git) Date: Wed, 15 Oct 2025 06:08:52 GMT Message-Id: <202510150608.59F68qK5023225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 72e948cff17b - releng/15.0 - sockstat: improve indentation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 72e948cff17b5063cf89025c1cb30dcd2e3929d9 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=72e948cff17b5063cf89025c1cb30dcd2e3929d9 commit 72e948cff17b5063cf89025c1cb30dcd2e3929d9 Author: Michael Tuexen AuthorDate: 2025-10-07 02:04:35 +0000 Commit: Colin Percival CommitDate: 2025-10-15 06:08:05 +0000 sockstat: improve indentation No functional changes intended. Approved by: re (cperciva) Sponsored by: Netflix, Inc. (cherry picked from commit ab837a2eed6d7562d538ac5f90b3b2776a9f0f5f) (cherry picked from commit 3dac4b92ec992fc85d148bf7d2d2deb1dbc5c827) --- usr.bin/sockstat/main.c | 123 ++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 61 deletions(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index 3b989c4283e4..a917672120d5 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -1230,40 +1230,40 @@ calculate_sock_column_widths(struct col_widths *cw, struct sock *s) { .socket = s->splice_socket }); if (sp != NULL) { len = formataddr(&sp->laddr->address, - NULL, 0); + NULL, 0); cw->splice_address = MAX( - cw->splice_address, len); + cw->splice_address, len); } } } if (opt_i) { - if (s->proto == IPPROTO_TCP || s->proto == IPPROTO_UDP) - { + if (s->proto == IPPROTO_TCP || + s->proto == IPPROTO_UDP) { len = snprintf(NULL, 0, - "%" PRIu64, s->inp_gencnt); + "%" PRIu64, s->inp_gencnt); cw->inp_gencnt = MAX(cw->inp_gencnt, len); } } if (opt_U) { if (faddr != NULL && - ((s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) || - (s->proto == IPPROTO_TCP && - s->state != TCPS_CLOSED && - s->state != TCPS_LISTEN))) { + ((s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) || + (s->proto == IPPROTO_TCP && + s->state != TCPS_CLOSED && + s->state != TCPS_LISTEN))) { len = snprintf(NULL, 0, "%u", - ntohs(faddr->encaps_port)); + ntohs(faddr->encaps_port)); cw->encaps = MAX(cw->encaps, len); } } if (opt_s) { if (faddr != NULL && - s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) { + s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) { len = strlen(sctp_path_state(faddr->state)); cw->path_state = MAX(cw->path_state, len); } @@ -1271,21 +1271,22 @@ calculate_sock_column_widths(struct col_widths *cw, struct sock *s) if (first) { if (opt_s) { if (s->proto == IPPROTO_SCTP || - s->proto == IPPROTO_TCP) { + s->proto == IPPROTO_TCP) { switch (s->proto) { case IPPROTO_SCTP: len = strlen( sctp_conn_state(s->state)); cw->conn_state = MAX( - cw->conn_state, len); + cw->conn_state, len); break; case IPPROTO_TCP: if (s->state >= 0 && s->state < TCP_NSTATES) { - len = strlen( - tcpstates[s->state]); - cw->conn_state = MAX( - cw->conn_state, len); + len = strlen( + tcpstates[s->state]); + cw->conn_state = MAX( + cw->conn_state, + len); } break; } @@ -1462,8 +1463,8 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) cw->splice_address, buf); } if (opt_i) { - if (s->proto == IPPROTO_TCP || s->proto == IPPROTO_UDP) - { + if (s->proto == IPPROTO_TCP || + s->proto == IPPROTO_UDP) { snprintf(buf, bufsize, "%" PRIu64, s->inp_gencnt); xo_emit(" {:id/%*s}", cw->inp_gencnt, buf); @@ -1472,29 +1473,29 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) } if (opt_U) { if (faddr != NULL && - ((s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) || - (s->proto == IPPROTO_TCP && - s->state != TCPS_CLOSED && - s->state != TCPS_LISTEN))) { + ((s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) || + (s->proto == IPPROTO_TCP && + s->state != TCPS_CLOSED && + s->state != TCPS_LISTEN))) { xo_emit(" {:encaps/%*u}", cw->encaps, - ntohs(faddr->encaps_port)); + ntohs(faddr->encaps_port)); } else if (!is_xo_style_encoding) xo_emit(" {:encaps/%*s}", cw->encaps, "??"); } if (opt_s) { if (faddr != NULL && - s->proto == IPPROTO_SCTP && - s->state != SCTP_CLOSED && - s->state != SCTP_BOUND && - s->state != SCTP_LISTEN) { + s->proto == IPPROTO_SCTP && + s->state != SCTP_CLOSED && + s->state != SCTP_BOUND && + s->state != SCTP_LISTEN) { xo_emit(" {:path-state/%-*s}", cw->path_state, - sctp_path_state(faddr->state)); + sctp_path_state(faddr->state)); } else if (!is_xo_style_encoding) xo_emit(" {:path-state/%-*s}", cw->path_state, - "??"); + "??"); } if (first) { if (opt_s) { @@ -1503,40 +1504,40 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) switch (s->proto) { case IPPROTO_SCTP: xo_emit(" {:conn-state/%-*s}", - cw->conn_state, - sctp_conn_state(s->state)); + cw->conn_state, + sctp_conn_state(s->state)); break; case IPPROTO_TCP: if (s->state >= 0 && - s->state < TCP_NSTATES) + s->state < TCP_NSTATES) xo_emit(" {:conn-state/%-*s}", - cw->conn_state, - tcpstates[s->state]); + cw->conn_state, + tcpstates[s->state]); else if (!is_xo_style_encoding) xo_emit(" {:conn-state/%-*s}", - cw->conn_state, "??"); + cw->conn_state, "??"); break; } } else if (!is_xo_style_encoding) xo_emit(" {:conn-state/%-*s}", - cw->conn_state, "??"); + cw->conn_state, "??"); } if (opt_b) { if (s->proto == IPPROTO_TCP) xo_emit(" {:bblog-state/%-*s}", - cw->bblog_state, - bblog_state(s->bblog_state)); + cw->bblog_state, + bblog_state(s->bblog_state)); else if (!is_xo_style_encoding) xo_emit(" {:bblog-state/%-*s}", - cw->bblog_state, "??"); + cw->bblog_state, "??"); } if (opt_S) { if (s->proto == IPPROTO_TCP) xo_emit(" {:stack/%-*s}", - cw->stack, s->stack); + cw->stack, s->stack); else if (!is_xo_style_encoding) xo_emit(" {:stack/%-*s}", - cw->stack, "??"); + cw->stack, "??"); } if (opt_C) { if (s->proto == IPPROTO_TCP) @@ -1551,8 +1552,8 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) faddr = faddr->next; if (!is_xo_style_encoding && (laddr != NULL || faddr != NULL)) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw->user, "??", cw->command, "??", - cw->pid, "??", cw->fd, "??"); + " {:fd/%*s}", cw->user, "??", cw->command, "??", + cw->pid, "??", cw->fd, "??"); first = false; } xo_emit("\n"); @@ -1613,7 +1614,7 @@ display(void) xo_emit(" {T:/%*s}", cw.fib, "FIB"); if (opt_I) xo_emit(" {T:/%-*s}", cw.splice_address, - "SPLICE ADDRESS"); + "SPLICE ADDRESS"); if (opt_i) xo_emit(" {T:/%*s}", cw.inp_gencnt, "ID"); if (opt_U) @@ -1644,15 +1645,15 @@ display(void) if (opt_n || (pwd = cap_getpwuid(cappwd, xf->xf_uid)) == NULL) xo_emit("{:user/%-*lu}", cw.user, - (u_long)xf->xf_uid); + (u_long)xf->xf_uid); else xo_emit("{:user/%-*s}", cw.user, pwd->pw_name); if (!is_xo_style_encoding) xo_emit(" {:command/%-*.10s}", cw.command, - getprocname(xf->xf_pid)); + getprocname(xf->xf_pid)); else xo_emit(" {:command/%-*s}", cw.command, - getprocname(xf->xf_pid)); + getprocname(xf->xf_pid)); xo_emit(" {:pid/%*lu}", cw.pid, (u_long)xf->xf_pid); xo_emit(" {:fd/%*d}", cw.fd, xf->xf_fd); display_sock(s, &cw, buf, bufsize); @@ -1667,8 +1668,8 @@ display(void) xo_open_instance("socket"); if (!is_xo_style_encoding) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw.user, "??", cw.command, "??", - cw.pid, "??", cw.fd, "??"); + " {:fd/%*s}", cw.user, "??", cw.command, "??", + cw.pid, "??", cw.fd, "??"); display_sock(s, &cw, buf, bufsize); xo_close_instance("socket"); } @@ -1680,8 +1681,8 @@ display(void) xo_open_instance("socket"); if (!is_xo_style_encoding) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw.user, "??", cw.command, "??", - cw.pid, "??", cw.fd, "??"); + " {:fd/%*s}", cw.user, "??", cw.command, "??", + cw.pid, "??", cw.fd, "??"); display_sock(s, &cw, buf, bufsize); xo_close_instance("socket"); } From nobody Wed Oct 15 06:08:53 2025 X-Original-To: dev-commits-src-branches@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 4cmgdL3Nt7z6Cn7C; Wed, 15 Oct 2025 06:08:54 +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 4cmgdK4KJ8z3JvM; Wed, 15 Oct 2025 06:08:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508533; 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=gaSgPrJFuDhRmkpo13g4gHlp6Cw9znM/RsRJBUS6Qac=; b=BBKPJWrCdo4W3w2kOMk8FNYtKV1w8doNXWAMsyqFS/GVKoqtNGr9bkSG3TY8BCoYwop7SX B3nZ+BqpBtKDAFmfaUlbEklJ7Ney0DcxBaPGlYuiaS3K9dQQsdSTfCCHwI4TDiD8WqUaRi u+vcl61+swX42q6Km1JBIG0Riso1Q9PxHAynmK19iGX5lR5ohnpkWYMFhiWlhDVvKNiqPC rZCkqCnk+TbigjoM63v4FTCnWnKNw4YJFNMTDIiAbO8fNuiv4VGY1YsPH7HidmopwZPy59 HLUyiotPhSs8AK/ZSxVmop/jIUPsVd+pYBVRitZJvj37Z/AMo+vPUkrpwkAekw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508533; 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=gaSgPrJFuDhRmkpo13g4gHlp6Cw9znM/RsRJBUS6Qac=; b=C/oWsCXbThLNWPP+GxAZlIHCJPI4TDqUd/tjNDsmpeq3m9yajaVuyLgy7Iwzr0tSqToaen 2Es0/PkL6FhYYbWlP4++a5zk6xvGfLsb5s5uTXGmU+Bwix6B/cMajOkoebIuZviW+n6yuT dF7jzQR4akGmoMC6QpJ6Bwz+xySv59+TLKRNqWcc+tC4GQo96FmntP4Zp3w33YTW5ZLVLY jQdGqdPeK9U9CVcwJjyHeB8cHd0DrBxyorr7FYNh7AJutDJITrhLVb4BmhTeYzbCKtbByk C2HLMcuvjqupM6n5Hsvfp7CIqtGFU1+yzFB/z4Wg2jul8crrp2oD8IqGckn+9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760508533; a=rsa-sha256; cv=none; b=lNyyCKUxX4T3GPyAExKsgdwFvTp/LJM6VFSm2D7y8wsid684zRkepssLU/cUhvmqbPD2+J 42LViWtdZpjAT9nkpf62BX61O5mYOxILziR8ZHZ7gT8stg3vON/9Re17GfNKHU/HtTxXoC Phf9J64kjnq2Vp1keZhyfOdRtMTg76aZQF00HilCI/yjUB6bpBnpFHeWsd+YbYKszhT44C KLL8rQl/QWQ3n5PB4hQbBJwayTWZmunPZrrcpR4eiD19BivF/KMgMUP2U/EsOtAxC9zd52 b1DAnP8NSSA8jApG9HQW+XU6Uvtgg1jRsJwT+nDDPh2uvXIwFs/jBygljNy1bw== 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 4cmgdK3jsKz9ZK; Wed, 15 Oct 2025 06:08:53 +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 59F68rck023263; Wed, 15 Oct 2025 06:08:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F68riK023260; Wed, 15 Oct 2025 06:08:53 GMT (envelope-from git) Date: Wed, 15 Oct 2025 06:08:53 GMT Message-Id: <202510150608.59F68riK023260@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: a9ffe497c864 - releng/15.0 - sockstat: improve output formatting List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: a9ffe497c864775e4979a7190ad3feb7884aec66 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a9ffe497c864775e4979a7190ad3feb7884aec66 commit a9ffe497c864775e4979a7190ad3feb7884aec66 Author: Michael Tuexen AuthorDate: 2025-10-09 19:10:53 +0000 Commit: Colin Percival CommitDate: 2025-10-15 06:08:09 +0000 sockstat: improve output formatting Fix the format when the output for a socket spans multiple lines. Approved by: re (cperciva) Reviewed by: rrs Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52984 (cherry picked from commit 98b2a2265f5ee47bd932347699e6117df2f41488) (cherry picked from commit 7e567f51ff59d169b5fd0bc350d0c7dfc9fc2609) --- usr.bin/sockstat/main.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index a917672120d5..f0eb83eb3e9f 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -1545,18 +1545,30 @@ display_sock(struct sock *s, struct col_widths *cw, char *buf, size_t bufsize) else if (!is_xo_style_encoding) xo_emit(" {:cc/%-*s}", cw->cc, "??"); } + } else if (!is_xo_style_encoding) { + if (opt_s) + xo_emit(" {:conn-state/%-*s}", cw->conn_state, + "??"); + if (opt_b) + xo_emit(" {:bblog-state/%-*s}", cw->bblog_state, + "??"); + if (opt_S) + xo_emit(" {:stack/%-*s}", cw->stack, "??"); + if (opt_C) + xo_emit(" {:cc/%-*s}", cw->cc, "??"); } if (laddr != NULL) laddr = laddr->next; if (faddr != NULL) faddr = faddr->next; + xo_emit("\n"); if (!is_xo_style_encoding && (laddr != NULL || faddr != NULL)) xo_emit("{:user/%-*s} {:command/%-*s} {:pid/%*s}" - " {:fd/%*s}", cw->user, "??", cw->command, "??", - cw->pid, "??", cw->fd, "??"); + " {:fd/%*s} {:proto/%-*s}", cw->user, "??", + cw->command, "??", cw->pid, "??", cw->fd, "??", + cw->proto, "??"); first = false; } - xo_emit("\n"); } static void From nobody Wed Oct 15 06:08:54 2025 X-Original-To: dev-commits-src-branches@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 4cmgdM29rYz6CmnY; Wed, 15 Oct 2025 06:08:55 +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 4cmgdL5lWZz3JfM; Wed, 15 Oct 2025 06:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508534; 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=1iUv6qihaZHCJO4uoJ6/K7szpVxNHg6/cM0iCnbTu6Q=; b=CbQX4FXy/xyyQIBAUwVXi1MaO4nChc6RkKlMF3Y91VhUtTPLJ0a2KEmW7FqBzG1DMPZEvk WiL+XSZHk3cBLlsRBrSIXhsXbsQ6eo7BgpTh4bUymUSBoiPGXQCGnIS7bHhtiOauin1Iye 1E0HP7RShPuy0NpQVvFJSEJOpmRlvmbCJbDmHOm4Q/6Iu8deS0z+Oy1ny+HYRaMr69iAQ4 5dzpqbX1nW2LLsXDSHNWfMdLfpM8AuKhbce//Kz67OVlo9Qs7m+L3/ds3Pqj+Fe0Npbfhs 9uVac3i4/2p3D8NPE5PMm2/F+OWud1OZteO+bbcDwJ98nHnZuRTWQlct9zS/CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760508534; 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=1iUv6qihaZHCJO4uoJ6/K7szpVxNHg6/cM0iCnbTu6Q=; b=RkNvAhrjx1xg6DznVy2Uddm5mwXeyWX4uYsmun33UG6Z4CmcJllV9uKidaEABLxE5l0XrI to7fEYA8fxEiJpVxhDoaK9t6uYYFWI4SkCyOfGruQ3PXZ5m2VkmUvOt6AXb/c7yA5Q0QDr YUnL48gqbFJ2cmjVnkb77gXUS8rMRcBJdcs6n4LD68rTdgScUqKXXE7LMV53RVsyuzi95y ngc1cH4UcFSNmS34I1sym+BLlQdDmOFq684HpbB9EIRNi9FHmhFmiTUBSzJbguH8OZKcDK Xk2k+jl2bdsCgEDw5rChb+kqSjktynRZE9Q0v7m4hKXI2vHTmemaHwxmpgE4Zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760508534; a=rsa-sha256; cv=none; b=qooQXX6kdFVPQT6lEGaeqeY75vpg1WFbAblQJt/uz0gYY9EcnqnYtXtw/Bh8w+O+29MD8f TY+PYkRMyctZykU9tuWUqWzANyT2F4L2fQCD/kFPDkyzTIM1CmgW20FLJVa12t7wUPeGH0 7TNjlf+LBa04V2YpqRwlZtD1P5wF/OZx+g9ewWELdYs8A9Qh8vP/4KX730u2sdI7nngyY7 Ok3a3d9ElvrBOL1iBdqP4JkjgNwrvlPOupqji8Aw/UjraDNEgOr7+Ri/u3oDlkvpxxYdp3 Z1zztckd94N2MKLCPEJDSJBF4iGQoyhuBoA6kTi00uL8sEds6VKV9E6LDg8MIQ== 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 4cmgdL4fwLzBJq; Wed, 15 Oct 2025 06:08:54 +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 59F68sPf023298; Wed, 15 Oct 2025 06:08:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59F68sNU023295; Wed, 15 Oct 2025 06:08:54 GMT (envelope-from git) Date: Wed, 15 Oct 2025 06:08:54 GMT Message-Id: <202510150608.59F68sNU023295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: f6751f1fc5a9 - releng/15.0 - vmimage.subr: Sort METALOG before running makefs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: f6751f1fc5a941a787503d6faf63a8bbd4403653 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f6751f1fc5a941a787503d6faf63a8bbd4403653 commit f6751f1fc5a941a787503d6faf63a8bbd4403653 Author: Colin Percival AuthorDate: 2025-10-12 04:32:29 +0000 Commit: Colin Percival CommitDate: 2025-10-15 06:08:12 +0000 vmimage.subr: Sort METALOG before running makefs When creating VM images from pkgbase, the METALOG may not be in order; in particular, files may be listed before the directories which contain them. This causes makefs to create directories with 000 permissions. Interestingly, such VM images boot just fine, since root ignores those permissions; the first sign of trouble was sshd refusing logins with an error message which said absolutely nothing about /etc/ having incorrect permissions or being unable to read files inside it. Immediately prior to running makefs, sort the METALOG file. While we're here, uniquify as well; this does not guarantee that we do not have duplicate paths, but if there are duplicate paths with different settings something else has gone wrong and we don't really have any good way of solving the problem anyway. Approved by: re (cperciva) Reviewed by: ivy Hint from: imp MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D53046 (cherry picked from commit 0cc81b375ea43c7e853b109d00c72c8c3b3df993) (cherry picked from commit ad2ca1c5c17935d8601b3ee48f705e1e5ede57bc) --- release/tools/vmimage.subr | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 15c4dd53e70b..c3c917dcd642 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -290,6 +290,11 @@ buildfs() { cat ${DESTDIR}/METALOG.pkg >> ${DESTDIR}/METALOG fi + # Sort METALOG file; makefs produces directories with 000 permissions + # if their contents are seen before the directories themselves. + env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted + mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + case "${VMFS}" in ufs) cd ${DESTDIR} && ${MAKEFS} ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \ From nobody Wed Oct 15 12:59:02 2025 X-Original-To: dev-commits-src-branches@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 4cmrkZ3jYvz6CLll; Wed, 15 Oct 2025 12:59:02 +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 4cmrkZ32m1z3CKt; Wed, 15 Oct 2025 12:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760533142; 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=yHDs7fPSkNImwmvlnqO8PKrPhLpBZ8vvChhboUWH3Ew=; b=oL71lUiQajwlTZ7+WUIZ/7FDDOmtfYE//FzBlaE5At5x1XtwwexOil6th+YUYWxxA1Mruw 4fRnv/Hp88k3FK8FOfr7r0+kADO8iDXl+9s1oM8XB6p31tP2es3Dme1zc04juREIdvj+Ac ULmzLsudR9ytD9ZFCYmHXKA5Xk81YJIjLFnzmqF/y2Pxs+NRax2+IcNcQjQOzHBzRegVpx C7KMs8OD7ZazLTRf0QllRuxr+UU18W/Tp77bSwPz2X2mUHTfbZeFBQK8/vpTadlyl17goP d6YW3PtLpBWDeHLHw5ZXMI58FvRTG4OBA2r/oaBGcnRFCXe7pXjw0kUN9v6m7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760533142; 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=yHDs7fPSkNImwmvlnqO8PKrPhLpBZ8vvChhboUWH3Ew=; b=FP+kBDmajhqEVsER5ZNqvgHV2uDjdEHhOdciz9k9auvy5VhNCXH5cFYx1l0k9uk8F6RHpm 7eTAX6Z3OuC7oloFQWDUMJksFZVJoc/z/ZIqXF80ZuxEjrX85rahIwL4p2jZe0I6/QYYKv b9Y7N+9WFPlFJ2EHiXyP+xCeMw410BDshEIvRktDSij97+c3s9FsrwMLIry/Jgt4lMnCFm R+XyfRGs5dqJNuzxM/OTz7SjnpFjZmyVyPkzHEmeEemsM74BXSORz/dXxaAeb90i21+LvV SYLWdZ+Tc0veRKP/38ZXp48WsLL+6t+R3NhOPzG5mbCQ2oqjIoGZSLc/AiggZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760533142; a=rsa-sha256; cv=none; b=yIrBvyUZMuEoQRTGX7sMXoqQM8/LiZ2uzxnY4mdRQEvcCkZCInN0UjrfwxYpsJfkF1nQOx Des9ZDtyNfJ1/jICyByfnTbluFuZVFC3Sz95DkHdBcD4LBreHuSLlSruRzL3T8wOv7gg39 R4g4Ey/x8qF+n++eaqZybZ+dIclk8FcmLpToBZoIf050zRY0VlCb9cZ6AaYErCl7WAsTjl JGBv9G+EvFbcUMbbCg57uKcIqtL9P/wK/F5/l8lVh43whGePFzR7RHmx70+SnfwZAclynU +hcmRDMVXwI6ZU94LfkFDYlS7PTOWezPlLRicrYM0fXLEeEPd39rbbOIHjFELQ== 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 4cmrkZ2YK5zgKj; Wed, 15 Oct 2025 12:59:02 +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 59FCx2ig094716; Wed, 15 Oct 2025 12:59:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FCx2jv094713; Wed, 15 Oct 2025 12:59:02 GMT (envelope-from git) Date: Wed, 15 Oct 2025 12:59:02 GMT Message-Id: <202510151259.59FCx2jv094713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: f1b0e00d56a8 - stable/15 - packages: Rename unbound to local-unbound List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f1b0e00d56a8b01be86ff41a05cb6916727cee8a Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=f1b0e00d56a8b01be86ff41a05cb6916727cee8a commit f1b0e00d56a8b01be86ff41a05cb6916727cee8a Author: Lexi Winter AuthorDate: 2025-10-15 11:00:35 +0000 Commit: Lexi Winter CommitDate: 2025-10-15 12:55:50 +0000 packages: Rename unbound to local-unbound This more accurately reflects its purpose, and its contents, since everything in the package is prefixed with "local-". While here, add a message on upgrade about regenerating the config. MFC after: 3 seconds Requested by: des Reviewed by: des Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53056 (cherry picked from commit bf84861460f9287fe9cf66b2cd22fefe8e242a28) --- UPDATING | 8 +++++++ etc/Makefile | 2 +- etc/mtree/BSD.var.dist | 4 ++-- lib/libunbound/Makefile | 6 ++--- libexec/rc/rc.d/Makefile | 2 +- .../ucl/{unbound-all.ucl => local-unbound-all.ucl} | 0 release/packages/ucl/local-unbound.ucl | 27 ++++++++++++++++++++++ usr.sbin/unbound/Makefile.inc | 2 +- 8 files changed, 43 insertions(+), 8 deletions(-) diff --git a/UPDATING b/UPDATING index 26c2355de1ac..6310ef5828c1 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,14 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20251015: + The "FreeBSD-unbound" package is renamed to "FreeBSD-local-unbound". + If you have set-optional or set-base installed, the new package will + be installed automatically, otherwise you should manually install the + new package and remove the old one. + + This change only affects pkgbase users. + 20251001: The deprecated ftpd(8) has been removed. Users who still need ftpd can install the ftp/freebsd-ftpd port. pkgbase users should remove diff --git a/etc/Makefile b/etc/Makefile index 93d4b489ec7d..bda70b8af391 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -68,7 +68,7 @@ distribution: # install the /etc/unbound symlink, otherwise, don't overwrite the user's # existing symlink. if [ "${NO_ROOT:Dtrue}" = true -o ! -e ${DESTDIR}/etc/unbound ]; then \ - ${INSTALL_SYMLINK} -Tpackage=unbound ../var/unbound \ + ${INSTALL_SYMLINK} -Tpackage=local-unbound ../var/unbound \ ${DESTDIR}/etc/unbound; \ fi .endif diff --git a/etc/mtree/BSD.var.dist b/etc/mtree/BSD.var.dist index b3372196f5f9..b55c0150848e 100644 --- a/etc/mtree/BSD.var.dist +++ b/etc/mtree/BSD.var.dist @@ -104,8 +104,8 @@ vi.recover mode=01777 .. .. - unbound uname=unbound gname=unbound mode=0755 tags=package=unbound - conf.d uname=unbound gname=unbound mode=0755 tags=package=unbound + unbound uname=unbound gname=unbound mode=0755 tags=package=local-unbound + conf.d uname=unbound gname=unbound mode=0755 tags=package=local-unbound .. .. yp diff --git a/lib/libunbound/Makefile b/lib/libunbound/Makefile index e2cd25ea8b34..1a31e50e6416 100644 --- a/lib/libunbound/Makefile +++ b/lib/libunbound/Makefile @@ -1,4 +1,3 @@ -PACKAGE=lib${LIB} # Vendor sources and generated files LDNSDIR= ${SRCTOP}/contrib/ldns UNBOUNDDIR= ${SRCTOP}/contrib/unbound @@ -6,9 +5,10 @@ UNBOUNDDIR= ${SRCTOP}/contrib/unbound # Hold my beer and watch this .PATH: ${UNBOUNDDIR} ${UNBOUNDDIR}/cachedb ${UNBOUNDDIR}/dns64 ${UNBOUNDDIR}/iterator ${UNBOUNDDIR}/sldns ${UNBOUNDDIR}/libunbound ${UNBOUNDDIR}/services ${UNBOUNDDIR}/services/cache ${UNBOUNDDIR}/util ${UNBOUNDDIR}/util/data ${UNBOUNDDIR}/respip ${UNBOUNDDIR}/util/storage ${UNBOUNDDIR}/validator -LIB= unbound +PACKAGE= local-unbound + +LIB= unbound PRIVATELIB= -PACKAGE= unbound CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} -I${.CURDIR} CFLAGS+= -DOPENSSL_API_COMPAT=0x10100000L diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 093da31ed787..3b7f45e8f101 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -294,7 +294,7 @@ SSHPACKAGE= ssh SSH= sshd CONFGROUPS.${MK_UNBOUND}+= UNBOUND -UNBOUNDPACKAGE= unbound +UNBOUNDPACKAGE= local-unbound UNBOUND= local_unbound CONFGROUPS.${MK_VI}+= VI diff --git a/release/packages/ucl/unbound-all.ucl b/release/packages/ucl/local-unbound-all.ucl similarity index 100% rename from release/packages/ucl/unbound-all.ucl rename to release/packages/ucl/local-unbound-all.ucl diff --git a/release/packages/ucl/local-unbound.ucl b/release/packages/ucl/local-unbound.ucl new file mode 100644 index 000000000000..0f1c77a0d0ee --- /dev/null +++ b/release/packages/ucl/local-unbound.ucl @@ -0,0 +1,27 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +messages = [ + { + type: upgrade + message: < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 9dab0e61a921 - stable/15 - ncurses: Add an ncurses-lib package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9dab0e61a921b5f3c4db2e0e2b440aeb6a803e42 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=9dab0e61a921b5f3c4db2e0e2b440aeb6a803e42 commit 9dab0e61a921b5f3c4db2e0e2b440aeb6a803e42 Author: Lexi Winter AuthorDate: 2025-10-15 12:28:43 +0000 Commit: Lexi Winter CommitDate: 2025-10-15 12:56:08 +0000 ncurses: Add an ncurses-lib package Set LIB_PACKAGE= in lib/ncurses/Makefile.inc so the ncurses libraries go into the ncurses-lib subpackage rather than the base package. This means applications that depend on ncurses can be installed without needing to install the various utilities and manpages. This removes a dependency from runtime to ncurses (it now depends on ncurses-lib instead). MFC after: 3 seconds Reviewed by: kevans Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53060 (cherry picked from commit bde703e8b6ab3acc73bbb20f1ebe26221f33e9f1) --- lib/ncurses/Makefile.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ncurses/Makefile.inc b/lib/ncurses/Makefile.inc index eea49908474c..e14867696834 100644 --- a/lib/ncurses/Makefile.inc +++ b/lib/ncurses/Makefile.inc @@ -1,6 +1,7 @@ # This is to include src/lib/Makefile.inc PACKAGE?= ncurses +LIB_PACKAGE= WARNS?= 3 .include "../Makefile.inc" From nobody Wed Oct 15 13:26:08 2025 X-Original-To: dev-commits-src-branches@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 4cmsKr4Svbz6CNqY; Wed, 15 Oct 2025 13:26:08 +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 4cmsKr3tkVz3K6m; Wed, 15 Oct 2025 13:26:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534768; 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=V0p1uheLuj0MO5xqLpu9Q0/10xQF2AJHGv/2iTjfplE=; b=mPTXgxJ4gZ0vzg+Ba29a4GH6WSHnB2vVU+QBD7e7MvOV0v5UPzZOCvn7mEafRY+Sf5zW6N kz9CuUYB/Yx6PfqZniKDy8Cl50x5ykkM/coR4uZ41KRAEoWY5duFPwC/kPNBv0AazO0HEq /KHrBpg+l34ke1xhPDI5l5ErI7jWatMXZLByeVwsi8yrXeC/BB3i9+yLeY/j90aY05esnK 8BLE8HEoPSPgJPeG+rO3gMN9TiSF+H50X7gVqeehRRCHtdMHtA4a+9VR+GahAeruUiEE1i ljmDiNLgxttKZcxMFc4xIYNxHROuBiLHm6RH/TasPp0hpQEIrvcdlvtwh6SjYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534768; 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=V0p1uheLuj0MO5xqLpu9Q0/10xQF2AJHGv/2iTjfplE=; b=DZJAMxGgPszJ3kxCgdU7MAmezeZt+wCBwJCyaFc5kcki5B8lt5yF5XUIpQHKJlCiLhd5ah Nje5X2KpZFILA0xSJ+AZ3avyBmCuWBBWZnEjQRho2lqxKopp2JDHrtk6URxrYXM9GSHo7Q qAudW24U8a3LcrLicoGFjJfMNarDesTCYZIefy5YWzeMBJceO4cmNubPMid3GgWtE4DeR5 RowFKMVSczJcKOHk0Cs86cictibRDocmHTm3N91ExiVRM/zTcKTJuPNxaWqIvcoYgW2GH8 U2lm1WsmHHkkXaISLdBscy3UYp2M3YvqL7wXmwOBrsfIZWggYXbO6BW/tAs/jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534768; a=rsa-sha256; cv=none; b=GPhDnqPCHRF+/PxdkBLUO9uOOwBDQhLnV/J4B8C53XAAzaqguEX99Q1SPlyE3w2UWinIcY sdYSNTWTItZWjRmV8EOnP4tbPOzbmSDN7xxpCUconQnJY8bFESlQOS5G+fdx3Rvyq4YbHy T9NOCqlfzWgkYmlgz+VSVW7wlaH5uU2ETYc0AJzGONiBjsL1s2QwerGgSPD6+oz0cpbgAo 8o1k3+wuOCd7ESASYDV+9sU0Bem4qC9qJr63DZQ1bzGyblS+p/H8KUqdaAqdbSKd0bYIWu /WONpA9Tx3VOwz9g5twwg2FNSRkrhVU6CYPtsmn0gRRhQjEvFT3fyXBQqAfD+A== 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 4cmsKr3147zgk8; Wed, 15 Oct 2025 13:26:08 +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 59FDQ8mJ050691; Wed, 15 Oct 2025 13:26:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQ8t7050688; Wed, 15 Oct 2025 13:26:08 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:08 GMT Message-Id: <202510151326.59FDQ8t7050688@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c3005b65b2c1 - stable/14 - pw: pw_mkdb(3) does not set errno List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: c3005b65b2c14ed082bf2d558990c7346bc82b5a Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c3005b65b2c14ed082bf2d558990c7346bc82b5a commit c3005b65b2c14ed082bf2d558990c7346bc82b5a Author: Mark Johnston AuthorDate: 2025-10-08 12:47:15 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:24:45 +0000 pw: pw_mkdb(3) does not set errno MFC after: 1 week Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. (cherry picked from commit b464c7a75e30e6149906458075b7eaf0841c7222) --- usr.sbin/pw/pwupd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/pw/pwupd.c b/usr.sbin/pw/pwupd.c index 89c1553c8c92..845a607ab1cb 100644 --- a/usr.sbin/pw/pwupd.c +++ b/usr.sbin/pw/pwupd.c @@ -119,7 +119,7 @@ pw_update(struct passwd * pwd, char const * user) */ if (pw_mkdb(pw != NULL ? pw->pw_name : NULL) == -1) { pw_fini(); - err(1, "pw_mkdb()"); + errx(1, "pw_mkdb()"); } free(pw); pw_fini(); From nobody Wed Oct 15 13:26:09 2025 X-Original-To: dev-commits-src-branches@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 4cmsKs4Q13z6CNyf; Wed, 15 Oct 2025 13:26:09 +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 4cmsKs3tgMz3KCd; Wed, 15 Oct 2025 13:26:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534769; 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=2Qgalozvp/ctmhiFXNtG1wvCMwTMzVb/KA0+EsFraAI=; b=uQzCkJSTaF/e1eUN7PKKVRpQ26BXRU2/1Klv8Ew00FCVlZRUeh5mhJqiufMi4/lLROu/rY +F3q7DySTQhwxGE6rjXeeb9lyK4qs5yUBE9kDzXdM5TkWzssPEl/DIMrMtresFqy4Jxurq /G91Yrz89QSfRmt4YvVBcMbL8qzBaAosK+S3E5uMB322lY1L027toZcstg/kaizrk/EbYU JWU0I4rxg56EVttBHLNbLay2O6S7momDjVfIs1HVddfM64kqTrCfh6M3VzI2WPRYJE+nSA dx7lpQcneIr2J82UhQdxmnjequCscx/19l1kkIM6Yx8anLxZ5osERI0gmRKm6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534769; 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=2Qgalozvp/ctmhiFXNtG1wvCMwTMzVb/KA0+EsFraAI=; b=IxacvaqsY9AUkKOp36hpeZID5YTe3B9+l7WjlASBI6ve2myRRWPe6YO3hBIn7TCPUeW7mW JFZ9Ca63Nrfzec/MdDctrNPMISE8SUtfVqGoQLJosmxbViVZySSqS5ZlxKh3r2xSc2GOdU UGRGOwlOwNqmE/WIEH9qR+uJetSff6lUpvKfH8GipUSeq/hc68xSwld3X+TFohSa4NYGlg CC9gpzNcyBhdWbb+mAdvSQW1XKMlxgWhgq7fROGwk5Qo7HSBobcOLKb2ANMzm6JBtIfxpd MfamcKKoAYMRpRMqRk2ycuVd5Ad/OD01g/VgRZyNoGrLxWAfcKQt16umt2JuCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534769; a=rsa-sha256; cv=none; b=fvPB1CXvNiwvnzruqTXa7JrHqgD0wtH2dEIanR24LtJPD2TIhpoyJhAvIK8goj2oZ6Fmp/ 6xGKy4G0E+CsySpS0svmB04OFTykooeZOrcZmx93yZeYTdFsp0kJuG+pBWCqJhTxwLvoXx iW0mTe6jviKz41jM3Vv14m25WsF7Bw//D65e7HoGVE18CY8Dk5P/Mr+VRx7968FVipKGjY wXob6Dd+awmJ+bs/k2YQh1j/0roIZEYYu4Luwsd5srzCxEtX3TOeLCdEWK+taLkakjcLBK QvP4DSEY49spENDIybMQiBy+I2UL7AjJoH1PwzVps1sppHQgQlS+8AdOC01DzA== 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 4cmsKs3R79zgdc; Wed, 15 Oct 2025 13:26:09 +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 59FDQ9Sn050723; Wed, 15 Oct 2025 13:26:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQ91h050720; Wed, 15 Oct 2025 13:26:09 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:09 GMT Message-Id: <202510151326.59FDQ91h050720@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: af51f41346ad - stable/14 - qat: enable qat driver for 402xx device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: af51f41346ad885e1ffe0d14b325c88cc65ac0cc Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=af51f41346ad885e1ffe0d14b325c88cc65ac0cc commit af51f41346ad885e1ffe0d14b325c88cc65ac0cc Author: Hareshx Sankar Raj AuthorDate: 2025-09-04 18:21:36 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:25:11 +0000 qat: enable qat driver for 402xx device Enabled qat driver support for 402xx device with ID 0x4944/0x4945. This is an additional device supported under the existing qat_4xxx driver. Firmwares specific to the 402xx device are added. Signed-off-by: Hareshx Sankar Raj Relnotes: yes Sponsored by: Intel Corporation MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52488 (cherry picked from commit 7fbd362c091b2b384d14c3ed5af9234bb2eff9c2) --- sys/contrib/dev/qat/qat_402xx.bin | Bin 0 -> 665360 bytes sys/contrib/dev/qat/qat_402xx_mmp.bin | Bin 0 -> 150084 bytes sys/dev/qat/include/common/adf_accel_devices.h | 4 ++ sys/dev/qat/qat_api/include/icp_sal_versions.h | 2 +- sys/dev/qat/qat_common/qat_uclo.c | 1 + sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c | 58 +++++++++++++++++++------ sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h | 6 +++ sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c | 15 ++++--- sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c | 15 ++++--- sys/modules/qatfw/qat_4xxx/Makefile | 5 ++- 10 files changed, 78 insertions(+), 28 deletions(-) diff --git a/sys/contrib/dev/qat/qat_402xx.bin b/sys/contrib/dev/qat/qat_402xx.bin new file mode 100644 index 000000000000..74151547edce Binary files /dev/null and b/sys/contrib/dev/qat/qat_402xx.bin differ diff --git a/sys/contrib/dev/qat/qat_402xx_mmp.bin b/sys/contrib/dev/qat/qat_402xx_mmp.bin new file mode 100644 index 000000000000..6404eb009d2f Binary files /dev/null and b/sys/contrib/dev/qat/qat_402xx_mmp.bin differ diff --git a/sys/dev/qat/include/common/adf_accel_devices.h b/sys/dev/qat/include/common/adf_accel_devices.h index c09aee8ea4bd..eeffc6a9132c 100644 --- a/sys/dev/qat/include/common/adf_accel_devices.h +++ b/sys/dev/qat/include/common/adf_accel_devices.h @@ -39,12 +39,16 @@ #define ADF_4XXXIOV_PCI_DEVICE_ID 0x4941 #define ADF_401XX_PCI_DEVICE_ID 0x4942 #define ADF_401XXIOV_PCI_DEVICE_ID 0x4943 +#define ADF_402XX_PCI_DEVICE_ID 0x4944 +#define ADF_402XXIOV_PCI_DEVICE_ID 0x4945 #define IS_QAT_GEN3(ID) ({ (ID == ADF_C4XXX_PCI_DEVICE_ID); }) static inline bool IS_QAT_GEN4(const unsigned int id) { return (id == ADF_4XXX_PCI_DEVICE_ID || id == ADF_401XX_PCI_DEVICE_ID || + id == ADF_402XX_PCI_DEVICE_ID || + id == ADF_402XXIOV_PCI_DEVICE_ID || id == ADF_4XXXIOV_PCI_DEVICE_ID || id == ADF_401XXIOV_PCI_DEVICE_ID); } diff --git a/sys/dev/qat/qat_api/include/icp_sal_versions.h b/sys/dev/qat/qat_api/include/icp_sal_versions.h index 03bcef4fcbbb..0eb227ade09c 100644 --- a/sys/dev/qat/qat_api/include/icp_sal_versions.h +++ b/sys/dev/qat/qat_api/include/icp_sal_versions.h @@ -26,7 +26,7 @@ /* Part name and number of the accelerator device */ #define SAL_INFO2_DRIVER_SW_VERSION_MAJ_NUMBER 3 -#define SAL_INFO2_DRIVER_SW_VERSION_MIN_NUMBER 15 +#define SAL_INFO2_DRIVER_SW_VERSION_MIN_NUMBER 16 #define SAL_INFO2_DRIVER_SW_VERSION_PATCH_NUMBER 0 /** diff --git a/sys/dev/qat/qat_common/qat_uclo.c b/sys/dev/qat/qat_common/qat_uclo.c index 54e8e8eb7421..b17020286d24 100644 --- a/sys/dev/qat/qat_common/qat_uclo.c +++ b/sys/dev/qat/qat_common/qat_uclo.c @@ -892,6 +892,7 @@ qat_uclo_get_dev_type(struct icp_qat_fw_loader_handle *handle) return ICP_QAT_AC_C4XXX_DEV_TYPE; case ADF_4XXX_PCI_DEVICE_ID: case ADF_401XX_PCI_DEVICE_ID: + case ADF_402XX_PCI_DEVICE_ID: return ICP_QAT_AC_4XXX_A_DEV_TYPE; default: pr_err("QAT: unsupported device 0x%x\n", diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c index d730efd5952b..49e1e1859e78 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c @@ -536,8 +536,8 @@ adf_exit_accel_units(struct adf_accel_dev *accel_dev) } static const char * -get_obj_name(struct adf_accel_dev *accel_dev, - enum adf_accel_unit_services service) +get_obj_name_4xxx(struct adf_accel_dev *accel_dev, + enum adf_accel_unit_services service) { switch (service) { case ADF_ACCEL_ASYM: @@ -553,6 +553,24 @@ get_obj_name(struct adf_accel_dev *accel_dev, } } +static const char * +get_obj_name_402xx(struct adf_accel_dev *accel_dev, + enum adf_accel_unit_services service) +{ + switch (service) { + case ADF_ACCEL_ASYM: + return ADF_402XX_ASYM_OBJ; + case ADF_ACCEL_CRYPTO: + return ADF_402XX_SYM_OBJ; + case ADF_ACCEL_COMPRESSION: + return ADF_402XX_DC_OBJ; + case ADF_ACCEL_ADMIN: + return ADF_402XX_ADMIN_OBJ; + default: + return NULL; + } +} + static uint32_t get_objs_num(struct adf_accel_dev *accel_dev) { @@ -982,8 +1000,23 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->clock_frequency = ADF_4XXX_AE_FREQ; hw_data->get_sku = get_sku; hw_data->heartbeat_ctr_num = ADF_NUM_HB_CNT_PER_AE; - hw_data->fw_name = ADF_4XXX_FW; - hw_data->fw_mmp_name = ADF_4XXX_MMP; + switch (id) { + case ADF_402XX_PCI_DEVICE_ID: + hw_data->fw_name = ADF_402XX_FW; + hw_data->fw_mmp_name = ADF_402XX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; + break; + case ADF_401XX_PCI_DEVICE_ID: + hw_data->fw_name = ADF_4XXX_FW; + hw_data->fw_mmp_name = ADF_4XXX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_401XX_ASYM_AE_MASK; + break; + + default: + hw_data->fw_name = ADF_4XXX_FW; + hw_data->fw_mmp_name = ADF_4XXX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; + } hw_data->init_admin_comms = adf_init_admin_comms; hw_data->exit_admin_comms = adf_exit_admin_comms; hw_data->send_admin_init = adf_4xxx_send_admin_init; @@ -1002,7 +1035,13 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->get_ring_svc_map_data = get_ring_svc_map_data; hw_data->admin_ae_mask = ADF_4XXX_ADMIN_AE_MASK; hw_data->get_objs_num = get_objs_num; - hw_data->get_obj_name = get_obj_name; + switch (id) { + case ADF_402XX_PCI_DEVICE_ID: + hw_data->get_obj_name = get_obj_name_402xx; + break; + default: + hw_data->get_obj_name = get_obj_name_4xxx; + } hw_data->get_obj_cfg_ae_mask = get_obj_cfg_ae_mask; hw_data->get_service_type = adf_4xxx_get_service_type; hw_data->set_msix_rttable = set_msix_default_rttable; @@ -1022,15 +1061,6 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->query_storage_cap = 1; hw_data->ring_pair_reset = adf_gen4_ring_pair_reset; - switch (id) { - case ADF_401XX_PCI_DEVICE_ID: - hw_data->asym_ae_active_thd_mask = DEFAULT_401XX_ASYM_AE_MASK; - break; - case ADF_4XXX_PCI_DEVICE_ID: - default: - hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; - } - adf_gen4_init_hw_csr_info(&hw_data->csr_info); adf_gen4_init_pf_pfvf_ops(&hw_data->csr_info.pfvf_ops); } diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h index c35ebbcadcd7..fa7249dca596 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h @@ -87,6 +87,12 @@ #define ADF_4XXX_SYM_OBJ "qat_4xxx_sym.bin" #define ADF_4XXX_ASYM_OBJ "qat_4xxx_asym.bin" #define ADF_4XXX_ADMIN_OBJ "qat_4xxx_admin.bin" +#define ADF_402XX_FW "qat_402xx_fw" +#define ADF_402XX_MMP "qat_402xx_mmp_fw" +#define ADF_402XX_DC_OBJ "qat_402xx_dc.bin" +#define ADF_402XX_SYM_OBJ "qat_402xx_sym.bin" +#define ADF_402XX_ASYM_OBJ "qat_402xx_asym.bin" +#define ADF_402XX_ADMIN_OBJ "qat_402xx_admin.bin" /* Only 3 types of images can be loaded including the admin image */ #define ADF_4XXX_MAX_OBJ 3 diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c index cb534dd03b86..f9ad39fa45f0 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c @@ -22,12 +22,14 @@ static MALLOC_DEFINE(M_QAT_4XXX, "qat_4xxx", "qat_4xxx"); PCI_VENDOR_ID_INTEL, device_id \ } -static const struct pci_device_id adf_pci_tbl[] = - { ADF_SYSTEM_DEVICE(ADF_4XXX_PCI_DEVICE_ID), - ADF_SYSTEM_DEVICE(ADF_401XX_PCI_DEVICE_ID), - { - 0, - } }; +static const struct pci_device_id adf_pci_tbl[] = { + ADF_SYSTEM_DEVICE(ADF_4XXX_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_401XX_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_402XX_PCI_DEVICE_ID), + { + 0, + } +}; static int adf_probe(device_t dev) @@ -135,6 +137,7 @@ adf_cleanup_accel(struct adf_accel_dev *accel_dev) switch (pci_get_device(accel_pci_dev->pci_dev)) { case ADF_4XXX_PCI_DEVICE_ID: case ADF_401XX_PCI_DEVICE_ID: + case ADF_402XX_PCI_DEVICE_ID: adf_clean_hw_data_4xxx(accel_dev->hw_device); break; default: diff --git a/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c b/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c index 2bbccb4d6b17..dbe40835ccbf 100644 --- a/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c +++ b/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c @@ -22,12 +22,14 @@ static MALLOC_DEFINE(M_QAT_4XXXVF, "qat_4xxxvf", "qat_4xxxvf"); PCI_VENDOR_ID_INTEL, device_id \ } -static const struct pci_device_id adf_pci_tbl[] = - { ADF_SYSTEM_DEVICE(ADF_4XXXIOV_PCI_DEVICE_ID), - ADF_SYSTEM_DEVICE(ADF_401XXIOV_PCI_DEVICE_ID), - { - 0, - } }; +static const struct pci_device_id adf_pci_tbl[] = { + ADF_SYSTEM_DEVICE(ADF_4XXXIOV_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_401XXIOV_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_402XXIOV_PCI_DEVICE_ID), + { + 0, + } +}; static int adf_probe(device_t dev) @@ -76,6 +78,7 @@ adf_cleanup_accel(struct adf_accel_dev *accel_dev) switch (pci_get_device(accel_pci_dev->pci_dev)) { case ADF_4XXXIOV_PCI_DEVICE_ID: case ADF_401XXIOV_PCI_DEVICE_ID: + case ADF_402XXIOV_PCI_DEVICE_ID: adf_clean_hw_data_4xxxiov(accel_dev->hw_device); break; default: diff --git a/sys/modules/qatfw/qat_4xxx/Makefile b/sys/modules/qatfw/qat_4xxx/Makefile index fb7171bcaf45..f6f19d6cbe32 100644 --- a/sys/modules/qatfw/qat_4xxx/Makefile +++ b/sys/modules/qatfw/qat_4xxx/Makefile @@ -4,6 +4,9 @@ KMOD= qat_4xxx_fw -FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 +FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 \ + qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 \ + qat_402xx.bin:qat_402xx_fw:111 \ + qat_402xx_mmp.bin:qat_402xx_mmp_fw:111 .include From nobody Wed Oct 15 13:26:10 2025 X-Original-To: dev-commits-src-branches@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 4cmsKv0N0Lz6CNwN; Wed, 15 Oct 2025 13:26:11 +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 4cmsKt5Vqhz3K9g; Wed, 15 Oct 2025 13:26:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534770; 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=3WlZ/3hghYAZ1TRK/+yOKEu9RySNNV/kyEwUAicytNg=; b=XVnQSrPzBLX42Ij10PCsOSRAEjjelY1EF7D4xgj6hooK+Dud9yph0Oo9b2aLgjGmldb57x 8gmo2UfQQbIhImrDgVdgRoh7gFOCfcUidwk7T8VK64j+AV5RwhVsMhaBenFNHO8sFPV7pE xYV6kfrPqHfw6/0oTPT5WPK2Qg7XUinoPxzgd7kq3lhv07N4saWOOca2rSPayNAYZVL0ru VxgSVV3YL7Df0Hkqe7p2Rv2mvNUlCti/y0T1HuBeobw+4S7oIBN0cHPHzMKUl2CoLMW5x9 Sry/drYibiCs22xzlwFLQrWoIHhzYR6H01BgCSClxQllPXQry1PqxV3dGUHB0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534770; 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=3WlZ/3hghYAZ1TRK/+yOKEu9RySNNV/kyEwUAicytNg=; b=mQCdOYKMjk8KPSUrZYu+vnCNekQoMIdP4GMp6pwzEgD9SyWNfKrlxsu/A7MATlUXXkgfvr T3FhagMK0s9oS6Je4bJggrcq5n3/3CsppjfJv8FpXstSc9IFFugkwKyMY42PdoaoTJkI2b gBstU6KHilKGH4GNEyJTF9p7Kq1aRUKAMNof0heyoc2fL/CZc7WYffaG+SG5GUJ/jPr3va ho1C7FFKuDcI9vTxZzOqgSdUmyHsC+GAe+bCVJxVQ+DXFLsfstJ5UelI9Byx1mGQCeU8qy lP7luaJwzvMK/BTBJ7cDdrLfPlG3iuOnKw40BIDCSooeSlvumjERv8mh24Y2WQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534770; a=rsa-sha256; cv=none; b=ykvUj1UMoAL+hGFCh0qeu6vbLeFbmqN0X6olJHHf9T3uL9WpQiFB9jApttN6xylSYZ9Bop Zvn8GTUbalQgY0nCpczGn83J7dMGF+zsNMkdmsg4gSzi6FlSUp9Ver7g2Fjg2SkGY8MvyE lB20bNvRhXWFR4GVYz0NeqdRvW3Hoznt82hQgbglveKdXN5ekAOFotc4Dhs3R5GlO7VEfS 2VRCg/Y2P/8dqBFR7MWNNFeOljN0MsBLcGCJ/XxtCu69QL3SNaGCBWu1wwww3jUS989Add anATCE5kxA+hvRmLb0jRM2dsY3hOGMzpPuo6OiS8G6rG3362R7oNPqR64dr+WQ== 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 4cmsKt4l4jzgdd; Wed, 15 Oct 2025 13:26:10 +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 59FDQAgE050755; Wed, 15 Oct 2025 13:26:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQA8V050752; Wed, 15 Oct 2025 13:26:10 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:10 GMT Message-Id: <202510151326.59FDQA8V050752@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d2d987b67919 - stable/14 - cryptocheck: Be friendlier when testing software crypto backends List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: d2d987b67919044955d851a5072d1b74131bf39f Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d2d987b67919044955d851a5072d1b74131bf39f commit d2d987b67919044955d851a5072d1b74131bf39f Author: Mark Johnston AuthorDate: 2025-10-08 15:24:12 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:25:18 +0000 cryptocheck: Be friendlier when testing software crypto backends - Fail loudly if we can't change the kern.crypto.allow_soft sysctl. - Add more drivers to the list. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D52490 (cherry picked from commit e63bf6aa523eb9a865b7ce34d01e75a13818b367) --- tools/tools/crypto/cryptocheck.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/tools/crypto/cryptocheck.c b/tools/tools/crypto/cryptocheck.c index 6506671455ac..46a364b0453c 100644 --- a/tools/tools/crypto/cryptocheck.c +++ b/tools/tools/crypto/cryptocheck.c @@ -362,9 +362,11 @@ enable_user_soft(void) size_t cursize = sizeof(curstate); if (sysctlbyname(CRYPT_SOFT_ALLOW, &curstate, &cursize, - &on, sizeof(on)) == 0) { + &on, sizeof(on)) == 0) { if (curstate == 0) atexit(reset_user_soft); + } else { + err(1, "sysctl(%s)", CRYPT_SOFT_ALLOW); } } @@ -373,7 +375,10 @@ crlookup(const char *devname) { struct crypt_find_op find; - if (strncmp(devname, "soft", 4) == 0) { + if (strncmp(devname, "soft", 4) == 0 || + strncmp(devname, "ossl", 4) == 0 || + strncmp(devname, "aesni", 5) == 0 || + strncmp(devname, "armv8crypto", 11) == 0) { enable_user_soft(); return CRYPTO_FLAG_SOFTWARE; } From nobody Wed Oct 15 13:26:37 2025 X-Original-To: dev-commits-src-branches@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 4cmsLP39mJz6CNlQ; Wed, 15 Oct 2025 13:26:37 +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 4cmsLP2WjMz3KmS; Wed, 15 Oct 2025 13:26:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534797; 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=SmgigluXds5tc67JJ9/2IWQc+CPHejpO/NmgEFvr0rQ=; b=nsJuxQB/EXSTeo9ThYF3cDOxyyfymUxEecDUmTFsTaKvxsUlFUI+R3uBpiQEtWQp8VGSRJ 990MK6XHXCpQDlHF34KiWL5sEAGQcz8wu21ACMgs9LgEs9qvJcSNeYD0S6L4LIbKBwhAb0 m4kn2wtVy6Y5HsgII9XUGpAIsF2hiCeTVbgrS4cRJ0dyRjkJ6ErweDMncsnAgd9sl66wtz pVKV5g6N7bwjXCrBa5JbOiJCi6PdjzFyMXIw3Ix4uo6S8G3BZ+AhPYP+eHdKff50R5x1jA GUsGV1CmOdYTAMXRYUiGqrAlieRiqffZ4MG8/AeFr6BfWB3SlpOC7/XNB4nidQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534797; 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=SmgigluXds5tc67JJ9/2IWQc+CPHejpO/NmgEFvr0rQ=; b=spdQS4Vutq9Sibk+ToWj7tJ+vgaMtr8xL6KzVTv8GOtqyY8I7Sfhl35ebi1k9fhkUhNWZm rbLsmQF43gV1q3KOguYCWL26qi4/QbIFH/oDOI05h6+NUsD/GKrGHqT4qrTeRDr75EFtf6 B+T6oM8azcBQUwVg4qZFZdixUspqc0cKH7BQTD/HcsDNQDiotT0znGWsf0C5mnkzwPrxCn wpcB4/HlhagrcQmUiLQLDZCckyBSs0WwpxZYK/PHd+HXu67MlktDyjjCWP5mXCeQ0Nlc9Z zQLZUIh8q/kNJEyZqhRZD7cEm42Uyt2bMJta8nt7EzgA7VhQbkxJJiY/L+kuXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534797; a=rsa-sha256; cv=none; b=j5qc8zJ5R2QZww987XUrcBEoVxoXrfQ13oTS88I865YI4siJZ5YU83iBpKkhXSX9aGWge7 hKNDaZfCzNhWmfQMV23p5mPYo0N7Cqfl055xkaNeq6jfdrZ1YTPFy/HoeQd//HeSulObQA 7KOnNvJ4Ox9CtHFgrOY2+Bs3t9CCdVEIcB2Mvr+hKd9669ZuT3c4/zvXWdhWQdK2G6uKnJ CjunHIUJTul3w7oN7nfKrlTkwu9+7dakg4F3eKuqVi9d7Uk81E2Vh18odbZmci6E17A3vB NAsctqiWei3Mlx77GvBaI6G8P08+5llB7+5awNNzxJq3yGMOiormNoFS5Ve/mg== 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 4cmsLP1z9Kzh8m; Wed, 15 Oct 2025 13:26:37 +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 59FDQbVA051017; Wed, 15 Oct 2025 13:26:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQbws051014; Wed, 15 Oct 2025 13:26:37 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:37 GMT Message-Id: <202510151326.59FDQbws051014@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 8e957b78e684 - stable/15 - rc: Update dependencies for zpool scripts List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 8e957b78e6846c57e70d9c302c027fa02f13bb14 Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8e957b78e6846c57e70d9c302c027fa02f13bb14 commit 8e957b78e6846c57e70d9c302c027fa02f13bb14 Author: Mark Johnston AuthorDate: 2025-10-08 12:50:54 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:03 +0000 rc: Update dependencies for zpool scripts After commit 900bc0206348, zpool depends on mountcritlocal. zpoolreguid and zpoolupgrade depend on zpool and want to run before mountcritcycle, so we have a pair of cycles. Update zpoolreguid and zpoolupgrade to avoid this. Reviewed by: des MFC after: 3 days Fixes: 900bc0206348 ("rc.d/zpool: change mountcritlocal dep from BEFORE to REQUIRE") Differential Revision: https://reviews.freebsd.org/D52953 (cherry picked from commit ae6db60ff56de5b93de9f6fee6116cbc2d4b498e) --- libexec/rc/rc.d/zpoolreguid | 2 +- libexec/rc/rc.d/zpoolupgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.d/zpoolreguid b/libexec/rc/rc.d/zpoolreguid index f94630d9283f..c19f52d3d702 100755 --- a/libexec/rc/rc.d/zpoolreguid +++ b/libexec/rc/rc.d/zpoolreguid @@ -2,7 +2,7 @@ # PROVIDE: zpoolreguid # REQUIRE: zpool -# BEFORE: mountcritlocal +# BEFORE: FILESYSTEMS # KEYWORD: firstboot nojail . /etc/rc.subr diff --git a/libexec/rc/rc.d/zpoolupgrade b/libexec/rc/rc.d/zpoolupgrade index 1435cba7199c..5e623a9c2bf0 100755 --- a/libexec/rc/rc.d/zpoolupgrade +++ b/libexec/rc/rc.d/zpoolupgrade @@ -2,7 +2,7 @@ # PROVIDE: zpoolupgrade # REQUIRE: zpool -# BEFORE: mountcritlocal +# BEFORE: FILESYSTEMS # KEYWORD: firstboot nojail . /etc/rc.subr From nobody Wed Oct 15 13:26:38 2025 X-Original-To: dev-commits-src-branches@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 4cmsLQ5klcz6CP2y; Wed, 15 Oct 2025 13:26:38 +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 4cmsLQ3H9Nz3Kts; Wed, 15 Oct 2025 13:26:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534798; 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=CLd7LXPB4R/80CycyhsHbJ7YUSfp6FKm6M5m21Y/elY=; b=ky5H4a9tAvSOfqDi1DLwGXHXVreV+bioK3bumIC8T9phqoXoFPSZsjjwQ6IqO0KxMWdnd8 x2L5g4xdFNbTPyU42yp9dZiJkzTBgO9vqpjV+jwrgWBk+yxicrCgGPR5SJaOgitdJ0WiZp sFONBwkYApBQTxw47emCZlr7PEaHXN8MLnbNTZRZwWF4lg2RMHQ9aqEXjTjZqU52CahqGz wxPoS89LX6Fw0XGN25E7f6/uZmsKxGWhOly+BZkUoZqBK0l3IBd/scjjhTrqmpXZ/1Kv7b hioAlnLk5b0vYVb1LVVeKmq9Ws4OiXnhTLCL5R0l/fwC70L9j5tF00vCnYCHww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534798; 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=CLd7LXPB4R/80CycyhsHbJ7YUSfp6FKm6M5m21Y/elY=; b=Es+hhjagWKUJ5fOXZkKDJM4owaaTQAUs8ZWZ+hXoo9FNm6ZjR8XNBXU097HkDAqmkziTN8 LuS0GnbxCbUiKl80Rrr5e/megic1aATIp7j1FVbeTHtEj03VJxcldf1OnDUWWpeavlU7/r M0ZvRt80bswXGo416hxEanHDkm4m5FEqAX2B7L9TosPOfXEK2CyDPTLulIRQ3lse/6I4QC aJv3p5fYMccs3jxeOaY/0G9aZecppdQONsxjKHMI1MgXpMjNyFltfBYJe2liflGk9BGD9U wKq13vmlQM6wWsWSF/PnG1RDzxNk/fAmm7/Vj4zEnH6oqqb3XsXnbQW53FEqWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534798; a=rsa-sha256; cv=none; b=Xfq65D/flgz0NCPMpvMTBgJKpQIWQpavsfyv1z29ZJIBIYyAqfgLKn+M/E9Rg1NT1rcz+N ywFyjgJtZ+CWGEAHBP6+nCzNQu0jgeBc1w8m2hvy6Yl3eYvzFxcIwRW2rDXBeJb/LrjI36 mmvC0s9lQi/7456LaWrqbcyluHR+fwsodkbZGS2opkRHBA/uvFdvLBO5Oma1qckLTOBswl 3fFIGisUZAQeI1O1NeW79cbEle3Vg7QNTOJXA1OSOH11waw3bAQajUoGg0gw/DbJJ7z98M 50POozsz0JlTWcU9ov9CoSLVmm0GaPvDf4F+MvPFxqZNkHlRZx4fNUC3zPcdqw== 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 4cmsLQ2jlbzg6L; Wed, 15 Oct 2025 13:26:38 +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 59FDQccK051055; Wed, 15 Oct 2025 13:26:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQcLI051051; Wed, 15 Oct 2025 13:26:38 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:38 GMT Message-Id: <202510151326.59FDQcLI051051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: ead69828206e - stable/15 - ossl: Add GCM support on powerpc64/powerpc64le (POWER8+) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: ead69828206e01ee0cc8f9436def1ea76327377e Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ead69828206e01ee0cc8f9436def1ea76327377e commit ead69828206e01ee0cc8f9436def1ea76327377e Author: Timothy Pearson AuthorDate: 2025-09-10 16:54:24 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:03 +0000 ossl: Add GCM support on powerpc64/powerpc64le (POWER8+) Separate ossl's existing AES-NI GCM implementation into a common ossl_aes_gcm.c and add conditionals to switch between OpenSSL's AES-NI and POWER8 GCM routines depending on the architecture. Since the existing AVX-512 implementation is less agnostic, move it into a separate ossl_aes_gcm_avx512.c. Reviewed by: markj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D44274 (cherry picked from commit 5daf8ed625af70ebb7e4740ab98a6054e9e52329) --- sys/conf/files.amd64 | 3 +- sys/conf/files.arm | 2 +- sys/conf/files.powerpc | 3 + sys/crypto/openssl/amd64/ossl_aes_gcm_avx512.c | 232 ++++++++++++ .../arm/{ossl_aes_gcm.c => ossl_aes_gcm_neon.c} | 0 sys/crypto/openssl/{amd64 => }/ossl_aes_gcm.c | 397 ++++++++------------- sys/crypto/openssl/ossl_ppc.c | 9 +- sys/crypto/openssl/ossl_x86.c | 6 +- sys/modules/ossl/Makefile | 7 +- 9 files changed, 410 insertions(+), 249 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index c12ab9db030a..a342242ac66e 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -107,7 +107,8 @@ crypto/openssl/amd64/poly1305-x86_64.S optional ossl crypto/openssl/amd64/sha1-x86_64.S optional ossl crypto/openssl/amd64/sha256-x86_64.S optional ossl crypto/openssl/amd64/sha512-x86_64.S optional ossl -crypto/openssl/amd64/ossl_aes_gcm.c optional ossl +crypto/openssl/amd64/ossl_aes_gcm_avx512.c optional ossl +crypto/openssl/ossl_aes_gcm.c optional ossl dev/amdgpio/amdgpio.c optional amdgpio dev/axgbe/if_axgbe_pci.c optional axp dev/axgbe/xgbe-desc.c optional axp diff --git a/sys/conf/files.arm b/sys/conf/files.arm index 91b01845519e..880e804b6c95 100644 --- a/sys/conf/files.arm +++ b/sys/conf/files.arm @@ -132,7 +132,7 @@ libkern/udivdi3.c standard libkern/umoddi3.c standard crypto/openssl/ossl_arm.c optional ossl -crypto/openssl/arm/ossl_aes_gcm.c optional ossl +crypto/openssl/arm/ossl_aes_gcm_neon.c optional ossl crypto/openssl/arm/aes-armv4.S optional ossl \ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl" crypto/openssl/arm/bsaes-armv7.S optional ossl \ diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index d2c3aa260cd9..0deada385f31 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -31,9 +31,11 @@ zfs-sha512-ppc.o optional zfs \ # openssl ppc common files crypto/openssl/ossl_ppc.c optional ossl powerpc64 | ossl powerpc64le +crypto/openssl/ossl_aes_gcm.c optional ossl powerpc64 | ossl powerpc64le # openssl assembly files (powerpc64le) crypto/openssl/powerpc64le/aes-ppc.S optional ossl powerpc64le +crypto/openssl/powerpc64le/aes-gcm-ppc.S optional ossl powerpc64le crypto/openssl/powerpc64le/aesp8-ppc.S optional ossl powerpc64le crypto/openssl/powerpc64le/chacha-ppc.S optional ossl powerpc64le crypto/openssl/powerpc64le/ecp_nistz256-ppc64.S optional ossl powerpc64le @@ -54,6 +56,7 @@ crypto/openssl/powerpc64le/x25519-ppc64.S optional ossl powerpc64le # openssl assembly files (powerpc64) crypto/openssl/powerpc64/aes-ppc.S optional ossl powerpc64 +crypto/openssl/powerpc64/aes-gcm-ppc.S optional ossl powerpc64 crypto/openssl/powerpc64/aesp8-ppc.S optional ossl powerpc64 crypto/openssl/powerpc64/chacha-ppc.S optional ossl powerpc64 crypto/openssl/powerpc64/ecp_nistz256-ppc64.S optional ossl powerpc64 diff --git a/sys/crypto/openssl/amd64/ossl_aes_gcm_avx512.c b/sys/crypto/openssl/amd64/ossl_aes_gcm_avx512.c new file mode 100644 index 000000000000..694ed4fc8b32 --- /dev/null +++ b/sys/crypto/openssl/amd64/ossl_aes_gcm_avx512.c @@ -0,0 +1,232 @@ +/* + * Copyright 2010-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2021, Intel Corporation. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * This file contains an AES-GCM wrapper implementation from OpenSSL, using + * VAES extensions. It was ported from cipher_aes_gcm_hw_vaes_avx512.inc. + */ + +#include +#include + +#include +#include +#include + +#include + +_Static_assert( + sizeof(struct ossl_gcm_context) <= sizeof(struct ossl_cipher_context), + "ossl_gcm_context too large"); + +void aesni_set_encrypt_key(const void *key, int bits, void *ctx); + +static void +gcm_init(struct ossl_gcm_context *ctx, const void *key, size_t keylen) +{ + KASSERT(keylen == 128 || keylen == 192 || keylen == 256, + ("%s: invalid key length %zu", __func__, keylen)); + + memset(&ctx->gcm, 0, sizeof(ctx->gcm)); + memset(&ctx->aes_ks, 0, sizeof(ctx->aes_ks)); + aesni_set_encrypt_key(key, keylen, &ctx->aes_ks); + ctx->ops->init(ctx, key, keylen); +} + +static void +gcm_tag(struct ossl_gcm_context *ctx, unsigned char *tag, size_t len) +{ + (void)ctx->ops->finish(ctx, NULL, 0); + memcpy(tag, ctx->gcm.Xi.c, len); +} + +void ossl_gcm_gmult_avx512(uint64_t Xi[2], void *gcm128ctx); +void ossl_aes_gcm_init_avx512(const void *ks, void *gcm128ctx); +void ossl_aes_gcm_setiv_avx512(const void *ks, void *gcm128ctx, + const unsigned char *iv, size_t ivlen); +void ossl_aes_gcm_update_aad_avx512(void *gcm128ctx, const unsigned char *aad, + size_t len); +void ossl_aes_gcm_encrypt_avx512(const void *ks, void *gcm128ctx, + unsigned int *pblocklen, const unsigned char *in, size_t len, + unsigned char *out); +void ossl_aes_gcm_decrypt_avx512(const void *ks, void *gcm128ctx, + unsigned int *pblocklen, const unsigned char *in, size_t len, + unsigned char *out); +void ossl_aes_gcm_finalize_avx512(void *gcm128ctx, unsigned int pblocklen); + +static void +gcm_init_avx512(struct ossl_gcm_context *ctx, const void *key, size_t keylen) +{ + ossl_aes_gcm_init_avx512(&ctx->aes_ks, &ctx->gcm); +} + +static void +gcm_setiv_avx512(struct ossl_gcm_context *ctx, const unsigned char *iv, + size_t len) +{ + KASSERT(len == AES_GCM_IV_LEN, + ("%s: invalid IV length %zu", __func__, len)); + + ctx->gcm.Yi.u[0] = 0; /* Current counter */ + ctx->gcm.Yi.u[1] = 0; + ctx->gcm.Xi.u[0] = 0; /* AAD hash */ + ctx->gcm.Xi.u[1] = 0; + ctx->gcm.len.u[0] = 0; /* AAD length */ + ctx->gcm.len.u[1] = 0; /* Message length */ + ctx->gcm.ares = 0; + ctx->gcm.mres = 0; + + ossl_aes_gcm_setiv_avx512(&ctx->aes_ks, ctx, iv, len); +} + +static int +gcm_aad_avx512(struct ossl_gcm_context *ctx, const unsigned char *aad, + size_t len) +{ + uint64_t alen = ctx->gcm.len.u[0]; + size_t lenblks; + unsigned int ares; + + /* Bad sequence: call of AAD update after message processing */ + if (ctx->gcm.len.u[1]) + return -2; + + alen += len; + /* AAD is limited by 2^64 bits, thus 2^61 bytes */ + if (alen > (1ull << 61) || (sizeof(len) == 8 && alen < len)) + return -1; + ctx->gcm.len.u[0] = alen; + + ares = ctx->gcm.ares; + /* Partial AAD block left from previous AAD update calls */ + if (ares > 0) { + /* + * Fill partial block buffer till full block + * (note, the hash is stored reflected) + */ + while (ares > 0 && len > 0) { + ctx->gcm.Xi.c[15 - ares] ^= *(aad++); + --len; + ares = (ares + 1) % AES_BLOCK_LEN; + } + /* Full block gathered */ + if (ares == 0) { + ossl_gcm_gmult_avx512(ctx->gcm.Xi.u, ctx); + } else { /* no more AAD */ + ctx->gcm.ares = ares; + return 0; + } + } + + /* Bulk AAD processing */ + lenblks = len & ((size_t)(-AES_BLOCK_LEN)); + if (lenblks > 0) { + ossl_aes_gcm_update_aad_avx512(ctx, aad, lenblks); + aad += lenblks; + len -= lenblks; + } + + /* Add remaining AAD to the hash (note, the hash is stored reflected) */ + if (len > 0) { + ares = (unsigned int)len; + for (size_t i = 0; i < len; ++i) + ctx->gcm.Xi.c[15 - i] ^= aad[i]; + } + + ctx->gcm.ares = ares; + + return 0; +} + +static int +_gcm_encrypt_avx512(struct ossl_gcm_context *ctx, const unsigned char *in, + unsigned char *out, size_t len, bool encrypt) +{ + uint64_t mlen = ctx->gcm.len.u[1]; + + mlen += len; + if (mlen > ((1ull << 36) - 32) || (sizeof(len) == 8 && mlen < len)) + return -1; + + ctx->gcm.len.u[1] = mlen; + + /* Finalize GHASH(AAD) if AAD partial blocks left unprocessed */ + if (ctx->gcm.ares > 0) { + ossl_gcm_gmult_avx512(ctx->gcm.Xi.u, ctx); + ctx->gcm.ares = 0; + } + + if (encrypt) { + ossl_aes_gcm_encrypt_avx512(&ctx->aes_ks, ctx, &ctx->gcm.mres, + in, len, out); + } else { + ossl_aes_gcm_decrypt_avx512(&ctx->aes_ks, ctx, &ctx->gcm.mres, + in, len, out); + } + + return 0; +} + +static int +gcm_encrypt_avx512(struct ossl_gcm_context *ctx, const unsigned char *in, + unsigned char *out, size_t len) +{ + return _gcm_encrypt_avx512(ctx, in, out, len, true); +} + +static int +gcm_decrypt_avx512(struct ossl_gcm_context *ctx, const unsigned char *in, + unsigned char *out, size_t len) +{ + return _gcm_encrypt_avx512(ctx, in, out, len, false); +} + +static int +gcm_finish_avx512(struct ossl_gcm_context *ctx, const unsigned char *tag, + size_t len) +{ + unsigned int *res = &ctx->gcm.mres; + + /* Finalize AAD processing */ + if (ctx->gcm.ares > 0) + res = &ctx->gcm.ares; + + ossl_aes_gcm_finalize_avx512(ctx, *res); + + ctx->gcm.ares = ctx->gcm.mres = 0; + + if (tag != NULL) + return timingsafe_bcmp(ctx->gcm.Xi.c, tag, len); + return 0; +} + +static const struct ossl_aes_gcm_ops gcm_ops_avx512 = { + .init = gcm_init_avx512, + .setiv = gcm_setiv_avx512, + .aad = gcm_aad_avx512, + .encrypt = gcm_encrypt_avx512, + .decrypt = gcm_decrypt_avx512, + .finish = gcm_finish_avx512, + .tag = gcm_tag, +}; + +int ossl_aes_gcm_setkey_avx512(const unsigned char *key, int klen, void *_ctx); + +int +ossl_aes_gcm_setkey_avx512(const unsigned char *key, int klen, + void *_ctx) +{ + struct ossl_gcm_context *ctx; + + ctx = _ctx; + ctx->ops = &gcm_ops_avx512; + gcm_init(ctx, key, klen); + return (0); +} diff --git a/sys/crypto/openssl/arm/ossl_aes_gcm.c b/sys/crypto/openssl/arm/ossl_aes_gcm_neon.c similarity index 100% rename from sys/crypto/openssl/arm/ossl_aes_gcm.c rename to sys/crypto/openssl/arm/ossl_aes_gcm_neon.c diff --git a/sys/crypto/openssl/amd64/ossl_aes_gcm.c b/sys/crypto/openssl/ossl_aes_gcm.c similarity index 52% rename from sys/crypto/openssl/amd64/ossl_aes_gcm.c rename to sys/crypto/openssl/ossl_aes_gcm.c index d08b2ac8a759..e1cdc710c3aa 100644 --- a/sys/crypto/openssl/amd64/ossl_aes_gcm.c +++ b/sys/crypto/openssl/ossl_aes_gcm.c @@ -1,6 +1,7 @@ /* * Copyright 2010-2022 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2021, Intel Corporation. All Rights Reserved. + * Copyright (c) 2023, Raptor Engineering, LLC. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -9,11 +10,10 @@ */ /* - * This file contains 2 AES-GCM wrapper implementations from OpenSSL, using - * AES-NI and VAES extensions respectively. These were ported from - * cipher_aes_gcm_hw_aesni.inc and cipher_aes_gcm_hw_vaes_avx512.inc. The - * AES-NI implementation makes use of a generic C implementation for partial - * blocks, ported from gcm128.c with OPENSSL_SMALL_FOOTPRINT defined. + * This file contains an AES-GCM wrapper implementation from OpenSSL, using + * AES-NI (x86) or POWER8 Crypto Extensions (ppc). It was ported from + * cipher_aes_gcm_hw_aesni.inc and it makes use of a generic C implementation + * for partial blocks, ported from gcm128.c with OPENSSL_SMALL_FOOTPRINT defined. */ #include @@ -29,225 +29,152 @@ _Static_assert( sizeof(struct ossl_gcm_context) <= sizeof(struct ossl_cipher_context), "ossl_gcm_context too large"); -void aesni_set_encrypt_key(const void *key, int bits, void *ctx); - -static void -gcm_init(struct ossl_gcm_context *ctx, const void *key, size_t keylen) -{ - KASSERT(keylen == 128 || keylen == 192 || keylen == 256, - ("%s: invalid key length %zu", __func__, keylen)); - - memset(&ctx->gcm, 0, sizeof(ctx->gcm)); - memset(&ctx->aes_ks, 0, sizeof(ctx->aes_ks)); - aesni_set_encrypt_key(key, keylen, &ctx->aes_ks); - ctx->ops->init(ctx, key, keylen); -} - -static void -gcm_tag(struct ossl_gcm_context *ctx, unsigned char *tag, size_t len) -{ - (void)ctx->ops->finish(ctx, NULL, 0); - memcpy(tag, ctx->gcm.Xi.c, len); -} +#if defined(__amd64__) || defined(__i386__) +#define AES_set_encrypt_key aesni_set_encrypt_key +#define AES_gcm_encrypt aesni_gcm_encrypt +#define AES_gcm_decrypt aesni_gcm_decrypt +#define AES_encrypt aesni_encrypt +#define AES_ctr32_encrypt_blocks aesni_ctr32_encrypt_blocks +#define GCM_init gcm_init_avx +#define GCM_gmult gcm_gmult_avx +#define GCM_ghash gcm_ghash_avx + +void AES_set_encrypt_key(const void *key, int bits, void *ctx); +size_t AES_gcm_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], uint64_t *Xi); +size_t AES_gcm_decrypt(const unsigned char *in, unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], uint64_t *Xi); +void AES_encrypt(const unsigned char *in, unsigned char *out, void *ks); +void AES_ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out, + size_t blocks, void *ks, const unsigned char *iv); -void ossl_gcm_gmult_avx512(uint64_t Xi[2], void *gcm128ctx); -void ossl_aes_gcm_init_avx512(const void *ks, void *gcm128ctx); -void ossl_aes_gcm_setiv_avx512(const void *ks, void *gcm128ctx, - const unsigned char *iv, size_t ivlen); -void ossl_aes_gcm_update_aad_avx512(void *gcm128ctx, const unsigned char *aad, +void GCM_init(__uint128_t Htable[16], uint64_t Xi[2]); +void GCM_gmult(uint64_t Xi[2], const __uint128_t Htable[16]); +void GCM_ghash(uint64_t Xi[2], const __uint128_t Htable[16], const void *in, size_t len); -void ossl_aes_gcm_encrypt_avx512(const void *ks, void *gcm128ctx, - unsigned int *pblocklen, const unsigned char *in, size_t len, - unsigned char *out); -void ossl_aes_gcm_decrypt_avx512(const void *ks, void *gcm128ctx, - unsigned int *pblocklen, const unsigned char *in, size_t len, - unsigned char *out); -void ossl_aes_gcm_finalize_avx512(void *gcm128ctx, unsigned int pblocklen); - -static void -gcm_init_avx512(struct ossl_gcm_context *ctx, const void *key, size_t keylen) -{ - ossl_aes_gcm_init_avx512(&ctx->aes_ks, &ctx->gcm); -} -static void -gcm_setiv_avx512(struct ossl_gcm_context *ctx, const unsigned char *iv, - size_t len) -{ - KASSERT(len == AES_GCM_IV_LEN, - ("%s: invalid IV length %zu", __func__, len)); +#elif defined(__powerpc64__) +#define AES_set_encrypt_key aes_p8_set_encrypt_key +#define AES_gcm_encrypt(i,o,l,k,v,x) ppc_aes_gcm_crypt(i,o,l,k,v,x,1) +#define AES_gcm_decrypt(i,o,l,k,v,x) ppc_aes_gcm_crypt(i,o,l,k,v,x,0) +#define AES_encrypt aes_p8_encrypt +#define AES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks +#define GCM_init gcm_init_p8 +#define GCM_gmult gcm_gmult_p8 +#define GCM_ghash gcm_ghash_p8 + +size_t ppc_aes_gcm_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], uint64_t *Xi); +size_t ppc_aes_gcm_decrypt(const unsigned char *in, unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], uint64_t *Xi); - ctx->gcm.Yi.u[0] = 0; /* Current counter */ - ctx->gcm.Yi.u[1] = 0; - ctx->gcm.Xi.u[0] = 0; /* AAD hash */ - ctx->gcm.Xi.u[1] = 0; - ctx->gcm.len.u[0] = 0; /* AAD length */ - ctx->gcm.len.u[1] = 0; /* Message length */ - ctx->gcm.ares = 0; - ctx->gcm.mres = 0; +void AES_set_encrypt_key(const void *key, int bits, void *ctx); +void AES_encrypt(const unsigned char *in, unsigned char *out, void *ks); +void AES_ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out, + size_t blocks, void *ks, const unsigned char *iv); - ossl_aes_gcm_setiv_avx512(&ctx->aes_ks, ctx, iv, len); -} +void GCM_init(__uint128_t Htable[16], uint64_t Xi[2]); +void GCM_gmult(uint64_t Xi[2], const __uint128_t Htable[16]); +void GCM_ghash(uint64_t Xi[2], const __uint128_t Htable[16], const void *in, + size_t len); -static int -gcm_aad_avx512(struct ossl_gcm_context *ctx, const unsigned char *aad, - size_t len) +static size_t +ppc_aes_gcm_crypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, unsigned char ivec_[16], uint64_t *Xi, + int encrypt) { - uint64_t alen = ctx->gcm.len.u[0]; - size_t lenblks; - unsigned int ares; - - /* Bad sequence: call of AAD update after message processing */ - if (ctx->gcm.len.u[1]) - return -2; - - alen += len; - /* AAD is limited by 2^64 bits, thus 2^61 bytes */ - if (alen > (1ull << 61) || (sizeof(len) == 8 && alen < len)) - return -1; - ctx->gcm.len.u[0] = alen; + union { + uint32_t d[4]; + uint8_t c[16]; + } *ivec = (void *)ivec_; + int s = 0; + int ndone = 0; + int ctr_reset = 0; + uint32_t ivec_val; + uint64_t blocks_unused; + uint64_t nb = len / 16; + uint64_t next_ctr = 0; + unsigned char ctr_saved[12]; + + memcpy(ctr_saved, ivec, 12); + + while (nb) { + ivec_val = ivec->d[3]; +#if BYTE_ORDER == LITTLE_ENDIAN + ivec_val = bswap32(ivec_val); +#endif - ares = ctx->gcm.ares; - /* Partial AAD block left from previous AAD update calls */ - if (ares > 0) { - /* - * Fill partial block buffer till full block - * (note, the hash is stored reflected) - */ - while (ares > 0 && len > 0) { - ctx->gcm.Xi.c[15 - ares] ^= *(aad++); - --len; - ares = (ares + 1) % AES_BLOCK_LEN; - } - /* Full block gathered */ - if (ares == 0) { - ossl_gcm_gmult_avx512(ctx->gcm.Xi.u, ctx); - } else { /* no more AAD */ - ctx->gcm.ares = ares; - return 0; + blocks_unused = (uint64_t)0xffffffffU + 1 - (uint64_t)ivec_val; + if (nb > blocks_unused) { + len = blocks_unused * 16; + nb -= blocks_unused; + next_ctr = blocks_unused; + ctr_reset = 1; + } else { + len = nb * 16; + next_ctr = nb; + nb = 0; } - } - /* Bulk AAD processing */ - lenblks = len & ((size_t)(-AES_BLOCK_LEN)); - if (lenblks > 0) { - ossl_aes_gcm_update_aad_avx512(ctx, aad, lenblks); - aad += lenblks; - len -= lenblks; - } + s = encrypt ? ppc_aes_gcm_encrypt(in, out, len, key, ivec->c, Xi) : + ppc_aes_gcm_decrypt(in, out, len, key, ivec->c, Xi); - /* Add remaining AAD to the hash (note, the hash is stored reflected) */ - if (len > 0) { - ares = (unsigned int)len; - for (size_t i = 0; i < len; ++i) - ctx->gcm.Xi.c[15 - i] ^= aad[i]; + /* add counter to ivec */ +#if BYTE_ORDER == LITTLE_ENDIAN + ivec->d[3] = bswap32(ivec_val + next_ctr); +#else + ivec->d[3] += next_ctr; +#endif + if (ctr_reset) { + ctr_reset = 0; + in += len; + out += len; + } + memcpy(ivec, ctr_saved, 12); + ndone += s; } - ctx->gcm.ares = ares; - - return 0; + return ndone; } -static int -_gcm_encrypt_avx512(struct ossl_gcm_context *ctx, const unsigned char *in, - unsigned char *out, size_t len, bool encrypt) -{ - uint64_t mlen = ctx->gcm.len.u[1]; - - mlen += len; - if (mlen > ((1ull << 36) - 32) || (sizeof(len) == 8 && mlen < len)) - return -1; - - ctx->gcm.len.u[1] = mlen; - - /* Finalize GHASH(AAD) if AAD partial blocks left unprocessed */ - if (ctx->gcm.ares > 0) { - ossl_gcm_gmult_avx512(ctx->gcm.Xi.u, ctx); - ctx->gcm.ares = 0; - } - - if (encrypt) { - ossl_aes_gcm_encrypt_avx512(&ctx->aes_ks, ctx, &ctx->gcm.mres, - in, len, out); - } else { - ossl_aes_gcm_decrypt_avx512(&ctx->aes_ks, ctx, &ctx->gcm.mres, - in, len, out); - } - - return 0; -} +#else +#error "Unsupported architecture!" +#endif -static int -gcm_encrypt_avx512(struct ossl_gcm_context *ctx, const unsigned char *in, - unsigned char *out, size_t len) +static void +gcm_init(struct ossl_gcm_context *ctx, const void *key, size_t keylen) { - return _gcm_encrypt_avx512(ctx, in, out, len, true); -} + KASSERT(keylen == 128 || keylen == 192 || keylen == 256, + ("%s: invalid key length %zu", __func__, keylen)); -static int -gcm_decrypt_avx512(struct ossl_gcm_context *ctx, const unsigned char *in, - unsigned char *out, size_t len) -{ - return _gcm_encrypt_avx512(ctx, in, out, len, false); + memset(&ctx->gcm, 0, sizeof(ctx->gcm)); + memset(&ctx->aes_ks, 0, sizeof(ctx->aes_ks)); + AES_set_encrypt_key(key, keylen, &ctx->aes_ks); + ctx->ops->init(ctx, key, keylen); } -static int -gcm_finish_avx512(struct ossl_gcm_context *ctx, const unsigned char *tag, - size_t len) +static void +gcm_tag_op(struct ossl_gcm_context *ctx, unsigned char *tag, size_t len) { - unsigned int *res = &ctx->gcm.mres; - - /* Finalize AAD processing */ - if (ctx->gcm.ares > 0) - res = &ctx->gcm.ares; - - ossl_aes_gcm_finalize_avx512(ctx, *res); - - ctx->gcm.ares = ctx->gcm.mres = 0; - - if (tag != NULL) - return timingsafe_bcmp(ctx->gcm.Xi.c, tag, len); - return 0; + (void)ctx->ops->finish(ctx, NULL, 0); + memcpy(tag, ctx->gcm.Xi.c, len); } -static const struct ossl_aes_gcm_ops gcm_ops_avx512 = { - .init = gcm_init_avx512, - .setiv = gcm_setiv_avx512, - .aad = gcm_aad_avx512, - .encrypt = gcm_encrypt_avx512, - .decrypt = gcm_decrypt_avx512, - .finish = gcm_finish_avx512, - .tag = gcm_tag, -}; - -size_t aesni_gcm_encrypt(const unsigned char *in, unsigned char *out, size_t len, - const void *key, unsigned char ivec[16], uint64_t *Xi); -size_t aesni_gcm_decrypt(const unsigned char *in, unsigned char *out, size_t len, - const void *key, unsigned char ivec[16], uint64_t *Xi); -void aesni_encrypt(const unsigned char *in, unsigned char *out, void *ks); -void aesni_ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out, - size_t blocks, void *ks, const unsigned char *iv); - -void gcm_init_avx(__uint128_t Htable[16], uint64_t Xi[2]); -void gcm_gmult_avx(uint64_t Xi[2], const __uint128_t Htable[16]); -void gcm_ghash_avx(uint64_t Xi[2], const __uint128_t Htable[16], const void *in, - size_t len); - static void -gcm_init_aesni(struct ossl_gcm_context *ctx, const void *key, size_t keylen) +gcm_init_op(struct ossl_gcm_context *ctx, const void *key, size_t keylen) { - aesni_encrypt(ctx->gcm.H.c, ctx->gcm.H.c, &ctx->aes_ks); + AES_encrypt(ctx->gcm.H.c, ctx->gcm.H.c, &ctx->aes_ks); #if BYTE_ORDER == LITTLE_ENDIAN ctx->gcm.H.u[0] = bswap64(ctx->gcm.H.u[0]); ctx->gcm.H.u[1] = bswap64(ctx->gcm.H.u[1]); #endif - gcm_init_avx(ctx->gcm.Htable, ctx->gcm.H.u); + GCM_init(ctx->gcm.Htable, ctx->gcm.H.u); } static void -gcm_setiv_aesni(struct ossl_gcm_context *ctx, const unsigned char *iv, +gcm_setiv_op(struct ossl_gcm_context *ctx, const unsigned char *iv, size_t len) { uint32_t ctr; @@ -269,7 +196,7 @@ gcm_setiv_aesni(struct ossl_gcm_context *ctx, const unsigned char *iv, ctx->gcm.Xi.u[0] = 0; ctx->gcm.Xi.u[1] = 0; - aesni_encrypt(ctx->gcm.Yi.c, ctx->gcm.EK0.c, &ctx->aes_ks); + AES_encrypt(ctx->gcm.Yi.c, ctx->gcm.EK0.c, &ctx->aes_ks); ctr++; #if BYTE_ORDER == LITTLE_ENDIAN @@ -280,7 +207,7 @@ gcm_setiv_aesni(struct ossl_gcm_context *ctx, const unsigned char *iv, } static int -gcm_aad_aesni(struct ossl_gcm_context *ctx, const unsigned char *aad, +gcm_aad_op(struct ossl_gcm_context *ctx, const unsigned char *aad, size_t len) { size_t i; @@ -303,14 +230,14 @@ gcm_aad_aesni(struct ossl_gcm_context *ctx, const unsigned char *aad, n = (n + 1) % 16; } if (n == 0) - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); else { ctx->gcm.ares = n; return 0; } } if ((i = (len & (size_t)-AES_BLOCK_LEN))) { - gcm_ghash_avx(ctx->gcm.Xi.u, ctx->gcm.Htable, aad, i); + GCM_ghash(ctx->gcm.Xi.u, ctx->gcm.Htable, aad, i); aad += i; len -= i; } @@ -341,7 +268,7 @@ gcm_encrypt(struct ossl_gcm_context *ctx, const unsigned char *in, if (ctx->gcm.ares) { /* First call to encrypt finalizes GHASH(AAD) */ - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); ctx->gcm.ares = 0; } @@ -354,7 +281,7 @@ gcm_encrypt(struct ossl_gcm_context *ctx, const unsigned char *in, n = mres % 16; for (i = 0; i < len; ++i) { if (n == 0) { - aesni_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, + AES_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, &ctx->aes_ks); ++ctr; #if BYTE_ORDER == LITTLE_ENDIAN @@ -366,7 +293,7 @@ gcm_encrypt(struct ossl_gcm_context *ctx, const unsigned char *in, ctx->gcm.Xi.c[n] ^= out[i] = in[i] ^ ctx->gcm.EKi.c[n]; mres = n = (n + 1) % 16; if (n == 0) - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); } ctx->gcm.mres = mres; @@ -390,7 +317,7 @@ gcm_encrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, if (ctx->gcm.ares) { /* First call to encrypt finalizes GHASH(AAD) */ - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); ctx->gcm.ares = 0; } @@ -408,7 +335,7 @@ gcm_encrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, n = (n + 1) % 16; } if (n == 0) { - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); mres = 0; } else { ctx->gcm.mres = n; @@ -418,7 +345,7 @@ gcm_encrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, if ((i = (len & (size_t)-16))) { size_t j = i / 16; - aesni_ctr32_encrypt_blocks(in, out, j, &ctx->aes_ks, ctx->gcm.Yi.c); + AES_ctr32_encrypt_blocks(in, out, j, &ctx->aes_ks, ctx->gcm.Yi.c); ctr += (unsigned int)j; #if BYTE_ORDER == LITTLE_ENDIAN ctx->gcm.Yi.d[3] = bswap32(ctr); @@ -430,12 +357,12 @@ gcm_encrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, while (j--) { for (i = 0; i < 16; ++i) ctx->gcm.Xi.c[i] ^= out[i]; - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); out += 16; } } if (len) { - aesni_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, &ctx->aes_ks); + AES_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, &ctx->aes_ks); ++ctr; #if BYTE_ORDER == LITTLE_ENDIAN ctx->gcm.Yi.d[3] = bswap32(ctr); @@ -453,7 +380,7 @@ gcm_encrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, } static int -gcm_encrypt_aesni(struct ossl_gcm_context *ctx, const unsigned char *in, +gcm_encrypt_op(struct ossl_gcm_context *ctx, const unsigned char *in, unsigned char *out, size_t len) { size_t bulk = 0, res; @@ -463,7 +390,7 @@ gcm_encrypt_aesni(struct ossl_gcm_context *ctx, const unsigned char *in, if ((error = gcm_encrypt(ctx, in, out, res)) != 0) return error; - bulk = aesni_gcm_encrypt(in + res, out + res, len - res, + bulk = AES_gcm_encrypt(in + res, out + res, len - res, &ctx->aes_ks, ctx->gcm.Yi.c, ctx->gcm.Xi.u); ctx->gcm.len.u[1] += bulk; bulk += res; @@ -492,7 +419,7 @@ gcm_decrypt(struct ossl_gcm_context *ctx, const unsigned char *in, if (ctx->gcm.ares) { /* First call to encrypt finalizes GHASH(AAD) */ - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); ctx->gcm.ares = 0; } @@ -506,7 +433,7 @@ gcm_decrypt(struct ossl_gcm_context *ctx, const unsigned char *in, for (i = 0; i < len; ++i) { uint8_t c; if (n == 0) { - aesni_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, + AES_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, &ctx->aes_ks); ++ctr; #if BYTE_ORDER == LITTLE_ENDIAN @@ -520,7 +447,7 @@ gcm_decrypt(struct ossl_gcm_context *ctx, const unsigned char *in, ctx->gcm.Xi.c[n] ^= c; mres = n = (n + 1) % 16; if (n == 0) - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); } ctx->gcm.mres = mres; @@ -544,7 +471,7 @@ gcm_decrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, if (ctx->gcm.ares) { /* First call to decrypt finalizes GHASH(AAD) */ - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); ctx->gcm.ares = 0; } @@ -564,7 +491,7 @@ gcm_decrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, n = (n + 1) % 16; } if (n == 0) { - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); mres = 0; } else { ctx->gcm.mres = n; @@ -578,12 +505,12 @@ gcm_decrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, size_t k; for (k = 0; k < 16; ++k) ctx->gcm.Xi.c[k] ^= in[k]; - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); in += 16; } j = i / 16; in -= i; - aesni_ctr32_encrypt_blocks(in, out, j, &ctx->aes_ks, ctx->gcm.Yi.c); + AES_ctr32_encrypt_blocks(in, out, j, &ctx->aes_ks, ctx->gcm.Yi.c); ctr += (unsigned int)j; #if BYTE_ORDER == LITTLE_ENDIAN ctx->gcm.Yi.d[3] = bswap32(ctr); @@ -595,7 +522,7 @@ gcm_decrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, len -= i; } if (len) { - aesni_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, &ctx->aes_ks); + AES_encrypt(ctx->gcm.Yi.c, ctx->gcm.EKi.c, &ctx->aes_ks); ++ctr; #if BYTE_ORDER == LITTLE_ENDIAN ctx->gcm.Yi.d[3] = bswap32(ctr); @@ -615,7 +542,7 @@ gcm_decrypt_ctr32(struct ossl_gcm_context *ctx, const unsigned char *in, } static int -gcm_decrypt_aesni(struct ossl_gcm_context *ctx, const unsigned char *in, +gcm_decrypt_op(struct ossl_gcm_context *ctx, const unsigned char *in, unsigned char *out, size_t len) { size_t bulk = 0, res; @@ -625,7 +552,7 @@ gcm_decrypt_aesni(struct ossl_gcm_context *ctx, const unsigned char *in, if ((error = gcm_decrypt(ctx, in, out, res)) != 0) return error; - bulk = aesni_gcm_decrypt(in + res, out + res, len - res, &ctx->aes_ks, + bulk = AES_gcm_decrypt(in + res, out + res, len - res, &ctx->aes_ks, ctx->gcm.Yi.c, ctx->gcm.Xi.u); ctx->gcm.len.u[1] += bulk; bulk += res; @@ -637,14 +564,14 @@ gcm_decrypt_aesni(struct ossl_gcm_context *ctx, const unsigned char *in, } static int -gcm_finish_aesni(struct ossl_gcm_context *ctx, const unsigned char *tag, +gcm_finish_op(struct ossl_gcm_context *ctx, const unsigned char *tag, size_t len) { uint64_t alen = ctx->gcm.len.u[0] << 3; uint64_t clen = ctx->gcm.len.u[1] << 3; if (ctx->gcm.mres || ctx->gcm.ares) - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); #if BYTE_ORDER == LITTLE_ENDIAN alen = bswap64(alen); @@ -653,7 +580,7 @@ gcm_finish_aesni(struct ossl_gcm_context *ctx, const unsigned char *tag, ctx->gcm.Xi.u[0] ^= alen; ctx->gcm.Xi.u[1] ^= clen; - gcm_gmult_avx(ctx->gcm.Xi.u, ctx->gcm.Htable); + GCM_gmult(ctx->gcm.Xi.u, ctx->gcm.Htable); ctx->gcm.Xi.u[0] ^= ctx->gcm.EK0.u[0]; ctx->gcm.Xi.u[1] ^= ctx->gcm.EK0.u[1]; @@ -663,40 +590,26 @@ gcm_finish_aesni(struct ossl_gcm_context *ctx, const unsigned char *tag, return 0; } -static const struct ossl_aes_gcm_ops gcm_ops_aesni = { - .init = gcm_init_aesni, - .setiv = gcm_setiv_aesni, - .aad = gcm_aad_aesni, - .encrypt = gcm_encrypt_aesni, - .decrypt = gcm_decrypt_aesni, - .finish = gcm_finish_aesni, - .tag = gcm_tag, +static const struct ossl_aes_gcm_ops gcm_ops = { + .init = gcm_init_op, + .setiv = gcm_setiv_op, + .aad = gcm_aad_op, + .encrypt = gcm_encrypt_op, + .decrypt = gcm_decrypt_op, + .finish = gcm_finish_op, + .tag = gcm_tag_op, }; -int ossl_aes_gcm_setkey_aesni(const unsigned char *key, int klen, void *_ctx); - -int -ossl_aes_gcm_setkey_aesni(const unsigned char *key, int klen, - void *_ctx) -{ - struct ossl_gcm_context *ctx; - - ctx = _ctx; - ctx->ops = &gcm_ops_aesni; - gcm_init(ctx, key, klen); - return (0); -} - -int ossl_aes_gcm_setkey_avx512(const unsigned char *key, int klen, void *_ctx); +int ossl_aes_gcm_setkey(const unsigned char *key, int klen, void *_ctx); int -ossl_aes_gcm_setkey_avx512(const unsigned char *key, int klen, +ossl_aes_gcm_setkey(const unsigned char *key, int klen, void *_ctx) { struct ossl_gcm_context *ctx; ctx = _ctx; - ctx->ops = &gcm_ops_avx512; + ctx->ops = &gcm_ops; gcm_init(ctx, key, klen); return (0); } diff --git a/sys/crypto/openssl/ossl_ppc.c b/sys/crypto/openssl/ossl_ppc.c index 0951745c4b43..980211f46a76 100644 *** 91 LINES SKIPPED *** From nobody Wed Oct 15 13:26:39 2025 X-Original-To: dev-commits-src-branches@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 4cmsLR54Rqz6CP32; Wed, 15 Oct 2025 13:26:39 +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 4cmsLR3qGBz3Kdb; Wed, 15 Oct 2025 13:26:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534799; 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=A1PA3RtMht0GIvHef760to9Fm4eoNkDFxcbuodxuvm0=; b=sDSn4dMc7WJpiSWR5PXS3ViyrgTIZf9Jxc7yKMXTw2LGYE+o/v8iV+kag3u5FxngVx2n5j 05TVBhsfHEVW0EJq5fXL3MVMdpheJS3zHPZZrh9mujqhsBWlMzdX6YfGwGqaC310WGjcSY BU4oZBdBzEFyuas0oq3BcfQP9fLLU6fCAt5C7NqhaEdJvQ6ShczQK3KaXUNzFxJfcC0iFs UFyNRMbfVzefa0M4nKONi+pdNbXWIcAUTMDA/1ipttGDZMnjU11n5orzC4zosZbHaCL/gs Fg5Kpf8v8Ax1yHJwSdvPhd5xwCfeNltOr0aq+YOGP4FrG2keBUoaxtUCohkDjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534799; 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=A1PA3RtMht0GIvHef760to9Fm4eoNkDFxcbuodxuvm0=; b=LK1m/BPIf4f7E6BjBhnaOTXXxwCdVw/EFHLqZhQRBEMUWlgkYXReOx0JNEPiuUNDeDA6OZ xvS1JKZzEQV8PAqa7udkRokz9HrXD5xIaBsWmY99MMjDRakndhzp0IyJAw0MKEqwTf5a5r lJ/s0kbWzyMK7jZrjlamzXP6zVjR6ItNUk7vwDhIG0LPbm6KX35ucmcncJtAwO/aELzt2u MDXLE4yiVcz+9qF63f5iN+rbc6m7IhmFV86DfjyL+E7VxL7tq4F/7nI8h9yUT1K6tmdyCa fHycftboEexWcJ0UxV0DVkPRIOKe0mlzt5caTCHGXWJ/U1ekjISGnJz+BSkAvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534799; a=rsa-sha256; cv=none; b=B4XW7SAN72HH5iej5pG/Bl+Mv2h8gHTC0AZxN8Iw2/b7/R4t2ro2gRavkS3MGHMbGh3J7O 9ba1qc+ieEpvei+3CUl09l8ymnri+OtTUvTwOhWeZaar9rNRd8UY04pkJFnx0GSIduEu4/ 4ow6F+LolJE9NI6PChwagtjxjWuOjZXUPNduoznwj9tS6QAqPNZzU9qBJ+sNwnkt6L/I6A FWrkEfWe3CV6Zi29GAsANMXeyrO7yk7CK+GVEvmAm2P/TargWbtYsKEV/6Vx+c29KiQdh5 7PUuFOO9/J0ruoJmhPpfJwXKV7LKVe7+rr+wp4bY2qNMmK+By4RTMVgnIn4XEw== 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 4cmsLR3QTczh8n; Wed, 15 Oct 2025 13:26:39 +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 59FDQdW9051095; Wed, 15 Oct 2025 13:26:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQdDf051091; Wed, 15 Oct 2025 13:26:39 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:39 GMT Message-Id: <202510151326.59FDQdDf051091@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9bed273477dc - stable/15 - tests/mac_portacl: restore sysctls after modification List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 9bed273477dc8aee1e8bd8da2ae718c9210e7e86 Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9bed273477dc8aee1e8bd8da2ae718c9210e7e86 commit 9bed273477dc8aee1e8bd8da2ae718c9210e7e86 Author: Siva Mahadevan AuthorDate: 2025-07-15 16:45:24 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:03 +0000 tests/mac_portacl: restore sysctls after modification While here, use 'required_kmods' instead of ad-hoc checks. Signed-off-by: Siva Mahadevan Reviewed by: markj MFC after: 3 days Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/1855 (cherry picked from commit 170aac93479467334062813c1175a80200400b79) --- tests/sys/mac/portacl/Makefile | 1 + tests/sys/mac/portacl/misc.sh | 12 ++---------- tests/sys/mac/portacl/nobody_test.sh | 1 + tests/sys/mac/portacl/root_test.sh | 1 + 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/tests/sys/mac/portacl/Makefile b/tests/sys/mac/portacl/Makefile index 856a85d331d5..28c3a5cd71ce 100644 --- a/tests/sys/mac/portacl/Makefile +++ b/tests/sys/mac/portacl/Makefile @@ -8,6 +8,7 @@ TAP_TESTS_SH+= nobody_test TAP_TESTS_SH+= root_test .for t in ${TAP_TESTS_SH} +TEST_METADATA.$t+= required_kmods="mac_portacl" TEST_METADATA.$t+= required_user="root" TEST_METADATA.$t+= timeout="450" TEST_METADATA.$t+= is_exclusive="true" diff --git a/tests/sys/mac/portacl/misc.sh b/tests/sys/mac/portacl/misc.sh index a1b729c87777..4d3f18fce1c1 100644 --- a/tests/sys/mac/portacl/misc.sh +++ b/tests/sys/mac/portacl/misc.sh @@ -1,15 +1,5 @@ #!/bin/sh -sysctl security.mac.portacl >/dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "1..0 # SKIP MAC_PORTACL is unavailable." - exit 0 -fi -if [ $(id -u) -ne 0 ]; then - echo "1..0 # SKIP testcases must be run as root" - exit 0 -fi - ntest=1 check_bind() { @@ -95,6 +85,7 @@ bind_test() { sysctl security.mac.portacl.rules= >/dev/null } +portacl_enabled=$(sysctl -n security.mac.portacl.enabled) reserved_high=$(sysctl -n net.inet.ip.portrange.reservedhigh) suser_exempt=$(sysctl -n security.mac.portacl.suser_exempt) port_high=$(sysctl -n security.mac.portacl.port_high) @@ -103,4 +94,5 @@ restore_settings() { sysctl -n net.inet.ip.portrange.reservedhigh=${reserved_high} >/dev/null sysctl -n security.mac.portacl.suser_exempt=${suser_exempt} >/dev/null sysctl -n security.mac.portacl.port_high=${port_high} >/dev/null + sysctl -n security.mac.portacl.enabled=${portacl_enabled} >/dev/null } diff --git a/tests/sys/mac/portacl/nobody_test.sh b/tests/sys/mac/portacl/nobody_test.sh index 7e64f68113ea..a3f2168dc81d 100644 --- a/tests/sys/mac/portacl/nobody_test.sh +++ b/tests/sys/mac/portacl/nobody_test.sh @@ -13,6 +13,7 @@ trap restore_settings EXIT INT TERM sysctl security.mac.portacl.suser_exempt=1 >/dev/null sysctl net.inet.ip.portrange.reservedhigh=78 >/dev/null +sysctl security.mac.portacl.enabled=1 >/dev/null bind_test fl fl uid nobody tcp 77 bind_test ok ok uid nobody tcp 7777 diff --git a/tests/sys/mac/portacl/root_test.sh b/tests/sys/mac/portacl/root_test.sh index daa5b147b4fa..d8898ff4f80e 100644 --- a/tests/sys/mac/portacl/root_test.sh +++ b/tests/sys/mac/portacl/root_test.sh @@ -10,6 +10,7 @@ echo "1..48" trap restore_settings EXIT INT TERM sysctl security.mac.portacl.suser_exempt=1 >/dev/null +sysctl security.mac.portacl.enabled=1 >/dev/null bind_test ok ok uid root tcp 77 bind_test ok ok uid root tcp 7777 From nobody Wed Oct 15 13:26:40 2025 X-Original-To: dev-commits-src-branches@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 4cmsLS6rFYz6CNyx; Wed, 15 Oct 2025 13:26:40 +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 4cmsLS4crCz3Kdq; Wed, 15 Oct 2025 13:26:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534800; 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=atD6l0N6jr6mOGIFu1AvWf8tsEt4dldeLR6Wth/+Uog=; b=qlya6dH+L3B3U1WHQyiMhZ9Nd6qkQlGpwsmm6RFpZJ/UOTdP4u/K7dMz4JPaMiT1erikg7 nNsvW6RBg9LIq7P3boBrBt0KiHzdyN4lJMf+2CQgU7obCjgZzA4+d0sv1VDcXTXfDkLmCo ua1qUAx/fjoPPg/3iqnjoukxlW2tATAF2UHHDbf6Kc63zRvZThNqyJkezW3SDZe/9TF27T f8MxWd99GZuSbGnynTpCDBa/s5phMLvuqvZJIwa97caPhWGoVQMJXCLf0iC9Twdw653Nvq J+HVDT/QTGjwqhPWBMCioW1hn5BVIryu3Cvjp4jDZIRUrWx0okunHjflj8Ek1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534800; 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=atD6l0N6jr6mOGIFu1AvWf8tsEt4dldeLR6Wth/+Uog=; b=xolKp57gPXIVABrdwT/RGhWMy+IJtrnMIyas2ihOCTOs2Fer0JoaEDAQ4p1EdHv54Yi18G TLjWajKodOzf/Rjks7rAaWA/q8wK/ZnKwyO9Zav6VPj2gAj2a3w9CL1BlKBjB7DXmMpUqD kVu2QHPYf2g/rcwTP6ARrnaWpMAOwylhO13ksXZv0S+qaCvg9yvrdYLKqD8A+eXzMuXWli 3gB7lGvWOBNmM2woVu3rx8RufpIJ21DVMFl9WA+2eOPzHEVr8CjKLIja6rlm4EP4/i0ar2 VGQHrXA0QTo46QNLs/Tk0c2gnIhJPTK5TqHbTwuBvTbCLQTN5WX9XtfoljiLbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534800; a=rsa-sha256; cv=none; b=Eq5veS4jYh9Gii0tyXM3+r44ZVNv2/pws3N1JigFHHXsCkwOBU2lywWOQ54N2Hx04L8opZ nSLPR5jzfd7i3DBeHDEFTby4ruhg4IfPsWMR7GFh2tnOokWemyNcxWtxU9oqfPwY9QIrEO E1Vd8r5Zqa4bld9vwjGNcHseSGJBjTrYjlk7zFdPaB4iHJ/zN61kjyXYTnfPn+PLtgJRM7 aLw3VWPnrrloTJublddIySU1nB3zAL0rck4oPjSynVqmotimEhWpL5Db1TVEkIExAgAnrk +wINhPbSEYXlVAZeDYhcy7RkWES1iYv7TAAyydbEJhOkdMUOjE/s8suSexTCyg== 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 4cmsLS3gD4zgvl; Wed, 15 Oct 2025 13:26:40 +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 59FDQeR3051130; Wed, 15 Oct 2025 13:26:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQewZ051125; Wed, 15 Oct 2025 13:26:40 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:40 GMT Message-Id: <202510151326.59FDQewZ051125@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: df64ca1bfcd3 - stable/15 - tests/mac_ipacl: restore sysctls after modification List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: df64ca1bfcd32b19196c8b99b2b8e78520ef7f7c Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=df64ca1bfcd32b19196c8b99b2b8e78520ef7f7c commit df64ca1bfcd32b19196c8b99b2b8e78520ef7f7c Author: Siva Mahadevan AuthorDate: 2025-07-15 16:45:24 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:03 +0000 tests/mac_ipacl: restore sysctls after modification While here, use 'required_kmods' instead of ad-hoc checks. Signed-off-by: Siva Mahadevan Reviewed by: markj MFC after: 3 days Sponsored by: The FreeBSD Foundation Pull request: https://github.com/freebsd/freebsd-src/pull/1856 (cherry picked from commit 79042fd7ed4187d2a74e37618f6fd77f448ca353) --- tests/sys/mac/ipacl/Makefile | 5 +++++ tests/sys/mac/ipacl/ipacl_test.sh | 16 ++++++++++++---- tests/sys/mac/ipacl/utils.subr | 4 ---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/tests/sys/mac/ipacl/Makefile b/tests/sys/mac/ipacl/Makefile index e083f6c1a69c..93b29e250ea5 100644 --- a/tests/sys/mac/ipacl/Makefile +++ b/tests/sys/mac/ipacl/Makefile @@ -6,4 +6,9 @@ ATF_TESTS_SH+= ipacl_test ${PACKAGE}FILES+= utils.subr +.for t in ${ATF_TESTS_SH} +TEST_METADATA.$t+= required_kmods="mac_ipacl" +TEST_METADATA.$t+= is_exclusive="true" +.endfor + .include diff --git a/tests/sys/mac/ipacl/ipacl_test.sh b/tests/sys/mac/ipacl/ipacl_test.sh index 0de1b414857b..892f4c154b66 100644 --- a/tests/sys/mac/ipacl/ipacl_test.sh +++ b/tests/sys/mac/ipacl/ipacl_test.sh @@ -40,6 +40,9 @@ ipacl_v4_body() { ipacl_test_init + prev_ipacl_ipv4="$(sysctl -n security.mac.ipacl.ipv4)" + prev_ipacl_rules="$(sysctl -n security.mac.ipacl.rules)" + epairA=$(vnet_mkepair) epairB=$(vnet_mkepair) epairC=$(vnet_mkepair) @@ -130,8 +133,9 @@ ipacl_v4_body() atf_check -s not-exit:0 -e ignore \ jexec A ifconfig ${epairA}b 203.0.113.1/24 up - # Reset rules OID. - sysctl security.mac.ipacl.rules= + # Reset sysctls. + sysctl security.mac.ipacl.rules="${prev_ipacl_rules}" + sysctl security.mac.ipacl.ipv4="${prev_ipacl_ipv4}" } ipacl_v4_cleanup() @@ -151,6 +155,9 @@ ipacl_v6_body() { ipacl_test_init + prev_ipacl_ipv6="$(sysctl -n security.mac.ipacl.ipv6)" + prev_ipacl_rules="$(sysctl -n security.mac.ipacl.rules)" + epairA=$(vnet_mkepair) epairB=$(vnet_mkepair) epairC=$(vnet_mkepair) @@ -265,8 +272,9 @@ ipacl_v6_body() atf_check -s not-exit:0 -e ignore jexec A ifconfig \ ${epairA}b inet6 2001:db8::abcd/32 up - # Reset rules OID. - sysctl security.mac.ipacl.rules= + # Reset sysctls. + sysctl security.mac.ipacl.rules="${prev_ipacl_rules}" + sysctl security.mac.ipacl.ipv6="${prev_ipacl_ipv6}" } ipacl_v6_cleanup() diff --git a/tests/sys/mac/ipacl/utils.subr b/tests/sys/mac/ipacl/utils.subr index 1d80414bafea..2fff8b1862da 100644 --- a/tests/sys/mac/ipacl/utils.subr +++ b/tests/sys/mac/ipacl/utils.subr @@ -5,10 +5,6 @@ ipacl_test_init() { vnet_init - - if ! kldstat -q -m mac_ipacl; then - atf_skip "mac_ipacl is not loaded" - fi } ipacl_test_cleanup() From nobody Wed Oct 15 13:26:41 2025 X-Original-To: dev-commits-src-branches@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 4cmsLV12J3z6CNlb; Wed, 15 Oct 2025 13:26:42 +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 4cmsLT5Cnzz3Kq2; Wed, 15 Oct 2025 13:26:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534801; 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=hrypCXQkBQMhJEYXJ1tNIDFEQyeHU0HZ3TK713Ts9Ys=; b=h8onljl3h2emQVl0O/C47DvPuIacdSuzkm1wnyFFrDXJRvAa+CxkqJYpKNbCCfNVTq/BQm JL5hNZrk8neq0nsigAviDCO+AmXxarq+IKw91fEUFkUpTu9NOURuGvSyLuCqmNUK5pRsOc XAs69BBV8cYa7HwLvErKWMqmte17qtb9GAYyE2KZqvYZuJGzXXHE8I8Ndd3aOzbiD1821A A/98ZisjXiaEjGvZ2mzpHNBPmQM7UP4raX6tninnqeKBilTy2vgkCUkeYhfrbIStOT9NcJ lQiqTu4GOyygeoh6Q6POhq46B0/xga4gNtRtOobTuT0z8vUsqVCHzLi+2csvgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534801; 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=hrypCXQkBQMhJEYXJ1tNIDFEQyeHU0HZ3TK713Ts9Ys=; b=cf3hEpfE1Rn0/MVjowO4S/bsEyp2PnAxFlf2qWBOmpLjyoXQCE+H2kZT4ugrgr8gt+faS+ 41aQnIcN5ejyHD6EoQK3E0s9V0aiHJrn1iJjNVRjla5NGCy1LRhpgEvaWHe0X2bWRti7ov 7Oz5NPJLwK42AhLLtR76swY0V8ptGjUxQ37lxWM5igAMwU2ybg/6ZAWQkAOZbRw+P7JoCQ 88RmWQWNb33Htu571AGgE7o422UEKMk2ZI1GyYZQEadiKZwcQwHg8UE07zuc71sceZDOL5 9cvim9UtUkar3AjBRYvwXJ4y6yHpBW79Li8JxFMQ4nKW5u2hOpK0F7EjIaHhTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534801; a=rsa-sha256; cv=none; b=a0knY1YMLMJN5axu2jllo8yFCR2o5KCUOZIuaAmGoKyrIRxakPs8lB5//54NTTCXHOS0yc JHOD1ZHGvBU6MNEJtP09+HMocA4LlpgrNLYujWdHzUUNt0Wf5CXH5yWH8x5GTKDdzcqLaa mo97x3RDhi5ijWXsyKKyHybmDSFEsNHQ5R+GlTV0wfi2P/vpXWpug7w2RCsWL2eWcWJ1SC BB4927HkXxSd2I1wc41nDR3rbRU10KBlu59vYXqCHWstIAO/6bWHT8mMSsM0nW9J8kFtWi WadhX2pXMDOpxMF9JZRKC6VKCkvo3CgyF/eMq+EVWvU5Utp5M+waarU7C/9sog== 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 4cmsLT4kp0zgdf; Wed, 15 Oct 2025 13:26:41 +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 59FDQfH9051164; Wed, 15 Oct 2025 13:26:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQfgw051161; Wed, 15 Oct 2025 13:26:41 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:41 GMT Message-Id: <202510151326.59FDQfgw051161@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 88c0ce38bc18 - stable/15 - qat: enable qat driver for 402xx device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 88c0ce38bc18acaf50188eda402384a0cb93890d Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=88c0ce38bc18acaf50188eda402384a0cb93890d commit 88c0ce38bc18acaf50188eda402384a0cb93890d Author: Hareshx Sankar Raj AuthorDate: 2025-09-04 18:21:36 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:05 +0000 qat: enable qat driver for 402xx device Enabled qat driver support for 402xx device with ID 0x4944/0x4945. This is an additional device supported under the existing qat_4xxx driver. Firmwares specific to the 402xx device are added. Signed-off-by: Hareshx Sankar Raj Relnotes: yes Sponsored by: Intel Corporation MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52488 (cherry picked from commit 7fbd362c091b2b384d14c3ed5af9234bb2eff9c2) --- sys/contrib/dev/qat/qat_402xx.bin | Bin 0 -> 665360 bytes sys/contrib/dev/qat/qat_402xx_mmp.bin | Bin 0 -> 150084 bytes sys/dev/qat/include/common/adf_accel_devices.h | 4 ++ sys/dev/qat/qat_api/include/icp_sal_versions.h | 2 +- sys/dev/qat/qat_common/qat_uclo.c | 1 + sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c | 58 +++++++++++++++++++------ sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h | 6 +++ sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c | 15 ++++--- sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c | 15 ++++--- sys/modules/qatfw/qat_4xxx/Makefile | 5 ++- 10 files changed, 78 insertions(+), 28 deletions(-) diff --git a/sys/contrib/dev/qat/qat_402xx.bin b/sys/contrib/dev/qat/qat_402xx.bin new file mode 100644 index 000000000000..74151547edce Binary files /dev/null and b/sys/contrib/dev/qat/qat_402xx.bin differ diff --git a/sys/contrib/dev/qat/qat_402xx_mmp.bin b/sys/contrib/dev/qat/qat_402xx_mmp.bin new file mode 100644 index 000000000000..6404eb009d2f Binary files /dev/null and b/sys/contrib/dev/qat/qat_402xx_mmp.bin differ diff --git a/sys/dev/qat/include/common/adf_accel_devices.h b/sys/dev/qat/include/common/adf_accel_devices.h index c09aee8ea4bd..eeffc6a9132c 100644 --- a/sys/dev/qat/include/common/adf_accel_devices.h +++ b/sys/dev/qat/include/common/adf_accel_devices.h @@ -39,12 +39,16 @@ #define ADF_4XXXIOV_PCI_DEVICE_ID 0x4941 #define ADF_401XX_PCI_DEVICE_ID 0x4942 #define ADF_401XXIOV_PCI_DEVICE_ID 0x4943 +#define ADF_402XX_PCI_DEVICE_ID 0x4944 +#define ADF_402XXIOV_PCI_DEVICE_ID 0x4945 #define IS_QAT_GEN3(ID) ({ (ID == ADF_C4XXX_PCI_DEVICE_ID); }) static inline bool IS_QAT_GEN4(const unsigned int id) { return (id == ADF_4XXX_PCI_DEVICE_ID || id == ADF_401XX_PCI_DEVICE_ID || + id == ADF_402XX_PCI_DEVICE_ID || + id == ADF_402XXIOV_PCI_DEVICE_ID || id == ADF_4XXXIOV_PCI_DEVICE_ID || id == ADF_401XXIOV_PCI_DEVICE_ID); } diff --git a/sys/dev/qat/qat_api/include/icp_sal_versions.h b/sys/dev/qat/qat_api/include/icp_sal_versions.h index 03bcef4fcbbb..0eb227ade09c 100644 --- a/sys/dev/qat/qat_api/include/icp_sal_versions.h +++ b/sys/dev/qat/qat_api/include/icp_sal_versions.h @@ -26,7 +26,7 @@ /* Part name and number of the accelerator device */ #define SAL_INFO2_DRIVER_SW_VERSION_MAJ_NUMBER 3 -#define SAL_INFO2_DRIVER_SW_VERSION_MIN_NUMBER 15 +#define SAL_INFO2_DRIVER_SW_VERSION_MIN_NUMBER 16 #define SAL_INFO2_DRIVER_SW_VERSION_PATCH_NUMBER 0 /** diff --git a/sys/dev/qat/qat_common/qat_uclo.c b/sys/dev/qat/qat_common/qat_uclo.c index 54e8e8eb7421..b17020286d24 100644 --- a/sys/dev/qat/qat_common/qat_uclo.c +++ b/sys/dev/qat/qat_common/qat_uclo.c @@ -892,6 +892,7 @@ qat_uclo_get_dev_type(struct icp_qat_fw_loader_handle *handle) return ICP_QAT_AC_C4XXX_DEV_TYPE; case ADF_4XXX_PCI_DEVICE_ID: case ADF_401XX_PCI_DEVICE_ID: + case ADF_402XX_PCI_DEVICE_ID: return ICP_QAT_AC_4XXX_A_DEV_TYPE; default: pr_err("QAT: unsupported device 0x%x\n", diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c index d730efd5952b..49e1e1859e78 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c @@ -536,8 +536,8 @@ adf_exit_accel_units(struct adf_accel_dev *accel_dev) } static const char * -get_obj_name(struct adf_accel_dev *accel_dev, - enum adf_accel_unit_services service) +get_obj_name_4xxx(struct adf_accel_dev *accel_dev, + enum adf_accel_unit_services service) { switch (service) { case ADF_ACCEL_ASYM: @@ -553,6 +553,24 @@ get_obj_name(struct adf_accel_dev *accel_dev, } } +static const char * +get_obj_name_402xx(struct adf_accel_dev *accel_dev, + enum adf_accel_unit_services service) +{ + switch (service) { + case ADF_ACCEL_ASYM: + return ADF_402XX_ASYM_OBJ; + case ADF_ACCEL_CRYPTO: + return ADF_402XX_SYM_OBJ; + case ADF_ACCEL_COMPRESSION: + return ADF_402XX_DC_OBJ; + case ADF_ACCEL_ADMIN: + return ADF_402XX_ADMIN_OBJ; + default: + return NULL; + } +} + static uint32_t get_objs_num(struct adf_accel_dev *accel_dev) { @@ -982,8 +1000,23 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->clock_frequency = ADF_4XXX_AE_FREQ; hw_data->get_sku = get_sku; hw_data->heartbeat_ctr_num = ADF_NUM_HB_CNT_PER_AE; - hw_data->fw_name = ADF_4XXX_FW; - hw_data->fw_mmp_name = ADF_4XXX_MMP; + switch (id) { + case ADF_402XX_PCI_DEVICE_ID: + hw_data->fw_name = ADF_402XX_FW; + hw_data->fw_mmp_name = ADF_402XX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; + break; + case ADF_401XX_PCI_DEVICE_ID: + hw_data->fw_name = ADF_4XXX_FW; + hw_data->fw_mmp_name = ADF_4XXX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_401XX_ASYM_AE_MASK; + break; + + default: + hw_data->fw_name = ADF_4XXX_FW; + hw_data->fw_mmp_name = ADF_4XXX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; + } hw_data->init_admin_comms = adf_init_admin_comms; hw_data->exit_admin_comms = adf_exit_admin_comms; hw_data->send_admin_init = adf_4xxx_send_admin_init; @@ -1002,7 +1035,13 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->get_ring_svc_map_data = get_ring_svc_map_data; hw_data->admin_ae_mask = ADF_4XXX_ADMIN_AE_MASK; hw_data->get_objs_num = get_objs_num; - hw_data->get_obj_name = get_obj_name; + switch (id) { + case ADF_402XX_PCI_DEVICE_ID: + hw_data->get_obj_name = get_obj_name_402xx; + break; + default: + hw_data->get_obj_name = get_obj_name_4xxx; + } hw_data->get_obj_cfg_ae_mask = get_obj_cfg_ae_mask; hw_data->get_service_type = adf_4xxx_get_service_type; hw_data->set_msix_rttable = set_msix_default_rttable; @@ -1022,15 +1061,6 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->query_storage_cap = 1; hw_data->ring_pair_reset = adf_gen4_ring_pair_reset; - switch (id) { - case ADF_401XX_PCI_DEVICE_ID: - hw_data->asym_ae_active_thd_mask = DEFAULT_401XX_ASYM_AE_MASK; - break; - case ADF_4XXX_PCI_DEVICE_ID: - default: - hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; - } - adf_gen4_init_hw_csr_info(&hw_data->csr_info); adf_gen4_init_pf_pfvf_ops(&hw_data->csr_info.pfvf_ops); } diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h index c35ebbcadcd7..fa7249dca596 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h @@ -87,6 +87,12 @@ #define ADF_4XXX_SYM_OBJ "qat_4xxx_sym.bin" #define ADF_4XXX_ASYM_OBJ "qat_4xxx_asym.bin" #define ADF_4XXX_ADMIN_OBJ "qat_4xxx_admin.bin" +#define ADF_402XX_FW "qat_402xx_fw" +#define ADF_402XX_MMP "qat_402xx_mmp_fw" +#define ADF_402XX_DC_OBJ "qat_402xx_dc.bin" +#define ADF_402XX_SYM_OBJ "qat_402xx_sym.bin" +#define ADF_402XX_ASYM_OBJ "qat_402xx_asym.bin" +#define ADF_402XX_ADMIN_OBJ "qat_402xx_admin.bin" /* Only 3 types of images can be loaded including the admin image */ #define ADF_4XXX_MAX_OBJ 3 diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c index cb534dd03b86..f9ad39fa45f0 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c @@ -22,12 +22,14 @@ static MALLOC_DEFINE(M_QAT_4XXX, "qat_4xxx", "qat_4xxx"); PCI_VENDOR_ID_INTEL, device_id \ } -static const struct pci_device_id adf_pci_tbl[] = - { ADF_SYSTEM_DEVICE(ADF_4XXX_PCI_DEVICE_ID), - ADF_SYSTEM_DEVICE(ADF_401XX_PCI_DEVICE_ID), - { - 0, - } }; +static const struct pci_device_id adf_pci_tbl[] = { + ADF_SYSTEM_DEVICE(ADF_4XXX_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_401XX_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_402XX_PCI_DEVICE_ID), + { + 0, + } +}; static int adf_probe(device_t dev) @@ -135,6 +137,7 @@ adf_cleanup_accel(struct adf_accel_dev *accel_dev) switch (pci_get_device(accel_pci_dev->pci_dev)) { case ADF_4XXX_PCI_DEVICE_ID: case ADF_401XX_PCI_DEVICE_ID: + case ADF_402XX_PCI_DEVICE_ID: adf_clean_hw_data_4xxx(accel_dev->hw_device); break; default: diff --git a/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c b/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c index 2bbccb4d6b17..dbe40835ccbf 100644 --- a/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c +++ b/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c @@ -22,12 +22,14 @@ static MALLOC_DEFINE(M_QAT_4XXXVF, "qat_4xxxvf", "qat_4xxxvf"); PCI_VENDOR_ID_INTEL, device_id \ } -static const struct pci_device_id adf_pci_tbl[] = - { ADF_SYSTEM_DEVICE(ADF_4XXXIOV_PCI_DEVICE_ID), - ADF_SYSTEM_DEVICE(ADF_401XXIOV_PCI_DEVICE_ID), - { - 0, - } }; +static const struct pci_device_id adf_pci_tbl[] = { + ADF_SYSTEM_DEVICE(ADF_4XXXIOV_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_401XXIOV_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_402XXIOV_PCI_DEVICE_ID), + { + 0, + } +}; static int adf_probe(device_t dev) @@ -76,6 +78,7 @@ adf_cleanup_accel(struct adf_accel_dev *accel_dev) switch (pci_get_device(accel_pci_dev->pci_dev)) { case ADF_4XXXIOV_PCI_DEVICE_ID: case ADF_401XXIOV_PCI_DEVICE_ID: + case ADF_402XXIOV_PCI_DEVICE_ID: adf_clean_hw_data_4xxxiov(accel_dev->hw_device); break; default: diff --git a/sys/modules/qatfw/qat_4xxx/Makefile b/sys/modules/qatfw/qat_4xxx/Makefile index fb7171bcaf45..f6f19d6cbe32 100644 --- a/sys/modules/qatfw/qat_4xxx/Makefile +++ b/sys/modules/qatfw/qat_4xxx/Makefile @@ -4,6 +4,9 @@ KMOD= qat_4xxx_fw -FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 +FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 \ + qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 \ + qat_402xx.bin:qat_402xx_fw:111 \ + qat_402xx_mmp.bin:qat_402xx_mmp_fw:111 .include From nobody Wed Oct 15 13:26:42 2025 X-Original-To: dev-commits-src-branches@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 4cmsLW3RVlz6CNld; Wed, 15 Oct 2025 13:26:43 +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 4cmsLV5yTDz3KnM; Wed, 15 Oct 2025 13:26:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534802; 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=DpHes4Qi8wTSbP2PV3BRC93lfyYcJXPOz0EmH0TadtU=; b=xoVcSg7UrSerLUd4UcJ51GBk3wVhVEDXSzlgVihH9+nLnuP8X+m47SS3Rv4A+5li99bH04 ZfCv07Ho7QeVrXOZg647W6Ow64SWk1jEi2Eox7PsR9qhvqG7vnYNYar7Iby1IDSOnaEsLn J5YqDq8M+az3QO3M7jpgwOhTitVdx4f+x2dvG/nTYOPZYc3xHmrEhnYBefv0c+pBMKHMem jM61YtEQry+YSXWacfyHMkitRbBbAcc+fbN2/p4MCQrtMdEQMvo6sKC3CdcwEL9zNH5oQt rDxhyapzuNVOSgvikQOGsDWumQsZpaYPe4OQpW61sAmeYCyfibqOKBHzeTzSHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534802; 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=DpHes4Qi8wTSbP2PV3BRC93lfyYcJXPOz0EmH0TadtU=; b=CrboL7MJqRQZG7SSWjyndKOVYTg2yeFcpEJpSLGW0LjDA9HTJE5xA8OsxfQDaE74nuvlm6 KdMhIlq8qIOer5QTKsY9i3ZpT502IRomT/QkVC1osbO+2qRVNzSxbJP27FyHXAyKdmMfaz T9fovVkylILWrGMKpKyEhF39EozbHsc8caHGJaEftBo5uifSn/4PkrnllqldmcZFYmHfS/ s/r7TY8bSdg+GrsqMoLuFUtKfjzZQx+2vxoPRgL08TYUn5XR0mPDhYz0Vtqz1Nvleg4DJ+ xGE1SEBNQQ8lXoWQpbqmVn05hcEKgshpP9lXDSJpZjdOQ8whlE0yN/qRf2Flrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534802; a=rsa-sha256; cv=none; b=pq1rwNthpQ+N8Oq4Wr3zC7sUjPI1J0UN4uVetjGhElAO1ir8grCIfh38uDB1mpmmDBoC+8 4UnYFBm6dyg8KjEZjQNA/+a6yRiYNdn0pWkytJWnvI7AS4mwWqF6iR1CVcm5Htc4faSy8b 9MnjqRS9Uk22swzven3ZxNOflQxn54zFhB1ZXLylNHW9mbt0TT5JTbrWT9yfgPPi7pGznH hLgwNrtBxRg4DaHFgG1gMihzG4HuRu7kcbSPLnLdSXmfMZ3gSL65yC8sHUn7yJgsMUjPXQ MtQpRH8eVeRs0Qnu4UKE/2XS006QsckJKI5matMJx5L5xYD5qno63HGiYwBM0A== 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 4cmsLV5Gb5zgvm; Wed, 15 Oct 2025 13:26:42 +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 59FDQgiq051197; Wed, 15 Oct 2025 13:26:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQgw7051194; Wed, 15 Oct 2025 13:26:42 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:42 GMT Message-Id: <202510151326.59FDQgw7051194@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 6d44212c641b - stable/15 - pw: pw_mkdb(3) does not set errno List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 6d44212c641b9f30e5b9dd6e261659d20f916081 Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6d44212c641b9f30e5b9dd6e261659d20f916081 commit 6d44212c641b9f30e5b9dd6e261659d20f916081 Author: Mark Johnston AuthorDate: 2025-10-08 12:47:15 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:13 +0000 pw: pw_mkdb(3) does not set errno MFC after: 1 week Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. (cherry picked from commit b464c7a75e30e6149906458075b7eaf0841c7222) --- usr.sbin/pw/pwupd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/pw/pwupd.c b/usr.sbin/pw/pwupd.c index 89c1553c8c92..845a607ab1cb 100644 --- a/usr.sbin/pw/pwupd.c +++ b/usr.sbin/pw/pwupd.c @@ -119,7 +119,7 @@ pw_update(struct passwd * pwd, char const * user) */ if (pw_mkdb(pw != NULL ? pw->pw_name : NULL) == -1) { pw_fini(); - err(1, "pw_mkdb()"); + errx(1, "pw_mkdb()"); } free(pw); pw_fini(); From nobody Wed Oct 15 13:26:43 2025 X-Original-To: dev-commits-src-branches@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 4cmsLX1Kwcz6CNtF; Wed, 15 Oct 2025 13:26:44 +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 4cmsLW6CqJz3Ksx; Wed, 15 Oct 2025 13:26:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534803; 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=YQYWTw/cAqEp36BH3ptySD/m7Du2GDOn/rAkOm69XA8=; b=CTRLMdvSN7E7utaF7ilhSeZXfo0Lxmwtya1xLM8TyczyvObnQAmzQ5udMY+yWGph41v1Zx PE2b1L+MpDgf0sP6oGl72say4/zFySqNfbkofK2LKugzuop4UA5Bj6kvASPd3i0pHEIlnN uoWHvCFEWqxlzNvRqku4/TgZTsMUgduJaPhPIeTYRAafuUxLGGwiK1phuYGESTytyKXlFG hd+pM6hz848VIz7cME2kIYK6TLTR5PSkiOT4W6jqCescx9pIYSzp8bocHuWAUh21Bg/t1K I3WTVKt+n/D6JZ6dbB0Jp6dVpIRROqKYvAigY2ZaihA09tQNyqmV3EBnXdCOSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760534803; 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=YQYWTw/cAqEp36BH3ptySD/m7Du2GDOn/rAkOm69XA8=; b=FypPltp/ZT5yj+cCqr70orPG8TcJ3ZK3tsHmrUS/ESExsq6xA/HRhmRhqWKN6jUV/L6Y8K LGl9GpWcNbR/ZKIB6Dn5PS8vePxpAEZInO3iEsziEYI00ZSRDcXaxP94mH3juMDq6TZ8aS iQBC8prSnTywTdDC9TcXmvVdPT6phZVpAj/ZPjeR6JZWvl2/d1t12sXV/Y0Cg8WxcjPxaf BRSiiB3vhQQAvkB0kZCivpFbmqaKORb/94oPuvAgBSs4bKujW2EAhD4iSoBI8bvbJALA2X i0MAVYVVrOoVHr/h6q2BXybnJPtaqnBwWnoWrLv/6kyE4yEqZKXrYTyILpI4aA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760534803; a=rsa-sha256; cv=none; b=XnfOGxwNLs72VP/dVAzgrLGVXy9aAQ4TsvfJGEJjThSmZalSWk3uU2a6YICW7zlXH0vCI6 gfaNWIqooD8IoqIAvxR5/YNBup2MIWeTMR2408WFCdRJJIuJtrDI+nIYOf9g4AeiqtsRI4 KfpZCGJ/gQPLSfpOHJOCr1fA1HwekjOg9qapenuFro8V/BaBJjnFYbV1rbpUkT7BrXO7X+ dbCfvqpqeDAHVf2KCdjJZAk2HyZD9/FuCqqyIWcee5GQwdxRaTRrNPo3xfLyKSQsiarbKa Ixv47at6Te6QftlxXArUXf19NX7f13B8vgHhrYB5AWA23j5ux2tAY/apLdnf/Q== 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 4cmsLW5qNrzgm6; Wed, 15 Oct 2025 13:26:43 +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 59FDQhsL051230; Wed, 15 Oct 2025 13:26:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FDQhk1051227; Wed, 15 Oct 2025 13:26:43 GMT (envelope-from git) Date: Wed, 15 Oct 2025 13:26:43 GMT Message-Id: <202510151326.59FDQhk1051227@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 3a382afe367a - stable/15 - cryptocheck: Be friendlier when testing software crypto backends List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 3a382afe367a5ecd849ca0e3ba92781f24ce1be4 Auto-Submitted: auto-generated The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3a382afe367a5ecd849ca0e3ba92781f24ce1be4 commit 3a382afe367a5ecd849ca0e3ba92781f24ce1be4 Author: Mark Johnston AuthorDate: 2025-10-08 15:24:12 +0000 Commit: Mark Johnston CommitDate: 2025-10-15 13:23:24 +0000 cryptocheck: Be friendlier when testing software crypto backends - Fail loudly if we can't change the kern.crypto.allow_soft sysctl. - Add more drivers to the list. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D52490 (cherry picked from commit e63bf6aa523eb9a865b7ce34d01e75a13818b367) --- tools/tools/crypto/cryptocheck.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/tools/crypto/cryptocheck.c b/tools/tools/crypto/cryptocheck.c index 6506671455ac..46a364b0453c 100644 --- a/tools/tools/crypto/cryptocheck.c +++ b/tools/tools/crypto/cryptocheck.c @@ -362,9 +362,11 @@ enable_user_soft(void) size_t cursize = sizeof(curstate); if (sysctlbyname(CRYPT_SOFT_ALLOW, &curstate, &cursize, - &on, sizeof(on)) == 0) { + &on, sizeof(on)) == 0) { if (curstate == 0) atexit(reset_user_soft); + } else { + err(1, "sysctl(%s)", CRYPT_SOFT_ALLOW); } } @@ -373,7 +375,10 @@ crlookup(const char *devname) { struct crypt_find_op find; - if (strncmp(devname, "soft", 4) == 0) { + if (strncmp(devname, "soft", 4) == 0 || + strncmp(devname, "ossl", 4) == 0 || + strncmp(devname, "aesni", 5) == 0 || + strncmp(devname, "armv8crypto", 11) == 0) { enable_user_soft(); return CRYPTO_FLAG_SOFTWARE; } From nobody Wed Oct 15 14:05:59 2025 X-Original-To: dev-commits-src-branches@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 4cmtCq4kLwz6CRWn; Wed, 15 Oct 2025 14:05:59 +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 4cmtCq3w7Kz3WPk; Wed, 15 Oct 2025 14:05:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760537159; 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=/3GQZ68a9rDum6qXft0lsbNF6CdHxBtnNXyajjAfuwk=; b=g/0Hj7iBlH3N30dA0UAgfBjsspW7QHRGF9ysRAPUnTbDUoZCGfLtHGr1VilzMDbXGsAl+y BDRQoGlJBbgvFas177pNcxbebCJYt4+VaGqn+HXeJwRWar9w/EItZ9Pc+qYXK/G19ASlv0 RMwFH6pWBRByhTCGEwVKR2VnjMw7Sie+g+KDm2k8DnaOsyXe7M7z27OoeCeSRmL1i9dqav CyaO1N+1M548Vj/KPZculTIPxSZw4oBsqpCQDGazs7MR/IJ1TrGeCDYh2HyAG2MYkPqL8x xHZV9BN6Joxfr0MA44kmxul46zoYL6jXvAid8PQnE9BY0c6pSj2nqa9l4z2+rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760537159; 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=/3GQZ68a9rDum6qXft0lsbNF6CdHxBtnNXyajjAfuwk=; b=ICrwWvTZm4geT1OhXbwhmyTvAu5CqT/bvEhs0njFo39zZT2NCpPj9z3NnZxwudy51NryiJ iDfwgnAxzMIvvrBH14AzO3Iv6RDxzdJ2qqNDQeyDoF/GBZA4qRFBiPdTGyQ7FcyaXeeW0b BwmvIhYZDFxTqWJuRZcmbw6div9RN2Sksi75vi8pAo8gNskY5WE3pbmBn1ZVRSKakbewU1 lidO1QpCfnMhKxerOtp6G4Urv9KbXaG5uO5NCFYjjmA35kuIfXWcqqqpUv5soLsrkcbg14 1Br2U7qX2QY9oOoJbfyyRW0ar0I+pXDZFw+AR0D67DsPjPf6uiCNZr54VXahIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760537159; a=rsa-sha256; cv=none; b=bzCMfuRkQNto9e/X5R+joRxbuXTgm48o1GnX09Ka0oA0Q+PJy0ZTgRu5V0qsMpUbEJVO6u lCzN6CETscnOnc98mHGA3Ih5jg2LI5JTzNQ4hXvoNdxkIWz1He+xqC03dkMdU7bU8ld0AN nAdToQdvbn3adgHvekeqeLrO1ZzchHs1sqsMofB+XCb6uOaPceblY1dGocltlxbQhiKGYc 8aYV/43bhA/jUSa8hex+ZByr8BVlG5jWWK34V3W2oafiWAKz0t4TbIXLm+jihMfAxEROf2 XQP3Vn0NV5PU7P89I3meoTjUBwUGdYJ6dfemianFbpeeLKcfvmf+yYkN1/gKGQ== 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 4cmtCq31HTzhsJ; Wed, 15 Oct 2025 14:05:59 +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 59FE5xBv026976; Wed, 15 Oct 2025 14:05:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FE5xup026973; Wed, 15 Oct 2025 14:05:59 GMT (envelope-from git) Date: Wed, 15 Oct 2025 14:05:59 GMT Message-Id: <202510151405.59FE5xup026973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 25c6697b0b98 - stable/15 - ipv6: don't complain when deleting an address with prefix length of 128 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 25c6697b0b985228639cdeb5212a5f705731f69a Auto-Submitted: auto-generated The branch stable/15 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=25c6697b0b985228639cdeb5212a5f705731f69a commit 25c6697b0b985228639cdeb5212a5f705731f69a Author: Andrey V. Elsukov AuthorDate: 2025-10-07 13:08:15 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-10-15 14:05:07 +0000 ipv6: don't complain when deleting an address with prefix length of 128 Save prefix length in unused field in6_ifaddr->ia_plen, then on remove check if an address has 128 prefix length, and if so, we don't need to complain that there is none of related prefixes. Reviewed by: kp Obtained from: Yandex LLC Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D52952 (cherry picked from commit c4cce0a3e94e3b22f874508d1a9cd81442648238) --- sys/netinet6/in6.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 4f756a75fac7..b98703bdfbfe 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1295,8 +1295,8 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i */ bzero(&pr0, sizeof(pr0)); pr0.ndpr_ifp = ifp; - pr0.ndpr_plen = in6_mask2len(&ifra->ifra_prefixmask.sin6_addr, - NULL); + pr0.ndpr_plen = ia->ia_plen = + in6_mask2len(&ifra->ifra_prefixmask.sin6_addr, NULL); if (pr0.ndpr_plen == 128) { /* we don't need to install a host route. */ goto aifaddr_out; @@ -1490,16 +1490,16 @@ in6_unlink_ifa(struct in6_ifaddr *ia, struct ifnet *ifp) * positive reference. */ remove_lle = 0; - if (ia->ia6_ndpr == NULL) { - nd6log((LOG_NOTICE, - "in6_unlink_ifa: autoconf'ed address " - "%s has no prefix\n", ip6_sprintf(ip6buf, IA6_IN6(ia)))); - } else { + if (ia->ia6_ndpr != NULL) { ia->ia6_ndpr->ndpr_addrcnt--; /* Do not delete lles within prefix if refcont != 0 */ if (ia->ia6_ndpr->ndpr_addrcnt == 0) remove_lle = 1; ia->ia6_ndpr = NULL; + } else if (ia->ia_plen < 128) { + nd6log((LOG_NOTICE, + "in6_unlink_ifa: autoconf'ed address " + "%s has no prefix\n", ip6_sprintf(ip6buf, IA6_IN6(ia)))); } nd6_rem_ifa_lle(ia, remove_lle); From nobody Wed Oct 15 14:07:13 2025 X-Original-To: dev-commits-src-branches@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 4cmtFG0fYWz6CS0L; Wed, 15 Oct 2025 14:07:14 +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 4cmtFG08Zvz3Wl3; Wed, 15 Oct 2025 14:07:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760537234; 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=a6kUeZjB9tApHPJRNu8oUNy/leEeYc1Hy9s21YA/Y74=; b=seZHwDvsDV4DO98i6G855hbv/86E4ItnOWaJgmYzjiuLti8167RdnmCeNyB9290lvi1MLV 6P41+NXap1/aoTj1khtCfnqqMyu73eaIiHGLAoxxWKz2D/SYW6cy+LLpAY/Jioh5gIJUb0 lE021FH/4PL6NRP60AVw/+8ogb0HGQbsPRDOorwdyHPTo24E8U4jXd5LVYPJw0uoEtM1nD GmWFzvYhCYgudKNAIhssbLJUmPsFn7qrpgcqrdG21Md7OChHYEizG7iYp69i/vkudpbl3Z dnsWfviOH9w9gegtMDM75l6d+thVPyTQtdv4AGd31mNaXzuUhR5M+Dyu2z51rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760537234; 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=a6kUeZjB9tApHPJRNu8oUNy/leEeYc1Hy9s21YA/Y74=; b=c4EFQ7ag3gP3SXyIAibGYqaqRSKFhAzsVbZTu9zXEjD88ss0IFE/Y+RRXV+Hf8u/mjuiet nwcACrRtlFeBZeVUShRS1w1qQsW6rPHlsCbsnsXZXMe43Nkhw2+Bo/gVbAqxDGE6CskZNh fHrc/isYZqEFgD7+l6w+Lw8WJ8H9ybF7xPZClH4xHXRiBYVW2usiiF1wmuqx57X2vWW2JL CTMUVydPuD3syh4d3AmYDaA7kezJAVy0MTawxGmPyZTxDRi9rJI6mHcu9pn+M2sETT+sVi URM3IXF/K5h5ZrFnIBQy7DalAkeYgpSuJsVGT9aOchxxNJxXwPC78FqXNGC+xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760537234; a=rsa-sha256; cv=none; b=Qio5XT/3UhABZKZFMVgb9oHd0xkzFxdB1PPAII1YXI1Jg5DGld2ycQ40aYjMTgWdbA4z9z B0tO+baOVkZ1f1ToTu8y7CCt6l3LgsdKyq7eRWX1a0ThQhXq4ypgK2er5EL7L1WNTECY59 e9PlbvZAnf/rMTQyfFZ0yHlNTdRfB0QMAgkPN0ImpwnLHL36YllJc71OMj95Zd/SD82A56 9AH3ld/S01I/+HXDl2Zcr9aBSAtu8U22qGSWJrTvbbw11ZWQGTaLiOH/CwhsgsJUvhzmNM Yw1D+JVqdMQyCfTMPuf5ajBMIfhf1guJvbcZkykF+sVGxLKD4MjwCeCOMFRjiA== 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 4cmtFF6qwdzhQm; Wed, 15 Oct 2025 14:07:13 +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 59FE7Dv3027450; Wed, 15 Oct 2025 14:07:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FE7DEM027447; Wed, 15 Oct 2025 14:07:13 GMT (envelope-from git) Date: Wed, 15 Oct 2025 14:07:13 GMT Message-Id: <202510151407.59FE7DEM027447@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 613eb8ee9cb2 - stable/14 - ipv6: don't complain when deleting an address with prefix length of 128 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 613eb8ee9cb269205cdf168e02b4b093ae1c9a62 Auto-Submitted: auto-generated The branch stable/14 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=613eb8ee9cb269205cdf168e02b4b093ae1c9a62 commit 613eb8ee9cb269205cdf168e02b4b093ae1c9a62 Author: Andrey V. Elsukov AuthorDate: 2025-10-07 13:08:15 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-10-15 14:06:43 +0000 ipv6: don't complain when deleting an address with prefix length of 128 Save prefix length in unused field in6_ifaddr->ia_plen, then on remove check if an address has 128 prefix length, and if so, we don't need to complain that there is none of related prefixes. Reviewed by: kp Obtained from: Yandex LLC Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D52952 (cherry picked from commit c4cce0a3e94e3b22f874508d1a9cd81442648238) --- sys/netinet6/in6.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 8d43ae18969a..b2b3c64d0a77 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1288,8 +1288,8 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i */ bzero(&pr0, sizeof(pr0)); pr0.ndpr_ifp = ifp; - pr0.ndpr_plen = in6_mask2len(&ifra->ifra_prefixmask.sin6_addr, - NULL); + pr0.ndpr_plen = ia->ia_plen = + in6_mask2len(&ifra->ifra_prefixmask.sin6_addr, NULL); if (pr0.ndpr_plen == 128) { /* we don't need to install a host route. */ goto aifaddr_out; @@ -1483,16 +1483,16 @@ in6_unlink_ifa(struct in6_ifaddr *ia, struct ifnet *ifp) * positive reference. */ remove_lle = 0; - if (ia->ia6_ndpr == NULL) { - nd6log((LOG_NOTICE, - "in6_unlink_ifa: autoconf'ed address " - "%s has no prefix\n", ip6_sprintf(ip6buf, IA6_IN6(ia)))); - } else { + if (ia->ia6_ndpr != NULL) { ia->ia6_ndpr->ndpr_addrcnt--; /* Do not delete lles within prefix if refcont != 0 */ if (ia->ia6_ndpr->ndpr_addrcnt == 0) remove_lle = 1; ia->ia6_ndpr = NULL; + } else if (ia->ia_plen < 128) { + nd6log((LOG_NOTICE, + "in6_unlink_ifa: autoconf'ed address " + "%s has no prefix\n", ip6_sprintf(ip6buf, IA6_IN6(ia)))); } nd6_rem_ifa_lle(ia, remove_lle); From nobody Wed Oct 15 15:35:31 2025 X-Original-To: dev-commits-src-branches@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 4cmwC80cHKz6CYWc; Wed, 15 Oct 2025 15:35:32 +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 4cmwC80Bvnz3l8c; Wed, 15 Oct 2025 15:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760542532; 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=ctIqqvPtSmtWa/4pd3wN+1gN+yoh6gUwgljLVAB7UG8=; b=jDJgVQplYQ4HAjVW0IM94E/BIcGIizTPYKcnF8l+ld7JbOfYt4Y4oF32oYk5mPvm9pdVQT OGeN1N0wGjcpAQWy5TT9MsKARgO4JHFb9tZk7iLb0PjNKnYzyalacNANu/Jeg/cphTNb9n Tx4CgA4aOrKGCUVluDQCMQZJbT1glb9qx99fT5rsd0xmlLDey4Yx7gIVnGz8R8Hu7jjHCb afAtje50tJ8TXq0ZnLaju+GIJVO8YzD74TvUVVYGIW6hwCqPbdujJJE03JO+2WUl1n6fkl x6DH24kk030cEIpAVQwQCkNFvpS8GAnRDfBG2fWFKjUgAH5DChpHNk3TT76OVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760542532; 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=ctIqqvPtSmtWa/4pd3wN+1gN+yoh6gUwgljLVAB7UG8=; b=Zv6NdMguhuYV5nNLxUzXq1Y7RBFWpRF3SoOgAN4PXjvaqFtZOG5P8jJtBUubLv8y08FfMP 52txjxVRG02qxXzNmUa74wwwuQXp69I8hd6U+1q68/QBFDvOQNWkaNq04O/buS7jishKko W3CxlgURQuHrZ7fDRk/U6mZ6Dzrzcp8Aeo1qmYZVcRwFAl9AdmOmQT0q85JO4VR4mJ/rBE 0FcWrRwc4+2K6r/AW1jPCgHHxkTa0x85Rww7HQwlH7jvGXoZUbZzLld1GjxMrt3pJwbLf6 cARu8+YDzZajGlKFoKMQls4TYD947bzQbK1EdPn3jmJX63ipA+SWB/Wu1vsTzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760542532; a=rsa-sha256; cv=none; b=Qb/jVTOh90+BWrszilWJWxtaREtc20EIKMqK0ByXIRJMR+beZlK+Aif181Xg8rdFgQYs8P sLs4/QNFz0/VlHYZ8g73YU5tnun1OgBKuBNprfADWS4l2HQ1bgPfIXZkSeKD0tH597ez10 nuhk0rnQsY1RZiUGrjnFGYJMvju6eorGn5+bdlhARzubFmy3/pKgwHKEFzB8/4hLpzOgfO OpONTR3qD7Bo6/3cqNKrCZXhdqCtECXTyeAx54W7sdcKcqkfcKg84Gt3wTWGIfa/IGT0yw iAbEeKcbIys72cR03BRn0f93zQIwzApucJD7XD8lGhGldOafQeovMX66VClo7Q== 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 4cmwC76c28zl4g; Wed, 15 Oct 2025 15:35:31 +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 59FFZV5R095681; Wed, 15 Oct 2025 15:35:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FFZVXF095678; Wed, 15 Oct 2025 15:35:31 GMT (envelope-from git) Date: Wed, 15 Oct 2025 15:35:31 GMT Message-Id: <202510151535.59FFZVXF095678@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Krzysztof Galazka Subject: git: a728b96686e6 - stable/14 - ix/ixv: Add support for new Intel Ethernet E610 family devices List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a728b96686e69cc3237f94b07f3bced44eeed8e9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=a728b96686e69cc3237f94b07f3bced44eeed8e9 commit a728b96686e69cc3237f94b07f3bced44eeed8e9 Author: Bhosale, Yogeshnull AuthorDate: 2025-08-19 14:19:07 +0000 Commit: Krzysztof Galazka CommitDate: 2025-10-15 15:26:26 +0000 ix/ixv: Add support for new Intel Ethernet E610 family devices This is part 1 of the support for the new Intel Ethernet E610 family of devices. Introduce new PCI device IDs: • 57AE: Intel(R) E610 (Backplane) • 57AF: Intel(R) E610 (SFP) • 57B0: Intel(R) E610 (10 GbE) • 57B1: Intel(R) E610 (2.5 GbE) • 57B2: Intel(R) E610 (SGMII) Key updates for E610 family: • Firmware manages Link and PHY • Implement new CSR-based Admin Command Interface (ACI) for SW-FW interaction • Tested exclusively for x64 operating systems on E610-XT2/XT4 (10G) and E610-IT4 (2.5G) • Enable link speeds above 1G: 2.5G, 5G and 10G • NVM Recovery Mode and Rollback support Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com Co-developed-by: Krzysztof Galazka krzysztof.galazka@intel.com Approved by: kbowling (mentor), erj (mentor) Tested by: gowtham.kumar.ks_intel.com Sponsored by: Intel Corporation MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50067 (cherry picked from commit dea5f973d0c8d29a79b433283d0a2de8f4615957) --- sys/conf/files | 2 + sys/dev/ixgbe/if_ix.c | 231 +- sys/dev/ixgbe/if_ixv.c | 6 + sys/dev/ixgbe/ixgbe.h | 11 + sys/dev/ixgbe/ixgbe_api.c | 16 + sys/dev/ixgbe/ixgbe_api.h | 1 + sys/dev/ixgbe/ixgbe_common.c | 25 +- sys/dev/ixgbe/ixgbe_e610.c | 5567 +++++++++++++++++++++++++++++++++++++++ sys/dev/ixgbe/ixgbe_e610.h | 224 ++ sys/dev/ixgbe/ixgbe_osdep.c | 26 + sys/dev/ixgbe/ixgbe_osdep.h | 31 + sys/dev/ixgbe/ixgbe_type.h | 69 +- sys/dev/ixgbe/ixgbe_type_e610.h | 2278 ++++++++++++++++ sys/dev/ixgbe/ixgbe_vf.c | 3 +- sys/modules/ix/Makefile | 2 +- sys/modules/ixv/Makefile | 2 +- 16 files changed, 8458 insertions(+), 36 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 12ddadf62154..427f6fdebf57 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -2282,6 +2282,8 @@ dev/ixgbe/ixgbe_x540.c optional ix inet | ixv inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_x550.c optional ix inet | ixv inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" +dev/ixgbe/ixgbe_e610.c optional ix inet | ixv inet \ + compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_dcb.c optional ix inet | ixv inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_dcb_82598.c optional ix inet | ixv inet \ diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 5adda9642868..5c4ca585c323 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -45,7 +45,7 @@ /************************************************************************ * Driver version ************************************************************************/ -static const char ixgbe_driver_version[] = "4.0.1-k"; +static const char ixgbe_driver_version[] = "5.0.1-k"; /************************************************************************ * PCI Device ID Table @@ -144,6 +144,16 @@ static const pci_vendor_info_t ixgbe_vendor_info_array[] = "Intel(R) X540-T2 (Bypass)"), PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BYPASS, "Intel(R) X520 82599 (Bypass)"), + PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_E610_BACKPLANE, + "Intel(R) E610 (Backplane)"), + PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_E610_SFP, + "Intel(R) E610 (SFP)"), + PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_E610_2_5G_T, + "Intel(R) E610 (2.5 GbE)"), + PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_E610_10G_T, + "Intel(R) E610 (10 GbE)"), + PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_E610_SGMII, + "Intel(R) E610 (SGMII)"), /* required last entry */ PVID_END }; @@ -254,6 +264,10 @@ static int ixgbe_sysctl_tso_tcp_flags_mask(SYSCTL_HANDLER_ARGS); static void ixgbe_handle_msf(void *); static void ixgbe_handle_mod(void *); static void ixgbe_handle_phy(void *); +static void ixgbe_handle_fw_event(void *); + +static int ixgbe_enable_lse(struct ixgbe_softc *sc); +static int ixgbe_disable_lse(struct ixgbe_softc *sc); /************************************************************************ * FreeBSD Device Interface Entry Points @@ -622,6 +636,7 @@ ixgbe_initialize_rss_mapping(struct ixgbe_softc *sc) case ixgbe_mac_X550: case ixgbe_mac_X550EM_x: case ixgbe_mac_X550EM_a: + case ixgbe_mac_E610: table_size = 512; break; default: @@ -903,6 +918,32 @@ ixgbe_initialize_transmit_units(if_ctx_t ctx) } /* ixgbe_initialize_transmit_units */ +static int +ixgbe_check_fw_api_version(struct ixgbe_softc *sc) +{ + struct ixgbe_hw *hw = &sc->hw; + if (hw->api_maj_ver > IXGBE_FW_API_VER_MAJOR) { + device_printf(sc->dev, + "The driver for the device stopped because the NVM " + "image is newer than expected. You must install the " + "most recent version of the network driver.\n"); + return (EOPNOTSUPP); + } else if (hw->api_maj_ver == IXGBE_FW_API_VER_MAJOR && + hw->api_min_ver > (IXGBE_FW_API_VER_MINOR + 2)) { + device_printf(sc->dev, + "The driver for the device detected a newer version of " + "the NVM image than expected. Please install the most " + "recent version of the network driver.\n"); + } else if (hw->api_maj_ver < IXGBE_FW_API_VER_MAJOR || + hw->api_min_ver < IXGBE_FW_API_VER_MINOR - 2) { + device_printf(sc->dev, + "The driver for the device detected an older version " + "of the NVM image than expected. " + "Please update the NVM image.\n"); + } + return (0); +} + /************************************************************************ * ixgbe_register ************************************************************************/ @@ -971,6 +1012,9 @@ ixgbe_if_attach_pre(if_ctx_t ctx) goto err_pci; } + if (hw->mac.type == ixgbe_mac_E610) + ixgbe_init_aci(hw); + if (hw->mac.ops.fw_recovery_mode && hw->mac.ops.fw_recovery_mode(hw)) { device_printf(dev, @@ -1059,6 +1103,12 @@ ixgbe_if_attach_pre(if_ctx_t ctx) break; } + /* Check the FW API version */ + if (hw->mac.type == ixgbe_mac_E610 && ixgbe_check_fw_api_version(sc)) { + error = EIO; + goto err_pci; + } + /* Most of the iflib initialization... */ iflib_set_mac(ctx, hw->mac.addr); @@ -1112,6 +1162,9 @@ err_pci: IXGBE_WRITE_REG(&sc->hw, IXGBE_CTRL_EXT, ctrl_ext); ixgbe_free_pci_resources(ctx); + if (hw->mac.type == ixgbe_mac_E610) + ixgbe_shutdown_aci(hw); + return (error); } /* ixgbe_if_attach_pre */ @@ -1359,6 +1412,10 @@ ixgbe_add_media_types(if_ctx_t ctx) /* Media types with matching FreeBSD media defines */ if (layer & IXGBE_PHYSICAL_LAYER_10GBASE_T) ifmedia_add(sc->media, IFM_ETHER | IFM_10G_T, 0, NULL); + if (layer & IXGBE_PHYSICAL_LAYER_5000BASE_T) + ifmedia_add(sc->media, IFM_ETHER | IFM_5000_T, 0, NULL); + if (layer & IXGBE_PHYSICAL_LAYER_2500BASE_T) + ifmedia_add(sc->media, IFM_ETHER | IFM_2500_T, 0, NULL); if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_T) ifmedia_add(sc->media, IFM_ETHER | IFM_1000_T, 0, NULL); if (layer & IXGBE_PHYSICAL_LAYER_100BASE_TX) @@ -1460,6 +1517,7 @@ ixgbe_is_sfp(struct ixgbe_hw *hw) } case ixgbe_mac_X550EM_x: case ixgbe_mac_X550EM_a: + case ixgbe_mac_E610: if (hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) return (true); return (false); @@ -1526,6 +1584,15 @@ ixgbe_config_link(if_ctx_t ctx) IXGBE_LINK_SPEED_5GB_FULL); } + if (hw->mac.type == ixgbe_mac_E610) { + hw->phy.ops.init(hw); + err = ixgbe_enable_lse(sc); + if (err) + device_printf(sc->dev, + "Failed to enable Link Status Event, " + "error: %d", err); + } + if (hw->mac.ops.setup_link) err = hw->mac.ops.setup_link(hw, autoneg, sc->link_up); @@ -2159,14 +2226,15 @@ get_parent_info: ixgbe_set_pci_config_data_generic(hw, link); display: - device_printf(dev, "PCI Express Bus: Speed %s %s\n", - ((hw->bus.speed == ixgbe_bus_speed_8000) ? "8.0GT/s" : + device_printf(dev, "PCI Express Bus: Speed %s Width %s\n", + ((hw->bus.speed == ixgbe_bus_speed_16000) ? "16.0GT/s" : + (hw->bus.speed == ixgbe_bus_speed_8000) ? "8.0GT/s" : (hw->bus.speed == ixgbe_bus_speed_5000) ? "5.0GT/s" : (hw->bus.speed == ixgbe_bus_speed_2500) ? "2.5GT/s" : "Unknown"), - ((hw->bus.width == ixgbe_bus_width_pcie_x8) ? "Width x8" : - (hw->bus.width == ixgbe_bus_width_pcie_x4) ? "Width x4" : - (hw->bus.width == ixgbe_bus_width_pcie_x1) ? "Width x1" : + ((hw->bus.width == ixgbe_bus_width_pcie_x8) ? "x8" : + (hw->bus.width == ixgbe_bus_width_pcie_x4) ? "x4" : + (hw->bus.width == ixgbe_bus_width_pcie_x1) ? "x1" : "Unknown")); if (bus_info_valid) { @@ -2373,14 +2441,17 @@ ixgbe_if_media_status(if_ctx_t ctx, struct ifmediareq * ifmr) ifmr->ifm_status |= IFM_ACTIVE; layer = sc->phy_layer; - if (layer & IXGBE_PHYSICAL_LAYER_10GBASE_T || - layer & IXGBE_PHYSICAL_LAYER_1000BASE_T || - layer & IXGBE_PHYSICAL_LAYER_100BASE_TX || - layer & IXGBE_PHYSICAL_LAYER_10BASE_T) + if (layer & IXGBE_PHYSICAL_LAYERS_BASE_T_ALL) switch (sc->link_speed) { case IXGBE_LINK_SPEED_10GB_FULL: ifmr->ifm_active |= IFM_10G_T | IFM_FDX; break; + case IXGBE_LINK_SPEED_5GB_FULL: + ifmr->ifm_active |= IFM_5000_T | IFM_FDX; + break; + case IXGBE_LINK_SPEED_2_5GB_FULL: + ifmr->ifm_active |= IFM_2500_T | IFM_FDX; + break; case IXGBE_LINK_SPEED_1GB_FULL: ifmr->ifm_active |= IFM_1000_T | IFM_FDX; break; @@ -2391,15 +2462,6 @@ ixgbe_if_media_status(if_ctx_t ctx, struct ifmediareq * ifmr) ifmr->ifm_active |= IFM_10_T | IFM_FDX; break; } - if (hw->mac.type == ixgbe_mac_X550) - switch (sc->link_speed) { - case IXGBE_LINK_SPEED_5GB_FULL: - ifmr->ifm_active |= IFM_5000_T | IFM_FDX; - break; - case IXGBE_LINK_SPEED_2_5GB_FULL: - ifmr->ifm_active |= IFM_2500_T | IFM_FDX; - break; - } if (layer & IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU || layer & IXGBE_PHYSICAL_LAYER_SFP_ACTIVE_DA) switch (sc->link_speed) { @@ -2677,6 +2739,11 @@ ixgbe_msix_link(void *arg) sc->task_requests |= IXGBE_REQUEST_TASK_LSC; } + if (eicr & IXGBE_EICR_FW_EVENT) { + IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_EICR_FW_EVENT); + sc->task_requests |= IXGBE_REQUEST_TASK_FWEVENT; + } + if (sc->hw.mac.type != ixgbe_mac_82598EB) { if ((sc->feat_en & IXGBE_FEATURE_FDIR) && (eicr & IXGBE_EICR_FLOW_DIR)) { @@ -2735,11 +2802,16 @@ ixgbe_msix_link(void *arg) /* Check for VF message */ if ((sc->feat_en & IXGBE_FEATURE_SRIOV) && - (eicr & IXGBE_EICR_MAILBOX)) + (eicr & IXGBE_EICR_MAILBOX)) { sc->task_requests |= IXGBE_REQUEST_TASK_MBX; + } } - if (ixgbe_is_sfp(hw)) { + /* + * On E610, the firmware handles PHY configuration, so + * there is no need to perform any SFP-specific tasks. + */ + if (hw->mac.type != ixgbe_mac_E610 && ixgbe_is_sfp(hw)) { /* Pluggable optics-related interrupt */ if (hw->mac.type >= ixgbe_mac_X540) eicr_mask = IXGBE_EICR_GPI_SDP0_X540; @@ -2986,7 +3058,13 @@ ixgbe_if_detach(if_ctx_t ctx) callout_drain(&sc->fw_mode_timer); + if (sc->hw.mac.type == ixgbe_mac_E610) { + ixgbe_disable_lse(sc); + ixgbe_shutdown_aci(&sc->hw); + } + ixgbe_free_pci_resources(ctx); + free(sc->mta, M_IXGBE); return (0); @@ -3405,6 +3483,7 @@ ixgbe_set_ivar(struct ixgbe_softc *sc, u8 entry, u8 vector, s8 type) case ixgbe_mac_X550: case ixgbe_mac_X550EM_x: case ixgbe_mac_X550EM_a: + case ixgbe_mac_E610: if (type == -1) { /* MISC IVAR */ index = (entry & 1) * 8; ivar = IXGBE_READ_REG(hw, IXGBE_IVAR_MISC); @@ -3826,6 +3905,96 @@ ixgbe_handle_phy(void *context) "Error handling LASI interrupt: %d\n", error); } /* ixgbe_handle_phy */ +/************************************************************************ + * ixgbe_enable_lse - enable link status events + * + * Sets mask and enables link status events + ************************************************************************/ +s32 ixgbe_enable_lse(struct ixgbe_softc *sc) +{ + s32 error; + + u16 mask = ~((u16)(IXGBE_ACI_LINK_EVENT_UPDOWN | + IXGBE_ACI_LINK_EVENT_MEDIA_NA | + IXGBE_ACI_LINK_EVENT_MODULE_QUAL_FAIL | + IXGBE_ACI_LINK_EVENT_PHY_FW_LOAD_FAIL)); + + error = ixgbe_configure_lse(&sc->hw, TRUE, mask); + if (error) + return (error); + + sc->lse_mask = mask; + return (IXGBE_SUCCESS); +} /* ixgbe_enable_lse */ + +/************************************************************************ + * ixgbe_disable_lse - disable link status events + ************************************************************************/ +s32 ixgbe_disable_lse(struct ixgbe_softc *sc) +{ + s32 error; + + error = ixgbe_configure_lse(&sc->hw, false, sc->lse_mask); + if (error) + return (error); + + sc->lse_mask = 0; + return (IXGBE_SUCCESS); +} /* ixgbe_disable_lse */ + +/************************************************************************ + * ixgbe_handle_fw_event - Tasklet for MSI-X Link Status Event interrupts + ************************************************************************/ +static void +ixgbe_handle_fw_event(void *context) +{ + if_ctx_t ctx = context; + struct ixgbe_softc *sc = iflib_get_softc(ctx); + struct ixgbe_hw *hw = &sc->hw; + struct ixgbe_aci_event event; + bool pending = false; + s32 error; + + event.buf_len = IXGBE_ACI_MAX_BUFFER_SIZE; + event.msg_buf = malloc(event.buf_len, M_IXGBE, M_ZERO | M_NOWAIT); + if (!event.msg_buf) { + device_printf(sc->dev, "Can not allocate buffer for " + "event message\n"); + return; + } + + do { + error = ixgbe_aci_get_event(hw, &event, &pending); + if (error) { + device_printf(sc->dev, "Error getting event from " + "FW:%d\n", error); + break; + } + + switch (le16toh(event.desc.opcode)) { + case ixgbe_aci_opc_get_link_status: + sc->task_requests |= IXGBE_REQUEST_TASK_LSC; + break; + + case ixgbe_aci_opc_temp_tca_event: + if (hw->adapter_stopped == FALSE) + ixgbe_if_stop(ctx); + device_printf(sc->dev, + "CRITICAL: OVER TEMP!! PHY IS SHUT DOWN!!\n"); + device_printf(sc->dev, "System shutdown required!\n"); + break; + + default: + device_printf(sc->dev, + "Unknown FW event captured, opcode=0x%04X\n", + le16toh(event.desc.opcode)); + break; + } + } while (pending); + + free(event.msg_buf, M_IXGBE); +} /* ixgbe_handle_fw_event */ + /************************************************************************ * ixgbe_if_stop - Stop the hardware * @@ -3927,6 +4096,8 @@ ixgbe_if_update_admin_status(if_ctx_t ctx) } /* Handle task requests from msix_link() */ + if (sc->task_requests & IXGBE_REQUEST_TASK_FWEVENT) + ixgbe_handle_fw_event(ctx); if (sc->task_requests & IXGBE_REQUEST_TASK_MOD) ixgbe_handle_mod(ctx); if (sc->task_requests & IXGBE_REQUEST_TASK_MSF) @@ -4014,6 +4185,9 @@ ixgbe_if_enable_intr(if_ctx_t ctx) mask |= IXGBE_EICR_GPI_SDP0_X540; mask |= IXGBE_EIMS_ECC; break; + case ixgbe_mac_E610: + mask |= IXGBE_EIMS_FW_EVENT; + break; default: break; } @@ -4036,6 +4210,7 @@ ixgbe_if_enable_intr(if_ctx_t ctx) /* Don't autoclear Link */ mask &= ~IXGBE_EIMS_OTHER; mask &= ~IXGBE_EIMS_LSC; + mask &= ~IXGBE_EIMS_FW_EVENT; if (sc->feat_cap & IXGBE_FEATURE_SRIOV) mask &= ~IXGBE_EIMS_MAILBOX; IXGBE_WRITE_REG(hw, IXGBE_EIAC, mask); @@ -4054,7 +4229,7 @@ ixgbe_if_enable_intr(if_ctx_t ctx) } /* ixgbe_if_enable_intr */ /************************************************************************ - * ixgbe_disable_intr + * ixgbe_if_disable_intr ************************************************************************/ static void ixgbe_if_disable_intr(if_ctx_t ctx) @@ -4204,8 +4379,9 @@ ixgbe_intr(void *arg) /* External PHY interrupt */ if ((hw->phy.type == ixgbe_phy_x550em_ext_t) && - (eicr & IXGBE_EICR_GPI_SDP0_X540)) + (eicr & IXGBE_EICR_GPI_SDP0_X540)) { sc->task_requests |= IXGBE_REQUEST_TASK_PHY; + } return (FILTER_SCHEDULE_THREAD); } /* ixgbe_intr */ @@ -4247,7 +4423,7 @@ ixgbe_sysctl_flowcntl(SYSCTL_HANDLER_ARGS) int error, fc; sc = (struct ixgbe_softc *)arg1; - fc = sc->hw.fc.current_mode; + fc = sc->hw.fc.requested_mode; error = sysctl_handle_int(oidp, &fc, 0, req); if ((error) || (req->newptr == NULL)) @@ -4276,12 +4452,10 @@ ixgbe_set_flowcntl(struct ixgbe_softc *sc, int fc) case ixgbe_fc_rx_pause: case ixgbe_fc_tx_pause: case ixgbe_fc_full: - sc->hw.fc.requested_mode = fc; if (sc->num_rx_queues > 1) ixgbe_disable_rx_drop(sc); break; case ixgbe_fc_none: - sc->hw.fc.requested_mode = ixgbe_fc_none; if (sc->num_rx_queues > 1) ixgbe_enable_rx_drop(sc); break; @@ -4289,6 +4463,8 @@ ixgbe_set_flowcntl(struct ixgbe_softc *sc, int fc) return (EINVAL); } + sc->hw.fc.requested_mode = fc; + /* Don't autoneg if forcing a value */ sc->hw.fc.disable_fc_autoneg = true; ixgbe_fc_enable(&sc->hw); @@ -5006,6 +5182,9 @@ ixgbe_init_device_features(struct ixgbe_softc *sc) if (sc->hw.device_id == IXGBE_DEV_ID_82599_QSFP_SF_QP) sc->feat_cap &= ~IXGBE_FEATURE_LEGACY_IRQ; break; + case ixgbe_mac_E610: + sc->feat_cap |= IXGBE_FEATURE_RECOVERY_MODE; + break; default: break; } diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 54b2c8c1dd68..8a1c1aae041d 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -68,6 +68,8 @@ static const pci_vendor_info_t ixv_vendor_info_array[] = "Intel(R) X552 Virtual Function"), PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF, "Intel(R) X553 Virtual Function"), + PVID(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_E610_VF, + "Intel(R) E610 Virtual Function"), /* required last entry */ PVID_END }; @@ -1020,6 +1022,9 @@ ixv_identify_hardware(if_ctx_t ctx) case IXGBE_DEV_ID_X550EM_A_VF: hw->mac.type = ixgbe_mac_X550EM_a_vf; break; + case IXGBE_DEV_ID_E610_VF: + hw->mac.type = ixgbe_mac_E610_vf; + break; default: device_printf(dev, "unknown mac type\n"); hw->mac.type = ixgbe_mac_unknown; @@ -1955,6 +1960,7 @@ ixv_init_device_features(struct ixgbe_softc *sc) case ixgbe_mac_X550_vf: case ixgbe_mac_X550EM_x_vf: case ixgbe_mac_X550EM_a_vf: + case ixgbe_mac_E610_vf: sc->feat_cap |= IXGBE_FEATURE_NEEDS_CTXD; sc->feat_cap |= IXGBE_FEATURE_RSS; break; diff --git a/sys/dev/ixgbe/ixgbe.h b/sys/dev/ixgbe/ixgbe.h index 341d4ebfcebc..844064bf8543 100644 --- a/sys/dev/ixgbe/ixgbe.h +++ b/sys/dev/ixgbe/ixgbe.h @@ -86,6 +86,7 @@ #include "ixgbe_phy.h" #include "ixgbe_vf.h" #include "ixgbe_features.h" +#include "ixgbe_e610.h" /* Tunables */ @@ -195,6 +196,15 @@ CSUM_IP_UDP|CSUM_IP_TCP|CSUM_IP_SCTP| \ CSUM_IP6_UDP|CSUM_IP6_TCP|CSUM_IP6_SCTP) +/* All BASE-T Physical layers */ +#define IXGBE_PHYSICAL_LAYERS_BASE_T_ALL \ + (IXGBE_PHYSICAL_LAYER_10GBASE_T |\ + IXGBE_PHYSICAL_LAYER_5000BASE_T |\ + IXGBE_PHYSICAL_LAYER_2500BASE_T |\ + IXGBE_PHYSICAL_LAYER_1000BASE_T |\ + IXGBE_PHYSICAL_LAYER_100BASE_TX |\ + IXGBE_PHYSICAL_LAYER_10BASE_T) + #define IXGBE_CAPS (IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6 | IFCAP_TSO | \ IFCAP_LRO | IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWTSO | \ IFCAP_VLAN_HWCSUM | IFCAP_JUMBO_MTU | IFCAP_VLAN_MTU | \ @@ -464,6 +474,7 @@ struct ixgbe_softc { /* Feature capable/enabled flags. See ixgbe_features.h */ u32 feat_cap; u32 feat_en; + u16 lse_mask; }; /* Precision Time Sync (IEEE 1588) defines */ diff --git a/sys/dev/ixgbe/ixgbe_api.c b/sys/dev/ixgbe/ixgbe_api.c index 4c50f10ed92e..f11f52a646e4 100644 --- a/sys/dev/ixgbe/ixgbe_api.c +++ b/sys/dev/ixgbe/ixgbe_api.c @@ -112,11 +112,15 @@ s32 ixgbe_init_shared_code(struct ixgbe_hw *hw) case ixgbe_mac_X550EM_a: status = ixgbe_init_ops_X550EM_a(hw); break; + case ixgbe_mac_E610: + status = ixgbe_init_ops_E610(hw); + break; case ixgbe_mac_82599_vf: case ixgbe_mac_X540_vf: case ixgbe_mac_X550_vf: case ixgbe_mac_X550EM_x_vf: case ixgbe_mac_X550EM_a_vf: + case ixgbe_mac_E610_vf: status = ixgbe_init_ops_vf(hw); break; default: @@ -240,6 +244,18 @@ s32 ixgbe_set_mac_type(struct ixgbe_hw *hw) hw->mac.type = ixgbe_mac_X550EM_a_vf; hw->mvals = ixgbe_mvals_X550EM_a; break; + case IXGBE_DEV_ID_E610_BACKPLANE: + case IXGBE_DEV_ID_E610_SFP: + case IXGBE_DEV_ID_E610_10G_T: + case IXGBE_DEV_ID_E610_2_5G_T: + case IXGBE_DEV_ID_E610_SGMII: + hw->mac.type = ixgbe_mac_E610; + hw->mvals = ixgbe_mvals_X550EM_a; + break; + case IXGBE_DEV_ID_E610_VF: + hw->mac.type = ixgbe_mac_E610_vf; + hw->mvals = ixgbe_mvals_X550EM_a; + break; default: ret_val = IXGBE_ERR_DEVICE_NOT_SUPPORTED; ERROR_REPORT2(IXGBE_ERROR_UNSUPPORTED, diff --git a/sys/dev/ixgbe/ixgbe_api.h b/sys/dev/ixgbe/ixgbe_api.h index b81510dacb95..2b4cec8d110e 100644 --- a/sys/dev/ixgbe/ixgbe_api.h +++ b/sys/dev/ixgbe/ixgbe_api.h @@ -48,6 +48,7 @@ extern s32 ixgbe_init_ops_X550(struct ixgbe_hw *hw); extern s32 ixgbe_init_ops_X550EM(struct ixgbe_hw *hw); extern s32 ixgbe_init_ops_X550EM_x(struct ixgbe_hw *hw); extern s32 ixgbe_init_ops_X550EM_a(struct ixgbe_hw *hw); +extern s32 ixgbe_init_ops_E610(struct ixgbe_hw *hw); extern s32 ixgbe_init_ops_vf(struct ixgbe_hw *hw); s32 ixgbe_set_mac_type(struct ixgbe_hw *hw); diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c index df7ab90e72ab..bff022585a03 100644 --- a/sys/dev/ixgbe/ixgbe_common.c +++ b/sys/dev/ixgbe/ixgbe_common.c @@ -178,6 +178,7 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw) case IXGBE_DEV_ID_X550EM_A_SFP_N: case IXGBE_DEV_ID_X550EM_A_QSFP: case IXGBE_DEV_ID_X550EM_A_QSFP_N: + case IXGBE_DEV_ID_E610_SFP: supported = false; break; default: @@ -210,6 +211,8 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw) case IXGBE_DEV_ID_X550EM_A_10G_T: case IXGBE_DEV_ID_X550EM_A_1G_T: case IXGBE_DEV_ID_X550EM_A_1G_T_L: + case IXGBE_DEV_ID_E610_10G_T: + case IXGBE_DEV_ID_E610_2_5G_T: supported = true; break; default: @@ -616,7 +619,8 @@ s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw) } } - if (hw->mac.type == ixgbe_mac_X550 || hw->mac.type == ixgbe_mac_X540) { + if (hw->mac.type == ixgbe_mac_X540 || + hw->mac.type == ixgbe_mac_X550) { if (hw->phy.id == 0) ixgbe_identify_phy(hw); hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECL, @@ -1037,6 +1041,9 @@ void ixgbe_set_pci_config_data_generic(struct ixgbe_hw *hw, u16 link_status) case IXGBE_PCI_LINK_SPEED_8000: hw->bus.speed = ixgbe_bus_speed_8000; break; + case IXGBE_PCI_LINK_SPEED_16000: + hw->bus.speed = ixgbe_bus_speed_16000; + break; default: hw->bus.speed = ixgbe_bus_speed_unknown; break; @@ -1059,7 +1066,9 @@ s32 ixgbe_get_bus_info_generic(struct ixgbe_hw *hw) DEBUGFUNC("ixgbe_get_bus_info_generic"); /* Get the negotiated link width and speed from PCI config space */ - link_status = IXGBE_READ_PCIE_WORD(hw, IXGBE_PCI_LINK_STATUS); + link_status = IXGBE_READ_PCIE_WORD(hw, hw->mac.type == ixgbe_mac_E610 ? + IXGBE_PCI_LINK_STATUS_E610 : + IXGBE_PCI_LINK_STATUS); ixgbe_set_pci_config_data_generic(hw, link_status); @@ -1878,7 +1887,6 @@ static s32 ixgbe_get_eeprom_semaphore(struct ixgbe_hw *hw) DEBUGFUNC("ixgbe_get_eeprom_semaphore"); - /* Get SMBI software semaphore between device drivers first */ for (i = 0; i < timeout; i++) { /* @@ -3363,7 +3371,6 @@ s32 ixgbe_disable_sec_rx_path_generic(struct ixgbe_hw *hw) DEBUGFUNC("ixgbe_disable_sec_rx_path_generic"); - secrxreg = IXGBE_READ_REG(hw, IXGBE_SECRXCTRL); secrxreg |= IXGBE_SECRXCTRL_RX_DIS; IXGBE_WRITE_REG(hw, IXGBE_SECRXCTRL, secrxreg); @@ -3692,6 +3699,10 @@ u16 ixgbe_get_pcie_msix_count_generic(struct ixgbe_hw *hw) pcie_offset = IXGBE_PCIE_MSIX_82599_CAPS; max_msix_count = IXGBE_MAX_MSIX_VECTORS_82599; break; + case ixgbe_mac_E610: + pcie_offset = IXGBE_PCIE_MSIX_E610_CAPS; + max_msix_count = IXGBE_MAX_MSIX_VECTORS_82599; + break; default: return msix_count; } @@ -4139,7 +4150,6 @@ s32 ixgbe_clear_vfta_generic(struct ixgbe_hw *hw) return IXGBE_SUCCESS; } - /** * ixgbe_toggle_txdctl_generic - Toggle VF's queues * @hw: pointer to hardware structure @@ -4323,7 +4333,8 @@ s32 ixgbe_check_mac_link_generic(struct ixgbe_hw *hw, ixgbe_link_speed *speed, break; case IXGBE_LINKS_SPEED_100_82599: *speed = IXGBE_LINK_SPEED_100_FULL; - if (hw->mac.type == ixgbe_mac_X550) { + if (hw->mac.type == ixgbe_mac_X550 || + hw->mac.type == ixgbe_mac_E610) { if (links_reg & IXGBE_LINKS_SPEED_NON_STD) *speed = IXGBE_LINK_SPEED_5GB_FULL; } @@ -5494,6 +5505,7 @@ void ixgbe_get_nvm_version(struct ixgbe_hw *hw, case ixgbe_mac_X550: case ixgbe_mac_X550EM_x: case ixgbe_mac_X550EM_a: + case ixgbe_mac_E610: /* version of eeprom section */ if (ixgbe_read_eeprom(hw, NVM_EEP_OFFSET_X540, &word)) word = NVM_VER_INVALID; @@ -5512,6 +5524,7 @@ void ixgbe_get_nvm_version(struct ixgbe_hw *hw, case ixgbe_mac_X550: case ixgbe_mac_X550EM_x: case ixgbe_mac_X550EM_a: + case ixgbe_mac_E610: /* intel phy firmware version */ if (ixgbe_read_eeprom(hw, NVM_EEP_PHY_OFF_X540, &word)) word = NVM_VER_INVALID; diff --git a/sys/dev/ixgbe/ixgbe_e610.c b/sys/dev/ixgbe/ixgbe_e610.c new file mode 100644 index 000000000000..95c6dca416c6 --- /dev/null +++ b/sys/dev/ixgbe/ixgbe_e610.c @@ -0,0 +1,5567 @@ +/****************************************************************************** + SPDX-License-Identifier: BSD-3-Clause + + Copyright (c) 2025, Intel Corporation + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +******************************************************************************/ + +#include "ixgbe_type.h" +#include "ixgbe_e610.h" +#include "ixgbe_x550.h" +#include "ixgbe_common.h" +#include "ixgbe_phy.h" +#include "ixgbe_api.h" + +/** + * ixgbe_init_aci - initialization routine for Admin Command Interface + * @hw: pointer to the hardware structure + * + * Initialize the ACI lock. + */ +void ixgbe_init_aci(struct ixgbe_hw *hw) +{ + ixgbe_init_lock(&hw->aci.lock); +} + +/** + * ixgbe_shutdown_aci - shutdown routine for Admin Command Interface + * @hw: pointer to the hardware structure + * + * Destroy the ACI lock. + */ +void ixgbe_shutdown_aci(struct ixgbe_hw *hw) +{ + ixgbe_destroy_lock(&hw->aci.lock); +} + +/** + * ixgbe_should_retry_aci_send_cmd_execute - decide if ACI command should + * be resent + * @opcode: ACI opcode + * + * Check if ACI command should be sent again depending on the provided opcode. + * + * Return: true if the sending command routine should be repeated, + * otherwise false. + */ +static bool ixgbe_should_retry_aci_send_cmd_execute(u16 opcode) +{ + switch (opcode) { + case ixgbe_aci_opc_disable_rxen: + case ixgbe_aci_opc_get_phy_caps: + case ixgbe_aci_opc_get_link_status: + case ixgbe_aci_opc_get_link_topo: + return true; + } + + return false; +} + +/** + * ixgbe_aci_send_cmd_execute - execute sending FW Admin Command to FW Admin + * Command Interface + * @hw: pointer to the HW struct + * @desc: descriptor describing the command + * @buf: buffer to use for indirect commands (NULL for direct commands) + * @buf_size: size of buffer for indirect commands (0 for direct commands) + * + * Admin Command is sent using CSR by setting descriptor and buffer in specific + * registers. + * + * Return: the exit code of the operation. + * * - IXGBE_SUCCESS - success. + * * - IXGBE_ERR_ACI_DISABLED - CSR mechanism is not enabled. + * * - IXGBE_ERR_ACI_BUSY - CSR mechanism is busy. + * * - IXGBE_ERR_PARAM - buf_size is too big or + * invalid argument buf or buf_size. + * * - IXGBE_ERR_ACI_TIMEOUT - Admin Command X command timeout. + * * - IXGBE_ERR_ACI_ERROR - Admin Command X invalid state of HICR register or + * Admin Command failed because of bad opcode was returned or + * Admin Command failed with error Y. + */ +static s32 +ixgbe_aci_send_cmd_execute(struct ixgbe_hw *hw, struct ixgbe_aci_desc *desc, + void *buf, u16 buf_size) +{ + u32 hicr = 0, tmp_buf_size = 0, i = 0; + u32 *raw_desc = (u32 *)desc; + s32 status = IXGBE_SUCCESS; + bool valid_buf = false; + u32 *tmp_buf = NULL; + u16 opcode = 0; + + do { + hw->aci.last_status = IXGBE_ACI_RC_OK; + + /* It's necessary to check if mechanism is enabled */ + hicr = IXGBE_READ_REG(hw, PF_HICR); + if (!(hicr & PF_HICR_EN)) { + status = IXGBE_ERR_ACI_DISABLED; + break; + } + if (hicr & PF_HICR_C) { + hw->aci.last_status = IXGBE_ACI_RC_EBUSY; + status = IXGBE_ERR_ACI_BUSY; + break; + } + opcode = desc->opcode; + + if (buf_size > IXGBE_ACI_MAX_BUFFER_SIZE) { + status = IXGBE_ERR_PARAM; + break; + } + + if (buf) + desc->flags |= IXGBE_CPU_TO_LE16(IXGBE_ACI_FLAG_BUF); + + /* Check if buf and buf_size are proper params */ + if (desc->flags & IXGBE_CPU_TO_LE16(IXGBE_ACI_FLAG_BUF)) { + if ((buf && buf_size == 0) || + (buf == NULL && buf_size)) { + status = IXGBE_ERR_PARAM; + break; + } + if (buf && buf_size) + valid_buf = true; + } + + if (valid_buf == true) { + if (buf_size % 4 == 0) + tmp_buf_size = buf_size; + else + tmp_buf_size = (buf_size & (u16)(~0x03)) + 4; + + tmp_buf = (u32*)ixgbe_malloc(hw, tmp_buf_size); + if (!tmp_buf) + return IXGBE_ERR_OUT_OF_MEM; + + /* tmp_buf will be firstly filled with 0xFF and after + * that the content of buf will be written into it. + * This approach lets us use valid buf_size and + * prevents us from reading past buf area + * when buf_size mod 4 not equal to 0. + */ + memset(tmp_buf, 0xFF, tmp_buf_size); + memcpy(tmp_buf, buf, buf_size); + + if (tmp_buf_size > IXGBE_ACI_LG_BUF) + desc->flags |= + IXGBE_CPU_TO_LE16(IXGBE_ACI_FLAG_LB); + + desc->datalen = IXGBE_CPU_TO_LE16(buf_size); + + if (desc->flags & IXGBE_CPU_TO_LE16(IXGBE_ACI_FLAG_RD)) { + for (i = 0; i < tmp_buf_size / 4; i++) { + IXGBE_WRITE_REG(hw, PF_HIBA(i), + IXGBE_LE32_TO_CPU(tmp_buf[i])); + } + } + } + + /* Descriptor is written to specific registers */ + for (i = 0; i < IXGBE_ACI_DESC_SIZE_IN_DWORDS; i++) + IXGBE_WRITE_REG(hw, PF_HIDA(i), + IXGBE_LE32_TO_CPU(raw_desc[i])); + + /* SW has to set PF_HICR.C bit and clear PF_HICR.SV and + * PF_HICR_EV + */ + hicr = IXGBE_READ_REG(hw, PF_HICR); + hicr = (hicr | PF_HICR_C) & ~(PF_HICR_SV | PF_HICR_EV); + IXGBE_WRITE_REG(hw, PF_HICR, hicr); + + /* Wait for sync Admin Command response */ + for (i = 0; i < IXGBE_ACI_SYNC_RESPONSE_TIMEOUT; i += 1) { + hicr = IXGBE_READ_REG(hw, PF_HICR); + if ((hicr & PF_HICR_SV) || !(hicr & PF_HICR_C)) + break; + + msec_delay(1); + } + + /* Wait for async Admin Command response */ + if ((hicr & PF_HICR_SV) && (hicr & PF_HICR_C)) { + for (i = 0; i < IXGBE_ACI_ASYNC_RESPONSE_TIMEOUT; + i += 1) { + hicr = IXGBE_READ_REG(hw, PF_HICR); + if ((hicr & PF_HICR_EV) || !(hicr & PF_HICR_C)) + break; + + msec_delay(1); + } + } + + /* Read sync Admin Command response */ + if ((hicr & PF_HICR_SV)) { + for (i = 0; i < IXGBE_ACI_DESC_SIZE_IN_DWORDS; i++) { + raw_desc[i] = IXGBE_READ_REG(hw, PF_HIDA(i)); + raw_desc[i] = IXGBE_CPU_TO_LE32(raw_desc[i]); + } + } + + /* Read async Admin Command response */ + if ((hicr & PF_HICR_EV) && !(hicr & PF_HICR_C)) { + for (i = 0; i < IXGBE_ACI_DESC_SIZE_IN_DWORDS; i++) { + raw_desc[i] = IXGBE_READ_REG(hw, PF_HIDA_2(i)); *** 8203 LINES SKIPPED *** From nobody Wed Oct 15 17:29:56 2025 X-Original-To: dev-commits-src-branches@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 4cmyl83cbZz6CjRJ; Wed, 15 Oct 2025 17:29:56 +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 4cmyl83556z41Fq; Wed, 15 Oct 2025 17:29:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760549396; 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=biI63e6DHHPPEPB9orJyIIVwFwewKX6QVrdRjGgnO0E=; b=GpUxhGuzGLQGfM3E1T2Vr14qc69RV16KqToxShsOofFqK87a5PHC6ZEqYsv9Bdq3Cscgzf +sO1w0ocJ02sZiBW067/Hvw9wPO7OCmMM5J1Xnw9s2F1wvsENI4VRKcuzHNETth+F03wMD IwTNDz7xRjHvR5xLOhMog7F/OAZ01Rnc+5WbMnZaaWT0iTdoLKvMr9FrJyRkMYUfc/7ZPh +2jxh4T3yCgdrn8igOn0bH7dWefr1gYZmmZm4TbRKHZypZbjK2kAaMVwjPZP2nTFl/jjPb 31OEiPdoeozlhy4i9ea2dwASsmvKVvT5iZb1IOl/QXtuF+ri9WayF3+Tz2V7dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760549396; 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=biI63e6DHHPPEPB9orJyIIVwFwewKX6QVrdRjGgnO0E=; b=xQ1bynjGcaVRoSEhsu9NBrj2ActCGxLiOjvfEm9j0Bs/XVSkhtSyvzsnj1937b6Zntzzl5 CENWL5XZJVC1P54KbvnMIvl2KERzvGspYEDrkQkZqYKpnOxAo0q7P4k9ZA0CAgwQ2MsjYS xXigHMuD7088wHwY5lIlIvaoYG/cNnv8muvo29sb7F1cgEswMgooi/2eG9m8MgURC3Iy9M eR+JExWY/AH7r+YVxoiESYvCzJfJn2UxjoNNWs1ka0Y3981A3PqPqihntU8Tsa/Tz9UpE3 IS90MVmAL8kJziyuoENUMcQrd5c8au62hOpgjeS+Ptxe9ULLzhtY4BV9Iko0hQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760549396; a=rsa-sha256; cv=none; b=wPltp3UmwPXT20T7Y2rX+DXjZ4bt5eMXTAEZcEirvOQXSu6AMILCz6ZPekjZidSQCQwplV Gu8kFF49CBM5CdOvoyfGJAH7smmP5/pHzGqahRf0XgsCVslkje6FAXLnQFlUe80RC40co7 QuYSUlM48FN9JUMfgnbw8ThmGnSJcQEaGtrSsMyDGLVmyxqwr9Bf3doQNnUg1g8xU6C6UD riRZyrfnpzUxLuZqNo/+Ik9fd3UWjQDuQYy5x2dNdUWkYtWewlO2oYRkQFWJwzyAOMhGRP mNHD+l4L1TpJgNu++ZCmFe9MC9OfCtRZAEZXJobTLe3w+5wbHiWxpLPm+Z6ZBw== 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 4cmyl82fHWznRs; Wed, 15 Oct 2025 17:29:56 +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 59FHTuKS005610; Wed, 15 Oct 2025 17:29:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FHTuGC005607; Wed, 15 Oct 2025 17:29:56 GMT (envelope-from git) Date: Wed, 15 Oct 2025 17:29:56 GMT Message-Id: <202510151729.59FHTuGC005607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 4574a86c526c - stable/15 - man: Conditionally install ar.5 in toolchain package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4574a86c526c94d049e156fdf7f1c820b0f359be Auto-Submitted: auto-generated The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4574a86c526c94d049e156fdf7f1c820b0f359be commit 4574a86c526c94d049e156fdf7f1c820b0f359be Author: Ed Maste AuthorDate: 2025-10-03 16:02:20 +0000 Commit: Ed Maste CommitDate: 2025-10-15 17:27:36 +0000 man: Conditionally install ar.5 in toolchain package Previously if WITHOUT_TOOLCHAIN was set we'd create a FreeBSD-clang package that contained only ar.5. As ar.5 describes the ar format and doesn't come from Clang/LLVM move it to the FreeBSD-toolchain package and make it conditional on MK_TOOLCHAIN. Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52886 (cherry picked from commit a8d774d9708c100a52f231065d9d5f1b4c3aceb7) --- share/man/man5/Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile index 0f6559b236c6..c13a8b7afde2 100644 --- a/share/man/man5/Makefile +++ b/share/man/man5/Makefile @@ -73,9 +73,11 @@ MANGROUPS+= BOOTLOADER BOOTLOADER= device.hints.5 BOOTLOADERPACKAGE=bootloader -MANGROUPS+= CLANG -CLANG= ar.5 -CLANGPACKAGE= clang +.if ${MK_TOOLCHAIN} != "no" +MANGROUPS+= TOOLCHAIN +TOOLCHAIN= ar.5 +TOOLCHAINPACKAGE=toolchain +.endif MANGROUPS+= LP LP= hosts.lpd.5 From nobody Wed Oct 15 18:59:26 2025 X-Original-To: dev-commits-src-branches@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 4cn0kQ1p1Sz6CqjV; Wed, 15 Oct 2025 18:59:26 +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 4cn0kQ1D5tz4GW9; Wed, 15 Oct 2025 18:59:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760554766; 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=ejf5ncxBN7IejVBYWPza2CAgjkzRxe1r9rOqrDQoaCs=; b=eQ7XdxeffjS0cFMcY8bhUNktn534m8K0i40ZKyIq+FwSGcndVmOptaL5Ac90vyQ3vvx/8a T0rAtVHOEuaDnwZvUcUbWocG8gXc+M3q4o4qphUNrRncexbZVDw+wpkATilj5OiDMePBfu n7FqZZB/cy7mapccke/FQIuehFTn9CBq3BGZrRCcLkzXg5fuLuDA4ZQ/8pTN7wENVVybhT gb5T3wDErV2bfvKs37R2n9DSGrj/VFzlSj3FHKSeegq056fL3+sIW3y1H9KI45IKLGiAFK zWh74E9dYcK68hYvGq1FfVy4QgqhBEn7P/cLTiZnNarLJBolryDQVlVWJ/rbdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760554766; 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=ejf5ncxBN7IejVBYWPza2CAgjkzRxe1r9rOqrDQoaCs=; b=BmwrEKpPEQPrhxggB99CVeH5oeovZIyqudDwOa+UEtGsrW4S95YVudvIIZtDzv6Jr2uZ8E +VV6yQ52MDDIMHZdXLkBMp0UFumYufov5Yfsef1VFdxZuC+8+NtbIKnJ9oDf5mo3k1+1QK AaY/p2MG+/G0okm0WPg0HjT75oAPTvp5U0Q28ki0i0VoU637fhFapA6XhcV74d1eRtA9et S63tKkiReSYu9/bwBL/D816Yg1xcO2npoPx67t6BIc+4kzJRvzCTDcc0cLLibqhnKDdAng 8g16NO6QhD9TNXLzQUiEF6TgITv+FsL36uk38Nwu09UQ0okDFUFmPVvATjxbZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760554766; a=rsa-sha256; cv=none; b=c+QKnK/IxiaA3qYa/21zTXMnEVZrJpJ/9bdj7VFcP8n+MBXivkSnQQY2C+tHca8yvjG16W 0gKxkhi9zs3njOMZl2DqWaZna6uQ6yoDDZhcZ3Szfc+7Fkd4B+2slQfE/LuTebFYhqdIWg IyplgojIrVB7nsoTG9XkSBrX6fQOz9iffldaVa38Fk70aJa9UiNa2c7oBcgq3fuXj/Juti 84Y6kWIuDvwJ5wP41LsziBd3wfTGwhQhLF0zHIMWt/4gEGQFj6LgKhVsHtThFrsCGZIkpg rmrq8zCPfZbOqLc7bY0X2Vqs5mzYNDA4R8kIH+mt7uH/eizr2jiPLXDUnn4k3g== 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 4cn0kQ0mDtzrT1; Wed, 15 Oct 2025 18:59:26 +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 59FIxQ95074286; Wed, 15 Oct 2025 18:59:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FIxQ5U074283; Wed, 15 Oct 2025 18:59:26 GMT (envelope-from git) Date: Wed, 15 Oct 2025 18:59:26 GMT Message-Id: <202510151859.59FIxQ5U074283@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: 794299ac6876 - stable/15 - netlink: in snl_init_writer() don't overwrite error in case of failure List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 794299ac6876ecdf62e503d3fb05bd388f5c8be7 Auto-Submitted: auto-generated The branch stable/15 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=794299ac6876ecdf62e503d3fb05bd388f5c8be7 commit 794299ac6876ecdf62e503d3fb05bd388f5c8be7 Author: Bruno Silvestre AuthorDate: 2025-10-07 05:48:28 +0000 Commit: Gleb Smirnoff CommitDate: 2025-10-15 18:57:46 +0000 netlink: in snl_init_writer() don't overwrite error in case of failure PR: 290050 (cherry picked from commit 488718ff42346888243496c00cbeb42ba004171e) --- sys/netlink/netlink_snl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 586716776bc5..ca1169d24b91 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -1057,14 +1057,14 @@ snl_init_writer(struct snl_state *ss, struct snl_writer *nw) { nw->size = SNL_WRITER_BUFFER_SIZE; nw->base = (char *)snl_allocz(ss, nw->size); - if (nw->base == NULL) { + if (__predict_false(nw->base == NULL)) { nw->error = true; nw->size = 0; - } + } else + nw->error = false; nw->offset = 0; nw->hdr = NULL; - nw->error = false; nw->ss = ss; } From nobody Wed Oct 15 18:59:27 2025 X-Original-To: dev-commits-src-branches@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 4cn0kR2M2Bz6CqgQ; Wed, 15 Oct 2025 18:59:27 +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 4cn0kR1pn6z4GdQ; Wed, 15 Oct 2025 18:59:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760554767; 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=1JL9GHWWR7Afp7XoNwxsRiP5MRwVeWdgJKpgqzS/Bi0=; b=OSc63KLdfmpZSfx1aZiKMUY7FH1cXC1B04NoPaaNP/U7CrLvU3tnxvoKbmZ2BL9SvhRgzg 45qd8a/C62yRJjuRH/wzacVEm1VaKm8pdTOnZt3RodY9UTdoHDjJ1x53YFfXPo+DYc9/pW HBItZFbyv+LZw2pqdmqUKo/LAfFaIu3LMLNSk320nZbm4i+2ZrivoVzjOq3/xuR2YJl6sg X8+btRMpdiLeK9qdLStolxDllv53gvtlip5Zr6MAvgBuabAJhOTUyY2Wwq1aHiu71tdcm4 qIZS3hOc+lG2tFauQYL5NlOzsKhDk8iw2Y/JrgCuvB0+Fx9HYZ3QVOjsVUOCqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760554767; 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=1JL9GHWWR7Afp7XoNwxsRiP5MRwVeWdgJKpgqzS/Bi0=; b=otHsf0a/RuFqwNHFZYRcYCkOikR9h2yZwMbHXxvG05CgKsUcSkZW0W5Yrs/xi0wHF9+sCx XPOjTQPv14ZhfVVl/y5oXII+7NjJaTN1+Lkma4OWSRmfIa5t2xqUpwjGBERCA0shMRyip+ j/IThMi/7Ypy/lpSJw4hkYF4bG+NKXCMugsD7yh4o5hNxXgLdgZni0EnvzIvi68Zhn8Z02 GtigqZqcNif+rGAct/m5+X0XaNBRUCwZKjDvqCm3INOgeFyIKLEYgmaUvA6xIqochwdBbR fcNp87jlnInimDLi5U4yFs9sI9ML+/BsoS20fPIEmCTYrrpU9nmZ3t9YQDlaAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760554767; a=rsa-sha256; cv=none; b=UQHeAcSHSTsCy0Yl9pUbcT6ziJ+ydJKmt70TCHE4Gagd7J9jDPbCCgnUBFvzC5zGzhoVoM 50TVmTnufMn5FBRtiuzZUzZErvmH6KFDUUktqhGxYM0xxffc/QjlCHD4vvcQ5G5iTJ1HHJ GJbG19hnR9ITdyhuwmc7Bg/m2sfD8cp877FmGAYmG94lJZl2S6DPl1E4ScMoHVca4x30xw FmnV9zI/1av2/C2hj9RAztbTu4OAvx4DwxUHQTC6RpgRjj7Tv2SeUQbWNH9OTwdvxhaBGX hQILdZ7s2C/fLryp2friueq/ApoOYqZcdo/rlknC9lFztg5Ay1RpVdvSLpx+Vg== 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 4cn0kR1NmmzrRm; Wed, 15 Oct 2025 18:59:27 +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 59FIxR3l074322; Wed, 15 Oct 2025 18:59:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FIxRUI074319; Wed, 15 Oct 2025 18:59:27 GMT (envelope-from git) Date: Wed, 15 Oct 2025 18:59:27 GMT Message-Id: <202510151859.59FIxRUI074319@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: a091d6919c31 - stable/15 - socket(2): refactor the manual page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: a091d6919c3175f2385719e7b1c6fbd8576134f9 Auto-Submitted: auto-generated The branch stable/15 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a091d6919c3175f2385719e7b1c6fbd8576134f9 commit a091d6919c3175f2385719e7b1c6fbd8576134f9 Author: Gleb Smirnoff AuthorDate: 2025-10-14 18:41:25 +0000 Commit: Gleb Smirnoff CommitDate: 2025-10-15 18:58:54 +0000 socket(2): refactor the manual page Create a chapter on every important socket type: stream, datagram, seqpacket. Always list what protocol families do support what kinds of sockets. Improve some statements possessing language from the specification [1]. Reduce some statements that are mostly specific to TCP. Provide more external links and references to various important syscalls that can be used on sockets. Add a paragrph on non-blocking mode. The big factual change is documentation of SOCK_SEQPACKET. In FreeBSD 15 this socket now fully follows the specification and is a stream socket with record boundaries. [1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html#tag_16_10_06 Differential Revision: https://reviews.freebsd.org/D52771 (cherry picked from commit 86d17239233ea4f5766bee68ba6355804525cefa) (cherry picked from commit ad13fd5a8fa1607805d11ced3428e86dbd94778e) --- lib/libsys/socket.2 | 300 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 213 insertions(+), 87 deletions(-) diff --git a/lib/libsys/socket.2 b/lib/libsys/socket.2 index b211611c6354..16317fcd3aa5 100644 --- a/lib/libsys/socket.2 +++ b/lib/libsys/socket.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 17, 2025 +.Dd September 28, 2025 .Dt SOCKET 2 .Os .Sh NAME @@ -89,32 +89,6 @@ SOCK_RAW Raw-protocol interface, SOCK_SEQPACKET Sequenced packet stream .Ed .Pp -A -.Dv SOCK_STREAM -type provides sequenced, reliable, -two-way connection based byte streams. -An out-of-band data transmission mechanism may be supported. -A -.Dv SOCK_DGRAM -socket supports -datagrams (connectionless, unreliable messages of -a fixed (typically small) maximum length). -A -.Dv SOCK_SEQPACKET -socket may provide a sequenced, reliable, -two-way connection-based data transmission path for datagrams -of fixed maximum length; a consumer may be required to read -an entire packet with each read system call. -This facility may have protocol-specific properties. -.Dv SOCK_RAW -sockets provide access to internal network protocols and interfaces. -The -.Dv SOCK_RAW -type is available only to the super-user and is described in -.Xr ip 4 -and -.Xr ip6 4 . -.Pp Additionally, the following flags are allowed in the .Fa type argument: @@ -140,32 +114,23 @@ particular to the in which communication is to take place; see .Xr protocols 5 . -.Pp The .Fa protocol argument may be set to zero (0) to request the default implementation of a socket type for the protocol, if any. -.Pp -Sockets of type +.Sh STREAM SOCKET TYPE +The +.Dv SOCK_STREAM +socket type provides reliable, sequenced, full-duplex octet streams between +the socket and a peer to which the socket is connected. +A socket of type .Dv SOCK_STREAM -are full-duplex byte streams, similar -to pipes. -A stream socket must be in a +needs to be in a .Em connected -state before any data may be sent or received -on it. +state before any data can be sent or received. A connection to another socket is created with a .Xr connect 2 system call. -Once connected, data may be transferred using -.Xr read 2 -and -.Xr write 2 -calls or some variant of the -.Xr send 2 -and -.Xr recv 2 -functions. (Some protocol families, such as the Internet family, support the notion of an .Dq implied connect , @@ -173,62 +138,210 @@ which permits data to be sent piggybacked onto a connect operation by using the .Xr sendto 2 system call.) -When a session has been completed a -.Xr close 2 -may be performed. -Out-of-band data may also be transmitted as described in +Once connected, data may be sent using +.Xr send 2 , +.Xr sendto 2 , +.Xr sendmsg 2 +and +.Xr write 2 +system calls. +Data may be received using +.Xr recv 2 , +.Xr recvfrom 2 , +.Xr recvmsg 2 , +and +.Xr read 2 +system calls. +Record boundaries are not maintained; data sent on a stream socket using output +operations of one size can be received using input operations of smaller or +larger sizes without loss of data. +Data may be buffered; successful return from an output function does not imply +that the data has been delivered to the peer or even transmitted from the local +system. +For certain protocols out-of-band data may also be transmitted as described in .Xr send 2 and received as described in .Xr recv 2 . .Pp -The communications protocols used to implement a -.Dv SOCK_STREAM -ensure that data -is not lost or duplicated. -If a piece of data for which the -peer protocol has buffer space cannot be successfully transmitted -within a reasonable length of time, then -the connection is considered broken and calls -will indicate an error with --1 returns and with -.Er ETIMEDOUT -as the specific code -in the global variable -.Va errno . -The protocols optionally keep sockets -.Dq warm -by forcing transmissions -roughly every minute in the absence of other activity. -An error is then indicated if no response can be -elicited on an otherwise -idle connection for an extended period (e.g.\& 5 minutes). -By default, a +If data cannot be successfully transmitted within a given time then the +connection is considered broken, and subsequent operations shall fail with +a protocol specific error code. +A .Dv SIGPIPE -signal is raised if a process sends -on a broken stream, but this behavior may be inhibited via +signal is raised if a thread attempts to send data on a broken stream (one that +is no longer connected). +The signal can be suppressed by the +.Dv MSG_NOSIGNAL +flag with distinct +.Xr send 2 , +.Xr sendto 2 , +and +.Xr sendmsg 2 +system calls or by the +.Dv SO_NOSIGPIPE +socket option set on the socket with .Xr setsockopt 2 . .Pp -.Dv SOCK_SEQPACKET -sockets employ the same system calls -as +The .Dv SOCK_STREAM -sockets. -The only difference -is that -.Xr read 2 -calls will return only the amount of data requested, -and any remaining in the arriving packet will be discarded. +socket is supported by the following protocol families: +.Dv PF_INET , +.Dv PF_INET6 , +.Dv PF_UNIX , +.Dv PF_BLUETOOTH , +.Dv PF_HYPERV , +and +.Dv PF_INET_SDP . +Out-of-band data transmission mechanism is supported for stream sockets of +.Dv PF_INET +and +.Dv PF_INET6 +protocol families. +.Sh DATAGRAM SOCKET TYPE +The +.Dv SOCK_DGRAM +socket type supports connectionless data transfer which is not necessarily +acknowledged or reliable. +Datagrams can be sent to the address specified (possibly multicast or +broadcast) in each output operation, and incoming datagrams can be received +from multiple sources. +The source address of each datagram is available when receiving the datagram +with +.Xr recvfrom 2 +or +.Xr recvmsg 2 . +An application can also pre-specify a peer address with +.Xr sendto 2 +or +.Xr sendmsg 2 , +in which case calls to output functions that do not specify a peer address +shall send to the pre-specified peer. +If a peer has been specified, only datagrams from that peer shall be received. +A datagram shall be sent in a single output operation, and needs to be received +in a single input operation. +The maximum size of a datagram is protocol-specific. +Output datagrams may be buffered within the system; thus, a successful return +from an output function does not guarantee that a datagram is actually sent or +received. .Pp +The .Dv SOCK_DGRAM +socket is supported by the following protocol families: +.Dv PF_INET , +.Dv PF_INET6 , +.Dv PF_UNIX , +.Dv PF_NETGRAPH , and -.Dv SOCK_RAW -sockets allow sending of datagrams to correspondents -named in +.Dv PF_NETLINK . +.Sh SEQUENCED PACKET SOCKET TYPE +The +.Dv SOCK_SEQPACKET +socket type is similar to the +.Dv SOCK_STREAM +type, and is also connection-oriented. +The only difference between these types is that record boundaries are +maintained using the +.Dv SOCK_SEQPACKET +type. +A record can be sent using one or more output operations and received using one +or more input operations, but a single operation never transfers parts of more +than one record. +Record boundaries are set by the sender with the +.Dv MSG_EOR +flag of .Xr send 2 -calls. -Datagrams are generally received with +or +.Xr sendmsg 2 +functions. +There is no possibility to set a record boundary with +.Xr write 2 . +Record boundaries are visible to the receiver via the +.Dv MSG_EOR +flag in the received message flags returned by the +.Xr recvmsg 2 +function. +It is protocol-specific whether a maximum record size is imposed. +.Pp +The +.Dv SOCK_SEQPACKET +socket is supported by the following protocol families: +.Dv PF_INET , +.Dv PF_INET6 , +and +.Dv PF_UNIX . +.Pp +.Sh RAW SOCKET TYPE +The +.Dv SOCK_RAW +socket type provides access to internal network protocols and interfaces. +It is a datagram socket in its nature, thus has the same semantics of +read and write operations. +The +.Dv SOCK_RAW +type is available only to the super-user and is described in +.Xr ip 4 +and +.Xr ip6 4 . +.Sh NON-BLOCKING MODE +A socket can be created in +.Em non-blocking mode +with the help of +.Dv SOCK_NONBLOCK +flag. +Alternatively, the non-blocking mode on a socket can be turned on and off with +the help of the +.Dv O_NONBLOCK +flag of the +.Xr fcntl 2 +system call. +.Pp +When a non-blocking socket has not enough data in its receive buffer to fulfill +the application supplied buffer, then data receiving system calls like +.Xr recv 2 , .Xr recvfrom 2 , -which returns the next datagram with its return address. +.Xr recvmsg 2 +and +.Xr read 2 +will not block waiting for the data but immediately return. +Return value will indicate amount of bytes read into the supplied buffer. +The +.Va errno +will be set to +.Dv EAGAIN +.Po +has same value as +.Dv EWOULDBLOCK +.Pc . +.Pp +If application tries to send more data on a non-blocking socket than the socket +send buffer can accomodate with +.Xr send 2 , +.Xr sendto 2 , +.Xr sendmsg 2 +or +.Xr write 2 +system calls partial data will be sent. +Return value will indicate amount of bytes sent. +The +.Va errno +will be set to +.Dv EAGAIN . +Note that sockets of +.Dv SOCK_DGRAM +type are unreliable, thus for these sockets sending operations will never fail +with +.Dv EAGAIN +in non-blocking mode neither will block in blocking mode. +.Sh OTHER OPERATIONS ON SOCKETS +Since socket descriptors are file descriptors, many generic file operations +performed by +.Xr fcntl 2 , +apply. +Socket descriptors can be used with all event engines, such as +.Xr kevent 2 , +.Xr select 2 +and +.Xr poll 2 . .Pp An .Xr fcntl 2 @@ -250,6 +363,12 @@ The and .Xr getsockopt 2 system calls are used to set and get options, respectively. +.Pp +Connection associated with a socket can be terminated by +.Xr close 2 +system call. +One direction of communication can be disabled with +.Xr shutdown 2 . .Sh RETURN VALUES A -1 is returned if an error occurs, otherwise the return value is a descriptor referencing the socket. @@ -282,16 +401,23 @@ The socket type is not supported by the protocol. .Sh SEE ALSO .Xr accept 2 , .Xr bind 2 , +.Xr close 2 , .Xr connect 2 , +.Xr fcntl 2 , .Xr getpeername 2 , .Xr getsockname 2 , .Xr getsockopt 2 , .Xr ioctl 2 , +.Xr kevent 2 , .Xr listen 2 , +.Xr poll 2 , .Xr read 2 , .Xr recv 2 , .Xr select 2 , .Xr send 2 , +.Xr sendmsg 2 , +.Xr sendto 2 , +.Xr signal 3 , .Xr shutdown 2 , .Xr socketpair 2 , .Xr write 2 , From nobody Wed Oct 15 18:59:28 2025 X-Original-To: dev-commits-src-branches@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 4cn0kT0m9wz6CqpK; Wed, 15 Oct 2025 18:59:29 +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 4cn0kS3F6fz4GZx; Wed, 15 Oct 2025 18:59:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760554768; 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=349ON6NuhCtjthH90G9JFcHc5jjF56+7aepClhODufU=; b=UdiH4EABN+N/ZlB3mFwYCTIsWNjnYVDMVMTc/2aovcvWrzB+gRv+WUfCJ1n/UBmg+2q9aG fYZg/kmyq1CccSFAwYaLfNqiO+49YX2mZ+Anp1au7VoS+aC97pqrPN6VIVy18xMpi46Qs1 uCSBC74jkHQpBaxpTvmgPL5rrPovmMoK5OhQ/aj9g7mRRwKhz9Y0Is0d1wXLwkIjVApYVq K8NT6BlFSctoGkQgPcHFTUeTD9NvjWbrrO3cUdXMkEgRPquRJU7hhGc/cIYWooG5nFGZPv CABN7QEB5vyfV+TzhqQk8qaomP5Mc81Hu+gzlMZod2jsP5ebvFQL9IoHq4Iv+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760554768; 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=349ON6NuhCtjthH90G9JFcHc5jjF56+7aepClhODufU=; b=kjqyXgRHRmvq4uL/URUXaOkGohm+b1lgrenB/vIddko3PthJuUnUFAV+NlNGDaQ3F0814K cUA7exG5R7mFe5HnRKynXNouDGC1IMNVnYVE/txDC5aykW2UWfzyspspFr65IoesISTmkg P8Mh1iQqVX+n6zu+G0qDiuYjnUJYdnmlO8gIIqzY8vNbi3iQZlrH/1uMLmLSP+l7e1vuY9 WPIDA4ZW8UqlZMKJZl8iX5uMCOHsmYBGi2WHp6twnpMv2wrNSZLonQUdEZj9uQPrtCeV9H Pg2oUQM0KdexegmiFFGR+b9HuMQb2BjA3SFXWuU1n6xDfqZbUaW/SErMRAgdIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760554768; a=rsa-sha256; cv=none; b=mjIjVvFPo4a8ypYK37VubZ6GBQocE2rnGeduXNlaArCk1R91LXxUOyPcboHgg3kbfQ1gSG SXhvarPsXCKLTXWMxf+7n9bIUYLe3zH9wd0DmJqw0LTVDlg7DOZaEh/7Xah5gJQ8DvGCGM 0lDMthpCYpb21X0EZVETHwBY9yJjIRGQecfAj4VyZTFGxJa9HgAsFdydHeedhXCkum7o7c ugkGkvwtppce7jWKwcgM5Coam+f00zQ9161REo2qo8pBLy44T/A1K8DhAaSzbG9oyF1LhG Y1mwjsbKXIKHzGLql5Votvk1h4a0IFcceEP/xeQMcXbFlxSrDyZgMwxtsqhYkw== 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 4cn0kS2fhzzqN3; Wed, 15 Oct 2025 18:59:28 +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 59FIxSs2074355; Wed, 15 Oct 2025 18:59:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FIxSOO074352; Wed, 15 Oct 2025 18:59:28 GMT (envelope-from git) Date: Wed, 15 Oct 2025 18:59:28 GMT Message-Id: <202510151859.59FIxSOO074352@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: bbfaff26bf36 - stable/15 - unix/stream: repair SO_SNDTIMEO List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: bbfaff26bf365126cb4d38fda99a2100a256d9bd Auto-Submitted: auto-generated The branch stable/15 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=bbfaff26bf365126cb4d38fda99a2100a256d9bd commit bbfaff26bf365126cb4d38fda99a2100a256d9bd Author: Gleb Smirnoff AuthorDate: 2025-10-15 00:29:31 +0000 Commit: Gleb Smirnoff CommitDate: 2025-10-15 18:59:02 +0000 unix/stream: repair SO_SNDTIMEO The send operations are waiting on the peer's socket buffer, but we shall use our timeout value. Provide a test for that. Reported by: phk Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D53081 Fixes: d15792780760ef94647af9b377b5f0a80e1826bc (cherry picked from commit ead721935251ab5640ea736d4269814b7f9d2f64) --- sys/kern/uipc_usrreq.c | 20 ++++++++++++++++++-- tests/sys/kern/unix_stream.c | 27 +++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 340d84666459..c5fc1e84ce3f 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1069,6 +1069,21 @@ uipc_stream_sbspace(struct sockbuf *sb) return (min(space, mbspace)); } +/* + * UNIX version of generic sbwait() for writes. We wait on peer's receive + * buffer, using our timeout. + */ +static int +uipc_stream_sbwait(struct socket *so, sbintime_t timeo) +{ + struct sockbuf *sb = &so->so_rcv; + + SOCK_RECVBUF_LOCK_ASSERT(so); + sb->sb_flags |= SB_WAIT; + return (msleep_sbt(&sb->sb_acc, SOCK_RECVBUF_MTX(so), PSOCK | PCATCH, + "sbwait", timeo, 0, 0)); +} + static int uipc_sosend_stream_or_seqpacket(struct socket *so, struct sockaddr *addr, struct uio *uio0, struct mbuf *m, struct mbuf *c, int flags, @@ -1203,7 +1218,8 @@ restart: error = EWOULDBLOCK; goto out4; } - if ((error = sbwait(so2, SO_RCV)) != 0) { + if ((error = uipc_stream_sbwait(so2, + so->so_snd.sb_timeo)) != 0) { SOCK_RECVBUF_UNLOCK(so2); goto out4; } else @@ -2397,7 +2413,7 @@ uipc_sendfile_wait(struct socket *so, off_t need, int *space) } if (!sockref) soref(so2); - error = sbwait(so2, SO_RCV); + error = uipc_stream_sbwait(so2, so->so_snd.sb_timeo); if (error == 0 && __predict_false(sb->sb_state & SBS_CANTRCVMORE)) error = EPIPE; diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 49d621dc5b0a..442b766ac885 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -1,6 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * + * Copyright (c) 2025 Gleb Smirnoff * Copyright (c) 2018 Alan Somers * * Redistribution and use in source and binary forms, with or without @@ -30,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -490,6 +492,30 @@ ATF_TC_BODY(ourshutdown_kevent, tc) close(sv[1]); } +ATF_TC_WITHOUT_HEAD(SO_SNDTIMEO); +ATF_TC_BODY(SO_SNDTIMEO, tc) +{ + struct timespec tp1, tp2, rtp, sleep = { .tv_nsec = 100000000 }; + int sv[2]; + char buf[10]; + + full_socketpair(sv); + ATF_REQUIRE_EQ(0, setsockopt(sv[0], SOL_SOCKET, SO_SNDTIMEO, + &(struct timeval){ .tv_usec = sleep.tv_nsec / 1000 }, + sizeof(struct timeval))); + ATF_REQUIRE_EQ(0, clock_gettime(CLOCK_MONOTONIC_PRECISE, &tp1)); + ATF_REQUIRE_EQ(-1, send(sv[0], buf, sizeof(buf), 0)); + ATF_REQUIRE(errno == EAGAIN); + ATF_REQUIRE_EQ(0, clock_gettime(CLOCK_MONOTONIC_PRECISE, &tp2)); + timespecsub(&tp2, &tp1, &rtp); + ATF_REQUIRE(timespeccmp(&rtp, &sleep, >=)); + ATF_REQUIRE_EQ(sizeof(buf), recv(sv[1], buf, sizeof(buf), 0)); + ATF_REQUIRE_EQ(sizeof(buf), send(sv[0], buf, sizeof(buf), 0)); + + close(sv[0]); + close(sv[1]); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, getpeereid); @@ -506,6 +532,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, peershutdown_wakeup_poll); ATF_TP_ADD_TC(tp, peershutdown_wakeup_kevent); ATF_TP_ADD_TC(tp, ourshutdown_kevent); + ATF_TP_ADD_TC(tp, SO_SNDTIMEO); return atf_no_error(); } From nobody Wed Oct 15 19:49:05 2025 X-Original-To: dev-commits-src-branches@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 4cn1qj5hx5z6CtyJ; Wed, 15 Oct 2025 19:49:05 +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 4cn1qj506Rz4N8X; Wed, 15 Oct 2025 19:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557745; 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=bCoRsK4S+EhHWJOGGrKUjMDm0SqmeiGVWQuO/nU7KsQ=; b=oxKC2IHit1DOuk1dPlWIuVxJv1VoknBSAUC1Klk8zKAWEGO7NiMQteqdoOUnzRs0/adO/d O19yWZzw9P2uATlYzD1GEVtGC2Oi69adQ/uFPfCb8H1ts6xxR9jiZHdLTt5lAHLlghnemH lc+9B+oGWZ8CxN/xY9XUhidnvT34Et0yBNroVDlzZDX3Noj998PzoQKysnnRvfRN/qPmTC 1+fAuX/7OgFyNMDtHe9NXOckmF7+Fxbl1haGmwCX2gE15yJGtkcSZ3DzZjuCWPeiw35ZB+ Ew6PD200ffWfd0viPuh4U5TOgupK9Skh0/XDAbPElgel2PPcmLV3pZUbt8HG4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557745; 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=bCoRsK4S+EhHWJOGGrKUjMDm0SqmeiGVWQuO/nU7KsQ=; b=cTOxzzfORyfjni60Xi8jw7159SqZqNvuZFqcfX39EIcm7s7n6hK5NKFWocr7jJu44EICRE KjNnCuLIsQtjsh+SQpBl9Cszfn8a5Xf4n8bvIKF5fs/8I3bm547ppEm3ScSb8sAOa9pPFW 6zeHAnwLqgnqSWhSH8LACN/HTB7jovzz/ak0BsQkOAQMZU6oYjv9vfHjnMirAqMl1Yy2AK OY6SV+7Ddl48aoWcekUmfYRG/8sTjLhiP/K0/ttXYsDtHLPKQ2TFEQU8ZiLi7OJmMxmmep KaJQnq+i3065hQTsIr4cQ5xLo+OTLOEdQXSjkpDhSxfiFK4BFwjNOf4wb6783Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760557745; a=rsa-sha256; cv=none; b=mRK7K0UwdibyR13oNMEDkFFid0Hy1O8gFeLZzQmZuH9uAoRA3qHoI1KH7L6ic4fO6tJLc/ IWTL+CJpvZSth7iTJ2iXK6uiLOV0dEwOC+SRspuA5u24GAJN8XK8IeEPqAr97vJDjjHmfN J26GOdhqwTJr7PG3eVOKpGXnDizwq7BdEBfUKpmldypXaGtq3hthuYJGQz66Hb/auKhyjB aeEI76EnTkywvf+x3mNF9jQ7EHPg5iE3FcfxJlTIIydSqUk8jTHaRVGyVr0SwLZ7+PBlP5 ygIYOrtI1BVX2qL3ck77vGdeZPmJrOHGgaUjh1O8Y+eQfl/Ri2w07p3MHBuqbw== 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 4cn1qj4W5tzsYX; Wed, 15 Oct 2025 19:49:05 +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 59FJn5uC069452; Wed, 15 Oct 2025 19:49:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FJn5Pq069449; Wed, 15 Oct 2025 19:49:05 GMT (envelope-from git) Date: Wed, 15 Oct 2025 19:49:05 GMT Message-Id: <202510151949.59FJn5Pq069449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c307343246b9 - releng/15.0 - bsdinstall: Tweak pkgbase/dist set labels List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: c307343246b98dc6cb3b4b8fdf4ee19100176372 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c307343246b98dc6cb3b4b8fdf4ee19100176372 commit c307343246b98dc6cb3b4b8fdf4ee19100176372 Author: Ed Maste AuthorDate: 2025-10-09 17:01:36 +0000 Commit: Colin Percival CommitDate: 2025-10-15 19:23:19 +0000 bsdinstall: Tweak pkgbase/dist set labels Have the button labels refer to the artifact type directly (distribution sets / packages), and use "Tech Preview" as packaged base is no longer experimental. Approved by: re (cperciva) Reviewed by: ivy, cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52999 (cherry picked from commit abd9424590ba37ac10e92723ad6428f0448024c1) (cherry picked from commit dbd1e32296437c9b2e3fb73400e59fda4adc3e64) --- usr.sbin/bsdinstall/scripts/auto | 4 ++-- usr.sbin/bsdinstall/scripts/jail | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto index 61d52065af2a..8058b1a41dbf 100755 --- a/usr.sbin/bsdinstall/scripts/auto +++ b/usr.sbin/bsdinstall/scripts/auto @@ -209,9 +209,9 @@ if [ ! -f $BSDINSTALL_DISTDIR/MANIFEST ]; then PKGBASE=yes else bsddialog --backtitle "$OSNAME Installer" --title "Select Installation Type" \ - --yes-label "Traditional" --no-label "Packages (Experimental)" --yesno \ + --yes-label "Distribution Sets" --no-label "Packages (Tech Preview)" --yesno \ $PKGBASE_DEFAULT_BUTTON \ - "Would you like to install the base system using traditional distribution sets or packages (experimental)?" 0 0 + "Would you like to install the base system using traditional distribution sets or packages (technology preview)?" 0 0 if [ $? -eq 1 ]; then PKGBASE=yes fi diff --git a/usr.sbin/bsdinstall/scripts/jail b/usr.sbin/bsdinstall/scripts/jail index f2c7ef2b37de..3b1b2ee98fff 100755 --- a/usr.sbin/bsdinstall/scripts/jail +++ b/usr.sbin/bsdinstall/scripts/jail @@ -175,8 +175,8 @@ fi if [ ! "$nonInteractive" == "YES" ]; then bsddialog --backtitle "$OSNAME Installer" --title "Select Installation Type" \ - --yes-label "Traditional" --no-label "Packages (Experimental)" --yesno \ - "Would you like to install the base system using traditional distribution sets or packages (experimental)?" 0 0 + --yes-label "Distribution Sets" --no-label "Packages (Tech Preview)" --yesno \ + "Would you like to install the base system using traditional distribution sets or packages (technology preview)?" 0 0 if [ $? -eq 1 ]; then PKGBASE=yes fi From nobody Wed Oct 15 19:49:06 2025 X-Original-To: dev-commits-src-branches@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 4cn1qk75V1z6Ctht; Wed, 15 Oct 2025 19:49:06 +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 4cn1qk5z6Fz4N8Y; Wed, 15 Oct 2025 19:49:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557746; 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=hokx6ajiSuNnymlcBmjtu06uhyyeCCTKtvRNLNdm+f8=; b=g85vDBFDrCYLfUYzp/t/PIomWRJJV/5VlHeSZqKtllf32GDEcdSd7k4px0/GWV+ygMhga9 WJoXlBx8escCA4Ddlp5Thcd4Z1zuvu5nkAy+PTZFz79abAXW3hmutbjG4x0OPmGn7W3QRN YpFksY1ULdfqz/+6yaqYGbMtxGP7Ta0lAi5lEO75EGumwofRvvYKy9IXIaG2laYZVisueC YcHZYtxI+7PiTIBm3QrCCTBom1p4G/p9BlNfKorIAjc9qUBCUXlA0AdyDKcTcnDvVYjBpW +thv8JIAEev2CUi95W+HXVj+f7wgrkHtKiaeI71CAdAeiJG5k7ITz96m/1ui+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557746; 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=hokx6ajiSuNnymlcBmjtu06uhyyeCCTKtvRNLNdm+f8=; b=k9T3mrIjRJV3E6LarCdScbv7Da+ctcB+vfRgH4PMJLWp1ij2p9PHAFyx739Lc9+FCm3jw4 SvNr4CQLNW3poGAk+6gcG46OXuOfRhJaUVOSLk7cXtDga8kwxFDKCerAmQSlZ2zq0dSJpN IjugSG63cFPIfo4OiQvCXx2ApFQwIyvy5sVajCFd5GPzK6LDb/49A7n3sQEhdO2EjHiqbd OrhQRPo1+jO0Deyxmpj4qeeQ43Mue1w2FbT767WavpEAHvZnlU1GBGmeWFEdeGQ3tMOzx8 LNvSb1gG8LYN5rUuyXRjmUMVsMLZg5bxVP1oyLvp1Yyw86AyNN+ZP3M502SuyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760557746; a=rsa-sha256; cv=none; b=faWAEIppTT33O+MMw0HSn3BZqI5vQYljJ/VDrqCM3NVK6olxSUpXeysiL2ftMAVzcPzY3c j4mL/SYh1MKfMBppAQ3Yw6Dgawg/LkGvsMaunyorEkZMMDGjuBvXf18LREd7rFBPKz6MZn xv+1jXgCqOkyNS+p3BUPmiJyeM/Nm/naHYwc4KZpVNWl7CJqLK8RFwsXPGbwPYGyMRbebt GnKlr3FAin7dz7Umq+drkgOTwY2gsrMe14MCl5ceAIoGEK8qC87K8ZAWLwzDL3jShajJCk 74cCKrlQUbjrlqh48uM5KSzma1N/hasws4PfJ2usEc2KjJfqk+nAapNm8JEEDw== 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 4cn1qk5Slyzslh; Wed, 15 Oct 2025 19:49:06 +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 59FJn6Lu069485; Wed, 15 Oct 2025 19:49:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FJn654069482; Wed, 15 Oct 2025 19:49:06 GMT (envelope-from git) Date: Wed, 15 Oct 2025 19:49:06 GMT Message-Id: <202510151949.59FJn654069482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 7ae8ea82d769 - releng/15.0 - Cirrus-CI: Bump to FreeBSD 14.3 image List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 7ae8ea82d76984e880759900f0de68be1d90b506 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7ae8ea82d76984e880759900f0de68be1d90b506 commit 7ae8ea82d76984e880759900f0de68be1d90b506 Author: Ed Maste AuthorDate: 2025-10-04 13:10:09 +0000 Commit: Colin Percival CommitDate: 2025-10-15 19:23:29 +0000 Cirrus-CI: Bump to FreeBSD 14.3 image Approved by: re (cperciva) Sponsored by: The FreeBSD Foundation (cherry picked from commit cca9295dd6adc4245fbeeefbe05c13c52d089bd7) (cherry picked from commit 608043e6d029a00170a0a80d52fa9afdf209c692) --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 9ed08d750e2f..082d2d98dc7f 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -4,7 +4,7 @@ compute_engine_instance: # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images platform: freebsd image_project: freebsd-org-cloud-dev - image: freebsd-14-2-release-amd64-ufs + image: freebsd-14-3-release-amd64-ufs cpu: 8 memory: 8G disk: 40 From nobody Wed Oct 15 19:49:07 2025 X-Original-To: dev-commits-src-branches@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 4cn1qm5jTgz6Ctq8; Wed, 15 Oct 2025 19:49:08 +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 4cn1qm010mz4N2V; Wed, 15 Oct 2025 19:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557748; 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=He2HLKaXW6lhZAN6dpqXLPtY7qiOe3td/GL1ELy1wAM=; b=shMSvDSr7lqwaNi7hHuNpEa+XgvR2JjXFJokxAOdw4u1SYG/xJWgg7md9GnUYBojnnntqi AFEmKCngb2HhiVJGSsHWJv24X0MyfReConaDDVQFNyNvRjs4iQ0kfRwteQtuS/MEWt38TP FV9FOLdtCG6iW4JFdHROgOkU/oFORsPWExhrlsYm1W7FAY+6y/C73mWQrRBD/3dVKYgV2h VyO0NFbbznGPfbe28LQFnIgvCOuJBLpdZ17FGmHcdYvSLbujAD1GVVfP8CM2j8Czaja2UO V9yjiMX8/86se/PbeScDKwI5rlRMQMAP0mMv49VYavBfeaNm10YXJyo/tKKAAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557748; 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=He2HLKaXW6lhZAN6dpqXLPtY7qiOe3td/GL1ELy1wAM=; b=Mzjq4jRn7anKlrsbvFHf0a3DDfBn00kCm80ySGO/5Ifp8U46jl7kldHV23VXrY+HFMWBFd m/4KbwiCLaJNu9v4kQgo82kQfk+Es6+BY8UPLUFUlUvzf5oe/BWpPfBN/wE6N07/ykRtr5 R4ubR3jSauGfME5YBOfxaccuMJ36612fC7YvU+C2zd3IyeFpz0uRRSKtW5us4DLqOAM9Gs coW1zoXqNxNmlyWjsj7ooHTjq9M14drrpFJhj8L+AWO42xpjW5qK57UAzMg8euXcYSmQv4 yERdUa+lxRnm+EPqIDRjFnEbUatAjyDMKNuEhIEZVnzpQ9S//su8odQ3V1egDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760557748; a=rsa-sha256; cv=none; b=Ldya1eX5og+vCvH7J3HAzBJrOR66Bb5GV/dtPrlc55RaWIaAeD/fKrcgWoxbRcrYaxlPax OmKD6dVHVjamHb6YBpNgv33CR9t0X6JLN5cPbG7Eq9IvRU10cHvf9Wufhandjuav4Lm6qU 7wKbC6wReHJn0VI0c0393xn/fhZyGZc30ihJ3RInhKUTfVTWs1jBXn+YTAsikP8tROdnXE jeWWX7XHbGBsB2EbGm+zTwWkAEuXrmJK+lAsGmvPEA+TDPklCwPrXIEWAem4lstIUenZoD R/bOL6z9OMYvr7EOy7pl8iS+lCv6SO8+S+3QoDOBO7PNEIxysFFLra2Bfk+qXw== 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 4cn1ql6jbkzsYY; Wed, 15 Oct 2025 19:49:07 +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 59FJn7Vj069518; Wed, 15 Oct 2025 19:49:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FJn72Q069515; Wed, 15 Oct 2025 19:49:07 GMT (envelope-from git) Date: Wed, 15 Oct 2025 19:49:07 GMT Message-Id: <202510151949.59FJn72Q069515@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 14d97bd64a4a - releng/15.0 - ncurses: Add an ncurses-lib package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 14d97bd64a4a240d5a12337d22431bba525bc0df Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=14d97bd64a4a240d5a12337d22431bba525bc0df commit 14d97bd64a4a240d5a12337d22431bba525bc0df Author: Lexi Winter AuthorDate: 2025-10-15 12:28:43 +0000 Commit: Colin Percival CommitDate: 2025-10-15 19:23:32 +0000 ncurses: Add an ncurses-lib package Set LIB_PACKAGE= in lib/ncurses/Makefile.inc so the ncurses libraries go into the ncurses-lib subpackage rather than the base package. This means applications that depend on ncurses can be installed without needing to install the various utilities and manpages. This removes a dependency from runtime to ncurses (it now depends on ncurses-lib instead). Approved by: re (cperciva) MFC after: 3 seconds Reviewed by: kevans Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53060 (cherry picked from commit bde703e8b6ab3acc73bbb20f1ebe26221f33e9f1) (cherry picked from commit 9dab0e61a921b5f3c4db2e0e2b440aeb6a803e42) --- lib/ncurses/Makefile.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ncurses/Makefile.inc b/lib/ncurses/Makefile.inc index eea49908474c..e14867696834 100644 --- a/lib/ncurses/Makefile.inc +++ b/lib/ncurses/Makefile.inc @@ -1,6 +1,7 @@ # This is to include src/lib/Makefile.inc PACKAGE?= ncurses +LIB_PACKAGE= WARNS?= 3 .include "../Makefile.inc" From nobody Wed Oct 15 19:49:08 2025 X-Original-To: dev-commits-src-branches@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 4cn1qp0n11z6CtnD; Wed, 15 Oct 2025 19:49:10 +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 4cn1qn13Pmz4N2s; Wed, 15 Oct 2025 19:49:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557749; 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=jvnqp1VT0uH7dgGUXqHlE3QcgMaqX4dszyoecM7CBJM=; b=gslhCcH5P/5k9mtLUrG/PbIBlYvUGoqNr5SX7GzQXdw/NspilRrrgVCcQGDdl6ubvPElWk n9T6olnkInbFM7A3Z7dgL7Dlfl8/W6TDOWPCzeQG3+qr+xAZWc8a5KI0MSu884VhkSu4Lb gqHm0iXV+RCsMW1D9wXh5tMIMt/dTWa9g7YQg/2XgQTLzpCIhwDrTukWcNoQhy8Z0jaUHT 0bkiehuL99gYk8l7Zrvqnd4sZK9HUCY/pCdjHjo/VhWM13oOI9Gc+sQ27ncpuZKJ0mEPjn e0UZ3gQkR5U9ILTkbWCSvtwwBXIyFO1datQeWKfJO5sH+sfMQxm9yZM2opKzVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557749; 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=jvnqp1VT0uH7dgGUXqHlE3QcgMaqX4dszyoecM7CBJM=; b=uuiCMhzYyTuYufVhEBSvPWCMM4G7wDWMUlfHhxByA0qoP5v9Zb76/aUcX/xodqT7jfBlHs cT3qOrAGnpwlLX3ZVpCo+un6d6eyA8y38246TCrohww+1jyWssiyI/B53AyCppfZ96ZyL4 ub0aDEkkG8ft1PHX49I4JjPSLoYB2GAS3Z4k+lZRvk6UUHwNneywHMnxoGi1/8/hy8uO99 Nm6EJ4HRn+fijOjPpYfrxeMpAZItnI8CymULoQvXeLUqFIPTX10eLCFXudhO15fUYIP7+U 08hsltBoMI0UwTWsrSjhhbEnxgkmUK0PvoKwhM7q2yV7G3/wiXOMhOrtW9NCow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760557749; a=rsa-sha256; cv=none; b=NJpkZjM1L2NRau7Et4Hx4E7/zEmaTpBt9/q2GSGjDBNNaKVGWNxNd4wRMrM3tXOdy8wxJ5 h/ulmvo7QmHCQfDpXS7hAMcM4BZStnWJwodz8wx/l3sgDB6zesfeWNIb286l4k8QZ4xBBk UyLuM5E3qoUIcnp2raJ0kfguDjJrwW4xSmcvr+2yxTbXMTaQPL7B0mfWqVcVFpDyS4f+ge GKLE6sF7ozD681V1GrPHx9Xf6dWrBD5380YzOlZhCUKdUciNVBX4rezCbiik5ukDdLnrzU DUydsXN44vR8vlBwh+uDBElPGv1pW+EFWNILr8APhFrjX7pV+eG7Yylr6Ajbig== 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 4cn1qn0fWdzsKy; Wed, 15 Oct 2025 19:49:09 +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 59FJn8GU069553; Wed, 15 Oct 2025 19:49:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FJn87c069549; Wed, 15 Oct 2025 19:49:08 GMT (envelope-from git) Date: Wed, 15 Oct 2025 19:49:08 GMT Message-Id: <202510151949.59FJn87c069549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: d8897097edc5 - releng/15.0 - packages: Rename unbound to local-unbound List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: d8897097edc5e3d2d76a3066e49e422f0eab0c9f Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d8897097edc5e3d2d76a3066e49e422f0eab0c9f commit d8897097edc5e3d2d76a3066e49e422f0eab0c9f Author: Lexi Winter AuthorDate: 2025-10-15 11:00:35 +0000 Commit: Colin Percival CommitDate: 2025-10-15 19:23:36 +0000 packages: Rename unbound to local-unbound This more accurately reflects its purpose, and its contents, since everything in the package is prefixed with "local-". While here, add a message on upgrade about regenerating the config. Approved by: re (cperciva) MFC after: 3 seconds Requested by: des Reviewed by: des Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D53056 (cherry picked from commit bf84861460f9287fe9cf66b2cd22fefe8e242a28) (cherry picked from commit f1b0e00d56a8b01be86ff41a05cb6916727cee8a) --- UPDATING | 8 +++++++ etc/Makefile | 2 +- etc/mtree/BSD.var.dist | 4 ++-- lib/libunbound/Makefile | 6 ++--- libexec/rc/rc.d/Makefile | 2 +- .../ucl/{unbound-all.ucl => local-unbound-all.ucl} | 0 release/packages/ucl/local-unbound.ucl | 27 ++++++++++++++++++++++ usr.sbin/unbound/Makefile.inc | 2 +- 8 files changed, 43 insertions(+), 8 deletions(-) diff --git a/UPDATING b/UPDATING index 4b14159ceb4a..d18aaeb2fd46 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,14 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20251015: + The "FreeBSD-unbound" package is renamed to "FreeBSD-local-unbound". + If you have set-optional or set-base installed, the new package will + be installed automatically, otherwise you should manually install the + new package and remove the old one. + + This change only affects pkgbase users. + 20251001: The deprecated ftpd(8) has been removed. Users who still need ftpd can install the ftp/freebsd-ftpd port. pkgbase users should remove diff --git a/etc/Makefile b/etc/Makefile index 93d4b489ec7d..bda70b8af391 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -68,7 +68,7 @@ distribution: # install the /etc/unbound symlink, otherwise, don't overwrite the user's # existing symlink. if [ "${NO_ROOT:Dtrue}" = true -o ! -e ${DESTDIR}/etc/unbound ]; then \ - ${INSTALL_SYMLINK} -Tpackage=unbound ../var/unbound \ + ${INSTALL_SYMLINK} -Tpackage=local-unbound ../var/unbound \ ${DESTDIR}/etc/unbound; \ fi .endif diff --git a/etc/mtree/BSD.var.dist b/etc/mtree/BSD.var.dist index b3372196f5f9..b55c0150848e 100644 --- a/etc/mtree/BSD.var.dist +++ b/etc/mtree/BSD.var.dist @@ -104,8 +104,8 @@ vi.recover mode=01777 .. .. - unbound uname=unbound gname=unbound mode=0755 tags=package=unbound - conf.d uname=unbound gname=unbound mode=0755 tags=package=unbound + unbound uname=unbound gname=unbound mode=0755 tags=package=local-unbound + conf.d uname=unbound gname=unbound mode=0755 tags=package=local-unbound .. .. yp diff --git a/lib/libunbound/Makefile b/lib/libunbound/Makefile index e2cd25ea8b34..1a31e50e6416 100644 --- a/lib/libunbound/Makefile +++ b/lib/libunbound/Makefile @@ -1,4 +1,3 @@ -PACKAGE=lib${LIB} # Vendor sources and generated files LDNSDIR= ${SRCTOP}/contrib/ldns UNBOUNDDIR= ${SRCTOP}/contrib/unbound @@ -6,9 +5,10 @@ UNBOUNDDIR= ${SRCTOP}/contrib/unbound # Hold my beer and watch this .PATH: ${UNBOUNDDIR} ${UNBOUNDDIR}/cachedb ${UNBOUNDDIR}/dns64 ${UNBOUNDDIR}/iterator ${UNBOUNDDIR}/sldns ${UNBOUNDDIR}/libunbound ${UNBOUNDDIR}/services ${UNBOUNDDIR}/services/cache ${UNBOUNDDIR}/util ${UNBOUNDDIR}/util/data ${UNBOUNDDIR}/respip ${UNBOUNDDIR}/util/storage ${UNBOUNDDIR}/validator -LIB= unbound +PACKAGE= local-unbound + +LIB= unbound PRIVATELIB= -PACKAGE= unbound CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} -I${.CURDIR} CFLAGS+= -DOPENSSL_API_COMPAT=0x10100000L diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 093da31ed787..3b7f45e8f101 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -294,7 +294,7 @@ SSHPACKAGE= ssh SSH= sshd CONFGROUPS.${MK_UNBOUND}+= UNBOUND -UNBOUNDPACKAGE= unbound +UNBOUNDPACKAGE= local-unbound UNBOUND= local_unbound CONFGROUPS.${MK_VI}+= VI diff --git a/release/packages/ucl/unbound-all.ucl b/release/packages/ucl/local-unbound-all.ucl similarity index 100% rename from release/packages/ucl/unbound-all.ucl rename to release/packages/ucl/local-unbound-all.ucl diff --git a/release/packages/ucl/local-unbound.ucl b/release/packages/ucl/local-unbound.ucl new file mode 100644 index 000000000000..0f1c77a0d0ee --- /dev/null +++ b/release/packages/ucl/local-unbound.ucl @@ -0,0 +1,27 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +messages = [ + { + type: upgrade + message: < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 138e36514fe8 - releng/15.0 - qat: enable qat driver for 402xx device List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 138e36514fe8bd78e56c249e080a9499bc3fddef Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=138e36514fe8bd78e56c249e080a9499bc3fddef commit 138e36514fe8bd78e56c249e080a9499bc3fddef Author: Hareshx Sankar Raj AuthorDate: 2025-09-04 18:21:36 +0000 Commit: Colin Percival CommitDate: 2025-10-15 19:23:40 +0000 qat: enable qat driver for 402xx device Enabled qat driver support for 402xx device with ID 0x4944/0x4945. This is an additional device supported under the existing qat_4xxx driver. Firmwares specific to the 402xx device are added. Signed-off-by: Hareshx Sankar Raj Approved by: re (cperciva) Relnotes: yes Sponsored by: Intel Corporation MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52488 (cherry picked from commit 7fbd362c091b2b384d14c3ed5af9234bb2eff9c2) (cherry picked from commit 88c0ce38bc18acaf50188eda402384a0cb93890d) --- sys/contrib/dev/qat/qat_402xx.bin | Bin 0 -> 665360 bytes sys/contrib/dev/qat/qat_402xx_mmp.bin | Bin 0 -> 150084 bytes sys/dev/qat/include/common/adf_accel_devices.h | 4 ++ sys/dev/qat/qat_api/include/icp_sal_versions.h | 2 +- sys/dev/qat/qat_common/qat_uclo.c | 1 + sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c | 58 +++++++++++++++++++------ sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h | 6 +++ sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c | 15 ++++--- sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c | 15 ++++--- sys/modules/qatfw/qat_4xxx/Makefile | 5 ++- 10 files changed, 78 insertions(+), 28 deletions(-) diff --git a/sys/contrib/dev/qat/qat_402xx.bin b/sys/contrib/dev/qat/qat_402xx.bin new file mode 100644 index 000000000000..74151547edce Binary files /dev/null and b/sys/contrib/dev/qat/qat_402xx.bin differ diff --git a/sys/contrib/dev/qat/qat_402xx_mmp.bin b/sys/contrib/dev/qat/qat_402xx_mmp.bin new file mode 100644 index 000000000000..6404eb009d2f Binary files /dev/null and b/sys/contrib/dev/qat/qat_402xx_mmp.bin differ diff --git a/sys/dev/qat/include/common/adf_accel_devices.h b/sys/dev/qat/include/common/adf_accel_devices.h index c09aee8ea4bd..eeffc6a9132c 100644 --- a/sys/dev/qat/include/common/adf_accel_devices.h +++ b/sys/dev/qat/include/common/adf_accel_devices.h @@ -39,12 +39,16 @@ #define ADF_4XXXIOV_PCI_DEVICE_ID 0x4941 #define ADF_401XX_PCI_DEVICE_ID 0x4942 #define ADF_401XXIOV_PCI_DEVICE_ID 0x4943 +#define ADF_402XX_PCI_DEVICE_ID 0x4944 +#define ADF_402XXIOV_PCI_DEVICE_ID 0x4945 #define IS_QAT_GEN3(ID) ({ (ID == ADF_C4XXX_PCI_DEVICE_ID); }) static inline bool IS_QAT_GEN4(const unsigned int id) { return (id == ADF_4XXX_PCI_DEVICE_ID || id == ADF_401XX_PCI_DEVICE_ID || + id == ADF_402XX_PCI_DEVICE_ID || + id == ADF_402XXIOV_PCI_DEVICE_ID || id == ADF_4XXXIOV_PCI_DEVICE_ID || id == ADF_401XXIOV_PCI_DEVICE_ID); } diff --git a/sys/dev/qat/qat_api/include/icp_sal_versions.h b/sys/dev/qat/qat_api/include/icp_sal_versions.h index 03bcef4fcbbb..0eb227ade09c 100644 --- a/sys/dev/qat/qat_api/include/icp_sal_versions.h +++ b/sys/dev/qat/qat_api/include/icp_sal_versions.h @@ -26,7 +26,7 @@ /* Part name and number of the accelerator device */ #define SAL_INFO2_DRIVER_SW_VERSION_MAJ_NUMBER 3 -#define SAL_INFO2_DRIVER_SW_VERSION_MIN_NUMBER 15 +#define SAL_INFO2_DRIVER_SW_VERSION_MIN_NUMBER 16 #define SAL_INFO2_DRIVER_SW_VERSION_PATCH_NUMBER 0 /** diff --git a/sys/dev/qat/qat_common/qat_uclo.c b/sys/dev/qat/qat_common/qat_uclo.c index 54e8e8eb7421..b17020286d24 100644 --- a/sys/dev/qat/qat_common/qat_uclo.c +++ b/sys/dev/qat/qat_common/qat_uclo.c @@ -892,6 +892,7 @@ qat_uclo_get_dev_type(struct icp_qat_fw_loader_handle *handle) return ICP_QAT_AC_C4XXX_DEV_TYPE; case ADF_4XXX_PCI_DEVICE_ID: case ADF_401XX_PCI_DEVICE_ID: + case ADF_402XX_PCI_DEVICE_ID: return ICP_QAT_AC_4XXX_A_DEV_TYPE; default: pr_err("QAT: unsupported device 0x%x\n", diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c index d730efd5952b..49e1e1859e78 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c @@ -536,8 +536,8 @@ adf_exit_accel_units(struct adf_accel_dev *accel_dev) } static const char * -get_obj_name(struct adf_accel_dev *accel_dev, - enum adf_accel_unit_services service) +get_obj_name_4xxx(struct adf_accel_dev *accel_dev, + enum adf_accel_unit_services service) { switch (service) { case ADF_ACCEL_ASYM: @@ -553,6 +553,24 @@ get_obj_name(struct adf_accel_dev *accel_dev, } } +static const char * +get_obj_name_402xx(struct adf_accel_dev *accel_dev, + enum adf_accel_unit_services service) +{ + switch (service) { + case ADF_ACCEL_ASYM: + return ADF_402XX_ASYM_OBJ; + case ADF_ACCEL_CRYPTO: + return ADF_402XX_SYM_OBJ; + case ADF_ACCEL_COMPRESSION: + return ADF_402XX_DC_OBJ; + case ADF_ACCEL_ADMIN: + return ADF_402XX_ADMIN_OBJ; + default: + return NULL; + } +} + static uint32_t get_objs_num(struct adf_accel_dev *accel_dev) { @@ -982,8 +1000,23 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->clock_frequency = ADF_4XXX_AE_FREQ; hw_data->get_sku = get_sku; hw_data->heartbeat_ctr_num = ADF_NUM_HB_CNT_PER_AE; - hw_data->fw_name = ADF_4XXX_FW; - hw_data->fw_mmp_name = ADF_4XXX_MMP; + switch (id) { + case ADF_402XX_PCI_DEVICE_ID: + hw_data->fw_name = ADF_402XX_FW; + hw_data->fw_mmp_name = ADF_402XX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; + break; + case ADF_401XX_PCI_DEVICE_ID: + hw_data->fw_name = ADF_4XXX_FW; + hw_data->fw_mmp_name = ADF_4XXX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_401XX_ASYM_AE_MASK; + break; + + default: + hw_data->fw_name = ADF_4XXX_FW; + hw_data->fw_mmp_name = ADF_4XXX_MMP; + hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; + } hw_data->init_admin_comms = adf_init_admin_comms; hw_data->exit_admin_comms = adf_exit_admin_comms; hw_data->send_admin_init = adf_4xxx_send_admin_init; @@ -1002,7 +1035,13 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->get_ring_svc_map_data = get_ring_svc_map_data; hw_data->admin_ae_mask = ADF_4XXX_ADMIN_AE_MASK; hw_data->get_objs_num = get_objs_num; - hw_data->get_obj_name = get_obj_name; + switch (id) { + case ADF_402XX_PCI_DEVICE_ID: + hw_data->get_obj_name = get_obj_name_402xx; + break; + default: + hw_data->get_obj_name = get_obj_name_4xxx; + } hw_data->get_obj_cfg_ae_mask = get_obj_cfg_ae_mask; hw_data->get_service_type = adf_4xxx_get_service_type; hw_data->set_msix_rttable = set_msix_default_rttable; @@ -1022,15 +1061,6 @@ adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 id) hw_data->query_storage_cap = 1; hw_data->ring_pair_reset = adf_gen4_ring_pair_reset; - switch (id) { - case ADF_401XX_PCI_DEVICE_ID: - hw_data->asym_ae_active_thd_mask = DEFAULT_401XX_ASYM_AE_MASK; - break; - case ADF_4XXX_PCI_DEVICE_ID: - default: - hw_data->asym_ae_active_thd_mask = DEFAULT_4XXX_ASYM_AE_MASK; - } - adf_gen4_init_hw_csr_info(&hw_data->csr_info); adf_gen4_init_pf_pfvf_ops(&hw_data->csr_info.pfvf_ops); } diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h index c35ebbcadcd7..fa7249dca596 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.h @@ -87,6 +87,12 @@ #define ADF_4XXX_SYM_OBJ "qat_4xxx_sym.bin" #define ADF_4XXX_ASYM_OBJ "qat_4xxx_asym.bin" #define ADF_4XXX_ADMIN_OBJ "qat_4xxx_admin.bin" +#define ADF_402XX_FW "qat_402xx_fw" +#define ADF_402XX_MMP "qat_402xx_mmp_fw" +#define ADF_402XX_DC_OBJ "qat_402xx_dc.bin" +#define ADF_402XX_SYM_OBJ "qat_402xx_sym.bin" +#define ADF_402XX_ASYM_OBJ "qat_402xx_asym.bin" +#define ADF_402XX_ADMIN_OBJ "qat_402xx_admin.bin" /* Only 3 types of images can be loaded including the admin image */ #define ADF_4XXX_MAX_OBJ 3 diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c index cb534dd03b86..f9ad39fa45f0 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_drv.c @@ -22,12 +22,14 @@ static MALLOC_DEFINE(M_QAT_4XXX, "qat_4xxx", "qat_4xxx"); PCI_VENDOR_ID_INTEL, device_id \ } -static const struct pci_device_id adf_pci_tbl[] = - { ADF_SYSTEM_DEVICE(ADF_4XXX_PCI_DEVICE_ID), - ADF_SYSTEM_DEVICE(ADF_401XX_PCI_DEVICE_ID), - { - 0, - } }; +static const struct pci_device_id adf_pci_tbl[] = { + ADF_SYSTEM_DEVICE(ADF_4XXX_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_401XX_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_402XX_PCI_DEVICE_ID), + { + 0, + } +}; static int adf_probe(device_t dev) @@ -135,6 +137,7 @@ adf_cleanup_accel(struct adf_accel_dev *accel_dev) switch (pci_get_device(accel_pci_dev->pci_dev)) { case ADF_4XXX_PCI_DEVICE_ID: case ADF_401XX_PCI_DEVICE_ID: + case ADF_402XX_PCI_DEVICE_ID: adf_clean_hw_data_4xxx(accel_dev->hw_device); break; default: diff --git a/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c b/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c index 2bbccb4d6b17..dbe40835ccbf 100644 --- a/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c +++ b/sys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c @@ -22,12 +22,14 @@ static MALLOC_DEFINE(M_QAT_4XXXVF, "qat_4xxxvf", "qat_4xxxvf"); PCI_VENDOR_ID_INTEL, device_id \ } -static const struct pci_device_id adf_pci_tbl[] = - { ADF_SYSTEM_DEVICE(ADF_4XXXIOV_PCI_DEVICE_ID), - ADF_SYSTEM_DEVICE(ADF_401XXIOV_PCI_DEVICE_ID), - { - 0, - } }; +static const struct pci_device_id adf_pci_tbl[] = { + ADF_SYSTEM_DEVICE(ADF_4XXXIOV_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_401XXIOV_PCI_DEVICE_ID), + ADF_SYSTEM_DEVICE(ADF_402XXIOV_PCI_DEVICE_ID), + { + 0, + } +}; static int adf_probe(device_t dev) @@ -76,6 +78,7 @@ adf_cleanup_accel(struct adf_accel_dev *accel_dev) switch (pci_get_device(accel_pci_dev->pci_dev)) { case ADF_4XXXIOV_PCI_DEVICE_ID: case ADF_401XXIOV_PCI_DEVICE_ID: + case ADF_402XXIOV_PCI_DEVICE_ID: adf_clean_hw_data_4xxxiov(accel_dev->hw_device); break; default: diff --git a/sys/modules/qatfw/qat_4xxx/Makefile b/sys/modules/qatfw/qat_4xxx/Makefile index fb7171bcaf45..f6f19d6cbe32 100644 --- a/sys/modules/qatfw/qat_4xxx/Makefile +++ b/sys/modules/qatfw/qat_4xxx/Makefile @@ -4,6 +4,9 @@ KMOD= qat_4xxx_fw -FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 +FIRMWS= qat_4xxx.bin:qat_4xxx_fw:111 \ + qat_4xxx_mmp.bin:qat_4xxx_mmp_fw:111 \ + qat_402xx.bin:qat_402xx_fw:111 \ + qat_402xx_mmp.bin:qat_402xx_mmp_fw:111 .include From nobody Wed Oct 15 19:49:11 2025 X-Original-To: dev-commits-src-branches@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 4cn1qq5ZsQz6CtYM; Wed, 15 Oct 2025 19:49:11 +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 4cn1qq33cfz4NLs; Wed, 15 Oct 2025 19:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557751; 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=0iq/0lfyFR/jXF+FUvLSv+W34MexRHrBC0n6cFRM7ak=; b=ntkZsExV47NCNwB/I8OVL0kG/41QS9k7J5AbzckgPXZ5g95/PY+O1d0JXNf607k645C0QR Pu6vkSz/f75CYtWd3DIX3uPphJk1nNF2HtArB1dqMawNqP0wBePHuSKR3JrRHxvnEo+a4Q S3QL+RFl8PTQjHBKFQ6gYG4Nsp3SQ/6d1x8F/NmOVrThxyY8PbIsbPz5T9UTY3Iae32e+n pFcXHMiQRBx15kMgQIDzEDTBfXFPqJV7dp2c37AlMppyh4GWY48bzEPQek2xNsWpU1Tg89 3sJWL+3arFpybgmu+HU8Lsr7Xqq0KCaXcxkjwzblVqxYezPd5UTPJ/lX0F8ZlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760557751; 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=0iq/0lfyFR/jXF+FUvLSv+W34MexRHrBC0n6cFRM7ak=; b=cckAJYh/0f0sb7yQSpUzfS5nzGp5q5qI8/jQ6+cLj21Xt5hUtxgvYgfv+3VK3nMdRPLyNL KfITlMNzm4/ITnrJSEh3a9SUbtZTEJRQhVnNB2mmjgZuq2NcAAhIrFRV4jb+w7zSCEV5CM yfqGQQpZhhDk7zf5J9C6ItRD3+G/5VX2bdFUrWSojilKd/kDXUUkGLyEYSuihn1iRXFCBq y5pjSo73OXlDkajjoVUgjPVxXeY4XFDDds8cG6wx1fAuxIfIE0amIZa+RkciAHzJd7ugqp bOpZAKESWEFgNQbwjlW3oL9Bk5hYt8aT7HGtJActkgA5c6ctgu3dDEg7zr34fA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760557751; a=rsa-sha256; cv=none; b=bhkpimQoBTcQVpHZlAcNDYfBN37ejkpWsqzE9rQxAPeUwfgt7I/evW//P+N3pltNB/rWSy +kq0+NeEf0L/VbI3oPyweHmyILBJjP6AsHBkVc0QiSqBzy+Kn9SeP7mxNCB98qpwMRJarT 7cQr7zNI+djf6ivAYbHL1BglDqRJNQ2xYXXX8KFp82u+NaDqxA6ag1UgX+zz02uyouJWqF dsMqs8ovzNNPZP4zVThPkN/s4JXANnY885itGEb0Z1jFCwm7GRC/QoveTMkYs/H1nOXPSU l2DYVSZXd4YT1XL8dUA8n69gyU+2sszMGg4avCEfjfBjfLVAnAyrkEosEvSTAA== 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 4cn1qq2D26zsVw; Wed, 15 Oct 2025 19:49:11 +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 59FJnBtX069624; Wed, 15 Oct 2025 19:49:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59FJnBrJ069621; Wed, 15 Oct 2025 19:49:11 GMT (envelope-from git) Date: Wed, 15 Oct 2025 19:49:11 GMT Message-Id: <202510151949.59FJnBrJ069621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 24546cb506a0 - releng/15.0 - rc: Update dependencies for zpool scripts List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 24546cb506a0b54b548dd2cf1dfe1e7e029ec146 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=24546cb506a0b54b548dd2cf1dfe1e7e029ec146 commit 24546cb506a0b54b548dd2cf1dfe1e7e029ec146 Author: Mark Johnston AuthorDate: 2025-10-08 12:50:54 +0000 Commit: Colin Percival CommitDate: 2025-10-15 19:23:44 +0000 rc: Update dependencies for zpool scripts After commit 900bc0206348, zpool depends on mountcritlocal. zpoolreguid and zpoolupgrade depend on zpool and want to run before mountcritcycle, so we have a pair of cycles. Update zpoolreguid and zpoolupgrade to avoid this. Approved by: re (cperciva) Reviewed by: des MFC after: 3 days Fixes: 900bc0206348 ("rc.d/zpool: change mountcritlocal dep from BEFORE to REQUIRE") Differential Revision: https://reviews.freebsd.org/D52953 (cherry picked from commit ae6db60ff56de5b93de9f6fee6116cbc2d4b498e) (cherry picked from commit 8e957b78e6846c57e70d9c302c027fa02f13bb14) --- libexec/rc/rc.d/zpoolreguid | 2 +- libexec/rc/rc.d/zpoolupgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.d/zpoolreguid b/libexec/rc/rc.d/zpoolreguid index f94630d9283f..c19f52d3d702 100755 --- a/libexec/rc/rc.d/zpoolreguid +++ b/libexec/rc/rc.d/zpoolreguid @@ -2,7 +2,7 @@ # PROVIDE: zpoolreguid # REQUIRE: zpool -# BEFORE: mountcritlocal +# BEFORE: FILESYSTEMS # KEYWORD: firstboot nojail . /etc/rc.subr diff --git a/libexec/rc/rc.d/zpoolupgrade b/libexec/rc/rc.d/zpoolupgrade index 1435cba7199c..5e623a9c2bf0 100755 --- a/libexec/rc/rc.d/zpoolupgrade +++ b/libexec/rc/rc.d/zpoolupgrade @@ -2,7 +2,7 @@ # PROVIDE: zpoolupgrade # REQUIRE: zpool -# BEFORE: mountcritlocal +# BEFORE: FILESYSTEMS # KEYWORD: firstboot nojail . /etc/rc.subr From nobody Thu Oct 16 00:35:04 2025 X-Original-To: dev-commits-src-branches@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 4cn89h3nXkz6C3R5; Thu, 16 Oct 2025 00:35:04 +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 4cn89h3093z3dmB; Thu, 16 Oct 2025 00:35:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760574904; 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=9cORiDZr8erHhm9ir3cbz2HFhZhKItgkRcWdcVX+qDk=; b=nbuysDJDYKZHfcXb1qu39cR4u15TLDI4YwDpmHxAhLTsrPoOs85bxXQSQBDxLJAcQ5CKrz 0G3KFrhwEkmBdS1Qf0ulBU+0pmf9T1f/KhBgpSI6YA24Ir7ZSnjnzPnf7a+hT19i6+rEJi 1licXYzAH4iFcCPuZiY9YTTlTYEB7HIgwx3kas4sfOKSOiH6fr0fqjX+0bGkqgElNK0Qy8 MRJso8y/o9fI06az4Zk6bGkdIMPAJeRACTW4qSaRVeVZCk+eIP2NAkW+/GP6t1UrRhqY6j P7u14wYJI+bhpf1M1GNz5HWyKH86gBeg5B9pPdt+KyCYVZbkpP88bTzzceegtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760574904; 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=9cORiDZr8erHhm9ir3cbz2HFhZhKItgkRcWdcVX+qDk=; b=ioP1c4Dhk5hfY003tHIqk9XbiAIRhU8SxyqA0URUhxUkRTRayGH9PPFrwFw9IYgqvq17cy p41/gYTivXfhnvsp7Y8QBZP6SKAtuF88I06OpgzAXAVmja33l+31AqhntMrwQQXtzdTcuc mXAaHphtF9cTGJ7LMA79b/rH8ayqZaUhNOUQ1tJATyHluSjjrJ2Lwovsv7Nvly9X9Pu4xq hb2AHB77cnI6OU1lNVna6d9pK73qGS7J/JI8ZLJyzQByzpHhs/KfdGsrRGT/00Tzkhd9nE cfXxnbjTqqa/bokocAjhbgXwo8P4OlJcmqwEbIhEovueGDYOUa+OovqjuTi92Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760574904; a=rsa-sha256; cv=none; b=nbatxN+GR8FXLXe5hEk9a8ZXYGCnlr7A1G2NB06sp0vpXnBURa/EcLYujvlFrWELtOg/MJ YNsPjImAxHNLwP9vPqaJNG24oOgLxRKd3RdZAP5B/BGpo1Q3jqJK1NvDIZ3kBJwzuDHOXp +rXRvCYacnWj1hBS9cXLe35Nd2u9cEDtIj2iEcQCW5r8n681Xvzk9beS5Q3bOtv28Pgrif a0tZ4RESgKvz4enKcrn+bRcc2bfgR+e+Gl4+N2dBL9frOs2+KM72c4U7lfZM8HdgjjH7uE 98gye9vc0DOWpZM3UW5bPyVcge58ZSP/t756onE1ExVHEowMpm6Ad/9Xe+gpKw== 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 4cn89h2Xcwz11qt; Thu, 16 Oct 2025 00:35:04 +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 59G0Z4d3011653; Thu, 16 Oct 2025 00:35:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59G0Z4tX011650; Thu, 16 Oct 2025 00:35:04 GMT (envelope-from git) Date: Thu, 16 Oct 2025 00:35:04 GMT Message-Id: <202510160035.59G0Z4tX011650@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 7161c525abff - stable/15 - openssh: blocklist: Remove non async-signal safe probe List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7161c525abffe6cdb19ac01223d058fcbabf49c5 Auto-Submitted: auto-generated The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=7161c525abffe6cdb19ac01223d058fcbabf49c5 commit 7161c525abffe6cdb19ac01223d058fcbabf49c5 Author: Jose Luis Duran AuthorDate: 2025-10-15 13:29:30 +0000 Commit: Jose Luis Duran CommitDate: 2025-10-16 00:30:07 +0000 openssh: blocklist: Remove non async-signal safe probe BLOCKLIST_NOTIFY() is called within a signal handler for the alarm after the grace period has expired that may only take async-signal safe actions. Reviewed by: emaste Fixes: e02003bce726 ("openssh: blocklist: Use NetBSD probes") MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D53109 (cherry picked from commit 9c82c17c2a3ac61a69cb5337cb6f92ae88bc0b08) --- crypto/openssh/sshd-session.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/crypto/openssh/sshd-session.c b/crypto/openssh/sshd-session.c index e8299c254567..ca35790149ac 100644 --- a/crypto/openssh/sshd-session.c +++ b/crypto/openssh/sshd-session.c @@ -217,8 +217,6 @@ mm_is_monitor(void) static void grace_alarm_handler(int sig) { - BLOCKLIST_NOTIFY(the_active_state, BLOCKLIST_AUTH_FAIL, - "Grace period expired"); /* * Try to kill any processes that we have spawned, E.g. authorized * keys command helpers or privsep children. From nobody Thu Oct 16 02:22:28 2025 X-Original-To: dev-commits-src-branches@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 4cnBYd0q8Cz6CFxm; Thu, 16 Oct 2025 02:22:29 +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 4cnBYd0DYZz3t3m; Thu, 16 Oct 2025 02:22:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760581349; 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=aGGlaBbpzDtCldiz1pK8AJgFRPnuqmHkgdJkOILNQjg=; b=t6wbDgMta720GEZf0bDZ0iY/H1XXZ6Fy1EtE+1Xe0oTcdk9q0p57bSnYEecxzvmAYjpafC Y9Lt808kwOJyXhymCHCQn5FWnG0lNdHWVuRNT7OabJIuxHZNwpAQFbcaG4I8gR02uWdhnT pCCtLu6HEoQhdDZTgOx/7ObCb7AAJSJO/M8qtWxB/nnFetc5jLn4RHqNV9g3/yZd4sjf6V +WZh8EfHfDl+YeK/k/s7BscreNBxcDsBzezjYeQ9sk55XwtHYWK32FnoMLSY/yzXMyp9b8 acIkGydpUxZ25YAM89SJFwrfzfxb6ZWDgl5M+w0ZigrX53qsN1BhVOF3NiZaKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760581349; 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=aGGlaBbpzDtCldiz1pK8AJgFRPnuqmHkgdJkOILNQjg=; b=hpwV9Zz+18F78l9ECnRj6YjoKTZUn9iq1tfEUo+3U9zmM+uzLaGbblz7XB73XLSKR/4Xeh 6C5uv9sCpYk+Bx59N/aunm2psquJ6q5J6ZQQFredG4H7Q5eoA4Lcs3LBuJMMk06JtMzcE+ aIV0RzAuEVI3TBalTqGdZkYJMUSf04ceDfKt0YliVgm7b0tDk8/kYLxiWIrGZV8/Wb0GX0 6j+XWXj7KQAoOSLs2DPm/BxEIZthh7CuZMBltptRfqjVDS9QWz4WdWwwjlOvN+vO29Gapu bKcz6y3SCeAXdyeri1iBwC9wJwuLgJ/afx2tReHY80CRMtDkCAoo31L1iGazCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760581349; a=rsa-sha256; cv=none; b=M3I96LjXQFID66JZOII5pDUjdOJfZQXDVX4i2zwSE51IuiQP1aT1XahkoElRiY/ahp5V3g tnviefjlu61ClH7EOl0tpOBZjZJeRb8FAsFOBy7oy7ECEA891OweYWmO4J0F2tNVRG8xSH GJ8oFgfPZNvvgzdlZSZRFe6zvOntp9s0PnEUfqzWT7vwayv/BdSSdh1973Rjo982iTr2kf B9Wlp5eiy2qY5lXKJUlN+SexOfdFA1NZkTgLRSsUXeiVT30bm+d46otxcG1uLGeitf1a5B JzCV3dXqjWFgk/0LXd7Ru9DL/VwOGM0KRyHzptG04hy7twLc/SFLj7hBSDsG0A== 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 4cnBYc6y4Jz14HF; Thu, 16 Oct 2025 02:22:28 +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 59G2MSx2017880; Thu, 16 Oct 2025 02:22:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59G2MSNr017877; Thu, 16 Oct 2025 02:22:28 GMT (envelope-from git) Date: Thu, 16 Oct 2025 02:22:28 GMT Message-Id: <202510160222.59G2MSNr017877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5a0a2d269f37 - stable/15 - nullfs: add a helper for testing if vnode belongs to a nullfs mount List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5a0a2d269f37fa79ee879e54856c94272b7e3c33 Auto-Submitted: auto-generated The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5a0a2d269f37fa79ee879e54856c94272b7e3c33 commit 5a0a2d269f37fa79ee879e54856c94272b7e3c33 Author: Konstantin Belousov AuthorDate: 2025-10-08 15:42:27 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-16 02:22:20 +0000 nullfs: add a helper for testing if vnode belongs to a nullfs mount (cherry picked from commit 419f2fe6b70b1a409bf7eca7020d7c745558690f) --- sys/fs/nullfs/null.h | 10 ++++++++++ sys/fs/nullfs/null_vfsops.c | 4 ++-- sys/fs/nullfs/null_vnops.c | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/sys/fs/nullfs/null.h b/sys/fs/nullfs/null.h index 0a93878c859f..abd652c4ac1c 100644 --- a/sys/fs/nullfs/null.h +++ b/sys/fs/nullfs/null.h @@ -78,6 +78,16 @@ struct vnode *null_checkvp(struct vnode *vp, char *fil, int lno); #endif extern struct vop_vector null_vnodeops; +extern struct vop_vector null_vnodeops_no_unp_bypass; + +static inline bool +null_is_nullfs_vnode(struct vnode *vp) +{ + const struct vop_vector *op; + + op = vp->v_op; + return (op == &null_vnodeops); +} #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_NULLFSNODE); diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c index 4cddf24a5745..e2dabd8e33cc 100644 --- a/sys/fs/nullfs/null_vfsops.c +++ b/sys/fs/nullfs/null_vfsops.c @@ -116,7 +116,7 @@ nullfs_mount(struct mount *mp) /* * Unlock lower node to avoid possible deadlock. */ - if (mp->mnt_vnodecovered->v_op == &null_vnodeops && + if (null_is_nullfs_vnode(mp->mnt_vnodecovered) && VOP_ISLOCKED(mp->mnt_vnodecovered) == LK_EXCLUSIVE) { VOP_UNLOCK(mp->mnt_vnodecovered); isvnunlocked = true; @@ -150,7 +150,7 @@ nullfs_mount(struct mount *mp) /* * Check multi null mount to avoid `lock against myself' panic. */ - if (mp->mnt_vnodecovered->v_op == &null_vnodeops) { + if (null_is_nullfs_vnode(mp->mnt_vnodecovered)) { nn = VTONULL(mp->mnt_vnodecovered); if (nn == NULL || lowerrootvp == nn->null_lowervp) { NULLFSDEBUG("nullfs_mount: multi null mount?\n"); diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index 74c1a8f3acb6..ebb765b0a1c5 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -274,7 +274,7 @@ null_bypass(struct vop_generic_args *ap) * that aren't. (We must always map first vp or vclean fails.) */ if (i != 0 && (*this_vp_p == NULLVP || - (*this_vp_p)->v_op != &null_vnodeops)) { + !null_is_nullfs_vnode(*this_vp_p))) { old_vps[i] = NULLVP; } else { old_vps[i] = *this_vp_p; From nobody Thu Oct 16 02:22:30 2025 X-Original-To: dev-commits-src-branches@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 4cnBYf2gTTz6CFgP; Thu, 16 Oct 2025 02:22:30 +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 4cnBYf0w2Wz3t1S; Thu, 16 Oct 2025 02:22:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760581350; 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=29mPZ/qD3icruHUIw2AdjowCpL2/GGQKGggK0zAsy4M=; b=gRertx/sfLNtnBjy9BuyN3eDPHn82spqx7J82vN38EIzCK0IegsiffKMQTbZWLlQds1DtD vFJ5jS+MB3Fn2kpl5MHWkfR/9xa9V+EuXCVM745Al4JMmyHpgzf8XnC8lPgQEchSw2Hj1h KqTqo4Ug3LNtohi/ED5QpgSzf4tvjp73DCBO0TVM3+NDhfuqMDj/is7UjGGvX59p3jVZuh xVLKqBrU3yYgoR9fm/ZC9vD13Kir6IQeAIBOqwdA6P1X4U7MxYxk21PMV1OnZYlyf1tpIR S/EPcvzQ1qps2GMiQAt9WHS2DCTFlWHYk7v61e0Bx+hvynCod7N9NPFRQ1g9RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760581350; 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=29mPZ/qD3icruHUIw2AdjowCpL2/GGQKGggK0zAsy4M=; b=wDVb+PY6B/6LCqsCLqgq58lkGwWSvmVXV7xzrVlQ00UqlejcddPC2d2Wk47wnLk8Lythxn hRIL133IgX3X6JO8QmmPeYb62KIBiUN2kRThwNw8f35Sqi0mzHMO4CFceOr5rtKDz76rJZ 16yiphQvhRn9+/2uUaLMC8jX/iBqXE2nSkaSKbHofY2VjkDlrC0HqXNy2WGhCBjZ1M5YEU h9hzNzOI5f3XsosWEgJHRd8RgN4bRxedjriSNbUlvJ1BAaX+XH8rWloqJBzb0XLod4pXRQ 3Ewx1IhNHVBwmXTcNhZV+hYBWiFeShc5ICBSSo3eban5N+Ekc64om+NrRCdRDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760581350; a=rsa-sha256; cv=none; b=EXG5cfR3xwjWvXngQFqj9UKK+EYTgbB6RI7fmiH23aaQ4pdzq/E1M2WNtJbqrfq139rP3v Zdf9tYa8SAaIaXFX7kKfNnU3uuNXlOd5FXGYYlXRBnit928eDKJEcWoaxbY34897TAD0fM +JOICFpeO9n2Bx5rwtmA2A+cwLgqLnT+GxShHBXuRfB/Ito0kIKmiYRB/6cVHKYnk32q9U Se8ejpNNANx/IYii+akrsB8DrFAOzksypJC+5VuijAJty9hlmuAakQxLJACJiHHeFRfN7Q y1zcTh4GwsqcXixvxjP16W3dtrQIAX7+fSVv5xGZAZXLHVDoeC+Bq+9oQGar+Q== 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 4cnBYf0VlXz14Mn; Thu, 16 Oct 2025 02:22:30 +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 59G2MU8c017913; Thu, 16 Oct 2025 02:22:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59G2MUbl017910; Thu, 16 Oct 2025 02:22:30 GMT (envelope-from git) Date: Thu, 16 Oct 2025 02:22:30 GMT Message-Id: <202510160222.59G2MUbl017910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e9a48e988e2d - stable/15 - nullfs_mount: use symbols instead of string literals for cache mount options List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e9a48e988e2d65827d4278e3b3bf437aea400827 Auto-Submitted: auto-generated The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e9a48e988e2d65827d4278e3b3bf437aea400827 commit e9a48e988e2d65827d4278e3b3bf437aea400827 Author: Konstantin Belousov AuthorDate: 2025-10-08 15:44:59 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-16 02:22:20 +0000 nullfs_mount: use symbols instead of string literals for cache mount options (cherry picked from commit 8e6f6a5fbde78bd8d19445ee6ebaf00b8f4f5aa9) --- sys/fs/nullfs/null_vfsops.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c index e2dabd8e33cc..483d4182e65e 100644 --- a/sys/fs/nullfs/null_vfsops.c +++ b/sys/fs/nullfs/null_vfsops.c @@ -85,6 +85,8 @@ nullfs_mount(struct mount *mp) char *target; int error, len; bool isvnunlocked; + static const char cache_opt_name[] = "cache"; + static const char nocache_opt_name[] = "nocache"; NULLFSDEBUG("nullfs_mount(mp = %p)\n", (void *)mp); @@ -205,9 +207,10 @@ nullfs_mount(struct mount *mp) MNT_IUNLOCK(mp); } - if (vfs_getopt(mp->mnt_optnew, "cache", NULL, NULL) == 0) { + if (vfs_getopt(mp->mnt_optnew, cache_opt_name, NULL, NULL) == 0) { xmp->nullm_flags |= NULLM_CACHE; - } else if (vfs_getopt(mp->mnt_optnew, "nocache", NULL, NULL) == 0) { + } else if (vfs_getopt(mp->mnt_optnew, nocache_opt_name, NULL, + NULL) == 0) { ; } else if (null_cache_vnodes && (xmp->nullm_vfs->mnt_kern_flag & MNTK_NULL_NOCACHE) == 0) { From nobody Thu Oct 16 02:22:32 2025 X-Original-To: dev-commits-src-branches@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 4cnBYh52nMz6CG5p; Thu, 16 Oct 2025 02:22:32 +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 4cnBYh2VPNz3t6W; Thu, 16 Oct 2025 02:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760581352; 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=yp6Li9wx/QsH3FfJ6D5Vft+keFBeyrCf4obzluM8Lr4=; b=l1/ek0BZF0YF9oYDRRDxqehT0oZ/bT0aiXt15oHczcHnFWWuZdedeljpJxiluJnqlqKyZ+ ZSt+Kc4s2rg/YVYnG7THYysOkgKZT4vAHMTqLgvDfhB1uuqbUFEdiHcwW8pSYvbQW42oXh Yv+OWdeQjgsCq6dzz5NPvtlQDAf0pdQgFjWou27/td5rvJVybSKCjBUQEdnfxNjOLHCb9j QvOPr0ARC839ymEY220ZoqpOAWRI9sIg/56ruzAbzsmayQGJjiRpWoPrYGo/pSAYdpuS5r pH9J8HVEcTv3ZVlw+zBiIrt2TzTNOvgxylr44Z3ubDG6dr3fA6+ZBex6PRoO2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760581352; 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=yp6Li9wx/QsH3FfJ6D5Vft+keFBeyrCf4obzluM8Lr4=; b=QihIy/EeQqkrLGA/lAsKAcHxnGQUCP/YiSIwNtei/npleIMlB/9oGA582vq2JAgTjkBggr 9W61z3mqTGWUI10V6i0LCUzpYjgOR04a6maD+bo4XGlZKsSurJ7tilqJEylyDuzjWvcFlM 5kXYNNBCUIlmuZ94CxUTIQtS2lnRQ6LeE1DBDQpsQ+TQfujZaeZLPSBpLh9BD54+XJzkdW Okofcyq5/Cj8bsNRZ5FS66Mxbj9UoDoXO7dADB9yI1PdYefkou5T1hhmZ+P5SiaCfr12gs 6Tp4sh2M8NCIL1qqSF8on3XgQUYMpBOVK6u0PtTrq1NSD+bvbO9snG6su9QxTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760581352; a=rsa-sha256; cv=none; b=dtla25w6usds/kw7MSPyfaEwjtt4yn5TaOD7L1IDolYlfymqkVofWUIzFehrFjeyih2lSh 5WU2kdxAQY/ANZeDGVp1YdbwWgppCOIWQY4AAeg4RvVnstwy7Iu2EU8A5I+2FpcRe5lXaj 4QMbVAasIp32Qtu29N/msPA8rJJayZ4NrAWM3amB7jlYz/aJ5Y/2AocHqUQhVjQWl+nbsG 14pWhAgAncDcD1o1Lrqw3SOl+Fvhxy0FrSyzkYuhUnIAyuNFTKGLClVgHYCi6oGTiSX6L9 Uv6bs6mK7v/paagbxFEMFRZtz3JUtgD9DJJvE8jsjidsoGL5ltq1A0+cVQjpPQ== 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 4cnBYh269lz14BV; Thu, 16 Oct 2025 02:22:32 +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 59G2MWGe017988; Thu, 16 Oct 2025 02:22:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59G2MWOs017984; Thu, 16 Oct 2025 02:22:32 GMT (envelope-from git) Date: Thu, 16 Oct 2025 02:22:32 GMT Message-Id: <202510160222.59G2MWOs017984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 24f4ec797e9b - stable/15 - mount_nullfs.8: document unixbypass and nounixbypass List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 24f4ec797e9b19abd4488554c78e7ecc27313428 Auto-Submitted: auto-generated The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=24f4ec797e9b19abd4488554c78e7ecc27313428 commit 24f4ec797e9b19abd4488554c78e7ecc27313428 Author: Konstantin Belousov AuthorDate: 2025-10-09 20:55:01 +0000 Commit: Konstantin Belousov CommitDate: 2025-10-16 02:22:20 +0000 mount_nullfs.8: document unixbypass and nounixbypass (cherry picked from commit 033587a985a46e9d45fc3fb48a78754d81f0d50d) --- sbin/mount_nullfs/mount_nullfs.8 | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/sbin/mount_nullfs/mount_nullfs.8 b/sbin/mount_nullfs/mount_nullfs.8 index 17b1f45f5e42..b3cf57fd9dea 100644 --- a/sbin/mount_nullfs/mount_nullfs.8 +++ b/sbin/mount_nullfs/mount_nullfs.8 @@ -90,7 +90,7 @@ See the .Xr mount 8 man page for possible options and their meanings. Additionally the following option is supported: -.Bl -tag -width nocache +.Bl -tag -width nounixbypass .It Cm nocache Disable metadata caching in the null layer. Some lower-layer file systems may force this option. @@ -98,6 +98,32 @@ Depending on the access pattern, this may result in increased lock contention. .It Cm cache Force enable metadata caching. +.It Cm nounixbypass +Disable bypassing +.Xr unix 4 +socket files used for +.Xr bind 2 +and +.Xr connect 2 , +to the lower (mounted-from) filesystem layer. +.Pp +The effect is that lower and upper (bypassed) unix sockets +are separate. +.It Cm unixbypass +Enable the bypass of unix socket file to lower filesystem layer. +This is default. +.Pp +The effect is that +.Xr bind 2 +and +.Xr connect 2 +operations on a unix socket done from either the upper (nullfs) or lower +layer path are performed on same unix socket. +For instance, if a server +.Xr bind 2 +is done on a socket in the lower layer, then +.Xr connect 2 +on the socket file accessed via the nullfs mount, connects to the server. .El .El .Pp