From nobody Mon Jan 12 00:46:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqDGK2xztz6NmPW for ; Mon, 12 Jan 2026 00:46:33 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqDGK1T2xz4KWs for ; Mon, 12 Jan 2026 00:46:33 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2a3e76d0f64so21653725ad.1 for ; Sun, 11 Jan 2026 16:46:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768178791; x=1768783591; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jUoUM5skIsc/QJGQoCeDGWoWMMRfyOMqWD6dFB5pg50=; b=ttgMPRhz6jwbK8UssLRLviEndFvkHitwZnimWVuzW+dqUwKYc24Xm5AoJ5W90h/wm2 lkC7QUX8WkRWyo1kdRYpN1ioswY5vrtRd5ovj6Mf4DeHEQQUO1XLrJP04rqQJDRo3wum ofeU91BX6QnFuTPnQOSXspVeQcdfp6TaxTa8tuxYAe1wwn6OhhYi+6RB+zyqGzbFaaMW 2crKblS5dqnStcCJZTVCN1XoK19jbwqcgn4drVT6K6IsTfe25yYx3RbvUSN2DP/XyYoC TQn+hlzMI8OMrb04g7F+UyOctgCNzWq1uDpYWGUuHYblc/v5hvSzZm6LdyZGIFc62KVK g7lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768178791; x=1768783591; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=jUoUM5skIsc/QJGQoCeDGWoWMMRfyOMqWD6dFB5pg50=; b=U2U92YCxzZ3uWAQxeF9A3EMbgyyDotkXFIFuIH7of82JY0ARDa/a3veCsI2PHyEJNN eeAfruP0jJzQUulRAcNqL9W5rseuyxbXKGUMiQLeHCZ8u2z1ThPpESYYEWsTpD7kpbtw MaC9x54GDrKrlLJyMDi/ii9RNdnqBHJ16cuZl3KPr/gSj64Lb+KhVFo11L04cjbc0fz1 9Syubl1gemtvSqQ7+O3jz0dbvd1ZBR/L5IrZd5BrZtFflsgvySJZqaaJjRmjsMFJFLTn Ol9sJw1sdwxFcKe/j4twIbBW2CJ6H7r6/JBfLzXljCj8eh7PxFQ+T/ThE0jkc1DhG8Wh Qlkw== X-Forwarded-Encrypted: i=1; AJvYcCUCNO5jO82ExcSDj8xOnndMnQ7qh8K9l7jmJUbgVw/QWROQyh3u2AwKcCB/D3dtmyaYhtEAT/fphcyHrNt3eef6KB69BA==@freebsd.org X-Gm-Message-State: AOJu0Yx1Jbl4mKV97CNkLau0bcN8YB2TfC1grYc+MEN0roPYgJcOovOU 0Xv7tued8l5JeksP43+VGfQoqzQ8u8H6UDspfx1H6o5ww7jKBr/nqK1ULql6TDOjpKpN3CANvKk nG8wxoRiI2N7Lv1pkxrzEdiai7hnQpclJYSrk+eF0vTJ0xmDJ1rq/ X-Gm-Gg: AY/fxX7V6+NyQXQRlo8EkLhfR51tzRQnU4TAPdVClxY0Mndbyn2cX7uHy63UnQhkqNs f/GkNpV1o+ESrRiHT2BWmHCrM4LLlB91MFiA9liLJTg663A0Eg30I3oTdKfSb1AZ28RXwSJpNiP IFO13FR+8RHv5czg2M0QJLjqbdjujY30KzyvNeVuZ2L6TMb8dIc+UPU+l6HJ3zhSrVu4CemXPoT Iw1fz3hFhy2zkQR6YRNNDDsKSUXhyayNoZCLFRlBIY/mr+pxDJ6HmG9F+5tYMfU8Zqxf0I= X-Google-Smtp-Source: AGHT+IEnsIRKYp5poZHn6jwWZ7SwhtJnacqj9MPGYNLzYM4lfEYYDpeXZGbqTLWxcqztfRCsyEZ3Ow7Zw7y1KgS6kbQ= X-Received: by 2002:a17:903:189:b0:2a0:89c6:1824 with SMTP id d9443c01a7336-2a3e3991076mr188205195ad.8.1768178790611; Sun, 11 Jan 2026 16:46:30 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69616257.8255.cd9e3ac@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Sun, 11 Jan 2026 17:46:19 -0700 X-Gm-Features: AZwV_QgG0CtWFmfKe8rHE7kssVn228u_rw7Bk-XucK21LaLMNtIQMoF4x4it3zA Message-ID: Subject: Re: git: 763179042246 - main - Fix NULL deref segfault in bhyve's usb_mouse.c To: Chuck Tuffli Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Jack Bendtsen Content-Type: multipart/alternative; boundary="000000000000b6cd01064826348f" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4dqDGK1T2xz4KWs --000000000000b6cd01064826348f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Jan 11, 2026 at 4:18=E2=80=AFPM Chuck Tuffli wr= ote: > On Fri, Jan 9, 2026 at 12:18=E2=80=AFPM Warner Losh wro= te: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D7631790422464de1aec309018e2c444= defe5f629 > > > > commit 7631790422464de1aec309018e2c444defe5f629 > > Author: Jack Bendtsen > > AuthorDate: 2025-06-19 07:40:31 +0000 > > Commit: Warner Losh > > CommitDate: 2026-01-09 20:17:13 +0000 > > > > Fix NULL deref segfault in bhyve's usb_mouse.c > > > > Some of the cases inside umouse_request() > (usr.sbin/bhyve/usb_mouse.c) > > use the data component of an event, while only partially checking i= f > > it's NULL. 'data' has a NULL check, but then 'data' is immediately > > deferenced anyway after the check regardless of if it's NULL or not= . > > The SmartOS/Illumos folks ran into this issue a bit ago and fixed > their version of bhyve differently > (https://www.illumos.org/issues/17784). This has been on my to-do > list, but it didn't make it to the top before this (point hat: > chuck@). Any concerns or objections to my committing > https://reviews.freebsd.org/D54661 to minimize our diffs with > SmartOS/illumos? > That's fine. Documented such on the review. Wraner --000000000000b6cd01064826348f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Sun, Jan 11,= 2026 at 4:18=E2=80=AFPM Chuck Tuffli <chuck@freebsd.org> wrote:
On Fri, Jan 9, 2026 at 12:18=E2=80=AFPM Warner Losh &l= t;imp@freebsd.org&= gt; wrote:
>
> The branch main has been updated by imp:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3D7631790422464de1aec309018e2c444defe5f629<= /a>
>
> commit 7631790422464de1aec309018e2c444defe5f629
> Author:=C2=A0 =C2=A0 =C2=A0Jack Bendtsen <
jackdbendtsen@gmail.com>
> AuthorDate: 2025-06-19 07:40:31 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2026-01-09 20:17:13 +0000
>
>=C2=A0 =C2=A0 =C2=A0Fix NULL deref segfault in bhyve's usb_mouse.c<= br> >
>=C2=A0 =C2=A0 =C2=A0Some of the cases inside umouse_request() (usr.sbin= /bhyve/usb_mouse.c)
>=C2=A0 =C2=A0 =C2=A0use the data component of an event, while only part= ially checking if
>=C2=A0 =C2=A0 =C2=A0it's NULL. 'data' has a NULL check, but= then 'data' is immediately
>=C2=A0 =C2=A0 =C2=A0deferenced anyway after the check regardless of if = it's NULL or not.

The SmartOS/Illumos folks ran into this issue a bit ago and fixed
their version of bhyve differently
(https://www.illumos.org/issues/17784). This has been on my = to-do
list, but it didn't make it to the top before this (point hat:
chuck@). Any concerns or objections to my committing
https://reviews.freebsd.org/D54661 to minimize our diffs with<= br> SmartOS/illumos?

That's fine. Docum= ented such on the review.

Wraner
=C2=A0<= /div>
--000000000000b6cd01064826348f-- From nobody Mon Jan 12 00:55:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqDSk2dfDz6NmFh for ; Mon, 12 Jan 2026 00:55: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqDSk1qD8z4LYN for ; Mon, 12 Jan 2026 00:55:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179334; 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=TdHvBOfc+u7dOm7JmXH6EZQ5qwHJi49bBC6J89CT5xg=; b=kitKhjxw/kFbWroEYu0wZdeukfiwDX0EyJyvy9R3Gf1iua3FimAlRv26bYktS+ree7WHwd 9w/Bj9t9irvetY3fmAl6wDPFcrQWlLvBuMPpjSskBHRMT6PLka2jd8+Uhq+wZ4V6rRJVT9 HdbtpJgkTuNsq8Qyy6MrUFm2ol+9wdlfVvQRHUisDcY7/lKIzuItD9bi1TeOtTXpwiMEgL 22TPuU3EQF/lhUCwM3ZiKdwNgZ+we51DIvaqzJBGSn6jBpgbsYuL6e/TEZblSeLd5bGabH f6XeSHPNUpMUemVjvkjylL7tnIrTearuVodIF/xm9mLKjY+19jizGftVF22V1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179334; 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=TdHvBOfc+u7dOm7JmXH6EZQ5qwHJi49bBC6J89CT5xg=; b=sxsrUlw8n9HDkm+c0H6zCio59I4sXlq22M/S4Gw5hys1Ixy4ZN5QP8beq/am/lgXPa1dyJ j3rNXrXbmgBhrh9EHvKz0udw6rtdDFGU0fWpas2xsj3V642Atu3N2AUo3E2xLQOCNLwpJ+ LHK6kYS3EQhcdT2NlSZpTR+5B+k1DZzuFolewojBfmKWuT7GMLXwXOMmas2WgC0XGDuJy1 N05UmKJ57tsbU10l1Pg4fRUy+9WlGzniNu80xzcjwXMfg8VN/4Vnb4jCXTRMQ6v5Sbmr7T yn83IaQ5tvN1bvNTLAjHDVtZpUE0yZJnaPxsebKAs3WdsXU4Hu++UclgjJgJRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768179334; a=rsa-sha256; cv=none; b=EzbBzNcBhXK8x4PHqXZZuRjf6fkABFvuqTen9k59ZxnEXPekYcqRpi0mTht8d7EKAZ/Rn4 vqvn5mzVymiVnS4bC7UeVtFEmI2om/Bh1Q73Cogw7gcmcxcCEfc/0XCIYDOly0VTm9PIy6 g7fX4n5itHtOyU7SmTc8A0h7P4aKYkoS3zCQa7VouBRn9JnDDBpMJKazoPEjYpuVDQDN3m 40Xo8eVbF8dTrgRWBykEJx0R8VpGnkJhLum7SoKDiVzjHSFhnMauiTTbhABXCKToAfXiQj TYM/Upa4BsKRhITEICwvNhTDR3KPdvhdJrzEVbI5vPxvhc+2pL8U6YLsO92S0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqDSk12NSz13qY for ; Mon, 12 Jan 2026 00:55:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f0ce by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 00:55:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 0b908de1d01a - main - CODEOWNERS: Better reflect current #bhyve List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b908de1d01aa32daf71e8d691d79e490178097c Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 00:55:34 +0000 Message-Id: <69644686.3f0ce.3af39d29@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0b908de1d01aa32daf71e8d691d79e490178097c commit 0b908de1d01aa32daf71e8d691d79e490178097c Author: Warner Losh AuthorDate: 2026-01-12 00:46:53 +0000 Commit: Warner Losh CommitDate: 2026-01-12 00:55:15 +0000 CODEOWNERS: Better reflect current #bhyve So as a proof of concept, sync the info we have with the #bhyve phabricator group. This is imperfect, but will help test out providing better feedback to diff submitters. Sponsored by: Netflix --- .github/CODEOWNERS | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 63d8e9869c1c..4bd600ad447b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -57,7 +57,7 @@ /lib/libpam/ @dag-erling /lib/libsecureboot/ @stephane-rochoy-stormshield /lib/libveriexec/ @stephane-rochoy-stormshield -/lib/libvmmapi @bsdjhb @grehan-freebsd +/lib/libvmmapi @bsdjhb @bryanv @markjdb @khng300 @markpeek /libexec/nuageinit/ @bapt /libexec/rc/rc.d/rctl/ @trasz /sbin/ipf @cschuber @@ -70,7 +70,7 @@ /stand/lua @kevans91 /stand/veriexec.mk @stephane-rochoy-stormshield /sys/amd64/pci @bsdimp @bsdjhb -/sys/amd64/vmm/ @bsdjhb @grehan-freebsd +/sys/amd64/vmm/ @bsdjhb @bryanv @markjdb @khng300 @markpeek /sys/arm/allwinner @evadot /sys/arm64/arm64 @zxombie /sys/arm64/include @zxombie @@ -116,7 +116,7 @@ /usr.bin/rctl/ @trasz /usr.bin/top @grimreaper /usr.sbin/autofs/ @trasz -/usr.sbin/bhyve @bsdjhb @grehan-freebsd -/usr.sbin/bhyvectl @bsdjhb @grehan-freebsd -/usr.sbin/bhyveload @bsdjhb @grehan-freebsd +/usr.sbin/bhyve @bsdjhb @bryanv @markjdb @khng300 @markpeek +/usr.sbin/bhyvectl @bsdjhb @bryanv @markjdb @khng300 @markpeek +/usr.sbin/bhyveload @bsdjhb @bryanv @markjdb @khng300 @markpeek /usr.sbin/lpr @gbergling From nobody Mon Jan 12 00:58:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqDXD3QDgz6Nmd0 for ; Mon, 12 Jan 2026 00:58: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqDXD2dSSz4M0b for ; Mon, 12 Jan 2026 00:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JajwGMaDHIZ6OFFuOLl6ny9JDhjHiVHZlpmHLVSDCeU=; b=Ehl3ZrYzJuvDVaO6/6vFvYNsxRPz93JQjTObgkubTs2UWOvs0NxxYdIt/WRO5JV20TXeGw N30Y3Dhe6BBA7N4YZ4/Ha/l4JNWLRrv/HP1JCKNR2CWDQ38C5OD6Zq5m7PLMzOmaYDGxA+ zplMiCBrA15NuFr7NHPbRpQbk3PqjBT9RZq9V2adpz0EDvjaKaj9bICF6jjkvZYa3vY1l8 40KNRAcW8SDXU6W77isB2gLfxQZM9KlfKyjgqkFE1ex3aunwKxjXip3P8KKHZrXmHKApzh uZZewIXhS1SLO6rJQt1tSiNKPRx/eTdz72+D/CO9skg+eIzXqbXlXZ0xbEA/nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JajwGMaDHIZ6OFFuOLl6ny9JDhjHiVHZlpmHLVSDCeU=; b=YIFldgKepwhofEwdSwsU1j7Bb44HamJ8XrXb/wRlA6JsPu5YJ9NBPHwHErP8tQTQGQlU3q uDTmnvV5q788nmCV/9RT1dm3NmAhdFHTrbEASZuK40n5blm+2zTMA/NWjjkzC+02JMHKHL YgZQQplBBCKiGF29cTtuaJez8klhLm8JuktGYxBaHFyxJ1wVyDDvguJXh2SMiV97VyjV7E CJjO6fllpCdNnqJZDyPk9ycQgvnPmIjnKMVGVSDDYUaif4KH7RSvLGi+04tR0npra2N87N QMbtLVTsmndM6gFevNxj43B4dhDK2OMg4CX5Vhu8NjqI7OCN0uSEIa9pSadwPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768179516; a=rsa-sha256; cv=none; b=IwWr56z0zPP6q36JEBJqjdn4NK6xsUCmuzZjMa3PPXtZ+Waix2FJhn8P8t6X4ZHkrd9UpQ i10WoWeAc/0PEvi86NmwDiGvFumJJGV5KSSXDRoBbRG1ScnbM7xkknL2Qfhg86xhkGfdYG tfQ17B9b3WKOIDho2Ijz1UUnXcbJ5+yaeMlOa5rJOBkpM4IfHFgl+JpkyQDm0m7yBvCue/ cS1s7RgiSb9nndOPTLNgjHAhx1uLXRx/Nii0l2DAZva08b30g/5sE6I4b+s23f3GqGtsjc xaLh1x1Oiae1mOZpGbluaqHFhoMrT+weMUCBl97m4JKFLfTPQsmA2nAshsSHIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqDXD1fwgz13nt for ; Mon, 12 Jan 2026 00:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ee11 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 00:58:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Mark Johnston Subject: git: c2a55efd74cc - main - jme: Convert driver to CTLFLAG_MPSAFE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c2a55efd74cccb3d4e7b9037b240ad062c203bb8 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 00:58:36 +0000 Message-Id: <6964473c.3ee11.49a10535@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c2a55efd74cccb3d4e7b9037b240ad062c203bb8 commit c2a55efd74cccb3d4e7b9037b240ad062c203bb8 Author: Abdelkader Boudih AuthorDate: 2026-01-12 00:36:09 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 00:58:11 +0000 jme: Convert driver to CTLFLAG_MPSAFE Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all interrupt coalescing sysctls. The driver uses jme_mtx mutex for proper synchronization and does not require Giant lock. Sysctls converted: - dev.jme.X.tx_coal_to (TX coalescing timeout) - dev.jme.X.tx_coal_pkt (TX coalescing packet count) - dev.jme.X.rx_coal_to (RX coalescing timeout) - dev.jme.X.rx_coal_pkt (RX coalescing packet count) - dev.jme.X.process_limit (max RX events to process) Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54618 --- sys/dev/jme/if_jme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/jme/if_jme.c b/sys/dev/jme/if_jme.c index d9982a2f031c..02e71d54851a 100644 --- a/sys/dev/jme/if_jme.c +++ b/sys/dev/jme/if_jme.c @@ -971,23 +971,23 @@ jme_sysctl_node(struct jme_softc *sc) child = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_coal_to", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, &sc->jme_tx_coal_to, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &sc->jme_tx_coal_to, 0, sysctl_hw_jme_tx_coal_to, "I", "jme tx coalescing timeout"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_coal_pkt", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, &sc->jme_tx_coal_pkt, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &sc->jme_tx_coal_pkt, 0, sysctl_hw_jme_tx_coal_pkt, "I", "jme tx coalescing packet"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_coal_to", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, &sc->jme_rx_coal_to, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &sc->jme_rx_coal_to, 0, sysctl_hw_jme_rx_coal_to, "I", "jme rx coalescing timeout"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_coal_pkt", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, &sc->jme_rx_coal_pkt, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &sc->jme_rx_coal_pkt, 0, sysctl_hw_jme_rx_coal_pkt, "I", "jme rx coalescing packet"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "process_limit", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &sc->jme_process_limit, 0, sysctl_hw_jme_proc_limit, "I", "max number of Rx events to process"); From nobody Mon Jan 12 00:58:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqDXF4Fxdz6NmsM for ; Mon, 12 Jan 2026 00:58: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqDXF2KJ7z4M2j for ; Mon, 12 Jan 2026 00:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OcsnfVrpqmEp3sRGP9tmiJIE8YDHyXKAFwC4fZP1/tM=; b=CPtmsIklzJV7K6/7lX486QyWdY+VUh7Y4eEyLHCVg6qlVYfK0+t1MszCfrQRAxk66mFQeM 0uB/qBcOuirsrEW8qu0stQWprxLF+23+QQvWbVbSUplyb7YBWlfxflb5jc41X5evAXyEm7 j+lgo7IofQTtgtQut+RSEJ6dhITgRU8/+o1sWUX4QwTM+gi1t2H5IbZPTxZlqTEBqPpLC7 D6do5NSr41EV3DXBBgd+IsMmlDxxZ9rscLoVPlLdehQo4RIxN0MzaRisccAlW9HTtrHyyt TrLTyJuuzcY7Wvwl+UWEkt8wE3tUxvPU7CYaR8EFthTBFYqbgRBgU1qx3H/Rbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OcsnfVrpqmEp3sRGP9tmiJIE8YDHyXKAFwC4fZP1/tM=; b=tpgONTnKmV8ovAExDRDw1JbjbJngT5aukyUFpl0d42AJiaVTJcTaYMXaZquBpIaVTojf8a yo+lUmslzrQMT/3dX+S6t67Di3nxrSW9CA92O49q/Qd8XUOQAmL/3hlw2sz3UwjXwXeA3i T/WS6qGoMb/Qw9kKG3GTTd/wjaGB861hk1bK2KShK8GBpqemEsu9bx+fBS5qmaHKRxQIe9 g8OnlBh0zPLBUJG5O24oiwXA9hjlJ4WCXWEvCuEFTZgYMbe09hc8pk5e2EKC39mTkRjJMo 38u9Ot6AIANkZhtWZ9oZRW5v3TtDsN6iGHybG8XNE7vNblqeU1ExNcTr5rlvJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768179517; a=rsa-sha256; cv=none; b=oBh97rXDB3IiqJr2jRPme/fwLdBXhKKZ/DPTAr10ysOOrWpmBdlKnhvDU4px4ASf0zdyzg au+wmPSxoikkkQ8id9QuW8hkG/l2I4UdR24uXDAcu5TyZJxroAHv7BxQnWLfA9bxKRMI+C mL3NJwFeGKc+Vn7iOnAGtZeup4zxCWl6aQV10oKhAZvNPES4WwGWCvg5zc0nWiZOvPAynX J78iviAQ6s1AJgS2hJNdTf1PZDNIkoopomlXCO9p/p59xavYeUaBKFvjPairovBF22JENp tX/Rn0xFXOaBn+PSszzor1yktRLZERVghBW6dW+8aBvC6zU5VqM9BhD4Q+xGjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqDXF1spbz13qb for ; Mon, 12 Jan 2026 00:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e338 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 00:58:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Mark Johnston Subject: git: 0672e0e38a08 - main - isl: Convert driver to CTLFLAG_MPSAFE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0672e0e38a08c580f723a02bb183344d8c7cee65 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 00:58:37 +0000 Message-Id: <6964473d.3e338.44907033@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0672e0e38a08c580f723a02bb183344d8c7cee65 commit 0672e0e38a08c580f723a02bb183344d8c7cee65 Author: Abdelkader Boudih AuthorDate: 2026-01-12 00:51:57 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 00:58:11 +0000 isl: Convert driver to CTLFLAG_MPSAFE Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all light sensor sysctls. All of the sysctl handlers are serialized by a driver mutex. Sysctls converted: - dev.isl.X.als (ambient light sensor) - dev.isl.X.ir (infrared sensor) - dev.isl.X.prox (proximity sensor) - dev.isl.X.resolution (sensor resolution) - dev.isl.X.range (sensor range) Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54621 --- sys/dev/isl/isl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/isl/isl.c b/sys/dev/isl/isl.c index 6a0d406aeeda..815c189adee5 100644 --- a/sys/dev/isl/isl.c +++ b/sys/dev/isl/isl.c @@ -202,7 +202,7 @@ isl_attach(device_t dev) if (use_als) { SYSCTL_ADD_PROC(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), OID_AUTO, "als", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, sc, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, ISL_METHOD_ALS, isl_sysctl, "I", "Current ALS sensor read-out"); } @@ -210,7 +210,7 @@ isl_attach(device_t dev) if (use_ir) { SYSCTL_ADD_PROC(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), OID_AUTO, "ir", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, sc, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, ISL_METHOD_IR, isl_sysctl, "I", "Current IR sensor read-out"); } @@ -218,20 +218,20 @@ isl_attach(device_t dev) if (use_prox) { SYSCTL_ADD_PROC(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), OID_AUTO, "prox", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, sc, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, ISL_METHOD_PROX, isl_sysctl, "I", "Current proximity sensor read-out"); } SYSCTL_ADD_PROC(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), OID_AUTO, "resolution", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, sc, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, ISL_METHOD_RESOLUTION, isl_sysctl, "I", "Current proximity sensor resolution"); SYSCTL_ADD_PROC(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), OID_AUTO, "range", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, sc, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, ISL_METHOD_RANGE, isl_sysctl, "I", "Current proximity sensor range"); From nobody Mon Jan 12 00:58:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqDXG6lS1z6Nmml for ; Mon, 12 Jan 2026 00:58: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqDXG39JGz4M77 for ; Mon, 12 Jan 2026 00:58:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nxnXF2FM1RNfzT5nacqlvn82sh5TDFuSKFX48YIaESI=; b=oFt5BMJmidQvckdm+2lDvzI4WBkkJOYZOTuAsD3zFHDartUb/Eu3OcfPdEMfjtwgTEG1DS c3W6VPXqn4R3QmGMxow4p4eO0zFjR0xLidfCgD36WheZPckcjJpWifBgLwCGhW+fOKJ2DY 3wk32QUFjUVjynMXD4PN2FwgyYdYdLHLlxOZ5Cp8sNib7Z5g01wwFHkec22/dbK29Hd5/T UmW41XOHaR3XdMxKjsgTmylpCvw+7/tVJjxZjJhivcFFdZsqQoSv2mJxc3wky044zomTyt h/pFGTiql3bhAU22fmtFWi25mo+BMoORx1gSsbPeaD/kCPiuqylEa2339yOi5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768179518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nxnXF2FM1RNfzT5nacqlvn82sh5TDFuSKFX48YIaESI=; b=blZeIjqEqg07yNA8aY7SaV+/2b3t8RE5pi8uaxIX7fF/hsJSQbMss9jT/tbK1DsoQgrG3v 6LGZfJwXuBz6THrDBuk8wuQxIE1KQTFuUOnVWYkpCux/ViVhDoEmpHM88k9cGr5XsYcgnw FgkpFpwYpLIyNEyWQC0WDyGC3PBq/axYZ12K1P2dqx4BeKOuKatWf3/igbjqMYHYBnUCJA IffaIDD3e7fX2mbBKusEocRUYG+sRFp+uHOZfQzV7zb3M8C1+YIFB7Ij1hXTEgrmMmpRjw ekNSOVOhpZkHFzqwpmXSEmodM8ErAjpK1yAzFAHR389kEyyYQ9oa0jVYj+6sFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768179518; a=rsa-sha256; cv=none; b=Qqet4VOzFzuV6f3NBMGFkLyLMOhsUXJFsEWn3RgUFCdq3GJYKQJocAa7hN326YM/3Ekg29 eXMsI8iwpKoqYdqA11L7RgICrPH+KbLiwMGf68nfiehUB09BvlB7g/xpjgmDNgVUODkseW kmecPuPAeCo0H8bviio7d9OLgh4/5QPpngpBFPm7VvWsDGDqkwk2HfdRincAjII3IuPQ+A iqCkgvkbFOy9V6tnB6MIkwaaS9hzKY56bJKv0POyg6aAmfmFXFJKIKgJ9g9jNtoK/h96d1 NwCoDgiCJvqZttHFwfKVsI54KzJrqQoxDMc7kxzswLm8iTzFypzSLlq5YUGFmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqDXG2htgz14Wh for ; Mon, 12 Jan 2026 00:58:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ec22 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 00:58:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Mark Johnston Subject: git: 2c029cff5ba3 - main - ads111x: Convert driver to CTLFLAG_MPSAFE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c029cff5ba3716757646a2d2c89db49987c1e98 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 00:58:38 +0000 Message-Id: <6964473e.3ec22.462c92b2@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2c029cff5ba3716757646a2d2c89db49987c1e98 commit 2c029cff5ba3716757646a2d2c89db49987c1e98 Author: Abdelkader Boudih AuthorDate: 2026-01-12 00:55:45 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 00:58:23 +0000 ads111x: Convert driver to CTLFLAG_MPSAFE Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all ADC sensor sysctls. All of the sysctl handlers are serialized by a driver mutex. Sysctls converted: - dev.ads111x.X.channelN.gain_index (PGA setting) - dev.ads111x.X.channelN.rate_index (sample rate) - dev.ads111x.X.channelN.voltage (sampled voltage) - dev.ads111x.X.config (configuration register) - dev.ads111x.X.lo_thresh (comparator low threshold) - dev.ads111x.X.hi_thresh (comparator high threshold) Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54620 --- sys/dev/iicbus/adc/ads111x.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/iicbus/adc/ads111x.c b/sys/dev/iicbus/adc/ads111x.c index 21924627cc68..8baf9ff789ec 100644 --- a/sys/dev/iicbus/adc/ads111x.c +++ b/sys/dev/iicbus/adc/ads111x.c @@ -407,15 +407,15 @@ ads111x_setup_channel(struct ads111x_softc *sc, int chan, int gainidx, int ratei chantree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(devtree), OID_AUTO, chanstr, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "channel data"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(chantree), OID_AUTO, - "gain_index", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, + "gain_index", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, sc, chan, ads111x_sysctl_gainidx, "I", "programmable gain amp setting, 0-7"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(chantree), OID_AUTO, - "rate_index", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, + "rate_index", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, sc, chan, ads111x_sysctl_rateidx, "I", "sample rate setting, 0-7"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(chantree), OID_AUTO, "voltage", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_SKIP | CTLFLAG_NEEDGIANT, sc, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_SKIP | CTLFLAG_MPSAFE, sc, chan, ads111x_sysctl_voltage, "I", "sampled voltage in microvolts"); c->configured = true; @@ -565,13 +565,13 @@ ads111x_attach(device_t dev) ctx = device_get_sysctl_ctx(dev); tree = device_get_sysctl_tree(dev); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, - "config", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, sc, 0, + "config", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, sc, 0, ads111x_sysctl_config, "I", "configuration register word"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, - "lo_thresh", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, sc, 0, + "lo_thresh", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, sc, 0, ads111x_sysctl_lothresh, "I", "comparator low threshold"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, - "hi_thresh", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, sc, 0, + "hi_thresh", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, sc, 0, ads111x_sysctl_hithresh, "I", "comparator high threshold"); /* Set up channels based on metadata or default config. */ From nobody Mon Jan 12 02:14:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqGDQ6ky0z6Nrgp for ; Mon, 12 Jan 2026 02:15:02 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqGDQ1fn9z3DLC for ; Mon, 12 Jan 2026 02:15:02 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of jlduran@gmail.com designates 209.85.222.174 as permitted sender) smtp.mailfrom=jlduran@gmail.com Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-8be5acf6947so107927985a.0 for ; Sun, 11 Jan 2026 18:15:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768184101; x=1768788901; h=content-transfer-encoding:to:subject:message-id:date:from:reply-to :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=BKSxkWuX1aT27J+SJls26kSC5tP8V2GChB9yxH9uewM=; b=JM21sTotc4EjHG9hmOpLrfiK6WFEKe1LghNfcTkzKC9YDtmyZ46RVN+sEnHFaxjWN+ 8Tx8WjRx9/rmBrLKy7n9Naz+QcVnMwpDAmSThXO7f/2NZB7uHvRNP8DSZORFm7NQ0BUZ KHLASpbdXXCXx5SzfBx31ciVpFEOwIDQYbvqT5z9z2kwQHWkrTpWMJT/tEVHimEBUy20 Ne0jcYCvbq9DGmpzZlBvT/g3njE2Hqpj9fg4kCW9LLk1SBoMGbi2C242QHI66+y6fvkY EbTKP6A0/esyM6wWLeih5d4o08iotEl9RBNwcJ0n+PuynEMAdaa+Kmepnq0qCenCwmoE zkhg== X-Forwarded-Encrypted: i=1; AJvYcCVcZSTLUf9JT4JMsZJyheNHZSNP3Hpw72kjcyu8YUCfD3PF4Er6sH9n4FHVpdSEQ0+62RfL0o0kRwcFMsgYzy8S3GriZg==@freebsd.org X-Gm-Message-State: AOJu0YxIf85FTrGSBzau2iK80jR9UQWoPCyI+sQdpVkFRJfB1wioFtmj u3NT+IhgJseqlTAXFoMvuTx143F0Se873PVo4IxfUNGyVC6HuYOlbvSS2PPEbXIT X-Gm-Gg: AY/fxX7FofTcAD9GjDyP+M/LG+TKCD5hnNW7X6M9pXwFZDBgIt+NAX8EroEBXI1YRet 5vcvmZ7u1aPx+V+jzYMsribreVCKuN3pk0nxbkmfTAmxDyVBLWKuzjjU2mvqUKsUHZm4DoNqPne g6j60S3usJORRiwWS4E7GANqdUQ2auT3HNpV22pJRi7cHKPKyrPilAMEnvnbla1HaNy6sRcG96F eJfr+uFGdZMIjhIj9cjuW41JwYJCKZuC95Siupb9N8EUbY5N0c7KNX9Jz2zSbwhvtatlPqX2Mp/ wrdrl0rwe5/QYvvMIdeP9O3Iohuw6HbHo4rRc+0xy1uIbmoonNJWfkhQSxjdyIpLpMdwUqcvL26 rLoiSsOOpo1jcphy0XJxNRhlB/SlMc5m00bIy7/XgGIQujXlAE4fANsLomJGwGXjfSQ7daYiCRG saHKef9IyajqTHsiigtxGyC8qnNN+/YBzWNd9rdK7SvboFed4= X-Google-Smtp-Source: AGHT+IEcsuzjnDVlEmKTfpqM+d/7ujyUTrnDqvRBbXuhXWhqpjBQJVcy+7XVzO9pbeth2mLnhZ1dqQ== X-Received: by 2002:a05:622a:110c:b0:4f4:b372:db38 with SMTP id d75a77b69052e-4ffb49228d5mr193821741cf.5.1768184101088; Sun, 11 Jan 2026 18:15:01 -0800 (PST) Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com. [209.85.219.46]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4ffb813ffb8sm94361621cf.20.2026.01.11.18.15.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 11 Jan 2026 18:15:00 -0800 (PST) Received: by mail-qv1-f46.google.com with SMTP id 6a1803df08f44-88a43bfacb2so3797286d6.0 for ; Sun, 11 Jan 2026 18:15:00 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCX4xHjpe9fNp4KiN0N7cSqSYJDFJlpcCtB7peeK1NbPMMsn9vEvfxxW06DD3A96iE4Dq0Q4npgveAZ9XdPRq+drDHZMdA==@freebsd.org X-Received: by 2002:ad4:5f85:0:b0:888:6dc8:5f96 with SMTP id 6a1803df08f44-890842cb009mr176433696d6.7.1768184099936; Sun, 11 Jan 2026 18:14:59 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <695e9d94.372e5.2b133df7@gitrepo.freebsd.org> In-Reply-To: <695e9d94.372e5.2b133df7@gitrepo.freebsd.org> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Sun, 11 Jan 2026 23:14:48 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AZwV_Qikk_R_Mu-iuFntOnIuzOfWxVlXbcbZgrUbWg49-cW_BWqIJgB3RLjSeso Message-ID: Subject: Re: git: 47015e454661 - main - tests: Increase timeout To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: - X-Spamd-Result: default: False [-1.02 / 15.00]; NEURAL_HAM_LONG(-0.99)[-0.986]; NEURAL_HAM_MEDIUM(-0.98)[-0.982]; NEURAL_SPAM_SHORT(0.84)[0.843]; FORGED_SENDER(0.30)[jlduran@freebsd.org,jlduran@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; RCVD_TLS_LAST(0.00)[]; REPLYTO_DOM_EQ_TO_DOM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCPT_COUNT_THREE(0.00)[3]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_IN_DNSWL_NONE(0.00)[209.85.222.174:from,209.85.219.46:received]; TO_DN_NONE(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; REPLYTO_ADDR_EQ_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jlduran@freebsd.org,jlduran@gmail.com]; FREEFALL_USER(0.00)[jlduran]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.222.174:from]; HAS_REPLYTO(0.00)[jlduran@freebsd.org] X-Rspamd-Queue-Id: 4dqGDQ1fn9z3DLC On Wed, Jan 7, 2026 at 2:53=E2=80=AFPM Jose Luis Duran wrote: > > The branch main has been updated by jlduran: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D47015e4546619151f9bff548a3= 758b72286d04ed > > commit 47015e4546619151f9bff548a3758b72286d04ed > Author: Jose Luis Duran > AuthorDate: 2026-01-07 17:52:26 +0000 > Commit: Jose Luis Duran > CommitDate: 2026-01-07 17:52:26 +0000 > > tests: Increase timeout > > Bump the timeout value, to avoid cutoff on emulated architectures on > ci.freebsd.org. > > Reported by: Jenkins > Reviewed by: ngie > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D54550 We almost made it: - https://ci.freebsd.org/view/Test/job/FreeBSD-main-aarch64-test/1878/testR= eport/junit/sys.fs.tarfs/tarfs_test/tarfs_large I'll bump another 300 ms for that particular test. --=20 Jose Luis Duran From nobody Mon Jan 12 03:42:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqJ9L4JpVz6Nx3S for ; Mon, 12 Jan 2026 03:42: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqJ9L2c9Lz3KF6 for ; Mon, 12 Jan 2026 03:42:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768189350; 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=29i1nMlAh+p2BghLNk/Jyx6nlBUlADpvbfD6tbuNGMo=; b=cvClLcJQqihbEI/is/L/SfY9RoyudHWGvwPSBtBZR1GkXzF8pJ8OynOrpSvPTuYJkUT9bx 30Zcib+OcC1pXd3zUXkO4W2IiWzhB8UiuRPAsAa8bH3hmHRJEPFLBelZTCG3UXHvb9iSqP aNv36UVB5R7o1FSt/aPff3Wz5wx3M+lNnLmSh2627QEaMJyrUSOPLlorgK6ZYKUpKX4EWN KEGQ+3jJ5Nflm2WbA498nmVbCpmJthma2AY701dW7jL51G9/wmKKCZEQ95KScTmoNXQsMA wjjzJsm8ZegY191cHLhfHFfMZcuIiX4YHWUeKdVNmdQxdWFocRcvkxk1OiBnAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768189350; 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=29i1nMlAh+p2BghLNk/Jyx6nlBUlADpvbfD6tbuNGMo=; b=yrCr/Ts1hwK2rSs922PnNOkU7TujudTcJTYLYk5UUIny6EN4lYBVF03C1W1H6MoOHtsQdn XSGBXrjQ953/HPoaKxYo4ITgxUcxbfLHctSNi9iukvhhrqQOkwEOgEZzG6uTHwRmtIwYqH a+36Zn2Rz2yKVC3mkzFGZ7AuJqMYkjo6jz+z/AcuIydkZ27n3CULifcsblobvmQ1IhqoCF 7vK124RWfCVFc33gcGYEmtpTVFhu3ofe4G9OWnrH46frhtcHHcvuBGeQqA33n9aIBz5/xv BIi9sCvHnLo4y8Z9O/lIR8cBwndrWCBLmgH+6zF67nFXy52ko0TK+KtI5fiXdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768189350; a=rsa-sha256; cv=none; b=w977rGGWTQfr+1Kx7GLyJBW78FHLoX/xM6iR5TnFhG1Yri8jWBO6cBxFgfP3fANfb+6ujk h+kIxQ9mnKJvbXUyUsVVyy8iLH+Hb1Z+kJGxdPvOjU9e/rgiES2mFvqai5gsF/XewCLsFJ IM5WbJl375QtFtV8OF+egLLO+csoKGrmpWdVBN0Qyp5vzgO2gtWn+8eTZQRi8b/MM0uByH 39VkAo1xfgcQ+GydDh2DtKKhFCYeafYA+oileGD2RlIvXIWxzaMRHVD8hRfiXNaASRVpsO oI9EhCrsHVFD/Vpz5E+AkrkBBejN5Ycl7DOjYZr4FT99rui4Dq1ZbXv1WwtHOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqJ9L28TPz18qc for ; Mon, 12 Jan 2026 03:42:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f507 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 03:42:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 60ae4e52f33e - main - syslogd: Terminate pipe processes gracefully List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 60ae4e52f33e3c67720b68a29e35f6c114a3386c Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 03:42:30 +0000 Message-Id: <69646da6.f507.271aa284@gitrepo.freebsd.org> The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=60ae4e52f33e3c67720b68a29e35f6c114a3386c commit 60ae4e52f33e3c67720b68a29e35f6c114a3386c Author: Jake Freeland AuthorDate: 2025-12-22 06:05:37 +0000 Commit: Jake Freeland CommitDate: 2026-01-12 03:40:23 +0000 syslogd: Terminate pipe processes gracefully Pipe actions spawn a process based on the command provided in the syslogd configuration file. When a HUP signal is received, enter the process into the deadq instead of immediately killing it. This matches the behavior of syslogd prior to it being Capsicumized. Fixes: d2d180fb7736 --- usr.sbin/syslogd/syslogd.c | 94 +++++++++++++--------------------- usr.sbin/syslogd/tests/syslogd_test.sh | 34 ++++++++++++ 2 files changed, 70 insertions(+), 58 deletions(-) diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index e06464c0e749..f109fcd02563 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -370,43 +370,19 @@ static void increase_rcvbuf(int); static void close_filed(struct filed *f) { - switch (f->f_type) { - case F_FORW: - if (f->f_addr_fds != NULL) { - free(f->f_addrs); - for (size_t i = 0; i < f->f_num_addr_fds; ++i) - close(f->f_addr_fds[i]); - free(f->f_addr_fds); - f->f_addr_fds = NULL; - f->f_num_addr_fds = 0; - } - /* FALLTHROUGH */ - case F_FILE: - case F_TTY: - case F_CONSOLE: - f->f_type = F_UNUSED; - break; - case F_PIPE: - if (f->f_procdesc != -1) { - /* - * Close the procdesc, killing the underlying - * process (if it is still alive). - */ - (void)close(f->f_procdesc); - f->f_procdesc = -1; - /* - * The pipe process is guaranteed to be dead now, - * so remove it from the deadq. - */ - if (f->f_dq != NULL) { - deadq_remove(f->f_dq); - f->f_dq = NULL; - } - } - break; - default: - break; + if (f->f_type == F_FORW && f->f_addr_fds != NULL) { + free(f->f_addrs); + for (size_t i = 0; i < f->f_num_addr_fds; ++i) + close(f->f_addr_fds[i]); + free(f->f_addr_fds); + f->f_addr_fds = NULL; + f->f_num_addr_fds = 0; + } else if (f->f_type == F_PIPE && f->f_procdesc != -1) { + f->f_dq = deadq_enter(f->f_procdesc); } + + f->f_type = F_UNUSED; + if (f->f_file != -1) (void)close(f->f_file); f->f_file = -1; @@ -820,8 +796,23 @@ main(int argc, char *argv[]) break; case EVFILT_PROCDESC: if ((ev.fflags & NOTE_EXIT) != 0) { - log_deadchild(ev.ident, ev.data, ev.udata); - close_filed(ev.udata); + struct filed *f = ev.udata; + + log_deadchild(f->f_procdesc, ev.data, f); + (void)close(f->f_procdesc); + + f->f_procdesc = -1; + if (f->f_dq != NULL) { + deadq_remove(f->f_dq); + f->f_dq = NULL; + } + + /* + * If it is unused, then it was already closed. + * Free the file data in this case. + */ + if (f->f_type == F_UNUSED) + free(f); } break; } @@ -2272,9 +2263,6 @@ die(int signo) /* flush any pending output */ if (f->f_prevcount) fprintlog_successive(f, 0); - /* terminate existing pipe processes */ - if (f->f_type == F_PIPE) - close_filed(f); } if (signo) { dprintf("syslogd: exiting on signal %d\n", signo); @@ -2517,23 +2505,7 @@ closelogfiles(void) case F_FORW: case F_CONSOLE: case F_TTY: - close_filed(f); - break; case F_PIPE: - if (f->f_procdesc != -1) { - struct kevent ev; - /* - * This filed is going to be freed. - * Delete procdesc kevents that reference it. - */ - EV_SET(&ev, f->f_procdesc, EVFILT_PROCDESC, - EV_DELETE, NOTE_EXIT, 0, f); - if (kevent(kq, &ev, 1, NULL, 0, NULL) == -1) { - logerror("failed to delete procdesc" - "kevent"); - exit(1); - } - } close_filed(f); break; default: @@ -2554,7 +2526,13 @@ closelogfiles(void) } free(f->f_prop_filter); } - free(f); + + /* + * If a piped process is running, then defer the filed + * cleanup until it exits. + */ + if (f->f_type != F_PIPE || f->f_procdesc == -1) + free(f); } } diff --git a/usr.sbin/syslogd/tests/syslogd_test.sh b/usr.sbin/syslogd/tests/syslogd_test.sh index 2d093dd80c35..5422e78f6831 100644 --- a/usr.sbin/syslogd/tests/syslogd_test.sh +++ b/usr.sbin/syslogd/tests/syslogd_test.sh @@ -313,6 +313,39 @@ pipe_action_cleanup() syslogd_stop } +atf_test_case "pipe_action_reload" "cleanup" +pipe_action_reload_head() +{ + atf_set descr "Pipe processes terminate gracefully on reload" +} +pipe_action_reload_body() +{ + local logfile="${PWD}/pipe_reload.log" + local pipecmd="${PWD}/pipe_cmd.sh" + + cat <<__EOF__ > "${pipecmd}" +#!/bin/sh +echo START > ${logfile} +while read msg; do + echo \${msg} >> ${logfile} +done +echo END >> ${logfile} +exit 0 +__EOF__ + chmod +x "${pipecmd}" + + printf "!pipe\nuser.debug\t| %s\n" "${pipecmd}" > "${SYSLOGD_CONFIG}" + syslogd_start + + syslogd_log -p user.debug -t "pipe" -h "${SYSLOGD_LOCAL_SOCKET}" "MSG" + syslogd_reload + atf_check -s exit:0 -o match:"END" tail -n 1 "${logfile}" +} +pipe_action_reload_cleanup() +{ + syslogd_stop +} + atf_test_case "jail_noinet" "cleanup" jail_noinet_head() { @@ -561,6 +594,7 @@ atf_init_test_cases() atf_add_test_case "prop_filter" atf_add_test_case "host_action" atf_add_test_case "pipe_action" + atf_add_test_case "pipe_action_reload" atf_add_test_case "jail_noinet" atf_add_test_case "allowed_peer" atf_add_test_case "allowed_peer_forwarding" From nobody Mon Jan 12 07:37:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqPNK3ZRxz6NC6r for ; Mon, 12 Jan 2026 07:37:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqPNJ2zQ6z3bvv for ; Mon, 12 Jan 2026 07:37:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768203441; 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=xlYpAcgC2QqeCffuF+aHKeF33ryiiZFhSXcRDo1DQOE=; b=a/WvLOp+P/vrz2OyjxGwnJWmoIvFANPWnt+TOxmA2mePyzZ/VpEtw0M1co20cR9ehYsUgy /9u7J3sA1Mx5UK+X+mQBY3vhpka1jkt4A2DFgSWaHFj94TSSxhM2jxB5bnnGfVDwit5sA2 CMq3XC8MxPKBM0jInsquUqF48Zv91CNtLTHP2XwyRa3guMVNhCqoLvMUO1zwlWa/tAi7eK 9PaXCjwjX86+qsF76ntjN602vgD5HFuW0phwFmXiI7MNlhgw0fX2d4AxKcukCeZgLsETo1 7mDNpcXcSm3kMcI3840s+YhcjMjd46/83QkRqzStWQi3Q0CLbuywN+BuV/3hTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768203440; 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=xlYpAcgC2QqeCffuF+aHKeF33ryiiZFhSXcRDo1DQOE=; b=rusmVB5sn6SBwsiG6rCrD71J0h+212/HQLRd96gGVI+QCFoYIdQK1VivJ5piRPotfJnx3X y2XDHfQXjO/wh6JZvRfUopcHkTj165vCuRNJocYXa8GdfI0P7vDKILJ/ZKOnaKtJHl1U8X YWOAEOq1gwH6ieKg55G4IxZgDA8vHS0dXBTIamGfOHF8gLVufUaZhbe5xZdOyIJJB0Ni2F I0WCQHJDXYVLNLZziczUHFzSYBO+MDeUrEkVyfTfDogx3yzDDBZofX11WR7ADIlOM6x/U5 gkC592IHrVp1SAJIA6F7uv971Jxmely59RYIhseqNdICNaYhxnCggET248yXJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768203440; a=rsa-sha256; cv=none; b=yqYL2+SEWS1QTUdmazLeYAMRQG42bi+CWLJQ4iJ5vBPc5rAx64oL58m0HxT/dF3Ws9MZ4F 86+x+rv4MaWEaKCMD8xQQ6e6G9Cz+3ZlROZW9Rx5xVmWl4XhLXD7BP3C/S+XTkcweEnpT2 T9JlpJTQXRoKBDH1EgZ+D6YdC96QfOhg00VChvbTk/niXXoc0K2vLK7P7igtSRkro+aAyh 0Cgj5YlFErvhY45oWL/Tt52UKWHreuxctZWNwDOFwWXv/y7mkNhgPS8U+wTg3ZSEWpXcyh V0anClmKGfj9fofuZ2Zzh0etSwKaQglLn81jBPkThJWpOoiKpf9+qh+9kuQzPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqPNJ2Wq9z2Gf for ; Mon, 12 Jan 2026 07:37:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d7cb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 07:37:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7f8b4db9e001 - main - github: Add more context to pull requests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f8b4db9e001d94974a081e5fd58c4f3994429cb Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 07:37:20 +0000 Message-Id: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7f8b4db9e001d94974a081e5fd58c4f3994429cb commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb Author: Warner Losh AuthorDate: 2026-01-10 16:20:20 +0000 Commit: Warner Losh CommitDate: 2026-01-12 07:18:11 +0000 github: Add more context to pull requests Add code to fetch and decode CODEOWNERS and automatically @ people in the review. Create a new file, .github/path-rules.txt that has a set of paths to match and specific warnings about that part of the tree. We'll use this to try to wave off pull requests in certain areas of the tree, as well as remind people when contrib is involved, etc. Sponsored by: Netflix --- .github/path-rules.txt | 10 ++++ .github/workflows/checklist.yml | 106 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 106 insertions(+), 10 deletions(-) diff --git a/.github/path-rules.txt b/.github/path-rules.txt new file mode 100644 index 000000000000..297cfe8def35 --- /dev/null +++ b/.github/path-rules.txt @@ -0,0 +1,10 @@ +# +# Format the similar to CODEOWNERS: Each line has a path, whitespace and a +# message for contributors. +# +sys/contrib/device-tree :caution: No changes should be made here by pull request +# Catch all +contrib :warning: Contributed software usually managed by vendor branch +crypto :warning: Contributed crypto software usually managed by vendor branch +sys/contrib :warning: Contributed software usually managed by vendor branch +sys/crypto :warning: Contributed crypto software usually managed by vendor branch diff --git a/.github/workflows/checklist.yml b/.github/workflows/checklist.yml index 44b264e9c031..303db9eb8534 100644 --- a/.github/workflows/checklist.yml +++ b/.github/workflows/checklist.yml @@ -36,11 +36,49 @@ jobs: pull_number: context.issue.number }); + /* Get owners */ + + let owners = []; + const { data: ownerData } = await github.rest.repos.getContent({ + owner: context.repo.owner, + repo: context.repo.repo, + path: '.github/CODEOWNERS', + ref: context.payload.pull_request.base.ref // Or a specific branch + }); + const oc = Buffer.from(ownerData.content, 'base64').toString(); + owners = oc.split(/\r?\n/) + .map(line => line.trim()) + // Filter out comments and empty lines + .filter(line => line && !line.startsWith('#')) + .map(line => { + // Split by the first block of whitespace to separate path and message + const [path, ...ownerParts] = line.substring(1).split(/\s+/); + return { path, owner: ownerParts.join(' ') }; + }); + + /* Get rules -- maybe refactor to a function for ownerPath too */ + let rules = []; + const { data: rulesData } = await github.rest.repos.getContent({ + owner: context.repo.owner, + repo: context.repo.repo, + path: '.github/path-rules.txt', + ref: context.payload.pull_request.base.ref // Or a specific branch + }); + const rc = Buffer.from(rulesData.content, 'base64').toString(); + rules = rc.split(/\r?\n/) + .map(line => line.trim()) + // Filter out comments and empty lines + .filter(line => line && !line.startsWith('#')) + .map(line => { + // Split by the first block of whitespace to separate path and message + const [path, ...messageParts] = line.split(/\s+/); + return { path, message: messageParts.join(' ') }; + }); + let checklist = {}; let checklist_len = 0; let comment_id = -1; - const msg_prefix = "Thank you for taking the time to contribute to FreeBSD!\n"; const addToChecklist = (msg, sha) => { if (!checklist[msg]) { checklist[msg] = []; @@ -72,6 +110,43 @@ jobs: addToChecklist("Real email address is needed", commit.sha); } + /* Check for different paths that have issues and/or owners */ + const { data: files } = await github.rest.pulls.listFiles({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.payload.pull_request.number, + }); + + let infolist = {}; + let infolist_len = 0; + const addToInfolist = (msg) => { + if (!infolist[msg]) { + infolist[msg] = []; + infolist_len++; + } + } + + /* Give advice based on what's in the commit */ + for (const file of files) { + for (const owner of owners) { + if (file.filename.startsWith(owner.path)) { + addToInfolist("> [!IMPORTANT]\n> " + owner.owner + " wants to review changes to " + owner.path + "\n"); + } + } + for (const rule of rules) { + // Consider regexp in the future maybe? + if (file.filename.startsWith(rule.path)) { + if (rule.message.startsWith(":caution: ")) { + addToInfolist("> [!CAUTION]\n> " + rule.path + ": " + rule.message.substring(10) + "\n"); + } else if (rule.message.startsWith(":warning: ")) { + addToInfolist("> [!WARNING]\n> " + rule.path + ": " + rule.message.substring(10) + "\n"); + } else { + addToInfolist("> [!IMPORTANT]\n> " + rule.path + ": " + rule.message + "\n"); + } + } + } + } + /* Check if we've commented before. */ for (const comment of comments) { if (comment.user.login == "github-actions[bot]") { @@ -80,17 +155,28 @@ jobs: } } - if (checklist_len != 0) { - let msg = msg_prefix + - "There " + (checklist_len > 1 ? "are a few issues that need " : "is an issue that needs ") + - "to be fixed:\n"; + const msg_prefix = "Thank you for taking the time to contribute to FreeBSD!\n\n"; + if (checklist_len != 0 || infolist_len != 0) { + let msg = msg_prefix; let comment_func = comment_id == -1 ? github.rest.issues.createComment : github.rest.issues.updateComment; + if (checklist_len != 0) { + msg += + "There " + (checklist_len > 1 ? "are a few issues that need " : "is an issue that needs ") + + "to be resolved:\n"; - /* Loop for each key in "checklist". */ - for (const c in checklist) - msg += "- " + c + " (" + checklist[c].join(", ") + ")\n"; - msg += "\nPlease review [CONTRIBUTING.md](https://github.com/freebsd/freebsd-src/blob/main/CONTRIBUTING.md), then update and push your branch again.\n" - + /* Loop for each key in "checklist". */ + for (const c in checklist) + msg += "- " + c + " (" + checklist[c].join(", ") + ")\n"; + msg += "\n> [!NOTE]\n> Please review [CONTRIBUTING.md](https://github.com/freebsd/freebsd-src/blob/main/CONTRIBUTING.md), then update and push your branch again.\n\n" + } else { + let msg = "No Issues found.\n\n"; + } + if (infolist_len != 0) { + msg += "Some of files have special handling:\n" + for (const i in infolist) + msg += i + "\n"; + msg += "\n\n"; + } comment_func({ owner: context.repo.owner, repo: context.repo.repo, From nobody Mon Jan 12 07:56:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqPnt077gz6NDNf for ; Mon, 12 Jan 2026 07:56: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqPns4wDXz3dWN for ; Mon, 12 Jan 2026 07:56:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768204561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DOfYM8j2tp8YZ4J6Hl+FqXRsGJVIuDw1uMndIWUHffs=; b=nwTnYyKncoTqXAr9bttZdMnHW9ntU9hP8Im7JjSWDEMthREoT3/tZgog7hZhc6oWwjZ1E9 TCglL7W4psFJ6o3PRMbr08vm2/V7XVxqnpjS3EJ+gJIfF19k4j/lb26eBVP+hPUmDqxWdm YHfQEgDfqV7kupC14iNv69tLWx9PVb3roT0zJ7at9efg2yLUBGps8TWSByV9CywbLOpx+O jXf2Jn54L17n863qj1FMPEQuaFGZlp1yn/g93TBXPo64LKqQGUHBTw4JpTLyLq5TAvodub mv1+FdaNWUsLPWcHibjoxpwn3u/DXcbVMKdlkSKQNegpeSKJHiFxiuH1E71W0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768204561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DOfYM8j2tp8YZ4J6Hl+FqXRsGJVIuDw1uMndIWUHffs=; b=L1tTYeXJfS9DuyibB0oHvEsKU6kFVKeaAC1r9kmmqAsOWDH89KaJpYwY4OU3uGbIjbma1T qeSBH2FuYMsfaioED0LlIB2fCK67Z1c2oILg/1MtT3AVpB6i8ZUWx79ApMT4h+qAZKzjfP ncfnNVCplK3803TxgCFNFeNj3kd2ILuiLjE+3qPAgpum92tbqoueTNr/IKtGlTLsj5frym t0fVVq3DWSM4xS83ujH6VfHu5hc/9Ode1uKoGrfpMzwzqDy+LGnkNPmCf2U4v0SBy/Gt18 YyH/2Fe90d5wGtGZP+6mRFqnftmb42aDqc24oDGlb8DRO+mdbiH+APrNE3YsPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768204561; a=rsa-sha256; cv=none; b=ctRpPFiNNZhzjaPVQHfgdS+3wMEVO5AhahJB9pVjTJUrMBbfVjj7TuBYtlAOOgSqgcFCwO inGrSDm+B0JeAiNE7n6tTea+xwnu88c6b4ZkFf3nnklXQPUYdeO/k1Z91g9XztbKbN8yaB fZKHEc0TpTiLrW2QiTOrrFQoV/bQ2AqGaiDVvGOMYBURgBYUmPO10fU8f1L6A0Ou2M0c1b FKusTEmMprEy7RTRguj2n2e6VcK84Lcrl6oL3zAquwGL3bB3oxXZaI6ECW00ognm7XnE7/ bd65DrpZHIuSQSwYDValWOmjq+Ti49gnsXxlvmkYvYTLSbtnUEpjoHmfd2Ic2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqPns3h1Xz2rs for ; Mon, 12 Jan 2026 07:56:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ff1b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 07:56:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Minsoo Choo From: Warner Losh Subject: git: c5dc38bcc291 - main - Remove all code under __SPE__ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5dc38bcc2916018566b3b6eb46bcbbc68adf01f Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 07:56:01 +0000 Message-Id: <6964a911.3ff1b.26f0fd13@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c5dc38bcc2916018566b3b6eb46bcbbc68adf01f commit c5dc38bcc2916018566b3b6eb46bcbbc68adf01f Author: Minsoo Choo AuthorDate: 2026-01-10 04:32:35 +0000 Commit: Warner Losh CommitDate: 2026-01-12 07:51:05 +0000 Remove all code under __SPE__ Signed-off-by: Minsoo Choo Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1957 --- lib/msun/powerpc/fenv.c | 34 ------------- lib/msun/powerpc/fenv.h | 23 --------- libexec/rtld-elf/powerpc/rtld_start.S | 96 ----------------------------------- sys/powerpc/booke/booke_machdep.c | 8 --- sys/powerpc/booke/trap_subr.S | 22 -------- sys/powerpc/include/ieeefp.h | 8 --- sys/powerpc/powerpc/exec_machdep.c | 18 ------- sys/powerpc/powerpc/fpu.c | 3 -- sys/powerpc/powerpc/ptrace_machdep.c | 4 -- sys/powerpc/powerpc/swtch32.S | 12 ----- sys/powerpc/powerpc/trap.c | 36 ------------- usr.bin/gcore/elfcore.c | 2 - 12 files changed, 266 deletions(-) diff --git a/lib/msun/powerpc/fenv.c b/lib/msun/powerpc/fenv.c index da11d27a649f..cc0b518bb7c4 100644 --- a/lib/msun/powerpc/fenv.c +++ b/lib/msun/powerpc/fenv.c @@ -28,27 +28,17 @@ #define __fenv_static #include "fenv.h" -#ifdef __SPE__ -#include -#include -#endif #ifdef __GNUC_GNU_INLINE__ #error "This file must be compiled with C99 'inline' semantics" #endif -#ifdef __SPE__ -const fenv_t __fe_dfl_env = SPEFSCR_DFLT; -#else const fenv_t __fe_dfl_env = 0x00000000; -#endif extern inline int feclearexcept(int __excepts); extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); -#ifndef __SPE__ extern inline int feraiseexcept(int __excepts); -#endif extern inline int fetestexcept(int __excepts); extern inline int fegetround(void); extern inline int fesetround(int __round); @@ -58,27 +48,3 @@ extern inline int fesetenv(const fenv_t *__envp); extern inline int feupdateenv(const fenv_t *__envp); extern inline int feenableexcept(int __mask); extern inline int fedisableexcept(int __mask); - -#ifdef __SPE__ -#define PMAX 0x7f7fffff -#define PMIN 0x00800000 -int feraiseexcept(int __excepts) -{ - uint32_t spefscr; - - spefscr = mfspr(SPR_SPEFSCR); - mtspr(SPR_SPEFSCR, spefscr | (__excepts & FE_ALL_EXCEPT)); - - if (__excepts & FE_INVALID) - __asm __volatile ("efsdiv %0, %0, %1" :: "r"(0), "r"(0)); - if (__excepts & FE_DIVBYZERO) - __asm __volatile ("efsdiv %0, %0, %1" :: "r"(1.0f), "r"(0)); - if (__excepts & FE_UNDERFLOW) - __asm __volatile ("efsmul %0, %0, %0" :: "r"(PMIN)); - if (__excepts & FE_OVERFLOW) - __asm __volatile ("efsadd %0, %0, %0" :: "r"(PMAX)); - if (__excepts & FE_INEXACT) - __asm __volatile ("efssub %0, %0, %1" :: "r"(PMIN), "r"(1.0f)); - return (0); -} -#endif diff --git a/lib/msun/powerpc/fenv.h b/lib/msun/powerpc/fenv.h index 49fffb196206..09fd4caafb43 100644 --- a/lib/msun/powerpc/fenv.h +++ b/lib/msun/powerpc/fenv.h @@ -40,17 +40,6 @@ typedef __uint32_t fenv_t; typedef __uint32_t fexcept_t; /* Exception flags */ -#ifdef __SPE__ -#define FE_OVERFLOW 0x00000100 -#define FE_UNDERFLOW 0x00000200 -#define FE_DIVBYZERO 0x00000400 -#define FE_INVALID 0x00000800 -#define FE_INEXACT 0x00001000 - -#define FE_ALL_INVALID FE_INVALID - -#define _FPUSW_SHIFT 6 -#else #define FE_INEXACT 0x02000000 #define FE_DIVBYZERO 0x04000000 #define FE_UNDERFLOW 0x08000000 @@ -78,7 +67,6 @@ typedef __uint32_t fexcept_t; FE_VXSNAN | FE_INVALID) #define _FPUSW_SHIFT 22 -#endif #define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | \ FE_ALL_INVALID | FE_OVERFLOW | FE_UNDERFLOW) @@ -101,17 +89,10 @@ extern const fenv_t __fe_dfl_env; FE_OVERFLOW | FE_UNDERFLOW) >> _FPUSW_SHIFT) #ifndef _SOFT_FLOAT -#ifdef __SPE__ -#define __mffs(__env) \ - __asm __volatile("mfspr %0, 512" : "=r" ((__env)->__bits.__reg)) -#define __mtfsf(__env) \ - __asm __volatile("mtspr 512,%0;isync" :: "r" ((__env).__bits.__reg)) -#else #define __mffs(__env) \ __asm __volatile("mffs %0" : "=f" ((__env)->__d)) #define __mtfsf(__env) \ __asm __volatile("mtfsf 255,%0" :: "f" ((__env).__d)) -#endif #else #define __mffs(__env) #define __mtfsf(__env) @@ -167,9 +148,6 @@ fesetexceptflag(const fexcept_t *__flagp, int __excepts) return (0); } -#ifdef __SPE__ -extern int feraiseexcept(int __excepts); -#else __fenv_static inline int feraiseexcept(int __excepts) { @@ -182,7 +160,6 @@ feraiseexcept(int __excepts) __mtfsf(__r); return (0); } -#endif __fenv_static inline int fetestexcept(int __excepts) diff --git a/libexec/rtld-elf/powerpc/rtld_start.S b/libexec/rtld-elf/powerpc/rtld_start.S index e34cc56fc40c..d36649caa9be 100644 --- a/libexec/rtld-elf/powerpc/rtld_start.S +++ b/libexec/rtld-elf/powerpc/rtld_start.S @@ -101,17 +101,10 @@ _ENTRY(.rtld_start) sc _END(.rtld_start) -#ifdef __SPE__ -/* stack space for 30 GPRs + SPEFSCR/ACC/lr/cr */ -#define NREGS 31 -#define GPRWIDTH 8 -#define FUDGE 4 /* Fudge factor for alignment */ -#else /* stack space for 30 GPRs + lr/cr */ #define NREGS 30 #define GPRWIDTH 4 #define FUDGE 4 -#endif /* Stack frame needs the 12-byte ABI frame plus fudge factor. */ #define STACK_SIZE (NREGS * GPRWIDTH + 4 * 2 + 12 + FUDGE) @@ -125,11 +118,7 @@ _END(.rtld_start) */ _ENTRY(_rtld_bind_secureplt_start) stwu %r1,-STACK_SIZE(%r1) -#ifdef __SPE__ - evstdd %r0,24(%r1) -#else stw %r0,20(%r1) # save r0 -#endif /* * Instead of division which is costly we will use multiplicative @@ -157,110 +146,25 @@ _END(_rtld_bind_secureplt_start) _ENTRY(_rtld_bind_start) stwu %r1,-STACK_SIZE(%r1) -#ifdef __SPE__ - evstdd %r0,24(%r1) -#else stw %r0,20(%r1) # save r0 -#endif 1: mflr %r0 stw %r0,16(%r1) # save lr mfcr %r0 stw %r0,12(%r1) # save cr -#ifdef __SPE__ - evstdd %r3, 32(%r1) - evstdd %r4, 40(%r1) - evstdd %r5, 48(%r1) - evstdd %r6, 56(%r1) - evstdd %r7, 64(%r1) - evstdd %r8, 72(%r1) - evstdd %r9, 80(%r1) - evstdd %r10, 88(%r1) - evstdd %r11, 96(%r1) - evstdd %r12, 104(%r1) - evstdd %r13, 112(%r1) - evstdd %r14, 120(%r1) - evstdd %r15, 128(%r1) - evstdd %r16, 136(%r1) - evstdd %r17, 144(%r1) - evstdd %r18, 152(%r1) - evstdd %r19, 160(%r1) - evstdd %r20, 168(%r1) - evstdd %r21, 176(%r1) - evstdd %r22, 184(%r1) - evstdd %r23, 192(%r1) - evstdd %r24, 200(%r1) - evstdd %r25, 208(%r1) - evstdd %r26, 216(%r1) - evstdd %r27, 224(%r1) - evstdd %r28, 232(%r1) - evstdd %r29, 240(%r1) - evstdd %r30, 248(%r1) - li %r3, 256 - evstddx %r31, %r1, %r3 - evxor %r0, %r0, %r0 - li %r3, 264 - evmwumiaa %r0, %r0, %r0 - evstddx %r0, %r1, %r3 - mfspr %r3, SPR_SPEFSCR - stw %r3, 20(%r1) -#else stmw %r3,24(%r1) # save r3-r31 -#endif mr %r3,%r12 # obj mulli %r4,%r11,12 # rela index * sizeof(Elf_Rela) bl _rtld_bind # target addr = _rtld_bind(obj, reloff) mtctr %r3 # move absolute target addr into ctr -#ifdef __SPE__ - lwz %r3, 20(%r1) - mtspr SPR_SPEFSCR, %r3 - li %r3, 264 - evlddx %r0, %r3, %r1 - evmra %r0, %r0 - evldd %r3, 32(%r1) - evldd %r4, 40(%r1) - evldd %r5, 48(%r1) - evldd %r6, 56(%r1) - evldd %r7, 64(%r1) - evldd %r8, 72(%r1) - evldd %r9, 80(%r1) - evldd %r10, 88(%r1) - evldd %r11, 96(%r1) - evldd %r12, 104(%r1) - evldd %r13, 112(%r1) - evldd %r14, 120(%r1) - evldd %r15, 128(%r1) - evldd %r16, 136(%r1) - evldd %r17, 144(%r1) - evldd %r18, 152(%r1) - evldd %r19, 160(%r1) - evldd %r20, 168(%r1) - evldd %r21, 176(%r1) - evldd %r22, 184(%r1) - evldd %r23, 192(%r1) - evldd %r24, 200(%r1) - evldd %r25, 208(%r1) - evldd %r26, 216(%r1) - evldd %r27, 224(%r1) - evldd %r28, 232(%r1) - evldd %r29, 240(%r1) - evldd %r30, 248(%r1) - li %r0, 256 - evlddx %r31, %r1, %r0 -#else lmw %r3,24(%r1) # restore r3-r31 -#endif lwz %r0,12(%r1) # restore cr mtcr %r0 lwz %r0,16(%r1) # restore lr mtlr %r0 -#ifdef __SPE__ - evldd %r0,24(%r1) -#else lwz %r0,20(%r1) # restore r0 -#endif addi %r1,%r1,STACK_SIZE # restore stack bctr # jump to target diff --git a/sys/powerpc/booke/booke_machdep.c b/sys/powerpc/booke/booke_machdep.c index 1a37959b439f..467eb2ab9638 100644 --- a/sys/powerpc/booke/booke_machdep.c +++ b/sys/powerpc/booke/booke_machdep.c @@ -187,10 +187,6 @@ extern void *int_debug; extern void *int_debug_ed; extern void *int_vec; extern void *int_vecast; -#ifdef __SPE__ -extern void *int_spe_fpdata; -extern void *int_spe_fpround; -#endif #ifdef HWPMC_HOOKS extern void *int_performance_counter; #endif @@ -278,10 +274,6 @@ ivor_setup(void) case FSL_E500v1: case FSL_E500v2: SET_TRAP(SPR_IVOR32, int_vec); -#ifdef __SPE__ - SET_TRAP(SPR_IVOR33, int_spe_fpdata); - SET_TRAP(SPR_IVOR34, int_spe_fpround); -#endif break; } diff --git a/sys/powerpc/booke/trap_subr.S b/sys/powerpc/booke/trap_subr.S index 523d8b57d3bc..789e746dba3e 100644 --- a/sys/powerpc/booke/trap_subr.S +++ b/sys/powerpc/booke/trap_subr.S @@ -636,28 +636,6 @@ INTERRUPT(int_vecast) b trap_common -#ifdef __SPE__ -/***************************************************************************** - * Floating point Assist interrupt - ****************************************************************************/ -INTERRUPT(int_spe_fpdata) - STANDARD_PROLOG(SPR_SPRG1, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) - FRAME_SETUP(SPR_SPRG1, PC_TEMPSAVE, EXC_SPFPD) - addi %r3, %r1, CALLSIZE - bl spe_handle_fpdata - FRAME_LEAVE(SPR_SRR0, SPR_SRR1) - rfi - -INTERRUPT(int_spe_fpround) - STANDARD_PROLOG(SPR_SPRG1, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) - FRAME_SETUP(SPR_SPRG1, PC_TEMPSAVE, EXC_SPFPR) - addi %r3, %r1, CALLSIZE - bl spe_handle_fpround - FRAME_LEAVE(SPR_SRR0, SPR_SRR1) - rfi -#endif - - #ifdef HWPMC_HOOKS /***************************************************************************** * PMC Interrupt diff --git a/sys/powerpc/include/ieeefp.h b/sys/powerpc/include/ieeefp.h index 3aa92ff4522b..829e167aefae 100644 --- a/sys/powerpc/include/ieeefp.h +++ b/sys/powerpc/include/ieeefp.h @@ -10,19 +10,11 @@ /* Deprecated historical FPU control interface */ typedef int fp_except_t; -#ifdef __SPE__ -#define FP_X_OFL 0x01 /* overflow exception */ -#define FP_X_UFL 0x02 /* underflow exception */ -#define FP_X_DZ 0x04 /* divide-by-zero exception */ -#define FP_X_INV 0x08 /* invalid operation exception */ -#define FP_X_IMP 0x10 /* imprecise (loss of precision) */ -#else #define FP_X_IMP 0x01 /* imprecise (loss of precision) */ #define FP_X_DZ 0x02 /* divide-by-zero exception */ #define FP_X_UFL 0x04 /* underflow exception */ #define FP_X_OFL 0x08 /* overflow exception */ #define FP_X_INV 0x10 /* invalid operation exception */ -#endif typedef enum { FP_RN=0, /* round to nearest representable number */ diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 8a33d0f589a7..18c9bddb84c5 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -646,18 +646,6 @@ cpu_update_pcb(struct thread *td) pcb->pcb_dscr = mfspr(SPR_DSCRP); #endif -#if defined(__SPE__) - /* - * On E500v2, single-precision scalar instructions and access to - * SPEFSCR may be used without PSL_VEC turned on, as long as they - * limit themselves to the low word of the registers. - * - * As such, we need to unconditionally save SPEFSCR, even though - * it is also updated in save_vec_nodrop(). - */ - pcb->pcb_vec.vscr = mfspr(SPR_SPEFSCR); -#endif - if (pcb_flags & PCB_FPU) save_fpu_nodrop(td); @@ -1155,9 +1143,6 @@ cpu_copy_thread(struct thread *td, struct thread *td0) pcb2->pcb_context[0] = pcb2->pcb_lr; #endif pcb2->pcb_cpu.aim.usr_vsid = 0; -#ifdef __SPE__ - pcb2->pcb_vec.vscr = SPEFSCR_DFLT; -#endif /* Setup to release spin count in fork_exit(). */ td->td_md.md_spinlock_count = 1; @@ -1215,9 +1200,6 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, } td->td_pcb->pcb_flags = 0; -#ifdef __SPE__ - td->td_pcb->pcb_vec.vscr = SPEFSCR_DFLT; -#endif td->td_retval[0] = (register_t)entry; td->td_retval[1] = 0; diff --git a/sys/powerpc/powerpc/fpu.c b/sys/powerpc/powerpc/fpu.c index cc8f22f7dda3..3e43656874a7 100644 --- a/sys/powerpc/powerpc/fpu.c +++ b/sys/powerpc/powerpc/fpu.c @@ -317,7 +317,6 @@ disable_fpu(struct thread *td) pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX); } -#ifndef __SPE__ /* * XXX: Implement fpu_kern_alloc_ctx/fpu_kern_free_ctx once fpu_kern_enter and * fpu_kern_leave can handle !FPU_KERN_NOCTX. @@ -403,5 +402,3 @@ is_fpu_kern_thread(u_int flags __unused) curpcb = curthread->td_pcb; return ((curpcb->pcb_flags & PCB_KERN_FPU) != 0); } - -#endif /* !__SPE__ */ diff --git a/sys/powerpc/powerpc/ptrace_machdep.c b/sys/powerpc/powerpc/ptrace_machdep.c index 619faabf3ce0..1b6afdf3c015 100644 --- a/sys/powerpc/powerpc/ptrace_machdep.c +++ b/sys/powerpc/powerpc/ptrace_machdep.c @@ -37,11 +37,7 @@ #include #include -#ifdef __SPE__ -#define PPC_FEATURE_VECTOR PPC_FEATURE_HAS_SPE -#else #define PPC_FEATURE_VECTOR PPC_FEATURE_HAS_ALTIVEC -#endif int cpu_ptrace(struct thread *td, int req, void *addr, int data) diff --git a/sys/powerpc/powerpc/swtch32.S b/sys/powerpc/powerpc/swtch32.S index ef1a397bf74d..7fc0641722aa 100644 --- a/sys/powerpc/powerpc/swtch32.S +++ b/sys/powerpc/powerpc/swtch32.S @@ -119,10 +119,6 @@ ENTRY(cpu_switch) bl save_vec .L2: -#if defined(__SPE__) - mfspr %r3,SPR_SPEFSCR - stw %r3,PCB_VSCR(%r17) -#endif mr %r3,%r14 /* restore old thread ptr */ bl pmap_deactivate /* Deactivate the current pmap */ @@ -176,10 +172,6 @@ blocked_loop: bl enable_vec .L4: -#if defined(__SPE__) - lwz %r3,PCB_VSCR(%r17) - mtspr SPR_SPEFSCR,%r3 -#endif /* thread to restore is in r3 */ mr %r3,%r17 /* Recover PCB ptr */ lmw %r12,PCB_CONTEXT(%r3) /* Load the non-volatile GP regs */ @@ -224,9 +216,5 @@ ENTRY(fork_trampoline) trapframe to simulate FRAME_SETUP does when allocating space for a frame pointer/saved LR */ -#ifdef __SPE__ - li %r3,SPEFSCR_DFLT - mtspr SPR_SPEFSCR, %r3 -#endif b trapexit END(fork_trampoline) diff --git a/sys/powerpc/powerpc/trap.c b/sys/powerpc/powerpc/trap.c index 203d270a504b..6843ce49b48f 100644 --- a/sys/powerpc/powerpc/trap.c +++ b/sys/powerpc/powerpc/trap.c @@ -861,41 +861,6 @@ fix_unaligned(struct thread *td, struct trapframe *frame) int indicator, reg; double *fpr; -#ifdef __SPE__ - indicator = (frame->cpu.booke.esr & (ESR_ST|ESR_SPE)); - if (indicator & ESR_SPE) { - if (copyin((void *)frame->srr0, &inst, sizeof(inst)) != 0) - return (-1); - reg = EXC_ALI_INST_RST(inst); - fpr = (double *)td->td_pcb->pcb_vec.vr[reg]; - fputhread = PCPU_GET(vecthread); - - /* Juggle the SPE to ensure that we've initialized - * the registers, and that their current state is in - * the PCB. - */ - if (fputhread != td) { - if (fputhread) - save_vec(fputhread); - enable_vec(td); - } - save_vec(td); - - if (!(indicator & ESR_ST)) { - if (copyin((void *)frame->dar, fpr, - sizeof(double)) != 0) - return (-1); - frame->fixreg[reg] = td->td_pcb->pcb_vec.vr[reg][1]; - enable_vec(td); - } else { - td->td_pcb->pcb_vec.vr[reg][1] = frame->fixreg[reg]; - if (copyout(fpr, (void *)frame->dar, - sizeof(double)) != 0) - return (-1); - } - return (0); - } -#else #ifdef BOOKE indicator = (frame->cpu.booke.esr & ESR_ST) ? EXC_ALI_STFD : EXC_ALI_LFD; #else @@ -939,7 +904,6 @@ fix_unaligned(struct thread *td, struct trapframe *frame) return (0); break; } -#endif return (-1); } diff --git a/usr.bin/gcore/elfcore.c b/usr.bin/gcore/elfcore.c index 86613a91ca73..3e6722225b36 100644 --- a/usr.bin/gcore/elfcore.c +++ b/usr.bin/gcore/elfcore.c @@ -372,9 +372,7 @@ elf_putnotes(pid_t pid, struct sbuf *sb, size_t *sizep) #endif #if defined(__powerpc__) elf_putnote(NT_PPC_VMX, elf_note_powerpc_vmx, tids + i, sb); -#ifndef __SPE__ elf_putnote(NT_PPC_VSX, elf_note_powerpc_vsx, tids + i, sb); -#endif #endif } From nobody Mon Jan 12 09:06:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqRMR1QPLz6NJtk; Mon, 12 Jan 2026 09:06:43 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqRMR0jf7z3mLw; Mon, 12 Jan 2026 09:06:43 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768208803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1MMMsu3BjTJX0fWUjwdEF/fdfAk8FHo2OQ3vLOw7Uss=; b=KJto6bQXXVp+1EWWe8DZHLE2wV2y9ph8nOUd3GKeRIsqHcrYyzl16PJwLuOgYu+2hGp13x RV+QA7IQey2ToaL4ALqUaxILC8wWpXZ1wJTvwGdqKIY94I4I0uRSqa12RFEgM21FDHrXxn NgdWP7qjb7CSGFAplsiPzf54UDqZeAkz4Elx+7YhqjsJe2WgvCh3+5q/6UCySyxlILW1zw 86cJm1a9r3cQ2/CtOphmHQPnGL3GdsoDSxXBwcHtobJNZsawhsnNaCgQRGaaG2C7hD7X9c sgiMqYS/XcWZGMW4F0U1mXTKwQVAoL/vbJUM8ObZcunxkAq82s/h/bYraXVaUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768208803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1MMMsu3BjTJX0fWUjwdEF/fdfAk8FHo2OQ3vLOw7Uss=; b=AJizYUeuCdEg6fY51Y50uOuCJC7juIkdT8Ek0yb8ktAQgziybiV96TCbmKIFf2gbJp/QrV iBRmbncm5IXFAVm26LBJDDk7taknN5Eb8bCjmsGOQulL6pMvhB68l6oJ05hz+JDTFLbSie S8alshmFrdmKTVY2Jn/RNBaa8vOWzH7UvtgeiJzPkSAKhC93JW/cHND9mxZb1PKTgV+9Bd lOhWWw7AFfuPR2yG4Gil+8RSCu7YyHHXw4lxMU7kOU8yZVzYnonDbqSI1hj8Tol8REw+nb TMqTGjlL7OtpARKk/bugPwyZa8hyEJIngT4Runkx1lKcHaKbmSM3u7RM4avmPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768208803; a=rsa-sha256; cv=none; b=x8LXq1H0/CWfPxc+ENqS7jNFFaJ7aE87D6L+IRFfg7T/5LmZMn2k6nohWC8p63ebUwcbkA 2wIAFo6PD1hVpOuRWIQz58X35giRzyu3m9CuFaOfMZDUFwOy+seA/Z5PmrrNIOl2hh7pvK 8ktd/000J9qPlyi3m/XAps9sA332Qma6V0ugHGlub21kGbNeEsUFa00Aty9gm8Eatcioab qo6gTZ6e1ZIRTFcH5vRRNQT4y5ZUb0oFVwPjrL9HsOmwxvni8scMs11i4Wj5rwETNTewtf 8+mhZVFBR5RHjxD2UbSCrZLXNjzX6bml/wKc8luK7wkXIuTyYikA01Clkz02fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (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) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dqRMQ3WyLznGs; Mon, 12 Jan 2026 09:06:42 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: John Baldwin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 67599eef01f5 - main - sys/x86/NOTES: Add vt_efifb Date: Mon, 12 Jan 2026 10:06:26 +0100 Message-ID: <3120393.hHqAuc6tWs@ravel> In-Reply-To: References: <69612e4a.3279b.9f58eba@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2470774.THHZn3L5Ee"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart2470774.THHZn3L5Ee Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: John Baldwin Subject: Re: git: 67599eef01f5 - main - sys/x86/NOTES: Add vt_efifb Date: Mon, 12 Jan 2026 10:06:26 +0100 Message-ID: <3120393.hHqAuc6tWs@ravel> In-Reply-To: MIME-Version: 1.0 > I'm pretty sure we don't support booting from EFI on i386, only amd64, so vt_efifb can't possibly > work on i386, only on amd64? I was not sure about that, but that makes sense. Not knowing, I based this on a quick grep(1) of 'vt_efifb', which is present in i386/MINIMAL (but indeed is not in i386/GENERIC). So, barring objections, I'll put 'vt_efifb' back in amd64/NOTES and remove it from i386/MINIMAL. -- Olivier Certner --nextPart2470774.THHZn3L5Ee Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmlkuZIACgkQjKEwQJce JifTIA/+J44EPJ8xiTTPF8Za1hV9wetaSVWLzPC9QL81aCntnKGB4CXXrVzxUs2b 9j5PVMdSuoC+RDtbH2BBYmmYpi/WCoEvAA4FUj7ahpCw+QCZdyVQ9KHHhAGbTVQB EV86AWsxciUI+6GwiUoIfe0zxKvqpPO5U0e7f0fNfr72k7hnLevsjQIEULwIfRZt QO5Rm9vYEx1an+3s9wXNlnwd2F+INXVOi2ht5q0Rph68NLP1Artac2EhViCsvrHr S5357gdgqPYSAGZbCQkOJTZbzi8FG9IeeB9sYPa+YonSGc+U5miVxsX09cQz2C7q iD05Y40v0Nsw0n8MCpLz852R5/gl9FDeXknZBbcnhqZJdwu8V3xHZw7diglVNUfa ug5Gikzeno2UaLZAOPukVYTFehO4VR67ObAnotZIcQ2MisPC9DOr4z4Fem84VfGY TPEIHnLhOq1r9+p1Z1HJyAe9GfMxEIgdp28cvAvRBCczqUaQoKplRyajkybyWxwA Pqp2Tt/EC1JTH864/wbMnRmTd/ekevspK4hKvv9muUjf9pKaPXwdn0yX0GlcR3QV TBYocnXwYksNE2XAiKeIuj6bv8Rpc4oYHy/MzmIBBmgDtslA4Arlf8LCU3i/ixNy 0X0ufV3JXdX2iGV6sXYPUMb+CkYXAVyMf4JkW9IBAZCMz7r1GL0= =sbtg -----END PGP SIGNATURE----- --nextPart2470774.THHZn3L5Ee-- From nobody Mon Jan 12 09:14:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqRX006Mvz6NK41; Mon, 12 Jan 2026 09:14:08 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqRWz6dmfz3nbJ; Mon, 12 Jan 2026 09:14:07 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768209247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9csPUuxvblx8i8KA3wNo8qSDULGG89njFMdZcgZg2y4=; b=liPbgNL0S9IdQLZ7tjm904u5Vt1Yu6SGKimqK9mardVToKfFe7eO9J1rKysbE56b9Yty93 GX3Ln5x37izMxuc1qUeorHe17+WHFCKQPJkbhGymqfAev+QsCpOnPADOzruYSAZ1g6nL3n X7FffESp6QB63mCRs7DShLPeZkD0SXiRnJwV21IdcvTmT7GvRf0AyRrjxfqen2vmoMjuJ6 sCFpBQ8l93BnVDZ6NYG2j2TLCwsGa/EUam3ss8zRnvmq4dJs6zJpqObGm//amscuBkblES T/ahwdzugZjQ6R/Ow316L4meGE1IaZU8ksBHzB5ki7aPSOs9MzvlNGytno/B8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768209247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9csPUuxvblx8i8KA3wNo8qSDULGG89njFMdZcgZg2y4=; b=NqueGCm+Y09c8IlQ56F3XRAVU5TRGudv7OOGQ5HdoBNnqGKP3Vl0gKsrBqOmibXjXLPBQ6 WRavdr4qNXulFmlcLn4WByjRx8/NJagJkyYrtd33oT7FkqXUFdPDWF3f3GnLK/5AbREj9S FUegQefEKuFtAneKF5c6hrhLYRF0oUA/JTetHjG7lbXWkRG3ummKzrSkMQCOgMdELdT6+r +JhL/VXMXFG3sk1zg3zGgU9GZUiY5XrymLy0j8uUZbJCsF40nKUsd8J+qmAbdsPXPwixNd UNndV8Fc5FZGYGsT3zPD1dxGoZPYfzcC7jIL9UHhdbk6JOmXFwZmgxa166O3Jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768209247; a=rsa-sha256; cv=none; b=wEYkmjyD5n561oE1tjorAQk/x5mFcRU9kBm6/oHPH7RHIeFTthsqyQJoOF0ri8mUQ2vyFc koxvPlI4OnjGmHjFBlDlTMeCkE4Z6tKwK9hSSDbDv6uQsxeSXlwKAGt35xFBL4IVyaJTBA fEy/tCVC3zbyuo79kVczs9lPrSsKYH42rZqS4I0io620vEIu3NRJBKxfJv9FCvUo7nmgL+ aGhC0sCOYiw0fc9yPeDiGtJrwe52jalIVC9+16Jm9Zott6HBU34V/UdZXj83AYi2XHzVaJ 7DEG+CGqf88UETkvN01ySaWhIaFDo1DFv+P/fSFrOrNRRF0D2wgSjYonZBIKBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (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) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dqRWz1NFNznDX; Mon, 12 Jan 2026 09:14:07 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: "Enji Cooper (yaneurabeya)" Cc: Enji Cooper , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f224591746bd - main - Add ASMC_DEBUG make option Date: Mon, 12 Jan 2026 10:14:00 +0100 Message-ID: <2003397.vslOlgHxSZ@ravel> In-Reply-To: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart6121568.Zv9zXsTiuT"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart6121568.Zv9zXsTiuT Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: "Enji Cooper (yaneurabeya)" Subject: Re: git: f224591746bd - main - Add ASMC_DEBUG make option Date: Mon, 12 Jan 2026 10:14:00 +0100 Message-ID: <2003397.vslOlgHxSZ@ravel> In-Reply-To: MIME-Version: 1.0 > re: vt_efifb: what I did was removed the duplicate entry, since it was already in the x86 one: https://cgit.freebsd.org/src/tree/sys/x86/conf/NOTES#n332 . > Admittedly, my commit message re: it already being in GENERIC was wrong. It being in x86/NOTES is what mattered. But it was not there when you committed, as it's my recent commit 67599eef01f5 that added it. :-) Never mind, with the 2 fixes, and another commit I'm going to push soon to move 'vt_efifb' back into amd64/NOTES following John's remark, we will be fine. Thanks and regards. -- Olivier Certner --nextPart6121568.Zv9zXsTiuT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmlku1gACgkQjKEwQJce JieHEA//TkJw7WGrU856XMvyLoLXkrVE0AivfjELAj6mLSz4ea9uTm86hVP8ADE+ B28yEJ9qyhLGQ2cJBXoVRg7V9+WDEUQA8xq64JVnXlHCnEZ0ysLorG0EzdcMS98q ZebJHyibJnFxbnchvtK1htUs4Garmd/7vfxjlglRWhJDvAsgqjxin4dU+G39iUGG 8h+39LPVnG3nrTKszhtsdRun6FTyFEHDn6oRncMv45AcKLlKeY5wv3c8++BUIPwY gGVQJUdkS7c11ViwfNlsVgPEKq+G6PHfmKlA05/p7QmE/Q9sRHGkxdUZvxMuTQoI fQgwqMd7LRu9ZnG/1IPtthIGUkhkwCDH8b/A63+2Rn7xw8EI7PWGE16d0BFbilan 8yU9zNm7m8qhuzB87wVv0psaLreMrHB2IvdA0wVvpfm4B+yWxO+8MN0Cwx+F+Llt NVqE8JJximfhqALIOn/wxwGdvNPxpeG44BtGI67w6UO8ErW7GWuiXfUqMuB8gMYM l/jrgdZyOgX/UG0d2qxx/CZDgSwKV0GdwVkz+nPfmlPzzTsGhfjiyNT8o+C6Rgx9 /PvRvedj5KjHXoeBA0Ah4BK7kDBuvhZ2fdt9XedY4r2jXB7Cg/9+1GK4X7ibFWFC CkStaEK+HPS8Qwwe9PYrO+1DOLlBR1eQQ/TJMAQZqcJ32PxVQEc= =Hrcs -----END PGP SIGNATURE----- --nextPart6121568.Zv9zXsTiuT-- From nobody Mon Jan 12 09:22:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqRjS2w3Dz6NKtG; Mon, 12 Jan 2026 09:22:20 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqRjS1SSVz3pkF; Mon, 12 Jan 2026 09:22:20 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768209740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1dZ0Cd6o+bnqIx4JdXVrOaRO8jNi03CBkAZh05s4q6M=; b=X51+ABcNauiYXMtCzmO/YYdeUGfQMxZe1lvzVknIVnhUjV09meYHpnmneg0vmyYpbAudGq R1UNizzAxrIdpOg+mNYZXZ7GzsDM/LtxczZmPzH2g+wq4Ws86O2YvrkWPhKNup9qsQxpAA 4yedcynyJn5AoYYwUwAMQbaa4500ZTqK8X1VQeX2V06CaIQuCecRJ992MjlW36YXYsECqj O4onDHMxZos9R4Yp990NvSPknWuhaMtrGepGNSOr2bGKQ7OHCaV4rtN9jUmW4O4lFPy8ew DPq7WG1PzGKcFTjkmGoWoE73o7iP52ogkGfNMOLiKyzWd6WB12YBy8vU2go/8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768209740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1dZ0Cd6o+bnqIx4JdXVrOaRO8jNi03CBkAZh05s4q6M=; b=SH7E5d1FhOsz+gjyL2ywZ/7RHvtJKq9L5VutNO4sd2ie6ICR9ZhOFOLznMQGmHJhedricf PWt0N9r/e7xT2BCmm9XPhUQHOKGb0uj92ng2q309TKoouUDxd7L3m2kP1xxZ43F9zOZQYo 5KdGAmUOQKBCKp6McZbZWcEv6WSug19BzQ/yMhuSXYv7Rx+V8fAaDu22z9op0haYQjQUFc biw5rZ8OrCdIsoycu5hTw6Jt/rMSfQa0EAVJpboVUbFxqSzyk8OxZLAKLHBLb8ypKt1FaU sqPtCiItE3azUCweNXsNHIRtcfW6DKK6lSRlNj8PNP9XOR6n52BG8KQdro3wwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768209740; a=rsa-sha256; cv=none; b=rgt0J6IveLqN6QYAi8R3XG+F2KY6s6NdeOKfoqcP9S29iv/gL1YdJwuzpJvvdyDELViVMR N9Yzq3FA3m3qhAozIPHSF94eR3SW2tCryvo6qbgZouDpo1o6Vu+3OWNWn46/uBXc28HZIj RCEQj3B4OPPgIauwC6jkn9oO+mJ/tdniJFxrcv16831v82gu2cMtp156Cq0SOQdIkhoH6A 1FxZrfwSfO0klmt9eiJB6Y4l5BF+nleY7gCtHPz5gSq/cGBD/G41MpF1h43HFvuuwFetkT 6xF+Q6MU50wXN5lgRiaQVIeanih6y10gGHvPOCnIEQoBxkX6fAu95kjZ5rlyOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (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) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dqRjR3htrznDk; Mon, 12 Jan 2026 09:22:19 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: "Enji Cooper (yaneurabeya)" Cc: Enji Cooper , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f224591746bd - main - Add ASMC_DEBUG make option Date: Mon, 12 Jan 2026 10:22:12 +0100 Message-ID: <2178190.x0N0T6uNKo@ravel> In-Reply-To: References: <695c68c6.3ff5d.593fc2c7@gitrepo.freebsd.org> <1990810.vR5SVPPSqJ@ravel> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2362691.sMrx5ctUpN"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart2362691.sMrx5ctUpN Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: "Enji Cooper (yaneurabeya)" Subject: Re: git: f224591746bd - main - Add ASMC_DEBUG make option Date: Mon, 12 Jan 2026 10:22:12 +0100 Message-ID: <2178190.x0N0T6uNKo@ravel> In-Reply-To: MIME-Version: 1.0 > Sure =E2=80=94 although the correct fix would be to not build the driver = at all on i386, since it doesn=E2=80=99t support 32-bit CPUs. Apple sold ve= ry few i386-based Intel chips before they transitioned to amd64-only ones (= it was only a matter of 8-9 months IIRC) and asmc(4) doesn=E2=80=99t suppor= t any of the 32-bit chips (I checked). I'll also make this change. Thanks and regards. =2D-=20 Olivier Certner --nextPart2362691.sMrx5ctUpN Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmlkvUUACgkQjKEwQJce JidzIA/+OEaazAXQE61JwlR+BnQZFSDg34Y6h3pXVPBm6g0M5iqM41TDWWwFmOPo N0hFAf9xA9l8Ia4TIK7fZPcG78uozRT5oJjy5hSuurKIRkdMhkhyFwZVc0kC/EMJ Fbp7z+nPeT5Lc+Gyx+xfocCVy02DErbg4haX8lD4RbaH49KvW2GuibDn+2eLkItS tbekxSXdARde2focL2pQ6IMLWAfTnpxAnaLKitKfJxJavSbZYS6uIxNPYhvtQBoW IbN8ZNQtEsAMtlAGnzOvQFqK12lHiCUOzZ2+kAFpLZcYVJUfheLY1qMz2WMuESgj D6Si4w/i3HPBXhKDY1DVbGozNGmQ4Cp0C1Y1b77IEUj2LvlJikua/LnPRkwTi3q7 Ai8tGLAdRLo9+2pEqE5YLnquE1nRk1H8R+WQa2V6nTHsbJGC+R9IRBgecagoyDUE Wa66HFdIzoNfnScuqJAr9AhFT4taUfwXyugOAGXEJms5RuMdtmPLHN5fDnbpiGLe 88j0DNDROoG6MLAvQB0G/v6IRUxd3On/TDjz6YOad+50kOLEhggr+owrMZyndpQE 3sOOARgRz6rxOh47sW/Wq4qQ+6qp1rGS039GLkJTsISPQIv2R3yw8biuZ6jQ88u5 K3G8fMSyy+agwl3sv1twHT4mcWpUOCgWr+2rn1L0Lrj1gucEQu8= =WEzf -----END PGP SIGNATURE----- --nextPart2362691.sMrx5ctUpN-- From nobody Mon Jan 12 11:27:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqVTl2gvQz6NT1l for ; Mon, 12 Jan 2026 11:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqVTl1vtZz487G for ; Mon, 12 Jan 2026 11:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768217243; 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=vqoWWDTOqcRcs1tfNl46BRMSb8Fzy/ArZVR/AyxYMV8=; b=V+MuR6fbvGzIoqthzMJSVVe9BaC6zksQNfP5VP2pIUMOK78WA+snHO73IriTXapoCN4C40 zrIJhizIyl4h+gMFeyVXXL8p+o/ByMPW6lLSInY4/FhumHiRkgiydXFxdF2mahtKoM2TND 0Ek/fzziDgneDrB3bd1BLk7xSH0CY7LLcvMLfdyPzakyuzxH0FAJQWNpO+zYVM/BWNC2PV 3Node3BeMeX92C/NzETJtZ2yhVlYL5OuoC4fSJ/ZwR2fFToC9k5bJ0evnhNZflGmGg4ztb WdYRxs3N3OH0hXjaPI0clmGo35F1uRjsYrHAM/1Hj7jfIuyJbNJIVYZRdn4Y/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768217243; 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=vqoWWDTOqcRcs1tfNl46BRMSb8Fzy/ArZVR/AyxYMV8=; b=GKbnN/c6LC/xpl88D4ZnWl5s/k70Fs7z0aFvt42vSYZivV8G4dGxnZ/jLjR149KpPKoV5l 4uMdh8BXtTuqXdLjWjRpsvvvDLorfgilbBdougDuJ3Xk9iKoo/9l255riDhxVk/cj8gj6a JEXfW+zZ5kNJ8e91uar1AzgEm7opPZqJLUHkZI3DboXe7pwtPSqP/Ovr/zP7ar+/FzP++q HTGoX8buaHwd/i8Kxqn8WjEsXxqsZY/3lnD/2nImNV1YMQZB9SM9nuNffVk1QsshCi7INo HUtk5EqFVuV72bfP3A/dFwBre0cg/v/+rxchbJCDaG50KKwowjCRKt3qXW1U+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768217243; a=rsa-sha256; cv=none; b=QK1ckEI5R/IgUDKbyEheWL9dGf8dBUPmafkhXEyKF6GDVncQXotnOtQFxUjagSDd9rfHuW hSns8fNYbK92+Md+6a3NyS+0g8Ex2+AlO7mAtjShuqQPDL8ItG1yK/w/yPV3LSMZdXK1z0 nF+0L8sQuhImFMzTpJrqSCGfI//2bJBfA/7XlEnbkYcbl/psgjIHKM+xiKBdvT9f1YkVuD IUDoLTyjsvBBYiGMVuhhDlTqZahzRQ6Z7mLSozyXA7+DcHqRibXX2ASZupGQkAQn9Hbort Ccpj+ZzQnNRlVmOgSKDgyTN6Zok2VK2iL+Ywk+rgL8Nem/TPniemthe5trkBtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqVTl17tvz8kr for ; Mon, 12 Jan 2026 11:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35642 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 11:27:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 6b69d6726a7d - main - sound: Unlock around uiomove() in midi_{read,write}() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6b69d6726a7d3455fb295abfcf9aedd48c580d4a Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 11:27:23 +0000 Message-Id: <6964da9b.35642.1f121c60@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=6b69d6726a7d3455fb295abfcf9aedd48c580d4a commit 6b69d6726a7d3455fb295abfcf9aedd48c580d4a Author: Christos Margiolis AuthorDate: 2026-01-12 11:27:15 +0000 Commit: Christos Margiolis CommitDate: 2026-01-12 11:27:15 +0000 sound: Unlock around uiomove() in midi_{read,write}() Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D54130 --- sys/dev/sound/midi/midi.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/sound/midi/midi.c b/sys/dev/sound/midi/midi.c index c86f5fb41b14..8c38b00f15ad 100644 --- a/sys/dev/sound/midi/midi.c +++ b/sys/dev/sound/midi/midi.c @@ -391,9 +391,11 @@ midi_read(struct cdev *i_dev, struct uio *uio, int ioflag) used = MIN(used, MIDI_RSIZE); MIDIQ_DEQ(m->inq, buf, used); + mtx_unlock(&m->lock); retval = uiomove(buf, used, uio); if (retval) - goto err1; + goto err0; + mtx_lock(&m->lock); } /* @@ -457,9 +459,11 @@ midi_write(struct cdev *i_dev, struct uio *uio, int ioflag) used = MIN(MIDIQ_AVAIL(m->outq), uio->uio_resid); used = MIN(used, MIDI_WSIZE); + mtx_unlock(&m->lock); retval = uiomove(buf, used, uio); if (retval) - goto err1; + goto err0; + mtx_lock(&m->lock); MIDIQ_ENQ(m->outq, buf, used); /* * Inform the bottom half that data can be written From nobody Mon Jan 12 12:17:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqWbY2XZXz6NWc9 for ; Mon, 12 Jan 2026 12:17: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqWbY01C8z3Fy3 for ; Mon, 12 Jan 2026 12:17:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768220249; 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=c80ZQF3b1hkO/8QHmgGTegxhBcd7t8pev5LBnQpijnY=; b=fWudCJD1KfeiDqwRev4s/emRvoCBmdOisXLWR8eFk04S35/i+bd3Z/tdddPh4MkuCvX1TZ OoZWSdOw3AkrFYbWrKI1nBOYYt+qv4+kvaYsJXNubvUFCAy5O+vm81HdjCI1BA92lKQkCz eECkqRe2HnQwyJoWkswsKrOJwBOVvacKycnRy0ouZbfwhAdGcqP5enBdBvudydVlh3Aexc 6zOI8m8Rt3ZSK5kWoCQwnoNi3PnQmr4UG+pQma/HJ1n60lZdS1hul5HorWmjky12EvHJOn OBUqUamCDo9IXI1uqEgasKuVIcAipvxBO2AHZo4kh4mqAabx/lf6D9vagT0pMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768220249; 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=c80ZQF3b1hkO/8QHmgGTegxhBcd7t8pev5LBnQpijnY=; b=ESWvlu1XFSxYPNmv9ki/MCiq5Q3iGDh/QZ+n40dSaHF0miTcBn/RSl8YAwj3+bm8u4mmli U4+NnFSN9ssogKzollWX3O1hGCVwtvPMbXoQxdQF/ildtG7Mk1G3Z+n4THgZB+Bkqms/rC +sCHuVTEc0lXrzRbK/rw05upP2G8xGbeSHxGvfaBxFwnS9STvcRMSS+xkFf7mvXZ3yv7v4 D2kG5Xfbai8bBbvA1DCkF/0k3vm2EbehmtdmpyJiLpSIcG82/FPNblliA8X0nIvDGm5mBA TX5mes/dEO6qs9aZf/lCPHpyuYYrh3G2ttgF/sKE6rDDq2t/0F8ak4zTU+KUqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768220249; a=rsa-sha256; cv=none; b=myDkUAa98Av/Ymio5kYLaSEEoTZIk7wDDiuvO1dn4i+VyCwX+HNRwnk78hVcnknWgSwLmD BOc2GvA9MxZPMao52ony3/b4RURvBl9wSTgCUg/v3JQkZEqYhfNGZyvlK2+zhGdpOd0NDX qSZQORd4mlq1ZCMxtfhuqXjeiaD7Vl/Zc+xSw+DGxtWOKb+YoNcob6fadFh9C79DbUCKpO neGmpCHK4lQ+GJhzH/Geo8QfEQE0JCp2oEWN1RTRzMzAOtcQOXmXIhfQTxWnO8bHpQf5I7 6078TY1i/wOjnY1DHjbjV4/8T3HJHsp13fHdbn7TGHxZoC3ArW+rRtyqLa4deA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqWbX6J1fz9rS for ; Mon, 12 Jan 2026 12:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a14e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 12:17:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 9c25620e57f0 - main - sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c25620e57f01d8227f0d53c6b2134ab37a49fdf Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 12:17:28 +0000 Message-Id: <6964e658.3a14e.2648ccf1@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9c25620e57f01d8227f0d53c6b2134ab37a49fdf commit 9c25620e57f01d8227f0d53c6b2134ab37a49fdf Author: Olivier Certner AuthorDate: 2026-01-12 09:28:54 +0000 Commit: Olivier Certner CommitDate: 2026-01-12 12:16:10 +0000 sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES We do not support EFI boot on i386. Thus: 1. Move (back) 'device vt_efifb' from x86/NOTES to amd64/NOTES. 2. Remove 'device vt_efifb' from i386/MINIMAL. Reported by: jhb Fixes: f224591746bd ("Add ASMC_DEBUG make option") Fixes: 67599eef01f5 ("sys/x86/NOTES: Add vt_efifb") Sponsored by: The FreeBSD Foundation --- sys/amd64/conf/NOTES | 3 +++ sys/i386/conf/MINIMAL | 1 - sys/x86/conf/NOTES | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index efcc03623c05..b1a6995e90eb 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -43,6 +43,9 @@ cpu HAMMER # aka K8, aka Opteron & Athlon64 # Optional devices: # +# vt(4) drivers. +device vt_efifb # EFI framebuffer + # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as diff --git a/sys/i386/conf/MINIMAL b/sys/i386/conf/MINIMAL index 8019617ca4d4..99f3c3057fc2 100644 --- a/sys/i386/conf/MINIMAL +++ b/sys/i386/conf/MINIMAL @@ -114,7 +114,6 @@ options SC_PIXEL_MODE # add support for the raster text mode # vt is the default video console driver device vt device vt_vga -device vt_efifb device vt_vbefb device agp # support several AGP chipsets diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES index 2c8efa3726dc..643105096be2 100644 --- a/sys/x86/conf/NOTES +++ b/sys/x86/conf/NOTES @@ -329,7 +329,6 @@ options VGA_DEBUG # vt(4) drivers. device vt_vga # VGA device vt_vbefb # VBE framebuffer -device vt_efifb # EFI framebuffer # Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. device s3pci From nobody Mon Jan 12 12:17:29 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqWbZ3Fp4z6NWww for ; Mon, 12 Jan 2026 12:17: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqWbZ0NvJz3FST for ; Mon, 12 Jan 2026 12:17:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768220250; 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=Ckp+XyS4vb1jGpu8unCc1sN4q+13eLk0UAPo+gl7Lmo=; b=WhivvjudGBnvp5aJ40LOsM3BzobTD+g1i1OLhTLR4v3o6CsWTbPuYlr1bMV4XXBg0hppju cGMOXE+SYXVo0EnLcV800swamyVk4CFdZsfCJn8hjPfFdw7p+RzLm7FhiH6kD7bNO7piXK HuJe2kDNmly00MaxIWAGsWcAstXEIsWzEpO7hBKJKseiYel+Olj7Slqm9aDWhiz4sZKA7o SqG+XPjXj++C0Nih4W+S+KR6Ke5l+JV5nRKtuHXapwByCPQOxJas2WQLdCD3DYDrMtGeQS 7V6Y4utcbjETIB5iH0/ox9+xFy3bKbKRDmi7/VEJODExB4JTPL+yH4+9grtNmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768220250; 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=Ckp+XyS4vb1jGpu8unCc1sN4q+13eLk0UAPo+gl7Lmo=; b=cGzoUMkY6jyFeXCIqsTFOI1wHWCy2FCEszMSqjgpKD5UQlaFDXBvvmCQGSW7XoCD2GElzy tKcQA7e2aHs99v/NwvG5BawY6W9gJeOeIJS1rhrrhnoVqg6rYFWWPcBmlEK8sEBzty73vy 9jx+bU5cUqKbbGhBdkR1Cpy8sL023DqGRL+oJAPWZUX0nwLNotTqOnnwl2hQUtHZea7MAB YS+tnuyfpuKmEt/QApxQ0BY5Yqlof6wbBRbbILw3ZqeVUPZ1V2Xz4oN19VjV5ECMT1IJPj t08KEJdtEDFg+tXs5OT7MupSn48NrJS4JlqMeuMCmwJTFNi0ZJ7ivKN168CXAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768220250; a=rsa-sha256; cv=none; b=xn5WC1Axgf0TPpdlh31wBE/ohXTXcYsFZrDX8JDZm7yh3xYb6ddH/ppGtCe7vxA4JpmlAL i5bGpkED0CxFYv2vagypYHMVx4X6JnA2/DSbzIlmh7OFlG40R7CW6dqGiBvpm/on+vJmfL YljZlQGUFmeHtbTff0Oc0PJR/G67OMtnfpFFsWHY4xBKKDhNdShH6cfZ99nZkLFaydOhbx dI2VNTXj2EHW1L608I8egGg8lzePt9p8Xm8/mDb5TU5EuS58/sZldpbUtBlSbYWZBjUvAu OXSdt6ZzLWg+qCaxVGiGGqjL2M/Ek9562J76LcDsg/nFzj4+c6zqtWTIUUQ1nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqWbY75pQzB0n for ; Mon, 12 Jan 2026 12:17:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38c48 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 12:17:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 8342d9f7b5f1 - main - asmc(4): Stop building it on i386, as it supports only 64-bit chipsets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8342d9f7b5f13d0623861cb8b88caf10a15571f6 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 12:17:29 +0000 Message-Id: <6964e659.38c48.63bb6fee@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=8342d9f7b5f13d0623861cb8b88caf10a15571f6 commit 8342d9f7b5f13d0623861cb8b88caf10a15571f6 Author: Olivier Certner AuthorDate: 2026-01-12 09:37:24 +0000 Commit: Olivier Certner CommitDate: 2026-01-12 12:16:38 +0000 asmc(4): Stop building it on i386, as it supports only 64-bit chipsets Reported by: ngie Fixes: fde9fe18219f ("i386: Fix kernel compilation after introduction of ASMC_DEBUG option") Sponsored by: The FreeBSD Foundation --- sys/conf/files.amd64 | 1 + sys/conf/files.x86 | 1 - sys/conf/options.i386 | 3 --- sys/modules/Makefile | 2 +- 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 5de81ce58ef8..88f9b1d5f10f 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -112,6 +112,7 @@ crypto/openssl/amd64/sha512-x86_64.S 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/asmc/asmc.c optional asmc isa dev/axgbe/if_axgbe_pci.c optional axp dev/axgbe/xgbe-desc.c optional axp dev/axgbe/xgbe-dev.c optional axp diff --git a/sys/conf/files.x86 b/sys/conf/files.x86 index 31b8e88a6951..b1bd6f7291ca 100644 --- a/sys/conf/files.x86 +++ b/sys/conf/files.x86 @@ -67,7 +67,6 @@ dev/amdsbwd/amdsbwd.c optional amdsbwd dev/amdsmn/amdsmn.c optional amdsmn | amdtemp dev/amdtemp/amdtemp.c optional amdtemp dev/arcmsr/arcmsr.c optional arcmsr pci -dev/asmc/asmc.c optional asmc isa dev/atkbdc/atkbd.c optional atkbd atkbdc dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc dev/atkbdc/atkbdc.c optional atkbdc diff --git a/sys/conf/options.i386 b/sys/conf/options.i386 index 62bf3baf8649..c577568c837f 100644 --- a/sys/conf/options.i386 +++ b/sys/conf/options.i386 @@ -112,6 +112,3 @@ MPTABLE_LINUX_BUG_COMPAT # x86 specific uart options UART_NS8250_EARLY_PORT opt_uart.h - -# Enable asmc(4)-specific debug logic. -ASMC_DEBUG opt_asmc.h diff --git a/sys/modules/Makefile b/sys/modules/Makefile index f7e104489fa8..cce5f14ce20d 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -786,7 +786,6 @@ _amdsbwd= amdsbwd _amdsmn= amdsmn _amdtemp= amdtemp _arcmsr= arcmsr -_asmc= asmc .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) _blake2= blake2 .endif @@ -845,6 +844,7 @@ _x86bios= x86bios .if ${MACHINE_CPUARCH} == "amd64" _amdgpio= amdgpio +_asmc= asmc _ccp= ccp _enic= enic _iavf= iavf From nobody Mon Jan 12 12:19:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqWdt3yZdz6NX4p; Mon, 12 Jan 2026 12:19:30 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqWdt22KJz3Gb2; Mon, 12 Jan 2026 12:19:30 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768220370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fAU8R0xXXWemJVWN1UVW8029dC5+5ca4bHUIJOv/wOA=; b=ocWPUz+xarmj8CCfOO8d5mw5/IO7cGTjiaIkb9XiSz1rurQxXzqnjnV5CuKh8zeHSPbGgg iErG4XSMFrknJiUCLM94sR6v+G/iYzGRgLN5ikVFfPE4oCSFYAu9IATdqLjsK666q9kdYq HVo5mB64bjGoYAJMjk/FKh8xzElPRRbJvx/M4nHgcfvE5DRQoY1g288+DF+r1AOqovWq+s iUy9L/r7o3tE6w9mqOUZsVSD1LOwh22ajEcp/ynHKDIXA+ICYBj1XpVySSL8W1j4wdJFFC pJp0b8HsKr0TNxgBKQ4v/L50ImBQj56ypJ+vaM2PgGr7/3EfDtCEv4SfQrVUCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768220370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fAU8R0xXXWemJVWN1UVW8029dC5+5ca4bHUIJOv/wOA=; b=w+eod0s5ogphqoYea6AmQx+Q1pmxRvJDB5O99T/AQxYq3rc9s/+hSGdTk4z4x/d+M+U2Xl rlOV1ifmITtKy/iZXzWhlTl0LFDR63/Wx44TnQZ/nQBBehyAhaJXEf8Oi8X8zzKHGpvW5V fO/ATAahNkDWt9WG97+lmIQeXNKF0R0bhz1GMXzyoVOwr6Wq3RKooXFDRTgokAbhgKBnj2 hZvEPc1OK0hg6dqLhs5qDtgCm1ijSIcfPG18rU8yQpjarN6kjoJfJztBw1kb5YcHJI2yTY ORmlWTnXmqYSl1aqJjBjMSqPbIlnSFhJ/GfJDfzhPv3eXoymGLPBzFMXz+LM1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768220370; a=rsa-sha256; cv=none; b=tmhFdexXulQpvY+qWf0xw6v/XPE16TRquK/OEf9FL2PCyaQgNU8S+wN26Ibtau2edyjUXb JKYltTE8w1nWmHii48VaQcHXHczhroh8RvP01PK1hfx1gDPLCJPsaeWLgJH9508tiVTAWg vq/MPwS/pxZ0TXMfDKivC85SllLR58goeXrEThq+B7g0ip9/od0SSC5XLl98DqtL37ExV+ dSwzjU+p5ATy/7YUIebR9wx4GZHODbcE9RTS6fJxFLjDfIK7rA7EwRKe4t038pKRy90Sto JVVc4G4im7ITDFohV9YY9GT792WvgXTN9JSAxSV4QFKKmIwEpQvAG2aUqsU+rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (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) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dqWds4dytzqJl; Mon, 12 Jan 2026 12:19:29 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: src-committers@freebsd.org Cc: John Baldwin , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 67599eef01f5 - main - sys/x86/NOTES: Add vt_efifb Date: Mon, 12 Jan 2026 13:19:22 +0100 Message-ID: <6522245.O1aUxXEVJ6@ravel> In-Reply-To: <3120393.hHqAuc6tWs@ravel> References: <69612e4a.3279b.9f58eba@gitrepo.freebsd.org> <3120393.hHqAuc6tWs@ravel> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2501109.bDOn7JOVgO"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart2501109.bDOn7JOVgO Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: src-committers@freebsd.org Subject: Re: git: 67599eef01f5 - main - sys/x86/NOTES: Add vt_efifb Date: Mon, 12 Jan 2026 13:19:22 +0100 Message-ID: <6522245.O1aUxXEVJ6@ravel> In-Reply-To: <3120393.hHqAuc6tWs@ravel> MIME-Version: 1.0 > So, barring objections, I'll put 'vt_efifb' back in amd64/NOTES and remove it from i386/MINIMAL. That felt quite uncontroversial, so I've just gone ahead. Feel free to poke me to amend if you don't agree or there's still something to tweak. -- Olivier Certner --nextPart2501109.bDOn7JOVgO Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmlk5soACgkQjKEwQJce JidP8xAAgfvhLgJESZfXL6ckw+ph+W8voHC78FKQWPP/0qX4z353hlVGFfxVswFC mZYq3wAAFoLcnf2G1ok9U8ilIeRe+Sf+rbJ+dXTRYLV8VaatRCkChj4S0CiBpj78 9r/beQHct0h/yo8ewfWcUC84oc3Ve5qT092LVsKstQzMAuh1iDGJGI7lCT1CP7W/ tLbxtFBZ57qPzn64VJjtzQcXHEQwMICchb72JuRzJzsDjrhwH0KFSTF9NaLJ7Hmy BxGU+FNu1UK7FCGoT1P5bFjLuBs18ptU2GZB6CGPE7Nnbd0qKqx8qXlU+aHulYPe 1I9m1NJMPoeUDF3p37V2RfRJKKV319f7qssWysAbXx6JwE7+VrY26a4SSVH/3fYC YuJMpbm9QoGGQZg0PC576Zwsnv41Gy3nQkPS/SmCLGcn1AgjyhuK2VZReOl/YtNy XcGv6Gbo12lBTM5oAbW1eaQlthf0OZBZMC2zek5Y9tr1Ig0ojQFUDpBobrEYya4l tjizAWVUlVY6MLy5Jd8l/xUfVxJz9WO0FYYbF9unxLntl9M1VJurTQABhFnBt6SS Z3v1WfknyMMmJtj0zjia2rbyLtHPeyTznt1HCBRovBGsxzSYoQzcx9W/zBv4BPtm lyvhf2XAz/c23iBJaza7/kx0yMQbxhpR2S+L9aEqhez7IsyGpV4= =C5+a -----END PGP SIGNATURE----- --nextPart2501109.bDOn7JOVgO-- From nobody Mon Jan 12 13:32:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqYGN1Qytz6Nbtp for ; Mon, 12 Jan 2026 13:32: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqYGG74pkz3Q56 for ; Mon, 12 Jan 2026 13:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768224759; 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=qed/N4iZ82L7JhNCEex7AoNiun3gLeTeT+5Z5NVJ7co=; b=Xd1aCk2y9oha8FndMiiEQvJQeajjqxuNzluOS4TbXsTc75+gKNW7un7c6hsZe+AWLH3JOb 7jlypBR8PPjkxPV05jLX93gEQlki7q12tDZMZdLNOITIziy+xuplTNds9yXW0Nz01kTj6y oQ69eX0W1mm84LnsDWxnuVcF2tJ8vi1grFkO4qJ886hC6gyUt8vhQNb0Xs+AlwjsFZUMJQ M3pJBwVhX7tWRSIAvZxwJ701Imk4PromZI2xlMZ3Q/DbXepF+AgE+anxSk4H1pkO1p0/gc fUyGun7m2qXxjx2prUJEdJbFfMklDtI7xWlctGX/HSXQPiuJ4sinRaiXbWpvgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768224759; 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=qed/N4iZ82L7JhNCEex7AoNiun3gLeTeT+5Z5NVJ7co=; b=XpHVLrZe5pHDIlGlo5ZrSw2xCEJEZ+3/iwe3TsNQ2gnJwzkQeORIvkEVnbkF2Y8vLC2Fnt 0sIgOFCj80TkjgbhxTpDNx1kwm0HWcZquFBLHho546trwzuO+hu0Htr23dLW9IX+3P1R5P VVJe5QjZpnjZyVHv15gOJT+iN/zpdd7Tx8KK+lbosW81oziAOMau97hcYYGFvYKrKuxzII 8U28Xo+RCKFdSdhFpvRg+DJa5D6ANsYgpYFIpDEgXcwoLooYNyUlDgTttZ4MZtR5xaFvhY rYd18b0XETkq7Yv46/hA9zHV4k6kA5xXFAUjxO6YcZJbPIn+FsGvvkWwbccThw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768224759; a=rsa-sha256; cv=none; b=hp2rsWf480M+wQ2ADRPtjhb9KPvUGYh+us2EeeoNbZv4SCirQktdfKA70++qdfPdjBZIz7 YmgOVkdYZkt+5FUCy3Z1mpUcx87wIXQriYL8MAtpSVSJPJpoyoAc7mDRLCdi9uu5troLz8 H4tFn/BjTImQ5xuOkf+2cCieZ7hCN2C6oYsdmbzUzcThi3NaMb40ljkT0ZL/4B+rW8yzFg nE+dVKqhew7vZn9OywtawTdZh0iAE67GczlF7aJnvje3PgIa63r5SadbP6M1SHtt7V0zPO 21VtXrXdqeCd8IvNCsiJxitffo9hhc1cgSZl7wwwU2pWCFt/05QFtFEkU1XHZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqYGG6LB4zCtj for ; Mon, 12 Jan 2026 13:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8dba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 13:32:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: aa58af04dc88 - main - sndctl(8): Add libxo support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa58af04dc88aabf9d2fade2c7d126031cb66f42 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 13:32:38 +0000 Message-Id: <6964f7f6.8dba.115b4ad1@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=aa58af04dc88aabf9d2fade2c7d126031cb66f42 commit aa58af04dc88aabf9d2fade2c7d126031cb66f42 Author: Christos Margiolis AuthorDate: 2026-01-12 13:32:06 +0000 Commit: Christos Margiolis CommitDate: 2026-01-12 13:32:32 +0000 sndctl(8): Add libxo support Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: ziaee, mckusick Differential Revision: https://reviews.freebsd.org/D54032 --- usr.sbin/sndctl/Makefile | 2 +- usr.sbin/sndctl/sndctl.8 | 11 +++- usr.sbin/sndctl/sndctl.c | 151 +++++++++++++++++++++++++++++++---------------- 3 files changed, 111 insertions(+), 53 deletions(-) diff --git a/usr.sbin/sndctl/Makefile b/usr.sbin/sndctl/Makefile index d6697bb88fd5..cb06b84f5766 100644 --- a/usr.sbin/sndctl/Makefile +++ b/usr.sbin/sndctl/Makefile @@ -5,6 +5,6 @@ PACKAGE= sound PROG= sndctl SRCS= ${PROG}.c MAN= ${PROG}.8 -LDFLAGS+= -lnv -lmixer +LDFLAGS+= -lnv -lmixer -lxo -lsbuf .include diff --git a/usr.sbin/sndctl/sndctl.8 b/usr.sbin/sndctl/sndctl.8 index 4c3810f3c16b..73414bd95325 100644 --- a/usr.sbin/sndctl/sndctl.8 +++ b/usr.sbin/sndctl/sndctl.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 5, 2025 +.Dd December 2, 2025 .Dt SNDCTL 8 .Os .Sh NAME @@ -35,6 +35,7 @@ .Nd list and modify soundcard properties .Sh SYNOPSIS .Nm +.Op Fl -libxo .Op Fl f Ar device .Op Fl hov .Op Ar control Ns Oo = Ns Ar value Oc Ar ... @@ -46,6 +47,13 @@ control-driven interface, in order to filter and/or set specific properties. .Pp The options are as follows: .Bl -tag -width "-f device" +.It Fl -libxo +Generate output via +.Xr libxo 3 +in a selection of different human and machine readable formats. +See +.Xr xo_options 7 +for details on command line arguments. .It Fl f Ar device Choose a specific audio device .Pq see Sx FILES . @@ -175,6 +183,7 @@ $ sndctl -f /dev/dsp0 `cat info` .Sh SEE ALSO .Xr sndstat 4 , .Xr sound 4 , +.Xr xo_options 7 , .Xr mixer 8 , .Xr sysctl 8 .Sh AUTHORS diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index e6dac67e2ea7..bbc2da6a4ab9 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -45,6 +46,9 @@ #include #include #include +#include + +#define SNDCTL_XO_VERSION "1" /* Taken from sys/dev/sound/pcm/ */ #define STATUS_LEN 64 @@ -171,7 +175,7 @@ static struct snd_ctl dev_ctls[] = { static struct snd_ctl chan_ctls[] = { #define F(member) offsetof(struct snd_chan, member) - /*{ "name", F(name), STR, NULL },*/ + { "name", F(name), STR, NULL }, { "parentchan", F(parentchan), STR, NULL }, { "unit", F(unit), NUM, NULL }, { "caps", F(caps), STR, NULL }, @@ -342,7 +346,7 @@ sysctl_int(const char *buf, const char *arg, int *var) size = sizeof(int); /* Read current value. */ if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); + xo_warn("sysctlbyname(%s)", buf); return (-1); } @@ -351,24 +355,24 @@ sysctl_int(const char *buf, const char *arg, int *var) errno = 0; n = strtol(arg, NULL, 10); if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", arg); + xo_warn("strtol(%s)", arg); return (-1); } /* Apply new value. */ if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { - warn("sysctlbyname(%s, %d)", buf, n); + xo_warn("sysctlbyname(%s, %d)", buf, n); return (-1); } } /* Read back applied value for good measure. */ if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); + xo_warn("sysctlbyname(%s)", buf); return (-1); } - if (arg != NULL) + if (arg != NULL && xo_get_style(NULL) == XO_STYLE_TEXT) printf("%s: %d -> %d\n", buf, prev, n); if (var != NULL) *var = n; @@ -386,7 +390,7 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) /* Read current value. */ size = sizeof(prev); if (sysctlbyname(buf, prev, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); + xo_warn("sysctlbyname(%s)", buf); return (-1); } @@ -395,26 +399,26 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) size = strlen(arg); /* Apply new value. */ if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, arg); + xo_warn("sysctlbyname(%s, %s)", buf, arg); return (-1); } /* Get size of new string. */ if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); + xo_warn("sysctlbyname(%s)", buf); return (-1); } } if ((tmp = calloc(1, size)) == NULL) - err(1, "calloc"); + xo_err(1, "calloc"); /* Read back applied value for good measure. */ if (sysctlbyname(buf, tmp, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); + xo_warn("sysctlbyname(%s)", buf); free(tmp); return (-1); } - if (arg != NULL) + if (arg != NULL && xo_get_style(NULL) == XO_STYLE_TEXT) printf("%s: %s -> %s\n", buf, prev, tmp); if (var != NULL) strlcpy(var, tmp, varsz); @@ -436,27 +440,27 @@ read_dev(char *path) int fd, caps, unit, t1, t2, t3; if ((fd = open("/dev/sndstat", O_RDONLY)) < 0) - err(1, "open(/dev/sndstat)"); + xo_err(1, "open(/dev/sndstat)"); if (ioctl(fd, SNDSTIOC_REFRESH_DEVS, NULL) < 0) - err(1, "ioctl(SNDSTIOC_REFRESH_DEVS)"); + xo_err(1, "ioctl(SNDSTIOC_REFRESH_DEVS)"); arg.nbytes = 0; arg.buf = NULL; if (ioctl(fd, SNDSTIOC_GET_DEVS, &arg) < 0) - err(1, "ioctl(SNDSTIOC_GET_DEVS#1)"); + xo_err(1, "ioctl(SNDSTIOC_GET_DEVS#1)"); if ((arg.buf = malloc(arg.nbytes)) == NULL) - err(1, "malloc"); + xo_err(1, "malloc"); if (ioctl(fd, SNDSTIOC_GET_DEVS, &arg) < 0) - err(1, "ioctl(SNDSTIOC_GET_DEVS#2)"); + xo_err(1, "ioctl(SNDSTIOC_GET_DEVS#2)"); if ((nvl = nvlist_unpack(arg.buf, arg.nbytes, 0)) == NULL) - err(1, "nvlist_unpack"); + xo_err(1, "nvlist_unpack"); if (nvlist_empty(nvl) || !nvlist_exists(nvl, SNDST_DSPS)) - errx(1, "no soundcards attached"); + xo_errx(1, "no soundcards attached"); if (path == NULL || (path != NULL && strcmp(basename(path), "dsp") == 0)) unit = mixer_get_dunit(); @@ -475,12 +479,12 @@ read_dev(char *path) break;; } if (i == nitems) - errx(1, "device not found"); + xo_errx(1, "device not found"); #define NV(type, item) \ nvlist_get_ ## type (di[i], SNDST_DSPS_ ## item) if ((dp = calloc(1, sizeof(struct snd_dev))) == NULL) - err(1, "calloc"); + xo_err(1, "calloc"); dp->unit = -1; strlcpy(dp->name, NV(string, NAMEUNIT), sizeof(dp->name)); @@ -492,9 +496,9 @@ read_dev(char *path) #undef NV if (dp->play.pchans && !nvlist_exists(di[i], SNDST_DSPS_INFO_PLAY)) - errx(1, "%s: playback channel list empty", dp->name); + xo_errx(1, "%s: playback channel list empty", dp->name); if (dp->rec.pchans && !nvlist_exists(di[i], SNDST_DSPS_INFO_REC)) - errx(1, "%s: recording channel list empty", dp->name); + xo_errx(1, "%s: recording channel list empty", dp->name); #define NV(type, mode, item) \ nvlist_get_ ## type (nvlist_get_nvlist(di[i], \ @@ -526,7 +530,7 @@ read_dev(char *path) goto done; if (!nvlist_exists(di[i], SNDST_DSPS_PROVIDER_INFO)) - errx(1, "%s: provider_info list empty", dp->name); + xo_errx(1, "%s: provider_info list empty", dp->name); #define NV(type, item) \ nvlist_get_ ## type (nvlist_get_nvlist(di[i], \ @@ -549,13 +553,13 @@ read_dev(char *path) if (sysctl_int("hw.snd.latency", NULL, &t1) || sysctl_int("hw.snd.latency_profile", NULL, &t2) || sysctl_int("kern.timecounter.alloweddeviation", NULL, &t3)) - err(1, "%s: sysctl", dp->name); + xo_err(1, "%s: sysctl", dp->name); if (t1 == 0 && t2 == 0 && t3 == 0) dp->realtime = 1; if (!nvlist_exists(nvlist_get_nvlist(di[i], SNDST_DSPS_PROVIDER_INFO), SNDST_DSPS_SOUND4_CHAN_INFO)) - errx(1, "%s: channel info list empty", dp->name); + xo_errx(1, "%s: channel info list empty", dp->name); cdi = nvlist_get_nvlist_array( nvlist_get_nvlist(di[i], SNDST_DSPS_PROVIDER_INFO), @@ -567,7 +571,7 @@ read_dev(char *path) #define NV(type, item) \ nvlist_get_ ## type (cdi[j], SNDST_DSPS_SOUND4_CHAN_ ## item) if ((ch = calloc(1, sizeof(struct snd_chan))) == NULL) - err(1, "calloc"); + xo_err(1, "calloc"); strlcpy(ch->name, NV(string, NAME), sizeof(ch->name)); strlcpy(ch->parentchan, NV(string, PARENTCHAN), @@ -654,7 +658,7 @@ print_dev_ctl(struct snd_dev *dp, struct snd_ctl *ctl, bool simple, struct snd_ctl *cp; size_t len; - if (ctl->type != GRP) { + if (ctl->type != GRP && xo_get_style(NULL) == XO_STYLE_TEXT) { if (simple) printf("%s=", ctl->name); else @@ -663,10 +667,10 @@ print_dev_ctl(struct snd_dev *dp, struct snd_ctl *ctl, bool simple, switch (ctl->type) { case STR: - printf("%s\n", (char *)dp + ctl->off); + xo_emit("{a:%s/%s}\n", ctl->name, (char *)dp + ctl->off); break; case NUM: - printf("%d\n", *(int *)((intptr_t)dp + ctl->off)); + xo_emit("{a:%s/%d}\n", ctl->name, *(int *)((intptr_t)dp + ctl->off)); break; case VOL: break; @@ -691,7 +695,7 @@ print_chan_ctl(struct snd_chan *ch, struct snd_ctl *ctl, bool simple, size_t len; int v; - if (ctl->type != GRP) { + if (ctl->type != GRP && xo_get_style(NULL) == XO_STYLE_TEXT) { if (simple) printf("%s.%s=", ch->name, ctl->name); else @@ -700,14 +704,14 @@ print_chan_ctl(struct snd_chan *ch, struct snd_ctl *ctl, bool simple, switch (ctl->type) { case STR: - printf("%s\n", (char *)ch + ctl->off); + xo_emit("{a:%s/%s}\n", ctl->name, (char *)ch + ctl->off); break; case NUM: - printf("%d\n", *(int *)((intptr_t)ch + ctl->off)); + xo_emit("{a:%s/%d}\n", ctl->name, *(int *)((intptr_t)ch + ctl->off)); break; case VOL: v = *(int *)((intptr_t)ch + ctl->off); - printf("%.2f:%.2f\n", + xo_emit("{a:%s/%.2f:%.2f}\n", ctl->name, MIX_VOLNORM(v & 0x00ff), MIX_VOLNORM((v >> 8) & 0x00ff)); break; case GRP: @@ -728,31 +732,46 @@ print_dev(struct snd_dev *dp) { struct snd_chan *ch; struct snd_ctl *ctl; + struct sbuf sb; + char buf[16]; - if (!oflag) { - printf("%s: <%s> %s", dp->name, dp->desc, dp->status); + xo_open_instance("devices"); - printf(" ("); + if (!oflag || xo_get_style(NULL) != XO_STYLE_TEXT) { + sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN); + + sbuf_printf(&sb, "("); if (dp->play.pchans) - printf("play"); + sbuf_printf(&sb, "play"); if (dp->play.pchans && dp->rec.pchans) - printf("/"); + sbuf_printf(&sb, "/"); if (dp->rec.pchans) - printf("rec"); - printf(")\n"); + sbuf_printf(&sb, "rec"); + sbuf_printf(&sb, ")"); + + xo_emit("{:header/%s: <%s> %s %s}\n", + dp->name, dp->desc, dp->status, sbuf_data(&sb)); + + sbuf_delete(&sb); } for (ctl = dev_ctls; ctl->name != NULL; ctl++) print_dev_ctl(dp, ctl, oflag, false); if (vflag) { + xo_open_list("channels"); TAILQ_FOREACH(ch, &dp->chans, next) { - if (!oflag) + xo_open_instance("channels"); + if (!oflag && xo_get_style(NULL) == XO_STYLE_TEXT) printf(" %s\n", ch->name); for (ctl = chan_ctls; ctl->name != NULL; ctl++) print_chan_ctl(ch, ctl, oflag, false); + xo_close_instance("channels"); } + xo_close_list("channels"); } + + xo_close_instance("devices"); } static int @@ -916,8 +935,9 @@ mod_rec_format(struct snd_dev *dp, void *arg) static void __dead2 usage(void) { - fprintf(stderr, "usage: %s [-f device] [-hov] [control[=value] ...]\n", + xo_error("usage: %s [--libxo] [-f device] [-hov] [control[=value] ...]\n", getprogname()); + xo_finish(); exit(1); } @@ -932,6 +952,10 @@ main(int argc, char *argv[]) bool show = true, found; int c; + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); + while ((c = getopt(argc, argv, "f:hov")) != -1) { switch (c) { case 'f': @@ -952,11 +976,20 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; + xo_set_version(SNDCTL_XO_VERSION); + xo_open_container("sndctl"); + dp = read_dev(path); + xo_open_container("executed_controls"); while (argc > 0) { - if ((s = strdup(*argv)) == NULL) - err(1, "strdup(%s)", *argv); + if ((s = strdup(*argv)) == NULL) { + xo_close_container("executed_controls"); + xo_close_container("sndctl"); + if (xo_finish() < 0) + xo_err(1, "xo_finish"); + xo_err(1, "strdup(%s)", *argv); + } propstr = strsep(&s, "="); if (propstr == NULL) @@ -966,11 +999,19 @@ main(int argc, char *argv[]) for (ctl = dev_ctls; ctl->name != NULL; ctl++) { if (strcmp(ctl->name, propstr) != 0) continue; - if (s == NULL) { - print_dev_ctl(dp, ctl, true, true); + if (s == NULL) show = false; - } else if (ctl->mod != NULL && ctl->mod(dp, s) < 0) - warnx("%s(%s) failed", ctl->name, s); + else if (ctl->mod != NULL && ctl->mod(dp, s) < 0) + xo_warnx("%s(%s) failed", ctl->name, s); + if (s == NULL || xo_get_style(NULL) != XO_STYLE_TEXT) { + /* + * Print the control in libxo mode in all + * cases, otherwise we'll not be printing any + * controls that were modified or whose + * ctl->mod() failed. + */ + print_dev_ctl(dp, ctl, true, true); + } found = true; break; } @@ -985,17 +1026,25 @@ main(int argc, char *argv[]) } } if (!found) - warnx("%s: no such property", propstr); + xo_warnx("%s: no such property", propstr); next: free(s); argc--; argv++; } + xo_close_container("executed_controls"); - if (show) { + if (show || xo_get_style(NULL) != XO_STYLE_TEXT) { + xo_open_list("devices"); print_dev(dp); + xo_close_list("devices"); } free_dev(dp); + + xo_close_container("sndctl"); + if (xo_finish() < 0) + xo_err(1, "xo_finish"); + return (0); } From nobody Mon Jan 12 13:38:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqYPL15X3z6NbwY for ; Mon, 12 Jan 2026 13:38: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqYPK6b4Jz3QRZ for ; Mon, 12 Jan 2026 13:38:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768225126; 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=ys5+6Pv96CEpL3J+7vkbOMNf7N4Jr1MWPjATCehI7vI=; b=ahSCdlL90miOn5FQb8FMlVkaNjpUh2cHV4+skoSeRaDrtEYRtZIm1oYCqGaI9jzbNl6VQU WkNKjJryWj5r6ROC+P0GgGcfn5FbJuxIddQMmi6rLk5vNLuKsVgsNLryTYPgRWyViXjQtF vw5ar2hr6NORlvD7tV09sgeZH5Yz9oDjejNOhiOH3ORG73vjxQujeVGduZSfu7ip2lsErW OcPSEefLSTCY6qAMwMVa+qNJo55TS6lWUQn6BhbkqNFFUSbo2c5VZALP4JzdAkWgv+5b8m OhDZFIdcOpi3zlgF1DJ6mR0QCgKkUVMBXmw0X4SwVO+J9NEqIeKRHf5k0p7iQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768225126; 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=ys5+6Pv96CEpL3J+7vkbOMNf7N4Jr1MWPjATCehI7vI=; b=tOCMe4XRrV3b2iHIgyWcpeNJwmUWtdQitTkUJCNHobeHP71vTbunPlKV3cmCIvqK0070E9 B5LxOlX7xZredXnlOpvpj7BOqylN0DXM7p5eRQcTRvVurYMCa1Gx3HzSfC+SmLPGis7fvP Iz2aHX/IW4t2vuo67fnwWF+K1UyFpz+dy6Yja/0yC3k5kLsHSGq43XdHZZBz/nW7YO+FNe lEliZ2bhZzc1wvQdFowAm+YbJsSPocFHZGjoYdxithIg4ctZaq5CA1NB57mVA9nVP+fTI2 PJaR8wsYQOHmTk0wsNVX622y6mTvxPV0s0vyZo8yTtH6XevAV2h/h59+mL9vqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768225126; a=rsa-sha256; cv=none; b=dhzHYWbZ94sv+bQJBDhXMy6T6xqJVDb+VWPazhazWWL3Wgict+PU9h1/1xbSQcipzyHDCx GivU292pCAUxI0uQ7PS6NMI7gSlLU0b4bHDfR/evZdcfr41VujfvrVdCe/hf4ZMda6+snM lVVUDId51AF84oJOqJKkRwBu4CIiRUjb7nXJHJRNkeW39DKgzT0CQYoaECDdDylVDxLnLM IOf88fBKY5DBB9PyW/NfDMXcF3F8hgLYD0eW2QniDQc3/06f28sXAG1PKxL6QNM6HTAgLm LJsw08HJ5ytue0Mn1Glf8nbBOs87uhkX9FZuSW1h1EIaRAFDwjS3d0UklKoTog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqYPK5cM8zCZy for ; Mon, 12 Jan 2026 13:38:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9633 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 13:38:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: eccd366b0a8b - main - sound: Replace MIN() with min() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eccd366b0a8ba7d902fcf0b1bec447926a75c36c Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 13:38:45 +0000 Message-Id: <6964f965.9633.74d5f9fd@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=eccd366b0a8ba7d902fcf0b1bec447926a75c36c commit eccd366b0a8ba7d902fcf0b1bec447926a75c36c Author: Christos Margiolis AuthorDate: 2026-01-12 13:38:39 +0000 Commit: Christos Margiolis CommitDate: 2026-01-12 13:38:39 +0000 sound: Replace MIN() with min() We use min() in most places. No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/midi/midi.c | 10 +++++----- sys/dev/sound/midi/midiq.h | 4 ++-- sys/dev/sound/pci/cs4281.c | 2 +- sys/dev/sound/pci/hdspe-pcm.c | 4 ++-- sys/dev/sound/usb/uaudio.c | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/midi/midi.c b/sys/dev/sound/midi/midi.c index 8c38b00f15ad..4fd0e3dcf134 100644 --- a/sys/dev/sound/midi/midi.c +++ b/sys/dev/sound/midi/midi.c @@ -236,7 +236,7 @@ midi_out(struct snd_midi *m, uint8_t *buf, int size) return (0); } - used = MIN(size, MIDIQ_LEN(m->outq)); + used = min(size, MIDIQ_LEN(m->outq)); if (used) MIDIQ_DEQ(m->outq, buf, used); if (MIDIQ_EMPTY(m->outq)) { @@ -387,8 +387,8 @@ midi_read(struct cdev *i_dev, struct uio *uio, int ioflag) * At this point, it is certain that m->inq has data */ - used = MIN(MIDIQ_LEN(m->inq), uio->uio_resid); - used = MIN(used, MIDI_RSIZE); + used = min(MIDIQ_LEN(m->inq), uio->uio_resid); + used = min(used, MIDI_RSIZE); MIDIQ_DEQ(m->inq, buf, used); mtx_unlock(&m->lock); @@ -456,8 +456,8 @@ midi_write(struct cdev *i_dev, struct uio *uio, int ioflag) * We are certain than data can be placed on the queue */ - used = MIN(MIDIQ_AVAIL(m->outq), uio->uio_resid); - used = MIN(used, MIDI_WSIZE); + used = min(MIDIQ_AVAIL(m->outq), uio->uio_resid); + used = min(used, MIDI_WSIZE); mtx_unlock(&m->lock); retval = uiomove(buf, used, uio); diff --git a/sys/dev/sound/midi/midiq.h b/sys/dev/sound/midi/midiq.h index 80825974283e..8ffa4a40d23d 100644 --- a/sys/dev/sound/midi/midiq.h +++ b/sys/dev/sound/midi/midiq.h @@ -56,7 +56,7 @@ struct name { \ * No protection against overflow, underflow */ #define MIDIQ_ENQ(head, buf, size) do { \ - MIDIQ_MOVE(&(head).b[(head).h], (buf), sizeof(*(head).b) * MIN((size), (head).s - (head).h)); \ + MIDIQ_MOVE(&(head).b[(head).h], (buf), sizeof(*(head).b) * min((size), (head).s - (head).h)); \ if( (head).s - (head).h < (size) ) { \ MIDIQ_MOVE((head).b, (buf) + (head).s - (head).h, sizeof(*(head).b) * ((size) - (head).s + (head).h) ); \ } \ @@ -67,7 +67,7 @@ struct name { \ #define MIDIQ_DEQ_I(head, buf, size, move, update) do { \ if(MIDIQ_FULL(head)) (head).h=(head).t; \ - if (move) MIDIQ_MOVE((buf), &(head).b[(head).t], sizeof(*(head).b) * MIN((size), (head).s - (head).t)); \ + if (move) MIDIQ_MOVE((buf), &(head).b[(head).t], sizeof(*(head).b) * min((size), (head).s - (head).t)); \ if( (head).s - (head).t < (size) ) { \ if (move) MIDIQ_MOVE((buf) + (head).s - (head).t, (head).b, sizeof(*(head).b) * ((size) - (head).s + (head).t) ); \ } \ diff --git a/sys/dev/sound/pci/cs4281.c b/sys/dev/sound/pci/cs4281.c index 5b0b229a021b..eecfc740bb3f 100644 --- a/sys/dev/sound/pci/cs4281.c +++ b/sys/dev/sound/pci/cs4281.c @@ -350,7 +350,7 @@ cs4281chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) /* 2 interrupts are possible and used in buffer (half-empty,empty), * hence factor of 2. */ - ch->blksz = MIN(blocksize, sc->bufsz / 2); + ch->blksz = min(blocksize, sc->bufsz / 2); sndbuf_resize(ch->buffer, 2, ch->blksz); ch->dma_setup = 0; adcdac_prog(ch); diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c index 678693960e5e..0ccdf69c32ee 100644 --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -474,7 +474,7 @@ buffer_mux_port(uint32_t *dma, uint32_t *pcm, uint32_t subset, uint32_t ports, channels = hdspe_channel_count(ports, pcm_width); /* Only copy as much as supported by both hardware and pcm channel. */ - slots = hdspe_port_slot_width(subset, MIN(adat_width, pcm_width)); + slots = hdspe_port_slot_width(subset, min(adat_width, pcm_width)); /* Let the compiler inline and loop unroll common cases. */ if (slots == 2) @@ -520,7 +520,7 @@ buffer_demux_port(uint32_t *dma, uint32_t *pcm, uint32_t subset, uint32_t ports, channels = hdspe_channel_count(ports, pcm_width); /* Only copy as much as supported by both hardware and pcm channel. */ - slots = hdspe_port_slot_width(subset, MIN(adat_width, pcm_width)); + slots = hdspe_port_slot_width(subset, min(adat_width, pcm_width)); /* Let the compiler inline and loop unroll common cases. */ if (slots == 2) diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index 0987ca12d933..7f49bae9ce5e 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -150,7 +150,7 @@ SYSCTL_INT(_hw_usb_uaudio, OID_AUTO, debug, CTLFLAG_RWTUN, #define UAUDIO_NCHANBUFS 2 /* number of outstanding request */ #define UAUDIO_RECURSE_LIMIT 255 /* rounds */ #define UAUDIO_BITS_MAX 32 /* maximum sample size in bits */ -#define UAUDIO_CHANNELS_MAX MIN(64, AFMT_CHANNEL_MAX) +#define UAUDIO_CHANNELS_MAX min(64, AFMT_CHANNEL_MAX) #define UAUDIO_MATRIX_MAX 8 /* channels */ #define MAKE_WORD(h,l) (((h) << 8) | (l)) @@ -1651,7 +1651,7 @@ uaudio20_check_rate(struct usb_device *udev, uint8_t iface_no, * buffer. Try using a larger buffer and see if that * helps: */ - rates = MIN(UAUDIO20_MAX_RATES, (255 - 2) / 12); + rates = min(UAUDIO20_MAX_RATES, (255 - 2) / 12); error = USB_ERR_INVAL; } else { rates = UGETW(data); From nobody Mon Jan 12 14:16:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqZFK3X6hz6NfNX for ; Mon, 12 Jan 2026 14:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqZFD2d9zz3XPL for ; Mon, 12 Jan 2026 14:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768227408; 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=2mhdLCYcZoWDiBNDEp7uFgIbGssVa9LsdORu67sQQsc=; b=u+/9C8T2ZhXYswR+DZEbB39AtxUPHchbCIc6wnCCHi6+DzevQiRL5FsZvZgJU3VaMoL0Hd aD5wsCRm5E7UyqACpD2TPCM9toFI2FqX0u++bTc3/Hf2eMS7V0h4afCT6CM+FXLFobijAN rFlQyCdF6cKpP//yI36jticlYF+GzQw2iEY/hBRRx+nFvD9B2M2PnzY5fk/mWOwiGOf8u7 L5r8dRqulV2jpHEsOm4dxYx6apgrzA0eDEshV2zldI2ZDH7Gic5kDoBNwV2sr/qStu0aco gyfjp68YASDf/yJmFV4epyYAN0CRthQ5+UdfSmOnp5GfD6ku6P7AKjt+Z9GP3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768227408; 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=2mhdLCYcZoWDiBNDEp7uFgIbGssVa9LsdORu67sQQsc=; b=XFadaw5qQk/KiQMdqzWss127mvQ5jhHHnoXq6ZHpaa3bndX8bS/5wUUusBjvGB+SyhI8vO q9vlSLg1W7DOjoBJSUh+IYFhHsvn9HIlfrqm2KQIhjKT12FMSGvljtMB4fyePDQOjPCDJC IXS8bQT4TAATf9izbE1Ux+oPOUOtZoi8DONtRFhZIkrhKErf4sEsSz08huOKeRlRmeVQ9q g6kgbXnUUiE7fBEbe0S9vxF0FabnSkDpLBXuhoxvQ5QDyrC3nO9P6uTCB/f8UekYYyW0L0 Zc/gLhuwX90f4OARSbf15r3HxfJq9+P35hfVOGyPGH4tTAcoX1x1xwgO3TM+jQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768227408; a=rsa-sha256; cv=none; b=QVij7SllNqbgk7zimA3sRZc8dRJCc4s8hZlZ8DwFzugVkND33qAkGzOY63Zgy8fmjFXnLV pLMHKgtagDWhqAV3PzLO47eUfSBsjadFdbL7v6YHc3iy4yawzaP3Mdkthx8NQdmks8hPou kN6UzIOt3dsqLkLIxW4OzKAn16hdEJLCkyMRLKi9Dqc+4g3nf2mXxhXdj+dObI7QnT+9L7 F/eGJnOdpyJnrmjjWsadoUph79B/tMn/XoIropxVmTqVSg2ADHCi0lBiRukzVNg4v9rjlU +Hh5/S6G4d5hDOXt7f3KkgbJY/RfvB+p/2eQMPszj8eBFonW5HK7JqMOhhYEWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqZFD1zjqzTtn for ; Mon, 12 Jan 2026 14:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c6cd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 14:16:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: f74f891581bc - main - src.opts: Introduce MK_SOUND List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f74f891581bc4df20431607de9b761107f6a0aa7 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 14:16:43 +0000 Message-Id: <6965024b.c6cd.6cdf7962@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=f74f891581bc4df20431607de9b761107f6a0aa7 commit f74f891581bc4df20431607de9b761107f6a0aa7 Author: Christos Margiolis AuthorDate: 2026-01-12 14:16:35 +0000 Commit: Christos Margiolis CommitDate: 2026-01-12 14:16:35 +0000 src.opts: Introduce MK_SOUND PR: 291853 Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: zarychtam_plan-b.pwste.edu.pl, markj Differential Revision: https://reviews.freebsd.org/D54456 --- lib/Makefile | 3 ++- libexec/rc/rc.d/Makefile | 7 ++++--- sbin/devd/Makefile | 12 +++++++----- share/mk/src.opts.mk | 6 ++++++ tools/build/mk/OptionalObsoleteFiles.inc | 13 +++++++++++++ tools/build/options/WITH_SOUND | 1 + usr.bin/Makefile | 2 ++ usr.sbin/Makefile | 4 +++- 8 files changed, 38 insertions(+), 10 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index 216ba1d58473..d06488a33fb9 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -176,7 +176,6 @@ SUBDIR+= clang .endif SUBDIR.${MK_CUSE}+= libcuse -SUBDIR.${MK_CUSE}+= virtual_oss SUBDIR.${MK_TOOLCHAIN}+=libpe SUBDIR.${MK_DIALOG}+= libdpv libfigpar SUBDIR.${MK_FDT}+= libfdt @@ -238,6 +237,8 @@ SUBDIR.${MK_PMC}+= libpmc libpmcstat SUBDIR.${MK_RADIUS_SUPPORT}+= libradius SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil SUBDIR.${MK_TELNET}+= libtelnet +SUBDIR.${MK_SOUND}+= libmixer +SUBDIR.${MK_SOUND}+= virtual_oss SUBDIR.${MK_TESTS_SUPPORT}+= atf SUBDIR.${MK_TESTS_SUPPORT}+= liblutok SUBDIR.${MK_TESTS}+= tests diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 3b7f45e8f101..d0a6d10ad370 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -301,9 +301,10 @@ CONFGROUPS.${MK_VI}+= VI VIPACKAGE= vi VI= virecover -CONFGROUPS.${MK_CUSE}+= VOSS -VOSSPACKAGE= sound -VOSS= virtual_oss +CONFGROUPS.${MK_SOUND}+= SOUND +SOUNDPACKAGE= sound +SOUND= mixer \ + virtual_oss CONFGROUPS.${MK_WIRELESS}+= HOSTAPD HOSTAPDPACKAGE= hostapd diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index 553aecf4ee88..3dab9f7c9a25 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -32,11 +32,6 @@ CONSOLEDIR= ${DEVDDIR} CONSOLE+= moused.conf syscons.conf CONSOLEPACKAGE= console-tools -CONFGROUPS+= SND -SNDDIR= ${DEVDDIR} -SND= snd.conf -SNDPACKAGE= sound - .if ${MK_BLUETOOTH} != "no" CONFGROUPS+= BLUETOOTH BLUETOOTHDIR= ${DEVDDIR} @@ -56,6 +51,13 @@ NVMEDIR= ${DEVDDIR} NVME+= nvmf.conf NVMEPACKAGE= nvme-tools +.if ${MK_SOUND} != "no" +CONFGROUPS+= SND +SNDDIR= ${DEVDDIR} +SND= snd.conf +SNDPACKAGE= sound +.endif + .if ${MK_USB} != "no" DEVD+= uath.conf ulpt.conf .endif diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 68d48271d7bc..99a70bc4239f 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -172,6 +172,7 @@ __DEFAULT_YES_OPTIONS = \ SERVICESDB \ SETUID_LOGIN \ SHAREDOCS \ + SOUND \ SOURCELESS \ SOURCELESS_HOST \ SOURCELESS_UCODE \ @@ -500,6 +501,11 @@ MK_CLANG_FULL:= no MK_LLVM_COV:= no .endif +# CUSE is needed only by virtual_oss, but virtual_oss is part of MK_SOUND. +.if ${MK_CUSE} == "no" +MK_SOUND:= no +.endif + .if ${MK_ASAN} == "yes" # In order to get sensible backtraces from ASAN we have to install # llvm-symbolizer as /usr/bin/addr2line instead of the elftoolchain version. diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index a7ae52650999..4e602c929568 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -7387,6 +7387,19 @@ OLD_DIRS+=var/spool/clientmqueue OLD_FILES+=var/db/services.db .endif +.if ${MK_SOUND} == no +OLD_DIRS+=lib/mixer +OLD_DIRS+=lib/virtual_oss +OLD_DIRS+=usr.bin/beep +OLD_DIRS+=usr.bin/mididump +OLD_DIRS+=usr.sbin/mixer +OLD_DIRS+=usr.sbin/sndctl +OLD_DIRS+=usr.sbin/virtual_oss +OLD_FILES+=libexec/rc/rc.d/mixer +OLD_FILES+=libexec/rc/rc.d/virtual_oss +OLD_FILES+=sbin/devd/snd.conf +.endif + .if ${MK_NUAGEINIT} == no OLD_FILES+=etc/rc.d/nuageinit OLD_FILES+=usr/libexec/nuageinit diff --git a/tools/build/options/WITH_SOUND b/tools/build/options/WITH_SOUND new file mode 100644 index 000000000000..0e2de52511ac --- /dev/null +++ b/tools/build/options/WITH_SOUND @@ -0,0 +1 @@ +Compile with sound utilities and libraries support. diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 5fa9821466da..158d3f1a92c1 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -240,6 +240,8 @@ SUBDIR.${MK_NIS}+= ypwhich SUBDIR.${MK_OPENSSH}+= ssh-copy-id SUBDIR.${MK_QUOTAS}+= quota SUBDIR.${MK_SENDMAIL}+= vacation +SUBDIR.${MK_SOUND}+= beep +SUBDIR.${MK_SOUND}+= mididump SUBDIR.${MK_TALK}+= talk SUBDIR.${MK_TELNET}+= telnet SUBDIR.${MK_TESTS_SUPPORT}+= kyua diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index 0290ed4f1c58..deeeb3cc4251 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -131,7 +131,6 @@ SUBDIR.${MK_BSNMP}+= bsnmpd .if ${MK_CAROOT} != "no" SUBDIR.${MK_OPENSSL}+= certctl .endif -SUBDIR.${MK_CUSE}+= virtual_oss SUBDIR.${MK_CXGBETOOL}+= cxgbetool SUBDIR.${MK_EFI}+= efivar efidp efibootmgr efitable efiwake .if ${MK_OPENSSL} != "no" @@ -200,6 +199,9 @@ SUBDIR.${MK_SENDMAIL}+= mailstats SUBDIR.${MK_SENDMAIL}+= makemap SUBDIR.${MK_SENDMAIL}+= praliases SUBDIR.${MK_SENDMAIL}+= sendmail +SUBDIR.${MK_SOUND}+= mixer +SUBDIR.${MK_SOUND}+= sndctl +SUBDIR.${MK_SOUND}+= virtual_oss SUBDIR.${MK_TCP_WRAPPERS}+= tcpdchk SUBDIR.${MK_TCP_WRAPPERS}+= tcpdmatch SUBDIR.${MK_TOOLCHAIN}+= config From nobody Mon Jan 12 14:39:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqZm024Rbz6NgMp for ; Mon, 12 Jan 2026 14:40: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqZm00DqFz3Z5R for ; Mon, 12 Jan 2026 14:40:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768228800; 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=/dJWwtozYNLDVZrDUaEJSowt9nSYjrgscfBWDxlm3rs=; b=Z+j4/qx5wvX8Xbxl95F3RDmKY9hYlh3HOB7RbmO06JgbTvpAJGICWfhE4s3WHVNxO5OLn/ IqLZCInhmkEOcrnwwXtR6Ol7lP2IHrTWjuqzMW3ZJHmCkXZVFEUiehGqvNxfP0gQAIHdHh e3u/zbwHJH2eL2l94DIzgHGVTcZ1ECOWks18QRQDCL+sfEf+o3yR59GbEEw0abgIS4kOav FwrFIYI9AMGbXzIcB4Ijx0QYGpoXgnmM/phLJHAaFc2XIBeNW22vSdG1ssibydARcNjwLm DYcJX5AlK5Uot4U9SlEAh4f4bsSCzkZ9YDQm7kyW3R3mO3n9P+8oB+XsGUB9Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768228800; 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=/dJWwtozYNLDVZrDUaEJSowt9nSYjrgscfBWDxlm3rs=; b=U89dyGuCkAP9UMsPAt4rNBfmgiJrRb4shKEwlPVI3m782F/DnB6kDx5MJtZInLw2W+dE0W Q/xr2ql9n96MA2F1nxoXC0ESL4rY+C7NubUEJWhnfGPLsUtHwnrbEvstJ6QCzar88LFcVa WRkmL6Vsg3YWO2YOUzjP+LJsgmfbWnNpoHmSh9OiBSfMma306JqPgNuSvk7XNPmki7Htf/ 9CzWsYQfyVs0q2ijbLxw9Y34pQGFyel4zE6ZUFGDhILk33wSNe77itNXWqTsMZCkfg5hkt q54MtMT1lNL3j2b7BBYXKnlivctru1bGoz7Bl1OO260u5ek10QyS2l8uDKU45Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768228800; a=rsa-sha256; cv=none; b=lyDWJNtLvw4NOctnDVw+ISo6GA8EDgalf4Asm+J109qvi8KMTzv4uRCIxaEa1mH2y/5sTQ sS31m/jLDBRDg3rFTUxEsD7+18o1/ku4LD1tZ12dAowFwOHFcWbuq+ku2tcK24Qx4f31dr /A0oZPWTlu4r8pnsEzAxR1kR8EKYur23u2rSJRjQ15WDzok9z6gOmJsgE41nX73Q+PETOX /0oLCGw0FzYvbYi7upH0hMF3Uqbt+K7KgvIRdMHcqoh56WbI1NjgnUQJ2Kl8Ov0tEop2Gj 4QvvsJNtz0FjAHsQrEBd3yztxVmNrzV+xyKOUBvVSeLrSZJ402W9HF+gjyLfsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqZlz5Yv0zW3G for ; Mon, 12 Jan 2026 14:39:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f8f7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 14:39:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 2fb7c416c866 - main - MAINTAINERS/CODEOWNERS: Add ziaee to mandoc + man/ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2fb7c416c866436cc335baf80c1fc0466ffc7d22 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 14:39:59 +0000 Message-Id: <696507bf.f8f7.59dc6627@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=2fb7c416c866436cc335baf80c1fc0466ffc7d22 commit 2fb7c416c866436cc335baf80c1fc0466ffc7d22 Author: Alexander Ziaee AuthorDate: 2026-01-12 14:22:50 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-12 14:34:57 +0000 MAINTAINERS/CODEOWNERS: Add ziaee to mandoc + man/ If you tag me on manual reviews, I will help you. I'm very intersted in helping keep things standard and predictable across the manual. As these files say, this is not intended to imply any desire for blocking. MFC after: 3 days --- .github/CODEOWNERS | 2 ++ MAINTAINERS | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4bd600ad447b..49a625e579e9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -40,6 +40,7 @@ /contrib/llvm-project/libunwind @DimitryAndric @emaste @bsdjhb /contrib/llvm-project/lldb @DimitryAndric @emaste /contrib/llvm-project/openmp @DimitryAndric @emaste +/contrib/mandoc @concussious /contrib/netbsd-tests @ngie-eign /contrib/netbsd-tests/crypto/opencrypto/ @jmgurney /contrib/netbsd-tests/kernel/kqueue/ @jmgurney @@ -65,6 +66,7 @@ /sbin/nvmecontrol @bsdimp /sbin/veriexec/ @stephane-rochoy-stormshield /secure/usr.bin/openssl/ @juikim +/share/man/ @concussious /share/mk @bsdimp @bapt @bdrewery @emaste /stand @bsdimp /stand/lua @kevans91 diff --git a/MAINTAINERS b/MAINTAINERS index fd3d4c40d508..80c4bf5ce900 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -48,6 +48,7 @@ contrib/llvm-project/lldb dim,emaste Pre-commit review preferred. contrib/llvm-project/llvm dim Pre-commit review preferred. contrib/llvm-project/openmp dim,emaste Pre-commit review preferred. contrib/netbsd-tests ngie,#test Pre-commit review requested. +contrib/mandoc ziaee Pre-commit review please contrib/pjdfstest asomers,ngie,pjd,#test Pre-commit review requested. *env(3) secteam Due to the problematic security history of this code, please have patches reviewed by secteam. @@ -93,6 +94,7 @@ sendmail gshapiro Pre-commit review requested. sh(1) jilles Pre-commit review requested. This also applies to kill(1), printf(1) and test(1) which are compiled in as builtins. +share/man ziaee Pre-commit review please share/mk imp, bapt, bdrewery, emaste, sjg Make is hard. share/mk/*.test.mk imp,bapt,bdrewery, Pre-commit review requested. emaste,ngie,sjg,#test From nobody Mon Jan 12 14:40:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqZm06wq1z6NgXN for ; Mon, 12 Jan 2026 14:40: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqZm06570z3Z7v for ; Mon, 12 Jan 2026 14:40:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768228800; 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=bQFV3PAk9JJ6XUI3IZOawUi2FdL5Lt1GppYT/DsjCi0=; b=v5TiRyEO8boaXRwTYbFu6Ulf9WPJR1l7tw+GEf9SQOq3abq2FPNVi6sXQXyet6/Hu95mTa yh0IcoksG6NpE9NMwGRuF1F0kX9f226F3H9Du/bYlZNWVrDlIjeLi09lLzToB8SC3HPcrM eBEpbEPgid5dJotsXLp9V8n0nvAYA2D5Gu7zQcYUn3Bja5GV9XCQY/myOmgXhinOsTBoqB qQmn6m1xNRGOvYQBqWQQsipRB3xCsWFMI4tUSiK1spOW3xFAWgNXHUXkC7el7rfzuuMu/s jjVoxF3ChYcLjDeAWQhGkufLkJxJT5B3brCWSJJQqg4ViJc3nXMP0fC55Oz6GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768228800; 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=bQFV3PAk9JJ6XUI3IZOawUi2FdL5Lt1GppYT/DsjCi0=; b=Q8NfncGzK8Ef68naNd5X47zzxb989c+sc5WpeUJMkkAhzLF/58mtyegDuwbqXrdRmdY5Kx r76cvNP2mLO0DH6KOX3y3eNQSxL9YPGpI43Skci/MYxOS5gJvM0e1pO6dgjZzaqhzmYHdD B/glUD6gAtzfsjLQyQbztWiF+/S+bdty3XdabbjBhdWo5AchRafHEPmceMHfDo7q6Tsncf BTBGDHqE7WgSVu8bFLJ+RyFVjO7S0YXyS7NE2LkGd8Z3iJJiicZg6R2N8EzlLvIomzEQps oAf7miEcYw+Yw1mNOIHdAa/mCp8feobez1L7o4/afdwVFiWTj/foKU59l3XOEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768228800; a=rsa-sha256; cv=none; b=J2oxDYfzgADBwU49bciaUrC+Ljs2cLkyZ+WIdpOnBWFAnAcRXu8vR0CO7X0ve2yl//+VK/ N3egH/kSmlf/dPTuqQEsHZxQK8yWuTrnNmgD6Bwf3Oou/JXuNOpX1/8jOpsszPjKv/wzsI ZwlqDohejtKBx5OHZJM1MWXztHSqKko3ykOl5T7hjmNf4T6zCNDAZzDEjAe4eJx5XRu0I5 vo/Iv0SgwdqipyxYqktQMM1gTtAeNume0LK/6q6/TI1aoNBe8LuMkuPMVAyFeDkCqsd3N9 X9jvFA9hoiwpHktfj2TvFXzqEFREj4JavBZ2sdL2OpPkhIkV6PZG3qHpTM2khQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqZm05N52zW0h for ; Mon, 12 Jan 2026 14:40:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dee0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 14:40:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 7ff1d2be5dc2 - main - MAINTAINERS/CODEOWNERS: Fix intro wrap + gitadm List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ff1d2be5dc2384562bb755f9c0e4c0e37ee1e73 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 14:40:00 +0000 Message-Id: <696507c0.dee0.52a288d6@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7ff1d2be5dc2384562bb755f9c0e4c0e37ee1e73 commit 7ff1d2be5dc2384562bb755f9c0e4c0e37ee1e73 Author: Alexander Ziaee AuthorDate: 2026-01-12 14:30:29 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-12 14:36:18 +0000 MAINTAINERS/CODEOWNERS: Fix intro wrap + gitadm + svnadmin has apparently been superceeded by gitadm@ + fix intro prose wrapping to be consistent at 72 for trad console MFC after: 3 days --- .github/CODEOWNERS | 30 +++++++++++++++--------------- MAINTAINERS | 25 ++++++++++++------------- 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 49a625e579e9..85b5b116f635 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,34 +1,34 @@ # Please note that the content of this file is strictly advisory. -# No locks listed here are valid. The only strict review requirements -# are granted by core. These are documented in head/LOCKS and enforced -# by svnadmin/conf/approvers. +# No locks listed here are valid. The only strict review requirements +# are granted by core. These are documented in head/LOCKS and enforced +# by gitadm@. # -# The source tree is a community effort. However, some folks go to the -# trouble of looking after particular areas of the tree. In return for +# The source tree is a community effort. However, some folks go to the +# trouble of looking after particular areas of the tree. In return for # their active caretaking of the code it is polite to coordinate changes # with them. This is a list of people who have expressed an interest in # part of the code or listed their active caretaking role so that other -# committers can easily find somebody who is familiar with it. The notes +# committers can easily find somebody who is familiar with it. The notes # should specify if there is a 3rd party source tree involved or other # things that should be kept in mind. # -# However, this is not a 'big stick', it is an offer to help and a source -# of guidance. It does not override the communal nature of the tree. -# It is not a registry of 'turf' or private property. +# However, this is not a 'big stick', it is an offer to help and a +# source of guidance. It does not override the communal nature of the +# tree. It is not a registry of 'turf' or private property. # # *** -# This list is prone to becoming stale quickly. The best way to find the recent -# maintainer of a sub-system is to check recent logs for that directory or -# sub-system. +# This list is prone to becoming stale quickly. The best way to find the +# recent maintainer of a sub-system is to check recent logs for that +# directory or sub-system. # *** # # *** # Maintainers are encouraged to visit: # https://reviews.freebsd.org/herald # -# and configure Phabricator notifications for parts of the tree which they -# maintain. Notifications can automatically be sent when someone proposes a -# revision or makes a commit to the specified subtree. +# and configure Phabricator notifications for parts of the tree which +# they maintain. Notifications can automatically be sent when someone +# proposes a revision or makes a commit to the specified subtree. # *** /bin/sh @jillest diff --git a/MAINTAINERS b/MAINTAINERS index 80c4bf5ce900..494a20f39298 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1,26 +1,25 @@ - Please note that the content of this file is strictly advisory. -No locks listed here are valid. The only strict review requirements -are granted by core. These are documented in LOCKS and enforced +No locks listed here are valid. The only strict review requirements +are granted by core. These are documented in LOCKS and enforced by gitadm@. -The source tree is a community effort. However, some folks go to the -trouble of looking after particular areas of the tree. In return for +The source tree is a community effort. However, some folks go to the +trouble of looking after particular areas of the tree. In return for their active caretaking of the code it is polite to coordinate changes -with them. This is a list of people who have expressed an interest in +with them. This is a list of people who have expressed an interest in part of the code or listed their active caretaking role so that other -committers can easily find somebody who is familiar with it. The notes +committers can easily find somebody who is familiar with it. The notes should specify if there is a 3rd party source tree involved or other things that should be kept in mind. However, this is not a 'big stick', it is an offer to help and a source -of guidance. It does not override the communal nature of the tree. +of guidance. It does not override the communal nature of the tree. It is not a registry of 'turf' or private property. *** -This list is prone to becoming stale quickly. The best way to find the recent -maintainer of a sub-system is to check recent logs for that directory or -sub-system. +This list is prone to becoming stale quickly. The best way to find the +recent maintainer of a sub-system is to check recent logs for that +directory or sub-system. *** *** @@ -28,8 +27,8 @@ Maintainers are encouraged to visit: https://reviews.freebsd.org/herald and configure notifications for parts of the tree which they maintain. -Notifications can automatically be sent when someone proposes a revision or -makes a commit to the specified subtree. +Notifications can automatically be sent when someone proposes a revision +or makes a commit to the specified subtree. *** subsystem login notes From nobody Mon Jan 12 15:13:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqbW23R8Sz6NjvL; Mon, 12 Jan 2026 15:13:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqbW22x0tz3fwl; Mon, 12 Jan 2026 15:13:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768230830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MPew+O7zmYOUM+uAoYPeFmRv98ufl6zD96bPwndHrsc=; b=AAdgC9YCFzVkWq1bBOLawVpVQJm3TzUy47txOnSndeVGxl9C5IpxjJYd9ieUeHKF1jY+iq +f6FHBQA7PXHABAaLil0dTJtz+DSXu3nz4DyPzVnPdE+TXW1Q0eCLGJB+uiSJFGLAAmrzI P3sWASjpHY0xp8ZigMEmnbL++0roSHC57Ktj1+/GDeEZMoaG5Mw/Ll/kCR/xDwUi9+FT8D Ke7Fas0OHteq4V4eDa6G07rE1S4tw6PXppUiFrXsWebWda5lbeoMmYke2qFMBIiNIuyZGz /6M6ijLI0TCs2RXukuVieRCBDxu2qR5qnfSH12m4hCQCfHVaBFY3n10uTmoR+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768230830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MPew+O7zmYOUM+uAoYPeFmRv98ufl6zD96bPwndHrsc=; b=fCh4GXipQj18JXT96+KzefUugtqQmjoLiV195piCaVnsI8zxLM48wUwRdrjvtYHWtTCahk C+A7u1x4F++XVz9dRzSirLQPXd7aav5UktdK87vU3JsJ1sBJ7tFoS46V6q6uLE0f8WvyJw y+7zyYEEb6wvHvbMTLnQGtTn2/ugCyQ8I5FMlX7/2IkigaVFQ7lBeb45wbYzBgCrx0FC3e hAqhAQxE3a43yZDVAoNDh/jWeb8kRI0VvOuS55B97dfmb328/40HsgwxXtDlcf4Lq1pA/Q CLmhzoVW1FE3Wasnmwa340iOnl14ttjty3nrG/LWr9spQwlkKUeb+u+4paMdSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768230830; a=rsa-sha256; cv=none; b=xPYJSgbTFi7V/OqHb+B0yNmJ0VNKdTuZxhcVK8TsBL0GA6PTXBO43GYu/ZtWGVjxRLp1jG lNoHO58t6AL1LcBCtqSD/5JKsvsYeNiEE8E4liOJdTGlRfbZpt0BXQS/IjRcrFiMjbVJAx lPBsLsSwmhZ8rn8c1zm6tLYRWwxu/6b/FidfMkjEWCSpvcw+QDPrQ+Itp9Aefus6J14qrQ 5RQ6Wu3u5do55arnKBG9hczS29ZwdrRhbGQfM+FwRaIpZ9PRfq77+TE/z5wpGAr4/vr0fE KHWg+tB0e5qHA04Fc0MLelhm3sYzrTTwoh3bsibNeIsUmcBSff6r+fDvfxOgOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2601:5c0:4202:5670:f45e:7c71:9286:2814] (unknown [IPv6:2601:5c0:4202:5670:f45e:7c71:9286:2814]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dqbW20wVczvf4; Mon, 12 Jan 2026 15:13:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <09095c9e-964e-4bf7-9e7c-6bc05e573f82@FreeBSD.org> Date: Mon, 12 Jan 2026 10:13:49 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 67599eef01f5 - main - sys/x86/NOTES: Add vt_efifb Content-Language: en-US To: Olivier Certner , src-committers@freebsd.org Cc: dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69612e4a.3279b.9f58eba@gitrepo.freebsd.org> <3120393.hHqAuc6tWs@ravel> <6522245.O1aUxXEVJ6@ravel> From: John Baldwin In-Reply-To: <6522245.O1aUxXEVJ6@ravel> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/12/26 07:19, Olivier Certner wrote: >> So, barring objections, I'll put 'vt_efifb' back in amd64/NOTES and remove it from i386/MINIMAL. > > That felt quite uncontroversial, so I've just gone ahead. Feel free to poke me to amend if you don't agree or there's still something to tweak. I think that was fine. I bet it got added to i386 MINIMAL by accident while synching with amd64 MINIMAL. -- John Baldwin From nobody Mon Jan 12 15:33:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqbxb5S7Qz6NktR for ; Mon, 12 Jan 2026 15:33:23 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqbxb2G5Qz3j1H for ; Mon, 12 Jan 2026 15:33:18 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-81ed3e6b8e3so1146516b3a.2 for ; Mon, 12 Jan 2026 07:33:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768231996; x=1768836796; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=w1k42sGLmYw/pzI8Z6kKIDMlOIe+jtdCkEZKIJKwbps=; b=yJFqs92T6WfIfC+Ztnmp9jEvEr/HKMyhhEnb3fvooiiVYLp2G6TNEyQcjIeEhIP+Y8 2nUXkTdepbcUwnLaxJhkEgFvpbg/j8HbO0gB5qDtp6hlFtRuQZqqybeuc8ea9vonFCkx sCeIzfSlW7O1pqFdhgHBdO/K6ZmirU9GfWFHE4EPkyUI94fy+ASM3osJRFY2BBY6yJK/ KnTH46K1BWOtU56S2RKHk/jC9W6+w6BtwVw56GBs10qMkGTvjm6QGNMcqSLG/6NlxM/R Gb/8hz8UuoMf3rVC1RfqsOM2EB6dWNuF0CLR+xD89P1YDTj/Tsd9gzOzhmPnJWutSIB6 dZoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768231996; x=1768836796; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=w1k42sGLmYw/pzI8Z6kKIDMlOIe+jtdCkEZKIJKwbps=; b=fH+z3w+Vwn4CrHz7+/j7tW5Y2LgsXP5eRI+d5nSvu6bn5dVRqTDEujKOI7VEdiPKSe Nsf+8ZJCTGWtKwQ2tjHBMrlpVOdqujcl90gbKFCVfKOMqpFx4U5bpng3OJc4ZC7+nmiw ns4lb2fQammnvKWkklVgihkzwQBuk2j4z71sE97KVoAy/9VJSwo12c8Uy1SErqftOdJ6 jSb6RXSQD17OMfXKCwGCH42lc1FPj85vWhPQStb8dK/JN0262CO/GjENLZSQXzxNpy6i X1ouh7KBUjmfdS2s6xxJgD2muKWrqIPi67htzl6tqsLRlU83a670+Xo62+Bh7r4x8iL8 Wwrg== X-Forwarded-Encrypted: i=1; AJvYcCW+pPjCIwDBXdZf1NiZWTOzHl1jw5Fw6uH6tFmRgPLN/86drW12MAzLalaG/NiF1H86uuoMOeT8WdJuN6N2WDTs/q+qCg==@freebsd.org X-Gm-Message-State: AOJu0YyNSIL7/j4ti72VoYQkZzJqk3Xnd3paHpxGoKM8XSCDCPBO7F+w 66W2WN44BzA8IGEETLuAV1c/iIhwyfm0PmH5j+qiTkU1R/nmoyqGxX0aX95fkg+0UCdZdER0crs Gvc1xhyJN3yhp2GZK5Sr1WDSh4OTLUg2mbV0EbfSUOpKSf91vfXeE X-Gm-Gg: AY/fxX4VO34mgPJFGdXR7fkYgwYiF5QL0sbiRZsvyZEWYM3Ja038QvL3crCzCnEMHgs CvVdMsWbhIKDJ0NMbUTm9juN10iNgxEwyIpjgW/gyI+C7DLW408ygyvac+ikwi0rypc8ozJquao Ynf9DF76INDgrLv6biFgz9zpVvANREIxrssoUf/aRVJK0DcRRP8qlfLSByi/F/iwhvjGF1efdRz n1dkzoYAuMHT6lQ3ej39nLJfCAC/H3XFQq5tKzMEzqLy6oMkMNhzKzpz2mySbA1A2wmaYCCPVnd HzQ1P+ytbHLYgq5moa1YRFPrtuGcz8thgEYq X-Google-Smtp-Source: AGHT+IE65aacavv8ZrhtHj9ppVjtCnKlsyDPFXs5aivKSxNrU4OFwPo1Ow40IIjSUUfyCXkL9Dd51UVHV2zpo5cEU3I= X-Received: by 2002:a17:90b:57e4:b0:340:25f0:a9b with SMTP id 98e67ed59e1d1-34f68cefbf9mr16411425a91.33.1768231996279; Mon, 12 Jan 2026 07:33:16 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69612e4a.3279b.9f58eba@gitrepo.freebsd.org> <3120393.hHqAuc6tWs@ravel> <6522245.O1aUxXEVJ6@ravel> In-Reply-To: <6522245.O1aUxXEVJ6@ravel> From: Warner Losh Date: Mon, 12 Jan 2026 08:33:04 -0700 X-Gm-Features: AZwV_QjHsbekshpt5qS4oobWh4ES6WlirUBAWwpIwGl5yfFoYybzNmWN4hCH9IE Message-ID: Subject: Re: git: 67599eef01f5 - main - sys/x86/NOTES: Add vt_efifb To: Olivier Certner Cc: src-committers , John Baldwin , "" , "" Content-Type: multipart/alternative; boundary="00000000000004da9d06483298f1" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4dqbxb2G5Qz3j1H --00000000000004da9d06483298f1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jan 12, 2026, 5:19=E2=80=AFAM Olivier Certner wr= ote: > > So, barring objections, I'll put 'vt_efifb' back in amd64/NOTES and > remove it from i386/MINIMAL. > > That felt quite uncontroversial, so I've just gone ahead. Feel free to > poke me to amend if you don't agree or there's still something to tweak. > Yea. It's perfect. I386 doesn't support it. There is support for booting a 64-bit kernel from 32-bit EFI that might be confusing, but doesn't use vt_efifb on i386. Warner --=20 > Olivier Certner --00000000000004da9d06483298f1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Mon, Jan 12, 2026, 5:19=E2=80= =AFAM Olivier Certner <olce@freebsd.= org> wrote:
> So, barring= objections, I'll put 'vt_efifb' back in amd64/NOTES and remove= it from i386/MINIMAL.

That felt quite uncontroversial, so I've just gone ahead.=C2=A0 Feel fr= ee to poke me to amend if you don't agree or there's still somethin= g to tweak.

Yea. It's perfect. I386 doesn't support it. There is sup= port for booting a 64-bit kernel from 32-bit EFI that might be confusing, b= ut doesn't use vt_efifb on i386.

Warner

--
Olivier Certner
--00000000000004da9d06483298f1-- From nobody Mon Jan 12 15:34:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzH2pp6z6Nl2x for ; Mon, 12 Jan 2026 15:34: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqbzG6Fqqz3jhH for ; Mon, 12 Jan 2026 15:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232090; 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=ksXEnK77oC1tF+GtY7ymw5x2IVO6IzT6RrMEO0+lOa8=; b=DsxCMLTQ93Ot9H9pKcIvnfyEKrnZpMrE/kES54hwGBrWyiKIe/CEo9YkoodEAtPlvqLkKY 5ZNVZ5AieBAwl1LvBg37BfgxcNgLc332QpIV/XhrBafmbs7dg9FFqLtwmCQIWtDfN7wf5y quvo2yiRA4EV10UL/nBQhv8SeD3StaSarw5e+8c9Z3tR4vamYcZOlJndH+pZQ38nZYHAZb sHH6P6yGrT/t1y4r/xCHJSqUL98wUokG2A6CsVfwRRvtq/kAtk53VS+aP7wWUX6HNOVlEo BzdZVcLAaRabLGoEcKyswECgdYfKT6iVBKi1wtAoI6fS/tWm+uqmfOLix/lDog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232090; 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=ksXEnK77oC1tF+GtY7ymw5x2IVO6IzT6RrMEO0+lOa8=; b=MG/Kc71GsiKYJW5xt+zbFgnKk78zINvouUgHO+mZrkUg3tD4RpGDWf5jsINrsDKfFczVeQ JqcIQ56YOncbcepP6mv7sfsLMTDKS2TN5jQkkxC08B27hBHe9MWKWEwmZnniA29wOs2KgR Z+p3DRn3Mi2z8337yuGcHZL0HC2GD5N94s83qz+LAGMuQ44KSLZ9KIELFgMb9FSv61Rwg+ HlyLfR5ugY1cCxxeju0HJSpw9nMpC4lGPbz2N3KISCieheU2O/SvIMizfGbEoId8kg0eMz W0whpileIfq7aGYgIdIzgd1b2dvRleNXGGkNCVPudmEW93MI+q1T0HHZlCPqIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768232090; a=rsa-sha256; cv=none; b=q0OmPfHW8086DxrzlSxRh4+1vzdLKaIr02k96KoBHx9YnP70ZDajhFNcjVjaQu0fkCxlvs wKyArKBCYOYiBTEj2troyZa4DZJTZJUJfz7uEyR8a3c6g7jKWXFb8ESSnYOGWbnSFp80DV PxV/U3N9+qsdvI4BebQKiRts5mgf/beu572CboXcwtkElKuRDDAykDK9brBQFiia/jnERE ACj6tBwVMqxOObCzSWsa3SGMX9gD7D2uVIM0iBQqpdzPTMkSgzVTMAkYP47PJeCnTIOs/t XtK9N1EPfkX5oCA1K+1hrOs7X21LokJbbEVNPqj/iNnhrHd2heXJNJXqBt4CEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzG5qZ8zYjs for ; Mon, 12 Jan 2026 15:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2521c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 15:34:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: fb08f80eaf90 - main - in6: Add a helper function to compute expiry times List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb08f80eaf90eb7ace202d8604634fc181be8980 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 15:34:50 +0000 Message-Id: <6965149a.2521c.4675629e@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fb08f80eaf90eb7ace202d8604634fc181be8980 commit fb08f80eaf90eb7ace202d8604634fc181be8980 Author: Mark Johnston AuthorDate: 2026-01-12 13:49:34 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 15:34:43 +0000 in6: Add a helper function to compute expiry times Tidy up a bunch of places that have the same duplicated logic. Simplify callers of in6_init_prefix_ltimes(). No functional change intended. Reviewed by: pouria, zlei, tuexen, glebius MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54561 --- sys/netinet6/in6.c | 23 +++++++++++++---------- sys/netinet6/in6.h | 2 ++ sys/netinet6/nd6_rtr.c | 38 +++++++------------------------------- 3 files changed, 22 insertions(+), 41 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index a953bb5546d6..bdf19c876519 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1029,6 +1029,15 @@ in6_alloc_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, int flags) return (ia); } +time_t +in6_expire_time(uint32_t ltime) +{ + if (ltime == ND6_INFINITE_LIFETIME) + return (0); + else + return (time_uptime + ltime); +} + /* * Update/configure interface address parameters: * @@ -1051,16 +1060,10 @@ in6_update_ifa_internal(struct ifnet *ifp, struct in6_aliasreq *ifra, * these members for applications. */ ia->ia6_lifetime = ifra->ifra_lifetime; - if (ia->ia6_lifetime.ia6t_vltime != ND6_INFINITE_LIFETIME) { - ia->ia6_lifetime.ia6t_expire = - time_uptime + ia->ia6_lifetime.ia6t_vltime; - } else - ia->ia6_lifetime.ia6t_expire = 0; - if (ia->ia6_lifetime.ia6t_pltime != ND6_INFINITE_LIFETIME) { - ia->ia6_lifetime.ia6t_preferred = - time_uptime + ia->ia6_lifetime.ia6t_pltime; - } else - ia->ia6_lifetime.ia6t_preferred = 0; + ia->ia6_lifetime.ia6t_expire = + in6_expire_time(ifra->ifra_lifetime.ia6t_vltime); + ia->ia6_lifetime.ia6t_preferred = + in6_expire_time(ifra->ifra_lifetime.ia6t_pltime); /* * backward compatibility - if IN6_IFF_DEPRECATED is set from the diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h index a7fe03b9c3d7..f250d7e49982 100644 --- a/sys/netinet6/in6.h +++ b/sys/netinet6/in6.h @@ -671,6 +671,8 @@ int in6_cksum_partial_l2(struct mbuf *m, uint8_t nxt, uint32_t off_l3, uint32_t off_l4, uint32_t len, uint32_t cov); int in6_cksum_pseudo(struct ip6_hdr *, uint32_t, uint8_t, uint16_t); +time_t in6_expire_time(uint32_t); + int in6_localaddr(struct in6_addr *); int in6_localip(struct in6_addr *); bool in6_localip_fib(struct in6_addr *, uint16_t); diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index 7bbba30a3a21..821d6b27bc43 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -1146,39 +1146,18 @@ restart: return (n); } -static int +static void in6_init_prefix_ltimes(struct nd_prefix *ndpr) { - if (ndpr->ndpr_pltime == ND6_INFINITE_LIFETIME) - ndpr->ndpr_preferred = 0; - else - ndpr->ndpr_preferred = time_uptime + ndpr->ndpr_pltime; - if (ndpr->ndpr_vltime == ND6_INFINITE_LIFETIME) - ndpr->ndpr_expire = 0; - else - ndpr->ndpr_expire = time_uptime + ndpr->ndpr_vltime; - - return 0; + ndpr->ndpr_preferred = in6_expire_time(ndpr->ndpr_pltime); + ndpr->ndpr_expire = in6_expire_time(ndpr->ndpr_vltime); } static void in6_init_address_ltimes(struct nd_prefix *new, struct in6_addrlifetime *lt6) { - /* init ia6t_expire */ - if (lt6->ia6t_vltime == ND6_INFINITE_LIFETIME) - lt6->ia6t_expire = 0; - else { - lt6->ia6t_expire = time_uptime; - lt6->ia6t_expire += lt6->ia6t_vltime; - } - - /* init ia6t_preferred */ - if (lt6->ia6t_pltime == ND6_INFINITE_LIFETIME) - lt6->ia6t_preferred = 0; - else { - lt6->ia6t_preferred = time_uptime; - lt6->ia6t_preferred += lt6->ia6t_pltime; - } + lt6->ia6t_preferred = in6_expire_time(lt6->ia6t_pltime); + lt6->ia6t_expire = in6_expire_time(lt6->ia6t_vltime); } static struct in6_ifaddr * @@ -1394,11 +1373,8 @@ nd6_prelist_add(struct nd_prefixctl *pr, struct nd_defrouter *dr, new->ndpr_vltime = pr->ndpr_vltime; new->ndpr_pltime = pr->ndpr_pltime; new->ndpr_flags = pr->ndpr_flags; - if ((error = in6_init_prefix_ltimes(new)) != 0) { - free(new, M_IP6NDP); - return (error); - } new->ndpr_lastupdate = time_uptime; + in6_init_prefix_ltimes(new); /* initialization */ LIST_INIT(&new->ndpr_advrtrs); @@ -1542,7 +1518,7 @@ prelist_update(struct nd_prefixctl *new, struct nd_defrouter *dr, if (new->ndpr_raf_onlink) { pr->ndpr_vltime = new->ndpr_vltime; pr->ndpr_pltime = new->ndpr_pltime; - (void)in6_init_prefix_ltimes(pr); /* XXX error case? */ + in6_init_prefix_ltimes(pr); pr->ndpr_lastupdate = time_uptime; } From nobody Mon Jan 12 15:34:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzJ1pL8z6Nkx3 for ; Mon, 12 Jan 2026 15:34: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqbzJ0CYYz3j1F for ; Mon, 12 Jan 2026 15:34:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232092; 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=NpHnPZ6j2bQBYtnweRoOuPIrv1Z2D4TH4yR0xag3OUE=; b=v6TMLcmUbexdzmrKYNYKqiBNY1FQEbh4+hsTeVphgbRGOEnkoiV7pUfs3+L+svSad/nsQA KKQxJunAYube9qnWw9BjyjwjACEIpNriv7ArqaQ1FWGFJ+JVyafffunAUXgxlcSyfxsndP W8KdOpQSRrXDVOB+tzeAUX1fYKBuaBJ4/QIGzqIaCBfTwsMOimzzIbMIk6L7VFCMhMQI7U QQ40/xuWc9zhvFgHRNi8r7+DqmAbqpXLhGt+dRIB2k/qValSKtKdXkWOjVhzYqngA3d32G 2u+fWqe1g3GfGc7JQRSNCc1oFzNIV2PTWKJZIvZGeanB6oZzwSMZRxxRgZWErg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232092; 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=NpHnPZ6j2bQBYtnweRoOuPIrv1Z2D4TH4yR0xag3OUE=; b=dj6m1QmXO7VflDiBLV4cNK9AsoGlTMJG7J2LiNyQZfx6K6cUlccliI5Xoi/6PG7aW/IMpC 0JB4ya7GamPX2wQ/5euGisNwI1G3B7eT6ynIZFHpfVygq+s9kDulOPCwqJYV3hlW3EG9Q5 2jIQLPGszMPm4LSahw4HRo16IXh9C1ZLQqo5Aq/hSP2JutLTw1m/vMk9hk+Hgwl1FhPduy QubCmTCTcAvSMJRkzw0XnZW76EU2vqWFbGsCwAYlTvuH72eW9TM251+rR6Vc8BFhr76N/C z7KDlzDU9vR/P/V1u3x5OWt1kgcFoGyDa+tCaVPHbVXEsUwNcjum2zhLX7U1Rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768232092; a=rsa-sha256; cv=none; b=DFgmDyiKJeZ7Gbw3N1AZ7f3Rx/1SUTtZWrgKYAHXPMJoXB+cmOXuUX3cIWL8kFQ2L2qFjS Hw73ZMfnWquMSMWMHdnP4vaQCROOnQqBbzuLdns0jT6Cm985Udw8ddvvh97SybUVK287qP JdhfPwmGZhh2x+RqMYL1szPBxSRJmPKwC2X7zjwg5nNXLxADetYVcZ81A1BmzEiBOl+6h+ 3jF23x22kOU+FGdZTR9ZDKSpBgqwK1fUK9EnUZZDQdoN9pvKitza9iLwGODVQSVDZ65oKK AKiNshaA9+AkEBOEt+I1NpDedUSKVUr1izZZQ+HIFbecfdERANj0Ir2Tlglgaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzH6fcFzYjR for ; Mon, 12 Jan 2026 15:34:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 260a1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 15:34:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 74999aac5eff - main - in6: Modify address prefix lifetimes when updating address lifetimes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 74999aac5effb9b32d12f413ef51e87b15c8a0d8 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 15:34:51 +0000 Message-Id: <6965149b.260a1.5e50358b@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=74999aac5effb9b32d12f413ef51e87b15c8a0d8 commit 74999aac5effb9b32d12f413ef51e87b15c8a0d8 Author: Mark Johnston AuthorDate: 2026-01-12 13:49:54 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 15:34:43 +0000 in6: Modify address prefix lifetimes when updating address lifetimes When one uses SIOCAIFADDR_IN6 to add a v6 address, it's possible to set the preferred and valid lifetimes of the address. If the address already exists, this ioctl will recalculate and update the expiry times based on the provided timestamps. When adding a new address, the lifetimes are inherited by the prefix as well, but only if we create a new prefix. If the prefix already exists, as it will in the case where an address is being updated rather than being added, we do not touch the prefix lifetimes at all. This means that the original address lifetime still applies to the route associated with that prefix, so when the prefix expires, the route goes away. This behaviour doesn't make a lot of sense: if the admin updates an address lifetime, we should ensure that the prefix lifetime is updated too. Make that change, ensuring that we do not shorten the prefix lifetime, as the prefix might be shared among multiple interface addresses. Add a regression test. Co-authored by: Franco Fichtner Reviewed by: pouria, zlei, ae MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54562 --- sys/netinet6/in6.c | 22 ++++++++++++++ tests/sys/netinet6/ndp.sh | 76 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index bdf19c876519..e8b76bdd579b 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1330,6 +1330,28 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i (*carp_detach_p)(&ia->ia_ifa, false); goto out; } + } else if (pr->ndpr_raf_onlink) { + time_t expiry; + + /* + * If the prefix already exists, update lifetimes, but avoid + * shortening them. + */ + ND6_WLOCK(); + expiry = in6_expire_time(pr0.ndpr_pltime); + if (pr->ndpr_preferred != 0 && + (pr->ndpr_preferred < expiry || expiry == 0)) { + pr->ndpr_pltime = pr0.ndpr_pltime; + pr->ndpr_preferred = expiry; + } + expiry = in6_expire_time(pr0.ndpr_vltime); + if (pr->ndpr_expire != 0 && + (pr->ndpr_expire < expiry || expiry == 0)) { + pr->ndpr_vltime = pr0.ndpr_vltime; + pr->ndpr_expire = expiry; + } + pr->ndpr_lastupdate = time_uptime; + ND6_WUNLOCK(); } /* relate the address to the prefix */ diff --git a/tests/sys/netinet6/ndp.sh b/tests/sys/netinet6/ndp.sh index 3464ac59c898..8a16316740be 100755 --- a/tests/sys/netinet6/ndp.sh +++ b/tests/sys/netinet6/ndp.sh @@ -287,6 +287,81 @@ ndp_prefix_lifetime_cleanup() { vnet_cleanup } +atf_test_case "ndp_prefix_lifetime_extend" +ndp_prefix_lifetime_extend_head() { + atf_set descr 'Test prefix lifetime updates via ifconfig' + atf_set require.user root + atf_set require.progs jq +} + +get_prefix_attr() { + local prefix=$1 + local attr=$2 + + ndp -p --libxo json | \ + jq -r '.ndp.["prefix-list"][] | + select(.prefix == "'${prefix}'") | .["'${attr}'"]' +} + +# Given a prefix, return its expiry time in seconds. +prefix_expiry() { + get_prefix_attr $1 "expires_sec" +} + +# Given a prefix, return its valid and preferred lifetimes. +prefix_lifetimes() { + local p v + + v=$(get_prefix_attr $1 "valid-lifetime") + p=$(get_prefix_attr $1 "preferred-lifetime") + echo $v $p +} + +ndp_prefix_lifetime_extend_body() { + local epair ex1 ex2 ex3 prefix pltime vltime + + atf_check -o save:epair ifconfig epair create + epair=$(cat epair) + atf_check ifconfig ${epair} up + + prefix="2001:db8:ffff:1000::" + + atf_check ifconfig ${epair} inet6 ${prefix}1/64 pltime 5 vltime 10 + t=$(prefix_lifetimes ${prefix}/64) + if [ "${t}" != "10 5" ]; then + atf_fail "Unexpected lifetimes: ${t}" + fi + ex1=$(prefix_expiry ${prefix}/64) + if [ "${ex1}" -gt 10 ]; then + atf_fail "Unexpected expiry time: ${ex1}" + fi + + # Double the address lifetime and verify that the prefix is + # updated. + atf_check ifconfig ${epair} inet6 ${prefix}1/64 pltime 10 vltime 20 + t=$(prefix_lifetimes ${prefix}/64) + if [ "${t}" != "20 10" ]; then + atf_fail "Unexpected lifetimes: ${t}" + fi + ex2=$(prefix_expiry ${prefix}/64) + if [ "${ex2}" -le "${ex1}" ]; then + atf_fail "Expiry time was not extended: ${ex1} <= ${ex2}" + fi + + # Add a second address from the same prefix with a shorter + # lifetime, and make sure that the prefix lifetime is not + # shortened. + atf_check ifconfig ${epair} inet6 ${prefix}2/64 pltime 5 vltime 10 + t=$(prefix_lifetimes ${prefix}/64) + if [ "${t}" != "20 10" ]; then + atf_fail "Unexpected lifetimes: ${t}" + fi + ex3=$(prefix_expiry ${prefix}/64) + if [ "${ex3}" -lt "${ex2}" ]; then + atf_fail "Expiry time was shortened: ${ex2} <= ${ex3}" + fi +} + atf_init_test_cases() { atf_add_test_case "ndp_add_gu_success" @@ -294,4 +369,5 @@ atf_init_test_cases() atf_add_test_case "ndp_slaac_default_route" atf_add_test_case "ndp_prefix_len_mismatch" atf_add_test_case "ndp_prefix_lifetime" + atf_add_test_case "ndp_prefix_lifetime_extend" } From nobody Mon Jan 12 15:34:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzK3G0Fz6Nl0f for ; Mon, 12 Jan 2026 15:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqbzK11Lpz3jVn for ; Mon, 12 Jan 2026 15:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232093; 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=ZdpGNLW5bifzDcJ+qWAMI4D0WNscPTzlVKydeBWRSgI=; b=J2D2Y5l54KoMMRV1wBuIwxdy66DCgQ4nS0JuLXx9N3GlVkjV5RLp+2UHsu6Uix25HP8iht brK7W3Ol4fbI8tTbulXqG2DVAKjnJX/F/LDSFyKVznehe6aPZJ4c1KMrFd71/392ikGyOy k7ePjlpy26xunl1ht5V2ao60kijd1T9fX5ooMMIAsuLUytt01hbqIDHKs/4/2YExsMMGIS BmK+2tLI6jF8iuGZ7M9Jkob0VhYgB1b7TIUxLZ5BMdalWgrtjgEtj3tdORx4JghuEz4/n3 Hz8vsHmHHErL1lcIZJOu5xsV+AYqSOvRFQ/DbSrJeOdrfiz+FHnpiJA+T5YI6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232093; 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=ZdpGNLW5bifzDcJ+qWAMI4D0WNscPTzlVKydeBWRSgI=; b=mEVraa866AidVQHBvh5mn7pLpsqZckvu6f/zsy7nzuUdziyeODrCWgS12MGDT03d6eWtBr gHVmo5+L0058iNpceehE/wymrYNFd0HNQpJAwW82n3EF/dyAgBfZA93LFwUMUL6BadGa2E 9SAp/PvwRVhfUyiWlSESCKdeA9blH0l06ct5PD5UfScnJTbwEqtWEJh2KvBKfXrlq4UZDt cETgYVn1UkQpTf4dtsXEgQdDxKitLc8KbGRCaIFay38QbKHN9yWUnXx37kGoWllFsZ8qNA 7/a8yd88ZyE11ThtCQS5VLVtSyIZz/MSYmE73d2M7GRXpwtQ6SBt2rBO43XLOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768232093; a=rsa-sha256; cv=none; b=SmA9oA5wGPEweNQKwMCvua6Czh0YfPh/2Rbe8NWn6ZMAsiXwWu0c4sesXJnBO981a4VnRY ZKiLgQkXsL3RjqyTm4obdX98immG6Mx5iMDypjbwQxo0dqsUF7wKdae+cDxt1lmFuFohXG gWJEJZKWimHFgPH/uoslJgDqYWJ8c5ZfwhAnIvxMVLcP981YuKoiUVc/vLB+fFFcLjSYNR UJjn1RzZpwRlzoZXquzSJhPaXx8Rr3JccM03wHKYV1ERLQohnin1ZwqMrufLNDfmNHEmj3 QyIS3sElsMBKMPGMhGNob0ucWPbCv/RU7h63gAAF8BP6khDk+/yzisQkZtLsug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzK0N7VzYpd for ; Mon, 12 Jan 2026 15:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 260a5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 15:34:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 045112f148fa - main - grep/tests: Fix up the zgrep executable path in a newly added test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 045112f148fa092c92ec53204708f638b226ff8f Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 15:34:53 +0000 Message-Id: <6965149d.260a5.149efc9f@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=045112f148fa092c92ec53204708f638b226ff8f commit 045112f148fa092c92ec53204708f638b226ff8f Author: Mark Johnston AuthorDate: 2026-01-12 13:56:56 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 15:34:43 +0000 grep/tests: Fix up the zgrep executable path in a newly added test Fixes: da5d94d29a5e ("Remove obsolete BUGS section from zgrep(1) man page, add test") --- usr.bin/grep/tests/grep_freebsd_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/grep/tests/grep_freebsd_test.sh b/usr.bin/grep/tests/grep_freebsd_test.sh index ae9a9c1274f3..338fc7a3ee1f 100755 --- a/usr.bin/grep/tests/grep_freebsd_test.sh +++ b/usr.bin/grep/tests/grep_freebsd_test.sh @@ -133,7 +133,7 @@ eflags_body() printf "aaa bbb ccc\n111 222 333\ndon't match this line" > in atf_check -o 'inline:aaa bbb ccc\n111 222 333\n' \ - /tmp/zgrep.sh -eaaa -e333 in + zgrep -eaaa -e333 in } atf_init_test_cases() From nobody Mon Jan 12 15:34:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzL3wJlz6Nkx5 for ; Mon, 12 Jan 2026 15:34: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqbzL1dcyz3jcC for ; Mon, 12 Jan 2026 15:34:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232094; 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=DP9O19xDbm02zlpk1DRWgyOEtiQa1ALTjbmMUzSY8uM=; b=rLWltU9IitrOnAfiq3KLKAglTDldEnUmbhoUOpog75T5XgTRhFPnrBw7LdRuUEqGn+ODkI pX8K2zhQgLBp4Q3XQld/Oi54rksm0Z75n/rJO85w3kzTGy8EhNE35qm6fE0zAEAY8OANOA hIV4OglealFG51BDqCitviBv0kxG72u8fcaplbqr6sUvhRUKKQ+7C4m7HPt8a0mtsjOSwK mhCmZNZTS+6ojMdg7b2yYUgB5lZh/r2TW6yNg43rqgQFFY8OVzG7Io8R2/ABOaAnphtmtE PeKkiXGHy5PsGe5pJgfM4coDR4OTc+X1kkaDVK4oJLupCdj5umu731aDOLLurg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232094; 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=DP9O19xDbm02zlpk1DRWgyOEtiQa1ALTjbmMUzSY8uM=; b=Wy/tJAD0EPEwcQr1kV3hsvEoD5SZtu42PYiM6YiqrWso+/2+U6eLQAjAD/twTtGRwOXcr+ P05WPZvsC7WAVD0fATTZLzGRN6/P85IfFE/9l9vdc2NtuxXHI4p/TZQZbTcc/dpgVvDH09 8UTmWS56ZZAmdZbeldvs796cJ1orrcuRbTTGmHoJIMyslqYqjAv+uSaMVg5pl2X+5P8BFm UbLU4NtAEFGlt2gt6uD5g16/rhdYvdAcuMQe+HveR3ZziBQ/EI7XpbQ9xI+zl85UL4/Ihm RgWEoKNc2rNXTcWTmBKgGCMS2hkizcBAI2SIclu1i35O3p77z68Y0gEL4lWyVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768232094; a=rsa-sha256; cv=none; b=AHZWmkXrmVNH3dDf7DZaQc/Lex+0nn3kbssCr7waz3aC9QG5bWXZKZugrDsPWPpiVOS7Dm LbKqwXR8OT/JooNZx0s/sR44KCpIDM+iLsX5TVUow+Y0hpAxSgKxqnyCIcO/ooQapywwHA bkWhtxl8qFKmiGRaHs98i7X2UJWYavM/OlVqq0yq1qdbWXFxpKGlzVqbi7zVAlAtb/3YzB E9B6JYHXpo2Ld2hh5oxcRPlYhvTiKyRMKoncT61nes8rLlUXLraR8VHBUGsFG8oJUkayTS 4Asnm/5T0wktM1zg+VG3BZuFF+1zoMdnjk/zwYlleOoQqcisTA7eO5coDVI4Ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqbzL19VpzY7f for ; Mon, 12 Jan 2026 15:34:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25a2e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 15:34:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 32ec9d87ce9e - main - bpf/tests: Run tests in an execenv jail List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32ec9d87ce9e6328408036af921369b7bf30f00c Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 15:34:54 +0000 Message-Id: <6965149e.25a2e.449e30f3@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=32ec9d87ce9e6328408036af921369b7bf30f00c commit 32ec9d87ce9e6328408036af921369b7bf30f00c Author: Mark Johnston AuthorDate: 2026-01-12 15:27:26 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 15:34:43 +0000 bpf/tests: Run tests in an execenv jail Otherwise the tests cannot be run in parallel since they create identically named jails. Fixes: dd49816b0d66 ("bpf: avoid panic on multiple readers") --- tests/sys/net/bpf/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/sys/net/bpf/Makefile b/tests/sys/net/bpf/Makefile index 641d1aaef676..cee27b550434 100644 --- a/tests/sys/net/bpf/Makefile +++ b/tests/sys/net/bpf/Makefile @@ -14,4 +14,7 @@ LIBADD.pcap-test+= pcap ATF_TESTS_SH= bpf +TEST_METADATA.bpf+= execenv="jail" \ + execenv_jail_params="vnet allow.raw_sockets" + .include From nobody Mon Jan 12 15:48:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqcHN5YYyz6NlkP; Mon, 12 Jan 2026 15:48:48 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqcHN4rBHz3ltp; Mon, 12 Jan 2026 15:48:48 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wiPXn8suN1hGI9rXZ/rHClnZEWJsujz07fXgHwV8atY=; b=uzTxJQ5Eey7buNlRaO2+2uOiSRlouSPIb/CZSyOLA5YZr9+fiYI0uQ4zmAL4r0ay0bWyq/ qm83iZjBDMB0mVWxjUlvll/l+fF4Wpb1qbrsc1UXHOEvBJACtO+PHVdUTZ7CJsxH/fHCcB 3/oz/gAtswEgvd2YXEU6aNzLFdIPoHBcfgaaRCftxT7oYITb2Ylj0E7tSzNGfiIDzcjwzJ 8QKRV0T+W4O8/gEW3wfVeLwiJck4aJL+7WnlOPI+ukzmplpz5tjq58HEBsMjyBbXvSk77i ftYbB8LHFpskLCj7dRK3EQwqPpeeDQr0ToXgJbEPCjjy/ojfdS0xX/k+yzxU8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768232928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wiPXn8suN1hGI9rXZ/rHClnZEWJsujz07fXgHwV8atY=; b=ntVdH0fBl1fBWZrVSzepDvNlDfSsAkFcygJ4lj8EWLvW+m1PKZlQmxFGBhSWJ2HPPgtY4z YP+AX15w8E7kwrWOj+KuQ2mbv04GAs4ThAgxXnUNMDsFBbLCJmhFrIN+u5wqCYfZIaMibY u41aCWfPA4OvOh+xoJ7tDcT9GMOw72LJj7iZBwJQC0G1m9YrJdVGhBT8SMXpGUO6hJFyQQ Cpp9vCm9LCSrJEA/LA2jLK3iAQyL57wM8j5vYYw8rItxX5abpiLk4ZwzZMBYxEQ8sgG07u J0aODVfJgGRUgSj3mxHwihIvl4DWoMiqq8QecEEZy9r02VcKJnSgl2MXhX7vsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768232928; a=rsa-sha256; cv=none; b=TRm9jVjoarLLSksTzq9U1fYsu4iEWuU4/zg5xeUPkAlJwX6gqGnb2J0MBg5VSAoJvdUvQH SFm/0wDMNCz/fVre1eda4rbeT1T558q36AClolb0/egbNDc3qfQ/jPWyFc+qddeMyjNaa7 e5YS5GrsYlmBwR61yeraznHjiLlguzDWpepsLcM7UYRYf3AoGkfQzCearm1G9RXCKVEm+e 88iDIEvzAxUUc1IGNFDl2j6YgXswZQzT9UpRzBl6CecbdObkvf/O1hiFVv/HdgFMaYug8N MXw+7hitqrZXD/7fnJwhZwZcBwf4ORPw9gJtkvSvA51SS6lDXLBoUQoAt2lEfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (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 (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R13" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dqcHN2x0MzwLC; Mon, 12 Jan 2026 15:48:48 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id E353311310; Mon, 12 Jan 2026 16:48:45 +0100 (CET) From: Kristof Provost To: Christos Margiolis Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: f74f891581bc - main - src.opts: Introduce MK_SOUND Date: Mon, 12 Jan 2026 16:48:45 +0100 X-Mailer: MailMate (2.0r6272) Message-ID: In-Reply-To: <6965024b.c6cd.6cdf7962@gitrepo.freebsd.org> References: <6965024b.c6cd.6cdf7962@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_E87178BF-65D3-461E-8EA9-8A7EE2DB037F_=" --=_MailMate_E87178BF-65D3-461E-8EA9-8A7EE2DB037F_= Content-Type: text/plain; charset=UTF-8; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable On 12 Jan 2026, at 15:16, Christos Margiolis wrote: > The branch main has been updated by christos: > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3Df74f891581bc4df20431607de9b76= 1107f6a0aa7 > > commit f74f891581bc4df20431607de9b761107f6a0aa7 > Author: Christos Margiolis > AuthorDate: 2026-01-12 14:16:35 +0000 > Commit: Christos Margiolis > CommitDate: 2026-01-12 14:16:35 +0000 > > src.opts: Introduce MK_SOUND > > PR: 291853 > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Reviewed by: zarychtam_plan-b.pwste.edu.pl, markj > Differential Revision: https://reviews.freebsd.org/D54456 > --- This seems to fail to build for me: =E2=80=A6 install -U -o root -g wheel -m 444 libmd.so.7.debug = /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/debug/lib/libmd.so.7.debug make[4]: Graph cycles through `realinstall_subdir_lib/libmixer' `afterinstall' was not built (deferred, type = OP_DEPENDS|OP_DEPS_FOUND|OP_MARK, flags REMAKE|DONE_WAIT|DONECYCLE)! `afterinstall' has .ORDER dependency on realinstall (deferred, type = OP_DEPENDS|OP_PHONY|OP_DEPS_FOUND|OP_MARK, flags = REMAKE|CHILDMADE|FORCE|DONE_WAIT|DONE_ORDER|CYCLE|DONECYCLE) make[3]: stopped making "_generic_libs" in /usr/src make[2]: stopped making "libraries" in /usr/src 162.69 real 1395.37 user 632.74 sys make[1]: stopped making "buildworld" in /usr/src make: stopped making "buildworld buildkernel" in /usr/src This is enough to avoid the problem, but clearly not a fix: diff --git a/lib/Makefile b/lib/Makefile index d06488a33fb9..bf8f2c386f64 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -73,7 +73,6 @@ SUBDIR=3D ${SUBDIR_BOOTSTRAP} \ liblzma \ libmemstat \ libmd \ - libmixer \ libmt \ lib80211 \ libnetbsd \ Best regards, Kristof --=_MailMate_E87178BF-65D3-461E-8EA9-8A7EE2DB037F_= Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On 12 Jan 2026, at 15:16, Christos Margiolis wrote:

The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/src/co= mmit/?id=3Df74f891581bc4df20431607de9b761107f6a0aa7

commit f74f891581bc4df20431607de9b761107f6a0aa7
Author: Christos Margiolis ch= ristos@FreeBSD.org
AuthorDate: 2026-01-12 14:16:35 +0000
Commit: Christos Margiolis ch= ristos@FreeBSD.org
CommitDate: 2026-01-12 14:16:35 +0000

sr=
c.opts: Introduce MK_SOUND

PR:             291853
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    zarychtam_plan-b.pwste.edu.pl, markj
Differential Revision:  https://reviews.freebsd.org/D54456

This seems to fail to build for me:

=E2=
=80=A6
install -U  -o root -g wheel -m 444  libmd.so.7.debug /usr/obj/usr/src/am=
d64.amd64/tmp/usr/lib/debug/lib/libmd.so.7.debug
make[4]: Graph cycles through `realinstall_subdir_lib/libmixer'
`afterinstall' was not built (deferred, type OP_DEPENDS|OP_DEPS_FOUND|OP_=
MARK, flags REMAKE|DONE_WAIT|DONECYCLE)!
    `afterinstall' has .ORDER dependency on realinstall (deferred, type O=
P_DEPENDS|OP_PHONY|OP_DEPS_FOUND|OP_MARK, flags REMAKE|CHILDMADE|FORCE|DO=
NE_WAIT|DONE_ORDER|CYCLE|DONECYCLE)

make[3]: stopped making "_generic_libs" in /usr/src

make[2]: stopped making "libraries" in /usr/src
      162.69 real      1395.37 user       632.74 sys

make[1]: stopped making "buildworld" in /usr/src

make: stopped making "buildworld buildkernel" in /usr/src

This is enough to avoid the problem, but clearly not a fi= x:

di=
ff --git a/lib/Makefile b/lib/Makefile
index d06488a33fb9..bf8f2c386f64 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -73,7 +73,6 @@ SUBDIR=3D       ${SUBDIR_BOOTSTRAP} \
        liblzma \
        libmemstat \
        libmd \
-       libmixer \
        libmt \
        lib80211 \
        libnetbsd \

Best regards,
Kristof

--=_MailMate_E87178BF-65D3-461E-8EA9-8A7EE2DB037F_=-- From nobody Mon Jan 12 16:02:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqcb31zzJz6NmPs; Mon, 12 Jan 2026 16:02:23 +0000 (UTC) (envelope-from christos@FreeBSD.org) Received: from margiolis.net (mail.margiolis.net [95.179.159.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqcb16Wndz3nRJ; Mon, 12 Jan 2026 16:02:21 +0000 (UTC) (envelope-from christos@FreeBSD.org) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=default; bh=irZt3UUibZtY M3m1e/lidfhnDPq3nNPHEIoPceznNn0=; h=in-reply-to:references:to:from: subject:cc:date; d=margiolis.net; b=for3Us4P3RuAGH2yE/CRG94UTxyyp5smqU nnlWvoHU2K4aeqUxmbDO92fSpNFxlTXU+CQMXuw8f3CSRmX4uBH4FzTENa2odWA0YbJFSg vycdx90F2VXpdaz4rbVER3apaGNcYHDt61N1HgCww11eprMjT52+IfincamFbzOKC08= Received: from localhost (eduroam-gw-campus1.noc.uniwa.gr [195.130.96.193]) by margiolis.net (OpenSMTPD) with ESMTPSA id 7d6e9099 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 12 Jan 2026 09:02:19 -0700 (MST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 12 Jan 2026 18:02:17 +0200 Message-Id: Cc: , , Subject: Re: git: f74f891581bc - main - src.opts: Introduce MK_SOUND From: "Christos Margiolis" To: "Kristof Provost" X-Mailer: aerc 0.21.0 References: <6965024b.c6cd.6cdf7962@gitrepo.freebsd.org> In-Reply-To: X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:20473, ipnet:95.179.144.0/20, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4dqcb16Wndz3nRJ On Mon Jan 12, 2026 at 5:48 PM EET, Kristof Provost wrote: > On 12 Jan 2026, at 15:16, Christos Margiolis wrote: >> The branch main has been updated by christos: >> >> URL:=20 >> https://cgit.FreeBSD.org/src/commit/?id=3Df74f891581bc4df20431607de9b761= 107f6a0aa7 >> >> commit f74f891581bc4df20431607de9b761107f6a0aa7 >> Author: Christos Margiolis >> AuthorDate: 2026-01-12 14:16:35 +0000 >> Commit: Christos Margiolis >> CommitDate: 2026-01-12 14:16:35 +0000 >> >> src.opts: Introduce MK_SOUND >> >> PR: 291853 >> Sponsored by: The FreeBSD Foundation >> MFC after: 1 week >> Reviewed by: zarychtam_plan-b.pwste.edu.pl, markj >> Differential Revision: https://reviews.freebsd.org/D54456 >> --- > > This seems to fail to build for me: > > =E2=80=A6 > install -U -o root -g wheel -m 444 libmd.so.7.debug=20 > /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/debug/lib/libmd.so.7.debug > make[4]: Graph cycles through `realinstall_subdir_lib/libmixer' > `afterinstall' was not built (deferred, type=20 > OP_DEPENDS|OP_DEPS_FOUND|OP_MARK, flags REMAKE|DONE_WAIT|DONECYCLE)! > `afterinstall' has .ORDER dependency on realinstall (deferred, type= =20 > OP_DEPENDS|OP_PHONY|OP_DEPS_FOUND|OP_MARK, flags=20 > REMAKE|CHILDMADE|FORCE|DONE_WAIT|DONE_ORDER|CYCLE|DONECYCLE) > > make[3]: stopped making "_generic_libs" in /usr/src > > make[2]: stopped making "libraries" in /usr/src > 162.69 real 1395.37 user 632.74 sys > > make[1]: stopped making "buildworld" in /usr/src > > make: stopped making "buildworld buildkernel" in /usr/src > > This is enough to avoid the problem, but clearly not a fix: > > diff --git a/lib/Makefile b/lib/Makefile > index d06488a33fb9..bf8f2c386f64 100644 > --- a/lib/Makefile > +++ b/lib/Makefile > @@ -73,7 +73,6 @@ SUBDIR=3D ${SUBDIR_BOOTSTRAP} \ > liblzma \ > libmemstat \ > libmd \ > - libmixer \ > libmt \ > lib80211 \ > libnetbsd \ > > > Best regards, > Kristof Oops... Right now I am AFK so feel free to apply this already if you want. Christos From nobody Mon Jan 12 16:05:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqcfC6ngSz6NmmP for ; Mon, 12 Jan 2026 16:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqcfC6KC2z3pSf for ; Mon, 12 Jan 2026 16:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768233907; 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=CPGPxZQKDD6xRmmHWnRywIG9depJmqn5N88R1FCyPNM=; b=d6bY5xYoP/1ctvuhEwueMfKLHHrimcwCra3smAYo2JAlcK2wVjb6y43wzJY05IAjDpqeo6 hBj1tBe4t6wDBoWi2zhP3Qs8CupJEkk0o8N2P8joyQytBSPXuTaZ39ifBvZVOEBfvHHtnP sCBv+u6LZ+ik2p+7qZOQBYxZwsasumSp6lhtbqD092s+bn52JmMJkt6ZMy2mV8eV+2ROK6 EICqoIKxeNkxC6pwnw9iuGkxkMmMsL8hmOE7cRnFhmomBUqDY1kJBFtrF/JLJ9mJT2V6iG Kd1EUNTYpEUG/GODGsKu3OcJXaCJq/T7UNN7vTm6eEwRO2TiYXXHrTUTCLOGew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768233907; 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=CPGPxZQKDD6xRmmHWnRywIG9depJmqn5N88R1FCyPNM=; b=vKp9JXGk5uvFH81wW9o0i2Pkm9v66mYTC4GpLYv2JbBQSpkTkwVvwD58KwBGu4T+3dln8n jRRlFeQfPlgKQeaiZLfRZGbNmiJHStZayAFoEY74fFldDSz2n3Tpm5993KqiZVKrk8EQlT 9liztW7cZtPbr5SkW/Q/U0+0xsg8tmX4Lvxx8g97+U+3aGh+W3l4mjYle6jgGsKFxTS1hN 0i0Sziu2AdjNdgozzTLaT7ZElopbQQPV/hMB4ukjQ10i8/RwDzSlXaisib5uaoeTfjwatq NqrOjvJGh3JEWkELcRECnElq9C/ZOGO4JHJ4/C86+ZXFjIErGzkXv65ArX28Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768233907; a=rsa-sha256; cv=none; b=GGf+2NMJfu1sYSHLbBHVmC4wfvd6yjZu8B1GEPQ5lcPZqST9vq/xXGiYTTdvIBINfvb6pz 6WsTaAhj4b2uPtgTL73SvCfjxhUy80z67ZbqNQ8z5heWs244xJmIVC5x6fkuAnYvY8M2m5 cHrrtqaUpPHYBdW4H2oN29sG9i1FLV+fb/ulZO3h8PmB+Z/uDtfGoCZpnhPFzknTwGNpRH 1zvQuRppWhwuxRasQ8VYsCuOuAvaFCmQmAS2KuQay8cccblLmX3cnxBQrwcsuxPAP1SAtU AOAm1y2Y1rMTaz2fyxCSaLgeUR4z01zl1Ixs+H8RiV+YhDLLAJrtbB09s38MKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqcfC5pGfzZYc for ; Mon, 12 Jan 2026 16:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30b87 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 16:05:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 668423f75b4d - main - aq(4): style(9) cleanup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 668423f75b4d9006f16847b415c861defb8267d7 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 16:05:07 +0000 Message-Id: <69651bb3.30b87.7db6c4df@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=668423f75b4d9006f16847b415c861defb8267d7 commit 668423f75b4d9006f16847b415c861defb8267d7 Author: Ed Maste AuthorDate: 2026-01-07 16:16:45 +0000 Commit: Ed Maste CommitDate: 2026-01-12 16:04:56 +0000 aq(4): style(9) cleanup --- sys/dev/aq/aq_common.h | 3 +- sys/dev/aq/aq_dbg.c | 6 ++-- sys/dev/aq/aq_device.h | 2 +- sys/dev/aq/aq_fw.c | 16 +++++---- sys/dev/aq/aq_fw1x.c | 5 ++- sys/dev/aq/aq_fw2x.c | 5 +-- sys/dev/aq/aq_hw.c | 15 +++++--- sys/dev/aq/aq_hw.h | 3 +- sys/dev/aq/aq_hw_llh.c | 96 ++++++++++++++++++++++++++++++++------------------ sys/dev/aq/aq_media.c | 4 ++- sys/dev/aq/aq_ring.c | 18 ++++++---- 11 files changed, 106 insertions(+), 67 deletions(-) diff --git a/sys/dev/aq/aq_common.h b/sys/dev/aq/aq_common.h index af59ecf7af1e..f31567480ec0 100644 --- a/sys/dev/aq/aq_common.h +++ b/sys/dev/aq/aq_common.h @@ -67,5 +67,4 @@ do { \ #define AQ_VER "0.0.5" -#endif //_AQ_COMMON_H_ - +#endif // _AQ_COMMON_H_ diff --git a/sys/dev/aq/aq_dbg.c b/sys/dev/aq/aq_dbg.c index 495991fafbdc..bed29b3d0755 100644 --- a/sys/dev/aq/aq_dbg.c +++ b/sys/dev/aq/aq_dbg.c @@ -56,7 +56,8 @@ const uint32_t dbg_categories_ = dbg_init | dbg_config | dbg_fw; #define __field(TYPE, VAR) TYPE VAR; void -trace_aq_tx_descr(int ring_idx, unsigned int pointer, volatile uint64_t descr[2]) +trace_aq_tx_descr(int ring_idx, unsigned int pointer, + volatile uint64_t descr[2]) { #if AQ_CFG_DEBUG_LVL > 2 struct __entry{ @@ -211,7 +212,8 @@ DumpHex(const void* data, size_t size) { for (i = 0; i < size; ++i) { sprintf(buf, "%02X ", ((const unsigned char*)data)[i]); strcat(line, buf); - if (((const unsigned char*)data)[i] >= ' ' && ((const unsigned char*)data)[i] <= '~') { + if (((const unsigned char*)data)[i] >= ' ' && + ((const unsigned char*)data)[i] <= '~') { ascii[i % 16] = ((const unsigned char*)data)[i]; } else { ascii[i % 16] = '.'; diff --git a/sys/dev/aq/aq_device.h b/sys/dev/aq/aq_device.h index 2b170f710840..64edbd138b3a 100644 --- a/sys/dev/aq/aq_device.h +++ b/sys/dev/aq/aq_device.h @@ -147,4 +147,4 @@ void aq_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr); int aq_mediachange(struct ifnet *ifp); void aq_if_update_admin_status(if_ctx_t ctx); -#endif +#endif // _AQ_DEVICE_H_ diff --git a/sys/dev/aq/aq_fw.c b/sys/dev/aq/aq_fw.c index fac720ba2327..3ab5909882e1 100644 --- a/sys/dev/aq/aq_fw.c +++ b/sys/dev/aq/aq_fw.c @@ -62,6 +62,7 @@ typedef enum aq_fw_bootloader_mode } aq_fw_bootloader_mode; #define AQ_CFG_HOST_BOOT_DISABLE 0 + // Timeouts #define RBL_TIMEOUT_MS 10000 #define MAC_FW_START_TIMEOUT_MS 10000 @@ -215,12 +216,14 @@ mac_soft_reset_flb_(struct aq_hw* hw) int k; reg_global_ctl2_set(hw, 0x40e1); - // Let Felicity hardware to complete SMBUS transaction before Global software reset. + // Let Felicity hardware complete SMBUS transaction before Global + // software reset. msec_delay(50); /* - * If SPI burst transaction was interrupted(before running the script), global software - * reset may not clear SPI interface. Clean it up manually before global reset. + * If SPI burst transaction was interrupted(before running the script), + * global software reset may not clear SPI interface. Clean it up + * manually before global reset. */ reg_glb_nvr_provisioning2_set(hw, 0xa0); reg_glb_nvr_interface1_set(hw, 0x9f); @@ -236,8 +239,8 @@ mac_soft_reset_flb_(struct aq_hw* hw) reg_glb_general_provisioning9_set(hw, 1); /* - * For the case SPI burst transaction was interrupted (by MCP reset above), - * wait until it is completed by hardware. + * For the case SPI burst transaction was interrupted (by MCP reset + * above), wait until it is completed by hardware. */ msec_delay(50); // Sleep for 10 ms. @@ -263,7 +266,8 @@ mac_soft_reset_flb_(struct aq_hw* hw) trace(dbg_init, "FLB> MAC kickstart done, %d ms", k); /* FW reset */ reg_global_ctl2_set(hw, 0x80e0); - // Let Felicity hardware complete SMBUS transaction before Global software reset. + // Let Felicity hardware complete SMBUS transaction before + // Global software reset. msec_delay(50); } reg_glb_cpu_sem_set(hw, 1, 0); diff --git a/sys/dev/aq/aq_fw1x.c b/sys/dev/aq/aq_fw1x.c index 10328fdbb01c..5a409eef15f4 100644 --- a/sys/dev/aq/aq_fw1x.c +++ b/sys/dev/aq/aq_fw1x.c @@ -171,7 +171,8 @@ fw1x_reset(struct aq_hw* hal) const int retryCount = 1000; for (int i = 0; i < retryCount; ++i) { - // Read the beginning of Statistics structure to capture the Transaction ID. + // Read the beginning of Statistics structure to capture the + // Transaction ID. aq_hw_fw_downld_dwords(hal, hal->mbox_addr, (uint32_t*)&mbox, (uint32_t)((char*)&mbox.stats - (char*)&mbox) / sizeof(uint32_t)); @@ -185,7 +186,6 @@ fw1x_reset(struct aq_hw* hal) * Compare transaction ID to initial value. * If it's different means f/w is alive. We're done. */ - return (EOK); } @@ -321,4 +321,3 @@ struct aq_firmware_ops aq_fw1x_ops = .get_mac_addr = fw1x_get_mac_addr, .get_stats = fw1x_get_stats, }; - diff --git a/sys/dev/aq/aq_fw2x.c b/sys/dev/aq/aq_fw2x.c index 7a39a0ddc7e6..004121242ac1 100644 --- a/sys/dev/aq/aq_fw2x.c +++ b/sys/dev/aq/aq_fw2x.c @@ -193,7 +193,6 @@ typedef struct fw2x_mailbox // struct fwHostInterface #define FW2X_LED_DEFAULT 0x0U // Firmware v2-3.x specific functions. -//@{ int fw2x_reset(struct aq_hw* hw); int fw2x_set_mode(struct aq_hw* hw, enum aq_hw_fw_mpi_state_e mode, @@ -203,8 +202,6 @@ int fw2x_get_mode(struct aq_hw* hw, enum aq_hw_fw_mpi_state_e* mode, int fw2x_get_mac_addr(struct aq_hw* hw, uint8_t* mac); int fw2x_get_stats(struct aq_hw* hw, struct aq_hw_stats_s* stats); -//@} - static uint64_t @@ -474,7 +471,7 @@ fw2x_get_stats(struct aq_hw* hw, struct aq_hw_stats_s* stats) return (-ENOTSUP); } - // Say to F/W to update the statistics + // Tell F/W to update the statistics. if (!toggle_mpi_ctrl_and_wait_(hw, FW2X_CAP_STATISTICS, 1, 25)) { trace_error(dbg_fw, "fw2x> statistics update timeout"); AQ_DBG_EXIT(-ETIME); diff --git a/sys/dev/aq/aq_hw.c b/sys/dev/aq/aq_hw.c index fe48e255254a..f73805a939cd 100644 --- a/sys/dev/aq/aq_hw.c +++ b/sys/dev/aq/aq_hw.c @@ -796,9 +796,11 @@ hw_atl_b0_hw_vlan_promisc_set(struct aq_hw_s *self, bool promisc) void -aq_hw_set_promisc(struct aq_hw_s *self, bool l2_promisc, bool vlan_promisc, bool mc_promisc) +aq_hw_set_promisc(struct aq_hw_s *self, bool l2_promisc, bool vlan_promisc, + bool mc_promisc) { - AQ_DBG_ENTERA("promisc %d, vlan_promisc %d, allmulti %d", l2_promisc, vlan_promisc, mc_promisc); + AQ_DBG_ENTERA("promisc %d, vlan_promisc %d, allmulti %d", l2_promisc, + vlan_promisc, mc_promisc); rpfl2promiscuous_mode_en_set(self, l2_promisc); @@ -811,7 +813,8 @@ aq_hw_set_promisc(struct aq_hw_s *self, bool l2_promisc, bool vlan_promisc, bool } int -aq_hw_rss_hash_set(struct aq_hw_s *self, uint8_t rss_key[HW_ATL_RSS_HASHKEY_SIZE]) +aq_hw_rss_hash_set(struct aq_hw_s *self, + uint8_t rss_key[HW_ATL_RSS_HASHKEY_SIZE]) { uint32_t rss_key_dw[HW_ATL_RSS_HASHKEY_SIZE / 4]; uint32_t addr = 0U; @@ -841,7 +844,8 @@ err_exit: } int -aq_hw_rss_hash_get(struct aq_hw_s *self, uint8_t rss_key[HW_ATL_RSS_HASHKEY_SIZE]) +aq_hw_rss_hash_get(struct aq_hw_s *self, + uint8_t rss_key[HW_ATL_RSS_HASHKEY_SIZE]) { uint32_t rss_key_dw[HW_ATL_RSS_HASHKEY_SIZE / 4]; uint32_t addr = 0U; @@ -863,7 +867,8 @@ aq_hw_rss_hash_get(struct aq_hw_s *self, uint8_t rss_key[HW_ATL_RSS_HASHKEY_SIZE } int -aq_hw_rss_set(struct aq_hw_s *self, uint8_t rss_table[HW_ATL_RSS_INDIRECTION_TABLE_MAX]) +aq_hw_rss_set(struct aq_hw_s *self, + uint8_t rss_table[HW_ATL_RSS_INDIRECTION_TABLE_MAX]) { uint16_t bitary[(HW_ATL_RSS_INDIRECTION_TABLE_MAX * 3 / 16U)]; diff --git a/sys/dev/aq/aq_hw.h b/sys/dev/aq/aq_hw.h index fb07f7c8b838..a4d4dbb3a512 100644 --- a/sys/dev/aq/aq_hw.h +++ b/sys/dev/aq/aq_hw.h @@ -356,5 +356,4 @@ int aq_hw_rss_hash_get(struct aq_hw_s *self, uint8_t rss_key[HW_ATL_RSS_HASHKEY_ int aq_hw_rss_set(struct aq_hw_s *self, uint8_t rss_table[HW_ATL_RSS_INDIRECTION_TABLE_MAX]); int aq_hw_udp_rss_enable(struct aq_hw_s *self, bool enable); -#endif //_AQ_HW_H_ - +#endif // _AQ_HW_H_ diff --git a/sys/dev/aq/aq_hw_llh.c b/sys/dev/aq/aq_hw_llh.c index 87384ad46618..43f966becf50 100644 --- a/sys/dev/aq/aq_hw_llh.c +++ b/sys/dev/aq/aq_hw_llh.c @@ -89,7 +89,8 @@ reg_global_ctl2_get(struct aq_hw* hw) } void -reg_glb_daisy_chain_status1_set(struct aq_hw* hw, uint32_t glb_daisy_chain_status1) +reg_glb_daisy_chain_status1_set(struct aq_hw* hw, + uint32_t glb_daisy_chain_status1) { AQ_WRITE_REG(hw, glb_daisy_chain_status1_adr, glb_daisy_chain_status1); } @@ -459,7 +460,8 @@ itr_mif_int_map_en_get(struct aq_hw *aq_hw, uint32_t mif) } void -itr_mif_int_map_set(struct aq_hw *aq_hw, uint32_t mifInterruptMapping, uint32_t mif) +itr_mif_int_map_set(struct aq_hw *aq_hw, uint32_t mifInterruptMapping, + uint32_t mif) { AQ_WRITE_REG_BIT(aq_hw, itrImrMifM_ADR(mif), itrImrMifM_MSK(mif), itrImrMifM_SHIFT(mif), mifInterruptMapping); @@ -516,8 +518,8 @@ rdm_rx_dca_mode_set(struct aq_hw *aq_hw, uint32_t rx_dca_mode) } void -rdm_rx_desc_data_buff_size_set(struct aq_hw *aq_hw, uint32_t rx_desc_data_buff_size, - uint32_t descriptor) +rdm_rx_desc_data_buff_size_set(struct aq_hw *aq_hw, + uint32_t rx_desc_data_buff_size, uint32_t descriptor) { AQ_WRITE_REG_BIT(aq_hw, rdm_descddata_size_adr(descriptor), rdm_descddata_size_msk, rdm_descddata_size_shift, @@ -525,14 +527,16 @@ rdm_rx_desc_data_buff_size_set(struct aq_hw *aq_hw, uint32_t rx_desc_data_buff_s } void -rdm_rx_desc_dca_en_set(struct aq_hw *aq_hw, uint32_t rx_desc_dca_en, uint32_t dca) +rdm_rx_desc_dca_en_set(struct aq_hw *aq_hw, uint32_t rx_desc_dca_en, + uint32_t dca) { AQ_WRITE_REG_BIT(aq_hw, rdm_dcaddesc_en_adr(dca), rdm_dcaddesc_en_msk, rdm_dcaddesc_en_shift, rx_desc_dca_en); } void -rdm_rx_desc_en_set(struct aq_hw *aq_hw, uint32_t rx_desc_en, uint32_t descriptor) +rdm_rx_desc_en_set(struct aq_hw *aq_hw, uint32_t rx_desc_en, + uint32_t descriptor) { AQ_WRITE_REG_BIT(aq_hw, rdm_descden_adr(descriptor), rdm_descden_msk, rdm_descden_shift, rx_desc_en); @@ -564,14 +568,16 @@ rdm_rx_desc_head_ptr_get(struct aq_hw *aq_hw, uint32_t descriptor) } void -rdm_rx_desc_len_set(struct aq_hw *aq_hw, uint32_t rx_desc_len, uint32_t descriptor) +rdm_rx_desc_len_set(struct aq_hw *aq_hw, uint32_t rx_desc_len, + uint32_t descriptor) { AQ_WRITE_REG_BIT(aq_hw, rdm_descdlen_adr(descriptor), rdm_descdlen_msk, rdm_descdlen_shift, rx_desc_len); } void -rdm_rx_desc_res_set(struct aq_hw *aq_hw, uint32_t rx_desc_res, uint32_t descriptor) +rdm_rx_desc_res_set(struct aq_hw *aq_hw, uint32_t rx_desc_res, + uint32_t descriptor) { AQ_WRITE_REG_BIT(aq_hw, rdm_descdreset_adr(descriptor), rdm_descdreset_msk, rdm_descdreset_shift, rx_desc_res); @@ -587,7 +593,8 @@ rdm_rx_desc_wr_wb_irq_en_set(struct aq_hw *aq_hw, } void -rdm_rx_head_dca_en_set(struct aq_hw *aq_hw, uint32_t rx_head_dca_en, uint32_t dca) +rdm_rx_head_dca_en_set(struct aq_hw *aq_hw, uint32_t rx_head_dca_en, + uint32_t dca) { AQ_WRITE_REG_BIT(aq_hw, rdm_dcadhdr_en_adr(dca), rdm_dcadhdr_en_msk, rdm_dcadhdr_en_shift, rx_head_dca_en); @@ -960,7 +967,8 @@ rpf_rss_redir_tbl_addr_set(struct aq_hw *aq_hw, uint32_t rss_redir_tbl_addr) } void -rpf_rss_redir_tbl_wr_data_set(struct aq_hw *aq_hw, uint32_t rss_redir_tbl_wr_data) +rpf_rss_redir_tbl_wr_data_set(struct aq_hw *aq_hw, + uint32_t rss_redir_tbl_wr_data) { AQ_WRITE_REG_BIT(aq_hw, rpf_rss_redir_wr_data_adr, rpf_rss_redir_wr_data_msk, rpf_rss_redir_wr_data_shift, @@ -1010,7 +1018,8 @@ hw_atl_rpf_vlan_outer_etht_set(struct aq_hw_s *aq_hw, uint32_t vlan_outer_etht) } void -hw_atl_rpf_vlan_prom_mode_en_set(struct aq_hw_s *aq_hw, uint32_t vlan_prom_mode_en) +hw_atl_rpf_vlan_prom_mode_en_set(struct aq_hw_s *aq_hw, + uint32_t vlan_prom_mode_en) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_VL_PROMIS_MODE_ADR, HW_ATL_RPF_VL_PROMIS_MODE_MSK, @@ -1029,7 +1038,8 @@ hw_atl_rpf_vlan_accept_untagged_packets_set(struct aq_hw_s *aq_hw, } void -hw_atl_rpf_vlan_untagged_act_set(struct aq_hw_s *aq_hw, uint32_t vlan_untagged_act) +hw_atl_rpf_vlan_untagged_act_set(struct aq_hw_s *aq_hw, + uint32_t vlan_untagged_act) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_VL_UNTAGGED_ACT_ADR, HW_ATL_RPF_VL_UNTAGGED_ACT_MSK, @@ -1038,7 +1048,8 @@ hw_atl_rpf_vlan_untagged_act_set(struct aq_hw_s *aq_hw, uint32_t vlan_untagged_a } void -hw_atl_rpf_vlan_flr_en_set(struct aq_hw_s *aq_hw, uint32_t vlan_flr_en, uint32_t filter) +hw_atl_rpf_vlan_flr_en_set(struct aq_hw_s *aq_hw, uint32_t vlan_flr_en, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_VL_EN_F_ADR(filter), HW_ATL_RPF_VL_EN_F_MSK, @@ -1047,7 +1058,8 @@ hw_atl_rpf_vlan_flr_en_set(struct aq_hw_s *aq_hw, uint32_t vlan_flr_en, uint32_t } void -hw_atl_rpf_vlan_flr_act_set(struct aq_hw_s *aq_hw, uint32_t vlan_flr_act, uint32_t filter) +hw_atl_rpf_vlan_flr_act_set(struct aq_hw_s *aq_hw, uint32_t vlan_flr_act, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_VL_ACT_F_ADR(filter), HW_ATL_RPF_VL_ACT_F_MSK, @@ -1056,7 +1068,8 @@ hw_atl_rpf_vlan_flr_act_set(struct aq_hw_s *aq_hw, uint32_t vlan_flr_act, uint32 } void -hw_atl_rpf_vlan_id_flr_set(struct aq_hw_s *aq_hw, uint32_t vlan_id_flr, uint32_t filter) +hw_atl_rpf_vlan_id_flr_set(struct aq_hw_s *aq_hw, uint32_t vlan_id_flr, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_VL_ID_F_ADR(filter), HW_ATL_RPF_VL_ID_F_MSK, @@ -1075,7 +1088,8 @@ hw_atl_rpf_vlan_rxq_en_flr_set(struct aq_hw_s *aq_hw, uint32_t vlan_rxq_en, } void -hw_atl_rpf_vlan_rxq_flr_set(struct aq_hw_s *aq_hw, uint32_t vlan_rxq, uint32_t filter) +hw_atl_rpf_vlan_rxq_flr_set(struct aq_hw_s *aq_hw, uint32_t vlan_rxq, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_VL_RXQ_F_ADR(filter), HW_ATL_RPF_VL_RXQ_F_MSK, @@ -1084,7 +1098,8 @@ hw_atl_rpf_vlan_rxq_flr_set(struct aq_hw_s *aq_hw, uint32_t vlan_rxq, uint32_t f }; void -hw_atl_rpf_etht_flr_en_set(struct aq_hw_s *aq_hw, uint32_t etht_flr_en, uint32_t filter) +hw_atl_rpf_etht_flr_en_set(struct aq_hw_s *aq_hw, uint32_t etht_flr_en, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_ET_ENF_ADR(filter), HW_ATL_RPF_ET_ENF_MSK, @@ -1101,8 +1116,8 @@ hw_atl_rpf_etht_user_priority_en_set(struct aq_hw_s *aq_hw, } void -hw_atl_rpf_etht_rx_queue_en_set(struct aq_hw_s *aq_hw, uint32_t etht_rx_queue_en, - uint32_t filter) +hw_atl_rpf_etht_rx_queue_en_set(struct aq_hw_s *aq_hw, + uint32_t etht_rx_queue_en, uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_ET_RXQFEN_ADR(filter), HW_ATL_RPF_ET_RXQFEN_MSK, @@ -1111,8 +1126,8 @@ hw_atl_rpf_etht_rx_queue_en_set(struct aq_hw_s *aq_hw, uint32_t etht_rx_queue_en } void -hw_atl_rpf_etht_user_priority_set(struct aq_hw_s *aq_hw, uint32_t etht_user_priority, - uint32_t filter) +hw_atl_rpf_etht_user_priority_set(struct aq_hw_s *aq_hw, + uint32_t etht_user_priority, uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_ET_UPF_ADR(filter), HW_ATL_RPF_ET_UPF_MSK, @@ -1148,7 +1163,8 @@ hw_atl_rpf_etht_flr_act_set(struct aq_hw_s *aq_hw, uint32_t etht_flr_act, } void -hw_atl_rpf_etht_flr_set(struct aq_hw_s *aq_hw, uint32_t etht_flr, uint32_t filter) +hw_atl_rpf_etht_flr_set(struct aq_hw_s *aq_hw, uint32_t etht_flr, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_ET_VALF_ADR(filter), HW_ATL_RPF_ET_VALF_MSK, @@ -1220,7 +1236,8 @@ hw_atl_rpf_l3_arpf_en_set(struct aq_hw_s *aq_hw, uint32_t val, uint32_t filter) } void -hw_atl_rpf_l3_l4_rxqf_en_set(struct aq_hw_s *aq_hw, uint32_t val, uint32_t filter) +hw_atl_rpf_l3_l4_rxqf_en_set(struct aq_hw_s *aq_hw, uint32_t val, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_L3_L4_RXQF_EN_ADR(filter), HW_ATL_RPF_L3_L4_RXQF_EN_MSK, @@ -1228,7 +1245,8 @@ hw_atl_rpf_l3_l4_rxqf_en_set(struct aq_hw_s *aq_hw, uint32_t val, uint32_t filte } void -hw_atl_rpf_l3_l4_mng_rxqf_set(struct aq_hw_s *aq_hw, uint32_t val, uint32_t filter) +hw_atl_rpf_l3_l4_mng_rxqf_set(struct aq_hw_s *aq_hw, uint32_t val, + uint32_t filter) { aq_hw_write_reg_bit(aq_hw, HW_ATL_RPF_L3_L4_MNG_RXQF_ADR(filter), HW_ATL_RPF_L3_L4_MNG_RXQF_MSK, @@ -1321,7 +1339,8 @@ rpf_vlan_flr_en_set(struct aq_hw *aq_hw, uint32_t vlan_flr_en, uint32_t filter) } void -rpf_vlan_flr_act_set(struct aq_hw *aq_hw, uint32_t vlan_flr_act, uint32_t filter) +rpf_vlan_flr_act_set(struct aq_hw *aq_hw, uint32_t vlan_flr_act, + uint32_t filter) { AQ_WRITE_REG_BIT(aq_hw, rpf_vl_act_f_adr(filter), rpf_vl_act_f_msk, rpf_vl_act_f_shift, vlan_flr_act); @@ -1366,21 +1385,24 @@ rpf_etht_user_priority_set(struct aq_hw *aq_hw, uint32_t etht_user_priority, } void -rpf_etht_rx_queue_set(struct aq_hw *aq_hw, uint32_t etht_rx_queue, uint32_t filter) +rpf_etht_rx_queue_set(struct aq_hw *aq_hw, uint32_t etht_rx_queue, + uint32_t filter) { AQ_WRITE_REG_BIT(aq_hw, rpf_et_rxqf_adr(filter), rpf_et_rxqf_msk, rpf_et_rxqf_shift, etht_rx_queue); } void -rpf_etht_mgt_queue_set(struct aq_hw *aq_hw, uint32_t etht_mgt_queue, uint32_t filter) +rpf_etht_mgt_queue_set(struct aq_hw *aq_hw, uint32_t etht_mgt_queue, + uint32_t filter) { AQ_WRITE_REG_BIT(aq_hw, rpf_et_mng_rxqf_adr(filter), rpf_et_mng_rxqf_msk, rpf_et_mng_rxqf_shift, etht_mgt_queue); } void -rpf_etht_flr_act_set(struct aq_hw *aq_hw, uint32_t etht_flr_act, uint32_t filter) +rpf_etht_flr_act_set(struct aq_hw *aq_hw, uint32_t etht_flr_act, + uint32_t filter) { AQ_WRITE_REG_BIT(aq_hw, rpf_et_actf_adr(filter), rpf_et_actf_msk, rpf_et_actf_shift, etht_flr_act); @@ -1565,14 +1587,16 @@ tdm_tx_dca_mode_set(struct aq_hw *aq_hw, uint32_t tx_dca_mode) } void -tdm_tx_desc_dca_en_set(struct aq_hw *aq_hw, uint32_t tx_desc_dca_en, uint32_t dca) +tdm_tx_desc_dca_en_set(struct aq_hw *aq_hw, uint32_t tx_desc_dca_en, + uint32_t dca) { AQ_WRITE_REG_BIT(aq_hw, tdm_dcaddesc_en_adr(dca), tdm_dcaddesc_en_msk, tdm_dcaddesc_en_shift, tx_desc_dca_en); } void -tdm_tx_desc_en_set(struct aq_hw *aq_hw, uint32_t tx_desc_en, uint32_t descriptor) +tdm_tx_desc_en_set(struct aq_hw *aq_hw, uint32_t tx_desc_en, + uint32_t descriptor) { AQ_WRITE_REG_BIT(aq_hw, tdm_descden_adr(descriptor), tdm_descden_msk, tdm_descden_shift, tx_desc_en); @@ -1586,7 +1610,8 @@ tdm_tx_desc_head_ptr_get(struct aq_hw *aq_hw, uint32_t descriptor) } void -tdm_tx_desc_len_set(struct aq_hw *aq_hw, uint32_t tx_desc_len, uint32_t descriptor) +tdm_tx_desc_len_set(struct aq_hw *aq_hw, uint32_t tx_desc_len, + uint32_t descriptor) { AQ_WRITE_REG_BIT(aq_hw, tdm_descdlen_adr(descriptor), tdm_descdlen_msk, tdm_descdlen_shift, tx_desc_len); @@ -1721,7 +1746,8 @@ tpo_ipv4header_crc_offload_en_set(struct aq_hw *aq_hw, } void -tpo_tcp_udp_crc_offload_en_set(struct aq_hw *aq_hw, uint32_t tcp_udp_crc_offload_en) +tpo_tcp_udp_crc_offload_en_set(struct aq_hw *aq_hw, + uint32_t tcp_udp_crc_offload_en) { AQ_WRITE_REG_BIT(aq_hw, tpol4chk_en_adr, tpol4chk_en_msk, tpol4chk_en_shift, tcp_udp_crc_offload_en); @@ -1876,7 +1902,8 @@ pci_pci_reg_res_dis_set(struct aq_hw *aq_hw, uint32_t pci_reg_res_dis) uint32_t reg_glb_cpu_scratch_scp_get(struct aq_hw *hw, uint32_t glb_cpu_scratch_scp_idx) { - return AQ_READ_REG(hw, glb_cpu_scratch_scp_adr(glb_cpu_scratch_scp_idx)); + return AQ_READ_REG(hw, + glb_cpu_scratch_scp_adr(glb_cpu_scratch_scp_idx)); } void reg_glb_cpu_scratch_scp_set(struct aq_hw *aq_hw, uint32_t glb_cpu_scratch_scp, @@ -1892,7 +1919,8 @@ reg_glb_cpu_no_reset_scratchpad_get(struct aq_hw *hw, uint32_t index) return AQ_READ_REG(hw, glb_cpu_no_reset_scratchpad_adr(index)); } void -reg_glb_cpu_no_reset_scratchpad_set(struct aq_hw* hw, uint32_t value, uint32_t index) +reg_glb_cpu_no_reset_scratchpad_set(struct aq_hw* hw, uint32_t value, + uint32_t index) { AQ_WRITE_REG(hw, glb_cpu_no_reset_scratchpad_adr(index), value); } diff --git a/sys/dev/aq/aq_media.c b/sys/dev/aq/aq_media.c index 9cdc0236bb60..f961f3bb5f0f 100644 --- a/sys/dev/aq/aq_media.c +++ b/sys/dev/aq/aq_media.c @@ -119,7 +119,9 @@ aq_mediachange(if_t ifp) AQ_DBG_ENTERA("media 0x%x", user_media); if (!(ifm->ifm_media & IFM_ETHER)) { - device_printf(aq_dev->dev, "%s(): aq_dev interface - bad media: 0x%X", __FUNCTION__, ifm->ifm_media); + device_printf(aq_dev->dev, + "%s(): aq_dev interface - bad media: 0x%X", __FUNCTION__, + ifm->ifm_media); return (0); // should never happen } diff --git a/sys/dev/aq/aq_ring.c b/sys/dev/aq/aq_ring.c index 40128cbb72b8..51014ae0a9d7 100644 --- a/sys/dev/aq/aq_ring.c +++ b/sys/dev/aq/aq_ring.c @@ -107,9 +107,11 @@ aq_ring_rx_init(struct aq_hw *hw, struct aq_ring *ring) rdm_rx_desc_len_set(hw, ring->rx_size / 8U, ring->index); - device_printf(ring->dev->dev, "ring %d: __PAGESIZE=%d MCLBYTES=%d hw->max_frame_size=%d\n", - ring->index, PAGE_SIZE, MCLBYTES, ring->rx_max_frame_size); - rdm_rx_desc_data_buff_size_set(hw, ring->rx_max_frame_size / 1024U, ring->index); + device_printf(ring->dev->dev, + "ring %d: __PAGESIZE=%d MCLBYTES=%d hw->max_frame_size=%d\n", + ring->index, PAGE_SIZE, MCLBYTES, ring->rx_max_frame_size); + rdm_rx_desc_data_buff_size_set(hw, ring->rx_max_frame_size / 1024U, + ring->index); rdm_rx_desc_head_buff_size_set(hw, 0U, ring->index); rdm_rx_desc_head_splitting_set(hw, 0U, ring->index); @@ -279,7 +281,8 @@ aq_isc_rxd_available(void *arg, uint16_t rxqid, qidx_t idx, qidx_t budget) for (iter = 0, cnt = 0, i = idx; iter < ring->rx_size && cnt <= budget;) { - trace_aq_rx_descr(ring->index, i, (volatile uint64_t*)&rx_desc[i]); + trace_aq_rx_descr(ring->index, i, + (volatile uint64_t*)&rx_desc[i]); if (!rx_desc[i].wb.dd) break; @@ -309,8 +312,8 @@ aq_isc_rxd_available(void *arg, uint16_t rxqid, qidx_t idx, qidx_t budget) static void aq_rx_set_cso_flags(aq_rx_desc_t *rx_desc, if_rxd_info_t ri) { - if ((rx_desc->wb.pkt_type & 0x3) == 0) { //IPv4 - if (rx_desc->wb.rx_cntl & BIT(0)){ // IPv4 csum checked + if ((rx_desc->wb.pkt_type & 0x3) == 0) { // IPv4 + if (rx_desc->wb.rx_cntl & BIT(0)) { // IPv4 csum checked ri->iri_csum_flags |= CSUM_IP_CHECKED; if (!(rx_desc->wb.rx_stat & BIT(1))) ri->iri_csum_flags |= CSUM_IP_VALID; @@ -355,7 +358,8 @@ aq_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) do { rx_desc = (aq_rx_desc_t *) &ring->rx_descs[cidx]; - trace_aq_rx_descr(ring->index, cidx, (volatile uint64_t*)rx_desc); + trace_aq_rx_descr(ring->index, cidx, + (volatile uint64_t *)rx_desc); if ((rx_desc->wb.rx_stat & BIT(0)) != 0) { ring->stats.rx_err++; From nobody Mon Jan 12 16:06:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqcgw6xMnz6NmNg for ; Mon, 12 Jan 2026 16:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqcgw60vRz3pfx for ; Mon, 12 Jan 2026 16:06:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768233996; 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=BZtBhv4yuTegmPALwGSkeJ9sbWT38SSbFGrlILoEySQ=; b=WZO6wM7mjJC+PwxVmuUCt3IdT0VhWZVfc7mKfrzFa0VopDFQsLWIcYPxoKPvn2vyzWEObq gOhoV2VOOkCqgUUCfQKy7cV7B4nLiH4+Jxryo6h6oU7HnuqgpaqhP7Ztk4KjjaGE2NLnlu sDFhiywZxxIRYEdhWnsx/KeiV+Ew7MLMv9ejOhQJM1R94aKvhVpZzmnwhmdH4kcVKMntnf /bWmxVskvWQfopgeiqzmY6sfo/uPy7pTv0EhxP+V916+4a42M9oRTnAcCh2i5ULlbtymjT FUdDpVf3t9tB2T7rbetTL92bSYN2b77mIy2dpnjEns3BlKbfowftyncsen4QzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768233996; 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=BZtBhv4yuTegmPALwGSkeJ9sbWT38SSbFGrlILoEySQ=; b=cbsXLQIBplbfTxe+XlfKli5cpgxNrmuL8XqianCSO4QK8su5uqrZI9wgx9ulC4b2nHHQZ4 ax1xcxh58sJhLEapc0JwkUD8UzBY9hFWBOUAJpkL/a52kb0YnFfEzoDAf+WSEvLcK+DaVv V+OaQeR9uSl/KWLJyxqOWI9t+wD8/MfD58AzbRWYNhy8zvGKDNKONc3Oau5Cd0usdzhCWo Wi0ysc+n3q0xnT9S9x95INgVYwA/PK3g9tekHIy9ATvB26CrVOUIz+D0L0y60+BfLbjjWs CrOXy88C3RM/PwA4zw61JZo0lPc+Bu0NT1Nk0AUxEs3QeChigWIGkDO+VPEKGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768233996; a=rsa-sha256; cv=none; b=lClRY1lmZ4NR2GgsKSEz0okmX2dW6lHsTcNTlqBtGiAGegDU69RKQKIMqGb4mTI554RQvQ l98zciJ09SkPj6PoYjQPedufP1g+lO/opykAYr3ALaUlG9LF+b/JUMocrVKzzetoDmkh5T I4rEb/4khDMkqGlP5GCYdOuEcxjty52Xm/9jRoe0ufs0Bf/6l7wO1sNLU/AkOEvVrfwWDi tmRxU252zUwNRzD0ku+tefFoKvcAU/GiM6fhwh44H9DBHrk5Xxvo3wa4NbcFmM3tCRnJBO aWCTaJHLuiYeaqcNxPW4qTmkSKIeBVngTKVx8yt8ORLI2fJdgC54YuYpuOiyfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqcgw5b8fzZNS for ; Mon, 12 Jan 2026 16:06:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31340 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 16:06:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: cf34eb826495 - main - build: Remove duplicate SUBDIR entries List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf34eb8264954a8fd1e92081bcf67719bddbc2aa Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 16:06:36 +0000 Message-Id: <69651c0c.31340.78f74a4b@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cf34eb8264954a8fd1e92081bcf67719bddbc2aa commit cf34eb8264954a8fd1e92081bcf67719bddbc2aa Author: Mark Johnston AuthorDate: 2026-01-12 16:05:40 +0000 Commit: Mark Johnston CommitDate: 2026-01-12 16:06:31 +0000 build: Remove duplicate SUBDIR entries Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND") --- lib/Makefile | 1 - usr.bin/Makefile | 2 -- usr.sbin/Makefile | 2 -- 3 files changed, 5 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index d06488a33fb9..bf8f2c386f64 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -73,7 +73,6 @@ SUBDIR= ${SUBDIR_BOOTSTRAP} \ liblzma \ libmemstat \ libmd \ - libmixer \ libmt \ lib80211 \ libnetbsd \ diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 158d3f1a92c1..0f0233bb5091 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -6,7 +6,6 @@ SUBDIR= apply \ backlight \ banner \ basename \ - beep \ bintrans \ brandelf \ bsdcat \ @@ -86,7 +85,6 @@ SUBDIR= apply \ mandoc \ mdo \ mesg \ - mididump \ ministat \ mkdep \ mkfifo \ diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index deeeb3cc4251..d9a5f231ba61 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -41,7 +41,6 @@ SUBDIR= adduser \ makefs \ memcontrol \ mfiutil \ - mixer \ mlxcontrol \ mountd \ mount_smbfs \ @@ -84,7 +83,6 @@ SUBDIR= adduser \ setpmac \ smbmsg \ snapinfo \ - sndctl \ spi \ spray \ syslogd \ From nobody Mon Jan 12 16:15:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqctb3g2sz6NmtS for ; Mon, 12 Jan 2026 16:15:51 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqctZ51HJz3qm1 for ; Mon, 12 Jan 2026 16:15:50 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=SXcQoUr6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::636 as permitted sender) smtp.mailfrom=mjguzik@gmail.com Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-b8718187eb6so182537066b.2 for ; Mon, 12 Jan 2026 08:15:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768234544; x=1768839344; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=yWRrjYiOHMW63XycgnL95526ITQOBCoPCq1yi8WP56g=; b=SXcQoUr6HcBC36MVoJfufACo5xCvb3ZceacGCHI0wi4yii7OD0xkl0DxgnoezNiui4 dJRh0kDpCBGqA2dzjcwCxYOj2u31EuBUNilh5wEqZA3eOLRDSJoFApk7HBKQ52+ykBim Rj629ZYq20npzoKYUUFfx5uAPnUGFIrq+9sxl+Ll0/GXbcGE+VgBjxBspfnmvrr9fmIz YbkaANnDN9qfPSsY7N0WLerneii1edQi2McLK7Yxu8xqSAQrenouFD2cwi92xJ9gPQmU vSiAH/uyzSbTkCj+zbmDr4xi/OP4c7awepdqnl2XwEkxGT7f3Hh6F8O9A5ulftHLJt6Z KywA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768234544; x=1768839344; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=yWRrjYiOHMW63XycgnL95526ITQOBCoPCq1yi8WP56g=; b=FQbwWfyPr5aLdf2n5uGGGWY7W5ydsQUJkds5XgYfxQgHF8U6+DVSFDZ6+sYvD5hAnU z8awIJ4TuPDSECjBy6hjCE/Bynt1p6p87hvY2NX6k1uYiCXQtgSdjbQyPvBeJmQOZCFq v2/+GfbhxQ4XYZqdvT3SrcroVBGPYC2AyeBeK9WIA92bHSGbRHNN13oBRVgvnbhkSaRx wU4MdN+x3NeRdA1ffMOSrKng2LElow8OgPd6Msej7FSAY3GwQVr5joOT3Y2ysFvTYBX2 bIqigomU0ePXLMwC2LA7t6ujEm51iDIZ4KiyZYB/yQS91FAP4LOk72jPNLGedokQ8zNw MN5w== X-Forwarded-Encrypted: i=1; AJvYcCVfAHsbYIujxTALoeXhLdbNI++RALuYLygXG7FIi10T3l7iNCjj/4noGdk9mwerAo5Z4O3LuEZ/cxpPBUFMOCRRUpqVrg==@freebsd.org X-Gm-Message-State: AOJu0YxXKUIf/KGx7FM3U/7rF+8ceEkgsO/JRabPaR55ws0QTDFahf55 JWCELhB0lo1zbGicHq4+bbWIyFJnq253XEOvxXSoaBrqSHCeuOyihHH9a3Hn0DrefyTg62afdie GIwdNKqbBtmdygelHzE4GckyjeoQrJLPrDgA9 X-Gm-Gg: AY/fxX5kZx+qkipv8TAzuWc4GgHoP9ipAArKFRuFtzNsisdjXgNnKsJ4gDbgd4fBuK1 W28mgU0+qyE071teRJrpgVHhdcwsg3B7sSYKiHejb9z4dSun12JEr6YFzxHTlXf2gOtlfSY76j2 2vfS1qSClTY4tPp/2EzINiDjHyUOv5AL/Thg7Sw9Iw61l+2x3SmkJKwl8/mRXhC6MfJlsWGLjbs tYFF05IaRY+UDdjRxOlDDr+be5s96FwZLzFIJSXLJVQjauHAqRwqVcDzQ3xKAvAVbdqqomJq0Sd LTo/S2Vx8J1+4uZiIlFjxdAp0A== X-Google-Smtp-Source: AGHT+IGiCmMnGKxsc5mkevor20PzvwSkbF+ClG8eyPJdPErCX6GuSgFb11iaYmmTXrm/LQ7Wfhhn008QKpTBAyY1IlA= X-Received: by 2002:a17:906:ef0d:b0:b79:fe3a:6d3 with SMTP id a640c23a62f3a-b8445357b2cmr1716331966b.37.1768234543620; Mon, 12 Jan 2026 08:15:43 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <694452f3.32deb.4d0ab2a7@gitrepo.freebsd.org> In-Reply-To: <694452f3.32deb.4d0ab2a7@gitrepo.freebsd.org> From: Mateusz Guzik Date: Mon, 12 Jan 2026 17:15:30 +0100 X-Gm-Features: AZwV_Qi-B5zcEn09qxRE5GELPrV0AuqkVqXH5M8nFLkdZbI9aBTSbC-bwYsURZc Message-ID: Subject: Re: git: 0d469d23715d - main - net: attach IPv4 and IPv6 stacks to an interface with EVENTHANDLER(9) To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.13 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; NEURAL_HAM_SHORT(-0.13)[-0.126]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FREEMAIL_FROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; RCVD_COUNT_ONE(0.00)[1]; MISSING_XM_UA(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MID_RHS_MATCH_FROMTLD(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::636:from]; FREEMAIL_ENVFROM(0.00)[gmail.com] X-Rspamd-Queue-Id: 4dqctZ51HJz3qm1 In addition to the other reports there is also the following: panic: mtx_lock() of spin mutex (null) @ /var/jenkins/workspace/pfSense-Plus-snapshots-master-main/sources/FreeBSD-s= rc-plus-devel-main/sys/netinet/igmp.c:627 cpuid =3D 1 time =3D 1 KDB: enter: panic [ thread pid 0 tid 100000 ] Stopped at kdb_enter+0x33: movq $0,0x1b23e72(%rip) db> bt Tracing pid 0 tid 100000 td 0xffffffff828665e0 kdb_enter() at kdb_enter+0x33/frame 0xffffffff83963cb0 panic() at panic+0x43/frame 0xffffffff83963d10 __mtx_lock_flags() at __mtx_lock_flags+0x12f/frame 0xffffffff83963d60 igmp_domifattach() at igmp_domifattach+0x24/frame 0xffffffff83963d80 in_ifattach() at in_ifattach+0xb2/frame 0xffffffff83963db0 if_attach_internal() at if_attach_internal+0x374/frame 0xffffffff83963e00 enc_clone_create() at enc_clone_create+0x7e/frame 0xffffffff83963e30 if_clone_createif_nl() at if_clone_createif_nl+0x166/frame 0xffffffff83963e= a0 ifc_create_ifp() at ifc_create_ifp+0x102/frame 0xffffffff83963f10 vnet_enc_init() at vnet_enc_init+0x97/frame 0xffffffff83963f70 vnet_register_sysinit() at vnet_register_sysinit+0x125/frame 0xffffffff8396= 3fa0 mi_startup() at mi_startup+0x1f4/frame 0xffffffff83963ff0 db> the igmp mutex is not yet initialized On Thu, Dec 18, 2025 at 8:16=E2=80=AFPM Gleb Smirnoff = wrote: > > The branch main has been updated by glebius: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D0d469d23715d690b863787ebfa= 51529e1f6a9092 > > commit 0d469d23715d690b863787ebfa51529e1f6a9092 > Author: Gleb Smirnoff > AuthorDate: 2025-12-18 16:47:39 +0000 > Commit: Gleb Smirnoff > CommitDate: 2025-12-18 19:15:53 +0000 > > net: attach IPv4 and IPv6 stacks to an interface with EVENTHANDLER(9) > > This change retires two historic relics: the if_afdata[] array and th= e > dom_ifattach/dom_ifdetach methods. > > The if_afdata[] array is a relic of the era, when there was expectati= on > that many transport protocols will coexist with IP, e.g. IPX or NetAt= alk. > The array hasn't had any members except AF_INET and AF_INET6 for over= a > decade already. This change removes the array and just leaves two poi= nter > fields: if_inet and if_inet6. > > The dom_ifattach/dom_ifdetach predates the EVENTHANDLER(9) framework = and > was a good enough method to initialize protocol contexts back then. = Today > there is no good reason to treat IPv4 and IPv6 stacks differently to = other > protocols/features that attach and detach from an interface. > > The locking of if_afdata[] is a relic of SMPng times, when the system > startup and the interface attach was even more convoluted than before= this > change, and we also had unloadable protocols that used a field in > if_afdata[]. Note that IPv4 and IPv6 are not unloadable. > > Note that this change removes NET_EPOCH_WAIT() from the interface det= ach > sequence. This may surface several new races associated with interfa= ce > removal. I failed to hit any with consecutive test suite runs, thoug= h. > The expected general race scenario is that while struct ifnet is free= d > with proper epoch_call(9) itself, some structures hanging off ifnet a= re > freed with direct free(9). The proper fix is either make if_foo poin= t at > some static "dead" structure providing SMP visibility of this store, = or > free those structure with epoch_call(9). All of these cases are plan= ned > to be found and resolved during 16.0-CURRENT lifetime. > > Reviewed by: zlei, gallatin, melifaro > Differential Revision: https://reviews.freebsd.org/D54089 > --- > sys/kern/uipc_debug.c | 4 -- > sys/net/if.c | 122 ++++----------------------------------= ------ > sys/net/if_loop.c | 2 +- > sys/net/if_private.h | 19 +------ > sys/net/if_var.h | 3 +- > sys/net/vnet.h | 3 ++ > sys/netinet/icmp6.h | 2 +- > sys/netinet/if_ether.c | 4 +- > sys/netinet/igmp.c | 10 ++-- > sys/netinet/in.c | 98 +++++++++++++++++++---------------- > sys/netinet/in.h | 1 - > sys/netinet/in_mcast.c | 2 +- > sys/netinet/in_proto.c | 2 - > sys/netinet/in_var.h | 7 ++- > sys/netinet/ip_input.c | 9 ++++ > sys/netinet6/in6.c | 49 +++++------------- > sys/netinet6/in6_ifattach.c | 39 +++++++++++++- > sys/netinet6/in6_mcast.c | 2 +- > sys/netinet6/in6_proto.c | 2 - > sys/netinet6/in6_var.h | 11 ++-- > sys/netinet6/ip6_input.c | 7 +++ > sys/netinet6/ip6_output.c | 2 +- > sys/netinet6/mld6_var.h | 3 +- > sys/netinet6/nd6.c | 11 ++-- > sys/netinet6/nd6.h | 3 +- > sys/netinet6/scope6.c | 10 ++-- > sys/sys/domain.h | 2 - > sys/sys/kernel.h | 2 +- > 28 files changed, 173 insertions(+), 258 deletions(-) > > diff --git a/sys/kern/uipc_debug.c b/sys/kern/uipc_debug.c > index df36ec75cb5f..f6b7b1899d02 100644 > --- a/sys/kern/uipc_debug.c > +++ b/sys/kern/uipc_debug.c > @@ -242,10 +242,6 @@ db_print_domain(struct domain *d, const char *domain= _name, int indent) > > db_print_indent(indent); > db_printf("dom_rtattach: %p ", d->dom_rtattach); > - > - db_print_indent(indent); > - db_printf("dom_ifattach: %p ", d->dom_ifattach); > - db_printf("dom_ifdetach: %p\n", d->dom_ifdetach); > } > > static void > diff --git a/sys/net/if.c b/sys/net/if.c > index b603c72bd106..3c16246e8b62 100644 > --- a/sys/net/if.c > +++ b/sys/net/if.c > @@ -102,7 +102,6 @@ > #endif /* INET */ > #ifdef INET6 > #include > -#include > #endif /* INET6 */ > #endif /* INET || INET6 */ > > @@ -270,8 +269,6 @@ struct mbuf *(*tbr_dequeue_ptr)(struct ifaltq *, int)= =3D NULL; > * static functions should be prototyped. Currently they are sorted by > * declaration order. > */ > -static void if_attachdomain(void *); > -static void if_attachdomain1(struct ifnet *); > static int ifconf(u_long, caddr_t); > static void if_input_default(struct ifnet *, struct mbuf *); > static int if_requestencap_default(struct ifnet *, struct if_encap_r= eq *); > @@ -348,11 +345,6 @@ struct sx ifnet_detach_sxlock; > SX_SYSINIT_FLAGS(ifnet_detach, &ifnet_detach_sxlock, "ifnet_detach_sx", > SX_RECURSE); > > -#ifdef VIMAGE > -#define VNET_IS_SHUTTING_DOWN(_vnet) = \ > - ((_vnet)->vnet_shutdown && (_vnet)->vnet_state < SI_SUB_VNET_DONE) > -#endif > - > static if_com_alloc_t *if_com_alloc[256]; > static if_com_free_t *if_com_free[256]; > > @@ -553,8 +545,6 @@ if_alloc_domain(u_char type, int numa_domain) > IF_ADDR_LOCK_INIT(ifp); > TASK_INIT(&ifp->if_linktask, 0, do_link_state_change, ifp); > TASK_INIT(&ifp->if_addmultitask, 0, if_siocaddmulti, ifp); > - ifp->if_afdata_initialized =3D 0; > - IF_AFDATA_LOCK_INIT(ifp); > CK_STAILQ_INIT(&ifp->if_addrhead); > CK_STAILQ_INIT(&ifp->if_multiaddrs); > CK_STAILQ_INIT(&ifp->if_groups); > @@ -641,7 +631,6 @@ if_free_deferred(epoch_context_t ctx) > #ifdef MAC > mac_ifnet_destroy(ifp); > #endif /* MAC */ > - IF_AFDATA_DESTROY(ifp); > IF_ADDR_LOCK_DESTROY(ifp); > ifq_delete(&ifp->if_snd); > > @@ -930,8 +919,6 @@ if_attach_internal(struct ifnet *ifp, bool vmove) > #endif > } > > - if (domain_init_status >=3D 2) > - if_attachdomain1(ifp); > EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp); > if_link_ifnet(ifp); > EVENTHANDLER_INVOKE(ifnet_attached_event, ifp); > @@ -947,45 +934,6 @@ if_epochalloc(void *dummy __unused) > } > SYSINIT(ifepochalloc, SI_SUB_EPOCH, SI_ORDER_ANY, if_epochalloc, NULL); > > -static void > -if_attachdomain(void *dummy) > -{ > - struct ifnet *ifp; > - > - CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) > - if_attachdomain1(ifp); > -} > -SYSINIT(domainifattach, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_SECOND, > - if_attachdomain, NULL); > - > -static void > -if_attachdomain1(struct ifnet *ifp) > -{ > - struct domain *dp; > - > - /* > - * Since dp->dom_ifattach calls malloc() with M_WAITOK, we > - * cannot lock ifp->if_afdata initialization, entirely. > - */ > - IF_AFDATA_LOCK(ifp); > - if (ifp->if_afdata_initialized >=3D domain_init_status) { > - IF_AFDATA_UNLOCK(ifp); > - log(LOG_WARNING, "%s called more than once on %s\n", > - __func__, ifp->if_xname); > - return; > - } > - ifp->if_afdata_initialized =3D domain_init_status; > - IF_AFDATA_UNLOCK(ifp); > - > - /* address family dependent data region */ > - bzero(ifp->if_afdata, sizeof(ifp->if_afdata)); > - SLIST_FOREACH(dp, &domains, dom_next) { > - if (dp->dom_ifattach) > - ifp->if_afdata[dp->dom_family] =3D > - (*dp->dom_ifattach)(ifp); > - } > -} > - > /* > * Remove any unicast or broadcast network addresses from an interface. > */ > @@ -1098,9 +1046,6 @@ static void > if_detach_internal(struct ifnet *ifp, bool vmove) > { > struct ifaddr *ifa; > - int i; > - struct domain *dp; > - void *if_afdata[AF_MAX]; > #ifdef VIMAGE > bool shutdown; > > @@ -1151,7 +1096,7 @@ if_detach_internal(struct ifnet *ifp, bool vmove) > * if_detach() calls us in void context and does not care > * about an early abort notification, so life is splendid= :) > */ > - goto finish_vnet_shutdown; > + return; > } > #endif > > @@ -1172,20 +1117,6 @@ if_detach_internal(struct ifnet *ifp, bool vmove) > #endif > > if_purgeaddrs(ifp); > - > -#ifdef INET > - in_ifdetach(ifp); > -#endif > - > -#ifdef INET6 > - /* > - * Remove all IPv6 kernel structs related to ifp. This should be= done > - * before removing routing entries below, since IPv6 interface di= rect > - * routes are expected to be removed by the IPv6-specific kernel = API. > - * Otherwise, the kernel will detect some inconsistency and bark = it. > - */ > - in6_ifdetach(ifp); > -#endif > if_purgemaddrs(ifp); > > EVENTHANDLER_INVOKE(ifnet_departure_event, ifp); > @@ -1212,43 +1143,6 @@ if_detach_internal(struct ifnet *ifp, bool vmove) > } > > rt_flushifroutes(ifp); > - > -#ifdef VIMAGE > -finish_vnet_shutdown: > -#endif > - /* > - * We cannot hold the lock over dom_ifdetach calls as they might > - * sleep, for example trying to drain a callout, thus open up the > - * theoretical race with re-attaching. > - */ > - IF_AFDATA_LOCK(ifp); > - i =3D ifp->if_afdata_initialized; > - ifp->if_afdata_initialized =3D 0; > - if (i !=3D 0) { > - /* > - * Defer the dom_ifdetach call. > - */ > - _Static_assert(sizeof(if_afdata) =3D=3D sizeof(ifp->if_af= data), > - "array size mismatch"); > - memcpy(if_afdata, ifp->if_afdata, sizeof(if_afdata)); > - memset(ifp->if_afdata, 0, sizeof(ifp->if_afdata)); > - } > - IF_AFDATA_UNLOCK(ifp); > - if (i =3D=3D 0) > - return; > - /* > - * XXXZL: This net epoch wait is not necessary if we have done ri= ght. > - * But if we do not, at least we can make a guarantee that thread= s those > - * enter net epoch will see NULL address family dependent data, > - * e.g. if_afdata[AF_INET6]. A clear NULL pointer derefence is mu= ch > - * better than writing to freed memory. > - */ > - NET_EPOCH_WAIT(); > - SLIST_FOREACH(dp, &domains, dom_next) { > - if (dp->dom_ifdetach !=3D NULL && > - if_afdata[dp->dom_family] !=3D NULL) > - (*dp->dom_ifdetach)(ifp, if_afdata[dp->dom_family= ]); > - } > } > > #ifdef VIMAGE > @@ -5121,10 +5015,16 @@ if_getvnet(if_t ifp) > return (ifp->if_vnet); > } > > -void * > -if_getafdata(if_t ifp, int af) > +struct in_ifinfo * > +if_getinet(if_t ifp) > +{ > + return (ifp->if_inet); > +} > + > +struct in6_ifextra * > +if_getinet6(if_t ifp) > { > - return (ifp->if_afdata[af]); > + return (ifp->if_inet6); > } > > u_int > @@ -5189,8 +5089,6 @@ if_show_ifnet(struct ifnet *ifp) > IF_DB_PRINTF("%d", if_amcount); > IF_DB_PRINTF("%p", if_addr); > IF_DB_PRINTF("%p", if_broadcastaddr); > - IF_DB_PRINTF("%p", if_afdata); > - IF_DB_PRINTF("%d", if_afdata_initialized); > IF_DB_PRINTF("%u", if_fib); > IF_DB_PRINTF("%p", if_vnet); > IF_DB_PRINTF("%p", if_home_vnet); > diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c > index ec0ff0e77aa6..37309260a0d3 100644 > --- a/sys/net/if_loop.c > +++ b/sys/net/if_loop.c > @@ -151,7 +151,7 @@ vnet_loif_init(const void *unused __unused) > struct ifc_data ifd =3D { .unit =3D 0 }; > ifc_create_ifp(loname, &ifd, &V_loif); > } > -VNET_SYSINIT(vnet_loif_init, SI_SUB_PSEUDO, SI_ORDER_ANY, > +VNET_SYSINIT(vnet_loif_init, SI_SUB_PROTO_IF, SI_ORDER_ANY, > vnet_loif_init, NULL); > > #ifdef VIMAGE > diff --git a/sys/net/if_private.h b/sys/net/if_private.h > index b8cd0722eba6..c4ade7308df4 100644 > --- a/sys/net/if_private.h > +++ b/sys/net/if_private.h > @@ -101,9 +101,8 @@ struct ifnet { > struct ifaddr *if_addr; /* pointer to link-level address = */ > void *if_hw_addr; /* hardware link-level address */ > const u_int8_t *if_broadcastaddr; /* linklevel broadcast bytestri= ng */ > - struct mtx if_afdata_lock; > - void *if_afdata[AF_MAX]; > - int if_afdata_initialized; > + struct in_ifinfo *if_inet; > + struct in6_ifextra *if_inet6; > > /* Additional features hung off the interface. */ > u_int if_fib; /* interface FIB */ > @@ -193,20 +192,6 @@ struct ifnet { > int if_ispare[4]; /* general use */ > }; > > -#define IF_AFDATA_LOCK_INIT(ifp) \ > - mtx_init(&(ifp)->if_afdata_lock, "if_afdata", NULL, MTX_DEF) > - > -#define IF_AFDATA_WLOCK(ifp) mtx_lock(&(ifp)->if_afdata_lock) > -#define IF_AFDATA_WUNLOCK(ifp) mtx_unlock(&(ifp)->if_afdata_lock= ) > -#define IF_AFDATA_LOCK(ifp) IF_AFDATA_WLOCK(ifp) > -#define IF_AFDATA_UNLOCK(ifp) IF_AFDATA_WUNLOCK(ifp) > -#define IF_AFDATA_TRYLOCK(ifp) mtx_trylock(&(ifp)->if_afdata_loc= k) > -#define IF_AFDATA_DESTROY(ifp) mtx_destroy(&(ifp)->if_afdata_loc= k) > - > -#define IF_AFDATA_LOCK_ASSERT(ifp) MPASS(in_epoch(net_epoch_= preempt) || mtx_owned(&(ifp)->if_afdata_lock)) > -#define IF_AFDATA_WLOCK_ASSERT(ifp) mtx_assert(&(ifp)->if_afd= ata_lock, MA_OWNED) > -#define IF_AFDATA_UNLOCK_ASSERT(ifp) mtx_assert(&(ifp)->if_afd= ata_lock, MA_NOTOWNED) > - > #define IF_LLADDR(ifp) \ > LLADDR((struct sockaddr_dl *)((ifp)->if_addr->ifa_addr)) > > diff --git a/sys/net/if_var.h b/sys/net/if_var.h > index cbc4969918ba..4fb51aca0cd7 100644 > --- a/sys/net/if_var.h > +++ b/sys/net/if_var.h > @@ -673,7 +673,8 @@ void *if_getl2com(if_t ifp); > struct ifvlantrunk *if_getvlantrunk(if_t ifp); > bool if_altq_is_enabled(if_t ifp); > > -void *if_getafdata(if_t ifp, int); > +struct in_ifinfo *if_getinet(if_t ifp); > +struct in6_ifextra *if_getinet6(if_t ifp); > > int if_snd_tag_alloc(if_t ifp, union if_snd_tag_alloc_params *params, > struct m_snd_tag **mstp); > diff --git a/sys/net/vnet.h b/sys/net/vnet.h > index 670e99a455ae..f8ffcb4e2b76 100644 > --- a/sys/net/vnet.h > +++ b/sys/net/vnet.h > @@ -395,6 +395,9 @@ do { = \ > } \ > } while(0) > > +#define VNET_IS_SHUTTING_DOWN(_vnet) \ > + ((_vnet)->vnet_shutdown && (_vnet)->vnet_state < SI_SUB_VNET_= DONE) > + > #else /* !VIMAGE */ > > /* > diff --git a/sys/netinet/icmp6.h b/sys/netinet/icmp6.h > index 2ca5b3433e47..082ef5d29ce9 100644 > --- a/sys/netinet/icmp6.h > +++ b/sys/netinet/icmp6.h > @@ -718,7 +718,7 @@ int icmp6_ratelimit(const struct in6_addr *, const in= t, const int); > do { \ > if (ifp) \ > counter_u64_add(((struct in6_ifextra *) \ > - ((ifp)->if_afdata[AF_INET6]))->icmp6_ifstat[\ > + ((ifp)->if_inet6))->icmp6_ifstat[ \ > offsetof(struct icmp6_ifstat, tag) / sizeof(uint64_t)= ], 1);\ > } while (/*CONSTCOND*/ 0) > > diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c > index 7b223f1f2f11..8d65b88913b8 100644 > --- a/sys/netinet/if_ether.c > +++ b/sys/netinet/if_ether.c > @@ -1485,8 +1485,8 @@ static void > arp_iflladdr(void *arg __unused, struct ifnet *ifp) > { > /* if_bridge can update its lladdr during if_vmove(), after we've= done > - * if_detach_internal()/dom_ifdetach(). */ > - if (ifp->if_afdata[AF_INET] =3D=3D NULL) > + * with in_ifdetach(). XXXGL: needs to be fixed. */ > + if (ifp->if_inet =3D=3D NULL) > return; > > lltable_update_ifaddr(LLTABLE(ifp)); > diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c > index ad22efb16495..de9d38c7fb9d 100644 > --- a/sys/netinet/igmp.c > +++ b/sys/netinet/igmp.c > @@ -690,7 +690,7 @@ igmp_ifdetach(struct ifnet *ifp) > SLIST_INIT(&inm_free_tmp); > IGMP_LOCK(); > > - igi =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp; > + igi =3D ((struct in_ifinfo *)ifp->if_inet)->ii_igmp; > if (igi->igi_version =3D=3D IGMP_VERSION_3) { > IF_ADDR_WLOCK(ifp); > NET_EPOCH_ENTER(et); > @@ -781,7 +781,7 @@ igmp_input_v1_query(struct ifnet *ifp, const struct i= p *ip, > IN_MULTI_LIST_LOCK(); > IGMP_LOCK(); > > - igi =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp; > + igi =3D ((struct in_ifinfo *)ifp->if_inet)->ii_igmp; > KASSERT(igi !=3D NULL, ("%s: no igmp_ifsoftc for ifp %p", __func_= _, ifp)); > > if (igi->igi_flags & IGIF_LOOPBACK) { > @@ -874,7 +874,7 @@ igmp_input_v2_query(struct ifnet *ifp, const struct i= p *ip, > IN_MULTI_LIST_LOCK(); > IGMP_LOCK(); > > - igi =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp; > + igi =3D ((struct in_ifinfo *)ifp->if_inet)->ii_igmp; > KASSERT(igi !=3D NULL, ("%s: no igmp_ifsoftc for ifp %p", __func_= _, ifp)); > > if (igi->igi_flags & IGIF_LOOPBACK) { > @@ -1066,7 +1066,7 @@ igmp_input_v3_query(struct ifnet *ifp, const struct= ip *ip, > IN_MULTI_LIST_LOCK(); > IGMP_LOCK(); > > - igi =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp; > + igi =3D ((struct in_ifinfo *)ifp->if_inet)->ii_igmp; > KASSERT(igi !=3D NULL, ("%s: no igmp_ifsoftc for ifp %p", __func_= _, ifp)); > > if (igi->igi_flags & IGIF_LOOPBACK) { > @@ -2347,7 +2347,7 @@ igmp_change_state(struct in_multi *inm) > > IGMP_LOCK(); > > - igi =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp; > + igi =3D ((struct in_ifinfo *)ifp->if_inet)->ii_igmp; > KASSERT(igi !=3D NULL, ("%s: no igmp_ifsoftc for ifp %p", __func_= _, ifp)); > > /* > diff --git a/sys/netinet/in.c b/sys/netinet/in.c > index e824c937af8e..510cfa79d54b 100644 > --- a/sys/netinet/in.c > +++ b/sys/netinet/in.c > @@ -669,7 +669,7 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifn= et *ifp, struct ucred *cred > struct in_addr allhosts_addr; > struct in_ifinfo *ii; > > - ii =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET]); > + ii =3D (struct in_ifinfo *)ifp->if_inet; > allhosts_addr.s_addr =3D htonl(INADDR_ALLHOSTS_GROUP); > > error =3D in_joingroup(ifp, &allhosts_addr, NULL, > @@ -789,7 +789,7 @@ in_difaddr_ioctl(u_long cmd, caddr_t data, struct ifn= et *ifp, struct ucred *cred > if (iaIsLast && (ifp->if_flags & IFF_MULTICAST)) { > struct in_ifinfo *ii; > > - ii =3D ((struct in_ifinfo *)ifp->if_afdata[AF_INET]); > + ii =3D (struct in_ifinfo *)ifp->if_inet; > if (ii->ii_allhosts) { > (void)in_leavegroup(ii->ii_allhosts, NULL); > ii->ii_allhosts =3D NULL; > @@ -1329,26 +1329,62 @@ in_ifnet_broadcast(struct in_addr in, struct ifne= t *ifp) > return (false); > } > > + > +static struct lltable *in_lltattach(struct ifnet *); > +void > +in_ifattach(void *arg __unused, struct ifnet *ifp) > +{ > + struct in_ifinfo *ii; > + > + ii =3D malloc(sizeof(struct in_ifinfo), M_IFADDR, M_WAITOK|M_ZERO= ); > + ii->ii_llt =3D in_lltattach(ifp); > + ii->ii_igmp =3D igmp_domifattach(ifp); > + ifp->if_inet =3D ii; > +} > +EVENTHANDLER_DEFINE(ifnet_arrival_event, in_ifattach, NULL, > + EVENTHANDLER_PRI_ANY); > + > /* > * On interface removal, clean up IPv4 data structures hung off of the i= fnet. > */ > -void > -in_ifdetach(struct ifnet *ifp) > +static void > +in_ifdetach(void *arg __unused, struct ifnet *ifp) > { > - IN_MULTI_LOCK(); > - in_pcbpurgeif0(&V_ripcbinfo, ifp); > - in_pcbpurgeif0(&V_udbinfo, ifp); > - in_pcbpurgeif0(&V_ulitecbinfo, ifp); > - in_purgemaddrs(ifp); > - IN_MULTI_UNLOCK(); > + struct in_ifinfo *ii =3D ifp->if_inet; > > +#ifdef VIMAGE > /* > - * Make sure all multicast deletions invoking if_ioctl() are > - * completed before returning. Else we risk accessing a freed > - * ifnet structure pointer. > + * On VNET shutdown abort here as the stack teardown will do all > + * the work top-down for us. XXXGL: this logic is copied from > + * if_detach() before dom_ifattach removal. Ideally we'd like to= have > + * same logic for VNET shutdown and normal detach. This means th= at > + * interfaces should be detach before protocols destroyed during = VNET > + * shutdown. > */ > - inm_release_wait(NULL); > + if (!VNET_IS_SHUTTING_DOWN(ifp->if_vnet)) > +#endif > + { > + IN_MULTI_LOCK(); > + in_pcbpurgeif0(&V_ripcbinfo, ifp); > + in_pcbpurgeif0(&V_udbinfo, ifp); > + in_pcbpurgeif0(&V_ulitecbinfo, ifp); > + in_purgemaddrs(ifp); > + IN_MULTI_UNLOCK(); > + > + /* > + * Make sure all multicast deletions invoking if_ioctl() = are > + * completed before returning. Else we risk accessing a f= reed > + * ifnet structure pointer. > + */ > + inm_release_wait(NULL); > + } > + > + igmp_domifdetach(ifp); > + lltable_free(ii->ii_llt); > + free(ii, M_IFADDR); > } > +EVENTHANDLER_DEFINE(ifnet_departure_event, in_ifdetach, NULL, > + EVENTHANDLER_PRI_ANY); > > static void > in_ifnet_event(void *arg __unused, struct ifnet *ifp, int event) > @@ -1862,35 +1898,9 @@ in_lltattach(struct ifnet *ifp) > struct lltable * > in_lltable_get(struct ifnet *ifp) > { > - struct lltable *llt =3D NULL; > - > - void *afdata_ptr =3D ifp->if_afdata[AF_INET]; > - if (afdata_ptr !=3D NULL) > - llt =3D ((struct in_ifinfo *)afdata_ptr)->ii_llt; > - return (llt); > -} > - > -void * > -in_domifattach(struct ifnet *ifp) > -{ > - struct in_ifinfo *ii; > - > - ii =3D malloc(sizeof(struct in_ifinfo), M_IFADDR, M_WAITOK|M_ZERO= ); > - > - ii->ii_llt =3D in_lltattach(ifp); > - ii->ii_igmp =3D igmp_domifattach(ifp); > - > - return (ii); > -} > - > -void > -in_domifdetach(struct ifnet *ifp, void *aux) > -{ > - struct in_ifinfo *ii =3D (struct in_ifinfo *)aux; > - > - MPASS(ifp->if_afdata[AF_INET] =3D=3D NULL); > + /* XXXGL: ??? */ > + if (ifp->if_inet =3D=3D NULL) > + return (NULL); > > - igmp_domifdetach(ifp); > - lltable_free(ii->ii_llt); > - free(ii, M_IFADDR); > + return (((struct in_ifinfo *)ifp->if_inet)->ii_llt); > } > diff --git a/sys/netinet/in.h b/sys/netinet/in.h > index 3f2c388548ec..0cd55bd1e409 100644 > --- a/sys/netinet/in.h > +++ b/sys/netinet/in.h > @@ -684,7 +684,6 @@ int inet_aton(const char *, struct in_addr *); /* in= libkern */ > char *inet_ntoa_r(struct in_addr ina, char *buf); /* in libkern */ > char *inet_ntop(int, const void *, char *, socklen_t); /* in libkern *= / > int inet_pton(int af, const char *, void *); /* in libkern */ > -void in_ifdetach(struct ifnet *); > > static inline bool > in_broadcast(struct in_addr in) > diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c > index ba112afbf002..131e72780ebe 100644 > --- a/sys/netinet/in_mcast.c > +++ b/sys/netinet/in_mcast.c > @@ -500,7 +500,7 @@ in_getmulti(struct ifnet *ifp, const struct in_addr *= group, > > IN_MULTI_LOCK_ASSERT(); > > - ii =3D (struct in_ifinfo *)ifp->if_afdata[AF_INET]; > + ii =3D (struct in_ifinfo *)ifp->if_inet; > IN_MULTI_LIST_LOCK(); > inm =3D inm_lookup(ifp, *group); > if (inm !=3D NULL) { > diff --git a/sys/netinet/in_proto.c b/sys/netinet/in_proto.c > index 3ec515d216fa..ff3040bfc7b1 100644 > --- a/sys/netinet/in_proto.c > +++ b/sys/netinet/in_proto.c > @@ -76,8 +76,6 @@ struct domain inetdomain =3D { > #ifdef VIMAGE > .dom_rtdetach =3D in_detachhead, > #endif > - .dom_ifattach =3D in_domifattach, > - .dom_ifdetach =3D in_domifdetach, > .dom_nprotosw =3D 14, > .dom_protosw =3D { > &tcp_protosw, > diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h > index 1f6f6edb9219..311d82da4605 100644 > --- a/sys/netinet/in_var.h > +++ b/sys/netinet/in_var.h > @@ -102,8 +102,7 @@ struct in_ifaddr { > ((((d).s_addr ^ (a).s_addr) & (m).s_addr)) =3D=3D 0 ) > #endif > > -#define LLTABLE(ifp) \ > - ((struct in_ifinfo *)(ifp)->if_afdata[AF_INET])->ii_llt > +#define LLTABLE(ifp) ((struct in_ifinfo *)(ifp)->if_inet)->ii_llt > /* > * Hash table for IP addresses. > */ > @@ -471,9 +470,9 @@ void ip_input(struct mbuf *); > void ip_direct_input(struct mbuf *); > void in_ifadown(struct ifaddr *ifa, int); > struct mbuf *ip_tryforward(struct mbuf *); > -void *in_domifattach(struct ifnet *); > -void in_domifdetach(struct ifnet *, void *); > struct rib_head *in_inithead(uint32_t fibnum); > +void in_ifattach(void *, struct ifnet *); > + > #ifdef VIMAGE > void in_detachhead(struct rib_head *rh); > #endif > diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c > index 6ddec6726428..2e0635f8e482 100644 > --- a/sys/netinet/ip_input.c > +++ b/sys/netinet/ip_input.c > @@ -352,6 +352,7 @@ VNET_SYSINIT(ip_vnet_init, SI_SUB_PROTO_DOMAIN, SI_OR= DER_FOURTH, > static void > ip_init(const void *unused __unused) > { > + struct ifnet *ifp; > > ipreass_init(); > > @@ -376,6 +377,14 @@ ip_init(const void *unused __unused) > #ifdef RSS > netisr_register(&ip_direct_nh); > #endif > + /* > + * XXXGL: we use SYSINIT() here, but go over V_ifnet. It was the= same > + * way before dom_ifattach removal. This worked because when any > + * non-default vnet is created, there are no interfaces inside. > + * Eventually this needs to be fixed. > + */ > + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) > + in_ifattach(NULL, ifp); > } > SYSINIT(ip_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, ip_init, NULL); > > diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c > index 158129258587..a953bb5546d6 100644 > --- a/sys/netinet6/in6.c > +++ b/sys/netinet6/in6.c > @@ -478,7 +478,7 @@ in6_control_ioctl(u_long cmd, void *data, > /* FALLTHROUGH */ > case SIOCGIFSTAT_IN6: > case SIOCGIFSTAT_ICMP6: > - if (ifp->if_afdata[AF_INET6] =3D=3D NULL) { > + if (ifp->if_inet6 =3D=3D NULL) { > error =3D EPFNOSUPPORT; > goto out; > } > @@ -525,15 +525,13 @@ in6_control_ioctl(u_long cmd, void *data, > break; > > case SIOCGIFSTAT_IN6: > - COUNTER_ARRAY_COPY(((struct in6_ifextra *) > - ifp->if_afdata[AF_INET6])->in6_ifstat, > + COUNTER_ARRAY_COPY(ifp->if_inet6->in6_ifstat, > &ifr->ifr_ifru.ifru_stat, > sizeof(struct in6_ifstat) / sizeof(uint64_t)); > break; > > case SIOCGIFSTAT_ICMP6: > - COUNTER_ARRAY_COPY(((struct in6_ifextra *) > - ifp->if_afdata[AF_INET6])->icmp6_ifstat, > + COUNTER_ARRAY_COPY(ifp->if_inet6->icmp6_ifstat, > &ifr->ifr_ifru.ifru_icmp6stat, > sizeof(struct icmp6_ifstat) / sizeof(uint64_t)); > break; > @@ -2567,16 +2565,14 @@ in6_lltattach(struct ifnet *ifp) > struct lltable * > in6_lltable_get(struct ifnet *ifp) > { > - struct lltable *llt =3D NULL; > + if (ifp->if_inet6 =3D=3D NULL) > + return (NULL); > > - void *afdata_ptr =3D ifp->if_afdata[AF_INET6]; > - if (afdata_ptr !=3D NULL) > - llt =3D ((struct in6_ifextra *)afdata_ptr)->lltable; > - return (llt); > + return (ifp->if_inet6->lltable); > } > > -void * > -in6_domifattach(struct ifnet *ifp) > +void > +in6_ifarrival(void *arg __unused, struct ifnet *ifp) > { > struct in6_ifextra *ext; > > @@ -2584,7 +2580,8 @@ in6_domifattach(struct ifnet *ifp) > switch (ifp->if_type) { > case IFT_PFLOG: > case IFT_PFSYNC: > - return (NULL); > + ifp->if_inet6 =3D NULL; > + return; > } > ext =3D (struct in6_ifextra *)malloc(sizeof(*ext), M_IFADDR, M_WA= ITOK); > bzero(ext, sizeof(*ext)); > @@ -2606,8 +2603,10 @@ in6_domifattach(struct ifnet *ifp) > > ext->mld_ifinfo =3D mld_domifattach(ifp); > > - return ext; > + ifp->if_inet6 =3D ext; > } > +EVENTHANDLER_DEFINE(ifnet_arrival_event, in6_ifarrival, NULL, > + EVENTHANDLER_PRI_ANY); > > uint32_t > in6_ifmtu(struct ifnet *ifp) > @@ -2615,26 +2614,6 @@ in6_ifmtu(struct ifnet *ifp) > return (IN6_LINKMTU(ifp)); > } > > -void > -in6_domifdetach(struct ifnet *ifp, void *aux) > -{ > - struct in6_ifextra *ext =3D (struct in6_ifextra *)aux; > - > - MPASS(ifp->if_afdata[AF_INET6] =3D=3D NULL); > - > - mld_domifdetach(ifp); > - scope6_ifdetach(ext->scope6_id); > - nd6_ifdetach(ifp, ext->nd_ifinfo); > - lltable_free(ext->lltable); > - COUNTER_ARRAY_FREE(ext->in6_ifstat, > - sizeof(struct in6_ifstat) / sizeof(uint64_t)); > - free(ext->in6_ifstat, M_IFADDR); > - COUNTER_ARRAY_FREE(ext->icmp6_ifstat, > - sizeof(struct icmp6_ifstat) / sizeof(uint64_t)); > - free(ext->icmp6_ifstat, M_IFADDR); > - free(ext, M_IFADDR); > -} > - > /* > * Convert sockaddr_in6 to sockaddr_in. Original sockaddr_in6 must be > * v4 mapped addr or v4 compat addr > @@ -2736,7 +2715,7 @@ in6_purge_proxy_ndp(struct ifnet *ifp) > struct lltable *llt; > bool need_purge; > > - if (ifp->if_afdata[AF_INET6] =3D=3D NULL) > + if (ifp->if_inet6 =3D=3D NULL) > return; > > llt =3D LLTABLE6(ifp); > diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c > index 090ba610460b..a2d236cccc41 100644 > --- a/sys/netinet6/in6_ifattach.c > +++ b/sys/netinet6/in6_ifattach.c > @@ -50,6 +50,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -783,7 +784,8 @@ in6_ifattach(struct ifnet *ifp, struct ifnet *altifp) > { > struct in6_ifaddr *ia; > > - if (ifp->if_afdata[AF_INET6] =3D=3D NULL) > + /* XXXGL: can this happen after IFT_PFLOG and IFT_PFSYNC are gone= ? */ > + if (ifp->if_inet6 =3D=3D NULL) > return; > /* > * quirks based on interface type > @@ -857,7 +859,8 @@ _in6_ifdetach(struct ifnet *ifp, int purgeulp) > { > struct ifaddr *ifa, *next; > > - if (ifp->if_afdata[AF_INET6] =3D=3D NULL) > + /* XXXGL: can this happen after IFT_PFLOG and IFT_PFSYNC are gone= ? */ > + if (ifp->if_inet6 =3D=3D NULL) > return; > > /* > @@ -895,6 +898,38 @@ in6_ifdetach(struct ifnet *ifp) > _in6_ifdetach(ifp, 1); > } > > +static void > +in6_ifdeparture(void *arg __unused, struct ifnet *ifp) > +{ > + struct in6_ifextra *ext =3D ifp->if_inet6; > + > + /* XXXGL: can this happen after IFT_PFLOG and IFT_PFSYNC are gone= ? */ > + if (ifp->if_inet6 =3D=3D NULL) > + return; > + > +#ifdef VIMAGE > + /* > + * On VNET shutdown abort here as the stack teardown will do all > + * the work top-down for us. XXXGL: see comment in in.c:in_ifdet= ach(). > + */ > + if (!VNET_IS_SHUTTING_DOWN(ifp->if_vnet)) > +#endif > + _in6_ifdetach(ifp, 1); > + mld_domifdetach(ifp); > + scope6_ifdetach(ext->scope6_id); > + nd6_ifdetach(ifp, ext->nd_ifinfo); > + lltable_free(ext->lltable); > + COUNTER_ARRAY_FREE(ext->in6_ifstat, > + sizeof(struct in6_ifstat) / sizeof(uint64_t)); > + free(ext->in6_ifstat, M_IFADDR); > + COUNTER_ARRAY_FREE(ext->icmp6_ifstat, > + sizeof(struct icmp6_ifstat) / sizeof(uint64_t)); > + free(ext->icmp6_ifstat, M_IFADDR); > + free(ext, M_IFADDR); > +} > +EVENTHANDLER_DEFINE(ifnet_departure_event, in6_ifdeparture, NULL, > + EVENTHANDLER_PRI_ANY); > + > void > in6_ifdetach_destroy(struct ifnet *ifp) > { > diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c > index 613bd14428bb..4075e75eac85 100644 > --- a/sys/netinet6/in6_mcast.c > +++ b/sys/netinet6/in6_mcast.c > @@ -400,7 +400,7 @@ in6_getmulti(struct ifnet *ifp, const struct in6_addr= *group, > /* > * Does ifp support IPv6 multicasts? > */ > - if (ifp->if_afdata[AF_INET6] =3D=3D NULL) > + if (ifp->if_inet6 =3D=3D NULL) > error =3D ENODEV; > else > inm =3D in6m_lookup_locked(ifp, group); > diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c > index f3ed72719abf..dbbe7c4b3eca 100644 > --- a/sys/netinet6/in6_proto.c > +++ b/sys/netinet6/in6_proto.c > @@ -111,8 +111,6 @@ struct domain inet6domain =3D { > #ifdef VIMAGE > .dom_rtdetach =3D in6_detachhead, > #endif > - .dom_ifattach =3D in6_domifattach, > - .dom_ifdetach =3D in6_domifdetach, > .dom_nprotosw =3D 14, > .dom_protosw =3D { > &tcp6_protosw, > diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h > index 1210937a5dc4..0cfdde652c0a 100644 > --- a/sys/netinet6/in6_var.h > +++ b/sys/netinet6/in6_var.h > @@ -109,8 +109,8 @@ struct in6_ifextra { > u_int dad_failures; /* DAD failures when using RFC 7217 stabl= e addresses */ > }; > > -#define LLTABLE6(ifp) (((struct in6_ifextra *)(ifp)->if_afdata[= AF_INET6])->lltable) > -#define DAD_FAILURES(ifp) (((struct in6_ifextra *)(ifp)->if= _afdata[AF_INET6])->dad_failures) > +#define LLTABLE6(ifp) ((ifp)->if_inet6->lltable) > +#define DAD_FAILURES(ifp) ((ifp)->if_inet6->dad_failures) > > #ifdef _KERNEL > > @@ -545,8 +545,7 @@ extern struct rmlock in6_ifaddr_lock; > #define in6_ifstat_inc(ifp, tag) \ > do { \ > if (ifp) \ > - counter_u64_add(((struct in6_ifextra *) \ > - ((ifp)->if_afdata[AF_INET6]))->in6_ifstat[ \ > + counter_u64_add((ifp)->if_inet6->in6_ifstat[ \ > offsetof(struct in6_ifstat, tag) / sizeof(uint64_t)],= 1);\ > } while (/*CONSTCOND*/ 0) > #endif /* _KERNEL */ > @@ -867,8 +866,6 @@ void in6_purgeaddr(struct ifaddr *); > void in6_purgeifaddr(struct in6_ifaddr *); > int in6if_do_dad(struct ifnet *); > void in6_savemkludge(struct in6_ifaddr *); > -void *in6_domifattach(struct ifnet *); > -void in6_domifdetach(struct ifnet *, void *); > uint32_t in6_ifmtu(struct ifnet *); > struct rib_head *in6_inithead(uint32_t fibnum); > void in6_detachhead(struct rib_head *rh); > @@ -893,6 +890,8 @@ int in6_src_ioctl(u_long, caddr_t); > void in6_newaddrmsg(struct in6_ifaddr *, int); > > void in6_purge_proxy_ndp(struct ifnet *); > +void in6_ifarrival(void *, struct ifnet *); > + > /* > * Extended API for IPv6 FIB support. > */ > diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c > index 380391fd71f4..29fa4741a509 100644 > --- a/sys/netinet6/ip6_input.c > +++ b/sys/netinet6/ip6_input.c > @@ -286,6 +286,7 @@ VNET_SYSINIT(ip6_vnet_init, SI_SUB_PROTO_DOMAIN, SI_O= RDER_FOURTH, > static void > ip6_init(void *arg __unused) > { > + struct ifnet *ifp; > > /* > * Register statically those protocols that are unlikely to ever = go > @@ -312,6 +313,12 @@ ip6_init(void *arg __unused) > #ifdef RSS > netisr_register(&ip6_direct_nh); > #endif > + /* > + * XXXGL: we use SYSINIT() here, but go over V_ifnet. See comme= nt > + * in sys/netinet/ip_input.c:ip_init(). > + */ > + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) > + in6_ifarrival(NULL, ifp); > } > SYSINIT(ip6_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, ip6_init, NULL); > > diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c > index 8ade50b13568..eb5a3a971ea0 100644 > --- a/sys/netinet6/ip6_output.c > +++ b/sys/netinet6/ip6_output.c > @@ -2920,7 +2920,7 @@ ip6_setpktopt(int optname, u_char *buf, int len, st= ruct ip6_pktopts *opt, > if (ifp =3D=3D NULL) > return (ENXIO); > } > - if (ifp !=3D NULL && (ifp->if_afdata[AF_INET6] =3D=3D NUL= L || > + if (ifp !=3D NULL && (ifp->if_inet6 =3D=3D NULL || > (ND_IFINFO(ifp)->flags & ND6_IFF_IFDISABLED) !=3D 0)) > return (ENETDOWN); > > diff --git a/sys/netinet6/mld6_var.h b/sys/netinet6/mld6_var.h > index 96b841f1564b..d75ac2450c10 100644 > --- a/sys/netinet6/mld6_var.h > +++ b/sys/netinet6/mld6_var.h > @@ -155,8 +155,7 @@ struct mld_ifsoftc { > /* > * Per-link MLD context. > */ > *** 133 LINES SKIPPED *** > From nobody Mon Jan 12 16:17:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqcw80hMWz6NnLy for ; Mon, 12 Jan 2026 16:17: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqcw75jQ5z3r1n for ; Mon, 12 Jan 2026 16:17:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768234631; 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=pWZNoVNnCGFMX3Ixnkzdryh0sk+Z/0rcOx7Hnz9zFoo=; b=Qv5KuLcuFPYqN2o4ludaM6iDR175zN82S4sIeEFeJqBuzLgoozSu2YNOed2WUik6/oRc0w J8RJJP4tLe5Ep5A5aWM8sEs++F/6V8l/LiI4mXJb5XXYR/KCTlFcFfu3bx1qGijxlqxGbf bacy32Ql6QHB1mXMwbN05GluBhn6nkCuloNzbja9frDUa1vGyAFDYduW5vX7q/fdH7pFGN IyIi45deypGD19g0Rpri3psUDD39JzQoKWvHoWV3GJwj3HyF+Hs6TCccx36Z4uR1YgKbWO fLQJLGLAT+cS0ywZkIJW3QYjsBlmavM6Y0gxZqgV7QFcrtZQR/rMo/xfHTtb/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768234631; 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=pWZNoVNnCGFMX3Ixnkzdryh0sk+Z/0rcOx7Hnz9zFoo=; b=B6stl2cFEDyPbY4sJ/fBl0T/3L+OTSeAXkUleyq30KqeDnBhDpD1HbJRLoiThnh9VI3Q2V 1Nb2yAXWeiW5UiYcOYbOg2qqr66zjqpiWVy4zIBO3nECsB9hQVkFfeWm8MHjX7CIaMslly n/UuKS6rJPjUY5EmexHSRG5xg0Di/0Umu8EfPW//2Z4+LpePfTO2FBSy3/JR/xj5oB7dkZ Ti5dSxQ14iWeRGdWh37+cWU8OPdwGcOeV0gyamrbkBA6ojzIer5WDyqzarEJm67CtUh9+S Bh0cJLopU1qOZUgvsZgmveiIJ9o/8iMh4xIOMj+v8syEs/j+HH6BhApnKRThig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768234631; a=rsa-sha256; cv=none; b=nfr+GoZZT/ljCvPQELDXm07Kf4sKB8IZijfcXOlAQQ/KG2VZL/q2Uhn81F7iOBzce5GKtK 0lxcxb5AbyRgmrsXghUULk2+bFHDfDbQifh+X74aFGbSuvmBj+fp4KVaVF8wK9FA6HmFTY yqQiphEDCbFdmiMks9AzFjVJwP+g/fTITGJZUCo5lRnWs8MdyveAtZXlV/a2yLGeHbXSk9 +ecRx0Go5/DNUzMgjXZ/gABNMRxZax7yrgAaSYFXq3SEr/v7WYls2OPu/RXvxF0jdQrooe 7iRbzNHQyrkF5GaniThET3ad667trhyduXGEZ7JNNKIHV1P4QLQjaaOpp7sJ7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqcw73BCVzZbb for ; Mon, 12 Jan 2026 16:17:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30a3f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 16:17:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Hall Subject: git: a3f28d70969c - main - RELNOTES: Add entry for c558eca47970 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrhall X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a3f28d70969cdc429c8c277d47e89ae0818cf75e Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 16:17:11 +0000 Message-Id: <69651e87.30a3f.5699b3b3@gitrepo.freebsd.org> The branch main has been updated by jrhall: URL: https://cgit.FreeBSD.org/src/commit/?id=a3f28d70969cdc429c8c277d47e89ae0818cf75e commit a3f28d70969cdc429c8c277d47e89ae0818cf75e Author: John Hall AuthorDate: 2026-01-12 15:54:34 +0000 Commit: John Hall CommitDate: 2026-01-12 16:16:35 +0000 RELNOTES: Add entry for c558eca47970 --- RELNOTES | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELNOTES b/RELNOTES index 3c3f90769ae7..a02d266efa1b 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +c558eca47970: + The smartpqi(4) driver was updated to vendor version 4660.0.2002 + for the SmartArry storage controllers. + 493d26c58e73: The aq(4) driver was added, imported from the vendor repository. This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit From nobody Mon Jan 12 16:25:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqd5b0s3Yz6Nnfr for ; Mon, 12 Jan 2026 16:25:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqd5Z6vDMz3rrM for ; Mon, 12 Jan 2026 16:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768235123; 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=loXCtPIjN6DWFO1gWbEnLV5z2l6bkuWy5XZ8VVsQqZU=; b=gbIg35pEbL3X4471l2cqP8GkRUfn4qXxZr9g6dlWdjtLCzSEwjAqtNvMysz4KqcicMC39l Nmc59nbZnRm4/lCB2X7iu4O/4pCSrUsRtI6CuZx9yBYhFEEVwIsapUMGoZSw623/u9hOAp XxDmgk7TTf7qs+ZKqkjMI8vELRrlihUnWHG/nJIS8zbrYGUFQgyyxvwfxH2cb0tRY1mUeL 7YjV6iPO1ak34dyZKXeuG71oZrqvHd7sxTEjD+Yebr8EJKckPM/nTJNIGp0jaT809ctkG2 bbraTrdXTvY/CHlN8DShSA/zmY1yzEqzAUbUDjovIbssdk25cFBuSXpVcy+3pA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768235123; 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=loXCtPIjN6DWFO1gWbEnLV5z2l6bkuWy5XZ8VVsQqZU=; b=oJPgmT9iLmCADXvbndLl6WnvTuGM4IzKcHinEeUzb4rOwkhqrTt3gd5QuIjEDhJA4NTBgW qn6TMCG4AdfybCpkYizMaO8GShWHqkubJ/61ASDLxr6Sq2Hku3aU6QbPaaT9e4l2g5wEJT muJFNQQoNDe4zmiJ0m2LqP/h/70DTbwoyyZiLLN/GmxSjzmH5JND4eZ3BNRuLDCbR4QJnG OPll0Yq/J2FmAJhPuRR5yIuGfB0Pu+MZ0NJHgmdx8zC9DaFZKvrjf6WAkxvfjoqQDd/ByZ 5kxtEk2uQaPK/yHei9onlZ002ROyQ4DzM5LFb66HUGMBgx9hphLBYuMDbm676A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768235123; a=rsa-sha256; cv=none; b=TJpeAzgEeFA+/SvwOSDxukv1cLgFEO85GbTER0tu8Rin9o/drod/yMu6U2vPYcW5N1dMLq FD1sOuSlsGYBm91sHvXm16Y39lEIO2JKptfA3dTEHBAhclmFZbssBHAjYNCIY5s7M8gzfq 54M3Vh7ls7edUAV6TvirHPlb4ECw3tLu/7OyNZOVnLuMEy8HHQDZbYx2/WcxmblweyJmim fbDFBtl9E/aZuxSaOY4wZCsES16AQc5kddR8sSuZS+lZzfRMZoBXnWiHxUZJi821++G6+P BWSKce5EyacKepOQFMh6MYP+/uJds+aTtzkcg9xOiudScTO8TjCUTlS8iJA+SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqd5Z6KBbzZTd for ; Mon, 12 Jan 2026 16:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32dbc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 16:25:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Hall Subject: git: 2b60e628d3b1 - main - RELNOTES: Correct commit hash in commit a3f28d70969c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrhall X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2b60e628d3b1e98d211f9c4f7cef8cbd641eda5d Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 16:25:22 +0000 Message-Id: <69652072.32dbc.1abab480@gitrepo.freebsd.org> The branch main has been updated by jrhall: URL: https://cgit.FreeBSD.org/src/commit/?id=2b60e628d3b1e98d211f9c4f7cef8cbd641eda5d commit 2b60e628d3b1e98d211f9c4f7cef8cbd641eda5d Author: John Hall AuthorDate: 2026-01-12 16:23:43 +0000 Commit: John Hall CommitDate: 2026-01-12 16:23:43 +0000 RELNOTES: Correct commit hash in commit a3f28d70969c --- RELNOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELNOTES b/RELNOTES index a02d266efa1b..08a5acb62e57 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,7 +10,7 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. -c558eca47970: +256d05617c71: The smartpqi(4) driver was updated to vendor version 4660.0.2002 for the SmartArry storage controllers. From nobody Mon Jan 12 17:11:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqf766NbYz6Nr9R for ; Mon, 12 Jan 2026 17:11: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqf765Y22z3wf2 for ; Mon, 12 Jan 2026 17:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768237906; 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=6VnH+57bXaRVnh/6rBrHtqjE2s/OAz3iTh8PIvr2VkU=; b=JGkNK8UcOMnFNWKoa6cRZV+y7SivGafnHeF2d1bka4Pu1NglG3buGuAzpUtcUXNN/p+4bD Btj4PxiN35e9ifi5Sc4JZsDjcnLY4/wTNmVEpMLdUTieAY2yXqZIG8n1Aucc9ds9wiFqgN E32FxSt6MiXcVbAjViYFnhbBq0vfoaMm9fFPsTOj0PBxZpJCJZ9v4nmWKSKvUGNuuKt52l +hR+P3mruho3KwEH/klPWzWMjac0eMZc+m6tJpdLOoc8Z+Mt8ELSH4v8cPtibE9wnxMTYF kfWL+qYNp95xzSdE3h4giw3mh8+oFsbAjsyAgh6NZT6UzeTeDfIu+R9t5I/DoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768237906; 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=6VnH+57bXaRVnh/6rBrHtqjE2s/OAz3iTh8PIvr2VkU=; b=BtbhUVtCVhhQS6v9WIsrQ20rMuya3GjlNE46h+7YEsCOAd2kspVKjdB+x5C0LcK7zZnMeY cHaCY7sRuxpcuMq2qmX6C8Oii6ZYQ5AErGB+BZS2k+Biec8BWpDetR4A+ZFnjJAZMD+v3+ zUQsX8w5JqvEB/oRfJtbT56Dylnz3yGkItkV+L/7zRNuzyU2Mj0JInroya6cRALYtEmqS+ Oy+Jx+tbj70pOTkymOfsyLENjOIbGv8JwJIMNXTdfskQa4SitG61lA5htENDhynMM1xzWQ 20PI300Ksz9WtRo69ISSAp6KuYPWJ5BMbZ8hUdie/oyHkvzM9g3B7GKy+urv4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768237906; a=rsa-sha256; cv=none; b=JbnQh0aVuORiECaPuEd7Chy/f5B9XsgVCjqxL7qiu+UJAZQ8PFclUBOrem7rTGgd1dv1u0 B2Q1q9llI20zII/SfdFSGdhabdk/2oq0qvpawpyLhhrVb5YkDT3x+NEKY5uu0OTdmmLU93 uVxrRNiiW37wubfU1krb4xTmAd+TI1c4nln3GQm/vgsB6thXGcWx+Udhfwda4GyjgCYRXC CjIQcB8aCxbo4W4Ki4CNZngADA/qyCP+5OOlGrzak8DQlEmUcQ5U5CYefLhe9J+OyUjUlV 535ao3dJS0yx3khcsYjm5mwinruQADMBhm+qVm/strbCXgip8qcdGCFP/jBY2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqf7656mMzbT1 for ; Mon, 12 Jan 2026 17:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37ea1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:11:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: b0c2236f0390 - main - etcupdate: tests: Fix tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0c2236f0390ac4a04da2c4b9cd5ecd6bd80d53c Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:11:46 +0000 Message-Id: <69652b52.37ea1.247a03d6@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=b0c2236f0390ac4a04da2c4b9cd5ecd6bd80d53c commit b0c2236f0390ac4a04da2c4b9cd5ecd6bd80d53c Author: Jose Luis Duran AuthorDate: 2026-01-12 05:09:28 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-12 17:10:48 +0000 etcupdate: tests: Fix tests Fix test login.conf files and update their MD5 checksums. PR: 291649 Reviewed by: imp Fixes: 54ce6b2c4c16 ("login.conf.5: Remove mention of login copyright setting") Pull Request: https://github.com/freebsd/freebsd-src/pull/1962 --- usr.sbin/etcupdate/tests/conflicts_test.sh | 5 +++-- usr.sbin/etcupdate/tests/tests_test.sh | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/usr.sbin/etcupdate/tests/conflicts_test.sh b/usr.sbin/etcupdate/tests/conflicts_test.sh index a2ccabaa17ee..ea59ac7a8485 100644 --- a/usr.sbin/etcupdate/tests/conflicts_test.sh +++ b/usr.sbin/etcupdate/tests/conflicts_test.sh @@ -80,6 +80,7 @@ EOF cat > $NEW/etc/login.conf < $TEST/etc/login.conf </dev/null -file /etc/login.conf "" 7774a0f9a3a372c7c109c32fd31c4b6b +file /etc/login.conf "" b139b1ab44a6933659246ac4401fcbe4 file /etc/login.conf.db resolved /etc/login.conf @@ -251,7 +252,7 @@ EOF echo 'r' | $COMMAND resolve -d $WORKDIR -D $TEST >/dev/null -file /etc/login.conf "" 966e25984b9b63da8eaac8479dcb0d4d +file /etc/login.conf "" 95de92ea3f1bb1bf4f612a8b5908cddd file /etc/login.conf.db resolved /etc/login.conf diff --git a/usr.sbin/etcupdate/tests/tests_test.sh b/usr.sbin/etcupdate/tests/tests_test.sh index 71c78869e89e..37ad901e5b9d 100644 --- a/usr.sbin/etcupdate/tests/tests_test.sh +++ b/usr.sbin/etcupdate/tests/tests_test.sh @@ -596,6 +596,7 @@ EOF cat > $NEW/etc/login.conf <; Mon, 12 Jan 2026 17:58: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqg8x35vHz3G8V for ; Mon, 12 Jan 2026 17:58:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240705; 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=40B9nGFq4aDs7rKEgv6HkQQ+gpdGeQ45glqUcrZ681Y=; b=VxNJAfXL0AKPhdtUu/UadWj1xAvRrI33Hvhurh4eYzQSqEKKFaSwLAgnlKsy6+h+S5slNq a+rI/3cy2W+UWrE72DtquWPsuuj2NlRmRANXWvZTWP+RKiQ/JvC01hemYmC2ioQhcANzoh 8ymvfNznq3rvTB35Dw5ql6oc1orzmmUa2R0akYiJbtKyH44bhRnYjGg3Q6QwxdaqXVkZ4x iQs106YsbfEggXVYblXjUVoAJaAZeQ2nDDXvJKHfKYdMAaU+3bIz56nUyE6q0Rl6TP+sZZ x6I4Io9DeMnV4YEPjxgmA7VoJ4clwjCCeTe7p+F69UMPmaVTz3KVwB6CAzvVsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240705; 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=40B9nGFq4aDs7rKEgv6HkQQ+gpdGeQ45glqUcrZ681Y=; b=a9FjI5k0i1FvcWDdXADYehFZxLSR8QpoStx3ui9TLWvzFl2Z59bJQBoOiTyhSi7APZZYzB WG31aPt6lhbCm7YHKmRsZYV/1s2H+IZS2xsCY0KHrV6NhuvTs7oa7uvr/hjKcnSBAV2o5Q V+TeM245YPix1LPm3pCC196287UnQl+dx0I/8yddp+73E8DM8hGF53DBKLZeBhFN/b44kl VcnjR+FUpC5gEYbGTzNX0wCwhL/sZAGUayA7vxd5ql/vuZT5/M6FDEMLf9CczqArQjAStL Evt/4DrCCwNK5UwI4a3sb/YGw3Ap7M9msI5EA1D2CNIrFQ3YHAu4GWpZ6tUr+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768240705; a=rsa-sha256; cv=none; b=Y0aqY92BjY7wYlMmgucttN4srUoVcSUa1ArBVR07KA+T9Gneah8R8oiv9XUwK2dVzrcolN 3GVB6/mESXYXMl/94osPmI/EoBW7FOO93CffAvImFBaOMWoa7E2bU2VNFrxNVCbGGKCUA8 V3LQzf1xcEGiGRibw1ittLUcDjCTwW/ML9JxIUw3FQCqrdrYEsD1ktaNINKD7QXgVjFwBv 7SGjhFuY2O6yGpzKeMvtAsLx7OSYg3kyBUL65jdc9u4PRFXGjTrX0xMfi6PKJs43m8RarA XxP576+Q2Z64YEv6NznaD+fsq2VE5XsWxC5XLLW/on1d3WWJMbHa90siQGVOeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqg8x2TNRzdDW for ; Mon, 12 Jan 2026 17:58:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ad6f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:58:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Hall Subject: git: 1971c31c537f - main - RELNOTES: Revert back to commit hash in commit a3f28d70969c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrhall X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1971c31c537fd638f3a27eb4c3aca5183a970559 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:58:25 +0000 Message-Id: <69653641.3ad6f.50aced07@gitrepo.freebsd.org> The branch main has been updated by jrhall: URL: https://cgit.FreeBSD.org/src/commit/?id=1971c31c537fd638f3a27eb4c3aca5183a970559 commit 1971c31c537fd638f3a27eb4c3aca5183a970559 Author: John Hall AuthorDate: 2026-01-12 17:56:02 +0000 Commit: John Hall CommitDate: 2026-01-12 17:57:55 +0000 RELNOTES: Revert back to commit hash in commit a3f28d70969c inadvertently changed the commit hash to the commit on stable/15 --- RELNOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELNOTES b/RELNOTES index 08a5acb62e57..d014f5adce44 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,7 +10,7 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. -256d05617c71: +c558eca47970: The smartpqi(4) driver was updated to vendor version 4660.0.2002 for the SmartArry storage controllers. From nobody Mon Jan 12 18:18:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqgc52WHVz6NvKl for ; Mon, 12 Jan 2026 18:18: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqgc46hJ2z3KWy for ; Mon, 12 Jan 2026 18:18:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768241908; 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=DEJ/RcXgiY4CN6MioTHy/gIW/MaohhLtyN30bIrZcuM=; b=Kb+9kbDVkFE+I/1uVz4SLz3QX4rAJ1TIDP6j+EmTa8ran2e98FHmlpPEP3y/nU95w8Jh/h ECj/jHM5waNHct2FIzZddMt1LpkFm/5z3rqPa1PVXdwDy9/vuhF/WwoViue9XNGZe21IZs gv5Pc5GZQWbAPLXS2jLgtgitQI4qCLlej5h+HWpVCLI/YqZAmDjoY4yLDa7vCLLrV0+JkF cgxS8uWOv5RnOwH7gvj1/oOuyCTvezmp1s5jrHDuZ79eYoUW2uqcuhZzqzZ1oW9k8PHTzn cTkLSlQd3Dfl+msYY6vtZzcpnDoIs1LClQ96OBJTjFT7KhsBQLD0vJDpIuQv8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768241908; 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=DEJ/RcXgiY4CN6MioTHy/gIW/MaohhLtyN30bIrZcuM=; b=jQ16uFld7mE6+fGWKR7Pvka1oVkBi0noFkfSRv1bF9vzCo47FghTVUXmbHOSCYvqifouOs iT1JUZ70rVCvA7+PVC36xPHSsoNZfvBCIwsf2Axi2D20fQ+3Bbk68+mvuO2Zlkq2FW/jeh lpE3ESabuORPj11NwiYkvgaHOPpBtoxlYxxeWyc/EqKuu705MgHbPKDmB8uFkI3aFvPyUA WYG5cBUkDpxJ/+KFTt/OKHlzuy9867ETOgY6esTftm4Fle+Hmiqsd96+zkWfdPTelYpQl+ v5bsmR7u2mhQukzZXYyCL8UwibH0BFA5ktXIUgE7g5jqI4PSpiFAt+s96PIISw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768241908; a=rsa-sha256; cv=none; b=dbbc6UNWVVB+a3z1UEcbTacYd/fKfeox5rfpNcAUqwoeqPxMXCSFCAjssZH+8XQXMsYwiv 2S3E3CbpZN121zQT+L4sIuo8JMj9hUlwGRKtZV/Zl7O0Zwa9k39fM2a0OOOoEBLoGtChk8 5cTaq71eSLQGG7foXU8p5vW+RAJ9GKvgV7BKrIcJSSw8DRccyFMwPVayLhLXc6apjrq3mF G+Zb4hye370M7pzCogUDIoQyN4TBE9KzYqmFU95f4ryWuv8ZKpDN/yvUrrsfbkHvGWI3Nn yoyQwN7MayMnafdP9L8G4f6XjBHJ/qgg9fUXn5rrwBRcPeH+cpvMsV8YW/gdFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqgc45ypLzdrc for ; Mon, 12 Jan 2026 18:18:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c559 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 18:18:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: a551b0524953 - main - tarfs: tests: Increase timeout (again) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a551b0524953cbfa4f1035c6d968623e64f4436a Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 18:18:28 +0000 Message-Id: <69653af4.3c559.38886bca@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=a551b0524953cbfa4f1035c6d968623e64f4436a commit a551b0524953cbfa4f1035c6d968623e64f4436a Author: Jose Luis Duran AuthorDate: 2026-01-12 18:15:10 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-12 18:17:01 +0000 tarfs: tests: Increase timeout (again) Bump the timeout value (a little more), to avoid cutoff on emulated architectures on ci.freebsd.org. Reported by: Jenkins Fixes: 47015e454661 ("tests: Increase timeout") MFC after: 3 days --- tests/sys/fs/tarfs/tarfs_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/fs/tarfs/tarfs_test.sh b/tests/sys/fs/tarfs/tarfs_test.sh index 3a95263aeda9..9405697ab21f 100644 --- a/tests/sys/fs/tarfs/tarfs_test.sh +++ b/tests/sys/fs/tarfs/tarfs_test.sh @@ -401,7 +401,7 @@ tarfs_large_head() { atf_set "descr" "Test support for large files" atf_set "require.user" "root" atf_set "require.kmods" "tarfs" - atf_set "timeout" "900" + atf_set "timeout" "1200" } tarfs_large_body() { tarfs_setup From nobody Mon Jan 12 18:47:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqhFr5tHyz6Nx5n for ; Mon, 12 Jan 2026 18:47: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqhFr59bhz3NFj for ; Mon, 12 Jan 2026 18:47:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768243664; 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=RbDrXuzWY+Ja4HSDA6iGFi3z7VTwOgU8RmdgbMApHYE=; b=hWFyl6UvD/57+UnxJ/gwUmgQUM71v0XL9C/wP4DQ2sCr7SPsoKBhqqbz5kSkVxbcdNBc5t c/xxoptW5cRsS1pB3OzPJjyQyLtFd5U3mfvLmf9dzDlquZvof4bxKl8xp3N/qzV/3Nu7vZ zk8ojBXlhrhGfTl0d4TEixmB6pkl5+6L++2uMZbkUnArzKtGUABzxz6xzuy2Key8LoTdvV ndgDP3so07QqTp0Cte4JFUvdC1U7EgcfdICv+AaYLA4UjN3feMyrS1n3RafaPVLkyIsvOz lS2TW+mo7K3DObfpT6Roqwsmah5TcmbtXudbZGgdfX0Rn5RPUw4nS8SsXc8mEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768243664; 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=RbDrXuzWY+Ja4HSDA6iGFi3z7VTwOgU8RmdgbMApHYE=; b=TU72oM6zpQUmGR41gPKDi/DR9eacRTSHYl09q9Fz9MgpeX6t8jHQxUQT6wzFbxcPQOfsEt 67Xhrlts85P+46ApZJVPTnLeGuQwYgCe70czlRUDNSjiH+ywoPvGJbN6GDPOIVt8aRnqwH aNheWaKZFHAwdn+VVeSBBp275nnmqfdAyGBRRB7mQFzJmILIFG4TnDLB01T6S6hSdND+kN VQP2zuswwZcn5AgsX67qmpmpiaMGX+aRb60X2d6hymgCnsTI4ZvaLoP78uuPon+RkeqOOA vWwfvWaPBXrfZGZgMorMfyFFzYTtF6ekSHCiNwCnw+5RLMQFTkzGv53BADOndA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768243664; a=rsa-sha256; cv=none; b=DvAmwJzMo8tBtCzFccudGg7EMRyCcGhR7JVtG6MligK5KHhJSCqSf9WMsx9gBSC3R4ClDD Ptx8Xqv80lJBGet9N1MGblgxsN9V8DSqRYDk6c7ZZ2NdAFETg5EzUakx0GgPkYDc0+mcWB 4/82u+ZpkiCYGiwKBRcoIQHhx6Z0U5VUiNb+Lfvz4JCFjtcA3FNHCZJRcPYaA653r0UxnK VsIbNBTBeKJv4jbLkkoR1RmmN592OW3s4yHTy9KhXbROe73zlAWsGT6ZgxiqB3WTETfXsK sf23Ep+qfi0y2YmOPECsCOAtttRvMzNdgdgoyBQvwxi4fEzATXx4TZqasaE26w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqhFr4GYWzfV6 for ; Mon, 12 Jan 2026 18:47:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f439 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 18:47:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: dac74b20c706 - main - bsdinstall: Drop "Technology preview" from package sets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dac74b20c706b1f73986fb40dac27ed85c1d2850 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 18:47:44 +0000 Message-Id: <696541d0.3f439.7d9d807f@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=dac74b20c706b1f73986fb40dac27ed85c1d2850 commit dac74b20c706b1f73986fb40dac27ed85c1d2850 Author: Ed Maste AuthorDate: 2025-12-09 20:29:05 +0000 Commit: Ed Maste CommitDate: 2026-01-12 18:47:38 +0000 bsdinstall: Drop "Technology preview" from package sets And refer to dist sets as "legacy." This matches our expectation for FreeBSD 16.0. Reviewed by: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54156 --- 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 2204b33ae105..e9d6da149a85 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 "Distribution Sets" --no-label "Packages (Tech Preview)" --yesno \ + --yes-label "Distribution Sets" --no-label "Packages" --yesno \ $PKGBASE_DEFAULT_BUTTON \ - "Would you like to install the base system using traditional distribution sets or packages (technology preview)?" 0 0 + "Would you like to install the base system using legacy distribution sets or packages?" 0 0 if [ $? -eq 1 ]; then PKGBASE=yes fi diff --git a/usr.sbin/bsdinstall/scripts/jail b/usr.sbin/bsdinstall/scripts/jail index e4238ac0a687..5ebeb3eeeacd 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 "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 + --yes-label "Distribution Sets" --no-label "Packages" --yesno \ + "Would you like to install the base system using legacy distribution sets or packages?" 0 0 if [ $? -eq 1 ]; then PKGBASE=yes fi From nobody Mon Jan 12 19:34:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqjHz4jF6z6P0Wj for ; Mon, 12 Jan 2026 19:34: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqjHz3lSlz3Tsn for ; Mon, 12 Jan 2026 19:34:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768246479; 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=R/7XbcZA8iF4Sd+cqWOMGR3aGuVKpIxLXA36EXuazAM=; b=FmM3FGYanN7oF7onHWEz1ypyijYv53gNru3FY84SBOG1Ky6Ig8UC0zn7sm2l651FlPMaTl SImHBXShp5NOYGMNywQDjE1ovaOfjRfduAO++yjrzS/5gS+sHjX5Xal9UJreJO8F/1UfR/ sUP/aYwbJO7vYfAFZuT1wYoSMqvhymzBphBpidN1VEkGsKDfewIZbZQ6znASG7D/T0bhqE 5FENweqNVpa1EbtwctBqEES4lJrW6k343W2LdxPpvVZB5FLgjVsW424VsepqbQ64U2Odqu XK4eP704MK+wn+4JL0yf/tt84bSIFBixPIh2Cee/rIrRQynEwKrZ+oD3lZCMpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768246479; 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=R/7XbcZA8iF4Sd+cqWOMGR3aGuVKpIxLXA36EXuazAM=; b=qOB2HF5pZ6RvZGceSYnEF7jHPpsIGzfdzSyT7hiCixVyDtmrr7ZlnsnJFS38uup1yokDHY VKF6GJwWCcYojyiKLifdUHwW743vBjMxDwCB5bWDxtiMX2Zif0oXEMUwfjyOwkwFgxsdne iqKQnOZZpPWgh+HX5F3mAvSHd/S9iqwktYbD+tiJZJSXktczv5a6pWKeC/eEBSZOjQpKgS CgcV+T8zpKFCJ+xXYakRlCCbCNkt/RBZh9JIQ+nyrSzMdehvKdPzqvaXcQFS3wDUi/X/ck iDsfRQNoSyak0Y3yoLxOnMrcZabZ40NVhR9rxyBRmUUJ3NtI6AoFVfEjmmY5wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768246479; a=rsa-sha256; cv=none; b=ql3j9dsTRne/Z/7jP793sWMQ5OcnDvC7d53SU0jNI5KUv5BHaq67GE0v4Mfg0vs8RMiKf8 3GImUHCX4Jz/cpqQD+4LEBXj632KhSym+CqFRzrATVM18mZQ+eHJkHz354ewZkCW+SqbOi RImHI+wcJYahEA6dd41SqeBorf9pX02fJfB422Cm2bRKIh/M3XFJCuNWvEEZbAIWrUatKk A3nPxUs79FMbJa6FmvpPsrbmgRBK6In/Ic50fHTwEjjxyD+dUZuIQr1J+skS6bbL6618aN C9C7caAwOU33kZys8/orTOXu0WTCbau1FVz1yUTmSZQ1uoB7LWg/2w6R/SDVeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqjHz34c3zgpS for ; Mon, 12 Jan 2026 19:34:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45d80 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 19:34:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 3f2f3c52e6f1 - main - src.conf.5: Regen after addition of MK_SOUND List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f2f3c52e6f192df435bdb5861018402ec1167d0 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 19:34:39 +0000 Message-Id: <69654ccf.45d80.71d7add6@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3f2f3c52e6f192df435bdb5861018402ec1167d0 commit 3f2f3c52e6f192df435bdb5861018402ec1167d0 Author: Ed Maste AuthorDate: 2026-01-12 19:33:15 +0000 Commit: Ed Maste CommitDate: 2026-01-12 19:33:15 +0000 src.conf.5: Regen after addition of MK_SOUND A description for WITHOUT_SOUND is still missing though. --- share/man/man5/src.conf.5 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index eaed8f9e3fb0..81c1b3e88dc3 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd December 29, 2025 +.Dd January 12, 2026 .Dt SRC.CONF 5 .Os .Sh NAME @@ -530,6 +530,12 @@ CTF data encapsulates a reduced form of debugging information similar to DWARF and the venerable stabs and is required for DTrace. .It Va WITHOUT_CUSE Do not build CUSE-related programs and libraries. +When set, it enforces these options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_SOUND +.El .It Va WITHOUT_CXGBETOOL Do not build .Xr cxgbetool 8 From nobody Mon Jan 12 20:19:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqkJ13Q7Lz6P35n for ; Mon, 12 Jan 2026 20:19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqkJ11Gjlz3bfg for ; Mon, 12 Jan 2026 20:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768249185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QUS3nlmk3lohmiVZSdcgc5AwFgzkvmqs/X+xkWyHMmE=; b=SOwBWOxAs8EV/9RFTQQ/0IgI3MQYP/xqPc0K/Dl4LAOCatno8I3gRdF+PGewmQXydH/tB1 DvMod4GYnTU1gBkaRjGYoZQva5YcKCBsKxZ5+xtScIYiwhL3nRnLf536NxyqLHWeGTmoQB GRjwocsewcn9hOTjq0UAZwiH1NAiBIwrOz5LhYLBlghkIIICFySuaIuSvbPk0XSEpqN0Fd f/RsWZtdBsQtdqgFJVN6ibAHO+eUxRp6cliP0FOgIrF0oBJmRrZuXrikKiTA2+2WxOUwYU ToEraLT7FW/D/DcyTbemeK6r2pWZ8Y1xvPXN51DjAwRmmpasrxdM2Fz9jSfWWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768249185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QUS3nlmk3lohmiVZSdcgc5AwFgzkvmqs/X+xkWyHMmE=; b=Kr8SzIprufoFCukvIfDFTNMNfDPIHgq8dPEIQajK0xiRtQHgg+a7TyBwKgJcc6pJPVYMod /vsV0JJy572OFzqUwLztrq+pQ9jQYzUU1CnX6aQNgcrpKHAOSjkN2vaDzX4fFGuz76VLzA A/Z2U2ckcbPXYq1yag/j3wQjB+5gmQOVjfd06XEFM+iq94JYSeBguoYtstp7JnuXJ35v+3 w9c55KPnJM3z4FCkopyqoS4xxuRTB6CvCVufxviybuNOLuect8Tzvu5Das3S7vfN6nXCC3 Mc46gLzuJgKMXCOAHGJ5hoo76aabhFGqTbSne0KwsvQNyxJJkjr0Kb1N6NCfnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768249185; a=rsa-sha256; cv=none; b=qHSUvQJw39pT/fDSrHxcDCeCH0CtO8g3r77d2p2skSDtf1y9yLG/uupucrVzk4UOYx4fe4 h/yOnDBsv+xeZ4fybTB6f1DaM9hxBGnDUjnlnxqFtpF++6eh8KTQlGkGFaa36NMmhlx0n3 Omm2aef7Yloje9gVINzYLE8SE0uj9/nZcLJ0CrqKU1vQ1Xze4yBjOaUtRrUHSd4uExZTQw 5YpeKeQRarTsSA3RfOUpZ6eU3fceJcSt+zsovd01F4tdz5o9U0Ezqc72muzKBuy7vVneiW yuagGx87ySfKaoFBalykvYRwjFMqCFBmvrkcWj3YJbWDWj7fBF340nLac94UeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqkJ06w4kzj5b for ; Mon, 12 Jan 2026 20:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8d99 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 20:19:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: NVSRahul From: Warner Losh Subject: git: babc4d8f70de - main - rc: Improve os-release URLs and add rc.conf overrides List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: babc4d8f70de9dcca3262ca94a777fa3bb6116ff Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 20:19:44 +0000 Message-Id: <69655760.8d99.3b88f345@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=babc4d8f70de9dcca3262ca94a777fa3bb6116ff commit babc4d8f70de9dcca3262ca94a777fa3bb6116ff Author: NVSRahul AuthorDate: 2026-01-11 18:15:00 +0000 Commit: Warner Losh CommitDate: 2026-01-12 19:43:34 +0000 rc: Improve os-release URLs and add rc.conf overrides Add DOCUMENTATION_URL and SUPPORT_URL to the generated /var/run/os-release file, and route the existing URLs through rc.conf-configurable variables: - osrelease_home_url - osrelease_documentation_url - osrelease_support_url - osrelease_bug_report_url This allows downstreams and appliance vendors to customize these URLs without patching the base script, while providing useful defaults for stock FreeBSD installations. Tested: - sh -n libexec/rc/rc.d/os-release - (No FreeBSD host available; not runtime-tested yet) Signed-off-by: NVSRahul Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1961 --- libexec/rc/rc.d/os-release | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.d/os-release b/libexec/rc/rc.d/os-release index 0f8ee71e06b4..adaa8547913c 100755 --- a/libexec/rc/rc.d/os-release +++ b/libexec/rc/rc.d/os-release @@ -10,6 +10,10 @@ : ${osrelease_file:=/var/run/os-release} : ${osrelease_perms:=444} +: ${osrelease_home_url:="https://www.FreeBSD.org"} +: ${osrelease_documentation_url:="https://docs.FreeBSD.org"} +: ${osrelease_support_url:="https://www.FreeBSD.org/support"} +: ${osrelease_bug_report_url:="https://bugs.FreeBSD.org"} name="osrelease" desc="Update ${osrelease_file}" rcvar="osrelease_enable" @@ -32,8 +36,10 @@ osrelease_start() ANSI_COLOR="0;31" PRETTY_NAME="FreeBSD $_version" CPE_NAME="cpe:/o:freebsd:freebsd:$_version_id" - HOME_URL="https://FreeBSD.org/" - BUG_REPORT_URL="https://bugs.FreeBSD.org/" + HOME_URL="${osrelease_home_url}" + DOCUMENTATION_URL="${osrelease_documentation_url}" + SUPPORT_URL="${osrelease_support_url}" + BUG_REPORT_URL="${osrelease_bug_report_url}" __EOF__ install -C -o root -g wheel -m ${osrelease_perms} "$t" "${osrelease_file}" rm -f "$t" From nobody Mon Jan 12 20:19:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqkJ225Jpz6P2h0 for ; Mon, 12 Jan 2026 20:19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqkJ20TDhz3bqK for ; Mon, 12 Jan 2026 20:19:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768249186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b43ZjE7tZEWIpZTskTlyGYll02hy5pp7Y9n7hkuYViQ=; b=ux6Fyk5EEqSgKbNC6XelR6+3leibCvI2oYc5kouKa8jsL/PAg/3uqzblMs9zQNCtO8/dNG 7b+eJM5HghcWPm7yDy8V4FVOv8jNfFr7wL0pTFNk/mod4jyP2gh+4BVr1b7S3mQlXvjP2/ oWmz47uB1qLjsYR9uLm7CzMvwXeZvRTBBxsQULm1YWuPcqqnxoH/9fy+J7x6OGwFNhb8gc rPMjkEmZvgi9tybBP3t7/ptbGxG1qo26e0yK9dQ/83J4uOaK9n21cyaW9JpvuRjC07HcOz Hj5+QQ5lMYvnKMPk9cRbqhQ9J9myPv9e/TxndMRlJDw+QFMHlJoWDSFlphAJyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768249186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b43ZjE7tZEWIpZTskTlyGYll02hy5pp7Y9n7hkuYViQ=; b=ZpMaeiX/M0uACDCoUjliXVdLL2kRa9jnVvsKS3QIAn7D6PJcu39GoMrW0XKm/JcQuMKzl0 8ncVws3AQQDI4S7Cf+VKgOKrgUoXIhrjV2nUEAksQcsxaYSOKtL9pwZmgLf5zCGPbGOmxR PFc9DRGCH5lT6R1UxR5YntaZ2EOx9B25+utoILyy1DNhpB+ycSpzB5io4wKyLc/O44HOkC oyC5rs0iU0AgpTfUMjEGA3U1slZ6LJwrZHl0QXDqenSfTRvqj0hEuIa7kUIuz9r0AH7YUL 5zCPvqL74cBOfEuivbGstMNL9sbXm+mykQFl6wvZvGDyFm3mzx+DssjDh47t2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768249186; a=rsa-sha256; cv=none; b=OpEjNRaIlp7u9zfAAVgBAxQYziuYyP1wOeuKjIcj6ZbvczVfcJP7S6yAvZ+LNucAtxh4cR fGY1iVvvqG0OHWHyfwUwVr7itfmzXoQ8zvDDOC+XFOntbO1/v3apkptn90bwQtibXt3vDm ER0+/TD6lb0WEzQTJIz6i7FpfYG4ldNmluf06JTp1nSTStJZ4J+W0MKUSZ+C7DMdpIgcK1 BUJr2shsG8bmYJ7nQmzlxjI7iA4bGjSxCHVh7BC8yqTiONMrbaNe5AXTA4vmq+X1eCmgpW QxoAr+4ktApqj/6aeDyCVkQ+XYogujE1VoURsfWTjADZSRlzCP5qjJv0Wheytg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqkJ172H4zj3r for ; Mon, 12 Jan 2026 20:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 92c2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 20:19:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: NVSRahul From: Warner Losh Subject: git: ced7f29dece3 - main - rc: Add os-release URL rc.conf variables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ced7f29dece3d27785c5037b8aa36e5d48d34b3d Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 20:19:45 +0000 Message-Id: <69655761.92c2.2b84099e@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ced7f29dece3d27785c5037b8aa36e5d48d34b3d commit ced7f29dece3d27785c5037b8aa36e5d48d34b3d Author: NVSRahul AuthorDate: 2026-01-12 01:42:20 +0000 Commit: Warner Losh CommitDate: 2026-01-12 19:43:36 +0000 rc: Add os-release URL rc.conf variables Add rc.conf defaults for the os-release URL settings introduced in the os-release rc.d script. This makes it easier for downstream integrators and appliances to override the URLs via rc.conf instead of patching the script. The following variables are added to libexec/rc/rc.conf: - osrelease_home_url - osrelease_documentation_url - osrelease_support_url - osrelease_bug_report_url These correspond to HOME_URL, DOCUMENTATION_URL, SUPPORT_URL, and BUG_REPORT_URL in the generated os-release file. Signed-off-by: NVSRahul Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1961 --- libexec/rc/rc.conf | 4 ++++ libexec/rc/rc.d/os-release | 15 ++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index e8f146807f33..2ecaf642d574 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -705,6 +705,10 @@ harvest_mask="4607" # Entropy device harvests all but the very invasive sources. osrelease_enable="YES" # Update /var/run/os-release on boot (or NO). osrelease_file="/var/run/os-release" # File to update for os-release. osrelease_perms="444" # Default permission for os-release file. +osrelease_home_url="https://FreeBSD.org" # HOME_URL in /var/run/os-release. +osrelease_documentation_url="https://docs.FreeBSD.org" # DOCUMENTATION_URL in /var/run/os-release. +osrelease_support_url="https://www.FreeBSD.org/support" # SUPPORT_URL in /var/run/os-release. +osrelease_bug_report_url="https://bugs.FreeBSD.org" # BUG_REPORT_URL in /var/run/os-release. dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot dmesg_umask="022" # Default umask for /var/run/dmesg.boot file. watchdogd_enable="NO" # Start the software watchdog daemon diff --git a/libexec/rc/rc.d/os-release b/libexec/rc/rc.d/os-release index adaa8547913c..43af666614ac 100755 --- a/libexec/rc/rc.d/os-release +++ b/libexec/rc/rc.d/os-release @@ -8,17 +8,20 @@ . /etc/rc.subr +name="osrelease" +desc="os-release update" +rcvar="osrelease_enable" +start_cmd="osrelease_start" +stop_cmd=":" + +load_rc_config $name + : ${osrelease_file:=/var/run/os-release} : ${osrelease_perms:=444} : ${osrelease_home_url:="https://www.FreeBSD.org"} : ${osrelease_documentation_url:="https://docs.FreeBSD.org"} : ${osrelease_support_url:="https://www.FreeBSD.org/support"} : ${osrelease_bug_report_url:="https://bugs.FreeBSD.org"} -name="osrelease" -desc="Update ${osrelease_file}" -rcvar="osrelease_enable" -start_cmd="osrelease_start" -stop_cmd=":" osrelease_start() { @@ -46,8 +49,6 @@ __EOF__ startmsg 'done.' } -load_rc_config $name - # doesn't make sense to run in a svcj: config setting osrelease_svcj="NO" From nobody Mon Jan 12 21:18:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqlbk04FHz6P65T for ; Mon, 12 Jan 2026 21:18: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqlbj6FP6z3k2F for ; Mon, 12 Jan 2026 21:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768252705; 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=1Y7G0o3po/hjNJv2RMyIWQWnlRAwOrVWe7Y5Q9pqiy0=; b=XREx8igPEM+NUkeVuqWNqRAHPhwzaIFONaGHKsDhEjIePDEND0P6jUDz51Z+Trw06UUXFO Hieh8rbOBtHPixi11/bJyMhFGY8sVdPE+3oEUy99oIIW4kP/JWrX2zUKu0qmkS9bkTLBCl NdhqcavWQ2f1Oa/kDx80I6QmVkMSDTEd7c7bbdXoND51Wx3cYo8A3GzxI6kHef5zmPPRgR lbtSoSW/4b8VsKtUUqWZsAcOke8TsIGHCgQvUp+mK2Egg+boYe2PG4zmWp+bPAhlFIqcyA Ox7VtobglRJFrkeLAaF4kLdsDhtCMBBJawUjXeO3xnUIWkyqhukS9TJdvIx9mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768252705; 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=1Y7G0o3po/hjNJv2RMyIWQWnlRAwOrVWe7Y5Q9pqiy0=; b=JVFFFpvGANLokcbLu2+G/yicR2BE9+4JTOa0X1/XDiBqb1aHMRZyfwDkvJlC0vSMO1AD6G CD+6f1zj6TULvBRyWusrvxmjFEs97ZPAiJMqQT49I/udXMChGeGWFzC94157DHBfzaO3o7 Rd2dolZlAGabdbpBaSg47LwaO5edpnvcIN78mral0kaGI/xFPvGFqGg0nIsbO+CvXiBqse 4Sz/RN8EoGbzerYS36IwCsat8zY9w60zxBoT/a4uYxqkfUHipeFaIZO79Px2EdYLjcJKih V8IJsa4R++zw3RSQqKhV8fwCTRN/xQH1pauD83nRNjFQqW69yACHW0FvOy6hKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768252705; a=rsa-sha256; cv=none; b=v6oJDsjDpFgBf0hEqZvte1A/gntHriUwq30DYMJA/CsLHUhlsMKWnLrKAl6gozMsXT8VBn dyNleickUmMBPhzXjFXptL9CPphqw4tpZpmYGvO7ldhWL0PsjTz5RLTX65N10olHPILes4 fHrPZijByUQDh+e5jBq3impy5pnaRjLyTSYCeEiKuVRQRRs+txamxHsiC5kiCPJdeZeYiT eZnDmrOn/OHzgUezfvIsfskN4KlQIq93ZFWi9qhBLSj+APRcFmOXxW3sP+QlBFwvUSlK9l oKPU5LpsbGLS78GRCzhA+63osttr3POE79zWPCHmKrFPlKNKHhNKNh5EVoyuFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqlbj5m5Wzk0n for ; Mon, 12 Jan 2026 21:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ec04 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 21:18:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 4cb65fde79a2 - main - wc: Fix usage and manual SYNOPSIS + nits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4cb65fde79a2412558d10fdbf3427fc0e4536d80 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 21:18:25 +0000 Message-Id: <69656521.ec04.473db396@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=4cb65fde79a2412558d10fdbf3427fc0e4536d80 commit 4cb65fde79a2412558d10fdbf3427fc0e4536d80 Author: Alexander Ziaee AuthorDate: 2026-01-12 21:04:54 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-12 21:18:04 +0000 wc: Fix usage and manual SYNOPSIS + nits The -c and -m flags are mututally exclusive. Also minor manual fixes: + Angle quotes do not work in prose, use double quote matching extant + Align manual page options list + Tag SPDX license identifier for manual PR: 292408 MFC after: 3 days --- usr.bin/wc/wc.1 | 12 ++++++++---- usr.bin/wc/wc.c | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/usr.bin/wc/wc.1 b/usr.bin/wc/wc.1 index 656408794950..d41976c1e6d3 100644 --- a/usr.bin/wc/wc.1 +++ b/usr.bin/wc/wc.1 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" @@ -37,7 +40,8 @@ .Sh SYNOPSIS .Nm .Op Fl -libxo -.Op Fl Lclmw +.Op Fl c | Fl m +.Op Fl Llw .Op Ar .Sh DESCRIPTION The @@ -47,10 +51,10 @@ input .Ar file , or standard input (if no file is specified) to the standard output. A line is defined as a string of characters delimited by a -.Aq newline +.Dq newline character. Characters beyond the final -.Aq newline +.Dq newline character will not be included in the line count. .Pp @@ -64,7 +68,7 @@ for all the files is displayed on a separate line after the output for the last file. .Pp The following options are available: -.Bl -tag -width indent +.Bl -tag -width "--libxo" .It Fl -libxo Generate output via .Xr libxo 3 diff --git a/usr.bin/wc/wc.c b/usr.bin/wc/wc.c index 7b83412f3c42..d00a1a64da29 100644 --- a/usr.bin/wc/wc.c +++ b/usr.bin/wc/wc.c @@ -353,6 +353,6 @@ word: gotsp = true; static void usage(void) { - xo_error("usage: wc [-Lclmw] [file ...]\n"); + xo_error("usage: wc [-c | -m] [-Llw] [file ...]\n"); exit(EXIT_FAILURE); } From nobody Tue Jan 13 01:50:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqsfH1Vpvz6N9jH for ; Tue, 13 Jan 2026 01:51:03 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqsfG0S2wz4Gfq for ; Tue, 13 Jan 2026 01:51:02 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=Ab2QFXPO; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2a00:1450:4864:20::52c as permitted sender) smtp.mailfrom=rick.macklem@gmail.com Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-64d4d8b3ad7so11448314a12.2 for ; Mon, 12 Jan 2026 17:51:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768269054; x=1768873854; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KqiXvsRsPB5+EOI3qXbJXn3K53oxYhFpDyl7hYyPhXg=; b=Ab2QFXPOhkxPK4iBjrGQnEYvFxj6sx9xWyY+2EDISJ71vliwXbe1CQ9AwUiSXrTlIx CRBIS13gkm7BxKOrkwSIATkR4iL3icBdDV1Bch0F4aR35RMSk54/4FgKkE0SuqdRTwqh 5QVZAs+fOQvESdtbX6Vq75nlQJO/SQ8iDkeukMQsycc8faXNpmx6IktxPm2giZDtkwTk rgDWK0kO1L3Pl6Vm9wIe37CxU82QDt57NwqJaZ6SfrbtgfJCCUgbNmftF4aesxton7SP MgphxkJlyD7AOXb4ZEZYv6NCS6VgGWfEvNpqu04kml2KLe1JyvsLpPVfKgqrkzM5pcJt wuAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768269054; x=1768873854; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KqiXvsRsPB5+EOI3qXbJXn3K53oxYhFpDyl7hYyPhXg=; b=uNzWFDMJ2QeS0dEGO8QVmcQrO07kHO33m6G2aO9q91q3jZzHqb53TGvODvK1S+75mm ikswug8cZSaORWz8wMrWpj/nHESK4A+U5N7fnofyK5ssH0VWSxDwp5dp3Qmen8yhgr9d 3iBx8TeHRPjuCpj+xPSr7yT2XQxTXHrqTa+8u5YVTHfDVdvw5JG8CdW8DIfqHqZCoHxG ZuSeBPGCmItkX8UHoXriPk4aFVGPVfj0Q0oBcjezKlsu/ap2E6nP51aTzYbD1ACcjQSt vzJBLDKHWWNLRcrqUVd858CIhdoEX0jDsOnZJpDv75Gy95B38yE4kyI1me6vlukUnkFc vFXg== X-Forwarded-Encrypted: i=1; AJvYcCXlmfQ4dD3p5MWTxwz++7k/cu0QY9FnzNj71Xi9aOMwRAW3uzSJtmidg8ORQUCGI7wIGmXSX04ZfRwzt3KTWVTxDrOcDw==@freebsd.org X-Gm-Message-State: AOJu0YzeqPlAzMbCSH0k7VkIVGgSP1Q0inoa/uPso9pTd8+B/tbBM7qz 6y3N99o2Lroua6N+PtGwRoiifKdzNtjkmwRky5/M3+2JebiV27dMxC1eXy+0RBNnUFj9dK3JQ4s U0bzFVtreKWw5JUTaKE2i59xrNt0PuA== X-Gm-Gg: AY/fxX6UjRQpxkxMzWXVdfcls/4JIE9YM1rPXVyEOeF0/PD8BeFiamvCUxH/A/osUfs N1W5O8u08DgyaqwgHIFP2OiVB7XjvaEIV4vD4IEp4zq5rzGY+y3dCXxao6CbAlUBxP0nbq5Zk3Q GBh/Qq5LD/nrTcFpkjHsaSOKGYr1l2leyr09HMbBaJclg1alya47ZVBql0K8ueFDWNm1d0KbXWn q9Bcqa4/NJcoEYicuZ8W7soNxiBtaSDWhMyR/ImRr819IVy9Pd8r5J/fHqkmN8ZCouOZ39/3yPC 9TfUuT1QJl+WhkY5XDJ7ZTGItkpQDkQ7PZ4EJRc= X-Google-Smtp-Source: AGHT+IFKdD9+y+kLpXqYIpX68F7d+ALIpq933H/2Y9M+oqyc6kOseBC2OQH0mrtVDJV9RA0NRK77W9ylRP4GPrD7X30= X-Received: by 2002:a05:6402:1e90:b0:64c:e9b6:14bb with SMTP id 4fb4d7f45d1cf-65097e6e36emr18821101a12.28.1768269053811; Mon, 12 Jan 2026 17:50:53 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69604cd7.3aebd.7fdcb739@gitrepo.freebsd.org> In-Reply-To: From: Rick Macklem Date: Mon, 12 Jan 2026 17:50:41 -0800 X-Gm-Features: AZwV_QgdwX2qT98ojFw5S0LCG9g1IzlVpXojNfhStmR-rd24CRpf4bRhrSGhjxk Message-ID: Subject: Re: git: a6d57f312f18 - main - nfsd: Fix handling of hidden/system during Open/Create To: Benjamin Kaduk Cc: Benjamin Kaduk , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.994]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,freebsd.org]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::52c:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; MISSING_XM_UA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCPT_COUNT_FIVE(0.00)[6] X-Rspamd-Queue-Id: 4dqsfG0S2wz4Gfq On Fri, Jan 9, 2026 at 3:47=E2=80=AFPM Rick Macklem wrote: > > On Fri, Jan 9, 2026 at 3:42=E2=80=AFPM Benjamin Kaduk wro= te: > > > > On Fri, Jan 09, 2026 at 03:04:33PM -0800, Rick Macklem wrote: > > > On Fri, Jan 9, 2026 at 11:56=E2=80=AFAM Benjamin Kaduk wrote: > > > > > > > > On Thu, Jan 8, 2026 at 4:33=E2=80=AFPM Rick Macklem wrote: > > > >> > > > >> The branch main has been updated by rmacklem: > > > >> > > > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3Da6d57f312f18bbeeda8= a34e99d0a662b0db9a190 > > > >> > > > >> commit a6d57f312f18bbeeda8a34e99d0a662b0db9a190 > > > >> Author: Rick Macklem > > > >> AuthorDate: 2026-01-08 16:27:32 +0000 > > > >> Commit: Rick Macklem > > > >> CommitDate: 2026-01-08 16:27:32 +0000 > > > >> > > > >> nfsd: Fix handling of hidden/system during Open/Create > > > >> > > > >> When an NFSv4.n client specifies settings for the archive, > > > >> hidden and/or system attributes during a Open/Create, the > > > >> Open/Create fails for ZFS. This is caused by ZFS doing > > > >> a secpolicy_xvattr() call, which fails for non-root. > > > >> If this check is bypassed, ZFS panics. > > > >> > > > >> This patch resolves the problem by disabling va_flags > > > >> for the VOP_CREATE() call in the NFSv4.n server and > > > >> then setting the flags with a subsequent VOP_SETATTR(). > > > >> > > > > > > > > The diff doesn't really include enough context to tell -- does this= introduce a race window where a file that's supposed to be hidden and/or s= ystem is visible without that attribute from a different process? > > > I believe that the answer is no. > > > > > > VOP_CREATE() returns the new file's vnode exclusively locked > > > and the update via VOP_SETATTR() happens before the vnode > > > lock is released. > > > > I expected/hoped that that was the case, but just couldn't tell from th= e > > diff itself. > I suppose I should have said that "if there is a race, it is in the FreeB= SD > OpenZFS port and I would consider that a bug". > I am not ZFS guy. Oh, and I forgot to mention "assuming the server doesn't reboot while the RPC is in progress". (The reboot while the RPC is in progress might be handled by ZFS if it was properly patched, but I'm not conversant with the ZFS code and do not understand the details of how the ZIL is used.) rick > > rick > > > > > Thanks! > > > > -Ben From nobody Tue Jan 13 05:33:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqyb12Nvqz6NQWw for ; Tue, 13 Jan 2026 05:33: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqyb11VsWz3J3T for ; Tue, 13 Jan 2026 05:33:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768282413; 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=JhKY9TO4m97zVJuFFyXvHUMq0zw0IEIltqLo2OVZgMs=; b=riPR1OtHDuDXj8+UAPeZEBiZXI41C6bSQvsBS/9rMpA+DstU/Jqlej89CqmI00jZAAblT7 s0QMl//t+/2QkPROHlWcL7OVRNAXjl/K27B35M4NHW8aPKVrlYj28IE0i79yF2EdeYs/YD qa6mIhEeJdJ/wgJ/NZ+BsGlY2vvAI8BOjWD1r101zZ0vWAkg2DLx6nPP0rC2nTsTzDMB86 m1DJ7tnfm9QmCBvD/F3Ty/ysWnrOvTspuMfeYonuhKlqKRl3kiVi8vr/zWjxA77GA+tDS2 X6lA07lfFymPUDMenX0ZDpqkQv70KviNsMSX/QSAvSQywovfW1atlLsNzYPOfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768282413; 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=JhKY9TO4m97zVJuFFyXvHUMq0zw0IEIltqLo2OVZgMs=; b=igeGmBT3LVPxVZgEz1XsAiubxJv5hfeY34YIGH47V0EI0QUCqYUKDsExm9gP88OdQxHkpX 0KNlQOyWl+JsCJgVZqhyoQNwZqmOI9KiiO6q3hf9YxF94DCzEDHTKspXrWwj9GPz28mvZm g8HARzE9ZrjfazydOpXf9jAKoHPkIAjGHOF5o8Wu2+9cBkzctWuCECOwGXy6fhddHGrDOw C54QrEMLAWSg+BZaaR6jOYswK/SD4LOp1RVGxX7WMJaPWbW99Zl3DVX5X7DBQm7z6fponJ 9rP6srWUOXZCzkiMDuw/IwjTchtUnR8mG4cwBtqKfvkZN+y9n2u196iWWeBtvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768282413; a=rsa-sha256; cv=none; b=H8pUcAjWlsVfCzY9sPoWEoVMURua7QBaVhoUUYHr+9qA22cUsN3hqZjP7bpAP5mEAW4j5h LYnxJC8BdnXi0SBZKPZdbbxqXIuFbRNyknL+GflzSzsJeRbBhTagoXKrCbckncL9NQT/Rq jPhKrpkVonjWZhkBVSX6vrvxS4STA21O68gwDI1cUH5CwqV7DhnyrKaQme4OvuOB4F8Uzv Z7uUe2rgRPbAn6GEuYj8kTWFC0YDWC/Xed6HcyEMgwPyqx+h8mMuj/cQeQAlygTOgsXJLQ C72H+ks7ZJvYnBO0qp36eg5nHsC8I5lfFRWUdmORwD3+03PgmtkgGHfOmV1Ssw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqyb10Zb5zyhk for ; Tue, 13 Jan 2026 05:33:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38515 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 05:33:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 17046bc48207 - main - committers-src: Add myself (pouria@) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17046bc48207733f5add478dd7713878f9d30923 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 05:33:33 +0000 Message-Id: <6965d92d.38515.47829def@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=17046bc48207733f5add478dd7713878f9d30923 commit 17046bc48207733f5add478dd7713878f9d30923 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-01-12 11:11:11 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-01-12 21:47:27 +0000 committers-src: Add myself (pouria@) Add myself (pouria@) as new src committer with glebius@ as mentor Reviewed by: glebius Approved by: glebius (mentor) Differential Revision: https://reviews.freebsd.org/D54637 --- .mailmap | 2 ++ share/misc/committers-src.dot | 2 ++ usr.bin/calendar/calendars/calendar.freebsd | 1 + 3 files changed, 5 insertions(+) diff --git a/.mailmap b/.mailmap index c0fc3b05311b..aef009559513 100644 --- a/.mailmap +++ b/.mailmap @@ -23,3 +23,5 @@ Ganael LAPLANCHE Joyu Liao Joyu Liao +Pouria Mousavizadeh Tehrani +Pouria Mousavizadeh Tehrani diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 946d04b7aecc..b0dabb74e335 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -320,6 +320,7 @@ pho [label="Peter Holm\npho@FreeBSD.org\n2008/11/16"] pjd [label="Pawel Jakub Dawidek\npjd@FreeBSD.org\n2004/02/02"] pkelsey [label="Patrick Kelsey\npkelsey@FreeBSD.org\n2014/05/29"] pluknet [label="Sergey Kandaurov\npluknet@FreeBSD.org\n2010/10/05"] +pouria [label="Pouria Mousavizadeh Tehrani\npouria@FreeBSD.org\n2026/01/10"] ps [label="Paul Saab\nps@FreeBSD.org\n2000/02/23"] qingli [label="Qing Li\nqingli@FreeBSD.org\n2005/04/13"] rajeshasp [label="Rajesh Kumar M A\nrajeshasp@FreeBSD.org\n2021/01/27"] @@ -588,6 +589,7 @@ gibbs -> whu glebius -> cy glebius -> mav +glebius -> pouria gnn -> arybchik gnn -> davide diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index b85f2f1dee35..bfcdfe5f9a75 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -280,6 +280,7 @@ 06/30 Guido van Rooij born in Best, Noord-Brabant, the Netherlands, 1965 07/01 Matthew Dillon born in San Francisco, California, United States, 1966 07/01 Mateusz Guzik born in Dołki Górne, Poland, 1986 +07/01 Pouria Mousavizadeh Tehrani born in Tehran, Iran, 2001 07/02 Mark Christopher Ovens born in Preston, Lancashire, United Kingdom, 1958 07/02 Vasil Venelinov Dimov born in Shumen, Bulgaria, 1982 07/04 Motoyuki Konno born in Musashino, Tokyo, Japan, 1969 From nobody Tue Jan 13 05:33:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqyb25qYPz6NQYp for ; Tue, 13 Jan 2026 05:33: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqyb220NHz3JNL for ; Tue, 13 Jan 2026 05:33:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768282414; 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=w1tDMNIjmCMkWfMqf/mv0KTdIY/E3/2rHPVKYCRusKk=; b=fa0J8aZTm/9/HZSQL58zNf51uRo8IcoW20Rrzs7siBfhFi0peBua0zdi3clENOiyE1CIuD cQ2MigEUxUji1u2BYByo4vO8ayTRrgZ9tGHREAl1Ec3mGSckG3MoXJRJGpKxCwrzrEnVb7 yT8FKCmSod3fDS/oHKUdJ768IiWXs3cjhoCGDu3UV8VWD4m8H7WlwITRRZaECYLXMmqlni etDgc3dWQzfnA6E4X9VHlyA4sJEMCUGICEml7TAGuxmCV0JiVKPcoxw2LJw8EW6IM1O6B1 A3WWmuGOTvzMidEVJ8CPcZWhZqS4qMR3aojMk9bWcHQGyOlWD8VI789GgNR9hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768282414; 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=w1tDMNIjmCMkWfMqf/mv0KTdIY/E3/2rHPVKYCRusKk=; b=et2HDiDrYLPnoeWcWmoGxoRjEIOd7LhFGCAY4MHJrA6ctQHTT8A+U5XpLMDeaQz/V6kyV5 tYBMTWOTXzTK5jwzqpDcy7FhvxFWQr/krlfB3PXE5kott9XCpbzFP2r5KVAsytWjrZxnnN 6yIVyf2jK8euUuHmZkXUlec0M4O2v00p6AXB8lj+6IaDFeXq/QIWa3pQYWWwWaCa6+r/Kl Z0J/y4Aot8LIcKDShKgzLBIEqPszfd2YY/xllWd8MBDnwhGDNKXsdxTtpbXL7TosZJQodA CQgUoabD8jS+lERRH011RqrG3NLA8tAzKuy9y3GOzT389ReJSkDWBKvIjOoUOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768282414; a=rsa-sha256; cv=none; b=sfzMWkwojSEdhGZn30T2wD38nt9REflR+r4P8Bfjrz8hfNa2MMykbBDwQ4NTPP5UaMR+FQ CsnMzgcpMK0G+lZ6p50b6PpNDeCKfBOr+rlydVwRqiXDHyzo6MnZIizb/WFALE4+v3WIzG g8CKXWS7G/oYoNbe87oBRZyntmD3dBmWmZ+CiqZH2Imj7oJ7T6KjVfHwGstqK/M8QZ/Q+S aTy2ja+fTFNyNXCYi5MP8WhAeoSWgU2dyHZp2uHWrrjh3tjqfiZeKH2SSNTpfrUN9ImaTo lAPRqypvfbtKy4/u64VutzVVhfehQvICYX1ZuXoVT+O1iNI6AyM3hMXOp5HAIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dqyb21MRYz107d for ; Tue, 13 Jan 2026 05:33:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39280 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 05:33:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 742d93da842a - main - committers-src.dot: Fix dot file format List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 742d93da842afa34c5268e96c6a3f95ad44ae770 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 05:33:34 +0000 Message-Id: <6965d92e.39280.7169194@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=742d93da842afa34c5268e96c6a3f95ad44ae770 commit 742d93da842afa34c5268e96c6a3f95ad44ae770 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-01-12 21:51:21 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-01-12 21:52:35 +0000 committers-src.dot: Fix dot file format Reviewed by: glebius Approved by: glebius (mentor) Fixes: 2059040493fb3f76cd1f06350fd4534a71a1f83c Differential Revision: --- share/misc/committers-src.dot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index b0dabb74e335..349fdfeba645 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -241,7 +241,7 @@ johalun [label="Johannes Lundberg\njohalun@FreeBSD.org\n2019/01/19"] jon [label="Jonathan Chen\njon@FreeBSD.org\n2000/10/17"] jonathan [label="Jonathan Anderson\njonathan@FreeBSD.org\n2010/10/07"] jpaetzel [label="Josh Paetzel\njpaetzel@FreeBSD.org\n2011/01/21"] -jrhall [label="John Hall\njrhall@FreeBSD.org\n2025/11/18" +jrhall [label="John Hall\njrhall@FreeBSD.org\n2025/11/18"] jrtc27 [label="Jessica Clarke\njrtc27@FreeBSD.org\n2020/01/23"] jtl [label="Jonathan T. Looney\njtl@FreeBSD.org\n2015/10/26"] julian [label="Julian Elischer\njulian@FreeBSD.org\n1993/04/19"] From nobody Tue Jan 13 12:51:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dr8Jl4P38z6NsrQ for ; Tue, 13 Jan 2026 12:51: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dr8Jl3Lg4z3rXR for ; Tue, 13 Jan 2026 12:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768308711; 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=jQOsYft75el7bi2iG6B80xye/OdNZ/wC2/AOOyR8Dhs=; b=CI5OpbVy+iiDis/+KtCe1NPCzkgBvB2HFai5/w7japG1w1194TdQLL4IoxqJsi3+pNLI9A jo/3e4d+CP63ESBgiRsNx/MGFvSQ3ZHOcIoz9gyUZOTh0X4S1lmw5XiLTVqP2ESgtB/Dwk hZRHJFyMp+gcRPAPKaJSQcqS2mqREb7SbaewTX33dTb1Z4/0TI6tpyRNDcrupwf/C+Pobr Ic1hzpTjnYZZF9n/eUHPiZVWq5uo0hKEa7iyxF/HtrGRmi58/5RBAEuGFt2KxuU+R/0QL5 7eyGn1LUnS9bIYt73Mc7OPvxIq62IDe0Cy7K/4GT2rlKOqhKa8E8yealqS26Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768308711; 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=jQOsYft75el7bi2iG6B80xye/OdNZ/wC2/AOOyR8Dhs=; b=OkchXJjMpQM5Ti2zHFc+ogOGAkfeG+zRq1Pn+GFdhGMeonzF4Yq5NjBe91aMGAjw8jqlJ+ xhP7MDM4sCYK80MCan+q4bssN1L0ownR3DeOZX5kGf6N0hYMfMCWXS17GPtDM/8Ha5W3vf KSxJhdpWElNznt1hzKjykQHuicd8X3Ije0+lRVOOs0cGDNc7qnRjxq7n35nP+H14dC60T6 6JjA926EVWcyNjH3RHD7V2DFj/l0o3aKHoBDVFL2DGcwogr5daPyHs4miQk7OrlUxsS4qp Xm30QfC2Cr7r/Acpr2U/nTjlIOmOrttsVHEdqHU2QQ1hocPaOJgq47LsN/FLLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768308711; a=rsa-sha256; cv=none; b=o1O7rN+0/zX46Zstd5zFVACLSDkxFTLuG+ThUReZkf/Jif/Rzwz/FbUdPUuE+NMPmnWdWX JoGSLFoxliHEPM2tvlXNED9ccPhvosQooDze7fBqdXKTayuU1yy7Dxm+LDSkvUoZvpjWNA g86FKnIFjCL2GZD8buyyXkh2fZIMhuM2+MPHDaaiYRUPOVTkpohPr6N7OCjmF8rd/vz7R+ Fy1oKEz7FQhzv6+RK3Odshs5x49JOnAOdUcruwnzO7z1sDOyDiumik0x/emH8maoG5Afei WxiJu/SFPjYwMC95f0MH6d1zZx0AaoSIr91RQQMYnv+wut/GFWCj1CUkBYsb/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]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dr8Jl2v69z1C6V for ; Tue, 13 Jan 2026 12:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a7ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 12:51:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: c1d7c957895e - main - CODEOWNERS: add @fuz for libc/string List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1d7c957895e3cd3ffa6669352bb809a8fc5f78e Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 12:51:51 +0000 Message-Id: <69663fe7.3a7ae.71e65ee6@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=c1d7c957895e3cd3ffa6669352bb809a8fc5f78e commit c1d7c957895e3cd3ffa6669352bb809a8fc5f78e Author: Robert Clausecker AuthorDate: 2026-01-12 07:25:42 +0000 Commit: Robert Clausecker CommitDate: 2026-01-13 12:51:27 +0000 CODEOWNERS: add @fuz for libc/string Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D54664 --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 85b5b116f635..5ab072e8bc18 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -51,6 +51,8 @@ /crypto/openssl/ @juikim /etc/mail @gshapiro /etc/sendmail @gshapiro +/lib/libc/string/ @fuz +/lib/libc/*/string/ @fuz /lib/libc/sys/kevent.c @jmgurney /lib/libefivar/ @bsdimp /lib/libfetch @dag-erling From nobody Tue Jan 13 14:03:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vG6C6Gz6NxWq for ; Tue, 13 Jan 2026 14:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dr9vG57Gpz40Kh for ; Tue, 13 Jan 2026 14:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313002; 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=CBrtUeRWxzrCmQjI/mWThY+/ZWLrDUUHBgJhsj02OzM=; b=tCpsDsN2n76seikyAlVOerpyIedNWNF880H9f43QhIqVNArHHS4GYHNlezE4H7ydmWkvyS GQ+j2pU/1EG832FZnZSsplD+IUSnws5uev0MD9x4bFd3+ywvZZ8GiBCEPKYDPiNlAznaUY ToDfXinm/XnAeisHt1hoH2XocRfJzGsegnsOoSA1OsrrufaRCAP5dy0LeqvN+h2PD1hEAp RnLHaP+m6KSxwKb3jSvSG4YNYCvVyijFmG7IC8F23wJgdf091wF4yZwIYMvHXGIe6SDzL6 OUC3leb3G29P4YJrrsB/dhZApuZxKr3rMHOUg2wyKKTBo9vU0BdM69eKxhtsxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313002; 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=CBrtUeRWxzrCmQjI/mWThY+/ZWLrDUUHBgJhsj02OzM=; b=KpaPxNsle9fD4CrJbzoVwMc5CB3mF1230hGTPFQjVjnpCSp2Sa6ihcV6pWDxQ46/mvuW9x Fdh1qdY/px9ggubjbQUyAI6Ja7wjz0vvputs1GuNzlh+Z7qXNMx5UodJDOj38+JlaBLVwa ELfM/+5+BaxUzfe7z8jhECibk1VaxRnebbBlsSrp0Il0flwBMBBgSPV7fq47k8sKBci6aX /mNRIM5aNM0Z9mkBLz1zakBGzAgZD+0YUCidXLvACrrBANTXCTQg0NcxppdLc05t+xBEFA FtbzQY7K+4iLNMx8YBNjYyDhiQavNVJslfMgY9mugfo98djN7PZCGRvbZR7ZwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768313002; a=rsa-sha256; cv=none; b=uew9wU1pnRP7YAVgBRZaZSZs3VwLGLYKu7gm7n5SDVC/z4jpLKu3p1WEKGhCnsahjX97HW e+i1lQ/EXE+fVVmUYvIVKB3eaP0CA1HnGEu2aD9mJPqMAxpfDrQz8W0fIyH6muRBKaTfXi xyqIJLK/xyr2/qcupqAjYMGv2SX1hwGB9VjdRLFp2GDUb15TZkmaTjQK5pbR/SKO1BpKdK JqPRaV4Wc52e3lrkLZZR/xMwqRSdToE9jZWIQ/iajusGnzrx0359X4oq0xW5espXR63U1L 5GZcrsmwc2o5Q3K6/w9JK6f1GP0tghFs7GBK8oUntQPjNkIMBV5LLqYwuOzPkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vG4W4FzlC for ; Tue, 13 Jan 2026 14:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a28f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 14:03:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 7361727d4584 - main - swap_release_by_cred*(): give some additional info on panics due to underflow List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7361727d4584b5e303183c836497ae2754ce0e53 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 14:03:22 +0000 Message-Id: <696650aa.a28f.1b0bb50d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7361727d4584b5e303183c836497ae2754ce0e53 commit 7361727d4584b5e303183c836497ae2754ce0e53 Author: Konstantin Belousov AuthorDate: 2026-01-02 09:31:54 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-13 14:03:14 +0000 swap_release_by_cred*(): give some additional info on panics due to underflow Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54572 --- sys/vm/swap_pager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index ab95bde34ceb..e0bdca07ff0f 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -239,7 +239,8 @@ swap_release_by_cred_rlimit(u_long pdecr, struct ucred *cred) #ifdef INVARIANTS prev = atomic_fetchadd_long(&uip->ui_vmsize, -pdecr); KASSERT(prev >= pdecr, - ("negative vmsize for uid %d\n", uip->ui_uid)); + ("negative vmsize for uid %d, prev %#jx decr %#jx\n", + uip->ui_uid, (uintmax_t)prev, (uintmax_t)pdecr)); #else atomic_subtract_long(&uip->ui_vmsize, pdecr); #endif @@ -373,7 +374,8 @@ swap_release_by_cred(vm_ooffset_t decr, struct ucred *cred) pdecr = atop(decr); #ifdef INVARIANTS prev = atomic_fetchadd_long(&swap_reserved, -pdecr); - KASSERT(prev >= pdecr, ("swap_reserved < decr")); + KASSERT(prev >= pdecr, ("swap_reserved %#jx < decr %#jx", + (uintmax_t)prev, (uintmax_t)pdecr)); #else atomic_subtract_long(&swap_reserved, pdecr); #endif From nobody Tue Jan 13 14:03:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vJ12fRz6NxQw for ; Tue, 13 Jan 2026 14:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dr9vH6C8hz40Yg for ; Tue, 13 Jan 2026 14:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313003; 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=5mBqq7WYMZOv0iAjVSAgC+0oGlwIPDfQeYUDYHHx70k=; b=S4wuOIz2XCBCHc+NUsn3aEkCwXzksMbg1sDdA+GuN5Ucs6S0NDnOOH8oYMFTxyNPyet+yD a8AW9fNSTD9OKXC5cv6Wl+QxogIofSOSVXCW14bXJysnG4kGZkxNZcudaUXrjEvCKNqt/a czdxmldKIEWDjwf1vFyfojOqoCWVYjIbfF4qzJF9c5NvEIxADEyfXt55csKbuFAlyflxbR 34FS3UPvSYY+yL+eMwvymGzImZeUbLV5cdZ8QbClmTwf+VagRy8StDZOlx6vxp3j6EUnFu OkUrU2tLkQebDnQzmO/DH2y/NxjcKCktATpHduBcOgjoN9jYooJDQwwo7thLPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313003; 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=5mBqq7WYMZOv0iAjVSAgC+0oGlwIPDfQeYUDYHHx70k=; b=AyymZy0Qki3st4CIXRsHmpWPOIXm0xI5lEPuR5vZyb1btuH5ELiXbsSq7pHAqz+9fD/C4Z 6ubNtops3lWIe5dXFFqyuNTDugmsxuKEFUW9wqPa9GvFc7aKYtILRWoEOVJTlQkCG/h7n0 6CC0t+ru2RcjZtv/totAa91QtskoWt2ZhWMfGA7amdHDI3XKsdgiSk6KwX0HA79n5kMP5t LVXNSf3GLITUOMtlWAcY5X5OhhFB+PRupp+uESPrGsFGP/ruYqUfvJVEP4dytPdE4Q2eIc jRlZAzdtwjESpitopNZ5eMdUWesudNfbW0HkjOVFb9bOL2gKSEF+Jubn8BxrhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768313003; a=rsa-sha256; cv=none; b=VhkYzf4uGbolTJijmcyNFDzJlKw45/JzdgGHwsNQlPRX5npmfKOz90yznhuGF3RemRRReF qdiCo3g5JdOB6K2Sv2SRtJuuLI9NXaIJHFKFyZju9dRiVvwpgeheEA7S75Exq6EDZPDNdd n2bTlRoIcWX3F9X/OUgiy818Sqg95cjCnDQoWQutMtYeb/mrG/CQuWE+HS5biQKYX4tmJq /4lZSezNNybdBCZ53BWVIZtEk6/1Dp0GOv1RU033OjgDOl0VuUkVnUujpfhrQLTMGy/Ncf WW34xs6xY0oW5rtqwEhz4zVZUijAVRJaxokkp/m7GJ9xRzpDpADDt/UYYznAgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vH5kh9z1Bd for ; Tue, 13 Jan 2026 14:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 86f6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 14:03:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: de770681234d - main - rfork(2): fix swap accounting in vmspace_unshare() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: de770681234d001a1f4cdb8121179331dc3a2def Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 14:03:23 +0000 Message-Id: <696650ab.86f6.171ec864@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=de770681234d001a1f4cdb8121179331dc3a2def commit de770681234d001a1f4cdb8121179331dc3a2def Author: Konstantin Belousov AuthorDate: 2026-01-04 00:19:36 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-13 14:03:14 +0000 rfork(2): fix swap accounting in vmspace_unshare() When an attempt to increase the swap charge for the ucred failed, we must forcibly increase the charge to allow the vmspace_destroy() operation to correctly un-charge the accumulated objects. Add a swap_reserve_force_by_cred() helper and use it in vmspace_unshare(), same as it is done in normal fork operations. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54572 --- sys/vm/swap_pager.c | 10 ++++++++-- sys/vm/vm.h | 1 + sys/vm/vm_map.c | 7 +++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index e0bdca07ff0f..3f077289ac30 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -330,7 +330,7 @@ out_error: } void -swap_reserve_force(vm_ooffset_t incr) +swap_reserve_force_by_cred(vm_ooffset_t incr, struct ucred *cred) { u_long pincr; @@ -346,7 +346,13 @@ swap_reserve_force(vm_ooffset_t incr) #endif pincr = atop(incr); atomic_add_long(&swap_reserved, pincr); - swap_reserve_force_rlimit(pincr, curthread->td_ucred); + swap_reserve_force_rlimit(pincr, cred); +} + +void +swap_reserve_force(vm_ooffset_t incr) +{ + swap_reserve_force_by_cred(incr, curthread->td_ucred); } void diff --git a/sys/vm/vm.h b/sys/vm/vm.h index d28c84dd1c95..0da1891dfcc7 100644 --- a/sys/vm/vm.h +++ b/sys/vm/vm.h @@ -168,6 +168,7 @@ void vm_ksubmap_init(struct kva_md_info *); bool swap_reserve(vm_ooffset_t incr); bool swap_reserve_by_cred(vm_ooffset_t incr, struct ucred *cred); void swap_reserve_force(vm_ooffset_t incr); +void swap_reserve_force_by_cred(vm_ooffset_t incr, struct ucred *cred); void swap_release(vm_ooffset_t decr); void swap_release_by_cred(vm_ooffset_t decr, struct ucred *cred); diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 68dcadd2b2f1..4c33b786eaa0 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -4957,6 +4957,13 @@ vmspace_unshare(struct proc *p) if (newvmspace == NULL) return (ENOMEM); if (!swap_reserve_by_cred(fork_charge, p->p_ucred)) { + /* + * The swap reservation failed. The accounting from + * the entries of the copied newvmspace will be + * subtracted in vmspace_free(), so force the + * reservation there. + */ + swap_reserve_force_by_cred(fork_charge, p->p_ucred); vmspace_free(newvmspace); return (ENOMEM); } From nobody Tue Jan 13 14:03:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vK1gYVz6Nxlx for ; Tue, 13 Jan 2026 14:03: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dr9vJ6Klxz40WJ for ; Tue, 13 Jan 2026 14:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313004; 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=o4GofcswiSdio1FFW5Ilk+v183kLJhkJ5a9QhdUwgfI=; b=kqwdBoYpVTv/6R+hELtC8vRazkUM2sAKVNh3hsTl7Je/SP8wUwC98c1CYG5iinoV9Ikjjh PlPaqKq+S8oQZ8xJ4X/KVm7lZfTmHBqCSqG7ipc2mfhNvBHUP0v6Tpn2+/6qutzoXyfxA0 xrpbgyQ7tUFOXXdZ1sHl8jTCz2hbwQCeBeWp08kOwWpzGk6IutJPIza7yFcY7YSwGyetJX yipoICyYPXcFy/wzhTNFQ290JB5Ko695RPOvbVxjzgVi/7gS+4t1ycSeFTL5WAa8+j035c r0QR6u2oazqh07fSkh10rCOus+fSwWZL+iaDZf541C/HO5Ep/erqzf4oslWDGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313004; 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=o4GofcswiSdio1FFW5Ilk+v183kLJhkJ5a9QhdUwgfI=; b=qmBWEQVf8H0xEOMRv571+X+iJFr8fj15NGICrioSgRROqGND6yOVWkOuV7HQRBTOXZwZH3 4JTgMDs2QQF2F1W82T46amC7ZmIvPntHSDRyItvGTblP7Pxd4Q36xr1A3kMbMOewcVe5zb OMzf5Agvzhj1WJ5HO0yZnuJ7AbW1H3DGQaKTylTcIE8vkXtfoOY/Y0m6BVy6gFKQGvE2yF SEIKf1F8C+5hVLdv2Y7G/3B33lagOGdkqZ01JFOvO/C3sMaWT43Ls75p1Rhs7mRml5EJPs BboQzDp7vqOykou81MS6KbHeZvB93K5Bn2E6ExcU8UxMtcX/dd5QpOfnV9agbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768313004; a=rsa-sha256; cv=none; b=xiw6pW/CVdbk8FPAWH+r8fmhARp2Kc9Hu0599Gn2kORNo9Rz7rXXv96Lbr3kLLobCxsIq3 s460/XlyBIBj9ykEJpUK6l9ix9Zj63+9cLocfkdvtLvUktGTVVKcW2kGLHDlUoW2U34LSk KLLGZjQMrWyPTnGq9af+u7HNSJon8IcoAv+RTQ4E4IBeStJbPBaFyhW8IS50IOXyESp4sv LqRhZaaYAhJGvCyQQ4EIYMnf2hL0gV110rvlS623/SYaAumWdioRAVUyLny0R93S/xBxpz w2X/hnsfyPjgH3LHVbczQeE+jwUvl/8ACCoa6QSRKsl9uqXO3zia3MqjEYYA8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vJ5rmDz1GN for ; Tue, 13 Jan 2026 14:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9fe3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 14:03:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d160447129fe - main - vm_object: remove the charge member List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d160447129fe060b28bcd6ba429d17afdf494ff2 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 14:03:24 +0000 Message-Id: <696650ac.9fe3.4aba108e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d160447129fe060b28bcd6ba429d17afdf494ff2 commit d160447129fe060b28bcd6ba429d17afdf494ff2 Author: Konstantin Belousov AuthorDate: 2026-01-03 09:34:23 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-13 14:03:14 +0000 vm_object: remove the charge member State that the object charge is zero if object->cred == NULL, or equal to the ptoa(object->size) otherwise. Besides being much simpler, the transition to use object->size corrects the architectural issue with the use of object->charge. The split operations effectively carve the holes in the charged regions, but single counter cannot properly express it. As result, coalescing anonymous mappings cannot calculate correctly if the extended mapping already backed by the existing object is already accounted or not [1]. To properly solve the issue, either we need to start tracking exact charged regions in the anonymous objects, which has the significant overhead and complications. Or give up on the slight over-accounting and charge the whole object unconditionally, as it is done in the patch. Reported by: mmel, pho [1] Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54572 --- sys/dev/md/md.c | 2 -- sys/kern/uipc_shm.c | 2 -- sys/vm/swap_pager.c | 8 ++------ sys/vm/vm_fault.c | 5 ++--- sys/vm/vm_map.c | 45 ++++++++++++++++++++++----------------------- sys/vm/vm_object.c | 46 +++++++++++++++++++++++++++------------------- sys/vm/vm_object.h | 4 +--- 7 files changed, 54 insertions(+), 58 deletions(-) diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index 9d246d7c78fd..8d2908264aac 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -1617,7 +1617,6 @@ mdresize(struct md_s *sc, struct md_req *mdr) 0, 0); swap_release_by_cred(IDX_TO_OFF(oldpages - newpages), sc->cred); - sc->s_swap.object->charge = IDX_TO_OFF(newpages); sc->s_swap.object->size = newpages; VM_OBJECT_WUNLOCK(sc->s_swap.object); } else if (newpages > oldpages) { @@ -1637,7 +1636,6 @@ mdresize(struct md_s *sc, struct md_req *mdr) } } VM_OBJECT_WLOCK(sc->s_swap.object); - sc->s_swap.object->charge = IDX_TO_OFF(newpages); sc->s_swap.object->size = newpages; VM_OBJECT_WUNLOCK(sc->s_swap.object); } diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index eb1327f7f2de..fe3feab4149f 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -759,7 +759,6 @@ shm_dotruncate_locked(struct shmfd *shmfd, off_t length, void *rl_cookie) /* Free the swap accounted for shm */ swap_release_by_cred(delta, object->cred); - object->charge -= delta; } else { if ((shmfd->shm_seals & F_SEAL_GROW) != 0) return (EPERM); @@ -768,7 +767,6 @@ shm_dotruncate_locked(struct shmfd *shmfd, off_t length, void *rl_cookie) delta = IDX_TO_OFF(nobjsize - object->size); if (!swap_reserve_by_cred(delta, object->cred)) return (ENOMEM); - object->charge += delta; } shmfd->shm_size = length; mtx_lock(&shm_timestamp_lock); diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 3f077289ac30..efb0dd477c93 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -784,10 +784,7 @@ swap_pager_init_object(vm_object_t object, void *handle, struct ucred *cred, object->un_pager.swp.writemappings = 0; object->handle = handle; - if (cred != NULL) { - object->cred = cred; - object->charge = size; - } + object->cred = cred; return (true); } @@ -900,8 +897,7 @@ swap_pager_dealloc(vm_object_t object) * Release the allocation charge. */ if (object->cred != NULL) { - swap_release_by_cred(object->charge, object->cred); - object->charge = 0; + swap_release_by_cred(ptoa(object->size), object->cred); crfree(object->cred); object->cred = NULL; } diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 1f13869aebf1..addda72e2b56 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -2310,13 +2310,12 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map __unused, * directly. */ dst_object = vm_object_allocate_anon(atop(dst_entry->end - - dst_entry->start), NULL, NULL, 0); + dst_entry->start), NULL, NULL); #if VM_NRESERVLEVEL > 0 dst_object->flags |= OBJ_COLORED; dst_object->pg_color = atop(dst_entry->start); #endif dst_object->domain = src_object->domain; - dst_object->charge = dst_entry->end - dst_entry->start; dst_entry->object.vm_object = dst_object; dst_entry->offset = 0; @@ -2329,7 +2328,7 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map __unused, ("vm_fault_copy_entry: leaked swp charge")); dst_object->cred = curthread->td_ucred; crhold(dst_object->cred); - *fork_charge += dst_object->charge; + *fork_charge += ptoa(dst_object->size); } else if ((dst_object->flags & OBJ_SWAP) != 0 && dst_object->cred == NULL) { KASSERT(dst_entry->cred != NULL, ("no cred for entry %p", diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 4c33b786eaa0..04628f44a497 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2428,7 +2428,7 @@ vm_map_entry_back(vm_map_entry_t entry) KASSERT((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0, ("map entry %p is a submap", entry)); object = vm_object_allocate_anon(atop(entry->end - entry->start), NULL, - entry->cred, entry->end - entry->start); + entry->cred); entry->object.vm_object = object; entry->offset = 0; entry->cred = NULL; @@ -2443,21 +2443,26 @@ vm_map_entry_back(vm_map_entry_t entry) static inline void vm_map_entry_charge_object(vm_map_t map, vm_map_entry_t entry) { + vm_object_t object; VM_MAP_ASSERT_LOCKED(map); KASSERT((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0, ("map entry %p is a submap", entry)); - if (entry->object.vm_object == NULL && !vm_map_is_system(map) && + object = entry->object.vm_object; + if (object == NULL && !vm_map_is_system(map) && (entry->eflags & MAP_ENTRY_GUARD) == 0) vm_map_entry_back(entry); - else if (entry->object.vm_object != NULL && + else if (object != NULL && ((entry->eflags & MAP_ENTRY_NEEDS_COPY) == 0) && entry->cred != NULL) { - VM_OBJECT_WLOCK(entry->object.vm_object); - KASSERT(entry->object.vm_object->cred == NULL, + VM_OBJECT_WLOCK(object); + KASSERT(object->cred == NULL, ("OVERCOMMIT: %s: both cred e %p", __func__, entry)); - entry->object.vm_object->cred = entry->cred; - entry->object.vm_object->charge = entry->end - entry->start; + object->cred = entry->cred; + if (entry->end - entry->start < ptoa(object->size)) { + swap_reserve_force_by_cred(ptoa(object->size) - + entry->end + entry->start, object->cred); + } VM_OBJECT_WUNLOCK(entry->object.vm_object); entry->cred = NULL; } @@ -2956,7 +2961,7 @@ again: * we cannot distinguish between non-charged and * charged clipped mapping of the same object later. */ - KASSERT(obj->charge == 0, + KASSERT(obj->cred == NULL, ("vm_map_protect: object %p overcharged (entry %p)", obj, entry)); if (!swap_reserve(ptoa(obj->size))) { @@ -2968,7 +2973,6 @@ again: crhold(cred); obj->cred = cred; - obj->charge = ptoa(obj->size); VM_OBJECT_WUNLOCK(obj); } @@ -3942,7 +3946,7 @@ static void vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry) { vm_object_t object; - vm_pindex_t offidxstart, offidxend, size1; + vm_pindex_t offidxstart, offidxend, oldsize; vm_size_t size; vm_map_entry_unlink(map, entry, UNLINK_MERGE_NONE); @@ -3989,15 +3993,11 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry) OBJPR_NOTMAPPED); if (offidxend >= object->size && offidxstart < object->size) { - size1 = object->size; + oldsize = object->size; object->size = offidxstart; if (object->cred != NULL) { - size1 -= object->size; - KASSERT(object->charge >= ptoa(size1), - ("object %p charge < 0", object)); - swap_release_by_cred(ptoa(size1), - object->cred); - object->charge -= ptoa(size1); + swap_release_by_cred(ptoa(oldsize - + ptoa(object->size)), object->cred); } } } @@ -4198,7 +4198,7 @@ vm_map_copy_swap_object(vm_map_entry_t src_entry, vm_map_entry_t dst_entry, ("OVERCOMMIT: vm_map_copy_anon_entry: cred %p", src_object)); src_object->cred = src_entry->cred; - src_object->charge = size; + *fork_charge += ptoa(src_object->size) - size; } dst_entry->object.vm_object = src_object; if (charged) { @@ -4455,7 +4455,7 @@ vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge) KASSERT(object->cred == NULL, ("vmspace_fork both cred")); object->cred = old_entry->cred; - object->charge = old_entry->end - + *fork_charge += old_entry->end - old_entry->start; old_entry->cred = NULL; } @@ -5145,7 +5145,7 @@ RetryLookupLocked: if (vm_map_lock_upgrade(map)) goto RetryLookup; entry->object.vm_object = vm_object_allocate_anon(atop(size), - NULL, entry->cred, size); + NULL, entry->cred); entry->offset = 0; entry->cred = NULL; vm_map_lock_downgrade(map); @@ -5403,9 +5403,8 @@ vm_map_print(vm_map_t map) (void *)entry->object.vm_object, (uintmax_t)entry->offset); if (entry->object.vm_object && entry->object.vm_object->cred) - db_printf(", obj ruid %d charge %jx", - entry->object.vm_object->cred->cr_ruid, - (uintmax_t)entry->object.vm_object->charge); + db_printf(", obj ruid %d ", + entry->object.vm_object->cred->cr_ruid); if (entry->eflags & MAP_ENTRY_COW) db_printf(", copy (%s)", (entry->eflags & MAP_ENTRY_NEEDS_COPY) ? "needed" : "done"); diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index f4c54ba91742..aa2d7676e6a8 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -196,9 +196,9 @@ vm_object_zdtor(void *mem, int size, void *arg) KASSERT(object->type == OBJT_DEAD, ("object %p has non-dead type %d", object, object->type)); - KASSERT(object->charge == 0 && object->cred == NULL, - ("object %p has non-zero charge %ju (%p)", - object, (uintmax_t)object->charge, object->cred)); + KASSERT(object->cred == NULL, + ("object %p has non-zero charge cred %p", + object, object->cred)); } #endif @@ -254,7 +254,6 @@ _vm_object_allocate(objtype_t type, vm_pindex_t size, u_short flags, refcount_init(&object->ref_count, 1); object->memattr = VM_MEMATTR_DEFAULT; object->cred = NULL; - object->charge = 0; object->handle = handle; object->backing_object = NULL; object->backing_object_offset = (vm_ooffset_t) 0; @@ -452,7 +451,7 @@ vm_object_allocate_dyn(objtype_t dyntype, vm_pindex_t size, u_short flags) */ vm_object_t vm_object_allocate_anon(vm_pindex_t size, vm_object_t backing_object, - struct ucred *cred, vm_size_t charge) + struct ucred *cred) { vm_object_t handle, object; @@ -466,7 +465,6 @@ vm_object_allocate_anon(vm_pindex_t size, vm_object_t backing_object, _vm_object_allocate(OBJT_SWAP, size, OBJ_ANON | OBJ_ONEMAPPING | OBJ_SWAP, object, handle); object->cred = cred; - object->charge = cred != NULL ? charge : 0; return (object); } @@ -1448,7 +1446,7 @@ vm_object_shadow(vm_object_t *object, vm_ooffset_t *offset, vm_size_t length, /* * Allocate a new object with the given length. */ - result = vm_object_allocate_anon(atop(length), source, cred, length); + result = vm_object_allocate_anon(atop(length), source, cred); /* * Store the offset into the source object, and fix up the offset into @@ -1511,6 +1509,7 @@ vm_object_split(vm_map_entry_t entry) struct pctrie_iter pages; vm_page_t m; vm_object_t orig_object, new_object, backing_object; + struct ucred *cred; vm_pindex_t offidxstart; vm_size_t size; @@ -1525,9 +1524,26 @@ vm_object_split(vm_map_entry_t entry) offidxstart = OFF_TO_IDX(entry->offset); size = atop(entry->end - entry->start); + if (orig_object->cred != NULL) { + /* + * vm_object_split() is currently called from + * vmspace_fork(), and it might be tempting to add the + * charge for the split object to fork_charge. But + * fork_charge is discharged on error when the copied + * vmspace is destroyed. Since the split object is + * inserted into the shadow hierarchy serving the + * source vm_map, it is kept even after the + * unsuccessful fork, meaning that we have to force + * its swap usage. + */ + cred = curthread->td_ucred; + crhold(cred); + swap_reserve_force_by_cred(ptoa(size), cred); + } else { + cred = NULL; + } - new_object = vm_object_allocate_anon(size, orig_object, - orig_object->cred, ptoa(size)); + new_object = vm_object_allocate_anon(size, orig_object, cred); /* * We must wait for the orig_object to complete any in-progress @@ -1550,12 +1566,6 @@ vm_object_split(vm_map_entry_t entry) new_object->backing_object_offset = orig_object->backing_object_offset + entry->offset; } - if (orig_object->cred != NULL) { - crhold(orig_object->cred); - KASSERT(orig_object->charge >= ptoa(size), - ("orig_object->charge < 0")); - orig_object->charge -= ptoa(size); - } /* * Mark the split operation so that swap_pager_getpages() knows @@ -2233,7 +2243,6 @@ vm_object_coalesce(vm_object_t prev_object, vm_ooffset_t prev_offset, swap_release_by_cred(ptoa(prev_object->size - next_pindex), prev_object->cred); } - prev_object->charge += charge; } else if ((cflags & OBJCO_CHARGED) != 0) { /* * The caller charged, but the object has @@ -2786,9 +2795,8 @@ DB_SHOW_COMMAND(object, vm_object_print_static) db_iprintf("Object %p: type=%d, size=0x%jx, res=%d, ref=%d, flags=0x%x", object, (int)object->type, (uintmax_t)object->size, object->resident_page_count, object->ref_count, object->flags); - db_iprintf(" ruid %d charge %jx\n", - object->cred ? object->cred->cr_ruid : -1, - (uintmax_t)object->charge); + db_iprintf(" ruid %d\n", + object->cred ? object->cred->cr_ruid : -1); db_iprintf(" sref=%d, backing_object(%d)=(%p)+0x%jx\n", atomic_load_int(&object->shadow_count), object->backing_object ? object->backing_object->ref_count : 0, diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index ca88adc12c24..e01d8ad79995 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -175,7 +175,6 @@ struct vm_object { } phys; } un_pager; struct ucred *cred; - vm_ooffset_t charge; void *umtx_data; }; @@ -356,8 +355,7 @@ void umtx_shm_object_terminated(vm_object_t object); extern int umtx_shm_vnobj_persistent; vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); -vm_object_t vm_object_allocate_anon(vm_pindex_t, vm_object_t, struct ucred *, - vm_size_t); +vm_object_t vm_object_allocate_anon(vm_pindex_t, vm_object_t, struct ucred *); vm_object_t vm_object_allocate_dyn(objtype_t, vm_pindex_t, u_short); boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, int); From nobody Tue Jan 13 14:03:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vL2ZW9z6NxX0 for ; Tue, 13 Jan 2026 14:03: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dr9vL0Y36z40HQ for ; Tue, 13 Jan 2026 14:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313006; 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=A7ESgHqmVzU4q/SIwOz75JFhhVuIqWZaSHhT14n3a/A=; b=sqbNQ2dxmLK5c9VAdivy5rU1IWaQjUGt0BRzPpNZJEqNfjKg9gnEUbsxSYV6vTC66PdKnk EQ3LSDP8+4S2eaJGQ7ESFmpWrh9h3DcdHtvHqm0STvHxMZXv4ZhcT4jWkb6Qjq6RX++JdU povvVTW3Op0fKKeubPaEBVFUm3G3wF5549CAMJh6n7EREIo9xoqB3z7pWwDLRsLkKsEH9g ULQHtuZLTsiMp7CFl53XtxJ/1YEibf3eKRohSocoOtZMPkvTMGEhPOwqMr1caqqLgusYq1 FTFIdLu5rOXqUlRTK5nM+qYl58BKoSMtNHLt+1Fmf32Snc8FsURHgjAKJdzduw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768313006; 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=A7ESgHqmVzU4q/SIwOz75JFhhVuIqWZaSHhT14n3a/A=; b=XGT8cGfAqtc9q/QxcIUixOZTnOPGTj/XoKuZ9rYmhLrdpDaMcRKXxO4Pdqq0hIX28KY1Km 0MyK2Hs+ZlxvK+Z8yLjWTBcDtv21QgTZHdIHvjuh7RifoNd68qVzmdAAGMbxDQV/T7aU4d sFJRgRy1PoLbXNnr3glPPzH7aaRF0ah2omkPQURdjcdtphCc5aCAuODRKOHY7538fuCXOr zssd6wZdh7TftLTetpXNjerSD4S8HzpjQgZD6m9I625u5No08PXxfXsxen7yTpL8bCuvL5 XXNKuCSgc+74n74h5YDsvh2xX2mECiEIJBllhDKiP/6XJCIGE7ra8fOy2jhg9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768313006; a=rsa-sha256; cv=none; b=i1DLSt18kILYWACY0vIRiHpKs+mODi8ujKOtQT9EKzg06rRFbE42ENrYmK4+pnyJ8xgfza EwCbN4jCfyIpItcPRkb5JjzFZYmqQkgsh7tHm3/MsJYTOpY29Jo0GlS9yJybNArvh0rSF2 NEMikytVAN3MnHI90FojLLg1anISBbcHMWnQHEa32vUniTJNuVphSSskueId/23y60/JwQ EV5rV1Yh0Xw25QP/KFfezzaxRp05QJV7nLNGcgSX5sp2KBcnMcH5qmG5cU4Z9uf7D8vZxH 9ljMCTOCvtwDkBwueD2BXM8JGZPumsbc3Q0wZAtSULyGuspsvlVv8r6K6pOtjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dr9vK6Sgmz12F for ; Tue, 13 Jan 2026 14:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a11e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 14:03:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 457b940bfb6a - main - tuning.7: add more explanation about swap (over-)accounting List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 457b940bfb6a228af1281f357b627ecf1e26fea5 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 14:03:25 +0000 Message-Id: <696650ad.a11e.704a7e09@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=457b940bfb6a228af1281f357b627ecf1e26fea5 commit 457b940bfb6a228af1281f357b627ecf1e26fea5 Author: Konstantin Belousov AuthorDate: 2026-01-12 03:54:58 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-13 14:03:14 +0000 tuning.7: add more explanation about swap (over-)accounting Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54572 --- share/man/man7/tuning.7 | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 44c427c4559d..a3709ce82b8c 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -222,6 +222,21 @@ and .Va vm.stats.vm.v_wire_count sysctls, respectively). .Pp +Due to the architecture of the +.Fx +virtual memory subsystem, the use of copy on write (CoW) anonymous +memory, e.g. on +.Xr fork 2 , +causes swap reservation for all three regions (VM objects), +as in the original pre-fork mapping, and its copies in +the parent and child, instead of only two. +Eventually the subsystem tries to optimize the internal layout +of the tracking for CoW and often removes (collapses) no longer +needed backing objects, re-assigning its pages and swap +reservations to the copies. +Coolapsing frees the swap reserve, but it is not guaranteed +to happen. +.Pp The .Va kern.ipc.maxpipekva loader tunable is used to set a hard limit on the From nobody Tue Jan 13 14:49:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drBws36VKz6P0gS; Tue, 13 Jan 2026 14:49:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drBws0xQtz44mD; Tue, 13 Jan 2026 14:49:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768315789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=r+rYPyaqIemr9FjkdDplLKlqCHXXU+tbrQGNFqLG8DE=; b=Vvex6okmxZ3jTGyUysTpenbAHOAiHdcQWwWQdwtAqnBxfSlELvSBV+nGhKNYyVeLUkfkMo 0LB9huvGRPHPsvUNoj95Zs/4u/jLpPBqjm8JcDf28ZWss4KYBEw97EQHlJcnpylG2qDSP4 dHNiI6K7oFhQACNHdUKPmdrd2aBZaF2+OqX3hD8WP66lf2HXyz6OJ/pcLHifBJbtGnR7HR 8cxm7zYOtvIgHED5PdDTwAo36NF6V1iDfRZWSq5y7zKnSiQR55Z3E0OS97KhuZck/JEL5z /ZH4bl12WTH57STzgHxxHsSzrE57aMkntDu9FAfB5ApUC0Z2KeFMGCX3bjPa3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768315789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=r+rYPyaqIemr9FjkdDplLKlqCHXXU+tbrQGNFqLG8DE=; b=O0C/xT+63MAy1PleCnC/ItJs+ougK7DHvuGb6KhA8egKSXjFQWcJsHD9pHURnsyeH/yR1i knxuYy3qv1Zphy5K/QPnbA7dXKxoIR67yIz2mvsn8FKWaUyGcPi6mTCR1x+JZEJJtWwhTe rlEeYJQbgV2YoCfBY5quSwfNMNKO4C/Yxc0sfbVfpJypfaG+jX6yznP5bE+T5LlQ/tjW11 JX/fBRjl71vBMZjh0HxzwxfXbU6EVo9/Z0RDLQ1wnFCLSoQlE0afJ9WINXWA2RLO8imW2R NiQjj64SaNn3ybVl9AjCdnAk7uSEmD6tz36lKKTF+8zHIlN/sK1aw3/7wLw8nQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768315789; a=rsa-sha256; cv=none; b=CDZ2ogxtMj7KIZUAGHn9qHUEg3/+CDQhqRe/dNl3EFr0Lfx+CoaHYIPK7RcPTIdcTXHCMF x/h2sX1Z0MrbT3bU49nSaGs+xxa7RM6pzreLtaeBUK4+Fto1+I6SIPwzWgcQQ2tWgKD+rd mDuKYK4VRg537xq6utVmkNXCsjpU6lU9s6B7FI+dt2NOUOBw8VuoVnEoArpKqOZze+PgN7 Quhp2cWWbTyoyatXLC/s450nZ5DiMX1UK5bcxXwX6f+gwN9D7edhkt/tGQNdjXC425CG5j DMiTXneL7+2TmIiXz2QLRlRvb7xDTHjK64GW4IH1tWBSyZs9Je0C1ZurkrSHzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2601:5c0:4202:5670:ad83:35cf:1a21:73a5] (unknown [IPv6:2601:5c0:4202:5670:ad83:35cf:1a21:73a5]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4drBwr5lz3zCDg; Tue, 13 Jan 2026 14:49:48 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <40460039-d31a-494c-b2bd-6683bb564f11@FreeBSD.org> Date: Tue, 13 Jan 2026 09:49:47 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 9cdb2eb66823 - main - lib: remove powerpcspe To: Ed Maste , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Minsoo Choo References: <69616170.479a4.35114a6b@gitrepo.freebsd.org> Content-Language: en-US From: John Baldwin In-Reply-To: <69616170.479a4.35114a6b@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/9/26 15:13, Ed Maste wrote: > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=9cdb2eb66823e19c86cc9d2ebcf0c70c32a40caf > > commit 9cdb2eb66823e19c86cc9d2ebcf0c70c32a40caf > Author: Minsoo Choo > AuthorDate: 2025-12-03 04:12:49 +0000 > Commit: Ed Maste > CommitDate: 2026-01-09 20:11:23 +0000 > > lib: remove powerpcspe > > Signed-off-by: Minsoo Choo > Reviewed by: emaste > Pull Request: https://github.com/freebsd/freebsd-src/pull/1914 > (cherry picked from commit 907cf3e4378f9d114af41d05a59ef4a075d3efb0) Hmm, as discussed on arch@, we were going to late until after the last 14.x release before we actually started removing i386 kernel and powerpc bits from the tree. It's probably not worth reverting these, but maybe hold off on any further removals for now? -- John Baldwin From nobody Tue Jan 13 14:56:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drC4M5cbqz6P1VF; Tue, 13 Jan 2026 14:56:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drC4M54W7z45wL; Tue, 13 Jan 2026 14:56:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768316179; 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: in-reply-to:in-reply-to:references:references; bh=p0vSTjPbzLKktN6wGCoGY9DfyvPfTkVEFaDcjlODT/Q=; b=TgGzIj34niXoW8fydBrBKBQwiH/8om1oz5Xt3ZmEiOiEkzSFhkowFhWvCCQMVBhAfZyFAD /PWjDs2Y3tadRicgzoicPJeB1klIGgPx6dT/CL22/Bv0XygiLCxGJOpW8TeRbslIPxRSYz enCtkAwX4SsNEupAYbOBETbafO9aWpxhzV6h6nlzXd261+6FddAysHEPAZcxaG7/aFphuP 78NZ/izE7Pcr2VRc59qmfgu6tu+nZkf5xgkTE8yo4xsdHjueHmHUmpJ0TMQRKjDQymIQsY ROjSF95kPwAoIfxjHLdDUPXp1nFltN1z4Yco8k9OFRK6YlauN7TCNETw9QPQJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768316179; 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: in-reply-to:in-reply-to:references:references; bh=p0vSTjPbzLKktN6wGCoGY9DfyvPfTkVEFaDcjlODT/Q=; b=eIo5U1yHXRH7Ogx/0lfFGqiFeV+bzEV128GjQDtJZihjOwioD9MEEc9XmzrPQLq1/5sIJn lM9wtk/behZQOv9WnkMSsP4xjWv22QuBXxx3PUvjudBAaxSezVRHjSIxik9xIBasQBiOG8 //jlKuyJXYpkimhk9wf9xPlH8z0X6gz1MIG3/GxBsGKF2cpg/trcMJZezB4oKrf3O2E+t5 eXp8EzMz0mwU5vlIMr/xokWvVCyduE9ypdbZfVAQ8cBDtQ9789IdfLMYwNBW1jUjHwCxmw DmlkwEpCYcB2Hlg4+CQVUMEZofsWFfXjV9ZI+jq9pk25Bqhags/JWuMPcHn1cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768316179; a=rsa-sha256; cv=none; b=kV9Cd+Iw6BOl8kdMAZiRtmZWbEIBuMk28ZKDFWEgeP3IfCqoOGn9MmQeytJ9EakSzcc5XD WRsDFt8EK+1CXziwbHzSIyweNLT33naUYJDCgdSoyQSlK+vGpSSmac8d2P1NtAjB9Nmbts GuIUP8+Qp+ltj/1LsIQqtIvTdzZ7q1SwBYS8re/PIPcCHV2SNOKnkBQj3tQfwvlhhbCVMm bNVerNmE3JFQDCkYSEnF8cbtD/0W5cKMYqMsRkWeyaRQISbUE+QaMAs2v/ZfWjwA4Ibm+J 1VaZDmK+dSi27T4oqsTb0TPv2MMWeJ6BhMCw5w2l+6CqClddC9KSNA+7lcrU2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2601:5c0:4202:5670:ad83:35cf:1a21:73a5] (unknown [IPv6:2601:5c0:4202:5670:ad83:35cf:1a21:73a5]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4drC4M2rHbzC4n; Tue, 13 Jan 2026 14:56:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <6e64a14f-1fa0-45ec-b73b-e84f1dbb8153@FreeBSD.org> Date: Tue, 13 Jan 2026 09:56:18 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests Content-Language: en-US To: Warner Losh , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/12/26 02:37, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7f8b4db9e001d94974a081e5fd58c4f3994429cb > > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb > Author: Warner Losh > AuthorDate: 2026-01-10 16:20:20 +0000 > Commit: Warner Losh > CommitDate: 2026-01-12 07:18:11 +0000 > > github: Add more context to pull requests > > Add code to fetch and decode CODEOWNERS and automatically @ people in > the review. > > Create a new file, .github/path-rules.txt that has a set of paths to > match and specific warnings about that part of the tree. We'll use this > to try to wave off pull requests in certain areas of the tree, as well > as remind people when contrib is involved, etc. > > Sponsored by: Netflix > --- > .github/path-rules.txt | 10 ++++ > .github/workflows/checklist.yml | 106 ++++++++++++++++++++++++++++++++++++---- > 2 files changed, 106 insertions(+), 10 deletions(-) > > diff --git a/.github/path-rules.txt b/.github/path-rules.txt > new file mode 100644 > index 000000000000..297cfe8def35 > --- /dev/null > +++ b/.github/path-rules.txt > @@ -0,0 +1,10 @@ > +# > +# Format the similar to CODEOWNERS: Each line has a path, whitespace and a > +# message for contributors. > +# > +sys/contrib/device-tree :caution: No changes should be made here by pull request > +# Catch all > +contrib :warning: Contributed software usually managed by vendor branch > +crypto :warning: Contributed crypto software usually managed by vendor branch > +sys/contrib :warning: Contributed software usually managed by vendor branch > +sys/crypto :warning: Contributed crypto software usually managed by vendor branch sys/crypto isn't really the same. We store the generated OpenSSL assembly files there for use by ossl(4), but most of sys/crypto is not vendored (e.g. ccp, the non-assembly ossl bits, aesni are all just bespoke). -- John Baldwin From nobody Tue Jan 13 15:07:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drCK36d1Wz6P1fd for ; Tue, 13 Jan 2026 15:07:19 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drCK320RHz4793 for ; Tue, 13 Jan 2026 15:07:19 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-34f0bc64a27so3652479a91.1 for ; Tue, 13 Jan 2026 07:07:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768316833; x=1768921633; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1GGV4xYBItHXa9ttS0296iFFBwBGvAOjbMx5qf2Kqt8=; b=WEk0avUkl2c48wwSoVYjjSbmoD2Pd/Agj125AotWX6cYw2Tq2HMQjfWGmANdqoujeY 2rzbIZRN47AtNFXm6lmqLGB5T8d4THnbSZv2UYJ80npGmTY9bl/8UZ9mNJlStUp0OTFQ JN04ZBJ3XxZkf8WBKLpqjTmesCT3EqxHAlfdjcKYRxdrDv0r5cSVeXEJBHt3x8Jk+Snn /NYnn2ul2Wgg3Kdl8auX9fWf6QibPnCDGCe5bCsjkPnrVy3MgZfwILAd70JwkHUm1AiT BP1l7MQnGVWFUAOixDrkLrolcafxJReX6tgKUqCv8RKzHSo94QM1EC9ECfqV4GL4LCQf wwaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768316833; x=1768921633; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1GGV4xYBItHXa9ttS0296iFFBwBGvAOjbMx5qf2Kqt8=; b=iQe2JAR8znAHDtrFZqYuh9KxTFA3f1/O/w4V9RC6OX3Qnu436WkASe5ElfCOgfOx3/ o2+qY+Gh1Mj7MrYGqqcIpDTHPZhT80Hzj5su16g+R3MA91gFJoIMc06RUtcTkMds6G9E glxzejjD9TWj1RDKtk67gj1SVXt1Irbgkcam8yMSBKKrSAnHjoAmSn1mSmE58Lrw8HTf AEGCNsl97i5glZ8PnkQkTMeI8d+64hKjXE1H6boaKhp/P+FWLSmc9WTcD8X0IkA0vQoq Qq4d0i514DnjCHd0iPPuY53MtZwy9rc16BBofGEaqmWukRP3mobw4rMc73e/KGdbVKXF O/3Q== X-Forwarded-Encrypted: i=1; AJvYcCVRIlBOATzSDyZMozcre+bDsRlc5pk/BrQq5Aor/0SljC8tGZchRCVEblKjku9SuM0+4qaZAimiN4LULY9x5yeoxUf2bw==@freebsd.org X-Gm-Message-State: AOJu0YzbMLicRBBMnbaUWQoz0liNwzyEpBcbMaijZVF/G62WHUllhY1U 3bwDSmYvHRG7WT5/wC1cGAOBi6IuK1wloyyO9QlgUY4X5gQ3p1g/vciMRARvlR71H/GCUx6XgiX /NPCu3NT+WygUAL6vOAN75KNo6s4w2kTQxJQ7bVyupg== X-Gm-Gg: AY/fxX7DVr7AjIuDAcY8PvoFwXD766NCu4U3xYrh+yBzEmgInYQRW8GwBVqYkGXNKHg grfhKvmbZH3a0m7tNFR5SNkI/d014qjgqu9o6RANsHePCRzI7ZDhkqEK2SdU8rN1BVVT8wds29q sX3I2ffDMN/3V9U24JI/Ddarup1OFcA7KXsAhTjYEJoLChzAHwJvRor8VFCZDaPPcX95+fpd65I 3RqhSn3nIV7YR6wIW/FmxCCC7cGkvMu6hiRiKAjFBRCZL4Fwu5JGLdGPYHgi+N2+r2uNhQ= X-Google-Smtp-Source: AGHT+IFRxftb/1+V0i2MnSNXsDilcc++NDaL/QlbvwBvmo6vBcnr0Kd9kMjUGYybK4vBP+EWoTANwsKmK0F8ZRXYwe0= X-Received: by 2002:a17:90b:3f50:b0:32e:5d87:8abc with SMTP id 98e67ed59e1d1-34f68c47b03mr17666536a91.36.1768316832975; Tue, 13 Jan 2026 07:07:12 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69616170.479a4.35114a6b@gitrepo.freebsd.org> <40460039-d31a-494c-b2bd-6683bb564f11@FreeBSD.org> In-Reply-To: <40460039-d31a-494c-b2bd-6683bb564f11@FreeBSD.org> From: Warner Losh Date: Tue, 13 Jan 2026 08:07:01 -0700 X-Gm-Features: AZwV_Qjpg9ph2XK_UiePT_wAxl9y-x-mo9gjjnSCCzH-wqwrdSo8NtM0AVlHQno Message-ID: Subject: Re: git: 9cdb2eb66823 - main - lib: remove powerpcspe To: John Baldwin Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Minsoo Choo Content-Type: multipart/alternative; boundary="000000000000ae1fec06484658c2" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drCK320RHz4793 --000000000000ae1fec06484658c2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 13, 2026 at 7:49=E2=80=AFAM John Baldwin wrot= e: > On 1/9/26 15:13, Ed Maste wrote: > > The branch main has been updated by emaste: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D9cdb2eb66823e19c86cc9d2ebcf0c70= c32a40caf > > > > commit 9cdb2eb66823e19c86cc9d2ebcf0c70c32a40caf > > Author: Minsoo Choo > > AuthorDate: 2025-12-03 04:12:49 +0000 > > Commit: Ed Maste > > CommitDate: 2026-01-09 20:11:23 +0000 > > > > lib: remove powerpcspe > > > > Signed-off-by: Minsoo Choo > > Reviewed by: emaste > > Pull Request: https://github.com/freebsd/freebsd-src/pull/1914 > > (cherry picked from commit 907cf3e4378f9d114af41d05a59ef4a075d3efb= 0) > > Hmm, as discussed on arch@, we were going to late until after the last > 14.x release before we actually started removing i386 kernel and > powerpc bits from the tree. It's probably not worth reverting these, but > maybe hold off on any further removals for now? > There's a gh pull request I'll close now. I'd forgotten we'd said 'late in 14.x' to remove bit... But I agree: powerpcspe is the edge case here and there's unlikely going to be any work there, unlike i386 which still has i386 specific commits on at least a monthly or so basis. Warner --000000000000ae1fec06484658c2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Jan 13,= 2026 at 7:49=E2=80=AFAM John Baldwin <jhb@freebsd.org> wrote:
On 1/9/26 15:13, Ed Maste wrote:
> The branch main has been updated by emaste:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3D9cdb2eb66823e19c86cc9d2ebcf0c70c32a40caf<= /a>
>
> commit 9cdb2eb66823e19c86cc9d2ebcf0c70c32a40caf
> Author:=C2=A0 =C2=A0 =C2=A0Minsoo Choo <
minsoochoo0122@proton.me>
> AuthorDate: 2025-12-03 04:12:49 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org>
> CommitDate: 2026-01-09 20:11:23 +0000
>
>=C2=A0 =C2=A0 =C2=A0 lib: remove powerpcspe
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>=
>=C2=A0 =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 emaste
>=C2=A0 =C2=A0 =C2=A0 Pull Request:=C2=A0 =C2=A0h= ttps://github.com/freebsd/freebsd-src/pull/1914
>=C2=A0 =C2=A0 =C2=A0 (cherry picked from commit 907cf3e4378f9d114af41d0= 5a59ef4a075d3efb0)

Hmm, as discussed on arch@, we were going to late until after the last
14.x release before we actually started removing i386 kernel and
powerpc bits from the tree.=C2=A0 It's probably not worth reverting the= se, but
maybe hold off on any further removals for now?

There's a gh pull request I'll close now. I'd forgotte= n we'd said 'late in 14.x'
to remove bit...=C2=A0=C2= =A0

But I agree: powerpcspe is the edge case here = and there's unlikely going
to be any work there, unlike i386 = which still has i386 specific commits on
at least a monthly or so= basis.

Warner
--000000000000ae1fec06484658c2-- From nobody Tue Jan 13 15:20:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drCc504Xtz6P2mB for ; Tue, 13 Jan 2026 15:20:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drCc43sbjz49N2 for ; Tue, 13 Jan 2026 15:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768317620; 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=vYrRqSX9HQ75sKH560YWywHygJ5zUMuxvXCmi2rtbXU=; b=fcPtpZIE6JcI6QkX1jy7MThC5WihV3mzOAs6V8DLihv3oz4s6PuYmwoZL8yYn30p3dxVyC OLnsYDjLfIDByS6SQZeCDb6GWLExnE9v1TfJ7Ra/t1qOLeioOdOCQzVlzxdkAH77GgZauu xEWfcvt1olqdKUhxw1h2SFcZkJTdWdy4+4b+hlTeMmFFarWLTMffrrwSGLCPean2jeZPq2 2suzkuvx8eb8zTnBDM0KuU/Blyi6PTbxb9T/mx3zm9w3/wYy0tQADx99isnMlB7pHkgAa4 ox/lrrIqObjJHA4sKd7ZcKGJc0pwkx84atUPGj7/1umMBdmWZO21UINmLuOWmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768317620; 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=vYrRqSX9HQ75sKH560YWywHygJ5zUMuxvXCmi2rtbXU=; b=UGNnVcVFssoWPirvbREnqG/n3Ce/xIKOWCWlKE7QT32E/T74DGOIQRcwH84q2c7TiGpRiH FdMLAKASYDnH4c5QKyqP9A/ahFBGpcQzc8LSAu0+br70mipqEYmSnm/LbKogeWaV6U4+y/ SuG50AyT9Forfw6P6/qLupuEKoI4BFJab7H2G4JgFfeiCIFHnZAYzzRPNIIc/XDFBX7Osz jJppP8TGC3fnM62nlUY0j0et0YsjGqIUsXYd/VqqDzYDGrwipVR5SVVMP+Mj4QtJzskXb7 kmIBO0bZu7GI7rN4rf0W3cwTY9ESpFHJz72iwaehXhxHjdYnCT2aIrEHFD/B8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768317620; a=rsa-sha256; cv=none; b=vvcAOm4vynlMzimsol6/TT2cKxEy5nFduBHQ6kKFKkB//FQKlCUTThT58hfpokTbBt3LOe zKIwYvq2//jTvH8zfS45ioTJEFYeYPXtop6mzCxOIH7WBgqhwuNzgpxblqJxnXpov5dHcC ungWGaayTsH2qS9Y9iDEdrCp01IcjrHoLLTztJespEY57zdJBdFyMVmFVdnesylXyIzJgj eQ/aJV+nibVt7T/5wU1YywM4pYv5+rCSbneqTr7q5bPfIv8I24j44/AgDq1I2/Jpzvvctj E3dc8tsODUkwJ2+T/iSBHpAOo56SOrYstPahanRJjkfw2gUGL9w+0/3QCAhXMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drCc42g8lz31w for ; Tue, 13 Jan 2026 15:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2146b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 15:20:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 113dc9ed9887 - main - csu: Remove unused constant List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 113dc9ed98874d15f4f43287dcb6d0f59633b19b Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 15:20:20 +0000 Message-Id: <696662b4.2146b.15863fe6@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=113dc9ed98874d15f4f43287dcb6d0f59633b19b commit 113dc9ed98874d15f4f43287dcb6d0f59633b19b Author: John Baldwin AuthorDate: 2026-01-13 15:19:04 +0000 Commit: John Baldwin CommitDate: 2026-01-13 15:19:04 +0000 csu: Remove unused constant This is no longer used after commit 99282790b7d01ec3c4072621d46a0d7302517ad4 moved ELF notes from C to assembly. Reviewed by: kib Fixes: 99282790b7d0 ("Remove the sed hack for ABI tag notes.") Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54506 --- lib/csu/common/notes.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/csu/common/notes.h b/lib/csu/common/notes.h index fc4e4d082c21..8f35e0eb2491 100644 --- a/lib/csu/common/notes.h +++ b/lib/csu/common/notes.h @@ -27,6 +27,4 @@ #define NOTE_FREEBSD_VENDOR "FreeBSD" -#define NOTE_SECTION ".note.tag" - #endif From nobody Tue Jan 13 15:37:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drCzs6N6lz6NJy9 for ; Tue, 13 Jan 2026 15:37:29 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drCzs3D9Pz3CgP for ; Tue, 13 Jan 2026 15:37:29 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-81dbc0a99d2so2089414b3a.1 for ; Tue, 13 Jan 2026 07:37:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768318643; x=1768923443; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=WRzFjmj/ASKcNxcJXbFp+EvteGfsNpLLoU//kd0o9FA=; b=SdFwOEzJ/0fQTps91XopKTD1O6BmfFDEWR6ls6uPPqqqXm27GWlvMEK7sWs27svaXs GqCWs72c7TRhuV97HRloPLwiEMpVtFoNMZ3alhpw2wqr7uynsP9MgBNBDI4pFOtm/5Ys 3hPSEUMQhwuvT0amCvbHV1D/ymbJjNmJuapkPgoWLDcFFTlHmYSms0ksnmFPPy0xwvbL iyxyd9UykdsLOv3vsUV0nnfo+7D8/d2ryGffpfq8/n3Db8Duc90h20GGkyTmCYMAgjVJ NnwjsBp39KFcuOHq12pY1awP0D/7cUHkWgnT81B2wApF9F8GzWfdDIMxnpmsSfncsMdI q3Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768318643; x=1768923443; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WRzFjmj/ASKcNxcJXbFp+EvteGfsNpLLoU//kd0o9FA=; b=JRousxwGeGnO0byvJKXZKa6N1VTc354wRUIcItCqAm4f6/xLAnJD85DLrJ6uha0naO /gVkvzzh+T7h5l7eciyX31fT10zP4HfTDSl5a1zowE1w1pH0/0d3TbF/DkXvGaidl0BV L760ivBFtZGvQNtfBPwSZpGEZCYBqe8IuF2NbH8d/Z4dxFuf1jpriVkIBei2OIFLvuHm sxOV6aDnOEvlNdT4iVycCB7Fchuj0toTm3yRfZNVVqNzd9M5rRBiHkcTy0Pyp6iCcvSH f+ULTX3yV7lieXSl+gSAYNFBkkNnDgAUWS3FsDehZwFUjrboVnAr4kk5Pw9Zst5vmO+C 9hSQ== X-Forwarded-Encrypted: i=1; AJvYcCV6ZFSB7oBevp4rQBfpD/C8Obbcm8tAXdpOaBeAXZ8zODnCIppe4VajeU2JdrM6l8cKxgTFJJO/RJJX9vutVYnI6YvbWw==@freebsd.org X-Gm-Message-State: AOJu0YzeTAsD+ZrOO7w/ln4PtiV5IcWwsNyacvCS/i2f49iIR1loIa3t 6IJwXRGP4MLn93KrvW3qoeqSVfjitky4cQ2NUOVnJSzLDax1fjhiwFKjYvg5c/kDA0CRkuJOwxl 7KGCxiJkdAlofEtmnc6vUwRVEClQQ6Sb8tXgEtiKgcQ== X-Gm-Gg: AY/fxX7ftVmpsXgBQb8ShCm9vlFT1CWn+uMQ3rqMEYR5nGmMVf+VmWjnS26pu7lLjmn vziuv0EexIbaUwqv+/TiIOj/R/M6B+7mahtp5WkPc5gpCbx7XNlPa8oLaqk/MoKkwFebvTLOrvf ED3hOIs6dUZXB1AX+7sVc89f+F+QJtbzS8KWkHZl1A+ztPgxrjhWIcaC5XXdRgFR7l2hN7sYWch 3QHEud6ondxkdspLCkKDai9q+dEo32Ene/u2UjXT5imLmeisNQwhvt0qk7MOxj10ga+bio= X-Google-Smtp-Source: AGHT+IEC/ZQ/D2FX1M1gztx0aI2oET6jawhuGaNasKTpBe8LBdvOha5bsUgvvyQJyFt+um82qi3FOQvkyLUvtLFxA8c= X-Received: by 2002:a05:6a20:7d9d:b0:350:b8e:f9a9 with SMTP id adf61e73a8af0-3898f9b9aecmr18893130637.42.1768318642712; Tue, 13 Jan 2026 07:37:22 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> <6e64a14f-1fa0-45ec-b73b-e84f1dbb8153@FreeBSD.org> In-Reply-To: <6e64a14f-1fa0-45ec-b73b-e84f1dbb8153@FreeBSD.org> From: Warner Losh Date: Tue, 13 Jan 2026 08:37:11 -0700 X-Gm-Features: AZwV_Qi80dytxFeahXZZBfvs9ovSNLjoPJWLRumRIsfqbqGhz2Y3fT-CCJydVxY Message-ID: Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests To: John Baldwin Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000008c8294064846c42d" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drCzs3D9Pz3CgP --0000000000008c8294064846c42d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 13, 2026 at 7:56=E2=80=AFAM John Baldwin wrot= e: > On 1/12/26 02:37, Warner Losh wrote: > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f= 3994429cb > > > > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb > > Author: Warner Losh > > AuthorDate: 2026-01-10 16:20:20 +0000 > > Commit: Warner Losh > > CommitDate: 2026-01-12 07:18:11 +0000 > > > > github: Add more context to pull requests > > > > Add code to fetch and decode CODEOWNERS and automatically @ people > in > > the review. > > > > Create a new file, .github/path-rules.txt that has a set of paths = to > > match and specific warnings about that part of the tree. We'll use > this > > to try to wave off pull requests in certain areas of the tree, as > well > > as remind people when contrib is involved, etc. > > > > Sponsored by: Netflix > > --- > > .github/path-rules.txt | 10 ++++ > > .github/workflows/checklist.yml | 106 > ++++++++++++++++++++++++++++++++++++---- > > 2 files changed, 106 insertions(+), 10 deletions(-) > > > > diff --git a/.github/path-rules.txt b/.github/path-rules.txt > > new file mode 100644 > > index 000000000000..297cfe8def35 > > --- /dev/null > > +++ b/.github/path-rules.txt > > @@ -0,0 +1,10 @@ > > +# > > +# Format the similar to CODEOWNERS: Each line has a path, whitespace > and a > > +# message for contributors. > > +# > > +sys/contrib/device-tree :caution: No changes should be made here > by pull request > > +# Catch all > > +contrib :warning: Contributed software usually managed by > vendor branch > > +crypto :warning: Contributed crypto software usually > managed by vendor branch > > +sys/contrib :warning: Contributed software usually managed by vendor > branch > > +sys/crypto :warning: Contributed crypto software usually managed by > vendor branch > > sys/crypto isn't really the same. We store the generated OpenSSL assembl= y > files there > for use by ossl(4), but most of sys/crypto is not vendored (e.g. ccp, the > non-assembly ossl > bits, aesni are all just bespoke). > That's the beauty of this: We can have whatever we want here... These were placeholders until we had more nuanced things. I see things like openssh in crypto too, so many things are vendored there, in addition to the mire of inconsistency... First one wins (or did I take that out, if I did, I should put it back).... I'd also thought this might couple well with the 3rd party audit and we could generate some json from that to give upstream pointers, project contacts, etc around all that. But maybe just :caution: Cryptographic software requires special care that the project cannot give to pull requests. Warner --0000000000008c8294064846c42d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Jan 13,= 2026 at 7:56=E2=80=AFAM John Baldwin <jhb@freebsd.org> wrote:
On 1/12/26 02:37, Warner Losh wrote:
> The branch main has been updated by imp:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f3994429cb<= /a>
>
> commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb
> Author:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> AuthorDate: 2026-01-10 16:20:20 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2026-01-12 07:18:11 +0000
>
>=C2=A0 =C2=A0 =C2=A0 github: Add more context to pull requests
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Add code to fetch and decode CODEOWNERS and automa= tically @ people in
>=C2=A0 =C2=A0 =C2=A0 the review.
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Create a new file, .github/path-rules.txt that has= a set of paths to
>=C2=A0 =C2=A0 =C2=A0 match and specific warnings about that part of the= tree. We'll use this
>=C2=A0 =C2=A0 =C2=A0 to try to wave off pull requests in certain areas = of the tree, as well
>=C2=A0 =C2=A0 =C2=A0 as remind people when contrib is involved, etc. >=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0Netflix
> ---
>=C2=A0 =C2=A0.github/path-rules.txt=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |= =C2=A0 10 ++++
>=C2=A0 =C2=A0.github/workflows/checklist.yml | 106 ++++++++++++++++++++= ++++++++++++++++----
>=C2=A0 =C2=A02 files changed, 106 insertions(+), 10 deletions(-)
>
> diff --git a/.github/path-rules.txt b/.github/path-rules.txt
> new file mode 100644
> index 000000000000..297cfe8def35
> --- /dev/null
> +++ b/.github/path-rules.txt
> @@ -0,0 +1,10 @@
> +#
> +# Format the similar to CODEOWNERS: Each line has a path, whitespace = and a
> +# message for contributors.
> +#
> +sys/contrib/device-tree=C2=A0 =C2=A0 =C2=A0 :caution: No changes shou= ld be made here by pull request
> +# Catch all
> +contrib=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :warning: Con= tributed software usually managed by vendor branch
> +crypto=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0:warning= : Contributed crypto software usually managed by vendor branch
> +sys/contrib=C2=A0 :warning: Contributed software usually managed by v= endor branch
> +sys/crypto=C2=A0 =C2=A0:warning: Contributed crypto software usually = managed by vendor branch

sys/crypto isn't really the same.=C2=A0 We store the generated OpenSSL = assembly files there
for use by ossl(4), but most of sys/crypto is not vendored (e.g. ccp, the n= on-assembly ossl
bits, aesni are all just bespoke).


--0000000000008c8294064846c42d-- From nobody Tue Jan 13 16:08:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drDgt5VWqz6NLxZ for ; Tue, 13 Jan 2026 16:08:42 +0000 (UTC) (envelope-from bT.9ku10x0dtbxfk22=mmhi5bf7424v=2qsorxqq8aql68@em790814.fubar.geek.nz) Received: from e2i140.smtp2go.com (e2i140.smtp2go.com [103.2.140.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4drDgt4XJKz3H2s for ; Tue, 13 Jan 2026 16:08:42 +0000 (UTC) (envelope-from bT.9ku10x0dtbxfk22=mmhi5bf7424v=2qsorxqq8aql68@em790814.fubar.geek.nz) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=mgy720.a1-4.dyn; x=1768321422; h=Feedback-ID: X-Smtpcorp-Track:Message-ID:Subject:To:From:Date:Reply-To:Sender: List-Unsubscribe:List-Unsubscribe-Post; bh=ZcIFvlzDCxBbd7ZjKT9x449g3ghrtUzt+9PKDqwGBCU=; b=2U7XwepLY3qv9NR+8ocwAbd9pa y1Q57h5YCvBit4Mf2ZmTTKSd6nf87wXWnRc0SOi3kayd847sQuJa5oMEgyMj+QLZXNwkA7tM9B4mV FXPt5Ehyqq8BfyopvF1ceVnXATAJBuFgjkVXXSPFiY8oeV/y9hOp7Z2c0kRgslappwQxl+2FUI+Dz 30K/xvJvWsdE+NmYnmbVll8SVHh25lEFTlR9AeEkODw7OutbgHZlu4SoDDJ+wlvCyhJm9EWiwJZ3T 7wFwtEwIj3gKBT+Cb9qsvHrB7+/VkXHJBuWtipftI51o5cmLwWBJcvA8ylWdLci+gElFaL3+zImHl PQshcvvA==; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fubar.geek.nz; i=@fubar.geek.nz; q=dns/txt; s=s790814; t=1768320522; h=from : subject : to : message-id : date; bh=ZcIFvlzDCxBbd7ZjKT9x449g3ghrtUzt+9PKDqwGBCU=; b=V3EyAYLitYZaO0S6NZ2/cABlv7dci03caHCRruw5VjQjHo/naBvjkYnRFCT0AO9ytC7xf 1s1D8Kzqp+3bzFch0sMl2wOmZNGYaoiN8bFl1H3uQWhzSJ22/1PFviM1/jO19sQBf+bSKYv aVePArcpnh2XSosN3ormsRFk+4MK2x8vZpqLU16cNdD0q9CdVyiZ8s8dJtePsdw9Wwcgjou njS1Zye4PZO5XXFW21yS2dMqQQC2+KHVYRId5Vrnfp5jATbj4hZ2m4HUC0SsxfWEV3Vtutf C91JPyK54NPE2K77UEfYQg74ecfxCH7b60ChEPQC5Ul8gWysU6gC4fEYEYWg== Received: from [10.139.162.187] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2-S2G) (envelope-from ) id 1vfgwf-cp4aPD-42; Tue, 13 Jan 2026 16:08:37 +0000 Received: from [10.99.243.232] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.98.1-S2G) (envelope-from ) id 1vfgwe-4o5NDgrugVD-nnMR; Tue, 13 Jan 2026 16:08:36 +0000 Received: from webmail.fubar.geek.nz (unknown [IPv6:2a01:4f8:c010:8044::1]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id A36A4462A2; Tue, 13 Jan 2026 16:08:34 +0000 (UTC) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Tue, 13 Jan 2026 16:08:34 +0000 From: Andrew Turner To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d160447129fe - main - vm_object: remove the charge member In-Reply-To: <696650ac.9fe3.4aba108e@gitrepo.freebsd.org> References: <696650ac.9fe3.4aba108e@gitrepo.freebsd.org> Message-ID: <3b0c6f216d414656144673fbfddb55a1@fubar.geek.nz> X-Sender: andrew@fubar.geek.nz Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Smtpcorp-Track: EPKQAYMUDgY8.4LM28Q-EC3Zi.YmIUjw9_iUH Feedback-ID: 790814m:790814amQcrys:790814s4bya0HcM8 X-Report-Abuse: Please forward a copy of this message, including all headers, to X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:23352, ipnet:103.2.140.0/22, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drDgt4XJKz3H2s On 2026-01-13 14:03, Konstantin Belousov wrote: > The branch main has been updated by kib: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=d160447129fe060b28bcd6ba429d17afdf494ff2 > > commit d160447129fe060b28bcd6ba429d17afdf494ff2 > Author: Konstantin Belousov > AuthorDate: 2026-01-03 09:34:23 +0000 > Commit: Konstantin Belousov > CommitDate: 2026-01-13 14:03:14 +0000 > > vm_object: remove the charge member I'm seeing the following panic with this change on boot. If I revert this change the boot succeeds. Andrew panic: swap_reserved 0x218c5 < decr 0xffffffffed021 cpuid = 99 time = 7 KDB: stack backtrace: db_trace_self() at db_trace_self db_trace_self_wrapper() at db_trace_self_wrapper+0x38 vpanic() at vpanic+0x1a0 panic() at panic+0x48 swap_release_by_cred() at swap_release_by_cred+0xf0 vm_map_entry_delete() at vm_map_entry_delete+0x124 vm_map_delete() at vm_map_delete+0x16c kern_munmap() at kern_munmap+0xb8 do_el0_sync() at do_el0_sync+0x618 handle_el0_sync() at handle_el0_sync+0x4c --- exception, esr 0x56000000 From nobody Tue Jan 13 16:24:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF2g2TJ2z6NMpW; Tue, 13 Jan 2026 16:24:59 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4drF2f5rTBz3Jhy; Tue, 13 Jan 2026 16:24:58 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 60DGOjAw072052; Tue, 13 Jan 2026 18:24:48 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 60DGOjAw072052 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 60DGOii7072051; Tue, 13 Jan 2026 18:24:44 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 13 Jan 2026 18:24:44 +0200 From: Konstantin Belousov To: Andrew Turner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d160447129fe - main - vm_object: remove the charge member Message-ID: References: <696650ac.9fe3.4aba108e@gitrepo.freebsd.org> <3b0c6f216d414656144673fbfddb55a1@fubar.geek.nz> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3b0c6f216d414656144673fbfddb55a1@fubar.geek.nz> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.2 X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on tom.home X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drF2f5rTBz3Jhy On Tue, Jan 13, 2026 at 04:08:34PM +0000, Andrew Turner wrote: > On 2026-01-13 14:03, Konstantin Belousov wrote: > > The branch main has been updated by kib: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=d160447129fe060b28bcd6ba429d17afdf494ff2 > > > > commit d160447129fe060b28bcd6ba429d17afdf494ff2 > > Author: Konstantin Belousov > > AuthorDate: 2026-01-03 09:34:23 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2026-01-13 14:03:14 +0000 > > > > vm_object: remove the charge member > > I'm seeing the following panic with this change on boot. If I revert this > change the boot succeeds. > > Andrew > > panic: swap_reserved 0x218c5 < decr 0xffffffffed021 > cpuid = 99 > time = 7 > KDB: stack backtrace: > db_trace_self() at db_trace_self > db_trace_self_wrapper() at db_trace_self_wrapper+0x38 > vpanic() at vpanic+0x1a0 > panic() at panic+0x48 > swap_release_by_cred() at swap_release_by_cred+0xf0 > vm_map_entry_delete() at vm_map_entry_delete+0x124 > vm_map_delete() at vm_map_delete+0x16c > kern_munmap() at kern_munmap+0xb8 > do_el0_sync() at do_el0_sync+0x618 > handle_el0_sync() at handle_el0_sync+0x4c > --- exception, esr 0x56000000 Try this please. commit 870deef431f00f959e838261587b044a2913f414 Author: Konstantin Belousov Date: Tue Jan 13 18:22:48 2026 +0200 vm_map_entry_delete(): fix the calculation of swap release Reported by: andrew Fixes: d160447129fe060b28bcd6ba429d17afdf494ff2 diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 04628f44a497..b8295bb2108d 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -3997,7 +3997,7 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry) object->size = offidxstart; if (object->cred != NULL) { swap_release_by_cred(ptoa(oldsize - - ptoa(object->size)), object->cred); + object->size), object->cred); } } } From nobody Tue Jan 13 16:51:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFdP6PFYz6NPhW for ; Tue, 13 Jan 2026 16:51:37 +0000 (UTC) (envelope-from bT.a3peddnmjsyuid6=d6zukdzl94d1=mb1v5kcx0vm53r@em790814.fubar.geek.nz) Received: from e2i140.smtp2go.com (e2i140.smtp2go.com [103.2.140.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFdP4Xqyz3bDL for ; Tue, 13 Jan 2026 16:51:37 +0000 (UTC) (envelope-from bT.a3peddnmjsyuid6=d6zukdzl94d1=mb1v5kcx0vm53r@em790814.fubar.geek.nz) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=mgy720.a1-4.dyn; x=1768323997; h=Feedback-ID: X-Smtpcorp-Track:Message-ID:Subject:To:From:Date:Reply-To:Sender: List-Unsubscribe:List-Unsubscribe-Post; bh=ckInZwO3bLKFZZClX7d47zJxqnRdFamjXqFdvyhxWhA=; b=D4ZMN8YR1AJTgiVlKPl2I5bLTh Hh5tYfAkJmvjdr9fD05XGwhHYOnb+VoPb8IlBToeWMOFcseIKJREI9sFV8EWTCq97URp42EgXxq4L PEJM4nCjtBAGWDR64Oh1zidxe1jqx+05XKJT6FctP4NtqcblqrDG78XXna4CgApHPCBi5C3mG/RoD /BS5x2n42AVtY/pihSU8i6WRuiLyvOBiShtfLY4+DbOMEAAA/t0YoPfjHfaMkwuQroWV/HnPYpmbn GJW3Fy2gxwNvTKDGNCMNYjmo8yDBSpllsiqGzJB+rAdWraIxuA7DSjEVl9p12Pt7dbs3/SqHDOAjW NNHvbYVA==; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fubar.geek.nz; i=@fubar.geek.nz; q=dns/txt; s=s790814; t=1768323097; h=from : subject : to : message-id : date; bh=ckInZwO3bLKFZZClX7d47zJxqnRdFamjXqFdvyhxWhA=; b=ck1x3PT0cRcmpScndi2cEoudKPIHvunbQUWXTDqAHiVZX6uswWMEzS3nibRGjWmV2my5d auXGZ/bN6rIAg+MYFKEDP//FAE8xYhHzAZASF5ka1Mg5/jKoXGD/bLYMq/zYCbSSf6Gwc1X ezJYdx0we4DVZdqNY4N+DhUku2UlKWscrZX/KW2wea5HPZENZSpj7S4y+ACMnKFb8PYzIzj vYgogM/Vrjau/67jEcfSYD+57zjNTuB+LGWJJUFubT8FBuCRA4Tsnhq3oqzRx5E2yKsAfcD 4biTZsuftlBgzIQDpjNVEmeyNdMqss7+67h7TMQAN3tOSsOZjnLCMrv4ugOQ== Received: from [10.139.162.187] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2-S2G) (envelope-from ) id 1vfhcE-cp4XxA-3B; Tue, 13 Jan 2026 16:51:34 +0000 Received: from [10.99.243.232] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.98.1-S2G) (envelope-from ) id 1vfhcD-4o5NDgrvTp2-neYT; Tue, 13 Jan 2026 16:51:33 +0000 Received: from webmail.fubar.geek.nz (unknown [IPv6:2a01:4f8:c010:8044::1]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id 75A444632D; Tue, 13 Jan 2026 16:51:33 +0000 (UTC) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Tue, 13 Jan 2026 16:51:33 +0000 From: Andrew Turner To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d160447129fe - main - vm_object: remove the charge member In-Reply-To: References: <696650ac.9fe3.4aba108e@gitrepo.freebsd.org> <3b0c6f216d414656144673fbfddb55a1@fubar.geek.nz> Message-ID: <42200c4e3c00631a7a3acace14239f9e@fubar.geek.nz> X-Sender: andrew@fubar.geek.nz Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Smtpcorp-Track: iJtgpUE_l-dz.JiO1y7QFdxfT.ynP2pwaLJDo Feedback-ID: 790814m:790814amQcrys:790814s4bya0HcM8 X-Report-Abuse: Please forward a copy of this message, including all headers, to X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:23352, ipnet:103.2.140.0/22, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drFdP4Xqyz3bDL On 2026-01-13 16:24, Konstantin Belousov wrote: > On Tue, Jan 13, 2026 at 04:08:34PM +0000, Andrew Turner wrote: >> On 2026-01-13 14:03, Konstantin Belousov wrote: >> > The branch main has been updated by kib: >> > >> > URL: https://cgit.FreeBSD.org/src/commit/?id=d160447129fe060b28bcd6ba429d17afdf494ff2 >> > >> > commit d160447129fe060b28bcd6ba429d17afdf494ff2 >> > Author: Konstantin Belousov >> > AuthorDate: 2026-01-03 09:34:23 +0000 >> > Commit: Konstantin Belousov >> > CommitDate: 2026-01-13 14:03:14 +0000 >> > >> > vm_object: remove the charge member >> >> I'm seeing the following panic with this change on boot. If I revert >> this >> change the boot succeeds. >> >> Andrew >> >> panic: swap_reserved 0x218c5 < decr 0xffffffffed021 >> cpuid = 99 >> time = 7 >> KDB: stack backtrace: >> db_trace_self() at db_trace_self >> db_trace_self_wrapper() at db_trace_self_wrapper+0x38 >> vpanic() at vpanic+0x1a0 >> panic() at panic+0x48 >> swap_release_by_cred() at swap_release_by_cred+0xf0 >> vm_map_entry_delete() at vm_map_entry_delete+0x124 >> vm_map_delete() at vm_map_delete+0x16c >> kern_munmap() at kern_munmap+0xb8 >> do_el0_sync() at do_el0_sync+0x618 >> handle_el0_sync() at handle_el0_sync+0x4c >> --- exception, esr 0x56000000 > > Try this please. > > commit 870deef431f00f959e838261587b044a2913f414 > Author: Konstantin Belousov > Date: Tue Jan 13 18:22:48 2026 +0200 > > vm_map_entry_delete(): fix the calculation of swap release > > Reported by: andrew > Fixes: d160447129fe060b28bcd6ba429d17afdf494ff2 > > diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c > index 04628f44a497..b8295bb2108d 100644 > --- a/sys/vm/vm_map.c > +++ b/sys/vm/vm_map.c > @@ -3997,7 +3997,7 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t > entry) > object->size = offidxstart; > if (object->cred != NULL) { > swap_release_by_cred(ptoa(oldsize - > - ptoa(object->size)), object->cred); > + object->size), object->cred); > } > } > } That fixed it for me. Andrew From nobody Tue Jan 13 17:00:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr05JQlz6NQTl for ; Tue, 13 Jan 2026 17:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr03fLGz3cKs for ; Tue, 13 Jan 2026 17:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9jkmSriHSbCdglKMIGKpLq5gXfq7NuB4Lf7Tzsh0GLw=; b=fVkGkCYOh0gpe4B5ETsEd79HVgSl3eHdOT2fEzlMEz2LGoY472E49bZX5d5zB1h+BzxpQ3 ovJ4X59FVAk2I7Dj7ntzyfI7ArlXzEHo+Ho4sFL8ObTkprxfSx9ySJ32797HI4/EnDYxzp MZUTjnNXnSVWwGoJVUTv5a6o8kuMUf2pD0nz3XHkBw21fqPaOyqR+dLpII0UiuB1lsnW45 LC8eTif5cN97Nl1nzSkiyoczm5+7DSrfgYVdPdbt02LdxVg9ON8p45AN1lk1ijir6o7R8B yJiMHmHOu1ju/BLyXIYZ8IdPuja+BsaRStskYmLArw05IGtakyeDkROqla6QdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9jkmSriHSbCdglKMIGKpLq5gXfq7NuB4Lf7Tzsh0GLw=; b=ZLG6kw6iOzPygZog3Mt9f5kARWjSqE8Jf1NkZRPGDKh3p6MaDUj0iATwWZrYgPr5cYV5XV DMoQAt71mtzuziK91euXcUM5s7mNzdwknM2ulPSidJ8WlQf6oip9aq0z6yfjEiWMzJiS1Q afa7aOHjX2fvw8DGbrcok1Jag2I0ZBYTIin9gWdcsnTDwB6ggfisQdpmqqocsqPWOsTzbU nOG/BZ4C1ibnRivQZm5PBNnilsUDu+4Ptg8eyzipatJzMJn4tK7Btdw6iowkos2qnP/qla dTsEa0zPgkHFqyn4s+6SAoyQoRi13NR6dFHybdzbKBB3T6cFOP6VssuuFNUaVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323648; a=rsa-sha256; cv=none; b=yfQQdT7W/d2Ma7+vUnvrOlqeo0ofTEMGL1t8b8vqXSHeAmvekmET78xoeduxDDhjFpi0FS qrnM7BkAjZxZkFvzPjPaFRgzypqmHVvrmAAOjq3TuaidXLDBdFVPBb3vwDbH8kyUwhWmIN 8CXe/7thSA+aOLouExH+4jN6kO5EYiUdphfPdJa7BpbVQlhaanKk7mXuU9cmMdQdcUuHyh UFpkCPEiclycEne4y4m/H1nnZx50RfRGMq89mTwFfOxCa/O8ddzu3oKwIbz9nZ8hcmhWKD /YfBvgeUmQAlY1NKS8jZawOn20JI6Xre+ABjZQWXAxAnuetjOXL2yvifiH8/DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr038T3z5bY for ; Tue, 13 Jan 2026 17:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35124 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 591c7a08bf8a - main - arm64: Enable MOPS in userspace List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 591c7a08bf8addce4b047ef9c8033c33099e4688 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:48 +0000 Message-Id: <69667a40.35124.634b8053@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=591c7a08bf8addce4b047ef9c8033c33099e4688 commit 591c7a08bf8addce4b047ef9c8033c33099e4688 Author: Sarah Walker AuthorDate: 2026-01-13 14:18:31 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:03 +0000 arm64: Enable MOPS in userspace Detect presence of FEAT_MOPS, and enable instruction set and set HWCAP2 flag if present. Add handler for MOE exceptions. Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54558 --- sys/arm64/arm64/identcpu.c | 8 +++++- sys/arm64/arm64/machdep.c | 35 +++++++++++++++++++++++++ sys/arm64/arm64/trap.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 2d07420bcdb0..e37c9813582b 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1094,6 +1094,11 @@ static const struct mrs_field_value id_aa64isar2_mops[] = { MRS_FIELD_VALUE_END, }; +static const struct mrs_field_hwcap id_aa64isar2_mops_caps[] = { + MRS_HWCAP(2, HWCAP2_MOPS, ID_AA64ISAR2_MOPS_IMPL), + MRS_HWCAP_END +}; + static const struct mrs_field_value id_aa64isar2_apa3[] = { MRS_FIELD_VALUE(ID_AA64ISAR2_APA3_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR2_APA3_PAC, "APA3 PAC"), @@ -1149,7 +1154,8 @@ static const struct mrs_field id_aa64isar2_fields[] = { MRS_FIELD(ID_AA64ISAR2, PAC_frac, false, MRS_LOWER, 0, id_aa64isar2_pac_frac), MRS_FIELD(ID_AA64ISAR2, BC, false, MRS_LOWER, 0, id_aa64isar2_bc), - MRS_FIELD(ID_AA64ISAR2, MOPS, false, MRS_LOWER, 0, id_aa64isar2_mops), + MRS_FIELD_HWCAP(ID_AA64ISAR2, MOPS, false, MRS_LOWER, MRS_USERSPACE, + id_aa64isar2_mops, id_aa64isar2_mops_caps), MRS_FIELD_HWCAP(ID_AA64ISAR2, APA3, false, MRS_LOWER, MRS_USERSPACE, id_aa64isar2_apa3, id_aa64isar2_apa3_caps), MRS_FIELD_HWCAP(ID_AA64ISAR2, GPA3, false, MRS_LOWER, MRS_USERSPACE, diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 322bad273a08..6790f47a0f82 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -219,6 +219,41 @@ CPU_FEAT(feat_pan, "Privileged access never", pan_check, NULL, pan_enable, pan_disabled, CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); +static cpu_feat_en +mops_check(const struct cpu_feat *feat __unused, u_int midr __unused) +{ + uint64_t id_aa64isar2; + + if (!get_kernel_reg(ID_AA64ISAR2_EL1, &id_aa64isar2)) + return (FEAT_ALWAYS_DISABLE); + if (ID_AA64ISAR2_MOPS_VAL(id_aa64isar2) == ID_AA64ISAR2_MOPS_NONE) + return (FEAT_ALWAYS_DISABLE); + + return (FEAT_DEFAULT_ENABLE); +} + +static bool +mops_enable(const struct cpu_feat *feat __unused, + cpu_feat_errata errata_status __unused, u_int *errata_list __unused, + u_int errata_count __unused) +{ + WRITE_SPECIALREG(sctlr_el1, READ_SPECIALREG(sctlr_el1) | SCTLR_MSCEn); + isb(); + + return (true); +} + +static void +mops_disabled(const struct cpu_feat *feat __unused) +{ + WRITE_SPECIALREG(sctlr_el1, READ_SPECIALREG(sctlr_el1) & ~SCTLR_MSCEn); + isb(); +} + +CPU_FEAT(feat_mops, "MOPS", + mops_check, NULL, mops_enable, mops_disabled, + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); + bool has_hyp(void) { diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 75c9b5f87892..3de56187657c 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -597,6 +597,66 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) } } +static void +handle_moe(struct thread *td, struct trapframe *frame, uint64_t esr) +{ + uint64_t src; + uint64_t dest; + uint64_t size; + int src_reg; + int dest_reg; + int size_reg; + int format_option; + + format_option = esr & ISS_MOE_FORMAT_OPTION_MASK; + dest_reg = (esr & ISS_MOE_DESTREG_MASK) >> ISS_MOE_DESTREG_SHIFT; + size_reg = (esr & ISS_MOE_SIZEREG_MASK) >> ISS_MOE_SIZEREG_SHIFT; + dest = frame->tf_x[dest_reg]; + size = frame->tf_x[size_reg]; + + /* + * Put the registers back in the original format suitable for a + * prologue instruction, using the generic return routine from the + * Arm ARM (DDI 0487I.a) rules CNTMJ and MWFQH. + */ + if (esr & ISS_MOE_MEMINST) { + /* SET* instruction */ + if (format_option == ISS_MOE_FORMAT_OPTION_A || + format_option == ISS_MOE_FORMAT_OPTION_A2) { + /* Format is from Option A; forward set */ + frame->tf_x[dest_reg] = dest + size; + frame->tf_x[size_reg] = -size; + } + } else { + /* CPY* instruction */ + src_reg = (esr & ISS_MOE_SRCREG_MASK) >> ISS_MOE_SRCREG_SHIFT; + src = frame->tf_x[src_reg]; + + if (format_option == ISS_MOE_FORMAT_OPTION_B || + format_option == ISS_MOE_FORMAT_OPTION_B2) { + /* Format is from Option B */ + if (frame->tf_spsr & PSR_N) { + /* Backward copy */ + frame->tf_x[dest_reg] = dest - size; + frame->tf_x[src_reg] = src + size; + } + } else { + /* Format is from Option A */ + if (frame->tf_x[size_reg] & (1UL << 63)) { + /* Forward copy */ + frame->tf_x[dest_reg] = dest + size; + frame->tf_x[src_reg] = src + size; + frame->tf_x[size_reg] = -size; + } + } + } + + if (esr & ISS_MOE_FROM_EPILOGUE) + frame->tf_elr -= 8; + else + frame->tf_elr -= 4; +} + void do_el0_sync(struct thread *td, struct trapframe *frame) { @@ -738,6 +798,10 @@ do_el0_sync(struct thread *td, struct trapframe *frame) exception); userret(td, frame); break; + case EXCP_MOE: + handle_moe(td, frame, esr); + userret(td, frame); + break; default: call_trapsignal(td, SIGBUS, BUS_OBJERR, (void *)frame->tf_elr, exception); From nobody Tue Jan 13 17:00:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFqz3qLwz6NQGJ for ; Tue, 13 Jan 2026 17:00: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFqz2qv5z3cHd for ; Tue, 13 Jan 2026 17:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0oRmN0J7b0PLsjfKTI0ah52qXZcspKpks6XFqbApMU=; b=WQxgR4KeVahWbzxu+i3TfRobAJ+cRldee3NCQSi0ZJlc0pIzYZdRy2GfA55Y5rNUYxuCWa VMXbya+5R+8bKpFpjUA++b4FnnN29djXHLabPixI7KsSaBE+/9aSG4Cr6TSqGgMsBa5pV3 ub70zRtxj/nidksFKWr4ksZSKXIm4NZ04iNAJNRJ9TrpVobNEz/DLu1es+7QZusgHSk6B5 BDAifWSgYVEhtTDIMdj5Sa0XTxLw7llIcPzld6Idh+JM2NgBy4S04cyoRVIezSMteRX6JK BtiosWbOs9GyGO/2D6IjE+/JywUkNzr0b45YhSt7mzbVF0l4Wp+aw4JxnejF7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A0oRmN0J7b0PLsjfKTI0ah52qXZcspKpks6XFqbApMU=; b=AIUT1Fa9QzI8pAbqIVQPVfyD+VUql+es6sDhpYyP7iUNvxIXVjn2aIx/AHnIYWAsqFvWLD sPt83h1Fzq8RNUYJaWBJ7bmflU4AT0u4gENI1sg6br+gwDdV+A8fG1FgpnyOH1Tb5RkJUB /JqT3FJkQCKE2XjzrDfHwk7QY8aC4fTecZQaM14vzQOEevhSICdRLfW25/tM18xbx7UbG0 MAlOV2oiPMGHuban8ctek0lJgXCnrGWKlNA13hf+L/ao5MX9fsb/EWkq4PLvMKQPWrC4Xm gnsuPrJQMtnYOvwbsQ/RiumXUVKAGadnkypRY9VMc43dLj4De/OjYg1Tfo6wtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323647; a=rsa-sha256; cv=none; b=hrdt+o7MMfOIwwqGG0lh2jtEEIfgV93yFJFHvCEys59DTEcutG4hqfaHzBLas71Kzl0uOe wG3OLKqFfpkm2qgNWAj/EJv5FO5i1DL8ckLDrfr1HyDCuSFMu8tqzCe+zuwfWSxhnUhy3G v6OR67EwlxWCxtBNHW+Hybh4KW9nh913fIF+Oc/69juLOSjKZdPZt/djSl7OQf5/oY3ORG SzaecYIVu5V+FVitNHYrXiUxvE5YcvBw3mQOp6QO0dS2b32LTQVo6kLu7ev1/KaXYE/UXK n8TJOS5lKvnBGyHaCeuSy/f96rGH/d4T7MVpj+tGNFGTOrj9i82HrGH1loo3bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFqz2P5wz5r9 for ; Tue, 13 Jan 2026 17:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3430e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 0685fc435c2b - main - arm64: Add FEAT_MOPS register fields List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0685fc435c2b6750762d50985bc6876dede5fbe2 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:47 +0000 Message-Id: <69667a3f.3430e.39dc046@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0685fc435c2b6750762d50985bc6876dede5fbe2 commit 0685fc435c2b6750762d50985bc6876dede5fbe2 Author: Sarah Walker AuthorDate: 2026-01-13 15:26:10 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:27:57 +0000 arm64: Add FEAT_MOPS register fields (commit message by andrew@) Reviewed by: andrew Sponsored by: Arm Ltd --- sys/arm64/include/armreg.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 27b02c44cd76..28dec3a40b26 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -592,6 +592,27 @@ #define ISS_MSR_REG(reg) \ __ISS_MSR_REG(reg##_op0, reg##_op1, reg##_CRn, reg##_CRm, reg##_op2) +#define ISS_MOE_MEMINST_SHIFT 24 +#define ISS_MOE_MEMINST (0x01 << ISS_MOE_MEMINST_SHIFT) +#define ISS_MOE_isSETG_SHIFT 24 +#define ISS_MOE_isSETG (0x01 << ISS_MOE_isSETG_SHIFT) +#define ISS_MOE_OPTIONS_SHIFT 19 +#define ISS_MOE_OPTIONS_MASK (0x0f << ISS_MOE_OPTIONS_SHIFT) +#define ISS_MOE_FROM_EPILOGUE_SHIFT 18 +#define ISS_MOE_FROM_EPILOGUE (0x01 << ISS_MOE_FROM_EPILOGUE_SHIFT) +#define ISS_MOE_FORMAT_OPTION_SHIFT 16 +#define ISS_MOE_FORMAT_OPTION_MASK (0x03 << ISS_MOE_FORMAT_OPTION_SHIFT) +#define ISS_MOE_FORMAT_OPTION_B (0x00 << ISS_MOE_FORMAT_OPTION_SHIFT) +#define ISS_MOE_FORMAT_OPTION_A (0x01 << ISS_MOE_FORMAT_OPTION_SHIFT) +#define ISS_MOE_FORMAT_OPTION_A2 (0x02 << ISS_MOE_FORMAT_OPTION_SHIFT) +#define ISS_MOE_FORMAT_OPTION_B2 (0x03 << ISS_MOE_FORMAT_OPTION_SHIFT) +#define ISS_MOE_DESTREG_SHIFT 10 +#define ISS_MOE_DESTREG_MASK (0x1f << ISS_MOE_DESTREG_SHIFT) +#define ISS_MOE_SRCREG_SHIFT 5 +#define ISS_MOE_SRCREG_MASK (0x1f << ISS_MOE_SRCREG_SHIFT) +#define ISS_MOE_SIZEREG_SHIFT 0 +#define ISS_MOE_SIZEREG_MASK (0x1f << ISS_MOE_SIZEREG_SHIFT) + #define ISS_DATA_ISV_SHIFT 24 #define ISS_DATA_ISV (0x01 << ISS_DATA_ISV_SHIFT) #define ISS_DATA_SAS_SHIFT 22 @@ -656,6 +677,7 @@ #define EXCP_DATA_ABORT_L 0x24 /* Data abort, from lower EL */ #define EXCP_DATA_ABORT 0x25 /* Data abort, from same EL */ #define EXCP_SP_ALIGN 0x26 /* SP slignment fault */ +#define EXCP_MOE 0x27 /* Memory Operation Exception */ #define EXCP_TRAP_FP 0x2c /* Trapped FP exception */ #define EXCP_SERROR 0x2f /* SError interrupt */ #define EXCP_BRKPT_EL0 0x30 /* Hardware breakpoint, from same EL */ @@ -2627,7 +2649,9 @@ #define SCTLR_LSMAOE (UL(0x1) << 29) #define SCTLR_EnIB (UL(0x1) << 30) #define SCTLR_EnIA (UL(0x1) << 31) -/* Bits 34:32 are reserved */ +/* Bit 32 is reserved */ +#define SCTLR_MSCEn (UL(0x1) << 33) +/* Bit 34 is reserved */ #define SCTLR_BT0 (UL(0x1) << 35) #define SCTLR_BT1 (UL(0x1) << 36) #define SCTLR_ITFSB (UL(0x1) << 37) From nobody Tue Jan 13 17:00:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr20jynz6NQXp for ; Tue, 13 Jan 2026 17:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr14ZF6z3c6d for ; Tue, 13 Jan 2026 17:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/g8shNEOQOyaArHYRlIYzDOOTkw+Fuo70lYr4rbLpQM=; b=M+L845oNEiDrT2d9QLC109MCE/YleY+JQDO1q7v58SNxNQvuU4xfENizyojIfz2m4DeCaf yEWviEwDZLPnTzfqb3d07x/I6lqwtQSDAbaZCK8U0xy+k0Ki6pv7kEybY1Ko3B+7Nro8TZ mNl4nbSHLFK8NQEh7CU9nB0L69K4DX8GajZh6KIx92V0bmBqytA76dPL3OCPbTEXbP+F90 KdTo51NjQsGKe/ddzgY0Xwa2QuhE31sg5sAgMH0VHZJ1NWiY4/P0wnJ6Y6NuJanjbtD1OC 40PUWk+6VPvhU0U9lfCfckinp6l32vqMEtvpBEOPD3bWbl/KBxzgHi9qZBc34A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/g8shNEOQOyaArHYRlIYzDOOTkw+Fuo70lYr4rbLpQM=; b=yGBxX7L3NtNFMHnqR/R9Hvpi3EmSQPBAWqrdgyjbXdmhfjCD3eFGv8R3oeQ+Vku4fxPjl2 wZoPO4qyI1ZabNNvdSrWTgW8bgUIDU+KC0JIsSPjWUt4+a6Yi05PvmTpQszDTyQkbE5uuJ Nd0SLBwh3D297cjJTQYvGJzy34ZlKRo5ECY0BtizNafEbvzWNbGwBQymdB7xLjuI2cP8gz OvQ9rGL6sbv3Rbb8Aw2w4EWGQxr3I/u6uNvqbqAC9lO67p7YdOnDXK8BmT4nNv6ahMV6Mn jwhgk42+sEYibIocc4gMQ/TWiBNbT83xS073tgNCzgeD9jHfoVqLqf6hHjOwiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323649; a=rsa-sha256; cv=none; b=AQu94HH3svRUIlhRwgiJHF3+3f6NBnQtBoVCnTT3tePkcAZ+VzQXsVVeoZHWTjKcda9qOD vzomFXwbCPJwM64PchwvU94dkoTCYJsQ8wCSBKHYq+ZcOj50+ibE+RNe9RXt1CvTvX9sMS zGGoSBpByZzygL3LrJvD2k2Qca3Lkl7dMLYwm0SbtvN4AUJh3iT9xAL9X+iRWvfrt9FePt 5vrpkPJBdCzAC2u5AHKyxZlcZpaxvX47k0NPpNg7Jw7Gzxr+HWc0YHyxJfTAS10pj1k935 +jxQKYVmgFenxxnKK8a1dU+YRHEQ1GQ7NAl5uICh4V4WvUv8HIrsIfIkwO6P0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr13vCpz5rF for ; Tue, 13 Jan 2026 17:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3237f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 449339bdba24 - main - arm64: Provide ifunc HWCAP structure definitions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 449339bdba2470eded4d55c41b084cfc8f5ef73a Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:49 +0000 Message-Id: <69667a41.3237f.1ad84914@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=449339bdba2470eded4d55c41b084cfc8f5ef73a commit 449339bdba2470eded4d55c41b084cfc8f5ef73a Author: Sarah Walker AuthorDate: 2026-01-13 14:19:56 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:04 +0000 arm64: Provide ifunc HWCAP structure definitions IFUNC structure is based on Section 9.4.1 "GNU C Library IFUNC interface" from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1. (https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf) Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54598 --- sys/arm64/include/ifunc.h | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/sys/arm64/include/ifunc.h b/sys/arm64/include/ifunc.h index de452ad34c8f..34e783df8fe5 100644 --- a/sys/arm64/include/ifunc.h +++ b/sys/arm64/include/ifunc.h @@ -29,20 +29,38 @@ #ifndef __ARM64_IFUNC_H #define __ARM64_IFUNC_H +struct __ifunc_arg_t +{ + unsigned long _size; /* Size of the struct, so it can grow. */ + unsigned long _hwcap; + unsigned long _hwcap2; + unsigned long _hwcap3; + unsigned long _hwcap4; +}; + +typedef struct __ifunc_arg_t __ifunc_arg_t; + +#define _IFUNC_ARG_HWCAP (1ULL << 62) + #define DEFINE_IFUNC(qual, ret_type, name, args) \ static ret_type (*name##_resolver(void))args __used; \ qual ret_type name args __attribute__((ifunc(#name "_resolver"))); \ static ret_type (*name##_resolver(void))args #define DEFINE_UIFUNC(qual, ret_type, name, args) \ - static ret_type (*name##_resolver(uint64_t, uint64_t, \ + static ret_type (*name##_resolver(uint64_t, \ + const struct __ifunc_arg_t *ifunc_arg, \ uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, \ uint64_t))args __used; \ qual ret_type name args __attribute__((ifunc(#name "_resolver"))); \ - static ret_type (*name##_resolver(uint64_t _arg1 __unused, \ - uint64_t _arg2 __unused, uint64_t _arg3 __unused, \ - uint64_t _arg4 __unused, uint64_t _arg5 __unused, \ - uint64_t _arg6 __unused, uint64_t _arg7 __unused, \ + static ret_type (*name##_resolver( \ + uint64_t at_hwcap __unused, \ + const struct __ifunc_arg_t *ifunc_arg __unused, \ + uint64_t _arg3 __unused, \ + uint64_t _arg4 __unused, \ + uint64_t _arg5 __unused, \ + uint64_t _arg6 __unused, \ + uint64_t _arg7 __unused, \ uint64_t _arg8 __unused))args #endif From nobody Tue Jan 13 17:00:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr340XBz6NQ7s for ; Tue, 13 Jan 2026 17:00: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr26HGHz3cCg for ; Tue, 13 Jan 2026 17:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cBbchOX9SjYjsgSMj0qTbPpJUFLjF5Hewfpb3v3zWZA=; b=DrComUlVbowICj1OB7ppjyEsYQHbVYiXyH8TMk4cHMalH4DC/juAVvRyz21Y/76BAUHAM3 wG0z2w4OHbMsEC8PruwYkBSZZx2IwqaZK7GAx0HBwOiKEi7iaS6aiohpSOHnZZPxf14zfY F3i1dT2JoMhDuXcR6YaGISm8mlCMXdcU9cPdVQdjeeOQJ8JEE2fiHpRwnn8grA/DykggLM uo6uRCDjzSnwJpxBfiTAD5v4/3HPg7cg8LNuIgEjC5Yeacq7dzm9Cduc5av6/bgRU2aGaq PN/8rZ0BzWgIpjq7ADzQ+U9uJ+cqrwtesDA8zTLmt0hNQYgvwtUyMkt8mv+9kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cBbchOX9SjYjsgSMj0qTbPpJUFLjF5Hewfpb3v3zWZA=; b=c+XdNWn5LDr+51xI2N26z1zaltAvYLzsX962kLXQNsMq8RTaOuNVggfFV7EkRmiO82PaJ4 NjESkBOz+LIxpC0DavUr14Eyl1s6V7oyHwJonriwPqaPCwMqBYJvuRUL6n51PtBZxNmQFR VX2X8/CZjhL4AIi4zIGNHlHm3H4ly7Qa+GSdF14+86mw2uBoLuTYs3zCSLnS/sfTkD43C+ CIzm9W4UaJiGZYRzkXb1dNdY/mEvWqHnhF+6CK32IMTwvTaSIRuCEDXMP6nRDV3Zj0iK9R xOxN3IytdGeB29PP3CRNIr2NV/pg50bkWOVDVmKvezTiNd2okuuDn+KikQGizQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323650; a=rsa-sha256; cv=none; b=ljitoXAwWknAlD7EuhRV351wvUtD16nBiXhyZSQHw49nHb4u/NzKxxMGp7leKNWI86STf5 KtQMSCF+ffjl9StZPR9IDqMqVLOQ/c0PjilyViDHNFRkEIORbDz6zhFG59enlhLxTAS773 hPsQ3zqd+m60NVFqXW17XVlvkHidvU3E4SbpflX/j2nxln06KjbXqH/jkuZmwADu2kBluF j5famXf4ct2yk9pt4c5h56d/FpZOLSHUS1j/scRvWcluqZ9KV52rs9T9Z/4TOjDKKkwBSQ ktpk/apXY9YdYS5WHC9rE00CfhUStvjHvdiNFkp/yHYeHse7+9xjYiVMr70ZYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr24hlSz5rJ for ; Tue, 13 Jan 2026 17:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3440d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: a652357fb59f - main - rtld-elf: Pass HWCAP flags to ifunc resolver functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a652357fb59f03bee85d61814002f9c60ea52340 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:50 +0000 Message-Id: <69667a42.3440d.6c29bdec@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a652357fb59f03bee85d61814002f9c60ea52340 commit a652357fb59f03bee85d61814002f9c60ea52340 Author: Sarah Walker AuthorDate: 2026-01-13 14:23:03 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:04 +0000 rtld-elf: Pass HWCAP flags to ifunc resolver functions Function arguments are based on Section 9.4.1 "GNU C Library IFUNC interface" from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1. (https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf) Reviewed by: kib, andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54559 --- libexec/rtld-elf/aarch64/reloc.c | 15 +++++++++++++-- libexec/rtld-elf/aarch64/rtld_machdep.h | 10 +++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/libexec/rtld-elf/aarch64/reloc.c b/libexec/rtld-elf/aarch64/reloc.c index 62d664f8fb80..85f7c1b4022a 100644 --- a/libexec/rtld-elf/aarch64/reloc.c +++ b/libexec/rtld-elf/aarch64/reloc.c @@ -444,10 +444,21 @@ reloc_jmpslot(Elf_Addr *where, Elf_Addr target, return (target); } +__ifunc_arg_t ifunc_arg = { + ._size = sizeof(__ifunc_arg_t) +}; + void -ifunc_init(Elf_Auxinfo *aux_info[__min_size(AT_COUNT)] __unused) +ifunc_init(Elf_Auxinfo *aux_info[__min_size(AT_COUNT)]) { - + ifunc_arg._hwcap = aux_info[AT_HWCAP] != NULL ? + (aux_info[AT_HWCAP]->a_un.a_val | _IFUNC_ARG_HWCAP) : 0; + ifunc_arg._hwcap2 = aux_info[AT_HWCAP2] != NULL ? + aux_info[AT_HWCAP2]->a_un.a_val : 0; + ifunc_arg._hwcap3 = aux_info[AT_HWCAP3] != NULL ? + aux_info[AT_HWCAP3]->a_un.a_val : 0; + ifunc_arg._hwcap4 = aux_info[AT_HWCAP4] != NULL ? + aux_info[AT_HWCAP4]->a_un.a_val : 0; } /* diff --git a/libexec/rtld-elf/aarch64/rtld_machdep.h b/libexec/rtld-elf/aarch64/rtld_machdep.h index d689ae354c49..4b5ad523ee87 100644 --- a/libexec/rtld-elf/aarch64/rtld_machdep.h +++ b/libexec/rtld-elf/aarch64/rtld_machdep.h @@ -33,6 +33,7 @@ #include #include +#include #include struct Struct_Obj_Entry; @@ -67,6 +68,8 @@ Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, #define call_init_pointer(obj, target) \ (((InitArrFunc)(target))(main_argc, main_argv, environ)) +extern struct __ifunc_arg_t ifunc_arg; + /* * Pass zeros into the ifunc resolver so we can change them later. The first * 8 arguments on arm64 are passed in registers so make them known values @@ -74,9 +77,10 @@ Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, * no arguments are passed in, and if this changes later will be able to * compare the argument with 0 to see if it is set. */ -#define call_ifunc_resolver(ptr) \ - (((Elf_Addr (*)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, \ - uint64_t, uint64_t, uint64_t))ptr)(0, 0, 0, 0, 0, 0, 0, 0)) +#define call_ifunc_resolver(ptr) \ + (((Elf_Addr (*)(uint64_t, const struct __ifunc_arg_t *, uint64_t, \ + uint64_t, uint64_t, uint64_t, uint64_t, uint64_t))ptr)( \ + ifunc_arg._hwcap, &ifunc_arg, 0, 0, 0, 0, 0, 0)) #define round(size, align) \ (((size) + (align) - 1) & ~((align) - 1)) From nobody Tue Jan 13 17:00:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr41DKxz6NQD4 for ; Tue, 13 Jan 2026 17:00: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr35r8dz3cLP for ; Tue, 13 Jan 2026 17:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mGJ773VFBJ2ykLygL5cmLIFlhA6Mcb0sm5X4Syia7XY=; b=EfrO1KuvSVpga4aSGPQqwIeaJgu8ykzTT3j3DiTSCE3pKClM2DJS6NqJCkFcr7XnQUeCGX otD2CT2VrRBlZmXTexc8ths3vQCNRqlkqwoB2QGrXDAfcNr7/vCEwFLAn4vEG8oWSH3kvx E2OLVvH5Fx0aJbbSvEydkihKcF2SGnGxnLGwZm9+XGa1GDV1XWdsaUHY6ZeY9O/nw+TPMP hblp2b1xU6X6mpieVxAZRmxPSlEyY8BEcP4lf31S5Nd6l1qFX3E81P3fTru/b0xEAriu/+ FuoNL51YxdarU3P9bUfByaC8Ll27rDHFkjPupFamcuLggjo22PT2JR5p4qajPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mGJ773VFBJ2ykLygL5cmLIFlhA6Mcb0sm5X4Syia7XY=; b=ppUIpV4kZ6a6VJgzR8L3JB/7fK8sp3kNucoqqEVlg/M/6fIjuGDd7E35osEJgZoTV28OJG rJ7dFB8gBqxCZiRuvvDnfdW2e4cdDUadypcOV0Xg6/uPG7TE5F5IZtD3NXX202SJ7mKbdp 7r9iC0B8B73MduX1gZYSI/QL8j0ahAgjNPG0c4bLcnOSPD8nTZ++hiTPRb4RQld63m27Pg l0Tyhtglouy5uJFxSgP8+2Ymw9OdWHwvdppID+nCGjr8Zek6xC0E3nDUYYJYrC5nSOUf2P KWLjAfD0W5OWIb4Yf3CN8aXnQwO4fmKCgpudQgIvM9ZvoEpKlm0W/ujjOgujMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323651; a=rsa-sha256; cv=none; b=OxkXCM81JsN61dAVKVflJlVsV7XJVE7SXByzNPXnPtXsuO49eNZWsXaI1UZ6Mk8Xw4xBXu gul+uVv2yEYbuFOxp/cFnKY4sSspDGA7KhTw6kPC2Xo2FaF7KwgILU8zIDIDGVRlk6yahh 27bbaHsUqASscc/oHkEIeZywQEFtKdJqZnRCo/0f6Y4oEKhu0tPj+N7mgpUkg4IocokJ6t Eh8pZN2papaO0vWbN7eVG7b3MxuNOLEOAX8LxJlPibRGvu/f/KvCv3PhGXQ8kVTt6pCGyh 3Z0bTl2x5fmmmcJSYVhK5W8ZRdwX/6M+nkeqJemJ8kuo3xngnqWNfJx2ktVxHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr35RHWz5T6 for ; Tue, 13 Jan 2026 17:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 347ad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 5eec3531204b - main - libc/csu: Pass HWCAP flags to ifunc resolver functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5eec3531204bd93426642a9c45b0c292a01447e4 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:51 +0000 Message-Id: <69667a43.347ad.7c56ae80@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5eec3531204bd93426642a9c45b0c292a01447e4 commit 5eec3531204bd93426642a9c45b0c292a01447e4 Author: Sarah Walker AuthorDate: 2026-01-13 14:24:00 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:04 +0000 libc/csu: Pass HWCAP flags to ifunc resolver functions Function arguments are based on Section 9.4.1 "GNU C Library IFUNC interface" from "System V ABI for the Arm 64-bit Architecture (AArch64)", 2025Q1. (https://github.com/ARM-software/abi-aa/releases/download/2025Q1/sysvabi64.pdf) Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54599 --- lib/libc/csu/aarch64/reloc.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/lib/libc/csu/aarch64/reloc.c b/lib/libc/csu/aarch64/reloc.c index 4ba7920bcb07..77e8a38176ce 100644 --- a/lib/libc/csu/aarch64/reloc.c +++ b/lib/libc/csu/aarch64/reloc.c @@ -25,17 +25,42 @@ */ #include +#include + +static __ifunc_arg_t ifunc_arg; static void -ifunc_init(const Elf_Auxinfo *aux __unused) +ifunc_init(const Elf_Auxinfo *aux) { + ifunc_arg._size = sizeof(ifunc_arg); + ifunc_arg._hwcap = 0; + ifunc_arg._hwcap2 = 0; + ifunc_arg._hwcap3 = 0; + ifunc_arg._hwcap4 = 0; + + for (; aux->a_type != AT_NULL; aux++) { + switch (aux->a_type) { + case AT_HWCAP: + ifunc_arg._hwcap = aux->a_un.a_val | _IFUNC_ARG_HWCAP; + break; + case AT_HWCAP2: + ifunc_arg._hwcap2 = aux->a_un.a_val; + break; + case AT_HWCAP3: + ifunc_arg._hwcap3 = aux->a_un.a_val; + break; + case AT_HWCAP4: + ifunc_arg._hwcap4 = aux->a_un.a_val; + break; + } + } } static void crt1_handle_rela(const Elf_Rela *r) { typedef Elf_Addr (*ifunc_resolver_t)( - uint64_t, uint64_t, uint64_t, uint64_t, + uint64_t, const __ifunc_arg_t *, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t); Elf_Addr *ptr, *where, target; @@ -43,7 +68,7 @@ crt1_handle_rela(const Elf_Rela *r) case R_AARCH64_IRELATIVE: ptr = (Elf_Addr *)r->r_addend; where = (Elf_Addr *)r->r_offset; - target = ((ifunc_resolver_t)ptr)(0, 0, 0, 0, 0, 0, 0, 0); + target = ((ifunc_resolver_t)ptr)(ifunc_arg._hwcap, &ifunc_arg, 0, 0, 0, 0, 0, 0); *where = target; break; } From nobody Tue Jan 13 17:00:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr5424Qz6NQGg for ; Tue, 13 Jan 2026 17:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr502zXz3cW3 for ; Tue, 13 Jan 2026 17:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2feDCLXFP6OIiOufS4cNohlatqBdXekU3pfXyWQDn7E=; b=JPnz1GTZA0Lfdh8nXNuBfwhdx0UTaWsqCfRUNcryvX0m9eNgtiKVtiE/guZe/Bk+p9Zt8k KUYMDkomHJTjhFzbeI7Ob9VTUgELMRgbEqKRH2KgYSuqHtCSGxu5CNhpC8VUftPL4FQfKH Av6xrJ8MDL52HMy0rxAj1/qzhQsU/vagJd2ZBYjyl0sBaNXTVzo4NxA9IqKxhVTetflMe5 ENvuNr9puWE58PPUl7NLuzO5bwT5jHA08WlZSqMCX4Iq7m5ft6CaMq8hE0+JQysv8gXObM 9In/WGie7q7BBfBdY31pEvhKqq6lN6jcZWjsZQgzDzdFlIZKcBNIHRpWJSY+rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2feDCLXFP6OIiOufS4cNohlatqBdXekU3pfXyWQDn7E=; b=erFz0LO188EZuybO0czIRR464Cdv2Z/DpZ5/E8zUAi5I37z0rlGlrTIlhiWFOzxfmfpPC5 2yxc3Ttf3zimm6CUVKCihxaGb1KnXFuHK5GWHZz0cB5ICYuF7E2K9cf5qNYMOBMkX7KZg9 hLf+EKgWMrcuVDkR6E75a6QfFqXKXm9ZG5vo0L9Hckn/sjcNnflfxb0F8ElHcwJKywd9Bn yfHePCG5PZVolYGWYE1aJh/OrI34W12ACwU2g2K863nuOSnJSt++ZX5jOOC190Amen+dcp pw6D+zlSDnM6Xzazbsrlm/dbeek+ZUIsLSAfMYrhMGS2zXDIFR1gevMDKpu9Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323653; a=rsa-sha256; cv=none; b=rpJe/2WDbFwUgauPBD/zKTrdpU+PJPwqQiFQ1X2AtlM9c2cK5zADqfcz3FzFiL8dGtkxyk I4x9i/CpeeeTpif2tMbbTgkejaPfTSLpAsUyacr3Y6I5FmKctBLUeElAi1N734dcdI5u6W 4vnwcRuL/chlLV2ujiXJNdZfEpQWvPhIGWVW8+c6esx5whiBJaZRhLQgbm4WD4h2JgBI/E oPlaa9tLACKKEcwZtm75+eLDXrtr5S9/CBnTvaCb9HyYCkkW//mVrQbY3PajeDb9QWJVqt W2WrLaKE8YmW9OU6zC22VmwNp4+i6NBt5xOLp7lzUWkTsyz8PLQS7ZsIa1Fx4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr46GrDz5YJ for ; Tue, 13 Jan 2026 17:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 331c4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 41ccf82b29f3 - main - libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41ccf82b29f3b16fcd1ccb4987569c851222ef8d Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:52 +0000 Message-Id: <69667a44.331c4.5c74a30d@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=41ccf82b29f3b16fcd1ccb4987569c851222ef8d commit 41ccf82b29f3b16fcd1ccb4987569c851222ef8d Author: Sarah Walker AuthorDate: 2026-01-13 14:24:53 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:04 +0000 libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54560 --- lib/libc/aarch64/string/Makefile.inc | 13 ++++++--- lib/libc/aarch64/string/memcpy.S | 4 +-- lib/libc/aarch64/string/memcpy_resolver.c | 42 ++++++++++++++++++++++++++++++ lib/libc/aarch64/string/memmove_resolver.c | 42 ++++++++++++++++++++++++++++++ lib/libc/aarch64/string/memset.S | 2 ++ lib/libc/aarch64/string/memset_resolver.c | 42 ++++++++++++++++++++++++++++++ 6 files changed, 139 insertions(+), 6 deletions(-) diff --git a/lib/libc/aarch64/string/Makefile.inc b/lib/libc/aarch64/string/Makefile.inc index 35523fb954be..528c19574a1c 100644 --- a/lib/libc/aarch64/string/Makefile.inc +++ b/lib/libc/aarch64/string/Makefile.inc @@ -5,10 +5,8 @@ AARCH64_STRING_FUNCS= \ memcmp \ - memcpy \ memmove \ memrchr \ - memset \ stpcpy \ strchr \ strchrnul \ @@ -34,7 +32,12 @@ MDSRCS+= \ timingsafe_bcmp.S \ timingsafe_memcmp.S \ bcopy.c \ - bzero.c + bzero.c \ + memcpy.S \ + memcpy_resolver.c \ + memmove_resolver.c \ + memset.S \ + memset_resolver.c # # Add the above functions. Generate an asm file that includes the needed @@ -55,6 +58,8 @@ MDSRCS+= ${FUNC}.S CFLAGS.${FUNC}.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string .endfor -# memchr.S is a wrapper in the src tree for the implementation from +# Several files are wrappers in the src tree for the implementation from # arm-optimized-routines CFLAGS.memchr.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string +CFLAGS.memcpy.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string +CFLAGS.memset.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string diff --git a/lib/libc/aarch64/string/memcpy.S b/lib/libc/aarch64/string/memcpy.S index 53e860750eb2..06598d59bcf2 100644 --- a/lib/libc/aarch64/string/memcpy.S +++ b/lib/libc/aarch64/string/memcpy.S @@ -1,3 +1,3 @@ -#define __memcpy_aarch64_simd memcpy -#define __memmove_aarch64_simd memmove #include "aarch64/memcpy-advsimd.S" +#include "aarch64/memcpy-mops.S" +#include "aarch64/memmove-mops.S" diff --git a/lib/libc/aarch64/string/memcpy_resolver.c b/lib/libc/aarch64/string/memcpy_resolver.c new file mode 100644 index 000000000000..c2a7477a939e --- /dev/null +++ b/lib/libc/aarch64/string/memcpy_resolver.c @@ -0,0 +1,42 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Arm Ltd + * + * 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 AUTHOR 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 AUTHOR 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 +#include + +#include + +void *__memcpy_aarch64_simd(void *, const void *, size_t); +void *__memcpy_aarch64_mops(void *, const void *, size_t); + +DEFINE_UIFUNC(, void *, memcpy, (void *, const void *, size_t)) +{ + if (ifunc_arg->_hwcap2 & HWCAP2_MOPS) + return (__memcpy_aarch64_mops); + + return (__memcpy_aarch64_simd); +} + diff --git a/lib/libc/aarch64/string/memmove_resolver.c b/lib/libc/aarch64/string/memmove_resolver.c new file mode 100644 index 000000000000..95cf3deca966 --- /dev/null +++ b/lib/libc/aarch64/string/memmove_resolver.c @@ -0,0 +1,42 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Arm Ltd + * + * 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 AUTHOR 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 AUTHOR 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 +#include + +#include + +void *__memmove_aarch64_simd(void *, const void *, size_t); +void *__memmove_aarch64_mops(void *, const void *, size_t); + +DEFINE_UIFUNC(, void *, memmove, (void *, const void *, size_t)) +{ + if (ifunc_arg->_hwcap2 & HWCAP2_MOPS) + return (__memmove_aarch64_mops); + + return (__memmove_aarch64_simd); +} + diff --git a/lib/libc/aarch64/string/memset.S b/lib/libc/aarch64/string/memset.S new file mode 100644 index 000000000000..dfe1c54273b9 --- /dev/null +++ b/lib/libc/aarch64/string/memset.S @@ -0,0 +1,2 @@ +#include "aarch64/memset.S" +#include "aarch64/memset-mops.S" diff --git a/lib/libc/aarch64/string/memset_resolver.c b/lib/libc/aarch64/string/memset_resolver.c new file mode 100644 index 000000000000..34ca98aa1d34 --- /dev/null +++ b/lib/libc/aarch64/string/memset_resolver.c @@ -0,0 +1,42 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 Arm Ltd + * + * 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 AUTHOR 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 AUTHOR 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 +#include + +#include + +void *__memset_aarch64(void *, int, size_t); +void *__memset_aarch64_mops(void *, int, size_t); + +DEFINE_UIFUNC(, void *, memset, (void *, int, size_t)) +{ + if (ifunc_arg->_hwcap2 & HWCAP2_MOPS) + return (__memset_aarch64_mops); + + return (__memset_aarch64); +} + From nobody Tue Jan 13 17:00:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr63zFYz6NQD6 for ; Tue, 13 Jan 2026 17:00: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr60bSxz3cWF for ; Tue, 13 Jan 2026 17:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G7o0usbFZXJZYPSsAc1cMirPDNRw+hgO9tQZHnFrNoY=; b=goeJKRhmxFGAG03Vby1GDh5EMG7oOvt5f6ZqSaBj3uYTKZOT26TcDzmmcw9RyuJCUrpKBD jMGKKoQMy5M9iUQwfQnaqIC148uvMD+UeqAbtB1n/thNnolUfke9GweBcxeSrNrP7/ZGiL d+vhTanrEwqmtvE6kLMPiWYJ3eofVG1m5bJdcyFjJXwE0sxq9aTBAAU+xH6iifR75nuy7c o8DKp4EBvmelBzb1VXzX58TyjS/tZp9/gVhax0n2xhHp800NFMPWLB+uaEI7f2+qU3vsac sKSbAVGWyyvpcwC+VR6F3TsNzfMP/+2B6o2vG4S00ZNKVXDFaoyACAjDfPGb2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G7o0usbFZXJZYPSsAc1cMirPDNRw+hgO9tQZHnFrNoY=; b=rUa9STM/urg9RqP8NGXtgyYrdWC6PWYvTBiBSQ68C6nhZC+n5OL5H0w1gcr36RLJGZm2oZ tTKSYTzB5t4aRwZEkF8mE5Mfq3OvVRy5xKKxV1i5HwMrOc9h9JzLxXZyPzE4/vaTCzQZxt JetDEyj/xVAofTnfA+TXomEptJJXBoeTX5mO/iD8HAFgj6f7FAdyR0hcuYFkLOGeGyfZR4 uXw2OBFpOgqkoOpZQqKRRStTGPHZJO+PixsMCcT9/duF9qWZnltkdfd83pPIcZnTpySBft tW9FN/y7TXbYRep5M7K1qxfWH8+2x6FAOrgd19E0wIYWWoU7Ck7hNzdDps/kXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323654; a=rsa-sha256; cv=none; b=NqSkypJtb55gZp5Qj0Jd7SYbiMmfRjFkT5i4ID5MW8aYwTtlHZpYkjfBBt32kMMchdA7X0 IbYCw++CC0GFIndlFi5gUCM0iPpY5tWo3XuxWo9+W8/OdVMBKCeB5BEeqgWjOBudAi14Ln +lU8iZJyVm2d+v1wRatZWLaFa7P0NoFFqakZalGFbfeCwQfhSyPnCf2mwoCxArw1h57lDZ SUz2qN9IBvnSI4coghDURssUivmpneFLqT6MF5V10k8Mv3FhNI10m15Ze6EUn3F3v/MPDK Q+fL4QZOnuVGy8WlobUZzYPAD+aCt2Q7nuIPqcyADmHWXWc4oOzBFjEMLqgwrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr573JVz5T8 for ; Tue, 13 Jan 2026 17:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35181 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 27083693955d - main - crypto: Update sha256 and sha512 ifuncs to use passed HWCAP flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 27083693955d563f836fd1b6b1bc4e1a249d3b6b Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:53 +0000 Message-Id: <69667a45.35181.493c43e8@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=27083693955d563f836fd1b6b1bc4e1a249d3b6b commit 27083693955d563f836fd1b6b1bc4e1a249d3b6b Author: Sarah Walker AuthorDate: 2026-01-13 14:25:50 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:04 +0000 crypto: Update sha256 and sha512 ifuncs to use passed HWCAP flags Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54600 --- sys/crypto/sha2/sha256c.c | 8 ++------ sys/crypto/sha2/sha512c.c | 9 ++------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/sys/crypto/sha2/sha256c.c b/sys/crypto/sha2/sha256c.c index b7f7295c5c85..c7f9bbf119a5 100644 --- a/sys/crypto/sha2/sha256c.c +++ b/sys/crypto/sha2/sha256c.c @@ -206,12 +206,8 @@ SHA256_Transform_arm64(uint32_t * state, const unsigned char block[64]) DEFINE_UIFUNC(static, void, SHA256_Transform, (uint32_t * state, const unsigned char block[64])) { - u_long hwcap; - - if (elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap)) == 0) { - if ((hwcap & HWCAP_SHA2) != 0) - return (SHA256_Transform_arm64); - } + if ((at_hwcap & HWCAP_SHA2) != 0) + return (SHA256_Transform_arm64); return (SHA256_Transform_c); } diff --git a/sys/crypto/sha2/sha512c.c b/sys/crypto/sha2/sha512c.c index 076cb30a1dfa..335dae08abb7 100644 --- a/sys/crypto/sha2/sha512c.c +++ b/sys/crypto/sha2/sha512c.c @@ -236,13 +236,8 @@ SHA512_Transform_arm64(uint64_t * state, DEFINE_UIFUNC(static, void, SHA512_Transform, (uint64_t * state, const unsigned char block[SHA512_BLOCK_LENGTH])) { - u_long hwcap; - - if (elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap)) == 0) { - if ((hwcap & HWCAP_SHA512) != 0) { - return (SHA512_Transform_arm64); - } - } + if ((at_hwcap & HWCAP_SHA512) != 0) + return (SHA512_Transform_arm64); return (SHA512_Transform_c); } From nobody Tue Jan 13 17:00:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFr74MkLz6NQbJ for ; Tue, 13 Jan 2026 17:00: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFr71PlJz3cJk for ; Tue, 13 Jan 2026 17:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRq60NUUHelTkTQX5y707HoZLN3QnCP0C9LPhAJyZ/s=; b=ip8dZD7IzWdcwex4zfbHYh3vuLzXQRH3VOa+Anl4u86d7EV28toukdZl6Am5hS465FTiRe rZ/jR+jjnNEshmZWtP+QvqLkXyXAT0CIqVDaOKcUcIEmOssYb9Q81+EYELIG+Mduw40CPS YyptKAxVeSQsW7cJ2eInxY/yY86pDiVzh0Kty3BK1klOHTRAbOCXWk3ubOiD0VdlD0A3IZ 0H1W7USbmJ6kY3V/CNcBYhNqeAgtk2D0HDQ5GbgsSY+odoqy+ssnu0uYYMm9lltX/BQcUQ YfmQGTWdsusuhW/fWNSCd3F6k+RjRmSeb4NtZ8C6OD2PPvKwYF8N/QWV2/r1Sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768323655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRq60NUUHelTkTQX5y707HoZLN3QnCP0C9LPhAJyZ/s=; b=FacaKRm+zeCtKsEWpKofjlkyuq/ZTCovwsSA48yTZMhZagCxO6uRzNrsz8oNs2JMfKAa70 u4UZ6aXnTL1BuR+xzFTyjDYiCIMnCkZ3TrNA5Sx3CY3hb5poVSVHZRevyTHR1ZIAWkutYQ Ls4VkiLqK+5O69dCuifzog+hgbKvcFgxQ+Ek596bWYhldREFwIubLKjHKFTTKk4TIo9Nfy ZRbEGrdSsHvEHzVMPlIcGqchvE4szjomVSToLjfF/zORL3OxAvbu/7nY5At41gNcGGsfoq EEA4hOozgKr+bJQCSNRk68QOl166h6sm94hPdWvWE0pmDiUzyphRgmxgYxu3gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768323655; a=rsa-sha256; cv=none; b=tetFLyCelXvQgx2AcGSA9D+QkS5jys2pSYQZu1w4rdZKn5DlcabBHpF7AZQw/yDyfoddA6 5lM8rnpNhB/2H0eVJCRzQBOgH7EGWRLpBH3+fCOqjtCMbneTyZqJ8CAtY67W/uenYWOfw6 9V0/fq3yUjevPNg9HMSJIsKzOdf876l6kEWEiij4D6JhgxDxkFZTjXyRB2UWw/LtNK3Tnc QqfSV72WXRuld7y2rEs6q1/1fCUg1Rpbq5BZ9J8gsajBjyIfsyoqHZbC3AHDfDnGGSTc7b CtRM7rzffZpV1zSQ343zrLet5uu1Dcn8OyexC2jDhzTgob5lQPgCwnT2dcLfbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFr70Ch7z5fB for ; Tue, 13 Jan 2026 17:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34c01 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:00:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Harry Moulton From: Andrew Turner Subject: git: bdaa120b3000 - main - arm64: Fix MAIR_ATTR_MASK List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bdaa120b30006d7ef841a966414795416ce93eea Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:00:55 +0000 Message-Id: <69667a47.34c01.3757c1ed@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=bdaa120b30006d7ef841a966414795416ce93eea commit bdaa120b30006d7ef841a966414795416ce93eea Author: Harry Moulton AuthorDate: 2026-01-07 14:20:19 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:28:04 +0000 arm64: Fix MAIR_ATTR_MASK Use the correct value when calculating the mask. (commit message by andrew@) Sponsored by: Arm Ltd --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 28dec3a40b26..138a1eff51ac 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1982,7 +1982,7 @@ #define MAIR_EL1_CRn 10 #define MAIR_EL1_CRm 2 #define MAIR_EL1_op2 0 -#define MAIR_ATTR_MASK(idx) (UL(0xff) << ((n)* 8)) +#define MAIR_ATTR_MASK(idx) (UL(0xff) << ((idx) * 8)) #define MAIR_ATTR(attr, idx) ((attr) << ((idx) * 8)) #define MAIR_DEVICE_nGnRnE UL(0x00) #define MAIR_DEVICE_nGnRE UL(0x04) From nobody Tue Jan 13 17:06:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drFz75JPJz6NQsV for ; Tue, 13 Jan 2026 17:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drFz72Jl7z3gxd for ; Tue, 13 Jan 2026 17:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768324019; 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=q2QrfBe2Og5+hp7liJExhT2rbjLrkFtaS7vcG6w530s=; b=U7vb0RM/E3UM3fvta2Aa9iIRASRHxKMXBeFxqSthz8LPBQgJq4e9Of/gjsznXaEOabCEJC meBYktoQkO5zjqTe73N5vtiLlGlpobbcA4Ow06pz0ERp5QAlcPTUsKWvwoyRjZHYPVEt+d s2sus8Zop4us+w/+VIGbqVR2gxq/8+Tws838hQC3tw2XsozJ3MtlEkFH5xWgDCH9rBwlYP 1VxU4QmbmVo3WSSNHYXh7zf2Ab6F35Xc2Luy1hMvDhttlZrmwff/XtwYz5iyjZ6ZKRkPbV tiVpvsZbLev1aVq9QeKNnb0vI7aNC/LOWZkzZ5XZJ6YEqNKf9IXXpBmwJesmbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768324019; 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=q2QrfBe2Og5+hp7liJExhT2rbjLrkFtaS7vcG6w530s=; b=juSD0CWyl87Qp/XiEOQSYoySBCiBwsj2anM59TedzNCL1zbVGcfZ0JAXrtxE7M3DD04iJY Em7QQIzeN/Sfgzpj18FXi9u/jSjOsooAf+BH7tQMsr+gOMp/t5vhO1kvxfoLZaPB5GxeUa Mj9jlpL86QXjfjcNhiXaJgGVfFlr6PHAgJA1MVVIsCsHs07Gtbap1IRoHT3HEmcCCJ2w1c CnDuCrqf3L94PzV6kwRghGqdzYSG4FZ6F5aAMB5eftM9s+9pWNA97vezQZ6qTzIgXywYkK 42UknYzQPWchR9KnuDQb8/a4xI9UpfW6T5uYB2+SxhCBgfITZoWcxKJ4t3ofYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768324019; a=rsa-sha256; cv=none; b=vRKKLZzn7W2rb8L1SYPYimdmEsZF/wbHZJ9AGhoYRFZ1wAetd4zXjQcrF4kte7ZJx/pf7y j4VpFUiMCLmQhl4a/5/3gaCcWnMBVbdUIcKJgB6wy8Ln+w0SKOBa9Ny7moFYiv01GKLwnn IjzSR1QFoX9myiOmZCJeiZnilKMdZuHnxL2LZWmrzAc94T0zHGiaSryDjn8nugHlxfshGt 8IHCdjXbFKg6rM5x0jwHrJGkxsTtKFrwAMnyF8l9gtQPxvh6UhlUct7Tm8vy5A9Y4SCyn8 EnEWfJ+W5atLCcrkWUYxL3oLdBDHuSFO7jdBfkscUjpTv4z5adJJ8Lb5IPAhjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drFz71rRJz62Z for ; Tue, 13 Jan 2026 17:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3421e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:06:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: acb71820d68b - main - vm_map_entry_delete(): fix the calculation of swap release List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: acb71820d68bd0dd98964240727e251bc62c92de Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:06:59 +0000 Message-Id: <69667bb3.3421e.15abe6b5@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=acb71820d68bd0dd98964240727e251bc62c92de commit acb71820d68bd0dd98964240727e251bc62c92de Author: Konstantin Belousov AuthorDate: 2026-01-13 16:22:48 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-13 17:06:38 +0000 vm_map_entry_delete(): fix the calculation of swap release Reported and tested by: andrew Fixes: d160447129fe060b28bcd6ba429d17afdf494ff2 Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/vm/vm_map.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 04628f44a497..b8295bb2108d 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -3997,7 +3997,7 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry) object->size = offidxstart; if (object->cred != NULL) { swap_release_by_cred(ptoa(oldsize - - ptoa(object->size)), object->cred); + object->size), object->cred); } } } From nobody Tue Jan 13 17:11:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drG3v1RZmz6NR3c for ; Tue, 13 Jan 2026 17:11:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drG3v0pfyz3h68 for ; Tue, 13 Jan 2026 17:11:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768324267; 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=3iqjLrCP8cQtKBG4FPk4LMxh4TrD31jetHvRudA3+ug=; b=N7GNew9VRf0xi57O7Z3tDJZT8Zls/2LGUSyokHfA5z565A1+6p8DH1yMCSE3WYncWxALq1 bSKxL/zyZHFxgg/rWZNqeUz//J0sO/hrD+9uaEYNVOZypkODAUEK67VH9EkttRGB0u4d30 HoBMrXo9lYWZiq5UL+VtRqDYytwSvfrV9IHBst26I8QmXXmMOw944rT5SAq0J+1dqeO0/C 7Z+r7H1hvL91vtzHzlK2SN3qHmQdTbQXtb+UnWC5V6Ywhr3K2iDlWNC4C/CkFTeyimXB3J 1lojf65Y2Vi1F2kYnY+OKsLWJX3BIDQ7zLmCGAwLNnJ7mcU6nK8B0we6D2yivA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768324267; 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=3iqjLrCP8cQtKBG4FPk4LMxh4TrD31jetHvRudA3+ug=; b=Iz8WzyPG2ufJazT3vXUnOHncv7C0Ztcl1pRNvpz50+bDLypcVyh/YIIDa5nEsaI1HB5QLR ZTGpSuE1PKhECTMyVBbL0Gh/Zh6vAziVYaO155OLI39smdv6AnR3Ej8ErhyAEgylCdlFv3 n1Zx99At7TocyA36Kb/9OXXwe8pt4KbYxQt9icZGncwFebj8vI0mhcxA1rY2fHSrF2lspC n13bgZKjvC50vlXNIO6RElsZQpTMNPpfamNdIMQLv0BEff+WGZqXYE3aHzRhZGwJi+Tb1T zFaI95NP/xqEK3j8Sb0pFt+mE9Ka8VRM7gL06si5xnaLmGn9gS3Ty9AjmsoiUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768324267; a=rsa-sha256; cv=none; b=nhFYma8Etytu3rBeuWMafYQgBCZSe6SKwP7d+xbc5NHU/Gr3a9BoMk1eN9HNO2CXHcFztm G0db8tHe2hKVRdK3DT6YLjnfbDutkvdnlH+GftjglIPS3Pq/dVFWUFDhxWRoNVdCENtWvM NHZkzWeXPA9JoJWfc1OgjesJGvg1+wYFZT+s4ZA+7D0YtsJl33WJvOFYIGPQITrGBSKit7 wgOfWgGGZ28xRrX0xRgHOuH3XaBcIRyxmVC9gtQHIGXfMK8R9L990BgKy0x/KTTogm4OcG JAop/xl8tWktWCFIFsLCr2hLUT7gQsbTjdEwZMIxJzhxQlTkQgCmef3W0PPwMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drG3v0GN9z6Kr for ; Tue, 13 Jan 2026 17:11:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34ac7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:11:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 66eedcb0224d - main - sdt: Fix the probe ID type in struct sdt_probe List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66eedcb0224df03e56513f3caf1df93a52b6a919 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:11:07 +0000 Message-Id: <69667cab.34ac7.24378ab8@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=66eedcb0224df03e56513f3caf1df93a52b6a919 commit 66eedcb0224df03e56513f3caf1df93a52b6a919 Author: Mark Johnston AuthorDate: 2026-01-13 15:35:05 +0000 Commit: Mark Johnston CommitDate: 2026-01-13 17:07:37 +0000 sdt: Fix the probe ID type in struct sdt_probe This is supposed to be a dtrace_id_t, which is a uint32_t, while id_t is a uint64_t. sdt.h avoids depending on dtrace.h so we can't use dtrace_id_t directly. Bump __FreeBSD_version since the layout of structures in the SDT probe linker set has changed. Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. --- sys/cddl/dev/sdt/sdt.c | 3 +++ sys/sys/param.h | 2 +- sys/sys/sdt.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/sdt/sdt.c b/sys/cddl/dev/sdt/sdt.c index 0a9059104671..97ef2de18525 100644 --- a/sys/cddl/dev/sdt/sdt.c +++ b/sys/cddl/dev/sdt/sdt.c @@ -60,6 +60,9 @@ #include +_Static_assert(sizeof((struct sdt_probe *)NULL)->id == sizeof(dtrace_id_t), + "sdt_probe.id and dtrace_id_t size mismatch"); + /* DTrace methods. */ static void sdt_getargdesc(void *, dtrace_id_t, void *, dtrace_argdesc_t *); static uint64_t sdt_getargval(void *, dtrace_id_t, void *, int, int); diff --git a/sys/sys/param.h b/sys/sys/param.h index 3b56c582be0e..d228859575c7 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1600007 +#define __FreeBSD_version 1600008 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, diff --git a/sys/sys/sdt.h b/sys/sys/sdt.h index cd45bc1a1ffd..f705be915684 100644 --- a/sys/sys/sdt.h +++ b/sys/sys/sdt.h @@ -447,7 +447,7 @@ struct sdt_probe { const char *mod; const char *func; const char *name; - id_t id; /* DTrace probe ID. */ + uint32_t id; /* DTrace probe ID. */ int n_args; /* Number of arguments. */ struct linker_file *sdtp_lf; /* Module in which we're defined. */ }; From nobody Tue Jan 13 18:10:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drHMv1w9Dz6NVmF for ; Tue, 13 Jan 2026 18:10: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drHMv0Vjyz3sc9 for ; Tue, 13 Jan 2026 18:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768327803; 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=59HfZFDMk/kmSPYVKxgOmaevC3YyfDvd4h5VviUb0dw=; b=IuvV1pb92svex10K/9E4Ps/GFFbSdCj5HXIrD5w6ceQZnrmYzFWSoB2kVGupoW18wftgXj ArmoU6nnXNO7TANUTkPnLJF92OoiqHbmlffkvq56eoPmORJyDKldOpTqHwPQeWqZFYZKg+ +84P7Ny1bXxnS5eXgfCIB6IgrgkE13y0ISMmgQpZM0WLuSoEDc6/5BVMs7xBBEPuxQheWI ZuJCUIy+nE9CmWIxPpAFDjR1nYKyToIRMQCHu+7f7vTs5oZsywN7BQBaM7tcxAdYNb1yG7 vSROVBeeYhR1YXdmftkZ2+3GmepdsLdRESzk0bvebVzzAt5boFP9MRFw7cD+Bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768327803; 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=59HfZFDMk/kmSPYVKxgOmaevC3YyfDvd4h5VviUb0dw=; b=kiRGeY/YOYigm5HMFkVj3X3RoMrKO1fOpiw0EbmFPYn5hshHD1W8vvwTmlEBdYRNE4nxQV SQFfW4CcMuc1QSTm3wZ+wVyQ7WTZ0RMRDFRKhfN9pMiVashDf7tfuNmVIpotIPWIkwPYaW UE0D61sUSg8vszj/4GF4h531VTfguYqmi/eWfrDuw6moxaryrfeTCVN3hETR31gN3TC/9/ w5p5M3BnSD7sleSZQCt0OF+mKOamNpdPYT82U6L+Iemk919NweI4BV5AzjNcp6Wr1cwhdl ksZ6tN8NUVM/QSAcxosNTaNvvs03Bt9cVBOAQkkXMNYYoWtNDTwDGZsbd6mZJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768327803; a=rsa-sha256; cv=none; b=eqEISKRKwOq0G0uutmYBjN+y4w2OND5dKzo5Sl43AYUarlyhCqox8QdCgOH2oYcN6OqoP9 uRKYo/kgoycXPYg7s23a/wG67p9glHcpqrteXcz3b1Q9J/tByvpWqpnvbbFVIymkLbIox+ +DfDC9/huDwlB1rpStnaa+F5JNnMIEUa1Z/uV32Hy2PxhyfwlZ3oPHzHkfVVsN2TGA72h9 X82/h/88ZfjQcwFfRGiVlm1VZ49ExhCRt2glZGMNN9MukBNhYiFlyGCnKaYvS3FPDt99ho hn3bttt8dZjplaiwEbdaDbJWAptyQNeD2AJ9c5ZhFIyjzwLNmsaRoF53lFY+hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drHMv024gz7cx for ; Tue, 13 Jan 2026 18:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3aea5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 18:10:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c1376acb8a9d - main - ipfw: find_tentry method is defined for any table algorithm List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1376acb8a9df03e5e47a78dbac5347d036116ff Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 18:10:02 +0000 Message-Id: <69668a7a.3aea5.129089d0@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c1376acb8a9df03e5e47a78dbac5347d036116ff commit c1376acb8a9df03e5e47a78dbac5347d036116ff Author: Gleb Smirnoff AuthorDate: 2026-01-13 18:08:49 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-13 18:08:49 +0000 ipfw: find_tentry method is defined for any table algorithm The error path is never taken. Also the path was leaking a lock. Noticed by: ae --- sys/netpfil/ipfw/ip_fw_table.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_table.c b/sys/netpfil/ipfw/ip_fw_table.c index da52166f8062..96f550e66e4c 100644 --- a/sys/netpfil/ipfw/ip_fw_table.c +++ b/sys/netpfil/ipfw/ip_fw_table.c @@ -1031,7 +1031,6 @@ find_table_entry(struct ip_fw_chain *ch, ip_fw3_opheader *op3, ipfw_obj_header *oh; struct tid_info ti; struct table_config *tc; - struct table_algo *ta; struct table_info *kti; struct table_value *pval; struct namedobj_instance *ni; @@ -1060,7 +1059,6 @@ find_table_entry(struct ip_fw_chain *ch, ip_fw3_opheader *op3, /* * Find existing table and check its type . */ - ta = NULL; if ((tc = find_table(ni, &ti)) == NULL) { IPFW_UH_RUNLOCK(ch); return (ESRCH); @@ -1073,12 +1071,8 @@ find_table_entry(struct ip_fw_chain *ch, ip_fw3_opheader *op3, } kti = KIDX_TO_TI(ch, tc->no.kidx); - ta = tc->ta; - - if (ta->find_tentry == NULL) - return (ENOTSUP); - error = ta->find_tentry(tc->astate, kti, tent); + error = tc->ta->find_tentry(tc->astate, kti, tent); if (error == 0) { pval = get_table_value(ch, tc, tent->v.kidx); ipfw_export_table_value_v1(pval, &tent->v.value); From nobody Tue Jan 13 19:12:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drJlw4QfJz6NZWN; Tue, 13 Jan 2026 19:12:28 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drJlw1nRYz41wN; Tue, 13 Jan 2026 19:12:28 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768331548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8JDR8nwmXT4fDacXNrvygN13jirvI9w0Xo0/JKWb1ko=; b=In0CD0TaHWURs0Dp8XYWYwSHlOiw5JRNasOa/2SGXXX0YguInGdGruQYuyXdTatMd1iPAE fGnH4Wul4DtOe8UgJm90Id8blqidW6MJfu6q9fQH9BXWLjQG4tNr98Ap6ROnnDQzCy6sft IUMYHJv3FkJWRpCCQJBTI8VjBTbQCVTYWFD8xAz40npqWFxyglso7BQ6DKwnwvT4R41972 ZMSEszunxOmepiidIPxcoMsyjE4O/2KWMePIKa3cJbk/Ciz5jrYbKrbmTpGL1TC1f+iS1f QjR64e06h7q3CHyZ4iJJG30l8bGkum1qZi6L0/sfGB9Vh92YUKjl1M0i3omEMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768331548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8JDR8nwmXT4fDacXNrvygN13jirvI9w0Xo0/JKWb1ko=; b=bItN5A4oiLzcO2heJhSZqiOQ0a8e1w9+valyO5HEb60WBy7iru82k5qGG1CYAtKAiqF4p6 dcs+HjprFbLy7tLEDpRcBw6uoUeCaNJ+oYTFIHOIOu4B9C3OyRasD/adtXj52a3kNCY2k4 qKfygvXDmOwNXAfFkaiM23YpvajT8CQ/uV095ONSfbSyOfBPnHfxft8JiOxlnsnMXaOsto dqawQ+3hc9W7JR9OWWagNWPrjJZGPqfMOLWgM8+o4ubKai57VltOQykJl063llXa7MmRD1 dcZPuGXJKRPLuePpJoukjMYhq5v200Y45BMzqaM5t/CRWm3Dumk5vl/6fwPZyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768331548; a=rsa-sha256; cv=none; b=gkBUTjX2H7KTU7Af/rVZ9Uv2omJu9a8EvK/IcyfE0hJ87vT0R5bvsJRqLcFJt67Y6soQ67 Hq88rt7l0Voe3FjXngLJibI1+5H5K0YJeXpe6sIVtI3+Ji3seMPXkVSVpXTzwB5N03JVRh 2T1Enm9lVyDUcxd9AhdOc5ULKSArYv91w1El4hIZ3XcAFgey33af77r83xH9N8OMAUtIFY 6GyWedCRN8GpDgzFy0VA4ZDlXOKuwsjTbSCtniANU3BdzFP2bUgo3wx0XwlfWmWbXRl35Q Np7M9LXFXfCKk4Rf3nKDIey12gXk5TuFc7ob7GxTuB88Gsb0CU8ONguxvXHiFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from cell.glebi.us (glebi.us [162.251.186.162]) (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) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4drJlv5457zHyp; Tue, 13 Jan 2026 19:12:27 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Tue, 13 Jan 2026 11:12:25 -0800 From: Gleb Smirnoff To: Mateusz Guzik Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 0d469d23715d - main - net: attach IPv4 and IPv6 stacks to an interface with EVENTHANDLER(9) Message-ID: References: <694452f3.32deb.4d0ab2a7@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Jan 12, 2026 at 05:15:30PM +0100, Mateusz Guzik wrote: M> In addition to the other reports there is also the following: M> panic: mtx_lock() of spin mutex (null) @ M> /var/jenkins/workspace/pfSense-Plus-snapshots-master-main/sources/FreeBSD-src-plus-devel-main/sys/netinet/igmp.c:627 M> cpuid = 1 M> time = 1 M> KDB: enter: panic M> [ thread pid 0 tid 100000 ] M> Stopped at kdb_enter+0x33: movq $0,0x1b23e72(%rip) M> db> bt M> Tracing pid 0 tid 100000 td 0xffffffff828665e0 M> kdb_enter() at kdb_enter+0x33/frame 0xffffffff83963cb0 M> panic() at panic+0x43/frame 0xffffffff83963d10 M> __mtx_lock_flags() at __mtx_lock_flags+0x12f/frame 0xffffffff83963d60 M> igmp_domifattach() at igmp_domifattach+0x24/frame 0xffffffff83963d80 M> in_ifattach() at in_ifattach+0xb2/frame 0xffffffff83963db0 M> if_attach_internal() at if_attach_internal+0x374/frame 0xffffffff83963e00 M> enc_clone_create() at enc_clone_create+0x7e/frame 0xffffffff83963e30 M> if_clone_createif_nl() at if_clone_createif_nl+0x166/frame 0xffffffff83963ea0 M> ifc_create_ifp() at ifc_create_ifp+0x102/frame 0xffffffff83963f10 M> vnet_enc_init() at vnet_enc_init+0x97/frame 0xffffffff83963f70 M> vnet_register_sysinit() at vnet_register_sysinit+0x125/frame 0xffffffff83963fa0 M> mi_startup() at mi_startup+0x1f4/frame 0xffffffff83963ff0 M> db> I'm pretty sure this is fixed by this commit: https://github.com/freebsd/freebsd-src/commit/99e133e0de272396e351b06ba892ceec7d5e0e4b which I created in a different branch, related to a similar regression with IPv6 multicast. The enc was mangling MLD list from the very beginning but that was not panicing, since MLD had a workaround to not double delete already deleted entries. If you confirm that this commit fixes your problem, I will push it without waiting for the resolution of that branch as a whole. -- Gleb Smirnoff From nobody Tue Jan 13 19:26:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drK4d1Vyvz6NbGL for ; Tue, 13 Jan 2026 19:26:57 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drK4c4BMNz444D for ; Tue, 13 Jan 2026 19:26:56 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-64d4d8b3ad7so12813929a12.2 for ; Tue, 13 Jan 2026 11:26:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768332404; x=1768937204; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=hSZBZRqdZZIL37epdMAqkBwq3XTxY/Zacgca+Dzo0AE=; b=Uv+6BiFNlzhOzrvqRE/cUMSvedG1kmUt+PUE7a+NsjMTKa6okITMOmkAtA1OV70OwR STGKtqKKsmM3K8lGrTWpMlS8vmgTTlAj9LTFaVKNExdeVy9TCGXMRtUv7O3PQVQxLJYi ODl64gpI4wyGqMgOfJPDBgcdc38zQ7mHuYnJuEpu1YnWBVfA/iyBTjqyfoeKuj83Lj5K E6GtSJ3KSmgt8sEUtIg+KEGjt+KQD5TGcgqNxfCM9jIEvZgvlgqswLs0Tk/vpsIZ1s2X VHDQzsjTVAm+Sd1VjNO1Gwn1Vc3u2RxB58+lOb6gpotcEs2hpG745MP4ZOLv1cRL5h53 XdaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768332404; x=1768937204; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hSZBZRqdZZIL37epdMAqkBwq3XTxY/Zacgca+Dzo0AE=; b=KhHdyRCzHOh08VP3wvpF0MOp4mFUl5hepumE/G/ZNDT0SezC4z5UnL8w75i4Ysc1Rw 9OmTu0ZzWpR6VRQIF3ppHHsSm363GIGGwXuQcUChVeyktoCLKLJyXQDqdcPttirZ1wii GPvYE8sn0Ph/5n5iNnYbX80ZOBxBheBUDajKpAmWiiO9maX9USvVo1u5YpYv2umzFdMY wb9o6d5pcNyklgzXdIrx9VZ/9MZuHEWomV0GnP6eeaGvPv1RHArQKdHGmEsfRSplgQhy XaIfYY6zHlpw3cOzTgDvfAevMnHOBD1V7lUtL0B4xbQynf00atGlLPRAF2+JIBoxNx3O M9Jg== X-Forwarded-Encrypted: i=1; AJvYcCWbdxNv+t/KONkrxdMB+EbcwEbRzensVZSfYmUNZEcMZRpwbaMGlJC40UoifEoiV/Ta4Mq/8Jge0L78T3ZU+rdhh9J79g==@freebsd.org X-Gm-Message-State: AOJu0YzFEVH9L7YVCpsP3lGdSooZ5xTvCk4ob+RqjpePmS7rv9SHA+me Lx4M4+rjlTtUqt5GIN4fgGnqVgQdAXqtxjCDT2Ff6bDyV8XkZX1B27K0Gy55ehS0kcbBRyesDJR jAUs+RdoTGTaLD8WSU+6IHE6pFOEKBkI= X-Gm-Gg: AY/fxX765h/1hBZ5pstgYtXtwTSyEG5JwXGr1affnhh6f1j2UAoQNjlsjZyRGN09wu2 kGpHdZ6MBswmYi85LEX7UsK94Aza2m2r9AcxLauB9JSCQYOdiK5kznv7WVTwS69Dl5SLMvL4ezW LqKyCjTahfJDpVayisu+Jd7ZBwgbAMPJ9abDo/H+8xdmZfaAhNeyAdacZU+LGgFMO+9b+ADSLcE Awa02T6jkkO5HK3ys3aNPOsJtXnVl7PgoWumHNEz0X/a1vanARXj6AgalUoFNWtprtT28NUMweT wYfzLynPCg7wvVtZeep3FV+eNA== X-Received: by 2002:a17:907:6d14:b0:b87:2c88:ce40 with SMTP id a640c23a62f3a-b876106b9f9mr20540666b.27.1768332404232; Tue, 13 Jan 2026 11:26:44 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <694452f3.32deb.4d0ab2a7@gitrepo.freebsd.org> In-Reply-To: From: Mateusz Guzik Date: Tue, 13 Jan 2026 20:26:31 +0100 X-Gm-Features: AZwV_QgCXhxq-UdiE5x865b1fq4yUnI5QsV5d0T3sDsqMw5k-8z0BCczowuQeco Message-ID: Subject: Re: git: 0d469d23715d - main - net: attach IPv4 and IPv6 stacks to an interface with EVENTHANDLER(9) To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drK4c4BMNz444D On Tue, Jan 13, 2026 at 8:12=E2=80=AFPM Gleb Smirnoff = wrote: > > On Mon, Jan 12, 2026 at 05:15:30PM +0100, Mateusz Guzik wrote: > M> In addition to the other reports there is also the following: > M> panic: mtx_lock() of spin mutex (null) @ > M> /var/jenkins/workspace/pfSense-Plus-snapshots-master-main/sources/Free= BSD-src-plus-devel-main/sys/netinet/igmp.c:627 > M> cpuid =3D 1 > M> time =3D 1 > M> KDB: enter: panic > M> [ thread pid 0 tid 100000 ] > M> Stopped at kdb_enter+0x33: movq $0,0x1b23e72(%rip) > M> db> bt > M> Tracing pid 0 tid 100000 td 0xffffffff828665e0 > M> kdb_enter() at kdb_enter+0x33/frame 0xffffffff83963cb0 > M> panic() at panic+0x43/frame 0xffffffff83963d10 > M> __mtx_lock_flags() at __mtx_lock_flags+0x12f/frame 0xffffffff83963d60 > M> igmp_domifattach() at igmp_domifattach+0x24/frame 0xffffffff83963d80 > M> in_ifattach() at in_ifattach+0xb2/frame 0xffffffff83963db0 > M> if_attach_internal() at if_attach_internal+0x374/frame 0xffffffff83963= e00 > M> enc_clone_create() at enc_clone_create+0x7e/frame 0xffffffff83963e30 > M> if_clone_createif_nl() at if_clone_createif_nl+0x166/frame 0xffffffff8= 3963ea0 > M> ifc_create_ifp() at ifc_create_ifp+0x102/frame 0xffffffff83963f10 > M> vnet_enc_init() at vnet_enc_init+0x97/frame 0xffffffff83963f70 > M> vnet_register_sysinit() at vnet_register_sysinit+0x125/frame 0xfffffff= f83963fa0 > M> mi_startup() at mi_startup+0x1f4/frame 0xffffffff83963ff0 > M> db> > > I'm pretty sure this is fixed by this commit: > > https://github.com/freebsd/freebsd-src/commit/99e133e0de272396e351b06ba89= 2ceec7d5e0e4b > > which I created in a different branch, related to a similar regression wi= th > IPv6 multicast. The enc was mangling MLD list from the very beginning bu= t that > was not panicing, since MLD had a workaround to not double delete already > deleted entries. > > If you confirm that this commit fixes your problem, I will push it withou= t > waiting for the resolution of that branch as a whole. > i confirm it fixes the issue > -- > Gleb Smirnoff From nobody Tue Jan 13 21:31:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drMrf1wGSz6NkDb for ; Tue, 13 Jan 2026 21:31: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drMrf0jsvz3H6x for ; Tue, 13 Jan 2026 21:31:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768339906; 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=IULkRWL7a66ufxh8kZDmQFsNcsqBS0JWLW3uJhRzeEo=; b=lbFMsfBuKJKMIllXll/jP9okM368nXG0c1X7Vf8dIKafNLjDcrAKEakmzgp9LbYo1dM79N 24vLwNZm1rsV2YBmLW2eauoRDHLRB9znmitJrjDFQ8HXccAKzR9amCkSc18wKwGNGoba/g jfm9VveWsp6o8QrqMMudeKIM2lHX5QNeQWlofPBfSfp/luPwPoxSmU4xhJ3FX/ajVeyDjx dbOWUwhFcsPZ+urlmQJRwgPB+Dq1ocYcFTTlRlgANHSu2DLjl2/Rb2Fq8w9LDSiXDbwdek 6Qrp0na6YNrHi/CyD+WjEQBeBaYPTSjrsAJoAiL9hMIX10Xu4CKebOD6P5bEcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768339906; 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=IULkRWL7a66ufxh8kZDmQFsNcsqBS0JWLW3uJhRzeEo=; b=o3MQ73S9DyN1wdtBV7VQSgSmiC7shjM3jj8qyAhMUrc3HdqrucVGg+lZavkQDnP2dI5Snl m/gd/ezaK5pAjewDERG/lJVjvCRFCGTD9w++syLj9o01HHjagbVgD3sPrFUYPsB6fg9b4R pOIOquDEQP84ojLbCjCxhBenDv6U+KUeJhgVAkOIDdoXTn8NR2sszEEuhRtNM/wPxUBd/S 1cHH/8zc1gOUJcP7jcHgMsOYGzc2diyBAl/ygzuugo/6/dGNT13K7ZYUApKuUWS7NA9Qr0 UC0vn5Tca/B99d7WUA/EOScndB9Ba695Sc5JuYb3GTYocnKw9hoyg46IVwmcCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768339906; a=rsa-sha256; cv=none; b=ChmD+xnUktKTlKa0tpMOK7cDp6ygmg2M9283duEBzKagihGTat662M/VlYcukGGb6ioE5n q3ftC25Dz/uzCPWPGoUq+wS9XLrWsb4colFNxI1wS5+ataLZnyQIYwqxMDNrEOmsxZIo1S 03RukFdPlekpiRLZTnt/5tmM3/TWhmtuzS7pfI8ayQNN+gkYzp9x5Zu51CNn4J+JVj2f49 17X/ZEql1/qb+BzEVwWWViTIwLoulsNSM3l1XGH/uLLVSn+fYg+GdFkEmhCX/JqO/MixmN SrdVLy5bTpW+5wHlpEF23EMALFzxndJFBooReJc64ALGhumubeRQwROLvg67bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drMrf0BXqzTvv for ; Tue, 13 Jan 2026 21:31:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26d9c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 21:31:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: e8348e2b35f3 - main - enc: create an interface at SI_SUB_PROTO_IF stage List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8348e2b35f3f644c391b8e0585090c451896684 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 21:31:45 +0000 Message-Id: <6966b9c1.26d9c.8073fc@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e8348e2b35f3f644c391b8e0585090c451896684 commit e8348e2b35f3f644c391b8e0585090c451896684 Author: Gleb Smirnoff AuthorDate: 2026-01-09 23:31:11 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-13 21:30:22 +0000 enc: create an interface at SI_SUB_PROTO_IF stage Creation of enc0 before SI_SUB_PROTO_MC mangles the MLD list as well as encounters IGMP mutex not initialized yet. Reported & tested by: mjg NB: the enc(4) is not a true interface indeed. In a perfect world the module shall not create a cloner, shall not enter if_attach(), shall not trigger ifnet_arrival_event, neither shall have any protocol attached to it. The enc0 exists for two purposes: 1) create a bpf(9) tap; 2) to allow injection packets in the middle of ipsec(4) processing temporarily rewriting m_pkthdr.rcvif to point at enc0. While the problem 1 is already solved with a recent divorce between bpf(9) and ifnet(9), the problem 2 is harder to solve without breaking packet filter rules that use "via enc0". --- sys/net/if_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_enc.c b/sys/net/if_enc.c index 3c3f19661063..159fb3ca34c9 100644 --- a/sys/net/if_enc.c +++ b/sys/net/if_enc.c @@ -387,7 +387,7 @@ vnet_enc_init(const void *unused __unused) ifc_create_ifp(encname, &ifd, &ifp); V_enc_sc = ifp->if_softc; } -VNET_SYSINIT(vnet_enc_init, SI_SUB_PSEUDO, SI_ORDER_ANY, +VNET_SYSINIT(vnet_enc_init, SI_SUB_PROTO_IF, SI_ORDER_ANY, vnet_enc_init, NULL); static void From nobody Tue Jan 13 22:11:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drNkj3Tlwz6Nm3m; Tue, 13 Jan 2026 22:11:41 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (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 "freefall.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drNkj2xcGz3LrV; Tue, 13 Jan 2026 22:11:41 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768342301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PBGYgpJRAQ3AN4w+BfWnNyeyI60EG9fL+8MhjeApFOs=; b=eQ39shelHIXhgql/dwiQVOIGm/2MMxfqE1kTD2AlwYB6kwefgLxHEGbUE2ZD67K/jtmsZk l8jyoizPrz36RwDk0fnzpg0g7yAKXNqU7NtadLrGVIMkVO1mExA5+grMhb1uWe2GjHZYRe trwZPMi/sFtzICl8IL93zglul6QEc2eVFEcrPlKFCs2L913ULud9rn/39hEwVUhVhLd0qw ci6obVCn1N90ArQhUgd6lRrVIjsbym+2QnsPZKbRqAa7ZSjAFKCzGAGLqWbuxVkSX5ykla RscU1j/hNfHLsDC/AWte27RghXoZqbt6DmGA7gCvwWuSaJ94V9txXBvoVrvSmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768342301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PBGYgpJRAQ3AN4w+BfWnNyeyI60EG9fL+8MhjeApFOs=; b=pi8NfnarzC1asDDuB59ttv0r/gkDXNIWFc7hX0O5oFkIWAZykWobwi4xHcznUWD0BjrAaj 3r3iasBTmW/qtbCblVGVX1xEofp+ERQrsYwhfJq3Wrfh4emuldtzNtyGzLKsV9d0GBzign Sl2m4DvHwPvH1bIOEM6VOSvLIxPgzu5K4epao5+BYX0dDpKTL/31qAMtK2oT57c6Sfheqt QBm7SRoKpoQHXhRS+mH/P0Br5srMz6a0iKdirnaVFh4bHyF59yh+q4Nr7JIHFvHyGV/wTP 7KOwjRXOoVtTOz7Bdt3MIN3AcK6GiH44711u0UJboTHaffIVJpLjFfA/qWzrYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768342301; a=rsa-sha256; cv=none; b=rPFu7OXxHt8NrIO5P0HlsplWHpgcSSZDlh2rEHrIAbcx0QSwWTAcnAYCL2DGQAnyn+uKRs GdPT51meCFufoRhvdSQAEdxx6HHqgEHlVTrbs7ZUT0+oPiWwdlFC9dzkLj90MQhrE7r5CF zAv/MjAbYfrHNk3LddC5VVMN5CVNXIU7w06hRtP60dcPXFgyvO24mXiAFKLTeuYrtK5mpy KGgX06tGif2WhA3gj37HLwwXL81ZCDGTXrOxNyYdZ7pR1M8dWNeQ/fMaZKhnh84y4ITYkV hHNj5TmvjECySVCSgz4oiz1+dex7EcWA98ZaVjAa1nORcSMvE/t/oHAZRTQ2SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: by freefall.freebsd.org (Postfix, from userid 1033) id 2ABA7A72B; Tue, 13 Jan 2026 22:11:41 +0000 (-00) Date: Tue, 13 Jan 2026 22:11:41 +0000 From: Alexey Dokuchaev To: John Baldwin Cc: Emmanuel Vadot , Aymeric Wibo , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: eeaa865edba6 - main - acpi: Fix setting sleep state sysctls to NONE Message-ID: References: <6929b55d.2b59a.8a970bd@gitrepo.freebsd.org> <20260108115959.4bc9493930ce880913058e5c@bidouilliste.com> <20260108142338.548865cf1cd31fb18d2b6a2a@bidouilliste.com> <89417c41-4c32-48c5-b049-5d1ca253eeb8@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <89417c41-4c32-48c5-b049-5d1ca253eeb8@FreeBSD.org> On Fri, Jan 09, 2026 at 09:06:20AM -0500, John Baldwin wrote: > On 1/8/26 08:23, Emmanuel Vadot wrote: > > Ok so the correct value is 's2mem' but this doesn't seems to be > > documented anywhere in acpi(4) like the warning says. > > OTOH, it seems like if we are using traditional ACPI system states, > we should still be able to call it what it is (S3). That is, for > systems using actual S3 and not S0ix, setting these nodes to S3 > should really continue to work IMO. +1; please don't screw up S-states: traditional naming is probably being used in pretty much every related script, and it's power- sensitive, so we really don't want to get complaints from people losing their data, starting with myself. :-/ ./danfe From nobody Tue Jan 13 22:43:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drPR36B3nz6NnX3 for ; Tue, 13 Jan 2026 22:43: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drPR33Y2wz3PvY for ; Tue, 13 Jan 2026 22:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768344191; 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=bck8w/u1PHHDQzUnmSk8XOS9zIAZH/gKt7ctLyTuDTo=; b=O4PXZaL05czevKqmeufDLFfIqP+vf+Iw9bktp+MOuN31fq9rMY0sWCq43LAdP58gnyvPfy jEDxCjXvp00TvlWoQ1UVA7zDhq9vg7YtrntsVwCTUNZHFqXinhPis134lMpzDUaE4mzNyw FliE5i0XmnXwTieqp7OZ2nuUUMy9zspEAId8MJ6EbEpLvWc56d2PgtVBUoYmMMM6KcWtUA ZXLh5gCGFL+lrLi0QfzLVVAjCSoVnGpnHXnzcZoFUC8nbBJOC4czIx/jSyOo64wuYvzLjX HgYjJCOffH4bvkNJSwCY5BAG/VVtGAqqTVuueZIj3OCBnSkouO/IiTv3ddDr5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768344191; 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=bck8w/u1PHHDQzUnmSk8XOS9zIAZH/gKt7ctLyTuDTo=; b=BuGHM9+sbZ+fTLWXQzovR2NlSgHVroZz8kZX5tgLNAPPMwa2dU0/snJUeOojt9nZNjUJkw 7i05IA8hD5iqzflBK9UMNti6MY4kJ37PupiZyBZiRTi7FNyK2hpD/AK0fujM2V7q9P2Z3I 96wP75q74cDWTnOIpUYOfIs/5xk+8Dqflf7r/0S2VJ1B+8QuQEtCbpd1ynV9iJ94EpSseN 8ZlmY1dJ8FhDuNOov3bhqSr05Ck3chKNJMSMod/gfSjOtOZnyTCwtn+QaXcXtwAiGmLXK2 +0cFSCmLVrf2kybALEBrqf5lEPBdP2UlGd5vmCmb6jkmUwif4IcIMM1XXKChxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768344191; a=rsa-sha256; cv=none; b=hvj/yjX/tvvW1Zcx+RH3o5S/fpG6Gxlu2WepZa+CCL0xFY+fsYrZHm9Z0lC7oIhuQbAnuE byNN5kBXb+XYuMlCyw/wFwOk4Pyfrf3PAM9iJ3fcR9O44OBQnoDgw0u5YLH3HcTfmJZLPD 74X3dgTFjFCN9ZayS2EKghz3VVLZE36a07g3HsZaZxSsT/JlqpbU5SxzIyiPPlP+ompiyL C4r4peylK2YrwmdXrGv4SaE70dq/eJESfqSmEG5J/ip/LDuBIX6m1CltDtT19jLDNZvtri D3kpqeYqQS/ICFSSuPRAv3Vs8SgRbwoGCtsozmA20oSMTRcOeEnyZtJOyTH9EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drPR32ys4zY2m for ; Tue, 13 Jan 2026 22:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 340d8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 22:43:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 7669cbd0f064 - main - acpi: Suspend-to-idle support (s2idle) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7669cbd0f06402573fe627e9e6f86c69cfd3d12b Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 22:43:11 +0000 Message-Id: <6966ca7f.340d8.6aafa258@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=7669cbd0f06402573fe627e9e6f86c69cfd3d12b commit 7669cbd0f06402573fe627e9e6f86c69cfd3d12b Author: Aymeric Wibo AuthorDate: 2025-06-14 15:28:49 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-13 22:21:05 +0000 acpi: Suspend-to-idle support (s2idle) Implement STYPE_SUSPEND_TO_IDLE sleep type added in c43473dc9b83 ("sys/power: Generic sleep types"). This is a prerequisite for the firmware to enter the S0ix states. When suspending to idle, the system stays in an ACPI S0 state, but the CPUs are idled and devices are suspended/resumed before and after this as they would be when entering any other sleep type (except for AWAKE and POWEROFF). Factor out do_standby, do_sleep, and add a new do_idle function for idling the CPU (a future patch will make this an idle loop and not just a simple cpu_idle() call). In do_idle, SCIs (interrupt 9) are enabled to allow wake events to break the CPU out of idle. Record all the steps made instead of just the last one in slp_state, which allows for more flexible unwinding (will be useful to not have to goto breakout if the SPMC entry call fails when that is committed). A lot of this borrows from Ben Widawsky's patch: D17675. The main functional difference with that patch is that suspend-to-idle is a wholly separate sleep type in this one as opposed to being an alternative implementation for s2mem (S3). Reviewed by: emaste, olce Approved by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48734 --- sys/dev/acpica/acpi.c | 278 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 185 insertions(+), 93 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 8380f701d226..9657938371f0 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -58,6 +58,7 @@ #if defined(__i386__) || defined(__amd64__) #include +#include #include #include #include @@ -679,15 +680,19 @@ acpi_attach(device_t dev) #endif /* - * Probe all supported ACPI sleep states. Awake (S0) is always supported. + * Probe all supported ACPI sleep states. Awake (S0) is always supported, + * and suspend-to-idle is always supported on x86 only (at the moment). */ - acpi_supported_sstates[ACPI_STATE_S0] = TRUE; + acpi_supported_sstates[ACPI_STATE_S0] = true; acpi_supported_stypes[POWER_STYPE_AWAKE] = true; +#if defined(__i386__) || defined(__amd64__) + acpi_supported_stypes[POWER_STYPE_SUSPEND_TO_IDLE] = true; +#endif for (state = ACPI_STATE_S1; state <= ACPI_STATE_S5; state++) if (ACPI_SUCCESS(AcpiEvaluateObject(ACPI_ROOT_OBJECT, __DECONST(char *, AcpiGbl_SleepStateNames[state]), NULL, NULL)) && ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) { - acpi_supported_sstates[state] = TRUE; + acpi_supported_sstates[state] = true; acpi_supported_stypes[acpi_sstate_to_stype(state)] = true; } @@ -705,13 +710,24 @@ acpi_attach(device_t dev) else if (acpi_supported_sstates[ACPI_STATE_S2]) sc->acpi_standby_sx = ACPI_STATE_S2; - /* Pick the first valid sleep type for the sleep button default. */ + /* + * Pick the first valid sleep type for the sleep button default. If that + * type was hibernate and we support s2idle, set it to that. The sleep + * button prefers s2mem instead of s2idle at the moment as s2idle may not + * yet work reliably on all machines. In the future, we should set this to + * s2idle when ACPI_FADT_LOW_POWER_S0 is set. + */ sc->acpi_sleep_button_stype = POWER_STYPE_UNKNOWN; for (stype = POWER_STYPE_STANDBY; stype <= POWER_STYPE_HIBERNATE; stype++) if (acpi_supported_stypes[stype]) { sc->acpi_sleep_button_stype = stype; break; } + if (sc->acpi_sleep_button_stype == POWER_STYPE_HIBERNATE || + sc->acpi_sleep_button_stype == POWER_STYPE_UNKNOWN) { + if (acpi_supported_stypes[POWER_STYPE_SUSPEND_TO_IDLE]) + sc->acpi_sleep_button_stype = POWER_STYPE_SUSPEND_TO_IDLE; + } acpi_enable_fixed_events(sc); @@ -3315,7 +3331,8 @@ acpi_ReqSleepState(struct acpi_softc *sc, enum power_stype stype) return (0); #else - /* This platform does not support acpi suspend/resume. */ + device_printf(sc->acpi_dev, "ACPI suspend not supported on this platform " + "(TODO suspend to idle should be, however)\n"); return (EOPNOTSUPP); #endif } @@ -3330,13 +3347,13 @@ acpi_ReqSleepState(struct acpi_softc *sc, enum power_stype stype) int acpi_AckSleepState(struct apm_clone_data *clone, int error) { + struct acpi_softc *sc = clone->acpi_sc; + #if defined(__amd64__) || defined(__i386__) - struct acpi_softc *sc; int ret, sleeping; /* If no pending sleep type, return an error. */ ACPI_LOCK(acpi); - sc = clone->acpi_sc; if (sc->acpi_next_stype == POWER_STYPE_AWAKE) { ACPI_UNLOCK(acpi); return (ENXIO); @@ -3379,7 +3396,8 @@ acpi_AckSleepState(struct apm_clone_data *clone, int error) } return (ret); #else - /* This platform does not support acpi suspend/resume. */ + device_printf(sc->acpi_dev, "ACPI suspend not supported on this platform " + "(TODO suspend to idle should be, however)\n"); return (EOPNOTSUPP); #endif } @@ -3418,27 +3436,133 @@ acpi_sleep_disable(struct acpi_softc *sc) } enum acpi_sleep_state { - ACPI_SS_NONE, - ACPI_SS_GPE_SET, - ACPI_SS_DEV_SUSPEND, - ACPI_SS_SLP_PREP, - ACPI_SS_SLEPT, + ACPI_SS_NONE = 0, + ACPI_SS_GPE_SET = 1 << 0, + ACPI_SS_DEV_SUSPEND = 1 << 1, + ACPI_SS_SLP_PREP = 1 << 2, + ACPI_SS_SLEPT = 1 << 3, }; +static void +do_standby(struct acpi_softc *sc, enum acpi_sleep_state *slp_state, + register_t rflags) +{ + ACPI_STATUS status; + + status = AcpiEnterSleepState(sc->acpi_standby_sx); + intr_restore(rflags); + AcpiLeaveSleepStatePrep(sc->acpi_standby_sx); + if (ACPI_FAILURE(status)) { + device_printf(sc->acpi_dev, "AcpiEnterSleepState failed - %s\n", + AcpiFormatException(status)); + return; + } + *slp_state |= ACPI_SS_SLEPT; +} + +static void +do_sleep(struct acpi_softc *sc, enum acpi_sleep_state *slp_state, + register_t rflags, int state) +{ + int sleep_result; + ACPI_EVENT_STATUS power_button_status; + + MPASS(state == ACPI_STATE_S3 || state == ACPI_STATE_S4); + + sleep_result = acpi_sleep_machdep(sc, state); + acpi_wakeup_machdep(sc, state, sleep_result, 0); + + if (sleep_result == 1 && state == ACPI_STATE_S3) { + /* + * XXX According to ACPI specification SCI_EN bit should be restored + * by ACPI platform (BIOS, firmware) to its pre-sleep state. + * Unfortunately some BIOSes fail to do that and that leads to + * unexpected and serious consequences during wake up like a system + * getting stuck in SMI handlers. + * This hack is picked up from Linux, which claims that it follows + * Windows behavior. + */ + AcpiWriteBitRegister(ACPI_BITREG_SCI_ENABLE, ACPI_ENABLE_EVENT); + + /* + * Prevent misinterpretation of the wakeup by power button + * as a request for power off. + * Ideally we should post an appropriate wakeup event, + * perhaps using acpi_event_power_button_wake or alike. + * + * Clearing of power button status after wakeup is mandated + * by ACPI specification in section "Fixed Power Button". + * + * XXX As of ACPICA 20121114 AcpiGetEventStatus provides + * status as 0/1 corresponding to inactive/active despite + * its type being ACPI_EVENT_STATUS. In other words, + * we should not test for ACPI_EVENT_FLAG_SET for time being. + */ + if (ACPI_SUCCESS(AcpiGetEventStatus(ACPI_EVENT_POWER_BUTTON, + &power_button_status)) && power_button_status != 0) { + AcpiClearEvent(ACPI_EVENT_POWER_BUTTON); + device_printf(sc->acpi_dev, "cleared fixed power button status\n"); + } + } + + intr_restore(rflags); + + /* call acpi_wakeup_machdep() again with interrupt enabled */ + acpi_wakeup_machdep(sc, state, sleep_result, 1); + + AcpiLeaveSleepStatePrep(state); + + if (sleep_result == -1) + return; + + /* Re-enable ACPI hardware on wakeup from sleep state 4. */ + if (state == ACPI_STATE_S4) + AcpiEnable(); + *slp_state |= ACPI_SS_SLEPT; +} + +#if defined(__i386__) || defined(__amd64__) +static void +do_idle(struct acpi_softc *sc, enum acpi_sleep_state *slp_state, + register_t rflags) +{ + + intr_suspend(); + + /* + * The CPU will exit idle when interrupted, so we want to minimize the + * number of interrupts it can receive while idle. We do this by only + * allowing SCI (system control interrupt) interrupts, which are used by + * the ACPI firmware to send wake GPEs to the OS. + * + * XXX We might still receive other spurious non-wake GPEs from noisy + * devices that can't be disabled, so this will need to end up being a + * suspend-to-idle loop which, when breaking out of idle, will check the + * reason for the wakeup and immediately idle the CPU again if it was not a + * proper wake event. + */ + intr_enable_src(AcpiGbl_FADT.SciInterrupt); + + cpu_idle(0); + + intr_resume(false); + intr_restore(rflags); + *slp_state |= ACPI_SS_SLEPT; +} +#endif + /* * Enter the desired system sleep state. * - * Currently we support S1-S5 but S4 is only S4BIOS + * Currently we support S1-S5 and suspend-to-idle, but S4 is only S4BIOS. */ static ACPI_STATUS acpi_EnterSleepState(struct acpi_softc *sc, enum power_stype stype) { register_t intr; ACPI_STATUS status; - ACPI_EVENT_STATUS power_button_status; enum acpi_sleep_state slp_state; int acpi_sstate; - int sleep_result; ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, stype); @@ -3498,7 +3622,7 @@ acpi_EnterSleepState(struct acpi_softc *sc, enum power_stype stype) /* Enable any GPEs as appropriate and requested by the user. */ acpi_wake_prep_walk(sc, stype); - slp_state = ACPI_SS_GPE_SET; + slp_state |= ACPI_SS_GPE_SET; /* * Inform all devices that we are going to sleep. If at least one @@ -3509,113 +3633,81 @@ acpi_EnterSleepState(struct acpi_softc *sc, enum power_stype stype) * bus interface does not provide for this. */ if (DEVICE_SUSPEND(root_bus) != 0) { - device_printf(sc->acpi_dev, "device_suspend failed\n"); - goto backout; + device_printf(sc->acpi_dev, "device_suspend failed\n"); + goto backout; } - slp_state = ACPI_SS_DEV_SUSPEND; + slp_state |= ACPI_SS_DEV_SUSPEND; - status = AcpiEnterSleepStatePrep(acpi_sstate); - if (ACPI_FAILURE(status)) { - device_printf(sc->acpi_dev, "AcpiEnterSleepStatePrep failed - %s\n", - AcpiFormatException(status)); - goto backout; + if (stype != POWER_STYPE_SUSPEND_TO_IDLE) { + status = AcpiEnterSleepStatePrep(acpi_sstate); + if (ACPI_FAILURE(status)) { + device_printf(sc->acpi_dev, "AcpiEnterSleepStatePrep failed - %s\n", + AcpiFormatException(status)); + goto backout; + } } - slp_state = ACPI_SS_SLP_PREP; + slp_state |= ACPI_SS_SLP_PREP; if (sc->acpi_sleep_delay > 0) DELAY(sc->acpi_sleep_delay * 1000000); suspendclock(); intr = intr_disable(); - if (stype != POWER_STYPE_STANDBY) { - sleep_result = acpi_sleep_machdep(sc, acpi_sstate); - acpi_wakeup_machdep(sc, acpi_sstate, sleep_result, 0); - - /* - * XXX According to ACPI specification SCI_EN bit should be restored - * by ACPI platform (BIOS, firmware) to its pre-sleep state. - * Unfortunately some BIOSes fail to do that and that leads to - * unexpected and serious consequences during wake up like a system - * getting stuck in SMI handlers. - * This hack is picked up from Linux, which claims that it follows - * Windows behavior. - */ - if (sleep_result == 1 && stype != POWER_STYPE_HIBERNATE) - AcpiWriteBitRegister(ACPI_BITREG_SCI_ENABLE, ACPI_ENABLE_EVENT); - - if (sleep_result == 1 && stype == POWER_STYPE_SUSPEND_TO_MEM) { - /* - * Prevent mis-interpretation of the wakeup by power button - * as a request for power off. - * Ideally we should post an appropriate wakeup event, - * perhaps using acpi_event_power_button_wake or alike. - * - * Clearing of power button status after wakeup is mandated - * by ACPI specification in section "Fixed Power Button". - * - * XXX As of ACPICA 20121114 AcpiGetEventStatus provides - * status as 0/1 corressponding to inactive/active despite - * its type being ACPI_EVENT_STATUS. In other words, - * we should not test for ACPI_EVENT_FLAG_SET for time being. - */ - if (ACPI_SUCCESS(AcpiGetEventStatus(ACPI_EVENT_POWER_BUTTON, - &power_button_status)) && power_button_status != 0) { - AcpiClearEvent(ACPI_EVENT_POWER_BUTTON); - device_printf(sc->acpi_dev, - "cleared fixed power button status\n"); - } - } - - intr_restore(intr); - - /* call acpi_wakeup_machdep() again with interrupt enabled */ - acpi_wakeup_machdep(sc, acpi_sstate, sleep_result, 1); - - AcpiLeaveSleepStatePrep(acpi_sstate); - - if (sleep_result == -1) - goto backout; - - /* Re-enable ACPI hardware on wakeup from hibernate. */ - if (stype == POWER_STYPE_HIBERNATE) - AcpiEnable(); - } else { - status = AcpiEnterSleepState(acpi_sstate); - intr_restore(intr); - AcpiLeaveSleepStatePrep(acpi_sstate); - if (ACPI_FAILURE(status)) { - device_printf(sc->acpi_dev, "AcpiEnterSleepState failed - %s\n", - AcpiFormatException(status)); - goto backout; - } + switch (stype) { + case POWER_STYPE_STANDBY: + do_standby(sc, &slp_state, intr); + break; + case POWER_STYPE_SUSPEND_TO_MEM: + case POWER_STYPE_HIBERNATE: + do_sleep(sc, &slp_state, intr, acpi_sstate); + break; + case POWER_STYPE_SUSPEND_TO_IDLE: +#if defined(__i386__) || defined(__amd64__) + do_idle(sc, &slp_state, intr); + break; +#endif + case POWER_STYPE_AWAKE: + case POWER_STYPE_POWEROFF: + case POWER_STYPE_COUNT: + case POWER_STYPE_UNKNOWN: + __unreachable(); } - slp_state = ACPI_SS_SLEPT; /* * Back out state according to how far along we got in the suspend * process. This handles both the error and success cases. */ backout: - if (slp_state >= ACPI_SS_SLP_PREP) + if ((slp_state & ACPI_SS_SLP_PREP) != 0) { resumeclock(); - if (slp_state >= ACPI_SS_GPE_SET) { + slp_state &= ~ACPI_SS_SLP_PREP; + } + if ((slp_state & ACPI_SS_GPE_SET) != 0) { acpi_wake_prep_walk(sc, stype); sc->acpi_stype = POWER_STYPE_AWAKE; + slp_state &= ~ACPI_SS_GPE_SET; } - if (slp_state >= ACPI_SS_DEV_SUSPEND) + if ((slp_state & ACPI_SS_DEV_SUSPEND) != 0) { DEVICE_RESUME(root_bus); - if (slp_state >= ACPI_SS_SLP_PREP) + slp_state &= ~ACPI_SS_DEV_SUSPEND; + } + if (stype != POWER_STYPE_SUSPEND_TO_IDLE && (slp_state & ACPI_SS_SLP_PREP) != 0) { AcpiLeaveSleepState(acpi_sstate); - if (slp_state >= ACPI_SS_SLEPT) { + slp_state &= ~ACPI_SS_SLP_PREP; + } + if ((slp_state & ACPI_SS_SLEPT) != 0) { #if defined(__i386__) || defined(__amd64__) /* NB: we are still using ACPI timecounter at this point. */ resume_TSC(); #endif acpi_resync_clock(sc); acpi_enable_fixed_events(sc); + slp_state &= ~ACPI_SS_SLEPT; } sc->acpi_next_stype = POWER_STYPE_AWAKE; + MPASS(slp_state == ACPI_SS_NONE); + bus_topo_unlock(); #ifdef EARLY_AP_STARTUP From nobody Tue Jan 13 22:43:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drPR74CRXz6Nng3 for ; Tue, 13 Jan 2026 22:43: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drPR7364Cz3QC1 for ; Tue, 13 Jan 2026 22:43:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768344195; 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=WQX5tkQdKpVgvKMOWAMNylldp1wFueNvt5cKtGrTTmU=; b=OykLyBJuonaA0t2dFGc6pFWGLPjDuI8ESB/l36/r+q7gnQjn5KAjrGIjBYQLB35SRdjc3A sLc/DpYskJ7nlOZqtds605uNf02BFjuDp40Fz51kz3vjHgnfta72ix2U3hVwsm5KW/bjPA mDkhbtIk0zKx9LXNE/1YfPyCJFtddzNA6Pl4kg1DbXghNlqo14sZRf8b/RjWzRZgF/7Fuj uI9Umq4n2VXtktORAcbjCym5GqmtIFBlWRfamVpD2YEGqE/ic3UtomUMxshBDiJ0GXNjQM ENxkQz6eCOScHxGPOaKb0pCpTk7OFVWDp/xrKUJARs6eBAcTDBqkr4yVwCLhDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768344195; 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=WQX5tkQdKpVgvKMOWAMNylldp1wFueNvt5cKtGrTTmU=; b=AXpQret+D2Vm2VwfDrgrg12ZW767O9wkL18o6St3YemaJEQFHppASSwin/YxjjYlPUWyar vreR9FjpdDazTDS+RVTCZqfPm1jwDS/Or5caa/v6PdbANiev9ctofLFpTssM32Mxi82YEa fwkE0v0aayJlA5ocT3bIJdJNpJo8K2T1zVa+ohrfoLa+nS8qXXOYuncUN+uAnIDb/9aE50 zwOcPO3sSeJ+Fv+/GjOQQu/KrvPGvEIXBmAm7BvwdFy0+X9DWyEbdgBisING13LQOGgzgi LJ4bmo+qQmhD1H2YthvynHvZ88CiN31J55oQX6kzccFAve/gIiwQ20pR2KZErQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768344195; a=rsa-sha256; cv=none; b=d2d28eI/ETEu4r9z+M+BXN08AnMg6FVuKdx5Kd8d95oprnUxU1G8QUfX9zbAQLb3TiCe81 iV+U/7HJVqErOqnqU8rJj2AXSZ05U0jbGdOufyuHVeo1nuyE9cv6Xi0YTIr/iaKB/pAKWw lKWaZ7VVIkjS4uuqmTaquu5EA7qJjkhysWpnDz5QGlf/Mx2uDyILz/YaxzoR5ZQZVj9AQK h2dd3l5BE8sFH9z7BsF+WqS5h6fs79+AJoUw5YahYwAOUwcVKUXi+kWgCcwro0URw8T/DF IZoQJ7U79d3dzcV6MPLbjZT2aaoFACVHZzTIGWZtRHp0D/aFo0XJntRgq7cpeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drPR22FYFzXVH for ; Tue, 13 Jan 2026 22:43:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33dd7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 22:43:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 38f941deb6fa - main - x86: Add intr_enable_src() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38f941deb6faa0c22ffd5bf2f848c62dc6fce434 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 22:43:10 +0000 Message-Id: <6966ca7e.33dd7.1b186e7f@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=38f941deb6faa0c22ffd5bf2f848c62dc6fce434 commit 38f941deb6faa0c22ffd5bf2f848c62dc6fce434 Author: Aymeric Wibo AuthorDate: 2026-01-13 22:15:55 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-13 22:21:05 +0000 x86: Add intr_enable_src() Function to enable specific IRQ source. This will be used by the s2idle code to enable just SCIs on x86 to break the CPU out of idle. Reviewed by: olce Approved by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48734 --- sys/x86/include/intr_machdep.h | 1 + sys/x86/x86/intr_machdep.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/sys/x86/include/intr_machdep.h b/sys/x86/include/intr_machdep.h index 497c89b0a7eb..6d6b1962b6bd 100644 --- a/sys/x86/include/intr_machdep.h +++ b/sys/x86/include/intr_machdep.h @@ -151,6 +151,7 @@ int intr_register_source(struct intsrc *isrc); int intr_remove_handler(void *cookie); void intr_resume(bool suspend_cancelled); void intr_suspend(void); +void intr_enable_src(u_int irq); void intr_reprogram(void); void intrcnt_add(const char *name, u_long **countp); void nexus_add_irq(u_long irq); diff --git a/sys/x86/x86/intr_machdep.c b/sys/x86/x86/intr_machdep.c index a16d2ced8dba..7e57c97a7291 100644 --- a/sys/x86/x86/intr_machdep.c +++ b/sys/x86/x86/intr_machdep.c @@ -405,6 +405,15 @@ intr_suspend(void) mtx_unlock(&intrpic_lock); } +void +intr_enable_src(u_int irq) +{ + struct intsrc *is; + + is = interrupt_sources[irq]; + is->is_pic->pic_enable_source(is); +} + static int intr_assign_cpu(void *arg, int cpu) { From nobody Tue Jan 13 23:08:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drQ136545z6Nq1b for ; Tue, 13 Jan 2026 23:09:11 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb12b.google.com (mail-yx1-xb12b.google.com [IPv6:2607:f8b0:4864:20::b12b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drQ133N8Yz3TBf for ; Tue, 13 Jan 2026 23:09:11 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yx1-xb12b.google.com with SMTP id 956f58d0204a3-646b8d2431dso7006515d50.2 for ; Tue, 13 Jan 2026 15:09:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768345745; x=1768950545; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=sAah0dPZYAxTMFdq61IdijtnK+q6qSvSslEY9DZZCZk=; b=gI6qK7OkWd/D083wS++ejPg6C+v3IOfJlNn5tomRW/FpgWYV+8TYoVmvkSnHgkjlGv cRXwpmF6aetQ5frjzAnJ+LSWFVn4zunENg+y5GDe96nBNBZHqFYbW1uN8nZf91SA3IsD tnDeVwQACao9auH687pYIge1ZKyeX3a0Tz6YPDzaUxpTWzNufe7blOLm3qdYSIcgV+BE yYkw7GoILtrPzm0nA8K5IV408d2+nP8KSLfU8Jzmx/qvrvPAMJ3USI0GiKozjM//3AQt OI0x4nm45CKyfCZsHF1VeGrTrIvs9TZlWi+t8n8/dsRG+9WjZ4LDasl61F0iH2P5jTbr Hqaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768345745; x=1768950545; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=sAah0dPZYAxTMFdq61IdijtnK+q6qSvSslEY9DZZCZk=; b=bQxMG7xwDiYV7Tc+3w4XUBDgahr/EdP/8XQPkyB5geV3qDSmVS1Q+/OKSv8ajNh2DX 6HQdOePOkoxS/LasjTEnLynIbsZnjHRkJkrN4uQAt5YAD18Sio/j0sTjZLcyg7Ec6m+J PtqLc6R6RzwMGsoT3HgM+46irZ46ShXSE124lmZA2A6c4hsZuqZTH3kQLb2MiVhbOCBL dv0gb/xy07sFoux4dBSjWYThgD3NV4GLPVsHyvyYxCViozV1j6dEj5I/GUddzauVIulh KmkWBeiUSEEPCwYTePwUdGMtj4tsYffm/xwBKqqwPS1hI8ADe9AgKyogd+SeIwhBzP1M wbBQ== X-Forwarded-Encrypted: i=1; AJvYcCW1avTVYM9Qq8jwBpY6tSrgRCMUQ0cRd5oOzHcvdbdy9EyuPfc5x4ptmqI1KqOG6NhWkE++Q9PKN8DioThmXKUrAYT2aA==@freebsd.org X-Gm-Message-State: AOJu0YycXbJbPmyYjig3HFi0lMuA3Idy84fLYwqhDXs9d4dp36/X1MeO /kEL36o2onNnqMEkb0xQ2s3yQ4YKbxq8SaiBT2OKfVcOYDzT0+y552iIVCs2ru4PsU7QR2g6UA+ gBQKqWQDowq2VVPr6tmZH3SPBSGxKUwo= X-Gm-Gg: AY/fxX7/VT/a2Xl05OlgvW5MDgZcotcEPEnQM2ec+1TgexHF3nCDbync33d9InkrQXu PsifD5VNHMbRHDD1hxUc7Z7j5Dq+U0NRmQYGn4k/lxYJNXMr5vTlpt26LN9G1oclSrjVWP6efX8 oY5MNxmv98tLc8VTUgWAFQ5ULst2c/aTnoryIwNQEFIPNtzJrgwzoJb1ZrGppoE2vSN7iv5fjTM IbAMcvUzwKRxXqyqnqBTaNKCs2ey/5F2Cv3FzPgB1fDWHj+qbRTcetJZqpP7bZoTWimmBzDASYj YR/LNxEL8+SUtA== X-Received: by 2002:a53:ac86:0:b0:644:7b34:7bd2 with SMTP id 956f58d0204a3-64901b0fb85mr709172d50.75.1768345745642; Tue, 13 Jan 2026 15:09:05 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <696650ad.a11e.704a7e09@gitrepo.freebsd.org> In-Reply-To: <696650ad.a11e.704a7e09@gitrepo.freebsd.org> From: Oliver Pinter Date: Wed, 14 Jan 2026 00:08:52 +0100 X-Gm-Features: AZwV_QjaepW2V2Pgi97BDPePK1QslxiTyhlrG_ZZi7Wn8CiUbEk5rS1dgO8SJl0 Message-ID: Subject: Re: git: 457b940bfb6a - main - tuning.7: add more explanation about swap (over-)accounting To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/mixed; boundary="00000000000002aa2806484d14fc" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drQ133N8Yz3TBf --00000000000002aa2806484d14fc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi! Attached a small fix. On Tue, Jan 13, 2026 at 3:04=E2=80=AFPM Konstantin Belousov wrote: > > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D457b940bfb6a228af1281f357b= 627ecf1e26fea5 > > commit 457b940bfb6a228af1281f357b627ecf1e26fea5 > Author: Konstantin Belousov > AuthorDate: 2026-01-12 03:54:58 +0000 > Commit: Konstantin Belousov > CommitDate: 2026-01-13 14:03:14 +0000 > > tuning.7: add more explanation about swap (over-)accounting > > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Differential revision: https://reviews.freebsd.org/D54572 > --- > share/man/man7/tuning.7 | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 > index 44c427c4559d..a3709ce82b8c 100644 > --- a/share/man/man7/tuning.7 > +++ b/share/man/man7/tuning.7 > @@ -222,6 +222,21 @@ and > .Va vm.stats.vm.v_wire_count > sysctls, respectively). > .Pp > +Due to the architecture of the > +.Fx > +virtual memory subsystem, the use of copy on write (CoW) anonymous > +memory, e.g. on > +.Xr fork 2 , > +causes swap reservation for all three regions (VM objects), > +as in the original pre-fork mapping, and its copies in > +the parent and child, instead of only two. > +Eventually the subsystem tries to optimize the internal layout > +of the tracking for CoW and often removes (collapses) no longer > +needed backing objects, re-assigning its pages and swap > +reservations to the copies. > +Coolapsing frees the swap reserve, but it is not guaranteed > +to happen. > +.Pp > The > .Va kern.ipc.maxpipekva > loader tunable is used to set a hard limit on the > --00000000000002aa2806484d14fc Content-Type: application/octet-stream; name="0001-tuning.7-use-the-correct-word-for-collapsing.patch" Content-Disposition: attachment; filename="0001-tuning.7-use-the-correct-word-for-collapsing.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkd7dtiv0 RnJvbSA4MjE3ZWJlNmIwNjExMjk2N2UwYjZjODJmN2RjZGI2Mzg3OWNkYzRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgUGludGVyIDxvbGl2ZXIucG50citmcmVlYnNkQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxNCBKYW4gMjAyNiAwMDowNjoyOSArMDEwMApTdWJqZWN0OiBb UEFUQ0hdIHR1bmluZy43OiB1c2UgdGhlIGNvcnJlY3Qgd29yZCBmb3IgY29sbGFwc2luZwoKRml4 ZXM6IDQ1N2I5NDBiZmI2YTIyOGFmMTI4MWYzNTdiNjI3ZWNmMWUyNmZlYTUKU2lnbmVkLW9mZi1i eTogT2xpdmVyIFBpbnRlciA8b2xpdmVyLnBudHIrZnJlZWJzZEBnbWFpbC5jb20+Ci0tLQogc2hh cmUvbWFuL21hbjcvdHVuaW5nLjcgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zaGFyZS9tYW4vbWFuNy90dW5pbmcuNyBi L3NoYXJlL21hbi9tYW43L3R1bmluZy43CmluZGV4IGEzNzA5Y2U4MmI4Yy4uZGFmOTQxZGE1ZGUz IDEwMDY0NAotLS0gYS9zaGFyZS9tYW4vbWFuNy90dW5pbmcuNworKysgYi9zaGFyZS9tYW4vbWFu Ny90dW5pbmcuNwpAQCAtMjM0LDcgKzIzNCw3IEBAIEV2ZW50dWFsbHkgdGhlIHN1YnN5c3RlbSB0 cmllcyB0byBvcHRpbWl6ZSB0aGUgaW50ZXJuYWwgbGF5b3V0CiBvZiB0aGUgdHJhY2tpbmcgZm9y IENvVyBhbmQgb2Z0ZW4gcmVtb3ZlcyAoY29sbGFwc2VzKSBubyBsb25nZXIKIG5lZWRlZCBiYWNr aW5nIG9iamVjdHMsIHJlLWFzc2lnbmluZyBpdHMgcGFnZXMgYW5kIHN3YXAKIHJlc2VydmF0aW9u cyB0byB0aGUgY29waWVzLgotQ29vbGFwc2luZyBmcmVlcyB0aGUgc3dhcCByZXNlcnZlLCBidXQg aXQgaXMgbm90IGd1YXJhbnRlZWQKK0NvbGxhcHNpbmcgZnJlZXMgdGhlIHN3YXAgcmVzZXJ2ZSwg YnV0IGl0IGlzIG5vdCBndWFyYW50ZWVkCiB0byBoYXBwZW4uCiAuUHAKIFRoZQotLSAKMi41MC4x IChBcHBsZSBHaXQtMTU1KQoK --00000000000002aa2806484d14fc-- From nobody Wed Jan 14 00:23:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drRfN4zppz6NvBp for ; Wed, 14 Jan 2026 00:23: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drRfN4Mvzz3cFP for ; Wed, 14 Jan 2026 00:23:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768350188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uXhUcmSsvGRCUKbvIkFEnuHiypb5EAbMLvhSgcsCmFM=; b=hNXUhlq2cjF4fU9DEBI6GboVIoAmNqZecCXBTwxdnCvi81PIFd41hAcmJgZCFL2c2c/XSM V7T/L5RYQ9Zfd4dQ7QpKtlUge0gsAWnVXCtGv5vbm4Pn5mJ1dupcTCJnpzjNEu63l7+k0U AEmfTSMK4IwR9tKzgrp8Nib2A6jaNUl8lr0r9c2lAEe8tTdNZZ8WHOA3y/hmdJV0tuU7kW zvhMyIRNHp7jVoquKQoMw8vgiC+NrC1u8ZRyN0pTU7NhPagAwz0Xe3xwuHj6Rb4G/fC7Ay m1rcIjUtW/MFrClEHFJgGo8Kcalf3WWBbhrApqAprxth07nV1gO1HWq88FSDLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768350188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uXhUcmSsvGRCUKbvIkFEnuHiypb5EAbMLvhSgcsCmFM=; b=pvPBFgK7fCpKJCFS0mXFhtzdiM65dBiEyHmAsJ0BwsCYB2KQM2j9Fynao4xJvKipp8ljLT Ikdq0V2aGi9tv+8Kq84delAnoOnUXFd3PagZJ8A95WXoxlqd5fvtUr0nyXy9eCjX1hqmzi dIowPg1U+34O0o9OhuVLrwFe6LZHXGwPbCRnkpLkb1UQY1K3yxH4c/gBSZfcib/rtXx/SO uQenRenLFUxi4B6gH0yP/FckLQSl9RzJzvedG0YeBCBtvKMsaaAKVCTh9AiFBN5+X8KRWX 7ZLP1bjZpba/IKewLYc+xAcsjsD0wTzZIzx+DkgL9LBone6zgX0JkbZ+2P/U8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768350188; a=rsa-sha256; cv=none; b=fZ7hp2q743x7X/yHSTASekgoBzDahnqzuTd/cHvAazyJeDH9HI0YXq63Y6IknW3dMSX9y7 MhBvYg6Fr3Ua8T1FUKki5QIbChNr2X1hZ8rZcIYX1LD7G/l0d1itMlB4iYAuz8uKvq5AOz KRhHuFOntSwEXyUw2aZhyRGqVk7IjoOc6VpJqW4+KJW9ASXoWuVKP6Vpaz/oHDEwYLSv9m GizWdUCITpU4PisqU3+gUoeBzPdYUd/PWVpGBtO5lEoWc8any+quRfyjbB99/czIT3cCsu +NE6JSI7vdwLQx2pMByTKprFQ/5odQPQjx9W7powzH2QFj+JbGl9bnwZ03uI2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drRfN3hDQzbYl for ; Wed, 14 Jan 2026 00:23:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d839 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 00:23:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Quent=?utf-8?Q?in Th=C3=A9?=bault From: Kyle Evans Subject: git: 5e1c7867e1b9 - main - vt(4): allow up to _SIG_MAXSIG (128) for VT_SETMODE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e1c7867e1b9a8abe7307d01087cddc057e39859 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 00:23:08 +0000 Message-Id: <6966e1ec.3d839.7271f439@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=5e1c7867e1b9a8abe7307d01087cddc057e39859 commit 5e1c7867e1b9a8abe7307d01087cddc057e39859 Author: Quentin Thébault AuthorDate: 2026-01-14 00:14:22 +0000 Commit: Kyle Evans CommitDate: 2026-01-14 00:15:30 +0000 vt(4): allow up to _SIG_MAXSIG (128) for VT_SETMODE VT_SETMODE ioctl currently checks the provided signal numbers with its own ISSIGVALID macro that uses NSIG (32) as a maximum, although the code that will actually send the signal in sys/kern/kern_sig.c uses _SIG_VALID which allows up to _SIG_MAXSIG (128). This change aligns the vt code with the kernel internals and enables the use of higher signal numbers so that applications are not limited to SIGUSR1 and SIGUSR2 for vt release and acquire signals. Signed-off-by: Quentin Thébault Reviewed by: emaste, imp, kevans Differential Revision: https://reviews.freebsd.org/D53615 --- sys/dev/vt/vt.h | 1 - sys/dev/vt/vt_core.c | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/dev/vt/vt.h b/sys/dev/vt/vt.h index 8e35a81bc101..4abe99e4ab13 100644 --- a/sys/dev/vt/vt.h +++ b/sys/dev/vt/vt.h @@ -81,7 +81,6 @@ #else #define DPRINTF(_l, ...) do {} while (0) #endif -#define ISSIGVALID(sig) ((sig) > 0 && (sig) < NSIG) #define VT_SYSCTL_INT(_name, _default, _descr) \ int vt_##_name = (_default); \ diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 5e8f7b1d0bb7..a6a5f0eeff9d 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -3046,9 +3046,9 @@ skip_thunk: DPRINTF(5, "reset WAIT_ACQ, "); return (0); } else if (mode->mode == VT_PROCESS) { - if (!(ISSIGVALID(mode->relsig) && - ISSIGVALID(mode->acqsig) && - (mode->frsig == 0 || ISSIGVALID(mode->frsig)))) { + if (!(_SIG_VALID(mode->relsig) && + _SIG_VALID(mode->acqsig) && + (mode->frsig == 0 || _SIG_VALID(mode->frsig)))) { DPRINTF(5, "error EINVAL\n"); return (EINVAL); } From nobody Wed Jan 14 03:15:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drWT73PZGz6P4c3 for ; Wed, 14 Jan 2026 03:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drWT71x62z3tYw for ; Wed, 14 Jan 2026 03:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768360523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c4yUBLMfJQirijwXj25K+KqrTjVpKzJ4d0xbYHrIXBs=; b=ioZznB1IOtl3fglonRISJEQxFTQAe6pMUAYnpXJGzM35kxs9VbgJJaDJnDdVunmiDQK6V7 S7J1/vBriyM48fo78PVD+y7lh2ZEm02mXZaZJjOeqTYcd9rVwUwSXiin/X3m8D9qW7Ocsj aBGyrBP9dQO0bmRXOIM7ahjKMw7PbdPUnTTKIvwV5VXVHiCn4XrQ9BBCkCpUXT2pInc59n fyYxEkgcTfGKVSHJ8l7oTHdnmFB2J6feDw7JzRL31Leey2hJR+gctsZ1kSESX+cgwKu1FH GzmYQJ943qkgz4mc9gZ8DtDadeVQk3K/A7DBeuZ8PirU/UFSnJbvQcunGRd8bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768360523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c4yUBLMfJQirijwXj25K+KqrTjVpKzJ4d0xbYHrIXBs=; b=Stve4UH6579ERxaiIBky1n7Sv6Oea9gzr4ZO74R+vdBuikM5GDsFcab9XOxm2TiQdYUpBb 5X7FMIwKCW16pRbpc4gJFudKNoGTyTNELQSqL6paKbgXiqFu5kRHazfXpwiLZ33e0nf7ln j5VPkydMWIHcRA//VqZ40HoiZPo9tWk3HK7sgVrdOYCH1NW+xaGU7Is/Of6q3NyFJkb354 zmAQzpVUuF6HOIdDfWTvJYHKASBzc/Keon2Uo8dWRoORmfzOSByqEaCH2bo7qV6v238oqs 9y3WAzbtONlJKX8hzWVQ0bLhWChdnVmMotqBW1UWuDbLloPLwqKh1eTas/rdgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768360523; a=rsa-sha256; cv=none; b=bkqy2sVteVN1RgJBzHElP+0cg/FIh6e5o9C9xyjTTndcwvl11r6kFyWkFbfsRs+6XwObQg rSkCrZo2mYR7yK14MrRz875MwiTSssx26NpD3DzCnjmC24dIfLRN6HKU8jnESYkxf7/EWJ A+cENymMWo0m01kupGudo+O3Appa+r4nFDHpK05zT5tIC6RnRSFuPjjpZ9nvoI/96RT3T8 8GzHkKiNTxlc12fhGwIsGhgv8vVXAbOYY61TD47qw9aOsKM5p3B0Bxtcn59zZjTLj/HBB6 DGmo3dBlUMzPM7IY5YIY8yIuiMgxEVdDwbZ3zC44kZa25oQDAu8YsYDXCA4cYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drWT71W19zhFw for ; Wed, 14 Jan 2026 03:15:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e06a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 03:15:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: c498eaa2f909 - main - asmc: Add support for MacBookPro11,5 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c498eaa2f9090d7bdc6456181d8bf74869288bbb Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 03:15:23 +0000 Message-Id: <69670a4b.e06a.66cf4ba6@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c498eaa2f9090d7bdc6456181d8bf74869288bbb commit c498eaa2f9090d7bdc6456181d8bf74869288bbb Author: Abdelkader Boudih AuthorDate: 2026-01-14 03:13:46 +0000 Commit: Adrian Chadd CommitDate: 2026-01-14 03:14:49 +0000 asmc: Add support for MacBookPro11,5 Add support for the MacBookPro11,5 (Mid 2015, 15-inch with AMD Radeon R9 M370X GPU) to the Apple SMC driver. Debug testing revealed this model lacks several SMC keys present on MacBookPro11,4 (IBLC, ICMC, IC2C), that model-specific sensor definitions. Differential Revision: https://reviews.freebsd.org/D54665 Reviewed by: adrian --- sys/dev/asmc/asmc.c | 7 +++++++ sys/dev/asmc/asmcvar.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 5d3b97a065c9..5b2a901328d3 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -287,6 +287,13 @@ static const struct asmc_model asmc_models[] = { ASMC_MBP114_TEMPS, ASMC_MBP114_TEMPNAMES, ASMC_MBP114_TEMPDESCS }, + { + "MacBookPro11,5", + "Apple SMC MacBook Pro Retina Core i7 (mid 2015, 15-inch, AMD GPU)", + ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, + ASMC_MBP115_TEMPS, ASMC_MBP115_TEMPNAMES, ASMC_MBP115_TEMPDESCS + }, + /* The Mac Mini has no SMS */ { "Macmini1,1", "Apple SMC Mac Mini", diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index b6d8686d9670..102bee8a15b7 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -467,6 +467,41 @@ struct asmc_softc { "Pbus", "Ambient Light", "Leftside", "Rightside", "CPU Package Core", \ "CPU Package GPU", "CPU Package Total", "System Total", "DC In" } +/* MacBookPro11,5 - same as 11,4 but without IBLC, ICMC, and IC2C keys */ +#define ASMC_MBP115_TEMPS { "IC0C", "ID0R", "IHDC", "IPBR", "IC0R", \ + "IO3R", "IO5R", "IM0C", "IC1C", \ + "IC3C", "ILDC", "IAPC", "IHSC", \ + "TC0P", "TP0P", "TM0P", \ + "Ta0P", "Th2H", "Th1H", "TW0P", "Ts0P", \ + "Ts1P", "TB0T", "TB1T", "TB2T", "TH0A", "TH0B", \ + "TC1C", "TC2C", "TC3C", "TC4C", "TCXC", \ + "TCGC", "TPCD", "TCSA", "VC0C", "VD0R", \ + "VP0R", "ALSL", "F0Ac", "F1Ac", "PCPC", \ + "PCPG", "PCPT", "PSTR", "PDTR", NULL } + + +#define ASMC_MBP115_TEMPNAMES { "IC0C", "ID0R", "IHDC", "IPBR", "IC0R", \ + "IO3R", "IO5R", "IM0C", "IC1C", \ + "IC3C", "ILDC", "IAPC", "IHSC", \ + "TC0P", "TP0P", "TM0P", \ + "Ta0P", "Th2H", "Th1H", "TW0P", "Ts0P", \ + "Ts1P", "TB0T", "TB1T", "TB2T", "TH0A", "TH0B", \ + "TC1C", "TC2C", "TC3C", "TC4C", "TCXC", \ + "TCGC", "TPCD", "TCSA", "VC0C", "VD0R", \ + "VP0R", "ALSL", "F0Ac", "F1Ac", "PCPC", \ + "PCPG", "PCPT", "PSTR", "PDTR" } + +#define ASMC_MBP115_TEMPDESCS { "CPU High (CPU, I/O)", "DC In", "SSD", "Charger (BMON)", "CPU", \ + "Other 3.3V", "Other 5V", "Memory", "Platform Controller Hub Core", \ + "CPU DDR", "LCD Panel", "Airport", "Thunderbolt", \ + "CPU Proximity", "Platform Controller Hub", "Memory Proximity", "Air Flow Proximity", \ + "Left Fin Stack", "Right Fin Stack", "Airport Proximity", "Palm Rest", "Palm Rest Actuator", \ + "Battery Max", "Battery Sensor 1", "Battery Sensor 2", "SSD A", "SSD B", \ + "CPU Core 1", "CPU Core 2", "CPU Core 3", "CPU Core 4", "CPU PECI Die", \ + "Intel GPU", "Platform Controller Hub PECI", "CPU System Agent Core", "CPU VCore", "DC In", \ + "Pbus", "Ambient Light", "Leftside", "Rightside", "CPU Package Core", \ + "CPU Package GPU", "CPU Package Total", "System Total", "DC In" } + #define ASMC_MM_TEMPS { "TN0P", "TN1P", NULL } #define ASMC_MM_TEMPNAMES { "northbridge1", "northbridge2" } #define ASMC_MM_TEMPDESCS { "Northbridge Point 1", \ From nobody Wed Jan 14 03:15:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drWTC2X1Lz6P4vy for ; Wed, 14 Jan 2026 03:15: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drWTC1dYwz3tWx for ; Wed, 14 Jan 2026 03:15:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768360527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=elaWg4hS2JxPR5+Ff9tfAHLUdyb/DdcLfcfuFEjc3LA=; b=g88G4PdKGRj5+AcInpPDWsOcf9dIk6xOWZgI38S1ZKa8TW7x9LMzUuSKwaTrXczD7Wz4PS XAjfekBAm6r/Vz7BLMgoo+gyADxTaYZH3YreEzs4X323Ed9Y3gemWSnFnZET1BoQs5MGwa UWMuVSOjjbMFxKfR1Sta15s/I41s9uwpa4v/xbLBS/+PTbBW8TKFh4f2qb4xUrsVz0BwxR dlzRpBoye3nokxGKffQ91feeYOFsIt9LQr5kapSxSzX29CUC8BemjtqtceAwj0uGiXLFF6 YNoQS/e1ui6Z/8RjVunc0X4LubNF76wM9IyWmP9RSBqEsg1BJh5LBfyuTfqGww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768360527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=elaWg4hS2JxPR5+Ff9tfAHLUdyb/DdcLfcfuFEjc3LA=; b=ciQCozkOAHdPckMXKWe4wVmOlfGYo8Zws8jJLtlyz8JikVEWHqJskBgHBTnVx2p76E4tBD DeD2RveY1EMRDkUX9hT4ECcTXWSvF9qY38iA9OZqNlTxJIzSfiM7eH4lFdQDmkVNoqwN4C 0O/LOrjgB3h33HiVD2ycvifFIvryYBXkHORm7y08Evnb5QWTQelpnFmK4lkNzuAP4IKnZr TdPwdeaUEpEHoNVtjfzjfH1SXTBTpuFcaO8onL4knuLV81eXkN1pzufxNmlVdKmQ5TztqB bEWMikjo1F7up4ZY6+BPUbvFAJbyVGf9yvHUbu1OecJB1uElovIf6cEpJWXt4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768360527; a=rsa-sha256; cv=none; b=xD+lzfUHmGbDiYq2C/oay6mzeqMRnDzOL/z4iitViAJdXj/Gv4zklq1cGunG6xda7IfVX3 fFWlCVA/IybraAbmLClOQ2hWREOJjw2NL+UOxMa+FwWhwGG3/WMi4c2CYFMT48UiiU5Geu lfBuk0ZNnaGPKwmAa/HM9jjLgIDih4q5DKgZuVi/4XFkbhMZJ28ViM9OggM5ImyF4N58xK pQyGemzqfUe7JMJni6u3/MXrq0h+ePEGsAlZVWwPJ5uR19r4iYnjvXJPgNy6iLg7zQ5THE zALUk3OVCuO8+M9UapUq5FAy5unRsXf8vwWij5JddlpSytqIK4k0oM7tIHys5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drWTC12SnzhR1 for ; Wed, 14 Jan 2026 03:15:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e065 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 03:15:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: a24166d23d2e - main - mtw(4): Fix warm reboot initialization failures for MT7601U List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a24166d23d2e93e787165064fac75215d4383c65 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 03:15:22 +0000 Message-Id: <69670a4a.e065.547d973@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=a24166d23d2e93e787165064fac75215d4383c65 commit a24166d23d2e93e787165064fac75215d4383c65 Author: Abdelkader Boudih AuthorDate: 2026-01-14 02:35:53 +0000 Commit: Adrian Chadd CommitDate: 2026-01-14 02:40:20 +0000 mtw(4): Fix warm reboot initialization failures for MT7601U The mtw(4) driver works correctly on initial boot, but fails to initialize the MT7601U WiFi adapter after a warm reboot. Users must either physically unplug and replug the USB adapter, or perform a full power cycle to restore functionality, if usb power is always powered (only a replug works) The root cause is that warm reboot does not power-cycle USB devices, leaving the MT7601U in a stale state from the previous session. The MCU retains its ready flag and the device ignores initialization commands, resulting in timeout waiting for MCU to initialize errors. At the OS Level, pinging 1.1.1.1 will work, but the speed will be very slow. In addition in debug mode, we see thousand of error logs. This patch addresses the issue by: * Performing USB re-enumeration on attach to reset the device state * Detecting when the MCU is already marked ready (stale from previous session) and forcing a reset of the MCU before loading firmware * Increasing the firmware load timeout from 3s to 10s to accommodate slower initialization after reset * Increasing MCU ready poll attempts from 100 to 300 with longer delays to handle devices that take longer to become ready after reset Note: The increase was random, lower value might work. Test Plan: Tested on MacBook Pro (late-2015) and a MacMini with MediaTek MT7601U USB adapter across multiple warm reboot cycles. With the mac-mini and a another desktop, the issue happens only if connected via an always powered usb hub port in the monitor. The laptop don't power cycle it power. Differential Revision: https://reviews.freebsd.org/D54659 Reviewed by: adrian --- sys/dev/usb/wlan/if_mtw.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c index 8384c0a2d9fc..9d256056f6b2 100644 --- a/sys/dev/usb/wlan/if_mtw.c +++ b/sys/dev/usb/wlan/if_mtw.c @@ -64,6 +64,7 @@ #include #include +#include #include "usbdevs.h" @@ -525,6 +526,15 @@ mtw_attach(device_t self) sc->sc_dev = self; sc->sc_sent = 0; + /* + * Reset the device to clear any stale state left over from + * a previous warm reboot. Some MT7601U devices fail otherwise. + */ + error = usbd_req_re_enumerate(uaa->device, NULL); + if (error != 0) + device_printf(self, "USB re-enumerate failed, continuing\n"); + DELAY(100000); /* 100ms settle time */ + mtx_init(&sc->sc_mtx, device_get_nameunit(sc->sc_dev), MTX_NETWORK_LOCK, MTX_DEF); @@ -585,7 +595,7 @@ mtw_attach(device_t self) sc->mac_rev = tmp & 0xffff; mtw_load_microcode(sc); - ret = msleep(&sc->fwloading, &sc->sc_mtx, 0, "fwload", 3 * hz); + ret = msleep(&sc->fwloading, &sc->sc_mtx, 0, "fwload", 10 * hz); if (ret == EWOULDBLOCK || sc->fwloading != 1) { device_printf(sc->sc_dev, "timeout waiting for MCU to initialize\n"); @@ -1105,11 +1115,22 @@ mtw_load_microcode(void *arg) // int ntries; int dlen, ilen; device_printf(sc->sc_dev, "version:0x%hx\n", sc->asic_ver); - /* is firmware already running? */ + /* + * Firmware may still be running from a previous warm reboot. + * Force a reset of the MCU to ensure a clean state. + */ mtw_read_cfg(sc, MTW_MCU_DMA_ADDR, &tmp); if (tmp == MTW_MCU_READY) { - return; + device_printf(sc->sc_dev, "MCU already running, resetting\n"); + mtw_write(sc, MTW_MCU_RESET_CTL, MTW_RESET); + DELAY(10000); + mtw_write(sc, MTW_MCU_RESET_CTL, 0); + DELAY(10000); + /* Clear ready flag */ + mtw_write_cfg(sc, MTW_MCU_DMA_ADDR, 0); + DELAY(1000); } + if (sc->asic_ver == 0x7612) { fwname = "mtw-mt7662u_rom_patch"; @@ -2856,7 +2877,7 @@ mtw_fw_callback(struct usb_xfer *xfer, usb_error_t error) } mtw_delay(sc, 10); - for (ntries = 0; ntries < 100; ntries++) { + for (ntries = 0; ntries < 300; ntries++) { if ((error = mtw_read_cfg(sc, MTW_MCU_DMA_ADDR, &tmp)) != 0) { device_printf(sc->sc_dev, @@ -2870,9 +2891,9 @@ mtw_fw_callback(struct usb_xfer *xfer, usb_error_t error) break; } - mtw_delay(sc, 10); + mtw_delay(sc, 30); } - if (ntries == 100) + if (ntries == 300) sc->fwloading = 0; wakeup(&sc->fwloading); return; From nobody Wed Jan 14 08:05:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwQ6TFMz6PKn3 for ; Wed, 14 Jan 2026 08:05:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwQ4QMvz3KDX for ; Wed, 14 Jan 2026 08:05:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377958; 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=AYbCDPJ2XrqQfFC7RM65uQAhToXagVKoQ6562u0OMaU=; b=whI+7j0KwEZDiKZV6wbJjeA0ZV4O2FMXq+KwySmi5EFF1/iUN9FXXeRr0EyIsFy52BF9az M5+Y/wZ9Y1YNZk2OXi1amBxQ35EuKKKOHdljREgK6K79TStjkTkQb+td81TOpI/oXx4qdK dCWeoTPHxu/RBS8ktY40rkyeWIO1ZAeAzzhd9RievF7NxmNoa/L4qz7xL22MWlHfZfs5VN y3qRNW6b7vAxq9qJv2eq4sd+AAZPo5Ciqwz01z0vJ1qIVGb1lfLay4QzAF0hVre3XOqUJz yCEhrV1mavTxVsqPyN27BZPf977cD9lnjYTDzTrFx0R/HJUOwMJmmnnGOS88nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377958; 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=AYbCDPJ2XrqQfFC7RM65uQAhToXagVKoQ6562u0OMaU=; b=bz9VQi9c2OtPkTridcHs4hOQ9DOfKe3eH1kIXp5gG3gOHFWX6ZMkRl0OYPVwMPXs2DLHU2 mzvBP1sTaTD72A8pJ4DmOsBuTihjRa6x3ldessc6IRWpnQdkqr1nrtImxVEzy8DIQTh2YE BjuDC+PGpEG5LRORX1V00YT3jZZUf+09OfaTDa/2W1HYjYj3zaHcs4/fMipJnLhrqtk9YT yrIlftCsO4U+AVpZAwnnPhT4YzWUy7MvOGw8ccVULXEggDReUIQi8+r85wuX1OPI2VcBRd r2BJnQk3jBDUlmhx6Q4xdMzNgomVM/xqLQImzRAQ6aQKG3JhNEcpTCp8JjMl3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377958; a=rsa-sha256; cv=none; b=TPSlXG4KRoEP7kD1FRg/xomrkRel1v2TUX9dMfMMcDFvi8C+B54FDRJvucKwbXdlAUvive ocWBaAqqgRCFiPLV+KTzhm2AZyljBtsid59MOnKYluooW4SB3VmEc3wt0mT3xqw/u+Y77l StNhVyo8XASWyxW2v/6rNtYCQKUsQOLv20PSpap9SRTLLejAgU7kUNnT45SrCV2eQ751xG PpaVly/2CENCU5o7OZSH+372XI7r8rD8bdCYdDcAihLmYTfrnrEdO+a2HeLUEOyktrjbst aBk6RNGLlSsB9IdjMdmaFEB5EnVAiax0xkH7de7C4MOCqkF92/NWlGN0jOQTLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwQ3w2czqbM for ; Wed, 14 Jan 2026 08:05:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a7db by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:05:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 461648121230 - main - pf: introduce source and state limiters List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4616481212302b5d875cfc7a00766af017318f7f Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:05:58 +0000 Message-Id: <69674e66.a7db.1a6f8d62@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4616481212302b5d875cfc7a00766af017318f7f commit 4616481212302b5d875cfc7a00766af017318f7f Author: Kristof Provost AuthorDate: 2025-12-30 19:06:48 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:38 +0000 pf: introduce source and state limiters both source and state limiters can provide constraints on the number of states that a set of rules can create, and optionally the rate at which they are created. state limiters have a single limit, but source limiters apply limits against a source address (or network). the source address entries are dynamically created and destroyed, and are also limited. this started out because i was struggling to understand the source and state tracking options in pf.conf, and looking at the code made it worse. it looked like some functionality was missing, and the code also did some things that surprised me. taking a step back from it, even it if did work, what is described doesn't work well outside very simple environments. the functionality i'm talking about is most of the stuff in the Stateful Tracking Options section of pf.conf(4). some of the problems are illustrated one of the simplest options: the "max number" option that limits the number of states that a rule is allowed to create: - wiring limits up to rules is a problem because when you load a new ruleset the limit is reset, allowing more states to be created than you intended. - a single "rule" in pf.conf can expand to multiple rules in the kernel thanks to things like macro expansion for multiple ports. "max 1000" on a line in pf.conf could end up being many times that in effect. - when a state limit on a rule is reached, the packet is dropped. this makes it difficult to do other things with the packet, such a redirect it to a tarpit or another server that replies with an outage notices or such. a state limiter solves these problems. the example from the pf.conf.5 change demonstrates this: An example use case for a state limiter is to restrict the number of connections allowed to a service that is accessible via multiple protocols, e.g. a DNS server that can be accessed by both TCP and UDP on port 53, DNS-over-TLS on TCP port 853, and DNS-over-HTTPS on TCP port 443 can be limited to 1000 concurrent connections: state limiter "dns-server" id 1 limit 1000 pass in proto { tcp udp } to port domain state limiter "dns-server" pass in proto tcp to port { 853 443 } state limiter "dns-server" a single limit across all these protocols can't be implemented with per rule state limits, and any limits that were applied are reset if the ruleset is reloaded. the existing source-track implementation appears to be incomplete, i could only see code for "source-track global", but not "source-track rule". source-track global is too heavy and unweildy a hammer, and source-track rule would suffer the same issues around rule lifetimes and expansions that the "max number" state tracking config above has. a slightly expanded example from the pf.conf.5 change for source limiters: An example use for a source limiter is the mitigation of denial of service caused by the exhaustion of firewall resources by network or port scans from outside the network. The states created by any one scanner from any one source address can be limited to avoid impacting other sources. Below, up to 10000 IPv4 hosts and IPv6 /64 networks from the external network are each limited to a maximum of 1000 connections, and are rate limited to creating 100 states over a 10 second interval: source limiter "internet" id 1 entries 10000 \ limit 1000 rate 100/10 \ inet6 mask 64 block in on egress pass in quick on egress source limiter "internet" pass in on egress proto tcp probability 20% rdr-to $tarpit the extra bit is if the source limiter doesn't have "space" for the state, the rule doesn't match and you can fall through to tarpitting 20% of the tcp connections for fun. i've been using this in anger in production for over 3 years now. sashan@ has been poking me along (slowly) to get it in a good enough shape for the tree for a long time. it's been one of those years. bluhm@ says this doesnt break the regress tests. ok sashan@ Obtained from: OpenBSD, dlg , 8463cae72e Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 5 + lib/libpfctl/libpfctl.h | 2 + sbin/pfctl/parse.y | 497 ++++++++++++++++++++++++- sbin/pfctl/pfctl.8 | 22 +- sbin/pfctl/pfctl.c | 780 ++++++++++++++++++++++++++++++++++----- sbin/pfctl/pfctl_parser.c | 55 +++ sbin/pfctl/pfctl_parser.h | 33 ++ share/man/man5/pf.conf.5 | 160 +++++++- sys/net/pfvar.h | 414 ++++++++++++++++++++- sys/netpfil/pf/pf.c | 647 ++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_ioctl.c | 922 ++++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_nl.c | 4 + sys/netpfil/pf/pf_nl.h | 2 + sys/netpfil/pf/pf_table.c | 20 + 14 files changed, 3458 insertions(+), 105 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index f8c92a5cd319..c3fdaf70ad0d 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1313,6 +1313,9 @@ snl_add_msg_attr_pf_rule(struct snl_writer *nw, uint32_t type, const struct pfct snl_add_msg_attr_ip6(nw, PF_RT_DIVERT_ADDRESS, &r->divert.addr.v6); snl_add_msg_attr_u16(nw, PF_RT_DIVERT_PORT, r->divert.port); + snl_add_msg_attr_u8(nw, PF_RT_STATE_LIMIT, r->statelim); + snl_add_msg_attr_u8(nw, PF_RT_SOURCE_LIMIT, r->sourcelim); + snl_end_attr_nested(nw, off); } @@ -1704,6 +1707,8 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_TYPE_2, .off = _OUT(r.type), .cb = snl_attr_get_uint16 }, { .type = PF_RT_CODE_2, .off = _OUT(r.code), .cb = snl_attr_get_uint16 }, { .type = PF_RT_EXPTIME, .off = _OUT(r.exptime), .cb = snl_attr_get_time_t }, + { .type = PF_RT_STATE_LIMIT, .off = _OUT(r.statelim), .cb = snl_attr_get_uint8 }, + { .type = PF_RT_SOURCE_LIMIT, .off = _OUT(r.sourcelim), .cb = snl_attr_get_uint8 }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index b885497ab0e8..785ac2bc7fd7 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -249,6 +249,8 @@ struct pfctl_rule { struct pf_rule_gid gid; char rcv_ifname[IFNAMSIZ]; bool rcvifnot; + uint8_t statelim; + uint8_t sourcelim; uint32_t rule_flag; uint8_t action; diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 127e2c257d69..ded74a6391f1 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -72,6 +72,8 @@ #include "pfctl_parser.h" #include "pfctl.h" +#define ISSET(_v, _m) ((_v) & (_m)) + static struct pfctl *pf = NULL; static int debug = 0; static int rulestate = 0; @@ -178,7 +180,8 @@ enum { PF_STATE_OPT_MAX, PF_STATE_OPT_NOSYNC, PF_STATE_OPT_SRCTRACK, PF_STATE_OPT_MAX_SRC_CONN_RATE, PF_STATE_OPT_MAX_SRC_NODES, PF_STATE_OPT_OVERLOAD, PF_STATE_OPT_STATELOCK, PF_STATE_OPT_TIMEOUT, PF_STATE_OPT_SLOPPY, - PF_STATE_OPT_PFLOW, PF_STATE_OPT_ALLOW_RELATED }; + PF_STATE_OPT_PFLOW, PF_STATE_OPT_ALLOW_RELATED, + PF_STATE_OPT_STATELIM, PF_STATE_OPT_SOURCELIM }; enum { PF_SRCTRACK_NONE, PF_SRCTRACK, PF_SRCTRACK_GLOBAL, PF_SRCTRACK_RULE }; @@ -284,6 +287,8 @@ static struct filter_opts { u_int32_t tos; u_int32_t prob; u_int32_t ridentifier; + u_int32_t statelim; + u_int32_t sourcelim; struct { int action; struct node_state_opt *options; @@ -362,6 +367,51 @@ static struct table_opts { struct node_tinithead init_nodes; } table_opts; +struct statelim_opts { + unsigned int marker; +#define STATELIM_M_ID 0x01 +#define STATELIM_M_LIMIT 0x02 +#define STATELIM_M_RATE 0x04 + + uint32_t id; + char name[PF_STATELIM_NAME_LEN]; + unsigned int limit; + struct { + unsigned int limit; + unsigned int seconds; + } rate; +}; + +static struct statelim_opts statelim_opts; + +struct sourcelim_opts { + unsigned int marker; +#define SOURCELIM_M_ID 0x01 +#define SOURCELIM_M_ENTRIES 0x02 +#define SOURCELIM_M_LIMIT 0x04 +#define SOURCELIM_M_RATE 0x08 +#define SOURCELIM_M_TABLE 0x10 +#define SOURCELIM_M_INET_MASK 0x20 +#define SOURCELIM_M_INET6_MASK 0x40 + + uint32_t id; + unsigned int entries; + unsigned int limit; + struct { + unsigned int limit; + unsigned int seconds; + } rate; + struct { + char name[PF_TABLE_NAME_SIZE]; + unsigned int above; + unsigned int below; + } table; + unsigned int inet_mask; + unsigned int inet6_mask; +}; + +static struct sourcelim_opts sourcelim_opts; + static struct codel_opts codel_opts; static struct node_hfsc_opts hfsc_opts; static struct node_fairq_opts fairq_opts; @@ -513,6 +563,8 @@ typedef struct { struct node_hfsc_opts hfsc_opts; struct node_fairq_opts fairq_opts; struct codel_opts codel_opts; + struct statelim_opts *statelim_opts; + struct sourcelim_opts *sourcelim_opts; struct pfctl_watermarks *watermarks; } v; int lineno; @@ -548,12 +600,13 @@ int parseport(char *, struct range *r, int); %token TAGGED TAG IFBOUND FLOATING STATEPOLICY STATEDEFAULTS ROUTE SETTOS %token DIVERTTO DIVERTREPLY BRIDGE_TO RECEIVEDON NE LE GE AFTO NATTO RDRTO %token BINATTO MAXPKTRATE MAXPKTSIZE IPV6NH +%token LIMITER ID RATE SOURCE ENTRIES ABOVE BELOW MASK %token STRING %token NUMBER %token PORTBINARY %type interface if_list if_item_not if_item %type number icmptype icmp6type uid gid -%type tos not yesno optnodf +%type tos not yesno optnodf sourcelim_opt_below %type probability %type no dir af fragcache optimizer syncookie_val %type sourcetrack flush unaryop statelock @@ -610,12 +663,19 @@ int parseport(char *, struct range *r, int); %type etherfrom etherto %type bridge %type xmac mac mac_list macspec +%type statelim_nm sourcelim_nm +%type statelim_id sourcelim_id +%type statelim_filter_opt sourcelim_filter_opt +%type statelim_opts +%type sourcelim_opts %% ruleset : /* empty */ | ruleset include '\n' | ruleset '\n' | ruleset option '\n' + | ruleset statelim '\n' + | ruleset sourcelim '\n' | ruleset etherrule '\n' | ruleset etheranchorrule '\n' | ruleset scrubrule '\n' @@ -2322,6 +2382,401 @@ qassign_item : STRING { } ; +statelim : statelim_nm statelim_opts { + struct pfctl_statelim *stlim; + size_t len; + + if (!ISSET($2->marker, STATELIM_M_ID)) { + yyerror("id not specified"); + free($1); + YYERROR; + } + if (!ISSET($2->marker, STATELIM_M_LIMIT)) { + yyerror("limit not specified"); + free($1); + YYERROR; + } + + stlim = calloc(1, sizeof(*stlim)); + if (stlim == NULL) + err(1, "state limiter: malloc"); + + len = strlcpy(stlim->ioc.name, $1, + sizeof(stlim->ioc.name)); + free($1); + if (len >= sizeof(stlim->ioc.name)) { + /* abort? */ + YYERROR; + } + + stlim->ioc.id = $2->id; + stlim->ioc.limit = $2->limit; + stlim->ioc.rate.limit = $2->rate.limit; + stlim->ioc.rate.seconds = $2->rate.seconds; + + if (pfctl_add_statelim(pf, stlim) != 0) { + yyerror("state limiter %s id %u" + " already exists", + stlim->ioc.name, stlim->ioc.id); + free(stlim); + YYERROR; + } + } + ; + +statelim_nm : STATE LIMITER string { + size_t len = strlen($3); + if (len < 1) { + yyerror("state limiter name is too short"); + free($3); + YYERROR; + } + if (len >= PF_STATELIM_NAME_LEN) { + yyerror("state limiter name is too long"); + free($3); + YYERROR; + } + $$ = $3; + } + ; + +statelim_id : ID NUMBER { + if ($2 < PF_STATELIM_ID_MIN || + $2 > PF_STATELIM_ID_MAX) { + yyerror("state limiter id %lld: " + "invalid identifier", $2); + YYERROR; + } + + $$ = $2; + } + ; + +statelim_opts : /* empty */ { + yyerror("state limiter missing options"); + YYERROR; + } + | { + memset(&statelim_opts, 0, sizeof(statelim_opts)); + } statelim_opts_l { + $$ = &statelim_opts; + } + ; + +statelim_opts_l : statelim_opts_l statelim_opt + | statelim_opt + ; + +statelim_opt : statelim_id { + if (ISSET(statelim_opts.marker, STATELIM_M_ID)) { + yyerror("id cannot be respecified"); + YYERROR; + } + + statelim_opts.id = $1; + + statelim_opts.marker |= STATELIM_M_ID; + } + | LIMIT NUMBER { + if (ISSET(statelim_opts.marker, STATELIM_M_LIMIT)) { + yyerror("limit cannot be respecified"); + YYERROR; + } + + if ($2 < PF_STATELIM_LIMIT_MIN || + $2 > PF_STATELIM_LIMIT_MAX) { + yyerror("invalid state limiter limit"); + YYERROR; + } + + statelim_opts.limit = $2; + + statelim_opts.marker |= STATELIM_M_LIMIT; + } + | RATE NUMBER '/' NUMBER { + if (ISSET(statelim_opts.marker, STATELIM_M_RATE)) { + yyerror("rate cannot be respecified"); + YYERROR; + } + if ($2 < 1) { + yyerror("invalid rate limit %lld", $2); + YYERROR; + } + if ($4 < 1) { + yyerror("invalid rate seconds %lld", $4); + YYERROR; + } + + statelim_opts.rate.limit = $2; + statelim_opts.rate.seconds = $4; + + statelim_opts.marker |= STATELIM_M_RATE; + } + ; + +statelim_filter_opt + : statelim_nm { + struct pfctl_statelim *stlim; + + stlim = pfctl_get_statelim_nm(pf, $1); + free($1); + if (stlim == NULL) { + yyerror("state limiter not found"); + YYERROR; + } + + $$ = stlim->ioc.id; + } + | STATE LIMITER statelim_id { + $$ = $3; + } + ; + +sourcelim : sourcelim_nm sourcelim_opts { + struct pfctl_sourcelim *srlim; + size_t len; + + if (!ISSET($2->marker, SOURCELIM_M_ID)) { + yyerror("id not specified"); + free($1); + YYERROR; + } + if (!ISSET($2->marker, SOURCELIM_M_ENTRIES)) { + yyerror("entries not specified"); + free($1); + YYERROR; + } + if (!ISSET($2->marker, SOURCELIM_M_LIMIT)) { + yyerror("state limit not specified"); + free($1); + YYERROR; + } + + srlim = calloc(1, sizeof(*srlim)); + if (srlim == NULL) + err(1, "source limiter: malloc"); + + len = strlcpy(srlim->ioc.name, $1, + sizeof(srlim->ioc.name)); + free($1); + if (len >= sizeof(srlim->ioc.name)) { + /* abort? */ + YYERROR; + } + + srlim->ioc.id = $2->id; + srlim->ioc.entries = $2->entries; + srlim->ioc.limit = $2->limit; + srlim->ioc.rate.limit = $2->rate.limit; + srlim->ioc.rate.seconds = $2->rate.seconds; + + if (ISSET($2->marker, SOURCELIM_M_TABLE)) { + if (strlcpy(srlim->ioc.overload_tblname, + $2->table.name, + sizeof(srlim->ioc.overload_tblname)) >= + sizeof(srlim->ioc.overload_tblname)) { + abort(); + } + srlim->ioc.overload_hwm = $2->table.above; + srlim->ioc.overload_lwm = $2->table.below; + } + + srlim->ioc.inet_prefix = $2->inet_mask; + srlim->ioc.inet6_prefix = $2->inet6_mask; + + if (pfctl_add_sourcelim(pf, srlim) != 0) { + yyerror("source limiter %s id %u" + " already exists", + srlim->ioc.name, srlim->ioc.id); + free(srlim); + YYERROR; + } + } + ; + +sourcelim_nm : SOURCE LIMITER string { + size_t len = strlen($3); + if (len < 1) { + yyerror("source limiter name is too short"); + free($3); + YYERROR; + } + if (len >= PF_SOURCELIM_NAME_LEN) { + yyerror("source limiter name is too long"); + free($3); + YYERROR; + } + $$ = $3; + } + ; + +sourcelim_id : ID NUMBER { + if ($2 < PF_SOURCELIM_ID_MIN || + $2 > PF_SOURCELIM_ID_MAX) { + yyerror("source limiter id %lld: " + "invalid identifier", $2); + YYERROR; + } + + $$ = $2; + } + ; + +sourcelim_opts : /* empty */ { + yyerror("source limiter missing options"); + YYERROR; + } + | { + memset(&sourcelim_opts, 0, sizeof(sourcelim_opts)); + sourcelim_opts.inet_mask = 32; + sourcelim_opts.inet6_mask = 128; + } sourcelim_opts_l { + $$ = &sourcelim_opts; + } + ; + +sourcelim_opts_l : sourcelim_opts_l sourcelim_opt + | sourcelim_opt + ; + +sourcelim_opt : sourcelim_id { + if (ISSET(sourcelim_opts.marker, SOURCELIM_M_ID)) { + yyerror("entries cannot be respecified"); + YYERROR; + } + + sourcelim_opts.id = $1; + + sourcelim_opts.marker |= SOURCELIM_M_ID; + } + | ENTRIES NUMBER { + if (ISSET(sourcelim_opts.marker, SOURCELIM_M_ENTRIES)) { + yyerror("entries cannot be respecified"); + YYERROR; + } + + sourcelim_opts.entries = $2; + + sourcelim_opts.marker |= SOURCELIM_M_ENTRIES; + } + | LIMIT NUMBER { + if (ISSET(sourcelim_opts.marker, SOURCELIM_M_LIMIT)) { + yyerror("state limit cannot be respecified"); + YYERROR; + } + + sourcelim_opts.limit = $2; + + sourcelim_opts.marker |= SOURCELIM_M_LIMIT; + } + | RATE NUMBER '/' NUMBER { + if (ISSET(sourcelim_opts.marker, SOURCELIM_M_RATE)) { + yyerror("rate cannot be respecified"); + YYERROR; + } + + sourcelim_opts.rate.limit = $2; + sourcelim_opts.rate.seconds = $4; + + sourcelim_opts.marker |= SOURCELIM_M_RATE; + } + | TABLE '<' STRING '>' ABOVE NUMBER sourcelim_opt_below { + size_t stringlen; + + if (ISSET(sourcelim_opts.marker, SOURCELIM_M_TABLE)) { + free($3); + yyerror("rate cannot be respecified"); + YYERROR; + } + + stringlen = strlcpy(sourcelim_opts.table.name, + $3, sizeof(sourcelim_opts.table.name)); + free($3); + if (stringlen == 0 || + stringlen >= PF_TABLE_NAME_SIZE) { + yyerror("invalid table name"); + YYERROR; + } + + if ($6 < 0) { + yyerror("above limit is invalid"); + YYERROR; + } + if ($7 > $6) { + yyerror("below limit higher than above limit"); + YYERROR; + } + + sourcelim_opts.table.above = $6; + sourcelim_opts.table.below = $7; + + sourcelim_opts.marker |= SOURCELIM_M_TABLE; + } + | INET MASK NUMBER { + if (ISSET(sourcelim_opts.marker, + SOURCELIM_M_INET_MASK)) { + yyerror("inet mask cannot be respecified"); + YYERROR; + } + + if ($3 < 1 || $3 > 32) { + yyerror("inet mask length out of range"); + YYERROR; + } + + sourcelim_opts.inet_mask = $3; + + sourcelim_opts.marker |= SOURCELIM_M_INET_MASK; + } + | INET6 MASK NUMBER { + if (ISSET(sourcelim_opts.marker, + SOURCELIM_M_INET6_MASK)) { + yyerror("inet6 mask cannot be respecified"); + YYERROR; + } + + if ($3 < 1 || $3 > 128) { + yyerror("inet6 mask length out of range"); + YYERROR; + } + + sourcelim_opts.inet6_mask = $3; + + sourcelim_opts.marker |= SOURCELIM_M_INET6_MASK; + } + ; + +sourcelim_opt_below + : /* empty */ { + $$ = 0; + } + | BELOW NUMBER { + if ($2 < 1) { + yyerror("below limit is invalid"); + YYERROR; + } + $$ = $2; + } + ; + +sourcelim_filter_opt + : sourcelim_nm { + struct pfctl_sourcelim *srlim; + + srlim = pfctl_get_sourcelim_nm(pf, $1); + free($1); + if (srlim == NULL) { + yyerror("source limiter not found"); + YYERROR; + } + + $$ = srlim->ioc.id; + } + | SOURCE LIMITER sourcelim_id { + $$ = $3; + } + ; + pfrule : action dir logquick interface route af proto fromto filter_opts { @@ -2562,6 +3017,7 @@ pfrule : action dir logquick interface route af proto fromto } r.timeout[o->data.timeout.number] = o->data.timeout.seconds; + break; } o = o->next; if (!defaults) @@ -2713,12 +3169,16 @@ pfrule : action dir logquick interface route af proto fromto filter_opts : { bzero(&filter_opts, sizeof filter_opts); + filter_opts.statelim = PF_STATELIM_ID_NONE; + filter_opts.sourcelim = PF_SOURCELIM_ID_NONE; filter_opts.rtableid = -1; } filter_opts_l { $$ = filter_opts; } | /* empty */ { bzero(&filter_opts, sizeof filter_opts); + filter_opts.statelim = PF_STATELIM_ID_NONE; + filter_opts.sourcelim = PF_SOURCELIM_ID_NONE; filter_opts.rtableid = -1; $$ = filter_opts; } @@ -2862,6 +3322,20 @@ filter_opt : USER uids { if (filter_opts.prob == 0) filter_opts.prob = 1; } + | statelim_filter_opt { + if (filter_opts.statelim != PF_STATELIM_ID_NONE) { + yyerror("state limiter already specified"); + YYERROR; + } + filter_opts.statelim = $1; + } + | sourcelim_filter_opt { + if (filter_opts.sourcelim != PF_SOURCELIM_ID_NONE) { + yyerror("source limiter already specified"); + YYERROR; + } + filter_opts.sourcelim = $1; + } | RTABLE NUMBER { if ($2 < 0 || $2 > rt_tableid_max()) { yyerror("invalid rtable id"); @@ -6615,6 +7089,7 @@ lookup(char *s) { /* this has to be sorted always */ static const struct keywords keywords[] = { + { "above", ABOVE}, { "af-to", AFTO}, { "all", ALL}, { "allow-opts", ALLOWOPTS}, @@ -6624,6 +7099,7 @@ lookup(char *s) { "antispoof", ANTISPOOF}, { "any", ANY}, { "bandwidth", BANDWIDTH}, + { "below", BELOW}, { "binat", BINAT}, { "binat-anchor", BINATANCHOR}, { "binat-to", BINATTO}, @@ -6643,6 +7119,7 @@ lookup(char *s) { "drop", DROP}, { "dup-to", DUPTO}, { "endpoint-independent", ENDPI}, + { "entries", ENTRIES}, { "ether", ETHER}, { "fail-policy", FAILPOLICY}, { "fairq", FAIRQ}, @@ -6662,6 +7139,7 @@ lookup(char *s) { "hostid", HOSTID}, { "icmp-type", ICMPTYPE}, { "icmp6-type", ICMP6TYPE}, + { "id", ID}, { "if-bound", IFBOUND}, { "in", IN}, { "include", INCLUDE}, @@ -6673,11 +7151,13 @@ lookup(char *s) { "l3", L3}, { "label", LABEL}, { "limit", LIMIT}, + { "limiter", LIMITER}, { "linkshare", LINKSHARE}, { "load", LOAD}, { "log", LOG}, { "loginterface", LOGINTERFACE}, { "map-e-portset", MAPEPORTSET}, + { "mask", MASK}, { "match", MATCH}, { "matches", MATCHES}, { "max", MAXIMUM}, @@ -6717,6 +7197,7 @@ lookup(char *s) { "quick", QUICK}, { "random", RANDOM}, { "random-id", RANDOMID}, + { "rate", RATE}, { "rdr", RDR}, { "rdr-anchor", RDRANCHOR}, { "rdr-to", RDRTO}, @@ -6741,6 +7222,7 @@ lookup(char *s) { "set-tos", SETTOS}, { "skip", SKIP}, { "sloppy", SLOPPY}, + { "source", SOURCE}, { "source-hash", SOURCEHASH}, { "source-track", SOURCETRACK}, { "state", STATE}, @@ -7720,10 +8202,21 @@ filteropts_to_rule(struct pfctl_rule *r, struct filter_opts *opts) r->rule_flag |= PFRULE_ONCE; } + if (opts->statelim != PF_STATELIM_ID_NONE && r->action != PF_PASS) { + yyerror("state limiter only applies to pass rules"); + return (1); + } + if (opts->sourcelim != PF_SOURCELIM_ID_NONE && r->action != PF_PASS) { + yyerror("source limiter only applies to pass rules"); + return (1); + } + r->keep_state = opts->keep.action; r->pktrate.limit = opts->pktrate.limit; r->pktrate.seconds = opts->pktrate.seconds; r->prob = opts->prob; + r->statelim = opts->statelim; + r->sourcelim = opts->sourcelim; r->rtableid = opts->rtableid; r->ridentifier = opts->ridentifier; r->max_pkt_size = opts->max_pkt_size; diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index 58de54cdf923..d3c8b1273b79 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -24,7 +24,7 @@ .\" (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 August 28, 2025 +.Dd December 30, 2025 .Dt PFCTL 8 .Os .Sh NAME @@ -524,6 +524,26 @@ When used together with interface statistics are also shown. .Fl i can be used to select an interface or a group of interfaces. +.It Cm Stlimiter +Show information about state limiters. +If +.Fl R Ar id +is specified as well, +only the state limiter identified by +.Ar id +is shown. +.It Cm Srclimiter +Show information about source limiters. +If +.Fl R Ar id +is specified as well, +only the state limiter identified by +.Ar id +is shown. +If +.Fl v +is specified, +the address entries for the source pools are shown too. .It Cm all Show all of the above, except for the lists of interfaces and operating system fingerprints. diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index da27afb0a179..04deccf7e890 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -60,11 +60,14 @@ #include #include #include +#include #include #include "pfctl_parser.h" #include "pfctl.h" +struct pfctl_opt_id; + void usage(void); int pfctl_enable(int, int); int pfctl_disable(int, int); @@ -87,6 +90,7 @@ void pfctl_gateway_kill_states(int, const char *, int); void pfctl_label_kill_states(int, const char *, int); void pfctl_id_kill_states(int, const char *, int); void pfctl_key_kill_states(int, const char *, int); +void pfctl_kill_source(int, const char *, const char *, int); int pfctl_parse_host(char *, struct pf_rule_addr *); void pfctl_init_options(struct pfctl *); int pfctl_load_options(struct pfctl *); @@ -101,6 +105,8 @@ int pfctl_get_pool(int, struct pfctl_pool *, u_int32_t, u_int32_t, int, const char *, int); void pfctl_print_eth_rule_counters(struct pfctl_eth_rule *, int); void pfctl_print_rule_counters(struct pfctl_rule *, int); +int pfctl_show_statelims(int, enum pfctl_show); +int pfctl_show_sourcelims(int, enum pfctl_show, int, const char *); int pfctl_show_eth_rules(int, char *, int, enum pfctl_show, char *, int, int); int pfctl_show_rules(int, char *, int, enum pfctl_show, char *, int, int); int pfctl_show_nat(int, const char *, int, char *, int, int); @@ -117,6 +123,10 @@ int pfctl_test_altqsupport(int, int); int pfctl_show_anchors(int, int, char *); int pfctl_show_eth_anchors(int, int, char *); int pfctl_ruleset_trans(struct pfctl *, char *, struct pfctl_anchor *, bool); +void pfctl_load_statelims(struct pfctl *); +void pfctl_load_statelim(struct pfctl *, struct pfctl_statelim *); +void pfctl_load_sourcelims(struct pfctl *); +void pfctl_load_sourcelim(struct pfctl *, struct pfctl_sourcelim *); int pfctl_eth_ruleset_trans(struct pfctl *, char *, struct pfctl_eth_anchor *); int pfctl_load_eth_ruleset(struct pfctl *, char *, @@ -127,6 +137,7 @@ int pfctl_load_ruleset(struct pfctl *, char *, struct pfctl_ruleset *, int, int); int pfctl_load_rule(struct pfctl *, char *, struct pfctl_rule *, int); const char *pfctl_lookup_option(char *, const char * const *); +int pfctl_lookup_id(const char *, const struct pfctl_opt_id *); void pfctl_reset(int, int); int pfctl_walk_show(int, struct pfioc_ruleset *, void *); int pfctl_walk_get(int, struct pfioc_ruleset *, void *); @@ -141,6 +152,38 @@ int pfctl_call_cleartables(int, int, struct pfr_anchoritem *); int pfctl_call_clearanchors(int, int, struct pfr_anchoritem *); int pfctl_call_showtables(int, int, struct pfr_anchoritem *); +RB_PROTOTYPE(pfctl_statelim_ids, pfctl_statelim, entry, + pfctl_statelim_id_cmp); +RB_PROTOTYPE(pfctl_statelim_nms, pfctl_statelim, entry, + pfctl_statelim_nm_cmp); +RB_PROTOTYPE(pfctl_sourcelim_ids, pfctl_sourcelim, entry, + pfctl_sourcelim_id_cmp); +RB_PROTOTYPE(pfctl_sourcelim_nms, pfctl_sourcelim, entry, + pfctl_sourcelim_nm_cmp); + +enum showopt_id { + SHOWOPT_NONE = 0, + SHOWOPT_ETHER, + SHOWOPT_NAT, + SHOWOPT_QUEUE, + SHOWOPT_RULES, + SHOWOPT_ANCHORS, + SHOWOPT_SOURCES, + SHOWOPT_STATES, + SHOWOPT_INFO, + SHOWOPT_IFACES, + SHOWOPT_LABELS, + SHOWOPT_TIMEOUTS, + SHOWOPT_MEMORY, + SHOWOPT_TABLES, + SHOWOPT_OSFP, + SHOWOPT_RUNNING, + SHOWOPT_STATELIMS, + SHOWOPT_SOURCELIMS, + SHOWOPT_CREATORIDS, + SHOWOPT_ALL, +}; + static struct pfctl_anchor_global pf_anchors; struct pfctl_anchor pf_main_anchor; struct pfctl_eth_anchor pf_eth_main_anchor; @@ -148,7 +191,7 @@ static struct pfr_buffer skip_b; static const char *clearopt; static char *rulesopt; -static const char *showopt; +static int showopt; static const char *debugopt; static char *anchoropt; static const char *optiopt = NULL; @@ -256,10 +299,33 @@ static const char * const clearopt_list[] = { "ethernet", "Reset", NULL }; -static const char * const showopt_list[] = { - "ether", "nat", "queue", "rules", "Anchors", "Sources", "states", - "info", "Interfaces", "labels", "timeouts", "memory", "Tables", - "osfp", "Running", "all", "creatorids", NULL +struct pfctl_opt_id { + const char *name; + int id; +}; + +static const struct pfctl_opt_id showopt_list[] = { + { "ether", SHOWOPT_ETHER }, + { "nat", SHOWOPT_NAT }, + { "queue", SHOWOPT_QUEUE }, + { "rules", SHOWOPT_RULES }, + { "Anchors", SHOWOPT_ANCHORS }, + { "Sources", SHOWOPT_SOURCES }, + { "states", SHOWOPT_STATES }, + { "info", SHOWOPT_INFO }, + { "Interfaces", SHOWOPT_IFACES }, + { "labels", SHOWOPT_LABELS }, + { "timeouts", SHOWOPT_TIMEOUTS }, + { "memory", SHOWOPT_MEMORY }, + { "Tables", SHOWOPT_TABLES }, + { "osfp", SHOWOPT_OSFP }, + { "Running", SHOWOPT_RUNNING }, + { "Stlimiters", SHOWOPT_STATELIMS }, *** 3470 LINES SKIPPED *** From nobody Wed Jan 14 08:05:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwR6qfBz6PKss for ; Wed, 14 Jan 2026 08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwR59c3z3KDY for ; Wed, 14 Jan 2026 08: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=1768377959; 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=Ke/vBtOtuOmLuQlg/Aj0qxVIUi+SofYwhGSPXasH21I=; b=AIDX1m88rdZcGAKsewyRjwux2KWHaGBf9uWtM3eKQHFJPo7A5v5PI2jjYF1FMQZX/PHD1/ ErEkqKglV/nM8oUgdDJC8vnAQAPt3lzWziL9gwQTDhQnoQAxnJfKc54mJRSj68pEx2KeEz UinqhDFI6fBysF5Ix3sx7+BwUAbCVUGFTG59yIvJd4S1QkiO7iJQRlKqUvfjFP6aKs/bg5 Scp4LriMORJWYEZIhEq5vF3JignexU+7CTZirn2CiGokSqpgGhyPa523bqK7n27G6iA0u5 ftW92e8AD1rT2PWYEVPGPqhGfwUmTUm5ag1az7+uouCQxcC3e4FEWNBKxM9itg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377959; 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=Ke/vBtOtuOmLuQlg/Aj0qxVIUi+SofYwhGSPXasH21I=; b=b726aZyKtYoAA/R/SkV3HcWT5MJod1a+LO9QFMeAYz+0KYDuk4f/qFHG7kw8y9gQi4W0e1 SIfIM7F21eX5CQ4mC8Bn+dyzyY83+hbPosJUVi1vFCAzNaGEXdKXjFhSh10QQP9pLPym2l PyA39rSbvqWQuJVtiJax4jXn+mA4ApLqi64US4E8oVDNE16+mUrI3M51Jiq6pIDvN4X2kh cxS3sJvjloi55F35Jb2GO1hnMmjyHcX025tGHIOsXvFNEno+X741cmoFfyCCWYSlHKq5P8 zycjtleBU2TuzfYOdS2e1QjGFEn1WocCNAgJGW02fjUeq8USAxAOwQP7BhY1hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377959; a=rsa-sha256; cv=none; b=nmRCn1JBHQiZ7LpwvUxbrS8BGZYp9QDb5ppYLI9FdVLuIXq+SU8Lj5dQxyvWHX5FSAt4B6 OAysSA8TzLRue97pCGb57FymK/sYufJSIVf96vIyFr4TjiuY2Sb0ScNnqMq8vgCMoreTZG d53Mqd0o1Hp7GhZSRIWxx/8do6unikmdMVpmmORWQKgSidzBax13f3U89VLWH2B4nQvK9K 8ZBA/S4Up6mrxi/POPEPDwKy3oqsIWb3vkRSllJ39sKXctX6T7D6q3WdwiflgmKZJ3ywB8 KfKgHyrhV5W8UEmVR/OgSc1yE+YJmZ5OLO0QdO4+5qNuxtpMNSabFW0r+SYVlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwR4VGwzqmn for ; Wed, 14 Jan 2026 08:05:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c0c1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:05:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: c72fb110e47f - main - pf: convert state limiter interface to netlink List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c72fb110e47f5a52e64683a8759a11eb69b34bd3 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:05:59 +0000 Message-Id: <69674e67.c0c1.4e95e991@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c72fb110e47f5a52e64683a8759a11eb69b34bd3 commit c72fb110e47f5a52e64683a8759a11eb69b34bd3 Author: Kristof Provost AuthorDate: 2026-01-06 21:33:31 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:39 +0000 pf: convert state limiter interface to netlink This is a new feature with new ioctl calls, so we can safely remove them right now. Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 314 +++++++++++++++++++++++++++++++++++ lib/libpfctl/libpfctl.h | 99 +++++++++++ sbin/pfctl/pfctl.c | 189 +++++++++------------ sbin/pfctl/pfctl_parser.c | 4 +- sbin/pfctl/pfctl_parser.h | 8 +- sys/net/pfvar.h | 108 +++++------- sys/netpfil/pf/pf_ioctl.c | 163 ++----------------- sys/netpfil/pf/pf_nl.c | 407 ++++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_nl.h | 79 +++++++++ 9 files changed, 1035 insertions(+), 336 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index c3fdaf70ad0d..a5abe1cadd64 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -3915,3 +3915,317 @@ pfctl_clr_astats(struct pfctl_handle *h, const struct pfr_table *tbl, return (ret); } +static void +snl_add_msg_attr_limit_rate(struct snl_writer *nw, uint32_t type, + const struct pfctl_limit_rate *rate) +{ + int off; + + off = snl_add_msg_attr_nested(nw, type); + + snl_add_msg_attr_u32(nw, PF_LR_LIMIT, rate->limit); + snl_add_msg_attr_u32(nw, PF_LR_SECONDS, rate->seconds); + + snl_end_attr_nested(nw, off); +} + +#define _OUT(_field) offsetof(struct pfctl_limit_rate, _field) +static const struct snl_attr_parser ap_limit_rate[] = { + { .type = PF_LR_LIMIT, .off = _OUT(limit), .cb = snl_attr_get_uint32 }, + { .type = PF_LR_SECONDS, .off = _OUT(seconds), .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_ATTR_PARSER(limit_rate_parser, ap_limit_rate); +#undef _OUT + +#define _OUT(_field) offsetof(struct pfctl_state_lim, _field) +static struct snl_attr_parser ap_statelim[] = { + { .type = PF_SL_NAME, .off = _OUT(name), .arg_u32 = PF_STATELIM_NAME_LEN, .cb = snl_attr_copy_string }, + { .type = PF_SL_ID, .off = _OUT(id), .cb = snl_attr_get_uint32 }, + { .type = PF_SL_LIMIT, .off = _OUT(limit), .cb = snl_attr_get_uint32 }, + { .type = PF_SL_RATE, .off = _OUT(rate), .arg = &limit_rate_parser, .cb = snl_attr_get_nested }, + { .type = PF_SL_DESCR, .off = _OUT(description), .arg_u32 = PF_STATELIM_DESCR_LEN, .cb = snl_attr_copy_string }, + { .type = PF_SL_INUSE, .off = _OUT(inuse), .cb = snl_attr_get_uint32 }, + { .type = PF_SL_ADMITTED, .off = _OUT(admitted), .cb = snl_attr_get_uint64 }, + { .type = PF_SL_HARDLIMITED, .off = _OUT(hardlimited), .cb = snl_attr_get_uint64 }, + { .type = PF_SL_RATELIMITED, .off = _OUT(ratelimited), .cb = snl_attr_get_uint64 }, +}; +#undef _OUT +SNL_DECLARE_PARSER(statelim_parser, struct genlmsghdr, snl_f_p_empty, ap_statelim); + +int +pfctl_state_limiter_nget(struct pfctl_handle *h, struct pfctl_state_lim *lim) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_STATE_LIMITER_NGET); + + snl_add_msg_attr_u32(&nw, PF_SL_ID, lim->id); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + seq_id = hdr->nlmsg_seq; + + if (! snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (! snl_parse_nlmsg(&h->ss, hdr, &statelim_parser, lim)) + continue; + } + + return (e.error); +} + +int +pfctl_state_limiter_add(struct pfctl_handle *h, struct pfctl_state_lim *lim) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_STATE_LIMITER_ADD); + + snl_add_msg_attr_u32(&nw, PF_SL_ID, lim->id); + snl_add_msg_attr_u32(&nw, PF_SL_TICKET, lim->ticket); + snl_add_msg_attr_string(&nw, PF_SL_NAME, lim->name); + snl_add_msg_attr_u32(&nw, PF_SL_LIMIT, lim->limit); + snl_add_msg_attr_limit_rate(&nw, PF_SL_RATE, &lim->rate); + snl_add_msg_attr_string(&nw, PF_SL_DESCR, lim->description); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + seq_id = hdr->nlmsg_seq; + + if (! snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (! snl_parse_nlmsg(&h->ss, hdr, &statelim_parser, &lim)) + continue; + } + + return (e.error); +} + +#define _OUT(_field) offsetof(struct pfctl_source_lim, _field) +static struct snl_attr_parser ap_sourcelim[] = { + { .type = PF_SCL_NAME, .off = _OUT(name), .arg_u32 = PF_SOURCELIM_NAME_LEN, .cb = snl_attr_copy_string }, + { .type = PF_SCL_ID, .off = _OUT(id), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_ENTRIES, .off = _OUT(entries), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_LIMIT, .off = _OUT(limit), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_RATE, .off = _OUT(rate), .arg = &limit_rate_parser, .cb = snl_attr_get_nested }, + { .type = PF_SCL_OVERLOAD_TBL_NAME, .off = _OUT(overload_tblname), .arg_u32 = PF_TABLE_NAME_SIZE, .cb = snl_attr_copy_string }, + { .type = PF_SCL_OVERLOAD_HIGH_WM, .off = _OUT(overload_hwm), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_OVERLOAD_LOW_WM, .off = _OUT(overload_lwm), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_INET_PREFIX, .off = _OUT(inet_prefix), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_INET6_PREFIX, .off = _OUT(inet6_prefix), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_DESCR, .off = _OUT(description), .arg_u32 = PF_SOURCELIM_DESCR_LEN, .cb = snl_attr_copy_string }, + { .type = PF_SCL_NENTRIES, .off = _OUT(nentries), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_INUSE, .off = _OUT(inuse), .cb = snl_attr_get_uint32 }, + { .type = PF_SCL_ADDR_ALLOCS, .off = _OUT(addrallocs), .cb = snl_attr_get_uint64 }, + { .type = PF_SCL_ADDR_NOMEM, .off = _OUT(addrnomem), .cb = snl_attr_get_uint64 }, + { .type = PF_SCL_ADMITTED, .off = _OUT(admitted), .cb = snl_attr_get_uint64 }, + { .type = PF_SCL_ADDRLIMITED, .off = _OUT(addrlimited), .cb = snl_attr_get_uint64 }, + { .type = PF_SCL_HARDLIMITED, .off = _OUT(hardlimited), .cb = snl_attr_get_uint64 }, + { .type = PF_SCL_RATELIMITED, .off = _OUT(ratelimited), .cb = snl_attr_get_uint64 }, +}; +#undef _OUT +SNL_DECLARE_PARSER(sourcelim_parser, struct genlmsghdr, snl_f_p_empty, ap_sourcelim); + +int +pfctl_source_limiter_add(struct pfctl_handle *h, struct pfctl_source_lim *lim) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_SOURCE_LIMITER_ADD); + + snl_add_msg_attr_u32(&nw, PF_SCL_TICKET, lim->ticket); + snl_add_msg_attr_string(&nw, PF_SCL_NAME, lim->name); + snl_add_msg_attr_u32(&nw, PF_SCL_ID, lim->id); + snl_add_msg_attr_u32(&nw, PF_SCL_ENTRIES, lim->entries); + snl_add_msg_attr_u32(&nw, PF_SCL_LIMIT, lim->limit); + snl_add_msg_attr_limit_rate(&nw, PF_SCL_RATE, &lim->rate); + snl_add_msg_attr_string(&nw, PF_SCL_OVERLOAD_TBL_NAME, lim->overload_tblname); + snl_add_msg_attr_u32(&nw, PF_SCL_OVERLOAD_HIGH_WM, lim->overload_hwm); + snl_add_msg_attr_u32(&nw, PF_SCL_OVERLOAD_LOW_WM, lim->overload_lwm); + snl_add_msg_attr_u32(&nw, PF_SCL_INET_PREFIX, lim->inet_prefix); + snl_add_msg_attr_u32(&nw, PF_SCL_INET6_PREFIX, lim->inet6_prefix); + snl_add_msg_attr_string(&nw, PF_SCL_DESCR, lim->description); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + seq_id = hdr->nlmsg_seq; + + if (! snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (! snl_parse_nlmsg(&h->ss, hdr, &sourcelim_parser, &lim)) + continue; + } + + return (e.error); +} + +static int +_pfctl_source_limiter_get(struct pfctl_handle *h, int cmd, struct pfctl_source_lim *lim) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, cmd); + + snl_add_msg_attr_u32(&nw, PF_SCL_ID, lim->id); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + seq_id = hdr->nlmsg_seq; + + if (! snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (! snl_parse_nlmsg(&h->ss, hdr, &sourcelim_parser, lim)) + continue; + } + + return (e.error); +} + +int +pfctl_source_limiter_get(struct pfctl_handle *h, struct pfctl_source_lim *lim) +{ + return (_pfctl_source_limiter_get(h, PFNL_CMD_SOURCE_LIMITER_GET, lim)); +} + +int +pfctl_source_limiter_nget(struct pfctl_handle *h, struct pfctl_source_lim *lim) +{ + return (_pfctl_source_limiter_get(h, PFNL_CMD_SOURCE_LIMITER_NGET, lim)); +} + +#define _OUT(_field) offsetof(struct pfctl_source, _field) +static struct snl_attr_parser ap_source[] = { + { .type = PF_SRC_AF, .off = _OUT(af), .cb = snl_attr_get_uint8 }, + { .type = PF_SRC_RDOMAIN, .off = _OUT(rdomain), .cb = snl_attr_get_uint32 }, + { .type = PF_SRC_ADDR, .off = _OUT(addr), .cb = snl_attr_get_in6_addr }, + { .type = PF_SRC_INUSE, .off = _OUT(inuse), .cb = snl_attr_get_uint32 }, + { .type = PF_SRC_ADMITTED, .off = _OUT(admitted), .cb = snl_attr_get_uint64 }, + { .type = PF_SRC_HARDLIMITED, .off = _OUT(hardlimited), .cb = snl_attr_get_uint64 }, + { .type = PF_SRC_RATELIMITED, .off = _OUT(ratelimited), .cb = snl_attr_get_uint64 }, + { .type = PF_SRC_LIMIT, .off = _OUT(limit), .cb = snl_attr_get_uint32 }, + { .type = PF_SRC_INET_PREFIX, .off = _OUT(inet_prefix), .cb = snl_attr_get_uint32 }, + {. type = PF_SRC_INET6_PREFIX, .off = _OUT(inet6_prefix), .cb = snl_attr_get_uint32 }, +}; +#undef _OUT +SNL_DECLARE_PARSER(source_parser, struct genlmsghdr, snl_f_p_empty, ap_source); + +int +pfctl_source_get(struct pfctl_handle *h, int id, pfctl_get_source_fn fn, void *arg) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id, error; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_SOURCE_NGET); + + snl_add_msg_attr_u32(&nw, PF_SRC_ID, id); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + seq_id = hdr->nlmsg_seq; + + if (! snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + struct pfctl_source src; + + if (! snl_parse_nlmsg(&h->ss, hdr, &source_parser, &src)) + continue; + + error = fn(&src, arg); + if (error != 0) { + e.error = error; + break; + } + } + + return (e.error); +} + +int +pfctl_source_clear(struct pfctl_handle *h, struct pfctl_source_clear *kill) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_SOURCE_CLEAR); + + snl_add_msg_attr_string(&nw, PF_SC_NAME, kill->name); + snl_add_msg_attr_u32(&nw, PF_SC_ID, kill->id); + snl_add_msg_attr_u32(&nw, PF_SC_RDOMAIN, kill->rdomain); + snl_add_msg_attr_u8(&nw, PF_SC_AF, kill->af); + snl_add_msg_attr_ip6(&nw, PF_SC_ADDR, &kill->addr.v6); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + seq_id = hdr->nlmsg_seq; + + if (! snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + } + + return (e.error); +} + diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 785ac2bc7fd7..670688893a6a 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -592,4 +592,103 @@ int pfctl_get_astats(struct pfctl_handle *h, const struct pfr_table *tbl, int pfctl_clr_astats(struct pfctl_handle *h, const struct pfr_table *tbl, struct pfr_addr *addr, int size, int *nzero, int flags); +struct pfctl_limit_rate { + unsigned int limit; + unsigned int seconds; +}; + +struct pfctl_state_lim { + uint32_t ticket; + char name[PF_STATELIM_NAME_LEN]; + uint32_t id; + unsigned int limit; + + struct pfctl_limit_rate rate; + + char description[PF_STATELIM_DESCR_LEN]; + + unsigned int inuse; + uint64_t admitted; + uint64_t hardlimited; + uint64_t ratelimited; +}; + +int pfctl_state_limiter_nget(struct pfctl_handle *h, struct pfctl_state_lim *lim); +int pfctl_state_limiter_add(struct pfctl_handle *h, struct pfctl_state_lim *lim); + +struct pfctl_source_lim { + uint32_t ticket; + + char name[PF_SOURCELIM_NAME_LEN]; + uint32_t id; + + /* limit on the total number of address entries */ + unsigned int entries; + + /* limit on the number of states per address entry */ + unsigned int limit; + + /* rate limit on the creation of states by an address entry */ + struct pfctl_limit_rate rate; + + /* + * when the number of states on an entry exceeds hwm, add + * the address to the specified table. when the number of + * states goes below lwm, remove it from the table. + */ + char overload_tblname[PF_TABLE_NAME_SIZE]; + unsigned int overload_hwm; + unsigned int overload_lwm; + + /* + * mask addresses before they're used for entries. /64s + * everywhere for inet6 makes it easy to use too much memory. + */ + unsigned int inet_prefix; + unsigned int inet6_prefix; + + char description[PF_SOURCELIM_DESCR_LEN]; + + unsigned int nentries; + unsigned int inuse; + + uint64_t addrallocs; + uint64_t addrnomem; + uint64_t admitted; + uint64_t addrlimited; + uint64_t hardlimited; + uint64_t ratelimited; +}; + +int pfctl_source_limiter_get(struct pfctl_handle *h, struct pfctl_source_lim *lim); +int pfctl_source_limiter_nget(struct pfctl_handle *h, struct pfctl_source_lim *lim); +int pfctl_source_limiter_add(struct pfctl_handle *h, struct pfctl_source_lim *lim); + +struct pfctl_source { + sa_family_t af; + unsigned int rdomain; + struct pf_addr addr; + + unsigned int inet_prefix; + unsigned int inet6_prefix; + + unsigned int limit; + unsigned int inuse; + uint64_t admitted; + uint64_t hardlimited; + uint64_t ratelimited; +}; +typedef int (*pfctl_get_source_fn)(struct pfctl_source *, void *); +int pfctl_source_get(struct pfctl_handle *h, int id, + pfctl_get_source_fn fn, void *arg); + +struct pfctl_source_clear { + char name[PF_SOURCELIM_NAME_LEN]; + uint32_t id; + sa_family_t af; + unsigned int rdomain; + struct pf_addr addr; +}; +int pfctl_source_clear(struct pfctl_handle *h, struct pfctl_source_clear *); + #endif diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 04deccf7e890..256868a399d2 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -126,7 +126,7 @@ int pfctl_ruleset_trans(struct pfctl *, char *, struct pfctl_anchor *, bool); void pfctl_load_statelims(struct pfctl *); void pfctl_load_statelim(struct pfctl *, struct pfctl_statelim *); void pfctl_load_sourcelims(struct pfctl *); -void pfctl_load_sourcelim(struct pfctl *, struct pfctl_sourcelim *); +void pfctl_load_sourcelim(struct pfctl *, struct pfctl_source_lim *); int pfctl_eth_ruleset_trans(struct pfctl *, char *, struct pfctl_eth_anchor *); int pfctl_load_eth_ruleset(struct pfctl *, char *, @@ -1260,8 +1260,9 @@ pfctl_print_title(char *title) int pfctl_show_statelims(int dev, enum pfctl_show format) { - struct pfioc_statelim stlim; + struct pfctl_state_lim stlim; uint32_t id = PF_STATELIM_ID_MIN; + int error; if (format == PFCTL_SHOW_LABELS) { printf("%3s %8s/%-8s %5s/%-5s %8s %8s %8s\n", "ID", "USE", @@ -1272,12 +1273,13 @@ pfctl_show_statelims(int dev, enum pfctl_show format) memset(&stlim, 0, sizeof(stlim)); stlim.id = id; - if (ioctl(dev, DIOCGETNSTATELIM, &stlim) == -1) { - if (errno == ENOENT) { + error = pfctl_state_limiter_nget(pfh, &stlim); + if (error != 0) { + if (error == ENOENT) { /* we're done */ return (0); } - warn("DIOCGETNSTATELIM %u", stlim.id); + warnc(error, "DIOCGETNSTATELIM %u", stlim.id); return (-1); } @@ -1323,100 +1325,51 @@ pf_addr_inc(struct pf_addr *addr) } static int -pfctl_show_sources(int dev, const struct pfioc_sourcelim *srlim, - enum pfctl_show format, int opts) +pfctl_print_source(struct pfctl_source *e, void *arg) { - struct pfioc_source sr = { .id = srlim->id }; - struct pfioc_source_entry *entries, *e; - unsigned int nentries; - size_t len, used; - - if (format != PFCTL_SHOW_LABELS) - errx(1, "%s format is not PFCTL_SHOW_LABELS", __func__); - - nentries = srlim->nentries; - if (nentries == 0) - return (0); - if (nentries > 128) /* arbitrary */ - nentries = 128; - - entries = reallocarray(NULL, nentries, sizeof(*entries)); - if (entries == NULL) - err(1, "alloc %u source limiter entries", nentries); - - len = nentries * sizeof(*entries); - - e = entries; - - /* start from af 0 address 0 */ - memset(e, 0, sizeof(*e)); - - sr.entry_size = sizeof(*e); - sr.key = e; - - for (;;) { - sr.entries = entries; - sr.entrieslen = len; - - if (ioctl(dev, DIOCGETNSOURCE, &sr) == -1) { - switch (errno) { - case ESRCH: /* can't find the sourcelim */ - case ENOENT: /* no more sources */ - return (0); /* we're done */ - } - warn("DIOCGETNSOURCE %u", sr.id); - return (-1); - } - - used = 0; - if (sr.entrieslen > len) - errx(1, "DIOCGETNSOURCE used too much buffer"); - - e = entries; - for (;;) { - if (used > sr.entrieslen) - errx(1, "DIOCGETNSOURCE weird entrieslen"); - - print_addr_str(e->af, &e->addr); - switch (e->af) { - case AF_INET: - printf("/%u ", sr.inet_prefix); - break; - case AF_INET6: - printf("/%u ", sr.inet6_prefix); - break; - default: - printf("/af? "); - break; - } - printf("rdomain %u ", e->rdomain); + print_addr_str(e->af, &e->addr); + switch (e->af) { + case AF_INET: + printf("/%u ", e->inet_prefix); + break; + case AF_INET6: + printf("/%u ", e->inet6_prefix); + break; + default: + printf("/af? "); + break; + } + printf("rdomain %u ", e->rdomain); - printf("inuse %u/%u ", e->inuse, sr.limit); - printf("admit %ju hardlim %ju ratelim %ju\n", - e->admitted, e->hardlimited, e->ratelimited); + printf("inuse %u/%u ", e->inuse, e->limit); + printf("admit %ju hardlim %ju ratelim %ju\n", + e->admitted, e->hardlimited, e->ratelimited); - used += sizeof(*e); - if (used == sr.entrieslen) - break; + return (0); +} - e++; - } +static int +pfctl_show_sources(int dev, const struct pfctl_source_lim *srlim, + enum pfctl_show format, int opts) +{ + int error; - /* reuse the last entry as the next key */ - e->af += pf_addr_inc(&e->addr); - sr.key = e; - } + if (format != PFCTL_SHOW_LABELS) + errx(1, "%s format is not PFCTL_SHOW_LABELS", __func__); - return (0); + error = pfctl_source_get(pfh, srlim->id, pfctl_print_source, NULL); + if (error != 0) + warnc(error, "DIOCGETNSOURCE %u", srlim->id); + return (error); } int pfctl_show_sourcelims(int dev, enum pfctl_show format, int opts, const char *idopt) { - struct pfioc_sourcelim srlim; + struct pfctl_source_lim srlim; uint32_t id = PF_SOURCELIM_ID_MIN; - unsigned long cmd = DIOCGETNSOURCELIM; + int error; if (idopt != NULL) { const char *errstr; @@ -1425,8 +1378,6 @@ pfctl_show_sourcelims(int dev, enum pfctl_show format, int opts, &errstr); if (errstr != NULL) errx(1, "source limiter id: %s", errstr); - - cmd = DIOCGETSOURCELIM; } if (format == PFCTL_SHOW_LABELS) { @@ -1439,12 +1390,18 @@ pfctl_show_sourcelims(int dev, enum pfctl_show format, int opts, memset(&srlim, 0, sizeof(srlim)); srlim.id = id; - if (ioctl(dev, cmd, &srlim) == -1) { - if (errno == ESRCH) { + if (idopt != NULL) { + error = pfctl_source_limiter_get(pfh, &srlim); + } else { + error = pfctl_source_limiter_nget(pfh, &srlim); + } + + if (error != 0) { + if (error == ESRCH) { /* we're done */ return (0); } - warn("DIOCGETNSOURCELIM %u", srlim.id); + warnc(error, "DIOCGETNSOURCELIM %u", srlim.id); return (-1); } @@ -1485,7 +1442,7 @@ pfctl_show_sourcelims(int dev, enum pfctl_show format, int opts, void pfctl_kill_source(int dev, const char *idopt, const char *source, int opts) { - struct pfioc_source_kill ioc; + struct pfctl_source_clear clear = { 0 }; unsigned int id; const char *errstr; struct addrinfo hints, *res; @@ -1508,22 +1465,22 @@ pfctl_kill_source(int dev, const char *idopt, const char *source, int opts) if (error != 0) errx(1, "source limiter address: %s", gai_strerror(error)); - ioc.id = id; - ioc.af = res->ai_family; - copy_satopfaddr(&ioc.addr, res->ai_addr); - ioc.rmstates = 0; + clear.id = id; + clear.af = res->ai_family; + copy_satopfaddr(&clear.addr, res->ai_addr); freeaddrinfo(res); - if (ioctl(dev, DIOCCLRSOURCE, &ioc) == -1) { - switch (errno) { - case ESRCH: - errx(1, "source limiter %u not found", id); - case ENOENT: - errx(1, "source limiter %u: %s not found", id, source); - default: - err(1, "kill source limiter %u entry %s", id, source); - } + error = pfctl_source_clear(pfh, &clear); + switch (error) { + case 0: + break; + case ESRCH: + errx(1, "source limiter %u not found", id); + case ENOENT: + errx(1, "source limiter %u: %s not found", id, source); + default: + err(1, "kill source limiter %u entry %s", id, source); } } @@ -2325,14 +2282,17 @@ pfctl_ruleset_trans(struct pfctl *pf, char *path, struct pfctl_anchor *a, bool d void pfctl_load_statelim(struct pfctl *pf, struct pfctl_statelim *stlim) { + int error; + if (pf->opts & PF_OPT_VERBOSE) print_statelim(&stlim->ioc); if (pf->opts & PF_OPT_NOACTION) return; - if (ioctl(pf->dev, DIOCADDSTATELIM, &stlim->ioc) == -1) { - err(1, "DIOCADDSTATELIM %s id %u", stlim->ioc.name, + error = pfctl_state_limiter_add(pf->h, &stlim->ioc); + if (error) { + errc(1, error, "DIOCADDSTATELIM %s id %u", stlim->ioc.name, stlim->ioc.id); } } @@ -2356,17 +2316,20 @@ pfctl_load_statelims(struct pfctl *pf) } void -pfctl_load_sourcelim(struct pfctl *pf, struct pfctl_sourcelim *srlim) +pfctl_load_sourcelim(struct pfctl *pf, struct pfctl_source_lim *srlim) { + int error; + if (pf->opts & PF_OPT_VERBOSE) - print_sourcelim(&srlim->ioc); + print_sourcelim(srlim); if (pf->opts & PF_OPT_NOACTION) return; - if (ioctl(pf->dev, DIOCADDSOURCELIM, &srlim->ioc) == -1) { - err(1, "DIOCADDSOURCELIM %s id %u", srlim->ioc.name, - srlim->ioc.id); + error = pfctl_source_limiter_add(pf->h, srlim); + if (error != 0) { + errc(1, error, "DIOCADDSOURCELIM %s id %u", srlim->name, + srlim->id); } } @@ -2382,7 +2345,7 @@ pfctl_load_sourcelims(struct pfctl *pf) RB_FOREACH(srlim, pfctl_sourcelim_ids, &pf->sourcelim_ids) { srlim->ioc.ticket = ticket; - pfctl_load_sourcelim(pf, srlim); + pfctl_load_sourcelim(pf, &srlim->ioc); } /* Don't free the sourcelims because we're about to exit anyway. */ diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 617d3f8e0733..25d52f4ec823 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -856,7 +856,7 @@ print_eth_rule(struct pfctl_eth_rule *r, const char *anchor_call, } void -print_statelim(const struct pfioc_statelim *ioc) +print_statelim(const struct pfctl_state_lim *ioc) { printf("state limiter %s id %u limit %u", ioc->name, ioc->id, ioc->limit); @@ -867,7 +867,7 @@ print_statelim(const struct pfioc_statelim *ioc) } void -print_sourcelim(const struct pfioc_sourcelim *ioc) +print_sourcelim(const struct pfctl_source_lim *ioc) { printf("source limiter %s id %u limit %u states %u", ioc->name, ioc->id, ioc->entries, ioc->limit); diff --git a/sbin/pfctl/pfctl_parser.h b/sbin/pfctl/pfctl_parser.h index 6d0417cde061..8934238da148 100644 --- a/sbin/pfctl/pfctl_parser.h +++ b/sbin/pfctl/pfctl_parser.h @@ -76,7 +76,7 @@ struct pfr_buffer; /* forward definition */ struct pfctl_statelim { - struct pfioc_statelim ioc; + struct pfctl_state_lim ioc; RB_ENTRY(pfctl_statelim) entry; }; @@ -84,7 +84,7 @@ RB_HEAD(pfctl_statelim_ids, pfctl_statelim); RB_HEAD(pfctl_statelim_nms, pfctl_statelim); struct pfctl_sourcelim { - struct pfioc_sourcelim ioc; + struct pfctl_source_lim ioc; RB_ENTRY(pfctl_sourcelim) entry; }; @@ -343,8 +343,8 @@ int pfctl_load_anchors(int, struct pfctl *); void print_pool(struct pfctl_pool *, u_int16_t, u_int16_t, int); void print_src_node(struct pfctl_src_node *, int); -void print_statelim(const struct pfioc_statelim *); -void print_sourcelim(const struct pfioc_sourcelim *); +void print_statelim(const struct pfctl_state_lim *); +void print_sourcelim(const struct pfctl_source_lim *); void print_eth_rule(struct pfctl_eth_rule *, const char *, int); void print_rule(struct pfctl_rule *, const char *, int, int); void print_tabledef(const char *, int, int, struct node_tinithead *); diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 025a30378f1f..5329c5ebdd9e 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1205,6 +1205,11 @@ struct pf_kstate { * State limiter */ +struct pf_limiter_rate { + unsigned int limit; + unsigned int seconds; +}; + struct pf_statelim { RB_ENTRY(pf_statelim) pfstlim_id_tree; RB_ENTRY(pf_statelim) pfstlim_nm_tree; @@ -1217,10 +1222,7 @@ struct pf_statelim { /* config */ unsigned int pfstlim_limit; - struct { - unsigned int limit; - unsigned int seconds; - } pfstlim_rate; + struct pf_limiter_rate pfstlim_rate; /* run state */ struct mtx pfstlim_lock; @@ -1340,10 +1342,7 @@ struct pf_sourcelim { unsigned int pfsrlim_ipv4_prefix; unsigned int pfsrlim_ipv6_prefix; - struct { - unsigned int limit; - unsigned int seconds; - } pfsrlim_rate; + struct pf_limiter_rate pfsrlim_rate; struct { char name[PF_TABLE_NAME_SIZE]; @@ -2074,25 +2073,29 @@ enum pf_syncookies_mode { #define PF_SYNCOOKIES_HIWATPCT 25 #define PF_SYNCOOKIES_LOWATPCT (PF_SYNCOOKIES_HIWATPCT / 2) +#define PF_STATELIM_ID_NONE 0 +#define PF_STATELIM_ID_MIN 1 +#define PF_STATELIM_ID_MAX 255 /* fits in pf_state uint8_t */ +#define PF_STATELIM_LIMIT_MIN 1 +#define PF_STATELIM_LIMIT_MAX (1 << 24) /* pf is pretty scalable */ + +#define PF_SOURCELIM_ID_NONE 0 +#define PF_SOURCELIM_ID_MIN 1 +#define PF_SOURCELIM_ID_MAX 255 /* fits in pf_state uint8_t */ + +#ifdef _KERNEL + struct pfioc_statelim { uint32_t ticket; char name[PF_STATELIM_NAME_LEN]; uint32_t id; -#define PF_STATELIM_ID_NONE 0 -#define PF_STATELIM_ID_MIN 1 -#define PF_STATELIM_ID_MAX 255 /* fits in pf_state uint8_t */ /* limit on the total number of states */ unsigned int limit; -#define PF_STATELIM_LIMIT_MIN 1 -#define PF_STATELIM_LIMIT_MAX (1 << 24) /* pf is pretty scalable */ /* rate limit on the creation of states */ - struct { - unsigned int limit; - unsigned int seconds; - } rate; + struct pf_limiter_rate rate; char description[PF_STATELIM_DESCR_LEN]; @@ -2108,9 +2111,6 @@ struct pfioc_sourcelim { char name[PF_SOURCELIM_NAME_LEN]; uint32_t id; -#define PF_SOURCELIM_ID_NONE 0 -#define PF_SOURCELIM_ID_MIN 1 -#define PF_SOURCELIM_ID_MAX 255 /* fits in pf_state uint8_t */ /* limit on the total number of address entries */ unsigned int entries; @@ -2119,10 +2119,7 @@ struct pfioc_sourcelim { unsigned int limit; /* rate limit on the creation of states by an address entry */ - struct { - unsigned int limit; - unsigned int seconds; - } rate; + struct pf_limiter_rate rate; /* * when the number of states on an entry exceeds hwm, add @@ -2154,37 +2151,6 @@ struct pfioc_sourcelim { uint64_t ratelimited; /* counter */ }; -struct pfioc_source_entry { - sa_family_t af; - unsigned int rdomain; - struct pf_addr addr; - - /* stats */ - - unsigned int inuse; /* gauge */ - uint64_t admitted; /* counter */ - uint64_t hardlimited; /* counter */ - uint64_t ratelimited; /* counter */ -}; - -struct pfioc_source { - char name[PF_SOURCELIM_NAME_LEN]; - uint32_t id; - - /* copied from the parent source limiter */ - - unsigned int inet_prefix; - unsigned int inet6_prefix; - unsigned int limit; - - /* source entries */ - size_t entry_size; /* sizeof(struct pfioc_source_entry) */ - - struct pfioc_source_entry *key; - struct pfioc_source_entry *entries; - size_t entrieslen; /* bytes */ -}; - struct pfioc_source_kill { char name[PF_SOURCELIM_NAME_LEN]; uint32_t id; @@ -2195,7 +2161,28 @@ struct pfioc_source_kill { unsigned int rmstates; /* kill the states too? */ }; -#ifdef _KERNEL +int pf_statelim_add(const struct pfioc_statelim *); +struct pf_statelim *pf_statelim_rb_find(struct pf_statelim_id_tree *, + struct pf_statelim *); +struct pf_statelim *pf_statelim_rb_nfind(struct pf_statelim_id_tree *, + struct pf_statelim *); +int pf_statelim_get(struct pfioc_statelim *, + struct pf_statelim *(*rbt_op)(struct pf_statelim_id_tree *, + struct pf_statelim *)); +int pf_sourcelim_add(const struct pfioc_sourcelim *); +struct pf_sourcelim *pf_sourcelim_rb_find(struct pf_sourcelim_id_tree *, + struct pf_sourcelim *); +struct pf_sourcelim *pf_sourcelim_rb_nfind(struct pf_sourcelim_id_tree *, + struct pf_sourcelim *); +int pf_sourcelim_get(struct pfioc_sourcelim *, + struct pf_sourcelim *(*rbt_op)(struct pf_sourcelim_id_tree *, + struct pf_sourcelim *)); +struct pf_source *pf_source_rb_find(struct pf_source_ioc_tree *, + struct pf_source *); +struct pf_source *pf_source_rb_nfind(struct pf_source_ioc_tree *, + struct pf_source *); +int pf_source_clr(struct pfioc_source_kill *); + struct pf_kstatus { counter_u64_t counters[PFRES_MAX]; /* reason for passing/dropping */ counter_u64_t lcounters[KLCNT_MAX]; /* limit counters */ *** 810 LINES SKIPPED *** From nobody Wed Jan 14 08:06:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwT2GX5z6PL6c for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwS5MrKz3K9w for ; Wed, 14 Jan 2026 08:06:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377960; 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=IO8ohlribQfNtp2hQf81H95hoc4zSsKKgQS7H4f0r2g=; b=eF3RwGJ25jpgzBbkGX8J1YbL2PI6m/JK7yZVbkFRQg1z2p8dwoYMYV/isR3dx4RrG6DjOS 9vM0VyZkH0+5jW4AmHwmLMFCRgHy1ytIb3IxtZaTxALYuuyzUyPBubOjuByRGMOgeWuFer /dt0zuzNwzsPqJj9N+LmAQ9i32YiF5rJ52/6734dkG0NN588XD/8Gzr7kLMbk66GCpJ10U Rf9Cdlu1fNBeFaOZmGb8fxO68QuTc2Jr8it+//OM48o1PmlGi7/WLTvWDJLDoTyqeDRkmm OQK4YVbvwPR6Ou6CfNjNG8fb0HzEdKO+5tIqZiDIlA1xPXZwyWW0gX1GRlpSPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377960; 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=IO8ohlribQfNtp2hQf81H95hoc4zSsKKgQS7H4f0r2g=; b=RYF/C4WiKgyRd5aZoqx56yOb7jSCNSwWbjZqq+/Ig07d3atwJSJ8V1yvtk3qHyg45OtDqr pIX1t8MpQMKWh8lDjXF3SUlltZvgnZ9reHh08gkYweesw9PtJ1NJ9o+pStdIagkPdjgAg3 u0Tiqa9B/DZ8f2yxPPzsp2MJl8C4ALpgM8i3xu6qG+mxnHVyMZ4BPgcK3fDgoQcH9ogH88 74bxQ/ZDm36UGafh2mssJC8lTIbxYoZ0CzvW1s2wv8My7h6+y94lihAtYmnGwozsXO6x6L b8jSVd6eyNf6JihOtms8ojHKhArAHol8EkDnsDkCxaSLaH36au2sSa2SGlTeQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377960; a=rsa-sha256; cv=none; b=Ig4AIgtLvc+wExF1qZlitBXZRdbB5PU+PKlHX67oUTnqB6QgjVu6l65dchmlstxr/xqzOR 9ewomi4giiyKr9ICSu9is9iExIq0C6D1aAjRTXYEfELKg2NnzRyKI2/SAQSwkuSdxUjIdk zZ5q8Qxw41lGByPRa3fYmvD9G3wP/nzFESXPJlBh3yGwTUm/kxwsr58hckC9CwFWs2paPo dUu8FkDYbWWNk8CEZ7oQ6nxw7dGOhJbMB+XHPd3SQQ5CTovtCwUvDMuFfq+rCciz4OAIbA M8W3Jg3ruptXwZv44Bb91tOjnLaahlOAGPm4TQnGESySYAA969hl1KSV+UJrEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwS4rBzzqmp for ; Wed, 14 Jan 2026 08:06:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a7df by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: aafa123641be - main - pfctl: resolve '-s' ambiguity List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aafa123641bed1f04546f7340d60858af082df94 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:00 +0000 Message-Id: <69674e68.a7df.44dea760@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=aafa123641bed1f04546f7340d60858af082df94 commit aafa123641bed1f04546f7340d60858af082df94 Author: Kristof Provost AuthorDate: 2026-01-05 13:27:35 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:39 +0000 pfctl: resolve '-s' ambiguity The 'introduce source and state limiters' commit added source and state limiters, and used Stlimiters and Srclimiters as show options. However, FreeBSD had 'Sources' as a show option already. This means that 'pfctl -sS' would now be ambiguous. Avoid this by renaming the new options. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.8 | 4 ++-- sbin/pfctl/pfctl.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index d3c8b1273b79..45cfd88ef039 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -524,7 +524,7 @@ When used together with interface statistics are also shown. .Fl i can be used to select an interface or a group of interfaces. -.It Cm Stlimiter +.It Cm LimiterStates Show information about state limiters. If .Fl R Ar id @@ -532,7 +532,7 @@ is specified as well, only the state limiter identified by .Ar id is shown. -.It Cm Srclimiter +.It Cm LimiterSrcs Show information about source limiters. If .Fl R Ar id diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 256868a399d2..fb08d6300f23 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -320,8 +320,8 @@ static const struct pfctl_opt_id showopt_list[] = { { "Tables", SHOWOPT_TABLES }, { "osfp", SHOWOPT_OSFP }, { "Running", SHOWOPT_RUNNING }, - { "Stlimiters", SHOWOPT_STATELIMS }, - { "Srclimiters", SHOWOPT_SOURCELIMS }, + { "LimiterStates", SHOWOPT_STATELIMS }, + { "LimiterSrcs", SHOWOPT_SOURCELIMS }, { "creatorids", SHOWOPT_CREATORIDS }, { "all", SHOWOPT_ALL }, From nobody Wed Jan 14 08:06:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwV5wr5z6PLCC for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwT686Kz3KGn for ; Wed, 14 Jan 2026 08:06:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377961; 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=C0NLK1FKw4FmS/bvK1fBReqmDh5hz/mVmPePreZ3zp0=; b=KsaKAtamudjJJ2SPGq1JjDgvh5LvQMZHuiB5JTOl7wWlTQn6mWufhUpskzQXkj6P54sgtt hHfq6bMpnWvYbyy1ArZF4VNeDckfzT0UJOVcFW3iscgM8Tu2Nx1YjZgCraVQB0ZDdvvbv6 D0fZAM9vR4AL30g2+kFBQkqR/UH80bipQmmyBvQez8nEERIS3V2TE6TUpwIomw3QoBtZoj o6/uinDVRU6G8/43g+K813pgD35Q+a4vF6M6C6USzpGed4WHf65wvOQWhtL/GEtKckFqLW Wx6eG/6LtqBxcNijWhBa35FGIGe30veUxSrKzwIKKhEwp3T6Ic0p74qUI7cBzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377961; 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=C0NLK1FKw4FmS/bvK1fBReqmDh5hz/mVmPePreZ3zp0=; b=qO/JZSofT2DGAnp+jPE7QwoNS0GVjdxRBpwUKuIRDYpBLttyXpahJ7mpM7jFay74yVihkp boSc/doZYnS5EVrXKnkUCLwZLIxf92TTs5Ko8HEWaxYLuCU1R/d5MaZ4yZ7mP7S+NJSfz5 jcMmyNNwO0lf0M+nZ4Iw1PY3zwmd/j5psZtYn07lJPX3WGcYt0iZ+Q2XJonnm+0DJEepb8 ZJ0QB6ANZ8yVbzqAVlSfGJrMdxm6lxtjI6auoQ9+XtEAiAnp1CmYrj8dbTlgsmuwF7s3Ip +yMjVeqj0rH3K15KD4eGZ+OO6ZCv2aYsAJ6Ww9UwIsVGK0WGzqUVm+Lt6TVAhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377961; a=rsa-sha256; cv=none; b=GnbV76fqNsNbMShTDheIafZo7HxESwyDv+hWkk/mFcPvuf/j1oBzlJJZoD39QYbDIvXQyb 5um03t6a1juBWE87UBPZSQ5X9W52hbshZvOXVBm18lYDkEPyjX0zjuIW++SNZ5MKVodi2w 9eo6nfOKbD+PYZlG+RdTcT/xnMRUtCIjJEimpWrMLQClVhckmluxO8/PCjZYCeFN1jmIfr +YABLMpmE4TdSnNlZ/OK72caGyhxWsBHP4ZqSN2ehGUwgTLMwpavn3tOsoOKZlH3niEM9Q R+B2mBRI27sMCRv9+sNfWUuwGjpLJkZokKemVwk2FJnxEcUeVeMVTOqxZlDmMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwT5RYczqmq for ; Wed, 14 Jan 2026 08:06:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 63d5d1b0b37e - main - pfctl: improve limiters printing List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 63d5d1b0b37e56deef2bed395928fcf52449ad94 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:01 +0000 Message-Id: <69674e69.ca13.9625ade@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=63d5d1b0b37e56deef2bed395928fcf52449ad94 commit 63d5d1b0b37e56deef2bed395928fcf52449ad94 Author: Kristof Provost AuthorDate: 2026-01-06 15:57:18 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:39 +0000 pfctl: improve limiters printing Deviate a little from the OpenBSD code, to avoid unexpected output changes. Don't print limiter information when we show the rules (or labels). Do include the source and state limiters in the 'all' (pfctl -sa) output and give them their own titles. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index fb08d6300f23..ee1b2202cc1d 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -105,7 +105,7 @@ int pfctl_get_pool(int, struct pfctl_pool *, u_int32_t, u_int32_t, int, const char *, int); void pfctl_print_eth_rule_counters(struct pfctl_eth_rule *, int); void pfctl_print_rule_counters(struct pfctl_rule *, int); -int pfctl_show_statelims(int, enum pfctl_show); +int pfctl_show_statelims(int, enum pfctl_show, int); int pfctl_show_sourcelims(int, enum pfctl_show, int, const char *); int pfctl_show_eth_rules(int, char *, int, enum pfctl_show, char *, int, int); int pfctl_show_rules(int, char *, int, enum pfctl_show, char *, int, int); @@ -1258,12 +1258,15 @@ pfctl_print_title(char *title) } int -pfctl_show_statelims(int dev, enum pfctl_show format) +pfctl_show_statelims(int dev, enum pfctl_show format, int opts) { struct pfctl_state_lim stlim; uint32_t id = PF_STATELIM_ID_MIN; int error; + if (opts & PF_OPT_SHOWALL) + pfctl_print_title("STATE LIMITERS:"); + if (format == PFCTL_SHOW_LABELS) { printf("%3s %8s/%-8s %5s/%-5s %8s %8s %8s\n", "ID", "USE", "LIMIT", "RATE", "SECS", "ADMIT", "HARDLIM", "RATELIM"); @@ -1380,6 +1383,9 @@ pfctl_show_sourcelims(int dev, enum pfctl_show format, int opts, errx(1, "source limiter id: %s", errstr); } + if (opts & PF_OPT_SHOWALL) + pfctl_print_title("SOURCE LIMITERS:"); + if (format == PFCTL_SHOW_LABELS) { printf("%3s %8s/%-8s %5s %5s/%-5s %8s %8s %8s %8s\n", "ID", "USE", "ADDRS", "LIMIT", "RATE", "SECS", "ADMIT", "ADDRLIM", @@ -1612,15 +1618,6 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, int len = strlen(path), ret = 0; char *npath, *p; - if (anchorname[0] == '\0') { - ret = pfctl_show_statelims(dev, format); - if (ret != 0) - goto error; - ret = pfctl_show_sourcelims(dev, format, opts, NULL); - if (ret != 0) - goto error; - } - /* * Truncate a trailing / and * on an anchorname before searching for * the ruleset, this is syntactic sugar that doesn't actually make it @@ -3961,6 +3958,8 @@ main(int argc, char *argv[]) 0, 0); pfctl_show_timeouts(dev, opts); pfctl_show_limits(dev, opts); + pfctl_show_statelims(dev, PFCTL_SHOW_LABELS, opts); + pfctl_show_sourcelims(dev, PFCTL_SHOW_LABELS, opts, idopt); pfctl_show_tables(anchorname, opts); pfctl_show_fingerprints(opts); break; @@ -3983,7 +3982,7 @@ main(int argc, char *argv[]) pfctl_show_creators(opts); break; case SHOWOPT_STATELIMS: - pfctl_show_statelims(dev, PFCTL_SHOW_LABELS); + pfctl_show_statelims(dev, PFCTL_SHOW_LABELS, opts); break; case SHOWOPT_SOURCELIMS: pfctl_show_sourcelims(dev, PFCTL_SHOW_LABELS, opts, idopt); From nobody Wed Jan 14 08:06:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwX2hVkz6PLFX for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwX0p82z3KPW for ; Wed, 14 Jan 2026 08:06:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377964; 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=mulpsO0OamK1CHKBI69zPm9RiRUblpia5Fsh16G4pIc=; b=jUnCa5jNIHAvs40wCsKKEq3Z64PeCrjs39ShfNXwopjuCwPuvjVxqb4BKxuKcjKvAnQ2Po Td3uimTmA05KYKpOv0W7nWjHxgnIoKAW7h3nDoCA8KpjtIO9viikkM6aNRC9MjApRkViVz fjpmYjqwW4hnqwcaOwg8NoL2mcAAvTzt2Thx/jL9gs2cfjuVrR69ohuSX6KrNDJ2tld1u7 fsP35IrJvK10zkAVuHgmx586ynB705AgQX3E8YWn9BDZqxwajIjd+2bzIil9edEjtddU4Y WSq53+aD6k4T2AZ2gldqtVERAsyZjU20LLwXYMgv5qWyDvwWB3HiTLvH2NctOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377964; 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=mulpsO0OamK1CHKBI69zPm9RiRUblpia5Fsh16G4pIc=; b=o0QkzQJ+FkYdLhQAYVDH29nOhaIjpmCr1rXKWKEWlkWU5hZT+lKhXUO+zE/l4G+IRenyqV 1ND9IE1GbJ29ShrszNEoNHJRSdtfSU/CyOrscxHB1JXSsihv0bqN38iXLoCDGHRvhiQlCw yY/w/92Qi5VFK9F2xZp3eWuY+1EmfB0IGxbXpL4/fFwROc8du6Qo9stHSB/Ig57hlsieX6 i2RFk9YxEjrjvw79thdkUH88OSE5QF6qp1ILQOJ4dy07t0fhpPYSHntmYAyxU7VIQYOXcY FbT4F0eY7GJ/N7soH2+5IBxThndPCGOTTj333G7WhfoWGwrSNSk/WIl4EQlTJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377964; a=rsa-sha256; cv=none; b=j3meVx12Ir2zJUl6ErCPxxJiiPlHGjNuantbPIT4kJ16wTJmp11iXnEEOlcmnqg22Oh1R7 w1h8Zqdt3f0lgPpn51MxaHlXneRd4fpTmqguU4v1b33cCsb8h0tqa2z2pFwHe+5LTfQOol M5AyStTU6nOblT0tmfx+exaT5f/MtajyUcbaKOaK2ed1SrZ+gT1nETW1SmaNDYghp3CiHq G/yXQsP2PsrseD1av8oQVR2Oqa8L5etMjiz0/GNUlLEjYGQIr2GIlpt5WLxaskZZBZ+Odk 41TvmksugFP7RHg5jRuvMobDAUPeq6dQrRyuNjLKSe5jv0dtd5/gq7515yub1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwW6YztzqVB for ; Wed, 14 Jan 2026 08:06:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b6bb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 445a3c86e674 - main - pfctl tests: basic source and state limiter tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 445a3c86e674800f70fce6d8f2038f09deee37cf Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:03 +0000 Message-Id: <69674e6b.b6bb.76b1b98b@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=445a3c86e674800f70fce6d8f2038f09deee37cf commit 445a3c86e674800f70fce6d8f2038f09deee37cf Author: Kristof Provost AuthorDate: 2026-01-07 15:20:21 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:40 +0000 pfctl tests: basic source and state limiter tests Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/tests/files/pf1076.in | 2 ++ sbin/pfctl/tests/files/pf1076.ok | 2 ++ sbin/pfctl/tests/files/pf1077.in | 2 ++ sbin/pfctl/tests/files/pf1077.ok | 2 ++ sbin/pfctl/tests/pfctl_test_list.inc | 2 ++ 5 files changed, 10 insertions(+) diff --git a/sbin/pfctl/tests/files/pf1076.in b/sbin/pfctl/tests/files/pf1076.in new file mode 100644 index 000000000000..af815fd4c5ef --- /dev/null +++ b/sbin/pfctl/tests/files/pf1076.in @@ -0,0 +1,2 @@ +state limiter "dns-server" id 1 limit 1000 rate 1/10 +pass in proto tcp to port domain state limiter "dns-server" diff --git a/sbin/pfctl/tests/files/pf1076.ok b/sbin/pfctl/tests/files/pf1076.ok new file mode 100644 index 000000000000..def9533b1e60 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1076.ok @@ -0,0 +1,2 @@ +state limiter dns-server id 1 limit 1000 rate 1/10 +pass in proto tcp from any to any port = domain flags S/SA keep state state limiter id 1 diff --git a/sbin/pfctl/tests/files/pf1077.in b/sbin/pfctl/tests/files/pf1077.in new file mode 100644 index 000000000000..9394624622d8 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1077.in @@ -0,0 +1,2 @@ +source limiter "dns-server" id 1 entries 2 limit 3 rate 4/5 inet mask 16 +pass in proto tcp to port domain source limiter "dns-server" diff --git a/sbin/pfctl/tests/files/pf1077.ok b/sbin/pfctl/tests/files/pf1077.ok new file mode 100644 index 000000000000..e52afb6bff9c --- /dev/null +++ b/sbin/pfctl/tests/files/pf1077.ok @@ -0,0 +1,2 @@ +source limiter dns-server id 1 limit 2 states 3 rate 4/5 inet mask 16 +pass in proto tcp from any to any port = domain flags S/SA keep state source limiter id 1 diff --git a/sbin/pfctl/tests/pfctl_test_list.inc b/sbin/pfctl/tests/pfctl_test_list.inc index 9dd4a590ad8f..a7328a860dda 100644 --- a/sbin/pfctl/tests/pfctl_test_list.inc +++ b/sbin/pfctl/tests/pfctl_test_list.inc @@ -184,3 +184,5 @@ PFCTL_TEST_FAIL(1072, "Invalid port range") PFCTL_TEST(1073, "Filter AF different than route-to AF, with prefer-ipv6-nexthop") PFCTL_TEST_FAIL(1074, "Filter AF different than route-to AF, without prefer-ipv6-nexthop") PFCTL_TEST(1075, "One shot rule") +PFCTL_TEST(1076, "State limiter") +PFCTL_TEST(1077, "Source limiter") From nobody Wed Jan 14 08:06:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwW1bR0z6PL4j for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwV6qGdz3K7h for ; Wed, 14 Jan 2026 08:06:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377963; 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=En8MKrq0bcgLTxWQl7CSSQkvTz03M+IhtIZZxeu/hog=; b=fVvjlEM3S+6acy/cBKzvdQ2dIDtsOZLH28kBnz8OAFB/zzhtgF+qk+54Ap4Zc3gOjf4jUL jrqBwD0qg2TOTA+wCIhGFAOIF4DeO36B1PF06yMF2Wtn6YZwVL6dvFeZp7csJH+nPopQ/T ta3pp136tWsc2lWnzilaVg+8+FjMTkBqruZYYxKWf3PbjNvM0FyTyOjxRGbnA8+sFOrZGA nH4Axx6eR8lsKs1kxPCCoKWRvPVQfLNfp4EVhMLGLr55j5gyHj/ydyU/vmTgia0p9A0jTQ 5gDduy9u6Vb8BHioYAmGI/CDTCPqVg7tQVG/xC9u3wEkHNn/P0pbM+kJQWsYcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377963; 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=En8MKrq0bcgLTxWQl7CSSQkvTz03M+IhtIZZxeu/hog=; b=tu6IxOHKfF/0MZjxoZG+BZKj6Nob18m1B5xvz/mX7Q6g4T4TZGLcr2mkVL5e0KTCBGuELu Ic6zPyN2kJlswT1bkreTk+kqrp/4LsTbXgKRTNiAhDTRFRi8xObkB0Ax8FG4AIIqkeFPKW gVDFVolsQ8klNxTGWTO0uv6/Mzct5a2/I7iPgcYVm17ksqni5HqfeYlS5kGviu+/V6NakQ AvH7e9NFmPfLaHF3E8YGp6ntv8jeZE+mpTOefGpH6i/yAZhe4Vr93M/MaxXUb8WeBEGhK2 hAbvoew/EvChhsyFZz8YH4QoXiKoPUkWRswteV8HWKB1t/a9/tqiP5UIJ9ok0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377963; a=rsa-sha256; cv=none; b=xr5amAD5mt0U3WHgLOOPsf6AvzmJW5IsXJme1zDsGawLn7VqJ+y5kWYFdydkca77nCImdk Ty2khefya9HBsiImXSPymGtg2WyF3mY2kda1qpbwKmq7qOlYMWS9/BiWTV1UvPHtVAqwQx XCcEJN7LdwWEdUXBsK29qyyeofwBwlVovAuj9qboPvugN5oj4H+Cm6rNml7FZ2B91whfOE kpuMEyxCdCThm2c8XKbfDSY1YVa4G24HKYp/GDcu4KGDakh2VQULIvvCWj0rL1KfTp5Fvi N2TsUWGiHvSUdZ4oE1PGgrPdctikLMJeHk645OSX/1vtD3eCtFZ9QbN9lhWeig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwV66NJzqbQ for ; Wed, 14 Jan 2026 08:06:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b64f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 398ca30cb6d6 - main - pfctl.8: mention -k source -k List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 398ca30cb6d6cb6f0f5433fae11d07a65a9259dd Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:02 +0000 Message-Id: <69674e6a.b64f.14cd10be@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=398ca30cb6d6cb6f0f5433fae11d07a65a9259dd commit 398ca30cb6d6cb6f0f5433fae11d07a65a9259dd Author: Kristof Provost AuthorDate: 2026-01-10 09:43:09 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:39 +0000 pfctl.8: mention -k source -k Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.8 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index 45cfd88ef039..662f5a4b0f16 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -43,7 +43,7 @@ .Op Fl K Ar host | network .Xo .Oo Fl k -.Ar host | network | label | id | gateway | nat +.Ar host | network | label | id | gateway | source | nat .Oc Xc .Op Fl o Ar level .Op Fl p Ar device @@ -281,7 +281,7 @@ option may be specified, which will kill all the source tracking entries from the first host/network to the second. .It Xo .Fl k -.Ar host | network | label | id | key | gateway | nat +.Ar host | network | label | id | key | gateway | source | nat .Xc Kill all of the state entries matching the specified .Ar host , @@ -290,6 +290,7 @@ Kill all of the state entries matching the specified .Ar id , .Ar key , .Ar gateway, +.Ar source , or .Ar nat. .Pp @@ -374,6 +375,10 @@ States can also be killed based on their pre-NAT address: .Pp .Dl # pfctl -k nat -k 192.168.0.1 .Pp +To remove a source from a source limiter use: +.Pp +.Dl # pfctl -I 1 -k source -k 192.0.2.2 +.Pp .It Fl M Kill matching states in the opposite direction (on other interfaces) when killing states. From nobody Wed Jan 14 08:06:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwY3MvXz6PKpt for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwY1Hdcz3KMQ for ; Wed, 14 Jan 2026 08:06:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377965; 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=7E5uRap34wJiBpur5bYo/0v99F7XrXlb97GEiIwW4zE=; b=C+PDRPd0qze0mTJdQr7jfzWoME+4KdjmTemlDEyWHxovX2eu5kTjG7IExRKXxm2lugeA/R UUTSm7bXGi4/72wAIoh+BbuVLsMALXOFA93Nw0qT3UQWLwVseCYXCCnAvt3uFsO/bTx1DC gifhpMQkw3QUhwZmvqsP649heNl3eQTiQmoQFgcy8AZDniO/vMsbaQEuktlOECR/dXgiCe Y4QgRSHftQfal4iB1QDfClfD8voVGq4jOFy8D5c5YhRmWFeYC97XGde1Okur9NqtojdpbX 6o9ey6nsqxCagElmtUiLuF4BpO1qSw0jmH4fY6yof6+rVvRlpojxa3D+kJ3GyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377965; 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=7E5uRap34wJiBpur5bYo/0v99F7XrXlb97GEiIwW4zE=; b=SBJjqYTgQppaxrAS6jwQzzCFH30rI0I1CYaj/+Oxm+35YAdX+DMi/ndBYyKNo2wQUF94mC HIqUl/numluj1h8QlcYtXL5JNxgsjP6ntv/O/Om3yaZhJILsSZxfhtezsf9ebuxJ7TWClC ot2R/i+qTTT9Yq4WwYXQKbnH8cmdnCWbL59+2ogT1Pkhz0wUZrq7ezBPPX1ZjjWfi8UknB 9R+ZBMto3KyCAoWvzKvJ283kGJFu+yQqaWBMfYcHVEMoCdDDcavQlRRAau+VMKmyF6MbF9 LCMMewBLqgxlpBaMaCKFRrkmfaHQPO//ok9ynEDElZju9uz+9RbXuUwA00lL0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377965; a=rsa-sha256; cv=none; b=kXaBcKhpSL0P/VTs+oEacVW6lv4Yp5XnTmLyQJjQ7XEiU+bGiS/0KpF7S8YJBquiH5ScS2 jPZp/jd9xYu99y0Jz/lQwW6XEGsZzTVx2pFeJQG7/gJKlQJN2ZpGmDHKg3EoWw27trEhmZ gvssHMdFyavmqSpTvdj92/dzH4FtZQ7K0ipWkeR4DhlprGPUYf4S74ciPzmLuTfaWR+3g1 XPd0qyVaqb397vmLHaHeWDCfHPoz6P9MuzOvpBBAFcaDzV7lYcO1mDZRBQ+99ojp9pSB1H oiURDkZQNcKk28jJJRycMv9AgdyDV/yY6xRfrS2O1wZA6R3xe657cHiegYoJkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwY0BSZzq5B for ; Wed, 14 Jan 2026 08:06:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b6bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: a10e8e78c8d0 - main - pf tests: basic state limiters test case List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a10e8e78c8d0c459510e89d728a6d59343ee9def Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:05 +0000 Message-Id: <69674e6d.b6bf.9da6c61@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a10e8e78c8d0c459510e89d728a6d59343ee9def commit a10e8e78c8d0c459510e89d728a6d59343ee9def Author: Kristof Provost AuthorDate: 2026-01-06 14:13:07 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:40 +0000 pf tests: basic state limiters test case Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/limiters.sh | 81 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 9416f6abbdf1..ded0002768b0 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -19,6 +19,7 @@ ATF_TESTS_SH+= altq \ icmp6 \ if_enc \ limits \ + limiters \ loginterface \ killstate \ macro \ diff --git a/tests/sys/netpfil/pf/limiters.sh b/tests/sys/netpfil/pf/limiters.sh new file mode 100644 index 000000000000..851c0a95d5e5 --- /dev/null +++ b/tests/sys/netpfil/pf/limiters.sh @@ -0,0 +1,81 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2026 Rubicon Communications, LLC (Netgate) +# +# 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 AUTHOR 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 AUTHOR 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. + +. $(atf_get_srcdir)/utils.subr + +atf_test_case "state_basic" "cleanup" +state_basic_head() +{ + atf_set descr 'Basic state limiter test' + atf_set require.user root +} + +state_basic_body() +{ + pft_init + + epair=$(vnet_mkepair) + + ifconfig ${epair}a 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}b + jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + # Allow up to one ICMP state. + pft_set_rules alcatraz \ + "set timeout icmp.error 120" \ + "state limiter \"server\" id 1 limit 1" \ + "block in proto icmp" \ + "pass in proto icmp state limiter \"server\"" + + atf_check -s exit:0 -o ignore \ + ping -c 2 192.0.2.1 + + # This should now fail + atf_check -s exit:2 -o ignore \ + ping -c 2 192.0.2.1 + + jexec alcatraz pfctl -sLimiterStates + hardlim=$(jexec alcatraz pfctl -sLimiterStates | awk 'NR>1 { print $5; }') + if [ $hardlim -eq 0 ]; then + atf_fail "Hard limit not incremented" + fi +} + +state_basic_cleanup() +{ + pft_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "state_basic" +} From nobody Wed Jan 14 08:06:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwZ53Vgz6PKpy for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwZ2Xj3z3KMd for ; Wed, 14 Jan 2026 08:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377966; 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=w+ro/ociM2ThLVoGA0V1Brfj1Zqbo1Gdisq2Tiu+mlQ=; b=UPCEeZn0btiQ+iSISgXdYtvJOop2GWA5xqXW0OphgP92RQnghoOLZQ0TVlVJKW0YvwJbb5 mmgaS58IaTjZTxhDR3U78QQTQNNlEfRItxj3H2Szsd739PQ9QHW2Lexn4L+E9l8RLdgIvz CbDQhSSIsLGpeqHhISZnR8SPgSKd46aNL3W2dDG+1iVc82gkyfDE9qGoNjr0KY1PdBrCYT XLjnskXnW4KBrQ+Jpxg9pT6DqDPuN4LNHlyzgnmHypnSmSVuXr7Z4s5WLDFuYLfgdjYJPb PMkJ9MPMowUd4y02Lvk2qKqSzlB8crgX0iP1881UC18JOnL3VVRzfDYsJjgGoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377966; 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=w+ro/ociM2ThLVoGA0V1Brfj1Zqbo1Gdisq2Tiu+mlQ=; b=KLF7cWseMA1CFBzKBsl6jTMlKUZVE3V1aJKLeSzym9oAYCxyQYKgwNa2hll4WsUK2c0mqE b9/au9M6oJ49PX5IK7yjl2CASF/mEn8whixlE5sdLnJUj+rGrFj98rp6nO8l+oWz/5tg/t Ix6xutXQv4o/BcGHtGzkxHFEJuPtinGY+3p073n+KJVPFaLLAYlwB4OcgM8P7d3q9mI6Rw Ek+xU8pozKNhqSExiLxMNisW2i+GCgZoK81x2DiL01uz6gDWRD+xqZR9VE9qwymNCvqUXK HlzKrxJDLHJCeQ0NjYjQqrQx5yzBJf0eu4mjxspNNGxKWP1GyISt6PMxhM3Ylw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377966; a=rsa-sha256; cv=none; b=CvjMAjvxhDIGXV7lET5YlvGY//z707856+6oOICVMSyON5hI86S+eGencxrQKgTN3ddKZ8 +5oMSfxeZkmKnMhGLAgXpKrhrhv8DKSMLirMuKSQOG4jvzdufEakTXu66mbu4rTZJdpbDo oVKUnae7DnHORpvjIzYr3z+Bh1+XOWLJAEcGmZAZdjGloYOxMBCjCFRkpbelBtqshhbZrV CcDvAN1Uxi6SEeZv3sU7K+9FTeKUL+Q6XiC2zYkS6aMHq+gqxhnqI9u4Vr7EGxgC90fl+D oBasbZD0aY7TzwlhkTxmoJuLMC3yuZkwcD/3BnZBYzQ2NpHjCZIcGPm3S4PRTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwZ0xZszqmr for ; Wed, 14 Jan 2026 08:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cbad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: cb7a5d9401d8 - main - pf tests: state limiter rate test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb7a5d9401d83e817e187099ed187eb2f5360f22 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:06 +0000 Message-Id: <69674e6e.cbad.346544db@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=cb7a5d9401d83e817e187099ed187eb2f5360f22 commit cb7a5d9401d83e817e187099ed187eb2f5360f22 Author: Kristof Provost AuthorDate: 2026-01-07 15:46:34 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:40 +0000 pf tests: state limiter rate test Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/limiters.sh | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/tests/sys/netpfil/pf/limiters.sh b/tests/sys/netpfil/pf/limiters.sh index 851c0a95d5e5..17a66ed12c5e 100644 --- a/tests/sys/netpfil/pf/limiters.sh +++ b/tests/sys/netpfil/pf/limiters.sh @@ -75,7 +75,63 @@ state_basic_cleanup() pft_cleanup } +atf_test_case "state_rate" "cleanup" +state_rate_head() +{ + atf_set descr 'State rate limiting test' + atf_set require.user root +} + +state_rate_body() +{ + pft_init + + epair=$(vnet_mkepair) + + ifconfig ${epair}a 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}b + jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + # Allow one ICMP state per 5 seconds + pft_set_rules alcatraz \ + "set timeout icmp.error 120" \ + "state limiter \"server\" id 1 limit 1000 rate 1/5" \ + "block in proto icmp" \ + "pass in proto icmp state limiter \"server\"" + + atf_check -s exit:0 -o ignore \ + ping -c 2 192.0.2.1 + + # This should now fail + atf_check -s exit:2 -o ignore \ + ping -c 2 192.0.2.1 + + jexec alcatraz pfctl -sLimiterStates + ratelim=$(jexec alcatraz pfctl -sLimiterStates | awk 'NR>1 { print $6; }') + if [ $ratelim -eq 0 ]; then + atf_fail "Rate limit not incremented" + fi + + sleep 6 + + # We can now create another state + atf_check -s exit:0 -o ignore \ + ping -c 2 192.0.2.1 +} + +state_rate_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "state_basic" + atf_add_test_case "state_rate" } From nobody Wed Jan 14 08:06:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwc3sJDz6PLFg for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwc2Z0jz3K63 for ; Wed, 14 Jan 2026 08:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377968; 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=gkOZquClEqR6Rvxt4bCtd/7v2CcBgXc6NDDqp8y9St0=; b=tY+MmIQs8l9+e0jFR1ZRWkhCAfE7GaK4MAVqCVmOv4D1rx+El3EuP476N9N5Ezh/itkkNN tNOAViEWwfKABwEWytU2r6P9s35aOHwHtW8rQEilo2OEqH1udqTIHC9DiQifAj7Ox0psQU Zcwxem74yQ/XqbTXPBnUT5+M6FMsBRlARPGv6y/vn8Yr+Tf18AdoEpo2v48F20kTJsLcQU sA7z/OIW+qhuWCFvi3bc7Yg1fPhNVXTZb2xu27wabxZZ56nEZJH2QDMtQmShXA+szWbeY5 cEoWlU2ZtSDGpYQqUpeiEHRljUX9lyYpA9xEhLEy26OsuxWU3rHN7q7H06aDfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377968; 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=gkOZquClEqR6Rvxt4bCtd/7v2CcBgXc6NDDqp8y9St0=; b=IKksxq6NQoRmHsb8Hp6gSJOhg+kz3kiPM5HvQ2GmcTZVT/zILnsCDlmlpmD6UwG6EPlt4+ aMLvBzSCYKEdhJsRDvH+OHwi8tp5jI6yQ/YMWFPwSe3jJFLQvFzv1v+QtnxbktgrvZRgg/ 7FsloLZZrbW4OYuYP2i3NXjc4koIUZ5hMUqUQSnHsKp9JUrfHzsDHWWtv1u4+Fbl0su7Hh ypVGomrxnc7sZ19BRptvRJt62mEENyNtJx9hGXlT5Y2r5IxchvIv9BdRwi0t3cHEZZikcQ lXFgi9YMQwMTbR+yFzg9y+X/q1NK6KnWSdybzPEz3fJPxp9BYqj3CZsSAJqPPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377968; a=rsa-sha256; cv=none; b=i2DK/EohjKFJ+HmlZEmgQLoGgd3j0Hodkw63oVxf0E1y5Ulmkujz3PTpHVA8bj0B5n9urw Cm9DuOKYonrKewzdmSxAc7hIkLBAKxP/7wXeTmIEodAQlODc2N4C2HB5K3+DXQzk5MTKj0 N716ApVT9f37UV5eN6D1XmVg2CxhKD9aqutLvRfb8i+zEu7GSYEd2ICxxwvzqhQyUlG8d/ uIc5Gk5UuTbFPnO4TnN9Cg/VCuCBFqktJjdVxdhwxaYJbIfyfsXzn77hkQ3oWP1z9k1rkq sQUG1KVJvpYB9iZ6uVuMeWg3knJIRQ926v5jeKC9lQvU2+W18gMaw6ma5OlEPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwc21WGzpnP for ; Wed, 14 Jan 2026 08:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b838 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: e3319f91900b - main - pf tests: extend the source limiter test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3319f91900b7184c0f9f33a24e3fb4440324fce Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:08 +0000 Message-Id: <69674e70.b838.73333866@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e3319f91900b7184c0f9f33a24e3fb4440324fce commit e3319f91900b7184c0f9f33a24e3fb4440324fce Author: Kristof Provost AuthorDate: 2026-01-08 17:37:27 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:41 +0000 pf tests: extend the source limiter test Also enumerate and kill individual source addresses. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/limiters.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/sys/netpfil/pf/limiters.sh b/tests/sys/netpfil/pf/limiters.sh index 3f70c8e79caa..ee58d3974f9f 100644 --- a/tests/sys/netpfil/pf/limiters.sh +++ b/tests/sys/netpfil/pf/limiters.sh @@ -180,6 +180,20 @@ source_basic_body() # However, a different source will succeed atf_check -s exit:0 -o ignore \ ping -S 192.0.2.3 -c 2 192.0.2.1 + + atf_check -o match:"192.0.2.2/32 .*hardlim 2 ratelim 0" \ + -e ignore \ + jexec alcatraz pfctl -sLimiterSrcs -v + atf_check -o match:"192.0.2.3/32 .*hardlim 0 ratelim 0" \ + -e ignore \ + jexec alcatraz pfctl -sLimiterSrcs -v + + # Kill the source entry + atf_check -s exit:0 -e ignore \ + jexec alcatraz pfctl -I 1 -k source -k 192.0.2.2 + # Now we can ping again from it + atf_check -s exit:0 -o ignore \ + ping -S 192.0.2.2 -c 2 192.0.2.1 } source_basic_cleanup() From nobody Wed Jan 14 08:06:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwb34f8z6PKnL for ; Wed, 14 Jan 2026 08:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwb1l8kz3K5v for ; Wed, 14 Jan 2026 08:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377967; 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=X4Hwqm88U63dDEcrIj3oPpee4B/tS7Uuc/6vdFwgh9A=; b=L975HbguC3LuDH6OVCDJpRl1CLLbZBFoolo+MIo8cpRpERgamwx0emdhye2/4V3ZZZMhnK Di932YWa5zn1rrcjyfgEtK18pWw2ed6IegxCXJ8gwF2KzZix95YIMnc0HNSiQsgtqYL0GE dqt9fnv6jI4O+8Je7TQpeUfA5MQyeaAGXEzLxJK3wpSu7FTReDQxfvuXvNVzOjX1MY29tl rEAikrRFEZr7kHa30L1H2JhgAokB/EM9mCCEJs6pCj8MszWDNWuZRIJpkgZEqDHRl+Mp6B oFJoDGVrdlJknH4OU/9WWyzUHu/69otDWamgjdLBh0zxsapp2Yfv/Vd/goax3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377967; 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=X4Hwqm88U63dDEcrIj3oPpee4B/tS7Uuc/6vdFwgh9A=; b=dd2dS81Z01tVHybAnybkTZyn22GS7ichrTFDfUsO9ta6IPW/c53phlQCZW+nDeVyY907jc Ewb+egmt5FdJn43ZH+Q/ZgOvCoC/JkqQZGb0Is3NaSHtJrIC5LfUR5Qj4zwCPjbK+WjC/D tSxMhZAS9BnDTaEzdY4FQ0qvc7MUKfaZiezfRMW3iSLfKfmlLYePnpkgbnVnU/jArOKXMP 6FEE/S6kf9jVa34nwtoFmzAXXtiIQus1JweDgJvqGS+jIFgYVy4ibuZJZf02ikP/Hr54GW diwgAzj4zfjMl/MTP/ayNOPFiU5gjzh6co9xf0vV+t9q/qtk87VUHNShCjRd2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377967; a=rsa-sha256; cv=none; b=cbcgZ/j9wiL0Q/xpuBzbiQnv1Ay3E3iNiitveXC6uIrClEvCwCpOp9QIdx1c1r0fiDBTPo zzEUnUAOMD5utminEOKgjlU2zz/H7PTIv3MM30ZsNExqHjnrWfT2L8jN7JOeZvvAOyPBPD pDsZgiwRjKA/iNMEwlaYdmYluII7ACNIcKEKiD3G5T43OZktLHxiapPk82bHFqzkY/dbpq eoyhPZ3omuGVaIGupOfIBj6g8ZkPjUm6Nf7kBY6chCthi6dZK11Eou8d22IMbbXxgGDWa6 P791HoVi5Pp//UE+gOLvs+wmlTWo+lRy5Y2/qp/DWWjpeYcJTUUx7cr21sdjKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwb1GgszqbT for ; Wed, 14 Jan 2026 08:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cc27 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 086a3cb4b850 - main - pf tests: basic source limiters test case List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 086a3cb4b850184448f0f127ddd8f875a3070164 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:07 +0000 Message-Id: <69674e6f.cc27.5b744674@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=086a3cb4b850184448f0f127ddd8f875a3070164 commit 086a3cb4b850184448f0f127ddd8f875a3070164 Author: Kristof Provost AuthorDate: 2026-01-07 17:06:55 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:41 +0000 pf tests: basic source limiters test case Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/limiters.sh | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/tests/sys/netpfil/pf/limiters.sh b/tests/sys/netpfil/pf/limiters.sh index 17a66ed12c5e..3f70c8e79caa 100644 --- a/tests/sys/netpfil/pf/limiters.sh +++ b/tests/sys/netpfil/pf/limiters.sh @@ -130,8 +130,66 @@ state_rate_cleanup() pft_cleanup } +atf_test_case "source_basic" "cleanup" +source_basic_head() +{ + atf_set descr 'Basic source limiter test' + atf_set require.user root +} + +source_basic_body() +{ + pft_init + + epair=$(vnet_mkepair) + + ifconfig ${epair}a 192.0.2.2/24 up + ifconfig ${epair}a inet alias 192.0.2.3/24 up + + vnet_mkjail alcatraz ${epair}b + jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -S 192.0.2.2 -c 1 192.0.2.1 + atf_check -s exit:0 -o ignore \ + ping -S 192.0.2.3 -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + + # Allow up to one source for ICMP. + pft_set_rules alcatraz \ + "set timeout icmp.error 120" \ + "source limiter \"server\" id 1 entries 128 limit 1" \ + "block in proto icmp" \ + "pass in proto icmp source limiter \"server\"" + + atf_check -s exit:0 -o ignore \ + ping -S 192.0.2.2 -c 2 192.0.2.1 + + # This should now fail + atf_check -s exit:2 -o ignore \ + ping -S 192.0.2.2 -c 2 192.0.2.1 + + jexec alcatraz pfctl -sLimiterSrcs + hardlim=$(jexec alcatraz pfctl -sLimiterSrcs | awk 'NR>1 { print $5; }') + if [ $hardlim -eq 0 ]; then + atf_fail "Hard limit not incremented" + fi + + # However, a different source will succeed + atf_check -s exit:0 -o ignore \ + ping -S 192.0.2.3 -c 2 192.0.2.1 +} + +source_basic_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "state_basic" atf_add_test_case "state_rate" + atf_add_test_case "source_basic" } From nobody Wed Jan 14 08:06:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwf0y80z6PL9V for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwd48rJz3KS9 for ; Wed, 14 Jan 2026 08:06:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377969; 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=deI+kKFl1YF35LGZesAvQww9sWznkwT3Wv0qMaadG7Y=; b=MNAml1Lf3TbbcmSL5rWo4toeOLQCGPQrGMMOKQQbPBgc8PLWwVegfoC9uMVhTm3ha832cU Oj2mQsZiwV4TdA7In9EAZt2vs9+trEEhsYufcmCkl1xcrzfznK0WQXnxt1A4LLFGFSJmTD YFJAqiIs75sfkjaQInMFO+kOYectRxW6TqVInajYiHxspMZqTnoKqVj3ZroNjpGO3pAiHx jUvihUhXeTiFUu7a/LYgi6kGu/i3+jchW7GUN9xD5HH9xtSlj9+JdPRum6dw2xKPlBYea2 kszHR+2R2NNt7cusL1NHyzHwHwsm+Xl8b66Tiqg/S5t/wo8dbFscdL8WXwRnOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377969; 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=deI+kKFl1YF35LGZesAvQww9sWznkwT3Wv0qMaadG7Y=; b=q6mqex9UHlKpHHAIEgoIal28jyRf1zbxvtiLGMRN8I84bb8HH7vtCg4midY/c3o0vIj/UH xIFfJ+jV5KxxbpPnjxAi733c9apeihdMLUWkF1VSZtqCHRR4QfCXqv54ODrlHrtKrL0CwZ Or4IVgRPYLnFnk2ugmMbat4aVrgg1OsnYBpYw92YeReIUxm0to4Y7gMlltTCZhSuZMHA6t 6o6/goQv2LiWN3NDxJ4D7x5skDmG1HZeKklGSR7SJwzZjCLScmtrJimvDcw80qIrvVOvXn 3zq3ipqopCZNy+NhumIU3ONtGSxkZWd60WQampNlZ+Zq9iUoE5xtgTwH8oPZmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377969; a=rsa-sha256; cv=none; b=tLMsqHc/3s8FRFIo01m1jWbCvp2vHp6Xa9vMAB1lsBGBqVn9BryOsncGrSyac4nMEBTQ4G JW/DEsjN8fj4lxdDcnNLKAr6PgrHlFn13tyt9I/LFDGJYlTAAG6jg+nLrA+OacwBaELqp0 IDRrIYoN6anbmDnJDfbpLELBGM23Y2L0S++TPpK9il3BCX8WB8YxdzQJ2IX23lLyjafNJ4 lH1vgKFdC3uYNcLodxFf0s4QKF/m/B5JgGgyYc7inbEJyH6Ln6ZxFTUSt9SmXbe9utL+pf AAqkCmPHYoHto58+4flSRSdbycmEGKB4lAu0k7J+cGQuD9nyJ0EgSZimZt5Ksg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwd2NBxzq5G for ; Wed, 14 Jan 2026 08:06:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a7e3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 02126f8cb35c - main - pf.conf.5: spelling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 02126f8cb35ca66380a43a58143e0c37154a99d3 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:09 +0000 Message-Id: <69674e71.a7e3.55f53969@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=02126f8cb35ca66380a43a58143e0c37154a99d3 commit 02126f8cb35ca66380a43a58143e0c37154a99d3 Author: Kristof Provost AuthorDate: 2026-01-12 15:56:37 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:41 +0000 pf.conf.5: spelling Obtained from: OpenBSD, jsg , 86739c769e Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index d4bd61f970ff..f8f440d7a5e5 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -2368,7 +2368,7 @@ block in proto icmp probability 20% .It Cm state limiter Ar name Use the specified state limiter to restrict the creation of states by this rule. -If capacity is not availabe, the rule does not match and evaluation +If capacity is not available, the rule does not match and evaluation of the ruleset continues. See the .Sx State Limiters @@ -2377,7 +2377,7 @@ section for more information. .It Cm source limiter Ar name Use the specified source limiter to restrict the creation of states by this rule. -If capacity is not availabe, the rule does not match and evaluation +If capacity is not available, the rule does not match and evaluation of the ruleset continues. See the .Sx Source Limiters @@ -2664,7 +2664,7 @@ Pass rules can specify a state limiter using the .Cm state limiter Ar name option. If the number of states allowed has hit the limit, the pass rule -does not match and ruleset evalation continues past it. +does not match and ruleset evaluation continues past it. .Pp An example use case for a state limiter is to restrict the number of connections allowed to a service that is accessible via multiple From nobody Wed Jan 14 08:06:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwf5GrZz6PLFn for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwf4KQvz3KNZ for ; Wed, 14 Jan 2026 08:06:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377970; 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=yMwkfsm17N/ZH1MhPBiaohhMn17+lPMxdG3hOHBKRxw=; b=Uq2rFYOzIiONPBHHxCiif6miF+DTtnivA42mUXYeKwkJMeZ2nRMEvh8+fqRhHpIC0Svuqk H3En3cYasSlagZZdy5vFV7EjDWP5kLSbyJM+ww1Xo7JJk+TDXr6u03dUKKgQqgGwZ7jXbK RpsmPFn2SrtEuaF8fM0h7ASeSwpQOBbef+hmAOSmTWZboQheYAq1sMFQnUpcI5sVGzs/C5 nzDJoQzH2UKXxZ/OtqiCSJ5OQCPUYVJrEKQ1/XGoZSSWX2OdFgsXmuAirgz3cn0uXMpcgo UVpoXc5xy1D/Ky1/UXtk1hF/WCpt/WUV7GGGhlq4hC2FbHwU3YuxPLQwwQ7JUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377970; 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=yMwkfsm17N/ZH1MhPBiaohhMn17+lPMxdG3hOHBKRxw=; b=L8m9yVGDcDM3WO2EIYIHi04MhOSCRsDScqsKsBRTqLbajoHuGSyIAkgO4ayQhe1LNeODMW uusH3gJedAHLi0YZ0zKwrOa0KHioOfBo0/kgrYjqmqosGESvMNsmtENzWQKK27EU5G7GMq hWQ3EF47Ca0PauR4529uUzkY4+BOdbut41UvvT223g4l7vFfTWOdedB6MyPbA3vDjqlq0Q n/cB9tLQjc9EBAlZsEtzVstYOvMOF+M/2ccVoQUYfiYDaXZzgNuh1UQRPJoMvD6KTnokRi E5ctswPM6TEHpqL/Phsd/bsLO+M8TLQjGa1WkLlD/bUfVzWU45z77VrZTCTlsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377970; a=rsa-sha256; cv=none; b=CQ5RBFcLwY6tvFZ9zBdyCcoSU73wINCLll5/JAfXs7QdkchU3FsZT8zUpyTDbf8th1o5O+ aNNOdN0WW7lFjrc+EkTb7/8m92o1ShEOpe1Cm0ry0njKHRy5jZUP0M4dcCtzPV1OGw6wfs IzXJ8qqiEZxSYL59d+MIJfNZthnigDxEFBosMNdstjp7sWXJpYcw2nF04ut9OxFSuKC5YJ JO5pmKhI8xs89ugy1h9n7q+ziULwsXrsGvSISnkk1/8ANg0dMWrftRqmgT6cOubKacGR48 /Tql6Ike08jIwGCbrL9iX/2RxJuB8RBY/q1S/g7uOlNLTgsbpk1zWKzO3pw5Pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwf36bhzpnR for ; Wed, 14 Jan 2026 08:06:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c70f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: f2d2d6f010e4 - main - pf: remove redundant range checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2d2d6f010e48410a4435f73aa60ad3dcefccd3b Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:10 +0000 Message-Id: <69674e72.c70f.2910426@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f2d2d6f010e48410a4435f73aa60ad3dcefccd3b commit f2d2d6f010e48410a4435f73aa60ad3dcefccd3b Author: Kristof Provost AuthorDate: 2026-01-12 15:59:22 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:41 +0000 pf: remove redundant range checks the range checks are not needed because both members (statelim and sourcelim) are uint8_t, they implicitly fit desired range <0, 255>. Unbreaks gcc build. Pointed out by deraadt@ OK deraadt@ Obtained from: OpenBSD, sashan , 3a7be1e428 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_ioctl.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index bc998113dbbb..f6040e2f03a8 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2950,18 +2950,6 @@ pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, if (pf_validate_range(rule->dst.port_op, rule->dst.port)) ERROUT_UNLOCKED(EINVAL); - if (rule->statelim != PF_STATELIM_ID_NONE) { - if (rule->statelim < PF_STATELIM_ID_MIN || - rule->statelim > PF_STATELIM_ID_MAX) - ERROUT_UNLOCKED(EINVAL); - } - - if (rule->sourcelim != PF_SOURCELIM_ID_NONE) { - if (rule->sourcelim < PF_SOURCELIM_ID_MIN || - rule->sourcelim > PF_SOURCELIM_ID_MAX) - ERROUT_UNLOCKED(EINVAL); - } - if (rule->ifname[0]) kif = pf_kkif_create(M_WAITOK); if (rule->rcv_ifname[0]) From nobody Wed Jan 14 08:06:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwh73Yxz6PL50 for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwh53Hpz3KLZ for ; Wed, 14 Jan 2026 08:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377972; 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=Fk87hurnActn4Beh47302L8ThcCEam6SRSWOoyBiRz0=; b=GYaCRpvJriu/82yNMb52a7GlrsbPW/zV6VNCavOqnVlF7DKwkTceoVECC0T35bguYV1TGy 9KnlN79JLf/MD94xpguJj6Y9xXKvnkIpiLRHITNmWh8/2Cs3xXhL5qc9WU1Xq2zhZWac7Z RrOMwjLVNn3xQrumOstq/VXcRV2Hwi5x0IuLxYqgI8iRo39gVsNKx/jfwFiOYxThlM2D7T pPlAmPyxw8/WnE83xL/yZ67lhCZWLeUYRjHPxgS8Sk0qOly63M8/2XXvHqtNUGA0ZJGw+y uu8bZMu/wC+xD2IdJidnO7QQ7/fmTh/A0eNUMrjsrtrlUz7pfyEBINqlz+3x6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377972; 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=Fk87hurnActn4Beh47302L8ThcCEam6SRSWOoyBiRz0=; b=Gmn33Y95QANhI8Kdnv5gdhTGVVHd4a8zEFUY7AUhUuS7DlLqIhkrqqDE3mw1J3vGcp8s5G ALTIOTdBS9YiSZ2BTf2y3PIACX6yrxdgP+Dy0vde8TQQbzmgQRRDCnhexpX/fPVSKcI9Th M9O1Zk5kBGMrxVopANuCll3ElnKhEFza3tpZ7Zd5hj+4b6WnzximkhDxJ2CcKtfjFKGmMp hxUbnjey0bFQmbzoro7toWdivYNFJM2JW02v5Io7fNAbGgUEizXX6HsUWHJOSITKW3pNKh KCSrZEVtylU2zTcr2nLqIxaA4eHe0tE+7CjUis1x0fgq6dvH9ZkD9M04SbF0oA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377972; a=rsa-sha256; cv=none; b=ZMu4DQX2xOqgEMiH4HXMmgBxwelTOsVXa6mF1r4fJwFR1z0+Wg3Lzz1trh/0o/fDjBi2Az lsJOcBXW/+NnDxrobVsZR4FP+9psRECLBqApIf0FHU9AMMEKOGWsMWILDp+mEAdukIF3tu 9Hq5LVqo6TM/NCSUD6bh/sCaUA9is4kl96D2OrC/8ms56EwUQH3QAkoRYLVQJ7vBe7mqi2 yHVgwMV6noNaemO6eiOj2GHX8lkYVKbCvPGurnVbh8TFc6k3qrnQTsA2C18jR/ZHfT5GsD sYh4D3kjYDFoDeheaAJFrY1i3lWLMlRox2TyDq0EBU62USwHAl5LzMRnaIkOtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwh4f8vzqYZ for ; Wed, 14 Jan 2026 08:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id af7a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 393243a38d74 - main - pfctl: ifa_load() in pfctl_parser.c may attempt to read beyond the buffer. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 393243a38d742e54d93c9c9ddb6c8f95fc0cb72e Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:12 +0000 Message-Id: <69674e74.af7a.30c5e251@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=393243a38d742e54d93c9c9ddb6c8f95fc0cb72e commit 393243a38d742e54d93c9c9ddb6c8f95fc0cb72e Author: Kristof Provost AuthorDate: 2026-01-12 16:08:35 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:42 +0000 pfctl: ifa_load() in pfctl_parser.c may attempt to read beyond the buffer. The current ifa_load() is not paranoid enough when it deals with information which comes from kernel. The function just ignores sa_len member in socket address returned getifaddrs(). The issue has been reported by anton@. The idea for fix here comes fromy claudio@. OK @claudio, @deraadt Obtained from: OpenBSD, sashan , a48d060175 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_parser.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 25d52f4ec823..233f5d641d2c 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -1598,11 +1598,17 @@ ifa_load(void) copy_satopfaddr(&n->addr.v.a.addr, ifa->ifa_addr); ifa->ifa_netmask->sa_family = ifa->ifa_addr->sa_family; copy_satopfaddr(&n->addr.v.a.mask, ifa->ifa_netmask); - if (ifa->ifa_broadaddr != NULL) { + if (ifa->ifa_broadaddr != NULL && + ifa->ifa_broadaddr->sa_len != 0) { + ifa->ifa_broadaddr->sa_family = + ifa->ifa_addr->sa_family; ifa->ifa_broadaddr->sa_family = ifa->ifa_addr->sa_family; copy_satopfaddr(&n->bcast, ifa->ifa_broadaddr); } - if (ifa->ifa_dstaddr != NULL) { + if (ifa->ifa_dstaddr != NULL && + ifa->ifa_dstaddr->sa_len != 0) { + ifa->ifa_dstaddr->sa_family = + ifa->ifa_addr->sa_family; ifa->ifa_dstaddr->sa_family = ifa->ifa_addr->sa_family; copy_satopfaddr(&n->peer, ifa->ifa_dstaddr); } From nobody Wed Jan 14 08:06:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwg6rdLz6PKnY for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwg4LLDz3K8m for ; Wed, 14 Jan 2026 08:06:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377971; 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=hDYaWBXtqLvVrTx3PZKGfRxXu4sxvStKvqZTRkxJYDk=; b=UC03YT/N+B0i46A47tGw2067pq0mS7n9GTTG7gGQGdbvZWnQF9IdGqZbxC3oTL43XQh6In aGdS0nNllc07yt94AtPgKNO9+ZnyuWoJypRbqQcZ4+/bm3DT9/q2dDT1Wmg3TajZ2+ZQON LSYOxj5yFvjGuXiRtuzOX+IC98xwXr2E5W3WfPTxk4DKcleLFcUvoyG5kgsgKCtHI6r8gL IMVVo6kpe30vVUTUtVZJaI4i9G1xTSneQDo3Hk9qsPgY0nK8+RYcvR/lDeCZtM6xWGfs8Q kiniqBKlxwkMjRp3uZpYd/YejJiZ9uw+Y4J8Ju+NqG5QlmvGoYXl4OlzznYAXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377971; 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=hDYaWBXtqLvVrTx3PZKGfRxXu4sxvStKvqZTRkxJYDk=; b=LGsxdDwljqYJdI922t072Kr9JOugEstIvRf9zrr3cTkFVLeN0uzXWhGD0mic3j/fHVgSF9 YjG5qYXATEmraT7hZCijtOyW0ML+47lnNyQhzuh7TZT5m4P4bPll6+bt7neLzdIAPwlGWU t4+ZqBOEbn2XZ9pFq7WoCjVW3rf+H4DKmb2GYn8sD6bxZ0IjqRj7DyEkCwjZ4utbin08va RsaRy84rZQ7Zt2XlzvrplTa+9TGrN/vgRX+2nlnY3r9APFaWsEWXkClnDTXkmyrZxtqmJ+ 0OXFm87DoVha2KsI0z9/acD3ZE1jQXFsX/PDalQpS9v800jaQUNxbOtGn7ID0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377971; a=rsa-sha256; cv=none; b=JslLVUMcFPzQzMnNzqhNE1eb7IlTnk7dGycXmgTn8lMHjMWb5m+bAnk37bcLnWCRqza/WQ KDT4wd2h67yKlbr77et6VuR9bWcvrwsvTZ1rXBxr7W40aOicIsL0wWRZpLcMuv5TfbJMsE FNvLD01HCqS+mlcentdpc/y/XXld6d2TPs7niytqUzjj4doFn1ItIbZkkez1Gwqy/B++qg 3H6Xgt4AMSmYe2CSc6pf94ffCJSnb1xRe08skLStqexeZ2cDgYq4rJDwrGSb34lFwvsKBD gmjhmxoKkEF48LYuBj7rmunpJo0FiMBFZ1Qv74kKnYPOoqTMjQy0pRVPOb60Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwg3tzyzpnS for ; Wed, 14 Jan 2026 08:06:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b5c8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 95ee802f410f - main - pf: state/source limiter finishing touches List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95ee802f410f9b8afec2c3e66e524ec8ca861dae Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:11 +0000 Message-Id: <69674e73.b5c8.353515db@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=95ee802f410f9b8afec2c3e66e524ec8ca861dae commit 95ee802f410f9b8afec2c3e66e524ec8ca861dae Author: Kristof Provost AuthorDate: 2026-01-12 16:04:24 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:42 +0000 pf: state/source limiter finishing touches Those finishing touches were supposed to land with source/state limiter changes. I failed to spot them during code review. OK dlg@ Obtained from: OpenBSD, sashan , 098c19176b Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_ioctl.c | 53 ++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index f6040e2f03a8..ddca4fae940b 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1632,6 +1632,7 @@ pf_statelim_add(const struct pfioc_statelim *ioc) return (EINVAL); namelen = strnlen(ioc->name, sizeof(ioc->name)); + /* is the name from userland nul terminated? */ if (namelen == sizeof(ioc->name)) return (EINVAL); @@ -1640,7 +1641,11 @@ pf_statelim_add(const struct pfioc_statelim *ioc) return (ENOMEM); pfstlim->pfstlim_id = ioc->id; - memcpy(pfstlim->pfstlim_nm, ioc->name, namelen); + if (strlcpy(pfstlim->pfstlim_nm, ioc->name, + sizeof(pfstlim->pfstlim_nm)) >= sizeof(pfstlim->pfstlim_nm)) { + error = EINVAL; + goto free; + } pfstlim->pfstlim_limit = ioc->limit; pfstlim->pfstlim_rate.limit = ioc->rate.limit; pfstlim->pfstlim_rate.seconds = ioc->rate.seconds; @@ -1690,7 +1695,7 @@ pf_statelim_add(const struct pfioc_statelim *ioc) unlock: PF_RULES_WUNLOCK(); - /* free: */ +free: free(pfstlim, M_PF_STATE_LIM); return (error); @@ -1845,7 +1850,7 @@ pf_sourcelim_check(void) continue; if (strcmp(npfsrlim->pfsrlim_overload.name, - pfsrlim->pfsrlim_overload.name) != 0) + pfsrlim->pfsrlim_overload.name) != 0) return (EBUSY); /* @@ -1995,7 +2000,7 @@ pf_statelim_rb_nfind(struct pf_statelim_id_tree *tree, struct pf_statelim *key) int pf_statelim_get(struct pfioc_statelim *ioc, struct pf_statelim *(*rbt_op)(struct pf_statelim_id_tree *, - struct pf_statelim *)) + struct pf_statelim *)) { struct pf_statelim key = { .pfstlim_id = ioc->id }; struct pf_statelim *pfstlim; @@ -2056,24 +2061,19 @@ pf_sourcelim_add(const struct pfioc_sourcelim *ioc) return (EINVAL); namelen = strnlen(ioc->name, sizeof(ioc->name)); + /* is the name from userland nul terminated? */ if (namelen == sizeof(ioc->name)) return (EINVAL); tablelen = strnlen(ioc->overload_tblname, sizeof(ioc->overload_tblname)); + /* is the name from userland nul terminated? */ if (tablelen == sizeof(ioc->overload_tblname)) return (EINVAL); if (tablelen != 0) { if (ioc->overload_hwm == 0) return (EINVAL); - /* - * this is stupid, but not harmful? - * - * if (ioc->states < ioc->overload_hwm) - * return (EINVAL); - */ - if (ioc->overload_hwm < ioc->overload_lwm) return (EINVAL); } @@ -2089,10 +2089,19 @@ pf_sourcelim_add(const struct pfioc_sourcelim *ioc) pfsrlim->pfsrlim_ipv6_prefix = ioc->inet6_prefix; pfsrlim->pfsrlim_rate.limit = ioc->rate.limit; pfsrlim->pfsrlim_rate.seconds = ioc->rate.seconds; - memcpy(pfsrlim->pfsrlim_overload.name, ioc->overload_tblname, tablelen); + if (strlcpy(pfsrlim->pfsrlim_overload.name, ioc->overload_tblname, + sizeof(pfsrlim->pfsrlim_overload.name)) >= + sizeof(pfsrlim->pfsrlim_overload.name)) { + error = EINVAL; + goto free; + } pfsrlim->pfsrlim_overload.hwm = ioc->overload_hwm; pfsrlim->pfsrlim_overload.lwm = ioc->overload_lwm; - memcpy(pfsrlim->pfsrlim_nm, ioc->name, namelen); + if (strlcpy(pfsrlim->pfsrlim_nm, ioc->name, + sizeof(pfsrlim->pfsrlim_nm)) >= sizeof(pfsrlim->pfsrlim_nm)) { + error = EINVAL; + goto free; + } if (pfsrlim->pfsrlim_rate.limit) { uint64_t bucket = pfsrlim->pfsrlim_rate.seconds * 1000000000ULL; @@ -2161,7 +2170,8 @@ pf_sourcelim_add(const struct pfioc_sourcelim *ioc) unlock: PF_RULES_WUNLOCK(); - /* free: */ + +free: free(pfsrlim, M_PF_SOURCE_LIM); return (error); @@ -2206,7 +2216,7 @@ pf_sourcelim_rb_nfind(struct pf_sourcelim_id_tree *tree, int pf_sourcelim_get(struct pfioc_sourcelim *ioc, struct pf_sourcelim *(*rbt_op)(struct pf_sourcelim_id_tree *, - struct pf_sourcelim *)) + struct pf_sourcelim *)) { struct pf_sourcelim key = { .pfsrlim_id = ioc->id }; struct pf_sourcelim *pfsrlim; @@ -2214,12 +2224,6 @@ pf_sourcelim_get(struct pfioc_sourcelim *ioc, PF_RULES_RLOCK_TRACKER; PF_RULES_RLOCK(); -#if 0 - if (ioc->ticket != pf_main_ruleset.rules.active.ticket) { - error = EBUSY; - goto unlock; - } -#endif pfsrlim = (*rbt_op)(&V_pf_sourcelim_id_tree_active, &key); if (pfsrlim == NULL) { @@ -2305,13 +2309,6 @@ pf_source_clr(struct pfioc_source_kill *ioc) PF_RULES_WLOCK(); -#if 0 - if (ioc->ticket != pf_main_ruleset.rules.active.ticket) { - error = EBUSY; - goto unlock; - } -#endif - pfsrlim = pf_sourcelim_rb_find(&V_pf_sourcelim_id_tree_active, &plkey); if (pfsrlim == NULL) { error = ESRCH; From nobody Wed Jan 14 08:06:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwk1jLPz6PL7D for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwj68kgz3KPG for ; Wed, 14 Jan 2026 08:06:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377973; 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=TOCs6l0NbufAHia9fc5TKGOyqn07Fm014oiHcKUQVAs=; b=vjVhxAsYS5y43V7AEXlnMQuGQURDGhZocXD+b1IGRZn3pcdqUXTnkJpxPQrwoo6oQvW3L3 IMrXk+/PKiqDPi21GIIL1XnN3sVZAWELoehi+PsxKgwHHaMriLMbgo8lk2vi0QhNT0TSUp jgibtDnaa2ThOk3Rlhn07G2HeqWenm8BMfyaaeT6TzzucrLgAiy6RDGiDvefFU/1TnI1KW NMVdFf1N1oVHI8a10H2gZ0SCdl5XDs4Krj6S+YwAmC7EZ3pd9W9NfYVZj71+5zytDdjIIc 7QDvSYAo5YMjiSvTYMD0RWv9idF7lrbotpNg+U3NxNIQFYEsvSvdY3VtksZVxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377973; 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=TOCs6l0NbufAHia9fc5TKGOyqn07Fm014oiHcKUQVAs=; b=wTtyVlQrw34DgbVdyaPpQCT5V2e/hqQonqWzhQLySQao89xmGEVMKg3bSj3pPHxJQfu3Nu QPQse+rO5yzJ89c/9DCjqtkDx/KiFpMow1K/h1xvle6xsXnHPwg+wGSDOxBKysm1z+iGOF 1t3jfkYPzfXLO4oi8waHZFX2ikAD9G76yOho5DGaf4ELLu9MKh9gwtwjfA5e43WgH/ziYn svACBQ3i7niHdvq9iyZ4ql2405IRBuwZN4M14kS2SmaqyJydItANoHABoK/qDiU3FE5m7Q vsrfzo8IoUa+X2+zAFHjZTgLKJ2YzrcL6U8VuoXIRWEw9eErNpDvKpTpyBeRZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377973; a=rsa-sha256; cv=none; b=kxSbqJon5gkNymVdp5Aj3ayQMFsC48wP8fEtxVjC6xAzlCQRtQL7ufUlncz7rWi1ps8BqH hOGFeqzL/2VRP3WU7OWEkBHyEunFhXTmzTM1E3ROGlibuyW6oc+c9LjKyjOOt0VFuWu+JS +0OA3Q/Dloxp8hsCXNvONl8L0uKNj88ADvzrBNFGm+Db6BBuY6D8/cAP/mqdVSVUYJm/3c B2UhNSfm5hdULy08+ugvLa3voL+bJy5AEqrMAei/Q9fdbwKv7bljFEevOcSPMg4WXtpozv NjFWotVk4VDmqBSPe595FDzKxqQdF3E8JbbytoHc2i4u2MpZaWPNpIybMDF5hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwj5Pvdzq5J for ; Wed, 14 Jan 2026 08:06:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b93b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7af7d6d61d41 - main - pfctl: distinguish broadcast and PPP peer addresses List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7af7d6d61d416e0c2a340ca7f6d03b2c4bd631f7 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:13 +0000 Message-Id: <69674e75.b93b.492500fb@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7af7d6d61d416e0c2a340ca7f6d03b2c4bd631f7 commit 7af7d6d61d416e0c2a340ca7f6d03b2c4bd631f7 Author: Kristof Provost AuthorDate: 2026-01-12 16:14:31 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:42 +0000 pfctl: distinguish broadcast and PPP peer addresses pfctl_parser.c, ifa_load() should distinguish between broadcast and PPP peer address when it populates interface table for rule parser. OK @claudio, OK @dlg Obtained from: OpenBSD, sashan , 2e871bec67 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_parser.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 233f5d641d2c..f85c50652944 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -1598,14 +1598,15 @@ ifa_load(void) copy_satopfaddr(&n->addr.v.a.addr, ifa->ifa_addr); ifa->ifa_netmask->sa_family = ifa->ifa_addr->sa_family; copy_satopfaddr(&n->addr.v.a.mask, ifa->ifa_netmask); - if (ifa->ifa_broadaddr != NULL && + if (ifa->ifa_flags & IFF_BROADCAST && + ifa->ifa_broadaddr != NULL && ifa->ifa_broadaddr->sa_len != 0) { ifa->ifa_broadaddr->sa_family = ifa->ifa_addr->sa_family; ifa->ifa_broadaddr->sa_family = ifa->ifa_addr->sa_family; copy_satopfaddr(&n->bcast, ifa->ifa_broadaddr); - } - if (ifa->ifa_dstaddr != NULL && + } else if (ifa->ifa_flags & IFF_POINTOPOINT && + ifa->ifa_dstaddr != NULL && ifa->ifa_dstaddr->sa_len != 0) { ifa->ifa_dstaddr->sa_family = ifa->ifa_addr->sa_family; From nobody Wed Jan 14 08:06:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwl3kZ1z6PL7L for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwk6dGJz3KJ2 for ; Wed, 14 Jan 2026 08:06:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377975; 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=KLY3Q+Nj5INz2SRzcvAsrIiuLvndtXVXnE8KUn/zeZY=; b=XL6Je4CfEWk46plxcFwrd07D2/Y5MUK02zTujGxWp/T1K+QAljbHxSzgE453hoEng3FHzB 65buPocla6z8dlpqnpBcFpchlCPfespExp7rr3c3n0UzKiXt8hK74KYHh3JSXGWVBScVIe RxRlPWvwdN7FYxIkj4nne+jRcDgdMp+kW0GGn7oHJahqIAI6eZIRYj3RplGLQrfZt1SUQF l1B/x2EXka4EC8hwaFQTg/kv9a8UVYcNZy+gQNqEe38sEsnZKjXA9PrZSd/aGwYwP/BCB6 Y2p4aR35JGH8ZjakD+38RDgzV+AgD1yFs/BeytBt7+1Qa9Yq/JZmVGMgALOF0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377975; 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=KLY3Q+Nj5INz2SRzcvAsrIiuLvndtXVXnE8KUn/zeZY=; b=jz1m1QCIuonUYNFGId2pdd+WDPC3fU3PP3ECq/rC0cX53qPRim8Tt1DYi/k8C09hfDeXyh 0VG8OyBrAGiuHGTd5UF3Xk3sPmdq8yZjBpa3aUNCDFDz2TZgRNjBtoktiHbW32v+v5RH/e 20NCSSou2KiBxzE05kJ6DkiL5EvdPOksEVe/tOtuKLpLFSshmBXyD6FftsNpbNuQHmygkO oTfaT1J18YvVJ7pYRmqBXIyphz1A9Y/nou7btpojgU9U21+pg+C633aWxsSQu+SpCJYLRr OeFtVbK083CRPg+PMlfQpxNWmufPlMP8s7bKVmXsU4V40MdPJogGrzAWa3xdGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377975; a=rsa-sha256; cv=none; b=DnEutwQeE8p7EuUJi/DKDAqHZBYMDzDUsYkykfDYNr1JxL1dat4pb+t8nE9Nvf5OjC4AyD FuEFr+1Qje0WqytVoIb6fVejCfw6NuWWvZiCcqdR+EUTeHb0imyRcu5swqDMUANnuD6IIB QHFVWBihHGSUI7iLDFJhFUsQ3udtuWHZd0X+gm6PQpkCuMnvNdpD/rBE4D6OSkC3Fz7Lp/ riI5wx7DvpiM/wKa2mnTK/BMUmnWmK31z9/zzMtOu9RL2Bdbzep+pOrMxuyBlSEII0ftZ5 55U/T9nBjLtRjqjObRdBcyyiq+TZ5CRAdixhw+TBqANSbw4Og8PhDaEx5hU0YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwk68xWzq5K for ; Wed, 14 Jan 2026 08:06:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b93f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 1550fcf802e3 - main - pf.conf.5: s/State Limiter/&s/ in .Ss List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1550fcf802e3413e2ecb39fd81f7bff1c134c3f3 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:14 +0000 Message-Id: <69674e76.b93f.476c3488@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1550fcf802e3413e2ecb39fd81f7bff1c134c3f3 commit 1550fcf802e3413e2ecb39fd81f7bff1c134c3f3 Author: Kristof Provost AuthorDate: 2026-01-12 16:17:56 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:43 +0000 pf.conf.5: s/State Limiter/&s/ in .Ss linked with the plural from other text, and matches "Source Limiters. From Atanas Vladimirov. Obtained from: OpenBSD, sthen , d4acfc5766 Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index f8f440d7a5e5..6a778eed2214 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -2627,7 +2627,7 @@ Example: .Bd -literal -offset indent pass in proto tcp from any to any port www synproxy state .Ed -.Ss State Limiter +.Ss State Limiters State limiters provide a mechanism to limit the number of states created, or the rate of state creation, by a set of rules. From nobody Wed Jan 14 08:06:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwm3bg6z6PLCt for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwm0gbpz3KfC for ; Wed, 14 Jan 2026 08:06:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377976; 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=X0nWyvvsYbiyZtqWv+/loJki0qriNUjVYmSs4ZF40OM=; b=cw0kmwUat2B1h1o07bbA9ccS/vfaSo0b/5ovre5d33/Sj82Lfgyl7F5AWY1UWjQu7K62RL GeP9X5+flB2uypKW4Vt8MfL86gIQ09AIGhX91rDr5jnjwcH0/jrXJnA2+bRKi7PX1lzuaM RtP7PQ79mUYmeDfbK8jGRCdvRaNHl3hxmO24SRwmRn+SbUvq6WOKT/B46sqvUpWBhYgy9g CePUSdevuTa1AC/os20DrjBWyLmJ6E3uUtAVlmLOw9N+JfQYEEuBqxeEDJKihpMabra4ng Yg0kDJNNuNJ7l1mCdX1F0Tz/8TjKcwMmRIIL8CVauhawbA6WwVoFUnxve9ZH5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377976; 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=X0nWyvvsYbiyZtqWv+/loJki0qriNUjVYmSs4ZF40OM=; b=qpZufT562mFQu/zjWI+YXFEqXGPjZqujzbsKdN2XWqR2mywKzQGJ4ZVFfe3CFB0Gb2urXr TN82p1ytL3jWgolFYpBdY9x2Vrxn8HHS8irsfbcFFY9VjksDpncJsWFItge9AtjnMndYA1 +3OJEH5QG8zfC1PQZduu2pji8R+jGtWXe3aT+UstaUHuuMj+Pk1srf4M8uVaMDPEqr0mlG /kNa87EGByWUzrNyHrD4H2qPrszPFyikJVB6UwI0WliZImcuZW+vg7uN9tJFfavT9i7ciP wSdbyYekDEx9Et/iwJJxUobaYqYsQboO2vobF+/h3+ixEBVdiaob0Yp0XBVAKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377976; a=rsa-sha256; cv=none; b=DmEmSabtGoRJMgHmq0gqS115QmYERR2zRecRzIVS4q5h4iGLD+7G0yO6L3uonH15Er/pZn eaHxHNto+9N9LcP/k4TO1VGpGiQCUWfG/7QQSDN94JXZ1IjbSOA+g8iE7ZuDRaB4uMddSJ 48YjHtNhWkP1QnE+x1wgjsNsTmmN5aJF5DpiwgFHQTUlOAXwEh5WLpT/B8nCwKcuR1OX5z LJrx7Myt96TlSp3JjBp9QVrNNIJ02uRcDVKslAWxY/1pHb6ChJrFbOH5tZ4a+POwRQUJb5 4O9Ml1vNEykYEJilt0UidzUTlhhLqDy8G9yerUT0qo6Up+sEZ3HRksTQUvPz2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwl743xzqbX for ; Wed, 14 Jan 2026 08:06:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b5cc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 1ee4405a00d7 - main - pf: avoid a shadowed variable in the pf_create_state() source limiter handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1ee4405a00d7bcfa5545bba7a78b71cdd4cfdc20 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:15 +0000 Message-Id: <69674e77.b5cc.350cc295@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1ee4405a00d7bcfa5545bba7a78b71cdd4cfdc20 commit 1ee4405a00d7bcfa5545bba7a78b71cdd4cfdc20 Author: Kristof Provost AuthorDate: 2026-01-12 16:19:52 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:43 +0000 pf: avoid a shadowed variable in the pf_create_state() source limiter handling the code that unwinds state creation when something fails needed the pf_source variable at the function scope to be set, but this was masked by a declaration in the scope that sets up the source limiting. this results in a NULL deref in the unwind code when it needs to clean up the accounting for a source limiter. i found it funny that i left this comment for myself in the unwinding code: /* who needs KASSERTS when we have NULL derefs */ ok jmatthew@ Obtained from: OpenBSD, dlg , fc9311361f Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 88b110d744ee..79948b218428 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6846,9 +6846,9 @@ pf_create_state(struct pf_krule *r, struct pf_test_ctx *ctx, srlim = ctx->sourcelim; if (srlim != NULL) { - struct pf_source *sr = ctx->source; unsigned int gen; + sr = ctx->source; if (sr == NULL) { sr = malloc(sizeof(*sr), M_PF_SOURCE_LIM, M_NOWAIT | M_ZERO); if (sr == NULL) { From nobody Wed Jan 14 08:06:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwn281Yz6PL7Q for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwn1WXkz3KTL for ; Wed, 14 Jan 2026 08:06:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377977; 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=fbbcZnqAWOMNs+7UiN0/MP4wkPw8+DrWA6FvkeZMzUI=; b=tEFstgBlF4PGxP44YDSnShCwZDjXVPZ6Oc1WQq8k0uZXyeLu0hQygtER7ngHMT0ay2TMF+ Wn3St8jmB0n8BxJ/QszPJs3K20cSg802bQrP/lnBTxwexBCaT+1xAuBXCApMwyf3QzTmaN mj7/DPjl7BK8RTFKWECHCcvG/AdbIfcYpNpU28AcXbp8Tevaevd110eWmyaNcQe/gcuBdJ JnssJlYuZQSqGID1+tEoqiNhwgQ2sdktthc453ai9JPp7HYl0dvDH7ZmgTrLFvLUwUOTnz jzmTWa0FlUnIxeZXrW0DHHoXAp9RXMnkBVQLTwPLjVd++gJhMGqETLh+JUDW+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377977; 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=fbbcZnqAWOMNs+7UiN0/MP4wkPw8+DrWA6FvkeZMzUI=; b=HtNzv2oO8RFEqU9RiEJIUPFSapNz5ctlsd7fOuvJneBnejYo+yzwpyLdb/dFfHosX8ALw6 bLvqh9wig00QOuzDqdP7YEMwzpVNyMgrGjAxoIZN0bzLAVN9j443wxCv1R7wnVQ0NCtmBZ 8zM7aoYZ5Sc01C7CK+8/cuDid8B+ndNhbY8MmYQKvvM8TuY+LremWpUkk489UIzmNrK5oE pqO6fpWunj9+ayyIvCC4ZzmPEU+S2TbqljLFbabIud53dDVb3XolApd7rg7CTYljDQ97Kk cAARfUbTSNNFHFGlPftCWYfAQTir8vy/eFs6s2gOwB4vJlHnLVtKROUdYx8erw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377977; a=rsa-sha256; cv=none; b=hMoDndP38Wf1TueWKM9GJ6NXr5X81ahrAoJkWSdz5KhbT15iEsWKOg7nID+VwIOf72sJVF UXGmLuLGE4Qm/ipY+hYad16Lq670D8SDs5UAKELQ5LYOUDqjb6HP66uwYOk//Fp9srvOlb Hxbnld4SYFzIx1UGjYXfCl0KRmg9bgn2Ho9CkJOU0494aKVqdOe8Flt00MJyQAUekCYfen eN5qPbP6FxRYgzLLEDAdGFPfRCcJQ1IddNjhJqoomk3H6JZEbphXn8rDaA0o6+CJRT3wUY hLxe8ZMc4RaVW5Fzyu9K0hVH2ChGZxC8Bv00Tln+G+N713E+ZEf9ZI5j7EiW+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]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwn0yJ7zq5N for ; Wed, 14 Jan 2026 08:06:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9aea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8716d8c7d97e - main - pf: configurable action on limiter exceeded List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8716d8c7d97eec231820ecd1dc50c67beb95d58c Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:17 +0000 Message-Id: <69674e79.9aea.19e14875@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8716d8c7d97eec231820ecd1dc50c67beb95d58c commit 8716d8c7d97eec231820ecd1dc50c67beb95d58c Author: Kristof Provost AuthorDate: 2026-01-12 19:37:08 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:43 +0000 pf: configurable action on limiter exceeded This change extends pf(4) limiters so administrator can specify action the rule executes when limit is reached. By default when limit is reached the limiter overrides action specified by rule to no-match. If administrator wants to block packet instead then rule with limiter should be changed to: pass in from any to any state limiter test (block) OK dlg@ Obtained from: OpenBSD, sashan , 04394254d9 Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 12 ++++-- lib/libpfctl/libpfctl.h | 10 ++++- sbin/pfctl/parse.y | 83 +++++++++++++++++++++++++++------------- sbin/pfctl/pfctl_parser.c | 12 ++++-- sbin/pfctl/tests/files/pf1076.ok | 2 +- sbin/pfctl/tests/files/pf1077.ok | 2 +- share/man/man5/pf.conf.5 | 28 ++++++++++---- sys/net/pfvar.h | 11 +++++- sys/netpfil/pf/pf.c | 43 +++++++++++++++++---- sys/netpfil/pf/pf.h | 5 +++ sys/netpfil/pf/pf_ioctl.c | 20 ++++++++++ sys/netpfil/pf/pf_nl.c | 12 ++++-- sys/netpfil/pf/pf_nl.h | 6 ++- 13 files changed, 183 insertions(+), 63 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index a5abe1cadd64..63f61932519c 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1313,8 +1313,10 @@ snl_add_msg_attr_pf_rule(struct snl_writer *nw, uint32_t type, const struct pfct snl_add_msg_attr_ip6(nw, PF_RT_DIVERT_ADDRESS, &r->divert.addr.v6); snl_add_msg_attr_u16(nw, PF_RT_DIVERT_PORT, r->divert.port); - snl_add_msg_attr_u8(nw, PF_RT_STATE_LIMIT, r->statelim); - snl_add_msg_attr_u8(nw, PF_RT_SOURCE_LIMIT, r->sourcelim); + snl_add_msg_attr_u8(nw, PF_RT_STATE_LIMIT, r->statelim.id); + snl_add_msg_attr_u32(nw, PF_RT_STATE_LIMIT_ACTION, r->statelim.limiter_action); + snl_add_msg_attr_u8(nw, PF_RT_SOURCE_LIMIT, r->sourcelim.id); + snl_add_msg_attr_u32(nw, PF_RT_SOURCE_LIMIT_ACTION, r->sourcelim.limiter_action); snl_end_attr_nested(nw, off); } @@ -1707,8 +1709,10 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_TYPE_2, .off = _OUT(r.type), .cb = snl_attr_get_uint16 }, { .type = PF_RT_CODE_2, .off = _OUT(r.code), .cb = snl_attr_get_uint16 }, { .type = PF_RT_EXPTIME, .off = _OUT(r.exptime), .cb = snl_attr_get_time_t }, - { .type = PF_RT_STATE_LIMIT, .off = _OUT(r.statelim), .cb = snl_attr_get_uint8 }, - { .type = PF_RT_SOURCE_LIMIT, .off = _OUT(r.sourcelim), .cb = snl_attr_get_uint8 }, + { .type = PF_RT_STATE_LIMIT, .off = _OUT(r.statelim.id), .cb = snl_attr_get_uint8 }, + { .type = PF_RT_SOURCE_LIMIT, .off = _OUT(r.sourcelim.id), .cb = snl_attr_get_uint8 }, + { .type = PF_RT_STATE_LIMIT_ACTION, .off = _OUT(r.statelim.limiter_action), .cb = snl_attr_get_uint32 }, + { .type = PF_RT_SOURCE_LIMIT_ACTION, .off = _OUT(r.sourcelim.limiter_action), .cb = snl_attr_get_uint32 }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 670688893a6a..d55267e56b4c 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -249,8 +249,14 @@ struct pfctl_rule { struct pf_rule_gid gid; char rcv_ifname[IFNAMSIZ]; bool rcvifnot; - uint8_t statelim; - uint8_t sourcelim; + struct { + uint8_t id; + int limiter_action; + } statelim; + struct { + uint8_t id; + int limiter_action; + } sourcelim; uint32_t rule_flag; uint8_t action; diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index ded74a6391f1..67e0d30890a8 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -257,6 +257,11 @@ struct redirspec { bool binat; }; +struct limiterspec { + uint32_t id; + int limiter_action; +}; + static struct filter_opts { int marker; #define FOM_FLAGS 0x0001 @@ -287,8 +292,8 @@ static struct filter_opts { u_int32_t tos; u_int32_t prob; u_int32_t ridentifier; - u_int32_t statelim; - u_int32_t sourcelim; + struct limiterspec statelim; + struct limiterspec sourcelim; struct { int action; struct node_state_opt *options; @@ -566,6 +571,7 @@ typedef struct { struct statelim_opts *statelim_opts; struct sourcelim_opts *sourcelim_opts; struct pfctl_watermarks *watermarks; + struct limiterspec limiterspec; } v; int lineno; } YYSTYPE; @@ -600,7 +606,7 @@ int parseport(char *, struct range *r, int); %token TAGGED TAG IFBOUND FLOATING STATEPOLICY STATEDEFAULTS ROUTE SETTOS %token DIVERTTO DIVERTREPLY BRIDGE_TO RECEIVEDON NE LE GE AFTO NATTO RDRTO %token BINATTO MAXPKTRATE MAXPKTSIZE IPV6NH -%token LIMITER ID RATE SOURCE ENTRIES ABOVE BELOW MASK +%token LIMITER ID RATE SOURCE ENTRIES ABOVE BELOW MASK NOMATCH %token STRING %token NUMBER %token PORTBINARY @@ -664,8 +670,8 @@ int parseport(char *, struct range *r, int); %type bridge %type xmac mac mac_list macspec %type statelim_nm sourcelim_nm -%type statelim_id sourcelim_id -%type statelim_filter_opt sourcelim_filter_opt +%type statelim_id sourcelim_id limiter_opt limiter_opt_spec +%type statelim_filter_opt sourcelim_filter_opt %type statelim_opts %type sourcelim_opts %% @@ -2515,20 +2521,22 @@ statelim_opt : statelim_id { ; statelim_filter_opt - : statelim_nm { + : STATE LIMITER STRING limiter_opt_spec { struct pfctl_statelim *stlim; - stlim = pfctl_get_statelim_nm(pf, $1); - free($1); + stlim = pfctl_get_statelim_nm(pf, $3); + free($3); if (stlim == NULL) { yyerror("state limiter not found"); YYERROR; } - $$ = stlim->ioc.id; + $$.id = stlim->ioc.id; + $$.limiter_action = $4; } - | STATE LIMITER statelim_id { - $$ = $3; + | STATE LIMITER statelim_id limiter_opt_spec { + $$.id = $3; + $$.limiter_action = $4; } ; @@ -2760,20 +2768,34 @@ sourcelim_opt_below ; sourcelim_filter_opt - : sourcelim_nm { + : SOURCE LIMITER STRING limiter_opt_spec { struct pfctl_sourcelim *srlim; - srlim = pfctl_get_sourcelim_nm(pf, $1); - free($1); + srlim = pfctl_get_sourcelim_nm(pf, $3); + free($3); if (srlim == NULL) { yyerror("source limiter not found"); YYERROR; } - $$ = srlim->ioc.id; + $$.id = srlim->ioc.id; + $$.limiter_action = $4; } - | SOURCE LIMITER sourcelim_id { - $$ = $3; + | SOURCE LIMITER sourcelim_id limiter_opt_spec { + $$.id = $3; + $$.limiter_action = $4; + } + ; + +limiter_opt_spec: /* empty */ { $$ = PF_LIMITER_NOMATCH; } + | '(' limiter_opt ')' { $$ = $2; } + ; + +limiter_opt: BLOCK { + $$ = PF_LIMITER_BLOCK; + } + | NOMATCH { + $$ = PF_LIMITER_NOMATCH; } ; @@ -3169,16 +3191,20 @@ pfrule : action dir logquick interface route af proto fromto filter_opts : { bzero(&filter_opts, sizeof filter_opts); - filter_opts.statelim = PF_STATELIM_ID_NONE; - filter_opts.sourcelim = PF_SOURCELIM_ID_NONE; + filter_opts.statelim.id = PF_STATELIM_ID_NONE; + filter_opts.statelim.limiter_action = PF_LIMITER_NOMATCH; + filter_opts.sourcelim.id = PF_SOURCELIM_ID_NONE; + filter_opts.sourcelim.limiter_action = PF_LIMITER_NOMATCH; filter_opts.rtableid = -1; } filter_opts_l { $$ = filter_opts; } | /* empty */ { bzero(&filter_opts, sizeof filter_opts); - filter_opts.statelim = PF_STATELIM_ID_NONE; - filter_opts.sourcelim = PF_SOURCELIM_ID_NONE; + filter_opts.statelim.id = PF_STATELIM_ID_NONE; + filter_opts.statelim.limiter_action = PF_LIMITER_NOMATCH; + filter_opts.sourcelim.id = PF_SOURCELIM_ID_NONE; + filter_opts.sourcelim.limiter_action = PF_LIMITER_NOMATCH; filter_opts.rtableid = -1; $$ = filter_opts; } @@ -3323,14 +3349,14 @@ filter_opt : USER uids { filter_opts.prob = 1; } | statelim_filter_opt { - if (filter_opts.statelim != PF_STATELIM_ID_NONE) { + if (filter_opts.statelim.id != PF_STATELIM_ID_NONE) { yyerror("state limiter already specified"); YYERROR; } filter_opts.statelim = $1; } | sourcelim_filter_opt { - if (filter_opts.sourcelim != PF_SOURCELIM_ID_NONE) { + if (filter_opts.sourcelim.id != PF_SOURCELIM_ID_NONE) { yyerror("source limiter already specified"); YYERROR; } @@ -7175,6 +7201,7 @@ lookup(char *s) { "nat-to", NATTO}, { "no", NO}, { "no-df", NODF}, + { "no-match", NOMATCH}, { "no-route", NOROUTE}, { "no-sync", NOSYNC}, { "on", ON}, @@ -8202,11 +8229,11 @@ filteropts_to_rule(struct pfctl_rule *r, struct filter_opts *opts) r->rule_flag |= PFRULE_ONCE; } - if (opts->statelim != PF_STATELIM_ID_NONE && r->action != PF_PASS) { + if (opts->statelim.id != PF_STATELIM_ID_NONE && r->action != PF_PASS) { yyerror("state limiter only applies to pass rules"); return (1); } - if (opts->sourcelim != PF_SOURCELIM_ID_NONE && r->action != PF_PASS) { + if (opts->sourcelim.id != PF_SOURCELIM_ID_NONE && r->action != PF_PASS) { yyerror("source limiter only applies to pass rules"); return (1); } @@ -8215,8 +8242,10 @@ filteropts_to_rule(struct pfctl_rule *r, struct filter_opts *opts) r->pktrate.limit = opts->pktrate.limit; r->pktrate.seconds = opts->pktrate.seconds; r->prob = opts->prob; - r->statelim = opts->statelim; - r->sourcelim = opts->sourcelim; + r->statelim.id = opts->statelim.id; + r->statelim.limiter_action = opts->statelim.limiter_action; + r->sourcelim.id = opts->sourcelim.id; + r->sourcelim.limiter_action = opts->sourcelim.limiter_action; r->rtableid = opts->rtableid; r->ridentifier = opts->ridentifier; r->max_pkt_size = opts->max_pkt_size; diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index f85c50652944..78a1034a3b43 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -1112,7 +1112,7 @@ print_rule(struct pfctl_rule *r, const char *anchor_call, int opts, int numeric) } printf(" probability %s%%", buf); } - if (r->statelim != PF_STATELIM_ID_NONE) { + if (r->statelim.id != PF_STATELIM_ID_NONE) { #if 0 /* XXX need pf to find statelims */ struct pfctl_statelim *stlim = pfctl_get_statelim_id(pf, r->statelim); @@ -1121,9 +1121,11 @@ print_rule(struct pfctl_rule *r, const char *anchor_call, int opts, int numeric) printf(" state limiter %s", stlim->ioc.name); else #endif - printf(" state limiter id %u", r->statelim); + printf(" state limiter id %u (%s)", r->statelim.id, + (r->statelim.limiter_action == PF_LIMITER_BLOCK) ? + "block" : "no-match"); } - if (r->sourcelim != PF_SOURCELIM_ID_NONE) { + if (r->sourcelim.id != PF_SOURCELIM_ID_NONE) { #if 0 /* XXX need pf to find sourcelims */ struct pfctl_sourcelim *srlim = pfctl_get_sourcelim_id(pf, r->sourcelim); @@ -1132,7 +1134,9 @@ print_rule(struct pfctl_rule *r, const char *anchor_call, int opts, int numeric) printf(" source limiter %s", srlim->ioc.name); else #endif - printf(" source limiter id %u", r->sourcelim); + printf(" source limiter id %u (%s)", r->sourcelim.id, + (r->sourcelim.limiter_action == PF_LIMITER_BLOCK) ? + "block" : "no-match"); } ropts = 0; diff --git a/sbin/pfctl/tests/files/pf1076.ok b/sbin/pfctl/tests/files/pf1076.ok index def9533b1e60..9f1a8c8fb5cf 100644 --- a/sbin/pfctl/tests/files/pf1076.ok +++ b/sbin/pfctl/tests/files/pf1076.ok @@ -1,2 +1,2 @@ state limiter dns-server id 1 limit 1000 rate 1/10 -pass in proto tcp from any to any port = domain flags S/SA keep state state limiter id 1 +pass in proto tcp from any to any port = domain flags S/SA keep state state limiter id 1 (no-match) diff --git a/sbin/pfctl/tests/files/pf1077.ok b/sbin/pfctl/tests/files/pf1077.ok index e52afb6bff9c..dc8882e1b87b 100644 --- a/sbin/pfctl/tests/files/pf1077.ok +++ b/sbin/pfctl/tests/files/pf1077.ok @@ -1,2 +1,2 @@ source limiter dns-server id 1 limit 2 states 3 rate 4/5 inet mask 16 -pass in proto tcp from any to any port = domain flags S/SA keep state source limiter id 1 +pass in proto tcp from any to any port = domain flags S/SA keep state source limiter id 1 (no-match) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 6a778eed2214..aa3899e48596 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 30, 2025 +.Dd January 12, 2026 .Dt PF.CONF 5 .Os .Sh NAME @@ -2365,20 +2365,28 @@ For example, the following rule will drop 20% of incoming ICMP packets: .Bd -literal -offset indent block in proto icmp probability 20% .Ed -.It Cm state limiter Ar name +.It Cm state limiter Ar name Oo Cm (limiter options) Oc Use the specified state limiter to restrict the creation of states by this rule. -If capacity is not available, the rule does not match and evaluation -of the ruleset continues. +By default if capacity is not available, the rule is ignored +and ruleset evaluation continues with next rule.. +Use +.Ic block +option to change default behavior such packet is blocked +when limit is reached. See the .Sx State Limiters section for more information. .Pp -.It Cm source limiter Ar name +.It Cm source limiter Ar name Oo Cm (limiter options) Oc Use the specified source limiter to restrict the creation of states by this rule. -If capacity is not available, the rule does not match and evaluation -of the ruleset continues. +By default if capacity is not available, the rule is ignored +and ruleset evaluation continues with next rule.. +Use +.Ic block +option to change default behavior such packet is blocked +when limit is reached. See the .Sx Source Limiters section for more information. @@ -3614,7 +3622,10 @@ filteropt = user | group | flags | icmp-type | icmp6-type | "tos" tos | "max-pkt-size" number | "queue" ( string | "(" string [ [ "," ] string ] ")" ) | "rtable" number | "probability" number"%" | "prio" number | - "state limiter" name | "source limiter" name | + "state limiter" name | + "state limiter" name "(" limiter-opts ")" | + "source limiter" name | + "source limiter" name "(" limiter-opts ")" | "prio" number | "dnpipe" ( number | "(" number "," number ")" ) | "dnqueue" ( number | "(" number "," number ")" ) | "ridentifier" number | @@ -3794,6 +3805,7 @@ realtime-sc = "realtime" sc-spec upperlimit-sc = "upperlimit" sc-spec sc-spec = ( bandwidth-spec | "(" bandwidth-spec number bandwidth-spec ")" ) +limiter-opts = "block" | "no-match" include = "include" filename .Ed .Sh FILES diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 5329c5ebdd9e..eb17c4ff5ef0 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -896,8 +896,14 @@ struct pf_krule { u_int8_t set_prio[2]; sa_family_t naf; u_int8_t rcvifnot; - uint8_t statelim; - uint8_t sourcelim; + struct { + uint8_t id; + int limiter_action; + } statelim; + struct { + uint8_t id; + int limiter_action; + } sourcelim; struct { struct pf_addr addr; @@ -1433,6 +1439,7 @@ struct pf_test_ctx { int state_icmp; int tag; int rewrite; + int limiter_drop; u_short reason; struct pf_src_node *sns[PF_SN_MAX]; struct pf_krule *nr; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 79948b218428..13e2f5bb77f2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6105,8 +6105,8 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset, pf_osfp_fingerprint(pd, ctx->th), r->os_fingerprint)), TAILQ_NEXT(r, entries)); - if (r->statelim != PF_STATELIM_ID_NONE) { - stlim = pf_statelim_find(r->statelim); + if (r->statelim.id != PF_STATELIM_ID_NONE) { + stlim = pf_statelim_find(r->statelim.id); /* * Treat a missing limiter like an exhausted limiter. @@ -6123,6 +6123,11 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset, gen = pf_statelim_enter(stlim); stlim->pfstlim_counters.hardlimited++; pf_statelim_leave(stlim, gen); + if (r->statelim.limiter_action == PF_LIMITER_BLOCK) { + ctx->limiter_drop = 1; + REASON_SET(&ctx->reason, PFRES_MAXSTATES); + break; /* stop rule processing */ + } r = TAILQ_NEXT(r, entries); continue; } @@ -6140,6 +6145,14 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset, gen = pf_statelim_enter(stlim); stlim->pfstlim_counters.ratelimited++; pf_statelim_leave(stlim, gen); + if (r->statelim.limiter_action == + PF_LIMITER_BLOCK) { + ctx->limiter_drop = 1; + REASON_SET(&ctx->reason, + PFRES_MAXSTATES); + /* stop rule processing */ + break; + } r = TAILQ_NEXT(r, entries); continue; } @@ -6152,10 +6165,10 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset, } } - if (r->sourcelim != PF_SOURCELIM_ID_NONE) { + if (r->sourcelim.id != PF_SOURCELIM_ID_NONE) { struct pf_source key; - srlim = pf_sourcelim_find(r->sourcelim); + srlim = pf_sourcelim_find(r->sourcelim.id); /* * Treat a missing pool like an overcommitted pool. @@ -6177,6 +6190,14 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset, gen = pf_sourcelim_enter(srlim); srlim->pfsrlim_counters.hardlimited++; pf_sourcelim_leave(srlim, gen); + if (r->sourcelim.limiter_action == + PF_LIMITER_BLOCK) { + ctx->limiter_drop = 1; + REASON_SET(&ctx->reason, + PFRES_SRCLIMIT); + /* stop rule processing */ + break; + } r = TAILQ_NEXT(r, entries); continue; } @@ -6196,6 +6217,14 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset, srlim->pfsrlim_counters .ratelimited++; pf_sourcelim_leave(srlim, gen); + if (r->sourcelim.limiter_action == + PF_LIMITER_BLOCK) { + ctx->limiter_drop = 1; + REASON_SET(&ctx->reason, + PFRES_SRCLIMIT); + /* stop rules */ + break; + } r = TAILQ_NEXT(r, entries); continue; } @@ -6460,10 +6489,8 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, } else { ruleset = &pf_main_ruleset; rv = pf_match_rule(&ctx, ruleset, match_rules); - if (rv == PF_TEST_FAIL) { - /* - * Reason has been set in pf_match_rule() already. - */ + if (rv == PF_TEST_FAIL || ctx.limiter_drop == 1) { + REASON_SET(reason, ctx.reason); goto cleanup; } diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 333e5b53b0a8..4c950c7eab9c 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -501,6 +501,11 @@ struct pf_osfp_ioctl { #define PF_ANCHOR_HIWAT 512 #define PF_OPTIMIZER_TABLE_PFX "__automatic_" +enum { + PF_LIMITER_NOMATCH, + PF_LIMITER_BLOCK +}; + struct pf_rule { struct pf_rule_addr src; struct pf_rule_addr dst; diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index ddca4fae940b..5261b6e5ab41 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2922,6 +2922,23 @@ pf_validate_range(uint8_t op, uint16_t port[2]) return 0; } +static int +pf_chk_limiter_action(int limiter_action) +{ + int rv; + + switch (limiter_action) { + case PF_LIMITER_NOMATCH: + case PF_LIMITER_BLOCK: + rv = 0; + break; + default: + rv = 1; + } + + return (rv); +} + int pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, uint32_t pool_ticket, const char *anchor, const char *anchor_call, @@ -2946,6 +2963,9 @@ pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, ERROUT_UNLOCKED(EINVAL); if (pf_validate_range(rule->dst.port_op, rule->dst.port)) ERROUT_UNLOCKED(EINVAL); + if (pf_chk_limiter_action(rule->statelim.limiter_action) || + pf_chk_limiter_action(rule->sourcelim.limiter_action)) + ERROUT_UNLOCKED(EINVAL); if (rule->ifname[0]) kif = pf_kkif_create(M_WAITOK); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 9522fad10839..7a7655d7d9c8 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -784,8 +784,10 @@ static const struct nlattr_parser nla_p_rule[] = { { .type = PF_RT_MAX_PKT_SIZE, .off = _OUT(max_pkt_size), .cb = nlattr_get_uint16 }, { .type = PF_RT_TYPE_2, .off = _OUT(type), .cb = nlattr_get_uint16 }, { .type = PF_RT_CODE_2, .off = _OUT(code), .cb = nlattr_get_uint16 }, - { .type = PF_RT_STATE_LIMIT, .off = _OUT(statelim), .cb = nlattr_get_uint8 }, - { .type = PF_RT_SOURCE_LIMIT, .off = _OUT(sourcelim), .cb = nlattr_get_uint8 }, + { .type = PF_RT_STATE_LIMIT, .off = _OUT(statelim.id), .cb = nlattr_get_uint8 }, + { .type = PF_RT_SOURCE_LIMIT, .off = _OUT(sourcelim.id), .cb = nlattr_get_uint8 }, + { .type = PF_RT_STATE_LIMIT_ACTION, .off = _OUT(statelim.limiter_action), .cb = nlattr_get_uint32 }, + { .type = PF_RT_SOURCE_LIMIT_ACTION, .off = _OUT(sourcelim.limiter_action), .cb = nlattr_get_uint32 }, }; NL_DECLARE_ATTR_PARSER(rule_parser, nla_p_rule); #undef _OUT @@ -1043,8 +1045,10 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) nlattr_add_u64(nw, PF_RT_SRC_NODES_ROUTE, counter_u64_fetch(rule->src_nodes[PF_SN_ROUTE])); nlattr_add_pf_threshold(nw, PF_RT_PKTRATE, &rule->pktrate); nlattr_add_time_t(nw, PF_RT_EXPTIME, time_second - (time_uptime - rule->exptime)); - nlattr_add_u8(nw, PF_RT_STATE_LIMIT, rule->statelim); - nlattr_add_u8(nw, PF_RT_SOURCE_LIMIT, rule->sourcelim); + nlattr_add_u8(nw, PF_RT_STATE_LIMIT, rule->statelim.id); + nlattr_add_u32(nw, PF_RT_STATE_LIMIT_ACTION, rule->statelim.limiter_action); + nlattr_add_u8(nw, PF_RT_SOURCE_LIMIT, rule->sourcelim.id); + nlattr_add_u32(nw, PF_RT_SOURCE_LIMIT_ACTION, rule->sourcelim.limiter_action); error = pf_kanchor_copyout(ruleset, rule, anchor_call, sizeof(anchor_call)); MPASS(error == 0); diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index 696b81f9434e..84e9d3a97303 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -299,8 +299,10 @@ enum pf_rule_type_t { PF_RT_TYPE_2 = 84, /* u16 */ PF_RT_CODE_2 = 85, /* u16 */ PF_RT_EXPTIME = 86, /* time_t */ - PF_RT_STATE_LIMIT = 87, /* uint8_t */ - PF_RT_SOURCE_LIMIT = 88, /* uint8_t */ + PF_RT_STATE_LIMIT = 87, /* u8 */ + PF_RT_SOURCE_LIMIT = 88, /* u8 */ + PF_RT_STATE_LIMIT_ACTION = 89, /* u32 */ + PF_RT_SOURCE_LIMIT_ACTION = 90, /* u32 */ }; enum pf_addrule_type_t { From nobody Wed Jan 14 08:06:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwp4CFqz6PLJ4 for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwp2gMDz3KRP for ; Wed, 14 Jan 2026 08:06:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377978; 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=v5D0BHgoi7KZU+nFUofhDZM5kkbmLOMZ3/pXrTH74Yk=; b=rWYALB1GB4ZTMbW3+3Tmsy7uHKVXmFFFNWcY2ytewnQvSHIge6Jfun0GwUMx+x9iKjIwy2 YrA+g1t9D1Wch/1o5P7dFWEsQ8OlKFUYAMtVc02fmMeIz5bnGJSArYL7I48t+ga39kD1gp tYPRvZhWkBoditw75BAfI2Gh7lMJ63KMj1yvDwt1EM2NroKpS3AU9wQGfE4b2t8S5KZ1ob CmpXB3wSzRY2ChczNXdpwOaAwdBFbn1mWmqV5lRh/pPrvteUh7HE4XokdI/N0mtxIdqCmJ otH3USC+UD7Pl9BMWN/qmapc5ZNyCz/IDK9MHRPdXCufopC3jhWlk1EP1Msltw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377978; 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=v5D0BHgoi7KZU+nFUofhDZM5kkbmLOMZ3/pXrTH74Yk=; b=wfHhQPE9gjOECCRTEIX/6Y3/khCJw4jQke+YEDY7F/HO7gvgb5sx9/fRtDwJcQkLyYDvMo kPUlM8/ihbxUBLXo0H+Olsi0BFrpnUMEvOXfT1g5enJi/l8UjyFyZQF37EIAtK1wYMv+B1 wNvFS7yDrQcXse5iI+LQJGNhdTZ8UrWSqdPXTR/yNoa+okXhb8S9knm/XqDgGpUdSWRMuC FCzedECUXLsNQKzZwHb4LgYoELLx7Xxg1tsvd8iHgedNvmcsQF0BofZUVPCIJjEOhnuZ+8 6zbJ3vF7552/Mr7AKFLfly8VkOSeE8p25AmLVRhe7griLXXeFwk4+CgHSZEKRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377978; a=rsa-sha256; cv=none; b=I/0l02xU7G+PSmMYaVQMaSMcHXyUQ92Qc5ect2l1eO7eVYTtLuHnMiKYNyNE49+9NHOAbe 0fDDHqobavlp9O+TksNzQu7TZxP77w1N4dKhpFfkI/u1rLVASn1lYYsAyKk7Cv23mST2MQ Ci/GIdE4tU20JZ5gmU/YK3eP7R1TKYOowDrNP0GvZ5sWX7VJ3NVJ/K48icoqxRcIWX6wuY JIeIvRg7acqiGQmiUH4Tme+HEXHaDF5l7O0O/cenjWgqgwCJNwTBkOj9C81R6SrcmF6fVF S4imvYx6xvpEtkALJ428p5gVbXljUIPvS7hP6ttQmuXIb+VCttbHB1+j9exqcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwp1mHkzq5P for ; Wed, 14 Jan 2026 08:06:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9aee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: e28dfd6b5557 - main - pfctl: make the source limiter output match the input List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e28dfd6b5557a502bad6faecac4b0b8ecfd611cc Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:18 +0000 Message-Id: <69674e7a.9aee.2f50381a@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e28dfd6b5557a502bad6faecac4b0b8ecfd611cc commit e28dfd6b5557a502bad6faecac4b0b8ecfd611cc Author: Kristof Provost AuthorDate: 2026-01-12 20:32:13 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:43 +0000 pfctl: make the source limiter output match the input When printing source limiters use the same keywords as we accept on input, that is use 'entries' for the entries value (not 'limit') and 'limit' for the limit value (and not 'states'). Update the test case to match. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_parser.c | 2 +- sbin/pfctl/tests/files/pf1077.ok | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 78a1034a3b43..c6ad62555b86 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -869,7 +869,7 @@ print_statelim(const struct pfctl_state_lim *ioc) void print_sourcelim(const struct pfctl_source_lim *ioc) { - printf("source limiter %s id %u limit %u states %u", ioc->name, + printf("source limiter %s id %u entries %u limit %u", ioc->name, ioc->id, ioc->entries, ioc->limit); if (ioc->rate.limit != 0) printf(" rate %u/%u", ioc->rate.limit, ioc->rate.seconds); diff --git a/sbin/pfctl/tests/files/pf1077.ok b/sbin/pfctl/tests/files/pf1077.ok index dc8882e1b87b..834399c40d8a 100644 --- a/sbin/pfctl/tests/files/pf1077.ok +++ b/sbin/pfctl/tests/files/pf1077.ok @@ -1,2 +1,2 @@ -source limiter dns-server id 1 limit 2 states 3 rate 4/5 inet mask 16 +source limiter dns-server id 1 entries 2 limit 3 rate 4/5 inet mask 16 pass in proto tcp from any to any port = domain flags S/SA keep state source limiter id 1 (no-match) From nobody Wed Jan 14 08:06:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwq5dbjz6PL9w for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwq3MnHz3KYt for ; Wed, 14 Jan 2026 08:06:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377979; 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=tsCl4ZbikXXUB7ABsFHKAvGg8y4cU8PvCaNsCuSI+MY=; b=KyIvlno7HP9J+zhmGzvTODhqQZi8XVHq87I9HnuJ5Bg9MWfpc6Pf7wxl9wqiwTAslDgJ5F EA8YqYcR+CYJkWnD5cdKx5+rmRWyalXAvxy4x+bZdgQSa9UWKOqv+LhQhucgfY30FrOEZG f9jZ/OLYTp+IrwE4i4yyvIVt+1NhmjVVoe4/wgfrppjqGhtsTLkW8zeV9De35tfLfuF54A fMjSPQ/Cb8YA9zR5bvAKZw70R0NJU9N1Kt50avllPiWnbHwriaUNZzi3xhKLKjZKMXL/bS eMIbhQxdk3LCwnpyYY36+9WLn+D/IgnBThad60TiSAXHGp9konXWCdUwVXa3oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377979; 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=tsCl4ZbikXXUB7ABsFHKAvGg8y4cU8PvCaNsCuSI+MY=; b=K3bIIHIRB3nVtfjzkA/GapfkLp5DRh4059XbHkcPut8InOyPk5oF+t8/9SiWM2shI5Mj26 GZQfgaFIG9Xr6vcrWCqkT14dWiCOugYDWvETWQKEwnIIjjrYc2/RAKyCld4K7bE7e0qo/n luhf5ppmNaZWavJWSBR4YidSykR1kBF3+I901NhrFotKe7yvThX4yHnIA97EPcwFdqQyv6 0dpwDum2s7U0drFWrAR8iYmceNbkqnAfUXmfsknh0H7eSx1Fn+wOMHzGUBcXcUW9cMlNz+ tU1OAFKaiQfN6Jw/3jwyQ1pm+5/4T24N3ytaIxRe6NMBDviBHDmFmMv+A8TKCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377979; a=rsa-sha256; cv=none; b=vzSc3cTvhl1vswDF6gEGy4FicW0oG3NdTENOFrib3pJrSeVtOTDiPMX63rqq3XmgJh+XME w1ulavjdDA9uDwPpsO35Zktm9m4tXppy61WVrirKDPJKVjqtefxsqj1HBXQhxSCIw5hxTl 5TOKF5CKdfaPDdaJjKROnfDvOE5DDxgFhp9LrQMsrH8EQYNwFcSba3sZERlvGr9lEIxl8C LMHi2R6OhyReV3Lgi6OaoBbRhg8Y4gqnlFlMVrHnOcmHz8b/awkIaFHUSV+f77jeUm84RT wmNuSX5raIMF1Hj7FmaODYIEqVutZc5KQRDw9nD3mN3NinWMy+BIMtXsnmmRSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwq2WHbzq5Q for ; Wed, 14 Jan 2026 08:06:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 987f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 098febfcc155 - main - pf tests: test block/no-match limiters List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 098febfcc1559950ebe49e106f25851e7706a018 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:19 +0000 Message-Id: <69674e7b.987f.71b2dcd3@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=098febfcc1559950ebe49e106f25851e7706a018 commit 098febfcc1559950ebe49e106f25851e7706a018 Author: Kristof Provost AuthorDate: 2026-01-13 08:54:28 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:44 +0000 pf tests: test block/no-match limiters Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/limiters.sh | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/tests/sys/netpfil/pf/limiters.sh b/tests/sys/netpfil/pf/limiters.sh index ee58d3974f9f..4775039a4a94 100644 --- a/tests/sys/netpfil/pf/limiters.sh +++ b/tests/sys/netpfil/pf/limiters.sh @@ -130,6 +130,61 @@ state_rate_cleanup() pft_cleanup } +atf_test_case "state_block" "cleanup" +state_block_head() +{ + atf_set descr 'Test block mode state limiter' + atf_set require.user root +} + +state_block_body() +{ + pft_init + + epair=$(vnet_mkepair) + + ifconfig ${epair}a 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}b + jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + # Allow one ICMP state per 5 seconds + pft_set_rules alcatraz \ + "set timeout icmp.error 120" \ + "state limiter \"server\" id 1 limit 1000 rate 1/5" \ + "pass" \ + "pass in proto icmp state limiter \"server\" (block)" + + atf_check -s exit:0 -o ignore \ + ping -c 2 192.0.2.1 + + # This should now fail + atf_check -s exit:2 -o ignore \ + ping -c 2 192.0.2.1 + + # However, if we set no-match and exceed the limit we just pass + pft_set_rules alcatraz \ + "set timeout icmp.error 120" \ + "state limiter \"server\" id 1 limit 1000 rate 1/5" \ + "pass" \ + "pass in proto icmp state limiter \"server\" (no-match)" + + atf_check -s exit:0 -o ignore \ + ping -c 2 192.0.2.1 + atf_check -s exit:0 -o ignore \ + ping -c 2 192.0.2.1 +} + +state_block_cleanup() +{ + pft_cleanup +} + atf_test_case "source_basic" "cleanup" source_basic_head() { @@ -205,5 +260,6 @@ atf_init_test_cases() { atf_add_test_case "state_basic" atf_add_test_case "state_rate" + atf_add_test_case "state_block" atf_add_test_case "source_basic" } From nobody Wed Jan 14 08:06:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drdwr6bqpz6PL5P for ; Wed, 14 Jan 2026 08:06: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drdwr3qvKz3KWq for ; Wed, 14 Jan 2026 08:06:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377980; 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=E2TrD6Gu3YHt/rmalQk/BXdo8TgXjPeOVH993QClH00=; b=wajZZa5NA3hwd2Tmm8G5h0NpSmyGsDZGs1QAGgCo7bDYath4QZ5r47O7B9CiEFzvyKD6iv 4Br2laUIeZZnNKxhjt9L9ytq6Nxop4tqWBS8ELZZu3Y7CEECA1aDVI5df04ZhFjf3X1Pop THNphFZ0oMgK8yF16SVzNgtdwhz5N1mdh1D2Fa0CUGjt+2nZ86UgiMbZPETL/Visey6vo3 WuQFpqq3NLvVqyR5FXVvhtVoDAT825VYpClMWbWFzoqYx11AR+eWgV7YZwXAQ2dTdr6OSA hEwzcJcUKADNvS6hE06NZDi+uVQP505yzKSfq4jOflrx3Or2PXcFUKxSdThdCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768377980; 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=E2TrD6Gu3YHt/rmalQk/BXdo8TgXjPeOVH993QClH00=; b=S04Mwrywg8iDz8KasD0/8JqI4sCU5oZ2NbaxlK3o+DCzMwiaEjn/3HA5wIUQ5nBvZvoeNJ o/gUQi1TEdik57d6EAIrgQSGvVv1BEdI7mlr3lGbsiUDJv7xJetnD6Od3GU1r8k2OWkTla 54XuxNELYdK+y93dWpho7pju4a+6YiVRrg0vFBkyxROM5798gMWgES/a4oDq9vP68PfUNl FWjIOp9sVgA3MjlTizAd+MfTqgvD4GbRgzO5wcx+BDx5dUk7U4iNGC9As/zTqO+UEmScwc rWeQSUJZInT+CYBckN79Tk7O+EOTwZHy9vxxv1roMr72i/XYbTuwigxm7VfcWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768377980; a=rsa-sha256; cv=none; b=GF9oOMyLE6CRSIzKFk1MNX869CRGdkRfQmBndMArfiXJ6DG5TumPTuYhiexk+mPj0RCD90 Ftn2ZWd+d1GFQB01ewAb4obk785YfE32tF1NMpqv3ohkr7swSZqbGxYUfzLwy8ddyKxgZ0 kLZ0KV/DUsELC9e01/NzrlITN2fMCwBYmldBRHXGPm/EVgTFwfyeKR+8UWbwYbcsMQDZvN /Dy7M7FHh42AlUGeTunMQhHNf2rpr5h03hnlB/eQueQYlW2Ms86WKatAaeZP+3FoBJIN2a Gx7vsmE7hDwFuvYx5LGYnznnKsqVwfDBVFw9prdPYWw6TNA3Hx4A1XxmcQIFUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drdwr3Dr0zq5R for ; Wed, 14 Jan 2026 08:06:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c12d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 08:06:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 3a609881c8c8 - main - pf: remove unused function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a609881c8c8cbd5f4c765b27b8233ab08342309 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 08:06:20 +0000 Message-Id: <69674e7c.c12d.37c16ecf@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3a609881c8c8cbd5f4c765b27b8233ab08342309 commit 3a609881c8c8cbd5f4c765b27b8233ab08342309 Author: Kristof Provost AuthorDate: 2026-01-13 19:32:37 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 06:44:44 +0000 pf: remove unused function pf_qid2qname() was never used. Remove it Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_ioctl.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 5261b6e5ab41..12a2189207f1 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -976,12 +976,6 @@ pf_qname2qid(const char *qname, bool add_new) return (tagname2tag(&V_pf_qids, qname, add_new)); } -static const char * -pf_qid2qname(uint16_t qid) -{ - return (tag2tagname(&V_pf_qids, qid)); -} - static void pf_qid_unref(uint16_t qid) { From nobody Wed Jan 14 11:17:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drk9d1T6Nz6PVwH; Wed, 14 Jan 2026 11:17:41 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drk9c6hYkz3kSW; Wed, 14 Jan 2026 11:17:40 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768389460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PTLkZM7BxBRZiV7pZ5bJrWcz4lhCcvzhLLoE1hXOG+8=; b=ZNW3HRcbjBjGNlZyAX6ER2i72roWTz6G/g5KW8/3ybXL7guag/lG+zMajHDe75wYJN82Hq 9iVVTg4XVZxU4yctF+rEE9NGVnlMtYa+lKVNCJLmVaqGfMSRZ9mVU74AWx/BVe5HxjuPnS 0YsogwJucEsuErHB59BlhdNaT7TX6ShMfNFIfUlve6sxO/WcGpi+3Tn1de7tbOaEyu4u6Q u6q2jKlRxh+y3sghcBQQqxKOsXMjdn/lOI9hVpANuc3EEfcQ4aqFievz6/zPjkMgowgnu8 zI9p8fBvsp4AjXuctVPBr69qIWVycu27RcAd06vf5iR6hIASO2hX62AYLxF7CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768389460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PTLkZM7BxBRZiV7pZ5bJrWcz4lhCcvzhLLoE1hXOG+8=; b=PLSHiozRtITnJRoKUn7KbmARXkXizgDvVQIxOpfVMgumyCQUxeKI/ixLZr5psHjA9SDo3w tDVYVOsZIiN1geKjnuGUTpYqCFRt0LR//O6np/FqXwV4oIB3mB1jSHPZNrC0kvVzIq0W8b tJq6BLzq/QmBjKGmhC7R0bYUtp/UJpiKvTEDB7bG3u3WIdhkjDXuCAiOuVAuWfE5lr7u8n 9vrZdJH401gR9ERNff4GSMEEGswVS8TABNTewTD/29E5ujWEQm+52JW/xgdKqV5NX5RMZV YphPOcG6g6v55X+n2d1X+Jg6BRviY8pTo4TWaZJL+XPMGm6+FQS/XmwgVHL3Hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768389460; a=rsa-sha256; cv=none; b=sKjf9zFkTDfo/0BGcpc9o7zAjY3jEKtVhhqnmOQfffQt1ZDvv5G1O5WZfG5c4oG+OnwSiS 24clwKnjWJmjE/UAcKoAw9x6cbjaH1X/iBJTykmfgLRfBK63ManKreQBFTlg+P4Ef/Ed1k D3vMf9edALsjdB6ego2JkDgkd2e/j/kxH+1XzuoVmVg+zYMpdLzd803rOKoR8ENIJ+/z30 E+65w3R6df0EAtOqO6GaY7xLG1TRKWmvGVqi7g+MqXLyDtFAJVX4p3b07h4syD26cffj5I JLM7fi4paQVLayHRzSWtNT8fPqp7Zs0Sf1ANjWI8JoO2MzApLu6mjsyNXOGYIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (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) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4drk9c5lNSzvSk; Wed, 14 Jan 2026 11:17:40 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 1D2613C01A0; Wed, 14 Jan 2026 11:17:40 +0000 (UTC) Date: Wed, 14 Jan 2026 11:17:40 +0000 From: Brooks Davis To: Christos Margiolis Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f74f891581bc - main - src.opts: Introduce MK_SOUND Message-ID: References: <6965024b.c6cd.6cdf7962@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6965024b.c6cd.6cdf7962@gitrepo.freebsd.org> On Mon, Jan 12, 2026 at 02:16:43PM +0000, Christos Margiolis wrote: > The branch main has been updated by christos: > > URL: https://cgit.FreeBSD.org/src/commit/?id=f74f891581bc4df20431607de9b761107f6a0aa7 > > commit f74f891581bc4df20431607de9b761107f6a0aa7 > Author: Christos Margiolis > AuthorDate: 2026-01-12 14:16:35 +0000 > Commit: Christos Margiolis > CommitDate: 2026-01-12 14:16:35 +0000 > > src.opts: Introduce MK_SOUND > > PR: 291853 > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Reviewed by: zarychtam_plan-b.pwste.edu.pl, markj > Differential Revision: https://reviews.freebsd.org/D54456 > --- > lib/Makefile | 3 ++- > libexec/rc/rc.d/Makefile | 7 ++++--- > sbin/devd/Makefile | 12 +++++++----- > share/mk/src.opts.mk | 6 ++++++ > tools/build/mk/OptionalObsoleteFiles.inc | 13 +++++++++++++ > tools/build/options/WITH_SOUND | 1 + > usr.bin/Makefile | 2 ++ > usr.sbin/Makefile | 4 +++- > 8 files changed, 38 insertions(+), 10 deletions(-) > > diff --git a/lib/Makefile b/lib/Makefile > index 216ba1d58473..d06488a33fb9 100644 > --- a/lib/Makefile > +++ b/lib/Makefile > @@ -176,7 +176,6 @@ SUBDIR+= clang > .endif > > SUBDIR.${MK_CUSE}+= libcuse > -SUBDIR.${MK_CUSE}+= virtual_oss > SUBDIR.${MK_TOOLCHAIN}+=libpe > SUBDIR.${MK_DIALOG}+= libdpv libfigpar > SUBDIR.${MK_FDT}+= libfdt > @@ -238,6 +237,8 @@ SUBDIR.${MK_PMC}+= libpmc libpmcstat > SUBDIR.${MK_RADIUS_SUPPORT}+= libradius > SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil > SUBDIR.${MK_TELNET}+= libtelnet > +SUBDIR.${MK_SOUND}+= libmixer > +SUBDIR.${MK_SOUND}+= virtual_oss This should be SUBDIR.${MK_CUSE}.${MK_SOUND} or MK_CUSE=no + MK_SOUND=yes will be broken. There's another case in use.sbin/Makefile. -- Brooks From nobody Wed Jan 14 11:32:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drkVT5RVvz6PWH9 for ; Wed, 14 Jan 2026 11:32: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drkVT2WZQz3lrn for ; Wed, 14 Jan 2026 11:32:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768390337; 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=nJ2IHNNbYOYj6jV25pUk4qn51z3Zv78TiB7/FGeEwjU=; b=v9u5nm3AR0JgYX8HvfqKP5D4G3CP/DD8LduZJclGa1lF8NnWPyO81wY+1btnLNSPXcu9Bv MqBwtkRCvR1avAX5VBuIsKpuZ9ZYk1WZ5C8K0IGwNnh/hYkPLH6vhlpf3bERYeMQgXTqPg LIPch+NU6f2q5aoJpsUsiaXv1k/+JBr4Aa+4bnKpZT1CxmhMRb/ILUomrDsIp9RkiRzMo/ smCDHErC7ih+u3ZXsKDibk2nhAzGJCpJxedC1ib/ZFebyDbNIMsR40Gcu32bq/BSybXwy3 mA/OOKOLUytMnV0ws+0VpwdrJ3g/BqpM1A2YbziDTDi6CUhyxHnP1Qpcwyy/ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768390337; 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=nJ2IHNNbYOYj6jV25pUk4qn51z3Zv78TiB7/FGeEwjU=; b=hee5gDzbJZcAn0APyA47bVMmUoVQfzJ16plAV+njgaZOifTgO2n4efPtzOuhScox4lzBrQ 8h4BHiM40AWYEyRu170w5r2IkEo6c6Ds1vEjQcrUdDQhvdlsy+Z6L0tA5uLzIGd/Dd1eVl WIWJdpBh9/1D0nG9Akak+70ZF15FjCGuiz8WU9lNpgYZXj0ubAwxfrmBfVgaHAKmReMaZ+ MhxxvA1nlgCnDQqfhuSYVEr8cFVrG8+8xblCWQmtv8ZVTU97GZijFI0uatrVhkoStEbGiC CwmIJUc4hGMf1b+IuB8q4FrNSvWCIWMvbNQEDX5ka1Hq/V+UizMvIahiLnjpDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768390337; a=rsa-sha256; cv=none; b=V49z4YEIfgE/M9jl6BG1OaRZWeu3w17C+8QGkh3IDBhC0wc6nyc83h9Bp5Y9yp/bYtbBFC SeZ+vTW9xObppZvC0hErnUvdw+PRvGIPa8Yax5+FYWfT990IRWgDzWz+ntwXuM5L3fAc6F RdyJlzmmJvYa/xXoLUOLIte36tw43rqjgSND/46KiHacIB0r3JMJt1vJoUBJBW5JJfOd39 0XFWYqbP1pDGk2ZpJ4mavssqMpGswrqu5pJ1lt6Z0H+MZF4SwxTA5Chha8hLv5pdp9Zooi rt1hZp4I5ei13oH8gNFvvOVxe+qdsWE4kPdl20D2UKpSshEcIWUytbSJ6VArBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drkVS2jWwzwrn for ; Wed, 14 Jan 2026 11:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39619 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 11:32:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: fc353e5e61fa - main - pfctl: allow new page character (^L) in pf.conf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fc353e5e61fadd6ef618948f417f96381c08239c Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 11:32:11 +0000 Message-Id: <69677ebb.39619.67d9b210@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=fc353e5e61fadd6ef618948f417f96381c08239c commit fc353e5e61fadd6ef618948f417f96381c08239c Author: Kristof Provost AuthorDate: 2026-01-14 06:18:27 +0000 Commit: Kristof Provost CommitDate: 2026-01-14 11:31:58 +0000 pfctl: allow new page character (^L) in pf.conf PF configuration files can contains many things. Using the new page characters (i.e. ^L, \014) to mark the beginning of parts is useful because many editors such as emacs and vim has facilities to jump next/previous ones. PR: 86635 MFC after: 2 weeks Submitted by: MOROHOSHI Akihiko Submitted by: Simon Wollwage Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 2 +- sbin/pfctl/tests/files/pf1078.in | 3 +++ sbin/pfctl/tests/files/pf1078.ok | 2 ++ sbin/pfctl/tests/pfctl_test_list.inc | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 67e0d30890a8..72589f309f54 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -7399,7 +7399,7 @@ yylex(void) top: p = buf; - while ((c = lgetc(0)) == ' ' || c == '\t') + while ((c = lgetc(0)) == ' ' || c == '\t' || c == '\014') ; /* nothing */ yylval.lineno = file->lineno; diff --git a/sbin/pfctl/tests/files/pf1078.in b/sbin/pfctl/tests/files/pf1078.in new file mode 100644 index 000000000000..11ce16d5fdc9 --- /dev/null +++ b/sbin/pfctl/tests/files/pf1078.in @@ -0,0 +1,3 @@ +pass in proto tcp + +pass in proto udp diff --git a/sbin/pfctl/tests/files/pf1078.ok b/sbin/pfctl/tests/files/pf1078.ok new file mode 100644 index 000000000000..585236af942a --- /dev/null +++ b/sbin/pfctl/tests/files/pf1078.ok @@ -0,0 +1,2 @@ +pass in proto tcp all flags S/SA keep state +pass in proto udp all keep state diff --git a/sbin/pfctl/tests/pfctl_test_list.inc b/sbin/pfctl/tests/pfctl_test_list.inc index a7328a860dda..ff51af7562d1 100644 --- a/sbin/pfctl/tests/pfctl_test_list.inc +++ b/sbin/pfctl/tests/pfctl_test_list.inc @@ -186,3 +186,4 @@ PFCTL_TEST_FAIL(1074, "Filter AF different than route-to AF, without prefer-ipv6 PFCTL_TEST(1075, "One shot rule") PFCTL_TEST(1076, "State limiter") PFCTL_TEST(1077, "Source limiter") +PFCTL_TEST(1078, "New page") From nobody Wed Jan 14 13:49:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drnY50Glbz6NRY8 for ; Wed, 14 Jan 2026 13:49: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drnY46PM5z47C3 for ; Wed, 14 Jan 2026 13:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768398584; 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=L9xxvdYBddfigU2Tsxgtd6WeYUFFJACngjfiTSydxL4=; b=qVVvVsJpWXTV4oxQWO+0QDcTNLm6wWV6KcPzILu1+3njKLt0E8DziaESfI9yx4Bc5XP5sZ 9Wlh5QsYGO7dDGaXojU7CpLvqD4hPt2Q3TEHAJLVucIzc/DTGmNaTCnCmlbZ7+LWqKrURt S07xI0CU9Fpq7KYGQzEs+kHEmBZXt1qP3+nwRfXdsWDrnhivtxNxkLs9crWOz7emDdfeNF /OKJf8DNrCBPRCwD49FbqD9Mh0MaM+bW9sZeWcFuplYl1t/w+RiqkK/CP0BWjig4iWAb2C Bq0VwpjOY2yUzZ8FHoj3RZzMPiGA9pGNHdj/qf/U9wnACYzAqAvyyWv8+XEfwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768398584; 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=L9xxvdYBddfigU2Tsxgtd6WeYUFFJACngjfiTSydxL4=; b=dMYXdOx496SFIYI+LFuODA0aosdMknLszcaOoIYRlgtA9ARzYaQtm6njI7wDSGC4k/cPBe m50tIeYKBzKKJsEzXDLPy9XDMCq0rMw43SWT1uvz0NJ0NH93D2sHf8zntB5GSoQFi6VvYu TaWaVehk/3eyGgAfm1Ef+3Hz4IhPHI75+V0SxBZemyzOANsoKJNLOIQ4kgXDLRQmCsAWHo VasDxOdo7ePbmO3T4TjhfdSt/YfCc4WuCDl0sDb/x5Rx8XTRGk0IgNIcQUxLdXzTVmQC2I qDsvTY/1Dpwq+KzLsxlF2FeEBAQxYlVk89ClD1+KnKqZC000Pd2jwnGu5X9e5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768398584; a=rsa-sha256; cv=none; b=jVxTIUF9We1SjK7a+lhWWWX6vnPCmad2dBkqMEA1B5dhoQc/zQZUV/7RK9IaDJqWCcej8r pgSs6qiUi0WU5LySTG/7fj7DFZXJGqcpQLZqLOObiUMZv0nYoJG4LamLAYjFVgGQ4dubjg 4wipf2m24Ukbub2RiK2CYXYM59GBVly1KhBGZDNPUVvz5YM7srMtIvZrPfA8AyNBbjfC9s Lhie8BopE9ki2Jf3sDVe4CNrnrJdJXwPlg0hGqR7/m6Ye75n/hRIsHVVepakHovlqR4md3 MJRzyxgMnhxkafxQQ2X1nUHiVnFbfT3Hbo2MNfoNAO7dPZb/YGGkqbHlTHLikg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drnY45q3pz11P8 for ; Wed, 14 Jan 2026 13:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46510 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 13:49:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 68ad2b0d7af2 - main - ncurses: merge update to ncurses 6.6 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 68ad2b0d7af2a3571c4abac9afa712f9b09b721c Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 13:49:44 +0000 Message-Id: <69679ef8.46510.2462cbd9@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=68ad2b0d7af2a3571c4abac9afa712f9b09b721c commit 68ad2b0d7af2a3571c4abac9afa712f9b09b721c Merge: fc353e5e61fa c5a1e08b52b2 Author: Baptiste Daroussin AuthorDate: 2026-01-14 13:48:32 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 13:48:32 +0000 ncurses: merge update to ncurses 6.6 6.6 is ABI compatible with 6.5 (tested with abidiff) Remove html documentation to ease updates MFC After: 1 month ObsoleteFiles.inc | 5 + contrib/ncurses/AUTHORS | 7 +- contrib/ncurses/COPYING | 4 +- contrib/ncurses/INSTALL | 111 +- contrib/ncurses/MANIFEST | 23 +- contrib/ncurses/Makefile.in | 17 +- contrib/ncurses/Makefile.os2 | 6 +- contrib/ncurses/NEWS | 615 +- contrib/ncurses/VERSION | 2 +- contrib/ncurses/aclocal.m4 | 1380 ++- contrib/ncurses/announce.html.in | 1015 +- contrib/ncurses/config.guess | 26 +- contrib/ncurses/config.sub | 749 +- contrib/ncurses/configure | 10856 ++++++++++--------- contrib/ncurses/configure.in | 318 +- contrib/ncurses/dist.mk | 12 +- contrib/ncurses/doc/html/hackguide.html | 962 -- contrib/ncurses/doc/html/ncurses-intro.html | 3390 ------ contrib/ncurses/doc/ncurses-intro.doc | 5 +- contrib/ncurses/form/Makefile.in | 28 +- contrib/ncurses/form/fld_arg.c | 6 +- contrib/ncurses/form/fld_attr.c | 6 +- contrib/ncurses/form/fld_current.c | 12 +- contrib/ncurses/form/fld_def.c | 30 +- contrib/ncurses/form/fld_dup.c | 6 +- contrib/ncurses/form/form.priv.h | 15 +- contrib/ncurses/form/frm_data.c | 8 +- contrib/ncurses/form/frm_driver.c | 91 +- contrib/ncurses/form/frm_post.c | 6 +- contrib/ncurses/form/frm_req_name.c | 6 +- contrib/ncurses/form/frm_sub.c | 15 +- contrib/ncurses/form/frm_win.c | 16 +- contrib/ncurses/form/fty_enum.c | 53 +- contrib/ncurses/form/fty_generic.c | 17 +- contrib/ncurses/form/fty_int.c | 14 +- contrib/ncurses/form/fty_num.c | 16 +- contrib/ncurses/form/fty_regex.c | 8 +- contrib/ncurses/include/Caps | 44 +- contrib/ncurses/include/Caps.aix4 | 26 +- contrib/ncurses/include/Caps.hpux11 | 26 +- contrib/ncurses/include/Caps.keys | 26 +- contrib/ncurses/include/Caps.osf1r5 | 20 +- contrib/ncurses/include/Caps.uwin | 20 +- contrib/ncurses/include/MKkey_defs.sh | 8 +- contrib/ncurses/include/MKterm.h.awk.in | 57 +- contrib/ncurses/include/Makefile.in | 9 +- contrib/ncurses/include/capdefaults.c | 6 +- contrib/ncurses/include/curses.h.in | 104 +- contrib/ncurses/include/curses.tail | 54 +- contrib/ncurses/include/curses.wide | 7 +- contrib/ncurses/include/headers | 9 +- contrib/ncurses/include/nc_alloc.h | 25 +- contrib/ncurses/include/nc_termios.h | 91 +- contrib/ncurses/include/nc_tparm.h | 5 +- .../ncurses/include/{nc_win32.h => nc_win32.h.in} | 131 +- contrib/ncurses/include/ncurses_cfg.hin | 6 +- contrib/ncurses/include/ncurses_defs | 23 +- contrib/ncurses/include/ncurses_mingw.h | 82 - contrib/ncurses/include/term_entry.h | 9 +- contrib/ncurses/include/tic.h | 10 +- contrib/ncurses/include/unctrl.h.in | 10 +- contrib/ncurses/include/win32_curses.h | 75 - contrib/ncurses/install-sh | 27 +- contrib/ncurses/man/MKada_config.in | 8 +- contrib/ncurses/man/MKncu_config.in | 4 +- contrib/ncurses/man/MKterminfo.sh | 66 +- contrib/ncurses/man/Makefile.in | 24 +- contrib/ncurses/man/captoinfo.1m | 159 +- contrib/ncurses/man/clear.1 | 12 +- contrib/ncurses/man/curs_add_wch.3x | 735 +- contrib/ncurses/man/curs_add_wchstr.3x | 139 +- contrib/ncurses/man/curs_addch.3x | 529 +- contrib/ncurses/man/curs_addchstr.3x | 122 +- contrib/ncurses/man/curs_addstr.3x | 101 +- contrib/ncurses/man/curs_addwstr.3x | 107 +- contrib/ncurses/man/curs_attr.3x | 512 +- contrib/ncurses/man/curs_beep.3x | 85 +- contrib/ncurses/man/curs_bkgd.3x | 243 +- contrib/ncurses/man/curs_bkgrnd.3x | 196 +- contrib/ncurses/man/curs_border.3x | 239 +- contrib/ncurses/man/curs_border_set.3x | 96 +- contrib/ncurses/man/curs_clear.3x | 46 +- contrib/ncurses/man/curs_color.3x | 524 +- contrib/ncurses/man/curs_delch.3x | 56 +- contrib/ncurses/man/curs_deleteln.3x | 126 +- contrib/ncurses/man/curs_extend.3x | 93 +- contrib/ncurses/man/curs_get_wch.3x | 175 +- contrib/ncurses/man/curs_get_wstr.3x | 431 +- contrib/ncurses/man/curs_getcchar.3x | 384 +- contrib/ncurses/man/curs_getch.3x | 441 +- contrib/ncurses/man/curs_getstr.3x | 598 +- contrib/ncurses/man/curs_getyx.3x | 150 +- contrib/ncurses/man/curs_in_wch.3x | 85 +- contrib/ncurses/man/curs_in_wchstr.3x | 139 +- contrib/ncurses/man/curs_inch.3x | 148 +- contrib/ncurses/man/curs_inchstr.3x | 179 +- contrib/ncurses/man/curs_initscr.3x | 677 +- contrib/ncurses/man/curs_inopts.3x | 939 +- contrib/ncurses/man/curs_ins_wch.3x | 110 +- contrib/ncurses/man/curs_ins_wstr.3x | 179 +- contrib/ncurses/man/curs_insch.3x | 71 +- contrib/ncurses/man/curs_insstr.3x | 175 +- contrib/ncurses/man/curs_instr.3x | 188 +- contrib/ncurses/man/curs_inwstr.3x | 239 +- contrib/ncurses/man/curs_kernel.3x | 467 +- contrib/ncurses/man/curs_legacy.3x | 35 +- contrib/ncurses/man/curs_mouse.3x | 554 +- contrib/ncurses/man/curs_move.3x | 64 +- contrib/ncurses/man/curs_opaque.3x | 33 +- contrib/ncurses/man/curs_outopts.3x | 414 +- contrib/ncurses/man/curs_overlay.3x | 53 +- contrib/ncurses/man/curs_pad.3x | 244 +- contrib/ncurses/man/curs_print.3x | 105 +- contrib/ncurses/man/curs_printw.3x | 139 +- contrib/ncurses/man/curs_refresh.3x | 33 +- contrib/ncurses/man/curs_scanw.3x | 129 +- contrib/ncurses/man/curs_scr_dump.3x | 192 +- contrib/ncurses/man/curs_scroll.3x | 143 +- contrib/ncurses/man/curs_slk.3x | 77 +- contrib/ncurses/man/curs_sp_funcs.3x | 272 +- contrib/ncurses/man/curs_termattrs.3x | 199 +- contrib/ncurses/man/curs_termcap.3x | 446 +- contrib/ncurses/man/curs_terminfo.3x | 842 +- contrib/ncurses/man/curs_threads.3x | 8 +- contrib/ncurses/man/curs_touch.3x | 70 +- contrib/ncurses/man/curs_trace.3x | 14 +- contrib/ncurses/man/curs_util.3x | 446 +- contrib/ncurses/man/curs_variables.3x | 298 +- contrib/ncurses/man/curs_window.3x | 318 +- contrib/ncurses/man/define_key.3x | 108 +- contrib/ncurses/man/form.3x | 21 +- contrib/ncurses/man/form_driver.3x | 9 +- contrib/ncurses/man/form_field.3x | 15 +- contrib/ncurses/man/form_field_buffer.3x | 8 +- contrib/ncurses/man/form_field_new.3x | 7 +- contrib/ncurses/man/form_field_opts.3x | 20 +- contrib/ncurses/man/form_field_userptr.3x | 7 +- contrib/ncurses/man/form_field_validation.3x | 30 +- contrib/ncurses/man/form_fieldtype.3x | 23 +- contrib/ncurses/man/form_hook.3x | 27 +- contrib/ncurses/man/form_new.3x | 11 +- contrib/ncurses/man/form_opts.3x | 20 +- contrib/ncurses/man/form_page.3x | 8 +- contrib/ncurses/man/form_requestname.3x | 8 +- contrib/ncurses/man/form_userptr.3x | 7 +- contrib/ncurses/man/form_win.3x | 16 +- contrib/ncurses/man/infocmp.1m | 299 +- contrib/ncurses/man/infotocap.1m | 62 +- contrib/ncurses/man/key_defined.3x | 60 +- contrib/ncurses/man/keybound.3x | 79 +- contrib/ncurses/man/keyok.3x | 88 +- contrib/ncurses/man/legacy_coding.3x | 42 +- contrib/ncurses/man/make_sed.sh | 10 +- contrib/ncurses/man/man_db.renames.in | 28 +- contrib/ncurses/man/manhtml.aliases | 29 +- contrib/ncurses/man/manhtml.externs | 15 +- contrib/ncurses/man/manlinks.sed | 13 +- contrib/ncurses/man/menu.3x | 60 +- contrib/ncurses/man/menu_driver.3x | 11 +- contrib/ncurses/man/menu_hook.3x | 28 +- contrib/ncurses/man/menu_items.3x | 13 +- contrib/ncurses/man/menu_mark.3x | 17 +- contrib/ncurses/man/menu_new.3x | 11 +- contrib/ncurses/man/menu_opts.3x | 20 +- contrib/ncurses/man/menu_pattern.3x | 9 +- contrib/ncurses/man/menu_requestname.3x | 8 +- contrib/ncurses/man/menu_spacing.3x | 8 +- contrib/ncurses/man/menu_userptr.3x | 7 +- contrib/ncurses/man/menu_win.3x | 16 +- contrib/ncurses/man/mitem_current.3x | 10 +- contrib/ncurses/man/mitem_name.3x | 7 +- contrib/ncurses/man/mitem_new.3x | 8 +- contrib/ncurses/man/mitem_opts.3x | 20 +- contrib/ncurses/man/mitem_userptr.3x | 7 +- contrib/ncurses/man/ncurses.3x | 896 +- contrib/ncurses/man/new_pair.3x | 14 +- contrib/ncurses/man/panel.3x | 27 +- contrib/ncurses/man/resizeterm.3x | 59 +- contrib/ncurses/man/scr_dump.5 | 22 +- contrib/ncurses/man/tabs.1 | 73 +- contrib/ncurses/man/term.5 | 431 +- contrib/ncurses/man/term.7 | 16 +- contrib/ncurses/man/term_variables.3x | 228 +- contrib/ncurses/man/terminfo.head | 11 +- contrib/ncurses/man/terminfo.tail | 409 +- contrib/ncurses/man/tic.1m | 612 +- contrib/ncurses/man/toe.1m | 23 +- contrib/ncurses/man/tput.1 | 410 +- contrib/ncurses/man/tset.1 | 22 +- contrib/ncurses/man/user_caps.5 | 584 +- contrib/ncurses/man/wresize.3x | 105 +- contrib/ncurses/menu/Makefile.in | 28 +- contrib/ncurses/menu/m_driver.c | 14 +- contrib/ncurses/menu/m_global.c | 14 +- contrib/ncurses/menu/m_item_new.c | 14 +- contrib/ncurses/menu/m_item_vis.c | 6 +- contrib/ncurses/menu/m_pattern.c | 6 +- contrib/ncurses/menu/m_post.c | 42 +- contrib/ncurses/menu/m_req_name.c | 6 +- contrib/ncurses/menu/menu.priv.h | 7 +- contrib/ncurses/menu/mf_common.h | 8 +- contrib/ncurses/misc/Makefile.in | 79 +- contrib/ncurses/misc/gen-pkgconfig.in | 14 +- contrib/ncurses/misc/gen_edit.sh | 16 +- contrib/ncurses/misc/magic | 9 +- contrib/ncurses/misc/makellib | 28 +- contrib/ncurses/misc/ncurses-config.in | 134 +- contrib/ncurses/misc/run_tic.in | 145 +- contrib/ncurses/misc/terminfo.src | 4424 ++++---- contrib/ncurses/mk-1st.awk | 105 +- contrib/ncurses/ncurses/Makefile.in | 36 +- contrib/ncurses/ncurses/base/MKkeyname.awk | 30 +- contrib/ncurses/ncurses/base/MKlib_gen.sh | 77 +- contrib/ncurses/ncurses/base/MKunctrl.awk | 10 +- contrib/ncurses/ncurses/base/define_key.c | 12 +- contrib/ncurses/ncurses/base/key_defined.c | 10 +- contrib/ncurses/ncurses/base/keybound.c | 8 +- contrib/ncurses/ncurses/base/keyok.c | 10 +- contrib/ncurses/ncurses/base/legacy_coding.c | 6 +- contrib/ncurses/ncurses/base/lib_addch.c | 12 +- contrib/ncurses/ncurses/base/lib_addstr.c | 14 +- contrib/ncurses/ncurses/base/lib_beep.c | 10 +- contrib/ncurses/ncurses/base/lib_bkgd.c | 6 +- contrib/ncurses/ncurses/base/lib_chgat.c | 7 +- contrib/ncurses/ncurses/base/lib_color.c | 84 +- contrib/ncurses/ncurses/base/lib_colorset.c | 6 +- contrib/ncurses/ncurses/base/lib_delch.c | 8 +- contrib/ncurses/ncurses/base/lib_delwin.c | 29 +- contrib/ncurses/ncurses/base/lib_dft_fgbg.c | 12 +- contrib/ncurses/ncurses/base/lib_driver.c | 50 +- contrib/ncurses/ncurses/base/lib_echo.c | 8 +- contrib/ncurses/ncurses/base/lib_endwin.c | 6 +- contrib/ncurses/ncurses/base/lib_erase.c | 6 +- contrib/ncurses/ncurses/base/lib_flash.c | 8 +- contrib/ncurses/ncurses/base/lib_freeall.c | 18 +- contrib/ncurses/ncurses/base/lib_getch.c | 51 +- contrib/ncurses/ncurses/base/lib_getstr.c | 12 +- contrib/ncurses/ncurses/base/lib_initscr.c | 12 +- contrib/ncurses/ncurses/base/lib_insch.c | 10 +- contrib/ncurses/ncurses/base/lib_insnstr.c | 8 +- contrib/ncurses/ncurses/base/lib_instr.c | 16 +- contrib/ncurses/ncurses/base/lib_mouse.c | 170 +- contrib/ncurses/ncurses/base/lib_mvwin.c | 6 +- contrib/ncurses/ncurses/base/lib_newterm.c | 47 +- contrib/ncurses/ncurses/base/lib_newwin.c | 80 +- contrib/ncurses/ncurses/base/lib_nl.c | 12 +- contrib/ncurses/ncurses/base/lib_overlay.c | 10 +- contrib/ncurses/ncurses/base/lib_pad.c | 22 +- contrib/ncurses/ncurses/base/lib_printw.c | 12 +- contrib/ncurses/ncurses/base/lib_redrawln.c | 6 +- contrib/ncurses/ncurses/base/lib_refresh.c | 8 +- contrib/ncurses/ncurses/base/lib_restart.c | 12 +- contrib/ncurses/ncurses/base/lib_screen.c | 104 +- contrib/ncurses/ncurses/base/lib_set_term.c | 128 +- contrib/ncurses/ncurses/base/lib_slk.c | 22 +- contrib/ncurses/ncurses/base/lib_slkatr_set.c | 8 +- contrib/ncurses/ncurses/base/lib_slkatrof.c | 6 +- contrib/ncurses/ncurses/base/lib_slkatron.c | 6 +- contrib/ncurses/ncurses/base/lib_slkatrset.c | 6 +- contrib/ncurses/ncurses/base/lib_slkattr.c | 6 +- contrib/ncurses/ncurses/base/lib_slkclear.c | 6 +- contrib/ncurses/ncurses/base/lib_slkcolor.c | 8 +- contrib/ncurses/ncurses/base/lib_slklab.c | 8 +- contrib/ncurses/ncurses/base/lib_slkrefr.c | 18 +- contrib/ncurses/ncurses/base/lib_slkset.c | 16 +- contrib/ncurses/ncurses/base/lib_slktouch.c | 6 +- contrib/ncurses/ncurses/base/lib_touch.c | 12 +- contrib/ncurses/ncurses/base/lib_ungetch.c | 6 +- contrib/ncurses/ncurses/base/lib_wattron.c | 6 +- contrib/ncurses/ncurses/base/lib_winch.c | 6 +- contrib/ncurses/ncurses/base/lib_window.c | 14 +- contrib/ncurses/ncurses/base/nc_panel.c | 6 +- contrib/ncurses/ncurses/base/new_pair.c | 22 +- contrib/ncurses/ncurses/base/resizeterm.c | 47 +- contrib/ncurses/ncurses/base/safe_sprintf.c | 19 +- contrib/ncurses/ncurses/base/tries.c | 20 +- contrib/ncurses/ncurses/base/vsscanf.c | 8 +- contrib/ncurses/ncurses/base/wresize.c | 22 +- contrib/ncurses/ncurses/build.priv.h | 6 +- contrib/ncurses/ncurses/curses.priv.h | 331 +- contrib/ncurses/ncurses/llib-lncurses | 26 +- contrib/ncurses/ncurses/llib-lncursest | 26 +- contrib/ncurses/ncurses/llib-lncursestw | 40 +- contrib/ncurses/ncurses/llib-lncursesw | 40 +- contrib/ncurses/ncurses/llib-ltinfo | 20 +- contrib/ncurses/ncurses/llib-ltinfot | 20 +- contrib/ncurses/ncurses/llib-ltinfotw | 20 +- contrib/ncurses/ncurses/llib-ltinfow | 20 +- contrib/ncurses/ncurses/modules | 18 +- contrib/ncurses/ncurses/new_pair.h | 10 +- .../{include/nc_mingw.h => ncurses/report_ctype.c} | 116 +- contrib/ncurses/ncurses/report_hashing.c | 6 +- contrib/ncurses/ncurses/report_offsets.c | 19 +- contrib/ncurses/ncurses/term.priv.h | 8 +- contrib/ncurses/ncurses/tinfo/MKcaptab.awk | 6 +- contrib/ncurses/ncurses/tinfo/MKcaptab.sh | 22 +- contrib/ncurses/ncurses/tinfo/MKcodes.awk | 12 +- contrib/ncurses/ncurses/tinfo/MKfallback.sh | 35 +- contrib/ncurses/ncurses/tinfo/MKkeys_list.sh | 26 +- contrib/ncurses/ncurses/tinfo/MKnames.awk | 12 +- contrib/ncurses/ncurses/tinfo/MKuserdefs.sh | 10 +- contrib/ncurses/ncurses/tinfo/access.c | 188 +- contrib/ncurses/ncurses/tinfo/add_tries.c | 18 +- contrib/ncurses/ncurses/tinfo/alloc_entry.c | 27 +- contrib/ncurses/ncurses/tinfo/alloc_ttype.c | 43 +- contrib/ncurses/ncurses/tinfo/captoinfo.c | 87 +- contrib/ncurses/ncurses/tinfo/comp_error.c | 16 +- contrib/ncurses/ncurses/tinfo/comp_expand.c | 22 +- contrib/ncurses/ncurses/tinfo/comp_hash.c | 14 +- contrib/ncurses/ncurses/tinfo/comp_parse.c | 59 +- contrib/ncurses/ncurses/tinfo/comp_scan.c | 68 +- contrib/ncurses/ncurses/tinfo/db_iterator.c | 66 +- contrib/ncurses/ncurses/tinfo/doalloc.c | 6 +- contrib/ncurses/ncurses/tinfo/entries.c | 30 +- contrib/ncurses/ncurses/tinfo/getenv_num.c | 14 +- contrib/ncurses/ncurses/tinfo/hashed_db.c | 49 +- contrib/ncurses/ncurses/tinfo/home_terminfo.c | 12 +- contrib/ncurses/ncurses/tinfo/init_keytry.c | 10 +- contrib/ncurses/ncurses/tinfo/lib_acs.c | 24 +- contrib/ncurses/ncurses/tinfo/lib_baudrate.c | 21 +- contrib/ncurses/ncurses/tinfo/lib_cur_term.c | 22 +- contrib/ncurses/ncurses/tinfo/lib_data.c | 44 +- contrib/ncurses/ncurses/tinfo/lib_has_cap.c | 8 +- contrib/ncurses/ncurses/tinfo/lib_kernel.c | 18 +- contrib/ncurses/ncurses/tinfo/lib_napms.c | 10 +- contrib/ncurses/ncurses/tinfo/lib_options.c | 30 +- contrib/ncurses/ncurses/tinfo/lib_print.c | 15 +- contrib/ncurses/ncurses/tinfo/lib_raw.c | 39 +- contrib/ncurses/ncurses/tinfo/lib_setup.c | 148 +- contrib/ncurses/ncurses/tinfo/lib_termcap.c | 60 +- contrib/ncurses/ncurses/tinfo/lib_termname.c | 10 +- contrib/ncurses/ncurses/tinfo/lib_tgoto.c | 18 +- contrib/ncurses/ncurses/tinfo/lib_ti.c | 12 +- contrib/ncurses/ncurses/tinfo/lib_tparm.c | 52 +- contrib/ncurses/ncurses/tinfo/lib_tputs.c | 32 +- contrib/ncurses/ncurses/tinfo/lib_ttyflags.c | 46 +- contrib/ncurses/ncurses/tinfo/lib_win32con.c | 414 +- contrib/ncurses/ncurses/tinfo/lib_win32util.c | 11 +- contrib/ncurses/ncurses/tinfo/make_hash.c | 51 +- contrib/ncurses/ncurses/tinfo/make_keys.c | 25 +- contrib/ncurses/ncurses/tinfo/name_match.c | 16 +- contrib/ncurses/ncurses/tinfo/obsolete.c | 14 +- contrib/ncurses/ncurses/tinfo/parse_entry.c | 56 +- contrib/ncurses/ncurses/tinfo/read_entry.c | 42 +- contrib/ncurses/ncurses/tinfo/read_termcap.c | 78 +- contrib/ncurses/ncurses/tinfo/strings.c | 14 +- contrib/ncurses/ncurses/tinfo/tinfo_driver.c | 125 +- contrib/ncurses/ncurses/tinfo/trim_sgr0.c | 98 +- contrib/ncurses/ncurses/tinfo/write_entry.c | 76 +- contrib/ncurses/ncurses/trace/lib_trace.c | 22 +- contrib/ncurses/ncurses/trace/lib_traceatr.c | 35 +- contrib/ncurses/ncurses/trace/lib_tracebits.c | 22 +- contrib/ncurses/ncurses/trace/lib_tracechr.c | 10 +- contrib/ncurses/ncurses/trace/lib_tracedmp.c | 8 +- contrib/ncurses/ncurses/trace/lib_tracemse.c | 10 +- contrib/ncurses/ncurses/trace/trace_buf.c | 26 +- contrib/ncurses/ncurses/trace/trace_tries.c | 10 +- contrib/ncurses/ncurses/trace/varargs.c | 38 +- contrib/ncurses/ncurses/trace/visbuf.c | 24 +- contrib/ncurses/ncurses/tty/MKexpanded.sh | 11 +- contrib/ncurses/ncurses/tty/hardscroll.c | 16 +- contrib/ncurses/ncurses/tty/hashmap.c | 26 +- contrib/ncurses/ncurses/tty/lib_mvcur.c | 84 +- contrib/ncurses/ncurses/tty/lib_tstp.c | 16 +- contrib/ncurses/ncurses/tty/lib_twait.c | 12 +- contrib/ncurses/ncurses/tty/lib_vidattr.c | 12 +- contrib/ncurses/ncurses/tty/tty_update.c | 48 +- contrib/ncurses/ncurses/wcwidth.h | 966 +- contrib/ncurses/ncurses/widechar/charable.c | 9 +- contrib/ncurses/ncurses/widechar/lib_add_wch.c | 12 +- contrib/ncurses/ncurses/widechar/lib_box_set.c | 6 +- contrib/ncurses/ncurses/widechar/lib_cchar.c | 8 +- contrib/ncurses/ncurses/widechar/lib_get_wch.c | 10 +- contrib/ncurses/ncurses/widechar/lib_get_wstr.c | 8 +- contrib/ncurses/ncurses/widechar/lib_hline_set.c | 6 +- contrib/ncurses/ncurses/widechar/lib_in_wch.c | 8 +- contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c | 10 +- contrib/ncurses/ncurses/widechar/lib_ins_wch.c | 53 +- contrib/ncurses/ncurses/widechar/lib_inwstr.c | 33 +- contrib/ncurses/ncurses/widechar/lib_key_name.c | 6 +- contrib/ncurses/ncurses/widechar/lib_pecho_wchar.c | 6 +- contrib/ncurses/ncurses/widechar/lib_slk_wset.c | 8 +- contrib/ncurses/ncurses/widechar/lib_unget_wch.c | 10 +- contrib/ncurses/ncurses/widechar/lib_vid_attr.c | 26 +- contrib/ncurses/ncurses/widechar/lib_vline_set.c | 6 +- contrib/ncurses/ncurses/widechar/lib_wacs.c | 8 +- contrib/ncurses/ncurses/widechar/lib_wunctrl.c | 13 +- contrib/ncurses/ncurses/widechar/widechars.c | 12 +- contrib/ncurses/ncurses/win32con/gettimeofday.c | 9 +- contrib/ncurses/ncurses/win32con/wcwidth.c | 13 +- contrib/ncurses/ncurses/win32con/win32_driver.c | 101 +- contrib/ncurses/ncurses/win32con/win_driver.c | 2282 ---- contrib/ncurses/panel/Makefile.in | 28 +- contrib/ncurses/panel/p_above.c | 16 +- contrib/ncurses/panel/p_below.c | 18 +- contrib/ncurses/panel/p_new.c | 6 +- contrib/ncurses/panel/panel.c | 18 +- contrib/ncurses/panel/panel.priv.h | 6 +- contrib/ncurses/progs/Makefile.in | 67 +- contrib/ncurses/progs/capconvert | 44 +- contrib/ncurses/progs/clear.c | 6 +- contrib/ncurses/progs/clear_cmd.c | 69 +- contrib/ncurses/progs/dump_entry.c | 66 +- contrib/ncurses/progs/infocmp.c | 295 +- contrib/ncurses/progs/modules | 28 +- contrib/ncurses/progs/progs.priv.h | 4 +- contrib/ncurses/progs/reset_cmd.c | 90 +- contrib/ncurses/progs/tabs.c | 51 +- contrib/ncurses/progs/tic.c | 183 +- contrib/ncurses/progs/toe.c | 82 +- contrib/ncurses/progs/tput.c | 156 +- contrib/ncurses/progs/tset.c | 70 +- lib/ncurses/tinfo/Makefile | 16 +- lib/ncurses/tinfo/ncurses_cfg.h | 30 +- tools/build/mk/OptionalObsoleteFiles.inc | 3 - 415 files changed, 30494 insertions(+), 25899 deletions(-) diff --cc ObsoleteFiles.inc index 8c421ec4cc01,000000000000..8f44feb757e5 mode 100644,000000..100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@@ -1,11589 -1,0 +1,11594 @@@ +# +# +# This file lists old files (OLD_FILES), libraries (OLD_LIBS, MOVED_LIBS) +# and directories (OLD_DIRS) which should get removed after an update. +# Recently removed entries should be listed first (with the date as a +# comment). OLD_LIBS and MOVED_LIBS should only list dynamic libraries. +# Static libraries, links to dynamic libraries (lib*.so), and linker scripts +# should be listed in OLD_FILES. OLD_LIBS and MOVED_LIBS are removed by the +# delete-old-libs target, whereas OLD_FILES and OLD_DIRS are removed by the +# delete-old target. This separation allows users to avoid deleting old +# dynamic libraries still required by existing binaries. +# +# MOVED_LIBS should be used instead of OLD_LIBS when a library is moved +# from usr/lib to lib or vice versa. This avoids removing libraries for +# alternate ABIs (such as lib32) which store all libraries in a single +# directory (e.g. usr/lib32). +# +# For files listed in OLD_FILES, OLD_LIBS, and MOVED_LIBS, the check-old* +# and delete-old* targets will also delete associated debug symbols from +# usr/lib/debug. +# +# In case of a complete directory hierarchy the sorting is in depth first +# order. +# +# Files that are installed or removed depending on some build option +# should be listed in /usr/src/tools/build/mk/OptionalObsoleteFiles.inc +# instead of in this file. +# +# Before you commit changes to this file please check if any entries in +# tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following +# command tells which files are listed more than once regardless of some +# architecture specific conditionals, so you can not blindly trust the +# output: +# ( grep '+=' /usr/src/ObsoleteFiles.inc | sort -u ; \ +# grep '+=' /usr/src/tools/build/mk/OptionalObsoleteFiles.inc | sort -u) | \ +# sort | uniq -d +# +# To find regular duplicates not dependent on optional components, you can +# also use something that will not give you false positives, e.g.: +# for t in `make -V TARGETS universe`; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 TARGET=$t \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done +# +# For optional components, you can use the following to see if some entries +# in OptionalObsoleteFiles.inc have been obsoleted by ObsoleteFiles.inc +# for o in tools/build/options/WITH*; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 -D${o##*/} \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done + ++# 20260114: remove ncurses html documentation ++OLD_FILES+=usr/share/doc/ncurses/hackguide.html ++OLD_FILES+=usr/share/doc/ncurses/ncurses-intro.html ++OLD_DIRS+=usr/share/doc/ncurses ++ +# 20251215: Remove intrinsic utilities +OLD_FILES+=usr/bin/alias +OLD_FILES+=usr/bin/bg +OLD_FILES+=usr/bin/cd +OLD_FILES+=usr/bin/fc +OLD_FILES+=usr/bin/fg +OLD_FILES+=usr/bin/getopts +OLD_FILES+=usr/bin/hash +OLD_FILES+=usr/bin/jobs +OLD_FILES+=usr/bin/read +OLD_FILES+=usr/bin/type +OLD_FILES+=usr/bin/ulimit +OLD_FILES+=usr/bin/umask +OLD_FILES+=usr/bin/unalias +OLD_FILES+=usr/bin/wait + +# 20251208: Rename iwm8000C to correct name. +OLD_FILES+=boot/firmware/iwm8000C + +# 20251207: removed libuutil and libtpool +OLD_LIBS+= lib/libuutil.so.2 +OLD_LIBS+= lib/libtpool.so.2 + +# 20251204: zpfind.9 alias to pfind.9 removed +OLD_FILES+=usr/share/man/man9/zpfind.9 + +# 20251121: Remove duplicate pam_krb5 manual page +OLD_FILES+=usr/share/man/man8/pam-krb5.8.gz + +# 20251112: Remove old MLINK to apmconf(8) +OLD_FILES+=usr/share/man/man8/apmconf.8.gz + +# 20251112: Remove pccard(4) and related +OLD_FILES+=usr/share/man/man4/pccard.4.gz +OLD_FILES+=usr/share/man/man4/pcic.4.gz + +# 20251028: Remove hifn(4) +OLD_FILES+=usr/share/man/man4/hifn.4.gz + +# 20251006: Remove libnss_tacplus.a (it never should have been installed) +OLD_FILES+=usr/lib/libnss_tacplus.a + +# 20251003: kgdb python scripts moved +OLD_FILES+=usr/libexec/kgdb/acttrace.py +OLD_DIRS+=usr/libexec/kgdb + +# 20251001: test helper sendto-IP_MULTICAST_IF renamed +OLD_FILES+=usr/tests/sys/netinet/sendto-IP_MULTICAST_IF + +# 20250930: Rename wlanstats to wlanstat +OLD_FILES+=usr/sbin/wlanstats +OLD_FILES+=usr/share/man/man8/wlanstats.8.gz + +# 20250929: Remove ftpd(8) +OLD_FILES+=etc/rc.d/ftpd +OLD_FILES+=usr/libexec/ftpd +OLD_FILES+=usr/share/man/man5/ftpchroot.5.gz +OLD_FILES+=usr/share/man/man8/ftpd.8.gz + +# 20250917: VREF macro removed +OLD_FILES+=usr/share/man/man9/VREF.9.gz + +# 20250917: Remove a miscapitalized manual +OLD_FILES+=usr/share/man/man9/vnet.9.gz +OLD_FILES+=usr/share/man/man9/vimage.9.gz + +# 20250911: This tool is no longer needed +OLD_FILES+=usr/tests/bin/cp/sparse + +# 20250826: Remove a misspelled manual +OLD_FILES+=usr/share/man/man3/sysdecode_syscallnames.3.gz + +# 20250812: Remove a bogus manlink +OLD_FILES+=usr/share/man/man3/quota_statfs.3.gz + +# 20250808: nvmfd removed from base install +OLD_FILES+=usr/sbin/nvmfd +OLD_FILES+=usr/share/man/man8/nvmfd.8.gz + +# 20250807: Replace lib/libgssapi with krb5/lib/gssapi +OLD_FILES+=usr/include/gssapi_krb5/gssapi.h +OLD_FILES+=usr/include/gssapi_krb5/gssapi/gssapi.h +OLD_FILES+=usr/include/gssapi_krb5/gssapi/mechglue.h +OLD_DIRS+=usr/include/gssapi_krb5/gssapi +OLD_DIRS+=usr/include/gssapi_krb5 +OLD_FILES+=etc/gssapi/qop + +# 20250802: libutil bumped to 10 +OLD_LIBS+=lib/libutil.so.9 + +# 20250801: libopencsd libraries moved to /usr/lib and made private +OLD_FILES+=lib/libopencsd.so.0 +OLD_FILES+=usr/lib/libopencsd.a +OLD_FILES+=usr/lib/libopencsd.so + +# 20250801: Move compile_et to /usr/sbin +OLD_FILES+=usr/share/et/compile_et + +# 20250728: zfsboot (MBR) removed +OLD_FILES+=boot/zfsboot +OLD_FILES+=usr/share/man/man8/zfsboot.8.gz + +# 20250728: Machine versions of 'runq.h' do not exist anymore +OLD_FILES+=usr/include/machine/runq.h + +# 20250727: libvmmapi bumped to 7 +OLD_LIBS+=usr/lib/libvmmapi.so.6 + +# 20250726: MIT KRB5 DSO bump +OLD_LIBS+=usr/lib/libcom_err.so.121 +OLD_LIBS+=usr/lib/libgssapi_krb5.so.121 +OLD_LIBS+=usr/lib/libgssrpc.so.121 +OLD_LIBS+=usr/lib/libk5crypto.so.121 +OLD_LIBS+=usr/lib/libkadm5clnt_mit.so.121 +OLD_LIBS+=usr/lib/libkadm5srv_mit.so.121 +OLD_LIBS+=usr/lib/libkdb5.so.121 +OLD_LIBS+=usr/lib/libkrad.so.121 +OLD_LIBS+=usr/lib/libkrb5.so.121 +OLD_LIBS+=usr/lib/libkrb5profile.so.121 +OLD_LIBS+=usr/lib/libkrb5support.so.121 +OLD_LIBS+=usr/lib/libverto.so.121 + +# 20250726: xargs tests rewritten +OLD_FILES+=usr/tests/usr.bin/xargs/legacy_test +OLD_FILES+=usr/tests/usr.bin/xargs/regress.n2147483647.out +OLD_FILES+=usr/tests/usr.bin/xargs/regress.sh + +# 20250726: This file is now installed in /etc/dma +OLD_FILES+=usr/share/examples/dma/auth.conf + +# 20250725: libbsnmp bumped to version 7 +OLD_LIBS+=usr/lib/libbsnmp.so.6 + +# 20250725: Files which were briefly installed by WITH_MITKRB5 in 15.0. +OLD_FILES+=usr/include/kadm5/admin_internal.h +OLD_FILES+=usr/include/kadm5/admin_xdr.h +OLD_FILES+=usr/include/kadm5/kadm_rpc.h +OLD_FILES+=usr/include/kadm5/server_internal.h +OLD_FILES+=usr/include/internal.h +OLD_FILES+=usr/include/t_daemon.h +OLD_FILES+=usr/include/t_test.h +OLD_FILES+=usr/include/dyn.h +OLD_FILES+=usr/include/dynP.h +OLD_FILES+=usr/include/gssrpcint.h +OLD_FILES+=usr/include/import_err.h +OLD_FILES+=usr/share/man/man3/db_btree.3.gz +OLD_FILES+=usr/share/man/man3/db_hash.3.gz +OLD_FILES+=usr/share/man/man3/db_lock.3.gz +OLD_FILES+=usr/share/man/man3/db_log.3.gz +OLD_FILES+=usr/share/man/man3/db_mpool.3.gz +OLD_FILES+=usr/share/man/man3/db_open.3.gz +OLD_FILES+=usr/share/man/man3/db_recno.3.gz +OLD_FILES+=usr/share/man/man3/db_txn.3.gz +OLD_FILES+=usr/share/man/man5/profile.5.gz +OLD_FILES+=usr/share/man/man8/kamdin.local.8.gz + +# 20250716: Remove an old manual page, vn(4) was removed in FreeBSD 5.0 +OLD_FILES+=usr/share/man/man4/vn.4.gz + +# 20250710: share: Delete bitrotted make_*_driver.sh scripts +OLD_FILES+=usr/share/examples/drivers/README +OLD_FILES+=usr/share/examples/drivers/make_device_driver.sh +OLD_FILES+=usr/share/examples/drivers/make_pseudo_driver.sh +OLD_DIRS+=usr/share/examples/drivers + +# 20250710: shar(1) removed +OLD_FILES+=usr/bin/shar + +# 20250708: For 34 days 15.0-CURRENT installed libkadm5clnt symlink without .so +OLD_FILES+=usr/lib/libkadm5clnt + +# 20250626: For 11 days 15.0-CURRENT installed libtpool to the wrong location +MOVED_LIBS+=usr/lib/libtpool.so.2 + +# 20250626: replace yaml.lua with lyaml +OLD_FILES+=usr/share/flua/yaml.lua + +# 20250615: don't install man page for absent function +OLD_FILES+=usr/share/man/man9/vm_map_simplify_entry.9.gz + +# 20250615: OpenSSL 3.5.0 +OLD_LIBS+=lib/libcrypto.so.30 +OLD_FILES+=usr/include/openssl/asn1_mac.h +OLD_LIBS+=usr/lib/libssl.so.30 +OLD_FILES+=usr/share/man/man3/TS_VERIFY_CTX_set_certs.3 +OLD_FILES+=usr/share/man/man7/crypto.7 +OLD_FILES+=usr/share/man/man7/migration_guide.7 +OLD_FILES+=usr/share/man/man7/ssl.7 + +# 20250521: don't install zoneinfo version +OLD_FILES+=usr/share/zoneinfo/version + +# 20250516: NDFREE(9) -> NDFREE_PNBUF(9) +OLD_FILES+=usr/share/man/man9/NDFREE.9.gz + +# 20250511: mailx test renamed +OLD_FILES+=usr/tests/usr.bin/mail/mail_sigint_test + +# 20250505: Remove audio(8) files after rename to sndctl(8) +OLD_FILES+=usr/sbin/audio +OLD_FILES+=usr/share/man/man8/audio.8.gz + +# 20250409: removal of iwlwifi firmware files +OLD_FILES+=usr/share/doc/legal/intel_iwlwifi_firmware.LICENCE + +# 20250331: removal of TCPPCAP +OLD_FILES+=usr/include/netinet/tcp_pcap.h + +# 20250310: caroot bundle updated +OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_G4.pem +OLD_FILES+=usr/share/certs/trusted/SecureSign_RootCA11.pem +OLD_FILES+=usr/share/certs/trusted/Security_Communication_RootCA3.pem +OLD_FILES+=usr/share/certs/trusted/SwissSign_Silver_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/AddTrust_External_Root.pem +OLD_FILES+=usr/share/certs/untrusted/AddTrust_Low-Value_Services_Root.pem +OLD_FILES+=usr/share/certs/untrusted/Staat_der_Nederlanden_Root_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/Cybertrust_Global_Root.pem +OLD_FILES+=usr/share/certs/untrusted/DST_Root_CA_X3.pem +OLD_FILES+=usr/share/certs/untrusted/GlobalSign_Root_CA_-_R2.pem +OLD_FILES+=usr/share/certs/untrusted/QuoVadis_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Sonera_Class_2_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Global_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Staat_der_Nederlanden_EV_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/E-Tugra_Certification_Authority.pem +OLD_FILES+=usr/share/certs/untrusted/Hongkong_Post_Root_CA_1.pem +OLD_FILES+=usr/share/certs/untrusted/Security_Communication_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Trustis_FPS_Root_CA.pem + +# 20250205: bus_generic_attach.9 removed after the function was deprecated +OLD_FILES+=usr/share/man/man9/bus_generic_attach.9.gz + +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_FILES+=usr/tests/sys/vm/stack/.debug/libsoxstack.so.debug +OLD_DIRS+=usr/tests/sys/vm/stack/.debug + +# 20250129: libdevinfo bumped to version 7 +OLD_LIBS+=usr/lib/libdevinfo.so.6 + +# 20250123: Remove gvinum(8) +OLD_FILES+=sbin/gvinum +OLD_FILES+=usr/share/man/man8/gvinum.8.gz + +# 20250122: Remove publickey(5) stuff +OLD_FILES+=usr/bin/chkey +OLD_FILES+=usr/bin/keylogin +OLD_FILES+=usr/bin/keylogout +OLD_FILES+=usr/sbin/keyserv +OLD_FILES+=usr/bin/newkey +OLD_FILES+=usr/share/man/man1/chkey.1.gz +OLD_FILES+=usr/share/man/man1/keylogin.1.gz +OLD_FILES+=usr/share/man/man1/keylogout.1.gz +OLD_FILES+=usr/share/man/man5/publickey.5.gz +OLD_FILES+=usr/share/man/man8/keyserv.1.gz +OLD_FILES+=etc/rc.d/keyserv + +# 20241206: Remove Altera DE4 drivers +OLD_FILES+=usr/share/man/man4/altera_atse.4.gz +OLD_FILES+=usr/share/man/man4/altera_avgen.4.gz +OLD_FILES+=usr/share/man/man4/altera_jtag_uart.4.gz +OLD_FILES+=usr/share/man/man4/altera_sdcard.4.gz +OLD_FILES+=usr/share/man/man4/altera_sdcardc.4.gz +OLD_FILES+=usr/share/man/man4/atse.4.gz + +# 20241124: library and tests of OpenBSD dc +OLD_FILES+=usr/share/misc/bc.library +OLD_FILES+=usr/tests/usr.bin/dc/Kyuafile +OLD_FILES+=usr/tests/usr.bin/dc/bcode +OLD_FILES+=usr/tests/usr.bin/dc/inout +OLD_DIRS+=usr/tests/usr.bin/dc + +# 20241119: rewrite mv tests +OLD_FILES+=usr/tests/bin/mv/legacy_test + +# 20241112: Retire MK_PROFILE support +OLD_FILES+=usr/lib/lib80211_p.a +OLD_FILES+=usr/lib/lib9p_p.a +OLD_FILES+=usr/lib/libBlocksRuntime_p.a +OLD_FILES+=usr/lib/libalias_dummy_p.a +OLD_FILES+=usr/lib/libalias_ftp_p.a +OLD_FILES+=usr/lib/libalias_irc_p.a +OLD_FILES+=usr/lib/libalias_nbt_p.a +OLD_FILES+=usr/lib/libalias_p.a +OLD_FILES+=usr/lib/libalias_pptp_p.a +OLD_FILES+=usr/lib/libalias_skinny_p.a +OLD_FILES+=usr/lib/libalias_smedia_p.a +OLD_FILES+=usr/lib/libarchive_p.a +OLD_FILES+=usr/lib/libasn1_p.a +OLD_FILES+=usr/lib/libavl_p.a +OLD_FILES+=usr/lib/libbe_p.a +OLD_FILES+=usr/lib/libbegemot_p.a +OLD_FILES+=usr/lib/libblacklist_p.a +OLD_FILES+=usr/lib/libbluetooth_p.a +OLD_FILES+=usr/lib/libbsdxml_p.a +OLD_FILES+=usr/lib/libbsm_p.a +OLD_FILES+=usr/lib/libbsnmp_p.a +OLD_FILES+=usr/lib/libbz2_p.a +OLD_FILES+=usr/lib/libc++_p.a +OLD_FILES+=usr/lib/libc_p.a +OLD_FILES+=usr/lib/libcalendar_p.a +OLD_FILES+=usr/lib/libcam_p.a +OLD_FILES+=usr/lib/libcom_err_p.a +OLD_FILES+=usr/lib/libcompat_p.a +OLD_FILES+=usr/lib/libcompiler_rt_p.a +OLD_FILES+=usr/lib/libcrypt_p.a +OLD_FILES+=usr/lib/libcrypto_p.a +OLD_FILES+=usr/lib/libctf_p.a +OLD_FILES+=usr/lib/libcurses_p.a +OLD_FILES+=usr/lib/libcursesw_p.a +OLD_FILES+=usr/lib/libcuse_p.a +OLD_FILES+=usr/lib/libcxxrt_p.a +OLD_FILES+=usr/lib/libdevctl_p.a +OLD_FILES+=usr/lib/libdevinfo_p.a +OLD_FILES+=usr/lib/libdevstat_p.a +OLD_FILES+=usr/lib/libdialog_p.a +OLD_FILES+=usr/lib/libdl_p.a +OLD_FILES+=usr/lib/libdpv_p.a +OLD_FILES+=usr/lib/libdtrace_p.a +OLD_FILES+=usr/lib/libdwarf_p.a +OLD_FILES+=usr/lib/libedit_p.a +OLD_FILES+=usr/lib/libefivar_p.a +OLD_FILES+=usr/lib/libelf_p.a +OLD_FILES+=usr/lib/libexecinfo_p.a +OLD_FILES+=usr/lib/libfetch_p.a +OLD_FILES+=usr/lib/libfigpar_p.a +OLD_FILES+=usr/lib/libfl_p.a +OLD_FILES+=usr/lib/libform_p.a +OLD_FILES+=usr/lib/libformw_p.a +OLD_FILES+=usr/lib/libgcc_eh_p.a +OLD_FILES+=usr/lib/libgcc_p.a +OLD_FILES+=usr/lib/libgeom_p.a +OLD_FILES+=usr/lib/libgpio_p.a +OLD_FILES+=usr/lib/libgssapi_krb5_p.a +OLD_FILES+=usr/lib/libgssapi_ntlm_p.a +OLD_FILES+=usr/lib/libgssapi_p.a +OLD_FILES+=usr/lib/libgssapi_spnego_p.a +OLD_FILES+=usr/lib/libhdb_p.a +OLD_FILES+=usr/lib/libheimbase_p.a +OLD_FILES+=usr/lib/libheimntlm_p.a +OLD_FILES+=usr/lib/libheimsqlite_p.a +OLD_FILES+=usr/lib/libhistory_p.a +OLD_FILES+=usr/lib/libhx509_p.a +OLD_FILES+=usr/lib/libicp_p.a +OLD_FILES+=usr/lib/libicp_rescue_p.a +OLD_FILES+=usr/lib/libipsec_p.a +OLD_FILES+=usr/lib/libipt_p.a +OLD_FILES+=usr/lib/libjail_p.a +OLD_FILES+=usr/lib/libkadm5clnt_p.a +OLD_FILES+=usr/lib/libkadm5srv_p.a +OLD_FILES+=usr/lib/libkafs5_p.a +OLD_FILES+=usr/lib/libkdc_p.a +OLD_FILES+=usr/lib/libkiconv_p.a +OLD_FILES+=usr/lib/libkrb5_p.a +OLD_FILES+=usr/lib/libkvm_p.a +OLD_FILES+=usr/lib/libl_p.a +OLD_FILES+=usr/lib/libln_p.a +OLD_FILES+=usr/lib/liblzma_p.a +OLD_FILES+=usr/lib/libm_p.a +OLD_FILES+=usr/lib/libmagic_p.a +OLD_FILES+=usr/lib/libmd_p.a +OLD_FILES+=usr/lib/libmemstat_p.a +OLD_FILES+=usr/lib/libmenu_p.a +OLD_FILES+=usr/lib/libmenuw_p.a +OLD_FILES+=usr/lib/libmilter_p.a +OLD_FILES+=usr/lib/libmp_p.a +OLD_FILES+=usr/lib/libmt_p.a +OLD_FILES+=usr/lib/libncurses_p.a +OLD_FILES+=usr/lib/libncursesw_p.a +OLD_FILES+=usr/lib/libnetgraph_p.a +OLD_FILES+=usr/lib/libnetmap_p.a +OLD_FILES+=usr/lib/libnss_tacplus_p.a +OLD_FILES+=usr/lib/libnv_p.a +OLD_FILES+=usr/lib/libnvpair_p.a +OLD_FILES+=usr/lib/libopencsd_p.a +OLD_FILES+=usr/lib/libpanel_p.a +OLD_FILES+=usr/lib/libpanelw_p.a +OLD_FILES+=usr/lib/libpathconv_p.a +OLD_FILES+=usr/lib/libpcap_p.a +OLD_FILES+=usr/lib/libpjdlog_p.a +OLD_FILES+=usr/lib/libpmc_p.a +OLD_FILES+=usr/lib/libprivateatf-c++_p.a +OLD_FILES+=usr/lib/libprivateatf-c_p.a +OLD_FILES+=usr/lib/libprivateauditd_p.a +OLD_FILES+=usr/lib/libprivatebsdstat_p.a +OLD_FILES+=usr/lib/libprivatecbor_p.a +OLD_FILES+=usr/lib/libprivatedevdctl_p.a +OLD_FILES+=usr/lib/libprivateevent1_p.a +OLD_FILES+=usr/lib/libprivatefido2_p.a +OLD_FILES+=usr/lib/libprivategmock_main_p.a +OLD_FILES+=usr/lib/libprivategmock_p.a +OLD_FILES+=usr/lib/libprivategtest_main_p.a +OLD_FILES+=usr/lib/libprivategtest_p.a +OLD_FILES+=usr/lib/libprivateheimipcc_p.a +OLD_FILES+=usr/lib/libprivateheimipcs_p.a +OLD_FILES+=usr/lib/libprivateldns_p.a +OLD_FILES+=usr/lib/libprivatesqlite3_p.a +OLD_FILES+=usr/lib/libprivatessh_p.a +OLD_FILES+=usr/lib/libprivateucl_p.a +OLD_FILES+=usr/lib/libprivateunbound_p.a +OLD_FILES+=usr/lib/libprivatezstd_p.a +OLD_FILES+=usr/lib/libproc_p.a +OLD_FILES+=usr/lib/libprocstat_p.a +OLD_FILES+=usr/lib/libpthread_p.a +OLD_FILES+=usr/lib/libradius_p.a +OLD_FILES+=usr/lib/libregex_p.a +OLD_FILES+=usr/lib/libroken_p.a +OLD_FILES+=usr/lib/librpcsvc_p.a +OLD_FILES+=usr/lib/librss_p.a +OLD_FILES+=usr/lib/librt_p.a +OLD_FILES+=usr/lib/librtld_db_p.a +OLD_FILES+=usr/lib/libsbuf_p.a +OLD_FILES+=usr/lib/libsdp_p.a +OLD_FILES+=usr/lib/libsmb_p.a +OLD_FILES+=usr/lib/libspl_p.a +OLD_FILES+=usr/lib/libssl_p.a +OLD_FILES+=usr/lib/libstats_p.a +OLD_FILES+=usr/lib/libstdbuf_p.a +OLD_FILES+=usr/lib/libstdthreads_p.a +OLD_FILES+=usr/lib/libsysdecode_p.a +OLD_FILES+=usr/lib/libtacplus_p.a +OLD_FILES+=usr/lib/libtermcap_p.a +OLD_FILES+=usr/lib/libtermcapw_p.a +OLD_FILES+=usr/lib/libtermlib_p.a +OLD_FILES+=usr/lib/libtermlibw_p.a +OLD_FILES+=usr/lib/libthr_p.a +OLD_FILES+=usr/lib/libthread_db_p.a +OLD_FILES+=usr/lib/libtinfo_p.a +OLD_FILES+=usr/lib/libtinfow_p.a +OLD_FILES+=usr/lib/libtpool_p.a +OLD_FILES+=usr/lib/libufs_p.a +OLD_FILES+=usr/lib/libugidfw_p.a +OLD_FILES+=usr/lib/libulog_p.a +OLD_FILES+=usr/lib/libumem_p.a +OLD_FILES+=usr/lib/libusb_p.a +OLD_FILES+=usr/lib/libusbhid_p.a +OLD_FILES+=usr/lib/libutempter_p.a +OLD_FILES+=usr/lib/libutil_p.a +OLD_FILES+=usr/lib/libuutil_p.a +OLD_FILES+=usr/lib/libvgl_p.a +OLD_FILES+=usr/lib/libvmmapi_p.a +OLD_FILES+=usr/lib/libwind_p.a +OLD_FILES+=usr/lib/libwrap_p.a +OLD_FILES+=usr/lib/libxo_p.a +OLD_FILES+=usr/lib/liby_p.a +OLD_FILES+=usr/lib/libypclnt_p.a +OLD_FILES+=usr/lib/libz_p.a +OLD_FILES+=usr/lib/libzfs_core_p.a +OLD_FILES+=usr/lib/libzfs_p.a +OLD_FILES+=usr/lib/libzfsbootenv_p.a +OLD_FILES+=usr/lib/libzutil_p.a + +# 20241112: move p9fs from section 5 to section 4 +OLD_FILES+=usr/share/man/man5/p9fs.5.gz + +# 20241104: remove the outdated c2x.7 symlink in favor of c23.7 +OLD_FILES+=usr/share/man/man7/c2x.7.gz + +# 20241023: new clang import which bumps version from 18 to 19 +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/18/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/18/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/18/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/18/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/18/include/__clang_hip_stdlib.h +OLD_FILES+=usr/lib/clang/18/include/__stdarg___gnuc_va_list.h +OLD_FILES+=usr/lib/clang/18/include/__stdarg___va_copy.h +OLD_FILES+=usr/lib/clang/18/include/__stdarg_va_arg.h +OLD_FILES+=usr/lib/clang/18/include/__stdarg_va_copy.h +OLD_FILES+=usr/lib/clang/18/include/__stdarg_va_list.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_null.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_nullptr_t.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_offsetof.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_ptrdiff_t.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_rsize_t.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_size_t.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_unreachable.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_wchar_t.h +OLD_FILES+=usr/lib/clang/18/include/__stddef_wint_t.h +OLD_FILES+=usr/lib/clang/18/include/__wmmintrin_aes.h *** 22253 LINES SKIPPED *** From nobody Wed Jan 14 14:30:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drpRb0KKDz6NTv9 for ; Wed, 14 Jan 2026 14:30: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drpRZ6gV5z4F9x for ; Wed, 14 Jan 2026 14:30:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768401002; 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=zh7KbsxG2vXy+ZobLtrInApI7GcadpAXh/vZAZ88G4I=; b=qXaP3V3FKeQ5lCcojVzsTgEnhTOVqFSNDqE/5T3VpkBF1kHcwtvdFa804zvC/rqy9Z/7pI LxXuyD3n7jnWSvek2IezSXXnSTc3iirkMf9j81U9uYmntaBxiokqOEerGvwFXLvPOxnd4J KCTHMe7YiyT0ksbmom5gDdAxAe3oSo7X/Jrd+Ei9IRXfDqjer16NtSevTgjcAAfE00pRo/ l6h17hZrTwmvGKE9Jio5Pgu4bQ/QJEY0sUAoLeuJuV+RdAF5t9s6DI19Ysm7eZr9JsQB9o EJ+aPPsZX8hTL54K3mytPYgghOT0tCzLtgn4yAfeKv6iA4yEhJ3D+MAmA8Wujw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768401002; 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=zh7KbsxG2vXy+ZobLtrInApI7GcadpAXh/vZAZ88G4I=; b=F43RMcTV4NsLfz+zCbLqyuleEzZNj4lnRwabD6kR8rsrJMI0RbY2IoJV6RV5uhMVxMDO2z MmDXAvBGkL2mV80pyw3rjWg+hbvBsAaVZaLaOt+zfVbaTagOVzVNcpG62X45TeJjZSBv1t s2gGV2Sqjs0EIM45Nupte+AlU67vuIQ37Iv5ks3b+o3HHiImP3gPI0hqb5emWt+aCct6a6 Il1BiGgtgX3S30yngz5COrOL2idhmKs5/77bfiNiYXT8VR9/CpyqB7NGDHY0UoJEZCey8v HL8YA9kgofSXfe83SBoA3QlK0d1/ZBbx+AAfxB7OmtlhquxbmIlEmgQB2fRwNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768401002; a=rsa-sha256; cv=none; b=mj0UmVyEUzis2Q3GmNDkGFjVMtCqlTZM9ceFYUoQhRtmkX2vdvpyHYjzs4op018+QWu+OJ BjqgP6U8nVd+q/kcsGLbHO5sqGBWtpUrLd11oe0Grxa8jYkc2cr60gIEaPv3wfDhkaOQ0h 6LOEI/O1lBWKDwSKQi3LUSBlrghFkc0EQYPRD+7RxN/vQpRD83SVda9ukWn67TOKDf360+ 1zRgsnX6iLKXWKF3p3N6Sf0Ilztzhz6UrOCG4caGiAhexlg8Wap2mA8cM+eTHPTtiBudCp N0cuBs2Q11g0g56HkG5E1E6Nz87vHFps5uixf52VyxbQ+OiZcngFt+yQQiYAjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drpRZ69sBz11wJ for ; Wed, 14 Jan 2026 14:30:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9f26 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 14:30:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 0d9fd06b03e0 - main - gdb: Add missing mtree debug entry List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d9fd06b03e06ae642fa54510473b15361034a54 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 14:30:02 +0000 Message-Id: <6967a86a.9f26.4d0dbaf3@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=0d9fd06b03e06ae642fa54510473b15361034a54 commit 0d9fd06b03e06ae642fa54510473b15361034a54 Author: Jose Luis Duran AuthorDate: 2026-01-14 14:27:51 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-14 14:27:51 +0000 gdb: Add missing mtree debug entry Reviewed by: markj Fixes: ea675a43f09b ("libexec/kgdb: Add new modules and install them together with debug info") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54680 --- etc/mtree/BSD.debug.dist | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index a75edff4f865..8959b281f578 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -9,6 +9,8 @@ .. boot kernel + gdb + .. .. modules .. From nobody Wed Jan 14 14:30:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drpRc1RrBz6NV5n for ; Wed, 14 Jan 2026 14: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drpRb6vMNz4FHW for ; Wed, 14 Jan 2026 14:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768401004; 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=+G4fO7dvVKGosTj73FZw7VmZCTEh5PUKY85KzVNtaJg=; b=Gmja8qa5tvpNS+OKW+eqSHH5fZzjSc4IF1Ls5A5GSc1F0tMlZjGPyFt3KI84BM6UqHpvpE K3Iar5R5fDZ69xPaDhYBIjW/wS+gsYx56UOMPzLj6bozLI6h+iOzEKHzhhu5lSVLwyBNtQ Z4p9e7w9f2MWx36SmFtUbiarOS4rR0SLxcrEesgC8ojtwJsOmhwJ94r9R9sh4demWzNrLY s1l2mkeEQWIkbFZMP3GVzNlTWM37r6kLSfgDf774wqMrmcjkV1nuAUsh7crfxCg4wlxvVm B8fp2137sn9yVSTDP0tft+zS5FQbt3a0hR5BFAAh+2ksJvAYMNf67TQlEV1Ezw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768401004; 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=+G4fO7dvVKGosTj73FZw7VmZCTEh5PUKY85KzVNtaJg=; b=K8zQ+h5iVT7tkBa7LnCVtmZDKz1+0caWDr+y/e8KNjgHVFcjh1QZcwAdPtkAOcQ59RpYTW equ32BlHxSJSyGpXILUUNB3CssOQKOqknQoy9a4/Ig0WnlUTlQKZPGyrWtJn4EvPqcsxtj I1J99Zx5epBKFjyGusADi6ElfnEP+BlK5z4RnsQf97SuyrMf4CNLvIB1y86h8NMYOfieKd ZI1e/AOoT/mi9ILMGvs+5fN+Cf7o02Up3Soc7/uBuncqL6pQn2bYOX35mGFKsVJBFekbCX ULLiiGoM6kljAazMl8wSsj8Curqhsy9r3vRUDyAu6mjDCRs+J7A8hmrxDkfuCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768401004; a=rsa-sha256; cv=none; b=LnDPGCyOtf8mE8jWLe827NUeZ8TDF8+abVwwFqLJ4/NZei1BKnzWT5Ya9oSU17MlELqrFb 57njmiG/yh49kgY8z+kL8t6n/7aRHQadZS+oJb8CDk6HfSdSWN7GByZqsAaQllDSmXlULi GWTHU189b+4JpwMK926n08vnhkA3+J9kNgmgQSKDqtALdExrzSTpga0E7QoG5aare/XhMw N/6GRyKXkJ/8nfID5NX2wi3kaoC4EozQgGfefJMNEXcLAA5KvYrXQxoJA79v/ob2kxpHKy KDOnwEALr63qWfpQnZfZC7+NPF97HhLSZQRL1OOUlsCjA00eTXNKxHtjlUJIUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drpRb6W0tz129J for ; Wed, 14 Jan 2026 14:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9d3b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 14:30:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: b8480379adce - main - mtree: usr: Add missing pkg/triggers entry List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b8480379adcefaff0553aed1df67b249a0b194c8 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 14:30:03 +0000 Message-Id: <6967a86b.9d3b.6447c5df@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=b8480379adcefaff0553aed1df67b249a0b194c8 commit b8480379adcefaff0553aed1df67b249a0b194c8 Author: Jose Luis Duran AuthorDate: 2026-01-14 14:28:35 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-14 14:29:35 +0000 mtree: usr: Add missing pkg/triggers entry Reviewed by: ivy Fixes: ea5e50c2985b ("packages: Add a mandoc package") Differential Revision: https://reviews.freebsd.org/D54682 --- etc/mtree/BSD.usr.dist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index d1b4a6fdfef9..e371efd95350 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -843,6 +843,10 @@ .. .. .. + pkg + triggers + .. + .. security .. sendmail From nobody Wed Jan 14 14:32:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drpVK3Vnxz6NTn5; Wed, 14 Jan 2026 14:32:25 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drpVK2NmXz4GVg; Wed, 14 Jan 2026 14:32:25 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768401145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gFXSUNQ9QTsrVYnCe7ewurHwmszwxdRc8Ieugg54C1g=; b=iJg9ryKFuh3EBtPT4QTXfHZagLAbq+E6mpRnFJ4bdRYiBo80hNthyMgBCEIhGSe52l/dwh /JTLFi2GNreIAZxbnmfxQs4Noum5hzd8fzwW0vTcgR7EErD6sQWq3+/XMiqw+qnPIWTyYJ RQEt1fzLp1osufRksB2fNsA8/NFTcYM0wKtPprk8hUj7B2t5Knv6+zXiBP9vrwQYWkaAIB oSb8k3ML/eqpRscqHDI6864LSQXY4foTB17OBgRNWF4GbufrKtMVr13IaJNqEtI0oXHCK2 zfenh1xLr51vlxCSid+eDxK4ZeUJY4D1nW9WqAraKViYbcVZg23dwCfMHl44JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768401145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gFXSUNQ9QTsrVYnCe7ewurHwmszwxdRc8Ieugg54C1g=; b=leF1GjsP2t70aRocterZcSao5PtfsCK2ypI5rcgyhw0adtFT3tNaOmsRnmjM5esvisEvzI vQhXC6OZknh5xGaflyCRncrXckvzUbp/heYYdLLpVWkr6yLZ06bzktZe5Iifs7cpX3PuQl +M651QwhegmutvvkTYRx8uIgt3k+u4zqutE2FflcQt04PODjOr5CZ1JBDnxGtY4ZRXP7Sj kE96UbNXTmI0rSOGTP3n7VoIVm+AiOjaXfTmJC1iz3bhmU863KmEUhmd3HBYlP1gvIbU8/ B8Kx8pnt058GHcjVI4wmaWbE1fzgm5LOTVvFTNMzi6J/Ae/3LncTC3zeQPY4cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768401145; a=rsa-sha256; cv=none; b=E+CBAwgd1lb68qdDGkp+ZfXbwUKOx2g4SlXzYPLubKZjNqQrGmZFQpUYIhnqhCY0OASBx8 /KKNav6D5WoLbyn5lNwWyhq/IAkypSjf65hXVvxCt+8rVzuKTXY9mZygkppIjITfgqLRQ5 YEHI/vOSCcO6FxZ88S1J57DrfapEM8pNgOJkgHwaCI7hSFulVkM+IDgILynKIv4pfzLSsq Yw0HE9O5+8qwAIsVGEnP/NexyXZ6Q/R8+CkZ+QeJEY8X3kPx99x2nTVnKinvg+mVPOPz+r jBjR0W4GIu755L6SFMT2mh+FaF/6ahj2Mr3d4ck/JOuw0xBYJz5UfIaWxPAvHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ltc.des.dev (lfbn-nan-1-698-103.w86-236.abo.wanadoo.fr [86.236.35.103]) (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) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4drpVK1L3kzy5s; Wed, 14 Jan 2026 14:32:25 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id A2F351847D; Wed, 14 Jan 2026 15:32:22 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Warner Losh Cc: John Baldwin , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests In-Reply-To: (Warner Losh's message of "Tue, 13 Jan 2026 08:37:11 -0700") References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> <6e64a14f-1fa0-45ec-b73b-e84f1dbb8153@FreeBSD.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Wed, 14 Jan 2026 15:32:22 +0100 Message-ID: <86jyxkfeo9.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Warner Losh writes: > John Baldwin writes: > > sys/crypto isn't really the same. We store the generated OpenSSL > > assembly files there for use by ossl(4), but most of sys/crypto is > > not vendored (e.g. ccp, the non-assembly ossl bits, aesni are all > > just bespoke). > That's the beauty of this: We can have whatever we want here... These > were placeholders until we had more nuanced things. I see things like > openssh in crypto too, so many things are vendored there, in addition > to the mire of inconsistency... crypto is nearly fully vendored, sys/crypto is mostly not, don't confuse the two... DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Wed Jan 14 15:29:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drqm361xYz6NYYT for ; Wed, 14 Jan 2026 15:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drqm35LLkz4N5y for ; Wed, 14 Jan 2026 15:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768404563; 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=w+GXKu4Z2XNgIsTZUF2JrQACie1QPQhoXQEZyH4zlEs=; b=jX/NTNY9bwM8FGtMkHwY+4Nh4rw1LSbe71uHtweI5rMU5cZqPnt2cYc5hdOIC+4MoMpBxk 0LWVa5APF4qtFIzkw2IMjXINDiAOt5embE/u+N+cGPvlf5ZIHyTvwKvaxZQdOA9lqrWCzM NBZDp81g9qPDYmzy2AThdsApFfaxQQw0XhmKRsz/cIj240nxxz9dUvFdRORhdPrwcGUiGH /bU9luVeWI03jHXdGo75aoICrva0ON9NX9QmuhLluaEn+8SY6xTbmVZg9BPp/TPA9TxX5o vpQ3uCLxNs37JcOnC69B2rQdRvJNJSuv2E7tbgzOtKnFitmyfdI7+VqdayzHew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768404563; 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=w+GXKu4Z2XNgIsTZUF2JrQACie1QPQhoXQEZyH4zlEs=; b=ykiBeWryljgtcYWXYp+bIKBzu4kI6lD8RkMCa4vWYTkifQsVic9sSJD1QOZfn0wU+zeLA0 fInnIfdKiiqwTnCDyvUrio63TdEG47Cu39BaYJ6k5vp3uGfLFikvDf9hGa86WGdkycL59G rltEH9yTmujSo4wjbA7mDGgeHydWqPCOxwXfXZMxiCoN3HKjQml9EPY1Td0W2HzaBhEhhl GFRgLLd+TOH3I+VK9B5HXhQ7wRVII8PvsmyNxdInuX9I61CGRjDdUiSy7TJ9HJdBWW2jNo gwHV/h7Tung1GTdNBi8FblUiR10nTGf/sRAoCiA71sqDhHfAvV8bKoB0X4QHYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768404563; a=rsa-sha256; cv=none; b=aYTc1v8VvOpC4bNGOOOx/OGecHAMbSWl5nYFroBq0hlst7/BK0hfmPA0TFc5iaM7NM8YZw YdRQAusNCFTvD2x8IR/H6G/WhBHIKGmfBTVrVtb8JnI9JRmD0Dw7FFg1UC9EcZOGXwMAxc to3cJGRVxVOc3+8YsuPE1d51QOHxBxCqsninoPs+4J571Yc2+/bC4d6jx5quh1DijXa2d5 3eGYXx4Wezy9Y44WnrrRnLR9NOp79dgrrf8lpHymDgB0GY0Yz7O4WSG2Mf0bMC3bJ7k30x 7N5Z6LKWzMGmqPMSkUfLPC6s4SEMjFYtFVBY45DMKelqxdc3w+cHqjBuaxfXrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drqm34MXLz13pN for ; Wed, 14 Jan 2026 15:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20238 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 15:29:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 52d19df19ed6 - main - nvi: import version 2.2.2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52d19df19ed6455df025f7ac2c6cf5db7df8e5ec Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 15:29:21 +0000 Message-Id: <6967b651.20238.6d404165@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=52d19df19ed6455df025f7ac2c6cf5db7df8e5ec commit 52d19df19ed6455df025f7ac2c6cf5db7df8e5ec Merge: b8480379adce 3110ba77506b Author: Baptiste Daroussin AuthorDate: 2026-01-14 15:22:35 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 15:28:57 +0000 nvi: import version 2.2.2 contrib/nvi/.gitignore | 14 -- contrib/nvi/CMakeLists.txt | 67 +++--- contrib/nvi/README | 2 +- contrib/nvi/cl/cl.h | 2 +- contrib/nvi/cl/extern.h | 31 +++ contrib/nvi/common/common.h | 13 +- contrib/nvi/common/cut.c | 5 + contrib/nvi/common/extern.h | 131 ++++++++++++ contrib/nvi/common/line.c | 4 +- contrib/nvi/common/options.c | 39 ++-- contrib/nvi/common/options_def.h | 86 ++++++++ contrib/nvi/common/put.c | 46 ++-- contrib/nvi/common/recover.c | 2 +- contrib/nvi/ex/ex.c | 2 + contrib/nvi/ex/ex.h | 5 +- contrib/nvi/ex/ex_append.c | 21 +- contrib/nvi/ex/ex_bang.c | 4 +- contrib/nvi/ex/ex_def.h | 76 +++++++ contrib/nvi/ex/ex_move.c | 2 +- contrib/nvi/ex/ex_put.c | 2 +- contrib/nvi/ex/ex_shift.c | 8 +- contrib/nvi/ex/extern.h | 131 ++++++++++++ contrib/nvi/vi/extern.h | 145 +++++++++++++ contrib/nvi/vi/v_put.c | 34 ++- contrib/nvi/vi/vi.h | 2 +- usr.bin/vi/cl_extern.h | 31 +++ usr.bin/vi/common_extern.h | 131 ++++++++++++ usr.bin/vi/ex/version.h | 2 +- usr.bin/vi/ex_extern.h | 131 ++++++++++++ usr.bin/vi/extern.h | 444 --------------------------------------- usr.bin/vi/pathnames.h | 1 - usr.bin/vi/version.h | 1 + usr.bin/vi/vi_extern.h | 145 +++++++++++++ 33 files changed, 1179 insertions(+), 581 deletions(-) diff --cc contrib/nvi/cl/extern.h index 000000000000,7b01ccd3f8cf..7b01ccd3f8cf mode 000000,100644..100644 --- a/contrib/nvi/cl/extern.h +++ b/contrib/nvi/cl/extern.h diff --cc contrib/nvi/common/extern.h index 000000000000,c887696080de..c887696080de mode 000000,100644..100644 --- a/contrib/nvi/common/extern.h +++ b/contrib/nvi/common/extern.h diff --cc contrib/nvi/common/options_def.h index 000000000000,15104845c380..15104845c380 mode 000000,100644..100644 --- a/contrib/nvi/common/options_def.h +++ b/contrib/nvi/common/options_def.h diff --cc contrib/nvi/ex/ex_def.h index 000000000000,7afb7b19d677..7afb7b19d677 mode 000000,100644..100644 --- a/contrib/nvi/ex/ex_def.h +++ b/contrib/nvi/ex/ex_def.h diff --cc contrib/nvi/ex/extern.h index 000000000000,9d7b1d674c3c..9d7b1d674c3c mode 000000,100644..100644 --- a/contrib/nvi/ex/extern.h +++ b/contrib/nvi/ex/extern.h diff --cc contrib/nvi/vi/extern.h index 000000000000,8e145c6318ef..8e145c6318ef mode 000000,100644..100644 --- a/contrib/nvi/vi/extern.h +++ b/contrib/nvi/vi/extern.h diff --cc usr.bin/vi/cl_extern.h index 000000000000,000000000000..7b01ccd3f8cf new file mode 100644 --- /dev/null +++ b/usr.bin/vi/cl_extern.h @@@ -1,0 -1,0 +1,31 @@@ ++int cl_waddstr(SCR *, const CHAR_T *, size_t); ++int cl_addstr(SCR *, const char *, size_t); ++int cl_attr(SCR *, scr_attr_t, int); ++int cl_baud(SCR *, u_long *); ++int cl_bell(SCR *); ++int cl_clrtoeol(SCR *); ++int cl_cursor(SCR *, size_t *, size_t *); ++int cl_deleteln(SCR *); ++int cl_discard(SCR *, SCR **); ++int cl_ex_adjust(SCR *, exadj_t); ++int cl_insertln(SCR *); ++int cl_keyval(SCR *, scr_keyval_t, CHAR_T *, int *); ++int cl_move(SCR *, size_t, size_t); ++int cl_refresh(SCR *, int); ++int cl_rename(SCR *, char *, int); ++void cl_setname(GS *, char *); ++int cl_split(SCR *, SCR *); ++int cl_suspend(SCR *, int *); ++void cl_usage(void); ++int sig_init(GS *, SCR *); ++int cl_event(SCR *, EVENT *, u_int32_t, int); ++int cl_screen(SCR *, u_int32_t); ++int cl_quit(GS *); ++int cl_getcap(SCR *, char *, char **); ++int cl_term_init(SCR *); ++int cl_term_end(GS *); ++int cl_fmap(SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t); ++int cl_optchange(SCR *, int, char *, u_long *); ++int cl_omesg(SCR *, CL_PRIVATE *, int); ++int cl_ssize(SCR *, int, size_t *, size_t *, int *); ++int cl_putchar(int); diff --cc usr.bin/vi/common_extern.h index 000000000000,000000000000..5ddcf43610c4 new file mode 100644 --- /dev/null +++ b/usr.bin/vi/common_extern.h @@@ -1,0 -1,0 +1,131 @@@ ++char * codeset(void); ++void conv_init(SCR *, SCR *); ++int conv_enc(SCR *, int, char *); ++void conv_end(SCR *); ++int cut(SCR *, CHAR_T *, MARK *, MARK *, int); ++int cut_line(SCR *, recno_t, size_t, size_t, CB *); ++void cut_close(GS *); ++TEXT *text_init(SCR *, const CHAR_T *, size_t, size_t); ++void text_lfree(TEXTH *); ++void text_free(TEXT *); ++int del(SCR *, MARK *, MARK *, int); ++int looks_utf8(const char *, size_t); ++int looks_utf16(const char *, size_t); ++int decode_utf8(const char *); ++int decode_utf16(const char *, int); ++FREF *file_add(SCR *, char *); ++int file_init(SCR *, FREF *, char *, int); ++int file_end(SCR *, EXF *, int); ++int file_write(SCR *, MARK *, MARK *, char *, int); ++int file_m1(SCR *, int, int); ++int file_m2(SCR *, int); ++int file_m3(SCR *, int); ++int file_aw(SCR *, int); ++void set_alt_name(SCR *, char *); ++lockr_t file_lock(SCR *, char *, int, int); ++int v_key_init(SCR *); ++void v_key_ilookup(SCR *); ++size_t v_key_len(SCR *, ARG_CHAR_T); ++char *v_key_name(SCR *, ARG_CHAR_T); ++e_key_t v_key_val(SCR *, ARG_CHAR_T); ++int v_event_push(SCR *, EVENT *, CHAR_T *, size_t, u_int); ++int v_event_get(SCR *, EVENT *, int, u_int32_t); ++void v_event_err(SCR *, EVENT *); ++int v_event_flush(SCR *, u_int); ++int db_eget(SCR *, recno_t, CHAR_T **, size_t *, int *); ++int db_get(SCR *, recno_t, u_int32_t, CHAR_T **, size_t *); ++int db_delete(SCR *, recno_t); ++int db_append(SCR *, int, recno_t, CHAR_T *, size_t); ++int db_insert(SCR *, recno_t, CHAR_T *, size_t); ++int db_set(SCR *, recno_t, CHAR_T *, size_t); ++int db_exist(SCR *, recno_t); ++int db_last(SCR *, recno_t *); ++int db_rget(SCR *, recno_t, char **, size_t *); ++int db_rset(SCR *, recno_t, char *, size_t); ++void db_err(SCR *, recno_t); ++int log_init(SCR *, EXF *); ++int log_end(SCR *, EXF *); ++int log_cursor(SCR *); ++int log_line(SCR *, recno_t, u_int); ++int log_mark(SCR *, LMARK *); ++int log_backward(SCR *, MARK *); ++int log_setline(SCR *); ++int log_forward(SCR *, MARK *); ++int editor(GS *, int, char *[]); ++void v_end(GS *); ++int mark_init(SCR *, EXF *); ++int mark_end(SCR *, EXF *); ++int mark_get(SCR *, ARG_CHAR_T, MARK *, mtype_t); ++int mark_set(SCR *, ARG_CHAR_T, MARK *, int); ++int mark_insdel(SCR *, lnop_t, recno_t); ++void msgq(SCR *, mtype_t, const char *, ...); ++void msgq_wstr(SCR *, mtype_t, const CHAR_T *, const char *); ++void msgq_str(SCR *, mtype_t, const char *, const char *); ++void mod_rpt(SCR *); ++void msgq_status(SCR *, recno_t, u_int); ++int msg_open(SCR *, char *); ++void msg_close(GS *); ++const char *msg_cmsg(SCR *, cmsg_t, size_t *); ++const char *msg_cat(SCR *, const char *, size_t *); ++char *msg_print(SCR *, const char *, int *); ++int opts_init(SCR *, int *); ++int opts_set(SCR *, ARGS *[], char *); ++int o_set(SCR *, int, u_int, char *, u_long); ++int opts_empty(SCR *, int, int); ++void opts_dump(SCR *, enum optdisp); ++int opts_save(SCR *, FILE *); ++OPTLIST const *opts_search(CHAR_T *); ++void opts_nomatch(SCR *, CHAR_T *); ++int opts_copy(SCR *, SCR *); ++void opts_free(SCR *); ++int f_altwerase(SCR *, OPTION *, char *, u_long *); ++int f_columns(SCR *, OPTION *, char *, u_long *); ++int f_lines(SCR *, OPTION *, char *, u_long *); ++int f_lisp(SCR *, OPTION *, char *, u_long *); ++int f_msgcat(SCR *, OPTION *, char *, u_long *); ++int f_print(SCR *, OPTION *, char *, u_long *); ++int f_readonly(SCR *, OPTION *, char *, u_long *); ++int f_recompile(SCR *, OPTION *, char *, u_long *); ++int f_reformat(SCR *, OPTION *, char *, u_long *); ++int f_ttywerase(SCR *, OPTION *, char *, u_long *); ++int f_w300(SCR *, OPTION *, char *, u_long *); ++int f_w1200(SCR *, OPTION *, char *, u_long *); ++int f_w9600(SCR *, OPTION *, char *, u_long *); ++int f_window(SCR *, OPTION *, char *, u_long *); ++int f_encoding(SCR *, OPTION *, char *, u_long *); ++int put(SCR *, CB *, CHAR_T *, MARK *, MARK *, int, int); ++int rcv_tmp(SCR *, EXF *, char *); ++int rcv_init(SCR *); ++int rcv_sync(SCR *, u_int); ++int rcv_list(SCR *); ++int rcv_read(SCR *, FREF *); ++int screen_init(GS *, SCR *, SCR **); ++int screen_end(SCR *); ++SCR *screen_next(SCR *); ++int f_search(SCR *, ++ MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int); ++int b_search(SCR *, ++ MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int); ++void search_busy(SCR *, busy_t); ++int seq_set(SCR *, CHAR_T *, ++ size_t, CHAR_T *, size_t, CHAR_T *, size_t, seq_t, int); ++int seq_delete(SCR *, CHAR_T *, size_t, seq_t); ++int seq_free(SEQ *); ++SEQ *seq_find ++ (SCR *, SEQ **, EVENT *, CHAR_T *, size_t, seq_t, int *); ++void seq_close(GS *); ++int seq_dump(SCR *, seq_t, int); ++int seq_save(SCR *, FILE *, char *, seq_t); ++int e_memcmp(CHAR_T *, EVENT *, size_t); ++void *binc(SCR *, void *, size_t *, size_t); ++int nonblank(SCR *, recno_t, size_t *); ++char *join(char *, char *); ++char *expanduser(char *); ++char *quote(char *); ++char *v_strdup(SCR *, const char *, size_t); ++CHAR_T *v_wstrdup(SCR *, const CHAR_T *, size_t); ++enum nresult nget_uslong(u_long *, const CHAR_T *, CHAR_T **, int); ++enum nresult nget_slong(long *, const CHAR_T *, CHAR_T **, int); ++void timepoint_steady(struct timespec *); ++void timepoint_system(struct timespec *); ++void TRACE(SCR *, const char *, ...); diff --cc usr.bin/vi/ex/version.h index 1c18911cc593,000000000000..111bb6909b25 mode 100644,000000..100644 --- a/usr.bin/vi/ex/version.h +++ b/usr.bin/vi/ex/version.h @@@ -1,1 -1,0 +1,1 @@@ - #define VI_VERSION "2.2.1 (2023-09-25)" ++#define VI_VERSION "2.2.2 (2025-10-08)" diff --cc usr.bin/vi/ex_extern.h index 000000000000,000000000000..9d7b1d674c3c new file mode 100644 --- /dev/null +++ b/usr.bin/vi/ex_extern.h @@@ -1,0 -1,0 +1,131 @@@ ++int ex(SCR **); ++int ex_cmd(SCR *); ++int ex_range(SCR *, EXCMD *, int *); ++int ex_is_abbrev(CHAR_T *, size_t); ++int ex_is_unmap(CHAR_T *, size_t); ++void ex_badaddr ++ (SCR *, EXCMDLIST const *, enum badaddr, enum nresult); ++int ex_abbr(SCR *, EXCMD *); ++int ex_unabbr(SCR *, EXCMD *); ++int ex_append(SCR *, EXCMD *); ++int ex_change(SCR *, EXCMD *); ++int ex_insert(SCR *, EXCMD *); ++int ex_next(SCR *, EXCMD *); ++int ex_prev(SCR *, EXCMD *); ++int ex_rew(SCR *, EXCMD *); ++int ex_args(SCR *, EXCMD *); ++char **ex_buildargv(SCR *, EXCMD *, char *); ++int argv_init(SCR *, EXCMD *); ++int argv_exp0(SCR *, EXCMD *, CHAR_T *, size_t); ++int argv_exp1(SCR *, EXCMD *, CHAR_T *, size_t, int); ++int argv_exp2(SCR *, EXCMD *, CHAR_T *, size_t); ++int argv_exp3(SCR *, EXCMD *, CHAR_T *, size_t); ++int argv_flt_ex(SCR *, EXCMD *, CHAR_T *, size_t); ++int argv_free(SCR *); ++int argv_flt_path(SCR *, EXCMD *, CHAR_T *, size_t); ++CHAR_T *argv_esc(SCR *, EXCMD *, CHAR_T *, size_t); ++CHAR_T *argv_uesc(SCR *, EXCMD *, CHAR_T *, size_t); ++int ex_at(SCR *, EXCMD *); ++int ex_bang(SCR *, EXCMD *); ++int ex_cd(SCR *, EXCMD *); ++int ex_cscope(SCR *, EXCMD *); ++int cscope_end(SCR *); ++int cscope_display(SCR *); ++int cscope_search(SCR *, TAGQ *, TAG *); ++int ex_delete(SCR *, EXCMD *); ++int ex_display(SCR *, EXCMD *); ++int ex_edit(SCR *, EXCMD *); ++int ex_equal(SCR *, EXCMD *); ++int ex_file(SCR *, EXCMD *); ++int ex_filter(SCR *, ++ EXCMD *, MARK *, MARK *, MARK *, CHAR_T *, enum filtertype); ++int ex_global(SCR *, EXCMD *); ++int ex_v(SCR *, EXCMD *); ++int ex_g_insdel(SCR *, lnop_t, recno_t); ++int ex_screen_copy(SCR *, SCR *); ++int ex_screen_end(SCR *); ++int ex_optchange(SCR *, int, char *, u_long *); ++int ex_exrc(SCR *); ++int ex_run_str(SCR *, char *, CHAR_T *, size_t, int, int); ++int ex_join(SCR *, EXCMD *); ++int ex_map(SCR *, EXCMD *); ++int ex_unmap(SCR *, EXCMD *); ++int ex_mark(SCR *, EXCMD *); ++int ex_mkexrc(SCR *, EXCMD *); ++int ex_copy(SCR *, EXCMD *); ++int ex_move(SCR *, EXCMD *); ++int ex_open(SCR *, EXCMD *); ++int ex_preserve(SCR *, EXCMD *); ++int ex_recover(SCR *, EXCMD *); ++int ex_list(SCR *, EXCMD *); ++int ex_number(SCR *, EXCMD *); ++int ex_pr(SCR *, EXCMD *); ++int ex_print(SCR *, EXCMD *, MARK *, MARK *, u_int32_t); ++int ex_ldisplay(SCR *, const CHAR_T *, size_t, size_t, u_int); ++int ex_scprint(SCR *, MARK *, MARK *); ++int ex_printf(SCR *, const char *, ...); ++int ex_puts(SCR *, const char *); ++int ex_fflush(SCR *sp); ++int ex_put(SCR *, EXCMD *); ++int ex_quit(SCR *, EXCMD *); ++int ex_read(SCR *, EXCMD *); ++int ex_readfp(SCR *, char *, FILE *, MARK *, recno_t *, int); ++int ex_bg(SCR *, EXCMD *); ++int ex_fg(SCR *, EXCMD *); ++int ex_resize(SCR *, EXCMD *); ++int ex_sdisplay(SCR *); ++int ex_script(SCR *, EXCMD *); ++int sscr_exec(SCR *, recno_t); ++int sscr_input(SCR *); ++int sscr_end(SCR *); ++int ex_set(SCR *, EXCMD *); ++int ex_shell(SCR *, EXCMD *); ++int ex_exec_proc(SCR *, EXCMD *, char *, const char *, int); ++int proc_wait(SCR *, long, const char *, int, int); ++int ex_shiftl(SCR *, EXCMD *); ++int ex_shiftr(SCR *, EXCMD *); ++int ex_retab(SCR *, EXCMD *); ++int ex_source(SCR *, EXCMD *); ++int ex_stop(SCR *, EXCMD *); ++int ex_s(SCR *, EXCMD *); ++int ex_subagain(SCR *, EXCMD *); ++int ex_subtilde(SCR *, EXCMD *); ++int re_compile(SCR *, ++ CHAR_T *, size_t, CHAR_T **, size_t *, regex_t *, u_int); ++void re_error(SCR *, int, regex_t *); ++int ex_tag_first(SCR *, CHAR_T *); ++int ex_tag_push(SCR *, EXCMD *); ++int ex_tag_next(SCR *, EXCMD *); ++int ex_tag_prev(SCR *, EXCMD *); ++int ex_tag_nswitch(SCR *, TAG *, int); ++int ex_tag_Nswitch(SCR *, TAG *, int); ++int ex_tag_pop(SCR *, EXCMD *); ++int ex_tag_top(SCR *, EXCMD *); ++int ex_tag_display(SCR *); ++int ex_tag_copy(SCR *, SCR *); ++int tagq_free(SCR *, TAGQ *); ++int tagq_push(SCR*, TAGQ*, int, int ); ++void tag_msg(SCR *, tagmsg_t, char *); ++int ex_tagf_alloc(SCR *, char *); ++int ex_tag_free(SCR *); ++int ex_txt(SCR *, TEXTH *, ARG_CHAR_T, u_int32_t); ++int ex_undo(SCR *, EXCMD *); ++int ex_help(SCR *, EXCMD *); ++int ex_usage(SCR *, EXCMD *); ++int ex_viusage(SCR *, EXCMD *); ++void ex_cinit(SCR *, EXCMD *, int, int, recno_t, recno_t, int); ++int ex_getline(SCR *, FILE *, size_t *); ++int ex_ncheck(SCR *, int); ++int ex_init(SCR *); ++void ex_wemsg(SCR *, CHAR_T *, exm_t); ++void ex_emsg(SCR *, char *, exm_t); ++int ex_version(SCR *, EXCMD *); ++int ex_visual(SCR *, EXCMD *); ++int ex_wn(SCR *, EXCMD *); ++int ex_wq(SCR *, EXCMD *); ++int ex_write(SCR *, EXCMD *); ++int ex_xit(SCR *, EXCMD *); ++int ex_writefp(SCR *, ++ char *, FILE *, MARK *, MARK *, u_long *, u_long *, int); ++int ex_yank(SCR *, EXCMD *); ++int ex_z(SCR *, EXCMD *); diff --cc usr.bin/vi/pathnames.h index f1c706f5ecbd,000000000000..63b667ffacf4 mode 100644,000000..100644 --- a/usr.bin/vi/pathnames.h +++ b/usr.bin/vi/pathnames.h @@@ -1,26 -1,0 +1,25 @@@ - +/* Read standard system paths first. */ +#include + +#ifndef _PATH_EXRC +#define _PATH_EXRC ".exrc" +#endif + +#ifndef _PATH_MSGCAT +#define _PATH_MSGCAT "/usr/share/vi/catalog/" +#endif + +#ifndef _PATH_NEXRC +#define _PATH_NEXRC ".nexrc" +#endif + +/* On linux _PATH_PRESERVE is only writable by root */ +#define NVI_PATH_PRESERVE "/var/tmp/vi.recover/" + +#ifndef _PATH_SYSEXRC +#define _PATH_SYSEXRC "/etc/vi.exrc" +#endif + +#ifndef _PATH_TAGS +#define _PATH_TAGS "tags" +#endif diff --cc usr.bin/vi/version.h index 000000000000,000000000000..111bb6909b25 new file mode 100644 --- /dev/null +++ b/usr.bin/vi/version.h @@@ -1,0 -1,0 +1,1 @@@ ++#define VI_VERSION "2.2.2 (2025-10-08)" diff --cc usr.bin/vi/vi_extern.h index 000000000000,000000000000..8e145c6318ef new file mode 100644 --- /dev/null +++ b/usr.bin/vi/vi_extern.h @@@ -1,0 -1,0 +1,145 @@@ ++int cs_init(SCR *, VCS *); ++int cs_next(SCR *, VCS *); ++int cs_fspace(SCR *, VCS *); ++int cs_fblank(SCR *, VCS *); ++int cs_prev(SCR *, VCS *); ++int cs_bblank(SCR *, VCS *); ++int v_at(SCR *, VICMD *); ++int v_chrepeat(SCR *, VICMD *); ++int v_chrrepeat(SCR *, VICMD *); ++int v_cht(SCR *, VICMD *); ++int v_chf(SCR *, VICMD *); ++int v_chT(SCR *, VICMD *); ++int v_chF(SCR *, VICMD *); ++int v_delete(SCR *, VICMD *); ++int v_again(SCR *, VICMD *); ++int v_exmode(SCR *, VICMD *); ++int v_join(SCR *, VICMD *); ++int v_shiftl(SCR *, VICMD *); ++int v_shiftr(SCR *, VICMD *); ++int v_suspend(SCR *, VICMD *); ++int v_switch(SCR *, VICMD *); ++int v_tagpush(SCR *, VICMD *); ++int v_tagpop(SCR *, VICMD *); ++int v_filter(SCR *, VICMD *); ++int v_ex(SCR *, VICMD *); ++int v_ecl_exec(SCR *); ++int v_increment(SCR *, VICMD *); ++int v_screen_copy(SCR *, SCR *); ++int v_screen_end(SCR *); ++int v_optchange(SCR *, int, char *, u_long *); ++int v_iA(SCR *, VICMD *); ++int v_ia(SCR *, VICMD *); ++int v_iI(SCR *, VICMD *); ++int v_ii(SCR *, VICMD *); ++int v_iO(SCR *, VICMD *); ++int v_io(SCR *, VICMD *); ++int v_change(SCR *, VICMD *); ++int v_Replace(SCR *, VICMD *); ++int v_subst(SCR *, VICMD *); ++int v_left(SCR *, VICMD *); ++int v_cfirst(SCR *, VICMD *); ++int v_first(SCR *, VICMD *); ++int v_ncol(SCR *, VICMD *); ++int v_zero(SCR *, VICMD *); ++int v_mark(SCR *, VICMD *); ++int v_bmark(SCR *, VICMD *); ++int v_fmark(SCR *, VICMD *); ++int v_emark(SCR *, VICMD *); ++int v_match(SCR *, VICMD *); ++int v_buildmcs(SCR *, char *); ++int v_paragraphf(SCR *, VICMD *); ++int v_paragraphb(SCR *, VICMD *); ++int v_buildps(SCR *, char *, char *); ++int v_Put(SCR *, VICMD *); ++int v_put(SCR *, VICMD *); ++int v_redraw(SCR *, VICMD *); ++int v_replace(SCR *, VICMD *); ++int v_right(SCR *, VICMD *); ++int v_dollar(SCR *, VICMD *); ++int v_screen(SCR *, VICMD *); ++int v_lgoto(SCR *, VICMD *); ++int v_home(SCR *, VICMD *); ++int v_middle(SCR *, VICMD *); ++int v_bottom(SCR *, VICMD *); ++int v_up(SCR *, VICMD *); ++int v_cr(SCR *, VICMD *); ++int v_down(SCR *, VICMD *); ++int v_hpageup(SCR *, VICMD *); ++int v_hpagedown(SCR *, VICMD *); ++int v_pagedown(SCR *, VICMD *); ++int v_pageup(SCR *, VICMD *); ++int v_lineup(SCR *, VICMD *); ++int v_linedown(SCR *, VICMD *); ++int v_searchb(SCR *, VICMD *); ++int v_searchf(SCR *, VICMD *); ++int v_searchN(SCR *, VICMD *); ++int v_searchn(SCR *, VICMD *); ++int v_searchw(SCR *, VICMD *); ++int v_correct(SCR *, VICMD *, int); ++int v_sectionf(SCR *, VICMD *); ++int v_sectionb(SCR *, VICMD *); ++int v_sentencef(SCR *, VICMD *); ++int v_sentenceb(SCR *, VICMD *); ++int v_status(SCR *, VICMD *); ++int v_tcmd(SCR *, VICMD *, ARG_CHAR_T, u_int); ++int v_txt(SCR *, VICMD *, MARK *, ++ const CHAR_T *, size_t, ARG_CHAR_T, recno_t, u_long, u_int32_t); ++int v_txt_auto(SCR *, recno_t, TEXT *, size_t, TEXT *); ++int v_ulcase(SCR *, VICMD *); ++int v_mulcase(SCR *, VICMD *); ++int v_Undo(SCR *, VICMD *); ++int v_undo(SCR *, VICMD *); ++void v_eof(SCR *, MARK *); ++void v_eol(SCR *, MARK *); ++void v_nomove(SCR *); ++void v_sof(SCR *, MARK *); ++void v_sol(SCR *); ++int v_isempty(CHAR_T *, size_t); ++void v_emsg(SCR *, char *, vim_t); ++int v_wordW(SCR *, VICMD *); ++int v_wordw(SCR *, VICMD *); ++int v_wordE(SCR *, VICMD *); ++int v_worde(SCR *, VICMD *); ++int v_wordB(SCR *, VICMD *); ++int v_wordb(SCR *, VICMD *); ++int v_xchar(SCR *, VICMD *); ++int v_Xchar(SCR *, VICMD *); ++int v_yank(SCR *, VICMD *); ++int v_z(SCR *, VICMD *); ++int vs_crel(SCR *, long); ++int v_zexit(SCR *, VICMD *); ++int vi(SCR **); ++int v_curword(SCR *); ++int vs_line(SCR *, SMAP *, size_t *, size_t *); ++int vs_number(SCR *); ++void vs_busy(SCR *, const char *, busy_t); ++void vs_home(SCR *); ++void vs_update(SCR *, const char *, const CHAR_T *); ++void vs_msg(SCR *, mtype_t, char *, size_t); ++int vs_ex_resolve(SCR *, int *); ++int vs_resolve(SCR *, SCR *, int); ++int vs_repaint(SCR *, EVENT *); ++int vs_refresh(SCR *, int); ++int vs_column(SCR *, size_t *); ++size_t vs_screens(SCR *, recno_t, size_t *); ++size_t vs_columns(SCR *, CHAR_T *, recno_t, size_t *, size_t *); ++size_t vs_rcm(SCR *, recno_t, int); ++size_t vs_colpos(SCR *, recno_t, size_t); ++int vs_change(SCR *, recno_t, lnop_t); ++int vs_sm_fill(SCR *, recno_t, pos_t); ++int vs_sm_scroll(SCR *, MARK *, recno_t, scroll_t); ++int vs_sm_1up(SCR *); ++int vs_sm_1down(SCR *); ++int vs_sm_next(SCR *, SMAP *, SMAP *); ++int vs_sm_prev(SCR *, SMAP *, SMAP *); ++int vs_sm_cursor(SCR *, SMAP **); ++int vs_sm_position(SCR *, MARK *, u_long, pos_t); ++recno_t vs_sm_nlines(SCR *, SMAP *, recno_t, size_t); ++int vs_split(SCR *, SCR *, int); ++int vs_vsplit(SCR *, SCR *); ++int vs_discard(SCR *, SCR **); ++int vs_fg(SCR *, SCR **, CHAR_T *, int); ++int vs_bg(SCR *); ++int vs_swap(SCR *, SCR **, char *); ++int vs_resize(SCR *, long, adj_t); From nobody Wed Jan 14 15:38:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drqyp204Dz6NZ2c for ; Wed, 14 Jan 2026 15:38:42 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drqyn5Ql7z4NyQ for ; Wed, 14 Jan 2026 15:38:41 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-c0bccb8037eso3741063a12.1 for ; Wed, 14 Jan 2026 07:38:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768405118; x=1769009918; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xHbEMk0PcV+UtT2FstM1p9OdvPNrCd+5akAMUoFo/+o=; b=hF0dXLeeyDQ5uaF2G52NwKJtptPxkFZBXHVUWfhuLwwYRgCJsVYYIFQ/WpDoFky/ny +LFYMtlgksY3IgCryIWx7DRKlqH7hhpCrM5bcESURf0KQT9w6s5fBiZyVNDemMrh7TVM et+bifluWxPXwBP8U0jOUn4X+HxRSISmlCw0pEJTL7vISMfWsRWpX1H5zn5gyrwJCSnh gE3gRLxRbrDg3E+WkbIRkr1uhBpsshChXCzT0+dT4VlSzA+D1GAkSX0DozrqeFc5D/CA uenDLD12Gonn8yrf+UPyuMWoA5XFFYQOMKoADVGqtaVfWW6akBgPs0eNybwR2qHORque AaWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768405118; x=1769009918; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xHbEMk0PcV+UtT2FstM1p9OdvPNrCd+5akAMUoFo/+o=; b=E2Ta3iJ30t3JJA6ljyew0nqCbwIlKtPEhR5n5QONV05WNlwgKu3mUbrE9wAwmEa45l 0PuU7dKsLVWI+nV8VcWcTbIynNdP/Bq7At8V//5H9KXrS5sPMpNRx6lQ2EtdbmkYznKX kPJdv1Eu6qcYlq8D8nWGOala0gRK57XjWZYEZE+Cz5ThF24BjkoNdpdCOSiB8/it+I6f 9GSfW1o3qekHhFpu1qdDS479XegbK4zWIqxrP6CKVE43KIXdXUY3EA9NnM+3dTVjkSGC SfNGeDZD0Y5Zk55n/SUmPGkDFxBqYx9VzV21LDE5vU211I3cmwehjDqanrVYch7fTdBW uLnQ== X-Forwarded-Encrypted: i=1; AJvYcCUhSA3eJLiTyi/NYHafr3em6hayiG16qhmquqprLHzm3LKOYbXAI5t4FfwUe1xrPlB+mLyvikQ/IlHN9VsqCfZbebuICw==@freebsd.org X-Gm-Message-State: AOJu0YzgwjB6u6ur3GIJukrXd0bjYxyHrK/fAAit5sgMr2Yw4bDYQ3bm 0s2UWcrcFq/YXsV/o9udirQiFiT26JQGQXXox4Vc0htZSbLq57MEMgifRwu7wu90bI5UwW5KiqR LJNVLAEXQmkXm1AeCK2lkaXYvSx+CsrKIAOhGoIBSY/YojEoNQVhF X-Gm-Gg: AY/fxX5/WR4j5kwiyZDOkEcd9O21Kh2/7yivTYY++ky/xCRyQ8Hil/34ohof7AWfN9N 348nrknjFZg6Tn0fQlGX2Evsgv80wwtCOw0k55xUcfRwutVy94JaDVcN5VbeZGo0TCFFLnWx0mY 47c2qgjtx1eZREFn9NMm1VDKCskb0CwRkBzH4mawKrlMSO6sVN5Yi4PxEr1CLqx6clQkx4PSAcp MyVHI2ipKpY6PRiWP70GK5Q/8tFKqQsLacVo1rdQC0Js1WoBvtnaF0jlI1I3k8IuKRxgbA= X-Received: by 2002:a17:90b:5547:b0:33b:ba50:fccc with SMTP id 98e67ed59e1d1-35109117519mr3082782a91.18.1768405118559; Wed, 14 Jan 2026 07:38:38 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> <6e64a14f-1fa0-45ec-b73b-e84f1dbb8153@FreeBSD.org> <86jyxkfeo9.fsf@ltc.des.dev> In-Reply-To: <86jyxkfeo9.fsf@ltc.des.dev> From: Warner Losh Date: Wed, 14 Jan 2026 08:38:27 -0700 X-Gm-Features: AZwV_QiWYqD2tsrTJfUw8ceaeUf9SAtpbobItP4DA7VVksnqyEJwYvsKJkaf8Sc Message-ID: Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: John Baldwin , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000e9367906485ae61b" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drqyn5Ql7z4NyQ --000000000000e9367906485ae61b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jan 14, 2026 at 7:32=E2=80=AFAM Dag-Erling Sm=C3=B8rgrav wrote: > Warner Losh writes: > > John Baldwin writes: > > > sys/crypto isn't really the same. We store the generated OpenSSL > > > assembly files there for use by ossl(4), but most of sys/crypto is > > > not vendored (e.g. ccp, the non-assembly ossl bits, aesni are all > > > just bespoke). > > That's the beauty of this: We can have whatever we want here... These > > were placeholders until we had more nuanced things. I see things like > > openssh in crypto too, so many things are vendored there, in addition > > to the mire of inconsistency... > > crypto is nearly fully vendored, sys/crypto is mostly not, don't confuse > the two... > Sure. So what's the actionable suggestion? Warner --000000000000e9367906485ae61b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Warner Losh <imp@bsdimp.com> writes:
> John Baldwin <= jhb@freebsd.org> writes:
> > sys/crypto isn't really the same.=C2=A0 We store the generate= d OpenSSL
> > assembly files there for use by ossl(4), but most of sys/crypto i= s
> > not vendored (e.g. ccp, the non-assembly ossl bits, aesni are all=
> > just bespoke).
> That's the beauty of this: We can have whatever we want here...=C2= =A0 These
> were placeholders until we had more nuanced things. I see things like<= br> > openssh in crypto too, so many things are vendored there, in addition<= br> > to the mire of inconsistency...

crypto is nearly fully vendored, sys/crypto is mostly not, don't confus= e
the two...

Sure. So what's the acti= onable suggestion?

Warner
--000000000000e9367906485ae61b-- From nobody Wed Jan 14 15:39:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drqz90cnTz6NZ5K for ; Wed, 14 Jan 2026 15:39: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drqz866w5z4PJ6 for ; Wed, 14 Jan 2026 15:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768405140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3MdhX7Wy4cRKSluHhq4QhtRtP3jCBLg5OgbMJNV8EuM=; b=x4rMVPhJfP/CnOZbp+eJ/IEFi9tLqFMs4wDQhqxe9ApuBRFYCOczycEVunXrSaCZnNhtgz 9ai0MeZ6r0flId0LETi4/JcZ7OETv1Bj5wP59PIjJn3wAFDFpwDJzlwE6isBE2ElWIJGXE U9urnjJIzSL0PvuQe4qUWWEtKJwvoeyVeWLhSjIy/+bZUxg5v63rgZK4ZtPQAVs8Hzxw0U nNm/nKOpc1gStb8ZXxZqxKJbHD1CCO2ywi9XPFGrLa0EcSiy619lAIbVA9GJhS6dQWXIx3 cL+vStpbrRQpCpkaqKAVfPfPjGR+UuOv9dIZAgkvurWn7TICZwOgjkqbwNwwPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768405140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3MdhX7Wy4cRKSluHhq4QhtRtP3jCBLg5OgbMJNV8EuM=; b=lf+vdO18wyCYHE2XYQ3WyNwb6u/+53zeaK427k4y7T2Bqgvif7DBTvMM59IY/rfftyDsvb 0yoPCUj9G3i91ZhLLo8uTKO/gfZdlPQ/OrezMz4tti0286UQs+xN1ldMGuW57o4qTh405+ Jyur6Qz9HMC8Cx/1kLDZLhwyIm+IzE452kh7KeRlCYsDRjbF6HvcX0S6ClNB9CKeyM8nV2 vPhTpQsl1xbHzr30oge1ihmfplvczmCI1q+UW518DMiYXnErkdI7nml5lzAwDOKwKn71fR JMSaSHNpe5zNcDGc36F/J1dTG2oz7biy8mOryBqZsHn0gocvN6wnqvT7Z5xwPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768405140; a=rsa-sha256; cv=none; b=G6KL4xI0yk9VouFZ3tpMbfOehva0j0E6QCnO/Q6DfpZIVwGtgy2oVtqNAB5deTmpRcTnLt Z6PUtK+4G1+fhyxcHmPt/IyHqPC7iKVgXI8usJfsRNUmY12Lp//IAC/6ps+PZ5/lvJsfcM xYKLquFiuGARTK8NNaPNviNMoc+Pw8GJEMKheQ7Wn/odecKLXn81afkmZfYkq5f7dd941f vQaT0CLaIEW2d561AfiXcAl9U+UsMxW+zTfAxLb+qVVqu4EdtrPKSPQP0xJYFdvgqDZODd 2LLh+JPbxxJI/8JGBOvls5i69aLnSPlUbqAYKaDdyodLfgJbSKQNrWQnMajSkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drqz83tNVz13Xg for ; Wed, 14 Jan 2026 15:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20372 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 15:39:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Oliver Pinter From: Konstantin Belousov Subject: git: 8cd687a726a8 - main - tuning.7: use the correct word for collapsing List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8cd687a726a8b6cc29f573cba7d6c7ecb683a954 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 15:39:00 +0000 Message-Id: <6967b894.20372.6735700@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8cd687a726a8b6cc29f573cba7d6c7ecb683a954 commit 8cd687a726a8b6cc29f573cba7d6c7ecb683a954 Author: Oliver Pinter AuthorDate: 2026-01-13 23:06:29 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-14 15:38:18 +0000 tuning.7: use the correct word for collapsing Fixes: 457b940bfb6a228af1281f357b627ecf1e26fea5 Signed-off-by: Oliver Pinter MFC after: 1 week --- share/man/man7/tuning.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index a3709ce82b8c..daf941da5de3 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -234,7 +234,7 @@ Eventually the subsystem tries to optimize the internal layout of the tracking for CoW and often removes (collapses) no longer needed backing objects, re-assigning its pages and swap reservations to the copies. -Coolapsing frees the swap reserve, but it is not guaranteed +Collapsing frees the swap reserve, but it is not guaranteed to happen. .Pp The From nobody Wed Jan 14 15:39:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drqz97337z6NYyH for ; Wed, 14 Jan 2026 15:39: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drqz94vdgz4P4d for ; Wed, 14 Jan 2026 15:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768405141; 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=AmjgkRbObsg1iw+qkn2jHtiVXksH2G96khJI9tyIz6o=; b=F1wlS8OjO7do2B8anJqwXD3zWp9u59I/rAo7cm5L+hrLn4GJTcYI45Cl0Bwsuh57ipT6iq 5xlZ/0X7mub2m9UhLo4b+4YxddRPmATsNO5s1lwfosKhocVLMwLbYpNGFPrV/maN3ymWNt wi7xzwciTGO5AvKfAiudE4WWywMgGy3ucW+4fcHQN4LmJkwcahWQ3P35qWcLiF9x4pUvzF TLngmFgFaAJuyOKCJkywd27G7BZ1sWOrke5vMECZIOoikhes6tyw1IXHP+ufb+TaMt7n6C L7ZXctEJolrX2KW91U8zMuCCsThfkhW7maJLVHu4mvKtbtq12M6lyy96KUMw0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768405141; 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=AmjgkRbObsg1iw+qkn2jHtiVXksH2G96khJI9tyIz6o=; b=GKkB9Pjfr+j9Mu16MkhVJLywjZIqmdCA4F5i4APaML55obAnd//Sa64arGx3HC/xqOWos6 n/0kfcaAVRS5L+rW0BRJNHNeiVINTDNw35Hl8Ptka79u84Nuk3ASmlOInJW8Aqz8UbZc1x EEhdOyelw4LYRD83B653/kWLb8dHFuLkxKUTPDpwCY12BaXEZfq2pDW++PqNHXFO6FgQJU nfRV4Kx3qOZXPpQwUzoDMOSIk7/5EGHcUoNp24EDIbuvU/i91KjlLX2SWHx2wLl42GX+qO XVCU1hrIkMdOat45sNatczewVilQvqnB/5ATX411o15C/wD7H2P4XKymEq2rDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768405141; a=rsa-sha256; cv=none; b=nRrJ1PGrvCUCWjBB7reznZl1rdCzs9PrSa2ehvC062WBE0pt+RiLKn41GEci0RXgO167QA Cn2uuqV3IRWZs8Y70feAxJFmSES1+kfcN0XQIB298wU8JDDSoaDDUijfKISxzPU+/JQXl6 7On12O/R9XrSbtBMLNiJLa3sEsZx44j4t0UmYKcxuuSpRZVMYmByhJyYLRwq+xfQ3+dHAr CPtqSaH7y8w0WoqlE2vUd3k86Ut0Jq2o5bpvz048FhYU3gi0B7HtcrdKln+00dOIsHbNiC Douqa5Jb/y7TlAwezensWJNfnZQO/baUZuxrHS3K7XOcB56llnlN3cDfQaWWuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drqz94VpCz13Xh for ; Wed, 14 Jan 2026 15:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 208a9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 15:39:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 6f41575a94b3 - main - tuning.7: wording fixes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f41575a94b310614f5ffcee215aee48ced4ad2d Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 15:39:01 +0000 Message-Id: <6967b895.208a9.55242662@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6f41575a94b310614f5ffcee215aee48ced4ad2d commit 6f41575a94b310614f5ffcee215aee48ced4ad2d Author: Konstantin Belousov AuthorDate: 2026-01-14 15:37:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-14 15:38:24 +0000 tuning.7: wording fixes Submitted by: markj MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54572 --- share/man/man7/tuning.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index daf941da5de3..c03cce0aba0f 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -227,8 +227,8 @@ Due to the architecture of the virtual memory subsystem, the use of copy on write (CoW) anonymous memory, e.g. on .Xr fork 2 , -causes swap reservation for all three regions (VM objects), -as in the original pre-fork mapping, and its copies in +causes swap reservation for all three regions (VM objects): +in the original pre-fork mapping, and its copies in the parent and child, instead of only two. Eventually the subsystem tries to optimize the internal layout of the tracking for CoW and often removes (collapses) no longer From nobody Wed Jan 14 16:27:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drs3T6zpkz6NclY for ; Wed, 14 Jan 2026 16:27:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drs3T583Pz3H14 for ; Wed, 14 Jan 2026 16:27:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768408069; 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=AiZQaoBxYt4uEYiEJ+Ff7VjZuzurZvYrkuqsYng+ne4=; b=L681GMqcDGZUo6cFiQyfa4MEDFli0viB9Y/ql53qQXYKrCPk9qVKGS2NVK5UZCjd3/Vr70 qSHLcDExRo71TNsUAx2rIX/v4KE3yJ2Kz6L28TcjPvbCmjJ+yQ+nncg9TwotfcmDWj0duD XoUOdm9bccApLaRsdTgV8jx7eHL/XpAUm0kJnMrkASF1WgMjhIyrL/DTfG7/dwfwacQo5P JLwAEWi1M6NEAdP7YSVHT0Qv9RuJXAY1VS/ebEj6uddg4D/BJYLFEdAfMFRXTSOUeC0Q03 qXAVGPZY8gbfncOAhct479RltRneEA438pWriZWGE3rszHPw5DVbnYF1N8GWXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768408069; 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=AiZQaoBxYt4uEYiEJ+Ff7VjZuzurZvYrkuqsYng+ne4=; b=T0TfH9F8xmatJDipx/JieEWtYzfEo+2HBHGVtaI4Pp4kYJnDE0yGqdSZ++ADUdHiRw63v8 VhJHC9B/bgtedQmunnKUF0KkIDSDeFM9G5VoxGRjeWH0DCdSUTuXq77+EW7fmqeiZB8rPc q2JnC/JdpyXxig0DJhqkAxhaxns+CWDGiXAaEHS53k5PHU9xbh3EjCHtUQXWlKxAejzLKx cTM/JlM4E5Z0Krr5GliCwSKKqWGNH3Wr0viEUZjZ546aHtAGCOFaEAJMgmI5K81kPs/OJO c/Np+HGCUpUYHo/nwCdkuDVRLjG+PdVpPeQ0Y3qrt7hj7pOphXRJnxwwjMyTyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768408069; a=rsa-sha256; cv=none; b=vnHqBXzUH30UPp+sw6oZo5RCkRYrqJAZapknaD/Ose2CXKRXHkbzR/UjPQ5Pg+Et3inoXk CGnYMqMebyh1nHM9rKYAdzPVbGWc2NM408igcrJidkO8bxi2655xj1SR7p8zW2CH8Nt/kx RVdAeWnTy0eJkuJLY0X/Aw2p6qcpHIPnqCiQXudxgDG4XZG80mnVJH6tx9CKOYffzYkWy2 ElMmVYvxT/22pJopyjvdFR98fRj+EcDy9nv7JWvohIM1eESQHAFN3FfpH0h5lod6SDqkmT DNa5F2Xw6kAzgCbkOuR0S15P69J5oYg5EHlidQIgH4zIn9GY5u7sggsLoFiEzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drs3T3wfDz15FD for ; Wed, 14 Jan 2026 16:27:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26e0c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 16:27:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jonathan T. Looney Subject: git: 9c4a41d33b46 - main - mca(4): Add man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jtl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c4a41d33b4620c46e2aa7d403ac49caf4b5d7b9 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 16:27:49 +0000 Message-Id: <6967c405.26e0c.5971d2cf@gitrepo.freebsd.org> The branch main has been updated by jtl: URL: https://cgit.FreeBSD.org/src/commit/?id=9c4a41d33b4620c46e2aa7d403ac49caf4b5d7b9 commit 9c4a41d33b4620c46e2aa7d403ac49caf4b5d7b9 Author: Jonathan T. Looney AuthorDate: 2025-12-07 00:16:39 +0000 Commit: Jonathan T. Looney CommitDate: 2026-01-14 16:26:45 +0000 mca(4): Add man page Reviewed by: markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D54115 --- share/man/man4/Makefile | 2 + share/man/man4/mca.4 | 277 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 279 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 23bb8495975b..9bdd2d2c83ff 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -331,6 +331,7 @@ MAN= aac.4 \ mac_test.4 \ malo.4 \ max44009.4 \ + ${_mca.4} \ md.4 \ mdio.4 \ me.4 \ @@ -884,6 +885,7 @@ _imcsmb.4= imcsmb.4 _io.4= io.4 _itwd.4= itwd.4 _kvmclock.4= kvmclock.4 +_mca.4= mca.4 _mgb.4= mgb.4 _nda.4= nda.4 _nfe.4= nfe.4 diff --git a/share/man/man4/mca.4 b/share/man/man4/mca.4 new file mode 100644 index 000000000000..11d88519555f --- /dev/null +++ b/share/man/man4/mca.4 @@ -0,0 +1,277 @@ +.\" +.\" Copyright (c) 2026 The FreeBSD Project +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd January 14, 2026 +.Dt MCA 4 amd64 +.Os +.Sh NAME +.Nm mca +.Nd Machine Check Architecture +.Sh DESCRIPTION +The +.Nm +subsystem provides support for the x86 Machine Check Architecture. +The CPU uses this architecture to report various hardware problems, +ranging from correctible errors to uncorrectible fatal errors. +The +.Nm +subsystem processes the errors reported by the CPU and logs them +according to the user-supplied configuration. +.Pp +The +.Nm +subsystem is automatically compiled into every x86 kernel. +.Sh LOGGING +By default, every message is logged to four locations: +.Bl -bullet +.It +The console +.It +The system log (using the +.Dv LOG_KERN +.Xr syslog 3 +facility) +.It +An in-kernel cache of event records +.It +A statistics array +.El +.Pp +An administrator can disable console logging of non-fatal errors using the +.Va hw.mca.uselog +.Xr sysctl 8 +or tunable setting. +Fatal errors are always logged to the console. +.Pp +The in-kernel cache of event records can be accessed from userspace using the +.Va hw.mca.records +.Xr sysctl 8 +node. +By default, the in-kernel cache of event records grows without bound and +contains records for all +.Nm +events received since system boot. +The cache can be limited (in which case it turns into a ring buffer) or +disabled altogether using the +.Va hw.mca.maxcount +.Xr sysctl 8 +or tunable setting. +.Pp +The statistics array can be retrieved using the +.Va hw.mca.stats +.Xr sysctl 8 +node. +.Sh SYSCTL VARIABLES +The subsystem has a number of configuration options to control the +way events are processed and logged. +These options are configured via +.Xr sysctl 8 +variables or tunables. +These settings control things such as log destination, event limiting, +and sampling. +These settings directly impact both the completeness of logs and the performance +impact of processing +.Nm +events. +A system administrator may want to review these and modify them to obtain +the appropriate behavior in their environment. +.Bl -tag -width indent +.It Va hw.mca.enabled +(Only settable as a tunable.) +.Pp +If set to 0, the CPU is not configured to send +.Nm +messages to the kernel. +.Pp +Default is 1 (enabled). +.It Va hw.mca.log_corrected +(Settable as a tunable or sysctl.) +.Pp +If enabled, corrected messages are logged to console, syslog, the in-kernel +event cache, and the statistics array (subject to separate configuration +controlling those facilities). +If disabled, corrected messages are only logged to the in-kernel event +cache (subject to separate configuration controlling that facility). +.Pp +Default is 1 (enabled). +.It Va hw.mca.intel6h_HSD131 +(Only settable as a tunable.) +.Pp +This setting enables a workaround for benign corrected parity errors which +may be reported by certain Intel desktop Haswell CPUs. +(The name "HSD131" comes from the name of the Intel erratum report about this +issue.) +.Pp +Default is 0 (disabled). +.It Va hw.mca.amd10h_L1TP +(Only settable as a tunable.) +.Pp +Enable logging of level one TLB parity errors on certain AMD CPUs. +This option has no impact on other CPUs. +.Pp +Default is 1 (enabled). +.It Va hw.mca.erratum383 +(Only settable as a tunable.) +.Pp +This setting enables a workaround for Erratum 383 on AMD Family 10h CPUs. +The erratum changes the way pages are promoted to or demoted from being +super-pages. +On affected AMD CPUs, either +.Va hw.mca.amd10h_L1TP +or +.Va hw.mca.erratum383 +must be on. +If both are off, the system will dynamically enable +.Va hw.mca.erratum383 +at boot time. +.Pp +Default is 0 (disabled). +.It Va hw.mca.uselog +(Settable as a tunable or sysctl.) +.Pp +If enabled, the system will send messages about non-fatal +.Nm +events to syslog and not to the console. +If disabled, the system will send messages about non-fatal +.Nm +events to both syslog and the console. +Fatal events are always logged to the console. +.Pp +Default is false (disabled). +.It Va hw.mca.stats +(Read-only sysctl.) +.Pp +This returns an array of +.Va MCA_T_COUNT +uint64_t values. +The +.Vt "enum mca_stat_types" +definition in +.In x86/mca.h +provides the value of +.Va MCA_T_COUNT +and the index values for various event types. +.It Va hw.mca.log_interval +(Settable as a tunable or sysctl.) +.Pp +This sets the minimum time (in seconds) between logging correctible errors. +The rate limit is only applied after the system records a reasonable +number of errors of the same type. +The goal is to reduce the impact of the system seeing and attempting to log +a burst of similar errors, which can be expensive (especially when printed +to the console). +If this setting is 0, no rate limit is applied. +.Pp +Default is 0 (no rate limit). +.It Va hw.mca.cmc_throttle +(Settable as a tunable or sysctl. Only available if +.Xr apic 4 +support is enabled and the hardware supports CMC interrupt throttling.) +.Pp +This sets the maximum time (in seconds) to throttle CMC interrupts. +In normal operation, the system attempts to receive CMC interrupts as soon as +an event occurs. +However, if a high rate of events occurs in a short time, the system will +begin throttling the CMC interrupts. +While the events continue to occur at a high rate, the system will gradually +increase the throttling interval until it reaches the +.Va hw.mca.cmc_throttle +setting. +.Pp +Default is 60 seconds. +.It Va hw.mca.count +(Read-only sysctl.) +.Pp +This returns the current number of +.Nm +records in the in-kernel cache. +This can be used to determine how many records are available to read with the +.Va hw.mca.records +.Xr sysctl 8 +interface. +It can also be used to monitor the amount of memory used by the in-kernel +record cache. +.It Va hw.mca.maxcount +(Settable as a tunable or sysctl.) +.Pp +This setting controls the size and behavior of the in-kernel cache of +.Nm +records. +If the setting is -1, the in-kernel cache grows without bounds and contains a +complete record events since boot or the last time the +.Va hw.mca.maxcount +setting was changed. +If the setting is 0, the in-kernel cache is disabled. +If the setting is a positive integer, the in-kernel cache functions as a ring +buffer with the number of entries defined by the setting. +.Pp +Default is -1 (unlimited). +.It Va hw.mca.interval +(Settable as a tunable or sysctl.) +.Pp +This setting controls how often (in seconds) the kernel should proactively +scan for new +.Nm +events. +In many circumstances, the CPU will send an interrupt to signal new events. +However, there are cases where the periodic scan for events will discover +new events. +.Pp +Default is 300 seconds. +.It Va hw.mca.force_scan +(Settable only as a sysctl.) +.Pp +Setting this to any non-zero value will force an immediate scan for +.Nm +events. +Setting this to zero has no effect. +This is functionally a write-only setting. +The current value is always 0, even when a scan is running. +.Pp +Default is 0 (no scan requested). +.It Va hw.mca.records.n +(Read-only sysctl.) +.Pp +This is used to copy +.Nm +records from the in-kernel cache to a user space process. +The +.Va n +value in the +.Xr sysctl 8 +node is an integer index into the in-kernel cache. +(Or, put differently, the "new" value describes how many records the kernel +should skip to find the desired record.) +The return value is a +.Vt "struct mca_record" , +which is defined in +.In x86/mca.h . +.El +.Sh LOADER TUNABLES +Tunables can be set at the +.Xr loader 8 +prompt before booting the kernel or stored in +.Pa /boot/loader.conf . +The tunables all have corresponding +.Xr sysctl 8 +entries. +The tunables are listed above in the +.Sx SYSCTL VARIABLES +section. +.Sh COMPATIBILITY +.Nm +is only available on x86 systems. +.Sh SEE ALSO +.Xr loader.conf 5 , +.Xr sysctl 8 , +.Xr syslogd 8 +.Sh AUTHORS +The +.Nm +subsystem was originally written by +.An John Baldwin Aq Mt jhb@FreeBSD.org . +.Pp +This manual page was written by +.An Jonathan Looney Aq Mt jtl@FreeBSD.org . From nobody Wed Jan 14 17:08:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drsy76vr4z6Nfsr for ; Wed, 14 Jan 2026 17:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drsy7497lz3Pmx for ; Wed, 14 Jan 2026 17:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410495; 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=v150VzZMn6Gka3oBSvgiC/ETr/j2cNxQhaULcoLDbQo=; b=A3Rg6XFrOEiPZYckIWpc5mRLJkbaY//RIGSEk7THNhQEfljc0zYgRzUEb6eUA05+kZS5VU Nhxs/oPIrDEhLXmdkg+NY7pHvdxtWQ2+AT1QNQTeJcMqdWeuiloRhIZTErqcdn/28NfcY1 5xMTeMetfa6Pb88gmb/7Wi2J9CXjZ2ZZ9VQy8AmQtJ1vrkO07R+/YOQFnctiLcYT1OQv4g AQ+C/aOQY8LfXYB2R6Symg8YYjRGWF3lMkAr72LFs9ChnHrVOyBFuZT1ubAhDuYodO6sCt uROioBKq9ExG1ixpr3LhbSYmwHcv7oZsVqu8631qMRLE0CamZ9LIVei1YrONEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410495; 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=v150VzZMn6Gka3oBSvgiC/ETr/j2cNxQhaULcoLDbQo=; b=DtZqvgXfAT0TJv0zcuaED30Yrm95HLtjzEgKipwBtvDp5LO7LE1lP5Lzq7TPd60wj+RDDE UqvWDoChk33X5WXDTRl0hbZVjjJGx6ZtOj9rtG3Ml6rNQ+3mRbYYvOcPvBMGfnzbYvOtVF TRn6KqRGxpJuoSaGVjYlxvSMU4SZKlCdKTPPsfnaOnj3ePeLh22JY7Y4XvltZ0RikyMErS qdmrJFzF0CebsGJIrkXnAw0L7fw07bNadxw2wWkvXM17IWucoMYM3EaBZzSdAnVib4dp1i TLAe9+5c+yK46YZU03gh617VVgV1rXTXfZzor1Zs8lQZrbUKmZ0mgwiItt50rQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768410495; a=rsa-sha256; cv=none; b=I9Ari20lRsa7lkptBeny+xhvCu9Yz58EiEvNdbNkdLrDCTVfprEPFFWQntKIBQ9qrGj29E /NlpWXZMO+70HNzGKgxzGV6g1PfmWJlsqpo5wEB6Wz5bFlw+EW6JipOCviiUxxmKXFQD4j 1uWOlrWXC48ewZ/A5GndZzAUs9SSEgZd7+GM5e49ctK+6N95/D4Ngy1370TKgH7v1M1bMN hQzzF/DdchGj5FWbZc2CmqDYux5Yc+yXlcS33zvX7P0uUdAMjW23983B93jIXf+8jJKfOL 1KvU6reUQXnXyvoofnDqELtoW6ft0XKolg2PJHjf+Lnhokn717iQ7l2s7GnvZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drsy73kylz16H4 for ; Wed, 14 Jan 2026 17:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 317d3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 17:08:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: fef84fd8ae84 - main - libexecinfo: tests: Expect failure on aarch64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fef84fd8ae845e19cec0f6b9aac0e6451cca3d7a Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 17:08:15 +0000 Message-Id: <6967cd7f.317d3.230d04df@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=fef84fd8ae845e19cec0f6b9aac0e6451cca3d7a commit fef84fd8ae845e19cec0f6b9aac0e6451cca3d7a Author: Jose Luis Duran AuthorDate: 2026-01-14 17:06:14 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-14 17:07:56 +0000 libexecinfo: tests: Expect failure on aarch64 Add a guard that expects a failure of the test on aarch64. Reviewed by: emaste Fixes: df1ea5887326 ("tests: Test libexecinfo backtrace call througth signal trampoline") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54675 --- lib/libexecinfo/tests/sigtramp_test.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/libexecinfo/tests/sigtramp_test.c b/lib/libexecinfo/tests/sigtramp_test.c index a4943d8d7f4f..5dead9a4146b 100644 --- a/lib/libexecinfo/tests/sigtramp_test.c +++ b/lib/libexecinfo/tests/sigtramp_test.c @@ -45,6 +45,14 @@ handler(int signum __unused) ATF_TC_WITHOUT_HEAD(test_backtrace_sigtramp); ATF_TC_BODY(test_backtrace_sigtramp, tc) { +#if defined(__aarch64__) + /* + * https://reviews.llvm.org is deprecated and + * this review is never going to be updated or completed + */ + atf_tc_expect_fail("https://reviews.llvm.org/D155066"); +#endif + struct sigaction act; pid_t child; int status; From nobody Wed Jan 14 17:08:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drsyC4ClYz6NfhT for ; Wed, 14 Jan 2026 17:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drsyC3VxNz3PlC for ; Wed, 14 Jan 2026 17:08:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410499; 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=nIasR1nCTj+xQJWRH9T0z6ep244SFHtRwJf8ZCmyvRo=; b=BdCBQoM3ygDOqQTgBfLJGETog0WGCZHSzUTRX5Dw9+zLo5HB8up+QonI7JWoZe6pNoqh1s nkvMMKPK1uJszwYp1L+BjBXFDkM984xOKkQn2myEZPg3Od2QTD+lMcYQ9rB9NO/o6WB0Zz c1YtFSQ4rlZHTpJVixSHG2lY9NWEHKC+CLxbpa/cLNxSbTzyKM1NIk4ZFOIyjAfeFvkqi1 GeK8HhMPtiQ2nlq/iZnGFlcrmkZPisOgALu8zHS8fTmfantnMt8on5mUGJkDkJEcmU+gQ1 njGucwaPRGbIeP2J61YiYPEKuM3MD7Mq9aK9/iw0icgBM7vjoVPTQnfl+aA1pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410499; 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=nIasR1nCTj+xQJWRH9T0z6ep244SFHtRwJf8ZCmyvRo=; b=hqc/kxShPfCCgrVbd3ns43arCrGl2E/V5kgPTxcfB+6Auson2Vf46VDQm3laRaphd8c4B6 2SBAISyzCzXhwpH+f5ZaNdQ7xD5MxDoyziWi6MJCMScnQZ44/U3sI0Zq1/fyjtBLJklZxV Ve1UlaA+KwJ+2zDMrQMQ/CMM6ETrqZdxs5Qfoq4taXoANGYnyVoOiLTabha8OgPjoCDHoL 9VRDLfoVbDKRSsV/ND+GZ5cVaCmMqVc/2JP6n/rU/W2iVJ7mdUUDQtOORizPf2pbYJa2ar yS8XIgzO/Co4K+1kDOiQFE+DXXFVcQ9hCW6FuSs2JsvDFPO9RmAPTOvNDu2HpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768410499; a=rsa-sha256; cv=none; b=Dv+uZPqHQM4QWoletsAC/+Ax1ngMHLKAEc+SwcMBBWfWzNf1BcLW6aNvtDFSlaofj6eV0O kAqvqlo7ZrFpy0jcDxbDYLpHEiOaVJxEZlJd77nzLV4t7/w7gJS5h0YprQTE+4kVvXL0ex rXvcfDRpLXV8n15CHyKGEhEDAoDguWcCnhrZmeBWuagqw2OvLgslQBCk/KBHQNyVYBRjqg 4MzdZR1Xtf7pnxMFyIgAM9BLR6NCGj65V0P3PhVo7IT8WRxvmOEbUidg2PkZ6m3g9K0b+P 7SjKQ3MYMhuZTzCHZFM1oqLTFtozcnOsVxAytxYpLqe+3Hyuw04804a5rDgbuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drsyC2zg4z16FR for ; Wed, 14 Jan 2026 17:08:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30f46 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 17:08:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: fd26fb8987f7 - main - CODEOWNERS: Add jlduran as a blocklist CODEOWNER List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd26fb8987f7f6d40ecac689476062aa95f12379 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 17:08:14 +0000 Message-Id: <6967cd7e.30f46.3a34f7b@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=fd26fb8987f7f6d40ecac689476062aa95f12379 commit fd26fb8987f7f6d40ecac689476062aa95f12379 Author: Jose Luis Duran AuthorDate: 2026-01-14 17:03:10 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-14 17:07:56 +0000 CODEOWNERS: Add jlduran as a blocklist CODEOWNER Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54696 --- .github/CODEOWNERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5ab072e8bc18..3c01ce41a092 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -33,6 +33,7 @@ /bin/sh @jillest /contrib/atf @ngie-eign +/contrib/blocklist @jlduran /contrib/capsicum-test @ngie-eign /contrib/googletest @ngie-eign /contrib/libcxxrt @DimitryAndric @emaste @@ -51,6 +52,7 @@ /crypto/openssl/ @juikim /etc/mail @gshapiro /etc/sendmail @gshapiro +/lib/libblocklist @jlduran /lib/libc/string/ @fuz /lib/libc/*/string/ @fuz /lib/libc/sys/kevent.c @jmgurney @@ -123,4 +125,6 @@ /usr.sbin/bhyve @bsdjhb @bryanv @markjdb @khng300 @markpeek /usr.sbin/bhyvectl @bsdjhb @bryanv @markjdb @khng300 @markpeek /usr.sbin/bhyveload @bsdjhb @bryanv @markjdb @khng300 @markpeek +/usr.sbin/blocklistctl @jlduran +/usr.sbin/blocklistd @jlduran /usr.sbin/lpr @gbergling From nobody Wed Jan 14 17:10:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drt154jVzz6Ng26 for ; Wed, 14 Jan 2026 17:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drt153XTPz3QNS for ; Wed, 14 Jan 2026 17:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410649; 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=4591IcjybgN1QYWPGoUqznnj32N4Ev1/UbGk9di/1XE=; b=jDC9HHqRjzzsLm0qlDeDp2D9aEDjxK9lEgPsRTCw0bJwHtMi0VAoPeFhXwFbiVv2q0pGJC qYxYLYlJwCOREYerchcyCrmH+QHKM6x2QPvbSe6Y8zIdrIYXVm6NmxgbQG5Im//7/J6IKE bqPseDuCAl9bnujdVkROSqyxo/Bc++W7PG9U0ceL4dNRgibtUzkiidWpogNI+7lqMS3BCQ kOhsYNYas4AfCN9nnFOLsN+UuUZfYKZr0xYNPt38IyBULB88i6SKE3/YrhhWDqYqco7/Vj zuikdUhfvPpDQCM8BB0TWr0W/h3YOwPY2co7oyez6tvWdScapG70zm4ZgET8Bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410649; 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=4591IcjybgN1QYWPGoUqznnj32N4Ev1/UbGk9di/1XE=; b=wILVMXhD0jdipnKsFIn+VOUOe2RRM7QHMPYCRgBl6KXnTkpcn394Q6RVu+F6EJ+sdx/H+I vOKcWhMWv4h8StcHje6SPiAo4txYqZbi6aMlFwpy7XdiaOL1MUcA4Z11wdMFwq41gSQj5h TswCWmytPeA3B93fNgepTOXoCQlsDfCyHYdiKl7ZrZkkJFHIV5V5TlxsabThRxktFMsSlk Us5Hh/oKz2OoVPu4nZpvP3VVj7b5WpD+KgNX99ZyefhKe8O6aDtGR0EpWYJ8kpw5CGubCe qwi2NBSzvjp8wGTh+GmkOWT46EoHkYsbs3BBF8r40ujH4RjznH0bCpNW6S4Jcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768410649; a=rsa-sha256; cv=none; b=S7Z2JMgZlIGjmfvd7sSj3aRqxbDgTwIyq2s+VYEJUlDONOzp6/8jAPnKkmkF+M9VkziECy RFi4spVwqSKpxYSBrUSYqz24NCqm0z2eC3qRH7+TRiXXI73m+pCZJCfX1go7TaDKnAOjrx eFZIw9yHZQrf08am8C2TPzjQmN2vI7RN6OSkhZaYx7i6Wd6XPvGv1/rh3rwHAM4IB28Nye qkAlY46uCxIDdyzxy5ERG1HU1r+2GnECK5MqV/HYxYdqPGUs8XWMsLGwPj1Bu+W3GB/+of UwRwhRZsvaE5voY1xad/56NR8WLIex4nfhnZa/3uIk9HniLQgs7XOM0AQsIjnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drt1531cdz16Rx for ; Wed, 14 Jan 2026 17:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33005 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 17:10:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 2a5c5b8f7cdd - main - swab: Correctly treat the data as misaligned List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a5c5b8f7cddf14537707895fceb454cabc1b3bd Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 17:10:49 +0000 Message-Id: <6967ce19.33005.39ad7fa@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2a5c5b8f7cddf14537707895fceb454cabc1b3bd commit 2a5c5b8f7cddf14537707895fceb454cabc1b3bd Author: John Baldwin AuthorDate: 2026-01-14 17:10:33 +0000 Commit: John Baldwin CommitDate: 2026-01-14 17:10:33 +0000 swab: Correctly treat the data as misaligned The __aligned attribute in the previous version applied to the location of the pointers, not the data the pointers pointed to. While this could be fixed by applying the attribute to a local typedef of uint16_t, just using memcpy() for the unaligned access is simpler and ISO C. This fixes the build on CHERI architectures which do not support misaligned pointers and were thus failing with: lib/libc/string/swab.c:12:18: error: alignment (1) of 'const uint16_t *' (aka 'const unsigned short *') is less than the required capability alignment (16) [-Werror,-Wcheri-capability-misuse] 12 | const uint16_t *f __aligned(1) = from; | Co-authored by: Jessica Clarke Fixes: 02ebbc781f08 ("swab: Fix implementation to support overlapping copies") Sponsored by: AFRL, DARPA Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D54399 --- lib/libc/string/swab.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libc/string/swab.c b/lib/libc/string/swab.c index ed4436a49810..4f4fb26379c6 100644 --- a/lib/libc/string/swab.c +++ b/lib/libc/string/swab.c @@ -3,14 +3,16 @@ * Copyright (c) 2024 rilysh */ +#include #include #include void swab(const void * __restrict from, void * __restrict to, ssize_t len) { - const uint16_t *f __aligned(1) = from; - uint16_t *t __aligned(1) = to; + const char *f = from; + char *t = to; + uint16_t tmp; /* * POSIX says overlapping copy behavior is undefined, however many @@ -19,7 +21,12 @@ swab(const void * __restrict from, void * __restrict to, ssize_t len) * and swapping them before writing them back accomplishes this. */ while (len > 1) { - *t++ = bswap16(*f++); + memcpy(&tmp, f, 2); + tmp = bswap16(tmp); + memcpy(t, &tmp, 2); + + f += 2; + t += 2; len -= 2; } } From nobody Wed Jan 14 17:10:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drt166Rv9z6Ng9L for ; Wed, 14 Jan 2026 17:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drt164YmLz3QNT for ; Wed, 14 Jan 2026 17:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410650; 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=L5BV77fTyWLFsvAult7exbn2qIVq7V2gMcKuhh52XWo=; b=HUHYp4s8OHWi7zuvFDU9rXR96nGavy7Z9Qn9OPpP98tiRQB+agQnA0jsbviZuyYWqBges4 sLmTRG0Fdn/pz0OQqTREvTSYXo88jc5MosDKrE2LOSrgjbB3YoqyWTR4qEyfCtZzbxYBQA b+2xozD1TMdU76lFVWvm7lqx86PpotTZzkAbKBYMmv2An1OfAfViLsNtYwcB8820ZujCwe HhVxNZ54N2lLEPPaaW9SI56tZUmjt52LqahYy3vfB5zkAFVmW+si1T0c2mxisU2piKqkW5 ZUBoB101RepVtWyMMFhFTYusLwF6GYuNyhl/eLDbAVyPkbPEjs9jjeEuYoYC8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410650; 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=L5BV77fTyWLFsvAult7exbn2qIVq7V2gMcKuhh52XWo=; b=XGwNna0BhgVFmW0YdcHQpfLF1Hk1WuGCGHAkvDaGFJQtHnYR7m3SW7vCubwigInGEcCQ+1 cDy2DREI27kNPfCPZw0dyLlzK3GZa5iEZJyE119JZrPYiTY7OYQUfa+uT95Fa5AeA8vFdH pIjOA0p6SjaU/gNljmm+ANPgEbLvt9BXVSSKTYzakJY7LxpkLVPD8JYhPFyyA8ymNf5pJF Y1JS2nUClWV6hXziBMiBjlDVF10O4tBT6+q5jOFc7DBdL6un8k0ZyRakT0D1Fd+8E/aT1x pGmccf9wiDXBN3km6w6YxDMxL0ingedFJoZ6a07O5HVS+bVxWBEtNaBirBRr/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768410650; a=rsa-sha256; cv=none; b=l2IHP9K+dW6CeC7RdrANLRUvX6E35N0som62tmLWLYeAgGetuoGopoz0pMH50inwUJ12YN GO3GQiSIV7YeyPhWgZEi/Lji/XUZLHzB8fRoM1MkZfCdqG68ic9Bxsi62aTW0xa3mnrwJ2 J4Upk1oksevHMyxcSBsTSb7eGwfnClb4xYjvl/bw5pAiWwp/p9S1szd8b3sLeJ8Ekl8dyk VyTLkfFFmPZgKBdKF6FpnvMhJ0OPoDZ33obPJfaA6Y6TyhJA5JNWIJ4yYRFsQMO7wHTfav PZL3v/WqhSUjXxVhwItARo6u3EfiNKaYlTpOoDz0U3Y9vhP1XZ9BvhzDMTOTwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drt163rznz15nv for ; Wed, 14 Jan 2026 17:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32376 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 17:10:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 31a440a0e9a2 - main - rtld: Simplify walking program headers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 31a440a0e9a26fee109ed753e3493c72b9dc05e9 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 17:10:50 +0000 Message-Id: <6967ce1a.32376.78294266@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=31a440a0e9a26fee109ed753e3493c72b9dc05e9 commit 31a440a0e9a26fee109ed753e3493c72b9dc05e9 Author: John Baldwin AuthorDate: 2026-01-14 17:10:33 +0000 Commit: John Baldwin CommitDate: 2026-01-14 17:10:33 +0000 rtld: Simplify walking program headers Store phnum in Obj_Entry instead of phsize and use that to simplify the terminate expressions when iterating over program headers. Reviewed by: kib Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54710 --- libexec/rtld-elf/map_object.c | 2 +- libexec/rtld-elf/powerpc/reloc.c | 4 +--- libexec/rtld-elf/powerpc64/reloc.c | 4 +--- libexec/rtld-elf/rtld.c | 18 ++++++++---------- libexec/rtld-elf/rtld.h | 2 +- 5 files changed, 12 insertions(+), 18 deletions(-) diff --git a/libexec/rtld-elf/map_object.c b/libexec/rtld-elf/map_object.c index 5e5774c0b017..6c6f0c9289b9 100644 --- a/libexec/rtld-elf/map_object.c +++ b/libexec/rtld-elf/map_object.c @@ -318,7 +318,7 @@ map_object(int fd, const char *path, const struct stat *sb, bool ismain) phsize); obj->phdr_alloc = true; } - obj->phsize = phsize; + obj->phnum = phsize / sizeof(*phdr); if (phinterp != NULL) obj->interp = (const char *)(obj->relocbase + phinterp->p_vaddr); diff --git a/libexec/rtld-elf/powerpc/reloc.c b/libexec/rtld-elf/powerpc/reloc.c index c160028cea6d..eb6f50c3c841 100644 --- a/libexec/rtld-elf/powerpc/reloc.c +++ b/libexec/rtld-elf/powerpc/reloc.c @@ -366,9 +366,7 @@ done: * Synchronize icache for executable segments in case we made * any changes. */ - for (phdr = obj->phdr; - (const char *)phdr < (const char *)obj->phdr + obj->phsize; - phdr++) { + for (phdr = obj->phdr; phdr < obj->phdr + obj->phnum; phdr++) { if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X) != 0) { __syncicache(obj->relocbase + phdr->p_vaddr, phdr->p_memsz); diff --git a/libexec/rtld-elf/powerpc64/reloc.c b/libexec/rtld-elf/powerpc64/reloc.c index 4a4107aef861..a107da6b0a6a 100644 --- a/libexec/rtld-elf/powerpc64/reloc.c +++ b/libexec/rtld-elf/powerpc64/reloc.c @@ -364,9 +364,7 @@ done: * Synchronize icache for executable segments in case we made * any changes. */ - for (phdr = obj->phdr; - (const char *)phdr < (const char *)obj->phdr + obj->phsize; - phdr++) { + for (phdr = obj->phdr; phdr < obj->phdr + obj->phnum; phdr++) { if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X) != 0) { __syncicache(obj->relocbase + phdr->p_vaddr, phdr->p_memsz); diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 39fb6bc5fb31..7b5f31525853 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -1684,7 +1684,7 @@ digest_phdr(const Elf_Phdr *phdr, int phnum, caddr_t entry, const char *path) continue; obj->phdr = phdr; - obj->phsize = ph->p_memsz; + obj->phnum = ph->p_memsz / sizeof(*ph); obj->relocbase = __DECONST(char *, phdr) - ph->p_vaddr; break; } @@ -2423,8 +2423,7 @@ parse_rtld_phdr(Obj_Entry *obj) first_seg = true; obj->stack_flags = PF_X | PF_R | PF_W; - for (ph = obj->phdr; - (const char *)ph < (const char *)obj->phdr + obj->phsize; ph++) { + for (ph = obj->phdr; ph < obj->phdr + obj->phnum; ph++) { switch (ph->p_type) { case PT_LOAD: if (first_seg) { @@ -2486,7 +2485,7 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo **aux_info) ehdr = (Elf_Ehdr *)mapbase; objtmp.phdr = (Elf_Phdr *)((char *)mapbase + ehdr->e_phoff); - objtmp.phsize = ehdr->e_phnum * sizeof(objtmp.phdr[0]); + objtmp.phnum = ehdr->e_phnum; /* Initialize the object list. */ TAILQ_INIT(&obj_list); @@ -2998,7 +2997,7 @@ load_kpreload(const void *addr) obj = obj_new(); phdr = (const Elf_Phdr *)((const char *)addr + ehdr->e_phoff); obj->phdr = phdr; - obj->phsize = ehdr->e_phnum * sizeof(*phdr); + obj->phnum = ehdr->e_phnum; phlimit = phdr + ehdr->e_phnum; seg0 = segn = NULL; @@ -3380,10 +3379,10 @@ reloc_textrel_prot(Obj_Entry *obj, bool before) { const Elf_Phdr *ph; void *base; - size_t l, sz; + size_t sz; int prot; - for (l = obj->phsize / sizeof(*ph), ph = obj->phdr; l > 0; l--, ph++) { + for (ph = obj->phdr; ph < obj->phdr + obj->phnum; ph++) { if (ph->p_type != PT_LOAD || (ph->p_flags & PF_W) != 0) continue; base = obj->relocbase + rtld_trunc_page(ph->p_vaddr); @@ -4331,7 +4330,7 @@ rtld_fill_dl_phdr_info(const Obj_Entry *obj, struct dl_phdr_info *phdr_info) phdr_info->dlpi_addr = (Elf_Addr)obj->relocbase; phdr_info->dlpi_name = obj->path; phdr_info->dlpi_phdr = obj->phdr; - phdr_info->dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]); + phdr_info->dlpi_phnum = obj->phnum; phdr_info->dlpi_tls_modid = obj->tlsindex; phdr_info->dlpi_tls_data = (char *)tls_get_addr_slow(_tcb_get(), obj->tlsindex, 0, true); @@ -6149,8 +6148,7 @@ obj_remap_relro(Obj_Entry *obj, int prot) caddr_t relro_page; size_t relro_size; - for (ph = obj->phdr; (const char *)ph < (const char *)obj->phdr + - obj->phsize; ph++) { + for (ph = obj->phdr; ph < obj->phdr + obj->phnum; ph++) { if (ph->p_type != PT_GNU_RELRO) continue; relro_page = obj->relocbase + rtld_trunc_page(ph->p_vaddr); diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index d4829b17cebb..023e9af9a2a8 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -152,7 +152,7 @@ typedef struct Struct_Obj_Entry { const Elf_Dyn *dynamic; /* Dynamic section */ caddr_t entry; /* Entry point */ const Elf_Phdr *phdr; /* Program header if it is mapped, else NULL */ - size_t phsize; /* Size of program header in bytes */ + size_t phnum; /* Number of program headers */ const char *interp; /* Pathname of the interpreter, if any */ Elf_Word stack_flags; From nobody Wed Jan 14 17:10:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drt1805xGz6NgCd for ; Wed, 14 Jan 2026 17:10: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drt174rCcz3QZ9 for ; Wed, 14 Jan 2026 17:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410651; 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=AedcLDLmEaCwXnGs8WAVBsUeYBXO3dIQzbjDo5bMc/c=; b=D5MOamT4F83fwIvi/7SNCsJILibRystAMJikXEKfpQCwQLrKQcZXJE1h8ZofX4FYwux/nl SmKi20nxSgTlZR1zSfVKl3FDKgPnpDUtMD1hb9ztUTeGLN4TLSZY9PdXxqFYLhRc+KlGGl X4ruMn/YklCtQot+uH8Spg68WQ12hmBgIScBbR3d+4E18Ua5jKl/WmDN4+TA58kzMrSSRc qTrDQIMo32rZbgAWYj0bNWHOYk+8FhkEcUr66OtuxDGu59Tgf6+Az5Ap40ov6GJy04S3dJ 46rW0KGNtlYiPvYA3F6/zuWjN+3lprVUPkjQt2XhwTv2OcEfxwvKSkiTsjJV3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410651; 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=AedcLDLmEaCwXnGs8WAVBsUeYBXO3dIQzbjDo5bMc/c=; b=O43MGZyZclL1aaWOG+pfG3ZMyAFPMbgd1rmgfwcDIs60y7Wf36hugnccezP1bPaZ4HQyO8 LgSAZ5ZQcSh0Ek5fyweJcOZKyn5v7WMPqQaYaU/ipSNaI7j9RG9Nv8yNv6GnJiDh6p3w7e wTvm3MHjenmSMfT+9hcgi+/We3Dw6vD1bXQD1Dgd72ducQK7maZAFtFwmvYnHwDnTQWm/c FJLlO80FKhe+GPjYjP7BEe2tcCfx/Esj1Xg95j2umjYfYTdN/2li9x9Pf/EOCDqtf/0Fi4 W0kDo3v0iBtwi5kTsP3f1cQWBTWMrw2oEqvChls5wzwb25IgM/FRFSUablrqtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768410651; a=rsa-sha256; cv=none; b=SYklpXghuPFdVsqr9mrA/e+4sh+8h2LCJ0tQOje0S2qYMr2YYZnsZ885Bezv5tB/9MmdDM PBpftAB0jUL3TBlSHzBKnbAGJh2SaY0gLThY6pSNkKqm/gubXUFxr4s0OfPRAkwERpdzv6 8SKn7pw+FFWMmcBVWatFyY2cRwJFTQR0VXa97igt1yc4f7bD9kptVtlVfZw5QDy1DGRCjx 3dJfZyYst1ssz+VHoDTeehR2p8CLg6BkbixDX/lQLZqYr3IEYLfTsmWyU2Q8m0WdgHS/fT GapvXB0MDAM97aL0H5JJVEyMfSAQPXitg4sye5rAtmhxs7rB3Izutz35+TJwyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drt174RSmz15nw for ; Wed, 14 Jan 2026 17:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3237a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 17:10:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: e96ec1a1eb93 - main - rtld: Use uintptr_t instead of Elf_Addr for init/fini function pointers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e96ec1a1eb935aa2febcbf9629a52c85297a088e Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 17:10:51 +0000 Message-Id: <6967ce1b.3237a.47143436@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e96ec1a1eb935aa2febcbf9629a52c85297a088e commit e96ec1a1eb935aa2febcbf9629a52c85297a088e Author: John Baldwin AuthorDate: 2026-01-14 17:10:33 +0000 Commit: John Baldwin CommitDate: 2026-01-14 17:10:33 +0000 rtld: Use uintptr_t instead of Elf_Addr for init/fini function pointers This is a no-op on non-CHERI architectures, but is required for CHERI where Elf_Addr is only an address and not a complete pointer. While here, consistently use `uintptr_t *` for arrays of init/fini function pointers. Reviewed by: imp, kib Effort: CHERI upstreaming Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54711 --- libexec/rtld-elf/rtld.c | 42 ++++++++++++++++++++---------------------- libexec/rtld-elf/rtld.h | 10 +++++----- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 7b5f31525853..78a111095400 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -978,9 +978,9 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) * functions for binaries linked with old crt1 which calls * _init itself. */ - obj_main->init = obj_main->fini = (Elf_Addr)NULL; + obj_main->init = obj_main->fini = 0; obj_main->preinit_array = obj_main->init_array = - obj_main->fini_array = (Elf_Addr)NULL; + obj_main->fini_array = NULL; } if (direct_exec) { @@ -1499,43 +1499,43 @@ digest_dynamic1(Obj_Entry *obj, int early, const Elf_Dyn **dyn_rpath, break; case DT_INIT: - obj->init = (Elf_Addr)(obj->relocbase + + obj->init = (uintptr_t)(obj->relocbase + dynp->d_un.d_ptr); break; case DT_PREINIT_ARRAY: - obj->preinit_array = (Elf_Addr)(obj->relocbase + + obj->preinit_array = (uintptr_t *)(obj->relocbase + dynp->d_un.d_ptr); break; case DT_PREINIT_ARRAYSZ: obj->preinit_array_num = dynp->d_un.d_val / - sizeof(Elf_Addr); + sizeof(uintptr_t); break; case DT_INIT_ARRAY: - obj->init_array = (Elf_Addr)(obj->relocbase + + obj->init_array = (uintptr_t *)(obj->relocbase + dynp->d_un.d_ptr); break; case DT_INIT_ARRAYSZ: obj->init_array_num = dynp->d_un.d_val / - sizeof(Elf_Addr); + sizeof(uintptr_t); break; case DT_FINI: - obj->fini = (Elf_Addr)(obj->relocbase + + obj->fini = (uintptr_t)(obj->relocbase + dynp->d_un.d_ptr); break; case DT_FINI_ARRAY: - obj->fini_array = (Elf_Addr)(obj->relocbase + + obj->fini_array = (uintptr_t *)(obj->relocbase + dynp->d_un.d_ptr); break; case DT_FINI_ARRAYSZ: obj->fini_array_num = dynp->d_un.d_val / - sizeof(Elf_Addr); + sizeof(uintptr_t); break; case DT_DEBUG: @@ -2599,8 +2599,7 @@ initlist_for_loaded_obj(Obj_Entry *obj, Obj_Entry *tail, Objlist *list) STAILQ_FOREACH(tmp, &iflist, link) { Obj_Entry *tobj = tmp->obj; - if ((tobj->fini != (Elf_Addr)NULL || - tobj->fini_array != (Elf_Addr)NULL) && + if ((tobj->fini != 0 || tobj->fini_array != NULL) && !tobj->on_fini_list) { objlist_push_tail(&list_fini, tobj); tobj->on_fini_list = true; @@ -2672,8 +2671,7 @@ initlist_add_objects(Obj_Entry *obj, Obj_Entry *tail, Objlist *list, * Add the object to the global fini list in the * reverse order. */ - if ((obj->fini != (Elf_Addr)NULL || - obj->fini_array != (Elf_Addr)NULL) && + if ((obj->fini != 0 || obj->fini_array != NULL) && !obj->on_fini_list) { objlist_push_head(&list_fini, obj); obj->on_fini_list = true; @@ -3075,10 +3073,10 @@ obj_from_addr(const void *addr) static void preinit_main(void) { - Elf_Addr *preinit_addr; + uintptr_t *preinit_addr; int index; - preinit_addr = (Elf_Addr *)obj_main->preinit_array; + preinit_addr = obj_main->preinit_array; if (preinit_addr == NULL) return; @@ -3105,7 +3103,7 @@ objlist_call_fini(Objlist *list, Obj_Entry *root, RtldLockState *lockstate) { Objlist_Entry *elm; struct dlerror_save *saved_msg; - Elf_Addr *fini_addr; + uintptr_t *fini_addr; int index; assert(root == NULL || root->refcount == 1); @@ -3138,7 +3136,7 @@ objlist_call_fini(Objlist *list, Obj_Entry *root, RtldLockState *lockstate) * defined. When this happens, DT_FINI_ARRAY is * processed first. */ - fini_addr = (Elf_Addr *)elm->obj->fini_array; + fini_addr = elm->obj->fini_array; if (fini_addr != NULL && elm->obj->fini_array_num > 0) { for (index = elm->obj->fini_array_num - 1; index >= 0; index--) { @@ -3156,7 +3154,7 @@ objlist_call_fini(Objlist *list, Obj_Entry *root, RtldLockState *lockstate) } } } - if (elm->obj->fini != (Elf_Addr)NULL) { + if (elm->obj->fini != 0) { dbg("calling fini function for %s at %p", elm->obj->path, (void *)elm->obj->fini); LD_UTRACE(UTRACE_FINI_CALL, elm->obj, @@ -3192,7 +3190,7 @@ objlist_call_init(Objlist *list, RtldLockState *lockstate) Objlist_Entry *elm; Obj_Entry *obj; struct dlerror_save *saved_msg; - Elf_Addr *init_addr; + uintptr_t *init_addr; void (*reg)(void (*)(void)); int index; @@ -3237,14 +3235,14 @@ objlist_call_init(Objlist *list, RtldLockState *lockstate) * It is legal to have both DT_INIT and DT_INIT_ARRAY defined. * When this happens, DT_INIT is processed first. */ - if (elm->obj->init != (Elf_Addr)NULL) { + if (elm->obj->init != 0) { dbg("calling init function for %s at %p", elm->obj->path, (void *)elm->obj->init); LD_UTRACE(UTRACE_INIT_CALL, elm->obj, (void *)elm->obj->init, 0, 0, elm->obj->path); call_init_pointer(elm->obj, elm->obj->init); } - init_addr = (Elf_Addr *)elm->obj->init_array; + init_addr = elm->obj->init_array; if (init_addr != NULL) { for (index = 0; index < elm->obj->init_array_num; index++) { diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index 023e9af9a2a8..322d1ee94d6f 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -212,11 +212,11 @@ typedef struct Struct_Obj_Entry { Ver_Entry *vertab; /* Versions required /defined by this object */ int vernum; /* Number of entries in vertab */ - Elf_Addr init; /* Initialization function to call */ - Elf_Addr fini; /* Termination function to call */ - Elf_Addr preinit_array; /* Pre-initialization array of functions */ - Elf_Addr init_array; /* Initialization array of functions */ - Elf_Addr fini_array; /* Termination array of functions */ + uintptr_t init; /* Initialization function to call */ + uintptr_t fini; /* Termination function to call */ + uintptr_t *preinit_array; /* Pre-initialization array of functions */ + uintptr_t *init_array; /* Initialization array of functions */ + uintptr_t *fini_array; /* Termination array of functions */ int preinit_array_num; /* Number of entries in preinit_array */ int init_array_num; /* Number of entries in init_array */ int fini_array_num; /* Number of entries in fini_array */ From nobody Wed Jan 14 17:10:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drt1943zZz6NgCl for ; Wed, 14 Jan 2026 17:10:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drt186Qkgz3QGh for ; Wed, 14 Jan 2026 17:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410652; 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=S7AFVHt5PP7YvHs3lhvOa2O3xkbnpQrrC0OskDAo+ok=; b=Ud6k09dd7ssNZL1iW+Z93TaTV5aJgC1WbjvMgR9ssIuMaDPhRVbAKvUPB0qYLwtR4j26OV ewhJD3DRcUVOOcv7VB2Q1cMmGjXu34howfH89Hv0IZtKCGSKdr552uL3aHLMY43OjJDN3f cgEYPhNpnOea5WzZQnJsnc5MHWe1xf3oJZVX+QS77kFxWtA74NUK8M8FnVhP10ihRuljOY iSJ3T3qLr66Djo59FoXOXiL+DvqEZSJyb3k+AJ27poUI5MUnw7M9ewl56qOQrsLTb6swd7 PAxcWf6Q6gcjAm8VtHKS4OwYXSCERXLNAzxEuzF3bR4tTRpa652/doeIsCmupg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768410652; 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=S7AFVHt5PP7YvHs3lhvOa2O3xkbnpQrrC0OskDAo+ok=; b=uD/SPCkB+XooLsTsGj9+0Tu+1EozSO1htbf88DmNNFAAZBYo4VBtKs1TjYEgL6rgTuyD0O yeRd9bkAP4bhYwL4TlG2SGiYbNiguOzrI5cAQer4IMlN8pIRn4ALxx7pCMmqLlU8UQV9MR G8sYq9DKxciU7ZbHx9mhRM86cAGJ9xkxy1WT7rKMd2YaY7mOe6DfHzVeZdnKn8odeE8oHd Z7CtFSmBO10Kw+LLv2RZqbtup9MrGlwnDjtQgE/pn9GLCkBYToTkV8/hp+DdZxEMnY7feI 00AClS8dyFc4pvayjiDH7byRn1Z43SYRjVLOxXvSpXzpIZsPKy6e/pFOJ6jxNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768410652; a=rsa-sha256; cv=none; b=qcxQvp4J8uMIjCQMycHYsILnEEmWgZOFP+epveRTd3juJU/1TWWLGw1J9ZUwgekPZqp/Wx iT4NuSn/h3zUyR0jtf91LHrb7bkDSxmqS3ssSfD3J3TxqredhDCyasnTZRMbPNAK6vSo+q SFkxYnHsHeXzfKp6btTCf3TerXjtZyHMUpNA2pDz/c5Y3g8raOgJBbP/C7CU4ft9cLyaT4 ngkoE271+GbdTnC8kIlbdXL/PPj4AIPJwxPdsmADuCESd664AEcIeSzBowjhzENBfSIHuI regMbSVdOT/INeCK3d443n0fcqf2qoYw16N+D9JfQIXhDngqJ0ssfd4T3VdnFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drt185C99z168Y for ; Wed, 14 Jan 2026 17:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 333a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 17:10:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3ea97c9de2b2 - main - rtld: Switch to using for assert List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ea97c9de2b24c685d42be12dd57fad2f67b3f1b Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 17:10:52 +0000 Message-Id: <6967ce1c.333a0.712a2178@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3ea97c9de2b24c685d42be12dd57fad2f67b3f1b commit 3ea97c9de2b24c685d42be12dd57fad2f67b3f1b Author: John Baldwin AuthorDate: 2026-01-14 17:10:33 +0000 Commit: John Baldwin CommitDate: 2026-01-14 17:10:33 +0000 rtld: Switch to using for assert The stock assert() works because rtld-libc includes a custom implementation of __assert(). Reviewed by: imp, kib Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54712 --- libexec/rtld-elf/debug.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libexec/rtld-elf/debug.h b/libexec/rtld-elf/debug.h index 1a019f07750a..09de6057e1e7 100644 --- a/libexec/rtld-elf/debug.h +++ b/libexec/rtld-elf/debug.h @@ -33,7 +33,7 @@ #define DEBUG_H 1 #include - +#include #include #include "rtld_paths.h" #include "rtld_printf.h" @@ -47,9 +47,6 @@ extern int debug; #define dbg(...) ((void) 0) #endif -#define assert(cond) ((cond) ? (void) 0 : \ - (msg(_BASENAME_RTLD ": assert failed: " __FILE__ ":" \ - __XSTRING(__LINE__) "\n"), abort())) #define msg(s) rtld_putstr(s) #define trace() msg(_BASENAME_RTLD ": " __XSTRING(__LINE__) "\n") From nobody Wed Jan 14 17:24:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drtJk6VjMz6NgH5 for ; Wed, 14 Jan 2026 17:24:22 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drtJh71hYz3SVq for ; Wed, 14 Jan 2026 17:24:20 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-64b8123c333so14381255a12.3 for ; Wed, 14 Jan 2026 09:24:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768411459; x=1769016259; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=gE23F8QOuVMB71xM2NDN1ZfJJyoGtThcOS8RTCcAZOQ=; b=C9EQFFDGxTcUWICbACNdor/UzH4y5r6ci7pyuKkEpT3fWIcaKy8Hs494EiqN3c9zgK YZea80bX7Ia0rudqSoFrAl3a8/dRlgSHzYfdm2xmL6oeyXXWhKUMTaMQ6lIJLtj9dal/ 8i3l3auCDFs2kdZQKsWoHgljdCVGlV1SRH6BsNPX3L/zJfJNC7/WE63rO27p5KVDUEVf mdu5XJTM4Ib1X9o7YpUDeW98ZUUE8hhphk2qkq6TtXMOeZOFwO+tiowR+T4+i465gBqP zveXSGq236msWIIE3Qgb2gT3aCxhXGdKMMA/Ui833AgxJZDR5UsT3HzZMfMUysf/nkwz bYmQ== X-Forwarded-Encrypted: i=1; AJvYcCWBCFrAkcEIWGsAru06bp034GC0Tra2hj1ZeoLRED5EEcnzDXZ7kbtXZAVt/1wT1Vqt7B9iWMg7cSDArrpwLjrv0c3nkA==@freebsd.org X-Gm-Message-State: AOJu0YxXy+BX81WVsvL5rAJwnSmqrwlIE06KSVfYvYJBwP3tzqO2CnPH 9sdmOXQVwNzqKZsLYpPSp4okUnShazdRQOg0sj3ceKVndlK0Yi7k861hodzBDN+ppi42HncGgOA whn0yw/9mzHsSbtMy+ypV1wmBfpEThjw= X-Gm-Gg: AY/fxX4UiZHIq44vmE/2zQgQO/EV+I0eXfWDnH3eDHn5hblqFJ5PKggWVDfGFrnSuCT sQhlrpwrQvbpCNPaGbKCSJ3wqyuzTFhbln4MIRFV8pRf4+EZVDHOWfX9Hxg7Fk5e2pIWESvPNLa U7MTMPn8sKZjmRKnu82yVoSQGpC3aTWIAiKZkz7VlzbdMeaLe565RAECrNWEJ9oXD4aA4ZidIJg 9Blmc6CW22++5+gn8uJk4v9HGrbZp8+2+6UOXOp0wKVYZ/zCfAYFv9ogHySToV+5WCIQIM= X-Received: by 2002:a05:6402:1e96:b0:64b:48d0:fa1f with SMTP id 4fb4d7f45d1cf-653ec447469mr2557885a12.22.1768411459217; Wed, 14 Jan 2026 09:24:19 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6940443b.2109b.489e92e1@gitrepo.freebsd.org> In-Reply-To: <6940443b.2109b.489e92e1@gitrepo.freebsd.org> From: Alan Somers Date: Wed, 14 Jan 2026 10:24:07 -0700 X-Gm-Features: AZwV_QiOOztQCIRTIEknrrtr0HLvzDVqjLcxPI9zawP8DBswHOlTlbdHWgCc2-U Message-ID: Subject: Re: git: 2059040493fb - main - committers-src: add myself (jrhall@) To: John Hall Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: - X-Spamd-Result: default: False [-1.12 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-0.71)[-0.712]; NEURAL_SPAM_SHORT(0.49)[0.494]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; ARC_NA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEFALL_USER(0.00)[asomers]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_ONE(0.00)[1]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.48:from]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.48:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MISSING_XM_UA(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4drtJh71hYz3SVq On Mon, Dec 15, 2025 at 10:24=E2=80=AFAM John Hall wro= te: > > The branch main has been updated by jrhall: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D2059040493fb3f76cd1f06350f= d4534a71a1f83c > > commit 2059040493fb3f76cd1f06350fd4534a71a1f83c > Author: John Hall > AuthorDate: 2025-11-26 16:50:09 +0000 > Commit: John Hall > CommitDate: 2025-12-15 17:21:10 +0000 > > committers-src: add myself (jrhall@) > > Add jrhall@ (myself) as new src committer with imp@ as > mentor. > > Reviewed By: imp (mentor) > Approved by: imp (mentor) > Differential Revision: https://reviews.freebsd.org/D53934 > --- > share/misc/committers-src.dot | 2 ++ > 1 file changed, 2 insertions(+) Welcome, John! As part of your onboarding process, I suggest that you create an account on Phabricator (https://reviews.freebsd.org). Then, please review this change: https://reviews.freebsd.org/D54717 . From nobody Wed Jan 14 17:54:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drtzk1P1Jz6NjjV for ; Wed, 14 Jan 2026 17:54:42 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drtzh5yGpz3ZNN for ; Wed, 14 Jan 2026 17:54:40 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-64b9dfc146fso59151a12.0 for ; Wed, 14 Jan 2026 09:54:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768413279; x=1769018079; h=content-transfer-encoding:cc:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=guv7RbtJwglANrtIrT70Y6496uYjb1BsnmWKQes1pkM=; b=Sx/HAZUhBFbktL6NGewX+rH/og83eLT8hfeEYQMPUXdG1iGkj1JPJB8V12HD59iFE4 Q37/h/10MtoM95OsfgW/Vbrtj/QVuv8B1+6ydQ8UZXPP8eeOivY7rTT+ldmwdoNJsBi+ gjfUQOpwzrzXk6yt52IeibSsWyajapnw93MTwXU4ETbtzDqx5rvSPPa7VG0T5MZRmxRj MGxL254YX4uyTgNNxEOWb6m6i/GRCRe4/gHdoW302+FUUo1lb+fbmr7BicLuVEa4uGkm Q9l9+7cE/frazUhDdrvYO2ynCFSbaRrA2KQ8yFksKeLT0f1Yx2gXy0E6FHLWeUTLKG/+ rw/Q== X-Forwarded-Encrypted: i=1; AJvYcCVurVUrUh0XwnCpOp2VplT8AZze1LklvP1jUqKDIkMMdQVJ5GcT+c1U79XWVN8FqWG6vsvBpVyeeaVLQ6JwEb+gR5MFgA==@freebsd.org X-Gm-Message-State: AOJu0YyaQBCaGgdDiK259BqAVKiNbdQieCkr+wu9rjpoQTros4ijJSsw hmg0O+U4GMMVRvWrgCOL1GV0F/pzO+FSQziGxMFQnXfbJJjxUar7O/1wwcRsBr6v4bC0TkUEfO1 1iVmcdLiXt9ZyUbjjIZEVO1GM2SDivYw= X-Gm-Gg: AY/fxX7NrqeXuELF+iPoB2ANq0sD2CZGAYxFJU99Ck8jJ+alHD9vPhQySRwdfQlig9n kql856cu3+H96ABlHMxSoe/fqyI4sMFDXRvYAVlOXA0vqvLVtFfNB29TvTXizaJ63vMfK0g8/xE IXRiM+li8+BMrAz6u4jPcCMIKvtLGh6qthsG6lesDHdDIrebQpa1M+7n4Dj1qjqyqCPPpcvEZS1 RTJ1vljy6aFjAHKvmNtI4l6uParE1V/v6k+hzLMj7iyrxTz3yZM2rQ3ACry4SfeAOwLpHc= X-Received: by 2002:a05:6402:6c9:b0:653:c2ad:6d93 with SMTP id 4fb4d7f45d1cf-65412e18ab4mt194996a12.2.1768413279259; Wed, 14 Jan 2026 09:54:39 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6940443b.2109b.489e92e1@gitrepo.freebsd.org> In-Reply-To: From: Alan Somers Date: Wed, 14 Jan 2026 10:54:26 -0700 X-Gm-Features: AZwV_QguLeefv435b4f5-509X0pIW11yUZyLJhs_Zi07vnSFffJmhKVnUOzhoyg Message-ID: Subject: Re: git: 2059040493fb - main - committers-src: add myself (jrhall@) Cc: John Hall , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: +++ X-Spamd-Result: default: False [3.03 / 15.00]; MISSING_TO(2.00)[]; NEURAL_SPAM_LONG(1.00)[1.000]; NEURAL_HAM_MEDIUM(-0.95)[-0.954]; NEURAL_SPAM_SHORT(0.88)[0.885]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; MISSING_XM_UA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.50:from]; R_DKIM_NA(0.00)[]; FREEFALL_USER(0.00)[asomers]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.50:from] X-Rspamd-Queue-Id: 4drtzh5yGpz3ZNN On Wed, Jan 14, 2026 at 10:24=E2=80=AFAM Alan Somers = wrote: > > On Mon, Dec 15, 2025 at 10:24=E2=80=AFAM John Hall w= rote: > > > > The branch main has been updated by jrhall: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D2059040493fb3f76cd1f0635= 0fd4534a71a1f83c > > > > commit 2059040493fb3f76cd1f06350fd4534a71a1f83c > > Author: John Hall > > AuthorDate: 2025-11-26 16:50:09 +0000 > > Commit: John Hall > > CommitDate: 2025-12-15 17:21:10 +0000 > > > > committers-src: add myself (jrhall@) > > > > Add jrhall@ (myself) as new src committer with imp@ as > > mentor. > > > > Reviewed By: imp (mentor) > > Approved by: imp (mentor) > > Differential Revision: https://reviews.freebsd.org/D53934 > > --- > > share/misc/committers-src.dot | 2 ++ > > 1 file changed, 2 insertions(+) > > Welcome, John! As part of your onboarding process, I suggest that you > create an account on Phabricator (https://reviews.freebsd.org). Then, > please review this change: https://reviews.freebsd.org/D54717 . Oops, as somebody just pointed out to me, thi was fixed by pouria@ yesterday. My source tree was out of date. Sorry for the noise. From nobody Wed Jan 14 18:09:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvKF0V6Vz6Nk2y for ; Wed, 14 Jan 2026 18:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvKD7376z3bB3 for ; Wed, 14 Jan 2026 18:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414193; 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=8iT1phLfWzCg7yRzNhj8hiqWQQoSCTvtiySCatc5jj8=; b=cIT+pph1MX0we8MsJkNAb2z0GUMeqr1U5D5Df6xx3GufI93RLcoKps/gifGyDNSaWXMeWQ RRDP0BXVQQdnX+MhGQRGztyb+bXVRVxssSUSISwoMm2KEHs7OUDZFZ0Vwl43zLQeUvlTq5 A9arHIsNVWZGoPmsTSlD5iuF1BkADt3antoaRAsCplXY9ESuN/z6A4Oqhs3BeJ3ajz2g1Y 38nwfnFjP48bna0Jv9cvje9q7gdZyZcosWy9O9mK7/DKiqRvgJbGPvV8Scy/pNnMZH4Fhe pTIxl90Hxzh8TESfvGGt7eIt9H66LvsmWZcoc3gGlFa9aIzT/RCUMipAfPza+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414193; 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=8iT1phLfWzCg7yRzNhj8hiqWQQoSCTvtiySCatc5jj8=; b=VK8yCTXLEW2Af4MOKg5zkfmczFcXa4Mdzn2pM+4lbmgoR1Q1/Qaecpbv3BPqyo3PLzoeCD gr8FSF/mXgcY2VfOTJaP2Ybm/Dyo1nYLTq10EZc1+DC4yTeubEAue9T+U4CbykCdx7Frg9 w+UfRb2Vjz4l920V8ir6JqO7d3vNtuSVKNf+FRU2X34uVJMNUaxhYyl1TYg2FO1j1jas2p wvsNWgpc4kvEZbZxyy9x9eYkoTzeWtzLJdf+aBiXWnRLHN5NzRb2/MfX5hJ9kaV8W6gutM 4BxPN8qjCeh1aqO3OfKBDYbxG27mnLu1VfOe7v+USckqRP17dmVOKqDvHprJhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768414193; a=rsa-sha256; cv=none; b=ZE+ABKAorqiSVfpQKhlXJML6yxbyKam6ptH9aUFGoLaXWcpOQAEoY+2LuIQ58kGHR64JWA DJdMCu0OYgOi2Criv75uMKfEgn56qDbLngYuhiSrI2owZayeIUj3gZVa2E6ECXblt4wfcp jCTRWNu6o824NLX4TrXSHWZa/ilOLdhagfcyg4kznQ2Jbv2VVk+EGB98NMK5fMZekLgnhf vtVMF9EwHpSJaow7OQ7ernD9unqDuSS2lY8XS2YzZccHf2slwfhS7ivEREaDKlzjOHxH49 hEhX/Fxs06mUzIL4tQUa0WGl6qyBEoHkQ70tqPtg31n9DcsIUHwYesiz/cWPWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drvKD6djKz17cs for ; Wed, 14 Jan 2026 18:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37d0b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 18:09:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 0fa7b3bee72e - main - riscv: add (a dummy) acpica_machdep.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0fa7b3bee72e7cfedabe371c7082fbf44508ec05 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 18:09:52 +0000 Message-Id: <6967dbf0.37d0b.64e51d2f@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0fa7b3bee72e7cfedabe371c7082fbf44508ec05 commit 0fa7b3bee72e7cfedabe371c7082fbf44508ec05 Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 20:33:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-14 18:08:38 +0000 riscv: add (a dummy) acpica_machdep.h We have reports that iwlwifi(4) works on RISC-V. While we can turn off full ACPI-specific files easily, intermittent code still relies on the header files to be present. In order to not need to completely #ifdef everything out we want to include acpi.h from LinuxKPI and as a result need this file. With this the iwlwifi(4) code compiles just fine and will do the right thing (given the functional ACPI parts are disabled/ unavailable). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: mhorne, emaste Differential Revision: https://reviews.freebsd.org/D54691 --- sys/riscv/include/acpica_machdep.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/sys/riscv/include/acpica_machdep.h b/sys/riscv/include/acpica_machdep.h new file mode 100644 index 000000000000..ad162f5c0907 --- /dev/null +++ b/sys/riscv/include/acpica_machdep.h @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026 The FreeBSD Foundation + * + * This software was developed by Björn Zeeb + * under sponsorship from the FreeBSD Foundation. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef __ACPICA_MACHDEP_H__ +#define __ACPICA_MACHDEP_H__ + +/* + * This is a placeholder until full ACPI support for RISC-V emerges. + * With is we can include acpi.h from LinuxKPI and avoid (major) local changes + * to compile drivers otherwise fine on RISC-V. + */ + +#endif /* __ACPICA_MACHDEP_H__ */ From nobody Wed Jan 14 18:09:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvKG35Zrz6NkSp for ; Wed, 14 Jan 2026 18:09: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvKG0J53z3bDH for ; Wed, 14 Jan 2026 18:09:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414194; 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=LQlpnjp9xHQxIs5xQ5Qaq9Cg7juEX6Giqr+u4dpevVs=; b=PvYgZ+VbDDD3MOF8cJKvyPZvFZi8AmdPVZo3oOfpy60+oOaKHPtdLp29rFeZ7uPYLnIOs6 Tyjv9EeL3Fy5EXcb3FaJLtguTow2yuEJeyB52ljiPFQ6l9qwue5vhQLMXKDByftgSUoWDa Waz3NPJF2RJ4xXzqZVJ3V3LodIKaNd7BMpDs0Vwf4NtZFWjyb7WOedcT0Gql2pQzl4mwWr yg3Fkr6MxMns+sx4sIrIMj4AYKE97PbRtkleAMJSK1G9tTySu7z9x4wesWGfeiRUACWBM4 cv5HG0+6uoH49zRlyqpfbgySiwiFLdUvyAuQC+en4jV3qPcUpKtSxLJD0/nn9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414194; 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=LQlpnjp9xHQxIs5xQ5Qaq9Cg7juEX6Giqr+u4dpevVs=; b=LmZHpErT9hMmAdjFcM+e1PLXsajdzVXF/XMs29+AW1+DHVfk+zHFm0uBMhrRwwNaNB7EOv YX7GCNSODX7fli+lvv8XvCb1zvg1bWltMmWr7llDa5d74ZmLen3b/5/QUdF+FRKoFyAKdG DC+jMZv3r55lZ1M8U4UxXKM7HXDUySlgidvkyJhOa0yxhWKvqDbnajaW60RE8gCHZBobqw bCFy5ovDkS5+4u/df8Q3Nex4RpeK/twa3wHsqXk/m3boMMBJ4+lzrDNMXjaKsVF0QOM509 I1PXNQcJ2l0CNm0hDTFo33aSIAUf8W9r9pPjQ/dlgFKyhwJRBkyjN53PhaQA4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768414194; a=rsa-sha256; cv=none; b=PRe1wsjeljhphM7acRtWbwmqW3YuwNJNapmnGdhstjyrUbzutlHTZPmMwC9tr0Ge44f2gN rdMZLO0BgbLmdeKmgbxcFqY1pM5JAvQltGhZ3hQA3jygkkpsw/nhz8cfsgq+9AC6JzKDNT kcsMT/hjtAe84tjFcF/+GrS5DGowr6ZnRtBgreRfUN5CLcMa8lqW2nwaCHsxdsnJHRvsK+ pYkxM1jsNGAuqSDlxscVWEB/zvuOjROGPDf3SUGST2DDDwg6xVri4q/jBJ/wRAylHLcCw+ q6FtaCPK0vEcIUv/EsfEoumynXIzLmkWxPdZtACSQk9cnQdXRtb64PSXd/Tpqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drvKF6y8wz1813 for ; Wed, 14 Jan 2026 18:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37ddb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 18:09:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c71f18998e0b - main - LinuxKPI: include acpi headers for RISC-V List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c71f18998e0b107845f2b627861225bf6156cda6 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 18:09:53 +0000 Message-Id: <6967dbf1.37ddb.13ef6a94@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c71f18998e0b107845f2b627861225bf6156cda6 commit c71f18998e0b107845f2b627861225bf6156cda6 Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 20:39:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-14 18:08:39 +0000 LinuxKPI: include acpi headers for RISC-V In order to compile iwlwifi(4), which is reported to work on RISC-V, include the ACPI headers to avoid adding further FreeBSD-specific #ifdefs to the driver. With this iwlwifi(4) just compiles on RISC-V (at least if ACPI support is turned off in the module Makefile). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54692 --- sys/compat/linuxkpi/common/include/linux/acpi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/acpi.h b/sys/compat/linuxkpi/common/include/linux/acpi.h index 3e1ec1b20626..a764a975c983 100644 --- a/sys/compat/linuxkpi/common/include/linux/acpi.h +++ b/sys/compat/linuxkpi/common/include/linux/acpi.h @@ -32,7 +32,7 @@ #include #include -#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__) +#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__) || defined(__riscv) #include #include From nobody Wed Jan 14 18:09:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvKH26myz6Nkb4 for ; Wed, 14 Jan 2026 18:09: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvKH0g46z3bB7 for ; Wed, 14 Jan 2026 18:09:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414195; 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=HFShOQVs47R1/W1Mn/E4GPkf1OcaAND2DtVx8NDQ1O0=; b=OGbA+/aa8p7svLPnVd65nyhxCE9u40mQqYvBruznnGUwAa/J6ycluYZKUklhfjKh2XW2Vm lzv5pj0leOum9w2+kIn0413sITzv4hJseFyGeHAqU+URUBRIzoOJx6lN81GsP1KiUB/GnJ aTxo4q5w/lHmTJ7PPI3qaJJ3Z59kW0Jh3gMOlwfadTztMm7L+CMxNI/sdTmFmcoPkkxZ7/ XP6ll2FE1JcKjhcm3MESnlUgqtR/wmoxPG2edQBYLTqXF/2msk/kTGTQ5lKlqpFR79+ut7 NFzt9ayIu5UWUvF7OU2hMCJKS2bLzfl1apHM9buTAEXrfkzymlXS5f5mDL46dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414195; 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=HFShOQVs47R1/W1Mn/E4GPkf1OcaAND2DtVx8NDQ1O0=; b=yYa+QbWExvnULqeNBBZx3FtuQ54NA2GGJ/9lKfnbL+IqxZpL1Dn59hyWqnGdEznJnVEwU2 rn5MN9JFTD44AcIqNDuCbDW0owwWg8lsWSafqb6f4BDDAhUwJl6Y07SSIkLKDJGivXg3En ake5a4C0xXd0fT8rHB/HTYlTohI6ztwFlN7F9RIIae/Q9o3BfsU1X+kGF0p/eQzGRGs+ld ryrdYslZZsNfVTgrCeI7G7u99Miqk7NHYW1leheLaqQ8thBXBtVo7hJ4H5OwfmbXZtHUht gm63jckrPOsG+EwqfQ5QBU10xFIpWOx9Sk5RvwhVhwlSvU4/TnUK4rprTNuJIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768414195; a=rsa-sha256; cv=none; b=SjECzvuxGWXODEtVdar865YmWTVpiRlck19R7ZILL4KKU7VJo0fqcxlykv30PmzchUbXwO EoHQ1OIEhJq8qB0UEnSonOCYyYN8i5BCp1QSv7fe5EQZFW7PDWj5atUSqjcC7cxcLDQ4mX sUTL50f8d7IGg5P9talHyrKtRArEUYQYRTEKY6A8QX10WWqkSzmrDNEqTZD0slL5eGi0i3 hypQvG7FiCl7n+UMuNMsjVwKSeQK3Xe2zSGFUdbBIQBWw6vamDZ6Gqi1movWtIqSbCHsBR 6fJAwlqd8XSqA2wsXRJmpL5AZvdousgEfNB40jJIdcthHM6grltUNmvVG7Yjuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drvKH0DzDz17N4 for ; Wed, 14 Jan 2026 18:09:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38982 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 18:09:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4162a419a475 - main - modules: factor out LinuxKPI based wireless drivers and add RISC-V List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4162a419a475089c8a3d2350de40c58b023e9288 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 18:09:55 +0000 Message-Id: <6967dbf3.38982.2454b760@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4162a419a475089c8a3d2350de40c58b023e9288 commit 4162a419a475089c8a3d2350de40c58b023e9288 Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 21:05:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-14 18:08:39 +0000 modules: factor out LinuxKPI based wireless drivers and add RISC-V The LinuxKPI based wireless drivers are currently limited to amd64 and arm64 (and until cleaned up i386). Adding RISC-V now as we have a report that iwlwifi(4) works on RISC-V [1]. Factor the LinuxKPI based wireless drivers out into their own block. Given RISC-V has no ACPI support yet (though we fixed #includes in order to keep compiling the drivers without further modifications where possible) we need to take care of rtw89 which fails to compile without ACPI enabled. A quick check at the Linux build files indicates that the depenency is not correctly recorded there either. Disable compiling rtw89 without ACPI (on RISC-V) for the moment until this is fixed. [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54693 --- sys/modules/Makefile | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index cce5f14ce20d..538cd7a1f37d 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -551,6 +551,17 @@ SUBDIR+= linux64 SUBDIR+= linux_common .endif +# LinuxKPI based wireless drivers. +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "riscv" +_iwlwifi= iwlwifi +_rtw88= rtw88 +# rtw89 currently cannot be compiled without ACPI (seems also broken in Linux). +.if ${KERN_OPTS:MDEV_ACPI} +_rtw89= rtw89 +.endif +.endif + .if ${MACHINE_CPUARCH} != "arm" .if ${MK_OFED} != "no" || defined(ALL_MODULES) _ibcore= ibcore @@ -583,9 +594,6 @@ _acpi= acpi _ena= ena _gve= gve _igc= igc -_iwlwifi= iwlwifi -_rtw88= rtw88 -_rtw89= rtw89 _vmware= vmware .endif From nobody Wed Jan 14 18:09:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvKJ5nF4z6Nkb8 for ; Wed, 14 Jan 2026 18:09: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvKJ1Y2zz3bNZ for ; Wed, 14 Jan 2026 18:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414196; 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=ZIJE1X9UgB+aD/tpv3cS8JJiEqpsVCOYIri+deW6YQE=; b=JiShVtPkZcRNMquAt/5qfgYio8Om2BaBsPLSvwzw6zjZjK0h0SSFxE2Yy9lsWN7iDr1bFT MuEPIMnxSlW1tQhwUIpI6RHuEwEfcJBh2Atfa4XO6qk+/tv7KpB+vAXyrYnULwfxJgs/Rx Jj4gKT1BihhJahIfDiUJL16mA4azyvxCjuEiaecmqnCDmV9VGwXiqcCMV/H2d8iMzHCKHn VJuKOP++V+TVvPUpjMuGdRfSRzxRMl2pUmO1M9SGJwf4cZO37nk7y6eORWU4EVCH/kKzIp u/GRcidY9PaAaAkDptUW4ue/b/SuQqZ9iAHtkKQZF0mrDVqzc26WPzCYRz7GQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768414196; 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=ZIJE1X9UgB+aD/tpv3cS8JJiEqpsVCOYIri+deW6YQE=; b=iY0DyndaY8b3LLHT5dQ3tntRD9ndMYmW6ayrS1Yd849eyjXRHVtA0XIynd1v6XlpZKWlPw ymlghMhVsW5QtF51iciMshIc9td1lWqVE5ycYiFwSatP2cPPvyotwjljA7UUtGmY4QrWoD Z+tizgnjzj33mAP9ngZQQvZb7S5Nvvt10Vy491Qb45BXasFDhy2AyxloQY3InO7trhrPrK xYu/5rsM5rx76QpVFApsNDkYxwtsijuzhc0JEkc3bOQscD0jPlhuDETSbm+SM8elDriZCk YIbCqJCyjip8MwGrQeIgMICge8f+L0L7n83hMpM54fmbRvhjQS5JQATd6iVwkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768414196; a=rsa-sha256; cv=none; b=ua6Nxc0IV66YpW00fbGQnoXCzcQfazHGU/vqYNg4w5O6avUCHbVXXKSACzbUMFss3TCc0l QCP3/UQU8KnlvcrA8aFwHX3j6kf8QUN5XMq4eIU4R25wo4wZu+iLIDapCzKBxF1sEl5EQe tDD24Z3pRskbIfLp+6NsIBM9dbnyvmQoCVv//hNA45/kUCXWle7R8QqYhiFq2zZUGDc5cp CH5IcssKRncc4x1EHCDu+3EbsTkunJhbPvY48fL6NSDXT5k+ZNXg7ey6JELztJPbAtHwQF 1G2uAbpoKnAT56ca+/Z/vqOpMH80bHWpkxas+TXvFgY1kqWX9q2GrPiA8pkf4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drvKJ13V8z17L7 for ; Wed, 14 Jan 2026 18:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33e72 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 18:09:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: f5a77dc8f8df - main - iwlwifi/rtw89: improve module Makefile dependency on ACPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5a77dc8f8df09a907c2a2bdf86802513b1ebb15 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 18:09:56 +0000 Message-Id: <6967dbf4.33e72.190cd6a3@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f5a77dc8f8df09a907c2a2bdf86802513b1ebb15 commit f5a77dc8f8df09a907c2a2bdf86802513b1ebb15 Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 21:09:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-14 18:08:39 +0000 iwlwifi/rtw89: improve module Makefile dependency on ACPI In order to compile iwlwifi(4) and rtw89(4) on RISC-V [1] make the currently manually tracked ACPI support option automatic based on DEV_ACPI. rtw89(4) is missing proper CONFIG_ACPI checks in the driver (or the mandatory dependency on ACPI) even upstream it seems. We just added that check to the modules/Makefile until this is fixed. [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless Sponosred by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54694 --- sys/modules/iwlwifi/Makefile | 7 +++++-- sys/modules/rtw89/Makefile | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index 6fe64a611900..39b4a48497b4 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -4,7 +4,9 @@ DEVIWLWIFIDIR= ${SRCTOP}/sys/contrib/dev/iwlwifi WITH_CONFIG_PM= 0 WITH_DEBUGFS= 0 +.if ${KERN_OPTS:MDEV_ACPI} WITH_CONFIG_ACPI= 1 +.endif KMOD= if_iwlwifi @@ -60,10 +62,11 @@ CFLAGS+= -DCONFIG_PM_SLEEP .endif .if defined(WITH_CONFIG_ACPI) && ${WITH_CONFIG_ACPI} > 0 -SRCS+= fw/acpi.c +SRCS.DEV_ACPI+= fw/acpi.c CFLAGS+= -DCONFIG_ACPI -CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI .endif +# This needs to always stay on for the LinuxKPI header file. +CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI # Other SRCS+= ${LINUXKPI_GENSRCS} diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index 1307abf3d9b4..98174fff2a1b 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -4,13 +4,16 @@ DEVRTW89DIR= ${SRCTOP}/sys/contrib/dev/rtw89 WITH_CONFIG_PM= 0 WITH_DEBUGFS= 0 +.if ${KERN_OPTS:MDEV_ACPI} +WITH_CONFIG_ACPI= 1 +.endif KMOD= if_rtw89 SRCS= core.c SRCS+= pci.c pci_be.c SRCS+= chan.c mac80211.c mac.c mac_be.c phy.c phy_be.c fw.c -SRCS+= acpi.c cam.c efuse.c efuse_be.c regd.c sar.c coex.c ps.c ser.c +SRCS+= cam.c efuse.c efuse_be.c regd.c sar.c coex.c ps.c ser.c SRCS+= util.c SRCS+= rtw8852a.c rtw8852a_rfk.c rtw8852a_rfk_table.c rtw8852a_table.c SRCS+= rtw8852ae.c @@ -26,6 +29,13 @@ SRCS+= rtw8852bte.c SRCS+= rtw8922a.c rtw8922a_rfk.c SRCS+= rtw8922ae.c +.if defined(WITH_CONFIG_ACPI) && ${WITH_CONFIG_ACPI} > 0 +SRCS.DEV_ACPI+= acpi.c +CFLAGS+= -DCONFIG_ACPI +.endif +# This needs to always stay on for the LinuxKPI header file. +CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI + # USB parts #SRCS+= rtw8851bu.c rtw8852bu.c #SRCS+= usb.c @@ -44,7 +54,6 @@ SRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h CFLAGS+= -DKBUILD_MODNAME='"rtw89"' CFLAGS+= -DLINUXKPI_VERSION=61700 -CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI CFLAGS+= -I${DEVRTW89DIR} CFLAGS+= ${LINUXKPI_INCLUDES} From nobody Wed Jan 14 18:12:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvN11ZtZz6NkcD for ; Wed, 14 Jan 2026 18:12:17 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvMz1HYkz3cxw for ; Wed, 14 Jan 2026 18:12:15 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.160.49 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-3e8f418e051so41774fac.3 for ; Wed, 14 Jan 2026 10:12:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768414334; x=1769019134; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=i3UNkrrEUK1yLegqRjuZ29NT0MoT4lvP0MK6CzWPEE8=; b=ebrsnLgAQuFOFylB52WwC3WhfvZRZlQaQ9rZKembp5uHevwTdumcxDNw/roZVOe6bl afNZc7w7dyuAMzRWhDhXmmTRlnwxiN29baEIX2iRMDKoUDnyYbv6J2peZfkYfiAYhE53 PNJJxQTyGhf5Rqp7WDOysvEAYTtTvzwRkeD/ZBzOsq5zmPm7gqji13UvesoVmR/GhSiF cbMw8gLrmYJF4t7/piS2BQLXPfWzmdbLDXYHwiUvSozrmvUiVb4scZavcK3C53A1cSQc nQplnwBPRFtFXeAn7We74kJKGPAbs+DVnz0mRJy9kpseynq8YxTsQ3BVbAKc6janMjxl 8gKQ== X-Forwarded-Encrypted: i=1; AJvYcCUruiOGvZ2FXds2mP8Zb5Dzdz5SpaZxVlx23HuutnUz1P9IAUvWjwDLJB/ItvIzkoL8sSZM5iliyCCQ9h9sN0JJa6k8UQ==@freebsd.org X-Gm-Message-State: AOJu0YwsEiO/+MDCvSNcRuRGGyJ6tk86JZplSlJui9Ll9feP+E5K3bwc AchRXI6z+JP0B03uAsqnvLEKAFqBlJlYJb3plQ0tmowp0h5zrOTejJrrKPYU+cB4lgGjlo0duwr /LBCTwvBu0+0tLWLKBRYsZCc9GqCy1Es= X-Gm-Gg: AY/fxX4V9tMObapsH736k4LvDyhIQsw1H6cR0qdvRy6npvR1c5hjKXzFX/RHGIx7P+n El+CiI7ahPW5nq55ylYo0yEKJcWXV/1PRlpP7HBGB562KjBNroDdDVw9SGme6Lx3/6GDyNO/1/Q SAtJPHO4Ruvd1K/SVbNhh3j36fE8Jl7ZjLLKuOfsRjdAD/uozk9QRFp1ElcoyKVHRZ0QRcwlhv5 PqaJnNz0CcQ2Osh2clLynuDV6O3GU8qV57ZeQY/HOwailMwNRi3liaeAoXCPuPGb5JEa720paa+ geoAjyB5ALOW7fW/0llfVxn34/lmZX7+Q5r74q8iQb+x8uCC+OYNbBRgfRzTGg== X-Received: by 2002:a05:6820:16a3:b0:65f:674e:f1ca with SMTP id 006d021491bc7-66102b3c7d5mr2274890eaf.35.1768414333890; Wed, 14 Jan 2026 10:12:13 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> In-Reply-To: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> From: Ed Maste Date: Wed, 14 Jan 2026 13:12:02 -0500 X-Gm-Features: AZwV_Qi9z7zyqtvGrc6iO-Ez574i0HXD5uZq5jmTJ5V9sVVIn8kcabAKfcjTt0k Message-ID: Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests To: Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.32 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-0.75)[-0.753]; NEURAL_HAM_SHORT(-0.57)[-0.565]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; RWL_MAILSPIKE_GOOD(-0.10)[209.85.160.49:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MIME_TRACE(0.00)[0:+]; FREEFALL_USER(0.00)[carpeddiem]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TO_DN_SOME(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.160.49:from]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4drvMz1HYkz3cxw On Mon, 12 Jan 2026 at 02:37, Warner Losh wrote: > > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7f8b4db9e001d94974a081e5fd58c4f3994429cb > > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb > Author: Warner Losh > AuthorDate: 2026-01-10 16:20:20 +0000 > Commit: Warner Losh > CommitDate: 2026-01-12 07:18:11 +0000 > > github: Add more context to pull requests > > Add code to fetch and decode CODEOWNERS and automatically @ people in > the review. Does this not just duplicate existing GitHub functionality; it should be automatically assigning reviewers to a pull request based on CODEOWNERS AFAICT. From nobody Wed Jan 14 18:16:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvTY6v93z6NlDX for ; Wed, 14 Jan 2026 18:17:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvTY27Zkz3dZf for ; Wed, 14 Jan 2026 18:17:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-81f4e136481so29906b3a.3 for ; Wed, 14 Jan 2026 10:17:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768414623; x=1769019423; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HI6noAw+83XBhigxNOUhWSSw11WlrG0Y3TU2vUhj4cE=; b=3QYRa56x5Bx8cZ/zlwqQdGRWTi/9qsnp5vhKLxooLRGulEJrej+iauhjkGsKQvA/hX TTH0H99eVIS+SwYU+WbU8KwqLxfEiMKAtiiqAcpQZ/HzRAJCmEKJtFiPBsK0j4SeYqaU 14niooY+yYXWelV5CdwVgS3TTKq3ZHKixaS+l7ZlxOWg+gZbH/93ISgeN5UfVuUCheqi Gu+SaFP1LSwBfAKnu+F/4kUjhhqkK0INny3lNJsJPwL5juK38+JkrOlO6UvfHc22RvRd S/3WTAb1Ng7evf7vYgDY7DhdQq8XslYuzhVVWXYh1JXS0s4zeraYtRPQUa5hgHts33Bd BK/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768414623; x=1769019423; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HI6noAw+83XBhigxNOUhWSSw11WlrG0Y3TU2vUhj4cE=; b=CVpJzG9uD2jnbT1HJuqZxH2ZlELGaNydm5hAA96nXqZaAjO6bx4P1fuxiNgJlvbUKb onvEtcIelMcaAB8IjP/E5u+l0i3Hhg2AgcW2sxRui/o4UsCTxAt9I9qyco84KkSwmVPx hpLW0JFHf7GTu3WqcN5JJVoSQv0X1Oeu7wUGjEMGm9ggHTQPLbsrnWpwC690ru0hT60u b6UwbeUVqa+5Num4Zf3PX1LckU2mcO+Fuld2H7ohVf1BN7umXP3iGXWApBkPty/9ZlbC XPHWe7P+6MRyLMdv/JZ5dGy5qzV4XEknxFLQDvuAKfY5Fq8vgtnqjRl/MxrqpjLAb7EB 32VQ== X-Forwarded-Encrypted: i=1; AJvYcCWAsuEZPdVO/+4v4ZF/qmYqyj1h3W4Cth37emZwStP8KzFlO/ITeZt7q3fWow8rYcgd3CnDsHN0dcGMmea9tQLOYNF+CQ==@freebsd.org X-Gm-Message-State: AOJu0Yyc8R4AfvwIr7JCk8d9sUdAQa++6OW/lVseRR+9hNi+UKt4BveY nSTFs0OAyHAB/OBhZICndvg3JVTmOMhARZTvKsIY+Gk1bGT+D5WR2jjNkC9nEoL8qJeiwClVx2T QlIcVFLDvc6SuMcHNTpW//eQ+Pm9Fp7btgFvv94xHEg== X-Gm-Gg: AY/fxX67mUI8gZTaziNEd4WoIjowumyrOXJn2TBmXYo7qHshcSDzTpZtSJPZo+v7aGv caNHm5yTuTX9VU6zHiUFNpxJrdtPewT9bqd6S2ckqo/s9LGpjzOa5Rmcp3rtnwBhqY/QEIDIeGf j4ZMZlM+lUL9wL4wOMG00E/PotiV1VBbvjgu/gZg8gQN6I5YMO93UEq1eRZu583OqWob0g7vcy8 PFR/8O6zZN4M9QG0DQib9ny2z2GXrwLOk1InS0/AaQGGTLvFrYSxvaHZ4UL7JyHLbRfupo= X-Received: by 2002:a05:6300:210a:b0:364:783:8c0f with SMTP id adf61e73a8af0-38bed119aa8mr3778038637.33.1768414622579; Wed, 14 Jan 2026 10:17:02 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 14 Jan 2026 11:16:50 -0700 X-Gm-Features: AZwV_QgEmpaH-XPNA6H_TyOf46CU46eIHNACdMtTCsrX_qLoqewvnAzGIPIfJ5Q Message-ID: Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests To: Ed Maste Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000650de406485d1dd4" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drvTY27Zkz3dZf --000000000000650de406485d1dd4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jan 14, 2026 at 11:12=E2=80=AFAM Ed Maste wrot= e: > On Mon, 12 Jan 2026 at 02:37, Warner Losh wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f= 3994429cb > > > > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb > > Author: Warner Losh > > AuthorDate: 2026-01-10 16:20:20 +0000 > > Commit: Warner Losh > > CommitDate: 2026-01-12 07:18:11 +0000 > > > > github: Add more context to pull requests > > > > Add code to fetch and decode CODEOWNERS and automatically @ people = in > > the review. > > Does this not just duplicate existing GitHub functionality; it should > be automatically assigning reviewers to a pull request based on > CODEOWNERS AFAICT. > No. It's not doing that right now at all. That's why I added it. Maybe there's a simpler way, but it wasn't tagging people automatically. Warner --000000000000650de406485d1dd4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


--000000000000650de406485d1dd4-- From nobody Wed Jan 14 18:22:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvbV1LTzz6NlFj for ; Wed, 14 Jan 2026 18:22:14 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvbT6LSzz3fTF for ; Wed, 14 Jan 2026 18:22:13 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-432da746749so76637f8f.0 for ; Wed, 14 Jan 2026 10:22:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768414932; x=1769019732; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=O2jRSqnAD18GHytFV7Nej7fNu1i9lNsGjLqEkMB1lqc=; b=V4krb5n4dOOhO5eoDuE1uoTJeJgkEjqhxcL5GCOXK8fo7YBTYy4bt17+/AZ4E8eMHo Z/EL1yJK1GrOY7hclG05rQYRsCDO32Bkovo54BNo0u4cC2oscmBCuCNNWdKTI/5fvjev 6iOUPPYTCgfZnx4aeY1GuhrC6Vs0o+jH1DzcNbEmxuHNQpJfgZvy/1JMo53nmmRh0/Ic 5wabukDTz+AucraBZWTyUCaQZzAkzs7iOD6D6HQllJeJ6UITNGkxWrykwF2DcUbFGCoS v0YV6uskXI90oA4o8djah6iJxaOMD2BC8ruMfY8VqkBBmMHAv5yssUOzasB4VkWVHIOF RlGA== X-Forwarded-Encrypted: i=1; AJvYcCWrDj4RZIeAMzR1Zj3FgLiIJS/lem3e8cN2BwRwLZv6CxQ5mWyxQXMDMX9OtCEMFMuKT9LOOQKyuOyJKfdu068EXmVUog==@freebsd.org X-Gm-Message-State: AOJu0Yw69I+onwNblcKWIg/vzWpFvZIekbXgEjzNmyb/I52uc96jkKnV gm5NV+7KXPuq5s/h5duQdTTGUlhy5Qj9MLLiynR9VJJnPtgKC2sKEI4ismEn2HWjk+g= X-Gm-Gg: AY/fxX6Dcu3+MRTwTUwJw91TSJJFU9aekctOHpwm9pvGzodpUNQD7inWQr8iTThPIp/ YWN4waM6Am0QtzDHZ7ox1H27UQpTYs7CnaI7gCwEShoigkhf0V5PKiA19cyRttQDq6s5SvZPKlw YvVwoXS0xkGadUuYATPF+G9TMbiLawDTWE3l70CunIRc/6YZNyDAim23uU0xnvrC4xX0pAXdaFa WMRAemz+yAVaBTxdt8+/3kQNVocOtGp1WiyzDTqHX4HKMJkbquEWUtyl+RCZBtosg3CFe2BCCLL MjaJ8wtMFfHq7zNYh9EgzPTPiNJZ6VEcGeQHru7fZ1mMhDCK54gIZRa33pchIblDxIN+rAKGkTs Bcn6A4XVTpBzNvrWWtphoBoiOJsv3Bs/6geEE8O/vJJ7bURwMDb4GPMYx8si34tzBmY7Yro/Sa1 H1tMRqLfIxWnaO21TUjcIGpCXufxA6TicQgLqnG+VkxGykq4JVeOsu X-Received: by 2002:a05:6000:1446:b0:42f:bb08:d1ef with SMTP id ffacd0b85a97d-4342c500041mr4316569f8f.17.1768414932338; Wed, 14 Jan 2026 10:22:12 -0800 (PST) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-434af6e1043sm687305f8f.36.2026.01.14.10.22.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Jan 2026 10:22:11 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.300.41.1.7\)) Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests From: Jessica Clarke In-Reply-To: Date: Wed, 14 Jan 2026 18:22:01 +0000 Cc: Ed Maste , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3864.300.41.1.7) X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drvbT6LSzz3fTF On 14 Jan 2026, at 18:16, Warner Losh wrote: > On Wed, Jan 14, 2026 at 11:12=E2=80=AFAM Ed Maste = wrote: >> On Mon, 12 Jan 2026 at 02:37, Warner Losh wrote: >> > >> > The branch main has been updated by imp: >> > >> > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f3= 994429cb >> > >> > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb >> > Author: Warner Losh >> > AuthorDate: 2026-01-10 16:20:20 +0000 >> > Commit: Warner Losh >> > CommitDate: 2026-01-12 07:18:11 +0000 >> > >> > github: Add more context to pull requests >> > >> > Add code to fetch and decode CODEOWNERS and automatically @ = people in >> > the review. >>=20 >> Does this not just duplicate existing GitHub functionality; it should >> be automatically assigning reviewers to a pull request based on >> CODEOWNERS AFAICT. >=20 > No. It's not doing that right now at all. That's why I added it. Maybe = there's a simpler way, but it wasn't tagging people automatically. Only users with write permission for the GitHub repo work. Jessica From nobody Wed Jan 14 18:37:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drvws2NYRz6NmBN for ; Wed, 14 Jan 2026 18:37: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drvws057Vz3hfx for ; Wed, 14 Jan 2026 18:37:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768415837; 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=Nlc/prc3y02hu4//3Pziy8J0514RU+KDUHLQQ94Lw5E=; b=CWY620kbg4nOZxJDm6EAFFP3dAIndKYwnLJW6HnvU1ElrTVfHttEyO3B4V3eP/buPhIUQF GByc66HCjzDIixNK4kIrfOfBHCflEfnwA0Z6WMXqttfAHbFilyX16XdaSOxoqMFMM1fZHI PT2zvDoyfCGZZRPzMlBzkL2gkgXW3kbsr96+8mbPHWwgaRrD8BhXeUSl1Pr69WezEHmLrq rZktQSam3QwZsev3IgjIXRT7YoQTWZ54ZIDTVSrxG2Se5HSZRw713PEh/lHL7Ti4di1oMy 2xAWZ6l7XTzhbl4Inyw6MIxWsnGDqJb2tU9OSlxz2+Wv6ZzxJ0tIDoz8sbJ5Tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768415837; 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=Nlc/prc3y02hu4//3Pziy8J0514RU+KDUHLQQ94Lw5E=; b=KQL30/fES7Nd7be/9uOm0jIvsC42UgBS0y4gUsVpe2e/A9XhvLVtdOoLKC05AMRp3G2zaW 2LFMOEl4FklwepO82tfYva6Xt9HPJq6/+vxjMSBNg8ZcVIsR27QFk31GiklOGLEOTt6Amu reMdUmnsuqVmL/0E2+8CyXVpKXh01dbe8BO+0fibmogg9Hw40Dez6S1sykjsVF/dMW3rmH tquh10Hce0fHYDz0kM+gVlHQtchx0m/hrqmL/7MuXLh792ukSj3fyqoVrAFy1qzamY1HfW C8rauH/UMLGQdQUiSRz8YSIwRC+5AObc42Gz+MgodLGLDQs8W+YlxWUxTcyB5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768415837; a=rsa-sha256; cv=none; b=HPzHRLfZe5Pe7VSB5IEzWtZLrekXzHpfb8n4lemkZZLPboQ2kkXA+7ilqyq5dgbHCqKu6X xUo27oSbk2Tl3WJIEp2xPZZKCuUTlMEv7mO3/ndoFUnb6c6vL1e/h+FHwntz4waTCt8PzY 5FHCSwD8nm1/N/r9u4v0JEeMwddfcbmKQQAgP7KGjpp/uH2CGhznyp81RpXFpariWD8FAW TJvwIS9TNwLJmZ1T83YxA18+3NX8ZmC6UTa2MSJMw19ywuYHRg/rbREQ/cb05QTT/2Qxwg Q9h6zsZYS6A59hvY+B3rRuwyaDdOqxwdVjiuWXnT/ilBVb9ZgXF7TXTH7wFEwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drvwr5t30z18WX for ; Wed, 14 Jan 2026 18:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a2de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 18:37:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: fa24602ca628 - main - LinuxKPI: pci: fix pcie_get_speed_cap() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa24602ca6282d71c26079136a74b85824c0e63b Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 18:37:16 +0000 Message-Id: <6967e25c.3a2de.76567693@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fa24602ca6282d71c26079136a74b85824c0e63b commit fa24602ca6282d71c26079136a74b85824c0e63b Author: Bjoern A. Zeeb AuthorDate: 2025-09-17 23:37:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-14 18:36:09 +0000 LinuxKPI: pci: fix pcie_get_speed_cap() pcie_get_speed_cap() has a hard coded skip of 3 devices at the beginning. It is either called on a pdev or on a result from pci_upstream_bridge(). In the latter case skipping another three devices might get us to acpi0 or nexus, neither of which is a PCI device still and pci_get_vendor() will panic() on that. Sponsored by: The FreeBSD Foundation (commit) GHI: https://github.com/freebsd/drm-kmod/issues/393 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D53862 --- sys/compat/linuxkpi/common/include/linux/pci.h | 27 +++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 8fe09554aed2..c337be67f5a4 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1136,19 +1136,28 @@ pci_num_vf(struct pci_dev *dev) static inline enum pci_bus_speed pcie_get_speed_cap(struct pci_dev *dev) { + struct pci_dev *pbus; device_t root; uint32_t lnkcap, lnkcap2; int error, pos; - root = device_get_parent(dev->dev.bsddev); - if (root == NULL) - return (PCI_SPEED_UNKNOWN); - root = device_get_parent(root); - if (root == NULL) - return (PCI_SPEED_UNKNOWN); - root = device_get_parent(root); - if (root == NULL) - return (PCI_SPEED_UNKNOWN); + /* + * We should always be called on a PCI device. + * The only current consumer I could find was amdgpu which either + * calls us directly on a pdev(drmn?) or with the result of + * pci_upstream_bridge(). + * + * Treat "drmn" as special again as it is not a PCI device. + */ + if (dev->pdrv != NULL && dev->pdrv->isdrm) { + pbus = pci_upstream_bridge(dev); + if (pbus == NULL) + return (PCI_SPEED_UNKNOWN); + } else + pbus = dev; + + /* "root" may be misleading as it may not be that. */ + root = pbus->dev.bsddev; if (pci_get_vendor(root) == PCI_VENDOR_ID_VIA || pci_get_vendor(root) == PCI_VENDOR_ID_SERVERWORKS) From nobody Wed Jan 14 18:51:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drwFM1x2Hz6Nmyg for ; Wed, 14 Jan 2026 18:51: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drwFM0y2cz3kqD for ; Wed, 14 Jan 2026 18:51:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768416695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9KnDcAdM1iKQ0QYOS9+eNDSQmXd9/zcWwDN+iAE49Kw=; b=Gg/2pHGqZbpouIDBThj3Oo9MDq4dr8KyIpunB6cMeAr1ZXJ1Fg2gP3vzuCsCeZicB3LfYB vMbA80zFBDTiAy2o3MBYH1KsnhMoUw7wJ8BfOromOsUqDcJ34RS5xSXfaKKeNfaAJn+Ye3 QauX7NLLlB51QWlT1q4u9qxLzd9JEx2rhpGDmCRtSpiJYXc0hOqYeLr2Ceay/0s4U+J7GD 2f9H8JU04BZQme7z7kt+WhoirU3s45CAD/6JdehaK6o9vOgcf5EH2wJ5T/8FbHNmujimQ2 fy7WA+oGQPRv/hk/g0bo+fCpJ6J/MZZFvVJrr5Lt8faZSfkhjlDtWGk29tdvBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768416695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9KnDcAdM1iKQ0QYOS9+eNDSQmXd9/zcWwDN+iAE49Kw=; b=Cct5tvMr3bIQ6C88WIaDr4VfVIhLDt2H7hItWNEWuwQRmaY1iP7x1g/uFNP1aIfbLHSML/ qrdyVy7Md07vNEy1m0d8aAAX9UhAgEG1gOkNFrJayMkNNabEwVeg5NCMlyZKUfqBD1NCYI dR5SWiIjiea36KmTb6vNbCH1j3g0XfZwGz8OS9QUuXwWLNHVLUqzJCZCNl2nRHrx5Didy4 TnqirXe2F3/me3lfqU7EqqPZAzUaRTDpZreaQSllVFZXwZLfLZS7jysHvA1mzYEdjqNcNo oOPmf95rLuTBUXZ31is3qWkyVx5ohM3JwTmM4iQdIE9c6N9c5kCdrDjQILaMfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768416695; a=rsa-sha256; cv=none; b=QK6Xt68DEL8fEbRTminZntij4pCG8ytsk38ovkrmhHhYayM75htkagf9vHjcBHtdaEU9IF KZGE6deJ1bYfAwIH7wiszgYl4K3vPJK5gASbiwZvju6/xhlf0iSelqdJK8klAOctIzDGhT DcEIvdD7IxhaIjuy1MYy546pn4eYxbiwdRJLlwc0YqSwlrWS9kRzrjaUygR6G4HEJ8PJ38 DuwH7UKwTl/Z1lIdMsBhShum/mGHrYL4W38dG2KefELbMDbKirTUjsITArsusDQ/baBF4e 1RzkTZVVa7BhO3RBj/qnIM4NHwnqrGEAxO64ZKw7LLtMPguznq+NS4qzCrWDrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drwFM0WDJz18nd for ; Wed, 14 Jan 2026 18:51:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c82f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 18:51:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Yichen Chai From: Bjoern A. Zeeb Subject: git: 75556c7e999e - main - net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75556c7e999e9095ce71558ae61f49c1ba61a192 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 18:51:35 +0000 Message-Id: <6967e5b7.3c82f.4cc56353@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=75556c7e999e9095ce71558ae61f49c1ba61a192 commit 75556c7e999e9095ce71558ae61f49c1ba61a192 Author: Yichen Chai AuthorDate: 2026-01-14 18:44:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-14 18:51:11 +0000 net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate Fix the arguments to the debug statement. (slightly adjusted from the original submission by bz) PR: 286448 MFC after: 3 days --- sys/net80211/ieee80211_proto.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 4918bf7d025f..ba09cd015a57 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -747,8 +747,8 @@ ieee80211_fix_rate(struct ieee80211_node *ni, ((flags & (IEEE80211_F_DOFRATE|IEEE80211_F_DOFMCS)) && fixedrate != ucastrate)) { IEEE80211_NOTE(vap, IEEE80211_MSG_XRATE | IEEE80211_MSG_11N, ni, - "%s: flags 0x%x okrate %d error %d fixedrate 0x%x " - "ucastrate %x\n", __func__, fixedrate, ucastrate, flags); + "%s: flags 0x%x okrate %d error %d fixedrate 0x%x ucastrate 0x%x\n", + __func__, flags, okrate, error, fixedrate, ucastrate); return badrate | IEEE80211_RATE_BASIC; } else return IEEE80211_RV(okrate); From nobody Wed Jan 14 18:57:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drwN852VLz6Nmqw for ; Wed, 14 Jan 2026 18:57:28 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drwN82zC5z3lVJ for ; Wed, 14 Jan 2026 18:57:28 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-29f30233d8aso1426735ad.0 for ; Wed, 14 Jan 2026 10:57:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1768417042; x=1769021842; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kRKShWhmcvpHniF1+htToVc17kb0poVpwpbgOLp3AhM=; b=HqUb2WqhCyhKU6ZmUSNLWSzgHZx7dT+/QWuMbgzMEhTksfe73EaffSvzBImWoYCab5 GpVukS5FCHevWQrA5J6oSYtfM6Eqx1YK4gKr8wGnuJLbZ6KfLQe7+TKBZVD+MOnxeYgG ovOPf+EMv2AmInQg1BXUAeKvHf2m2tL5xI0a5BpDp5Oquzci1ca8mmT7rGwY5iSo1TOV 6gY/zcSJPiZDGsWFhxX+d5KQWI6mhbXCvmTOB+3Eq6g5pppYeX0Cc7rbgF3KE83XUfTg ewKY1W4prjLUVPkUahlysfwtfEIXmzZTbmWPxDTUv+/NCTtS7bz+wtQc3+t4ChdNbitR cGFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768417042; x=1769021842; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kRKShWhmcvpHniF1+htToVc17kb0poVpwpbgOLp3AhM=; b=cgIpjAzrsP4QCh9v7cE8NDCBktnsHHRVItylT/YRGDMLuJ5b/a1dA1leEUBasctEX9 W5QnY1A4yhBrirakMnRhYOzMrcAC7PQiSteH1376kU79ZzV8HrlfGO/s4eU9V74FhoOm jZCVdQXSYAPj7ybrQdtR7Bw64ox/TFd62Ivf4bCvbiI2r45+gfHjg0KvoD/eVaskNnVa QMkgQnATYyEC9PtsQ0aOfluBjQBOpGxrtww8Vx3CGyVLzR2vU/dOoTqQjUmoAVj1mS1q kxvDYGm9QEGTtpAVj7UUyxCbhocbIWXtpOYPhNLZi7BGFHn3+JOeGu3UYt2Y/bKEJmiB 8l2g== X-Forwarded-Encrypted: i=1; AJvYcCVXM3qQNTKE8eKpZHS8rrmAtj0JrmKMYo5kelKXP5UEYnmRVb4Qzh7xETdHKI9RGAkf/+g3dy6HtMIu32qrEtgnIKbALQ==@freebsd.org X-Gm-Message-State: AOJu0YxyvD3Z4nK4PlTKf2oSvLBB8yM5+jypWPlv9rQuGvaScNmDIAcI I/DBMVLnBR51NcJlMn6CdGdjHvK/sSpRSavvgczFNjYq9lJjIOTSRCcHBxmIfqqJqSgoslUOm2h 3r6mSTdko+REea06Fb7LuE6RX6xeAlQyUWem0SkSHMQ== X-Gm-Gg: AY/fxX7WcRbgHE6HKXbjc+7wm+rOJfRdHgDu+2u+azhmQbQvC9GM5H3Anz0bRyNtnMI kn+SUIa3WdqS68/ZyyxQkJKJ32GOscZB00wp9gi4qGdOFX0fVqWdAxoKv5psdjgnQHWY8C9U2WO RTkqunIpmRF3/rzE5/z0z5T0uMIZ0sfiXI6+Gm1uMl8ZQpbtecdPJh33hHYMN/0iCH6vgfW6y1G hKv2UHlCC896wyPB4FB+p/Yg/yLHCfC6bYpdldZU2HR6QS8ZkabQcZEGmgSrKZ5wOW10SiNbYAB Gh61BQ== X-Received: by 2002:a17:902:cec7:b0:2a0:c1e4:e25 with SMTP id d9443c01a7336-2a599e55f40mr39540945ad.54.1768417042234; Wed, 14 Jan 2026 10:57:22 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 14 Jan 2026 11:57:10 -0700 X-Gm-Features: AZwV_Qj_S51Nj3-urxisfPhgmuURaQMZkuEq7008GLgRqnLzCA78N_tgeLzBGAg Message-ID: Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests To: Jessica Clarke Cc: Ed Maste , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000009e0e2906485dada9" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drwN82zC5z3lVJ --0000000000009e0e2906485dada9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jan 14, 2026 at 11:22=E2=80=AFAM Jessica Clarke wrote: > On 14 Jan 2026, at 18:16, Warner Losh wrote: > > On Wed, Jan 14, 2026 at 11:12=E2=80=AFAM Ed Maste = wrote: > >> On Mon, 12 Jan 2026 at 02:37, Warner Losh wrote: > >> > > >> > The branch main has been updated by imp: > >> > > >> > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f= 3994429cb > >> > > >> > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb > >> > Author: Warner Losh > >> > AuthorDate: 2026-01-10 16:20:20 +0000 > >> > Commit: Warner Losh > >> > CommitDate: 2026-01-12 07:18:11 +0000 > >> > > >> > github: Add more context to pull requests > >> > > >> > Add code to fetch and decode CODEOWNERS and automatically @ > people in > >> > the review. > >> > >> Does this not just duplicate existing GitHub functionality; it should > >> be automatically assigning reviewers to a pull request based on > >> CODEOWNERS AFAICT. > > > > No. It's not doing that right now at all. That's why I added it. Maybe > there's a simpler way, but it wasn't tagging people automatically. > > Only users with write permission for the GitHub repo work. > What I've done? Or CODEOWNERS? It works for me, but I'm extra special in github land. Warner --0000000000009e0e2906485dada9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On 14 Jan 2026, at 18:16, Warner Losh <imp@bsdimp.com> wrote:<= br> > On Wed, Jan 14, 2026 at 11:12=E2=80=AFAM Ed Maste <emaste@freebsd.org> wrote: >> On Mon, 12 Jan 2026 at 02:37, Warner Losh <imp@freebsd.org> wrote:
>> >
>> > The branch main has been updated by imp:
>> >
>> > URL: https://cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f3= 994429cb
>> >
>> > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb
>> > Author:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>= ;
>> > AuthorDate: 2026-01-10 16:20:20 +0000
>> > Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>= ;
>> > CommitDate: 2026-01-12 07:18:11 +0000
>> >
>> >=C2=A0 =C2=A0 =C2=A0github: Add more context to pull requests<= br> >> >
>> >=C2=A0 =C2=A0 =C2=A0Add code to fetch and decode CODEOWNERS an= d automatically @ people in
>> >=C2=A0 =C2=A0 =C2=A0the review.
>>
>> Does this not just duplicate existing GitHub functionality; it sho= uld
>> be automatically assigning reviewers to a pull request based on >> CODEOWNERS AFAICT.
>
> No. It's not doing that right now at all. That's why I added i= t. Maybe there's a simpler way, but it wasn't tagging people automa= tically.

Only users with write permission for the GitHub repo work.
=

What I've done? Or CODEOWNERS? It works for me, but= I'm extra special in github land.

Warner=C2= =A0
--0000000000009e0e2906485dada9-- From nobody Wed Jan 14 19:28:29 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drx3z229gz6Npdx; Wed, 14 Jan 2026 19:28:31 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drx3z16TWz3r9J; Wed, 14 Jan 2026 19:28:31 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768418911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bSJBI73kKB8sJnvGO65R1VkGt4TiIKeiw8R1FYgoDLk=; b=hYaPulhY2SxHeX7z2HI3Oquc4pHBuCibvAX43iCbtEoupHPy/WujAFStvPiHBJLTezA1j0 kIYAkTdb5OJLztJVU89fWv2f9nC6kf9ScGvwUjMKwEd6BBKNkd/xu16Z/M6eOAvNoLZCgz 2bj43ZcCR8M1zsyeEOo2UOkXDWsILgFiN5x6Z2zDyQAQ/Vs5KAVLhyCtTvG/O0eFoh8V6Z jeoZ00/HB6bwX/iLdjbgaUDIqBN93Vo4h1TlZ6y/uR+hHWhfEwqP7LyYfoHPwELXjCYFT3 3WWqTn+MigQ8Wmkh9VeBy436cAod3P4VMjGY5yx/rD5r2NDw8nTNpE9BDbh1Bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768418911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bSJBI73kKB8sJnvGO65R1VkGt4TiIKeiw8R1FYgoDLk=; b=mKZC26glEo3r/l2IJbiNezOZ1Ht7isdhvDL71+RL12EMihPmNyA1eX3lYqjkpSbgObJE/5 0iHi32eaV3pWfl9HMdaE+Lmt7wFdBKHN0lWXP2dfgVsliAfqA4eTuXjxhcq8dLTNfueVd0 qFb1c2zMz/PRmQOCXv6slqcSI7g3u50rrBEDUndYdLcIx4aQUbiA5F39OTB2iJczYfYqK1 3u6Mb/O1BFBODXBt9yp01MNuxQdJN6ps/ilAfjEJHmWIqjDPj1w99xK3rvg5LGYa2hbt4E QlqIY4j7MJ4kjNbbNM48q/jGsQY0UD5dLDyc7lE6oLJNUhszxmgdsnT4R+tMkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768418911; a=rsa-sha256; cv=none; b=AV4pgByGW9smFWAnZ+lzNzaHtsefQIh7OAMw2do8BJk2V2PtR2hbRzrwS0x/d+Ift3R75C Uj+twQ4iF47IbHLNn5+S5uCKBFdW4V4RTTXnXeL+HzXWDhQ9tjetiFYeitKSW+J0hUPAEs CX0qg4jiwFkA058DOgaUWu/BAQ+KuFXDIrHEj1OmM2uuTQaEOhxcqQCA/lf/LKOc1oRZOk fADqhK94lv2iD547NbCHt+Ofa7X8rfmD3k7DtgK85DD+l7lLV4fxV6DPfqnxnR9PWpDD++ dM/FVUL+C5/1GufrkqlKSrUemLaMPSrrZ/pacplj9oHZqyEhypjjCCHPGDj4SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2601:5c0:4202:5670:595e:7dbb:51ca:bc90] (unknown [IPv6:2601:5c0:4202:5670:595e:7dbb:51ca:bc90]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4drx3y5xZqz14fD; Wed, 14 Jan 2026 19:28:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <1a21abcc-1d3a-4f89-a071-6d54d9b60653@FreeBSD.org> Date: Wed, 14 Jan 2026 14:28:29 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests Content-Language: en-US To: Warner Losh , =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> <6e64a14f-1fa0-45ec-b73b-e84f1dbb8153@FreeBSD.org> <86jyxkfeo9.fsf@ltc.des.dev> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 1/14/26 10:38, Warner Losh wrote: > On Wed, Jan 14, 2026 at 7:32 AM Dag-Erling Smørgrav wrote: > >> Warner Losh writes: >>> John Baldwin writes: >>>> sys/crypto isn't really the same. We store the generated OpenSSL >>>> assembly files there for use by ossl(4), but most of sys/crypto is >>>> not vendored (e.g. ccp, the non-assembly ossl bits, aesni are all >>>> just bespoke). >>> That's the beauty of this: We can have whatever we want here... These >>> were placeholders until we had more nuanced things. I see things like >>> openssh in crypto too, so many things are vendored there, in addition >>> to the mire of inconsistency... >> >> crypto is nearly fully vendored, sys/crypto is mostly not, don't confuse >> the two... >> > > Sure. So what's the actionable suggestion? I would just remove it from the list, but I can maybe take a stab at that. There are a few subdirs in there that are vendored, so perhaps I can just adjust the list to be those. -- John Baldwin From nobody Wed Jan 14 20:09:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drxzP5V0qz6NrxL for ; Wed, 14 Jan 2026 20:09:37 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drxzP3Nt2z40xM for ; Wed, 14 Jan 2026 20:09:37 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-47edd9024b1so1394695e9.3 for ; Wed, 14 Jan 2026 12:09:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768421375; x=1769026175; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=gGGXd3/hQUfaL+n9juyWRYj0xZu6UIXaAF7+IJzBJo4=; b=ffmQQj4Ej0u/nifQg+zX2/dBU9Y4EA5wxVGkOAyCsUHQbGV2WtkRqz0pbnX0uZKJm6 Ahrgt+jofNqS9/1SwP7FOlI8tQ/Zx1Jjz7V3nh5FUB8ApNMFmfI+9I94mnqDWmcxj8LV O0Kxyza2MCDl/HsZ03QCCeVugUGzy/0leN3W96w/FLCiKdT77FbQmkZ+9ihdfsjOE+76 ASizxkTUzNwSA7Ru/jfraJRuvtMsN/sLt86SGHoQISbCsXbkLdXb2KqR9Pknxby9ykzB PwBQKbfGM8inf72NiOdHvpyVBzpJ6H4Dy9ki8A/jp9Z8BELKV8U8Hmo4g8cKo5lg6WVt EbQg== X-Forwarded-Encrypted: i=1; AJvYcCVmZ7rxQgSJ3M9YKOGEG4RHkTt4MDhVW231Zkk0oDydSyMV5ru03u2XEvgMuNUJ5DmgwSbdJDIMLEHfvZCaPRO7KtDElw==@freebsd.org X-Gm-Message-State: AOJu0YxEm1HRaNARj1esUsqrpJjDKU55TSVXZ7mi7EynWLj3BE9V/IlP Jt8KAk30g9S5/GpDtFMz06G82VQEYexVHx8pHEoK7OZiDwcGDcOqnTLudNv1zpuievk= X-Gm-Gg: AY/fxX72eooJQ8kx6jS2fLa81oOQD7OlKyOeUGdksc8SbLosN2pd6CQtf59A6oqecyS R5bBgKPm5B7zQLoSIa0jWIToiIU00DRD9F5oylNhJqeIK7YnZgEFellBWOTJVp2QTXT0TqNJf6r 5DX+Rgk5YTLqSOsz7wJo7Hb5jrADSxjNAznUnDDSLeqGj0Q7WqUWHirEJLjTNm0FGgzz8esgSBx fBqQ9ewYiRK+v652Q5OqQPo6T5nvGjekDEz35ivAYoyKcFQL4ryvo2RUhrU3z9ge3ztjg4bubnr 04FeCZbdvy4WyVET1R9hwzL+r2OsnPpog3xPnf5tz7rh4FHjUZ/UdbRE4YBcM5DZMJlQLTtT9p1 H4HgCCaI4B92jdiDyLtNF7URuUp8sYvoASBMAEPflAMeNF+gfPetq5Y54Ge/7AFIkXaljxjMmTP 8tttjyjq9bFqJBUHX3hecao1d434VI20YfIFNtWyRculYh3BoHXeog X-Received: by 2002:a05:600d:1:b0:47e:e807:a05a with SMTP id 5b1f17b1804b1-47ee807a410mr21584115e9.33.1768421375428; Wed, 14 Jan 2026 12:09:35 -0800 (PST) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47ee28144aasm25858585e9.11.2026.01.14.12.09.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Jan 2026 12:09:34 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.300.41.1.7\)) Subject: Re: git: 7f8b4db9e001 - main - github: Add more context to pull requests From: Jessica Clarke In-Reply-To: Date: Wed, 14 Jan 2026 20:09:24 +0000 Cc: Ed Maste , Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <99EC31C7-78CD-43E3-B879-63E4FD6F86C5@freebsd.org> References: <6964a4b0.3d7cb.74aa5260@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3864.300.41.1.7) X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4drxzP3Nt2z40xM On 14 Jan 2026, at 18:57, Warner Losh wrote: >=20 >=20 > On Wed, Jan 14, 2026 at 11:22=E2=80=AFAM Jessica Clarke = wrote: > On 14 Jan 2026, at 18:16, Warner Losh wrote: > > On Wed, Jan 14, 2026 at 11:12=E2=80=AFAM Ed Maste = wrote: > >> On Mon, 12 Jan 2026 at 02:37, Warner Losh wrote: > >> > > >> > The branch main has been updated by imp: > >> > > >> > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7f8b4db9e001d94974a081e5fd58c4f3= 994429cb > >> > > >> > commit 7f8b4db9e001d94974a081e5fd58c4f3994429cb > >> > Author: Warner Losh > >> > AuthorDate: 2026-01-10 16:20:20 +0000 > >> > Commit: Warner Losh > >> > CommitDate: 2026-01-12 07:18:11 +0000 > >> > > >> > github: Add more context to pull requests > >> > > >> > Add code to fetch and decode CODEOWNERS and automatically @ = people in > >> > the review. > >>=20 > >> Does this not just duplicate existing GitHub functionality; it = should > >> be automatically assigning reviewers to a pull request based on > >> CODEOWNERS AFAICT. > >=20 > > No. It's not doing that right now at all. That's why I added it. = Maybe there's a simpler way, but it wasn't tagging people automatically. >=20 > Only users with write permission for the GitHub repo work. >=20 > What I've done? Or CODEOWNERS? It works for me, but I'm extra special = in github land. CODEOWNERS; answering Ed=E2=80=99s question. As far as I know your code = should work for tagging anyone. Jessica From nobody Wed Jan 14 20:23:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dryH81Mwpz6Nsn3 for ; Wed, 14 Jan 2026 20:23:16 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dryH72CPvz434g for ; Wed, 14 Jan 2026 20:23:15 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-8c522c4508aso1387885a.1 for ; Wed, 14 Jan 2026 12:23:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768422194; x=1769026994; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=i+FtrReSureQWOt6tUxLcwqIlg6HH2aBfCyBYrAKka0=; b=Ui12+UF8TU4f4ROajnL0KzfyI49AEwrOXVrwoE8O03gY+4zQS1assjMiTXCAQdD7Kj 2JTIbI44Wx6Jl2baiwncUdHQOrjm3UBezt8mW8wGhP92mNXcyJtlAXdjN4HrpQE2iF4X KB5NAlQSElWhs8yslreIX6B+aV6vXkHIuMfULwgRRSBCf29P6q71bA57D5or9kLH5KIe zEHA4xo9v9Xyk6lGLH4+lYet9j2WnLbl464BQexRS4411GxSshOX65EmybAfFQbiHGQH F0aHHXKnjeua6vXGXS9Ho2jGDf7XK1aVljFhX1TX/63ZhTAfDEf/MixUswwk/VEVtbYb CQaw== X-Forwarded-Encrypted: i=1; AJvYcCWLDX7OM2NokZwdoMJ4FgWHeeAo5G5Qk7E3wdMuiySbk2RU403FV02qG4M8u51LZmTjQoy2reA/zHVbRS93yK5m8ygq5A==@freebsd.org X-Gm-Message-State: AOJu0YyjqfM8swtriJ8tTVNLHG20cJucqKKqv2WPs2761PZMxeGwriJe GQtNH/JD+Ke7rgPmzWHMsfgBmsruEJFuRehXonBFI6mlFmJZ3srweiwx8B/6ugf2 X-Gm-Gg: AY/fxX5Zl2XeSVgoFNKHFoaSNn3LlWDsyIyoJet6nafxsINqgmRXpdyNpBqneVN8SbC BiK0qgFQ4RUwKJyN5soUqamhABeLLgSeqgb8UpkDC7Zg5FBQggXK4J47lZ0x2Us1fhmwT8Vlruq ov/NedOhUjfx/Zb9m1ijG+VLNlZ6b8QPnWJMiypLIczwlu+5+m08kQftQRhOOtuDkEHo67jlpi3 FSaTMUNSMunKrmfT9Rk1TexWKjKXRUjJVlFygtFU4uCXaRzqb0Xk/1cDw/pXgUdOwxGc8USRnfz g0oAhmQFiIIc3+sscvyzv3pJcwpRmmp+G9BW1HJNTOYJCW5uqeKX+VkLq/GMWAL4lBZMIjq4HkJ ZJMqp/K9hVr25eyHkjOXoG0HExbwNG7UxtpcJFYYIrXkB/efzxUsle6Qm/D7yyhNXl9r2tQeWKW bQ14h3LBpPTjAH5+1iWsk1slv721I34S7Ppspgp88OqFhyzdTCU8A= X-Received: by 2002:a05:620a:410d:b0:8c5:2b02:83ee with SMTP id af79cd13be357-8c52fbdaadfmr449547485a.6.1768422193838; Wed, 14 Jan 2026 12:23:13 -0800 (PST) Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com. [209.85.160.181]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8c530a6bdd3sm233528885a.5.2026.01.14.12.23.13 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Jan 2026 12:23:13 -0800 (PST) Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-5014501ba93so283621cf.2 for ; Wed, 14 Jan 2026 12:23:13 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXUlqDMYfpoinYSKkj+sYQugu2xjfHU0siOAscwIk9FyKwc6tWWqrqWUXC7Y11p+yd8qLaHgkIk4+ouOfuuFcFFMd2czw==@freebsd.org X-Received: by 2002:a05:622a:1312:b0:501:4767:a6f with SMTP id d75a77b69052e-501481f2168mr48392411cf.3.1768422193077; Wed, 14 Jan 2026 12:23:13 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69679ef8.46510.2462cbd9@gitrepo.freebsd.org> In-Reply-To: <69679ef8.46510.2462cbd9@gitrepo.freebsd.org> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Wed, 14 Jan 2026 17:23:01 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AZwV_QgPeAgkOPpnbhKJp6V8OePvt-fp1VZRZ0GUDaFQUoexLOfQdbYonEZKS0Q Message-ID: Subject: Re: git: 68ad2b0d7af2 - main - ncurses: merge update to ncurses 6.6 To: Baptiste Daroussin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4dryH72CPvz434g On Wed, Jan 14, 2026 at 10:49=E2=80=AFAM Baptiste Daroussin wrote: > > The branch main has been updated by bapt: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D68ad2b0d7af2a3571c4abac9af= a712f9b09b721c > > commit 68ad2b0d7af2a3571c4abac9afa712f9b09b721c > Merge: fc353e5e61fa c5a1e08b52b2 > Author: Baptiste Daroussin > AuthorDate: 2026-01-14 13:48:32 +0000 > Commit: Baptiste Daroussin > CommitDate: 2026-01-14 13:48:32 +0000 > > ncurses: merge update to ncurses 6.6 Hello Baptiste! You probably know already, but macOS cross-builds on GitHub are failing: =3D=3D=3D> lib/libmagic (obj,build-tools) In file included from /Users/runner/work/freebsd-src/freebsd-src/contrib/ncurses/ncurses/tinfo/ma= ke_hash.c:40: In file included from /Users/runner/work/freebsd-src/freebsd-src/contrib/ncurses/ncurses/build.pr= iv.h:85: /Users/runner/work/freebsd-src/freebsd-src/contrib/ncurses/include/nc_alloc= .h:137:10: fatal error: 'malloc.h' file not found 137 | #include | ^~~~~~~~~~ 1 error generated. --- make_hash --- Shouldn't it be: #include instead (upstream)? -- Jose Luis Duran From nobody Wed Jan 14 20:44:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drylC0YTsz6NvCK; Wed, 14 Jan 2026 20:44:07 +0000 (UTC) (envelope-from rm@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (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 "freefall.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drylB71Q5z45fJ; Wed, 14 Jan 2026 20:44:06 +0000 (UTC) (envelope-from rm@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768423447; 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: in-reply-to:in-reply-to:references:references; bh=mkH4cIOi5l2GIGyd4l+NckJq5xEVOWEP5Z5epTzfLvk=; b=jrgrEOw4chlEF1ZdcsvBzEgaseJ+hCl/sZ3QC506KN3hSz+V/JL90oZW0PGxJ1x/hsS625 lGRCKPfO4aXPOhvlP0RyfV6L825R7BTVjMH1Fwt5UEA2L+W7eU+HxA/0b8oPxQfz9irC8u ND3qL4SQSuA+SGG4/zM7WE9+DmKWvXF6swOMyFQZ8iVW/IzaUjELH5mZVSWYx3hArMIB0l zCyNIMGTy/53+xuxNcaHbThHzxk2tPZwnweduP40k6/4I5uP0dBwYfA5oTGcEr7/32gu4s QATLjb43zoA4SEkz9OSCytbUooFCGHsM14h5VcMlHoaftDZqhyWUg7EGKO6c0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768423447; 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: in-reply-to:in-reply-to:references:references; bh=mkH4cIOi5l2GIGyd4l+NckJq5xEVOWEP5Z5epTzfLvk=; b=gVX8NjVrrWzFF2Zbm/xAOqO98fTrqITLLi1NZYdkCKYL7V0AyeFgrA+6MQ9oHD1xzRefp/ aVa7hk1BnjKEPQ6Q8k34WeGtOw7knUpWek5Hb6rGY2Rfbbdlau5UhvT2qXn9e3ZdW4aTL0 etm2qk3x7CCo8mxtgUi/pNIXjDiSPfXx09pyoNUrPBTybHJ2BSHZKjppHiUdBCmYRpuL2q aZEUK+hwRl9t8zt+PM4ZF5dXFxniZfU4T1SVVNShHOalCHruWCE1SkNJkqkh/KzoUbuC4L co90nZZOAOVAhT4XYISHVEWau8KSpAkWN+J2yhzk/8UhkT0ysWUG93vNoO6i9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768423447; a=rsa-sha256; cv=none; b=XLC3NTTw5ld4Fo4UIho4xuW77e11+FTFcwWOqfExnl9YH8RKlZRrJP/FUw38H/JAbK4BwN /AhKaAlt1EEWwpgRL8DGRwz5aJzDxPMzDrsStn/t/G1d1FUKesZ7GXhOFPWWH8U0UIC+Yb EfB4bCDP7Lowp+0UJjaX/tvwn5Zx+h759xYq1JRX+3Z71uHNqM1+a5HYykxaG6X4vphssr mUHqFFV7aZxDZm3AUFjIGfu2O4MqhZsQpISQgQHpA/8c83HEkvZjiLi1Jxc8A/xbmX8NhY 9o/zlDTUO/bt0pOTVK3hO1lKqGvf3w2lGvyGAwfwFeL2G4kNHMxiFZPv7y/LYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [127.0.0.1] (unknown [127.0.1.132]) by freefall.freebsd.org (Postfix) with ESMTP id 31F80F0F3; Wed, 14 Jan 2026 20:44:06 +0000 (-00) (envelope-from rm@FreeBSD.org) Message-ID: Date: Wed, 14 Jan 2026 23:44:05 +0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 75556c7e999e - main - net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate To: "Bjoern A. Zeeb" , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <6967e5b7.3c82f.4cc56353@gitrepo.freebsd.org> Content-Language: en-US From: Ruslan Makhmatkhanov In-Reply-To: <6967e5b7.3c82f.4cc56353@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Bjoern A. Zeeb wrote on 1/14/26 9:51 PM: > The branch main has been updated by bz: > > URL: https://cgit.FreeBSD.org/src/commit/?id=75556c7e999e9095ce71558ae61f49c1ba61a192 > > commit 75556c7e999e9095ce71558ae61f49c1ba61a192 > Author: Yichen Chai > AuthorDate: 2026-01-14 18:44:08 +0000 > Commit: Bjoern A. Zeeb > CommitDate: 2026-01-14 18:51:11 +0000 > > net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate > > Fix the arguments to the debug statement. > > (slightly adjusted from the original submission by bz) > > PR: 286448 > MFC after: 3 days > --- > sys/net80211/ieee80211_proto.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c > index 4918bf7d025f..ba09cd015a57 100644 > --- a/sys/net80211/ieee80211_proto.c > +++ b/sys/net80211/ieee80211_proto.c > @@ -747,8 +747,8 @@ ieee80211_fix_rate(struct ieee80211_node *ni, > ((flags & (IEEE80211_F_DOFRATE|IEEE80211_F_DOFMCS)) && > fixedrate != ucastrate)) { > IEEE80211_NOTE(vap, IEEE80211_MSG_XRATE | IEEE80211_MSG_11N, ni, > - "%s: flags 0x%x okrate %d error %d fixedrate 0x%x " > - "ucastrate %x\n", __func__, fixedrate, ucastrate, flags); > + "%s: flags 0x%x okrate %d error %d fixedrate 0x%x ucastrate 0x%x\n", > + __func__, flags, okrate, error, fixedrate, ucastrate); ^^^^^^^^^ Not sure if it worth nothing, but this looks like an insult :) > return badrate | IEEE80211_RATE_BASIC; > } else > return IEEE80211_RV(okrate); > -- Regards, Ruslan T.O.S. Of Reality From nobody Thu Jan 15 02:57:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ds71q3LqXz6PGTY for ; Thu, 15 Jan 2026 02:57: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ds71q2hN7z3lYf for ; Thu, 15 Jan 2026 02:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768445839; 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=duca8BW5+5tJ5/Me+iktGjMR+3BAN1nHwTElaToaSLY=; b=qV1Y+glf0UVzhRN6WWw7wwTiNcrcBnuZR9AsVNRMbMyxmQHDLljPtPBjtVmAMYrf+fvrIm O+5H8HL11MrtIpVAwtCQAZoIU244L9NjDy69xGReUorrYTqm+SPliR1R6+h+rqEK38z/9h dMgNrq2PmRLOcQ60/uZErSrR/hfCZ66f9y9WrRZQBbSEQrYTFVa9ktKFw4mFSy2DWjSIOm DKUm92BijnRSdNHMFgvC6mosEJOkJzfsNrmRuIcjsARx6oekeUVNbdEXTQ9mNA8MM2jnRO LL7OtR58Miruf0mrKgAfXckDvGlNzi52hSiwKfy+3FeZuSEnBwt0mazcdfmXCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768445839; 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=duca8BW5+5tJ5/Me+iktGjMR+3BAN1nHwTElaToaSLY=; b=nGp41KkXbQF91OuLUhjguprJbpnupWaQt1HqEaNy31zfau01m+kBR6YL1vPJ0GTQs8Etza OprqNebwcB+laPAHg8hxE1JPnFv+KennmCP/LKhqvMgPlsN9koiEm+OgVLm8I4nzr86rLa 8eSnYVAAbNfExCcUkraYjSidt3vLusaQyBg3JGNpoKf7i6fJHnBijs0vibPvICSY977cUW Yfsx9DZ8vlRZTs0aPy3Sn2qGOMHMp8uBo5HYiojp2W8+ufhQPN05y76vE1iRV7xbKVvH7P zGLXAplWt9D3qBqt+x1KFuhPJfg/t8IgpTfyZl+9ZCtceFB3WpQYAHE92HMqzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768445839; a=rsa-sha256; cv=none; b=byvjX6VzPa23/g0UP/uzbJW9OpzeVQT43OpGZ+UCZS49kjsEAXxPIFWSrK4rs9zbRdX1bi SaS5LlCiKw1wgXpBjFV8IQdAo3k9q5y2wBed57zepsnYy6yu71+7rqnGpCqUbns0FoESG6 ZMXPJc73HLHKvJEN1JxKtqfykIjveGILccx8MeoxrvBsva806/oGj6yZePkY0RHWfJleBa A0zrJSO2S6bd+v5CcNOzdAk9JCkvADrOr6U0vWl1k4qChxZwA/v0qw2LisxhWJqof1DGC9 vZqli4zSWkDE+Upxbl3siAL9ZXPMq9HW7otaSwo+Dg6Og1ueQBVg6rscnHPchg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ds71q1nqlz1Np3 for ; Thu, 15 Jan 2026 02:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c980 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 02:57:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 008e5703e184 - main - netinet6: garbage collect OSIOCGIFINFO_IN6 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 008e5703e184cb5fe2079cfbdef5091add2ab3e1 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 02:57:19 +0000 Message-Id: <6968578f.c980.2053c217@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=008e5703e184cb5fe2079cfbdef5091add2ab3e1 commit 008e5703e184cb5fe2079cfbdef5091add2ab3e1 Author: Gleb Smirnoff AuthorDate: 2026-01-08 02:42:02 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-15 02:57:10 +0000 netinet6: garbage collect OSIOCGIFINFO_IN6 This ioctl has been marked as "old" starting with the original KAME export over 20 years ago and has been hidden under #ifdef _KERNEL since. There is no software that uses it. --- sys/netinet6/in6.c | 1 - sys/netinet6/in6_var.h | 3 --- sys/netinet6/nd6.c | 14 +------------- sys/netinet6/nd6.h | 17 ----------------- 4 files changed, 1 insertion(+), 34 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index e8b76bdd579b..43452525e992 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -317,7 +317,6 @@ in6_control_ioctl(u_long cmd, void *data, return (error); } /* FALLTHROUGH */ - case OSIOCGIFINFO_IN6: case SIOCGIFINFO_IN6: case SIOCGNBRINFO_IN6: case SIOCGDEFIFACE_IN6: diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index 0cfdde652c0a..8881885ecf86 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -449,9 +449,6 @@ struct in6_rrenumreq { #define SIOCGIFAFLAG_IN6 _IOWR('i', 73, struct in6_ifreq) -#ifdef _KERNEL -#define OSIOCGIFINFO_IN6 _IOWR('i', 76, struct in6_ondireq) -#endif #define SIOCGIFINFO_IN6 _IOWR('i', 108, struct in6_ndireq) #define SIOCSIFINFO_IN6 _IOWR('i', 109, struct in6_ndireq) #define SIOCSNDFLUSH_IN6 _IOWR('i', 77, struct in6_ifreq) diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index 595e0b4ac54f..04ce9bf6dd55 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -1649,20 +1649,8 @@ nd6_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp) /* XXXGL: ??? */ if (ifp->if_inet6 == NULL) return (EPFNOSUPPORT); - switch (cmd) { - case OSIOCGIFINFO_IN6: #define ND ndi->ndi - /* XXX: old ndp(8) assumes a positive value for linkmtu. */ - bzero(&ND, sizeof(ND)); - ND.linkmtu = IN6_LINKMTU(ifp); - ND.maxmtu = ND_IFINFO(ifp)->maxmtu; - ND.basereachable = ND_IFINFO(ifp)->basereachable; - ND.reachable = ND_IFINFO(ifp)->reachable; - ND.retrans = ND_IFINFO(ifp)->retrans; - ND.flags = ND_IFINFO(ifp)->flags; - ND.recalctm = ND_IFINFO(ifp)->recalctm; - ND.chlim = ND_IFINFO(ifp)->chlim; - break; + switch (cmd) { case SIOCGIFINFO_IN6: ND = *ND_IFINFO(ifp); break; diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index 3051397ec33f..0f61e167f480 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -139,23 +139,6 @@ struct in6_prefix { /* struct sockaddr_in6 advrtr[] */ }; -#ifdef _KERNEL -struct in6_ondireq { - char ifname[IFNAMSIZ]; - struct { - u_int32_t linkmtu; /* LinkMTU */ - u_int32_t maxmtu; /* Upper bound of LinkMTU */ - u_int32_t basereachable; /* BaseReachableTime */ - u_int32_t reachable; /* Reachable Time */ - u_int32_t retrans; /* Retrans Timer */ - u_int32_t flags; /* Flags */ - int recalctm; /* BaseReacable re-calculation timer */ - u_int8_t chlim; /* CurHopLimit */ - u_int8_t receivedra; - } ndi; -}; -#endif - struct in6_ndireq { char ifname[IFNAMSIZ]; struct nd_ifinfo ndi; From nobody Thu Jan 15 05:34:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsBWP1tbgz6NS17 for ; Thu, 15 Jan 2026 05:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsBWP1Ckpz41Bn for ; Thu, 15 Jan 2026 05:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768455281; 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=yCwZJg/GtrzwroKYf7PZJxhzxkDTTHXP/p9OAi1+PF0=; b=nqZ7NMhy7uz4dX5tzmvPnNKFSHpU0AORtUOpk7CcK/konnY5G6Y5K0VI5YCj6BFoISCtJp j85kmgq0DpkrfEPVWJGjl7mfliJk4bhjzYyHbXzc3g8mlUFw5cNRn9eivw8dYrJAAGnae/ iV59XuEazpckTXJ4xqgal/VQ3tH6nYiHKBcLVVbxsH4o4bWmUnrbceDZnlj7eNBYljYoeQ WbJRG6h8Q6w+2QOl0Dyb/CkWGQ/QVrBUh9yTs+4AeN9RiXw1dC2S58cJhtvucCEvtbaZWj z7De7n5Y+A/kojCsSwbS2qzH5WhW9UAS9NXYmOrraBY72Vvw+eV9dRog7w/8hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768455281; 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=yCwZJg/GtrzwroKYf7PZJxhzxkDTTHXP/p9OAi1+PF0=; b=nVwsw6HZ3uAlj4TpEXoYFLvLwEFCqQvnir7iqnOFooep6j98QXuiHD8hInvjXsbX0cpIH6 ssQCJ4piOc8FG8usz7tQFMnNbRfT1Ba3155jWtjx9hE59QDELUD7+MUFEGKL2PjQPxeMx6 Z7fI8ZtWE3NOdrKfb9mYBNiunrwKHDtnfr85TTb4pVy8kcC+WKdEqM5BTQTc1ucHYloIl0 a7L+7R9Tqf8dgIKCx0xrqWPxq1vc2YVgXVqaMnBzNEVmox/jM4mEHcDrLyJctSa3UYgAD5 t2deUS9i5SNwOE1OfwanlsTN+iz65NosVxdso0vmVKto3Od5NTfCooaW8ZqMfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768455281; a=rsa-sha256; cv=none; b=uaEnN75S3qNTq5bcyoEZnN7vMSWg6TH9tcCM4rsfcc18MX0ravZZyjkKkX272PdY7FjNFv isq3PAzPdR6url80AFi9fn3SQNUjgejlZDW3ln9cHvgWa2ui77Oi8b5UKjtpNjfjaxJLaC E3HI/WVRvfe9azbZd6ExQHKz6Rps/L2CgzKb+dKhsHd49h+Wr5mXsrO3dVVQDYYeGhdUUr QjXL14eKC+uitjO2KcejzKPUxdiw3MXVP2LOQuXpCjol1pleSq+TxMCaNAGFu21IVKfDsY 4rDZWtyCrr/McQ5pb1oKa8Jt88xWlCOaWXXXcFY95peHaXebA/sOFlxxR+nN5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsBWP0CJMz4Q for ; Thu, 15 Jan 2026 05:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33ba7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 05:34:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jes=C3=BAs?= Daniel Colmenares Oviedo Subject: git: 5810786791d6 - main - jexec: Add -e parameter to customize the environment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dtxdf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5810786791d61aa085170afd5a7d449dbd1ec7c6 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 05:34:36 +0000 Message-Id: <69687c6c.33ba7.7b15f010@gitrepo.freebsd.org> The branch main has been updated by dtxdf: URL: https://cgit.FreeBSD.org/src/commit/?id=5810786791d61aa085170afd5a7d449dbd1ec7c6 commit 5810786791d61aa085170afd5a7d449dbd1ec7c6 Author: Jesús Daniel Colmenares Oviedo AuthorDate: 2026-01-15 05:25:25 +0000 Commit: Jesús Daniel Colmenares Oviedo CommitDate: 2026-01-15 05:33:25 +0000 jexec: Add -e parameter to customize the environment Currently, to define a new environment variable or modify an existing one, we need to use env(1), which may or may not be available inside the jail, especially in OCI containers created with the scratch layer (i.e., those containers that are only a single static binary, plus configuration files and related stuff). With this option, we can specify environment variables of arbitrary length for the specified process running inside the jail. Reviewed by: jamie@ Approved by: jamie@ Differential Revision: https://reviews.freebsd.org/D54660 --- usr.sbin/jexec/jexec.8 | 13 ++++++++++++- usr.sbin/jexec/jexec.c | 27 ++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/usr.sbin/jexec/jexec.8 b/usr.sbin/jexec/jexec.8 index afcc1839ef75..595d5c2f835d 100644 --- a/usr.sbin/jexec/jexec.8 +++ b/usr.sbin/jexec/jexec.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 5, 2025 +.Dd January 11, 2026 .Dt JEXEC 8 .Os .Sh NAME @@ -33,6 +33,7 @@ .Nm .Op Fl l .Op Fl d Ar working-directory +.Op Oo Fl e Ar name Ns = Ns Ar value Oc ... .Op Fl u Ar username | Fl U Ar username .Ar jail Op Ar command ... .Sh DESCRIPTION @@ -66,6 +67,16 @@ or and absent the .Fl d option, commands are run from that (possibly jailed) user's directory. +.It Fl e Ar name Ns = Ns Ar value +Set environment variables. +.Pp +This parameter allows arbitrary environment variables that are available to the process +to be executed inside of the jail, overwriting any previously defined environment variables, +such as those specified by the +.Fl l +parameter. +.Pp +This option can be set multiple times. .It Fl u Ar username The user name from host environment as whom the .Ar command diff --git a/usr.sbin/jexec/jexec.c b/usr.sbin/jexec/jexec.c index a1e443c5ba04..03be63cf8799 100644 --- a/usr.sbin/jexec/jexec.c +++ b/usr.sbin/jexec/jexec.c @@ -59,21 +59,29 @@ main(int argc, char *argv[]) int jid; login_cap_t *lcap = NULL; int ch, clean, dflag, uflag, Uflag; + int env_argc = argc; + char **env_argv = argv; char *cleanenv; const struct passwd *pwd = NULL; const char *username, *shell, *term; const char *workdir; + const char *jexec_args = "d:e:lnu:U:"; ch = clean = dflag = uflag = Uflag = 0; username = NULL; workdir = "/"; - while ((ch = getopt(argc, argv, "d:lnu:U:")) != -1) { + while ((ch = getopt(argc, argv, jexec_args)) != -1) { switch (ch) { case 'd': workdir = optarg; dflag = 1; break; + case 'e': + /* Used later. */ + if (strchr(optarg, '=') == NULL) + errx(1, "%s: Invalid environment variable.", optarg); + break; case 'l': clean = 1; break; @@ -140,6 +148,19 @@ main(int argc, char *argv[]) endpwent(); } + optreset = 1; + optind = 1; + + /* Custom environment */ + while ((ch = getopt(env_argc, env_argv, jexec_args)) != -1) { + switch (ch) { + case 'e': + if (putenv(optarg) == -1) + err(1, "putenv"); + break; + } + } + /* Run the specified command, or the shell */ if (argc > 1) { if (execvp(argv[1], argv + 1) < 0) @@ -192,7 +213,7 @@ usage(void) { fprintf(stderr, "%s\n", - "usage: jexec [-l] [-d working-directory] [-u username | -U username] jail\n" - " [command ...]"); + "usage: jexec [-l] [-d working-directory] [[-e name=value] ...]\n" + " [-u username | -U username] jail [command ...]"); exit(1); } From nobody Thu Jan 15 06:28:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsCjs2Qlyz6NWF2 for ; Thu, 15 Jan 2026 06:28:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsCjs0Hc3z44Ft for ; Thu, 15 Jan 2026 06:28:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768458529; 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=VoIShckVk+4zPci3XKwVcaGO3YUhjjZOpTLsMvg6LnA=; b=HYFnYStQN2dpUf9tYyTFW0GveXkVyWnZaVClq26D9TWYfWnr53pMh/gaWpcfh1SJGfCvri aziOc0mBmcwS3nG2IZx3toKrEuu1UJl5Q4iGR9eay5Y5dtep/2piIRYCP+HvDmWp9XnE2A Zuc+NNCkzPPrHD58oJ3hDM42UKWrRrqnbQ6b6ISNsv4h7uamPZQOD6W0O1Dj8SLTrxsh81 pwWjyu/fq5IM12zTKoEWBXS8F6CGp/s36XLXpdGnow1mU97L6bpUvCrzVY6281ycSaAzbS g82yvLPwkXJquuiFEt8ImmpO68Qr3CLu0HumtBtm3dUxElQIC4nMHiPIW2YPfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768458529; 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=VoIShckVk+4zPci3XKwVcaGO3YUhjjZOpTLsMvg6LnA=; b=DvrBkJkO7hCiWTEgU/SOhWHt41WLL1d2GNbipdnG1ESA8nLS9RXAMVWuuhGob62rHEaZRl rklGYg+ygmVOjhaELrTLxIR+Q01D80h0K6VohouO6DAZg6lv2l0VySJh7D8taTvk/lIuZe 5bPraSyyAqODzVNMPUu27YRUykQ7ThIRmQjlreEwaJoQBSmJn6Gw02r3hqMHI7d/XZp6xE 7u1XaJdpIMkq77XHKm5yG8/nV1ZdSC1o82meGwFu4ukJgqrtVWo7woUisPYVM1MJmKVcc3 NeeHazCqdWlYyTjlgBcQGRppi1DaoxKzSK75huQrA4mo64+AXVAQkneQU0rE6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768458529; a=rsa-sha256; cv=none; b=f6YLZ1obfm3aOYwaTm2BP3g8BuZEkt5GH87mD9oiW5JukLQ17gK1tb3VbTjMbaP39cwC7D XrGOzRzuKmrIBILq5yR/Yr7nWZO4ETfRMM24k22aGTMzL76dFHFziT1BP/SyFJAkYagJyP CRza5M1zvS6rqF0Z6m7DG3rYWP25e39+9HMuC449zJZjzy1Pf6Em/HwZspQQ/jinXDiyMa hvzkoGnY0NIC+h9fTieRH3uiPB3VuLlwY7Pm9p77qBZXnkuqikNOtlhystfnbat9Tu1pX6 4WHg+vQkpWgxsQBwESEjz9+Tmw4vIiMZsG1Tp6EaECNjtifQbaHSlJHmehlGFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsCjr6QN7z197 for ; Thu, 15 Jan 2026 06:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37ce8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 06:28:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: ad553bd419a8 - main - ncurses: fix cross build on MacOS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad553bd419a81274e9369e91753b74d3942ce938 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 06:28:48 +0000 Message-Id: <69688920.37ce8.69f2e9ca@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ad553bd419a81274e9369e91753b74d3942ce938 commit ad553bd419a81274e9369e91753b74d3942ce938 Author: Baptiste Daroussin AuthorDate: 2026-01-15 06:28:28 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-15 06:28:28 +0000 ncurses: fix cross build on MacOS --- lib/ncurses/tinfo/ncurses_cfg.h | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/ncurses/tinfo/ncurses_cfg.h b/lib/ncurses/tinfo/ncurses_cfg.h index d93921d5c1d7..f231f3b96a05 100644 --- a/lib/ncurses/tinfo/ncurses_cfg.h +++ b/lib/ncurses/tinfo/ncurses_cfg.h @@ -149,7 +149,6 @@ #define HAVE_GETOPT_H 1 #define HAVE_LIMITS_H 1 #define HAVE_LOCALE_H 1 -#define HAVE_MALLOC_H 1 #define HAVE_MATH_H 1 #define HAVE_POLL_H 1 #define HAVE_SYS_AUXV_H 1 From nobody Thu Jan 15 08:08:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsFx76kVhz6Nc0W for ; Thu, 15 Jan 2026 08:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsFx763Mvz3Cjk for ; Thu, 15 Jan 2026 08:08:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768464523; 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=EcDaFAsEPd4Mqpkb8CUPq49YKxEgxsZnyJJHk/w26Vo=; b=dVViH9a+IjS1mwLETrAQZrO4dS8cfOeZSgff2z8XX/KEMs4pibsJvpJS9PXzAXWYZddoQg Fb3QXOK9U7tsHo/x2QeMmK9TtNh9uL/V+lVm2hsKQELDUSuOwN9Dqi2tDQD3eDGhdfNLUI fUtl5pc6n89f3Khxuf5b9T8Gg+k/oPfdGDJVO3yT37h2qiTCiZW+4kN8WK4quqkzA9Bb20 ej2Lu0/O30J0yTM++HNWg9V79KRZ0NaJHS208qCV4OmH2kILwczuGil3tK/epQTnb7xzZs Nmv7Z7d/rF2TfMxn6KfJ3ZhUlaKzkeKyIg75jfBiyy1Q7XhVBfwyX98FsvCrCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768464523; 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=EcDaFAsEPd4Mqpkb8CUPq49YKxEgxsZnyJJHk/w26Vo=; b=Sjw5aledFep7A/PZKFsiM4Skceef0xNqYBI0A/RuAJ2ZlwVcsEuX1JCzoXuqYRnMgwuwWX XJrKgw7kTWyg00cbpRdJAziuAbKe6FvujnQrOqnDXFh8ozbrvVANvXKhyWgEr67gawbkXX iEhitHhBN0qe5Y+ISUD/up/MjbK/LuN2lbNtLMvUfiEzJYSkOj+fJAjMHAPq8MAKbNVKPG 4QOZ5F/Yp4Gjxq8IIT4Ytu8Pz0ADjBksqLQ1GWrtBid/Yjvx8M10owZV9YO5Yk+SKpnEPM Y+eiObT4ycgauqioYR9YhSUeIHvCOTGtbT2xUMb4TGnARhiG4BhaMRDbEs5pVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768464523; a=rsa-sha256; cv=none; b=jsUa/uPvjB/d19FhPpWvfw4hw/GXFAoCiigSvtwVMWpyq0bVPSZc74aQdrIffixGRjH4OY NqPa4chSPHvq1AFPwVapYuDHr/ZzCutBmv3cPDyukb4BBDeK93e9zOlwI2oL60gwnDh7R4 1QyDsmnVaBPi/xeaS2ECZQFu7YdglMV7hH98qpgAMRUyUaHbPKDuKQl2OCzT1J711OLaTM iJJcyiJDdrIJ1UwoxOy9Rs8CPglVhc+uuKg6gXLzEl/E2zEJdK7fXv5gfbQnDgPUJpz6BZ EcBv2xvy+A2XnvB2Bfqbf6g2aNF41Dy6m5noEMtVtQafcv9AFxwmxEzUj5EPyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsFx75Gfpz3DV for ; Thu, 15 Jan 2026 08:08:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 855c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 08:08:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Johan=?utf-8?Q? S=C3=B6llv?=ander Subject: git: 5d844f004f85 - main - committers-src: add myself (js@) with asomers as mentor List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: js X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d844f004f85f719e5dec59190f717ae293bd079 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 08:08:43 +0000 Message-Id: <6968a08b.855c.327d6874@gitrepo.freebsd.org> The branch main has been updated by js: URL: https://cgit.FreeBSD.org/src/commit/?id=5d844f004f85f719e5dec59190f717ae293bd079 commit 5d844f004f85f719e5dec59190f717ae293bd079 Author: Johan Söllvander AuthorDate: 2026-01-15 08:05:45 +0000 Commit: Johan Söllvander CommitDate: 2026-01-15 08:05:45 +0000 committers-src: add myself (js@) with asomers as mentor Reviewed by: asomers Approved by: asomers (mentor) Differential Revision: https://reviews.freebsd.org/D54715 --- share/misc/committers-src.dot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 349fdfeba645..e0eddd704843 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -243,6 +243,7 @@ jonathan [label="Jonathan Anderson\njonathan@FreeBSD.org\n2010/10/07"] jpaetzel [label="Josh Paetzel\njpaetzel@FreeBSD.org\n2011/01/21"] jrhall [label="John Hall\njrhall@FreeBSD.org\n2025/11/18"] jrtc27 [label="Jessica Clarke\njrtc27@FreeBSD.org\n2020/01/23"] +js [label="Johan Söllvander\njs@FreeBSD.org\n2025/12/16"] jtl [label="Jonathan T. Looney\njtl@FreeBSD.org\n2015/10/26"] julian [label="Julian Elischer\njulian@FreeBSD.org\n1993/04/19"] jwd [label="John De Boskey\njwd@FreeBSD.org\n2000/05/19"] @@ -454,6 +455,8 @@ anholt -> jkim araujo -> miwi +asomers -> js + avg -> art avg -> eugen avg -> pluknet From nobody Thu Jan 15 13:32:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsP6v1jQNz6P0LQ for ; Thu, 15 Jan 2026 13:32: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsP6t6c4qz4Mfj for ; Thu, 15 Jan 2026 13:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768483958; 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=Zxx1rAg3vTPJ7ZsXQiFBSxKMB8T3juvsRVwc0NIg2xE=; b=EToiyE01wsiSz5d2XS0J45ovIA2R84elr8bj36VzpaVvqXk/kH9wZSoh1zHwwhz4tq1CMQ 1oLoDJTquAbU0kiPEH/2p5zGYKrXAJYqa1ExmHvSHQCCdj5PCFvS7L5GiC99oY1xcKC3vs MMq7kRSVzdxmWefC+psAAOottlCoDA18imFSKeDzrble+aYNsH8JhrF8p+ql1BMuavUbqd UQxsqNmggzjxFiWpBAVLSUfiMNPuTWDlO5uKkoE9cOqQk/bayMgxge83alMCXZsnDjV979 KiL/0SM1vRhNa0ISHqKKs8Q5EDSPkJdLtfE81Kl0HAamAL9p1qaGbPX/av8qvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768483958; 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=Zxx1rAg3vTPJ7ZsXQiFBSxKMB8T3juvsRVwc0NIg2xE=; b=nnMGYRipnba0LnDSMxolFJ1R8YtuJZ7GzmDHoZoFpnNZidg7VO+BeibeNTBSBWYzWB3LND 3lWJFjMcnni/QPBNN3HQ62n1mfwfR7f5iuXnOvPMnp7jMKG4+G4mNZlNX/VM7Yl4Vwa32F Avht48dJxkvigZNyR6/UtZx3IuvRQlKO3afVIs4gcO6QIk3fGswdhjbhrogXAZg2Afjqgx CymwrKkY2NGEYM5T+EMcvXkzHM34gyQ46vieDtG8ILRySNHbZQrvHEiDowQG8DEUBAgfEL 2q76gzuwtm7Zn0fg6X02tX4sOwLHAmKtTFSR4PpLomTAVFMMhw1++CDcznoZeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768483958; a=rsa-sha256; cv=none; b=jnGaRn/kJKZlghTQmSjPdLnD5Lpq+mL43mpr702q5NAgnD9q4dQwiJ7o275coLd8TUugeg fzSinRJv8diM8s22PUukxakz4o3m9rKwbVmtdeZzSCwaDsycGMKaAApzv4H4L//NpVN5vX UEVZHeuXNq0APyVREL8LHdIwyuut2Wr3wYj6e5O9vQZB7QiP2Toq7a+osoWDVe3W9AS9P8 UIS5IaKfr7x+gXrkR3Eys2PYyhX9H8/+4Kv0ljLL6lz5ju8PrpWx6/E7gt3mbkyAs25dQM +dBUyPIdSDULbTyZZF2YiFym7LlXWU5Xya8qbSQ3w0uFoTIQiGZ7htO+TWbE7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsP6t5KvKzVXV for ; Thu, 15 Jan 2026 13:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b894 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 13:32:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 73c921ef1d44 - main - nvme: Add ability to override ioq to put the request on List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73c921ef1d44f6e1590957a4beb48a967e3ca8c8 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 13:32:38 +0000 Message-Id: <6968ec76.b894.1a50b1d3@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=73c921ef1d44f6e1590957a4beb48a967e3ca8c8 commit 73c921ef1d44f6e1590957a4beb48a967e3ca8c8 Author: Warner Losh AuthorDate: 2026-01-15 13:31:53 +0000 Commit: Warner Losh CommitDate: 2026-01-15 13:31:53 +0000 nvme: Add ability to override ioq to put the request on Sometimes the client device needs to manage the IOQ the request goes to. Expand the interface we have for the request to allow it to be set for this special use case. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D54714 --- sys/dev/nvme/nvme_ctrlr.c | 4 +++- sys/dev/nvme/nvme_private.h | 20 +++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 26194ccbb8f8..b75033300061 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -1877,8 +1877,10 @@ nvme_ctrlr_submit_io_request(struct nvme_controller *ctrlr, struct nvme_request *req) { struct nvme_qpair *qpair; + int32_t ioq; - qpair = &ctrlr->ioq[QP(ctrlr, curcpu)]; + ioq = req->ioq == NVME_IOQ_DEFAULT ? QP(ctrlr, curcpu) : req->ioq; + qpair = &ctrlr->ioq[ioq]; nvme_qpair_submit_request(qpair, req); } diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index 8837275e2ed5..b520b9946f7b 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -112,7 +112,9 @@ struct nvme_request { struct memdesc payload; nvme_cb_fn_t cb_fn; void *cb_arg; - int32_t retries; + int16_t retries; + uint16_t ioq; +#define NVME_IOQ_DEFAULT 0xffff bool payload_valid; bool timeout; bool spare[2]; /* Future use */ @@ -491,6 +493,7 @@ _nvme_allocate_request(const int how, nvme_cb_fn_t cb_fn, void *cb_arg) req = malloc(sizeof(*req), M_NVME, how | M_ZERO); if (req != NULL) { + req->ioq = NVME_IOQ_DEFAULT; req->cb_fn = cb_fn; req->cb_arg = cb_arg; req->timeout = true; @@ -551,6 +554,21 @@ nvme_allocate_request_ccb(union ccb *ccb, const int how, nvme_cb_fn_t cb_fn, #define nvme_free_request(req) free(req, M_NVME) +static __inline void +nvme_request_set_ioq(struct nvme_controller *ctrlr, struct nvme_request *req, unt16_t ioq) +{ + /* + * Note: NVMe queues are numbered 1-65535. The ioq here is numbered + * 0-65534 to avoid off-by-one bugs, with 65535 being reserved for + * DEFAULT. + */ + KASSERT(ioq == NVME_IOQ_DEFAULT || ioq < ctrlr->num_io_queues, + ("ioq %d out of range 0..%d", ioq, ctrlr->num_io_queues)); + if (ioq < 0 || ioq >= ctrlr->num_io_queues) + ioq = NVME_IOQ_DEFAULT; + req->ioq = ioq; +} + void nvme_notify_async(struct nvme_controller *ctrlr, const struct nvme_completion *async_cpl, uint32_t log_page_id, void *log_page_buffer, From nobody Thu Jan 15 13:46:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsPQz570sz6P0ZL for ; Thu, 15 Jan 2026 13:46: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsPQz4R6Wz4N87 for ; Thu, 15 Jan 2026 13:46:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768484795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b2U5fqu0gF/GU7/o8IRRdEWwGXYRJGS25V397vM71zY=; b=NtoXlw90K5ipBIPS9RwHAOxQ7AeQB1B8PaZodjgxCVU5N1acxIDBngvo2hyRvdL2isUMOA 2msCX0UBLP/8PGhMOxWHLD4X9TZ2ua6W+r/cJOmbznFGcSjpNlI41UaxZmi+8XZyHy5mkF 8wiuMwDw7u+TWzOIgib8MK1aOt/aM1lJQuPYLFpwyuaQhCF+MCkwiiUO2TCtpRskR7RftC aa90GR4hM7Veen9a/dvPRzGrbRSaZL9JQhqpWzvgGr2Oo98LFkSZSk1h+wAHkLc/OkGB/h Uzm4+Sgt1mceEKoo+fPfn6Lx8C8Cz256DOA/fCVxL+/8nzyhAWHQJmUT21QgXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768484795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b2U5fqu0gF/GU7/o8IRRdEWwGXYRJGS25V397vM71zY=; b=Sbt3xkiUZXfVxki2mNMiijJ/0v1YhiG1irOmwdSmX1H5AxNqwLXVRY9chmQDRzYDTKgzpw dpFZqMPXLT4sZqeimeKMcgTti2eCLyj1/ER2uFMJCXtmHXKpGlOISTFoSovpmQVr0bukJv RwiNRS4mOa4V6lMlqwfHRwVbdqvfEtqKgTVmpO2Ec6Ev1XcPX3RMvwak/zD7LfMpu/LD9N DEgaRp5GSqGcwvkaw9Kw+x4mmlMO9NQcy3/j6CQpdXgkWvrZWyRbXsRLk9CiUDpNgjY5z6 Q6kgQxWLeDBHUsodgaaa0yY4eciVM0CabAX5sbq2fj8jPz9cqDAKGWDpR4ahzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768484795; a=rsa-sha256; cv=none; b=YX9Ci8UKyHj6udWNHYbvwMp74o02QOMh/TkY0AKIsSSllmU1RAHWXku9mqdzSl6FMnhpz1 QHiShIfGe8w0U6317J84s3v0Vumcjus4v/yUlQy3iujxID77gdlb0vIaIq9hT8W+TmSzmL 5XuuP4iT0RlREsdpFr0O43Dael4dl5WLzIsEfPVXVkGGDQdbKwjec5A0DkV68ZfeC/qLuD z5o4G8aHW50GiyQ/ppKlZRZQYSdI/OkcUbbbvwYG74oPraWeU5WpPXC/VbF1TaAgRs9G2w QUjsIPVk6qt/dccMt8fmgdHvfjk9MtvPpStRzxnzj3k9nx0513gH3oeD+/7PSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsPQz3bBZzVXv for ; Thu, 15 Jan 2026 13:46:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ceb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 13:46:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Hans Rosenfeld From: Joseph Mingrone Subject: git: 6a6f230d3143 - main - libc/stdlib: Port strtonumx() from Illumos List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a6f230d3143a1dedddf6fa99b83d040f0fafe53 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 13:46:35 +0000 Message-Id: <6968efbb.ceb7.38f19a8e@gitrepo.freebsd.org> The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=6a6f230d3143a1dedddf6fa99b83d040f0fafe53 commit 6a6f230d3143a1dedddf6fa99b83d040f0fafe53 Author: Hans Rosenfeld AuthorDate: 2025-12-16 16:04:30 +0000 Commit: Joseph Mingrone CommitDate: 2026-01-15 13:45:42 +0000 libc/stdlib: Port strtonumx() from Illumos Add strtonumx(), a companion to strtonum(3) that preserves its safety and error-reporting semantics while allowing the caller to specify a conversion base, similar to the strtol(3) family of functions. Reviewed by: emaste, kib, ziaee Obtained from: https://www.illumos.org/issues/15365 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54270 --- include/stdlib.h | 2 ++ lib/libc/stdlib/Makefile.inc | 1 + lib/libc/stdlib/Symbol.map | 1 + lib/libc/stdlib/strtonum.3 | 74 ++++++++++++++++++++++++++++++++++---------- lib/libc/stdlib/strtonum.c | 27 ++++++++++++---- 5 files changed, 82 insertions(+), 23 deletions(-) diff --git a/include/stdlib.h b/include/stdlib.h index 3e54b5feb6de..305aea4b8672 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -333,6 +333,8 @@ int sradixsort(const unsigned char **, int, const unsigned char *, void srandomdev(void); long long strtonum(const char *, long long, long long, const char **); +long long + strtonumx(const char *, long long, long long, const char **, int); /* Deprecated interfaces, to be removed. */ __int64_t diff --git a/lib/libc/stdlib/Makefile.inc b/lib/libc/stdlib/Makefile.inc index c311ba3d2bcc..c2107fdaeaae 100644 --- a/lib/libc/stdlib/Makefile.inc +++ b/lib/libc/stdlib/Makefile.inc @@ -142,6 +142,7 @@ MLINKS+=strtod.3 strtof.3 \ MLINKS+=strtol.3 strtoll.3 \ strtol.3 strtoq.3 \ strtol.3 strtoimax.3 +MLINKS+=strtonum.3 strtonumx.3 MLINKS+=strtoul.3 strtoull.3 \ strtoul.3 strtouq.3 \ strtoul.3 strtoumax.3 diff --git a/lib/libc/stdlib/Symbol.map b/lib/libc/stdlib/Symbol.map index 03a6d0b543ac..373006b4a388 100644 --- a/lib/libc/stdlib/Symbol.map +++ b/lib/libc/stdlib/Symbol.map @@ -134,6 +134,7 @@ FBSD_1.8 { FBSD_1.9 { memalignment; recallocarray; + strtonumx; tdestroy; }; diff --git a/lib/libc/stdlib/strtonum.3 b/lib/libc/stdlib/strtonum.3 index 2650d147e7cc..7e6111a6ff71 100644 --- a/lib/libc/stdlib/strtonum.3 +++ b/lib/libc/stdlib/strtonum.3 @@ -1,4 +1,5 @@ .\" Copyright (c) 2004 Ted Unangst +.\" Copyright 2023 Oxide Computer Company .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -14,11 +15,12 @@ .\" .\" $OpenBSD: strtonum.3,v 1.13 2006/04/25 05:15:42 tedu Exp $ .\" -.Dd April 29, 2004 +.Dd January 15, 2026 .Dt STRTONUM 3 .Os .Sh NAME -.Nm strtonum +.Nm strtonum , +.Nm strtonumx .Nd "reliably convert string value to an integer" .Sh SYNOPSIS .In stdlib.h @@ -29,26 +31,33 @@ .Fa "long long maxval" .Fa "const char **errstr" .Fc +.Ft long long +.Fo strtonumx +.Fa "const char *nptr" +.Fa "long long minval" +.Fa "long long maxval" +.Fa "const char **errstr" +.Fa "int base" +.Fc .Sh DESCRIPTION The .Fn strtonum -function converts the string in +and +.Fn strtonumx +functions convert the string in .Fa nptr to a .Vt "long long" value. -The -.Fn strtonum -function was designed to facilitate safe, robust programming -and overcome the shortcomings of the +These functions were designed to facilitate safe, robust programming and +overcome the shortcomings of the .Xr atoi 3 and .Xr strtol 3 family of interfaces. .Pp The string may begin with an arbitrary amount of whitespace -(as determined by -.Xr isspace 3 ) +.Pq as determined by Xr isspace 3 followed by a single optional .Ql + or @@ -57,7 +66,10 @@ sign. .Pp The remainder of the string is converted to a .Vt "long long" -value according to base 10. +value according to base 10 +.Pq for Fn strtonum +or the provided base +.Pq for Fn strtonumx . .Pp The value obtained is then checked against the provided .Fa minval @@ -68,13 +80,30 @@ If .Fa errstr is non-null, .Fn strtonum -stores an error string in +and +.Fn strtonumx +store an error string in .Fa *errstr indicating the failure. +.Pp +For +.Fn strtonumx +the value of +.Ar base +is interpreted in the same way as described in +.Xr strtoll 3 . +In particular, if the value of +.Ar base +is 0, then the expected form of +.Ar nptr +is that of a decimal constant, octal constant or hexadecimal constant, any of +which may be preceded by a + or - sign. .Sh RETURN VALUES The .Fn strtonum -function returns the result of the conversion, +and +.Fn strtonumx +functions return the result of the conversion, unless the value would exceed the provided bounds or is invalid. On error, 0 is returned, .Va errno @@ -90,6 +119,8 @@ a successful return of 0 from an error. .Sh EXAMPLES Using .Fn strtonum +and +.Fn strtonumx correctly is meant to be simpler than the alternative functions. .Bd -literal -offset indent int iterations; @@ -107,7 +138,10 @@ The above example will guarantee that the value of iterations is between .It Bq Er ERANGE The given string was out of range. .It Bq Er EINVAL -The given string did not consist solely of digit characters. +The given string did not consist solely of digit characters +.Pq for Fn strtonum , +or characters which are valid in the given base +.Pq for Fn strtonumx . .It Bq Er EINVAL The supplied .Fa minval @@ -120,12 +154,15 @@ If an error occurs, will be set to one of the following strings: .Pp .Bl -tag -width ".Li too large" -compact -.It Li "too large" +.It Qq too large The result was larger than the provided maximum value. -.It Li "too small" +.It Qq too small The result was smaller than the provided minimum value. -.It Li invalid -The string did not consist solely of digit characters. +.It Qq invalid +The string did not consist solely of characters valid in the specified base +.Pq or base 10 for Fn strtonum . +.It Qq unparsable; invalid base specified +The specified base was outside the permitted range. .El .Sh SEE ALSO .Xr atof 3 , @@ -152,3 +189,6 @@ The .Fn strtonum function first appeared in .Ox 3.6 . +The +.Fn strtonumx +function first appeared in illumos in 2023. diff --git a/lib/libc/stdlib/strtonum.c b/lib/libc/stdlib/strtonum.c index 0d0715bf39c1..44c27d6af3ad 100644 --- a/lib/libc/stdlib/strtonum.c +++ b/lib/libc/stdlib/strtonum.c @@ -2,6 +2,8 @@ * Copyright (c) 2004 Ted Unangst and Todd Miller * All rights reserved. * + * Copyright 2023 Oxide Computer Company + * * 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. @@ -24,10 +26,13 @@ #define INVALID 1 #define TOOSMALL 2 #define TOOLARGE 3 +#define BADBASE 4 + +#define MBASE ('z' - 'a' + 1 + 10) long long -strtonum(const char *numstr, long long minval, long long maxval, - const char **errstrp) +strtonumx(const char *numstr, long long minval, long long maxval, + const char **errstrp, int base) { long long ll = 0; int error = 0; @@ -35,20 +40,23 @@ strtonum(const char *numstr, long long minval, long long maxval, struct errval { const char *errstr; int err; - } ev[4] = { + } ev[5] = { { NULL, 0 }, { "invalid", EINVAL }, { "too small", ERANGE }, { "too large", ERANGE }, + { "unparsable; invalid base specified", EINVAL }, }; ev[0].err = errno; errno = 0; if (minval > maxval) { error = INVALID; + } else if (base < 0 || base > MBASE || base == 1) { + error = BADBASE; } else { - ll = strtoll(numstr, &ep, 10); - if (errno == EINVAL || numstr == ep || *ep != '\0') + ll = strtoll(numstr, &ep, base); + if (numstr == ep || *ep != '\0') error = INVALID; else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) error = TOOSMALL; @@ -58,8 +66,15 @@ strtonum(const char *numstr, long long minval, long long maxval, if (errstrp != NULL) *errstrp = ev[error].errstr; errno = ev[error].err; - if (error) + if (error != 0) ll = 0; return (ll); } + +long long +strtonum(const char *numstr, long long minval, long long maxval, + const char **errstrp) +{ + return (strtonumx(numstr, minval, maxval, errstrp, 10)); +} From nobody Thu Jan 15 14:18:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8J6XCGz6P2b2 for ; Thu, 15 Jan 2026 14:18: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8J3gkgz4QfJ for ; Thu, 15 Jan 2026 14:18:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486736; 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=X24ClcjBdbp3vAPc2NjEyK05Rjq8SQXUgwRPWvr0xeo=; b=KkBvHuBAoXHLbH4Rz1z6pRaIbDoSzP1w6ViwjOdk2rwdvuKSSHMS4GplBvSRNMHZKWCsms eWoCa574aakZ1lGcqTdoUW3wlnh+aWY1EWwiDU1bVNnZB8oTevBqegGG8KV8o4dL15zcgr SaFtV4lCbnR+vpfO1lHyCbn3D0wVEeDuh+x6Gux/7eXkGBbN5XDnpA2bc7Caitd0nFhemo w6g7tlUxYdN21udZJkYUQwYdqasYl2Md6xYcQkrWxdTUjk56/aHVAzNLZYJNNu5KYYVyvF 9ZPCIlOgU3XNbi316W7hoWV7TTiYXWZA5AyFrxvtLEwgsd4Nyhzdomj91BM5pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486736; 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=X24ClcjBdbp3vAPc2NjEyK05Rjq8SQXUgwRPWvr0xeo=; b=AIZ0aEKyQI89+03TYRSQLr27YABgWt1uLkgF8QCwmA4bCSw3/xmDkVPnAdr8ql4+mdkNct OgpyhqrQHQj/79r6yOgDyn9jcnIbjV0Pgp1TTUVADCxpTJPf3AgQEQUrdxRYfjlHXsPGpN 3PtPfTrtfHBhL5umzkV4+zC1j6EDHzdAIabYlawiaFWalw34DK0Hqkxpv6bBa5hwnErCuj k87l95aNUG3N5sKfbczhgQfTcQVwUZo3GcvINPmz6sXR9uFfeXjjW9JlhMXwJElJ3uWtxo AVeg9um6N/P4P2DYsjQlQKkg3XqDCTeofRByxRXi8Y+Vwy+rU60I+G2nw+Ogow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486736; a=rsa-sha256; cv=none; b=Y5YP2sFuIHGuOpKtCDN0FozwDZQMCZz5wbwDPzn/8eCm0vGK5oFwTZjp26aWn85gz1z3Vg lni+EXRPXTlY97pmOFFG0gzSFY5Mm6T/BnrgQiL9MiRPJ/ZirzECMRHhghdrxB/ryV9X6+ U1v8oxSSryE0wq+cjy2Gus8yeuFwSg6gayzOaXTIrpT411zpcZLjpuB5SPlb2wlJt2YoU3 siivyrCd3ABUMvcpXW+XNt94agXcXdcCZTsJKSqztvB5l+CUjA3C89e3f4f+6IHXkhIXXT 0r30oieInQbqygUFxgQILEDgAus6ilPTCNLie662e/kgK0l5NN0ZFV6sKa/HNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8J31tMzXWf for ; Thu, 15 Jan 2026 14:18:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e64a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:18:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a4955b014336 - main - linuxkpi: Fix an error path in linux_alloc_current() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a4955b0143361900140df640d116891f047f5431 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:18:56 +0000 Message-Id: <6968f750.e64a.5fcfff58@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a4955b0143361900140df640d116891f047f5431 commit a4955b0143361900140df640d116891f047f5431 Author: Mark Johnston AuthorDate: 2026-01-15 13:50:43 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 13:50:43 +0000 linuxkpi: Fix an error path in linux_alloc_current() If the allocation fails we should free the task struct. While here get rid of a couple of unnecessary assertions. Reported by: Kevin Day Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54671 --- sys/compat/linuxkpi/common/src/linux_current.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_current.c b/sys/compat/linuxkpi/common/src/linux_current.c index c342eb279caa..3bc5d31d211a 100644 --- a/sys/compat/linuxkpi/common/src/linux_current.c +++ b/sys/compat/linuxkpi/common/src/linux_current.c @@ -90,11 +90,8 @@ linux_alloc_current(struct thread *td, int flags) } ts = uma_zalloc(linux_current_zone, flags | M_ZERO); - if (ts == NULL) { - if ((flags & (M_WAITOK | M_NOWAIT)) == M_WAITOK) - panic("linux_alloc_current: failed to allocate task"); + if (ts == NULL) return (ENOMEM); - } mm = NULL; /* setup new task structure */ @@ -118,10 +115,7 @@ linux_alloc_current(struct thread *td, int flags) PROC_UNLOCK(proc); mm = uma_zalloc(linux_mm_zone, flags | M_ZERO); if (mm == NULL) { - if ((flags & (M_WAITOK | M_NOWAIT)) == M_WAITOK) - panic( - "linux_alloc_current: failed to allocate mm"); - uma_zfree(linux_current_zone, mm); + uma_zfree(linux_current_zone, ts); return (ENOMEM); } From nobody Thu Jan 15 14:18:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8K6Qctz6P2Tt for ; Thu, 15 Jan 2026 14:18: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8K4DC2z4Qhp for ; Thu, 15 Jan 2026 14:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486737; 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=picccOrhR3X2iwBJGKA+wS+CJVpYX/iKmuRsz+DFtVA=; b=cZH1hpYZNrC0wA3RTZVtSv1gfnJuym0ibt9O4+XYAVByrFQytP4pPLlY3+1DUDGmKoVo7x k4IQDVG9Sk48Q6sJHwO7mkFfiBKxAx+cTa0CqeM14KyFYKacQEwjHB6AjPUv7yDLJ7alFr 2f4B+vXCMFG0CUXFXdNX8gT5bBJSvDSWcgnlzPrFBfq61Zd9j0u+HyURIGO5nFvwsR1vI/ dp4wUtal0SqpqAKCARL2fM8JthNTTUTZ4wbxMT377YrvgJF0NPGyXlgXu66pF1AmBKEKMj 7yZjypuDCBjbyW/G0JaS5HkFyGdHcsYMZrsBRC84KgkQXmwQzJuUuPTtI7lK5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486737; 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=picccOrhR3X2iwBJGKA+wS+CJVpYX/iKmuRsz+DFtVA=; b=qwrapC9AFIHSPams4RijOegLQJlhdIk7MnOZHCoz3AhW89Q4wBte7TArJTQ6XoBEUmd8y9 aSQjDpM4bGW+2tawW4MGLS56zE1Al1jHqL9tNOCmlLLHthnIxuqiCaddv6om0Me1pJtfaB 88EvKEqbNS6trwYHeKo+oFvFpuJ8fQctG0Me5NLoYOeswPH4fp1atJPXxoOYrY3d3lHAF0 StlEYkkgFE4pTlwSqtPLRp/M1YyTbmpW4CxwdgNm3dhqRGAZ5HiqUUzR2PWwyeg4HSo/ps tJSRD4hsJBkcAZzhbWfasg5hixUCKuCRgGcwSj9kPVZe6hJuh3drRNbsM6YF7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486737; a=rsa-sha256; cv=none; b=CQ1gvBl5ue0mdB+2IAKxmId5iAwGuJYzu+C/Lck5BLOSVy4SkRctqNiDAWfsoDuelizJiu A9aUIWf2jFvSkqT1Fv0OUdzgPpeMGmwOzpJOIW04SzUd5cqZWFmPCvAHR70saVPDe2QIvz bdkpi3iPzw4ni3sQdFv7OV+QUTHzLFl0DM8DT5lodC2X9InEeNt8Uk/9/+2GncFpNFqXzY N0s3m/kDiLvGrmSzWrbXSgaLs5rqIzEqUfwqvVo5Os5k16ufqE5VJbztm8F3YrFcnYvids RGF7R9lHzVuKePeCg/+UfafY159clRweKLLBkf/K/hUATV+o/1yoF+k/m9sLOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8K3nVjzWg9 for ; Thu, 15 Jan 2026 14:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f713 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:18:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: aa1eb6233890 - main - linuxkpi: Avoid a potential null pointer dereference in an error path List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa1eb623389008c95b897976f4d28a7fe0acd93c Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:18:57 +0000 Message-Id: <6968f751.f713.1a206b20@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=aa1eb623389008c95b897976f4d28a7fe0acd93c commit aa1eb623389008c95b897976f4d28a7fe0acd93c Author: Mark Johnston AuthorDate: 2026-01-15 13:51:17 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 13:51:17 +0000 linuxkpi: Avoid a potential null pointer dereference in an error path Reported by: Kevin Day Reviewed by: bz, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54672 --- sys/compat/linuxkpi/common/src/linux_firmware.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_firmware.c b/sys/compat/linuxkpi/common/src/linux_firmware.c index 12658df5ce83..0c6d855501ef 100644 --- a/sys/compat/linuxkpi/common/src/linux_firmware.c +++ b/sys/compat/linuxkpi/common/src/linux_firmware.c @@ -66,7 +66,8 @@ _linuxkpi_request_firmware(const char *fw_name, const struct linuxkpi_firmware * uint32_t flags; if (fw_name == NULL || fw == NULL || dev == NULL) { - *fw = NULL; + if (fw != NULL) + *fw = NULL; return (-EINVAL); } From nobody Thu Jan 15 14:18:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8M1vNnz6P2Tv for ; Thu, 15 Jan 2026 14:18: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8L5knZz4QW7 for ; Thu, 15 Jan 2026 14:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486738; 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=736QsjwsyMG+lNOk8lh1JQD4aOGNqZrOVb0/LYSen5k=; b=f5YAsUWzGr5q/NpgRf3+mNn/eJeLymyYe7nVHkTnfYVyKjVxpcWfpIdYlgXb6c0OWowSFU C45pdo587xVRrV81QlZoqiXNHjcoVHiMu9I1BuCJrrSIzRIX8tV1Cqx8YJUeoN1tF4+YkN /cvXVG6fRpbG4FGKhQTHo0LcE1amGcr6CdI3uSFjwwmIAUkbJXxMWyY92nUbrlU2e6iWb0 /vVNHEb7HkqeyYtRvA9ihSxmVc17jCJLXH1fcV7t0PaPIaMvrtpt/JwqxfQF/fqt+izdNU uG09K+JorOEh5VWafyYLMzfSotZ+50hcTN6K6qw0fno6Wc21fSIF4wQwPHcujA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486738; 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=736QsjwsyMG+lNOk8lh1JQD4aOGNqZrOVb0/LYSen5k=; b=igXyYen2SFTn9KmrvKof/wT+V9MdFh1Y7WEo+sdm1ZCwqnom55M388XFX9nQJJI/I66PDq OiQulJYFeCowKdyeoO+o8olWLy+ReQyRPn96oQAFO3dvVIBj26KWu14HEDe7sI0Doj4aJ7 +vWxF21BjiLpuY2kjesof7RRTqe4BoMQMx/5EwHSjpbhoEThKE5WgEizVo+8TtFP3gVzyA z/zvoLP4+q9BCmdeDOI/2+E7fUj+RWrf6m5O7WnkZKhMst5lsgdv/hjFeKD91SQLj3amRR MifzyImg+mEvBUTWQjUEuS/kNP0Ev6YJ8dhb1SZ5Arg3FS7fyTR9+nKu+vyG5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486738; a=rsa-sha256; cv=none; b=fMJwFgFhzbvG/yQ9KasiVjWTqtvH6O7qtmDQNEETt4V15eG+UY2RcP32qNNhNfqAL77Jke neMWJVLvV1haEYvqq8zOjROFG8Z8o6CkBBwj8oYARzEvfDeWKAkQCINsaJdMaARZgKoHUC 54UvES6KcpM0qc8ofTf6lYlNCilkmHla4n3fGZB4WXeTztney82VAtlpoQF9tN54ie6Nr9 o+NNMsHY43auQI/7GgLHunIngxkfUisJgNPhI3XoESAkYHZfHOMClDRvxfDn30uKA2vkYs kKhx7Nm2ziF0AuZpzoA+0RnrKqczaOs1MBCORgw+aXwf0OTCvgCdrI6aGRllhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8L4bD4zXZT for ; Thu, 15 Jan 2026 14:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id eeb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:18:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 251662e5abdd - main - linuxkpi: Clean up linux_shmem_file_setup() a bit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 251662e5abdd85f5a83766b400e23c2ac5597fb9 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:18:58 +0000 Message-Id: <6968f752.eeb6.65a21506@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=251662e5abdd85f5a83766b400e23c2ac5597fb9 commit 251662e5abdd85f5a83766b400e23c2ac5597fb9 Author: Mark Johnston AuthorDate: 2026-01-15 13:51:29 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 13:51:29 +0000 linuxkpi: Clean up linux_shmem_file_setup() a bit - Free the pointer that was returned by the allocator, instead of the address of the first member. These will be equal in practice, but it's sketchy and won't work on CHERI with subobject bounds checking. - Use an anonymous struct, there's no need to name it. Reviewed by: bz, brooks, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54673 --- sys/compat/linuxkpi/common/src/linux_shmemfs.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_shmemfs.c b/sys/compat/linuxkpi/common/src/linux_shmemfs.c index 1fb17bc5c0cb..d5c118ba7624 100644 --- a/sys/compat/linuxkpi/common/src/linux_shmemfs.c +++ b/sys/compat/linuxkpi/common/src/linux_shmemfs.c @@ -62,11 +62,10 @@ linux_shmem_read_mapping_page_gfp(vm_object_t obj, int pindex, gfp_t gfp) struct linux_file * linux_shmem_file_setup(const char *name, loff_t size, unsigned long flags) { - struct fileobj { + struct { struct linux_file file __aligned(sizeof(void *)); struct vnode vnode __aligned(sizeof(void *)); - }; - struct fileobj *fileobj; + } *fileobj; struct linux_file *filp; struct vnode *vp; int error; @@ -89,7 +88,7 @@ linux_shmem_file_setup(const char *name, loff_t size, unsigned long flags) } return (filp); err_1: - kfree(filp); + kfree(fileobj); err_0: return (ERR_PTR(error)); } From nobody Thu Jan 15 14:18:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8N4WPbz6P2fD for ; Thu, 15 Jan 2026 14:19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8N3DVVz4Qft for ; Thu, 15 Jan 2026 14:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486740; 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=Xph6Oyz/mqm4YwirckEgUI3/0ogcdLCJIAGRE7WqQ80=; b=jw8QBCrrSI9Kb7RW54ElDmjed8s6epeqd1h6dt/1JNeZE5fHnS65bDe++8ksrayjTnCmPv osaORx1Pplabrb3QyIg+LoHSNWpy2vFbm2qkjeMFgVeMWoIJTfzA6PqwgT3YvBCPXaZHfL 3ECCbQEsWa2M+O4PUpfDKytech4UTYyTpUS/DywPEzJvLWLnpdnCsGcemvrKH3Lr07PHVr nvkjyMKQQm/zKWDCGUcRGEQdcPsiqj7LnmYJZGlPgIahHswLgfljp3UKC8oPLKrRAhclp/ hQvIkpAK2KO1CuozBm4XqdvvEdtbs/89O140oTYi7d3YgTVest7Qka8Jj1o7iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486740; 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=Xph6Oyz/mqm4YwirckEgUI3/0ogcdLCJIAGRE7WqQ80=; b=twd4tuKiS18DoYsNR6SgXJK458Y0/vctZdhXj+GdNLlgHH6QyjHl+tcYN9KegsWhl3dGj8 +DpTUBnsCKLjMeL2BhMsDXh08scjzsWadwD/Dd40OjDCAU7uhxy9dOddYXQDkudM5GAv55 VpOFVJj+GVn19/qkGNC99Bzb1kabLu3H9+97+7Phapa7cgU+HyoMzEl3W5XR+yw8NFGt2G GmjUV3KReQz252iMkdthXR9jU7VheXD65yqmXbvDMp7elJwRcWA42Id8S31c9HWfKu+AiB zUb7jKTAOvTnoOzUc3JTHHPxOgbo29v/yWUyzn28bcTUgbVE+aMZZtami6o+Tw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486740; a=rsa-sha256; cv=none; b=VnT0y2EwknnALxSfpPA1vYOfBL1gCgHu/Cc7zanS57qr5/z0NBgA/YbH+j6H52ZzkSZA3x tv/suCbFUlnpIBV1+lvpr/znSvmr0EsOby4HxEQApjrPdvYpkkLn/wFYYCfdMq0S6hv7mv r9P04Q6adpn6MAGG/meXqvX4i4+l3Q5YSEEfvyxapXCZdFkiB2XaLY1sV0cv1nWh2skYSS 0/2UJj8rr9OXVb/F7b6H77NbDpZ5FIpvjqD/XoF6V21iAgLkX7ApzA8On1fIGlFE1aRIq8 cSUf/WTMlIvAA2ATmRqxywc4KdRCpcjFLcqwt/GVm5fYQk6YAU37i19F1Lgh/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8N2SKVzXXx for ; Thu, 15 Jan 2026 14:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d96b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:18:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 9d015a916745 - main - Remove the DEBUG_VFS_LOCKS kernel option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9d015a916745e320aed50fc759f111fc7622e427 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:18:55 +0000 Message-Id: <6968f74f.d96b.6d90ab37@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9d015a916745e320aed50fc759f111fc7622e427 commit 9d015a916745e320aed50fc759f111fc7622e427 Author: Mark Johnston AuthorDate: 2026-01-15 13:50:20 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 13:50:20 +0000 Remove the DEBUG_VFS_LOCKS kernel option After commit 3bd8fab2415b ("vfs: Move DEBUG_VFS_LOCKS checks to INVARIANTS"), this option has no effect. Let's finish the removal. There are a couple of additional uses in zfs, I will submit a separate patch upstream for them. Reviewed by: mckusick, kib Differential Revision: https://reviews.freebsd.org/D54662 --- sys/conf/NOTES | 1 - sys/conf/options | 1 - sys/conf/std.nodebug | 1 - sys/fs/unionfs/union_subr.c | 2 +- 4 files changed, 1 insertion(+), 4 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index eb33d0abf919..6d3ea088b819 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2673,7 +2673,6 @@ options INIT_PATH=/sbin/init:/rescue/init # Debug options options BUS_DEBUG # enable newbus debugging -options DEBUG_VFS_LOCKS # enable VFS lock debugging options SOCKBUF_DEBUG # enable sockbuf last record/mb tail checking options IFMEDIA_DEBUG # enable debugging in net/if_media.c diff --git a/sys/conf/options b/sys/conf/options index c86560491faf..c9b9307718b7 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -601,7 +601,6 @@ BLKDEV_IOSIZE opt_global.h BURN_BRIDGES opt_global.h DEBUG opt_global.h DEBUG_LOCKS opt_global.h -DEBUG_VFS_LOCKS opt_global.h DFLTPHYS opt_global.h DIAGNOSTIC opt_global.h INVARIANT_SUPPORT opt_global.h diff --git a/sys/conf/std.nodebug b/sys/conf/std.nodebug index 79676a1d618f..7ce16e9b52aa 100644 --- a/sys/conf/std.nodebug +++ b/sys/conf/std.nodebug @@ -7,7 +7,6 @@ nooptions INVARIANT_SUPPORT nooptions DIAGNOSTIC nooptions WITNESS nooptions WITNESS_SKIPSPIN -nooptions DEBUG_VFS_LOCKS nooptions BUF_TRACKING nooptions FULL_BUF_TRACKING nooptions DEADLKRES diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index 90be4d6af812..6489eb77ce2b 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -1071,7 +1071,7 @@ unionfs_forward_vop_ref(struct vnode *basevp, int *lkflags) * forwarded VOP reacquires the base vnode lock the unionfs vnode * lock will no longer be held. This can lead to violation of the * caller's sychronization requirements as well as various failed - * locking assertions when DEBUG_VFS_LOCKS is enabled. + * locking assertions when INVARIANTS is enabled. * 2) Loss of reference on the base vnode. The caller is expected to * hold a v_usecount reference on the unionfs vnode, while the * unionfs vnode holds a reference on the base-layer vnode(s). But From nobody Thu Jan 15 14:18:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8N4XMxz6P2c1 for ; Thu, 15 Jan 2026 14:19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8M5t6Gz4QTY for ; Thu, 15 Jan 2026 14:18:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486739; 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=Qsa8pSMZc9Wlx2SHR2YH2ISwjhszziQxb17uZMl/IGc=; b=LjrnqdtY1b1yCJWdSuiBR+yMKHH/rbtXz+sia61J06NLY7/c6Zxz7yt3V/PS0NiqE49/c3 dLYuF/+PMFgu/KtWtaLj3sYH1dm//FKtRuzk+2ijedqGdLlw6zQK+YIHQLd3oVdgj+W/sh 8lU4ADftYFuNOx2fRdj1eMJtNrwXubbbsW79P0JEArQBg4bV0M5mUccyAGPndNTywFlJtc D/mp7pkCGxm0ryp8TqUcsoViAHvuml0Z7cwh+pTWk0esQzOsGMsgfmh/2gAmCawU0+xayp +vgQzUtrfIhobJv6Vi5Q3ApEfxYfiqj5o8bNyWGNVH3tQ6ps48vAH2g67iqFrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486739; 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=Qsa8pSMZc9Wlx2SHR2YH2ISwjhszziQxb17uZMl/IGc=; b=O3bqswueb9P3/qVFgsrSAbOyDIFe1pligYqSRq49cIDP9Q1VelPCsL8p8NC/OW/Oe7orPd i3HtEXMNshQemgM+L4dKKxk6NJVFu+V9utbzhWZ3VJqsv66hfuzYnmkjXOQtkqBtV9edhg DY+N6rCb+OdaC2/ixhL8+BbGnjIEm770ZRejaV0mrHJqS4hSelhlN5Z/UozzAp03M9pJdu 0hGhUiakO9ZG8qwl7TzqEbceosj44zNvjZe4KfhC9c2lM70gedkkAkEYwILNPrvFYAwu+9 SV/eZoqvb9WY8iXYwJsbdVkes/nxHdlu62j3b1udTle+vQSEkjuA4rZFmMyOcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486739; a=rsa-sha256; cv=none; b=tyIi19267Yq/TxvIH1UATZ6k+ahIY/rLH1eq3+/FCUrtOG0hGFjErX6roMsD6uzolVivZg /WWnj6jWDxZdB+1m8JVZYRu3VN+iC+MEDUbmSAyuelIxkSFRPSVCA7LJlNYi8/Sd8lsuzl AbiiODy6U9YNDX7kxpiZb8cNYPoU21cHW4ClzkQHWmSH01Zdq6vdr+ZBrxPR/Hg005ttPO SP9xM8A8Fzqdvf8Dq1VWdskRLkL/CIAogMA2LdQ/YPRUi5sJV1hsQHhlZX0i5twiTwPkpK RE7dVptkzlWIaMadmeiMK6Oe5/oUjuz64E0tYJJBiUxy2ZvaT0i2jvwaV3a83w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8M5QgPzXgM for ; Thu, 15 Jan 2026 14:18:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e12f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:18:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 6fef0c9ee64c - main - arm64/vgic_v3: Fix an inverted test when reading GICD_IENABLER List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6fef0c9ee64cea1f22b6a33a0c4dd39f605b7465 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:18:59 +0000 Message-Id: <6968f753.e12f.95202e9@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6fef0c9ee64cea1f22b6a33a0c4dd39f605b7465 commit 6fef0c9ee64cea1f22b6a33a0c4dd39f605b7465 Author: Mark Johnston AuthorDate: 2026-01-15 14:04:06 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 14:04:06 +0000 arm64/vgic_v3: Fix an inverted test when reading GICD_IENABLER On read, these registers' fields return 1 if forwarding of the corresponding interrupt is enabled, and 0 otherwise. The test in read_enabler() was inverted. Reported by: Kevin Day Reviewed by: andrew MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54678 --- sys/arm64/vmm/io/vgic_v3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/vmm/io/vgic_v3.c b/sys/arm64/vmm/io/vgic_v3.c index 22cd06b09d7d..199749c12b9f 100644 --- a/sys/arm64/vmm/io/vgic_v3.c +++ b/sys/arm64/vmm/io/vgic_v3.c @@ -672,7 +672,7 @@ read_enabler(struct hypctx *hypctx, int n) if (irq == NULL) continue; - if (!irq->enabled) + if (irq->enabled) ret |= 1u << i; vgic_v3_release_irq(irq); } From nobody Thu Jan 15 14:19:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8P3XYKz6P2Qk for ; Thu, 15 Jan 2026 14:19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8N6nzSz3Bly for ; Thu, 15 Jan 2026 14:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486741; 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=T2SbX+Ov5w3v9v4U2RU3HXpwV0lC4/zRzzs2SzoggsY=; b=PIEDayxBQUJgzQmxNeLyOH3xXlQ+yYdo8PW9MBgXkvdEJOGLshxuqwf5Q00oCf5NmY3HTy 1WAXwogHH0TFFwXJx1o1l+sLKfZNpQpeqY7yP+d+Uo0iS7Pcjlq1FZ+UiUgO2NfRp4VPEG jCaS7c8oN3eZRyRk9ZxfZA4/4MwAgboD9CRMYV8688+Lh/HpAuGb6AhQSHj8DHcPMimflA wlJqexDWCzQ+evvO25DjWf83ERpJ+laOoJZoU3RkRax0zdA9nbBWFWNS0PIbdWQ8CcUc5v r0ddYP0Tjf6xa8/tERQOAigDA6w/Pw4Gsx37P8tuVi3T+2piQPWwcjbVa/LH3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486741; 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=T2SbX+Ov5w3v9v4U2RU3HXpwV0lC4/zRzzs2SzoggsY=; b=wEhjL9khwMmPgzYkGi/0y8Y00s7u9+bCQZAd8RD1V2fSXmVhyptiSTuV47KmDxwI42hiTW Td9pIw5HXsXkupqb3Y0os5aep7L/GRvFmoyqJ+OqLS/sWO0SsEs3nwd5zXi15AM0YX6bNc Po6Pgg9I2vrymi1WjDJBIbghYMPjJgXy1vsAWIyia+37I9KY7JcKVdxZo4VuMlNYG5t180 chWcVVNW4Vk8wuZrr81RhKcVP9GYDQgesbBCL5K5e9aKZmZj5gqX+0cXlLN/OzRHcjOXSk Fu3yKTN7OPKbWTSBzXLxguH5agX6lYrYotGH+x1LztLRmn1efxlDE0FIGF1Ruw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486741; a=rsa-sha256; cv=none; b=AXxPwf7wOvy/ikqa/DLQG5WLBbhNW6PpcvME9LN5jGmDYct+1Tp9UH7+Dp8W+QZUjFzk9l gYqDm6KzchYIZOlIyQoJ71zvsw63XISfNyhSjVw6B42is5Uah5ve3Tp43QQ3VHk5BBFRXS uc865XP4t9k8fnsoS19HLxzhU84IGX64k/cPZbrVPa20ZdjuQ+gYpsEAy05QLI4xFeXS2w dmRsJe0y91ElSOGxqUSji+nytFVYohJ6/BdTHS9JIDWH3Oo+Sz8dNZhoRf2aVpr3H3V0Bu 9htEz9r6aWjTX10omqrfPSj4M8Z+BYP5Uf8ZhJP5u+t+ZNS6s9wmUU5CT6mPew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8N6DMxzXd4 for ; Thu, 15 Jan 2026 14:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f1f1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:19:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 6740cccb1eff - main - arm64/iommu: Fix a resource leak in smmu_domain_alloc() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6740cccb1eff2a0e1e6d451fa9676a21736937d2 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:19:00 +0000 Message-Id: <6968f754.f1f1.6a01e806@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6740cccb1eff2a0e1e6d451fa9676a21736937d2 commit 6740cccb1eff2a0e1e6d451fa9676a21736937d2 Author: Mark Johnston AuthorDate: 2026-01-15 14:04:19 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 14:04:19 +0000 arm64/iommu: Fix a resource leak in smmu_domain_alloc() We should free the allocated ASID if smmu_init_cd() fails. Move the allocation of "domain" to simplify the first error path. Reported by: Kevin Day Reviewed by: br MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54676 --- sys/arm64/iommu/smmu.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index ec8e04ce117b..a84ef4ae347e 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -1698,22 +1698,21 @@ smmu_domain_alloc(device_t dev, struct iommu_unit *iommu) unit = (struct smmu_unit *)iommu; - domain = malloc(sizeof(*domain), M_SMMU, M_WAITOK | M_ZERO); - error = smmu_asid_alloc(sc, &new_asid); if (error) { - free(domain, M_SMMU); device_printf(sc->dev, "Could not allocate ASID for a new domain.\n"); return (NULL); } + domain = malloc(sizeof(*domain), M_SMMU, M_WAITOK | M_ZERO); domain->asid = (uint16_t)new_asid; smmu_pmap_pinit(&domain->p); error = smmu_init_cd(sc, domain); if (error) { + smmu_asid_free(sc, domain->asid); free(domain, M_SMMU); device_printf(sc->dev, "Could not initialize CD\n"); return (NULL); From nobody Thu Jan 15 14:19:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8Q3ylwz6P2hc for ; Thu, 15 Jan 2026 14:19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQ8Q05F6z4QLl for ; Thu, 15 Jan 2026 14:19:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486742; 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=6nyuYOYkygmtwYfskJ6V7LDMaDUP8MLwRYymcxR3bpA=; b=IDwpZCxT49AKYDhaSaUzNR0pbWK96qzkZuUDOsScESbS0yy92QXHuuSnZv2yW64jiW5dFt kEG0lO5WmWBUGsaXE5xNsqpPhq1Ti79I9qjUHvnhPlUqDN4Q+vY8diaLR5GP3h5SOxBTya rQ38B9r884orvXWMC9nDbjUhQwJNPUzb7yV0T33WKsmC4AKAOTcSrPB/xLjmrGhKjC56vI ApvDBXT4T0/b1lle9vuZdYZqCazTtq8rdngpW6Qt6EimU+FfFaVPzdMiJOyYhVv9aKlZTo ZOs9Y6KNdQWwyT2+iFLqrM6y76VSbdvwR8l1HGdMOW20J6rUIBqR4mos+Pe9tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486742; 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=6nyuYOYkygmtwYfskJ6V7LDMaDUP8MLwRYymcxR3bpA=; b=UtH6SmpWQfQ/Cl4nlphrwGvqZzEKC3CBuxjRLMrHCDEYzf8pjESZ2adQknU6G6z3HDx0cT GzDz6KWgiBIwN3qxFdixlOGaVKSbgxEPnpbMadEITIxzPZwIlKN5ErQdKBAAHvIqpVwunn moHZmHUokDf6yFn88Y5//pBopcxboieGVniMGFBuB5D4bhAaKa1lb9Of96fasOVMpyCa3e b+auJEITLuL7BfCr9N5teSqRTO7wAPL0ZZ0UPqKwR9NTW4+hObCB6lxycbTKXiKSIOwGah VWzv5phE/X1CcpqHhP37gzIGvQf09SDd7PgSCvOfy8yBe4Tv91YgShddyf94yA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486742; a=rsa-sha256; cv=none; b=NEFVw9PJ56z4Au/PK17tl9AYijppx+Ow0tyTl3BtKMXy7i3pkjlDZZ7QI3hU6B4FlDTKmp tJtLzW0HFFV0cONuqGksHw8ha8cmyH1rt+g1ppT7DRNOFGE8PikT8yxPOOjmoo5GpjMqeD 1FdtTr56DdEerqgYRdMGCsUrXK4uEFB8+cXo1xFzF6cOqjwmhBOtVUbGEGldWHHjWy73yu VX+Vp3WZM3D9wSOM1nA/nq2H+RF/s+8nS78BHT8hw8JiwQGYXpagzQRobX5U0qkDn6lnMp 47hIPmohfY76Y5vuES1RmLZprfYUZwi/yB9vaRO7zYivY5eiX+H5WGiKZW15ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQ8P6b4QzXZW for ; Thu, 15 Jan 2026 14:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d970 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:19:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8bc63f01e3fa - main - nvme: Fix a typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bc63f01e3fabe6789960ed3b2751350ddd87865 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:19:01 +0000 Message-Id: <6968f755.d970.457f8c36@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8bc63f01e3fabe6789960ed3b2751350ddd87865 commit 8bc63f01e3fabe6789960ed3b2751350ddd87865 Author: Mark Johnston AuthorDate: 2026-01-15 14:13:50 +0000 Commit: Mark Johnston CommitDate: 2026-01-15 14:13:50 +0000 nvme: Fix a typo Fixes: 73c921ef1d44 ("nvme: Add ability to override ioq to put the request on") --- sys/dev/nvme/nvme_private.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index b520b9946f7b..96ab5cc553e3 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -555,7 +555,8 @@ nvme_allocate_request_ccb(union ccb *ccb, const int how, nvme_cb_fn_t cb_fn, #define nvme_free_request(req) free(req, M_NVME) static __inline void -nvme_request_set_ioq(struct nvme_controller *ctrlr, struct nvme_request *req, unt16_t ioq) +nvme_request_set_ioq(struct nvme_controller *ctrlr, struct nvme_request *req, + uint16_t ioq) { /* * Note: NVMe queues are numbered 1-65535. The ioq here is numbered From nobody Thu Jan 15 14:21:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQCH3BZDz6P2xn for ; Thu, 15 Jan 2026 14:21: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQCH1yjkz3FKb for ; Thu, 15 Jan 2026 14:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486891; 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=t+QyyNTLzTjbRej0FMVqxgaHnTpI4r4bbN6I3uP1d9c=; b=cS8oJZRZ7vkE/9sIE2kA99sjWPJXOYgZ7ELUXqzcGdeaqT+rywjTBcS48mT4M6pyfzADXu 6pxIVsJcK1HI51y9p2Mxu3CY7cV7yAfxmLlZQrgPRBE5/9doVPLgZA+HspX0To/UHGqagp plha29qkxCcq6Z2wccEUdIxvKyfwtAjMHIpvDVU0vEnPd/YcihwrrCUCjiamzs9U8OITw4 rK/YrNN63K50kOtKNa5jWLQSgSmwojTplwA8mkPNUytlYHGL6MGkvvAdLkQBPQtlJaL1Au uyZTWUmADNYgVxuQb4mtAGiH5WIUUZmVd8eDHn3F3inCbU2TdGxYsVbK5YtZUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768486891; 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=t+QyyNTLzTjbRej0FMVqxgaHnTpI4r4bbN6I3uP1d9c=; b=k85a430tsRI315WIKCjmS0nQaxXLrdxNXTHk9LAaZ0gSHTSz7jyc529eR5QKulExHUyazU Vl9V/37Yio/X6BGRYXN2nMUv2bo24fpT2clfbbX+ZoTr/+8lYXKtarNUAD7qzvhLgS285U 40IrnmE8GKVkzgul48x7uKX4xMVMgtvIZ47PidvJOb0bE2Q1XeqK+zD4sgxOCQ6UMUAbIX it6r6wlsd5k/+uvKaozvVEHWOlNKdPOhFfCMR3U9La4xfcZnMrm/M+30+5bwZ+srNcAxC3 sfTW5NIgFeYRi0BD4MUsTFAK1Hqix49JxROKrtapRSn1rMciSOqNS2Vxf2Pi0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768486891; a=rsa-sha256; cv=none; b=PfiOQCEmYX3liivrDujA3GvjDxUVMrWClQ887wbQwjtgNsbq2ELOYaS45LVxurciE4D9dW dWyxY6d4gwwUGe2f/PI6Nq61f4SQ/NV8O5pTeXiY4yQGgDYT724VCxrtD1UO7S7KYWCjyK mpjzgAMkz1qQKzojSjv0wFjhsgUw1bLfYptdKunPTu3R1HOLTVbb4D6DeSQTiH/FEFGehD BdZ6kQDBpXpg1JnbDeYR+uaB3MQs1U/+8rn5dwzXwjlv5cerwUpMfGq/5jx6cgGSHZPPUK FA0a5t9etKAYzNU11EW6zIGTnmSMXuOc5e9Jrs8EdfqCGQo7ur7OfBzx0zsnYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsQCH1WL9zY1s for ; Thu, 15 Jan 2026 14:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20414 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:21:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Johan=?utf-8?Q? S=C3=B6llv?=ander Subject: git: faa31fc0e7ac - main - netstat: Remove padding from cc and stack fields List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: js X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: faa31fc0e7acc1c53bba2b69a63e9ff55d24faf7 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:21:31 +0000 Message-Id: <6968f7eb.20414.49b609aa@gitrepo.freebsd.org> The branch main has been updated by js: URL: https://cgit.FreeBSD.org/src/commit/?id=faa31fc0e7acc1c53bba2b69a63e9ff55d24faf7 commit faa31fc0e7acc1c53bba2b69a63e9ff55d24faf7 Author: Johan Söllvander AuthorDate: 2026-01-15 14:21:07 +0000 Commit: Johan Söllvander CommitDate: 2026-01-15 14:21:07 +0000 netstat: Remove padding from cc and stack fields Trim white space padding that gets added libxo fields cc and stack when using -C and -c. The padding is only visible if you're using multiple stacks or congestion algorithms. PR: 292262 MFC after: 5 days Reviewed by: asomers, tuexen Approved by: asomers (mentor) Differential Revision: https://reviews.freebsd.org/D54709 --- usr.bin/netstat/inet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index 6e4811480237..ddc9a2fdd2f4 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -541,11 +541,11 @@ protopr(u_long off, const char *name, int af1, int proto) } if (istcp) { if (cflag) - xo_emit(" {:stack/%-*.*s}", + xo_emit(" {t:stack/%-*.*s}", fnamelen, fnamelen, tp->xt_stack); if (Cflag) - xo_emit(" {:cc/%-*.*s}" + xo_emit(" {t:cc/%-*.*s}" " {:snd-cwnd/%10lu}" " {:snd-ssthresh/%10lu}" " {:t-maxseg/%5u} {:ecn/%3s}", From nobody Thu Jan 15 15:14:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsRNd5rnbz6P5LP for ; Thu, 15 Jan 2026 15:14:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsRNd4z5kz3QvC for ; Thu, 15 Jan 2026 15:14:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768490081; 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=tkQbYlu+kOsMW2gYiAvgOCnmzczRESF9nkm7fSirK00=; b=gdj16R7GjMFv8oAiDIF3ufVePf2f9Xvj4GzPCKI498ZWfmMrKUp2W3xwahxHhIloHMYKgv shdpbOI70MfR9y5/qLBsM0BOQcDNTavDx0rT+8pb5DQkPMoaRNNWSInYTfK1rEN0jAKYUm hFgabOqlM8SpbgA8UR9O/12LqY4CP7F/PH0D7Om+RCkA7duEUaEOSbkU0jD5+YWkMcBRJX MDeLJb/qaFboUo9tLAeqkUOXjWOTf/JPsSbf3WXk77OdsMjZnZhLmf9YmzzU72JnZoIl6S 1p774Z4LuA+/8Xp3lk8um/UrGBr8vGycNuCsn/kd3cY4LQ4Q9pzqumOJ81G+zA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768490081; 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=tkQbYlu+kOsMW2gYiAvgOCnmzczRESF9nkm7fSirK00=; b=ckHCWpqmGJ0G2vDfD+zYHwsRFNZTzuMHWKD2fbWnWVTSjh5qzo9zh4LQu8466Yu8T7uHAM STzUDffgkvqrXEbUrOnjAMWwDD/pJYK/b0YWLrBLmE31Yx5OMV3LmiEcfK3aPPNAH7naSd WsH1DWKMroHgUoaRQ8DO797gWMAiIfOpjaM9OTIbeOjI5VS9GBurF+H7qDhCbeTcAtRVzG 7epKKbK06hn2aN3yiuzSv5Ikx+SUEJ5oNPoeDs7hSRvddl71C1Cm5qzWTrwhiCfqFz1bnY kBsWTll+ry5yNcZU0vyX793d3FF1QOAQdnb5qPH4gU3zsFnKK4K7fTtA/4gEkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768490081; a=rsa-sha256; cv=none; b=AAaGlE3Q499Y6alc59KlZTZCCOhgy93ww9BoOoPei4GEk76FxZ6377ssTRGYueCDDr3269 Hb4ZExxtPiQjjzym1wRiKdKVR+4rkhtrrhxHJMRuK/eKeFc36RRnt5FFv4LcdcVLJ+KSvn JP2i/omqFB6pybf6aHnZz3MxGQahPDGm1Dz2zQP69mjbXbtRJIR3hkmBGGdO4jSla+aBNd 3Ku7FH2hVyHILuTmAeHdQaUa9jELi8gfp8Fi7uv5KwLOX48rAStGIC6kUMrzDAr4bKAnYL ANhSbUd8uUXrvmF4fdsFcOjwbsLEIId9Nuqn9Qn0zyAfDPQdiY2YeWYTMkRIDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsRNd4VrTzZly for ; Thu, 15 Jan 2026 15:14:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25833 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 15:14:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: fb96702a034c - main - depend-cleanup.sh: Clean up the old arm64 memset.S List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb96702a034c663adb4a1b44299af01fa71e29fd Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 15:14:41 +0000 Message-Id: <69690461.25833.195f6cd2@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fb96702a034c663adb4a1b44299af01fa71e29fd commit fb96702a034c663adb4a1b44299af01fa71e29fd Author: Andrew Turner AuthorDate: 2026-01-15 15:04:48 +0000 Commit: Andrew Turner CommitDate: 2026-01-15 15:05:28 +0000 depend-cleanup.sh: Clean up the old arm64 memset.S This has moved from a generated file in objdir to the source tree. Remove the old file and any .depend files that reference it. Reviewed by: bapt (via IRC) Fixes: 41ccf82b29f3 ("libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54729 --- tools/build/depend-cleanup.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index e7b62510a4e5..abdb0afb4b55 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -349,3 +349,9 @@ if [ ${MACHINE} = riscv ]; then clean_dep lib/libc bcopy c "libc.string.bcopy.c" clean_dep lib/libc bzero c "libc.string.bzero.c" fi + +if [ ${MACHINE_ARCH} = "aarch64" ]; then + # 20260113 41ccf82b29f3 libc/aarch64: Use MOPS implementations of memcpy/memmove/memset where availble + clean_dep lib/libc memset S "[^/]memset.S" + run rm -fv "$OBJTOP"/lib/libc/memset.S +fi From nobody Thu Jan 15 17:14:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsV3J0TDkz6PCbr for ; Thu, 15 Jan 2026 17:14: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsV3H5kj3z3bZH for ; Thu, 15 Jan 2026 17:14:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768497291; 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=CsEdq81xbgQVedFtb/6KOAf0GAOG4HdM7rPJ6Qewfrc=; b=s+KUZLJYPEfxsiewP/8S9oh8g6LFpLkHeZhNLACOyFwpS2dE+KpFc+umRFu/ExeK1oLHUt o/6zkZjHNyoNRY2AeuKV+ZGD/JnSXiDQBlMZVPkTEqKLKIYjYqs5BM3kwrpeWAnv3ZRhgi yupUUbvhIUCzyxfk4ZgEfWThH6S+qfdgqlcMQKyVw6YcKiJvi22NqMe0YLLSkbRmjFQQ5J wr1buzr+yn8vdEpt9mDm1RJ7X7kc1V4GuP6w8e7+i19gUwYILoIR/CisNVzXuK10vFDAYm TUOAR+3VtUfgqTZ8ys7aTXkRdXKt4KCDCmYU/shV4mybfb94NshcWD49rNLeQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768497291; 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=CsEdq81xbgQVedFtb/6KOAf0GAOG4HdM7rPJ6Qewfrc=; b=mr/7w4JwnThK1Yp2PmvcFGIPYR+4mqlzihvpmxTUJ9WOBZqeLyHMLPQ05tTRCd7TXgYmMk q07T2FKPZsjlNfzqC6vypu6TjRfypkp3Twuq+F1S2beKF/47KqEdqK/SMlGRsr1Dq+742K vZvV7+vtIeeiscLowIDB01ZGksEhizF9uI+Uld5XtS+kXLxoSJo0lokn/yFDXE2KSpl2DB j+irE+m0CpVwptMfd9S7/GoH+PiRYNwnEtNor6EIzI7WJG3ZAmXCzxHhNnK06zYTCcA+ZU eK1zV3JK/4/5KQJyhlo68Dfyd6pojpE+oZBjsA1o7OvYSzq6IRPxYulTtnj6Vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768497291; a=rsa-sha256; cv=none; b=p71Euy5+hpmIomw2clwZlt7n8KP49vjVSSWLu/R+mhVYDr8vq6oeETpFw0QqjSoL7u9v/q r4DOP8s0UDCGT8eYkZzS0VuO3OCWU48YpgyAM3A/Ic5ud6IsKgvR43mqF948YKePdU2TZh THP2XsnQMRL9RQNktyNPvAuUnU88o8XP6vEk1T/jZlbnu717SGuBigX3jG1iJZJqDuV6x3 0siuB1BLn2XPTa4uUU5M5BvcJ8eBjBJL83AJkLlFbm/BoA/NPOy2zatDgobCUZsmZMySLa A8mhdmPlxhGOeqRjhH8imWSwIMF/rKxHAlsE+APkeOcuauutApZg6ICALiTjag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsV3H57gyzdNV for ; Thu, 15 Jan 2026 17:14:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3918d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 17:14:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 21d666a19331 - main - if_ovpn: add interface counters List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21d666a19331f31fb6dfa1e370de5a84a1a5cb46 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 17:14:51 +0000 Message-Id: <6969208b.3918d.62ac1f5f@gitrepo.freebsd.org> The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=21d666a19331f31fb6dfa1e370de5a84a1a5cb46 commit 21d666a19331f31fb6dfa1e370de5a84a1a5cb46 Author: Kristof Provost AuthorDate: 2026-01-15 14:15:12 +0000 Commit: Kristof Provost CommitDate: 2026-01-15 16:18:27 +0000 if_ovpn: add interface counters Count input/output packets and bytes on the interface as well, not just in openvpn-specific counters. PR: 292464 MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/if_ovpn.c | 32 ++++++++++++++++++++++++++++++++ tests/sys/net/if_ovpn/if_ovpn.sh | 25 +++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index ae09a1ce9db8..7c416055e939 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -1669,6 +1669,7 @@ ovpn_encrypt_tx_cb(struct cryptop *crp) NET_EPOCH_EXIT(et); CURVNET_RESTORE(); OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (0); } @@ -1680,6 +1681,8 @@ ovpn_encrypt_tx_cb(struct cryptop *crp) if (ret == 0) { OVPN_COUNTER_ADD(sc, sent_data_pkts, 1); OVPN_COUNTER_ADD(sc, tunnel_bytes_sent, tunnel_len); + if_inc_counter(sc->ifp, IFCOUNTER_OPACKETS, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OBYTES, tunnel_len); } crypto_freereq(crp); @@ -1706,6 +1709,7 @@ ovpn_finish_rx(struct ovpn_softc *sc, struct mbuf *m, if (V_replay_protection && ! ovpn_check_replay(key->decrypt, seq)) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return; } @@ -1767,6 +1771,7 @@ skip_float: m = m_pullup(m, 1); if (m == NULL) { OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); return; } @@ -1783,6 +1788,7 @@ skip_float: netisr_dispatch(af == AF_INET ? NETISR_IP : NETISR_IPV6, m); } else { OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); m_freem(m); } } @@ -1827,6 +1833,7 @@ ovpn_decrypt_rx_cb(struct cryptop *crp) crypto_freereq(crp); atomic_add_int(&sc->refcount, -1); OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); OVPN_RUNLOCK(sc); m_freem(m); return (0); @@ -1844,6 +1851,7 @@ ovpn_decrypt_rx_cb(struct cryptop *crp) atomic_add_int(&sc->refcount, -1); OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); m_freem(m); CURVNET_RESTORE(); return (0); @@ -1859,6 +1867,7 @@ ovpn_decrypt_rx_cb(struct cryptop *crp) */ OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); m_freem(m); CURVNET_RESTORE(); return (0); @@ -2073,6 +2082,7 @@ ovpn_transmit_to_peer(struct ifnet *ifp, struct mbuf *m, if (_ovpn_lock_trackerp != NULL) OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); m_freem(m); return (ELOOP); } @@ -2089,6 +2099,7 @@ ovpn_transmit_to_peer(struct ifnet *ifp, struct mbuf *m, if (_ovpn_lock_trackerp != NULL) OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); return (ENOBUFS); } ohdr = mtod(m, struct ovpn_wire_header *); @@ -2105,6 +2116,7 @@ ovpn_transmit_to_peer(struct ifnet *ifp, struct mbuf *m, if (_ovpn_lock_trackerp != NULL) OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); /* Let's avoid (very unlikely, but still) wraparounds of the * 64-bit counter taking us back to 0. */ @@ -2127,6 +2139,8 @@ ovpn_transmit_to_peer(struct ifnet *ifp, struct mbuf *m, if (ret == 0) { OVPN_COUNTER_ADD(sc, sent_data_pkts, 1); OVPN_COUNTER_ADD(sc, tunnel_bytes_sent, tunnel_len); + if_inc_counter(sc->ifp, IFCOUNTER_OPACKETS, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OBYTES, tunnel_len); } return (ret); } @@ -2136,6 +2150,7 @@ ovpn_transmit_to_peer(struct ifnet *ifp, struct mbuf *m, if (_ovpn_lock_trackerp != NULL) OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENOBUFS); } @@ -2174,6 +2189,7 @@ ovpn_transmit_to_peer(struct ifnet *ifp, struct mbuf *m, ret = crypto_dispatch(crp); if (ret) { OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); } return (ret); @@ -2198,6 +2214,7 @@ ovpn_encap(struct ovpn_softc *sc, uint32_t peerid, struct mbuf *m) if (peer == NULL || sc->ifp->if_link_state != LINK_STATE_UP) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENETDOWN); } @@ -2208,6 +2225,7 @@ ovpn_encap(struct ovpn_softc *sc, uint32_t peerid, struct mbuf *m) if (m == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENOBUFS); } @@ -2241,6 +2259,7 @@ ovpn_encap(struct ovpn_softc *sc, uint32_t peerid, struct mbuf *m) if (m == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); return (ENOBUFS); } ip = mtod(m, struct ip *); @@ -2274,12 +2293,14 @@ ovpn_encap(struct ovpn_softc *sc, uint32_t peerid, struct mbuf *m) if (m == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); return (ENOBUFS); } m = m_pullup(m, sizeof(*ip6) + sizeof(*udp)); if (m == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); return (ENOBUFS); } @@ -2341,6 +2362,7 @@ ovpn_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, m = m_unshare(m, M_NOWAIT); if (m == NULL) { OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); return (ENOBUFS); } @@ -2350,6 +2372,7 @@ ovpn_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, if (__predict_false(ifp->if_link_state != LINK_STATE_UP)) { OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); OVPN_RUNLOCK(sc); m_freem(m); return (ENETDOWN); @@ -2368,6 +2391,7 @@ ovpn_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, if (peer == NULL) { /* No destination. */ OVPN_COUNTER_ADD(sc, lost_data_pkts_out, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); OVPN_RUNLOCK(sc); m_freem(m); return (ENETDOWN); @@ -2463,6 +2487,8 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, M_ASSERTPKTHDR(m); OVPN_COUNTER_ADD(sc, transport_bytes_received, m->m_pkthdr.len - off); + if_inc_counter(sc->ifp, IFCOUNTER_IBYTES, m->m_pkthdr.len - off); + if_inc_counter(sc->ifp, IFCOUNTER_IPACKETS, 1); ohdrlen = sizeof(*ohdr) - sizeof(ohdr->auth_tag); @@ -2492,6 +2518,7 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, m = m_unshare(m, M_NOWAIT); if (m == NULL) { OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); return (true); } @@ -2499,6 +2526,7 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, if (m == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); return (true); } @@ -2515,6 +2543,7 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, if (key == NULL || key->decrypt == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); m_freem(m); return (true); } @@ -2560,6 +2589,7 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, if (m == NULL) { OVPN_RUNLOCK(sc); OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); return (true); } uhdr = mtodo(m, 0); @@ -2569,6 +2599,7 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, crp = crypto_getreq(key->decrypt->cryptoid, M_NOWAIT); if (crp == NULL) { OVPN_COUNTER_ADD(sc, nomem_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); OVPN_RUNLOCK(sc); m_freem(m); return (true); @@ -2605,6 +2636,7 @@ ovpn_udp_input(struct mbuf *m, int off, struct inpcb *inp, ret = crypto_dispatch(crp); if (ret != 0) { OVPN_COUNTER_ADD(sc, lost_data_pkts_in, 1); + if_inc_counter(sc->ifp, IFCOUNTER_IERRORS, 1); } return (true); diff --git a/tests/sys/net/if_ovpn/if_ovpn.sh b/tests/sys/net/if_ovpn/if_ovpn.sh index 9dafce2242d8..6fe0393dd2b2 100644 --- a/tests/sys/net/if_ovpn/if_ovpn.sh +++ b/tests/sys/net/if_ovpn/if_ovpn.sh @@ -99,6 +99,31 @@ atf_test_case "4in4" "cleanup" # Test routing loop protection jexec b route add 192.0.2.1 198.51.100.1 atf_check -s exit:2 -o ignore jexec b ping -t 1 -c 1 198.51.100.1 + + jexec a netstat -I ovpn0 -n -b + ipkts=$(jexec a netstat -I ovpn0 -n -b | awk 'NR == 2 { print($5); }') + echo "$ipkts input packets" + if [ $ipkts -eq 0 ]; then + atf_fail "Input packets were not counted" + fi + + ibytes=$(jexec a netstat -I ovpn0 -n -b | awk 'NR == 2 { print($8); }') + echo "$ibytes input bytes" + if [ $ibytes -eq 0 ]; then + atf_fail "Input bytes were not counted" + fi + + opkts=$(jexec a netstat -I ovpn0 -n -b | awk 'NR == 2 { print($9); }') + echo "$opkts output packets" + if [ $obytes -eq 0 ]; then + atf_fail "Output packets were not counted" + fi + + obytes=$(jexec a netstat -I ovpn0 -n -b | awk 'NR == 2 { print($11); }') + echo "$obytes output bytes" + if [ $obytes -eq 0 ]; then + atf_fail "Output bytes were not counted" + fi } 4in4_cleanup() From nobody Thu Jan 15 17:54:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsVx34p1Fz6PFh5 for ; Thu, 15 Jan 2026 17:54: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsVx32Rk3z3htT for ; Thu, 15 Jan 2026 17:54:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768499671; 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=TWjx8Xc74ulYDsR3K9Tf6Nr7c8Y+SNdinmx6TOoElBc=; b=N/uoPgb0Gg3EapOXHH4jXlghz4K+JNaUsFoK7JPT8BvP0ip8W9bK2/8joLG6Rj+n4ecN3X fEgvsK5oAJmOLwun98mi/zBqzR7ySHaprlec5JJKsiwNOZa3HAGFStjQt9qckop8cBOVtc efrteYdwOOHOvAz2PB7EbQ7orfTUDFa/dOtY5w9dOEiOFUFu9OQ1TvSpeJMpspTOrRwlil Id7zPAN153Uw5WtV2mW6Cve18VfMQ+tHxqksizAUQGyFDzm0z7KFyD2EPnOoyrSkja4Zx0 4r1jXMsNYof92BgPS6yAm450HpkHwP/p7XlywfPd2E28jHF7TnbV2wLAlXSz2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768499671; 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=TWjx8Xc74ulYDsR3K9Tf6Nr7c8Y+SNdinmx6TOoElBc=; b=N9k5jPVcJzc0cdPhn2xMyVKKbfA64GmGuaxdD3OIlKBMegf5eocVRgcVkVrihvtOcWpQsW E6/KRWNWeEJNIkZCRTVherfrx4FW/yCRMmblHeyfSkTEiNmWTd+lohFx0RMX3EFvZtY79M GjDSkrX1dXOV17S9bVhpI8nO3hcHf1cOOhKQE4x2dDjUsqorCrPMNWPoIaN/+VEMhqUWVX k8FTRyZ+ZffNLxwxvqTBNdwszZpBpnVI9V3NPfNP05X0Ma3NLpBWCC5AYOPRS2iWIDbb8g XCsjiti55DatGC6HHz4Jlauvm0Bt66Lttbvc7Z0TCgL7v3sFYbYQGFqLjKa5Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768499671; a=rsa-sha256; cv=none; b=TnfnApZQ1JrPv+bpkmVqplKJw7slXuwgFdGYb0uoNes6ip7AzjXFFHom8soG9K4nl/fXI1 obGRToDDt3iJ9C9IsZsjmEvoYKz2eseZKWJfqPsle0RzlIGAx8DhZmI40ThujS7lNNY9+2 0LGyK4YaXvdMH+PDTj8sVWtA1cORv5z+vvgcDaNehXftjUJnpy80gyUi6rjPQ89GEW0Hlj 3T86TYL1XCnxQqxKbLWuv+nztBJTLBD7ov5WLWPTAqTe6g9kFArx+JUF08AU/W7dwyTir+ XLIlEk7ilwkaTDm4MduXMI09qNj7vrGa5D2xZKyzyNa4BShHqcT7P8owOvZX+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsVx31z7FzfXn for ; Thu, 15 Jan 2026 17:54:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c1d6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 17:54:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 37164224eefd - main - libexec/rc/rc.d/Makefile: Remove duplicate mixer entry List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37164224eefd11278b0203e1367e1d9d1454da3f Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 17:54:31 +0000 Message-Id: <696929d7.3c1d6.3b5128f3@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=37164224eefd11278b0203e1367e1d9d1454da3f commit 37164224eefd11278b0203e1367e1d9d1454da3f Author: Christos Margiolis AuthorDate: 2026-01-15 17:53:55 +0000 Commit: Christos Margiolis CommitDate: 2026-01-15 17:53:55 +0000 libexec/rc/rc.d/Makefile: Remove duplicate mixer entry Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND") PR: 292436 Sponsored by: The FreeBSD Foundation MFC after: 4 days Reviewed by: ivy, emaste Differential Revision: https://reviews.freebsd.org/D54706 --- libexec/rc/rc.d/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index d0a6d10ad370..f25338c68766 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -36,7 +36,6 @@ CONFS= DAEMON \ linux \ local \ localpkg \ - mixer \ motd \ mountcritlocal \ mountcritremote \ From nobody Thu Jan 15 17:54:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsVx46p0Jz6PFh8 for ; Thu, 15 Jan 2026 17:54: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsVx44SPDz3j3s for ; Thu, 15 Jan 2026 17:54:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768499672; 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=hcG2eKZbXwoRXVdNwL+D+wStgRSVXdpHwbllR9+qcQ8=; b=JoUcJkd//VgLtdlmOkxZHerGOy6jOjGrFXftx0iQPirx02TkFPNZPtQ2aeqYrETyaKSeaQ Tq6m1bi2gTMhY1eM5aNUFi9YEZTuVR/1AGKP6XjaAcfg1I0vZYfrARglu9vvIXeuVEWJpc aEnum6bc4hsqr1eQ1a8y5JgBzHiCbEOuHOQW/f7egplEh9GJyMyJhCZ3ldq7qlsm07+QtX GsGWpswfct4+n136CqUAnM8SZr4CfqKnmAdd+O2RK+3PXgAIM9ufIw4vJCFUSh6pMiqL7G Bmirr7zXjWDn774T3uEULE+4uSOJl0g39jKBDOBcRk2iRORGM3OZGoiAAQn8aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768499672; 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=hcG2eKZbXwoRXVdNwL+D+wStgRSVXdpHwbllR9+qcQ8=; b=VJsfVuGmr18zFuF3jDlzoggDDmF5RVT6gg2ZAj1sQ3w5BOoWuyWgGn83n9Hxcu6J5nEN8C jejys04C/2CWFMpTp3KLBUc1YYdwwmtQ5neVAcjA0s9VXcCnf7W141ljj8qOuNKytxz4Gw KRJLLM6RY00Ua3Uv18q8CPccL+DWAseN/qBJTg1B+zxqbTLlkXkUse97c5rvRJNd46YtZo MUGFmqtfhd0+7dIINpyUtgjdZ/cqx2FzxOCByarAyK2EgPLMrEEWkffe9IQnj3+4tevG5w xqBiT9C2/GAZzWoncWyCmfwt6KUhxcCXBncELc/KF03YOsOVM7IyUDqlRBwG2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768499672; a=rsa-sha256; cv=none; b=uv3XHkdw2q6dhJHTQkK98ppled1lEh/tXi8UQQ2B+BvA4AWBsXuEyq2myMythHFfbvUz5H rpeQI0Y4VVk9bl4Z1EV1DfH2u5cMrI9+rdBq4STvOjdM2hDM3+oWVa1nKGgC/yb3tzgiIx MlO+f3dtE3R0dekoLMBYmHpxyfvCWARQS4JObZgZm0pwpBtp2DZJsd4eGu/fRKPshACr/q dQJaVRXig8IYt6sRWUywMX7C15dRTHShdC3tBc80jw0+cA1LkaMlTkJPjkNfunK1OhJgPT i0NTRfeTlFknIBT6FA+ci1h1tERuC9TnNjkLM+RjG5pPjpnTSSfwOMTVeK1eNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsVx42mHTzfXp for ; Thu, 15 Jan 2026 17:54:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a279 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 17:54:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 241a43cf9da8 - main - virtual_oss: Take MK_CUSE into account List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 241a43cf9da8933f500e7d0df7fff621fd52168c Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 17:54:32 +0000 Message-Id: <696929d8.3a279.1ec4d86d@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=241a43cf9da8933f500e7d0df7fff621fd52168c commit 241a43cf9da8933f500e7d0df7fff621fd52168c Author: Christos Margiolis AuthorDate: 2026-01-15 17:54:22 +0000 Commit: Christos Margiolis CommitDate: 2026-01-15 17:54:22 +0000 virtual_oss: Take MK_CUSE into account Reported by: brooks Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND") Sponsored by: The FreeBSD Foundation MFC after: 4 days Reviewed by: brooks, emaste Differential Revision: https://reviews.freebsd.org/D54708 --- lib/Makefile | 2 +- usr.sbin/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index bf8f2c386f64..c3a95f00d4ef 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -237,7 +237,7 @@ SUBDIR.${MK_RADIUS_SUPPORT}+= libradius SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil SUBDIR.${MK_TELNET}+= libtelnet SUBDIR.${MK_SOUND}+= libmixer -SUBDIR.${MK_SOUND}+= virtual_oss +SUBDIR.${MK_CUSE}.${MK_SOUND}+= virtual_oss SUBDIR.${MK_TESTS_SUPPORT}+= atf SUBDIR.${MK_TESTS_SUPPORT}+= liblutok SUBDIR.${MK_TESTS}+= tests diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index d9a5f231ba61..3d3a8443a7cf 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -199,7 +199,7 @@ SUBDIR.${MK_SENDMAIL}+= praliases SUBDIR.${MK_SENDMAIL}+= sendmail SUBDIR.${MK_SOUND}+= mixer SUBDIR.${MK_SOUND}+= sndctl -SUBDIR.${MK_SOUND}+= virtual_oss +SUBDIR.${MK_CUSE}.${MK_SOUND}+= virtual_oss SUBDIR.${MK_TCP_WRAPPERS}+= tcpdchk SUBDIR.${MK_TCP_WRAPPERS}+= tcpdmatch SUBDIR.${MK_TOOLCHAIN}+= config From nobody Thu Jan 15 18:24:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsWbX6R2Cz6PHLk for ; Thu, 15 Jan 2026 18:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsWbX5fmMz3nSj for ; Thu, 15 Jan 2026 18:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768501464; 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=qNZJHy7VvPMEe8StiGkqvwFDiiM0J1At1rjmpN9zK6Q=; b=StUVm7xK/3pIrUKYQ8cxPvgyAnjpRKW5/96+J/KFCO5EodxTL+uPbNKju/Be3AqL9BfvL2 YXRibzYQQPK9bbtwE/UHMsWRrjDWqrndX6A/PDGbFCYR2VfuTlueb44OrBqFsl0nX15Tax MyJDgSkwKjl4OYXPlovwHZSoisd4Ig1pIaj9FJ/W+MQd8QdAOvS1ZwRNrp1m2w3xaNWgG2 A9txUAs3qGuqfxO7gdSRQuFbH5ClP6aPneVb3sH3NesrbgOBmsRsa4OFwCdluN6k4OEQmD 7g/cnnvBNc3vQB42R2X9ACQJUhs/bwCYkDioBd6lrdGOAPIoQql+3ROjFa7uDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768501464; 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=qNZJHy7VvPMEe8StiGkqvwFDiiM0J1At1rjmpN9zK6Q=; b=q+DK1cdjJbHOgB52rVnwUH0rNatmpe+owFuq41GvH+wIh6URzXefF2aWM75vkJGNfFOTuv ffPQx9/n0+TvqQtLDp4v01ApOVI9dBY7oB5/qhaJpHR0oUO3MxfFG5cOK2am3MELBnwBa+ uNFjc5waKIsohjMFgmM45s14Sko+9mpnPbG/vsBTFX1yCVVLXVh3V5Z4xDVbvM1lPEcB2r DF74EodAcZ1m8ikj2Pg6pYtIU9ltTttpR3i7U2Hggq8wsRYR28ydvIyOh6X5AnB+pHTEK4 sQmPqdIf6g0XL5EsJIUS9ADWxiHjJ+ODXJU41Yt+ArF2DzyFDmULa046uhLEvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768501464; a=rsa-sha256; cv=none; b=J4dN7Q8nzmYRPmgXOFCkAHAVQRfzo0dz4+nFzAKEcRbqFyAYz72Be48YZglk1n7IBmMG9O MSWeYA31J3oVPIlBjRi4Sd0RPC6y2HwKais3m+Gja6qXElX+nukw06bO4p+p+Wfjp2fIUw i3f6DB996QUFR36CL/eZZeg/W9LdxqZMo1ubUmALQdcZifQH0GXjNiTOJMY6F2PiZ6TeY4 Hahytq5XPhjVsSy8M8ecWrJNvESNdS8rF8hpsVZP4kePq4x9tawGbmSu+4XrtY59yzM+8p uig1ZUsp0SB0ZGJfVCRgwZrh8WaesXV2tLZmVZ4sQITVLkf7QizP0Etsyf8XOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsWbX5G9LzgJJ for ; Thu, 15 Jan 2026 18:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fb2c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 18:24:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 4ba8df2a8bb9 - main - .github: Narrow sys/crypto warning to sys/crypto/skein List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ba8df2a8bb9397e922b07c8e9610d1a8f0d8ee0 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 18:24:24 +0000 Message-Id: <696930d8.3fb2c.4bc02b5d@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4ba8df2a8bb9397e922b07c8e9610d1a8f0d8ee0 commit 4ba8df2a8bb9397e922b07c8e9610d1a8f0d8ee0 Author: John Baldwin AuthorDate: 2026-01-15 18:23:07 +0000 Commit: John Baldwin CommitDate: 2026-01-15 18:23:07 +0000 .github: Narrow sys/crypto warning to sys/crypto/skein This is the only subdirectory of sys/crypto that is a vendor import. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54719 --- .github/path-rules.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/path-rules.txt b/.github/path-rules.txt index 297cfe8def35..7e84f0c99ce4 100644 --- a/.github/path-rules.txt +++ b/.github/path-rules.txt @@ -7,4 +7,4 @@ sys/contrib/device-tree :caution: No changes should be made here by pull request contrib :warning: Contributed software usually managed by vendor branch crypto :warning: Contributed crypto software usually managed by vendor branch sys/contrib :warning: Contributed software usually managed by vendor branch -sys/crypto :warning: Contributed crypto software usually managed by vendor branch +sys/crypto/skein :warning: Contributed crypto software usually managed by vendor branch From nobody Thu Jan 15 18:24:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsWbZ2Vldz6PH6y for ; Thu, 15 Jan 2026 18:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsWbZ0WJkz3nVB for ; Thu, 15 Jan 2026 18:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768501466; 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=T8IwvAj+McSNTx6LX51zrHbNzIl2eXw2Sj3QXchOwY4=; b=YhRl/0klSc9k9ZC5qWiyaMecx4+lNgSFtlLqL3ggS26+yTlbahCvBEYIc3f5Vdx8/5AB89 kn2UCEu5CdBbPBWetAe5AvoFjVbN4RwNgNr0xxxN2LxQJUnI4JmKXGWJfhKkQVFd81+TMM HjMjsEEV9Lo1i/cJ2oWIF4Xrkb5B06EVZmX/EZf3RS9d9jOXAYFjO4Rq+yXY2kRZlk16Iz P/sP7DZ9P5zubUe9LJRHpvR5f3RU6qlzkeQndBJFgfqMdbDyf92rny+TLIRcKfmgnYcJ4L lylc6BlIJl81Rsg48i9aTHtV/Tq1PuL/XfZjQaHGJVFWD7W2NdUWM8M12q0VLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768501466; 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=T8IwvAj+McSNTx6LX51zrHbNzIl2eXw2Sj3QXchOwY4=; b=Db4Z5CCdyETjBcIgMUyhT2BCjXySEsUqhKpxL6DBFKfOtrrfrJ6XVahX6QZqOPvSw/zRJm 5HbA6WaJAoTKytFlefJgdHHegvPH+W/EkXS6edzEBEA2HRVGKmFG46Nhqyod2Ya8XGAUB6 jOsV0K/f5bU5IAU72FHDrEqxFk9e3JIyV6fd0TP4qn6MXUW31YjY/BKl4JLy/feLx6bh0C lUNrDgHG0zknRFgdRUsX89AuU13v3wBF6TIyb7taGJacwlG+9kqPNLhnflzDnbL5uEP5vU EyqsrmmY4i0J9+nazOhyhpegFEDruMvp/qCi5AAfcP8tnmhmYf6l+hihhLAgKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768501466; a=rsa-sha256; cv=none; b=aaRMqKhzGjYxd2kmQgNP03hSFEQkTUmCL0tKtzIDMPlOIOjsuF4I8ZVfCJX6n8TtbzZLBb L76YSOMJ+g8D6z29oeGDO/6423ht9iuoz8RC+zkhbMkqDQaOe5oVDXYfnyBC7EJO+/yZ2d GqpC6N6RS7QM3CEWpA6ybo6wnha2QbNz7LaKRf6iRuDtVqEvwmDDKjfEIHG0Vy9NbIJ9Xs wQgdl7rAW6Sut2hYbGOVPhswf/jxlo9CgYe2wWJFz26CNnxpnODVuxTFMUQZ7vwk9F8OQJ QOrAUcZvrEsm3itfAnSdnfo5p8Jt4++61NHgAzH/89nz+xkrhwk1XtQk1HxGcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsWbY64nPzffj for ; Thu, 15 Jan 2026 18:24:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40112 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 18:24:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6d6bf4a892d6 - main - rtld: Use a helper variable to simplify a few lines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d6bf4a892d6be84ec59fce5419eab616bcabb40 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 18:24:25 +0000 Message-Id: <696930d9.40112.516e168b@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6d6bf4a892d6be84ec59fce5419eab616bcabb40 commit 6d6bf4a892d6be84ec59fce5419eab616bcabb40 Author: John Baldwin AuthorDate: 2026-01-15 18:23:42 +0000 Commit: John Baldwin CommitDate: 2026-01-15 18:23:42 +0000 rtld: Use a helper variable to simplify a few lines Reviewed by: kib Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54507 --- libexec/rtld-elf/rtld.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 78a111095400..5e15ba996ec8 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -5496,7 +5496,7 @@ allocate_tls(Obj_Entry *objs, void *oldtcb, size_t tcbsize, size_t tcbalign) char *addr; size_t i; size_t extra_size, maxalign, post_size, pre_size, tls_block_size; - size_t tls_init_align, tls_init_offset; + size_t tls_init_align, tls_init_offset, tls_bss_offset; if (oldtcb != NULL && tcbsize == TLS_TCB_SIZE) return (oldtcb); @@ -5554,11 +5554,10 @@ allocate_tls(Obj_Entry *objs, void *oldtcb, size_t tcbsize, size_t tcbalign) obj->tlsinitsize); } if (obj->tlssize > obj->tlsinitsize) { - memset(addr + tls_init_offset + - obj->tlsinitsize, - 0, - obj->tlssize - obj->tlsinitsize - - tls_init_offset); + tls_bss_offset = tls_init_offset + + obj->tlsinitsize; + memset(addr + tls_bss_offset, 0, + obj->tlssize - tls_bss_offset); } dtv->dtv_slots[obj->tlsindex - 1].dtvs_tls = addr; } From nobody Thu Jan 15 18:24:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsWbb2c2Wz6PH1p for ; Thu, 15 Jan 2026 18:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsWbb01rkz3nCd for ; Thu, 15 Jan 2026 18:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768501467; 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=3h+qqCyCmeiV9/VucX7KhsclITKJAfhlQBbWSwvppF4=; b=vbwwE6Lxk+lW/EhXXnxTVpP3b62ts/TUi02+Jvw6UThdn7rgQ0YTh4FZMaWd5KhbHMCJeG 2JOkkdBkzeV/gALDdaC2sKq7c5SFlYoniJ/4nUjIjvniK1Szxc7uOwRijEo6frNibtZI0z D/WS9mocG3mncT3ahYBTpu/7EC+pryS29mBzj8Eewg5zACH2qHRce3wOy6YGfsNk6pjKe7 xC+mENV6UCyzDUDRl83T8bSPV0J90ZBmHXMv0maw4fA5V1cSk6usunwkw40BbWwjKoTK6U 39o4WD+sLK1Bt8yYQg2+0jIdG9J31R4cjuam3UhDNj6utEETU2GVcLr/gCIffA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768501467; 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=3h+qqCyCmeiV9/VucX7KhsclITKJAfhlQBbWSwvppF4=; b=s4/6lNVJ+pX29+rMd4BizkHzELK5jWAfcPEYpxhz9KEgUOIB+BK4HTNK/th9XNfEvqNmhy xq3W/caxLs+pdZGa6jdYcl+m2+QPttMKbmCwyNqbx/9mjxdXiiyU3vQ0qbwToYaIeiw0Hg O4Kbt9IKZ+DUNjRoZBU9hg+PODZ+DxiGHmGT+yFNGkv0pDV4Wal/esom0CGfDzYUpIp411 crzNc3iKOne4ind/2blSpvi6r0PpUrseRxB6Il1zEiZan2/wJIIlYVi/upnK9aEUNdocSh 9PVwrv4UYpK6CXXrrMO2mYfSKGwgmJtb9EDO/F6+Y2rDrQU/GGf2zHw28K0vGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768501467; a=rsa-sha256; cv=none; b=tzUmZk8tRAJfIcceu3e9a+Zw/ltbu3S3BLzyfx4XMk/5rLvBUFU/pS1/obBtTN77pfaXCh gXuflwLgny+VqD1XmBpFzSEB9HJ2CNbMSaGdtfESj8+BUq1qr0ORvrgPPjmppKqlCL+C3A mJ4mPWsGF92/yaTEG8nNE7pgJBasX1I5Liv21ssufWJ7S5DxIxr9RafM0upSdB5XDD65Fx 1ipKbVMAD6v7KYOLu1viTrJFYSuJk7HFCB8E7RQNEUePx/LWQKv4Pycea9sL8zeFUNE9ax R+bBaUEvzabzIk6LtfGFH2L45WXh+TRdrZ9JGEzpli8OkyNhctISMmYiY8JLKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsWbZ6gGBzgJL for ; Thu, 15 Jan 2026 18:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dd5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 18:24:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 5bd84c4f0d01 - main - acpi: Add a function to deregister all ioctl commands using the same function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5bd84c4f0d016a2ca87ee115370ec1e7802e6d8a Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 18:24:26 +0000 Message-Id: <696930da.3dd5e.6c0a5920@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5bd84c4f0d016a2ca87ee115370ec1e7802e6d8a commit 5bd84c4f0d016a2ca87ee115370ec1e7802e6d8a Author: John Baldwin AuthorDate: 2026-01-15 18:24:08 +0000 Commit: John Baldwin CommitDate: 2026-01-15 18:24:08 +0000 acpi: Add a function to deregister all ioctl commands using the same function This simplifies detach/cleanup for drivers that add multiple ACPI ioctls. Reviewed by: imp Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D54420 --- sys/dev/acpica/acpi.c | 15 +++++++++++++++ sys/dev/acpica/acpi_battery.c | 8 +------- sys/dev/acpica/acpiio.h | 1 + 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 9657938371f0..518cbce19e33 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -4334,6 +4334,21 @@ acpi_deregister_ioctl(u_long cmd, acpi_ioctl_fn fn) ACPI_UNLOCK(acpi); } +void +acpi_deregister_ioctls(acpi_ioctl_fn fn) +{ + struct acpi_ioctl_hook *hp, *thp; + + ACPI_LOCK(acpi); + TAILQ_FOREACH_SAFE(hp, &acpi_ioctl_hooks, link, thp) { + if (hp->fn == fn) { + TAILQ_REMOVE(&acpi_ioctl_hooks, hp, link); + free(hp, M_ACPIDEV); + } + } + ACPI_UNLOCK(acpi); +} + static int acpiopen(struct cdev *dev, int flag, int fmt, struct thread *td) { diff --git a/sys/dev/acpica/acpi_battery.c b/sys/dev/acpica/acpi_battery.c index cfd8261d5eab..f1eebda705c1 100644 --- a/sys/dev/acpica/acpi_battery.c +++ b/sys/dev/acpica/acpi_battery.c @@ -531,13 +531,7 @@ acpi_battery_init(void) out: if (error) { - acpi_deregister_ioctl(ACPIIO_BATT_GET_UNITS, acpi_battery_ioctl); - acpi_deregister_ioctl(ACPIIO_BATT_GET_BATTINFO, acpi_battery_ioctl); - acpi_deregister_ioctl(ACPIIO_BATT_GET_BATTINFO_V1, acpi_battery_ioctl); - acpi_deregister_ioctl(ACPIIO_BATT_GET_BIF, acpi_battery_ioctl); - acpi_deregister_ioctl(ACPIIO_BATT_GET_BIX, acpi_battery_ioctl); - acpi_deregister_ioctl(ACPIIO_BATT_GET_BST, acpi_battery_ioctl); - acpi_deregister_ioctl(ACPIIO_BATT_GET_BST_V1, acpi_battery_ioctl); + acpi_deregister_ioctls(acpi_battery_ioctl); } return (error); } diff --git a/sys/dev/acpica/acpiio.h b/sys/dev/acpica/acpiio.h index 63779d309951..4df049ed196a 100644 --- a/sys/dev/acpica/acpiio.h +++ b/sys/dev/acpica/acpiio.h @@ -205,6 +205,7 @@ union acpi_battery_ioctl_arg { typedef int (*acpi_ioctl_fn)(u_long cmd, caddr_t addr, void *arg); extern int acpi_register_ioctl(u_long cmd, acpi_ioctl_fn fn, void *arg); extern void acpi_deregister_ioctl(u_long cmd, acpi_ioctl_fn fn); +extern void acpi_deregister_ioctls(acpi_ioctl_fn fn); #endif #endif /* !_ACPIIO_H_ */ From nobody Thu Jan 15 19:27:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsY085fzCz6PLqq for ; Thu, 15 Jan 2026 19:27: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsY084vN0z3xl3 for ; Thu, 15 Jan 2026 19:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768505240; 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=g3ZWh4APQbKQw66h6EslDx5pEVsGZIRjwp5yT8sWLPM=; b=Sn87BCJYaSphHk8uARpm0k2UQ6vQKOfOafi/jncnGhtYpAQtZm9Z++PYJfCKCZqaHkT7DY XZoWmjk5hyYcLZMZ2MsFamozRsSvFkoTLv18IbyW4EFoR4gWspJcwhmV7BBPQD9cgyaDYP k33xrmE9yRHbUIcdAO3Irk6ytKNv9gEko+Ag7+AE+/xrHQFf7nRPFx70MLS/5tc/ZEuXk8 jJjbvwvYh80SyQ8GKzJtk+kB7aU6dtSVacLDvIfae6ml8gapYNOLKdOk5SLSFYuBSKbDBV t4OQbZm1tJsvU6i2IxjHxhwtu7MTmF1e+4h03k28w0v3VTi8LUEVclo6naZL0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768505240; 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=g3ZWh4APQbKQw66h6EslDx5pEVsGZIRjwp5yT8sWLPM=; b=fhSsoN6W0T3spChhahDN+r+WISOYT6G4oh0pLTw6kVzEWtGfszOTRYyojOpMf4NQr3HJ/H Tuo4z+C5VYKIACAKRGjj5725LBHTeV9I0aCqMetS90HzY5qdCIfWf5hPQP3tqNBkKE4T83 EpjXrxahxzllkHFFxzQ2xcjRvr2FmjnOymrK2qmhunkFNI94z2gBuOAIKbmSPTREPbbutg RHn7N1IfZIwlg6QsZJWudUCjEvSw5fvPypMKjr23ZYHeSjAvej2mNHK/TcPPW2ye4vhkUk OUxSVTg5J/FV5gbX7DbfRMXkIDVIodhWMn8NAgpIufrg27R08ZUrD+30jck2nQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768505240; a=rsa-sha256; cv=none; b=YSdDrQrk2Dlo8s6+5xOpI9LIYEd2teoE8T0oGfO34LQ7zNl0pqUvejH3990cPraRY0OOLV 8P7K2PLQDvXC42ncStzMYO5GZpQbQXeUQ+z5brGFD+l6Kca2F8hgY+vDqMzcvVUc6qRwiX DCWXwNC0szxz7x86G/QJHL4rUtlSTKeVLdZ3B8QUk1YUSl5eEfXk38Y/CIZI5j3nISTY1z /Ll8jHo1g8asrX0uBq3J6nJACBsGieeTpaqL+f9S/nLuHfnjPolxd6P9gKq0mzhgE8RGOw ps3p1l+CUfEM6ctXnbnkTmLXJC7ldI+bT/1u6AVPLpCEzIkNodL0TgivpbwvTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsY084M6Lzj88 for ; Thu, 15 Jan 2026 19:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 449d7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:27:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: ce8cd5dab3b3 - main - mtree: debug: Add missing krb5 entries List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce8cd5dab3b3b5fabe4a49345e20bca62c36a132 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:27:20 +0000 Message-Id: <69693f98.449d7.3eb3f00@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=ce8cd5dab3b3b5fabe4a49345e20bca62c36a132 commit ce8cd5dab3b3b5fabe4a49345e20bca62c36a132 Author: Jose Luis Duran AuthorDate: 2026-01-15 19:24:25 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:26:39 +0000 mtree: debug: Add missing krb5 entries Reviewed by: ivy Differential Revision: https://reviews.freebsd.org/D54681 --- etc/mtree/BSD.debug.dist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index 8959b281f578..62a6342c9eac 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -47,6 +47,10 @@ .. i18n .. + krb5 + plugins + .. + .. libxo encoder .. From nobody Thu Jan 15 21:41:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsbyV3nBDz6PTd3 for ; Thu, 15 Jan 2026 21:41: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsbyV1Vfrz3KZq for ; Thu, 15 Jan 2026 21:41:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768513266; 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=rDCtgV+EkEpqc2wdBbO3h2+t9UNsN8vcPHK8xURysZo=; b=JIS19E8px98MTxxp6YNkgz52PQbd+U4NdNYVS/GTmxQoIalvYAfCA5rtGfVnoc7zoo7/8N IC7ZIFbjh0E+ViCZOEVZKbT6rkU/OzyP+3A/r3XxaayZuuFauCmc3WrRYmqRjMnw5S+M4w ydk1NCDK/BFEANBiB73WYA6iCo3YDK+zthCWKVOuNS+MTJopyfOEvp7iVNxuFq7rAoyuPr 0wbxZTalETBL1NsPZAICbmNXIMLwZdVA+RsTGK4t6KzU5NBCSBiVupgJFu/g3yd50pjAwG S2NOcpE7amcfbBNw9VIClqrjCFn6BjM5H6PHNG5VSuhrHmWo68TwVMtF/HgDhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768513266; 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=rDCtgV+EkEpqc2wdBbO3h2+t9UNsN8vcPHK8xURysZo=; b=DvGWcHAdxMfjrDO8TvBRghH2mhTlHR/VxggE2n+ptsZzXwFlvuUCGt+VIosbZ79gcQO10A mDS28edcJ9D3JD74HuQciOn8gzOc7TrdoK5KE/l2OjiUhTrmV/FJc9YJGenlzIhIkOJct9 7gdN1pL36mjpSggymAJR86cQ4mJs9CgyTTTeKIho1VSftvcREkh3Yj+VJbchfcAAV8ZlSG DMtH94HmwZKHEmnFo2ofy2LAJJcXHIFugIV6F3wPIfj59sAjkcE11wkUl3XKPXuJhvNt2x uOuBf71PhZ47VJMa1fz3NLTDRcw7V34/VPhhvpvtP4Wbs/AojhHSjq+OevTEGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768513266; a=rsa-sha256; cv=none; b=v6uYC3IKJ2MP8COy/vCpqzdAKjlGwqc5x5/ESuH+4pd/vm9fyO84Q1Jk1eW6W3siUo0hIC fDGwpYBazOD/bToa1Gp91q9dYPVGLDhm+5oQjGs104hPIzBfA2RuO6lh9IeWOvZaBUHW5H ZKT0GDYZjXB6wfbLsDIZ4/LgQ6qSOuPcYbkOikYR3lhRLaaJSUsAry4fQInFFHK32Pr3i6 YhzXzxDiPUMbJhzpc02UX0NM79eYGnxVNQXIhN3SCVW8fPZdSkh1CpKsk+AO0QlwbcFIH0 dHMiMYY8Dct8QUEIPRB7EdR/NKTi7za+jYf2UOUH7jEe0Iy5t19qXqpnw+xWJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsbyV119lzlXn for ; Thu, 15 Jan 2026 21:41:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2393e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 21:41:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 77f453e9f9ca - main - tests/if_ovpn: add missing cleanup to the multihome6 test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77f453e9f9cafaf5e787c5bfd29966066d6b9dc3 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 21:41:06 +0000 Message-Id: <69695ef2.2393e.2b6edc8d@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=77f453e9f9cafaf5e787c5bfd29966066d6b9dc3 commit 77f453e9f9cafaf5e787c5bfd29966066d6b9dc3 Author: Gleb Smirnoff AuthorDate: 2026-01-15 21:40:33 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-15 21:40:33 +0000 tests/if_ovpn: add missing cleanup to the multihome6 test Fixes: 0bfcfb3cb1cbfa383cbd24eff39d39f143eb63ba --- tests/sys/net/if_ovpn/if_ovpn.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/sys/net/if_ovpn/if_ovpn.sh b/tests/sys/net/if_ovpn/if_ovpn.sh index 6fe0393dd2b2..5260ac344b97 100644 --- a/tests/sys/net/if_ovpn/if_ovpn.sh +++ b/tests/sys/net/if_ovpn/if_ovpn.sh @@ -1333,6 +1333,7 @@ multihome4_cleanup() pft_cleanup } +atf_test_case "multihome6" "cleanup" multihome6_head() { atf_set descr 'Test multihome IPv6 with OpenVPN' @@ -1413,6 +1414,7 @@ multihome6_body() multihome6_cleanup() { ovpn_cleanup + pft_cleanup } atf_test_case "float" "cleanup" From nobody Thu Jan 15 21:41:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsbyZ1Q49z6PTCg for ; Thu, 15 Jan 2026 21:41: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsbyT0dtBz3KZp for ; Thu, 15 Jan 2026 21:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768513265; 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=1epZPUq81X3L609qbhzd03YNpd8Vq8zcEZWMt9QXgDw=; b=PpToQVWTlVGYzA/1NGDccvcm4SsgXSrKBi7wBPpHiD5uAJyQHrdw39u87gIjhutDmgBCi2 A3cXFakE0JYd7UI4+2z56AA0GH9Qd6z8NuN3K0s/yFay4jYJRPKj7mOfyFFfQ8qSUUipFx Q57meB+dnxA1L4kI0b5IZFD3RnEpK+AadD2/8GAgsEOwXY88yidTzoAOCxC9wKCPgxiK6C tE3m33Vnsc5lz3W0iFr+qacMQBBnYM0hwPjFemBy5Ax7iLbkAhOfN8EHaSvb0a3ToWhcFP Qe/6zaSDDDHxdjSf7LwWnzfVp7qLp5kcZMdRCgvHhFaaqcZQGj+7dWig0t6AIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768513265; 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=1epZPUq81X3L609qbhzd03YNpd8Vq8zcEZWMt9QXgDw=; b=hLQnVCxZw02e24uIaquKSVQsJ/AbVdpGKSCZfA8ykOPSrymslMaEMjUOhG1Y54VoNLARk+ RuZegjX3FBCeFRwybXgZZpOo8LEVu9WNAvdKUCwBR7yqweNlapNvD6M1hYl3Aq/g6W0s3L wXwbf2vDG7L3HvPJ0xHodVihENAPpSxH8Y9RzVH2nWbY2vPlfeskkynGzJ94D3Idnk+ZLW XM15a92df8pIbe5N1jTcXM8spj0T6i0cQcM8mWOensK11tiQOojoiSPsm1kmKY8hKZNpGU UHi2pXZUN25Nu9V/SUVRDE80q4ekxmiADRQ9PCwqto37keFBO6fulb/MQXfTnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768513265; a=rsa-sha256; cv=none; b=cfFHXs3KHI6/WXiDlW+0i7SynGmaZc4vB1TORtG7KnnBEtSNzgzWf7wDU9HqL6LcTapOwQ L0Ye/peKothiIlogUxN90ukmJCF5foFGEHE6sXMpgul6fa/7p/YLhy+8roTaBG27Wcn8A2 ZZ4245nEB7Amw+9q6ayMslL4/3Cnnsnc59ZerxMd7+wdgAYcmscYSnnOMMJvR3gaVnDbL/ BqWY+CTRghE7+FL+sOrFrOunDXW8Vb3UJ7l6VyXygziwvCSEYi3yEl2fyiBNYyX/+P+YC8 2uihIL9jEnpnmqqERCCUbXeorAhzlmTDGHRuRPjkIfLSXDglDIkH1MT+3tsJAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsbyT0ClQzlRk for ; Thu, 15 Jan 2026 21:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22cfd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 21:41:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: f9ae08a88924 - main - linux: on vnet detach call clean_unrhdr(9) always List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9ae08a88924ba861ad0bb76f5a9a11fb44eced8 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 21:41:05 +0000 Message-Id: <69695ef1.22cfd.264cac11@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f9ae08a88924ba861ad0bb76f5a9a11fb44eced8 commit f9ae08a88924ba861ad0bb76f5a9a11fb44eced8 Author: Gleb Smirnoff AuthorDate: 2026-01-15 21:37:34 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-15 21:37:34 +0000 linux: on vnet detach call clean_unrhdr(9) always The assumption was incorrect, and the current VIMAGE implementation leaves a possibility for some interfaces still exist in a jail that is going away. Fixes: 607f11055d2d421770963162a4d9a99cdd136152 --- sys/compat/linux/linux_if.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/compat/linux/linux_if.c b/sys/compat/linux/linux_if.c index f201f7c4b128..ca4e3a4079ed 100644 --- a/sys/compat/linux/linux_if.c +++ b/sys/compat/linux/linux_if.c @@ -105,12 +105,13 @@ static void linux_ifnet_vnet_uninit(void *arg __unused) { /* - * At a normal vnet shutdown all interfaces are gone at this point. - * But when we kldunload linux.ko, the vnet_deregister_sysuninit() - * would call this function for the default vnet. + * All cloned interfaces are already gone at this point, as well + * as interfaces that were if_vmove'd into this vnet. However, + * if a jail has created IFT_ETHER interfaces in self, or has had + * physical Ethernet drivers attached in self, than we may have + * allocated entries in the unr(9), so clear it to avoid KASSERT. */ - if (IS_DEFAULT_VNET(curvnet)) - clear_unrhdr(V_linux_eth_unr); + clear_unrhdr(V_linux_eth_unr); delete_unrhdr(V_linux_eth_unr); } VNET_SYSUNINIT(linux_ifnet_vnet_uninit, SI_SUB_PROTO_IF, SI_ORDER_ANY, From nobody Thu Jan 15 21:57:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dscKt1hdhz6PTxN for ; Thu, 15 Jan 2026 21:57: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dscKs5T5hz3MWP for ; Thu, 15 Jan 2026 21:57:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768514273; 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=/z3USxvHjwscaZ+aZ7tvdUmuybwILDSS9KLA88M0GEo=; b=jk2BN9UMq4ekLoSNjD962vV0wmv0cZGOKuQ4y6baNRBPk4spVSKAjPvhcaVLjRlEhK3xvn oIlWfkA0aYeN5WouIrVGPIYj7+RmKa/+d1r5+Vx4oYQIL+i+XcK4kc50L5dRv+vQUN2+VP Ro9ACnxL4Du8rNlCXlOMUmuNKP0Hw9ZgAt1GHGER+jChYTEq1jvL5rfZxIAAnl8PNAmevx lCQcl2N3/5aiJXEc2bAXiSVzgbvfUAeZPDEXJPulqvbLCITGOzkJGClwgAjMvQCJl/tufu L5NKLiqbZ8B3Xajub/5ORke9sC1hrBv3XpsJavZAXNpZJfaL275z9ZVlsN+olw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768514273; 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=/z3USxvHjwscaZ+aZ7tvdUmuybwILDSS9KLA88M0GEo=; b=ZCiPUni/S+aZtMuv6Tg5+ziZTHMKEzhsMXXqsAOWt6h+Jf6GoOdiM2ci43QuO/73JBfMw4 5uZcAlonM54vvs3LuTyOXzOEHPZkbVYMNwQ3RWTmqg4Hwc2yoRtbDdpDnnZAfOLnAEkNOh xOdfdeJUrhvugm3IB1hU0/L/XwnQ7SP/M4KHMn6zTwNRwsnnivUerUvrOM3JX9BoNPVps8 Jz+bI4tvty9ECrVWZvro43zgQEp3p8lCFZBIWOW0gTryb0sCf08hnt8MHpgJfABy05Azsx pcIxHLQkt85Rh1Ed9qB0V/Li+d5Af75PKzoHe58byyvR1UeK271zMa95AnhEHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768514273; a=rsa-sha256; cv=none; b=ZG7XwZHGO86BmUV2WIEE/5Rm14i+kyLwLVQTTlskNtRtelnDaqBvf7nLjIGpwyTUiV2qDi zl4DlCaq+ED0jRa27ktaElDya9ZNrvPmwUE2S0qNCfUmUhma8jBmCMObEaS+1ZubAacYGI CjK2WtfbVqjDgtpdGtoPZ9i+9vMEO+j9+RBLz5UdSsCciv1KUp6CGZG6+xckoMPXoPguhV v57WQg7rEmm5AvtW+AYOp/4pweDMK/KoS8sge05271AkHeNhNeY5WR7uR6KOFVcGHBzAxf 5MOc5wwPUVbrMq14vBtyw6r8/X1eLOuXRNIl5PP2jWyAa+UR/jWWOwN0JBsUeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dscKs4N98zn2C for ; Thu, 15 Jan 2026 21:57:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 238f5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 21:57:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 51786cdeb07c - main - sockets: remove unused pr_sosend_notsupp(), pr_soreceive_notsupp() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51786cdeb07c26684c329624eb5af48562e615a0 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 21:57:53 +0000 Message-Id: <696962e1.238f5.69b7464d@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=51786cdeb07c26684c329624eb5af48562e615a0 commit 51786cdeb07c26684c329624eb5af48562e615a0 Author: Gleb Smirnoff AuthorDate: 2026-01-15 21:57:31 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-15 21:57:31 +0000 sockets: remove unused pr_sosend_notsupp(), pr_soreceive_notsupp() --- sys/kern/uipc_domain.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index ebcf041790b2..2b922ab51550 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -168,20 +168,6 @@ pr_sockaddr_notsupp(struct socket *so, struct sockaddr *nam) return (EOPNOTSUPP); } -static int -pr_sosend_notsupp(struct socket *so, struct sockaddr *addr, struct uio *uio, - struct mbuf *top, struct mbuf *control, int flags, struct thread *td) -{ - return (EOPNOTSUPP); -} - -static int -pr_soreceive_notsupp(struct socket *so, struct sockaddr **paddr, - struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) -{ - return (EOPNOTSUPP); -} - static void pr_init(struct domain *dom, struct protosw *pr) { @@ -217,8 +203,6 @@ pr_init(struct domain *dom, struct protosw *pr) NOTSUPP(pr_sendfile_wait); NOTSUPP(pr_shutdown); NOTSUPP(pr_sockaddr); - NOTSUPP(pr_sosend); - NOTSUPP(pr_soreceive); NOTSUPP(pr_ready); } From nobody Thu Jan 15 23:30:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsfP42rPhz6NLYM for ; Thu, 15 Jan 2026 23:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsfP40C4Rz3Trm for ; Thu, 15 Jan 2026 23:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768519848; 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=CCI5jHFa6ugSgANTyLY1LFcd0nvkZCLUaPHviV3/PzQ=; b=YL16jdhAYQ2557iTAmqatpl8lb+FtrvcTNAey2PJFS4MLTIgR1R+yNXHbnVI0gjb/L5+Db c9mm+1r+m4hTiPE3bUAF+Jy1VUxhwNRDMw1FcCFTN/Yp+MitM81HRR3REnVOrVbimkswY6 zrB6cEo0VIhle2Tazpsmsta82bDlTf1yXVyI9xDHC0iANSe9hqRdZ9lzcPRWs5mjD+8n19 VD6xiV24Jqxz0M4gWfJcqvjJKmFQzphTIe4tVTnjO0U7TAwGgJbHgXfnrRpMIqbDQ5/8P+ NxgWfUQSu5Nqzpk8iJuTWh9ddA0ciaBo6lGagXfhYO75wAY3bzEDZl4UASUrvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768519848; 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=CCI5jHFa6ugSgANTyLY1LFcd0nvkZCLUaPHviV3/PzQ=; b=E2auLP3lqDI8BNYEPLFboVrcU17gYnB9nxAZgBTy16vtx/HGLEsu0S3oJmA6EPd8P9RwlF 9jxiZncgiUUT13+Bf0/MeadRP8AtP59ciy0Du+myHPeY/Kk490mWdf6i3E7AnXBJhlFZFK 17xNJN3HdRD482gXv+KAyt9HlCIKiA98LBDkWShvncaLM3xW3H2wiBMbvIAbvFiRPa7KJ9 ggWHr/uUVYzgWe5IWI4uZGInqdm0X1dEsM/hGFTTiF4LwnnifPZhrGHgkwF49x1No5zEiB ouTp69oyDLrUL80N12RgbNaqlNIRrII0YFzmYJItBK0Y2BXfofwbUKThiNpofg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768519848; a=rsa-sha256; cv=none; b=t8R4QMs24xkr6Yfsbj+UXoQcSRJRVCZa9t0gtGma3rzdXkEMSnGhXqdZwK9QDRRjrHv+BA IfwaK5QcNp7zGOngK6ycvPE9chJpvts5FUNQH4P4nxusZHATboINxJZay/ScJWq3aSp3C0 GA/3aFeYUhqq2TlFaiV+7FnMrXo2wbnGUS4yU2qp+63KEPDHpoulubfa7ruwZn7/Phg5Sr H3xba9dJ7V4cNpt4qTBKqOvQpkoMypxdWQvGqahtNeGMJc6LfEfcY8/CF45z6tpGJjXSCg PIDXYB4ijOunJijpvOxms1D0MCzt06lLt98djLtfXK4aOeozVoN3NKBgOW4gJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsfP36SPwzpbQ for ; Thu, 15 Jan 2026 23:30:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3694f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 23:30:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 4fc11c92d324 - main - nfsd: Fix handling of attributes during Open/Create/Exclusive_41 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4fc11c92d324c9099ecc28f25a96591a2ff6105c Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 23:30:47 +0000 Message-Id: <696978a7.3694f.5b3b0193@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4fc11c92d324c9099ecc28f25a96591a2ff6105c commit 4fc11c92d324c9099ecc28f25a96591a2ff6105c Author: Rick Macklem AuthorDate: 2026-01-15 23:27:22 +0000 Commit: Rick Macklem CommitDate: 2026-01-15 23:27:22 +0000 nfsd: Fix handling of attributes during Open/Create/Exclusive_41 When an NFSv4.n client specifies settings for attributes other mode during a Open/Create/Exclusive_41, these other attributes were not being set. This patch resolves the problem by calling nfsrv_fixsattr() after the VOP_CREATE() call in nfsvno_open() for this case. There is no extant NFSv4.n client that currently does this, as far as I know. MFC after: 2 weeks --- sys/fs/nfs/nfs.h | 5 +++++ sys/fs/nfs/nfs_var.h | 2 +- sys/fs/nfs/nfsdport.h | 2 ++ sys/fs/nfsserver/nfs_nfsdport.c | 46 ++++++++++++++++++++++++++++++++++------- sys/fs/nfsserver/nfs_nfsdserv.c | 13 +++++++----- sys/fs/nfsserver/nfs_nfsdsubs.c | 6 +++--- 6 files changed, 57 insertions(+), 17 deletions(-) diff --git a/sys/fs/nfs/nfs.h b/sys/fs/nfs/nfs.h index ecff9b8e6849..7903542be91d 100644 --- a/sys/fs/nfs/nfs.h +++ b/sys/fs/nfs/nfs.h @@ -872,6 +872,11 @@ typedef enum { UNKNOWN=0, DELETED=1, NLINK_ZERO=2, VALID=3 } nfsremove_status; #define SUPPACL_NFSV4 1 #define SUPPACL_POSIX 2 +/* Values NFSv4 uses for exclusive_flag. */ +#define NFSV4_EXCLUSIVE_NONE 0 +#define NFSV4_EXCLUSIVE 1 +#define NFSV4_EXCLUSIVE_41 2 + #endif /* _KERNEL */ #endif /* _NFS_NFS_H */ diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 0211acf7f00b..28088c12d7e7 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -410,7 +410,7 @@ int nfsv4_strtogid(struct nfsrv_descript *, u_char *, int, gid_t *); int nfsrv_checkuidgid(struct nfsrv_descript *, struct nfsvattr *); void nfsrv_fixattr(struct nfsrv_descript *, vnode_t, struct nfsvattr *, NFSACL_T *, NFSACL_T *, NFSPROC_T *, nfsattrbit_t *, - struct nfsexstuff *); + bool); int nfsrv_errmoved(int); int nfsrv_putreferralattr(struct nfsrv_descript *, nfsattrbit_t *, struct nfsreferral *, int, int *); diff --git a/sys/fs/nfs/nfsdport.h b/sys/fs/nfs/nfsdport.h index c863741746c5..6439ef921d29 100644 --- a/sys/fs/nfs/nfsdport.h +++ b/sys/fs/nfs/nfsdport.h @@ -46,6 +46,8 @@ #define NFSVNO_ISSETATIME(n) ((n)->na_atime.tv_sec != VNOVAL) #define NFSVNO_NOTSETMTIME(n) ((n)->na_mtime.tv_sec == VNOVAL) #define NFSVNO_ISSETMTIME(n) ((n)->na_mtime.tv_sec != VNOVAL) +#define NFSVNO_NOTSETFLAGS(n) ((n)->na_flags == VNOVAL) +#define NFSVNO_ISSETFLAGS(n) ((n)->na_flags != VNOVAL) /* * This structure acts as a "catch-all" for information that diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 1e215b52e835..833203cd86fc 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1972,6 +1972,7 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, NFSACL_T *aclp, NFSACL_T *daclp, nfsattrbit_t *attrbitp, struct ucred *cred, bool done_namei, struct nfsexstuff *exp, struct vnode **vpp) { + struct vattr va; struct vnode *vp = NULL; u_quad_t tempsize; struct nfsexstuff nes; @@ -2018,23 +2019,52 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, &ndp->ni_vp : NULL, false); nfsvno_relpathbuf(ndp); if (!nd->nd_repstat) { - if (*exclusive_flagp) { - *exclusive_flagp = 0; - NFSVNO_ATTRINIT(nvap); - nvap->na_atime.tv_sec = cverf[0]; - nvap->na_atime.tv_nsec = cverf[1]; + if (*exclusive_flagp != NFSV4_EXCLUSIVE_NONE) { + VATTR_NULL(&va); + va.va_atime.tv_sec = cverf[0]; + va.va_atime.tv_nsec = cverf[1]; nd->nd_repstat = VOP_SETATTR(ndp->ni_vp, - &nvap->na_vattr, cred); + &va, cred); if (nd->nd_repstat != 0) { vput(ndp->ni_vp); ndp->ni_vp = NULL; nd->nd_repstat = NFSERR_NOTSUPP; - } else + } else { + /* + * Few clients set these + * attributes in Open/Create + * Exclusive_41. If this + * changes, this should include + * setting atime, instead of + * the above. + */ + if (*exclusive_flagp == + NFSV4_EXCLUSIVE_41 && + (NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_OWNER) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_OWNERGROUP) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_TIMEMODIFYSET)|| + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_ARCHIVE) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_HIDDEN) || + NFSISSET_ATTRBIT(attrbitp, + NFSATTRBIT_SYSTEM) || + aclp != NULL || + daclp != NULL)) + nfsrv_fixattr(nd, + ndp->ni_vp, nvap, + aclp, daclp, p, + attrbitp, true); NFSSETBIT_ATTRBIT(attrbitp, NFSATTRBIT_TIMEACCESS); + } + *exclusive_flagp = NFSV4_EXCLUSIVE_NONE; } else { nfsrv_fixattr(nd, ndp->ni_vp, nvap, - aclp, daclp, p, attrbitp, exp); + aclp, daclp, p, attrbitp, false); } } vp = ndp->ni_vp; diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 3eb3471d9ac9..b5f5b9bec9fc 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -1608,7 +1608,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, __unused int isdgram, nd->nd_repstat = nfsvno_mknod(&named, &nva, nd->nd_cred, p); if (!nd->nd_repstat) { vp = named.ni_vp; - nfsrv_fixattr(nd, vp, &nva, aclp, daclp, p, &attrbits, exp); + nfsrv_fixattr(nd, vp, &nva, aclp, daclp, p, &attrbits, false); nd->nd_repstat = nfsvno_getfh(vp, fhp, p); if ((nd->nd_flag & ND_NFSV3) && !nd->nd_repstat) nd->nd_repstat = nfsvno_getattr(vp, &nva, nd, p, 1, @@ -2120,7 +2120,7 @@ nfsrvd_symlinksub(struct nfsrv_descript *nd, struct nameidata *ndp, !(nd->nd_flag & ND_NFSV2), nd->nd_saveduid, nd->nd_cred, p, exp); if (!nd->nd_repstat && !(nd->nd_flag & ND_NFSV2)) { nfsrv_fixattr(nd, ndp->ni_vp, nvap, aclp, NULL, p, attrbitp, - exp); + false); if (nd->nd_flag & ND_NFSV3) { nd->nd_repstat = nfsvno_getfh(ndp->ni_vp, fhp, p); if (!nd->nd_repstat) @@ -2255,7 +2255,7 @@ nfsrvd_mkdirsub(struct nfsrv_descript *nd, struct nameidata *ndp, nd->nd_cred, p, exp); if (!nd->nd_repstat) { vp = ndp->ni_vp; - nfsrv_fixattr(nd, vp, nvap, aclp, daclp, p, attrbitp, exp); + nfsrv_fixattr(nd, vp, nvap, aclp, daclp, p, attrbitp, false); nd->nd_repstat = nfsvno_getfh(vp, fhp, p); if (!(nd->nd_flag & ND_NFSV4) && !nd->nd_repstat) nd->nd_repstat = nfsvno_getattr(vp, nvap, nd, p, 1, @@ -2964,7 +2964,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, u_int32_t *tl; int i, retext; struct nfsstate *stp = NULL; - int error = 0, create, claim, exclusive_flag = 0, override; + int error = 0, create, claim, override; + int exclusive_flag = NFSV4_EXCLUSIVE_NONE; u_int32_t rflags = NFSV4OPEN_LOCKTYPEPOSIX, acemask; int how = NFSCREATE_UNCHECKED; int32_t cverf[2], tverf[2] = { 0, 0 }; @@ -3229,6 +3230,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, case NFSCREATE_EXCLUSIVE: if (nd->nd_repstat == 0 && named.ni_vp == NULL) nva.na_mode = 0; + exclusive_flag = NFSV4_EXCLUSIVE; /* FALLTHROUGH */ case NFSCREATE_EXCLUSIVE41: if (nd->nd_repstat == 0 && named.ni_vp != NULL) { @@ -3244,7 +3246,8 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, if (nd->nd_repstat != 0) done_namei = true; } - exclusive_flag = 1; + if (how == NFSCREATE_EXCLUSIVE41) + exclusive_flag = NFSV4_EXCLUSIVE_41; break; } } diff --git a/sys/fs/nfsserver/nfs_nfsdsubs.c b/sys/fs/nfsserver/nfs_nfsdsubs.c index c8c78d98be72..fdedf959f0e5 100644 --- a/sys/fs/nfsserver/nfs_nfsdsubs.c +++ b/sys/fs/nfsserver/nfs_nfsdsubs.c @@ -1645,7 +1645,7 @@ out: void nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, NFSACL_T *aclp, NFSACL_T *daclp, NFSPROC_T *p, - nfsattrbit_t *attrbitp, struct nfsexstuff *exp) + nfsattrbit_t *attrbitp, bool atime_done) { int change = 0; struct nfsvattr nva; @@ -1675,7 +1675,7 @@ nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, } } if (NFSISSET_ATTRBIT(attrbitp, NFSATTRBIT_TIMEACCESSSET) && - NFSVNO_ISSETATIME(nvap)) { + !atime_done && NFSVNO_ISSETATIME(nvap)) { nva.na_atime = nvap->na_atime; change++; NFSSETBIT_ATTRBIT(&nattrbits, NFSATTRBIT_TIMEACCESSSET); @@ -1736,7 +1736,7 @@ nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, } } if (change) { - error = nfsvno_setattr(vp, &nva, nd->nd_cred, p, exp); + error = nfsvno_setattr(vp, &nva, nd->nd_cred, p, NULL); if (error) { NFSCLRALL_ATTRBIT(attrbitp, &nattrbits); } From nobody Fri Jan 16 00:24:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZn2WGkz6NPtZ for ; Fri, 16 Jan 2026 00:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZn1dHCz3ZZ3 for ; Fri, 16 Jan 2026 00:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523057; 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=bKegVE+9QRzwRXfHZS6sJAP4+EeLqAUetfpe5JpudNI=; b=a0MzrGkr3ujLK970lPfogxrP2tIndnTX9Bl1+t4ZgSjabS72dT8mMdud0wVJAJ67XMbNYH TeR277yixCD6HwHVZSk4wzeBixbsnUfWr/maAa1MiaXnRwNhTBaYxXhiKcDyyFyBHmVkxf 3CWE1A+B2dgv1/VpkSCJ2o57WwZBlpztNvT3nbzbiJpSdwbBsKtm74xy3JZJ4SvjTSHoj+ JjzA8wQFFcnk1SJ26ZnVxWfX0LvDCF8ptQgLu+rMHguJ7laOabhOhTOQZHdgcxrILfe2VM rgU+GQQ9vdGFTqPh7a+UpdntT1xQREbbQc6BufrcARZHnKwgr9SGHNcM01SV6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523057; 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=bKegVE+9QRzwRXfHZS6sJAP4+EeLqAUetfpe5JpudNI=; b=NOrGxMwLL7O9FeV+oqA/fnVZS+cRrJ1JvuSZR5/flXb4P3MOUx4bvTIkpip2eT/ZGBziIK mJLZQTiLZ+dNTRvp+2Ic64tSRUVQJPoJmc68CzdmYHf4yVadI0aZHooHe36pvFgDIo+n0T XL0xrQJhYxSx509TIKvkSGnlvnJxICr/rp9P2gP3/L9izRsAjg/FUeyi4/U2J2t8GnRFrL 4dNRJ6qAKwsKPiv/EQCUN8d3d0kiiKYaFnBGKxIkS8e2ZXfLAsUXHdXMQIZgFzq8nm7bvX +GginRqDOVfwJ9fdYzioeX5zgaz4bSn+GxWxJfTaWbYH8FweByPURt4YXuhEOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523057; a=rsa-sha256; cv=none; b=Eo782q2PG/5TnXOX0+TRXaeC3D+66efL/ga6o7IffC84jwXNWQ9nfJFVikbMKMnAyWsjtm QoU4Aj8CwQnYd0rUq4jBUjs8HvohdTGuMB+D+nQSaX8cyu8G0Ym9z99S93WdSrPULeOGRk sgR423+ZoVc5QmbWy+uSW7XaLZs86g24yCprfiW5geKhEK0b9g0quPvEc6H6+rxOT29W6S T37OGS2MYwiLNSihGlnnvCB+pbcjWCiw13DYayYOfeSwMrEa0GVWUwFmXIEQk3ge5rKGXh 6jGoT4cpXhCJMZnVl3srxWg1XvVwPe4WX1KuM71yXazwx4X0130nYPoM/O+RZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZn19kbzqvK for ; Fri, 16 Jan 2026 00:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a85d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 11d6ea47f06a - main - kern: mac: add a MAC label to struct prison List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11d6ea47f06a38f66536b173e85ddf2674da6aff Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:17 +0000 Message-Id: <69698531.3a85d.6888870a@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=11d6ea47f06a38f66536b173e85ddf2674da6aff commit 11d6ea47f06a38f66536b173e85ddf2674da6aff Author: Kyle Evans AuthorDate: 2025-10-04 03:46:03 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 kern: mac: add a MAC label to struct prison Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D53953 --- sys/conf/files | 1 + sys/kern/kern_jail.c | 26 +++++++ sys/security/mac/mac_framework.c | 1 + sys/security/mac/mac_framework.h | 6 ++ sys/security/mac/mac_internal.h | 9 +++ sys/security/mac/mac_policy.h | 20 ++++++ sys/security/mac/mac_prison.c | 144 +++++++++++++++++++++++++++++++++++++++ sys/sys/jail.h | 1 + 8 files changed, 208 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index d0c4ea5f544d..a6a76dec433a 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -5264,6 +5264,7 @@ security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_posix_sem.c optional mac security/mac/mac_posix_shm.c optional mac +security/mac/mac_prison.c optional mac security/mac/mac_priv.c optional mac security/mac/mac_process.c optional mac security/mac/mac_socket.c optional mac diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index f803be76a70e..8c224597bdf5 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -275,8 +275,17 @@ prison0_init(void) uint8_t *file, *data; size_t size; char buf[sizeof(prison0.pr_hostuuid)]; +#ifdef MAC + int error __diagused; +#endif bool valid; +#ifdef MAC + error = mac_prison_init(&prison0, M_WAITOK); + MPASS(error == 0); + + mtx_unlock(&prison0.pr_mtx); +#endif prison0.pr_cpuset = cpuset_ref(thread0.td_cpuset); prison0.pr_osreldate = osreldate; strlcpy(prison0.pr_osrelease, osrelease, sizeof(prison0.pr_osrelease)); @@ -1828,7 +1837,14 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) if (error) goto done_deref; +#ifdef MAC + error = mac_prison_init(pr, M_WAITOK); + MPASS(error == 0); + + mtx_assert(&pr->pr_mtx, MA_OWNED); +#else mtx_lock(&pr->pr_mtx); +#endif drflags |= PD_LOCKED; } else { /* @@ -3540,6 +3556,16 @@ prison_deref(struct prison *pr, int flags) KASSERT( refcount_load(&prison0.pr_ref) != 0, ("prison0 pr_ref=0")); +#ifdef MAC + /* + * The MAC framework will call into any + * policies that want to hook + * prison_destroy_label, so ideally we + * call this prior to any final state + * invalidation to be safe. + */ + mac_prison_destroy(pr); +#endif pr->pr_state = PRISON_STATE_INVALID; TAILQ_REMOVE(&allprison, pr, pr_list); LIST_REMOVE(pr, pr_sibling); diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index b0776160cc74..fec63b99c0e0 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -374,6 +374,7 @@ mac_policy_getlabeled(struct mac_policy_conf *mpc) MPC_FLAG(mount_init_label, MPC_OBJECT_MOUNT); MPC_FLAG(posixsem_init_label, MPC_OBJECT_POSIXSEM); MPC_FLAG(posixshm_init_label, MPC_OBJECT_POSIXSHM); + MPC_FLAG(prison_init_label, MPC_OBJECT_PRISON); MPC_FLAG(sysvmsg_init_label, MPC_OBJECT_SYSVMSG); MPC_FLAG(sysvmsq_init_label, MPC_OBJECT_SYSVMSQ); MPC_FLAG(sysvsem_init_label, MPC_OBJECT_SYSVSEM); diff --git a/sys/security/mac/mac_framework.h b/sys/security/mac/mac_framework.h index 1233cd30f211..f14e8d7d1e7d 100644 --- a/sys/security/mac/mac_framework.h +++ b/sys/security/mac/mac_framework.h @@ -73,6 +73,7 @@ struct mount; struct msg; struct msqid_kernel; struct pipepair; +struct prison; struct proc; struct semid_kernel; struct shmfd; @@ -346,6 +347,11 @@ void mac_posixshm_create(struct ucred *cred, struct shmfd *shmfd); void mac_posixshm_destroy(struct shmfd *); void mac_posixshm_init(struct shmfd *); +int mac_prison_init(struct prison *pr, int flag); +void mac_prison_relabel(struct ucred *cred, struct prison *pr, + struct label *newlabel); +void mac_prison_destroy(struct prison *pr); + int mac_priv_check_impl(struct ucred *cred, int priv); #ifdef MAC extern bool mac_priv_check_fp_flag; diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index aeef59017d18..a882a476d1b0 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -177,6 +177,7 @@ struct label { #define MPC_OBJECT_SYSVSHM 0x0000000000020000 #define MPC_OBJECT_SYNCACHE 0x0000000000040000 #define MPC_OBJECT_IP6Q 0x0000000000080000 +#define MPC_OBJECT_PRISON 0x0000000000100000 /* * MAC Framework global variables. @@ -252,6 +253,14 @@ int mac_pipe_externalize_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); int mac_pipe_internalize_label(struct label *label, char *string); +int mac_prison_check_relabel(struct ucred *cred, struct prison *pr, + struct label *newlabel); +int mac_prison_externalize_label(struct label *label, char *elements, + char *outbuf, size_t outbuflen); +int mac_prison_internalize_label(struct label *label, char *string); +void mac_prison_relabel(struct ucred *cred, struct prison *pr, + struct label *newlabel); + int mac_socket_label_set(struct ucred *cred, struct socket *so, struct label *label); void mac_socket_copy_label(struct label *src, struct label *dest); diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h index f0a1f0863c96..fba1f4a1c85e 100644 --- a/sys/security/mac/mac_policy.h +++ b/sys/security/mac/mac_policy.h @@ -88,6 +88,7 @@ struct mount; struct msg; struct msqid_kernel; struct pipepair; +struct prison; struct proc; struct sbuf; struct semid_kernel; @@ -407,6 +408,18 @@ typedef void (*mpo_posixshm_create_t)(struct ucred *cred, typedef void (*mpo_posixshm_destroy_label_t)(struct label *label); typedef void (*mpo_posixshm_init_label_t)(struct label *label); +typedef int (*mpo_prison_init_label_t)(struct label *label, int flag); +typedef int (*mpo_prison_check_relabel_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel, + struct label *newlabel); +typedef void (*mpo_prison_destroy_label_t)(struct label *label); +typedef int (*mpo_prison_externalize_label_t)(struct label *label, + char *element_name, struct sbuf *sb, int *claimed); +typedef int (*mpo_prison_internalize_label_t)(struct label *label, + char *element_name, char *element_data, int *claimed); +typedef void (*mpo_prison_relabel_t)(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct label *newlabel); + typedef int (*mpo_priv_check_t)(struct ucred *cred, int priv); typedef int (*mpo_priv_grant_t)(struct ucred *cred, int priv); @@ -863,6 +876,13 @@ struct mac_policy_ops { mpo_posixshm_destroy_label_t mpo_posixshm_destroy_label; mpo_posixshm_init_label_t mpo_posixshm_init_label; + mpo_prison_init_label_t mpo_prison_init_label; + mpo_prison_check_relabel_t mpo_prison_check_relabel; + mpo_prison_destroy_label_t mpo_prison_destroy_label; + mpo_prison_externalize_label_t mpo_prison_externalize_label; + mpo_prison_internalize_label_t mpo_prison_internalize_label; + mpo_prison_relabel_t mpo_prison_relabel; + mpo_priv_check_t mpo_priv_check; mpo_priv_grant_t mpo_priv_grant; diff --git a/sys/security/mac/mac_prison.c b/sys/security/mac/mac_prison.c new file mode 100644 index 000000000000..e24ffa9e698d --- /dev/null +++ b/sys/security/mac/mac_prison.c @@ -0,0 +1,144 @@ +/*- + * Copyright (c) 2025 Kyle Evans + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include "opt_mac.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +static void +mac_prison_label_free(struct label *label) +{ + if (label == NULL) + return; + + MAC_POLICY_PERFORM_NOSLEEP(prison_destroy_label, label); + mac_labelzone_free(label); +} + +static struct label * +mac_prison_label_alloc(int flag) +{ + struct label *label; + int error; + + label = mac_labelzone_alloc(flag); + if (label == NULL) + return (NULL); + + if (flag & M_WAITOK) + MAC_POLICY_CHECK(prison_init_label, label, flag); + else + MAC_POLICY_CHECK_NOSLEEP(prison_init_label, label, flag); + if (error) { + mac_prison_label_free(label); + return (NULL); + } + return (label); +} + +/* + * The caller's expecting us to return with the prison locked if we were + * successful, since we're also setting pr->pr_label. On error, it remains + * unlocked. + */ +int +mac_prison_init(struct prison *pr, int flag) +{ + struct label *prlabel; + + mtx_assert(&pr->pr_mtx, MA_NOTOWNED); + if ((mac_labeled & MPC_OBJECT_PRISON) == 0) { + mtx_lock(&pr->pr_mtx); + pr->pr_label = NULL; + return (0); + } + + prlabel = mac_prison_label_alloc(flag); + if (prlabel == NULL) { + KASSERT((flag & M_WAITOK) == 0, + ("MAC policy prison_init_label failed under M_WAITOK")); + return (ENOMEM); + } + + mtx_lock(&pr->pr_mtx); + pr->pr_label = prlabel; + return (0); +} + +void +mac_prison_destroy(struct prison *pr) +{ + mtx_assert(&pr->pr_mtx, MA_OWNED); + mac_prison_label_free(pr->pr_label); + pr->pr_label = NULL; +} + +int +mac_prison_externalize_label(struct label *label, char *elements, + char *outbuf, size_t outbuflen) +{ + int error; + + MAC_POLICY_EXTERNALIZE(prison, label, elements, outbuf, outbuflen); + return (error); +} + +int +mac_prison_internalize_label(struct label *label, char *string) +{ + int error; + + MAC_POLICY_INTERNALIZE(prison, label, string); + return (error); +} + +void +mac_prison_relabel(struct ucred *cred, struct prison *pr, + struct label *newlabel) +{ + mtx_assert(&pr->pr_mtx, MA_OWNED); + MAC_POLICY_PERFORM_NOSLEEP(prison_relabel, cred, pr, pr->pr_label, + newlabel); +} + +MAC_CHECK_PROBE_DEFINE4(prison_check_relabel, "struct ucred *", + "struct prison *", "struct label *", "struct label *"); +int +mac_prison_check_relabel(struct ucred *cred, struct prison *pr, + struct label *newlabel) +{ + int error; + + mtx_assert(&pr->pr_mtx, MA_OWNED); + MAC_POLICY_CHECK_NOSLEEP(prison_check_relabel, cred, pr, + pr->pr_label, newlabel); + MAC_CHECK_PROBE4(prison_check_relabel, error, cred, pr, + pr->pr_label, newlabel); + + return (error); +} diff --git a/sys/sys/jail.h b/sys/sys/jail.h index e6a13e6719dd..5ac4c5f9008d 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -198,6 +198,7 @@ struct prison { struct prison_ip *pr_addrs[PR_FAMILY_MAX]; /* (p,n) IPs of jail */ struct prison_racct *pr_prison_racct; /* (c) racct jail proxy */ struct knlist *pr_klist; /* (m) attached knotes */ + struct label *pr_label; /* (m) MAC label */ LIST_HEAD(, jaildesc) pr_descs; /* (a) attached descriptors */ void *pr_sparep; int pr_childcount; /* (a) number of child jails */ From nobody Fri Jan 16 00:24:18 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZp4csSz6NPnV for ; Fri, 16 Jan 2026 00:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZp2Pdkz3ZWG for ; Fri, 16 Jan 2026 00:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523058; 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=+UbqLzR4HiqP+N34HBUqrPl2Fmty2Ow5nIC6W8Xg/ok=; b=q7d9setSGOeBi/cfjnIAEgvxY/kEfyxvFaUwJfBISfIu3FmmEs0/CaOfBfqM0u5E9lXLcw uoTY6uYlbITx6QQtKfci7zusLKiakd96lT+iwDbJ0xiybkGqCbNQJaWyFzVSjigbkOeamD LLqze2YeswaX56cmk528AYNb+KRDE5ohBWlJNtexCjbBG5+XUX1O4Dtu28TnLMJsQQ98O4 AjZncTr3U48pVBJgbv5e3XJjW2YCMWgoY1N0WzDdVsFVUN9XZf4yPHbLzsJSSZARMFBveo UrRxoBUsUaN1l0P13l60cWALztoM9/0OIzrrLMQf0BSUirgLfa4cJf/1bMtiJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523058; 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=+UbqLzR4HiqP+N34HBUqrPl2Fmty2Ow5nIC6W8Xg/ok=; b=CSY8pDGf/+oGXKGzcxT1Pki5W9DxEr+hZiGOYxvGSSBtBOUJ/Hl4Twgq+0e/I6zpShvLbN SkQasp7HFKohSph2PSxyPaOMFcXQr/pTp8Jp8gSq6k6CW5W+AJ/Ln24sFwYc9JTOp/CW7Q TgGWnXPLPe/FvdBuaqJVz/T5kHqffWxKDtnDm3HLSjVVAknCg2Y0qyeFMtaJryDzXEm6v/ EJlPOQf1iaOuQDQHhfrWhm+MPw/MpMx50PYiIDGqjcIXLgz4qV2gH0fWUkFgowwYjhn37k OfdivO7muAe0HQPyf9Kr2MQk5DTnomcKVKrHCf0eBRgO9jNycK59jadOKl2htw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523058; a=rsa-sha256; cv=none; b=OTZfedSebS7plv0wCNdSh2VIQeAEFtzhwogPPRvsMcZqWIGwPnYRz7UoUj32bCYM2EmHpr sgYpeA45V8WQsvqTMgB7iaGd/Wu7m9f1uT11f9WMBA9Cugvo2qYzVK1z0hXdyVpDdayrxo 2Qb9v73p6VE3SGgK5bzJETVZatSYuVUrbCaeHX8QKr8vd3yBQ4slCgK/hXX3gk5iv7ikRs Y/cdsm0bbhOELpMjCTQwPjgz/TQyow/nIL/BQP1+hoVziyR2bqKiwT/vgUQfNZTI1sD6KI 3Mc+6qGcpq4iNvEhSUqPWhrb0LbcBsC4Xki0thoiO5sWbsxifl3az5mulOQbqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZp1xwXzrjy for ; Fri, 16 Jan 2026 00:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3abde by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 92b7366e438d - main - mac: add macros for 5-argument SDT probes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92b7366e438d8422a9e453aed02ca365da25bf62 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:18 +0000 Message-Id: <69698532.3abde.70dc1b52@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=92b7366e438d8422a9e453aed02ca365da25bf62 commit 92b7366e438d8422a9e453aed02ca365da25bf62 Author: Kyle Evans AuthorDate: 2026-01-11 17:12:49 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 mac: add macros for 5-argument SDT probes A last-minute change to the jail MAC entry points in D53954 is going to pass the jail_[gs]et(2) flags to mac_prison_check_[gs]et() so that a policy can, e.g., reject or allow a change if the intent is to immediately attach, or disallow some fetching of dying jails. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D54658 --- sys/security/mac/mac_internal.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index a882a476d1b0..a07bf01da6f6 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -64,6 +64,12 @@ SDT_PROVIDER_DECLARE(mac); /* MAC Framework-level events. */ SDT_PROVIDER_DECLARE(mac_framework); /* Entry points to MAC. */ +#define MAC_CHECK_PROBE_DEFINE5(name, arg0, arg1, arg2, arg3, arg4) \ + SDT_PROBE_DEFINE6(mac_framework, , name, mac__check__err, \ + "int", arg0, arg1, arg2, arg3, arg4); \ + SDT_PROBE_DEFINE6(mac_framework, , name, mac__check__ok, \ + "int", arg0, arg1, arg2, arg3, arg4); + #define MAC_CHECK_PROBE_DEFINE4(name, arg0, arg1, arg2, arg3) \ SDT_PROBE_DEFINE5(mac_framework, , name, mac__check__err, \ "int", arg0, arg1, arg2, arg3); \ @@ -88,18 +94,20 @@ SDT_PROVIDER_DECLARE(mac_framework); /* Entry points to MAC. */ SDT_PROBE_DEFINE2(mac_framework, , name, mac__check__ok, \ "int", arg0); -#define MAC_CHECK_PROBE4(name, error, arg0, arg1, arg2, arg3) do { \ +#define MAC_CHECK_PROBE5(name, error, arg0, arg1, arg2, arg3, arg4) do { \ if (SDT_PROBES_ENABLED()) { \ if (error) { \ - SDT_PROBE5(mac_framework, , name, mac__check__err,\ - error, arg0, arg1, arg2, arg3); \ + SDT_PROBE6(mac_framework, , name, mac__check__err,\ + error, arg0, arg1, arg2, arg3, arg4); \ } else { \ - SDT_PROBE5(mac_framework, , name, mac__check__ok,\ - 0, arg0, arg1, arg2, arg3); \ + SDT_PROBE6(mac_framework, , name, mac__check__ok,\ + 0, arg0, arg1, arg2, arg3, arg4); \ } \ } \ } while (0) +#define MAC_CHECK_PROBE4(name, error, arg0, arg1, arg2, arg3) \ + MAC_CHECK_PROBE5(name, error, arg0, arg1, arg2, arg3, 0) #define MAC_CHECK_PROBE3(name, error, arg0, arg1, arg2) \ MAC_CHECK_PROBE4(name, error, arg0, arg1, arg2, 0) #define MAC_CHECK_PROBE2(name, error, arg0, arg1) \ From nobody Fri Jan 16 00:24:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZq4vDdz6NPtd for ; Fri, 16 Jan 2026 00:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZq3DkYz3ZR0 for ; Fri, 16 Jan 2026 00:24:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523059; 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=W76L1WDk6NSa11w+PLuqOH5Y6JnjUip2zc0rqVk8Yek=; b=eYw7wf6HhMZPnS5088XwybLQXP3zAH5KjlrInGubK43NZ9NTsx6eEF7FFCNA03YfkPNetY 2ZG88VxHANnyVws27fY0KyBiojdkmNTPvjMtYgiH2p1yWCDe9MNzcif+7xorzmagtJwVt8 Ofqd+sjGO3dhiy3jNZBqp0N0W8ZhXmxk1nh79N8LxeTPjyeSVPOtayXjUhvIGTDpQM7c83 vXKngNVn2nEDfxDgI1doPqmxQcIyk97pNayaYWXWGNpatXdGOAoeSaaC9M6k7+DH+5CclQ iyGVo6y0FHdKZ4XxGuNcajYq4ExVka2H7W4X8FTd9eQW4KJb/fwAvPMuPbS5sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523059; 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=W76L1WDk6NSa11w+PLuqOH5Y6JnjUip2zc0rqVk8Yek=; b=v/zG9bqL/dqIjBIvC729/wP41aZTDtmLQQ6u67C4g3F5i/zFx3DVHLbBg9aATyIu+BNUL9 1B4W3/3c8EWhvcHr9QWmt5ZK1w6QC2hrL2PLq4DkvVC0hfil3lBZtHiVlAi35OgxFZpvyl CXJVmQvfJSsr4HGT8XKINLYaHTPJOGgnACIKA0wqYmaoOyRbQISIWEfus6euQpONWjDKvH HyfmTp7ShGXFcdPAC10F3IODS2F9P2WPr0vN6JxqVg5b5Y0NV3fIUmvBVcN6VpLwdlsgye 8w83Zunq225gezywSYjIby+1XtRuKhdXbz9x/4ZG5Z8jNfeucmxYDR4Ja8rXPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523059; a=rsa-sha256; cv=none; b=WNpccNxF79uKBFUBT4pJ6ljy8ctCS43bJqV+T/7GA6aItw6o2lKSTsZFgTrC36kcyQRI5C zfsTaPf+ikkvd8gaUVNqITGbn3vKgiZpgeAWrvI2QplKXx5YX0Hl+B28sjAqxo3HVtXPuj 3tr0iPb69CU4L9vBieaWXP3P4E6bvILy5fHSyUZvg91e/8exTAPSo1r/St6Gvp38x0l8W4 nQiYGMxKYwK2YTj+AENnyB5TsPp0bZdMZ2VeXb70CynEfEIEVDiITAB9xzzadfkbavDFXG evXXfpMM6umxgM9YFhrtqlfAePJ6BDmlHr0c4RRRh0Xm8EMl/1WdndGmWJadCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZq2qHYzrmb for ; Fri, 16 Jan 2026 00:24:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b6f6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 8254b0dec02b - main - kern: mac: add various jail MAC hooks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8254b0dec02b376dae259cd2043513842d827bd8 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:19 +0000 Message-Id: <69698533.3b6f6.11ff51be@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8254b0dec02b376dae259cd2043513842d827bd8 commit 8254b0dec02b376dae259cd2043513842d827bd8 Author: Kyle Evans AuthorDate: 2025-10-21 03:42:50 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 kern: mac: add various jail MAC hooks This adds the following hooks: - mpo_prison_check_attach: check for subject capability to attach to a given jail - mpo_prison_check_create: check for subject capability to create a jail with the given option set - mpo_prison_check_get: check for subject capability to fetch the given parameters for a jail - mpo_prison_check_set: check for subject capability to set the given parameters for a jail - mpo_prison_check_remove: check for subject capability to remove the jail check_get wouldn't typically be a privileged operation, but is included to give MAC policies a wider range of capabilities at a relatively low cost. We also add two more for the purpose of label propagation: - mpo_prison_created: surface the creation of a jail so that one can do propagation to, e.g., the root vnode or any mounts - mpo_prison_attached: attach an existing process to the jail so that one can propagate the jail label to the process, as appropriate. It is unclear if this is preferred vs. having separate associate entry points for each type of object we might associate. That would split these up like so: - prison_created -> prison_associate_vnode - prison_attached -> prison_associate_proc Some sample policy ideas that should be feasible to implement with this set of hooks, in case it's inspiring: - mac_bomb: policy that allows a poudriere user to construct jails without root privilege, given a restricted set of jail parameters. Slap a warning label on it. - mac_capsule: policy that realizes the capsule idea that I pitched[0] on -jail@ to create jails that are effectively immutable once sealed, using these hooks and a label. Perhaps a silly idea, but a downstream could consider a scenario where it can implement special jail enumeration using a MAC policy and a cooperating application that specifies non-parameter options to filter the results. [0] https://lists.freebsd.org/archives/freebsd-jail/2025-September/000550.html Reviewed by: olce (slightly earlier version) Differential Revision: https://reviews.freebsd.org/D53954 --- share/man/man4/mac.4 | 2 + sys/kern/kern_jail.c | 126 ++++++++++++++++++++++++------ sys/security/mac/mac_framework.h | 12 +++ sys/security/mac/mac_policy.h | 25 ++++++ sys/security/mac/mac_prison.c | 87 +++++++++++++++++++++ sys/security/mac_stub/mac_stub.c | 83 ++++++++++++++++++++ sys/security/mac_test/mac_test.c | 161 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 474 insertions(+), 22 deletions(-) diff --git a/share/man/man4/mac.4 b/share/man/man4/mac.4 index 134086139f53..2e2abbdb2c06 100644 --- a/share/man/man4/mac.4 +++ b/share/man/man4/mac.4 @@ -115,6 +115,8 @@ Policy enforcement is divided into the following areas of the system: .Bl -ohang .It Sy "File System" File system mounts, modifying directories, modifying files, etc. +.It Sy Jails +Creating, modifying, removing, and attaching to jails .It Sy KLD Loading, unloading, and retrieving statistics on loaded kernel modules .It Sy Network diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 8c224597bdf5..b5f61e3957d9 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -1701,6 +1702,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) /* If there's no prison to update, create a new one and link it in. */ created = pr == NULL; if (created) { +#ifdef MAC + error = mac_prison_check_create(td->td_ucred, opts, flags); + if (error != 0) + goto done_deref; +#endif for (tpr = mypr; tpr != NULL; tpr = tpr->pr_parent) if (tpr->pr_childcount >= tpr->pr_childmax) { error = EPERM; @@ -1855,6 +1861,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) prison_hold(pr); drflags |= PD_DEREF; } +#ifdef MAC + error = mac_prison_check_set(td->td_ucred, pr, opts, flags); + if (error != 0) + goto done_deref; +#endif #if defined(VIMAGE) && (defined(INET) || defined(INET6)) if ((pr->pr_flags & PR_VNET) && (ch_flags & (PR_IP4_USER | PR_IP6_USER))) { @@ -2246,6 +2257,13 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) if (created) { sx_assert(&allprison_lock, SX_XLOCKED); prison_knote(ppr, NOTE_JAIL_CHILD | pr->pr_id); +#ifdef MAC + /* + * Note that mac_prison_created() assumes that it's called in a + * sleepable context. + */ + mac_prison_created(td->td_ucred, pr); +#endif mtx_lock(&pr->pr_mtx); drflags |= PD_LOCKED; pr->pr_state = PRISON_STATE_ALIVE; @@ -2253,6 +2271,14 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) /* Attach this process to the prison if requested. */ if (flags & JAIL_ATTACH) { +#ifdef MAC + error = mac_prison_check_attach(td->td_ucred, pr); + if (error != 0) { + vfs_opterror(opts, + "attach operation denied by MAC policy"); + goto done_deref; + } +#endif error = do_jail_attach(td, pr, prison_lock_xlock(pr, drflags & PD_LOCK_FLAGS)); drflags &= ~(PD_LOCKED | PD_LIST_XLOCKED); @@ -2556,12 +2582,6 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) drflags |= PD_DEREF; mtx_lock(&pr->pr_mtx); drflags |= PD_LOCKED; - if (!(prison_isalive(pr) || (flags & JAIL_DYING))) { - error = ENOENT; - vfs_opterror(opts, "jail %d is dying", - pr->pr_id); - goto done; - } goto found_prison; } if (flags & JAIL_AT_DESC) { @@ -2593,7 +2613,29 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) prison_ischild(mypr, pr)) { mtx_lock(&pr->pr_mtx); drflags |= PD_LOCKED; +#ifdef MAC + /* + * We special-case this one check because we + * don't want MAC to break jail enumeration. We + * need to just move on to the next accessible + * and alive prison. + */ + error = mac_prison_check_get(td->td_ucred, pr, + opts, flags); + if (error != 0) { + mtx_unlock(&pr->pr_mtx); + drflags &= ~PD_LOCKED; + continue; + } + + /* + * Avoid potentially expensive trip back into + * the MAC framework. + */ + goto found_prison_nomac_alive; +#else goto found_prison; +#endif } } error = ENOENT; @@ -2608,13 +2650,6 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) pr = prison_find_child(mypr, jid); if (pr != NULL) { drflags |= PD_LOCKED; - if (!(prison_isalive(pr) || - (flags & JAIL_DYING))) { - error = ENOENT; - vfs_opterror(opts, "jail %d is dying", - jid); - goto done; - } goto found_prison; } error = ENOENT; @@ -2633,12 +2668,6 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) pr = prison_find_name(mypr, name); if (pr != NULL) { drflags |= PD_LOCKED; - if (!(prison_isalive(pr) || (flags & JAIL_DYING))) { - error = ENOENT; - vfs_opterror(opts, "jail \"%s\" is dying", - name); - goto done; - } goto found_prison; } error = ENOENT; @@ -2652,6 +2681,25 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) goto done; found_prison: +#ifdef MAC + error = mac_prison_check_get(td->td_ucred, pr, opts, flags); + if (error != 0) + goto done; +#endif + if (!(prison_isalive(pr) || (flags & JAIL_DYING))) { + error = ENOENT; + if (pr->pr_name[0] != '0' && isdigit(pr->pr_name[0])) { + vfs_opterror(opts, "jail %d is dying", + pr->pr_id); + } else { + vfs_opterror(opts, "jail \"%s\" (%d) is dying", + pr->pr_name, pr->pr_id); + } + goto done; + } +#ifdef MAC + found_prison_nomac_alive: +#endif /* Get the parameters of the prison. */ if (!(drflags & PD_DEREF)) { prison_hold(pr); @@ -2891,6 +2939,14 @@ sys_jail_remove(struct thread *td, struct jail_remove_args *uap) sx_xunlock(&allprison_lock); return (EINVAL); } +#ifdef MAC + error = mac_prison_check_remove(td->td_ucred, pr); + if (error != 0) { + mtx_unlock(&pr->pr_mtx); + sx_xunlock(&allprison_lock); + return (error); + } +#endif prison_hold(pr); prison_remove(pr); return (0); @@ -2913,6 +2969,10 @@ sys_jail_remove_jd(struct thread *td, struct jail_remove_jd_args *uap) return (error); error = priv_check_cred(jdcred, PRIV_JAIL_REMOVE); crfree(jdcred); +#ifdef MAC + if (error == 0) + error = mac_prison_check_remove(td->td_ucred, pr); +#endif if (error) { prison_free(pr); return (error); @@ -2957,14 +3017,25 @@ sys_jail_attach(struct thread *td, struct jail_attach_args *uap) return (EINVAL); } +#ifdef MAC + error = mac_prison_check_attach(td->td_ucred, pr); + if (error != 0) + goto unlock; +#endif + /* Do not allow a process to attach to a prison that is not alive. */ if (!prison_isalive(pr)) { - mtx_unlock(&pr->pr_mtx); - sx_sunlock(&allprison_lock); - return (EINVAL); + error = EINVAL; + goto unlock; } return (do_jail_attach(td, pr, PD_LOCKED | PD_LIST_SLOCKED)); + +unlock: + + mtx_unlock(&pr->pr_mtx); + sx_sunlock(&allprison_lock); + return (error); } /* @@ -2986,6 +3057,10 @@ sys_jail_attach_jd(struct thread *td, struct jail_attach_jd_args *uap) goto fail; drflags |= PD_DEREF; error = priv_check_cred(jdcred, PRIV_JAIL_ATTACH); +#ifdef MAC + if (error == 0) + error = mac_prison_check_attach(td->td_ucred, pr); +#endif crfree(jdcred); if (error) goto fail; @@ -3086,6 +3161,13 @@ do_jail_attach(struct thread *td, struct prison *pr, int drflags) prison_deref(oldcred->cr_prison, drflags); crfree(oldcred); prison_knote(pr, NOTE_JAIL_ATTACH | td->td_proc->p_pid); +#ifdef MAC + /* + * Note that mac_prison_attached() assumes that it's called in a + * sleepable context. + */ + mac_prison_attached(td->td_ucred, pr, td->td_proc); +#endif /* * If the prison was killed while changing credentials, die along diff --git a/sys/security/mac/mac_framework.h b/sys/security/mac/mac_framework.h index f14e8d7d1e7d..5e13434e5ecc 100644 --- a/sys/security/mac/mac_framework.h +++ b/sys/security/mac/mac_framework.h @@ -86,6 +86,7 @@ struct thread; struct timespec; struct ucred; struct vattr; +struct vfsoptlist; struct vnode; struct vop_setlabel_args; @@ -351,6 +352,17 @@ int mac_prison_init(struct prison *pr, int flag); void mac_prison_relabel(struct ucred *cred, struct prison *pr, struct label *newlabel); void mac_prison_destroy(struct prison *pr); +int mac_prison_check_attach(struct ucred *cred, struct prison *pr); +int mac_prison_check_create(struct ucred *cred, struct vfsoptlist *opts, + int flags); +int mac_prison_check_get(struct ucred *cred, struct prison *pr, + struct vfsoptlist *opts, int flags); +int mac_prison_check_set(struct ucred *cred, struct prison *pr, + struct vfsoptlist *opts, int flags); +int mac_prison_check_remove(struct ucred *cred, struct prison *pr); +void mac_prison_created(struct ucred *cred, struct prison *pr); +void mac_prison_attached(struct ucred *cred, struct prison *pr, + struct proc *p); int mac_priv_check_impl(struct ucred *cred, int priv); #ifdef MAC diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h index fba1f4a1c85e..7693eb309534 100644 --- a/sys/security/mac/mac_policy.h +++ b/sys/security/mac/mac_policy.h @@ -101,6 +101,7 @@ struct sysctl_req; struct thread; struct ucred; struct vattr; +struct vfsoptlist; struct vnode; struct in_addr; @@ -419,6 +420,23 @@ typedef int (*mpo_prison_internalize_label_t)(struct label *label, char *element_name, char *element_data, int *claimed); typedef void (*mpo_prison_relabel_t)(struct ucred *cred, struct prison *pr, struct label *prlabel, struct label *newlabel); +typedef int (*mpo_prison_check_attach_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel); +typedef int (*mpo_prison_check_create_t)(struct ucred *cred, + struct vfsoptlist *opts, int flags); +typedef int (*mpo_prison_check_get_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel, + struct vfsoptlist *opts, int flags); +typedef int (*mpo_prison_check_set_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel, + struct vfsoptlist *opts, int flags); +typedef int (*mpo_prison_check_remove_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel); +typedef void (*mpo_prison_created_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel); +typedef void (*mpo_prison_attached_t)(struct ucred *cred, + struct prison *pr, struct label *prlabel, struct proc *p, + struct label *proclabel); typedef int (*mpo_priv_check_t)(struct ucred *cred, int priv); typedef int (*mpo_priv_grant_t)(struct ucred *cred, int priv); @@ -882,6 +900,13 @@ struct mac_policy_ops { mpo_prison_externalize_label_t mpo_prison_externalize_label; mpo_prison_internalize_label_t mpo_prison_internalize_label; mpo_prison_relabel_t mpo_prison_relabel; + mpo_prison_check_attach_t mpo_prison_check_attach; + mpo_prison_check_create_t mpo_prison_check_create; + mpo_prison_check_get_t mpo_prison_check_get; + mpo_prison_check_set_t mpo_prison_check_set; + mpo_prison_check_remove_t mpo_prison_check_remove; + mpo_prison_created_t mpo_prison_created; + mpo_prison_attached_t mpo_prison_attached; mpo_priv_check_t mpo_priv_check; mpo_priv_grant_t mpo_priv_grant; diff --git a/sys/security/mac/mac_prison.c b/sys/security/mac/mac_prison.c index e24ffa9e698d..3f787c6b3647 100644 --- a/sys/security/mac/mac_prison.c +++ b/sys/security/mac/mac_prison.c @@ -142,3 +142,90 @@ mac_prison_check_relabel(struct ucred *cred, struct prison *pr, return (error); } + +MAC_CHECK_PROBE_DEFINE3(prison_check_attach, "struct ucred *", + "struct prison *", "struct label *"); +int +mac_prison_check_attach(struct ucred *cred, struct prison *pr) +{ + int error; + + MAC_POLICY_CHECK_NOSLEEP(prison_check_attach, cred, pr, pr->pr_label); + MAC_CHECK_PROBE3(prison_check_attach, error, cred, pr, pr->pr_label); + + return (error); +} + +MAC_CHECK_PROBE_DEFINE3(prison_check_create, "struct ucred *", + "struct vfsoptlist *", "int"); +int +mac_prison_check_create(struct ucred *cred, struct vfsoptlist *opts, + int flags) +{ + int error; + + MAC_POLICY_CHECK_NOSLEEP(prison_check_create, cred, opts, flags); + MAC_CHECK_PROBE3(prison_check_create, error, cred, opts, flags); + + return (error); +} + +MAC_CHECK_PROBE_DEFINE5(prison_check_get, "struct ucred *", + "struct prison *", "struct label *", "struct vfsoptlist *", "int"); +int +mac_prison_check_get(struct ucred *cred, struct prison *pr, + struct vfsoptlist *opts, int flags) +{ + int error; + + MAC_POLICY_CHECK_NOSLEEP(prison_check_get, cred, pr, pr->pr_label, + opts, flags); + MAC_CHECK_PROBE5(prison_check_get, error, cred, pr, pr->pr_label, opts, + flags); + + return (error); +} + +MAC_CHECK_PROBE_DEFINE5(prison_check_set, "struct ucred *", + "struct prison *", "struct label *", "struct vfsoptlist *", "int"); +int +mac_prison_check_set(struct ucred *cred, struct prison *pr, + struct vfsoptlist *opts, int flags) +{ + int error; + + MAC_POLICY_CHECK_NOSLEEP(prison_check_set, cred, pr, pr->pr_label, + opts, flags); + MAC_CHECK_PROBE5(prison_check_set, error, cred, pr, pr->pr_label, opts, + flags); + + return (error); +} + +MAC_CHECK_PROBE_DEFINE3(prison_check_remove, "struct ucred *", + "struct prison *", "struct label *"); +int +mac_prison_check_remove(struct ucred *cred, struct prison *pr) +{ + int error; + + MAC_POLICY_CHECK_NOSLEEP(prison_check_remove, cred, pr, pr->pr_label); + MAC_CHECK_PROBE3(prison_check_remove, error, cred, pr, pr->pr_label); + + return (error); +} + +void +mac_prison_created(struct ucred *cred, struct prison *pr) +{ + + MAC_POLICY_PERFORM(prison_created, cred, pr, pr->pr_label); +} + +void +mac_prison_attached(struct ucred *cred, struct prison *pr, struct proc *p) +{ + + MAC_POLICY_PERFORM(prison_attached, cred, pr, pr->pr_label, p, + p->p_label); +} diff --git a/sys/security/mac_stub/mac_stub.c b/sys/security/mac_stub/mac_stub.c index ac5d5b58e5db..20b04d4acf58 100644 --- a/sys/security/mac_stub/mac_stub.c +++ b/sys/security/mac_stub/mac_stub.c @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -852,6 +853,74 @@ stub_posixshm_create(struct ucred *cred, struct shmfd *shmfd, } +static void +stub_prison_relabel(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct label *newlabel) +{ + +} + +static int +stub_prison_check_relabel(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct label *newlabel) +{ + + return (0); +} + +static int +stub_prison_check_attach(struct ucred *cred, struct prison *pr, + struct label *prlabel) +{ + + return (0); +} + +static int +stub_prison_check_create(struct ucred *cred, struct vfsoptlist *opts, int flags) +{ + + return (0); +} + +static int +stub_prison_check_get(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct vfsoptlist *opts, int flags) +{ + + return (0); +} + +static int +stub_prison_check_set(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct vfsoptlist *opts, int flags) +{ + + return (0); +} + +static int +stub_prison_check_remove(struct ucred *cred, struct prison *pr, + struct label *prlabel) +{ + + return (0); +} + +static void +stub_prison_created(struct ucred *cred, struct prison *pr, + struct label *prlabel) +{ + +} + +static void +stub_prison_attached(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct proc *p, struct label *proclabel) +{ + +} + static int stub_priv_check(struct ucred *cred, int priv) { @@ -1841,6 +1910,20 @@ static struct mac_policy_ops stub_ops = .mpo_posixshm_destroy_label = stub_destroy_label, .mpo_posixshm_init_label = stub_init_label, + .mpo_prison_init_label = stub_init_label_waitcheck, + .mpo_prison_destroy_label = stub_destroy_label, + .mpo_prison_externalize_label = stub_externalize_label, + .mpo_prison_internalize_label = stub_internalize_label, + .mpo_prison_relabel = stub_prison_relabel, + .mpo_prison_check_relabel = stub_prison_check_relabel, + .mpo_prison_check_attach = stub_prison_check_attach, + .mpo_prison_check_create = stub_prison_check_create, + .mpo_prison_check_get = stub_prison_check_get, + .mpo_prison_check_set = stub_prison_check_set, + .mpo_prison_check_remove = stub_prison_check_remove, + .mpo_prison_created = stub_prison_created, + .mpo_prison_attached = stub_prison_attached, + .mpo_priv_check = stub_priv_check, .mpo_priv_grant = stub_priv_grant, diff --git a/sys/security/mac_test/mac_test.c b/sys/security/mac_test/mac_test.c index c447eeef010d..72af48edb00f 100644 --- a/sys/security/mac_test/mac_test.c +++ b/sys/security/mac_test/mac_test.c @@ -51,6 +51,7 @@ #include #include +#include #include #include #include @@ -99,6 +100,7 @@ static SYSCTL_NODE(_security_mac, OID_AUTO, test, #define MAGIC_PIPE 0xdc6c9919 #define MAGIC_POSIX_SEM 0x78ae980c #define MAGIC_POSIX_SHM 0x4e853fc9 +#define MAGIC_PRISON 0x9639acdb #define MAGIC_PROC 0x3b4be98f #define MAGIC_CRED 0x9a5a4987 #define MAGIC_VNODE 0x1a67a45c @@ -1591,6 +1593,151 @@ test_posixshm_init_label(struct label *label) COUNTER_INC(posixshm_init_label); } +COUNTER_DECL(prison_init_label); +static int +test_prison_init_label(struct label *label, int flag) +{ + + if (flag & M_WAITOK) + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, + "test_prison_init_label() at %s:%d", __FILE__, + __LINE__); + + LABEL_INIT(label, MAGIC_PRISON); + COUNTER_INC(prison_init_label); + return (0); +} + +COUNTER_DECL(prison_destroy_label); +static void +test_prison_destroy_label(struct label *label) +{ + + LABEL_DESTROY(label, MAGIC_PRISON); + COUNTER_INC(prison_destroy_label); +} + +COUNTER_DECL(prison_externalize_label); +static int +test_prison_externalize_label(struct label *label, char *element_name, + struct sbuf *sb, int *claimed) +{ + + LABEL_CHECK(label, MAGIC_PRISON); + COUNTER_INC(prison_externalize_label); + + return (0); +} + +COUNTER_DECL(prison_internalize_label); +static int +test_prison_internalize_label(struct label *label, char *element_name, + char *element_data, int *claimed) +{ + + LABEL_CHECK(label, MAGIC_PRISON); + COUNTER_INC(prison_internalize_label); + + return (0); +} + +COUNTER_DECL(prison_relabel); +static void +test_prison_relabel(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct label *newlabel) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + LABEL_CHECK(newlabel, MAGIC_PRISON); + COUNTER_INC(prison_relabel); +} + +COUNTER_DECL(prison_check_relabel); +static int +test_prison_check_relabel(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct label *newlabel) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + LABEL_CHECK(newlabel, MAGIC_PRISON); + COUNTER_INC(prison_check_relabel); + return (0); +} + +COUNTER_DECL(prison_check_attach); +static int +test_prison_check_attach(struct ucred *cred, struct prison *pr, + struct label *prlabel) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + COUNTER_INC(prison_check_attach); + return (0); +} + +COUNTER_DECL(prison_check_create); +static int +test_prison_check_create(struct ucred *cred, struct vfsoptlist *opts, int flags) +{ + + COUNTER_INC(prison_check_create); + return (0); +} + +COUNTER_DECL(prison_check_get); +static int +test_prison_check_get(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct vfsoptlist *opts, int flags) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + COUNTER_INC(prison_check_get); + return (0); +} + +COUNTER_DECL(prison_check_set); +static int +test_prison_check_set(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct vfsoptlist *opts, int flags) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + COUNTER_INC(prison_check_set); + return (0); +} + +COUNTER_DECL(prison_check_remove); +static int +test_prison_check_remove(struct ucred *cred, struct prison *pr, + struct label *prlabel) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + COUNTER_INC(prison_check_remove); + return (0); +} + +COUNTER_DECL(prison_created); +static void +test_prison_created(struct ucred *cred, struct prison *pr, + struct label *prlabel) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + COUNTER_INC(prison_created); +} + +COUNTER_DECL(prison_attached); +static void +test_prison_attached(struct ucred *cred, struct prison *pr, + struct label *prlabel, struct proc *p, struct label *proclabel) +{ + + LABEL_CHECK(prlabel, MAGIC_PRISON); + LABEL_CHECK(proclabel, MAGIC_PROC); + COUNTER_INC(prison_attached); +} + COUNTER_DECL(proc_check_debug); static int test_proc_check_debug(struct ucred *cred, struct proc *p) @@ -3208,6 +3355,20 @@ static struct mac_policy_ops test_ops = .mpo_posixshm_destroy_label = test_posixshm_destroy_label, .mpo_posixshm_init_label = test_posixshm_init_label, + .mpo_prison_init_label = test_prison_init_label, + .mpo_prison_destroy_label = test_prison_destroy_label, + .mpo_prison_externalize_label = test_prison_externalize_label, + .mpo_prison_internalize_label = test_prison_internalize_label, + .mpo_prison_relabel = test_prison_relabel, + .mpo_prison_check_relabel = test_prison_check_relabel, + .mpo_prison_check_attach = test_prison_check_attach, + .mpo_prison_check_create = test_prison_check_create, + .mpo_prison_check_get = test_prison_check_get, + .mpo_prison_check_set = test_prison_check_set, + .mpo_prison_check_remove = test_prison_check_remove, + .mpo_prison_created = test_prison_created, + .mpo_prison_attached = test_prison_attached, + .mpo_proc_check_debug = test_proc_check_debug, .mpo_proc_check_sched = test_proc_check_sched, .mpo_proc_check_signal = test_proc_check_signal, From nobody Fri Jan 16 00:24:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZs09Gbz6NPnb for ; Fri, 16 Jan 2026 00:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZr43zNz3Zqy for ; Fri, 16 Jan 2026 00:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523060; 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=lSj/dXYRrEJ8b1+1MpUCLc7gmoC+wPIdaOvBNhNaP/0=; b=aZskKW4SqIU6nQkoAwrsqcLTYFshjbsgepsBov5UFxmeXubUrfzSCWG+/3cujcn3gZ4UmY 8IbtuTSHaFBlwQ1Vb30zGIcLss3mo+CZ/EBT8KpqDiIKgXOfYc0ay1ZNzcsuypojW2pVMh CsZYoALMWQ2KTkXOXd+GcehQZ9anf4lmsIMo0CqCuqm2PJw59xT9vD5+3r4dQ7wwSlAAHN q7RS65LAPZYxFSdXD5wj1S9TbSz8QGdDtsr0s+d1xEKa1QpDS5xJEn7IDVhZXNP+haxpDz 1hgjUKY4DZ+vVi9OJbngzepFqtsWqNvwIRG1mYIfxbx3Wq0GuXVEFkGGzL9Xsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523060; 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=lSj/dXYRrEJ8b1+1MpUCLc7gmoC+wPIdaOvBNhNaP/0=; b=sHsvicF8SjGAzssSVg8mzVKZ1R/RKhNPHlhEK+MVVGGg3gl/OVBdNWtnnEXI/+7qr1iuXK 3v4h3j29KJKeRrO9VnxQ3GfXGCxqs1GzlZa71wzJCMvwNAlyQfhnwFOqEY51AsZ7DzUSxU M654cyDfQsBcBzUDMBIoEeuzDYdqpg0g2uF/3X7Nb9jNOmSIfqAk1D47EPyWGo+AeNt1ET 2leHJ8NtsbvPpBrIIqL9P9QO+bGLmMTuGtPrUhP9vADbScyY93+yCu2VswwfLEJV9C8N0U EwBIuib/RCVGCOpKBMsCB97CyvCAxgFx07Pw9a+IppAuvDYcjl0qPdcJ+IVLwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523060; a=rsa-sha256; cv=none; b=W4R7nyIuWOs0aHX7fV885p6e1pVcvnCewOleOO2wTQ7noBYYZSbPawAqXgaNAi16O88zuL 6PyfHgUug6N/TnbQbbWSXNzgmORNRRSbOrR3V2RKTGGk7G1cssP+NRZeQNDogIY1CtWVuo pHAmHlq4I3Ia2Nv2/lgAQX8cBt0oafOtiTPyCgRTp0SZi8ytLtr0gKlShzJUIi7H5penCa iu1TwrVVYPvPeHc3bgjhlbHWxAI+/pdwweI1GZsER+X9zGUlD6FDcT9afI0AH0XVzX34eX O0qvswKaYaWnUUnJYNOeTiM4yZ4Sr9HAOqQa/gEDn6/XqQk4YD4thdyc9pGHnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZr3g2yzrq0 for ; Fri, 16 Jan 2026 00:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ba77 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d7a517eb6d77 - main - jaildesc: add an accessor for the struct prison in a jaildesc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7a517eb6d770e22db6a46a46677db27f565767c Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:20 +0000 Message-Id: <69698534.3ba77.7ea9c693@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d7a517eb6d770e22db6a46a46677db27f565767c commit d7a517eb6d770e22db6a46a46677db27f565767c Author: Kyle Evans AuthorDate: 2025-10-26 01:42:30 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 jaildesc: add an accessor for the struct prison in a jaildesc We'll subsequently use this in the MAC framework to get a struct prison when we already have the struct file in question, rather than an fd. Reviewed by: jamie, olce Differential Revision: https://reviews.freebsd.org/D53955 --- sys/kern/kern_jaildesc.c | 77 +++++++++++++++++++++++++++++++++++------------- sys/sys/jaildesc.h | 1 + 2 files changed, 57 insertions(+), 21 deletions(-) diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c index f4e31801201f..80d0f3d07d7c 100644 --- a/sys/kern/kern_jaildesc.c +++ b/sys/kern/kern_jaildesc.c @@ -72,42 +72,66 @@ static const struct fileops jaildesc_ops = { }; /* - * Given a jail descriptor number, return its prison and/or its - * credential. They are returned held, and will need to be released - * by the caller. + * Retrieve a prison from a jail descriptor. If prp is not NULL, then the + * prison will be held and subsequently returned, and must be released by the + * caller. This differs from jaildesc_get_prison in that it doesn't actually + * require the caller to take the struct prison, which we use internally when + * the caller doesn't necessarily need it- it might just want to check validity. */ -int -jaildesc_find(struct thread *td, int fd, struct prison **prp, - struct ucred **ucredp) +static int +jaildesc_get_prison_impl(struct file *fp, struct prison **prp) { - struct file *fp; - struct jaildesc *jd; struct prison *pr; - int error; + struct jaildesc *jd; + + if (fp->f_type != DTYPE_JAILDESC) + return (EINVAL); - error = fget(td, fd, &cap_no_rights, &fp); - if (error != 0) - return (error); - if (fp->f_type != DTYPE_JAILDESC) { - error = EINVAL; - goto out; - } jd = fp->f_data; JAILDESC_LOCK(jd); pr = jd->jd_prison; if (pr == NULL || !prison_isvalid(pr)) { - error = ENOENT; JAILDESC_UNLOCK(jd); - goto out; + return (ENOENT); } + if (prp != NULL) { prison_hold(pr); *prp = pr; } + JAILDESC_UNLOCK(jd); - if (ucredp != NULL) - *ucredp = crhold(fp->f_cred); - out: + + return (0); +} + +/* + * Given a jail descriptor number, return its prison and/or its + * credential. They are returned held, and will need to be released + * by the caller. + */ +int +jaildesc_find(struct thread *td, int fd, struct prison **prp, + struct ucred **ucredp) +{ + struct file *fp; + int error; + + error = fget(td, fd, &cap_no_rights, &fp); + if (error != 0) + return (error); + + error = jaildesc_get_prison_impl(fp, prp); + if (error == 0) { + /* + * jaildesc_get_prison validated the file and held the prison + * for us if the caller wants it, so we just need to grab the + * ucred on the way out. + */ + if (ucredp != NULL) + *ucredp = crhold(fp->f_cred); + } + fdrop(fp, td); return (error); } @@ -145,6 +169,17 @@ jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning) return (0); } +/* + * Retrieve a prison from a jail descriptor. It will be returned held, and must + * be released by the caller. + */ +int +jaildesc_get_prison(struct file *fp, struct prison **prp) +{ + MPASS(prp != NULL); + return (jaildesc_get_prison_impl(fp, prp)); +} + /* * Assocate a jail descriptor with its prison. */ diff --git a/sys/sys/jaildesc.h b/sys/sys/jaildesc.h index fda270d62e70..b0a1a6238cc9 100644 --- a/sys/sys/jaildesc.h +++ b/sys/sys/jaildesc.h @@ -78,6 +78,7 @@ struct jaildesc { int jaildesc_find(struct thread *td, int fd, struct prison **prp, struct ucred **ucredp); int jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning); +int jaildesc_get_prison(struct file *jd, struct prison **prp); void jaildesc_set_prison(struct file *jd, struct prison *pr); void jaildesc_prison_cleanup(struct prison *pr); void jaildesc_knote(struct prison *pr, long hint); From nobody Fri Jan 16 00:24:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZt0ndfz6NQJV for ; Fri, 16 Jan 2026 00:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZs4wZwz3Zr1 for ; Fri, 16 Jan 2026 00:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523061; 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=QG/1rV+D5D6PVN7I+7Godz6rdP5cuJs0fZuIswp/NqM=; b=rAPnNVU+NYiX4KfkXI5fVUskIhwl/55HSqXVPE9hYmlkktzCS152wJ9rQ4DkbemQ6cVDDp RBBFE6VPk2ODYh/RiWvot4obaVjJV4jbjnHl+djBW3TSBNKFxS2WEHLLkLBCOFc2vS2jiI bRoS4vFJNlJmrIDfHEAlNxU0ThXr+ZYxCER1ASDEAsNKK/ek61gUn7SxPRDNt81Mg0y16r S3KSge3Y1w5BCWMsOz0EpddPyLdq6ab8oSiJvka7c5d0gH9Ilg3YCyvkxP3S0YpNSCnqw8 Pb8LeXOouELv5QBntMv3TUGQVmGWaZCt5Ze1TkfQiRyLZyLYFZPUDarHXULE2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523061; 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=QG/1rV+D5D6PVN7I+7Godz6rdP5cuJs0fZuIswp/NqM=; b=xvUhaO6I+ptsR3BiDkeUX5OhACI3vfELaA4lcgbfS8Q3kAmNYu4OnfCORR/9wNyvLzp5Mi Zu9OLEJVY7B6sgt4zobY77ZMrR8mUK0G1aCWjSdOFklC+H+Rtp6BtMBqa7qqVmyRT0x6h+ kzrAgGhrSQKBj834KPhXZphxkPBJp14dUvW1YN9ip0dhvnajIocMF9/1adG1qZ7dHMRgBS uZFOvBoxqyCCNBjUooVSBHRTWunZoUb67zJBKi54qtkGizaHGlydXEBU1wTW2g4D0zt+nE JXyzDs3fEg7I8xT3hlcSR9u5gnQxlEr70gNy6XaN0tyOAM+njIA17MDMvQTdhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523061; a=rsa-sha256; cv=none; b=IsDjijlaP2xaeta26FGzEPkMZ9K3rl8cVVybJdnVjjnzhFfaIYisJaeUO5ratR/g0hSjHS yfLInTqiFzDNpQFCKfkNWyQJ+patukwNMt4/r7d7xq9w1qmHuIBwLZIfquUtbN8W4DUUhg nKBFw79QsPPPusUYMkrEpuT1yl4vVMgH8hNisklkgq75KBOjK2KYIEWrtj1q8Tw40aLqSg pelUy2Y8XOYC7yCANkJjPH7cUBVVW1rbPoVg2WM+A31ychLgXJENs7UnOJRL702TZBa33m g7HSis16ZVQHiRGmL1MKs1kmJJTJ+H6zodXVSUoMGT2hMIj2+URB+969kh3yBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZs4Vv7zrhf for ; Fri, 16 Jan 2026 00:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b962 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 31c2728185d1 - main - mac_set_fd(3): add support for jail descriptors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 31c2728185d1705634ff84c93936a4c91a651b22 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:21 +0000 Message-Id: <69698535.3b962.5565f721@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=31c2728185d1705634ff84c93936a4c91a651b22 commit 31c2728185d1705634ff84c93936a4c91a651b22 Author: Kyle Evans AuthorDate: 2025-10-26 01:57:33 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 mac_set_fd(3): add support for jail descriptors We'll still add an old-fashioned jail param to configure jail MAC labels, but for testing it's really easy to grab a jaildesc and use that. Reviewed by: jamie, olce Differential Revision: https://reviews.freebsd.org/D53956 --- sys/security/mac/mac_internal.h | 5 +++++ sys/security/mac/mac_policy.h | 3 +++ sys/security/mac/mac_prison.c | 28 +++++++++++++++++++++++-- sys/security/mac/mac_syscalls.c | 44 ++++++++++++++++++++++++++++++++++++++++ sys/security/mac_stub/mac_stub.c | 1 + sys/security/mac_test/mac_test.c | 11 ++++++++++ 6 files changed, 90 insertions(+), 2 deletions(-) diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index a07bf01da6f6..3f032ed3934a 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -242,6 +242,8 @@ struct label *mac_cred_label_alloc(void); void mac_cred_label_free(struct label *label); struct label *mac_pipe_label_alloc(void); void mac_pipe_label_free(struct label *label); +struct label *mac_prison_label_alloc(int flags); +void mac_prison_label_free(struct label *label); struct label *mac_socket_label_alloc(int flag); void mac_socket_label_free(struct label *label); void mac_socketpeer_label_free(struct label *label); @@ -261,8 +263,11 @@ int mac_pipe_externalize_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); int mac_pipe_internalize_label(struct label *label, char *string); +int mac_prison_label_set(struct ucred *cred, struct prison *pr, + struct label *label); int mac_prison_check_relabel(struct ucred *cred, struct prison *pr, struct label *newlabel); +void mac_prison_copy_label(struct label *src, struct label *dest); int mac_prison_externalize_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); int mac_prison_internalize_label(struct label *label, char *string); diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h index 7693eb309534..0078138d472f 100644 --- a/sys/security/mac/mac_policy.h +++ b/sys/security/mac/mac_policy.h @@ -414,6 +414,8 @@ typedef int (*mpo_prison_check_relabel_t)(struct ucred *cred, struct prison *pr, struct label *prlabel, struct label *newlabel); typedef void (*mpo_prison_destroy_label_t)(struct label *label); +typedef void (*mpo_prison_copy_label_t)(struct label *src, + struct label *dest); typedef int (*mpo_prison_externalize_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); typedef int (*mpo_prison_internalize_label_t)(struct label *label, @@ -897,6 +899,7 @@ struct mac_policy_ops { mpo_prison_init_label_t mpo_prison_init_label; mpo_prison_check_relabel_t mpo_prison_check_relabel; mpo_prison_destroy_label_t mpo_prison_destroy_label; + mpo_prison_copy_label_t mpo_prison_copy_label; mpo_prison_externalize_label_t mpo_prison_externalize_label; mpo_prison_internalize_label_t mpo_prison_internalize_label; mpo_prison_relabel_t mpo_prison_relabel; diff --git a/sys/security/mac/mac_prison.c b/sys/security/mac/mac_prison.c index 3f787c6b3647..68ffd7a3cda3 100644 --- a/sys/security/mac/mac_prison.c +++ b/sys/security/mac/mac_prison.c @@ -30,7 +30,7 @@ #include #include -static void +void mac_prison_label_free(struct label *label) { if (label == NULL) @@ -40,7 +40,7 @@ mac_prison_label_free(struct label *label) mac_labelzone_free(label); } -static struct label * +struct label * mac_prison_label_alloc(int flag) { struct label *label; @@ -98,6 +98,13 @@ mac_prison_destroy(struct prison *pr) pr->pr_label = NULL; } +void +mac_prison_copy_label(struct label *src, struct label *dest) +{ + + MAC_POLICY_PERFORM_NOSLEEP(prison_copy_label, src, dest); +} + int mac_prison_externalize_label(struct label *label, char *elements, char *outbuf, size_t outbuflen) @@ -126,6 +133,23 @@ mac_prison_relabel(struct ucred *cred, struct prison *pr, newlabel); } +int +mac_prison_label_set(struct ucred *cred, struct prison *pr, + struct label *label) +{ + int error; + + mtx_assert(&pr->pr_mtx, MA_OWNED); + + error = mac_prison_check_relabel(cred, pr, label); + if (error) + return (error); + + mac_prison_relabel(cred, pr, label); + + return (0); +} + MAC_CHECK_PROBE_DEFINE4(prison_check_relabel, "struct ucred *", "struct prison *", "struct label *", "struct label *"); int diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index 13c7998041f9..3e9908fb9da9 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -49,6 +49,8 @@ #include #include #include +#include +#include #include #include #include @@ -339,6 +341,7 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) struct mac mac; struct vnode *vp; struct pipe *pipe; + struct prison *pr; struct socket *so; cap_rights_t rights; int error; @@ -400,6 +403,25 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) mac_socket_label_free(intlabel); break; + case DTYPE_JAILDESC: + if (!(mac_labeled & MPC_OBJECT_PRISON)) { + error = EINVAL; + goto out_fdrop; + } + + error = jaildesc_get_prison(fp, &pr); + if (error != 0) + goto out_fdrop; + + intlabel = mac_prison_label_alloc(M_WAITOK); + mac_prison_copy_label(pr->pr_label, intlabel); + prison_free(pr); + + error = mac_prison_externalize_label(intlabel, mac.m_string, + buffer, mac.m_buflen); + mac_prison_label_free(intlabel); + break; + default: error = EINVAL; } @@ -473,6 +495,7 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) { struct label *intlabel; struct pipe *pipe; + struct prison *pr; struct socket *so; struct file *fp; struct mount *mp; @@ -548,6 +571,27 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) mac_socket_label_free(intlabel); break; + case DTYPE_JAILDESC: + if (!(mac_labeled & MPC_OBJECT_PRISON)) { + error = EINVAL; + goto out_fdrop; + } + + pr = NULL; + intlabel = mac_prison_label_alloc(M_WAITOK); + error = mac_prison_internalize_label(intlabel, mac.m_string); + if (error == 0) + error = jaildesc_get_prison(fp, &pr); + if (error == 0) { + prison_lock(pr); + error = mac_prison_label_set(td->td_ucred, pr, + intlabel); + prison_free_locked(pr); + } + + mac_prison_label_free(intlabel); + break; + default: error = EINVAL; } diff --git a/sys/security/mac_stub/mac_stub.c b/sys/security/mac_stub/mac_stub.c index 20b04d4acf58..4a567c68b2be 100644 --- a/sys/security/mac_stub/mac_stub.c +++ b/sys/security/mac_stub/mac_stub.c @@ -1912,6 +1912,7 @@ static struct mac_policy_ops stub_ops = .mpo_prison_init_label = stub_init_label_waitcheck, .mpo_prison_destroy_label = stub_destroy_label, + .mpo_prison_copy_label = stub_copy_label, .mpo_prison_externalize_label = stub_externalize_label, .mpo_prison_internalize_label = stub_internalize_label, .mpo_prison_relabel = stub_prison_relabel, diff --git a/sys/security/mac_test/mac_test.c b/sys/security/mac_test/mac_test.c index 72af48edb00f..47dd7d1326a3 100644 --- a/sys/security/mac_test/mac_test.c +++ b/sys/security/mac_test/mac_test.c @@ -1617,6 +1617,16 @@ test_prison_destroy_label(struct label *label) COUNTER_INC(prison_destroy_label); } +COUNTER_DECL(prison_copy_label); +static void +test_prison_copy_label(struct label *src, struct label *dest) +{ + + LABEL_CHECK(src, MAGIC_PRISON); + LABEL_CHECK(dest, MAGIC_PRISON); + COUNTER_INC(prison_copy_label); +} + COUNTER_DECL(prison_externalize_label); static int test_prison_externalize_label(struct label *label, char *element_name, @@ -3357,6 +3367,7 @@ static struct mac_policy_ops test_ops = .mpo_prison_init_label = test_prison_init_label, .mpo_prison_destroy_label = test_prison_destroy_label, + .mpo_prison_copy_label = test_prison_copy_label, .mpo_prison_externalize_label = test_prison_externalize_label, .mpo_prison_internalize_label = test_prison_internalize_label, .mpo_prison_relabel = test_prison_relabel, From nobody Fri Jan 16 00:24:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZv21Y6z6NPyt for ; Fri, 16 Jan 2026 00:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZt60wdz3ZrD for ; Fri, 16 Jan 2026 00:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523062; 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=xYS/oh6MHaypOOjotsqXGGogK0Qz0YhyDeFBrQWl3zg=; b=js1F2MPLYNC7dCAU6P2JnZaGcwX7mxYvzkpqElgij13GiMv8GiSOIdUiKj6BTdV+LpS98G 6NLHN1gOU+hiqXDzhPuwd7rp1SUiysQqixn7SC/db3I3+td+CYc7DiZs9tg/Qits7M/lar dWa6HMm+uy6GqiN2TQil2p9sNVXscWVXfs3RgZ6m/yMtbCoUw5frDUQ5E3L7A5cCWwl/iN f1UNFkT5hE5IFB/frJUurfvWemPpt1VcFH+wgCyT8PpxCO9pOxaB41egiOO9rTk9QpZjMe cZXa4DwYJz+OmDSoNwEcbMgx7AbJuY0VW//KhWV/W8Z3gAHP8ZQh9huw/wvXpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523062; 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=xYS/oh6MHaypOOjotsqXGGogK0Qz0YhyDeFBrQWl3zg=; b=WaziS2if3olsxv4gEDtzh+2oXI/d9BKdmUO7DKNy0Er3xFgFT5BIppeptNearwAZWhRQuR ISp5Bk8snXx2qE+/ObMlQHnX2IzGGb1e0cPILe/IH/bwbUFF1L39POYVkxSgNRlgxIvWtE s4lw4+MLqQenvvvGL++wE5b0/8HQAjbDx5YZCTCVKjIyrh9x7Y7snBnLHOFtzmyxAQSY2Q 2UrUqGobkJPzMmUFjIPF069ZQEaQ0rg2zhhKo3OtnmyP+2XObWMgz7yK0nxdwBI3jptIlw +jtF0v5t7M0d9imMo1tH0MD2ryDexTB4ICEevf+IKphvi6BJvKg2+/9Gac+85A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523062; a=rsa-sha256; cv=none; b=HrK6bnE6ZKr4etJ2wpA0aUIAaArIFKe3GE36Kay9Rio+IwH6NKPykRbIgkVl/yO2lWhkL8 VvaS9dIb+GgPPgpPC+KbP7aWdoObGixQ0ojaDKpkPT7vfG5ylrTAH58IRrotu5ETVKnT/j 9ERObAQugKqXJNrEf75TItyTOd5FJD8BJlCfVwnx2Nf/CmGc0uSl1fSmTmAOtLA2m+QiCm eGpEGXWu1Zz9Y3AYD2UY2QLypxQM/Bg2fcWr0mzzpSNqXC+0yhM7arVhwEU6gmncK65xd6 dRP9VAR+qXD4t639+Tp4vkb0BrzlWbN9t4zw0KfObqbJsDNo9hLy50y/U72noA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZt5B6dzqqC for ; Fri, 16 Jan 2026 00:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ff6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 626fe12e2801 - main - kern: mac: pull mac_label_copyin_string out List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 626fe12e2801a06c59eaa056ecf11f573e30ecbb Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:22 +0000 Message-Id: <69698536.39ff6.518cbce6@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=626fe12e2801a06c59eaa056ecf11f573e30ecbb commit 626fe12e2801a06c59eaa056ecf11f573e30ecbb Author: Kyle Evans AuthorDate: 2025-11-07 04:15:45 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 kern: mac: pull mac_label_copyin_string out A future commit to the area will further our jail integration and add a use for this: the struct mac itself was already copied in as part of vfs_buildopts(), so we only need to copyin the strings. We add an explicit flag argument because the jail operation will need to do it while holding the prison lock. Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D53957 --- sys/security/mac/mac_syscalls.c | 48 +++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index 3e9908fb9da9..2a8b8d1f18ce 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -90,6 +90,35 @@ struct mac32 { }; #endif +static int +mac_label_copyin_string(struct mac *const mac, char **const u_string, + int flag) +{ + char *buffer; + int error; + + error = mac_check_structmac_consistent(mac); + if (error != 0) + return (error); + + /* 'm_buflen' not too big checked by function call above. */ + buffer = malloc(mac->m_buflen, M_MACTEMP, flag); + if (buffer == NULL) + return (ENOMEM); + + error = copyinstr(mac->m_string, buffer, mac->m_buflen, NULL); + if (error != 0) { + free(buffer, M_MACTEMP); + return (error); + } + + MPASS(error == 0); + if (u_string != NULL) + *u_string = mac->m_string; + mac->m_string = buffer; + return (0); +} + /* * Copyin a 'struct mac', including the string pointed to by 'm_string'. * @@ -101,7 +130,6 @@ int mac_label_copyin(const void *const u_mac, struct mac *const mac, char **const u_string) { - char *buffer; int error; #ifdef COMPAT_FREEBSD32 @@ -122,23 +150,7 @@ mac_label_copyin(const void *const u_mac, struct mac *const mac, return (error); } - error = mac_check_structmac_consistent(mac); - if (error != 0) - return (error); - - /* 'm_buflen' not too big checked by function call above. */ - buffer = malloc(mac->m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac->m_string, buffer, mac->m_buflen, NULL); - if (error != 0) { - free(buffer, M_MACTEMP); - return (error); - } - - MPASS(error == 0); - if (u_string != NULL) - *u_string = mac->m_string; - mac->m_string = buffer; - return (0); + return (mac_label_copyin_string(mac, u_string, M_WAITOK)); } void From nobody Fri Jan 16 00:24:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZw2Yf1z6NQM2 for ; Fri, 16 Jan 2026 00:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZv6hkCz3Zx2 for ; Fri, 16 Jan 2026 00:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523063; 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=3yvNXlFI2Fkxqzl9zIpFzHeBSkSz3QrgOeNwmWpe75U=; b=pRnIpoFx2pNdyPJXhZ4CaVwhrYiWEe+PRHfMOXW1k9zAzHDlje7cs0VMeZqjI8Cl22HcbK xsv4PPv3kWq4g83Xs4xiZViFHBqGbwzRRx3G+gDPbA3dtssFgkTPDNiMo2a/Zs4owuSxhc 6htCkpXPrkroEWjEFXrtm543cZhDVLMO/jgSVHDwH+T7fq45Wt9WCNhKRclUNLCXNbDmh7 /0XdcZWx1m9T8vrnlnU76paij+UhkM78sKBKbYG6wS368Qmm6lRV5GSkHHrNIwr5ePgREv R568zY3kVF2EgsNn1ubMXYS33g3rnH3JPyaE91xssqTHlKgiibL5tj8PI/RajQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523063; 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=3yvNXlFI2Fkxqzl9zIpFzHeBSkSz3QrgOeNwmWpe75U=; b=ES/onWeiUnsH7cBsM40oW0+4uUWk4sm2/DRje/TzojOm11Dtkyxvdq7Uf0iuR8yeVXNuaa KxIuur1gncuuCyl5IIc6Zf7UqH7nqGN0ZVsB4K1vvJXe+KrUUtXFAaaqlCfVoOuOlX43ke 3fcDTylNq5wZlo94cJqyKVM4KVYoDG7Adgx6eLUdaXF5esTPEs5rnH6+kJovO2/6ibn8oz gL6ummrm80PxleI3BEl+UnynPqld9JZJhzKo9VJaLwuiOq+Xq+WDLn4X4oW7xko97+Ar88 S35DBzLb/EXYx2hs3eGErxO2/KvHKNbhoz8M6Y1ja7oNgRE9P0vovO4kgl084A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523063; a=rsa-sha256; cv=none; b=RaylvF1BTnWgXSx0o0IJaPXesjuaUHuMEGY4S+jF/FXPBKmjpCmuNgboqa5C70ahxh20qw 0cQvDTjt89mqVnZnQ510T74UGRl+rkB2qOzZDnI64Ks+jhJCCy7KKjF5ctSAF9DLn+AllZ EuZGG9fL5u47ul7qHBS/GWxzBqnKK6SX0sehNLQg/w5/VaMTGOo6IfjkIhk4G1Q/U2/+VL srKCJt/a12+zOUfimKCA8xynNcfgnscjOugGpXfsUdGPl/ukWs6nz38yyo5QSca++Faunf QYHID5M/U6ygfHVNiHKkpDQx3rneNEjUKXb1LeWiEyKE7KgWqjjTMkVT3m1+GA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZv5zwSzrhh for ; Fri, 16 Jan 2026 00:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b491 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: bd55cbb50c58 - main - kern: add a mac.label jail parameter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd55cbb50c58876281f925cfd91961544f0153ad Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:23 +0000 Message-Id: <69698537.3b491.88438a1@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=bd55cbb50c58876281f925cfd91961544f0153ad commit bd55cbb50c58876281f925cfd91961544f0153ad Author: Kyle Evans AuthorDate: 2025-11-07 04:19:31 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:39 +0000 kern: add a mac.label jail parameter Have it take a `struct mac` and we'll paper over the difference for jail(8)/jls(8) in libjail(3). The mac_syscalls.h model is taken from mac_set_proc_*() that were previously done. Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D53958 --- sys/kern/kern_jail.c | 52 +++++++++++++- sys/security/mac/mac_syscalls.c | 154 ++++++++++++++++++++++++++++++++++++++++ sys/security/mac/mac_syscalls.h | 10 +++ 3 files changed, 215 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index b5f61e3957d9..5111b98bf221 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -80,6 +80,8 @@ #endif /* DDB */ #include +#include +#include #define PRISON0_HOSTUUID_MODULE "hostuuid" @@ -1027,6 +1029,10 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) #endif unsigned long hid; size_t namelen, onamelen, pnamelen; +#ifdef MAC + void *mac_set_prison_data = NULL; + int gotmaclabel; +#endif int created, cuflags, descend, drflags, enforce; int error, errmsg_len, errmsg_pos; int gotchildmax, gotenforce, gothid, gotrsnum, gotslevel; @@ -1349,6 +1355,17 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) pr_flags |= PR_HOST; } +#ifdef MAC + /* Process the mac.label vfsopt */ + error = mac_set_prison_prepare(td, opts, &mac_set_prison_data); + if (error == ENOENT) + gotmaclabel = 0; + else if (error != 0) + goto done_errmsg; + else + gotmaclabel = 1; +#endif + #ifdef INET error = vfs_getopt(opts, "ip4.addr", &op, &ip4s); if (error == ENOENT) @@ -2182,6 +2199,17 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) } } pr->pr_flags = (pr->pr_flags & ~ch_flags) | pr_flags; + +#ifdef MAC + /* Apply any request MAC label before we let modules do their work. */ + if (gotmaclabel) { + error = mac_set_prison_core(td, pr, mac_set_prison_data); + if (error) { + vfs_opterror(opts, "mac relabel denied"); + goto done_deref; + } + } +#endif mtx_unlock(&pr->pr_mtx); drflags &= ~PD_LOCKED; /* @@ -2370,6 +2398,10 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) #endif #ifdef INET6 prison_ip_free(ip6); +#endif +#ifdef MAC + if (mac_set_prison_data != NULL) + mac_set_prison_finish(td, error == 0, mac_set_prison_data); #endif if (jfp_out != NULL) fdrop(jfp_out, td); @@ -2835,9 +2867,22 @@ kern_jail_get(struct thread *td, struct uio *optuio, int flags) if (error != 0 && error != ENOENT) goto done; - /* Get the module parameters. */ +#ifdef MAC + /* + * We get the MAC label last because we'll let the MAC framework drop + * pr_mtx to externalize the label. + */ + error = mac_get_prison(td, pr, opts); + mtx_assert(&pr->pr_mtx, MA_NOTOWNED); + drflags &= ~PD_LOCKED; + if (error != 0 && error != ENOENT) + goto done; +#else mtx_unlock(&pr->pr_mtx); drflags &= ~PD_LOCKED; +#endif + + /* Get the module parameters. */ error = osd_jail_call(pr, PR_METHOD_GET, opts); if (error) goto done; @@ -5107,6 +5152,11 @@ SYSCTL_JAIL_PARAM(_host, hostid, CTLTYPE_ULONG | CTLFLAG_RW, SYSCTL_JAIL_PARAM_NODE(cpuset, "Jail cpuset"); SYSCTL_JAIL_PARAM(_cpuset, id, CTLTYPE_INT | CTLFLAG_RD, "I", "Jail cpuset ID"); +#ifdef MAC +SYSCTL_JAIL_PARAM_STRUCT(_mac, label, CTLFLAG_RW, sizeof(struct mac), + "S,mac", "Jail MAC label"); +#endif + #ifdef INET SYSCTL_JAIL_PARAM_SYS_NODE(ip4, CTLFLAG_RDTUN, "Jail IPv4 address virtualization"); diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index 2a8b8d1f18ce..1035c6dbb84b 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -302,6 +302,160 @@ mac_set_proc_finish(struct thread *const td, bool proc_label_set, mac_cred_label_free(intlabel); } +int +mac_get_prison(struct thread *const td, struct prison *pr, + struct vfsoptlist *opts) +{ + char *buffer = NULL, *u_buffer; + struct label *intlabel = NULL; + struct mac mac; + int error; + bool locked = true; + + mtx_assert(&pr->pr_mtx, MA_OWNED); +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { + struct mac32 mac32; + + error = vfs_copyopt(opts, "mac.label", &mac32, sizeof(mac32)); + if (error == 0) { + CP(mac32, mac, m_buflen); + PTRIN_CP(mac32, mac, m_string); + } + } else +#endif + error = vfs_copyopt(opts, "mac.label", &mac, sizeof(mac)); + if (error) { + if (error != ENOENT) + vfs_opterror(opts, "bad mac.label"); + goto out_nomac; + } + + if (!(mac_labeled & MPC_OBJECT_PRISON)) { + error = EINVAL; + goto out; + } + + intlabel = mac_prison_label_alloc(M_NOWAIT); + if (intlabel == NULL) { + error = ENOMEM; + goto out; + } + + mac_prison_copy_label(pr->pr_label, intlabel); + + /* + * Externalization may want to acquire an rmlock. We already tapped out + * a copy of the label from when the jail_get(2) operation started and + * we're expected to be called near the end of jail_get(2) when the lock + * is about to be dropped anyways, so this is safe. + */ + mtx_unlock(&pr->pr_mtx); + locked = false; + + error = mac_label_copyin_string(&mac, &u_buffer, M_WAITOK); + if (error) { + vfs_opterror(opts, "mac.label: string copy failure"); + goto out; + } + + buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); + if (buffer == NULL) { + error = ENOMEM; + goto out; + } + + error = mac_prison_externalize_label(intlabel, mac.m_string, + buffer, mac.m_buflen); + + if (error == 0) + error = copyout(buffer, u_buffer, strlen(buffer)+1); + +out: + mac_prison_label_free(intlabel); + free_copied_label(&mac); + free(buffer, M_MACTEMP); + +out_nomac: + if (locked) { + MPASS(error != 0); + mtx_unlock(&pr->pr_mtx); + } + + return (error); +} + +int +mac_set_prison_prepare(struct thread *const td, struct vfsoptlist *opts, + void **const mac_set_prison_data) +{ + struct mac mac; + struct label *intlabel; + int error; + +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { + struct mac32 mac32; + + error = vfs_copyopt(opts, "mac.label", &mac32, sizeof(mac32)); + if (error == 0) { + CP(mac32, mac, m_buflen); + PTRIN_CP(mac32, mac, m_string); + } + } else +#endif + error = vfs_copyopt(opts, "mac.label", &mac, sizeof(mac)); + if (error) { + if (error != ENOENT) + vfs_opterror(opts, "bad mac.label"); + return (error); + } + + error = mac_label_copyin_string(&mac, NULL, M_WAITOK); + if (error) { + vfs_opterror(opts, "mac.label: string copy failure"); + return (error); + } + + /* + * If the option wasn't set, then we return ENOENT above. If we don't + * have any policies applicable to prisons, we can return EINVAL early. + */ + if (!(mac_labeled & MPC_OBJECT_PRISON)) { + vfs_opterror(opts, "no labelled jail policies"); + return (EINVAL); + } + + intlabel = mac_prison_label_alloc(M_WAITOK); + error = mac_prison_internalize_label(intlabel, mac.m_string); + if (error) { + mac_prison_label_free(intlabel); + vfs_opterror(opts, "internalize_label error"); + return (error); + } + + *mac_set_prison_data = intlabel; + return (0); +} + +int +mac_set_prison_core(struct thread *const td, struct prison *pr, + void *const mac_set_prison_data) +{ + struct label *const intlabel = mac_set_prison_data; + + return (mac_prison_label_set(td->td_ucred, pr, intlabel)); +} + +void +mac_set_prison_finish(struct thread *const td, bool prison_label_set __unused, + void *const mac_set_prison_data) +{ + struct label *const intlabel = mac_set_prison_data; + + mac_prison_label_free(intlabel); +} + int sys___mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) { diff --git a/sys/security/mac/mac_syscalls.h b/sys/security/mac/mac_syscalls.h index f95ff3ef1264..76c8e6d188bb 100644 --- a/sys/security/mac/mac_syscalls.h +++ b/sys/security/mac/mac_syscalls.h @@ -30,4 +30,14 @@ int mac_set_proc_core(struct thread *const td, struct ucred *const newcred, void mac_set_proc_finish(struct thread *const td, bool proc_label_set, void *const mac_set_proc_data); +struct vfsoptlist; +int mac_get_prison(struct thread *const td, struct prison *pr, + struct vfsoptlist *opts); +int mac_set_prison_prepare(struct thread *const td, struct vfsoptlist *opts, + void **const mac_set_prison_data); +int mac_set_prison_core(struct thread *const td, struct prison *pr, + void *const mac_set_prison_data); +void mac_set_prison_finish(struct thread *const td, bool prison_label_set, + void *const mac_set_prison_data); + #endif /* !_SECURITY_MAC_MAC_SYSCALLS_H_ */ From nobody Fri Jan 16 00:24:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZy40pbz6NQ05 for ; Fri, 16 Jan 2026 00:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZy0ks0z3b2h for ; Fri, 16 Jan 2026 00:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523066; 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=vFG2L4k60aLJgF44hxv8NJeyBhORv0GOvoUkC7+1IZw=; b=Tj/tUDudIfuZyBCeK07HLZcvAEYksqZhof9A8MCqaeD2zBtTkR3vtP4b2jXFsu5QU9FSuI cCxcxSFqsMF1qvUJPo0+/mbsFpoj5nVunrrmCqXB2jvaIXRUFy4lJottMSAkKWVqbTftaz XeCFmtOOQALLhfJmHayT83nqjmPpycOEl/UmoWFqpfILQKR7Bz2FlzyrQ5R4rmkWeeniH1 EyICqimSztdA0b0uAZPrybPCVQkh58sgn5PbQuWBRYdLVrpJJRDVMqDQktjiAPfY+/KH3o vkeE4scjZUOMJaVEgFBzfxsA0uru7XPX0qZ6R57+0ZlFrGmgBilS5o3ooIz7zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523066; 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=vFG2L4k60aLJgF44hxv8NJeyBhORv0GOvoUkC7+1IZw=; b=r9nrIwF0VJ8WyOpCmMd+l1XD8vtC4BTX9/+FLaFOLSi/Q5NTBDEXtiwf+PQ1+vklzMQfUy nuMOnx26t2o1/WcXzFTMNqWBJEnhXwDqMd4qG0Nxwk8ezcdZB0A6fniAe6zEDSQ/UK57bY ivt3bkKthnGBZqmRHjF0Qq5oxzWTB0tfW6mnHuzxnHiQ+s/92fSxRcAMdFytgczNFEtLJ6 JVISbiqRdYuUhBCdzpYTtAiCLQDj/91ewSpCTt7BLG6WFU6sAcxC8TqQdnfnGi33TAuQKm kiAz6G6MD02nsJ31r1WKXodhhtSowAWODVv/CoZ1qp4c6wkKIzgnM4C9iJsEAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523066; a=rsa-sha256; cv=none; b=aWiulrnA0rWRiD8rDmviqxzP6Lw90aaNX1ADX46QJm/8aXlX//0sLVLn21gou611YXhJk8 YS7Rh1ib/vsYMWHjjMYz37D/YtPdBA+o2A0wXe/DIa6IVSmwHC6T+/f3K2Hp/0aAh2F7Qd iOtGAtTmXBmAY+TWb6w1mTHxQjdC3dRIisoYtnBgQHPjlqyQq+TmgQd2JBQ6mdsBbh6OnP YZsReEei0wLBDq6+7GCZO+gu5OJC4e5BWY55FVxy0+Iu+b2l3R1eLVvQkHMYu5YllBJT4R 7fb8k7lUKAJ15q27ALvH/uMkZ1IE/sbEFXj2LM4Bzt3qEjfYwhXIHUtp6N03hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZy0HrBzrmf for ; Fri, 16 Jan 2026 00:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b3a2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: db3b39f063d9 - main - libjail: extend struct handlers to included MAC labels List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db3b39f063d9f05ee808b9c5a11146ed6810d857 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:26 +0000 Message-Id: <6969853a.3b3a2.692d2f0d@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=db3b39f063d9f05ee808b9c5a11146ed6810d857 commit db3b39f063d9f05ee808b9c5a11146ed6810d857 Author: Kyle Evans AuthorDate: 2025-11-27 05:24:14 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:40 +0000 libjail: extend struct handlers to included MAC labels MAC label handling is a little special; to avoid being too disruptive, we allocate a `mac_t *` here for the value so that we can mac_prepare() or mac_from_text() into. As a result, we need: - A custom free() handler to avoid leaking the *jp_value - A custom jailparam_get() handler to mac_prepare() the mac_t and populate the iove properly, so that the kernel doesn't have to do something funky like copyin, dereference, copyin again. - A custom jailparam_set() handler to similarly populate the iovec properly. Reviewed by: jamie Differential Revision: https://reviews.freebsd.org/D53960 --- lib/libjail/jail.c | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 189 insertions(+), 3 deletions(-) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index 8fbd486d2c96..75fd411c70c8 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -50,20 +51,38 @@ #define JPSDEF_OF(jp) \ ((jp)->jp_structtype >= 0 ? &jp_structdefs[(jp)->jp_structtype] : NULL) +static int jps_get(struct jailparam *, struct iovec *); +static int jps_set(const struct jailparam *, struct iovec *); +static void jps_free(struct jailparam *); + typedef int (jps_import_t)(const struct jailparam *, int, const char *); typedef char *(jps_export_t)(const struct jailparam *, int); +typedef int (jps_get_t)(struct jailparam *, struct iovec *); +typedef int (jps_set_t)(const struct jailparam *, struct iovec *); +typedef void (jps_free_t)(struct jailparam *); static jps_import_t jps_import_in_addr; static jps_import_t jps_import_in6_addr; +static jps_import_t jps_import_mac_label; static jps_export_t jps_export_in_addr; static jps_export_t jps_export_in6_addr; +static jps_export_t jps_export_mac_label; + +static jps_get_t jps_get_mac_label; + +static jps_set_t jps_set_mac_label; + +static jps_free_t jps_free_mac_label; static const struct jp_structdef { const char *jps_type; /* sysctl type */ size_t jps_valuelen; /* value size */ jps_import_t *jps_import; /* jailparam_import() */ jps_export_t *jps_export; /* jailparam_export() */ + jps_get_t *jps_get; /* jailparam_get() */ + jps_set_t *jps_set; /* jailparam_set() */ + jps_free_t *jps_free; /* jailparam_free() */ } jp_structdefs[] = { { .jps_type = "S,in_addr", @@ -77,6 +96,15 @@ static const struct jp_structdef { .jps_import = jps_import_in6_addr, .jps_export = jps_export_in6_addr, }, + { + .jps_type = "S,mac", + .jps_valuelen = sizeof(mac_t *), + .jps_import = jps_import_mac_label, + .jps_export = jps_export_mac_label, + .jps_get = jps_get_mac_label, + .jps_set = jps_set_mac_label, + .jps_free = jps_free_mac_label, + }, }; _Static_assert(nitems(jp_structdefs) <= INT_MAX, @@ -579,7 +607,7 @@ jailparam_set(struct jailparam *jp, unsigned njp, int flags) /* No value means key removal. */ jiov[i].iov_base = NULL; jiov[i].iov_len = 0; - } else { + } else if (jps_set(&jp[j], &jiov[i]) != 0) { /* * Try to fill in missing values with an empty string. */ @@ -624,7 +652,7 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) { struct iovec *jiov; struct jailparam *jp_desc, *jp_lastjid, *jp_jid, *jp_name, *jp_key; - int i, ai, ki, jid, arrays, sanity; + int i, ai, ki, jid, arrays, processed, sanity; unsigned j; /* @@ -726,6 +754,26 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) JAIL_ERRMSGLEN); return (-1); } + + /* + * Returns -1 on error, or # index populated on + * success. 0 is perfectly valid for a type + * that may want to simply initialize the value + * as needed. + */ + processed = jps_get(&jp[j], &jiov[i]); + if (processed == -1) { + return (-1); + } else if (processed > 0) { + /* + * The above math for jiov sizing does + * not really account for one param + * expanding to multiple entries. + */ + assert(processed == 1); + i += processed; + continue; + } } jiov[i].iov_base = jp[j].jp_value; jiov[i].iov_len = jp[j].jp_valuelen; @@ -924,12 +972,15 @@ jailparam_export(struct jailparam *jp) void jailparam_free(struct jailparam *jp, unsigned njp) { + unsigned j; for (j = 0; j < njp; j++) { free(jp[j].jp_name); - if (!(jp[j].jp_flags & JP_RAWVALUE)) + if (!(jp[j].jp_flags & JP_RAWVALUE)) { + jps_free(jp); free(jp[j].jp_value); + } } } @@ -1248,6 +1299,43 @@ kvname(const char *name) return (kvname); } +static int +jps_get(struct jailparam *jp, struct iovec *jiov) +{ + const struct jp_structdef *jpsdef; + + jpsdef = JPSDEF_OF(jp); + if (jpsdef == NULL || jpsdef->jps_get == NULL) + return (0); /* Nop, but not an error. */ + + return ((jpsdef->jps_get)(jp, jiov)); +} + +static int +jps_set(const struct jailparam *jp, struct iovec *jiov) +{ + const struct jp_structdef *jpsdef; + + jpsdef = JPSDEF_OF(jp); + if (jpsdef == NULL || jpsdef->jps_set == NULL) + return (EINVAL); /* Unhandled */ + + return ((jpsdef->jps_set)(jp, jiov)); +} + +static void +jps_free(struct jailparam *jp) +{ + const struct jp_structdef *jpsdef; + + jpsdef = JPSDEF_OF(jp); + if (jpsdef == NULL) + return; + + if (jpsdef->jps_free != NULL) + jpsdef->jps_free(jp); +} + static int jps_import_in_addr(const struct jailparam *jp, int i, const char *value) { @@ -1280,6 +1368,24 @@ jps_import_in6_addr(const struct jailparam *jp, int i, const char *value) return (0); } +static int +jps_import_mac_label(const struct jailparam *jp, int i, const char *value) +{ + mac_t *pmac; + + pmac = &((mac_t *)jp->jp_value)[i]; + if (mac_from_text(pmac, value) != 0) { + int serrno = errno; + + snprintf(jail_errmsg, JAIL_ERRMSGLEN, "%s: mac_from_text: %s", + jp->jp_name, strerror(errno)); + errno = serrno; + return (-1); + } + + return (0); +} + static char * jps_export_in_addr(const struct jailparam *jp, int i) { @@ -1307,3 +1413,83 @@ jps_export_in6_addr(const struct jailparam *jp, int i) /* Error checked by caller. */ return (strdup(valbuf)); } + +static char * +jps_export_mac_label(const struct jailparam *jp, int i) +{ + mac_t *macp; + char *labelbuf; + int error; + + macp = &((mac_t *)jp->jp_value)[i]; + error = mac_to_text(*macp, &labelbuf); + if (error != 0) + return (NULL); + + return (labelbuf); +} + +static int +jps_get_mac_label(struct jailparam *jp, struct iovec *jiov) +{ + mac_t *pmac = jp->jp_value; + int error; + + error = mac_prepare_type(pmac, "jail"); + if (error != 0) { + int serrno = errno; + + free(jp->jp_value); + jp->jp_value = NULL; + if (serrno == ENOENT) { + snprintf(jail_errmsg, sizeof(jail_errmsg), + "jail_get: no mac.conf(5) jail config"); + } else { + strerror_r(serrno, jail_errmsg, JAIL_ERRMSGLEN); + } + + errno = serrno; + return (-1); + } + + /* + * MAC label gets special handling because libjail internally maintains + * it as a pointer to a mac_t, but we actually want to pass the mac_t + * itself. We don't want the jailparam_get() zeroing behavior, as it's + * initialized by us. + */ + jiov->iov_base = *pmac; + jiov->iov_len = sizeof(**pmac); + return (1); +} + +static int +jps_set_mac_label(const struct jailparam *jp, struct iovec *jiov) +{ + mac_t *pmac; + + /* + * MAC label gets special handling because libjail internally + * maintains it as a pointer to a mac_t, but we actually want to + * pass the mac_t itself. + */ + pmac = jp->jp_value; + if (pmac != NULL) { + jiov->iov_base = *pmac; + jiov->iov_len = sizeof(**pmac); + } else { + jiov->iov_base = NULL; + jiov->iov_len = 0; + } + + return (0); +} + +static void +jps_free_mac_label(struct jailparam *jp) +{ + mac_t *pmac = jp->jp_value; + + if (pmac != NULL) + mac_free(*pmac); +} From nobody Fri Jan 16 00:24:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZx6zt8z6NQM4 for ; Fri, 16 Jan 2026 00:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZx08Nbz3Ztn for ; Fri, 16 Jan 2026 00:24:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523065; 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=dPa7OCOCtqezcRfBKtnL4kSdXOx/zeHpSPpk9ybaIac=; b=cKZJ6tf+MRGOfnF53Q1LWuTuG8aDTzlXaZp+XZCmJtR+okQxaqeufWPwMJ1lAq3xR7hSUi Hrj8/8voMF8pZOBQkE7tDG/swFF7TckcB2EZAvI717VUhfNPExMdVK9SuAtgtQwcy8uPly K5CTEAT+Y0Zs9Pir18YWjmeo5485lL6kuxENrr+Cb/xfRlS+fRJOprKR42XARl006Ypj8V 1w3CjvJA7AoQbkHAIvYBxwmiWPA7fCin8DQbFlMBzN0VzykOj0sp3hwmKm/PvU5liwoQ03 nU8wF6oHjRoza6DJ2r10rX5gY+9viuC4VWQDsfNzNwVyOn5m4e/0KaA6ceAwrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523065; 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=dPa7OCOCtqezcRfBKtnL4kSdXOx/zeHpSPpk9ybaIac=; b=wSbfY4bfMLsjPW2Jls8KOHOPW7O5vtCB57Mpsj/Hhxx2OOowhARHOxwSh2TDPEwEOZJZDu W33zqNlHZpElG3b1lkJUooQzWTHtvNZTMWHHD12tHpKf/VkC7EYW4i2jFqSAFo7FezK2x/ uEhpJQ9p+LAJOuxUwZ2NJQ+W68UI6FHYgyfKFOcKDE4TCGh9oV5QHPfHakcOjhTJSC30i5 Tv1UDqjoGPQIlT+Nppx9eROwXQqkZVo1jDjTxPczCq2quP7DNgy33ozzdGNCI1b0XVpHoT BUXTs3Qgfw1lN5QdhxJuHnLPAKMXesjgR2pIg9vka977cqQHA+G/Dnj0Ue110Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523065; a=rsa-sha256; cv=none; b=pJSvrj326KT9j6mzEnJifcDfuEy4gBwEsLxuhHlNmv2NZvM/L2rb/80LL6D+9Io68k/tL3 kWMitR3NPiCrgE1N/BcKVGYs13jMbaqFjNWQL+xWA1sCUpNUMvpsGRrO0t7eVw+DZI0D91 MXBGkHFdnKj+EJixhKAK1XcDMRvZq3kdbyiJ6zAdOwiyUvC3b7ud5io07VOSwUfteb1/MW IRvoW+sGYs734YB4H5DPh6TmWQfXYlFzXpBzJO/pSMMt5CO/uVkXnqmt5b3c2GbRq1INA3 WKSjEFy+Cql4r5wSpPMaLhGCgBUddHEqY/S18yTuG+96pw2Fxn+Lb4ILLh6IIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZw6bvYzqvM for ; Fri, 16 Jan 2026 00:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b327 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 1af8d5652a01 - main - libjail: start refactoring struct ioctl support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1af8d5652a01f79d055436c2ee83219700e7b16c Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:24 +0000 Message-Id: <69698538.3b327.3d395abb@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=1af8d5652a01f79d055436c2ee83219700e7b16c commit 1af8d5652a01f79d055436c2ee83219700e7b16c Author: Kyle Evans AuthorDate: 2025-11-27 05:19:39 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:40 +0000 libjail: start refactoring struct ioctl support Instead of ad-hoc comparisons against the struct type in a few places, start to abstract out an interface for dealing with struct types. For now, this just means that we have some special jailparam_import and jailparam_export handling for the ip addr types, but in the next commit we'll extend it further to support MAC labels. Reviewed by: jamie Differential Revision: https://reviews.freebsd.org/D53959 --- lib/libjail/jail.c | 206 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 149 insertions(+), 57 deletions(-) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index ad3348af0d2d..8fbd486d2c96 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -46,12 +47,45 @@ #define SJPARAM "security.jail.param" -#define JPS_IN_ADDR 1 -#define JPS_IN6_ADDR 2 +#define JPSDEF_OF(jp) \ + ((jp)->jp_structtype >= 0 ? &jp_structdefs[(jp)->jp_structtype] : NULL) + +typedef int (jps_import_t)(const struct jailparam *, int, const char *); +typedef char *(jps_export_t)(const struct jailparam *, int); + +static jps_import_t jps_import_in_addr; +static jps_import_t jps_import_in6_addr; + +static jps_export_t jps_export_in_addr; +static jps_export_t jps_export_in6_addr; + +static const struct jp_structdef { + const char *jps_type; /* sysctl type */ + size_t jps_valuelen; /* value size */ + jps_import_t *jps_import; /* jailparam_import() */ + jps_export_t *jps_export; /* jailparam_export() */ +} jp_structdefs[] = { + { + .jps_type = "S,in_addr", + .jps_valuelen = sizeof(struct in_addr), + .jps_import = jps_import_in_addr, + .jps_export = jps_export_in_addr, + }, + { + .jps_type = "S,in6_addr", + .jps_valuelen = sizeof(struct in6_addr), + .jps_import = jps_import_in6_addr, + .jps_export = jps_export_in6_addr, + }, +}; + +_Static_assert(nitems(jp_structdefs) <= INT_MAX, + "Too many struct definitions requires an ABI break in struct jailparam"); #define ARRAY_SANITY 5 #define ARRAY_SLOP 5 +static const struct jp_structdef *jp_structinfo(const char *type, int *); static int jailparam_import_enum(const char **values, int nvalues, const char *valstr, size_t valsize, int *value); @@ -66,6 +100,23 @@ char jail_errmsg[JAIL_ERRMSGLEN]; static const char *bool_values[] = { "false", "true" }; static const char *jailsys_values[] = { "disable", "new", "inherit" }; +static const struct jp_structdef * +jp_structinfo(const char *type, int *oidx) +{ + const struct jp_structdef *jpsdef; + + for (size_t idx = 0; idx < nitems(jp_structdefs); idx++) { + jpsdef = &jp_structdefs[idx]; + + if (strcmp(jpsdef->jps_type, type) == 0) { + *oidx = (int)idx; + return (jpsdef); + } + } + + *oidx = -1; + return (NULL); +} /* * Import a null-terminated parameter list and set a jail with the flags @@ -325,6 +376,7 @@ jailparam_import(struct jailparam *jp, const char *value) { char *p, *ep, *tvalue; const char *avalue; + const struct jp_structdef *jpsdef; int i, nval, fw; if (value == NULL) @@ -426,34 +478,13 @@ jailparam_import(struct jailparam *jp, const char *value) case CTLTYPE_STRUCT: tvalue = alloca(fw + 1); strlcpy(tvalue, avalue, fw + 1); - switch (jp->jp_structtype) { - case JPS_IN_ADDR: - if (inet_pton(AF_INET, tvalue, - &((struct in_addr *)jp->jp_value)[i]) != 1) - { - snprintf(jail_errmsg, - JAIL_ERRMSGLEN, - "%s: not an IPv4 address: %s", - jp->jp_name, tvalue); - errno = EINVAL; - goto error; - } - break; - case JPS_IN6_ADDR: - if (inet_pton(AF_INET6, tvalue, - &((struct in6_addr *)jp->jp_value)[i]) != 1) - { - snprintf(jail_errmsg, - JAIL_ERRMSGLEN, - "%s: not an IPv6 address: %s", - jp->jp_name, tvalue); - errno = EINVAL; - goto error; - } - break; - default: + + if (jp->jp_structtype == -1) goto unknown_type; - } + + jpsdef = &jp_structdefs[jp->jp_structtype]; + if ((*jpsdef->jps_import)(jp, i, tvalue) != 0) + goto error; break; default: unknown_type: @@ -773,6 +804,7 @@ jailparam_export(struct jailparam *jp) { size_t *valuelens; char *value, *tvalue, **values; + const struct jp_structdef *jpsdef; size_t valuelen; int i, nval, ival; char valbuf[INET6_ADDRSTRLEN]; @@ -839,29 +871,25 @@ jailparam_export(struct jailparam *jp) (uintmax_t)((uint64_t *)jp->jp_value)[i]); break; case CTLTYPE_STRUCT: - switch (jp->jp_structtype) { - case JPS_IN_ADDR: - if (inet_ntop(AF_INET, - &((struct in_addr *)jp->jp_value)[i], - valbuf, sizeof(valbuf)) == NULL) { - strerror_r(errno, jail_errmsg, - JAIL_ERRMSGLEN); - return (NULL); - } - break; - case JPS_IN6_ADDR: - if (inet_ntop(AF_INET6, - &((struct in6_addr *)jp->jp_value)[i], - valbuf, sizeof(valbuf)) == NULL) { - strerror_r(errno, jail_errmsg, - JAIL_ERRMSGLEN); - return (NULL); - } - break; - default: + if (jp->jp_structtype == -1) goto unknown_type; + + jpsdef = &jp_structdefs[jp->jp_structtype]; + value = (*jpsdef->jps_export)(jp, i); + if (value == NULL) { + strerror_r(errno, jail_errmsg, + JAIL_ERRMSGLEN); + return (NULL); } - break; + + valuelens[i] = strlen(value) + 1; + valuelen += valuelens[i]; + values[i] = alloca(valuelens[i]); + strcpy(values[i], value); + + free(value); + value = NULL; + continue; /* Value already added to values[] */ default: unknown_type: snprintf(jail_errmsg, JAIL_ERRMSGLEN, @@ -1055,14 +1083,17 @@ unknown_parameter: } jp->jp_valuelen = strtoul(desc.s, NULL, 10); break; - case CTLTYPE_STRUCT: - if (!strcmp(desc.s, "S,in_addr")) { - jp->jp_structtype = JPS_IN_ADDR; - jp->jp_valuelen = sizeof(struct in_addr); - } else if (!strcmp(desc.s, "S,in6_addr")) { - jp->jp_structtype = JPS_IN6_ADDR; - jp->jp_valuelen = sizeof(struct in6_addr); + case CTLTYPE_STRUCT: { + const struct jp_structdef *jpsdef; + + jpsdef = jp_structinfo(desc.s, &jp->jp_structtype); + if (jpsdef != NULL) { + assert(jp->jp_structtype >= 0); + + jp->jp_valuelen = jpsdef->jps_valuelen; } else { + assert(jp->jp_structtype == -1); + desclen = 0; if (sysctl(mib + 2, miblen / sizeof(int), NULL, &jp->jp_valuelen, NULL, 0) < 0) { @@ -1073,6 +1104,7 @@ unknown_parameter: } } break; + } case CTLTYPE_NODE: /* * A node might be described by an empty-named child, @@ -1215,3 +1247,63 @@ kvname(const char *name) return (kvname); } + +static int +jps_import_in_addr(const struct jailparam *jp, int i, const char *value) +{ + struct in_addr *addr; + + addr = &((struct in_addr *)jp->jp_value)[i]; + if (inet_pton(AF_INET, value, addr) != 1) { + snprintf(jail_errmsg, JAIL_ERRMSGLEN, + "%s: not an IPv4 address: %s", jp->jp_name, value); + errno = EINVAL; + return (-1); + } + + return (0); +} + +static int +jps_import_in6_addr(const struct jailparam *jp, int i, const char *value) +{ + struct in6_addr *addr6; + + addr6 = &((struct in6_addr *)jp->jp_value)[i]; + if (inet_pton(AF_INET6, value, addr6) != 1) { + snprintf(jail_errmsg, JAIL_ERRMSGLEN, + "%s: not an IPv6 address: %s", jp->jp_name, value); + errno = EINVAL; + return (-1); + } + + return (0); +} + +static char * +jps_export_in_addr(const struct jailparam *jp, int i) +{ + struct in_addr *addr; + char valbuf[INET_ADDRSTRLEN]; + + addr = &((struct in_addr *)jp->jp_value)[i]; + if (inet_ntop(AF_INET, addr, valbuf, sizeof(valbuf)) == NULL) + return (NULL); + + /* Error checked by caller. */ + return (strdup(valbuf)); +} + +static char * +jps_export_in6_addr(const struct jailparam *jp, int i) +{ + struct in6_addr *addr6; + char valbuf[INET6_ADDRSTRLEN]; + + addr6 = &((struct in6_addr *)jp->jp_value)[i]; + if (inet_ntop(AF_INET6, addr6, valbuf, sizeof(valbuf)) == NULL) + return (NULL); + + /* Error checked by caller. */ + return (strdup(valbuf)); +} From nobody Fri Jan 16 00:24:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZz4bhpz6NPtv for ; Fri, 16 Jan 2026 00:24: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsgZz1vYSz3Zpp for ; Fri, 16 Jan 2026 00:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523067; 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=4v0N0NEiI1+UfI1Pn3CyUuEv4gxN3FFDpDDc0SSulXA=; b=yHWc5QmEP1j8mPxOlXaB5u4ruxdz3KCbkstK6Z6vGbe89wWoNCoU3Hqb8y/2AYzInSaut/ vbhVMUKs/re73HeQeIXI6gbFK/h+fDuABY6jv6E7oSdN+Lo2feFKrda/j1ayu9N7q9BP78 lNYW1K+A5d+hINFKixy9QFtWVy+ig17liZMavgMPSX8zIcz0wRGWvg/jS19A+JMnu7w2I5 LET0YO9a2rNbelrdUhUGWrTKek8M8G8I7xqWYkmPwQ/EFEcPKeA+UAFXkJJrjz2opdRfep Jl80OotyJKZih27ArAO6kMvz83r3SH+yHbrcHE6XfbrNgBUbenQ0t2GPMWo+vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768523067; 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=4v0N0NEiI1+UfI1Pn3CyUuEv4gxN3FFDpDDc0SSulXA=; b=AkMYdWiLioRGQ9e4ZAmduBnmsXetifl5M6F9HjyZNXCp2KGA26TP4f9Hk76rjID9uvgsHv RMQtvdgQEisttCYvIrBCNA8z2Bb5AYNe4M6x2/vlfiNsGzuTam6A1rCw5hDSHr2enUPoBW RAuLs8ozA4tkJML/OuibanBedMkvEbWowZyO7rdZbrI8BH4G1nMY5xVHtqqbNQkdf4626N HTK0fyjx5hHuP955nD2Ei1LCtgauqMSKEdmdePtXdE8wODnw3chqN2zizRpVctTyPk8v7d QQi9zrGH1LOXOEgcxzcoLk422g9YV3O1qPPz/LVf73jC3eTbSRvERYI/O6v9XA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768523067; a=rsa-sha256; cv=none; b=etzAI10DWEvFC+j7q+dvlCrGg8PrIk/8J+5Gc9oP6x1AtIjjiinwxymeSqnwT8YEddHsGS pS3KIPge6IXQSAM1ilch3+dnNdFkOZA+cn0WSyGUzO/qcvWaPB2p15KCRXO9cfuEGx3RVs yxXauSb1xjqxwwSRfgMelD/1ZWZaYvOSPN0FWa1He2zMnhssMjKqrSTKmudXXK2655FDps oDxsHaIW99sIP5hhHLsB12EGOBHKaVa6OoVxJujU6JufqjVYJESLssbJIFCvutI0iiglDX qrv1fi44uw+Wv86jrTS77+L6Muqe7yEs4CE4ieAvHIB+vR5SPmGkXtHYZO3Weg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsgZz11MPzrhk for ; Fri, 16 Jan 2026 00:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3acd1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 00:24:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 1e8c28712aaf - main - jail: document the mac.label parameter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e8c28712aafc9a3339e8a832767a70c08168bdc Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 00:24:27 +0000 Message-Id: <6969853b.3acd1.135dc243@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=1e8c28712aafc9a3339e8a832767a70c08168bdc commit 1e8c28712aafc9a3339e8a832767a70c08168bdc Author: Kyle Evans AuthorDate: 2025-12-04 01:45:56 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 00:23:40 +0000 jail: document the mac.label parameter In particular, we should provide a hint about mac.conf(5), since libjail will just use the mac_prepare_type(3) API to provide a reasonably sane interface for system administrators. Progammers wanting to fetch an arbitrary MAC label would need to bypass libjail and use jail_get(2) directly with their own prepared `struct mac`. Differential Revision: https://reviews.freebsd.org/D54067 --- share/man/man4/mac.4 | 4 +++- usr.sbin/jail/jail.8 | 13 ++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/share/man/man4/mac.4 b/share/man/man4/mac.4 index 2e2abbdb2c06..d7ae30a1bac4 100644 --- a/share/man/man4/mac.4 +++ b/share/man/man4/mac.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 30, 2024 +.Dd January 15, 2026 .Dt MAC 4 .Os .Sh NAME @@ -165,6 +165,7 @@ and modifying its MAC policy label. .Bl -column "user (by login class)" "Xr setfmac 8 , Xr setfsmac 8" -offset indent .It Sy "Subject/Object" Ta Sy "Utility" .It "File system object" Ta Xr setfmac 8 , Xr setfsmac 8 +.It Jail Ta Xr jail 8 .It "Network interface" Ta Xr ifconfig 8 .It "TTY (by login class)" Ta Xr login.conf 5 .It "User (by login class)" Ta Xr login.conf 5 @@ -221,6 +222,7 @@ man page. .Xr mac_test 4 , .Xr login.conf 5 , .Xr maclabel 7 , +.Xr jail 8 , .Xr getfmac 8 , .Xr getpmac 8 , .Xr setfmac 8 , diff --git a/usr.sbin/jail/jail.8 b/usr.sbin/jail/jail.8 index 6098010ebbc4..45eb7dea096d 100644 --- a/usr.sbin/jail/jail.8 +++ b/usr.sbin/jail/jail.8 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 13, 2025 +.Dd December 4, 2025 .Dt JAIL 8 .Os .Sh NAME @@ -503,6 +503,15 @@ pseudo-parameter set. The ID of the cpuset associated with this jail (read-only). .It Va dying This is true if the jail is in the process of shutting down (read-only). +.It Va mac.label +The +.Xr mac 3 +label associated with this jail. +Note that a +.Dq jail +entry in +.Xr mac.conf 5 +may need to be configured in order to retrieve the MAC label. .It Va parent The .Va jid @@ -1550,6 +1559,7 @@ environment of the first jail. .Xr clock_settime 2 , .Xr jail_set 2 , .Xr ntp_adjtime 2 , +.Xr mac 3 , .Xr devfs 4 , .Xr fdescfs 4 , .Xr linprocfs 4 , @@ -1557,6 +1567,7 @@ environment of the first jail. .Xr procfs 4 , .Xr vmm 4 , .Xr jail.conf 5 , +.Xr mac.conf 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , .Xr bsdconfig 8 , From nobody Fri Jan 16 09:07:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsvBt5Xwsz6P0T1 for ; Fri, 16 Jan 2026 09:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsvBt2wfzz3ZJ7 for ; Fri, 16 Jan 2026 09:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768554470; 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=GDt6WYC/gZGwkLmwikQFWbHs4y6TAdoKLoqRYj3xoeY=; b=D7I434g0RzDVL17f1eXGLLeW3BZtr+2SUVv/b/0hrYcpCBh5Be98gQuemx+iPlPnWahvJw 4TqkkhUutGtfRVB2LBTj4Z+lmJwaNiSlsR4Qy37w3P0iV/hF+HW2hWeCbGXPFFDX0sz/aI 5/63n7bUsT4gfOPvphDNjHEELnyfs697PXJxrBAUJ8cEtOm36xdhSUbjC60UsmsZDhiBDd FdNdbuzqqf/my34BEwUNvwPpxUYuCB568OpAcdMSfToKJj6QGaK9OKdfi/xULGh7BdJHIF gXYTR/REpZYxhxGIhX1FpfM3gKvmJLOAqZSD41u80H97mh1hPGiI//vxg1854A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768554470; 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=GDt6WYC/gZGwkLmwikQFWbHs4y6TAdoKLoqRYj3xoeY=; b=BwgsSTgiNkvDA+kYDc0Vk/7LJtbG7+eTgALPzWFI2d5m+LstN5nODMBfre4QiOBm4wi8Qe pjfs26sr3PSYIzwia+xEujwm7WTwjLDEd90YGDCGo3Sq6geEZzdPbKIfSdmbhGMdCam1MO 9/erSfkKH6BVLr+/rBip2fp64EzN9F9S44pO66RA5XQKAwf8ehVIqFKYzZdYvKuNVjdfeG OyBva450IhWCOdvFp2aH3/PTIVMgaKL2gj07c8ytEgFj40HgwBhVPtRm1sQ+jAQpPoDXXM yjz/J7lnx9GdxBGM1GamvtUVO2ctz4vc/s0axQ+Pe3LStpV09M5yD32sYdapuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768554470; a=rsa-sha256; cv=none; b=CST6Yfyhw4m0DZPgkNjLGJRME7m9+UNTUdaNDsCeiP22JBBZfg6kRSncBXWObPGQa1gjB+ LOLfk7lkwaEdLtGD9uH8R28c7ogirVn8ZZBFmosNGU90fJjdIQiherfkyyncEh0FHynYuw JmGm3etBltco3RkwAxgsS/yfGNWnzcJM8Zcg/PDfXnDYGaDgGy2btAlLTW3Ak6m6YJyLP/ g8xfCgg88DNaGqpjOBskrXYHOY1/dEED5ScQI7CMFWxACVOX8RCi0tZJ/eG5no+x6a7rCX hLp8uXel11TEHmTxXUqwsYM422SIOHOC40cbf1EUSW/T4lVjXf2MKG5yBnc44w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsvBt1bFXz16wT for ; Fri, 16 Jan 2026 09:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e614 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:07:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: c18631fe7958 - main - RELNOTES: document the MAC/jail integration List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c18631fe795833abc62c44e26a39b1e8176e1cb0 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:07:50 +0000 Message-Id: <6969ffe6.e614.73ca80e6@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c18631fe795833abc62c44e26a39b1e8176e1cb0 commit c18631fe795833abc62c44e26a39b1e8176e1cb0 Author: Kyle Evans AuthorDate: 2026-01-15 03:29:18 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 09:04:39 +0000 RELNOTES: document the MAC/jail integration Reviewed by: jamie, markj Differential Revision: https://reviews.freebsd.org/D54737 --- RELNOTES | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RELNOTES b/RELNOTES index d014f5adce44..3f919cff0efc 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,13 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +8254b0dec02b3, bd55cbb50c588: + The mac(4) framework has been extended to support jail operations, + allowing a policy to constrain jail creation, modification, removal, and + attachment. Jails have additionally been made a first-class mac(4) + object, and a mac.label jail(8) property has been added to facilitate + administration of their labels. + c558eca47970: The smartpqi(4) driver was updated to vendor version 4660.0.2002 for the SmartArry storage controllers. From nobody Fri Jan 16 09:07:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsvBv51NVz6P0cg for ; Fri, 16 Jan 2026 09:07: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsvBv2ZkQz3ZJ8 for ; Fri, 16 Jan 2026 09:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768554471; 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=GSCEVE9N8P+OHhF9HfmTeSFrF7uCXUB9pe7QC4SFVHU=; b=Bw6qHwtqdamrJF8IOlmHJDVXP36YXOwZ/ehg/spur2kf23evt0cqwAhdPCQ730JWQQMm7V DAFOwLubunOjUIluV6n2nDzymBH3CJPQ+xXZ1QpiBVj9vNxjQWne35TN8jBpwypc51dUxH hmib1ZibPVp4ZfKr3OW9P+RyQMRo7ARbiAOD/cZNUS+6yYk0HMbZHNO532ANZxeJhmkFKW maw7fhdwoNhEdfaWWy6ifYpDAVp3yn7Pu2l5nIFCMSABlRN1BrFn6rOE2WcKBRxO22sj/p nW+vfyJz+xi1tix92/bVxyCXpq0I/XOKpcXLEitcLDkL8sBw8/Jmd2bZqHqyYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768554471; 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=GSCEVE9N8P+OHhF9HfmTeSFrF7uCXUB9pe7QC4SFVHU=; b=U8y3jjGb2KJSckFjQCz53E/VzhqeUmw84KhBrrCISZaUf0fVw4hjnAmi1Roba/XTxE/Ln1 TmThfCaRW1Cil8TlQ1v/1rqIucoiaHb+aapWaMESKezWDdgP6iIsNyFfAamxCSU8glk6WZ fxSFGPYA6pvGvM2UWXX9nsf+01kQjHNRWypfxATjgq5HqsoyAXyMrP6BjPNwO1rTPv7kPH 9iU6Ni5rHVGhZ6CPST7PWJNzsZ3s+OvgMK7Cf4IlnBI6SQejZO9NJBlvmQ+2sZuGTUD+QX dO0Vv9NOJ2eYIFCmM/tVZ9xPhFRVfEvn13v8utHUUQZlB0ni0bg2Kksxaq+15g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768554471; a=rsa-sha256; cv=none; b=fIfnEyhNi0RgPqbCC+DeHitavP1InW9YsNb2P5Ev9Ekj25Ukua5BX2cngMc8k7I5lEeRy1 3kwVJRdr+WVYqpt0Bt6id2dRuA7aQBBWaHsmUxkJGFo0gJ3ONr+k8Z0tO+vJ/7g/WYxnfS BpWEMoLTKSiB2HeUCNh/7KGqBfQyzDwCpsF8yCy5D4o8HF9zUw2E/Tg8RogwxSLQJDJ+T7 IzWsL/Xu3notqPfHNzqEppS8HM67inaC1lBImAC3LS/eTfH9Mic4Ps0ptI/GncelU+E2mo zLN7kxg9Lbe9JCANb+AGmtk4Bmwz7sOsBuYa09bQd+o0l/5parOGVE5S4/St3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsvBv1tM7z16bB for ; Fri, 16 Jan 2026 09:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e5b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:07:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 22569a1d8020 - main - Bump __FreeBSD_version for MAC changes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22569a1d80203bd4835a1d5d4660de5dbe334509 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:07:51 +0000 Message-Id: <6969ffe7.e5b1.17f7b62e@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=22569a1d80203bd4835a1d5d4660de5dbe334509 commit 22569a1d80203bd4835a1d5d4660de5dbe334509 Author: Kyle Evans AuthorDate: 2026-01-16 09:06:38 +0000 Commit: Kyle Evans CommitDate: 2026-01-16 09:06:38 +0000 Bump __FreeBSD_version for MAC changes --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index d228859575c7..a5dd31519ea5 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1600008 +#define __FreeBSD_version 1600009 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Jan 16 09:32:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsvlK3r0Cz6P29n; Fri, 16 Jan 2026 09:32:29 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsvlK39w4z3dQr; Fri, 16 Jan 2026 09:32:29 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768555949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=xAf/zfMsgenltoCzBRyNKL9CcppMTh26zoYHlujgDSQ=; b=g595u589N9vkrbrxPX3wqcQbpac40yp/QNwnKoc/PGSbKZwsbzbcw454Lbww/7MWwVgmO/ BnB4xlLxIiskcsaejikUyFbU/Lt48yyPHPsNiKoPgJNL+JcW74BDDEdYtP1SvzAZ7jd+KT KlY1bMu0kasGKHaMfZtv6fL/v5uK/Vz89BXslys9luh1MZQ8YHOCrjM808zbCi9qw1+jF5 QctDo2m1aNYdfvmhB2QwRZk9TbSHKvin3FqyLIM4ZqfTbBpuI43u4yc32La3UKkBrUvWfq 1Hu8cJbG37cnrMaNHcdED//PImte3FSaiX2wTeRDHP+Y3T80haMWQiLpVeiqWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768555949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=xAf/zfMsgenltoCzBRyNKL9CcppMTh26zoYHlujgDSQ=; b=DDe65sFV6iHiPp8XK/Yk+MpPpSQwlC458YhPBcS5hBW6+zNy5olx6SZTMO8FkP0iyKRz49 YJsjfkWOm2v8vaVz22pqCwavXFKJESh7xQZH/vBTuSwHYRYeBvv/0yyNYMpON29Y1zb3yZ +WI7NcMYEgLOsGEVmTLYyW2HY4NHlavS3ApdfuTfIQVHqr6GvJGqZS31IQJAS6BMS5Iw1r yjfgZP+Ya5aVJSOdtWDDhP+N7+6Mi3nPCbEmL/igXxnTlI3qWES/+cFB+IAxKg46MUv0jZ gDIv6f5gqZrAQRH9kMRJuFAhLrk5yPE6kiuBwjeeA++zPKkkvx8BymVEvRUAUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768555949; a=rsa-sha256; cv=none; b=RJAlHOyzi/uc5iaMQTg1t+NUVu27/J3M35k1A1Es9X1g6XlZ0Ar4WD6V8KMsFZAfnp5d3l 2us6+BMYe9c5YP8JYtrBTfxTza1xvlfCQjQH5/UFHLTybdveQYH9xIaqhj68biJ+6l+RcX 1jnW0GZuzOtx7PuPZdAMGJTog1j7SEWVTLUwSr6SkBjc5BnlvthWzAZoFZfxT7AO4y/zdG HZGggzzWvZH8pVfzcDmwpzd43A50O4/wjd5IRlVoCcoKUgaVcGcwCFXy7lCrzApc6seTDM r8GEBAHVf0CzToL0dJMw1viH32EG3Q8o7Dm4i4hB4FdjXBWGMvw0nWxQb3aLdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (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) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dsvlK27TwzwZb; Fri, 16 Jan 2026 09:32:29 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 875963C01A0; Fri, 16 Jan 2026 09:32:28 +0000 (UTC) Date: Fri, 16 Jan 2026 09:32:28 +0000 From: Brooks Davis To: Kevin Bowling Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 31e7dc6b9a00 - main - iflib: remove convoluted custom zeroing code Message-ID: References: <696113e6.f233.5c1a099f@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: [Finally catching up on email backlog...] I've gone ahead and merged to 14 and 15. 13 seems not to be getting regular MFC's to iflib and it didn't apply easily trivially so I've punted. This will cause a minor conflict when 43d7ee540efe is MFC'd as I've deleted some defines it touches, but I wanted to leave that for the experts. Thanks, Brooks On Fri, Jan 09, 2026 at 03:44:47PM -0700, Kevin Bowling wrote: > Can you mark for MFC? > > On Fri, Jan 9, 2026 at 7:42???AM Brooks Davis wrote: > > > > The branch main has been updated by brooks: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=31e7dc6b9a000b02353bfc41cbd897533287cda2 > > > > commit 31e7dc6b9a000b02353bfc41cbd897533287cda2 > > Author: Brooks Davis > > AuthorDate: 2026-01-09 14:19:49 +0000 > > Commit: Brooks Davis > > CommitDate: 2026-01-09 14:19:49 +0000 > > > > iflib: remove convoluted custom zeroing code > > > > Replace a collection of aliasing violations and ifdefs with memset > > (which now expands to __builtin_memset and should be quite reliably > > inlined.) The old code is hard to maintain as evidenced by the most > > recent change to if_pkt_info_t updating the defines, but not the zeroing > > code. > > > > Reviewed by: gallatin, erj > > Effort: CHERI upstreaming > > Sponsored by: Innovate UK > > Fixes: 43d7ee540efe ("iflib: support for transmit side nic KTLS offload") > > Differential Revision: https://reviews.freebsd.org/D54605 > > --- > > sys/net/iflib.c | 65 +++++---------------------------------------------------- > > 1 file changed, 5 insertions(+), 60 deletions(-) > > > > diff --git a/sys/net/iflib.c b/sys/net/iflib.c > > index fcd847ab6f7a..5c37f199e84c 100644 > > --- a/sys/net/iflib.c > > +++ b/sys/net/iflib.c > > @@ -504,61 +504,6 @@ typedef struct if_rxsd { > > iflib_fl_t ifsd_fl; > > } *if_rxsd_t; > > > > -/* multiple of word size */ > > -#ifdef __LP64__ > > -#define PKT_INFO_SIZE 7 > > -#define RXD_INFO_SIZE 5 > > -#define PKT_TYPE uint64_t > > -#else > > -#define PKT_INFO_SIZE 12 > > -#define RXD_INFO_SIZE 8 > > -#define PKT_TYPE uint32_t > > -#endif > > -#define PKT_LOOP_BOUND ((PKT_INFO_SIZE / 3) * 3) > > -#define RXD_LOOP_BOUND ((RXD_INFO_SIZE / 4) * 4) > > - > > -typedef struct if_pkt_info_pad { > > - PKT_TYPE pkt_val[PKT_INFO_SIZE]; > > -} *if_pkt_info_pad_t; > > -typedef struct if_rxd_info_pad { > > - PKT_TYPE rxd_val[RXD_INFO_SIZE]; > > -} *if_rxd_info_pad_t; > > - > > -CTASSERT(sizeof(struct if_pkt_info_pad) == sizeof(struct if_pkt_info)); > > -CTASSERT(sizeof(struct if_rxd_info_pad) == sizeof(struct if_rxd_info)); > > - > > -static inline void > > -pkt_info_zero(if_pkt_info_t pi) > > -{ > > - if_pkt_info_pad_t pi_pad; > > - > > - pi_pad = (if_pkt_info_pad_t)pi; > > - pi_pad->pkt_val[0] = 0; pi_pad->pkt_val[1] = 0; pi_pad->pkt_val[2] = 0; > > - pi_pad->pkt_val[3] = 0; pi_pad->pkt_val[4] = 0; pi_pad->pkt_val[5] = 0; > > -#ifndef __LP64__ > > - pi_pad->pkt_val[6] = 0; pi_pad->pkt_val[7] = 0; pi_pad->pkt_val[8] = 0; > > - pi_pad->pkt_val[9] = 0; pi_pad->pkt_val[10] = 0; > > -#endif > > -} > > - > > -static inline void > > -rxd_info_zero(if_rxd_info_t ri) > > -{ > > - if_rxd_info_pad_t ri_pad; > > - int i; > > - > > - ri_pad = (if_rxd_info_pad_t)ri; > > - for (i = 0; i < RXD_LOOP_BOUND; i += 4) { > > - ri_pad->rxd_val[i] = 0; > > - ri_pad->rxd_val[i + 1] = 0; > > - ri_pad->rxd_val[i + 2] = 0; > > - ri_pad->rxd_val[i + 3] = 0; > > - } > > -#ifdef __LP64__ > > - ri_pad->rxd_val[RXD_INFO_SIZE - 1] = 0; > > -#endif > > -} > > - > > /* > > * Only allow a single packet to take up most 1/nth of the tx ring > > */ > > @@ -1068,7 +1013,7 @@ iflib_netmap_txsync(struct netmap_kring *kring, int flags) > > if (nm_i != head) { /* we have new packets to send */ > > uint32_t pkt_len = 0, seg_idx = 0; > > int nic_i_start = -1, flags = 0; > > - pkt_info_zero(&pi); > > + memset(&pi, 0, sizeof(pi)); > > pi.ipi_segs = txq->ift_segs; > > pi.ipi_qsidx = kring->ring_id; > > nic_i = netmap_idx_k2n(kring, nm_i); > > @@ -1261,7 +1206,7 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int flags) > > nm_i = netmap_idx_n2k(kring, nic_i); > > MPASS(nm_i == kring->nr_hwtail); > > for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, avail--) { > > - rxd_info_zero(&ri); > > + memset(&ri, 0, sizeof(ri)); > > ri.iri_frags = rxq->ifr_frags; > > ri.iri_qsidx = kring->ring_id; > > ri.iri_ifp = ctx->ifc_ifp; > > @@ -2998,7 +2943,7 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) > > /* > > * Reset client set fields to their default values > > */ > > - rxd_info_zero(&ri); > > + memset(&ri, 0, sizeof(ri)); > > ri.iri_qsidx = rxq->ifr_id; > > ri.iri_cidx = *cidxp; > > ri.iri_ifp = ifp; > > @@ -3580,7 +3525,7 @@ iflib_encap(iflib_txq_t txq, struct mbuf **m_headp) > > } > > m_head = *m_headp; > > > > - pkt_info_zero(&pi); > > + memset(&pi, 0, sizeof(pi)); > > pi.ipi_mflags = (m_head->m_flags & (M_VLANTAG | M_BCAST | M_MCAST)); > > pi.ipi_pidx = pidx; > > pi.ipi_qsidx = txq->ift_id; > > @@ -4256,7 +4201,7 @@ iflib_if_transmit(if_t ifp, struct mbuf *m) > > if (ctx->isc_txq_select_v2) { > > struct if_pkt_info pi; > > uint64_t early_pullups = 0; > > - pkt_info_zero(&pi); > > + memset(&pi, 0, sizeof(pi)); > > > > err = iflib_parse_header_partial(&pi, &m, &early_pullups); > > if (__predict_false(err != 0)) { > > > From nobody Fri Jan 16 09:44:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1R6xDWz6P2kL for ; Fri, 16 Jan 2026 09:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsw1R4Fmvz3fgS for ; Fri, 16 Jan 2026 09:44:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556683; 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=r7ewQHnOREMTxnwqb40FNuCBye9gnsyvgin2zYPQawM=; b=l9JezHm+NjCUSSk7axB0vUnLHMMiZ//NQe8h8XDUILyqWBUJtfgNEcPIJpD9JGA69CxDyu 0ZTCzRRCw1pwxnlmzYNlCw+Kra5QvfzB1m65ALEITkBFkL5FETN3+ITvzZiPle+U0Sajnb G4tCtpD8AsBE+3SeQ+NEKBOedeRFFN24jiT5J7J7ulFNFwLWuipUFh25E2u1jv3JAgh/uX gJkQvL47NueludlpMyRpiCp+KraqV6dV1MyG0V9Vh027Tjnw8cuBSnJR0tDq47U6khD0jp 7mIycdLuM218jH2X0cIhKW72YgxlstNk3Gbfhs/O3ZSt0Wr8v8Sqwe8Vl3kt/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556683; 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=r7ewQHnOREMTxnwqb40FNuCBye9gnsyvgin2zYPQawM=; b=ANbs7Vc98bGeuPkmx1MW5UFiXizzw2kP8ow9MMvawoOeM3rp52fhV4zfOg/nq+/ar00WwY OvQqPzi0Y+427J0HQT/3IftLhdSCRRTK2jL/Eah7Ob3XPaVj2BBtj7X3ib1xcDazBk4W9O kBR4Qj4ebK8j2sdc0/4DTr0FHudhfios5LCkB5C0Oy8+ovEIsqZFGGugUp1HbNVwDUFEQ4 yMPDIDnCdrYw4J0Uq80kWXlQXNPUdW873luNn5pY3gP2t2z1RsSKTkIToQp2AbJyv2E/v9 Dd7Zr3gjON0mNKA/5+XfsCz3w3pWq48GBK5WaNAS0Vr3+zzd4Q+55kJ/Y44b1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768556683; a=rsa-sha256; cv=none; b=ZiTWoWM3aYq+jFnRGatTnlj5kGxt4BYPmd9yJVoshAgcMflWgTpzdbOH9o+TS/Jz/ET0TL OE93dipld3vSMoFiHVctJJ8Gh38zaXY3aLE66Qkp2sFqI89Cfy1FJFtbt4bwgdHi9mp+do P+5poCkCoSnCIRFBYTfoCeHNw47giWCEt62g10xsKok9dbnz2U23QdaJVGpnO3HLorHQPx ch6eMtdIk4rgzt/jN2CVTLca/KysiWYZmLcYy8tmkT6EyZU86dm1Zv6wuZ4lLHMQGzM4Ee 2aV09wY1CGe0+fQ9iTELuVXPDcG6dg16/B9eNA8sfJ6SKUHZ9RrY4CYi9jhbPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1R3rwwz182s for ; Fri, 16 Jan 2026 09:44:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23026 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:44:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 497a13601fb7 - main - virtual_oss: remove needless .include in intermediate Makefile List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 497a13601fb74c264e28eff7cd3f9ac74f0f212b Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:44:43 +0000 Message-Id: <696a088b.23026.24d18375@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=497a13601fb74c264e28eff7cd3f9ac74f0f212b commit 497a13601fb74c264e28eff7cd3f9ac74f0f212b Author: Brooks Davis AuthorDate: 2026-01-16 09:33:22 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:33:22 +0000 virtual_oss: remove needless .include in intermediate Makefile It doesn't define anything we use. Reviewed by: christos Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D54702 --- lib/virtual_oss/Makefile | 1 - usr.sbin/virtual_oss/Makefile | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/virtual_oss/Makefile b/lib/virtual_oss/Makefile index dc83edd4b980..61f2c43bdf73 100644 --- a/lib/virtual_oss/Makefile +++ b/lib/virtual_oss/Makefile @@ -5,5 +5,4 @@ SHLIBDIR?= ${LIBDIR}/virtual_oss SUBDIR+= null \ oss -.include "Makefile.inc" .include diff --git a/usr.sbin/virtual_oss/Makefile b/usr.sbin/virtual_oss/Makefile index 6c497ad71d46..78d882af5da2 100644 --- a/usr.sbin/virtual_oss/Makefile +++ b/usr.sbin/virtual_oss/Makefile @@ -5,5 +5,4 @@ SUBDIR+= virtual_oss_cmd \ SUBDIR.${MK_BLUETOOTH}+= virtual_bt_speaker -.include "Makefile.inc" .include From nobody Fri Jan 16 09:44:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1T0f02z6P2ZK for ; Fri, 16 Jan 2026 09:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsw1S51qLz3fQh for ; Fri, 16 Jan 2026 09:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556684; 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=diRY8Dp55h3u20kH4J3LWO/XycoBk/LWNrkkoB/Z+t4=; b=GzXZHwkZLrNyWx19GDzBjB6s0zxxk+8xXYSIocHycCigbuV6F/KbpNsG69wy7DMCqs7kmM llCzQiHufz1yaCgwTluPrUmWdWd13RIJ53ivlcjkiL6EDUqqe6YAjdS7vaNVnfnBOASPYh RrHQ4Lci28KJFAIqEhltK3l5c9B4L0W8nq/Lb5AmNh8anuzGyZpWqdEOxobvWVStyRks/r IsSRJcUBFXDyEOPIoIjgYhlIToXe8+Qu7jOmezuKKaCJLOMtyuRh5EPkDNBUKZwZ8ejBzD E54gmj7GaE7MkaCxx2I13jNQhZGFphm/xaPaT6jDG6GYXPJWolOAJ5OV6DF/QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556684; 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=diRY8Dp55h3u20kH4J3LWO/XycoBk/LWNrkkoB/Z+t4=; b=V6hBZThvux2PMKJMI0YqVxn+mzMCBOpYzlxrFA71uA9oYbTRMxDL+0RSn7iDwWEqED9EbU GP+F4woWRV7NeR1A3HRAWHx3hRnPfU2rPEHSQ5DqSt/b9bJe8X2MQ7ptLzha7SGlCFy7nJ huR/Z6wRnIjYIwsTzoHfDsVO4l/dSpE9Cwoz2LwZaOe/tiA7pmWezU/kC1En5YLNOnaAUK ejMjGjb5BeRFtu2Ok8/i2N+sBJ7kMTUt+SxnXJZpBZACCeSZsX1oSUv+IoiPL7dKje3jpW lZM81V8owYpSoLCjLAz4XKf17ROpaa+0fgKgN4Q4h5uoNWHtTjgwAOnMx5iXUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768556684; a=rsa-sha256; cv=none; b=Sm2cJy/SuQOJX78l5QHKaok4F4Pp8LliherlVmCsgo2+ybS6S6liHNf+lHc4jVSNpSwwFk lr8b0iHP2MaqkliP5DhlQRSnwd8B+rMM4op0d07KxERHqncGLItXx6SXbwFHa3qildgQ0L 7sz45o4VyHL0vBty2wwaSBQW+leyWs6o/fOwk0euWdx4k6F2pnJrzPc+I+jEsWHPj3WWK8 yn5y7fR5wYEkqBM7CSavquj472UoLjsJPqz6bs0rqkc9gSeEsTuT/Xkwka5y0tefo3UAnn M3KpSywKr0wxj2aKH3j/zemdNP+vYFmVIPH5more+/BKS5FLV12Q/qvfqFogmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1S4cqcz17L5 for ; Fri, 16 Jan 2026 09:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 206e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:44:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: adab1dd6a70e - main - virtual_oss: build commands/libs in parallel List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: adab1dd6a70e9f2d7ac4500b186e7231afd02e04 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:44:44 +0000 Message-Id: <696a088c.206e8.304d3410@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=adab1dd6a70e9f2d7ac4500b186e7231afd02e04 commit adab1dd6a70e9f2d7ac4500b186e7231afd02e04 Author: Brooks Davis AuthorDate: 2026-01-16 09:33:50 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:33:50 +0000 virtual_oss: build commands/libs in parallel Reviewed by: christos Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D54703 --- lib/virtual_oss/Makefile | 2 ++ usr.sbin/virtual_oss/Makefile | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/virtual_oss/Makefile b/lib/virtual_oss/Makefile index 61f2c43bdf73..11715bbcbf0b 100644 --- a/lib/virtual_oss/Makefile +++ b/lib/virtual_oss/Makefile @@ -5,4 +5,6 @@ SHLIBDIR?= ${LIBDIR}/virtual_oss SUBDIR+= null \ oss +SUBDIR_PARALLEL= + .include diff --git a/usr.sbin/virtual_oss/Makefile b/usr.sbin/virtual_oss/Makefile index 78d882af5da2..a7d6ad80513d 100644 --- a/usr.sbin/virtual_oss/Makefile +++ b/usr.sbin/virtual_oss/Makefile @@ -5,4 +5,6 @@ SUBDIR+= virtual_oss_cmd \ SUBDIR.${MK_BLUETOOTH}+= virtual_bt_speaker +SUBDIR_PARALLEL= + .include From nobody Fri Jan 16 09:44:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1V0rXFz6P2Vt for ; Fri, 16 Jan 2026 09:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsw1T5pJ2z3fQk for ; Fri, 16 Jan 2026 09:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556685; 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=D8tN8niQAM7/xYPSnkyGTeX2QU3V3vpNxuK0IuygpPY=; b=oXBRn81hlniv9LeJ57ZWpnI/+P7c2oJiC0W8b+q1H/6MA1ZYn+Rf75uv1WcQBCYT1VBmdP 568PC7nzuTuPo4dnyfytDZcQy0+r+GWLXDc91+KRQzbklDa9IUJdkHflQXbb0qNv2uDXw/ CK+MqRYf324eeqWwHEUhEhl1su3xgi3wkvYR8G8yoR7zF7VwqpXgS5Mo3E4Wh+C/At80r8 WSt3yoRU9E2hYHqy9Z/tzUMz+Fd/+p/6ovAeseA+o5s4ORPscd9U83vPsf+/s7UzZTecPO 6WUllDrblVV8EJSsfznIzlCHl9dSh7jGqIlbjEV2AkqNIJDyIQiHId/bF9mn3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556685; 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=D8tN8niQAM7/xYPSnkyGTeX2QU3V3vpNxuK0IuygpPY=; b=ZxRWx2sS1suJSY+qCf5wV26VklLpF0GZWweCECNNLkP/kVplibwGxcEHZX/T5BcmUZdu/S a/e8LwjeKI7bVE9WcrkPjkHyZfmbmaocg3Bfq/2RW+QE24h/IjwvqRQDQA4VInOlBeXfrc tNTSNtUXu7evZrNs/JWNg8aqrbYLms9VUIUA5zznl/8/MtZ/LQ5DCnlm72qzNTUfEZvOew xsPef34Z68r6UnqU209TpgC4YDXWfcBddlj1yQmj26DNX6muHIaZ5s8oZdJkVDP9XjMuF3 vNVNqpKEf/dySI36369ZQmacVF4EAlrwpSTfCe90/JvXjnHh3k8Ck3Bt3ut/8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768556685; a=rsa-sha256; cv=none; b=hH3v68D4fYiEYm2Vv8dMoEeNxnMSRXotwHUAFD5yzrGh3ZgzTBHSZXhpRyTykLFifexcEk 4PnHxIQC4/clifUFuWOaf0rXYigXMsL7VUJxAex4yHm/noBH8CgPCT+f7xmPSG2B6d5Bkj a8tp32kxLGhYgA29dxQhLggHfvXiZ7x0mDVQAzCEfz5N1uwOyW/KKBoyqsqeS7mwgPfI46 +V8FvPQTXqfmKfBobOFm9ubnSIAzm+cN4f58983bdCCSuxbqgbaiqcxHsrQsIsSacwN5w/ KB+2GMMQafnFBJ9IwYa31wGtQOhvWVJZifdNlF9NbTocb4JK3EIRdzTLW+AIXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1T5NgBz17L6 for ; Fri, 16 Jan 2026 09:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23980 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:44:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 373c72ad5044 - main - virtual_oss: build system tidying List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 373c72ad5044d5f84b7f3fa169d37e7214729f74 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:44:45 +0000 Message-Id: <696a088d.23980.24aae0c8@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=373c72ad5044d5f84b7f3fa169d37e7214729f74 commit 373c72ad5044d5f84b7f3fa169d37e7214729f74 Author: Brooks Davis AuthorDate: 2026-01-16 09:33:56 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:33:56 +0000 virtual_oss: build system tidying general: - find libsamplerate's headers in the temporary sysroot instead of digging in the source tree. - use LIBADD where possible lib/virtual_oss: - centralize SHLIBDIR define - centralize include path for internal headers - don't try to find libsamplerate directly in .OBJDIR No functional changes. Reviewed by: christos Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D54704 --- lib/virtual_oss/Makefile | 2 -- lib/virtual_oss/Makefile.inc | 6 ++++-- lib/virtual_oss/bt/Makefile | 7 ++----- lib/virtual_oss/null/Makefile | 4 +--- lib/virtual_oss/oss/Makefile | 4 +--- lib/virtual_oss/sndio/Makefile | 4 +--- usr.sbin/virtual_oss/virtual_bt_speaker/Makefile | 2 +- usr.sbin/virtual_oss/virtual_oss/Makefile | 9 ++++----- 8 files changed, 14 insertions(+), 24 deletions(-) diff --git a/lib/virtual_oss/Makefile b/lib/virtual_oss/Makefile index 11715bbcbf0b..e6cb5fbe5985 100644 --- a/lib/virtual_oss/Makefile +++ b/lib/virtual_oss/Makefile @@ -1,7 +1,5 @@ .include -SHLIBDIR?= ${LIBDIR}/virtual_oss - SUBDIR+= null \ oss diff --git a/lib/virtual_oss/Makefile.inc b/lib/virtual_oss/Makefile.inc index 877465a5c548..2a0c75218f49 100644 --- a/lib/virtual_oss/Makefile.inc +++ b/lib/virtual_oss/Makefile.inc @@ -1,5 +1,7 @@ PACKAGE= sound -.include "../Makefile.inc" +SHLIBDIR= ${LIBDIR}/virtual_oss + +CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss -LDFLAGS+= -L${.OBJDIR:H:H}/libsamplerate +.include "../Makefile.inc" diff --git a/lib/virtual_oss/bt/Makefile b/lib/virtual_oss/bt/Makefile index 15413b7a1f1e..9a4ce586ef95 100644 --- a/lib/virtual_oss/bt/Makefile +++ b/lib/virtual_oss/bt/Makefile @@ -1,14 +1,11 @@ SHLIB_NAME= voss_bt.so -SHLIBDIR= ${LIBDIR}/virtual_oss SRCS= bt.c \ avdtp.c \ sbc_encode.c -CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss \ - -I${SRCTOP}/contrib/libsamplerate -LDFLAGS+= -lbluetooth -lsdp -LIBADD= samplerate +CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate +LIBADD= bluetooth samplerate sdp .if defined(HAVE_LIBAV) CFLAGS+= -I${LOCALBASE:U/usr/local}/include -DHAVE_LIBAV diff --git a/lib/virtual_oss/null/Makefile b/lib/virtual_oss/null/Makefile index ec5c2d40f665..5c265d1be055 100644 --- a/lib/virtual_oss/null/Makefile +++ b/lib/virtual_oss/null/Makefile @@ -1,10 +1,8 @@ SHLIB_NAME= voss_null.so -SHLIBDIR= ${LIBDIR}/virtual_oss SRCS= null.c -CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss \ - -I${SRCTOP}/contrib/libsamplerate +CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate LIBADD= samplerate .include diff --git a/lib/virtual_oss/oss/Makefile b/lib/virtual_oss/oss/Makefile index 257d7f0c0bae..773b3518602e 100644 --- a/lib/virtual_oss/oss/Makefile +++ b/lib/virtual_oss/oss/Makefile @@ -1,10 +1,8 @@ SHLIB_NAME= voss_oss.so -SHLIBDIR= ${LIBDIR}/virtual_oss SRCS= oss.c -CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss \ - -I${SRCTOP}/contrib/libsamplerate +CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate LIBADD= samplerate .include diff --git a/lib/virtual_oss/sndio/Makefile b/lib/virtual_oss/sndio/Makefile index 9b5af63a3246..238507be1e4b 100644 --- a/lib/virtual_oss/sndio/Makefile +++ b/lib/virtual_oss/sndio/Makefile @@ -1,10 +1,8 @@ SHLIB_NAME= voss_sndio.so -SHLIBDIR= ${LIBDIR}/virtual_oss SRCS= sndio.c -CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss \ - -I${SRCTOP}/contrib/libsamplerate \ +CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate \ -I${LOCALBASE:U/usr/local}/include LDFLAGS+= -L${LOCALBASE:U/usr/local}/lib -lsndio LIBADD= samplerate diff --git a/usr.sbin/virtual_oss/virtual_bt_speaker/Makefile b/usr.sbin/virtual_oss/virtual_bt_speaker/Makefile index 0f5fb2b4eb99..d3bb0e4cdb44 100644 --- a/usr.sbin/virtual_oss/virtual_bt_speaker/Makefile +++ b/usr.sbin/virtual_oss/virtual_bt_speaker/Makefile @@ -6,6 +6,6 @@ SRCS= bt_speaker.c CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss \ -I${SRCTOP}/lib/virtual_oss/bt -LDFLAGS+= -lm -lbluetooth -lsdp +LIBADD= bluetooth m sdp .include diff --git a/usr.sbin/virtual_oss/virtual_oss/Makefile b/usr.sbin/virtual_oss/virtual_oss/Makefile index cdb6bcac3fad..78532356f097 100644 --- a/usr.sbin/virtual_oss/virtual_oss/Makefile +++ b/usr.sbin/virtual_oss/virtual_oss/Makefile @@ -12,13 +12,12 @@ SRCS= audio_delay.c \ ring.c \ virtual_oss.c -CFLAGS+= -I${SRCTOP}/contrib/libsamplerate +CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate + +LIBADD= cuse m nv pthread samplerate # The --export-dynamic-symbol flags below are needed because some backends make # use of those symbols. -LDFLAGS+= -lpthread -lcuse -lnv -lm \ - -Wl,--export-dynamic-symbol=virtual_oss_wait \ +LDFLAGS+= -Wl,--export-dynamic-symbol=virtual_oss_wait \ -Wl,--export-dynamic-symbol=voss_has_synchronization -LIBADD= samplerate -LDFLAGS+= -L${.OBJDIR:H:H}/libsamplerate .include From nobody Fri Jan 16 09:44:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1W1kdzz6P2h6 for ; Fri, 16 Jan 2026 09:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsw1V6x3rz3fMv for ; Fri, 16 Jan 2026 09:44:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556687; 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=8afLfMA6oy7EMPq4oMA8+ex+wvD3obrmPSPRzgezAiw=; b=i7wytCNIXYmMsPnADlcPLl+nZ7BeP4V29H4VPSHTSjg7d/Z+HToB1FNN7TqTndmShJ1uAJ qVjaZuURLgVJi/pPDTrRlN1IUUizMzsJAoZMdDYlunCbxxHC08ePjK4wkN9dVOO8dFJW8x IgUmN7CF3gcyb72Xr1JmAEHWO22UFzwrWV2O1Ewn/yienZxONG9wZHCFatvUjzTrt4hBnY otQ4P6Tizxhc/l4mC7Qrq0h2qJ4lZ7WJ8rsuui18nAQR8HgdynDPaarvu5u+ArvLq6zeK8 dmvPNIHsYm4hZ9UgpqsDGMuvPsvplty3hKd5pwm5DT7AZT2X9hize2qwffk/ZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556687; 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=8afLfMA6oy7EMPq4oMA8+ex+wvD3obrmPSPRzgezAiw=; b=fj3avwav74weS//0v6X8Ky1svuNcdwoCvToaDOXgCOtJSz/xQ2ZJ5Kn6qQE8kcuQk7Uzo2 hmWm5GobwVXudOCkrjmGSAumkN8Q0E93ohQPpMYwPSji/vM0ieillwEzl9ksvcX5A5iZs/ mOqgO10yn/yCdjGdR2jH0cLqKOQtxUZqmjjND/hNTrhKpvo0CwJiE8o2LUIknH2j1IFNtR yrHh3+UMXEKheDwX6K3EK5vbh3toVVZQVx3lQhmC1KYaym2ZjZ7KKIvPJtPMwFv9barMpf QQgQRbTDJ1H/evUmSbyjT4DBMh5a6VW+kUkd1bzn54tezFJSQe4/K+Ky+hfR0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768556687; a=rsa-sha256; cv=none; b=hTptHJA3V3Ilt+mY9FHyPDfh//GoR2Vc3S9AUv01k0IqcJTMRx14uXjU1NiVDwuZxmlo+C qHubIs090nBpcA4YjhqcEy6NwlI24Fm3E6h+oF1lX/+rLKOnckvZLIlfQNfAqMqdZ5AFBA 6zgiO+3L1b/RzPWWtmHER4AsKpvwK+wpA1NJ9mUZSVn/6AO549gRvybzcdRjKDLxPJ3RlR /aBslvENdvvLK01ayK1cel2+6yfurVJHdm5MmqUqVR46/BQJkSSjWspZRGBmQTIcantN3N oOmYypdSbLkn+mP2Q+P8qrlOK5mk+/XBSvkltKAZ/SiJiHh/ESH44yKjywrkgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1V69Vfz17Mr for ; Fri, 16 Jan 2026 09:44:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2290c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:44:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: d78291b0e973 - main - lib/virtual_oss: don't (over)link to libsamplerate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d78291b0e9736f39f22c55c163978c1b92e601e4 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:44:46 +0000 Message-Id: <696a088e.2290c.48e5a893@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=d78291b0e9736f39f22c55c163978c1b92e601e4 commit d78291b0e9736f39f22c55c163978c1b92e601e4 Author: Brooks Davis AuthorDate: 2026-01-16 09:34:18 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:34:18 +0000 lib/virtual_oss: don't (over)link to libsamplerate These plugins require samplerate.h due to virtual_oss's int.h including it, but don't use any symbols directly so don't link to the library. Centralize adding the include path. Reviewed by: christos Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D54705 --- lib/virtual_oss/Makefile.inc | 2 ++ lib/virtual_oss/bt/Makefile | 3 +-- lib/virtual_oss/null/Makefile | 3 --- lib/virtual_oss/oss/Makefile | 3 --- lib/virtual_oss/sndio/Makefile | 4 +--- 5 files changed, 4 insertions(+), 11 deletions(-) diff --git a/lib/virtual_oss/Makefile.inc b/lib/virtual_oss/Makefile.inc index 2a0c75218f49..b3f00b075640 100644 --- a/lib/virtual_oss/Makefile.inc +++ b/lib/virtual_oss/Makefile.inc @@ -3,5 +3,7 @@ PACKAGE= sound SHLIBDIR= ${LIBDIR}/virtual_oss CFLAGS+= -I${SRCTOP}/usr.sbin/virtual_oss/virtual_oss +# XXX virtual_oss/int.h includes samplerate.h, but the library isn't used +CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate .include "../Makefile.inc" diff --git a/lib/virtual_oss/bt/Makefile b/lib/virtual_oss/bt/Makefile index 9a4ce586ef95..f7c4077eb8f4 100644 --- a/lib/virtual_oss/bt/Makefile +++ b/lib/virtual_oss/bt/Makefile @@ -4,8 +4,7 @@ SRCS= bt.c \ avdtp.c \ sbc_encode.c -CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate -LIBADD= bluetooth samplerate sdp +LIBADD= bluetooth sdp .if defined(HAVE_LIBAV) CFLAGS+= -I${LOCALBASE:U/usr/local}/include -DHAVE_LIBAV diff --git a/lib/virtual_oss/null/Makefile b/lib/virtual_oss/null/Makefile index 5c265d1be055..a5a8d4ec6a24 100644 --- a/lib/virtual_oss/null/Makefile +++ b/lib/virtual_oss/null/Makefile @@ -2,7 +2,4 @@ SHLIB_NAME= voss_null.so SRCS= null.c -CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate -LIBADD= samplerate - .include diff --git a/lib/virtual_oss/oss/Makefile b/lib/virtual_oss/oss/Makefile index 773b3518602e..795d9c45469d 100644 --- a/lib/virtual_oss/oss/Makefile +++ b/lib/virtual_oss/oss/Makefile @@ -2,7 +2,4 @@ SHLIB_NAME= voss_oss.so SRCS= oss.c -CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate -LIBADD= samplerate - .include diff --git a/lib/virtual_oss/sndio/Makefile b/lib/virtual_oss/sndio/Makefile index 238507be1e4b..d27ff7ced579 100644 --- a/lib/virtual_oss/sndio/Makefile +++ b/lib/virtual_oss/sndio/Makefile @@ -2,9 +2,7 @@ SHLIB_NAME= voss_sndio.so SRCS= sndio.c -CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/private/samplerate \ - -I${LOCALBASE:U/usr/local}/include +CFLAGS+= -I${LOCALBASE:U/usr/local}/include \ LDFLAGS+= -L${LOCALBASE:U/usr/local}/lib -lsndio -LIBADD= samplerate .include From nobody Fri Jan 16 09:44:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1X1Y69z6P2yX for ; Fri, 16 Jan 2026 09:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsw1X0H93z3fY4 for ; Fri, 16 Jan 2026 09:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556688; 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=+7jJzih75mir/WoemRREgZTukI1CT25aytpl4Hshc7Q=; b=DPhetFs/ks8XVzHpOssxWLRsUt3tUdUpj6dOaxnRlqCHA562tPfUXdHtUiXVIkPO8U3oLu H77PKKRRho+XDOjS1Hq9YwjefB3R1DIzHfyNGxKIxSpC52aAqLfqVU0n3DY1gFjCTrmdMF TxUa+QJtR7clvpfbN+Dr8HncIBAveMAfU3WLsBcGCPTU+mNlNPtc2CLTLBGPr7CJk1TIR5 xQtv0hHZywYBQiUGeVt/KyuJXcK9NGiuycELqQ7KSJJmM96NnnO+LGTJ0H4jp1bcNnbep7 a+cmmCuRlk5oWTkjge2iIwMoQNByrh4OAdV2B4V8eQDdo35Rlmyoj3AW73IsPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768556688; 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=+7jJzih75mir/WoemRREgZTukI1CT25aytpl4Hshc7Q=; b=ovgod7s129o1NYV5ScX1TjXd1lEBj7WuNjjltVDqqpuy0kvhgqy/k1fBUqhBPYR8G1ruFp j75rAif1xeSTIPP7p+AYplFI5IboeD/1jIqmtr3jTAiDV2vN/zLfcqPBtqMpTCoJOqsYb5 LK5tooE8kr56AnNMjNAsxe1RhPv9rkzje6MGaRomU38fec7CBbPyFjsxBkF+MtDL8Wn8JO Ywut4hClTwZVJoLi9PNJu0kK9TJyUN5YZrc37Yl1wcB/7ykEkK8Q6fsOPAdfLd+bZbdf8X wLTd1hLRE2F359Es10mswO5yylQCEOoyez1zAARuc4jO74vdskdVsg1kQAtgzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768556688; a=rsa-sha256; cv=none; b=DwTRE3ZKxYGfaMIkcmnjVR3M4fOvzEXw7rMkji2bY8dZl3V3z5ewgHagi2dkH+U1hz8jff 3D6nl2bthyTIru2Lgzfm67akbRFn0SO09c8cAkA+pUO2fLr5JwR1+8lspPzfgNNXt/kgB/ Cf8+W7Hud2uUKY8WaPkCJZ78FSjvLKPdcJZfLK9zcCGE8lKS5OVP7HWpAb9ZWQ3HYR0uvF g3BZ+g6d0KuYLCZky2ZIMxxEjf+xQ5iCkXERXGSblxx/DmyTralbChBVmcdK0d/JnyYCyV bTLVtC/hEcvN2DxB6S0oMAMOK4GhLjRM+ua8QeALOs3qVLuZyoOq4Kh+IF8cwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsw1W6y2Bz17Wc for ; Fri, 16 Jan 2026 09:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22792 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:44:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: a01a4c0730c5 - main - CODEOWNERS: register interest in some infrastructure List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a01a4c0730c50671565ea97ff3ae76e1a6503853 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:44:47 +0000 Message-Id: <696a088f.22792.126c8dd1@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a01a4c0730c50671565ea97ff3ae76e1a6503853 commit a01a4c0730c50671565ea97ff3ae76e1a6503853 Author: Brooks Davis AuthorDate: 2026-01-16 09:43:12 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:43:12 +0000 CODEOWNERS: register interest in some infrastructure --- .github/CODEOWNERS | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3c01ce41a092..fb518975b83f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -71,7 +71,7 @@ /sbin/veriexec/ @stephane-rochoy-stormshield /secure/usr.bin/openssl/ @juikim /share/man/ @concussious -/share/mk @bsdimp @bapt @bdrewery @emaste +/share/mk @bsdimp @bapt @bdrewery @brooksdavis @emaste /stand @bsdimp /stand/lua @kevans91 /stand/veriexec.mk @stephane-rochoy-stormshield @@ -101,6 +101,7 @@ /sys/fs/fuse/ @asomers /sys/fs/procfs/ @dag-erling /sys/fs/pseudofs/ @dag-erling +/sys/kern/syscalls.master @brooksdavis /sys/kern/vfs_aio.c @asomers /sys/netinet/ip_carp.c @glebius /sys/netpfil/ipfilter @cschuber @@ -108,6 +109,7 @@ /sys/opencrypto/ @jmgurney /sys/security/mac_veriexec/ @stephane-rochoy-stormshield /sys/security/mac_veriexec_parser/ @stephane-rochoy-stormshield +/sys/tools/syscalls/ @brooksdavis /sys/x86/pci @bsdimp @bsdjhb /tests @ngie-eign /tests/sys/aio/ @asomers From nobody Fri Jan 16 10:28:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dswzT0LKXz6P5K1; Fri, 16 Jan 2026 10:28:05 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dswzS6YXSz3lvN; Fri, 16 Jan 2026 10:28:04 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768559284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=cCky+RxfIhHDC3PZCXoWfS9DzqShWJ+TpHNJ7BjjCrI=; b=CdVyrkH2FXtd1DD2ub25hSJJ1dp6NrvnQBlfdyEliZtY0yCkDGjlAT6qk6xHXY97DxhrCi sO2tGADyRjz6D++9sRKoNke9mhkAeQrSn1z/7AIHjq58cC9Q/BJbUJMT8kdRbPG+Tq1Vbe JU3Sjhc5SFp6GETWNKb5eIl2t79e7eIf/QJnC05vgW6Ya/Dr0TB6Y+oJYzEE3BT4HXUjBR SyJlB6gQgEBQ/i8WLkLwbM8lZpfFB9ZWHbuC+hg80OHTHaSwH/PRBYnn6Dsb3+RSmtT+h9 nrzf9qohT12Olw/FDm9R1bl58Zhk2gm1kX7RiVaei0IlpplPASNwG4cbW/6n3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768559284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=cCky+RxfIhHDC3PZCXoWfS9DzqShWJ+TpHNJ7BjjCrI=; b=yAk8fAwk7nf0YBTpERkJYwiYvL5Sq0qZsadJ9TEjczSe60zFnHfI/hTfH90JoN308pFCM7 krTtYm3x+jC5IHZYGEnrFrEB52bY2bjUEq4nTmAGY8IqQtqDlHfa51Ttr60CO4ZdaltNcv ZlTQnTXC3/ZzYa2VGAMHI6FwG8Ocbl85GcuZVv7zylPyVfj5kbKdEUb1L7sTrJa+tFIUno GkK9TeTcWiaOLheI1gG+VTXLXSN0YnEXTxGswLFD9FRTUbaJ36Soxwivh8Ok4kvDlh0tUz WNzbfwm69OTjeqcUw6S3KzkicA4GZ7dN2fbCR+05fkhRk3sHJuQmJCJZGLVcDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768559284; a=rsa-sha256; cv=none; b=CQ8RHcXAzxBlhEoYi6mt0Cx59INUPWh1/7mZqKTi1ljB3dJB+1C9B5+3OYuqC7hQaeqzKG RAMPfR0TZhvDxQpnYv7/+WaNRVS75Tuzm0eghAbe0NqQro37j18TkQueewXDsI9iDbWOMv 3qAyUDA8Ctjl1onSITVSfPnlOt+C884Z9XcpQQOq30vwcznbTg1iAEDBOdXtRYInU8unCU A3uKjwq5JfI25Y0Bt+iGCK3zMGaJDB6M6jaJ+NoZy7uFSXsw5V7RLXca7uv9cpvamact/g MV2fdsMYA1hg3wcL8t23wA88Mn9tWP2DswkNsTu5o3hSyyV+vcoAd9jQYfo4Qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (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 (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R13" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4dswzS5CzXzxpb; Fri, 16 Jan 2026 10:28:04 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id 8469F3081D; Fri, 16 Jan 2026 11:28:02 +0100 (CET) From: Kristof Provost To: Gleb Smirnoff Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 77f453e9f9ca - main - tests/if_ovpn: add missing cleanup to the multihome6 test Date: Fri, 16 Jan 2026 11:28:01 +0100 X-Mailer: MailMate (2.0r6272) Message-ID: <964CB91D-4FFE-419B-8183-1EC4BDBC2DA5@FreeBSD.org> In-Reply-To: <69695ef2.2393e.2b6edc8d@gitrepo.freebsd.org> References: <69695ef2.2393e.2b6edc8d@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_ED3BF17F-DD23-4C1D-B2C1-F7F231A10526_=" --=_MailMate_ED3BF17F-DD23-4C1D-B2C1-F7F231A10526_= Content-Type: text/plain; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable On 15 Jan 2026, at 22:41, Gleb Smirnoff wrote: > The branch main has been updated by glebius: > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3D77f453e9f9cafaf5e787c5bfd2996= 6066d6b9dc3 > > commit 77f453e9f9cafaf5e787c5bfd29966066d6b9dc3 > Author: Gleb Smirnoff > AuthorDate: 2026-01-15 21:40:33 +0000 > Commit: Gleb Smirnoff > CommitDate: 2026-01-15 21:40:33 +0000 > > tests/if_ovpn: add missing cleanup to the multihome6 test > > Fixes: 0bfcfb3cb1cbfa383cbd24eff39d39f143eb63ba Thanks! I had added that to my todo list yesterday, and was very confused this = morning when I found it was already there. Best regards, Kristof --=_MailMate_ED3BF17F-DD23-4C1D-B2C1-F7F231A10526_= Content-Type: text/html Content-Transfer-Encoding: quoted-printable

On 15 Jan 2026, at 22:41, Gleb Smirnoff wrote:

The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/co= mmit/?id=3D77f453e9f9cafaf5e787c5bfd29966066d6b9dc3

commit 77f453e9f9cafaf5e787c5bfd29966066d6b9dc3
Author: Gleb Smirnoff glebius@= FreeBSD.org
AuthorDate: 2026-01-15 21:40:33 +0000
Commit: Gleb Smirnoff glebius@= FreeBSD.org
CommitDate: 2026-01-15 21:40:33 +0000

te=
sts/if_ovpn: add missing cleanup to the multihome6 test

Fixes:  0bfcfb3cb1cbfa383cbd24eff39d39f143eb63ba

Thanks!

I had added that to my todo list yesterday, and was very = confused this morning when I found it was already there.

Best regards,
Kristof

--=_MailMate_ED3BF17F-DD23-4C1D-B2C1-F7F231A10526_=-- From nobody Fri Jan 16 11:10:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsxvx061sz6P7Td for ; Fri, 16 Jan 2026 11:10: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsxvw4lNHz3ptD for ; Fri, 16 Jan 2026 11:10:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768561804; 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=uvXVmyXjeqC7tAiDuBik2yGgE7ll1CA1L95ZS9lOLKI=; b=RaZwsG/cmkmCsGwC6kiIyCBc2vgV+ObobWCXaKRi64v7a1w2TjWysYrKoNip5zyfgr2WYp RHBgzI6DBj2NkSFXhaXqWMgjQOl/n2No5SPTehOBb6E/MrV7kaBRHzwZQND4ZGujoHqcBs N+CLHeEu8GSi1L+GaCawXSef0g5njAuHRB0obwxWcSAsGdinXSVbzfAnBfkbEN+mG4QWTr Q68zHf5+TeeVzaQ0zWUl3/cAx9rnBwPJ4b7KXgZmXEaYQKshH4VKqx8s5SSsw8YpLJHYyO tgchAdy/VKYRiZ9mHCgW6RAo3FOW4aZbJkr5QygqKA2lV3WpYrGeIKLP8RV3rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768561804; 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=uvXVmyXjeqC7tAiDuBik2yGgE7ll1CA1L95ZS9lOLKI=; b=olE1h/Y1xhRGpUD8WBajsVpN4EHBN7FbR9z1NfUiGM6XZdqXnqGCKL500n0/phUlEwjJRQ E2l/fGa6FX+Pmzw026dKfVqxQPpkefp1JxWSUgo/YYHc82R1Hsy4qTJGt9ViEDpYE+u5l+ A8DEEPAAuoPikuIGDzLrw9sXFxqe6+x+pNNWCtupZlkpEkZ6lL7ycGVI6zqESR8JW4BKwb baSrysKEGd7LSIpJy9XzrnYdmZZWeUG5Ak9ao2mqKfdr3lSEatB/7hiWjccZbk9KYZHNpl 33RAYpBsddnfwtaBRTYQIyvvxSvn3kkW3FUzaJRXnUWxhK6u00l895dbFAyvkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768561804; a=rsa-sha256; cv=none; b=m4bEPo+o84VRVJ61+0h9olf7pqgoP2xKVbtlaSqqAIgkjxsw4yc3sssjw4euKROZO6A9Rf Y6TWXRLVu2GAqr1cQn0nscePd9uilMgtiDi/NY5kbaJQEZ86AInMVLVfF61Uz3Gfxaz2Hg UyiP+cv7u4b4CeBOp5tmf0Qf8hKTKByKu5FyjxKcBkEvPuYAODce9v25BUGu65IveI99Ec rufI4kzkQmlN1rav6cAOV6bQwZ3e+IiUEeuo9NC7Ojq9AuoLvPilQe2OoxslaORuK8o3vm hFUdZ/X3r5jmjdKf7tgzTM3edzh2leUIQARAlbL2RX0JCYj0sh73ytuYODUfJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsxvw29Qdz19LF for ; Fri, 16 Jan 2026 11:10:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33611 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 11:10:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: f8ddf74175c8 - main - dwc: improve IPv4 transmit checksum offloading List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f8ddf74175c8013268e65b18750e247306fa088a Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 11:10:04 +0000 Message-Id: <696a1c8c.33611.6782849d@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f8ddf74175c8013268e65b18750e247306fa088a commit f8ddf74175c8013268e65b18750e247306fa088a Author: Michael Tuexen AuthorDate: 2026-01-16 11:02:53 +0000 Commit: Michael Tuexen CommitDate: 2026-01-16 11:02:53 +0000 dwc: improve IPv4 transmit checksum offloading This patch provides two improvements for TCP/IPv4 and UDP/IPv4 transmit checksum offloading: (1) Use *CIC_SEG instead of *CIC_FULL, since FreeBSD always provides a pseudo header checksum. (2) Don't make transmit IPv4 header checksum offloading a prerequisite for TCP/IPv4 or UDP/IPv4 transmit checksum offloading. This is the root cause of PR 291696, since right now the epair interface does not support transmit IPv4 header checksum offloading, but TCP/IPv4 and UDP/IPv4 transmit checksum offloading. PR: 291696 Reviewed by: Timo Voelker Tested by: Marek Benc MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54395 --- sys/dev/dwc/dwc1000_dma.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/sys/dev/dwc/dwc1000_dma.c b/sys/dev/dwc/dwc1000_dma.c index 44b9f0d114bf..8cc145216c2d 100644 --- a/sys/dev/dwc/dwc1000_dma.c +++ b/sys/dev/dwc/dwc1000_dma.c @@ -248,7 +248,7 @@ dma1000_setup_txbuf(struct dwc_softc *sc, int idx, struct mbuf **mp) struct bus_dma_segment segs[TX_MAP_MAX_SEGS]; int error, nsegs; struct mbuf * m; - uint32_t flags = 0; + uint32_t flags; int i; int last; @@ -276,19 +276,12 @@ dma1000_setup_txbuf(struct dwc_softc *sc, int idx, struct mbuf **mp) m = *mp; - if ((m->m_pkthdr.csum_flags & CSUM_IP) != 0) { - if ((m->m_pkthdr.csum_flags & (CSUM_TCP|CSUM_UDP)) != 0) { - if (!sc->dma_ext_desc) - flags = NTDESC1_CIC_FULL; - else - flags = ETDESC0_CIC_FULL; - } else { - if (!sc->dma_ext_desc) - flags = NTDESC1_CIC_HDR; - else - flags = ETDESC0_CIC_HDR; - } - } + if ((m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) != 0) + flags = sc->dma_ext_desc ? ETDESC0_CIC_SEG : NTDESC1_CIC_SEG; + else if ((m->m_pkthdr.csum_flags & CSUM_IP) != 0) + flags = sc->dma_ext_desc ? ETDESC0_CIC_HDR : NTDESC1_CIC_HDR; + else + flags = sc->dma_ext_desc ? ETDESC0_CIC_NONE : NTDESC1_CIC_NONE; bus_dmamap_sync(sc->txbuf_tag, sc->txbuf_map[idx].map, BUS_DMASYNC_PREWRITE); From nobody Fri Jan 16 11:53:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsysv5q0Qz6P9Yw for ; Fri, 16 Jan 2026 11:53:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsysv2l4Dz3xHN for ; Fri, 16 Jan 2026 11:53:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768564403; 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=fuHMpYsVKbMOI6lF65ZNLTWh9y7TnwSW9p1tZhWyxgQ=; b=cd5OYVbsS5WdahD2gnaEdYSBy0KDGbck5XGm6/8buGjjO4HWH0sT5Ak59zVLNFQ4zo+l56 P4qByQS9rATDJnNAcgPKfgxOsjqeQAoNxDEjSmyu+0+O+ebrnH2pG0YHTUNj8mJxxBWkzb FGtFBpVy795rcsZmXihLbNhmlqACa8v+EHCkNC7nxCKDBRCfxNpDhwERRtusqC2mZTBSyI kZxboB1LsMiR7u150UkmsCH4+WKzF3ISYV/sCTN5rM36bvn9pYXF1AD3VQuPY0AUjIUD95 EBJmrU9JkiPoh37J3nX9FoaPYk4NPjLNM5id6tCsrknD5i5dhYPNBQrAvW4jrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768564403; 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=fuHMpYsVKbMOI6lF65ZNLTWh9y7TnwSW9p1tZhWyxgQ=; b=ttOWNKAoTiffyjip1so+Eao+Z7gRoIKQ1xFb+UkyZ30QrtlRttQOa6xsjeSdJ5M0sLrRSD UMF4eSDNUBQSKjO4+pTD6pw+mnrxjs+Eq6FyjCqB9LBDWzBgKRuBnjeJkYybMJxmCDeXHK Ni57bV+SAqHB9ptLFIErxoNzFwsG8zg1fyyOAmjpuUOAoINsbmp0WpPfByY81kRUEwBOwQ cx8c6BRpCQab6Zv/ZoyHiaAkRexe+9Kfx3u9Wylbz8pIVKAzw96ghADtuj6mVsplcAmTkf wllabTtAWhkq66KXJenFCxiJL64wx+2fd1Ygq7W19GJspBB1DA0YusNaGygnxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768564403; a=rsa-sha256; cv=none; b=LIYIriqsWfnty0W+NjGfc6Uns3gIJe0vnuMWrA8lJpDM7VK9Aith0aFjz/RW+adFZG0/dT BBmvOVeF9rx8ecBjxLwR12G0c9ULp6yycg1GLGnsaPgMQ/9aysKqSCBuKhOj3rv72YAPdd fZOEuBks1YbrKZqZ+nko3FrZJtHyPPLk9V0jX7SL/OY8rH954dYiTOnzBD2Bmvyiv600n7 4LjIt4Yzi44miCwX4Vt6R+DpT8ZzSJhMmvJ8wc51tkSKJI7iqB1fj1hjMv+gOj96advs9z 8X51AUu6Sr7gCE91wd17RJPstcbaakEz2WcXe+/W20YRfMWcoKQsUu+6UMpzyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dsysv2Hbyz1CFG for ; Fri, 16 Jan 2026 11:53:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38380 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 11:53:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 1f5b1de1fdf2 - main - ipv6: account for jumbo payload option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1f5b1de1fdf2924066c1851ed6c73f36fe20b438 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 11:53:23 +0000 Message-Id: <696a26b3.38380.b68e7bb@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1f5b1de1fdf2924066c1851ed6c73f36fe20b438 commit 1f5b1de1fdf2924066c1851ed6c73f36fe20b438 Author: Michael Tuexen AuthorDate: 2026-01-16 11:49:40 +0000 Commit: Michael Tuexen CommitDate: 2026-01-16 11:49:40 +0000 ipv6: account for jumbo payload option If a jumbo payload option is added, the length of the mbuf chain is increased by 8 but the actual hop-by-hop extension header with the jumbo playload option is only inserted in the packet if there are other options. Therefore, adjust optlen to reflect the actual size of IPv6 extension headers including the hop-by-hop extension header containing the jumbo payload option. Reported by: syzbot+73fe316271df473230eb@syzkaller.appspotmail.com Reviewed by: markj, Timo Voelker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54394 --- sys/netinet6/ip6_output.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index eb5a3a971ea0..d61bc983cc12 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -556,6 +556,7 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, if ((error = ip6_insert_jumboopt(&exthdrs, plen)) != 0) goto freehdrs; ip6->ip6_plen = 0; + optlen += 8; /* JUMBOOPTLEN */ } else ip6->ip6_plen = htons(plen); nexthdrp = &ip6->ip6_nxt; From nobody Fri Jan 16 12:31:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dszjm3Kn7z6PCrK for ; Fri, 16 Jan 2026 12:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dszjm2pdmz42pT for ; Fri, 16 Jan 2026 12:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768566684; 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=fJGBYDQHf/l7P/JV0HQaVbXcoFLpbDMWaseAGrc1+UI=; b=jmuwsOiXWFH49WcRObnUlxb6QRp89PvMP/+xA00BrYqPOGIeCNlky6uaiP+AB+5KsSY/Y6 8/f8XmXjmlhb5QBWbhtz1MaQg/WBDiOhtOSLs5Nt6Yl7kDCUxsx/S2T2B3Lb9Ep4CgBQl7 etfRZsiH5XpQl8r7ViUR+7ZO+4bb+hMeA9TtLwZ+Ps9xE3wcCMrHfPQHju+lmpaUM+pJrW 6EufFm6gGtKa1kuDMh9OJarEYuK/mxKjYK6QBxqr2ppoGr+JMiDc5/KoDuFhX3Rv3UfTYz 46/YV2eNCSH+/1oYigMVJdjZ0b6Zb1c/VEQD/t9pqCTo2ZK1Weo4f1TxOr0Dsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768566684; 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=fJGBYDQHf/l7P/JV0HQaVbXcoFLpbDMWaseAGrc1+UI=; b=crs3yPtl8gI5Yhp1V7VnVOsMG1Af07mKx3BEFIP+w6W6jKl/GtHXivwDZzn3EA4R0N/hDm S2QEDkH/4q60hHF4UfssDq6E31f3plr7RnJuPflh7wmS5oxsSfu2Nes5cVxYC7sTzG7Jz0 bQ3LAsyrra36Oh+Zzr6isWDd5uieMDSqIeAv7G+des7l2BA79GeLGKyclweFtZn5upHbis f6n1Z9D8lW5yZqE3XRhazXKtJCLkWd3+CVppp4P8UonM9eNkX8G8u8MJUli4NBfS73Umpr 7W2q5fZ8+VWMku53FOBIH/cG5JNFjRzzlP4nRQj93TqiL+dSAopPHQVHuXCILQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768566684; a=rsa-sha256; cv=none; b=K634n6VJBFMtkX4FMjedqu7bC/GWFNUeVV5msYvW5zU9mRzaXOpmtkRY1OQpBPd145qWLM Xwk5UtIiYYpV2ek3i+h4Xiu73tAjNIAZpPSZ6RdyPLV0xegTtcPwZFyhG2lCjCPJE/X0Kf /ItVBIUcKRvfdxYqYSMfdWWbqeWVQhLc+GTjQsx0Kt6uVaLvcvkmNr+mUi5BM2GUeoo3r9 mIByVbqHnqr2QiTi8UdjIxb/LexSFRdLGdQyidGC/WaPFw8GjNsc5uzf+xwJKe5BN75O+2 F//R4uncKKi4F9YveSu+QXLR6ert64E980ZkIEgceGjEhnFKV2oVB1o7L5DB1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dszjm2LKTz1Ccw for ; Fri, 16 Jan 2026 12:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bd86 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 12:31:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 77a6992bf532 - main - MINIMAL: Add virtio_scsi List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77a6992bf5329e32b0b77608421dafccb125ad37 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 12:31:24 +0000 Message-Id: <696a2f9c.3bd86.401ba235@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=77a6992bf5329e32b0b77608421dafccb125ad37 commit 77a6992bf5329e32b0b77608421dafccb125ad37 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-12 16:57:45 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-16 12:31:12 +0000 MINIMAL: Add virtio_scsi This allows a MINIMAL kernel to boot in qemu/kvm. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. --- sys/amd64/conf/MINIMAL | 1 + sys/i386/conf/MINIMAL | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL index 9f80fe2f42d5..fec4be6da8f7 100644 --- a/sys/amd64/conf/MINIMAL +++ b/sys/amd64/conf/MINIMAL @@ -134,6 +134,7 @@ device virtio_pci # VirtIO PCI device device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_balloon # VirtIO Memory Balloon device +device virtio_scsi # VirtIO SCSI device # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver diff --git a/sys/i386/conf/MINIMAL b/sys/i386/conf/MINIMAL index 99f3c3057fc2..7bed6d560035 100644 --- a/sys/i386/conf/MINIMAL +++ b/sys/i386/conf/MINIMAL @@ -138,6 +138,7 @@ device virtio_pci # VirtIO PCI device device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_balloon # VirtIO Memory Balloon device +device virtio_scsi # VirtIO SCSI device # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver From nobody Fri Jan 16 12:37:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dszrH0Fjmz6PD6G for ; Fri, 16 Jan 2026 12:37: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dszrG6fMmz43Zq for ; Fri, 16 Jan 2026 12:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768567022; 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=5YCvWZeF60Xa0d0n8vJIBjfHqeZdYa9q8QbkcuWqZ/c=; b=dYRAqL0ziZqou/7vFvf316oY9oUTuhHMgf1R4/XCkK/lZJOwjcKo7D3SE5wkOzvtMI3pch uLqLvQTWJ3HptvmpKfUBoOPLy44mFEjp0socI7cv7Mfy0SOVpPbzlrvU/VRYmxdvij/6QB cPAA5DrnncPkIVOvGSt3l/bIIooQDDmnbCqpPHggmqVEsmv6THl2Eqlv9y1MtOE/EUpsvt 3SA88l0crHck0iC+/sCQXd4lqzw8hrK6bzQxrrokicQFXN4Nuqxiy+BSrLR+qJDQIEP2QQ H5rDuGUNLepX2cvG/Fvg1U+bLAczRpQqI5msvVZga3UcNn9mz4Yxe9rTMLyKzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768567022; 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=5YCvWZeF60Xa0d0n8vJIBjfHqeZdYa9q8QbkcuWqZ/c=; b=ZAIar/FkQXe27x4jGhjZWgLcZ+1X1oCjmEWr3aEJSQdsM77sS+N86NzVKrtveoUlWSF4uS WhzFh8zyz8mXoT7gxEfTLE4kDAQ2ePbtClEI1OBxVU9KO2qwoEg76gib83Slviu7GFNTfI W74WgjsWbP6VrvNuMghzuvvQM0xbr+ojsoLCQ7UQP/SmVcYU18kc/WNmISLPPZ9TokzJHJ /9uI/sbwep55OMbjtbFB5Wp3+f1AMsugt74SOIF4z80KKNTVGAD+BWfh1nqZVhNlFdjbRR pZB7sAXqqUv16UEd+pPjQ2/3063Ylx9CLdIk6dAhxqg45wNIeNm6yAPNUrgnXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768567022; a=rsa-sha256; cv=none; b=OABLz6GWIunQl196NgREDvmvRrEpUUxVfZBjcxAZym9TeT5iYt/V6tPVcXJ0cvGF+lgOiL AUfWWX5SH4jp+5uO8OsongQlB1wvUYu/P+xOrICbUclELKOvViQeWvASHGM3YvmoU/QQOU jMWHfPD2UWqbKhN+9FyyGLeKckSUb/c+4Hs7ctQ6SoNGfAQnwc8Aj/ct534SajLHnVa8s/ geCqYtxr/8ec5nUxYutqIfU8eMjYr3VL91tl4lTPtDt+YJSOz/b+jO+YZwJuywux1W9mnk 1j4BrGL3Ws4Yjx8ZtcGZTW8AHeLMt4IShXYbP9cTqBxLMCy8Hzv19MenKaJ57Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dszrG5xRtzJr for ; Fri, 16 Jan 2026 12:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bab4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 12:37:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: bbd30927b1af - main - bge: disable TXCSUM if UDP transmit checksum offloading is disabled List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbd30927b1af44226c8de0512912a7fedfce2824 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 12:37:02 +0000 Message-Id: <696a30ee.3bab4.e1e45c5@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=bbd30927b1af44226c8de0512912a7fedfce2824 commit bbd30927b1af44226c8de0512912a7fedfce2824 Author: Michael Tuexen AuthorDate: 2026-01-16 12:32:13 +0000 Commit: Michael Tuexen CommitDate: 2026-01-16 12:36:53 +0000 bge: disable TXCSUM if UDP transmit checksum offloading is disabled The bge interface is special with respect to transmit checksumi offloading. In the default settings, an bge interface announces TXCSUM capabilities, but only supports TCP/IPv4 and not UDP/IPv4 due to limitations of some of the NICs. This results in problems when the bge interface becomes a member of a bridge. Since currently only the TXCSUM capabilities are synced when a member is added to a bridge and not the protocol specific capabilities, this can result in a situation where UDP packets are sent out using a bge interface without having a correct checksum. To mitigate this problem, initially don't announce TXCSUM capabilities, when UDP transmit checksum is disabled. It is still possible to enable TXCSUM capabilities via ifconfig. PR: 291420 Reviewed by: Timo Voelker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54486 --- share/man/man4/bge.4 | 10 +++++++++- sys/dev/bge/if_bge.c | 14 +++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/share/man/man4/bge.4 b/share/man/man4/bge.4 index de559c16df3c..fdf46fec0073 100644 --- a/share/man/man4/bge.4 +++ b/share/man/man4/bge.4 @@ -29,7 +29,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 18, 2017 +.Dd January 16, 2026 .Dt BGE 4 .Os .Sh NAME @@ -276,3 +276,11 @@ Also, due to the lack of hotplug support, Thunderbolt-based interfaces must not while the system is up as the kernel is currently unable to cope with a .Nm interface disappearing. +.Pp +The UDP transmit checksum offloading is disabled by default, see +.Va dev.bge.%d.forced_udpcsum . +To avoid problems when the interface is a member of a +.Xr bridge 4 +interface, all transmit checksum offloading is initially disabled in this case. +Transmit checksum offloading can be enabled using +.Xr ifconfig 8 . diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index cf3084f9b768..2feb19bff677 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -3721,7 +3721,12 @@ bge_attach(device_t dev) if_setgetcounterfn(ifp, bge_get_counter); if_setsendqlen(ifp, BGE_TX_RING_CNT - 1); if_setsendqready(ifp); - if_sethwassist(ifp, sc->bge_csum_features); + /* Initially enable checksum offloading either for all of IPv4, TCP/IPv4 + * and UDP/IPv4, or for none. This avoids problems when the interface + * is added to a bridge. + */ + if (sc->bge_csum_features & CSUM_UDP) + if_sethwassist(ifp, sc->bge_csum_features); if_setcapabilities(ifp, IFCAP_HWCSUM | IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU); if ((sc->bge_flags & (BGE_FLAG_TSO | BGE_FLAG_TSO3)) != 0) { @@ -3732,6 +3737,13 @@ bge_attach(device_t dev) if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM, 0); #endif if_setcapenable(ifp, if_getcapabilities(ifp)); + /* + * Disable TXCSUM capability initially, if UDP checksum offloading is + * not enabled. This avoids problems when the interface is added to a + * bridge. + */ + if ((sc->bge_csum_features & CSUM_UDP) == 0) + if_setcapenablebit(ifp, 0, IFCAP_TXCSUM); #ifdef DEVICE_POLLING if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif From nobody Fri Jan 16 14:04:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt1nP2BBMz6NKgZ for ; Fri, 16 Jan 2026 14:04:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt1nN6gH9z3CnR for ; Fri, 16 Jan 2026 14:04:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768572281; 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=3R6EUC+E7TdkYIDFdoZw7MUPdfoOwyu8eQjT5c27IF0=; b=auL0aJkemvNQbO0FhQv2GbcDTkBkZO0wfyBjI1pPZne7MPQO8VK7P3hUCr1jI7VQwGnOhl ccuB7JX8ub3sYkkWsA78JAycb0LgWg6zjxa3uvUCGYzbQBMe+OOpbnkAWJKMNBuM0FQpKb pfIMf/1WYBxc4qwe6KfFO/JEtyZAnff7i4GS6N30P3JZvp7AADzTL2o7Cwyt4K3Uv73hDt 3RqyW+bdDJBHlR+oEVzsBzNgGvjsk96Jlru2J95IdjOA/CrSXliS1AxNrjQigO3cSoRwbc vrDppw9b7Ma4IHXTRQd1KMF5Cpw0hwyxTrTed8+2OelIXwMJ+hsOumF4o/vm/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768572281; 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=3R6EUC+E7TdkYIDFdoZw7MUPdfoOwyu8eQjT5c27IF0=; b=nqUiig5ZWz4XAYY+wCZSfiKU/JokEtoW8epSEQQjEFGMNmRCxGyY7IHlmBtg2mdFppzTls XTthVDWs8Q3BGM+xIY3LCOx7IhnzDvF54oBHKjMVAtW266ttgx6HIRC2gb598S4qzC1CCV 1j4L4AYlEPngBRPhmfetrHFpEDg9wFfH0Eosvup6kbIBzdBAg2279MQJ0dNggh4LXJqaIQ WsQZODVaxrJtRYezZO8zoDdg59zR1QP8VIwZ5CdiqcfqsFX/H8eODJyNu7hGlmLA1XfRr9 sp6okU5Cbq6RnulR8o38S0g+yozCfwlXHgikN7rM0eCREsasHlclmsE5CYyqMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768572281; a=rsa-sha256; cv=none; b=clVBjf6gloYaSDeo3Yl7BwvT/KUaC/SEdSN4wnF0NdhQF1oC+1mn8zWxebuM8QazBy/jzx Fp8ctGiMXZb/k4InuYQ4zsMo7KhnCHnicQ43Mk859HrhNKv49PECPGUk51ejQEUREILZHZ 1Wh5RapAvmHIFbIHCbhg9oYShWvAiSdhdYfZw/fLIWcJ7OqdrEZpyMW88cG3T1xWvNR+8r TEmvk6b2TXF2x2KfKZTJPCNmEvJyEpHLOEhUDQhTEpcnvQXAH2dJXC+aFf3R8tV/+22LqP Jxq1t0Vce29uMs43YIOWFHokL5NSaAUk4zT579LsbXy7cphHnMz/VZQTDrLIAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt1nN5jGxz1SB for ; Fri, 16 Jan 2026 14:04:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a964 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 14:04:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: b39662fc3886 - main - vchiq: fix build with clang 21 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b39662fc388678db2b7b5fa3c900205252d15b3b Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 14:04:40 +0000 Message-Id: <696a4578.a964.6d78ea54@gitrepo.freebsd.org> The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b39662fc388678db2b7b5fa3c900205252d15b3b commit b39662fc388678db2b7b5fa3c900205252d15b3b Author: Dimitry Andric AuthorDate: 2026-01-16 14:02:25 +0000 Commit: Dimitry Andric CommitDate: 2026-01-16 14:02:35 +0000 vchiq: fix build with clang 21 When compiling vchiq with clang 21, the following -Werror warning is produced: sys/contrib/vchiq/interface/vchiq_arm/vchiq_arm.c:728:27: error: default initialization of an object of type 'VCHIQ_QUEUE_MESSAGE32_T' with const member leaves the object uninitialized [-Werror,-Wdefault-const-init-field-unsafe] 728 | VCHIQ_QUEUE_MESSAGE32_T args32; | ^ sys/contrib/vchiq/interface/vchiq_arm/vchiq_ioctl.h:151:40: note: member 'elements' declared 'const' here 151 | const /*VCHIQ_ELEMENT_T * */ uint32_t elements; | ^ While the warning is formally correct, the 'args32' object is immediately initialized after its declaration. Therefore, suppress the warning. MFC after: 3 days --- sys/arm/broadcom/bcm2835/files.bcm283x | 2 +- sys/conf/files.arm64 | 2 +- sys/conf/kern.mk | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/arm/broadcom/bcm2835/files.bcm283x b/sys/arm/broadcom/bcm2835/files.bcm283x index 44976f34d35a..cda5a28d3b76 100644 --- a/sys/arm/broadcom/bcm2835/files.bcm283x +++ b/sys/arm/broadcom/bcm2835/files.bcm283x @@ -32,7 +32,7 @@ contrib/vchiq/interface/compat/vchi_bsd.c optional vchiq \ contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c optional vchiq \ compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" contrib/vchiq/interface/vchiq_arm/vchiq_arm.c optional vchiq \ - compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" + compile-with "${NORMAL_C} -Wno-unused ${NO_WDEFAULT_CONST_INIT_FIELD_UNSAFE} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" contrib/vchiq/interface/vchiq_arm/vchiq_connected.c optional vchiq \ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" contrib/vchiq/interface/vchiq_arm/vchiq_core.c optional vchiq \ diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index ee1108eca0d4..2efdb21f66ad 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -629,7 +629,7 @@ contrib/vchiq/interface/compat/vchi_bsd.c optional vchiq soc_brcm_bcm2837 fdt \ contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c optional vchiq soc_brcm_bcm2837 fdt \ compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" contrib/vchiq/interface/vchiq_arm/vchiq_arm.c optional vchiq soc_brcm_bcm2837 fdt \ - compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" + compile-with "${NORMAL_C} -Wno-unused ${NO_WDEFAULT_CONST_INIT_FIELD_UNSAFE} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" contrib/vchiq/interface/vchiq_arm/vchiq_connected.c optional vchiq soc_brcm_bcm2837 fdt \ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq" contrib/vchiq/interface/vchiq_arm/vchiq_core.c optional vchiq soc_brcm_bcm2837 fdt \ diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 4e18a1300791..e86ffb684f9a 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -37,6 +37,9 @@ NO_WBITWISE_INSTEAD_OF_LOGICAL= -Wno-bitwise-instead-of-logical NO_WSTRICT_PROTOTYPES= -Wno-strict-prototypes NO_WDEPRECATED_NON_PROTOTYPE= -Wno-deprecated-non-prototype .endif +.if ${COMPILER_VERSION} >= 210000 +NO_WDEFAULT_CONST_INIT_FIELD_UNSAFE= -Wno-default-const-init-field-unsafe +.endif # Several other warnings which might be useful in some cases, but not severe # enough to error out the whole kernel build. Display them anyway, so there is # some incentive to fix them eventually. From nobody Fri Jan 16 14:39:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt2Y924Rzz6NMyd for ; Fri, 16 Jan 2026 14:39: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt2Y90DvLz3JTr for ; Fri, 16 Jan 2026 14:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768574349; 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=w60F6CHrV+PaWZS4ACG7391kFPslRPwHFGBZkAhVttg=; b=iAHIRB7/eUuheFRyOIOr5SSY8wiNvH8Dj+NKqWvoewnGHey9yTEqVGq8sCsFwhYfgcFXSs jgwQbiles7d7hP6PHzNAmeGiRH7U9A9aUMgt52ZtdGbwCTSgF41dmFs6EZyLOAfaqcGojH sxSnGJodTKwnBqG9cYqOt/BpNKy20DSzAG8zwM40LY+XePdR+u0ZjD8n1YW+sj7ktTtLpU TXC3WwyJeeFckDV1OZOvU8q+iZNhDEyl81exyWrqGPIADLkPQv8lGrvOOpxFZMpKcQy7eA xVmi+Tflqhc85PCxRlBP2ix+Sh5ZiF8h0OoB9/Ka+rkifjF0xHqKnkOv1C140Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768574349; 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=w60F6CHrV+PaWZS4ACG7391kFPslRPwHFGBZkAhVttg=; b=uL4qPEXlnpDVhD5fyNn9xqeMt4efJtlFgQp445w0mDr01BqQ2mEt/gd4B/t5zMftqj5omL 7Eg2ruFpKpN6KF7cBEhZ5SdxpXXSLNPnayS/trApOXygNK0AYj935fcGXaLGjQMd3a8nTC 1UKgZDALs6ZrUVOmPUpPnz9HgC4lji6rZBhaB8j3OkuFRtlZskw4I9o+IK2pdtsB+h2pYj 7Muz90OuxVeE3n4AWpR5g4bspF+0CJu2AD1eWGsIJLQHvZSoc53Ieln0IJEpzr2ghbdwmu l4+uxA5OJlrKxKkNwuoZAXDmwTCpR6WQBo1pzboXtdOkoFaDpqQ6GkjWmMu0bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768574349; a=rsa-sha256; cv=none; b=YNyN7Pqg6KYb+U39x4sPtTjUkbD96l+yMM3THOTSiAiiu4Vjfvcw53EkP6dCXT9jjEiDWv JFcOuLpCXzl3qMwuQwOIScw2MV5hPnUSyjPZzAjEObA3QIjSEWGgMQSnnZbxKXF8Xqr7VL P1lj5+mzc97ljj+J9wrLzGqIwWVfpOdrSlyjOWTSLR18U2gSOFOrvfI6zQbO+KhP3uBCI/ eIs7+OWQMKuSXVwt7/cr1PP4nnE5atIM0Zvp0Ae0B+FlD8Eo0TmTMnAtB+gpH8h4CTpJhT QmOEh6zdbCDILpGEJohyCZVcUgCoDH8c4DGH9Pq7VOzuRJEUZWNohuoPpy5iBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt2Y86fqBz38h for ; Fri, 16 Jan 2026 14:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f3c2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 14:39:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: ShengYi Hung Subject: git: 5b61ef94d65a - main - smp: add smp_rendezvous_cpu helper function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b61ef94d65a3ddace0082ad31c5d74f62293af6 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 14:39:08 +0000 Message-Id: <696a4d8c.f3c2.377afb1e@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=5b61ef94d65a3ddace0082ad31c5d74f62293af6 commit 5b61ef94d65a3ddace0082ad31c5d74f62293af6 Author: ShengYi Hung AuthorDate: 2026-01-05 16:33:04 +0000 Commit: ShengYi Hung CommitDate: 2026-01-16 14:38:12 +0000 smp: add smp_rendezvous_cpu helper function Reviewed by: olce Approved by: markj (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D54551 --- sys/kern/subr_smp.c | 13 +++++++++++++ sys/sys/smp.h | 8 +++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 9f5106316018..353a69435971 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -624,6 +624,19 @@ smp_rendezvous_cpus(cpuset_t map, mtx_unlock_spin(&smp_ipi_mtx); } +void +smp_rendezvous_cpu(u_int cpuid, + void (* setup_func)(void *), + void (* action_func)(void *), + void (* teardown_func)(void *), + void *arg) +{ + cpuset_t set; + + CPU_SETOF(cpuid, &set); + smp_rendezvous_cpus(set, setup_func, action_func, teardown_func, arg); +} + void smp_rendezvous(void (* setup_func)(void *), void (* action_func)(void *), diff --git a/sys/sys/smp.h b/sys/sys/smp.h index b642a6014f33..fdb69b13c0d4 100644 --- a/sys/sys/smp.h +++ b/sys/sys/smp.h @@ -16,6 +16,7 @@ #ifndef LOCORE +#include #include #include @@ -278,7 +279,12 @@ void smp_rendezvous(void (*)(void *), void (*)(void *), void *arg); void smp_rendezvous_cpus(cpuset_t, - void (*)(void *), + void (*)(void *), + void (*)(void *), + void (*)(void *), + void *arg); +void smp_rendezvous_cpu(u_int, + void (*)(void *), void (*)(void *), void (*)(void *), void *arg); From nobody Fri Jan 16 14:39:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt2YB35Dkz6NMcd for ; Fri, 16 Jan 2026 14:39: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt2YB0q3Pz3JXK for ; Fri, 16 Jan 2026 14:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768574350; 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=pLZzizQr0xVjcmuPrwNWSvtFWuBkfRdvhmKOT5EciXo=; b=Y6fwxwQOWmpax0JbiejQn2Jzeec8oWH80vO/bnGl82DTrG7UbsVLQKYncWzNXrVYjN7/Kn mHKvBYqDa96Tw3j8t+1BrelKprOG3WzdMd4VHcpsNJem44bQuR3QJh8e3gH+R6zZ2ze3G8 MOyCr+Ew24tw64UwoUqkhFANAIws8hSioE9Bx2oz1rjn46QHegrsmIuCMudinlSj64Kprj B0iVTqYpOu8qDYA8md1WkrOZtvhdfRTiZon82BtujJ+6Rz5o6/dqtxVFXhqe4fffSl/Z3G 5dJQ5xr3VaSMT8Ps0VCryi8w9v8826GwyMZR2iTBYT0VdMbJQCZzDxiEqwL/YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768574350; 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=pLZzizQr0xVjcmuPrwNWSvtFWuBkfRdvhmKOT5EciXo=; b=LtNAnJ4bdt6+b1YY93G8n7Pyyhxq0Zs9gaVwf14som+k1XqAy5DEHVGphiUvCRZIV2AVTR AcHVGSBI/hXjHjS+1xOzT4uAYMwaOKaHMUK531pWh27Fo1BZmUTb7BXs86KrtA1/hQA/pY VK7RCPDMGjlqELeuBsn9aZZhOMghi5mmIgX6/Cnm1tI+dVNWGfwrwcoFFzUPjVnfJSZVsx 7N5jHBuXLNq+ke9YQ60mAPMXXTp933Zkh81GNpx9Z7TTIXuC4Gb+oNziEDsDwHvasJkb4v iCmczI4I7DiPKCowK8uAxofmuh1BUZ6NdTwpzELL+8JwPECrMJm5P4ePVEzerQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768574350; a=rsa-sha256; cv=none; b=HVOIlR/ycjGyFzQdlJ5jpJSUsqKcVpQRY/n8bbY45Z4GjC33bZY5uozk4X7SWnLNo5iEWp 8r8M0VuN64sqOiWIgoC6jNRlLbznmGiGdvBkuiN3/u2DNLT2vF4o+4uUaQ3sGG5Jpb01O/ gAWVQZJPWOI4zDXrDeYi0Y2c+fdJQNBscS5wd4VOWsvnhRxqEO6m9Nd1UXBOMiwNdZUCi/ 6ecCDE3hINnx6sVbvg+ehUsrkpn0au1o+TuIcNJZvclSgQUMz4BqO5uVl765KufdqkovEE varj6rqHjdKT42V94GCBXFBKLQA9zhhiHo+SoyQ/k4Wup0IaZUdHoxttTqyO3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt2YB0JQpz2kS for ; Fri, 16 Jan 2026 14:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d0f2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 14:39:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: ShengYi Hung Subject: git: 87c4d6555b41 - main - hwpstate_amd: Use ipi instead of sched_bind + thread_lock List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87c4d6555b41a509ff1eeb24e2fa90f3f59483a7 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 14:39:10 +0000 Message-Id: <696a4d8e.d0f2.571985ff@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=87c4d6555b41a509ff1eeb24e2fa90f3f59483a7 commit 87c4d6555b41a509ff1eeb24e2fa90f3f59483a7 Author: ShengYi Hung AuthorDate: 2026-01-04 15:10:59 +0000 Commit: ShengYi Hung CommitDate: 2026-01-16 14:38:15 +0000 hwpstate_amd: Use ipi instead of sched_bind + thread_lock Reviewed by: olce Approved by: markj (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D54505 --- sys/x86/cpufreq/hwpstate_amd.c | 146 ++++++++++++++++++++++------------------- 1 file changed, 79 insertions(+), 67 deletions(-) diff --git a/sys/x86/cpufreq/hwpstate_amd.c b/sys/x86/cpufreq/hwpstate_amd.c index ce0e0f6dd47a..5676d8ce7dae 100644 --- a/sys/x86/cpufreq/hwpstate_amd.c +++ b/sys/x86/cpufreq/hwpstate_amd.c @@ -198,6 +198,26 @@ static device_method_t hwpstate_methods[] = { {0, 0} }; +struct amdhwp_dump_sysctl_handler_request { + uint64_t enable; + uint64_t caps; + uint64_t req; + int res; +}; + +static void +amdhwp_dump_sysctl_handler_cb(void *args) +{ + struct amdhwp_dump_sysctl_handler_request *req = + (struct amdhwp_dump_sysctl_handler_request *)args; + + req->res = rdmsr_safe(MSR_AMD_CPPC_ENABLE, &req->enable); + if (req->res == 0) + req->res = rdmsr_safe(MSR_AMD_CPPC_CAPS_1, &req->caps); + if (req->res == 0) + req->res = rdmsr_safe(MSR_AMD_CPPC_REQUEST, &req->req); +} + static int amdhwp_dump_sysctl_handler(SYSCTL_HANDLER_ARGS) { @@ -205,6 +225,7 @@ amdhwp_dump_sysctl_handler(SYSCTL_HANDLER_ARGS) struct pcpu *pc; struct sbuf *sb; struct hwpstate_softc *sc; + struct amdhwp_dump_sysctl_handler_request request; uint64_t data; int ret; @@ -217,20 +238,19 @@ amdhwp_dump_sysctl_handler(SYSCTL_HANDLER_ARGS) sb = sbuf_new(NULL, NULL, 1024, SBUF_FIXEDLEN | SBUF_INCLUDENUL); sbuf_putc(sb, '\n'); - thread_lock(curthread); - sched_bind(curthread, pc->pc_cpuid); - thread_unlock(curthread); + smp_rendezvous_cpu(pc->pc_cpuid, smp_no_rendezvous_barrier, + amdhwp_dump_sysctl_handler_cb, smp_no_rendezvous_barrier, &request); + ret = request.res; + if (ret) + goto out; - rdmsr_safe(MSR_AMD_CPPC_ENABLE, &data); + data = request.enable; sbuf_printf(sb, "CPU%d: HWP %sabled\n", pc->pc_cpuid, ((data & 1) ? "En" : "Dis")); - - if (data == 0) { - ret = 0; + if (data == 0) goto out; - } - rdmsr_safe(MSR_AMD_CPPC_CAPS_1, &data); + data = request.caps; sbuf_printf(sb, "\tHighest Performance: %03ju\n", BITS_VALUE(AMD_CPPC_CAPS_1_HIGH_PERF_BITS, data)); sbuf_printf(sb, "\tGuaranteed Performance: %03ju\n", @@ -241,8 +261,7 @@ amdhwp_dump_sysctl_handler(SYSCTL_HANDLER_ARGS) BITS_VALUE(AMD_CPPC_CAPS_1_LOW_PERF_BITS, data)); sbuf_putc(sb, '\n'); - rdmsr_safe(MSR_AMD_CPPC_REQUEST, &data); - + data = request.req; #define pkg_print(name, offset) \ do { \ sbuf_printf(sb, "\t%s: %03u\n", name, \ @@ -258,11 +277,8 @@ amdhwp_dump_sysctl_handler(SYSCTL_HANDLER_ARGS) sbuf_putc(sb, '\n'); out: - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); - - ret = sbuf_finish(sb); + if (ret == 0) + ret = sbuf_finish(sb); if (ret == 0) ret = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb)); sbuf_delete(sb); @@ -270,44 +286,29 @@ out: return (ret); } -static bool -sysctl_epp_select_per_core(const device_t hwp_device, uint32_t val) +static void +sysctl_epp_select_per_core(device_t hwp_device, uint32_t val) { struct hwpstate_softc *sc; - bool success = true; - int ret, cpuid; - cpuid = cpu_get_pcpu(hwp_device)->pc_cpuid; - thread_lock(curthread); - sched_bind(curthread, cpuid); - thread_unlock(curthread); sc = device_get_softc(hwp_device); if (BITS_VALUE(AMD_CPPC_REQUEST_ENERGY_PERF_BITS, sc->req) == val) - goto end; + return; SET_BITS_VALUE(sc->req, AMD_CPPC_REQUEST_ENERGY_PERF_BITS, val); - ret = wrmsr_safe(MSR_AMD_CPPC_REQUEST, sc->req); - if (ret != 0) { - success = false; - device_printf(hwp_device, "Failed to set EPP to %u", val); - goto end; - } - -end: - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); - - return (success); + x86_msr_op(MSR_AMD_CPPC_REQUEST, + MSR_OP_RENDEZVOUS_ONE | MSR_OP_WRITE | + MSR_OP_CPUID(cpu_get_pcpu(hwp_device)->pc_cpuid), + sc->req, NULL); } static int sysctl_epp_select(SYSCTL_HANDLER_ARGS) { device_t dev, hwp_dev; + devclass_t dc; struct hwpstate_softc *sc; const uint32_t max_energy_perf = BITS_VALUE(AMD_CPPC_REQUEST_ENERGY_PERF_BITS, (uint64_t)-1); - devclass_t dc; uint32_t val; int ret = 0; int cpu; @@ -577,44 +578,45 @@ hwpstate_identify(driver_t *driver, device_t parent) device_printf(parent, "hwpstate: add child failed\n"); } -static int -amd_set_autonomous_hwp(struct hwpstate_softc *sc) +struct amd_set_autonomous_hwp_request { + device_t dev; + int res; +}; + +static void +amd_set_autonomous_hwp_cb(void *args) { - struct pcpu *pc; + struct hwpstate_softc *sc; + struct amd_set_autonomous_hwp_request *req = + (struct amd_set_autonomous_hwp_request *)args; device_t dev; uint64_t caps; int ret; - dev = sc->dev; - pc = cpu_get_pcpu(dev); - if (pc == NULL) - return (ENXIO); - - thread_lock(curthread); - sched_bind(curthread, pc->pc_cpuid); - thread_unlock(curthread); - + dev = req->dev; + sc = device_get_softc(dev); ret = wrmsr_safe(MSR_AMD_CPPC_ENABLE, 1); if (ret != 0) { device_printf(dev, "Failed to enable cppc for cpu%d (%d)\n", - pc->pc_cpuid, ret); - goto out; + curcpu, ret); + req->res = ret; } ret = rdmsr_safe(MSR_AMD_CPPC_REQUEST, &sc->req); if (ret != 0) { device_printf(dev, - "Failed to read CPPC request MSR for cpu%d (%d)\n", - pc->pc_cpuid, ret); - goto out; + "Failed to read CPPC request MSR for cpu%d (%d)\n", curcpu, + ret); + req->res = ret; } ret = rdmsr_safe(MSR_AMD_CPPC_CAPS_1, &caps); if (ret != 0) { device_printf(dev, "Failed to read HWP capabilities MSR for cpu%d (%d)\n", - pc->pc_cpuid, ret); - goto out; + curcpu, ret); + req->res = ret; + return; } /* @@ -632,17 +634,27 @@ amd_set_autonomous_hwp(struct hwpstate_softc *sc) ret = wrmsr_safe(MSR_AMD_CPPC_REQUEST, sc->req); if (ret) { - device_printf(dev, - "Failed to setup autonomous HWP for cpu%d\n", - pc->pc_cpuid); - goto out; + device_printf(dev, "Failed to setup autonomous HWP for cpu%d\n", + curcpu); + req->res = ret; + return; } -out: - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); + req->res = 0; +} - return (ret); +static int +amd_set_autonomous_hwp(struct hwpstate_softc *sc) +{ + struct amd_set_autonomous_hwp_request req; + device_t dev; + + dev = sc->dev; + req.dev = dev; + smp_rendezvous_cpu(cpu_get_pcpu(dev)->pc_cpuid, + smp_no_rendezvous_barrier, amd_set_autonomous_hwp_cb, + smp_no_rendezvous_barrier, &req); + + return (req.res); } static int From nobody Fri Jan 16 15:02:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt33v1gplz6NPWG for ; Fri, 16 Jan 2026 15:02: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt33v0q3dz3Lpl for ; Fri, 16 Jan 2026 15:02:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768575739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fxiPTyE8uHhpfGMT+B7U016QqpBMViwsqGRJ0TVYAE0=; b=yGjbBADGKK7a5c03/p3GLoO1hYbGziwnMxkkxZw5ZnkbuqyBkSJeUrXZxsxiuf0S78/oNN s0zezLYjYTwY/x7rGY7MTsv/pHtc6x0+MFBCGEljpvbnDfSJ8t30ZgDiBJWLUauQ/HW+qP hAhLxsGISXo15RR2DETdzobCfOGW6Xz8hBQfGGQaoDe6RXs3IOSyQjoR0IT+Wo+1F50JTP D0MA+mMkpHJxxv6o+Bc38lFCojALTP0xWBahOVfUfbwSJKnjJJ2NGx6AyQ/vqgJ9LRvuhB /kXL2828xGdtGyBbyKAjJNkIB3ZyaO50/j/sLjtKBG8Ibmbgo8ziIJWG2mO5gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768575739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fxiPTyE8uHhpfGMT+B7U016QqpBMViwsqGRJ0TVYAE0=; b=qfzu/3JpbyTGOv6Rism1ATMaNc/ibwh+pqVlQdhksfS+2hAWcYJ+pbZXu9bJZs/r6p1QFu GwCHm/JFYfy092cHjJBO1Gq/r62eM5Apiv2QlZVCSGCQbkVOb5OH2OSalUYJ+OBYk2JtC0 XMRtu0MtoZ7IYT8VHYGltPXP1NkB7v9WTPmbsJpnD7NMztXByWaykgEiZqRQCS5Zd4wE3g Fe3GN5iIbpGjzkhV/RXtG7gcvDy/OoVxUrIlC0wtH3ifvBIhuccqVhm/H0yFbopxE5rgS7 npNl0HQEJH9JbQf2hXB+eEbfB8ar93QWYdqm19S6gvstLeUxbPtVkmml5n8Gog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768575739; a=rsa-sha256; cv=none; b=EZFl2DiXZlGMw5fHWWc3Wqr+/LwSlfHQzAe92Su0hs1Jcg6CnUnfXtW4rBdbP6aPsIU3hY kL/7tQsfK3cYqsDA3qzLwDOpzDSWqIRyWr550RaorioEXp660H3cHGlQ851/FOFajUJxCx UW5NVRix949vakYL2ccq96sf40KVjwQOul59gbouFK4GFo321dch7ALWpLGh8YuP7CrwMf IPxwlhXLI23yQ5beqoovL/asQCS10WoLVuDSrVXFMIFeryAT1FIbwZTzAslOjUfNR9F/lv aVfnDBM4bf3bbgwK7kvPVb7YDCLfNXugmgIuRHoVoJ5JeBGbxU4kn3owc8y7lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt33v0K4gz42C for ; Fri, 16 Jan 2026 15:02:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22a15 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 15:02:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Hans Rosenfeld From: Joseph Mingrone Subject: git: e2d7bec6bc5a - main - bhyve: Want walk_config_nodes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2d7bec6bc5a124091859ad134bc9cfc2a8b4688 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 15:02:19 +0000 Message-Id: <696a52fb.22a15.1c168b7b@gitrepo.freebsd.org> The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=e2d7bec6bc5a124091859ad134bc9cfc2a8b4688 commit e2d7bec6bc5a124091859ad134bc9cfc2a8b4688 Author: Hans Rosenfeld AuthorDate: 2026-01-16 14:43:44 +0000 Commit: Joseph Mingrone CommitDate: 2026-01-16 14:48:34 +0000 bhyve: Want walk_config_nodes Add a function to all nodes under a config option node. This allows parsing an arbitrary number of similarly structured configuration options in a config option group. Reviewed by: corvink, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51551 --- usr.sbin/bhyve/config.c | 49 +++++++++++++++++++++++++++++++++---------------- usr.sbin/bhyve/config.h | 9 +++++++++ 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/usr.sbin/bhyve/config.c b/usr.sbin/bhyve/config.c index cc9311624e5e..9f7e3061979a 100644 --- a/usr.sbin/bhyve/config.c +++ b/usr.sbin/bhyve/config.c @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2021 John H. Baldwin + * Copyright 2026 Hans Rosenfeld * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -434,31 +435,47 @@ set_config_bool_node(nvlist_t *parent, const char *name, bool value) set_config_value_node(parent, name, value ? "true" : "false"); } -static void -dump_tree(const char *prefix, const nvlist_t *nvl) +int +walk_config_nodes(const char *prefix, const nvlist_t *parent, void *arg, + int (*cb)(const char *, const nvlist_t *, const char *, int, void *)) { + void *cookie = NULL; const char *name; - void *cookie; int type; - cookie = NULL; - while ((name = nvlist_next(nvl, &type, &cookie)) != NULL) { - if (type == NV_TYPE_NVLIST) { - char *new_prefix; + while ((name = nvlist_next(parent, &type, &cookie)) != NULL) { + int ret; - asprintf(&new_prefix, "%s%s.", prefix, name); - dump_tree(new_prefix, nvlist_get_nvlist(nvl, name)); - free(new_prefix); - } else { - assert(type == NV_TYPE_STRING); - printf("%s%s=%s\n", prefix, name, - nvlist_get_string(nvl, name)); - } + ret = cb(prefix, parent, name, type, arg); + if (ret != 0) + return (ret); + } + + return (0); +} + +static int +dump_node_cb(const char *prefix, const nvlist_t *parent, const char *name, + int type, void *arg) +{ + if (type == NV_TYPE_NVLIST) { + char *new_prefix; + int ret; + + asprintf(&new_prefix, "%s%s.", prefix, name); + ret = walk_config_nodes(new_prefix, + nvlist_get_nvlist(parent, name), arg, dump_node_cb); + free(new_prefix); + return (ret); } + + assert(type == NV_TYPE_STRING); + printf("%s%s=%s\n", prefix, name, nvlist_get_string(parent, name)); + return (0); } void dump_config(void) { - dump_tree("", config_root); + (void)walk_config_nodes("", config_root, NULL, dump_node_cb); } diff --git a/usr.sbin/bhyve/config.h b/usr.sbin/bhyve/config.h index 35882e65ace7..acdd621af5ee 100644 --- a/usr.sbin/bhyve/config.h +++ b/usr.sbin/bhyve/config.h @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2021 John H. Baldwin + * Copyright 2026 Hans Rosenfeld * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -45,6 +46,14 @@ * OIDs. */ +/* + * Walk the nodes under a parent nvlist. For each node found, call the given + * callback function passing the current prefix, nvlist, node name and type, + * and the given argument. + */ +int walk_config_nodes(const char *, const nvlist_t *, void *, + int (*cb)(const char *, const nvlist_t *, const char *, int, void *)); + /* * Fetches the value of a configuration variable. If the "raw" value * contains references to other configuration variables, this function From nobody Fri Jan 16 15:59:22 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt4Kl0sjzz6NS1N for ; Fri, 16 Jan 2026 15:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt4Kk3svFz3VtM for ; Fri, 16 Jan 2026 15:59:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768579162; 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=OT5RK+zpsPKpqueN8DVJH3SnW1YZRdP8ghi+y9RvBmY=; b=JwXyzly2N9JTx9MqF3ynTNkAFErI34ikntdM+MqeQXmAAQanyZ1XfesitjaPwgFyjI3u0Y MPT6+FnXX6yoqwEFqlxw15onUGxwAOSP8rUG0LMTtu03YoLJdm64RVNwQxlTqXktlCgSBD /cl7scukFMQnsHHPQdBp8QZkArewGunQdLPsrxguMFrsNvX+DTxwJMbE0aHeWFVcOoT9oA agOLLa5DRaX6SO8ovEN0YOzko9JkK8NRCmACs6BAtKTyYgJy5W4yLAJPPajj3Dzzo4fCzd FY7FlzrrUSf2EGTZ1//gUgGhXoLBY215Y+wSoHOaHDvc+covhsvyl21gXvnqKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768579162; 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=OT5RK+zpsPKpqueN8DVJH3SnW1YZRdP8ghi+y9RvBmY=; b=skdfjdFb10e6YANZ4cpTKrWKmKV0U1oYPPDxVPEgoicCSUO3HPEL6rXZ1XarugGS+3ptIj loyaS/+56y1Dyhl/dI8+RoYb7gS6+ga2pvJtIQbSOGrS56d3PDKM/frF046fxxGt65FFvF UR2cnznBleKyt7dIGrzDESUka4AX4g60H/gwjJXkk8AxROCt9jnB16Y1kh/XXCxGh6zcB0 zRjH4oI9Fl+FpTPxWoi10n0ruXH2/sZm0kT9nVyk00x9toVGqyx9cDPS9OGHjadXxX43+t uihlLPfjokEc3a2M+fpoKgruvojguIOC2EQaeMsCbE/SzkAzQY25WfFei1o9Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768579162; a=rsa-sha256; cv=none; b=jzsA8Aor1tvHJYhV+IpAO56Za2Hanw5XUOyNpL5IooB1xintyiyRuTnjRk4l154IdA4Toc 0uuru3+9MW5PYQhtie3B0OFoaX68QAeJWJhV+pd38ixwpsG+cW2ZEkt2K2yL+2P/csCmKd 6hU7QNKYrHrzszXfo+aLbVlnaNy6ALjzTF6biwbcv9zGIby36IYMa0qztfD2Ioskz3OXgz G3nmh+Lzta2Y2CZtxMtwJANxvB7Kn4aaVOtLsCOd899e9Sm0QpsyOhQ2fgMGkKUBtmW7bN tsEVOdq5paSzIJKjI12FAaHu9zm59sCVFH9BNobY8pZqLlkxK3EGWnDvxEV12g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt4Kk2rVdz4hN for ; Fri, 16 Jan 2026 15:59:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2643f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 15:59:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: bda6ed2ee4d8 - main - exterr: Sort output from make_libc_exterr_cat_filenames.sh List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bda6ed2ee4d8e836b1b2f8ca7a6ed72034e5f231 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 15:59:22 +0000 Message-Id: <696a605a.2643f.28fbd668@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=bda6ed2ee4d8e836b1b2f8ca7a6ed72034e5f231 commit bda6ed2ee4d8e836b1b2f8ca7a6ed72034e5f231 Author: Mark Johnston AuthorDate: 2026-01-16 15:56:09 +0000 Commit: Mark Johnston CommitDate: 2026-01-16 15:56:33 +0000 exterr: Sort output from make_libc_exterr_cat_filenames.sh Otherwise the script may permute the order of entries in the file since find(1) output is not stable. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54669 --- tools/build/make_libc_exterr_cat_filenames.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build/make_libc_exterr_cat_filenames.sh b/tools/build/make_libc_exterr_cat_filenames.sh index fbde85891200..d05e95269e5f 100755 --- a/tools/build/make_libc_exterr_cat_filenames.sh +++ b/tools/build/make_libc_exterr_cat_filenames.sh @@ -14,7 +14,7 @@ printf " * Automatically %sgenerated, use\\n" \@ >>"${target}" echo " * tools/build/make_libc_exterr_cat_filenames.sh" >>"${target}" echo " */" >>"${target}" -(find sys -type f -name '*.c' | \ +(find -s sys -type f -name '*.c' | \ xargs grep -E '^#define[[:space:]]+EXTERR_CATEGORY[[:space:]]+EXTERR_CAT_' | \ sed -E 's/[[:space:]]+/:/g' | \ awk -F ':' '{filename = $1; sub(/^sys\//, "", filename); From nobody Fri Jan 16 15:59:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt4Kl5yjVz6NT9t for ; Fri, 16 Jan 2026 15:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt4Kl3NXmz3VnN for ; Fri, 16 Jan 2026 15:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768579163; 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=3Qz73z0+axdalkMRlRjG8Ni76JG5dTS4yqgDQeBQKaI=; b=a4LXf8apLeIu1luXsYvgLGyF72hKvIh2mFi6LFz2NoqgLFUO8ymBEmXSLgONnTN7McisgC wpYYX5SYet8EiQF5nRw7BuOGdBtlSaUG6h7YsY6agZd31LcMRgWAxbz4dxIpuRPh07AKeT F1Fi9fg54LvoJO5BlXUR0PbQyf2fpxMphAjfUBomWZ+H6wCYxufvPRByl+9IALXKyn9TpY FH7kCup//NKWhLCKVStkg9G7U5j+QPTWu/wjF6RPFGUlyTnPIv7sXzH22u7epXq6pB6Z7j V8lgBVfQIdMUxxc6SW/AC+kEeDpgFs41eoXwgEvQM4ZsujfsEeAqL9Lci0r6vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768579163; 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=3Qz73z0+axdalkMRlRjG8Ni76JG5dTS4yqgDQeBQKaI=; b=nvciorF+/DOTGp6+5pbOts6ZC1Pbku71I67RPfIBzIHevIdOD+vQSnaVoKq+uJPiy3qydV 7uJIJCoiXbMqgqqZbLXOsyVCvMywhbRTv13xGyCpk2zJrPb272gRKKjXf0N4IuOxxjBDK5 uH5GIkVhTwCN7AlvfFkwt0bv/mLraceQ5/1ig69MLfvx9iagwsWfTqo7bGuClgI8oY6cNw PawZA1cPPOdHUHtwWnkaficinynYsHQJ5yFaHyqpAns+JmlNLrWsXtl8DstzeIu77UqvU/ WEx4xXos/MVghr73rC5exV0cieBCw2R9iUqtqm+bgXbW+No6FxTNo5kfUH97Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768579163; a=rsa-sha256; cv=none; b=Kmm+SE5hf9UXYegsnfoJ9ZY+YBZw7aJlNHO9UHyzjZcuKPeQyHg6bYWmgQb0DlhDenzFcJ n3VSTT8F70ECRQvwW6hImgHBCcFZzKM/01Y8vgF4JhTF5uR1qPJIK/TtAYHUxAmoOoDq81 UDAvkFRThc1xUnDB6dhT+yzbFCfV5H6/oxEHso8f8NqxK8J682BjW/CSVMaa2QJFsSUCmI OpG24Zlfw3/yJlazGN6pz1q95Xc1U48PSBaL96yk4Z8s8CK2PgUGoMZUMMo3eBp6C1Pd1E YQ2NJG1g5aZ4zInOZIwdE6ywvUr4z0w7+VZH7apjQaM46fAwKr0p7ES2P1Bm+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]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt4Kl2jSLz50h for ; Fri, 16 Jan 2026 15:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2712d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 15:59:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c527f58bb10b - main - exterr: Regenerate exterr_cat_filenames.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c527f58bb10b73a0e185f01b927f27bd21031709 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 15:59:23 +0000 Message-Id: <696a605b.2712d.4f2f8d80@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c527f58bb10b73a0e185f01b927f27bd21031709 commit c527f58bb10b73a0e185f01b927f27bd21031709 Author: Mark Johnston AuthorDate: 2026-01-16 15:56:51 +0000 Commit: Mark Johnston CommitDate: 2026-01-16 15:56:51 +0000 exterr: Regenerate exterr_cat_filenames.h --- lib/libc/gen/exterr_cat_filenames.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/gen/exterr_cat_filenames.h b/lib/libc/gen/exterr_cat_filenames.h index 883dd98289cd..3c2eb3c4c029 100644 --- a/lib/libc/gen/exterr_cat_filenames.h +++ b/lib/libc/gen/exterr_cat_filenames.h @@ -8,9 +8,9 @@ [EXTERR_CAT_GEOM] = "geom/geom_subr.c", [EXTERR_CAT_GEOMVFS] = "geom/geom_vfs.c", [EXTERR_CAT_FILEDESC] = "kern/kern_descrip.c", - [EXTERR_CAT_INOTIFY] = "kern/vfs_inotify.c", [EXTERR_CAT_GENIO] = "kern/sys_generic.c", [EXTERR_CAT_VFSBIO] = "kern/vfs_bio.c", + [EXTERR_CAT_INOTIFY] = "kern/vfs_inotify.c", [EXTERR_CAT_VFSSYSCALL] = "kern/vfs_syscalls.c", [EXTERR_CAT_BRIDGE] = "net/if_bridge.c", [EXTERR_CAT_SWAP] = "vm/swap_pager.c", From nobody Fri Jan 16 18:30:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt7gf5SDVz6NfGp for ; Fri, 16 Jan 2026 18: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt7gf3742z3lR9 for ; Fri, 16 Jan 2026 18: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=1768588206; 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=oYOwOaJsdv0EAN0+JNPjN+iLqkdN7PYqqePmbk0ivuk=; b=ANHtobCmnIWP6w/u0cAsjuR4BuRHXm2yLTZYe75hbBQ4hnzH5tOId3XhcMtjDddQx/817V iEpqepA0qpKEjBA6lxue3Zu1iApd5c6ctKebqJx8ftp2KvfSpQNEjV+RzMUqQqu+x4oPRI MOqWwDBZct08bXzN0dluTmP+ncJblojdhgOeTCf9RY4u3XIc/UYEmcRnok/pWj0PEZrhQj 1CbhM5bco2TF6SrWUzFN0TF+7I44Rrfrj+51fMUfKo4IP43lNT2qxlsvKyfgzFoXzxCxPn at1A1xi7AzAX8DjDMgIzaRvEoBcMAnqP8EHVfDOtDaEZwOYfnyTUgmr6ruXMpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768588206; 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=oYOwOaJsdv0EAN0+JNPjN+iLqkdN7PYqqePmbk0ivuk=; b=V7pUQS/wEww4NUBKoMz3iWqWKZgqp6KWvGM1sSWE8fn2I4Z5Ntznt2f7n4eUq8Rv6MZY/k EpRHIdNHV9PVczO47sRgK4xm91bcRK9akmbJLtKQm6bNJwIv4C7srOCBwgMhS9sSlq7Bva 2BXt6TTLz9XCQQf+irGjpxR7tA+7iaILBSGe+p39ILfwJo6bVoC/dKBPnOFbKAhrGX85ig lxwhW/0eCEJukus9sAixwyc1XeHzVhDK8ewUJkELWYbzVmGODAgRKMPWKVh4jpcsAHyxyE g7m6RXr83bDsnLP7xTij8EIRRXnRe1LyhFDvAmVitLq2bwH9DDdlMcO/Oq9lrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768588206; a=rsa-sha256; cv=none; b=fYT/qbGI+VVDYBuTKl+pCZQSWY7SXreh6aJlJXFP//th1osB4JIxzJMKqLjdk/pi41jiND Ze5zGSnpu++MVCXjQDIhwNhVyBGj8irTsT0rKM5YEs0dwfc3tbMSlhgOgxhXhEYKJ7SYuJ xPZzl7xHznvApmcyDY0oDWbi/EyuFiGPts01IpdE/OEWDRHNs8+xAP2Jlo+D8CZ+ICb5bs hc4H35FFoOceUeIJpWTRa2zg+MTD/f7v9ODfW1ApN3Kgoc4NFvL31s6Tgwd7Aw/7sh3h5+ +NXgwZDzEE40FrbPKyGCZfzUQM3ezAd6SkAwxMzFRSkKlv2sbnEun9WowRQoww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt7gf1kWvz9CX for ; Fri, 16 Jan 2026 18:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ee81 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 18:30:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Siva Mahadevan Subject: git: 33f2f3049ad6 - main - committers-src: add myself (siva@) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33f2f3049ad6f240bf67b3b1db547d58297065f6 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 18:30:06 +0000 Message-Id: <696a83ae.3ee81.20ec885b@gitrepo.freebsd.org> The branch main has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=33f2f3049ad6f240bf67b3b1db547d58297065f6 commit 33f2f3049ad6f240bf67b3b1db547d58297065f6 Author: Siva Mahadevan AuthorDate: 2026-01-16 18:22:32 +0000 Commit: Siva Mahadevan CommitDate: 2026-01-16 18:22:32 +0000 committers-src: add myself (siva@) Reviewed by: lwhsu Approved by: lwhsu (mentor) Differential Revision: https://reviews.freebsd.org/D54744 --- share/misc/committers-src.dot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index e0eddd704843..167d036513e1 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -361,6 +361,7 @@ sepotvin [label="Stephane E. Potvin\nsepotvin@FreeBSD.org\n2007/02/15"] sgalabov [label="Stanislav Galabov\nsgalabov@FreeBSD.org\n2016/02/24"] shurd [label="Stephen Hurd\nshurd@FreeBSD.org\n2017/09/02"] simon [label="Simon L. Nielsen\nsimon@FreeBSD.org\n2006/03/07"] +siva [label="Siva Mahadevan\nsiva@FreeBSD.org\n2026/01/16"] sjg [label="Simon J. Gerraty\nsjg@FreeBSD.org\n2012/10/23"] skra [label="Svatopluk Kraus\nskra@FreeBSD.org\n2015/10/28"] slavash [label="Slava Shwartsman\nslavash@FreeBSD.org\n2018/02/08"] @@ -572,6 +573,7 @@ emaste -> ngie emaste -> olce emaste -> rstone emaste -> scottph +emaste -> siva emax -> markus @@ -782,6 +784,7 @@ kp -> zlei lwhsu -> aokblast lwhsu -> khng +lwhsu -> siva manu -> corvink manu -> oh From nobody Fri Jan 16 18:30:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt7gg2rjKz6NfGr for ; Fri, 16 Jan 2026 18:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt7gg1r5Cz3l8X for ; Fri, 16 Jan 2026 18: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=1768588207; 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=qD4v3KnCFl7DaQp0JcLhbD2Axu5t8z6DFDLgOnXoXd4=; b=wQrIkCLgzE3pvRbrVkZSwOtDeBRLMhs3BPQgqy0U1bejv3YVYciG+jbHrUAnVtsEw7AXC5 Ky9oDBVHtYMd9g68hEmBKrxCkueB4wa7cBmuCnGCZlEz6LSecM9tfxZM/rqabxHnakaqgk MyKZcEoteYpMtItinLRP2Ahhh9Sb3iFY6j55IWyI9758qbOItBsbDESc6XznjiJK++MKhb xOoROk7MNeERIEWrDKaDwx+ZvBc/qPBrnH0uFPICSZQZJzJk0B/F4cqV270VpBqHIufTQe zH4GTnQbPp4aonwv5yP9r59lK3zC6SPhUll8y/xLesKYsCgKHF30Z1t4/wt58Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768588207; 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=qD4v3KnCFl7DaQp0JcLhbD2Axu5t8z6DFDLgOnXoXd4=; b=pVqqnbg8ZaaudcPOr4o//0d5ned2W3yWbAAcvYpKhtH1m/lHHOI5FRgCtd6mxfZHhUWHRm oc3QjeYGEXxvplpqQlxiQddrKGUuEwFaIEohwKkNJziae1Oe507XzL9i4UBHQG0YT6fTpv DWvYpyzDt8i4JplJCxf4bpEwZY5s1czZx2sewqrhz887QO16/uwBRSsOdFsWC9O4FC/w9l UfVqztPWmXz1EdZDeyJzbq3LUqQKY33CAhm8vifNeqCzNhiNhT1NF2hJVW8qCkQ4AIwFoA MNMf7YpqGp9NNEwFG8uYcRZT35WllQ7dD99oUjXKLGXlR5AQPzKrbr0dDiG+6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768588207; a=rsa-sha256; cv=none; b=AsaRH7hE4Yh1CDrlJI+u9G1fn7Gd5PZj3ngHLB+zS1drdeWkBHV4weOpC+ja8W5WZycMGj 7vLqpKYddf45K5KOHX7EBb3vVJ2cYN3F1SfUXbc2olWC5LX1l871p2rrDYDolyfD0r2HvW gUbhbhkc7JN7pWyUbWxyZRWaU7JU2p6pqCXbCjJfkCwkN7yCyfMLEpBv76V9H5A8h6Wgxg LeGGo3lgxgX70cgXZGIBMbq6FXndqg7hxZFu6JeAczSQ6rCbxaKDByva5/cKLL0FrR1Ztg iuSCm9/NAX+eeefnt1JUPLtr3Xw1moY1lmWZZXP1ijSFRVcYOvJ9Ja6uq/yj4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt7gg1R2sz9CY for ; Fri, 16 Jan 2026 18:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e1d5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 18:30:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Siva Mahadevan Subject: git: 1d819aad17db - main - mailmap: translate siva@'s personal email List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d819aad17dbad16d64cb691e680bc16bc15158b Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 18:30:07 +0000 Message-Id: <696a83af.3e1d5.4bf04212@gitrepo.freebsd.org> The branch main has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=1d819aad17dbad16d64cb691e680bc16bc15158b commit 1d819aad17dbad16d64cb691e680bc16bc15158b Author: Siva Mahadevan AuthorDate: 2026-01-16 18:23:09 +0000 Commit: Siva Mahadevan CommitDate: 2026-01-16 18:23:09 +0000 mailmap: translate siva@'s personal email Reviewed by: lwhsu Approved by: lwhsu (mentor) Differential Revision: https://reviews.freebsd.org/D54744 --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index aef009559513..c71955165922 100644 --- a/.mailmap +++ b/.mailmap @@ -25,3 +25,4 @@ Joyu Liao Pouria Mousavizadeh Tehrani Pouria Mousavizadeh Tehrani +Siva Mahadevan From nobody Fri Jan 16 18:39:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt7tm1CFHz6NfrY for ; Fri, 16 Jan 2026 18:39: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt7tm0R2gz3n1V for ; Fri, 16 Jan 2026 18:39:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768588784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xh4CDj/aqUapI2S8pheMeauBCmaJV1WaPlKVYBOISMc=; b=mKvlQrogtmL/QU1nnAULwSAdFp0wrvu7+raeqZkwiPOS4v+f14d5kSWAp8t+7MYyJiDnxw rI5svVp5RBegTZE2S+wStQ5umyO1sosvlrngBfVLw4NTFGlBs8IHDVh3qNxRozt0BDl5CP XyMZz9m8ciH8RlWc1qBi3Qeg6reU5uJHeYhkz4W/y0TmrQ37e3txul3Komw5zGMQceQlQf hRhkORbUigRgSg0a3VhGSQKBhomSkMJAov5+iBTqf7/x0WldG1kJX70ZF1pLcHVXTkCFl8 B2Kk/XkE9DxLjm/6tFNxNF77vRfqWaa2FnJmHl1BuS7GmkuDLG1TWqIyFaJIjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768588784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xh4CDj/aqUapI2S8pheMeauBCmaJV1WaPlKVYBOISMc=; b=WV6K3IJETcP+T0KLR26JCfT2R5uY6BTDWkm6WGl2CcrvGcYrvMbiEZc7srnvX7Q3wpLCKJ UZ3BFdZ8Xf6rBajPl+uJTGI0sdshQINrYDtePNN3h7Ugh5zyLEIOgmgp3a1sgRKwRC9jE5 YbL4o5LNnv9TCCBy62c8BVW99mK8l87dG7I9ccVUBfwCPOODj3jL8+9fTsO7lqOmRHEuwP YOTU6Qgm7Agz9iiXF9bcycRKRdCetckwpz+mqyZxDT8n+Mlpr4qBn8QA0MfHevK7KBSryI 8LTGPniUtg2rSURbbzo1usuilGJ6oyxSU2de0I1OHQHcJoYd71B1vxjoDTfFhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768588784; a=rsa-sha256; cv=none; b=LDr5QLSi7VyxqMfeLjOZd4BhGWKgGiWGJfwRQixnuOwVmRRXc2X6LsbdwHOM71Q4JMpkqb LyNqYK60VKEqj6XOYHBl7FgFcMdazyg8XlrHbdM3M0JMNYlmHnmOtdKbW384AmVwyBANpF P+0+Pxor3A0cVCNiMaxlKwoJGJ3l7esTZtI0adxKMAru5Y0mo9+ORNNJoGh5Qhvjli2V/A hCtJeFsU8uqj2i5ChQu/uHdy5nrCk56RGvfRdzEx6NGgV5o4YLnt2lG0VoP/FTP82vre4p dS7gHwJJiX48V9rWjxV95X/HZLNE+C0hGBbts5S2r47X8zxxfZlSupHb+lgA7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt7tl6z9Rz9GN for ; Fri, 16 Jan 2026 18:39:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ed8e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 18:39:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Marek Zarychta From: Pouria Mousavizadeh Tehrani Subject: git: d836dae9f0d8 - main - ng_netflow v9: fix template re-announcement using packet count List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d836dae9f0d888d441234ea11e3cd91614c86aa2 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 18:39:43 +0000 Message-Id: <696a85ef.3ed8e.9e1ebb5@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=d836dae9f0d888d441234ea11e3cd91614c86aa2 commit d836dae9f0d888d441234ea11e3cd91614c86aa2 Author: Marek Zarychta AuthorDate: 2026-01-16 10:12:11 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-01-16 18:36:53 +0000 ng_netflow v9: fix template re-announcement using packet count Increment fe->sent_packets after export9_send(). Previously, NetFlow v9 templates were only re-announced based on time, ignoring the packet count parameter (`templ_packets`). PR: 270083 Reviewed by: glebius pouria Approved by: glebius (mentor) MFC after: 1 week Sponsored by: Subcarpathian BSD User Group --- sys/netgraph/netflow/netflow_v9.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netgraph/netflow/netflow_v9.c b/sys/netgraph/netflow/netflow_v9.c index b6e9fca98408..e6b63a8aa36b 100644 --- a/sys/netgraph/netflow/netflow_v9.c +++ b/sys/netgraph/netflow/netflow_v9.c @@ -227,6 +227,7 @@ export9_send(priv_p priv, fib_export_p fe, item_p item, struct netflow_v9_packet else NG_FREE_ITEM(item); + fe->sent_packets++; free(t, M_NETFLOW_GENERAL); return (error); From nobody Fri Jan 16 19:37:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt98s5xPGz6Nkm0 for ; Fri, 16 Jan 2026 19: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt98s1N1dz3vm0 for ; Fri, 16 Jan 2026 19: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=1768592221; 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=pl7Fi5N0ikYyhYkWh6fctFgw1JH+49Rd923Z2M26sBI=; b=kcm9YbMTpFnZXdbE/ovR5EK+oNL6P8lwpUbsYNRiCTD1Kfk9c+DYxzViHWbz0xBJCJ6NK4 D4/qNL2GeYLPftliJrXE/pKjxNvqRHn7yz1J6ARjs+eTHoQLJBkk3md/8bMhGyoO/h822f Ers1PP551cH5OBRfS8bLon1ZVbDddtvbgnZYoRyoE5AITE3z/c5Omer/vIiUXuPjpXKUBI PXttIbwOuejanp/WcR4aOq+tcS6uk4/ZEBzYW/ru34fVRKm2oK9h48FMWOEMwMSGfBHqJf oqS3uLforNr5RsqlehKMqM7XxBWRxi71190EPmdbBmoj9TNVObFAJOwavZMJbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592221; 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=pl7Fi5N0ikYyhYkWh6fctFgw1JH+49Rd923Z2M26sBI=; b=UpsK5vj5UG2Xi93x60oQWSbJNDd//1O6UVrfCSrAYm9hsr8UTDfHPG38Il8G6UWHchfJQx RDMLNl/2BkWUGN41tfEww+1t1mqTnl2A0ZPe7faL/3CdLDptBl/EUpteEePxZp90FXdbT/ ewHMJOv4TIGAb5GbFg05oMZgGtLBltGwaNHh1HyWsP2grgDWnPDYd5UZjxmSI363iaeU+e /kKWwfxigNEmijLh7SODvAsmELuwPrcW2MT+emi94nCpHS7+Gsk3y0CIvt/sGN9krjS7o3 aG+XnF1MSNGWsDV0PMKpBh2JfKUDGopJkCXBmcYlUJBCS2fugIiCuhjBiIZ/Gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592221; a=rsa-sha256; cv=none; b=kuq28mXYU9WqOR7+9q/9aJkJL3nIXj7Dq9v+NJIpY6aDCC3j/nFZPYqK0BJM/B5uyTJhFx vQn9oHpKPE77AKPv2Ynj8OTaU3lM0F9iClYqiK8xoHSRX+2HXPwPN7NzD3g/cAtm16G/la 0fSxRRCjLfFChGTyvbx2jnyVYvrasADAQBkfre7ceV9ZZcJL7E1o3Zuq7Vo4YIQ7jzXrNu LiVYNevsACLHkxsO3F+yux1HN8nryHBrRoI6eQ9WqwJf5BglQHnLgoNmz0nx8vV6oMyVVL /knT6pLmQFSTMOH5ZW3rqQEcRjmWe/jqS3cwpkQxZFl1R4cOO4Mgn013wMhFwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt98s0hfMzBhh for ; Fri, 16 Jan 2026 19:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d1e3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:37:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: f89f7e58ba1d - main - sockstat: improve formataddr() according to style(9) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f89f7e58ba1d54c6a683e3cc899938895496c088 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:37:00 +0000 Message-Id: <696a935c.d1e3.15d23bee@gitrepo.freebsd.org> The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=f89f7e58ba1d54c6a683e3cc899938895496c088 commit f89f7e58ba1d54c6a683e3cc899938895496c088 Author: Michael Osipov AuthorDate: 2025-12-29 21:31:49 +0000 Commit: Michael Osipov CommitDate: 2026-01-16 19:36:46 +0000 sockstat: improve formataddr() according to style(9) Reviewed by: des MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54412 --- usr.bin/sockstat/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index 1f174d827e1a..32b1ac1a8d20 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -926,8 +926,8 @@ static int formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) { struct sockaddr_un *sun; - char addrstr[NI_MAXHOST] = { '\0', '\0' }; int error, off, port = 0; + char addrstr[NI_MAXHOST] = ""; switch (ss->ss_family) { case AF_INET: @@ -960,11 +960,11 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) if (is_xo_style_encoding) { xo_emit("{:address/%s}", addrstr); xo_emit("{:port/%d}", port); - return 0; + return (0); } if (port == 0) - return snprintf(buf, bufsize, "%s:*", addrstr); - return snprintf(buf, bufsize, "%s:%d", addrstr, port); + return (snprintf(buf, bufsize, "%s:*", addrstr)); + return (snprintf(buf, bufsize, "%s:%d", addrstr, port)); } static const char * From nobody Fri Jan 16 19:55:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Z40yVGz6NnDg for ; Fri, 16 Jan 2026 19:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Z36GD0z3S80 for ; Fri, 16 Jan 2026 19:55:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768593323; 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=Cx/1b9VSUIMTb7ab9A0qFIQwdyqfpTDlu7KgrbanROg=; b=JZwTu280JX9AwvxC89q9LwvWElQk2HWCwg3yysW805KHkoiVFdpkZ/vpVVvp3GsJNrcS/0 BScbxdbq4fwcElvrEsN/yi69RTOxk62TjGUzkshJPrhTmeJtwF0IiUuXNixohVkkU74XF1 DcikJYY6ao+PkT+xpZPdS25QbY/adnFHcj4dKGmWXabFVD9NBWblUHLV1hBfYbl8zexEuq y1zMoNcXcApOEjEyY8pQ3JA6g6uDL8GYpJvbqT9PKgK60NpRm3vpz1qWrbJXkbbr6KBa99 enhR8fUMlXPoCeDSgHQF2oWKJ7C9AGTkL1+jMBBStoDQGbfaep2mbMUnZFoBmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768593323; 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=Cx/1b9VSUIMTb7ab9A0qFIQwdyqfpTDlu7KgrbanROg=; b=ayc+UQmJFx/sD8FT6Qj+RescmkarqjjRI8uB3ZXZcYxgYAjvrQuXRDWLonRbKr+mAE/YCm Rs3sOW9+Ng8jLv/CbHMD0flsk7dBA75tzbQvwMxQeNhEJNBx5uOOqRk5djSrai1F7g2CKU LyVqTlbgYAU8GiukhsR6dhQUi85jEHmlHlPDJZ2dAzc2WacFEvmdpUotEDqxhWfpXHkyau eXmlbVEZhPQp1qjV1ySMx1g0AO52iaMw8UbC3vMZMX0VjjhaIm3JfhkVkFvzV5tSvU3Dtp DE1j/sRjXHAIB5bU3fds/uTezewm1/4Tcei73QKGb+aZ9mvWtToJ0pq0izraPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768593323; a=rsa-sha256; cv=none; b=FEJ9R+xr+IMxV5m7GHTURw2Se0SojepgW1whC7FwxVCgdpHEGykUJYmno9d/7z15d26JAW 3qxwnk/+pgZKAyqOqPkLDm151AOWuZGaWOb60o152p/2zB646rDwTtq53hmdz9rpWL4uAk VyxJ4/nF3nAcxx2fVIDqz1ilUueelKHl3wcK1llhyi5pNLnnog5C9xOvaZHvyWz6bSWUhY bN1T11gIx4MMAlnKLJ6Mr/Hjvn3FpdNy6Zt4sHQ7VlRn86w9lo7iG1o4aYsjWkbsfALSI0 Gn81+x7LCwdvCJwQEyl86rWDJJWXhrtLW4r7V7fTZj+osnAGwBk/dNzzcddMaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Z35JL9zClY for ; Fri, 16 Jan 2026 19:55:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e358 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:55:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 75c591b26723 - main - smartpqi: Avoid declaring extern inline functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75c591b26723711d7a38f2a5df7aecc28198cd83 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:55:23 +0000 Message-Id: <696a97ab.e358.3e17cdba@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=75c591b26723711d7a38f2a5df7aecc28198cd83 commit 75c591b26723711d7a38f2a5df7aecc28198cd83 Author: Mark Johnston AuthorDate: 2026-01-16 19:49:22 +0000 Commit: Mark Johnston CommitDate: 2026-01-16 19:55:08 +0000 smartpqi: Avoid declaring extern inline functions Each C file is compiled separately so these functions can't be inlined except in the file where they are defined. Since these functions aren't used outside smartpqi_request.c, just do the simple thing and make them private to that file. Reported by: gcc Reviewed by: jrhall Fixes: c558eca47970 ("smartpqi: update to version 4660.0.2002") Differential Revision: https://reviews.freebsd.org/D54732 --- sys/dev/smartpqi/smartpqi_prototypes.h | 4 ---- sys/dev/smartpqi/smartpqi_request.c | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/dev/smartpqi/smartpqi_prototypes.h b/sys/dev/smartpqi/smartpqi_prototypes.h index f2eb328b6bc1..fdf69e38fa59 100644 --- a/sys/dev/smartpqi/smartpqi_prototypes.h +++ b/sys/dev/smartpqi/smartpqi_prototypes.h @@ -167,10 +167,6 @@ int pqisrc_send_tmf(pqisrc_softstate_t *, pqi_scsi_dev_t const *, rcb_t *, rcb_t *, int); int pqisrc_write_current_time_to_host_wellness(pqisrc_softstate_t *softs); int pqisrc_write_driver_version_to_host_wellness(pqisrc_softstate_t *softs); -extern inline void pqisrc_aio_build_cdb(aio_req_locator_t *, uint32_t, - rcb_t *, uint8_t *); -extern inline boolean_t pqisrc_aio_req_too_big(pqisrc_softstate_t *, pqi_scsi_dev_t *, - rcb_t const *, aio_req_locator_t *, uint32_t); void pqisrc_build_aio_common(pqisrc_softstate_t *, pqi_aio_req_t *, rcb_t *, uint32_t); void pqisrc_build_aio_R1_write(pqisrc_softstate_t *, diff --git a/sys/dev/smartpqi/smartpqi_request.c b/sys/dev/smartpqi/smartpqi_request.c index 3929a727c270..e6ba41a814b2 100644 --- a/sys/dev/smartpqi/smartpqi_request.c +++ b/sys/dev/smartpqi/smartpqi_request.c @@ -1492,7 +1492,7 @@ pqisrc_handle_blk_size_diffs(aio_req_locator_t *l) * handle based on dev type, Raid level, and encryption status. * TODO: make limits dynamic when this becomes possible. */ -inline boolean_t +static boolean_t pqisrc_aio_req_too_big(pqisrc_softstate_t *softs, pqi_scsi_dev_t *device, rcb_t const *rcb, aio_req_locator_t *l, uint32_t disk_blk_cnt) @@ -1636,7 +1636,7 @@ pqisrc_aio_show_locator_info(pqisrc_softstate_t *softs, } /* build the aio cdb */ -inline void +static void pqisrc_aio_build_cdb(aio_req_locator_t *l, uint32_t disk_blk_cnt, rcb_t *rcb, uint8_t *cdb) { From nobody Fri Jan 16 20:26:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtBGQ6B0Pz6NpvJ for ; Fri, 16 Jan 2026 20:26: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtBGQ3HzZz3YS0 for ; Fri, 16 Jan 2026 20:26:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768595214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CyF1/F2T30+J91YU3oa0h8gnyYajF7LACVj2oGGF9Zs=; b=Gf7AG9BZQOQaV3Nfbw4mvvm7NUovWq56zV5dYMl5Rso+sGN9cY76tTpfGsof6on4xSrFdQ WBGLXvrlwoGwkRQnqQsCvMMZ5PGvpIrl4ilNFCL+aZPKw1UqAcsZjHpUjX+Szg4W3KLM4v Xym9aDwsN4Ijr298v+tKFeG6pIWUjvV87sBqZSyOxlwUTwHYpT5r0aetO6mh1hyvlQtBqY bi/UTzH5XKubXn2bVcuCpIYpgQVXYmuJNMYrnNwayM0wDq3/llR5c9+XimNfGPsXfITjj9 fxiRZHtlc6VOnNog2cnLIWbEA5SVuyssJTq04je8TP9qkAp/7/dcR6YLm0yIrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768595214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CyF1/F2T30+J91YU3oa0h8gnyYajF7LACVj2oGGF9Zs=; b=pkxPFL3DBigmfmCEswoADI8QpYYq4N6IxrWDdijk99wR+M95JQjgdJY4C/Y+IpG2YOLujZ XBWoMyKp2Hk0/XzKSRTSEwSW7V71duaSHrl4TSuBbumPVkRfOKTVQHlORi1e5z7LZEwX25 EGLJ1JsAavfNSBPQZ3KemgesVRai+lLsJ8x/oQ90Yh7GlP4ONj9NJFIKcbXt46wrDfb0F5 tIKrwzqvWD0SQs/dA7Y2B6Vi3qG33oG0C0THoK83ICavYmkSWXYZSe8ieFmNXHVvtV677O FTcMojhEHYsNmO+Ph041KdWVSS7k20UDG/Zt4RVqjycsJ83H2No+VX8pYADrRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768595214; a=rsa-sha256; cv=none; b=I74ju/kToWxF4h0XAjlkJLO/rrUeJ3sguCpLkiEZpI75PkiNTucNC/AOx+j/zqwzej7WNT Zk4AJJ4j7y7IBKgS9lFKY5MbwFpgINElmwCoy0B97l86H2TWVajK3vRSngVrQCBkloIY6Z JSYJWDYiTE6lXKZRg+XVz6rIO9MxKMuyVk1U3HiNjWsD38++uDHw1Vhicy1huQ3NJCeNHb tEbeIkoIU4fkGytvZvkfsIIoYHxjciz2M1ZQPIYZO8VrGkAs8O0R+g6GsJCCE3vPBIRPLq jK9/HBVQ28GLh4LejNCrGLbB21Mc08Sub+mWSj2nh/NDBHMaumsGhjt0e0VySQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtBGQ1lB9zTSy for ; Fri, 16 Jan 2026 20:26:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20fff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 20:26:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: fd34f549b711 - main - termios.4: Cross-reference stack(9) for STATUS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd34f549b711f0481336a838a99af710ab24644a Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 20:26:54 +0000 Message-Id: <696a9f0e.20fff.2e889023@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=fd34f549b711f0481336a838a99af710ab24644a commit fd34f549b711f0481336a838a99af710ab24644a Author: Artem Bunichev AuthorDate: 2026-01-16 20:22:21 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-16 20:22:30 +0000 termios.4: Cross-reference stack(9) for STATUS If the kernel is built without stack(9) (options STACK), then the mentioned sysctl(8) kern.tty_info_kstacks will not be found. MFC after: 3 days Reviewed by: kib, ziaee Differential Revision: https://reviews.freebsd.org/D54701 --- share/man/man4/termios.4 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/man/man4/termios.4 b/share/man/man4/termios.4 index 3d99130c8d33..62a5d0413f96 100644 --- a/share/man/man4/termios.4 +++ b/share/man/man4/termios.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 28, 2020 +.Dd January 14, 2026 .Dt TERMIOS 4 .Os .Sh NAME @@ -759,7 +759,9 @@ wait channel, the number of user and system seconds used, the percentage of cpu the process is getting, and the resident set size of the process. .Pp -In case the +In case the kernel has +.Xr stack 9 +support configured and the .Xr sysctl 8 variable .Va kern.tty_info_kstacks From nobody Fri Jan 16 20:30:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtBL460wkz6NqKV for ; Fri, 16 Jan 2026 20: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtBL45QTHz3Z2C for ; Fri, 16 Jan 2026 20: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=1768595404; 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=0zfmAI4l0gtHWyZ+jyRmVa0DCu/7CBZ7CUpya8p0K2g=; b=APgl6vlCGwSRRGM97TBkBYV+2ynWFTM4yJ1tqAwe74ShljUn7g2S1WnrObkqBR2BkEJc7R Q7IfHMGCaw7wBctg1nQy+0m2EfbDSByxRM3eHVXenEpgR0BY5ShG1owY+ZWyzbqQhZRSkn FyBssuRKvg3+2QufGzgAlgMABll7CrUXe0mVZ9RQ4beYXM8TFhMVMZvpVeGPBZUEjs7+qs 4bbHRWv4iT8XEpIUnHUkNrMn6H6cKpyZb/3IGhOjVZwYGB9h144yVG0cS6g0ptFY+6u5PJ 6pG6JNkq96cv9wTEt7sH0kBy2XXV9IyNgpaxcuuJZkRD26AhG2JEesEwW1FQpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768595404; 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=0zfmAI4l0gtHWyZ+jyRmVa0DCu/7CBZ7CUpya8p0K2g=; b=SciToxeQqKPaBSzujh/iLChW/nI6Mxij9IpVF5ojq47bebqwRYQl7YVVHsm5MzAW6vAxFR d96bbHVmnW6uvPHK7JFHV0B5dRn66nm3qxpVH5PQVlJOhWss58zCjusQz39j/O7eS7wKDN z7eV3ztaawOIvdb4+/iexsRAY4W7Htv16weou0ATiBfhUdMBiWK7KVPTuQoKhil9u1T5Cq eZB2eKsCCW1URzsWFo2P2M6FfDRfaUqH7eMZgiivcNKBLa3L9/8ujfzU+2b/lRyp3lGEfk 7cjrwH2qtvy2TXxhWMYApdwTEsuqReQtT7yMny+A7We6TFbqpECM+TBROA7cyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768595404; a=rsa-sha256; cv=none; b=T2Ua4I2/e57zvrgnwKOdzYfpEHqcY2JJvL95eRZ6uSYgRdkzSWd8MeonEii5CHkksOpt2/ l1E6fO35Xx2YTdVWEDaHTqfYAcO3HEi5CxZMA/jb176MRENO1FVgNr1BL40cjPbUGnTGBw BVBu0Vpzj4KxF/YJsWV4qrzx8nwC9uRdBnvQ9Nkt+2ShdmlJej+Lwz23SBAjHwSRikGrQM dcCHf2rYNfkAI+K1QGv+Jqd/UZPwicqc/ZXS1ZONru5Q6jMRJMV0HcvpAG95KootKf4BxK 8wty/Ucb7+8cgP4SKEs5Kit3gZJuc4RWhkjsOjXJm2PM0Sx6lhS7w/w7p5VoYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtBL44xR2zDZD for ; Fri, 16 Jan 2026 20:30:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22e80 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 20:30:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c940f5c775df - main - RELNOTES: LinuxKPI based wireless drivers are now avail on RISC-V List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c940f5c775dfe241e3e9a80fbf62286cdf44c0a0 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 20:30:04 +0000 Message-Id: <696a9fcc.22e80.2aad8b9b@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c940f5c775dfe241e3e9a80fbf62286cdf44c0a0 commit c940f5c775dfe241e3e9a80fbf62286cdf44c0a0 Author: Bjoern A. Zeeb AuthorDate: 2026-01-16 20:27:21 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 20:29:49 +0000 RELNOTES: LinuxKPI based wireless drivers are now avail on RISC-V This was enabled after a report [1] that iwlwifi(4) works on RISC-V. [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless Sponsored by: The FreeBSD Foundation --- RELNOTES | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELNOTES b/RELNOTES index 3f919cff0efc..09d497716fd0 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +0fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df: + LinuxKPI based wireless drivers, especially iwlwifi(4) are now + supported on RISC-V. + 8254b0dec02b3, bd55cbb50c588: The mac(4) framework has been extended to support jail operations, allowing a policy to constrain jail creation, modification, removal, and From nobody Fri Jan 16 21:20:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtCSn6ysrz6NtjL for ; Fri, 16 Jan 2026 21:20: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtCSn5lnWz3g3j for ; Fri, 16 Jan 2026 21:20:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768598457; 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=kaTnf1aRRKQqUOLw8TjJ0fKEjxknJBY+0T4/Aec3Plg=; b=FDWp2V8fYDbr2i6M7dSnppn5kw8Gv01+lKVMKv5ABxj3DXxw+BhS3VjLzLV6vh5KXfNdam kBOMuz0zI9U1ZBR4IYhfcxbEFwPmj2fgwZP1dgOYKRbLIKAtdFwxNAJq4F0mYO+NmpRQ+L 0otkNOwsWoktN1tlEP8SyipE+qXCRaHX/SDsrwZx7ccvAJ+igJRxxLiUf+otnF1oYh0FEs OvQtBoH3e29QDTfshAg6cs3VEh2lU1TmuCiHkLRUfUpyzrNFwddNxU+Sb0bKzrw3+nzDzh 695cD46+HUCKhODfxqQE/sNdv2jpMWhbrhvTlV/WFnvWIO/Gq70vhuiWoQh87w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768598457; 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=kaTnf1aRRKQqUOLw8TjJ0fKEjxknJBY+0T4/Aec3Plg=; b=PdLNg8ZEM9p0eZN3NbKkFff/U1DF2HHPKO0/aVwRCOxwDRd23pgq9Z8MQGtxA7Bp+CU98H Ub6QdGH2H12R6YEUFE3JqbkPPj5idyAoCRSJacypVm/TpDbWAmCB2K4ZFFVP4cqjC2myn0 /upoCwMdr2KCy8yxlSIhG25VbWuXEGv+Pe6LoLYYSv84eVaXfb+1LqoLm9TgWdsoVWmWfX uCpJcntRAfo4IcPyQgJNv8PmtS/U+K/8Jba4t3hQW/TBsWQh88jxhQB07RaPM81/s0M1RM UUfYhuMpBTxRuoZGvpM4V5mvertUnZ536fibKzbDDMqk89GK7f3ki2Pr+r9hgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768598457; a=rsa-sha256; cv=none; b=vmB29BFlYWxDj4T6au1PGh44vO043oSa/txHnRplSGbSF9K8Gb74LfpihHycymM/HWxTS7 AlFMjI94IFbg/PahyznfBkX1155dTjp95AVv4T69LftwkYPgdv7B0wF3FPtiraNDEsc507 oykkmKNpWk5oMztF45/5Sjm0CG3FtUwRTgB8Jn2qn1E9zZA+TMo1WfE0WT7sZVKsl3pJ5C xM2gDNkvpG4L+RO8Ez6gbRSbEB0FVYmPVACqNFvh95iBss8s52uXNQtCIWc5m9DRft7MEH TckyHaai2MIhJKVG6nDRkhlzEHFjB59kmq6b8Mk3vNFLtKYejaQBetixQwmg0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtCSn5K03zWtM for ; Fri, 16 Jan 2026 21:20:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27da2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 21:20:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 689663d4654f - main - Initialize CLOCK_UPTIME for itmer events List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 689663d4654fd3a98a78c66ed99f7ed51164c771 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 21:20:57 +0000 Message-Id: <696aabb9.27da2.68951624@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=689663d4654fd3a98a78c66ed99f7ed51164c771 commit 689663d4654fd3a98a78c66ed99f7ed51164c771 Author: Warner Losh AuthorDate: 2026-01-16 21:16:42 +0000 Commit: Warner Losh CommitDate: 2026-01-16 21:20:20 +0000 Initialize CLOCK_UPTIME for itmer events Since we move to implement Linux's CLOCK_MONOTONIC with CLOCK_UPTIME, we broke the some timer support for Linux. Fix this by initializing CLOCK_UPTIME as a posix clock so we can use in that context. PR: 292496 MFC After: 5 days Fixes: 108de784513d Sponsored by: Netflix Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D54746 --- sys/kern/kern_time.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index 5b7485c25cd7..0c16045ca610 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -1183,6 +1183,7 @@ itimer_start(void *dummy __unused) NULL, NULL, itimer_init, itimer_fini, UMA_ALIGN_PTR, 0); register_posix_clock(CLOCK_REALTIME, &rt_clock); register_posix_clock(CLOCK_MONOTONIC, &rt_clock); + register_posix_clock(CLOCK_UPTIME, &rt_clock); register_posix_clock(CLOCK_TAI, &rt_clock); p31b_setcfg(CTL_P1003_1B_TIMERS, 200112L); p31b_setcfg(CTL_P1003_1B_DELAYTIMER_MAX, INT_MAX); From nobody Fri Jan 16 22:27:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtDxg2rXNz6Nycr for ; Fri, 16 Jan 2026 22:27: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtDxf6TVtz3rcG for ; Fri, 16 Jan 2026 22:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768602454; 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=3FgspVwcq4bO14xlYZtRvmFO/Ap1NCPFVgqG67oRG/Y=; b=UDkz/1Xhf/SGZhpZ840yPUaBswFw/HM80YwFsrpoSv0b5NbEJcgyaC6gV/UaIfSfHbkzev dgrbrFU3EHTsA+KOdxmCzrmnkJzP15ODGR4Zy+tSSJpnseRwVSOBOHMFkQaZxwqN7qb0G1 Ekl4k64zc+5S2nLQnwunqrKO4njEkzF4rQ2wr2QCLuThAzwFTv2YODN2ssCzihGo5YkxnP H5w7voB4rsCuidILWeAuSO2gVFS5OKOquFGZzMoZzrACY/CyqNzJkh5yDxy152xhyIK6Cp AGfjPdNeqCs6U05Md8a/I+FhFP9iLrfHCUwT2KjdsqJzJBgLhYqWh/+bKkDKJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768602454; 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=3FgspVwcq4bO14xlYZtRvmFO/Ap1NCPFVgqG67oRG/Y=; b=L7wr64R85l9gEA2ROAF08pgk/gZhLwtYu3yKlD47lHi2nFjGA7Su82uQqOZTdppLL2uZyT Ujq8ZsStV31s4l09+6AYpImoRpYddZ5Tu2fGFx3pYvUyEQDR4YpvUiM5ONkuif6x1iFTLi EFtlEi8thbC+BcT2lYNhSGaV6BHum73OnSJmnCXbk8U/0i5MsZ9HWclpDVxA5sXHHMK14l Yv0t+zhhe5QAhQjeHSREN8lOf1T1soOthphejeh68h9LRwF73nrJ6Uwm6Ghlgy9xH90uK+ /lguVKz+bJfWatiFXvxopkfGKb9lP/9KntJZlp5MsKcunN/qAq29mg36BmQX8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768602454; a=rsa-sha256; cv=none; b=msJ/2BJATCYxI05TWPPOMvZwpcemQUbC5RJ9ZLiZA44t4GKXKlQTmAiYMiqFbgZZUlGA4w rraiYbqt+7R9mYFJUxj728AJcOwJvYpa2J9hxkSDXOJMuXvU5vouTGfAcsC+qu4kS5DnpS PGUzP6b3TD6XhPyT6J0pd3C7nPWpi9AUgarchcxXrgHsott58ClD+q6Zm1oTOOem7K33Xx urzIXqKazoYtKsz/WlwVFTGIFq+/Q6VgEofwASVFDdttHraGX1ckoCalhzWP2DN9qoKS4T 6fchs1uM/pwlUAIXCtEMu59LoJ6typ+aKjA/yBQKIUY4ezs5eA3zTNdSv9SCmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtDxf4mwbzY9D for ; Fri, 16 Jan 2026 22:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35b8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 22:27:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 988555e329d0 - main - tdestroy: don't visit one-child node twice List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 988555e329d00a47c42e5e849e78c1b8e4ce2e17 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 22:27:34 +0000 Message-Id: <696abb56.35b8c.7fd6e468@gitrepo.freebsd.org> The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=988555e329d00a47c42e5e849e78c1b8e4ce2e17 commit 988555e329d00a47c42e5e849e78c1b8e4ce2e17 Author: Doug Moore AuthorDate: 2026-01-16 22:26:09 +0000 Commit: Doug Moore CommitDate: 2026-01-16 22:26:09 +0000 tdestroy: don't visit one-child node twice Change tdestroy() to immediately free a node with no right child as soon as it is encountered. Currently, such nodes are visited twice before deletion. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D54699 --- lib/libc/stdlib/tdestroy.c | 66 ++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/lib/libc/stdlib/tdestroy.c b/lib/libc/stdlib/tdestroy.c index c324e151da11..2aeb02228e46 100644 --- a/lib/libc/stdlib/tdestroy.c +++ b/lib/libc/stdlib/tdestroy.c @@ -16,53 +16,51 @@ nul_node_free(void *node __unused) { } -/* Find the leftmost node. */ -static posix_tnode * -tdestroy_find_leftmost(posix_tnode *tn) -{ - while (tn->llink != NULL) - tn = tn->llink; - return (tn); -} - -/* - * This algorithm for non-recursive non-allocating destruction of the tree - * is described in - * https://codegolf.stackexchange.com/questions/478/free-a-binary-tree/489#489P - * and in https://devblogs.microsoft.com/oldnewthing/20251107-00/?p=111774. - */ void tdestroy(void *rootp, void (*node_free)(void *)) { - posix_tnode *tn, *tn_leftmost, *xtn; + posix_tnode *back, *curr, **front; - tn = rootp; - if (tn == NULL) + if (rootp == NULL) return; if (node_free == NULL) node_free = nul_node_free; - tn_leftmost = tn; - while (tn != NULL) { + back = rootp; + front = &back; + + for (;;) { /* - * Make the right subtree the left subtree of the - * leftmost node, and recalculate the leftmost. + * The sequence of nodes from back to just before *front linked + * by llink have been found to have non-NULL rlink. + * + * Extend *front to (*front)->llink, deleting *front from the + * sequence if it has a NULL rlink. */ - tn_leftmost = tdestroy_find_leftmost(tn_leftmost); - if (tn->rlink != NULL) { - tn_leftmost->llink = tn->rlink; - tn_leftmost = tn_leftmost->llink; + curr = *front; + if (curr->rlink != NULL) + front = &curr->llink; + else { + *front = curr->llink; + node_free(curr->key); + free(curr); } + if (*front != NULL) + continue; + if (back == NULL) + break; /* - * At this point, all children of tn have been - * arranged to be reachable via tn->left. We can - * safely delete the current node and advance to its - * left child as the new root. + * The sequence cannot be extended because *front is NULL. Make + * the rlink of the back node the new *front, the llink of the + * back node the new back, and free the old back node. */ - xtn = tn->llink; - node_free(tn->key); - free(tn); - tn = xtn; + curr = back; + back = curr->llink; + if (back == NULL) + front = &back; + *front = curr->rlink; + node_free(curr->key); + free(curr); } } From nobody Fri Jan 16 23:32:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtGNT3Bfmz6P3br for ; Fri, 16 Jan 2026 23:32: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtGNT2fpyz40NR for ; Fri, 16 Jan 2026 23:32:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768606345; 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=56uoS2DUKoTkwpfDWH0xWNqhItALJUTdoRQyabIk0o8=; b=fqKS8AiBF4JAwcuHkRcuIX5iVmwmiPlk0vv6THlrz7vx/+7zIpPGIW6fyS+No3A0Ca/xOv FUsVpT84qawE4nYXB6Tl5ysGkebp8j8LDvfxelwXE245taScnLjdshtjpgfeBxiDlYVF/9 DO5Ai2kc1SHv8ygdkrEmgqDG8gPO9YSZ/cahrfD1iGyskGL0p5LFn5Kooc3wwBv1BxdrW7 AAIQW0JCvdLs/8hboSELJ454OB2h82iEBm+yMChcl+/Dm4s4LsJgGSOSt1hIk4DfMzmWjS AgMkAKNUAMJn1a0O9IYuINISIsDzEJypovSCgqF910jpsfA9UplA329IdbJjeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768606345; 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=56uoS2DUKoTkwpfDWH0xWNqhItALJUTdoRQyabIk0o8=; b=FcWmOZVY7FB7lfVX6pfg0GUbKYjqIB4FtBFJaWwqY1HGalnrAO6rPQktMsz7U4C+RD/Zj/ ze50tFevYbmL7lfNJsh2cFcmHfpR3dhr6aS38bX3EhUU7647GOQyHNqNJ75sPcMipqWYcF yuotKsoG0Ep+yjIBJtTWevo43RTkalaiF1EayW6fFWahVqNv3zAi2NfLacn7dCFh9rYTOR PP1jD+pM5HX0rg4Hunqv+61VxXfzn4iXN9CrGUmNtbqMoEcI1zlbHaf8BbhLQqK8frUpvi A44ARn4bxVCIbsx3FM94O9Q9THHWyWfflRApcuhuRIu2E9PMhQbIm2t4a9d6zw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768606345; a=rsa-sha256; cv=none; b=bF+3kUlww9BO8U1Sic7IjHR9j5O9sojxRDRy6i+T3O1gpdkXo9ZYARt9RQofqccvoJJbgc iiFRcsMSrsYo8S7FkQzPtf82hnRhs4rPdAcjBOF9RlC99mmwynCr9R0aiSWqPN31U8s+WC rbnRKwfMSCO0ROmEhhGrrCvPFFZCvACu0Kg2n59TdTiyFZKWKFwlPak7yKDo3HgGCt8ut5 +BOywwXXiQ+FO5WDb0rZ4N0e3KtrZhdc0JcjQFUBWWl0gZTiIpqTA6+zVEQMyY7UqWwpTw PJa5T7stY20dpnI/TeQmUlo+IeN7CwWF1rJQYIsuMZekXE3d+r2t3aH/VHiIdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtGNN2FV3zbwf for ; Fri, 16 Jan 2026 23:32:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b9c9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 23:32:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 74cac745fe30 - main - mxge(4): avoid clang 21 warning in NO-IP configuration List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 74cac745fe302b26ad22114f60735c8b73e90571 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 23:32:20 +0000 Message-Id: <696aca84.3b9c9.1005b681@gitrepo.freebsd.org> The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=74cac745fe302b26ad22114f60735c8b73e90571 commit 74cac745fe302b26ad22114f60735c8b73e90571 Author: Dimitry Andric AuthorDate: 2026-01-15 11:31:29 +0000 Commit: Dimitry Andric CommitDate: 2026-01-16 23:31:50 +0000 mxge(4): avoid clang 21 warning in NO-IP configuration Building the LINT-NOIP kernel on amd64 with clang 21 results in a -Werror warning similar to: sys/dev/mxge/if_mxge.c:1846:44: error: variable 'sum' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer] 1846 | cksum_offset, sizeof(sum), (caddr_t)&sum); | ^~~ Indeed, if both `INET` and `INET6` are undefined, `sum` is never initialized. Initialize it to zero to silence the warning. Reviewed by: jhibbits MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54730 --- sys/dev/mxge/if_mxge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index f36f41d53b40..ca2267098c4f 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -1804,7 +1804,7 @@ mxge_encap_tso(struct mxge_slice_state *ss, struct mbuf *m, uint32_t low, high_swapped; int len, seglen, cum_len, cum_len_next; int next_is_first, chop, cnt, rdma_count, small; - uint16_t pseudo_hdr_offset, cksum_offset, mss, sum; + uint16_t pseudo_hdr_offset, cksum_offset, mss, sum = 0; uint8_t flags, flags_next; static int once; From nobody Sat Jan 17 00:44:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzD6Px5z6P7Dw for ; Sat, 17 Jan 2026 00:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtHzD5gsvz3Bvn for ; Sat, 17 Jan 2026 00:44:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610648; 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=sqQTlygsOEF2sc+L5g10cXiP6F2YiDJSJ7YnOm24h7E=; b=E2YP3KVtSla6VNCRviwW/n3GVL9A/QCfUr89Z8u7vnWysYlk/Y3ioe5lgD2a8JGt2fuCfY 88pRvSCF+Cpa+9SOGIAFDV9MAeAfiWgNETed4CN2AmYFFQPoTiL4kG3vBtNtkS4PREJ70g tRngtTmUkuu/iP8ai63iT7oZH3lAeG4B5FtoG0pVcG14dKFQ8hiL/KDx6yPdyzKgdAI7fZ kpWK5AQ3bZU/bflCl1sWG9E9KzBysEDNqpmWkeuTkGt5pWqBs4FilSdTC02ThvMaoZsIiT HeF+OLqSGEhKTtfS5j/O8UWL0mv1BHX/A7e/qUprdPt7GNkKu+ZcLlBFMacWlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610648; 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=sqQTlygsOEF2sc+L5g10cXiP6F2YiDJSJ7YnOm24h7E=; b=IH7qIvHYtGOnyF2GOxv4MGCdkOBBpLluCgXAY7HERbZPcD9PKK/2u+jenyczZa6P/MoctH fDyoMImftChsQV6mEts4JLtZIFPAqdvw4Q5uZKmrDjFteaPaxdJOzm8nSgcW+x+yTSTJ87 k+9wWeULMDzrHkzgUWHb3LxAJJsRq5vd9TUV1dwe/tYUGDEELtA6Ix1vhHY7k0s4IjhyN8 4KARBsW46Hvm7GfcO2EP75vYP1RWkqPtPi7DmORXkqSGWTE4I+S+/1P0IjDgmF2n5Vi27A OmcQMG1exBAzm7aPkjZwuDsc8Yp1HkDLXma1ggAqfLH6nuOs2FDSZvJFREnsfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768610648; a=rsa-sha256; cv=none; b=Xrjkh3JLOFN3uKAWmq2td2+RdOkoDZJ9gl0xH83R+R3qhj/lfEEd3WCNUcvf5dO3d8QSt/ 9D6T885a3DGikIcId14JEbqrzgBapgqSgGzU0YVQ5hATpv0ltMjAs/jIIXtVNoe3kJEkso PZz9SZfWhlEl/NWDmf6xcvEMwDxc+ICQ8ZASw7LKEbSdtPDQhbKGc7Qxl7h6+SkeiH1shH HO23j4A+sqSQiEHfnheXze/ah5phRLAPEe4EsfhzIvU5gF3UQcJoSsDVSJw0DsENaLWQRD g21RpVsCC0J8wMXzGtMnWJNiFY3yWIs6Yb9+8+dexmF4bMQTdWdxEBuTQ5terg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzD5DQpzdr7 for ; Sat, 17 Jan 2026 00:44:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4399f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 00:44:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: f102a1834933 - main - net: on interface detach purge all its routes before detaching protocols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f102a18349335bfda1eb373a64eb1ba7462cd6bb Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 00:44:08 +0000 Message-Id: <696adb58.4399f.434ba2e1@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f102a18349335bfda1eb373a64eb1ba7462cd6bb commit f102a18349335bfda1eb373a64eb1ba7462cd6bb Author: Gleb Smirnoff AuthorDate: 2026-01-17 00:38:02 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 00:38:02 +0000 net: on interface detach purge all its routes before detaching protocols Otherwise, a forwarding thread may use the interface being detached. This is a regression from 0d469d23715d, which manifests itself as a reliably reproducible panic in in6_selecthlim(). Note that there are old bug reports about such a panic, and I believe this change will not fix them, as their nature is not due to a screwed up detach sequence, but due to lack of proper epoch(9) based synchronization between the detach and forwarding. Reviewed by: pouria Reported & tested by: jhibbits PR: 292162 Fixes: 0d469d23715d690b863787ebfa51529e1f6a9092 Differential Revision: https://reviews.freebsd.org/D54721 --- sys/net/if.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 4ddf8a69b3f0..047ccd2ecda7 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1115,6 +1115,8 @@ if_detach_internal(struct ifnet *ifp, bool vmove) altq_detach(&ifp->if_snd); #endif + rt_flushifroutes(ifp); + if_purgeaddrs(ifp); EVENTHANDLER_INVOKE(ifnet_departure_event, ifp); if_purgemaddrs(ifp); @@ -1139,8 +1141,6 @@ if_detach_internal(struct ifnet *ifp, bool vmove) } else IF_ADDR_WUNLOCK(ifp); } - - rt_flushifroutes(ifp); } #ifdef VIMAGE From nobody Sat Jan 17 00:44:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzH2NmKz6P70R for ; Sat, 17 Jan 2026 00:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtHzH07h5z3ByJ for ; Sat, 17 Jan 2026 00:44:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610651; 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=JfmxADH+SDn4tE6LQd246lbxeKkM6Bek8W1Jy6j/ueE=; b=nElfr9dbeZKFkKZsXo7OjIjhMrwCN2FC9A2nJzAZm8czgCvjRTAyJOfUwOdl2V6RgrabHG 6dMIgt2Oka0LR8XaK4K79s8my99Yxp3bsq1+QzCRn9X26TIvx6vPuF8Vkei6u4SpFXJKPW NY5ylxOONjunx9QDMZHeOUATcMCrHHjg/PLS3DQFIYXe62F5IDFDPdDYTOpWfHVqNeQGyV CirK3iecIYfEBwBuJ9g0AlVsAgYER1jM61iNEPRNBZIkUrFxtFWAIyXC5vGkEpxxZ38mtc j+tq7Bdy4Jz3KjY8mNHGAqc/CwyOhf84ifwQIjvWkB/pRr1eyj9ZD3WP40X9cQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610651; 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=JfmxADH+SDn4tE6LQd246lbxeKkM6Bek8W1Jy6j/ueE=; b=NU0oABMOjqdgNwehzuUWTrKun30OBy6+hQ9gXwzxUfrkY9uFkaI725OwdzbsctMvlgy+0R vXnuhyFaEqBgJFLiYTO9xAwIWboebSXIhbtNeInOE3OSTXZRNdlMw/Sq82FMW8z2kpOhIr 0uxSK4msfdvgW0m88GwofbWQIzzwpvRBiaSaDUti3EingGDo0NwOEv4rScAVP/dLBqGsY1 v6oL46UizOxe/yk3TOPz7Fvs89PAj0xwEXr87O2hdD0yn4Bx1y0x5Is0wcz6lWMdgelPqP LwMXCfk1MA9URCcL8BzITLfxRBcGJDM6/jf157ht1HHEQmzJy4eleF+0SnwQ/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768610651; a=rsa-sha256; cv=none; b=rr7aZG8pVkhvNk8Bluhab7Lf3nIEqj//qVKbBEpHacyx50FuDC929PjvcreypEgGap5aLc 7dykmSkYJG71xHi+jgmtNgLZhcIC3X7VUb9vndPBLx48y37yYcP7V8BCn97e39JxyRig3d H0vcYYBSiC1uHafl0T4f61gMxDqlp018czlZRgzfAnr+qo9J4dV+YSbccERPYxltKiBdxK H1EA2g1lc+6ZLeBFzM+eZokPXMNGnoSZXxhGMaPJ1Qc8AgTNWqdde5gpON24uBJAdkW5YM /h2B43dn52Pe0ZxdiQcUFk7p42tV3mAJZswegVEnX7zMFBi940jb3cmg7IXJoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzG6rwSzdlf for ; Sat, 17 Jan 2026 00:44:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4357c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 00:44:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: e3caa360d5d0 - main - ipfw: make the upper half lock sleepable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3caa360d5d0a73af0de1d293d5b8ff6e900ceb4 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 00:44:10 +0000 Message-Id: <696adb5a.4357c.7040c8ed@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e3caa360d5d0a73af0de1d293d5b8ff6e900ceb4 commit e3caa360d5d0a73af0de1d293d5b8ff6e900ceb4 Author: Gleb Smirnoff AuthorDate: 2026-01-17 00:39:01 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 00:39:01 +0000 ipfw: make the upper half lock sleepable The so called upper half ipfw lock is not used in the forwarding path. It is used only during configuration changes and servicing system events like interface arrival/departure or vnet creation. The original code drops the lock before malloc(M_WAITOK) and then goes into great efforts to recover from possible races. But the races still exist, e.g. create_table() would first check for table existence, but then drop the lock. The change also fixes unlock leak in check_table_space() in a branch that apparently was never entered. Changing to a sleepable lock we can reduce a lot of existing complexity associated with race recovery, and as use the lock to cover other configuration time allocations, like recently added per-rule bpf(4) taps. This change doesn't remove much of a race recovery code, to ease bisection in case of a regression. This will be done in a separate commit. This change just removes lock drops during configuration events. The only reduction is removal of get_map(), which is a straightforward reduce to a simple malloc(9). The only sleepable context where the lock was acquired was dyn_tick(). The comment said it is done to prevent parallel execution of dyn_expire_states(). However, there is proper internal locking in there and function should be safe to execute in parallel. The real problem is dyn_expire_states() called via userland to race with dyn_grow_hashtable() called via dyn_tick(). Protect against this condition with the main chain lock. Differential Revision: https://reviews.freebsd.org/D54535 --- sys/netpfil/ipfw/ip_fw2.c | 3 -- sys/netpfil/ipfw/ip_fw_dynamic.c | 37 +++++++---------- sys/netpfil/ipfw/ip_fw_iface.c | 5 --- sys/netpfil/ipfw/ip_fw_nat.c | 5 --- sys/netpfil/ipfw/ip_fw_private.h | 20 ++++----- sys/netpfil/ipfw/ip_fw_sockopt.c | 79 ++++++------------------------------ sys/netpfil/ipfw/ip_fw_table.c | 38 ++++------------- sys/netpfil/ipfw/ip_fw_table_value.c | 13 +----- 8 files changed, 47 insertions(+), 153 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c index 4e13e6e55f1d..5d5aeb7c2746 100644 --- a/sys/netpfil/ipfw/ip_fw2.c +++ b/sys/netpfil/ipfw/ip_fw2.c @@ -3741,12 +3741,9 @@ vnet_ipfw_uninit(const void *unused) last = IS_DEFAULT_VNET(curvnet) ? 1 : 0; IPFW_UH_WLOCK(chain); - IPFW_UH_WUNLOCK(chain); ipfw_dyn_uninit(0); /* run the callout_drain */ - IPFW_UH_WLOCK(chain); - reap = NULL; IPFW_WLOCK(chain); for (i = 0; i < chain->n_rules; i++) diff --git a/sys/netpfil/ipfw/ip_fw_dynamic.c b/sys/netpfil/ipfw/ip_fw_dynamic.c index d454024ac5cb..99fd72de5e0a 100644 --- a/sys/netpfil/ipfw/ip_fw_dynamic.c +++ b/sys/netpfil/ipfw/ip_fw_dynamic.c @@ -663,6 +663,8 @@ dyn_create(struct ip_fw_chain *ch, struct tid_info *ti, ipfw_obj_ntlv *ntlv; char *name; + IPFW_UH_WLOCK_ASSERT(ch); + DYN_DEBUG("uidx %u", ti->uidx); if (ti->uidx != 0) { if (ti->tlvs == NULL) @@ -681,7 +683,6 @@ dyn_create(struct ip_fw_chain *ch, struct tid_info *ti, obj->no.etlv = IPFW_TLV_STATE_NAME; strlcpy(obj->name, name, sizeof(obj->name)); - IPFW_UH_WLOCK(ch); no = ipfw_objhash_lookup_name_type(ni, 0, IPFW_TLV_STATE_NAME, name); if (no != NULL) { @@ -691,14 +692,12 @@ dyn_create(struct ip_fw_chain *ch, struct tid_info *ti, */ *pkidx = no->kidx; no->refcnt++; - IPFW_UH_WUNLOCK(ch); free(obj, M_IPFW); DYN_DEBUG("\tfound kidx %u for name '%s'", *pkidx, no->name); return (0); } if (ipfw_objhash_alloc_idx(ni, &obj->no.kidx) != 0) { DYN_DEBUG("\talloc_idx failed for %s", name); - IPFW_UH_WUNLOCK(ch); free(obj, M_IPFW); return (ENOSPC); } @@ -706,7 +705,6 @@ dyn_create(struct ip_fw_chain *ch, struct tid_info *ti, SRV_OBJECT(ch, obj->no.kidx) = obj; obj->no.refcnt++; *pkidx = obj->no.kidx; - IPFW_UH_WUNLOCK(ch); DYN_DEBUG("\tcreated kidx %u for name '%s'", *pkidx, name); return (0); } @@ -2145,9 +2143,6 @@ dyn_free_states(struct ip_fw_chain *chain) * Userland can invoke ipfw_expire_dyn_states() to delete * specific states, this will lead to modification of expired * lists. - * - * XXXAE: do we need DYN_EXPIRED_LOCK? We can just use - * IPFW_UH_WLOCK to protect access to these lists. */ DYN_EXPIRED_LOCK(); DYN_FREE_STATES(s4, s4n, ipv4); @@ -2306,8 +2301,6 @@ dyn_expire_states(struct ip_fw_chain *ch, ipfw_range_tlv *rt) void *rule; int bucket, removed, length, max_length; - IPFW_UH_WLOCK_ASSERT(ch); - /* * Unlink expired states from each bucket. * With acquired bucket lock iterate entries of each lists: @@ -2733,10 +2726,6 @@ dyn_grow_hashtable(struct ip_fw_chain *chain, uint32_t new, int flags) s, entry); \ } \ } while (0) - /* - * Prevent rules changing from userland. - */ - IPFW_UH_WLOCK(chain); /* * Hold traffic processing until we finish resize to * prevent access to states lists. @@ -2780,7 +2769,6 @@ dyn_grow_hashtable(struct ip_fw_chain *chain, uint32_t new, int flags) V_curr_dyn_buckets = new; IPFW_WUNLOCK(chain); - IPFW_UH_WUNLOCK(chain); /* Release old resources */ while (bucket-- != 0) @@ -2818,15 +2806,8 @@ dyn_tick(void *vnetx) * First free states unlinked in previous passes. */ dyn_free_states(&V_layer3_chain); - /* - * Now unlink others expired states. - * We use IPFW_UH_WLOCK to avoid concurrent call of - * dyn_expire_states(). It is the only function that does - * deletion of state entries from states lists. - */ - IPFW_UH_WLOCK(&V_layer3_chain); dyn_expire_states(&V_layer3_chain, NULL); - IPFW_UH_WUNLOCK(&V_layer3_chain); + /* * Send keepalives if they are enabled and the time has come. */ @@ -2863,14 +2844,24 @@ dyn_tick(void *vnetx) void ipfw_expire_dyn_states(struct ip_fw_chain *chain, ipfw_range_tlv *rt) { + IPFW_RLOCK_TRACKER; + /* * Do not perform any checks if we currently have no dynamic states */ if (V_dyn_count == 0) return; - IPFW_UH_WLOCK_ASSERT(chain); + /* + * Acquire read lock to prevent race with dyn_grow_hashtable() called + * via dyn_tick(). Note that dyn_tick() also calls dyn_expire_states(), + * but doesn't acquire the chain lock. A race between dyn_tick() and + * this function should be safe, as dyn_expire_states() does all proper + * locking of buckets and expire lists. + */ + IPFW_RLOCK(chain); dyn_expire_states(chain, rt); + IPFW_RUNLOCK(chain); } /* diff --git a/sys/netpfil/ipfw/ip_fw_iface.c b/sys/netpfil/ipfw/ip_fw_iface.c index 71a25e84ec2b..7aa4a7bfbf7d 100644 --- a/sys/netpfil/ipfw/ip_fw_iface.c +++ b/sys/netpfil/ipfw/ip_fw_iface.c @@ -320,9 +320,7 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, * First request to subsystem. * Let's perform init. */ - IPFW_UH_WUNLOCK(ch); vnet_ipfw_iface_init(ch); - IPFW_UH_WLOCK(ch); ii = CHAIN_TO_II(ch); } @@ -335,8 +333,6 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, return (0); } - IPFW_UH_WUNLOCK(ch); - /* Not found. Let's create one */ iif = malloc(sizeof(struct ipfw_iface), M_IPFW, M_WAITOK | M_ZERO); TAILQ_INIT(&iif->consumers); @@ -350,7 +346,6 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, * are not holding any locks. */ iif->no.refcnt = 1; - IPFW_UH_WLOCK(ch); tmp = (struct ipfw_iface *)ipfw_objhash_lookup_name(ii, 0, name); if (tmp != NULL) { diff --git a/sys/netpfil/ipfw/ip_fw_nat.c b/sys/netpfil/ipfw/ip_fw_nat.c index 8bd27f6885ab..75f12511a264 100644 --- a/sys/netpfil/ipfw/ip_fw_nat.c +++ b/sys/netpfil/ipfw/ip_fw_nat.c @@ -503,7 +503,6 @@ nat44_config(struct ip_fw_chain *chain, struct nat44_cfg_nat *ucfg) gencnt = chain->gencnt; ptr = lookup_nat_name(&chain->nat, ucfg->name); if (ptr == NULL) { - IPFW_UH_WUNLOCK(chain); /* New rule: allocate and init new instance. */ ptr = malloc(sizeof(struct cfg_nat), M_IPFW, M_WAITOK | M_ZERO); ptr->lib = LibAliasInit(NULL); @@ -514,7 +513,6 @@ nat44_config(struct ip_fw_chain *chain, struct nat44_cfg_nat *ucfg) LIST_REMOVE(ptr, _next); flush_nat_ptrs(chain, ptr->id); IPFW_WUNLOCK(chain); - IPFW_UH_WUNLOCK(chain); } /* @@ -543,7 +541,6 @@ nat44_config(struct ip_fw_chain *chain, struct nat44_cfg_nat *ucfg) del_redir_spool_cfg(ptr, &ptr->redir_chain); /* Add new entries. */ add_redir_spool_cfg((char *)(ucfg + 1), ptr); - IPFW_UH_WLOCK(chain); /* Extra check to avoid race with another ipfw_nat_cfg() */ tcfg = NULL; @@ -1049,7 +1046,6 @@ retry: len += sizeof(struct cfg_spool_legacy); } } - IPFW_UH_RUNLOCK(chain); data = malloc(len, M_TEMP, M_WAITOK | M_ZERO); bcopy(&nat_cnt, data, sizeof(nat_cnt)); @@ -1057,7 +1053,6 @@ retry: nat_cnt = 0; len = sizeof(nat_cnt); - IPFW_UH_RLOCK(chain); if (gencnt != chain->gencnt) { free(data, M_TEMP); goto retry; diff --git a/sys/netpfil/ipfw/ip_fw_private.h b/sys/netpfil/ipfw/ip_fw_private.h index 582bdf8b1c2c..af592fc4c6c0 100644 --- a/sys/netpfil/ipfw/ip_fw_private.h +++ b/sys/netpfil/ipfw/ip_fw_private.h @@ -323,7 +323,7 @@ struct ip_fw_chain { #if defined( __linux__ ) || defined( _WIN32 ) spinlock_t uh_lock; #else - struct rwlock uh_lock; /* lock for upper half */ + struct sx uh_lock; /* lock for upper half */ #endif }; @@ -451,12 +451,12 @@ struct ipfw_ifc { #else /* FreeBSD */ #define IPFW_LOCK_INIT(_chain) do { \ rm_init_flags(&(_chain)->rwmtx, "IPFW static rules", RM_RECURSE); \ - rw_init(&(_chain)->uh_lock, "IPFW UH lock"); \ + sx_init(&(_chain)->uh_lock, "IPFW UH lock"); \ } while (0) #define IPFW_LOCK_DESTROY(_chain) do { \ rm_destroy(&(_chain)->rwmtx); \ - rw_destroy(&(_chain)->uh_lock); \ + sx_destroy(&(_chain)->uh_lock); \ } while (0) #define IPFW_RLOCK_ASSERT(_chain) rm_assert(&(_chain)->rwmtx, RA_RLOCKED) @@ -471,14 +471,14 @@ struct ipfw_ifc { #define IPFW_PF_RUNLOCK(p) IPFW_RUNLOCK(p) #endif -#define IPFW_UH_RLOCK_ASSERT(_chain) rw_assert(&(_chain)->uh_lock, RA_RLOCKED) -#define IPFW_UH_WLOCK_ASSERT(_chain) rw_assert(&(_chain)->uh_lock, RA_WLOCKED) -#define IPFW_UH_UNLOCK_ASSERT(_chain) rw_assert(&(_chain)->uh_lock, RA_UNLOCKED) +#define IPFW_UH_RLOCK_ASSERT(_chain) sx_assert(&(_chain)->uh_lock, SA_SLOCKED) +#define IPFW_UH_WLOCK_ASSERT(_chain) sx_assert(&(_chain)->uh_lock, SA_XLOCKED) +#define IPFW_UH_UNLOCK_ASSERT(_chain) sx_assert(&(_chain)->uh_lock, SA_UNLOCKED) -#define IPFW_UH_RLOCK(p) rw_rlock(&(p)->uh_lock) -#define IPFW_UH_RUNLOCK(p) rw_runlock(&(p)->uh_lock) -#define IPFW_UH_WLOCK(p) rw_wlock(&(p)->uh_lock) -#define IPFW_UH_WUNLOCK(p) rw_wunlock(&(p)->uh_lock) +#define IPFW_UH_RLOCK(p) sx_slock(&(p)->uh_lock) +#define IPFW_UH_RUNLOCK(p) sx_sunlock(&(p)->uh_lock) +#define IPFW_UH_WLOCK(p) sx_xlock(&(p)->uh_lock) +#define IPFW_UH_WUNLOCK(p) sx_xunlock(&(p)->uh_lock) struct obj_idx { uint32_t uidx; /* internal index supplied by userland */ diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c index 4e87865e966e..4c67eaa9cbba 100644 --- a/sys/netpfil/ipfw/ip_fw_sockopt.c +++ b/sys/netpfil/ipfw/ip_fw_sockopt.c @@ -337,44 +337,15 @@ ipfw_destroy_skipto_cache(struct ip_fw_chain *chain) } /* - * allocate a new map, returns the chain locked. extra is the number - * of entries to add or delete. - */ -static struct ip_fw ** -get_map(struct ip_fw_chain *chain, int extra, int locked) -{ - - for (;;) { - struct ip_fw **map; - u_int i, mflags; - - mflags = M_ZERO | ((locked != 0) ? M_NOWAIT : M_WAITOK); - - i = chain->n_rules + extra; - map = malloc(i * sizeof(struct ip_fw *), M_IPFW, mflags); - if (map == NULL) { - printf("%s: cannot allocate map\n", __FUNCTION__); - return NULL; - } - if (!locked) - IPFW_UH_WLOCK(chain); - if (i >= chain->n_rules + extra) /* good */ - return map; - /* otherwise we lost the race, free and retry */ - if (!locked) - IPFW_UH_WUNLOCK(chain); - free(map, M_IPFW); - } -} - -/* - * swap the maps. It is supposed to be called with IPFW_UH_WLOCK + * swap the maps. */ static struct ip_fw ** swap_map(struct ip_fw_chain *chain, struct ip_fw **new_map, int new_len) { struct ip_fw **old_map; + IPFW_UH_WLOCK_ASSERT(chain); + IPFW_WLOCK(chain); chain->id++; chain->n_rules = new_len; @@ -459,6 +430,7 @@ ipfw_commit_rules(struct ip_fw_chain *chain, struct rule_check_info *rci, struct ip_fw *krule; struct ip_fw **map; /* the new array of pointers */ + IPFW_UH_WLOCK(chain); /* Check if we need to do table/obj index remap */ tcount = 0; for (ci = rci, i = 0; i < count; ci++, i++) { @@ -484,8 +456,6 @@ ipfw_commit_rules(struct ip_fw_chain *chain, struct rule_check_info *rci, * We have some more table rules * we need to rollback. */ - - IPFW_UH_WLOCK(chain); while (ci != rci) { ci--; if (ci->object_opcodes == 0) @@ -493,33 +463,16 @@ ipfw_commit_rules(struct ip_fw_chain *chain, struct rule_check_info *rci, unref_rule_objects(chain,ci->krule); } - IPFW_UH_WUNLOCK(chain); - } - + IPFW_UH_WUNLOCK(chain); return (error); } tcount++; } - /* get_map returns with IPFW_UH_WLOCK if successful */ - map = get_map(chain, count, 0 /* not locked */); - if (map == NULL) { - if (tcount > 0) { - /* Unbind tables */ - IPFW_UH_WLOCK(chain); - for (ci = rci, i = 0; i < count; ci++, i++) { - if (ci->object_opcodes == 0) - continue; - - unref_rule_objects(chain, ci->krule); - } - IPFW_UH_WUNLOCK(chain); - } - - return (ENOSPC); - } + map = malloc((chain->n_rules + count) * sizeof(struct ip_fw *), + M_IPFW, M_ZERO | M_WAITOK); if (V_autoinc_step < 1) V_autoinc_step = 1; @@ -572,9 +525,9 @@ ipfw_add_protected_rule(struct ip_fw_chain *chain, struct ip_fw *rule) { struct ip_fw **map; - map = get_map(chain, 1, 0); - if (map == NULL) - return (ENOMEM); + IPFW_UH_WLOCK(chain); + map = malloc((chain->n_rules + 1) * sizeof(struct ip_fw *), + M_IPFW, M_ZERO | M_WAITOK); if (chain->n_rules > 0) bcopy(chain->map, map, chain->n_rules * sizeof(struct ip_fw *)); @@ -812,12 +765,8 @@ delete_range(struct ip_fw_chain *chain, ipfw_range_tlv *rt, int *ndel) } /* Allocate new map of the same size */ - map = get_map(chain, 0, 1 /* locked */); - if (map == NULL) { - IPFW_UH_WUNLOCK(chain); - return (ENOMEM); - } - + map = malloc(chain->n_rules * sizeof(struct ip_fw *), + M_IPFW, M_ZERO | M_WAITOK); n = 0; ndyn = 0; ofs = start; @@ -2227,7 +2176,7 @@ ref_rule_objects(struct ip_fw_chain *ch, struct ip_fw *rule, cmdlen = 0; error = 0; - IPFW_UH_WLOCK(ch); + IPFW_UH_WLOCK_ASSERT(ch); /* Increase refcount on each existing referenced table. */ for ( ; l > 0 ; l -= cmdlen, cmd += cmdlen) { @@ -2250,10 +2199,8 @@ ref_rule_objects(struct ip_fw_chain *ch, struct ip_fw *rule, if (error != 0) { /* Unref everything we have already done */ unref_oib_objects(ch, rule->cmd, oib, pidx); - IPFW_UH_WUNLOCK(ch); return (error); } - IPFW_UH_WUNLOCK(ch); /* Perform auto-creation for non-existing objects */ if (pidx != oib) diff --git a/sys/netpfil/ipfw/ip_fw_table.c b/sys/netpfil/ipfw/ip_fw_table.c index 96f550e66e4c..94ab4297dfb8 100644 --- a/sys/netpfil/ipfw/ip_fw_table.c +++ b/sys/netpfil/ipfw/ip_fw_table.c @@ -277,7 +277,6 @@ create_table_compat(struct ip_fw_chain *ch, struct tid_info *ti, * creating new one. * * Saves found table config into @ptc. - * Note function may drop/acquire UH_WLOCK. * Returns 0 if table was found/created and referenced * or non-zero return code. */ @@ -321,9 +320,7 @@ find_ref_table(struct ip_fw_chain *ch, struct tid_info *ti, if ((tei->flags & TEI_FLAGS_COMPAT) == 0) return (ESRCH); - IPFW_UH_WUNLOCK(ch); error = create_table_compat(ch, ti, &kidx); - IPFW_UH_WLOCK(ch); if (error != 0) return (error); @@ -560,12 +557,10 @@ add_table_entry(struct ip_fw_chain *ch, struct tid_info *ti, */ restart: if (ts.modified != 0) { - IPFW_UH_WUNLOCK(ch); flush_batch_buffer(ch, ta, tei, count, rollback, ta_buf_m, ta_buf); memset(&ts, 0, sizeof(ts)); ta = NULL; - IPFW_UH_WLOCK(ch); } error = find_ref_table(ch, ti, tei, count, OP_ADD, &tc); @@ -586,14 +581,12 @@ restart: ts.count = count; rollback = 0; add_toperation_state(ch, &ts); - IPFW_UH_WUNLOCK(ch); /* Allocate memory and prepare record(s) */ /* Pass stack buffer by default */ ta_buf_m = ta_buf; error = prepare_batch_buffer(ch, ta, tei, count, OP_ADD, &ta_buf_m); - IPFW_UH_WLOCK(ch); del_toperation_state(ch, &ts); /* Drop reference we've used in first search */ tc->no.refcnt--; @@ -612,8 +605,6 @@ restart: /* * Link all values values to shared/per-table value array. - * - * May release/reacquire UH_WLOCK. */ error = ipfw_link_table_values(ch, &ts, flags); if (error != 0) @@ -623,7 +614,7 @@ restart: /* * Ensure we are able to add all entries without additional - * memory allocations. May release/reacquire UH_WLOCK. + * memory allocations. */ kidx = tc->no.kidx; error = check_table_space(ch, &ts, tc, KIDX_TO_TI(ch, kidx), count); @@ -730,7 +721,6 @@ del_table_entry(struct ip_fw_chain *ch, struct tid_info *ti, return (error); } ta = tc->ta; - IPFW_UH_WUNLOCK(ch); /* Allocate memory and prepare record(s) */ /* Pass stack buffer by default */ @@ -739,8 +729,6 @@ del_table_entry(struct ip_fw_chain *ch, struct tid_info *ti, if (error != 0) goto cleanup; - IPFW_UH_WLOCK(ch); - /* Drop reference we've used in first search */ tc->no.refcnt--; @@ -841,12 +829,10 @@ check_table_space(struct ip_fw_chain *ch, struct tableop_state *ts, /* We have to shrink/grow table */ if (ts != NULL) add_toperation_state(ch, ts); - IPFW_UH_WUNLOCK(ch); memset(&ta_buf, 0, sizeof(ta_buf)); error = ta->prepare_mod(ta_buf, &pflags); - IPFW_UH_WLOCK(ch); if (ts != NULL) del_toperation_state(ch, ts); @@ -866,8 +852,6 @@ check_table_space(struct ip_fw_chain *ch, struct tableop_state *ts, /* Check if we still need to alter table */ ti = KIDX_TO_TI(ch, tc->no.kidx); if (ta->need_modify(tc->astate, ti, count, &pflags) == 0) { - IPFW_UH_WUNLOCK(ch); - /* * Other thread has already performed resize. * Flush our state and return. @@ -1185,7 +1169,6 @@ restart: tflags = tc->tflags; tc->no.refcnt++; add_toperation_state(ch, &ts); - IPFW_UH_WUNLOCK(ch); /* * Stage 1.5: if this is not the first attempt, destroy previous state @@ -1205,7 +1188,6 @@ restart: * Stage 3: swap old state pointers with newly-allocated ones. * Decrease refcount. */ - IPFW_UH_WLOCK(ch); tc->no.refcnt--; del_toperation_state(ch, &ts); @@ -1742,6 +1724,7 @@ create_table(struct ip_fw_chain *ch, ip_fw3_opheader *op3, char *tname, *aname; struct tid_info ti; struct namedobj_instance *ni; + int rv; if (sd->valsize != sizeof(*oh) + sizeof(ipfw_xtable_info)) return (EINVAL); @@ -1769,14 +1752,15 @@ create_table(struct ip_fw_chain *ch, ip_fw3_opheader *op3, ni = CHAIN_TO_NI(ch); - IPFW_UH_RLOCK(ch); + IPFW_UH_WLOCK(ch); if (find_table(ni, &ti) != NULL) { - IPFW_UH_RUNLOCK(ch); + IPFW_UH_WUNLOCK(ch); return (EEXIST); } - IPFW_UH_RUNLOCK(ch); + rv = create_table_internal(ch, &ti, aname, i, NULL, 0); + IPFW_UH_WUNLOCK(ch); - return (create_table_internal(ch, &ti, aname, i, NULL, 0)); + return (rv); } /* @@ -1797,6 +1781,8 @@ create_table_internal(struct ip_fw_chain *ch, struct tid_info *ti, struct table_algo *ta; uint32_t kidx; + IPFW_UH_WLOCK_ASSERT(ch); + ni = CHAIN_TO_NI(ch); ta = find_table_algo(CHAIN_TO_TCFG(ch), ti, aname); @@ -1814,8 +1800,6 @@ create_table_internal(struct ip_fw_chain *ch, struct tid_info *ti, else tc->locked = (i->flags & IPFW_TGFLAGS_LOCKED) != 0; - IPFW_UH_WLOCK(ch); - /* Check if table has been already created */ tc_new = find_table(ni, ti); if (tc_new != NULL) { @@ -1825,7 +1809,6 @@ create_table_internal(struct ip_fw_chain *ch, struct tid_info *ti, * which has the same type */ if (compat == 0 || tc_new->no.subtype != tc->no.subtype) { - IPFW_UH_WUNLOCK(ch); free_table_config(ni, tc); return (EEXIST); } @@ -1837,7 +1820,6 @@ create_table_internal(struct ip_fw_chain *ch, struct tid_info *ti, } else { /* New table */ if (ipfw_objhash_alloc_idx(ni, &kidx) != 0) { - IPFW_UH_WUNLOCK(ch); printf("Unable to allocate table index." " Consider increasing net.inet.ip.fw.tables_max"); free_table_config(ni, tc); @@ -1854,8 +1836,6 @@ create_table_internal(struct ip_fw_chain *ch, struct tid_info *ti, if (pkidx != NULL) *pkidx = tc->no.kidx; - IPFW_UH_WUNLOCK(ch); - if (tc_new != NULL) free_table_config(ni, tc_new); diff --git a/sys/netpfil/ipfw/ip_fw_table_value.c b/sys/netpfil/ipfw/ip_fw_table_value.c index e09323cd02c3..17c355820fde 100644 --- a/sys/netpfil/ipfw/ip_fw_table_value.c +++ b/sys/netpfil/ipfw/ip_fw_table_value.c @@ -167,7 +167,6 @@ update_tvalue(struct namedobj_instance *ni, struct named_object *no, void *arg) /* * Grows value storage shared among all tables. - * Drops/reacquires UH locks. * Notifies other running adds on @ch shared storage resize. * Note function does not guarantee that free space * will be available after invocation, so one caller needs @@ -200,15 +199,11 @@ resize_shared_value_storage(struct ip_fw_chain *ch) if (val_size == (1 << 30)) return (ENOSPC); - IPFW_UH_WUNLOCK(ch); - valuestate = malloc(sizeof(struct table_value) * val_size, M_IPFW, M_WAITOK | M_ZERO); ipfw_objhash_bitmap_alloc(val_size, (void *)&new_idx, &new_blocks); - IPFW_UH_WLOCK(ch); - /* * Check if we still need to resize */ @@ -359,7 +354,6 @@ rollback_table_values(struct tableop_state *ts) /* * Allocate new value index in either shared or per-table array. - * Function may drop/reacquire UH lock. * * Returns 0 on success. */ @@ -375,9 +369,7 @@ alloc_table_vidx(struct ip_fw_chain *ch, struct tableop_state *ts, error = ipfw_objhash_alloc_idx(vi, &vidx); if (error != 0) { /* - * We need to resize array. This involves - * lock/unlock, so we need to check "modified" - * state. + * We need to resize array. */ ts->opstate.func(ts->tc, &ts->opstate); error = resize_shared_value_storage(ch); @@ -525,7 +517,6 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, add_toperation_state(ch, ts); /* Ensure table won't disappear */ tc_ref(tc); - IPFW_UH_WUNLOCK(ch); /* * Stage 2: allocate objects for non-existing values. @@ -544,7 +535,6 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, * Stage 3: allocate index numbers for new values * and link them to index. */ - IPFW_UH_WLOCK(ch); tc_unref(tc); del_toperation_state(ch, ts); if (ts->modified != 0) { @@ -572,7 +562,6 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, continue; } - /* May perform UH unlock/lock */ error = alloc_table_vidx(ch, ts, vi, &vidx, flags); if (error != 0) { ts->opstate.func(ts->tc, &ts->opstate); From nobody Sat Jan 17 00:44:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzG4Chfz6P6m8 for ; Sat, 17 Jan 2026 00:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtHzF6dbrz3Bvw for ; Sat, 17 Jan 2026 00:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610650; 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=idzvkalbONUpuTSCYk5FtSIazuHaYQUdbAF+7glbqS0=; b=B5g946vcBChB3u1q18e/rFfndTWH0nomgXT7i6o95VSKlv+duP0nBhNF4HSA/p5uNw4/dX VPC30zitnmfNufSgVByTzavBErji/g2xdhFHJMwBIZGlQt6va5EfnUCfzts4TriYt5DMy5 IWFC5FztPI5+79Lmt+qJ8Q66wHwoFnJgQEzBZyO8qF5TFPB4A7GDHzTpvFpQ3dsgy8JV1d q4b/wmYR9nAPPz8dLNWhmcldoCL4hA+5m+rXnK/WuhQn4aY77hkwKIx4nxCeBIL00LCZWq PqiUQAlQlAEkZhT2pAyHcaqQMmO69gih8El4B1TB4hHJXw2MeYvAkB1Zes17/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610650; 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=idzvkalbONUpuTSCYk5FtSIazuHaYQUdbAF+7glbqS0=; b=e6hGuxB/Dt/4++sQ4s6fFaeQ4dIbIy5xMwL1thT5VUW6rxCR8ZPWPLgxEfWpbFUD8HSxb7 75mADj8qb4PHRtw2Ggsf8kcxVZHrmX5NgoYMJNfgaXLtq9QX0SDpac1L4PsyBrj978TttV 2BzlURjAp6YWkiN80umakmLr5OKxaYzLymUQOvTAdZjr6SlpMTK9kCl28rtdnnxUix+mLV toz2o5Viq6JgHrUvp8xfhmFf0ePy+sTVtfrutEESy0SseNY1idk8fFiy4iBnd96Fo7tO1C /KkrPn07HNIx1k35qg4pdTyZeppwYFN0kP/SExS0nrrFijodS7TUKhxftImwNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768610650; a=rsa-sha256; cv=none; b=DBHu7Q3Zub+b51gDA1UapBTFbewX6puNdMHTBitWctw1HL1YksCNYJ8AuRsshQJz+Wkuqq NHBrzX9+pN8Fs/Twf2tTIeJHkeKnfJwTWjtWwvT+gyNfQVwif5MSqJRzZBV9t64qwfLIQv JPrLGhsvaZrjjOP8O7jW1zeKH2J6JsciOIGUP6gYFSY5LlE9/6Q+Kb0fHCpMmb9mxiCqw6 Mpyl9mBSCfZtunWhksPzkivyW70MUWhaQ7SsvLMZdShFG9OZl1nzbCeOGa4IG4hBD/Z48W MoQLpYDPw7QlAwP5uKny/gjKD4sXkIYHnFmdI91+p4ARS/FlxudRSmIL6C/pTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzF60TMzdtZ for ; Sat, 17 Jan 2026 00:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 438ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 00:44:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 7eac31c83ee3 - main - tests/ipfw: add a simple fuzzing test for ipfw tables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7eac31c83ee3fca6a2c19ee0aa21a310e0050f51 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 00:44:09 +0000 Message-Id: <696adb59.438ea.792092cf@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=7eac31c83ee3fca6a2c19ee0aa21a310e0050f51 commit 7eac31c83ee3fca6a2c19ee0aa21a310e0050f51 Author: Gleb Smirnoff AuthorDate: 2026-01-17 00:38:41 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 00:38:41 +0000 tests/ipfw: add a simple fuzzing test for ipfw tables Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D54579 --- tests/sys/netpfil/ipfw/Makefile | 3 +- tests/sys/netpfil/ipfw/table.sh | 96 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/tests/sys/netpfil/ipfw/Makefile b/tests/sys/netpfil/ipfw/Makefile index d4dbdb00f251..92a8c9fdb2cd 100644 --- a/tests/sys/netpfil/ipfw/Makefile +++ b/tests/sys/netpfil/ipfw/Makefile @@ -3,7 +3,8 @@ PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/netpfil/ipfw ATF_TESTS_SH+= fwd \ - divert + divert \ + table ${PACKAGE}FILES+= fwd_inetd.conf diff --git a/tests/sys/netpfil/ipfw/table.sh b/tests/sys/netpfil/ipfw/table.sh new file mode 100755 index 000000000000..5ce1c22f8e7d --- /dev/null +++ b/tests/sys/netpfil/ipfw/table.sh @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2026 Gleb Smirnoff +# +# 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 AUTHOR 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 AUTHOR 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. + +. $(atf_get_srcdir)/../common/utils.subr + +atf_test_case "fuzz" "cleanup" +fuzz_head() +{ + atf_set descr 'Create couple tables and fuzzes them' + atf_set require.user root +} + +fuzz_body() +{ + firewall_init "ipfw" + + epair=$(vnet_mkepair) + vnet_mkjail sender ${epair}a + jexec sender ifconfig ${epair}a 192.0.2.0/31 up + jexec sender route add 10.0.0.0/8 192.0.2.1 + + vnet_mkjail receiver ${epair}b + jexec receiver ifconfig lo0 127.0.0.1/8 up + jexec receiver ifconfig ${epair}b 192.0.2.1/31 up + jexec receiver route add 10.0.0.0/8 -blackhole -iface lo0 + + jexec receiver ipfw add 100 count ip from any to table\(tb0\) + jexec receiver ipfw add 200 count ip from any to table\(tb1\) + + ( jexec sender sh -c \ + 'while true; do \ + oct=$(od -An -N1 -tu1 < /dev/urandom); \ + oct=$(echo $oct); \ + ping -c 5 -i .01 -W .01 10.0.0.${oct} >/dev/null; \ + done' ) & + pinger=$! + + ( jexec receiver sh -c \ + 'while true; do \ + set -- $(od -An -N2 -tu1 < /dev/urandom); \ + ipfw -q table tb$(($1 % 2)) add 10.0.0.$2; \ + done' ) & + adder=$! + + ( jexec receiver sh -c \ + 'while true; do \ + set -- $(od -An -N2 -tu1 < /dev/urandom); \ + ipfw -q table tb$(($1 % 2)) del 10.0.0.$2; \ + done' ) & + deleter=$! + + ( jexec receiver sh -c \ + 'while true; do \ + ipfw table tb0 swap tb1; \ + sleep .25; \ + done' ) & + swapper=$! + + sleep 30 + kill $pinger + kill $adder + kill $deleter + kill $swapper +} + +fuzz_cleanup() +{ + firewall_cleanup $1 +} + +atf_init_test_cases() +{ + atf_add_test_case "fuzz" +} From nobody Sat Jan 17 00:44:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzJ2BcXz6P6m9 for ; Sat, 17 Jan 2026 00:44: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtHzJ14Dfz3BwF for ; Sat, 17 Jan 2026 00:44:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610652; 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=zGMQLKfXlSjDa9gZzyUZBVKB49+W7PSf3DEL1YYewyc=; b=ySaoHx4sZT/HO5kcaiDlivE3Qix1WSkDRtOU1h8mcL3/oCaHoS305MlnIXj7kLp+/27yV1 wrqRwAqYwx7G7LyiiL7RcQ8eWZZX92MDHdTb63pFlrL6FCESUmA9x0Cy8lbcpMHEQ6sU0w KXzAVAe0w6eUIKlCJ1UPh5IzHPO6JnF8SsWzruZ37RKcYRfZYHBnLqnk7x1Cqi6CmsKcWX uTeqrDHQSzNNHpBK1YickBj8N8BOxnEB64UNOm4trJtao3FBZIRbqVWqPDn2QBl3KcKhhF 6BnqB388GnptFkXdklbfqzCJ3aPBceTm/X2WKd7YKE4ntlAUCTiS4ONYVc1bpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768610652; 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=zGMQLKfXlSjDa9gZzyUZBVKB49+W7PSf3DEL1YYewyc=; b=ei8c72XRK9on60RfpYDqLTy4fs/SjXpDEHtWlY615DKOvSEwwozEal0CjEUNi3s5GN2Y8y W96zpVpOs9krsJYfgFBzcMelfY5AmPG+wGmHirbZ/BYHXSCl4yO771Su05d8OPo1TGEX0w nxgHEnUMIsk03bsA7NwJgSbfzETaP8DaZ+iS6CHiAOxSE6+IQpaWWkCJuciBJGMEEQxRs+ METfz8F2UNsw9JlD0LlniLQnXAEQkiOGaUOaRw3GCYbFUMM44VtjRlxL7Rfwy2CLpckDiJ I8oceZ+UZsypWh1JLrmhJo3nSpOyWX2dlVyILHUI2XhRgfgS/63NpFvi/QKTYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768610652; a=rsa-sha256; cv=none; b=Y3VPf7YrRn1wHWASMiFXt04az0nEucMl4odI+MWloOtni7q8gH+qmGWNsjCBcMVwBQUvyO ZEUxRRG2v0lgaLamxEJjYjL+nQQONaDSjsHztS9xIKYynriU/sMl35EBiHwXWg78OpuuqM DHhXdJ8Mqq2MpvjAzlQl7VwhpOqeNH7xHqj/u56QPg+OieZ5mYYQcXoOUhkKTeocWEsPMv dbjQypPe/edc0X16XRqPA7fTBjyefVTtTS0EmcUOu+b3zsiX1Wl9G32UpI9dPGmTFMuIyK Rp2ZD8AtONktu2UxDMh7XJ06TDHs4OUgQoogqMBEhTGL6fOusr2BPvoVVSs3kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtHzJ0YyLzdtd for ; Sat, 17 Jan 2026 00:44:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44100 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 00:44:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: b0c13e7e2446 - main - ipfw: remove locking workarounds in the table code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0c13e7e2446fde7c559d2b15cc3c2f8d8b959f8 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 00:44:12 +0000 Message-Id: <696adb5c.44100.2d0d3199@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=b0c13e7e2446fde7c559d2b15cc3c2f8d8b959f8 commit b0c13e7e2446fde7c559d2b15cc3c2f8d8b959f8 Author: Gleb Smirnoff AuthorDate: 2026-01-17 00:39:13 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 00:39:13 +0000 ipfw: remove locking workarounds in the table code Before the "upper half lock" became sleepable the table manipulation code needed sophisticated workarounds to recover from races, where the lock is temporarily dropped to do malloc(M_WAITOK). Remove all these workarounds as they are no longer needed. Differential Revision: https://reviews.freebsd.org/D54580 --- sys/netpfil/ipfw/ip_fw_table.c | 253 ++--------------------------------- sys/netpfil/ipfw/ip_fw_table.h | 76 +++++------ sys/netpfil/ipfw/ip_fw_table_value.c | 112 +++------------- 3 files changed, 68 insertions(+), 373 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_table.c b/sys/netpfil/ipfw/ip_fw_table.c index 94ab4297dfb8..dde18d41ab15 100644 --- a/sys/netpfil/ipfw/ip_fw_table.c +++ b/sys/netpfil/ipfw/ip_fw_table.c @@ -61,34 +61,6 @@ #include #include - /* - * Table has the following `type` concepts: - * - * `no.type` represents lookup key type (addr, ifp, uid, etc..) - * vmask represents bitmask of table values which are present at the moment. - * Special IPFW_VTYPE_LEGACY ( (uint32_t)-1 ) represents old - * single-value-for-all approach. - */ -struct table_config { - struct named_object no; - uint8_t tflags; /* type flags */ - uint8_t locked; /* 1 if locked from changes */ - uint8_t linked; /* 1 if already linked */ - uint8_t ochanged; /* used by set swapping */ - uint8_t vshared; /* 1 if using shared value array */ - uint8_t spare[3]; - uint32_t count; /* Number of records */ - uint32_t limit; /* Max number of records */ - uint32_t vmask; /* bitmask with supported values */ - uint32_t ocount; /* used by set swapping */ - uint64_t gencnt; /* generation count */ - char tablename[64]; /* table name */ - struct table_algo *ta; /* Callbacks for given algo */ - void *astate; /* algorithm state */ - struct table_info ti_copy; /* data to put to table_info */ - struct namedobj_instance *vi; -}; - static int find_table_err(struct namedobj_instance *ni, struct tid_info *ti, struct table_config **tc); static struct table_config *find_table(struct namedobj_instance *ni, @@ -115,8 +87,8 @@ static int swap_tables(struct ip_fw_chain *ch, struct tid_info *a, struct tid_info *b); static int check_table_name(const char *name); -static int check_table_space(struct ip_fw_chain *ch, struct tableop_state *ts, - struct table_config *tc, struct table_info *ti, uint32_t count); +static int check_table_space(struct ip_fw_chain *ch, struct table_config *tc, + struct table_info *ti, uint32_t count); static int destroy_table(struct ip_fw_chain *ch, struct tid_info *ti); static struct table_algo *find_table_algo(struct tables_config *tableconf, @@ -130,49 +102,6 @@ static void ntlv_to_ti(struct _ipfw_obj_ntlv *ntlv, struct tid_info *ti); #define TA_BUF_SZ 128 /* On-stack buffer for add/delete state */ -void -rollback_toperation_state(struct ip_fw_chain *ch, void *object) -{ - struct tables_config *tcfg; - struct op_state *os; - - tcfg = CHAIN_TO_TCFG(ch); - TAILQ_FOREACH(os, &tcfg->state_list, next) - os->func(object, os); -} - -void -add_toperation_state(struct ip_fw_chain *ch, struct tableop_state *ts) -{ - struct tables_config *tcfg; - - tcfg = CHAIN_TO_TCFG(ch); - TAILQ_INSERT_HEAD(&tcfg->state_list, &ts->opstate, next); -} - -void -del_toperation_state(struct ip_fw_chain *ch, struct tableop_state *ts) -{ - struct tables_config *tcfg; - - tcfg = CHAIN_TO_TCFG(ch); - TAILQ_REMOVE(&tcfg->state_list, &ts->opstate, next); -} - -void -tc_ref(struct table_config *tc) -{ - - tc->no.refcnt++; -} - -void -tc_unref(struct table_config *tc) -{ - - tc->no.refcnt--; -} - static struct table_value * get_table_value(struct ip_fw_chain *ch, struct table_config *tc, uint32_t kidx) { @@ -473,57 +402,9 @@ flush_batch_buffer(struct ip_fw_chain *ch, struct table_algo *ta, free(ta_buf_m, M_TEMP); } -static void -rollback_add_entry(void *object, struct op_state *_state) -{ - struct ip_fw_chain *ch __diagused; - struct tableop_state *ts; - - ts = (struct tableop_state *)_state; - - if (ts->tc != object && ts->ch != object) - return; - - ch = ts->ch; - - IPFW_UH_WLOCK_ASSERT(ch); - - /* Call specifid unlockers */ - rollback_table_values(ts); - - /* Indicate we've called */ - ts->modified = 1; -} - /* * Adds/updates one or more entries in table @ti. * - * Function may drop/reacquire UH wlock multiple times due to - * items alloc, algorithm callbacks (check_space), value linkage - * (new values, value storage realloc), etc.. - * Other processes like other adds (which may involve storage resize), - * table swaps (which changes table data and may change algo type), - * table modify (which may change value mask) may be executed - * simultaneously so we need to deal with it. - * - * The following approach was implemented: - * we have per-chain linked list, protected with UH lock. - * add_table_entry prepares special on-stack structure wthich is passed - * to its descendants. Users add this structure to this list before unlock. - * After performing needed operations and acquiring UH lock back, each user - * checks if structure has changed. If true, it rolls local state back and - * returns without error to the caller. - * add_table_entry() on its own checks if structure has changed and restarts - * its operation from the beginning (goto restart). - * - * Functions which are modifying fields of interest (currently - * resize_shared_value_storage() and swap_tables() ) - * traverses given list while holding UH lock immediately before - * performing their operations calling function provided be list entry - * ( currently rollback_add_entry ) which performs rollback for all necessary - * state and sets appropriate values in structure indicating rollback - * has happened. - * * Algo interaction: * Function references @ti first to ensure table won't * disappear or change its type. @@ -542,86 +423,47 @@ add_table_entry(struct ip_fw_chain *ch, struct tid_info *ti, struct table_config *tc; struct table_algo *ta; struct tentry_info *ptei; - struct tableop_state ts; char ta_buf[TA_BUF_SZ]; caddr_t ta_buf_m, v; uint32_t kidx, num, numadd; - int error, first_error, i, rollback; + int error, first_error, i, rollback = 0; - memset(&ts, 0, sizeof(ts)); - ta = NULL; IPFW_UH_WLOCK(ch); /* * Find and reference existing table. */ -restart: - if (ts.modified != 0) { - flush_batch_buffer(ch, ta, tei, count, rollback, - ta_buf_m, ta_buf); - memset(&ts, 0, sizeof(ts)); - ta = NULL; - } - error = find_ref_table(ch, ti, tei, count, OP_ADD, &tc); if (error != 0) { IPFW_UH_WUNLOCK(ch); return (error); } + /* Drop reference we've used in first search */ + tc->no.refcnt--; ta = tc->ta; - /* Fill in tablestate */ - ts.ch = ch; - ts.opstate.func = rollback_add_entry; - ts.tc = tc; - ts.vshared = tc->vshared; - ts.vmask = tc->vmask; - ts.ta = ta; - ts.tei = tei; - ts.count = count; - rollback = 0; - add_toperation_state(ch, &ts); - /* Allocate memory and prepare record(s) */ /* Pass stack buffer by default */ ta_buf_m = ta_buf; error = prepare_batch_buffer(ch, ta, tei, count, OP_ADD, &ta_buf_m); - - del_toperation_state(ch, &ts); - /* Drop reference we've used in first search */ - tc->no.refcnt--; - - /* Check prepare_batch_buffer() error */ if (error != 0) goto cleanup; - /* - * Check if table swap has happened. - * (so table algo might be changed). - * Restart operation to achieve consistent behavior. - */ - if (ts.modified != 0) - goto restart; - /* * Link all values values to shared/per-table value array. */ - error = ipfw_link_table_values(ch, &ts, flags); + error = ipfw_link_table_values(ch, tc, tei, count, flags); if (error != 0) goto cleanup; - if (ts.modified != 0) - goto restart; /* * Ensure we are able to add all entries without additional * memory allocations. */ kidx = tc->no.kidx; - error = check_table_space(ch, &ts, tc, KIDX_TO_TI(ch, kidx), count); + error = check_table_space(ch, tc, KIDX_TO_TI(ch, kidx), count); if (error != 0) goto cleanup; - if (ts.modified != 0) - goto restart; /* We've got valid table in @tc. Let's try to add data */ kidx = tc->no.kidx; @@ -681,7 +523,7 @@ restart: /* Permit post-add algorithm grow/rehash. */ if (numadd != 0) - check_table_space(ch, NULL, tc, KIDX_TO_TI(ch, kidx), 0); + check_table_space(ch, tc, KIDX_TO_TI(ch, kidx), 0); /* Return first error to user, if any */ error = first_error; @@ -767,7 +609,7 @@ del_table_entry(struct ip_fw_chain *ch, struct tid_info *ti, if (numdel != 0) { /* Run post-del hook to permit shrinking */ - check_table_space(ch, NULL, tc, KIDX_TO_TI(ch, kidx), 0); + check_table_space(ch, tc, KIDX_TO_TI(ch, kidx), 0); } IPFW_UH_WUNLOCK(ch); @@ -796,8 +638,8 @@ cleanup: * Returns 0 on success. */ static int -check_table_space(struct ip_fw_chain *ch, struct tableop_state *ts, - struct table_config *tc, struct table_info *ti, uint32_t count) +check_table_space(struct ip_fw_chain *ch, struct table_config *tc, + struct table_info *ti, uint32_t count) { struct table_algo *ta; uint64_t pflags; @@ -826,29 +668,11 @@ check_table_space(struct ip_fw_chain *ch, struct tableop_state *ts, break; } - /* We have to shrink/grow table */ - if (ts != NULL) - add_toperation_state(ch, ts); - memset(&ta_buf, 0, sizeof(ta_buf)); error = ta->prepare_mod(ta_buf, &pflags); - - if (ts != NULL) - del_toperation_state(ch, ts); - if (error != 0) break; - if (ts != NULL && ts->modified != 0) { - /* - * Swap operation has happened - * so we're currently operating on other - * table data. Stop doing this. - */ - ta->flush_mod(ta_buf); - break; - } - /* Check if we still need to alter table */ ti = KIDX_TO_TI(ch, tc->no.kidx); if (ta->need_modify(tc->astate, ti, count, &pflags) == 0) { @@ -1097,20 +921,6 @@ flush_table_v0(struct ip_fw_chain *ch, ip_fw3_opheader *op3, return (error); } -static void -restart_flush(void *object, struct op_state *_state) -{ - struct tableop_state *ts; - - ts = (struct tableop_state *)_state; - - if (ts->tc != object) - return; - - /* Indicate we've called */ - ts->modified = 1; -} - /* * Flushes given table. * @@ -1129,8 +939,7 @@ flush_table(struct ip_fw_chain *ch, struct tid_info *ti) struct table_info ti_old, ti_new, *tablestate; void *astate_old, *astate_new; char algostate[64], *pstate; - struct tableop_state ts; - int error, need_gc; + int error; uint32_t kidx; uint8_t tflags; @@ -1144,15 +953,8 @@ flush_table(struct ip_fw_chain *ch, struct tid_info *ti) IPFW_UH_WUNLOCK(ch); return (ESRCH); } - need_gc = 0; astate_new = NULL; memset(&ti_new, 0, sizeof(ti_new)); -restart: - /* Set up swap handler */ - memset(&ts, 0, sizeof(ts)); - ts.opstate.func = restart_flush; - ts.tc = tc; - ta = tc->ta; /* Do not flush readonly tables */ if ((ta->flags & TA_FLAG_READONLY) != 0) { @@ -1167,16 +969,6 @@ restart: } else pstate = NULL; tflags = tc->tflags; - tc->no.refcnt++; - add_toperation_state(ch, &ts); - - /* - * Stage 1.5: if this is not the first attempt, destroy previous state - */ - if (need_gc != 0) { - ta->destroy(astate_new, &ti_new); - need_gc = 0; - } /* * Stage 2: allocate new table instance using same algo. @@ -1188,26 +980,11 @@ restart: * Stage 3: swap old state pointers with newly-allocated ones. * Decrease refcount. */ - tc->no.refcnt--; - del_toperation_state(ch, &ts); - if (error != 0) { IPFW_UH_WUNLOCK(ch); return (error); } - /* - * Restart operation if table swap has happened: - * even if algo may be the same, algo init parameters - * may change. Restart operation instead of doing - * complex checks. - */ - if (ts.modified != 0) { - /* Delay destroying data since we're holding UH lock */ - need_gc = 1; - goto restart; - } - ni = CHAIN_TO_NI(ch); kidx = tc->no.kidx; tablestate = (struct table_info *)ch->tablestate; @@ -1347,10 +1124,6 @@ swap_tables(struct ip_fw_chain *ch, struct tid_info *a, return (EACCES); } - /* Notify we're going to swap */ - rollback_toperation_state(ch, tc_a); - rollback_toperation_state(ch, tc_b); - /* Everything is fine, prepare to swap */ tablestate = (struct table_info *)ch->tablestate; ti = tablestate[tc_a->no.kidx]; @@ -1541,7 +1314,7 @@ ipfw_ref_table(struct ip_fw_chain *ch, ipfw_obj_ntlv *ntlv, uint32_t *kidx) if (tc == NULL) return (ESRCH); - tc_ref(tc); + tc->no.refcnt++; *kidx = tc->no.kidx; return (0); diff --git a/sys/netpfil/ipfw/ip_fw_table.h b/sys/netpfil/ipfw/ip_fw_table.h index 1dd7b198236d..5cc596bd821c 100644 --- a/sys/netpfil/ipfw/ip_fw_table.h +++ b/sys/netpfil/ipfw/ip_fw_table.h @@ -32,7 +32,39 @@ */ #ifdef _KERNEL -struct table_algo; +/* + * Table has the following `type` concepts: + * + * `no.type` represents lookup key type (addr, ifp, uid, etc..) + * vmask represents bitmask of table values which are present at the moment. + * Special IPFW_VTYPE_LEGACY ( (uint32_t)-1 ) represents old + * single-value-for-all approach. + */ +struct table_config { + struct named_object no; + uint8_t tflags; /* type flags */ + uint8_t locked; /* 1 if locked from changes */ + uint8_t linked; /* 1 if already linked */ + uint8_t ochanged; /* used by set swapping */ + uint8_t vshared; /* 1 if using shared value array */ + uint8_t spare[3]; + uint32_t count; /* Number of records */ + uint32_t limit; /* Max number of records */ + uint32_t vmask; /* bitmask with supported values */ + uint32_t ocount; /* used by set swapping */ + uint64_t gencnt; /* generation count */ + char tablename[64]; /* table name */ + struct table_algo *ta; /* Callbacks for given algo */ + void *astate; /* algorithm state */ + struct table_info { + table_lookup_t *lookup;/* Lookup function */ + void *state; /* Lookup radix/other structure */ + void *xstate;/* eXtended state */ + u_long data; /* Hints for given func */ + } ti_copy; /* data to put to table_info */ + struct namedobj_instance *vi; +}; + struct tables_config { struct namedobj_instance *namehash; struct namedobj_instance *valhash; @@ -40,18 +72,9 @@ struct tables_config { uint32_t algo_count; struct table_algo *algo[256]; struct table_algo *def_algo[IPFW_TABLE_MAXTYPE + 1]; - TAILQ_HEAD(op_state_l,op_state) state_list; }; #define CHAIN_TO_TCFG(chain) ((struct tables_config *)(chain)->tblcfg) -struct table_info { - table_lookup_t *lookup; /* Lookup function */ - void *state; /* Lookup radix/other structure */ - void *xstate; /* eXtended state */ - u_long data; /* Hints for given func */ -}; - -struct table_value; struct tentry_info { void *paddr; struct table_value *pvalue; @@ -159,18 +182,16 @@ int flush_table(struct ip_fw_chain *ch, struct tid_info *ti); /* ipfw_table_value.c functions */ struct table_config; -struct tableop_state; void ipfw_table_value_init(struct ip_fw_chain *ch, int first); void ipfw_table_value_destroy(struct ip_fw_chain *ch, int last); -int ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, - uint8_t flags); +int ipfw_link_table_values(struct ip_fw_chain *ch, struct table_config *tc, + struct tentry_info *tei, uint32_t count, uint8_t flags); void ipfw_garbage_table_values(struct ip_fw_chain *ch, struct table_config *tc, struct tentry_info *tei, uint32_t count, int rollback); void ipfw_import_table_value_v1(ipfw_table_value *iv); void ipfw_export_table_value_v1(struct table_value *v, ipfw_table_value *iv); void ipfw_unref_table_values(struct ip_fw_chain *ch, struct table_config *tc, struct table_algo *ta, void *astate, struct table_info *ti); -void rollback_table_values(struct tableop_state *ts); int ipfw_rewrite_table_uidx(struct ip_fw_chain *chain, struct rule_check_info *ci); @@ -189,32 +210,5 @@ void ipfw_swap_tables_sets(struct ip_fw_chain *ch, uint32_t old_set, int ipfw_foreach_table_tentry(struct ip_fw_chain *ch, uint32_t kidx, ta_foreach_f f, void *arg); -/* internal functions */ -void tc_ref(struct table_config *tc); -void tc_unref(struct table_config *tc); - -struct op_state; -typedef void (op_rollback_f)(void *object, struct op_state *state); -struct op_state { - TAILQ_ENTRY(op_state) next; /* chain link */ - op_rollback_f *func; -}; - -struct tableop_state { - struct op_state opstate; - struct ip_fw_chain *ch; - struct table_config *tc; - struct table_algo *ta; - struct tentry_info *tei; - uint32_t count; - uint32_t vmask; - int vshared; - int modified; -}; - -void add_toperation_state(struct ip_fw_chain *ch, struct tableop_state *ts); -void del_toperation_state(struct ip_fw_chain *ch, struct tableop_state *ts); -void rollback_toperation_state(struct ip_fw_chain *ch, void *object); - #endif /* _KERNEL */ #endif /* _IPFW2_TABLE_H */ diff --git a/sys/netpfil/ipfw/ip_fw_table_value.c b/sys/netpfil/ipfw/ip_fw_table_value.c index 17c355820fde..d428c3aacf40 100644 --- a/sys/netpfil/ipfw/ip_fw_table_value.c +++ b/sys/netpfil/ipfw/ip_fw_table_value.c @@ -125,13 +125,13 @@ mask_table_value(struct table_value *src, struct table_value *dst, } static void -get_value_ptrs(struct ip_fw_chain *ch, struct table_config *tc, int vshared, +get_value_ptrs(struct ip_fw_chain *ch, struct table_config *tc, struct table_value **ptv, struct namedobj_instance **pvi) { struct table_value *pval; struct namedobj_instance *vi; - if (vshared != 0) { + if (tc->vshared != 0) { pval = (struct table_value *)ch->valuestate; vi = CHAIN_TO_VI(ch); } else { @@ -212,7 +212,6 @@ resize_shared_value_storage(struct ip_fw_chain *ch) /* Update pointers and notify everyone we're changing @ch */ pval = (struct table_value *)ch->valuestate; - rollback_toperation_state(ch, ch); /* Good. Let's merge */ memcpy(valuestate, pval, sizeof(struct table_value) * tcfg->val_size); @@ -317,48 +316,13 @@ ipfw_unref_table_values(struct ip_fw_chain *ch, struct table_config *tc, ta->foreach(astate, ti, unref_table_value_cb, &fa); } -/* - * Table operation state handler. - * Called when we are going to change something in @tc which - * may lead to inconsistencies in on-going table data addition. - * - * Here we rollback all already committed state (table values, currently) - * and set "modified" field to non-zero value to indicate - * that we need to restart original operation. - */ -void -rollback_table_values(struct tableop_state *ts) -{ - struct ip_fw_chain *ch; - struct table_value *pval; - struct tentry_info *ptei; - struct namedobj_instance *vi; - int i; - - ch = ts->ch; - - IPFW_UH_WLOCK_ASSERT(ch); - - /* Get current table value pointer */ - get_value_ptrs(ch, ts->tc, ts->vshared, &pval, &vi); - - for (i = 0; i < ts->count; i++) { - ptei = &ts->tei[i]; - - if (ptei->value == 0) - continue; - - unref_table_value(vi, pval, ptei->value); - } -} - /* * Allocate new value index in either shared or per-table array. * * Returns 0 on success. */ static int -alloc_table_vidx(struct ip_fw_chain *ch, struct tableop_state *ts, +alloc_table_vidx(struct ip_fw_chain *ch, struct table_config *tc, struct namedobj_instance *vi, uint32_t *pvidx, uint8_t flags) { int error, vlimit; @@ -366,17 +330,11 @@ alloc_table_vidx(struct ip_fw_chain *ch, struct tableop_state *ts, IPFW_UH_WLOCK_ASSERT(ch); - error = ipfw_objhash_alloc_idx(vi, &vidx); - if (error != 0) { - /* - * We need to resize array. - */ - ts->opstate.func(ts->tc, &ts->opstate); - error = resize_shared_value_storage(ch); - return (error); /* ts->modified should be set, we will restart */ - } + if ((error = ipfw_objhash_alloc_idx(vi, &vidx)) != 0 && + (error = resize_shared_value_storage(ch)) != 0) + return (error); - vlimit = ts->ta->vlimit; + vlimit = tc->ta->vlimit; if (vlimit != 0 && vidx >= vlimit && !(flags & IPFW_CTF_ATOMIC)) { /* * Algorithm is not able to store given index. @@ -384,7 +342,7 @@ alloc_table_vidx(struct ip_fw_chain *ch, struct tableop_state *ts, * per-table value array or return error * if we're already using it. */ - if (ts->vshared != 0) { + if (tc->vshared != 0) { /* shared -> per-table */ return (ENOSPC); /* TODO: proper error */ } @@ -429,9 +387,8 @@ ipfw_garbage_table_values(struct ip_fw_chain *ch, struct table_config *tc, /* * Get current table value pointers. - * XXX: Properly read vshared */ - get_value_ptrs(ch, tc, 1, &pval, &vi); + get_value_ptrs(ch, tc, &pval, &vi); for (i = 0; i < count; i++) { ptei = &tei[i]; @@ -462,14 +419,13 @@ ipfw_garbage_table_values(struct ip_fw_chain *ch, struct table_config *tc, * Success: return 0. */ int -ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, - uint8_t flags) +ipfw_link_table_values(struct ip_fw_chain *ch, struct table_config *tc, + struct tentry_info *tei, uint32_t count, uint8_t flags) { int error, i, found; struct namedobj_instance *vi; - struct table_config *tc; - struct tentry_info *tei, *ptei; - uint32_t count, vidx, vlimit; + struct tentry_info *ptei; + uint32_t vidx, vlimit; struct table_val_link *ptv; struct table_value tval, *pval; @@ -478,19 +434,16 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, * save their indices. */ IPFW_UH_WLOCK_ASSERT(ch); - get_value_ptrs(ch, ts->tc, ts->vshared, &pval, &vi); + get_value_ptrs(ch, tc, &pval, &vi); error = 0; found = 0; - vlimit = ts->ta->vlimit; + vlimit = tc->ta->vlimit; vidx = 0; - tc = ts->tc; - tei = ts->tei; - count = ts->count; for (i = 0; i < count; i++) { ptei = &tei[i]; ptei->value = 0; /* Ensure value is always 0 in the beginning */ - mask_table_value(ptei->pvalue, &tval, ts->vmask); + mask_table_value(ptei->pvalue, &tval, tc->vmask); ptv = (struct table_val_link *)ipfw_objhash_lookup_name(vi, 0, (char *)&tval); if (ptv == NULL) @@ -505,19 +458,11 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, found++; } - if (ts->count == found) { - /* We've found all values , no need ts create new ones */ + if (count == found) { + /* We've found all values, no need to create new ones. */ return (0); } - /* - * we have added some state here, let's attach operation - * state ts the list ts be able ts rollback if necessary. - */ - add_toperation_state(ch, ts); - /* Ensure table won't disappear */ - tc_ref(tc); - /* * Stage 2: allocate objects for non-existing values. */ @@ -535,17 +480,6 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, * Stage 3: allocate index numbers for new values * and link them to index. */ - tc_unref(tc); - del_toperation_state(ch, ts); - if (ts->modified != 0) { - /* - * In general, we should free all state/indexes here - * and return. However, we keep allocated state instead - * to ensure we achieve some progress on each restart. - */ - return (0); - } - KASSERT(pval == ch->valuestate, ("resize_storage() notify failure")); /* Let's try to link values */ @@ -553,7 +487,7 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, ptei = &tei[i]; /* Check if record has appeared */ - mask_table_value(ptei->pvalue, &tval, ts->vmask); + mask_table_value(ptei->pvalue, &tval, tc->vmask); ptv = (struct table_val_link *)ipfw_objhash_lookup_name(vi, 0, (char *)&tval); if (ptv != NULL) { @@ -562,14 +496,8 @@ ipfw_link_table_values(struct ip_fw_chain *ch, struct tableop_state *ts, continue; } - error = alloc_table_vidx(ch, ts, vi, &vidx, flags); - if (error != 0) { - ts->opstate.func(ts->tc, &ts->opstate); + if ((error = alloc_table_vidx(ch, tc, vi, &vidx, flags)) != 0) return (error); - } - /* value storage resize has happened, return */ - if (ts->modified != 0) - return (0); /* Finally, we have allocated valid index, let's add entry */ ptei->value = vidx; From nobody Sat Jan 17 02:08:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtKrh1hwyz6PCLl for ; Sat, 17 Jan 2026 02:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtKrg5TXpz3K0m for ; Sat, 17 Jan 2026 02:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768615715; 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=0T0H44DREYmW8mE2ML4vGSWue02o+Q8MuJXv1GbMMR8=; b=EMG4ZWM1akFush3LV8HB0agJd5DoMvQpwaYxF7E6EZsvvYUX7NdOH6q6HN8vj5/aGd05JA 4WGJEZpZEEc6CtaSDoDZbqJC5HORR7pQg6xakhCEZX0nB8zLER139+vUMpMOTlXsX4gMXu 84LkgTVQFHuQZeL2M+rCN/ts2Oo3LCaenMev+29RHkorQTXAhbx0XCx+Mhy4vGSMMzacOL hmTONjVAeU5AHk3sk7vTmkOzEWbNpZ/G3/+6x6z14uYloKyDyWJGAIk9SzGpP3o9UCjp1g 2b+shTZHb3S6ltMvLYpFHVjT7BpzKDrXJ+7lUs8mnUJw9UkNXHOZNX2HpasMVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768615715; 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=0T0H44DREYmW8mE2ML4vGSWue02o+Q8MuJXv1GbMMR8=; b=w8QQ0q8tkwyexzVZoYfGrm7Wgp+rxym+gA3FVGRhZJdrhyZbmxbGAZnOpe4TJ3HMkzgj2I +lRCFrL1+2HjIXUJxY+IclMhLXiuPngEaGGvFgti45vhJFkoNS5JZcxNzLKq/iKYRAXr62 fGg25FXZcp2HdgTaQmvBPj8NGgwLHN6/BT6Km1iCPX49dcBALSk0O2P3PuEvSU7MhrTU6c biwn/ZK1X0/7pNkm09Q3locKBeYn9mYnjz+YL/weRYdH0b1XDn4+8ZIUIXQp91Iiv4kXmT rKYiVVrted3nXqizCLLBH0tZy+akYPvRpwRZZlJeQkvojuvLmNQz8AQfuTirTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768615715; a=rsa-sha256; cv=none; b=lvj9xJPWMdYJv+4tl5PBMsLPrTvc5r9MXVVeJKpUbLD1S5n3O5cv57hHR8B8LqysWPJefb G5OLkROdBk3MdTerxL6HGLydhL0jWY6ijE+HFRXhAHPnxhFK2myXVGB22jWSISbpYsSUMc iRrxJK5iARJ3OGk0eeP61wMOgQsD61TEFzz74HUbA5gf9gLetvkJNgEa+dfe6NvORJK8LN wQmycWrBH4qU4vvB1e5dYLYY/63irN/puNStRsx5ADwb5ALqODHDDROYRLrJIQxRGNQyXp l35+Pp2cQbVjD/wTO2XSHpQFKLurtX0c+BtTR4hWBEj7+/TRW86M2qYGC2AljA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtKrg4C9Pzgjp for ; Sat, 17 Jan 2026 02:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b5c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 02:08:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3fe275c1ef45 - main - sendfile: remove calculation of unused bsize List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3fe275c1ef45d452d1adc537b7ec1ca6444739ba Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 02:08:35 +0000 Message-Id: <696aef23.b5c7.1dc11a36@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3fe275c1ef45d452d1adc537b7ec1ca6444739ba commit 3fe275c1ef45d452d1adc537b7ec1ca6444739ba Author: Konstantin Belousov AuthorDate: 2026-01-11 03:51:45 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-17 02:07:51 +0000 sendfile: remove calculation of unused bsize Reviewed by: glebius, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54713 --- sys/kern/kern_sendfile.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c index 6e924f70b2ab..a4178f5b9b2d 100644 --- a/sys/kern/kern_sendfile.c +++ b/sys/kern/kern_sendfile.c @@ -518,8 +518,7 @@ sendfile_swapin(vm_object_t obj, struct sf_io *sfio, int *nios, off_t off, static int sendfile_getobj(struct thread *td, struct file *fp, vm_object_t *obj_res, - struct vnode **vp_res, struct shmfd **shmfd_res, off_t *obj_size, - int *bsize) + struct vnode **vp_res, struct shmfd **shmfd_res, off_t *obj_size) { vm_object_t obj; struct vnode *vp; @@ -530,7 +529,6 @@ sendfile_getobj(struct thread *td, struct file *fp, vm_object_t *obj_res, vp = *vp_res = NULL; obj = NULL; shmfd = *shmfd_res = NULL; - *bsize = 0; /* * The file descriptor must be a regular file and have a @@ -543,7 +541,6 @@ sendfile_getobj(struct thread *td, struct file *fp, vm_object_t *obj_res, error = EINVAL; goto out; } - *bsize = vp->v_mount->mnt_stat.f_iosize; obj = vp->v_object; if (obj == NULL) { error = EINVAL; @@ -717,7 +714,7 @@ vn_sendfile(struct file *fp, int sockfd, struct uio *hdr_uio, struct shmfd *shmfd; struct vattr va; off_t off, sbytes, rem, obj_size, nobj_size; - int bsize, error, ext_pgs_idx, hdrlen, max_pgs, softerr; + int error, ext_pgs_idx, hdrlen, max_pgs, softerr; #ifdef KERN_TLS int tls_enq_cnt; #endif @@ -733,7 +730,7 @@ vn_sendfile(struct file *fp, int sockfd, struct uio *hdr_uio, softerr = 0; use_ext_pgs = false; - error = sendfile_getobj(td, fp, &obj, &vp, &shmfd, &obj_size, &bsize); + error = sendfile_getobj(td, fp, &obj, &vp, &shmfd, &obj_size); if (error != 0) goto out; From nobody Sat Jan 17 02:08:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtKrh75b4z6PCNl for ; Sat, 17 Jan 2026 02:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtKrh5YnLz3K52 for ; Sat, 17 Jan 2026 02:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768615716; 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=4sFenU9sHq5KNq5TDm18yxkqOzElLT4SSUqSPDQSE4g=; b=hSCSnPxCewy3IvDxpM4AsB0D0CwVxzgYThq6MnINe/ls6dLuo54LLFzxoCqw4FqM5MFpVk c65YoG11g/Rv6oKq3Wy2wkLJjVAViOEbOQqENnW423EdgjSqmarAbGN+Oxl9ZA067nO3TB HVL8D+l2fi/nqvM736L5wWK2HGCRUsuXVI3yquTUXM+a66l37dLfYmqZ1hyqjCPp3a0V1v nFZ402izg7sAkEOPKW4zeyvprgPeC9eoHVQiRD7cKyWxvrrkAetoQu0z2X9de+9JvViSHu zp4oxAjfKBiazO4yCi4gKqpMnM9NhA7n/3fVjGAt7zOI3LB32QUEKUtRWXPXPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768615716; 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=4sFenU9sHq5KNq5TDm18yxkqOzElLT4SSUqSPDQSE4g=; b=p5LSqF67N2nVQRzPl7bJoD7ZDHg4mtKH83dy+lxDQsGicMphuBvZ5kqpV2xDOLT+/wMhn4 5hhwzKjEFYZg6ZGj3L+k2wvmpzFJuZwAPnYwGioAfnqfz+vMqLFVJ2u5DN+M6h5ksDq8zf xv+1lzDAWNCTWkNxO78euH3rMdC4QlGCgXekIW1BcVnbpEpLoBqNVeZeMPI3RBV6vlFbkf Bpk4L1UdfvG+jPnzHLT4PghkNXeMTTOsENk56rrtoPlTjaxqUC44L6vUN0xmVw5D/bMDBr 0zjPej/0RQehTjdzqHYDFOQaG5XqcGSo/gLZBlA2Wk25EttxhUw8X9kQ6sjdqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768615716; a=rsa-sha256; cv=none; b=XYbJpZ74VuuHL06nzs1rXXh9EGyCBfluGCxSc7XhG210URSPHwqhbUNH9httu+fkCHUYIE RlACwmWHRE/Ar1OfaWfVINuPrXT2xgKkm62uaMHl+jiRb/waIxAoxCEHQGuPvjzEisshes fGMyFQBhFnT6Q2ELXK7iepURHOF6bJGqnkXl4Hb4XnNi/umMXFuN5xYs0KbgsP/2zUhJT/ x5ryAk0zhBLGO5EQPM+ZY6mhBeO3VliEytThDdYq95L83nBb0KRLayafoYvhB1ma78FKhi 4AhSAnyS+UuzgVnuSeU9RX8MDUBTW8TY60TtvUqfvqZzG3QrotmlkZdUSmdO6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtKrh4tnMzgXX for ; Sat, 17 Jan 2026 02:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bf84 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 02:08:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b02ddb59e646 - main - swap_pager_getpages(): assert that bp->b_pages[] is accessed in bounds List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b02ddb59e64620733a6cbc48fb1d0583a62fef78 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 02:08:36 +0000 Message-Id: <696aef24.bf84.3a15c868@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b02ddb59e64620733a6cbc48fb1d0583a62fef78 commit b02ddb59e64620733a6cbc48fb1d0583a62fef78 Author: Konstantin Belousov AuthorDate: 2026-01-11 11:04:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-17 02:07:57 +0000 swap_pager_getpages(): assert that bp->b_pages[] is accessed in bounds Reviewed by: glebius, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54713 --- sys/vm/swap_pager.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index efb0dd477c93..012d89db3310 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1396,6 +1396,9 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, vm_object_prepare_buf_pages(object, bp->b_pages, count, &rbehind, &rahead, ma); bp->b_npages = rbehind + count + rahead; + KASSERT(bp->b_npages <= PBUF_PAGES, + ("bp_npages %d (rb %d c %d ra %d) not less than PBUF_PAGES %jd", + bp->b_npages, rbehind, count, rahead, (uintmax_t)PBUF_PAGES)); for (int i = 0; i < bp->b_npages; i++) bp->b_pages[i]->oflags |= VPO_SWAPINPROG; bp->b_blkno = swp_pager_meta_lookup(blks, pindex - rbehind); From nobody Sat Jan 17 02:08:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtKrj71CXz6PCNp for ; Sat, 17 Jan 2026 02:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtKrj5sfLz3Jxf for ; Sat, 17 Jan 2026 02:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768615717; 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=OkaBDxLje+75/vdX8KZwpQWiLphb1234Mm1H3crw6Ik=; b=rvUBNfhL3xZkqXVLTUT9ApIw5eKh7Qzu3sFyQ0x1bKYHoubgniyJ2HGwA0o9eaemfn1LTq jZLWYXOCWVuc4Z70sYtnFoOVEOTEkekOBqcI1Rfz7SpkKcrMcrLVZOPsAv8WfblK5p/Y66 U7aai6CGfC2QkXIW/abMHFWaWJ2mhgob2mJXGd/26sIn4nJ8Nhld9opnA+hG4gDs6RzmBi /JU4M3qNGszm7m8eyYMPGz8YT7r2pSZ5KXx7RyF205hIpSgTD0uTiUDiJDi8yO96TSnOBt HmLLHTQX3qO90bQB0IkcqpIX3Glb996p2g7rYiGEksY5PvQoAYgu8e/oT8cJIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768615717; 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=OkaBDxLje+75/vdX8KZwpQWiLphb1234Mm1H3crw6Ik=; b=qhKW8KAlAufd9IUSRpwynNZYYadtkz73iDES7msKt4i91NH/SGf9NV9NdrLg1FUwqtIr9e S/QWH9BZiyGBsuGvmAJBcd84D02VRYdArLm2TpmNiDlIAfH76aGdXcg6doZov66fqFCnYP S/uh+RPgi7GuAkzV4UdWhGFuTuCOUTmy43oi33btyKkWkg2BWLYPLgeBDD7MAlPcB+69aT jiRs7sJFZ5nkdFUdGQhvXlfbRo9SzMWAqWQ5SKduGOlEX6xDRxOnpnMD3lqk23GGwJlucf kMb8dUNyUS6KaT2T4lOjwYGt+O1ZMeD7wi+BUV5xEAl8sO5Yy5j7KYm1Kiyz9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768615717; a=rsa-sha256; cv=none; b=YNYTBbDOK/9mTGXkJgPqbrwSk6j4eNAxxX4wlAVZ4z6gbkyr9adV+1izc8nPohXyG4WMtj +zsqpln3dyluLtZ/t7SZcLznN8V1FA2o5xs9bkdlfGJRFLe4mrksxodny2jc2OZAPu5pvj 9KqP+Mp9XGSV7agjVd1bX0LgHG314QM57y4nB84lB+b14rbVtgUIh59LOO3Tw9AjCo2V9R JJqsXNXduuKCuVyrdIKoZCyRKTKQL/RvlTW8SL3wBuCpZVeJ67e0BzdTp1qfPru6mEtNf8 nI5JLDkA81cuJVorWs20aLYtd5N7j/uF2ueJjgIzQZuTsKN+7i87AkyCYW9KNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtKrj5T3Pzgjq for ; Sat, 17 Jan 2026 02:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id afab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 02:08:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d198ad51ea73 - main - swap_pager_getpages(): some pages from ma[] might be bogus List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d198ad51ea73bbb162336923a387f52b0b1c1f1d Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 02:08:37 +0000 Message-Id: <696aef25.afab.6c7615d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d198ad51ea73bbb162336923a387f52b0b1c1f1d commit d198ad51ea73bbb162336923a387f52b0b1c1f1d Author: Konstantin Belousov AuthorDate: 2026-01-13 13:35:28 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-17 02:08:03 +0000 swap_pager_getpages(): some pages from ma[] might be bogus Same as vnode_pager_generic_getpages_async(), swap_pager_getpages() must handle a possibility of the provided page run to include bogus_page on some positions, when called from sendfile_swapin(). The swap pager is used for tmpfs vnodes. In particular, the bogus page must not be used for pindex calculation, we better not update the flags on it or wait for the flag clearing, and we must not call vm_page_valid() because the function expects busy page. This was bisected down to 72ddb6de1028426 (unix: increase net.local.(stream|seqpacket).(recv|send)space to 64 KiB), which is somewhat surprising, but apparently reasonable because it allowed the run of more than one page for page-in from the swap pager, which now might include valid pages replaced by bogus one. In collaboration with: pho Reviewed by: glebius, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54713 --- sys/vm/swap_pager.c | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 012d89db3310..f6d201309349 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1362,14 +1362,22 @@ static int swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, vm_page_t *ma, int count, int *a_rbehind, int *a_rahead, struct buf *bp) { + vm_page_t m; vm_pindex_t pindex; - int rahead, rbehind; + int i, rahead, rbehind; VM_OBJECT_ASSERT_WLOCKED(object); KASSERT((object->flags & OBJ_SWAP) != 0, ("%s: object not swappable", __func__)); - pindex = ma[0]->pindex; + for (i = 0; i < count; i++) { + m = ma[i]; + if (m != bogus_page) { + pindex = m->pindex - i; + break; + } + } + MPASS(i != count); if (!swp_pager_haspage_iter(pindex, &rbehind, &rahead, blks)) { VM_OBJECT_WUNLOCK(object); uma_zfree(swrbuf_zone, bp); @@ -1399,8 +1407,11 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, KASSERT(bp->b_npages <= PBUF_PAGES, ("bp_npages %d (rb %d c %d ra %d) not less than PBUF_PAGES %jd", bp->b_npages, rbehind, count, rahead, (uintmax_t)PBUF_PAGES)); - for (int i = 0; i < bp->b_npages; i++) - bp->b_pages[i]->oflags |= VPO_SWAPINPROG; + for (i = 0; i < bp->b_npages; i++) { + m = bp->b_pages[i]; + if (m != bogus_page) + m->oflags |= VPO_SWAPINPROG; + } bp->b_blkno = swp_pager_meta_lookup(blks, pindex - rbehind); KASSERT(bp->b_blkno != SWAPBLK_NONE, ("no swap blocking containing %p(%jx)", object, (uintmax_t)pindex)); @@ -1448,8 +1459,14 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, */ VM_OBJECT_WLOCK(object); /* This could be implemented more efficiently with aflags */ - while ((ma[0]->oflags & VPO_SWAPINPROG) != 0) { - ma[0]->oflags |= VPO_SWAPSLEEP; + for (i = 0; i < count; i++) { + m = ma[i]; + if (m != bogus_page) + break; + } + MPASS(i != count); + while ((m->oflags & VPO_SWAPINPROG) != 0) { + m->oflags |= VPO_SWAPSLEEP; VM_CNT_INC(v_intrans); if (VM_OBJECT_SLEEP(object, &object->handle, PSWP, "swread", hz * 20)) { @@ -1463,9 +1480,10 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, /* * If we had an unrecoverable read error pages will not be valid. */ - for (int i = 0; i < count; i++) - if (ma[i]->valid != VM_PAGE_BITS_ALL) + for (i = 0; i < count; i++) { + if (ma[i] != bogus_page && ma[i]->valid != VM_PAGE_BITS_ALL) return (VM_PAGER_ERROR); + } return (VM_PAGER_OK); @@ -1730,6 +1748,9 @@ swp_pager_async_iodone(struct buf *bp) for (i = 0; i < bp->b_npages; ++i) { vm_page_t m = bp->b_pages[i]; + if (m == bogus_page) + continue; + m->oflags &= ~VPO_SWAPINPROG; if (m->oflags & VPO_SWAPSLEEP) { m->oflags &= ~VPO_SWAPSLEEP; From nobody Sat Jan 17 03:25:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtMYJ6lVNz6PH5R for ; Sat, 17 Jan 2026 03:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtMYJ3F9nz3QPw for ; Sat, 17 Jan 2026 03:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768620324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tjah0ljAc6qQmcGLksoxJQIs+M36pvN3YiDg7X4W3GU=; b=UQ26UyqIBmLejo3nO1hmDVFMnZJBsvXEPfWVr0OOg0GevYuDzT2Bpx7KF5dB9Y7ymdn17X 2ynZMLKmj7PSd3vqB/sbgKnGDGzse0TscByOrxA44154lQnqbudQ7gdRKAthvPQYzUJZyZ OQJBhbizaLaLSDcSaeRNZ8Dhd4GQnFpcJj56Yz/iExmdwXTtoe0Au2va5ZNNu359REIWR+ oxXlTxzg2y6XiKdTpowjyRB+wwbbnkghD9MX/skSXAtD/j9CpqAQm5wI3c5VQVsuyc18wC bMdogHHxUfr/OVl/F2IbIqT4n2dCn5ZgAQhrHTLy2TQZDpxSm2VbyCHAzWQTvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768620324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tjah0ljAc6qQmcGLksoxJQIs+M36pvN3YiDg7X4W3GU=; b=qzI2793gpV4A+YZS8wtvGsCA6pK/ayX59Q2AH6kMnGaRSM7viS+jQrDp5XWho8Id81yM6t RjK4AQJiKWkPGyZqi01dL1bGhsOCHeMjzbHJcye3ffuH5Wcob8d0PF9JvH3l74Ql9gsd0R 3S8yCRTBayrG89T9ApcKYCWoG3bf6eS2wGROokdZ5lE1BesCzIu2uzyU+Ky4CNfzoucR+9 FqNICll+LmwJNl/o3mQZ2cA7udbPUygDFHYIO8J4HLo8XjMdspYrBu2ktOaR2YFjsJO+Xl Ix09oa5ESyDf+gUL8PXVrwhRwS7W5b4girrnbEoibkwq/z6VaNSJd9Gi0hcJrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768620324; a=rsa-sha256; cv=none; b=aSb/+JfCwuF20b/G+q3T9c1F3uhpLHxq1X/55wcstNeTMz6oE55YfUAHp2+LaZaCnEPqyH lXDXv8jKFUFVdxljx2xg2E6gFhOAo91ByTkX8Rp4Hh6Eo+R9YBTwJn6kXJkvcVE1emMX71 KJKWexKdGLMXlk7nB8OEP9gQCLWuIdDYd70924a9aSIOxJO4zKR+EEoNTEcLCOeIgO8yIT bWFCxo1vlZRqBPMZZ8J22Gn43wxmSEtB40n5ptSNh9qny+Lm8rutj5qjgvj1D72uR16DRQ koWJwO1RQMTRH01EemBtMWIz0XK5Nlruou7JiCgBFLVHvcGwIynCrfyhPHAi6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtMYJ22jpzjlH for ; Sat, 17 Jan 2026 03:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 230b2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 03:25:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Brad Smith From: Adrian Chadd Subject: git: c75eff16ef54 - main - aq: Add to amd64 GENERIC and to sys/conf/NOTES List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c75eff16ef54aaae7b5dc52ed894cc73a855f469 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 03:25:24 +0000 Message-Id: <696b0124.230b2.55450fa@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c75eff16ef54aaae7b5dc52ed894cc73a855f469 commit c75eff16ef54aaae7b5dc52ed894cc73a855f469 Author: Brad Smith AuthorDate: 2026-01-17 03:23:19 +0000 Commit: Adrian Chadd CommitDate: 2026-01-17 03:23:22 +0000 aq: Add to amd64 GENERIC and to sys/conf/NOTES Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D54633 --- sys/amd64/conf/GENERIC | 1 + sys/conf/NOTES | 2 ++ 2 files changed, 3 insertions(+) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 8475e0c03e74..1003572805fb 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -240,6 +240,7 @@ device vmx # VMware VMXNET3 Ethernet device axp # AMD EPYC integrated NIC (requires miibus) # PCI Ethernet NICs. +device aq # Aquantia / Marvell AQC1xx device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE device le # AMD Am7900 LANCE and Am79C9xx PCnet device rge # Realtek 8125/8126/8127 diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 6d3ea088b819..2d5899dd0533 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1863,6 +1863,7 @@ device xmphy # XaQti XMAC II # L1 PCI express gigabit ethernet controllers. # alc: Support for Atheros AR8131/AR8132 PCIe ethernet controllers. # ale: Support for Atheros AR8121/AR8113/AR8114 PCIe ethernet controllers. +# aq: Aquantia / Marvell AQC1xx PCIe Ethernet adapter. # ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) # bce: Broadcom NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet # adapters. @@ -2004,6 +2005,7 @@ device ix # Intel Pro/10GbE PCIE Ethernet device ixv # Intel Pro/10GbE PCIE Ethernet VF # PCI Ethernet NICs. +device aq # Aquantia / Marvell AQC1xx device cxgb # Chelsio T3 10 Gigabit Ethernet device cxgb_t3fw # Chelsio T3 10 Gigabit Ethernet firmware device cxgbe # Chelsio T4-T6 1/10/25/40/100 Gigabit Ethernet From nobody Sat Jan 17 03:33:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtMks1qpMz6PJ54 for ; Sat, 17 Jan 2026 03:33:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtMkr6NZVz3RlN for ; Sat, 17 Jan 2026 03:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768620820; 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=CB4T847hvPtv2/x76Gx3dn1PZlzuoLOtGmyUHw83aZI=; b=T3MrhFijmDNxrUHBlRRbDWot5NMO6+Dh7WEDPFJbHIMqbFXjY8/kay0zxdToEYX+pFNI98 wOVug1pW999JAiC03rSAINAlzWF9aOgLiFImNs0BjnoAH6OIOP9VavU2EwVQnDOknEubmM RzhMy3nZO0O0i09zdXNeg/0SZlKssBtbIuBOJuOvuw6rvyUp+Cbcf8mOtcwMf2hLUkmwNS bJC+UJcd0ttIr/Jxz8JoYfI5SIKEaVQwfpEJQ/AA7ZlNTw3yu4BlHT4eiIkfT1Oc6yTkuE SzGsRQNUOXtgTl1vgG1L0GIuqp+dbsdgNusLs+i5iUQE3BQvRGtRemrVJX7TYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768620820; 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=CB4T847hvPtv2/x76Gx3dn1PZlzuoLOtGmyUHw83aZI=; b=Xdq1muiHhc2F9Zk9tk3r8s8UtjWf5gktn0ajboRiO62FoCxF9sq31Ac1nz62ib4NLyBxnj uqYxZyNDzza4QSfmuAc/Dt7jjESDQBTbsx4BmNKnUeODDHIqDBZX0k0vGg2TzwnwOUDytF Aksg5PSY3khj+GDL+H3FWOmTBTfDxwkqO2sUAuBofDbSo7a0cg/lpx6TIRAxPB3LNazPNZ ammjuDko5f0g4KIbjQMr/R4GzcftYWH/CDuxfqpw4QZXcpQlLJGDLOsbEFvTCcOXiOu5ZJ ljL/Nl/vuxxvoWUH/KMfL6xd5GhzazEDO4PkSqKZo4YHiVb55ks6rvP2FRWjLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768620820; a=rsa-sha256; cv=none; b=CHguVkHOAi17T9j3Z4NMdNfD2DLjDt8wKH8xQmpMkt20+pX0v/LS4bDl0DU7gtxrAB8eQ2 +ldMXTdIXzhElQTAxIJJBZdcK+U+6dow64jJMH2Nw16PBgcNN+rRs/X5g9hH0e/BaGghSh BDwXwQN+jNa2+ucicvHoe0i4kYje6vCMexsfRg95N6rKQoLdVX/wcINHnvGd6nta0gy32w CI7XUaudLCTmZskxiKhmxQTcx9v3+oAjfLj1Gye9XFRdrqSJTL9eMoRuDWwWqBZ4bBJHXo y9uQb6KzCHUsuARGDPaohgraItBlaZhHh7rbWEm4S3IBA5RGDxKNhOJ16bjaag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtMkr5zllzkCP for ; Sat, 17 Jan 2026 03:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24b8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 03:33:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 325baf007357 - main - vm/swap_pager.c: silence compiler warning List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 325baf00735756d024b903bfcee50b4f09e90129 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 03:33:40 +0000 Message-Id: <696b0314.24b8c.5c5c1075@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=325baf00735756d024b903bfcee50b4f09e90129 commit 325baf00735756d024b903bfcee50b4f09e90129 Author: Konstantin Belousov AuthorDate: 2026-01-17 03:30:09 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-17 03:33:24 +0000 vm/swap_pager.c: silence compiler warning Initialize pindex in swap_pager_getpages_locked() before the loop actually calculating it by skipping bogus pages. Compiler is worried that loop might never assign to it, which actually cannot happen. Sponsored by: The FreeBSD Foundation Fixes: d198ad51ea73bbb162336923a387f52b0b1c1f1d MFC after: 1 week --- sys/vm/swap_pager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index f6d201309349..834c757aa385 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1370,7 +1370,7 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, KASSERT((object->flags & OBJ_SWAP) != 0, ("%s: object not swappable", __func__)); - for (i = 0; i < count; i++) { + for (pindex = 0, i = 0; i < count; i++) { m = ma[i]; if (m != bogus_page) { pindex = m->pindex - i; From nobody Sat Jan 17 03:41:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtMw76j1vz6PJDv for ; Sat, 17 Jan 2026 03:41: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtMw73Wxtz3Rwk for ; Sat, 17 Jan 2026 03:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768621303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+knsaCAkQ0M+vvMVYZY/KYTOGz6+9c9/l9UFilcTQ9Y=; b=pIf+CDfUlH5GguIFcbv/lOvK0pELabGvuErd9AZeY6dyP3EoUYQw5jdAtsbqbjBxbS6Cmf UEH1LdKeH3t0iR6khsgQAU/AJVcx7NmEFYDjVX6uEaQpvAA1kYnLGPkyBMXZ0NSN7T2jlL dGNrXmtbWTMjyJEGw+Pv3yL3ThGA9DZ2UX6IQmmdHp9tsZLPemJKmNDNJ+bjRNotERQbIv reV5C/UQdfo0dS/uyNZauiIutKoXr50DodkxgmFt3EyGchselHtUKBjta3XgBS8AoxfYyZ hHsMSfifLbJD3tlHsAuD5XfY0OrW69sX1nCyiMNpjBnzrBjiCpfcVVv19Wm7vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768621303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+knsaCAkQ0M+vvMVYZY/KYTOGz6+9c9/l9UFilcTQ9Y=; b=HmTIWeGhs/2GKXFH9S2rtYQyKhFLZH8shpWHQtiSbW66rctiDEJGz2CJdM2SrXII2cBv1z 2SD00iO/pavvnLSXSDuf79w0bM4sIMat77S5wAirYGtgHWo8Oyr5hT+Ya7QChj3yE0QDkB ooPleKrXxV7Vg1U58hvm9KJN+yB2KqYaJQ/6I+KO7wv1LVlNFM5ZZlRzTcBGs/iRbkKJmU fbiIJeOFpQoq9WpM1ZMbWbBsc2qfu3t4pYru16aPMkrCzkxtgauJa3awBVDfGLRfL7M+Rc TzJwQo6xyagUBeOERZV05aGlpY8jBbTUwsBB9bMz10Pg7NequygcmmyribNcNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768621303; a=rsa-sha256; cv=none; b=vUzGJhgph3UzIrihkFwAX+0Zv5fZU3IdRXCexpWnJtCKVk71D3iWOx00KGRx/SoRczVb0n JZuHQNe8KKf0XViAz4xfd2L3ea5MZmI8Ete4aTNHibhNBZ7O4WKXvdJV1cqpWCH9+5xMhs BhuOoryci+5/zs4Y44pR3quQOHcScbBMjjpcjKC5VWdvSvBcd5WhLBrqavo3S+dVa3gUNv 0Gnf6LZZ5Djd+Y86FUY2sLA+9BVwUT0bGKkkVnywtleg50bJ2Ch1ooaTK7j/w0CdWwRAdu ByOOyRiO/Jnf9D8wT0wKTIzX6YfdFMtw/ONpNSTk5rGgayJQH5m5Oc3bvdhzRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtMw730rCzk0v for ; Sat, 17 Jan 2026 03:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25c10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 03:41:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sulev-Madis Silber From: Adrian Chadd Subject: git: 6dc12ecfb268 - main - spi: "-S" option for continuous stream from standard input to bus List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6dc12ecfb268d2d043f9415156d475278f3f714b Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 03:41:38 +0000 Message-Id: <696b04f2.25c10.6e70feb8@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=6dc12ecfb268d2d043f9415156d475278f3f714b commit 6dc12ecfb268d2d043f9415156d475278f3f714b Author: Sulev-Madis Silber AuthorDate: 2026-01-17 03:29:19 +0000 Commit: Adrian Chadd CommitDate: 2026-01-17 03:41:33 +0000 spi: "-S" option for continuous stream from standard input to bus created to allow addressable leds to be driven by abusing spi bus as waveform generator. this might have other uses for similar "permanent" spi transfers Differential Revision: https://reviews.freebsd.org/D54734 Reviewed by: adrian --- usr.sbin/spi/spi.8 | 7 +++++++ usr.sbin/spi/spi.c | 41 +++++++++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/usr.sbin/spi/spi.8 b/usr.sbin/spi/spi.8 index c3c041fe8e93..d12b7a510aa0 100644 --- a/usr.sbin/spi/spi.8 +++ b/usr.sbin/spi/spi.8 @@ -38,6 +38,7 @@ .Op Fl d Cm r Ns | Ns Cm w Ns | Ns Cm rw .Op Fl f Ar device .Op Fl m Ar mode +.Op Fl S .Op Fl s Ar max-speed .Nm .Op Fl i @@ -145,6 +146,12 @@ caused the LSB to be transmitted and read first. SPI mode, 0 through 3. This defines the clock phase and timing with respect to reading and writing data, as per the SPI specification. +.It Fl S +Constantly stream from +.Xr stdin 3 +to the +.Nm +bus. .It Fl s Ar speed Specify the maximum speed, in Hz, for the SPI clock. The bus will operate at its highest available speed which does not diff --git a/usr.sbin/spi/spi.c b/usr.sbin/spi/spi.c index 351474dde0ba..1ced2371e3d0 100644 --- a/usr.sbin/spi/spi.c +++ b/usr.sbin/spi/spi.c @@ -129,7 +129,7 @@ usage(void) fputs(" - communicate on SPI bus with slave devices\n" "Usage:\n" " spi [-f device] [-d r|w|rw] [-m mode] [-s max-speed] [-c count]\n" - " [-C \"command bytes\"] [-A] [-b] [-L] [-v]\n" + " [-C \"command bytes\"] [-A] [-b] [-L] [-S] [-v]\n" " spi -i [-f device] [-v]\n" " spi -h\n" " where\n" @@ -145,6 +145,7 @@ usage(void) " -i query information about the device\n" " -A uses ASCII for input/output as 2-digit hex values\n" " -b Override output format as binary (only valid with '-A')\n" + " -S constantly stream from stdin to bus\n" " -v verbose output\n" " -h prints this message\n" "\n" @@ -158,11 +159,12 @@ int main(int argc, char *argv[], char *envp[] __unused) { struct spi_options opt; - int err, ch, hdev, finfo, fdir; + int err, ch, hdev, finfo, stream, fdir; char *pstr; char dev_name[PATH_MAX * 2 + 5]; finfo = 0; + stream = 0; fdir = DIR_NONE; hdev = -1; @@ -180,7 +182,7 @@ main(int argc, char *argv[], char *envp[] __unused) opt.ncmd = 0; opt.pcmd = NULL; - while (!err && (ch = getopt(argc, argv, "f:d:m:s:c:C:AbLvih")) != -1) { + while (!err && (ch = getopt(argc, argv, "f:d:m:s:c:C:AbLviSh")) != -1) { switch (ch) { case 'd': if (optarg[0] == 'r') { @@ -275,6 +277,10 @@ main(int argc, char *argv[], char *envp[] __unused) finfo = 1; break; + case 'S': + stream = 1; + break; + default: err = 1; /* FALLTHROUGH */ @@ -358,14 +364,29 @@ main(int argc, char *argv[], char *envp[] __unused) /* do data transfer */ - if (fdir == DIR_READ) { - err = perform_read(hdev, &opt); - } - else if (fdir == DIR_WRITE) { - err = perform_write(hdev, &opt); + if (stream) { + while (!err && !feof(stdin)) { + if (fdir == DIR_READ) { + err = perform_read(hdev, &opt); + } + else if (fdir == DIR_WRITE) { + err = perform_write(hdev, &opt); + } + else if (fdir == DIR_READWRITE) { + err = perform_readwrite(hdev, &opt); + } + } } - else if (fdir == DIR_READWRITE) { - err = perform_readwrite(hdev, &opt); + else { + if (fdir == DIR_READ) { + err = perform_read(hdev, &opt); + } + else if (fdir == DIR_WRITE) { + err = perform_write(hdev, &opt); + } + else if (fdir == DIR_READWRITE) { + err = perform_readwrite(hdev, &opt); + } } the_end: From nobody Sat Jan 17 04:09:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtNX54hrYz6PKTl for ; Sat, 17 Jan 2026 04:09: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtNX52KxRz3Ts4 for ; Sat, 17 Jan 2026 04:09:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768622965; 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=Ptvghc47ZLT3Qx0HNAN634W3viDPwCeuDX3WlrDpLBA=; b=yt4CSKmaUkl7Xvz9GGVvdw1XbxHL5ZMvERnJnWX0qxJWgthmcLfUa8Ej6MAJ5a0Nj5fTbM k7i6CXMY6r69JbCRYNAeMDV8YX/s+/ZxsOObTvM5oiT3y9ydPJAQh/34ctjEmd9TV7EhrJ 0aG596dTyyVlWtM3oF8n4vEVjsFc9xb4YuPUsES7n4wMP26I8x1AAaRFuXYzYEwP6L6IJt rXpBGgfIAkY/qdmbedE+UpxJEjSkp98ldp2rBL8Wkyvnzl3kCb0j8nwsNy6R5bdivkEls9 6iGFD7NtG7Xkv45pnpWnuAgnicqs2XYZSzPrH3M690w+xK/dRLADhWu6hOX84g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768622965; 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=Ptvghc47ZLT3Qx0HNAN634W3viDPwCeuDX3WlrDpLBA=; b=JI/VftuIrdco5rRW+5NplnqHi8ikmDurc1DgnS6/JK+ZQDBrff4bITTm38TD4uaZ5qssSe BvHZHQtGWQKqPkhxHK2GMZ0kJ9I8yvtMObWqf5gMSylVCByl4IAB0XbzeJU0LItBw3rEFe 7GFP2fxGea6B1POakfCoFJeCMi6T2ptLBZdj1ksCIFsXAryegaW2xRWmFrg2pPb0y4vEax SXIZuGnnpcxOsYLyZFWKgLCemXZisq+c0ANHOYTlv5Xt9hMNaCG7YNiGnF8PfA6eD1wz2/ jgdPfeLhvtVtHFz+1ocYS0BTq8lIXedk//+pSrg7vw4MLNKuleh0FvRtWhXcQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768622965; a=rsa-sha256; cv=none; b=S3i/x+ntOBUIB+i9EL1aT/CCdHqm3Yj2J1T5b0L+FPLNo7f5uf5MMVPLai1LIYOGrOnxcZ qfmMsamTOdvsS02CQKY/UsPMqvJVyWJVDwrkVp8V9J9ngYR9+RxDLYEjX9EcyRLHk8hJ2x Q84gM8Fz0qHymsrySS8r7oB2LNaMWt0hmfkgEp6a4DEQEwPfNNuqKR4tL3TAQneTwjTsOo hHLjHlJv2RzHAUhYllDmxuVlm/Mn5DXhkZspaphKNb2JzE3Xl0g3T4C9YSXwsXJoJf5ojx 97WW3cTfR+0ToRfaHr2BbyYAWc8QmIW10JZT0TrKTwBF9kt90DBoueVKYg4+5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtNX51BKgzkVX for ; Sat, 17 Jan 2026 04:09:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2644b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 04:09:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 1a7b74d3125f - main - ipfw: in a vnet destructor use NET_EPOCH_WAIT() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a7b74d3125fef50a6d2dcc4442c80457c8d32e1 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 04:09:25 +0000 Message-Id: <696b0b75.2644b.4c2bdc15@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=1a7b74d3125fef50a6d2dcc4442c80457c8d32e1 commit 1a7b74d3125fef50a6d2dcc4442c80457c8d32e1 Author: Gleb Smirnoff AuthorDate: 2026-01-17 03:57:03 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 04:09:02 +0000 ipfw: in a vnet destructor use NET_EPOCH_WAIT() The lock grab & drop predates epoch(9) introduction to the network stack and it doesn't provide a true guarantee that all threads that may use ipfw configuration have finished. Also the lock prevented from sleepable operations when freeing the rules. --- sys/netpfil/ipfw/ip_fw2.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c index 5d5aeb7c2746..7c47a97e4953 100644 --- a/sys/netpfil/ipfw/ip_fw2.c +++ b/sys/netpfil/ipfw/ip_fw2.c @@ -3731,12 +3731,14 @@ vnet_ipfw_uninit(const void *unused) V_ipfw_vnet_ready = 0; /* tell new callers to go away */ /* - * disconnect from ipv4, ipv6, layer2 and sockopt. - * Then grab, release and grab again the WLOCK so we make - * sure the update is propagated and nobody will be in. + * Disconnect from ipv4, ipv6, layer2 and sockopt. pfil(9) hook + * removal is synchronized by the net epoch, but our destructors + * free the memory immediately, thus we need for the epoch sections + * to complete. */ ipfw_detach_hooks(); V_ip_fw_ctl_ptr = NULL; + NET_EPOCH_WAIT(); last = IS_DEFAULT_VNET(curvnet) ? 1 : 0; @@ -3745,12 +3747,10 @@ vnet_ipfw_uninit(const void *unused) ipfw_dyn_uninit(0); /* run the callout_drain */ reap = NULL; - IPFW_WLOCK(chain); for (i = 0; i < chain->n_rules; i++) ipfw_reap_add(chain, &reap, chain->map[i]); free(chain->map, M_IPFW); ipfw_destroy_skipto_cache(chain); - IPFW_WUNLOCK(chain); IPFW_UH_WUNLOCK(chain); ipfw_destroy_tables(chain, last); ipfw_eaction_uninit(chain, last); From nobody Sat Jan 17 04:09:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtNX63Gs2z6PKgb for ; Sat, 17 Jan 2026 04:09: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtNX61wwXz3VMr for ; Sat, 17 Jan 2026 04:09:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768622966; 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=XnamLOu8PH+IJLNfDYBTD2H22m53fEQgNlGypvmFrvU=; b=oIICL79D0rdCiJlbAcMSisfGQV0gi/3E6gTm4/+FdUifS/V+52yYVTSnZZqC352Sq8doqo jSKgSQOmBeRoAvML2b3PPcDrrxgo0dslX0uypCBRmfWp27h3/dYu4qRXAGxXr/3UgYXD2o G0/n+3C2fWpjqzL0XS8s5WArE2KiRsuhrFIb4kvOMDR+2RCZnI2N61uP9Y7CP1T9NmK2+6 biNhOsjEvJy4dmvtvKV/UrX4VeHSfaBjiRwDa248nU/ZzQY0dkY77P0DPzHOCD2JIlXOVT CUXwnUiU9XgjjZH3oyekEDQ5VWIQuL/jI14TtLL/sFykliee2BnPPJvioT/ftg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768622966; 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=XnamLOu8PH+IJLNfDYBTD2H22m53fEQgNlGypvmFrvU=; b=PqZqErhxQNMRCgk/eybpdFUVRhQtXqN0z45SXvr7WnauIehsEAISEg9/7lpHsp6r6TtvS+ HwquqcXJMHjStP/dfF157Po37vAl+h1Ej8UuIAXtjty6PDnK23AzIoi+oTsvh1ZhbBgBTy q/sPYLBb82SSi0Ak4qXlrFuxX03yg21lj2E2UQoYciR7CPDNwgaOnAJEfjkC61qx6iCKCv SmRUYLCsN8kz3cvx03USg50pozAVqPFMXYWhvRPhMq8nL8VIOneyjKz5SzJn4hY6688nj1 aU49cHA6c4lkP35nQqsy1KgF5V4iGfNbQDoJMIP6Vuyltx40UBSLHCN2RC4lHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768622966; a=rsa-sha256; cv=none; b=hgRzd5CPUx/j7vRiDxamm66AtTm4LqkbjzvplvP1EuT4vIpL2/r/YLH4Qua+BKCqBBnooq 4ND41G+kJuCNx/x+q7ZVte6TR84yf4td514AYCQz49pfNFHJW4PRd6uNJWumr8H/3aRmJM R9rpChr7BINi0pLs965cN7smE3qeHTlGSftkqHllt14eiH4hf5HTsSn4nwyD045thQxpfY EW5io6ZRzejd6V+Y6UMgMBBVGg4yKsaw+pv3y77c6rxj3nZYiLF0x7t2pA4P9pcpo0V0HN HbcSQk6xDMSL1yC2nsoOkg8BkhhvGLMmyoLnC2iAdic2OlDyGF4VTtCy+HSnoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtNX61N5jzkvb for ; Sat, 17 Jan 2026 04:09:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27b9a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 04:09:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 65b4bf7a6e0d - main - ipfw: refactor how we store bpf tap points List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65b4bf7a6e0d415492889434a72085debdacdf82 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 04:09:26 +0000 Message-Id: <696b0b76.27b9a.7147944@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=65b4bf7a6e0d415492889434a72085debdacdf82 commit 65b4bf7a6e0d415492889434a72085debdacdf82 Author: Gleb Smirnoff AuthorDate: 2026-01-17 04:02:25 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 04:09:02 +0000 ipfw: refactor how we store bpf tap points Make the tap database belong to ip_fw_chain, but leave the default "ipfw0" tap per-vnet. This is only slightly better than keeping the database per- vnet, as the bpf name space is per-vnet. However, we yet have only single ipfw chain. Whenever multiple chains will coexist, this needs to be addressed. Require the chain lock to make modifications to the database. Move tap allocation to a later ruleset build stage, when all rule numbers are known already. This fixes a panic introduced by 3daae1ac1d82. Fixes: 3daae1ac1d82ecdcd855101bab5206e914b12350 --- sys/netpfil/ipfw/ip_fw2.c | 1 + sys/netpfil/ipfw/ip_fw_bpf.c | 60 +++++++++++++++++++++++----------------- sys/netpfil/ipfw/ip_fw_log.c | 4 +-- sys/netpfil/ipfw/ip_fw_private.h | 11 ++++++-- sys/netpfil/ipfw/ip_fw_sockopt.c | 9 +++--- 5 files changed, 49 insertions(+), 36 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c index 7c47a97e4953..fe707abc7682 100644 --- a/sys/netpfil/ipfw/ip_fw2.c +++ b/sys/netpfil/ipfw/ip_fw2.c @@ -3667,6 +3667,7 @@ vnet_ipfw_init(const void *unused) #ifdef IPFIREWALL_NAT LIST_INIT(&chain->nat); #endif + RB_INIT(&chain->taps); /* Init shared services hash table */ ipfw_init_srv(chain); diff --git a/sys/netpfil/ipfw/ip_fw_bpf.c b/sys/netpfil/ipfw/ip_fw_bpf.c index d9897f700d57..af52cbc62ed6 100644 --- a/sys/netpfil/ipfw/ip_fw_bpf.c +++ b/sys/netpfil/ipfw/ip_fw_bpf.c @@ -1,7 +1,7 @@ /*- * Copyright (c) 2016 Yandex LLC * Copyright (c) 2016 Andrey V. Elsukov - * Copyright (c) 2025 Gleb Smirnoff + * Copyright (c) 2025-2026 Gleb Smirnoff * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -68,20 +68,20 @@ tap_compare(const struct ipfw_tap *a, const struct ipfw_tap *b) { return (a->rule != b->rule ? (a->rule < b->rule ? -1 : 1) : 0); } -RB_HEAD(tap_tree, ipfw_tap); -VNET_DEFINE_STATIC(struct tap_tree, tap_tree); -#define V_tap_tree VNET(tap_tree) RB_GENERATE_STATIC(tap_tree, ipfw_tap, entry, tap_compare); -VNET_DEFINE_STATIC(struct ipfw_tap *, default_tap); +VNET_DEFINE_STATIC(struct ipfw_tap, default_tap) = { .name = "ipfw0" }; #define V_default_tap VNET(default_tap) void -ipfw_tap_alloc(uint32_t rule) +ipfw_tap_alloc(struct ip_fw_chain *ch, uint32_t rule) { struct ipfw_tap *tap, key = { .rule = rule }; int n __diagused; - tap = RB_FIND(tap_tree, &V_tap_tree, &key); + MPASS(rule > 0 && rule < IPFW_DEFAULT_RULE); + IPFW_UH_WLOCK_ASSERT(ch); + + tap = RB_FIND(tap_tree, &ch->taps, &key); if (tap != NULL) { MPASS(tap->rule == rule); tap->refs++; @@ -90,43 +90,51 @@ ipfw_tap_alloc(uint32_t rule) tap = malloc(sizeof(*tap), M_IPFW, M_WAITOK); tap->rule = rule; tap->refs = 1; - /* Note: the default rule logs to "ipfw0". */ - if (__predict_false(rule == IPFW_DEFAULT_RULE)) { - V_default_tap = tap; - rule = 0; - } n = snprintf(tap->name, sizeof(tap->name), "ipfw%u", rule); MPASS(n > 4 && n < sizeof("ipfw4294967295")); tap->bpf = bpf_attach(tap->name, DLT_EN10MB, PFLOG_HDRLEN, &bpf_ipfw_methods, NULL); - tap = RB_INSERT(tap_tree, &V_tap_tree, tap); + tap = RB_INSERT(tap_tree, &ch->taps, tap); MPASS(tap == NULL); } void -ipfw_tap_free(uint32_t rule) +ipfw_tap_free(struct ip_fw_chain *ch, uint32_t rule) { - struct ipfw_tap *tap, key = { .rule = rule }; - tap = RB_FIND(tap_tree, &V_tap_tree, &key); + MPASS(rule > 0 && rule < IPFW_DEFAULT_RULE); + IPFW_UH_WLOCK_ASSERT(ch); + + tap = RB_FIND(tap_tree, &ch->taps, &key); MPASS(tap != NULL); if (--tap->refs == 0) { bpf_detach(tap->bpf); - RB_REMOVE(tap_tree, &V_tap_tree, tap); + RB_REMOVE(tap_tree, &ch->taps, tap); free(tap, M_IPFW); } } void -ipfw_bpf_tap(struct ip_fw_args *args, struct ip *ip, uint32_t rulenum) +ipfw_bpf_tap(struct ip_fw_chain *ch, struct ip_fw_args *args, + struct ip *ip, uint32_t rulenum) { - struct ipfw_tap *tap, key = { .rule = rulenum }; + struct ipfw_tap *tap; - tap = RB_FIND(tap_tree, &V_tap_tree, &key); - MPASS(tap != NULL); - if (!bpf_peers_present(tap->bpf)) - tap = V_default_tap; + if (rulenum == IPFW_DEFAULT_RULE) { + tap = &V_default_tap; + } else { + struct ipfw_tap key = { .rule = rulenum }; + + tap = RB_FIND(tap_tree, &ch->taps, &key); + MPASS(tap != NULL); + /* + * Compatibility: if user is not using per-rule taps, fallback + * to the default tap. + */ + if (!bpf_peers_present(tap->bpf)) + tap = &V_default_tap; + } if (args->flags & IPFW_ARGS_LENMASK) { bpf_tap(tap->bpf, args->mem, IPFW_ARGS_LENGTH(args->flags)); } else if (args->flags & IPFW_ARGS_ETHER) { @@ -161,7 +169,8 @@ ipfw_pflog_tap(void *data, struct mbuf *m) void ipfw_bpf_init(int first __unused) { - ipfw_tap_alloc(IPFW_DEFAULT_RULE); + V_default_tap.bpf = bpf_attach(V_default_tap.name, DLT_EN10MB, + PFLOG_HDRLEN, &bpf_ipfw_methods, NULL); V_bpf_pflog = bpf_attach("ipfwlog0", DLT_PFLOG, PFLOG_HDRLEN, &bpf_ipfw_methods, NULL); } @@ -169,7 +178,6 @@ ipfw_bpf_init(int first __unused) void ipfw_bpf_uninit(int last __unused) { - - ipfw_tap_free(IPFW_DEFAULT_RULE); + bpf_detach(V_default_tap.bpf); bpf_detach(V_bpf_pflog); } diff --git a/sys/netpfil/ipfw/ip_fw_log.c b/sys/netpfil/ipfw/ip_fw_log.c index b84e8cbf7e59..0f8a4df4e5d6 100644 --- a/sys/netpfil/ipfw/ip_fw_log.c +++ b/sys/netpfil/ipfw/ip_fw_log.c @@ -722,7 +722,7 @@ ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, /* O_LOG is the first action */ ((cmd = ACTION_PTR(f)) && cmd->arg1 == IPFW_LOG_DEFAULT)) { if (V_fw_verbose == 0) { - ipfw_bpf_tap(args, ip, + ipfw_bpf_tap(chain, args, ip, f != NULL ? f->rulenum : IPFW_DEFAULT_RULE); return; } @@ -737,6 +737,6 @@ ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, ipfw_log_rtsock(chain, f, hlen, args, offset, tablearg, eh); if (cmd->arg1 & IPFW_LOG_IPFW0) - ipfw_bpf_tap(args, ip, f->rulenum); + ipfw_bpf_tap(chain, args, ip, f->rulenum); } /* end of file */ diff --git a/sys/netpfil/ipfw/ip_fw_private.h b/sys/netpfil/ipfw/ip_fw_private.h index af592fc4c6c0..67bdde66e385 100644 --- a/sys/netpfil/ipfw/ip_fw_private.h +++ b/sys/netpfil/ipfw/ip_fw_private.h @@ -28,6 +28,9 @@ #ifndef _IPFW2_PRIVATE_H #define _IPFW2_PRIVATE_H +#include +#include + /* * Internal constants and data structures used by ipfw components * and not meant to be exported outside the kernel. @@ -161,9 +164,10 @@ struct ip_fw_chain; void ipfw_bpf_init(int); void ipfw_bpf_uninit(int); -void ipfw_tap_alloc(uint32_t); -void ipfw_tap_free(uint32_t); -void ipfw_bpf_tap(struct ip_fw_args *, struct ip *, uint32_t); +void ipfw_tap_alloc(struct ip_fw_chain *, uint32_t); +void ipfw_tap_free(struct ip_fw_chain *, uint32_t); +void ipfw_bpf_tap(struct ip_fw_chain *, struct ip_fw_args *, struct ip *, + uint32_t); void ipfw_pflog_tap(void *, struct mbuf *); void ipfw_log(struct ip_fw_chain *chain, struct ip_fw *f, u_int hlen, struct ip_fw_args *args, u_short offset, uint32_t tablearg, struct ip *ip, @@ -320,6 +324,7 @@ struct ip_fw_chain { void *ifcfg; /* interface module data */ int *idxmap_back; /* standby skipto array of rules */ struct namedobj_instance *srvmap; /* cfg name->number mappings */ + RB_HEAD(tap_tree, ipfw_tap) taps; /* see ip_fw_bpf.c */ #if defined( __linux__ ) || defined( _WIN32 ) spinlock_t uh_lock; #else diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c index 4c67eaa9cbba..2941444a7bd3 100644 --- a/sys/netpfil/ipfw/ip_fw_sockopt.c +++ b/sys/netpfil/ipfw/ip_fw_sockopt.c @@ -210,8 +210,6 @@ ipfw_free_rule(struct ip_fw *rule) */ if (rule->refcnt > 1) return; - if (ACTION_PTR(rule)->opcode == O_LOG) - ipfw_tap_free(rule->rulenum); uma_zfree_pcpu(V_ipfw_cntr_zone, rule->cntr); free(rule, M_IPFW); } @@ -505,6 +503,8 @@ ipfw_commit_rules(struct ip_fw_chain *chain, struct rule_check_info *rci, memcpy((char *)ci->urule + ci->urule_numoff, &rulenum, sizeof(rulenum)); } + if (ACTION_PTR(krule)->opcode == O_LOG) + ipfw_tap_alloc(chain, krule->rulenum); } /* duplicate the remaining part, we always have the default rule */ @@ -2102,6 +2102,8 @@ unref_rule_objects(struct ip_fw_chain *ch, struct ip_fw *rule) else no->refcnt--; } + if (ACTION_PTR(rule)->opcode == O_LOG) + ipfw_tap_free(ch, rule->rulenum); } /* @@ -2459,9 +2461,6 @@ import_rule_v1(struct ip_fw_chain *chain, struct rule_check_info *ci) /* Copy opcodes */ memcpy(krule->cmd, urule->cmd, krule->cmd_len * sizeof(uint32_t)); - - if (ACTION_PTR(krule)->opcode == O_LOG) - ipfw_tap_alloc(krule->rulenum); } /* From nobody Sat Jan 17 04:09:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtNX75FZdz6PKXC for ; Sat, 17 Jan 2026 04:09: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtNX72bXMz3V5r for ; Sat, 17 Jan 2026 04:09:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768622967; 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=3JESiqG3z3tIXHb9Dh3nU9Z7xehuls9fQNsntXmwczg=; b=Wgg94ZcG/keJWmUDMiYc61c3rnINWNPlzQIQN25kR63HubFnWJb/2PggdxO/nQcDR9AJzP AtlgW6LVzFGqNrUzHECtWta1vtpIQPL19v7PDwofoCCHOS0NHbPxBNCPr6lxkGkabX7cEi AkZy+rg1UC2Wq6yeesWP3mt4nwmeJlKllAmNIA7Idp/K/LRlWEtPKgKDQx4ruEiw5GjMC8 TJ9Zpr5o6iiAQPsGTVrd8NroxUSIotGC0Xmp016a6Jo+qVF92uHbmovrgLCFKJPTaiaCfs Cf0w/lIQzVZGG9fwuwyqFL7EO6sZwj3QgJDSUpfg7bbiIzeMn5J2nz6Pk0rVdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768622967; 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=3JESiqG3z3tIXHb9Dh3nU9Z7xehuls9fQNsntXmwczg=; b=yHWMMBfYuNed+x/BmTJQVD0iCiP5IPgp1FWO97K+co37HgnI9Ynq3ft9EEcKyiz6tG3EZ/ bQAF+n4kUJxIgHi9n4/QnPOXQsR2/MxTbKvMHiRmP0Usy7NuD8wGYb/Wb6TxAeEsOs15+G R+H3bww7JcNjLv+ECoB+4OjZXF5FFveqkiOq1bdpuMuhZu123/XUBipgTjDwF+IRCKOaDS 0HIGgks5F2saJ+53oaw+so5FBM2NynCRYk8Cntd8ESNcvqNsTQMLDid9rrbaSflPYhz4JS k8kngFS0Ms9swdTFuqVGEEll5BAG/rMEYW5N/Ob46RI4f+ul+cl4EwpQSdXOjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768622967; a=rsa-sha256; cv=none; b=vIz6pEcGgYANm3G3ZIMQGiSOSkEqpcUtC6KVz7SOaRpJMJMxVC14TPU+VzYisf0vkQ7dot G9FrDpcbfYPIPaJ8fCLbzPKnJbAjn6bk89ilKMSaU+h0hpJb9qjFOMP3F4MRBj76W/n/Y1 i1H1Zfszdr83KZlJlFTWShJ0kAA6KnnGbcrzpeCgrC8tfQklDBZWXeH0MvyAtV+5VAhPd8 1nlHLwdUta3ACBLs+UA3eBjzdzjCQaqRBGSFtWG2OWuQ7MgKwDg2xMd1PCi/yEkFHFGlnl lrDheAIJVgvzCInKTrtoFR80ZhpDYqj8sxIUdU/MdkZSURASpDBu1gU27HK5Sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtNX729FzzkVY for ; Sat, 17 Jan 2026 04:09:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 256da by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 04:09:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 35caa56a329d - main - tests/ipfw: add a test for ipfw(4) log rules that write to bpf(4) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35caa56a329deb0d13aa48ea1a6f7c1d5ebdb073 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 04:09:27 +0000 Message-Id: <696b0b77.256da.64858562@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=35caa56a329deb0d13aa48ea1a6f7c1d5ebdb073 commit 35caa56a329deb0d13aa48ea1a6f7c1d5ebdb073 Author: Gleb Smirnoff AuthorDate: 2026-01-17 01:46:02 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-17 04:09:02 +0000 tests/ipfw: add a test for ipfw(4) log rules that write to bpf(4) --- tests/sys/netpfil/ipfw/Makefile | 1 + tests/sys/netpfil/ipfw/log.sh | 95 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/tests/sys/netpfil/ipfw/Makefile b/tests/sys/netpfil/ipfw/Makefile index 92a8c9fdb2cd..cf68a0e2882a 100644 --- a/tests/sys/netpfil/ipfw/Makefile +++ b/tests/sys/netpfil/ipfw/Makefile @@ -4,6 +4,7 @@ TESTSDIR= ${TESTSBASE}/sys/netpfil/ipfw ATF_TESTS_SH+= fwd \ divert \ + log \ table ${PACKAGE}FILES+= fwd_inetd.conf diff --git a/tests/sys/netpfil/ipfw/log.sh b/tests/sys/netpfil/ipfw/log.sh new file mode 100755 index 000000000000..7df5c69e4219 --- /dev/null +++ b/tests/sys/netpfil/ipfw/log.sh @@ -0,0 +1,95 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2026 Gleb Smirnoff +# +# 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 AUTHOR 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 AUTHOR 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. + +. $(atf_get_srcdir)/../common/utils.subr + +atf_test_case "bpf" "cleanup" +bpf_head() +{ + atf_set descr 'Creates several rules with log and probes bpf taps' + atf_set require.user root +} + +bpf_body() +{ + firewall_init "ipfw" + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + ifconfig ${epair}a 192.0.2.0/31 up + jexec alcatraz ifconfig ${epair}b 192.0.2.1/31 up + + # Create a bunch of statically and auto numbered logging rules + rules="100 200 201" + for r in ${rules}; do + jexec alcatraz \ + ipfw add ${r} count log udp from any to any 10${r} + done + auto=$(jexec alcatraz ipfw add count log udp from any to any 10666 \ + | awk '{print $1}' | sed -Ee 's/^0+//') + + pids="" + for r in ${rules} ${auto}; do + jexec alcatraz tcpdump --immediate-mode -i ipfw${r} \ + -w ${PWD}/${r}.pcap -c 1 & + pids="${pids} $!" + done + + # wait for tcpdumps to attach, include netstat(1) header in ${count} + count=$(( $(echo ${rules} ${auto} | wc -w) + 1)) + while [ $(jexec alcatraz netstat -B | wc -l) -ne ${count} ]; do + sleep 0.01; + done + + for p in ${rules} 666; do + echo foo | nc -u 192.0.2.1 10${p} -w 0 + done + + for p in ${pids}; do + atf_check -s exit:0 sh -c "wait $pid; exit $?" + done + + # statically numbered taps + for p in ${rules}; do + atf_check -o match:"192.0.2.0.[0-9]+ > 192.0.2.1.10${p}: UDP" \ + -e match:"reading from file [a-zA-Z0-9/.]+${p}.pcap" \ + tcpdump -nr ${PWD}/${p}.pcap + done + + # autonumbered tap with 10666 port + atf_check -o match:"192.0.2.0.[0-9]+ > 192.0.2.1.10666: UDP" \ + -e match:"reading from file [a-zA-Z0-9/.]+${auto}.pcap" \ + tcpdump -nr ${PWD}/${auto}.pcap +} + +bpf_cleanup() +{ + firewall_cleanup $1 +} + +atf_init_test_cases() +{ + atf_add_test_case "bpf" +} From nobody Sat Jan 17 04:10:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtNY21HFbz6PKZR for ; Sat, 17 Jan 2026 04:10: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtNY15y2jz3WPF for ; Sat, 17 Jan 2026 04:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768623013; 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=Tp0b271CUPCeXS/cgVQqWYpncw2oZJ3bqNCb0g+Szcg=; b=MXzWGs0XtUNFGDuKxfx2wpecBDCFqQvTkGUfSPOjluf0vBRCb4jaxYVH4+kqQqSyYD7NR+ BCUr8e1avL6t7AQ+NlYTwIu+21/C43IREGDcqxbkCuN7fiDCYrBOFkyBsQfmIEwp8IWtxR axC8z+IMa/cmjXIdivStslT0PYsPyQ7QdtEx3ZGXheEDHFmPx/I/zXJmJNBqWYM5O1Hg0x p4ftznX3KUwC/r2Thyjdo7d+dqa1v57u73FZOLafRE7BSyJ90S1b1OEPYUtFWJ/gFHqb+w Tlp+pPJLBoyVJNdUl/IM+6L8WScEhCyjMOTclPBLBBv68ARCsIfbYfjro4orPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768623013; 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=Tp0b271CUPCeXS/cgVQqWYpncw2oZJ3bqNCb0g+Szcg=; b=IHDq4J+JGAuzzmI1qUgTkvdv8tvHJxb6/ZeZ5qoWO8mCcnNl12jRI2DiA7zjVDv7LEsWYb ciMoYE9tbgFoAmI/FjOITlKS684KmIl3WvnRkP70gpP37MX6NBHuEAAMLQlDZz3jrzHnBl 593cFqqN2TgJVEpJjZtc5zZq2RFx5ekb0tIm5o8s1CAM5fj+aDyd9ZS43Wwd378YoQLkle 5r7hGB/YQFX9BTBVW2CqwJRTtVoKw3yJrTQ8h9LXUfm4a6l1qSYxxEfyBZAYi8bUwMEDtI 5zC116eQt1krxWr5TmAVyF4MuK2rP9o7zJw2bYSey5SbnmoAh5aYdGYGZQPzUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768623013; a=rsa-sha256; cv=none; b=vUozR4jTviGIZMA8buxlw1xDX+gqBuIo08tHOY75iGqmVHMT/fPs/blgGsIz9tK301VX3l TPmcAzA8y44oQLjXzC6zoyNIFjMzBNAbwEU5vE2rDEzl6aTCBzXAkWkyl0ZqBT2HSOVcyb dabA3KaqKINmGmVKgtGYGp2Dok1LRMPrYx77gwrmsWpcxatlrQeo4j4432oqUw8kaasxEm zM2SRv+YOgB8kmqIPeHIEjtdP+mM9silZ1Rx4Mo6RN5L21r4lzVzhHdT5NOfI07tO0EMYG 1Npq8ZXJBQiTvbP+ogiWf2Kp1ipcPgYSl/suUlQQpcc9hfd0rFEfJdq57q43mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtNY159vlzkVc for ; Sat, 17 Jan 2026 04:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 303ff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 04:10:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: cd22fd0549c9 - main - powerpc: Add ISA 2.06 sub-word atomic set/clear List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd22fd0549c9a65b8806fd013f98be89c34c44f7 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 04:10:13 +0000 Message-Id: <696b0ba5.303ff.7c151de6@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=cd22fd0549c9a65b8806fd013f98be89c34c44f7 commit cd22fd0549c9a65b8806fd013f98be89c34c44f7 Author: Justin Hibbits AuthorDate: 2025-09-22 14:35:59 +0000 Commit: Justin Hibbits CommitDate: 2026-01-17 04:10:02 +0000 powerpc: Add ISA 2.06 sub-word atomic set/clear Add atomic_set/clear_short/char for doing 8-bit and 16-bit operations more efficiently on "newer" architectures (POWER7 and later). Piggybacks on b31abc95eb. --- sys/powerpc/include/atomic.h | 82 ++++++++++++++++++++++++++++++-------------- 1 file changed, 56 insertions(+), 26 deletions(-) diff --git a/sys/powerpc/include/atomic.h b/sys/powerpc/include/atomic.h index b2d7549e5bd0..60fb678e6b41 100644 --- a/sys/powerpc/include/atomic.h +++ b/sys/powerpc/include/atomic.h @@ -165,6 +165,28 @@ _ATOMIC_ADD(long) * { *p &= ~v; } */ +#ifdef ISA_206_ATOMICS +#define __atomic_clear_char(p, v, t) \ + __asm __volatile( \ + "1: lbarx %0, 0, %2\n" \ + " andc %0, %0, %3\n" \ + " stbcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cr0", "memory") \ + /* __atomic_clear_short */ +#define __atomic_clear_short(p, v, t) \ + __asm __volatile( \ + "1: lharx %0, 0, %2\n" \ + " andc %0, %0, %3\n" \ + " sthcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cr0", "memory") \ + /* __atomic_clear_short */ +#endif #define __atomic_clear_int(p, v, t) \ __asm __volatile( \ "1: lwarx %0, 0, %2\n" \ @@ -222,6 +244,11 @@ _ATOMIC_ADD(long) } \ /* _ATOMIC_CLEAR */ +#ifdef ISA_206_ATOMICS +_ATOMIC_CLEAR(char) +_ATOMIC_CLEAR(short) +#endif + _ATOMIC_CLEAR(int) _ATOMIC_CLEAR(long) @@ -265,6 +292,28 @@ _ATOMIC_CLEAR(long) * atomic_set(p, v) * { *p |= v; } */ +#ifdef ISA_206_ATOMICS +#define __atomic_set_char(p, v, t) \ + __asm __volatile( \ + "1: lbarx %0, 0, %2\n" \ + " or %0, %3, %0\n" \ + " stbcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cr0", "memory") \ + /* __atomic_set_char */ +#define __atomic_set_short(p, v, t) \ + __asm __volatile( \ + "1: lharx %0, 0, %2\n" \ + " or %0, %3, %0\n" \ + " sthcx. %0, 0, %2\n" \ + " bne- 1b\n" \ + : "=&r" (t), "=m" (*p) \ + : "r" (p), "r" (v), "m" (*p) \ + : "cr0", "memory") \ + /* __atomic_set_short */ +#endif #define __atomic_set_int(p, v, t) \ __asm __volatile( \ @@ -323,6 +372,11 @@ _ATOMIC_CLEAR(long) } \ /* _ATOMIC_SET */ +#ifdef ISA_206_ATOMICS +_ATOMIC_SET(char) +_ATOMIC_SET(short) +#endif + _ATOMIC_SET(int) _ATOMIC_SET(long) @@ -1140,34 +1194,10 @@ atomic_thread_fence_seq_cst(void) #define atomic_set_short atomic_set_16 #define atomic_clear_short atomic_clear_16 #else - -static __inline void -atomic_set_short(volatile u_short *p, u_short bit) -{ - u_short v; - - v = atomic_load_short(p); - for (;;) { - if (atomic_fcmpset_16(p, &v, v | bit)) - break; - } -} - -static __inline void -atomic_clear_short(volatile u_short *p, u_short bit) -{ - u_short v; - - v = atomic_load_short(p); - for (;;) { - if (atomic_fcmpset_16(p, &v, v & ~bit)) - break; - } -} - +#define atomic_set_8 atomic_set_char +#define atomic_clear_8 atomic_clear_char #define atomic_set_16 atomic_set_short #define atomic_clear_16 atomic_clear_short - #endif /* ISA_206_ATOMICS */ /* These need sys/_atomic_subword.h on non-ISA-2.06-atomic platforms. */ From nobody Sat Jan 17 05:01:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtPgq55YVz6PN3y for ; Sat, 17 Jan 2026 05:01: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtPgq2RGQz3bkh for ; Sat, 17 Jan 2026 05:01:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768626071; 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=4YP4vTWRpC3MwdpgI8IW9GculNndvmbeZth5XyPoxRQ=; b=wm4CZ77wgdmUNpA3n6KeVCFB0ApWLyOrujfHsEauvuSKDbvTS5lqGgOjWR1xhEHPYvS8Pg C0AIpLK9di6X9uF4wBKaoUqyTCirXHe9edh7xh6dneAxK8RIulJhUAquje+/HySktkE1WH mTN4p3HICRYtAU9VaJMUgGRXuvhRUxHubnCEI+NFEscOIIOMwy90ENmhQA/dL22FWOTbcI FOUoZnLJyOAM2dnzAfQApeappkpT1j4XIaJ67Qseu7Gn1F3HFDfJDj+W8UhDZ+C0RrIQ1W wtNMv21t/sbex8HkNcZTx3s7/p7LXkYfmL2fw3KQVEXLEwykv2IavOGWyhP2tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768626071; 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=4YP4vTWRpC3MwdpgI8IW9GculNndvmbeZth5XyPoxRQ=; b=f6Byd/e2aZ9brhaPgslz2yYscEP46+GPR1ueX+7bjCCT0i5uBpqsUk3zaK1gJHP/vemUzF 0pRzhU53Rcp1rFbQ87UthmtZHAlWkWOLDx3W+FFoLudNIdGG975BJ04qFda08twV7fPdjx hajhYaBg1X8VSK9Hyl7JhMj62EAnyGm3O2R3XzAuhlDQV64CqWaBE6cFLj0W/ZxQ/N7F69 TkOaNyMHO7QDP1LNq7wBK4K2XqZcaroHQmFBgLIJgSrTX/zsP5qvDmK8x5JBhLOIllrmNb /KVeoiIr09LmG8luuFmppzuPtvDiAnDpvC8p9LUzGG7lW+h0g1EMU3P5VLfZow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768626071; a=rsa-sha256; cv=none; b=Te342ZNUX0XP2BKECxLnVBPNOQdBhYG7RyclwgxvjSitWM+162Zrrc7IKAXxYSEMSMud+B SQrQPT8bgehXRwx6VDYuToUqz0wlA/bzoB8TPPs639F/hLDK3m4KPPdz2VerkVgbUY62ja nDqJPxpvmNqbPPWW51NNCWCBDiGTgbKvpz8ZvV5pAdyOkpRJ7UpfMG088xH2iCBnlkuFSO Bdiz74ujqA69mqUBk1Ax/7P6zsueDoe6Mhfklo4Qap7fFFo8BTkYETXwwxNNpaHf5AZTlF 5gBw/EnsGfK5zPy2bxIzJ9LvI1PG94hh1+uycYdQRpAq4R5AMEKMdDhUyC2AEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtPgq20x1zls3 for ; Sat, 17 Jan 2026 05:01:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35683 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 05:01:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: afbb21bd1d62 - main - aq: remove from NOTES; it's unfortunately amd64 only List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afbb21bd1d6261a00b078c0847d5ecc8863585b7 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 05:01:06 +0000 Message-Id: <696b1792.35683.378a2686@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=afbb21bd1d6261a00b078c0847d5ecc8863585b7 commit afbb21bd1d6261a00b078c0847d5ecc8863585b7 Author: Adrian Chadd AuthorDate: 2026-01-17 04:59:34 +0000 Commit: Adrian Chadd CommitDate: 2026-01-17 05:01:02 +0000 aq: remove from NOTES; it's unfortunately amd64 only Unfortunately the aq driver is using readl/writel calls instead of bus space routines. This broke, well, everything else. Fixes: c75eff16ef54aaae7b5dc52ed894cc73a855f469 --- sys/conf/NOTES | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 2d5899dd0533..6d3ea088b819 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1863,7 +1863,6 @@ device xmphy # XaQti XMAC II # L1 PCI express gigabit ethernet controllers. # alc: Support for Atheros AR8131/AR8132 PCIe ethernet controllers. # ale: Support for Atheros AR8121/AR8113/AR8114 PCIe ethernet controllers. -# aq: Aquantia / Marvell AQC1xx PCIe Ethernet adapter. # ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) # bce: Broadcom NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet # adapters. @@ -2005,7 +2004,6 @@ device ix # Intel Pro/10GbE PCIE Ethernet device ixv # Intel Pro/10GbE PCIE Ethernet VF # PCI Ethernet NICs. -device aq # Aquantia / Marvell AQC1xx device cxgb # Chelsio T3 10 Gigabit Ethernet device cxgb_t3fw # Chelsio T3 10 Gigabit Ethernet firmware device cxgbe # Chelsio T4-T6 1/10/25/40/100 Gigabit Ethernet From nobody Sat Jan 17 05:05:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtPmh3bkvz6PNWW for ; Sat, 17 Jan 2026 05:05:24 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtPmf35sYz3cGF for ; Sat, 17 Jan 2026 05:05:22 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.219.47 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-8887f43b224so51555746d6.1 for ; Fri, 16 Jan 2026 21:05:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768626321; x=1769231121; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rb2EOGvi0JSy8+PIjVxlKMhwen+tcbuBtXB3wGK6lyk=; b=PNdWITmdI5gsVNCkxc89VS4rNrF4tR3A762rbfJBF6iCrnBnTldKgyT/L+l8rl4hRF aXTQN2ucnzJzzY5/Pq9jaMI2GU0rX5f8+aXR46aXtOmVGEMh84x95D6B6PMwHOPq1Mhn +h5WKBTDB9OPyffTBDjJUSqCHNMqMNHUjjVnEDzFXmRerTTQNQ1JeHvhcP7jcqhT4mei 9AjmiX2J8LxtkgqaNM/iVwkhNw3Skmcamrz96XAnYzLqSH1PveCl/gOgeDTGbjmgxmF+ 3i/NfuquUshOG+AbHV4Rms5d9qvtPe/ww3rSgnyL8hzdI4xtuBPMfwUHVRjUUt1dbAcJ bLbw== X-Forwarded-Encrypted: i=1; AJvYcCV9LIrMpRf4v7HulUuQS88grxUgVSM7Jz0qtnvgZH5TL6IzDiilFo7Jxp9tIgqKwIPkTYQEkBfxHXqQdTo/zY832c8rmg==@freebsd.org X-Gm-Message-State: AOJu0YxtTuwQpdbcr129QwX2R0Eg2rU/adTdLv+D7y9n5uNA3PDZ9SWx 5fsJOaf6aMA4bLCk2cHVobIykHmzFXtLQOrbHMg2OIWHJpcqhYtjmt4w1/35vLSL+r4u94paOV/ 3rWiXNkDsY6M5DFRLJiwgcDBsilMOOGFqQQ== X-Gm-Gg: AY/fxX7rR9H6oPeItHyXcmJDJvdZ3s2q60C4ZFMszfpLTXnEPZJC2+uMY2/WF7Jcxeq SCL/qOsVGQDgJeJecLpxfkZwcvsLHWYVLFjoIeSRl7IM2ikvPny3FWN44dZ0UKyvNhfG2lAg7Sl XeW1NqgEJjYP2wnU4V4OIaymS9+teVVE+xDqGmWz8qXlxA7kGLN6iF+Ad7PX3S0iXec3SG3ZsNx 9Z5iUkHeJE4bWilrnmPxw+Zn+a3Vs+FF3xPkC7fJhjH/L7o8ex3Ya3/S4sxepewKogZEmR42NV1 nKoN7t2cfHcZZSyuTaRQ46nHLoJisA== X-Received: by 2002:a05:622a:58e:b0:4ee:17e9:999a with SMTP id d75a77b69052e-502a1e551b4mr71262191cf.33.1768626321236; Fri, 16 Jan 2026 21:05:21 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <696b1792.35683.378a2686@gitrepo.freebsd.org> In-Reply-To: <696b1792.35683.378a2686@gitrepo.freebsd.org> From: Adrian Chadd Date: Fri, 16 Jan 2026 21:05:09 -0800 X-Gm-Features: AZwV_Qhu0Z5NMji6VA-zPptfc22KcXpcZ0vmev8yYkvCCJyxEWSA4q7S-Q3m1VE Message-ID: Subject: Re: git: afbb21bd1d62 - main - aq: remove from NOTES; it's unfortunately amd64 only To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Bar: + X-Spamd-Result: default: False [1.10 / 15.00]; NEURAL_SPAM_MEDIUM(0.89)[0.895]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; NEURAL_SPAM_SHORT(0.21)[0.207]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_LONG(-0.10)[-0.102]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; ARC_NA(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.47:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; R_DKIM_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_LAST(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.47:from]; TAGGED_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; RCPT_COUNT_THREE(0.00)[3]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org] X-Rspamd-Queue-Id: 4dtPmf35sYz3cGF (oops sorry!) -a On Fri, 16 Jan 2026 at 21:01, Adrian Chadd wrote: > > The branch main has been updated by adrian: > > URL: https://cgit.FreeBSD.org/src/commit/?id=afbb21bd1d6261a00b078c0847d5ecc8863585b7 > > commit afbb21bd1d6261a00b078c0847d5ecc8863585b7 > Author: Adrian Chadd > AuthorDate: 2026-01-17 04:59:34 +0000 > Commit: Adrian Chadd > CommitDate: 2026-01-17 05:01:02 +0000 > > aq: remove from NOTES; it's unfortunately amd64 only > > Unfortunately the aq driver is using readl/writel calls instead > of bus space routines. > > This broke, well, everything else. > Fixes: c75eff16ef54aaae7b5dc52ed894cc73a855f469 > --- > sys/conf/NOTES | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/sys/conf/NOTES b/sys/conf/NOTES > index 2d5899dd0533..6d3ea088b819 100644 > --- a/sys/conf/NOTES > +++ b/sys/conf/NOTES > @@ -1863,7 +1863,6 @@ device xmphy # XaQti XMAC II > # L1 PCI express gigabit ethernet controllers. > # alc: Support for Atheros AR8131/AR8132 PCIe ethernet controllers. > # ale: Support for Atheros AR8121/AR8113/AR8114 PCIe ethernet controllers. > -# aq: Aquantia / Marvell AQC1xx PCIe Ethernet adapter. > # ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) > # bce: Broadcom NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet > # adapters. > @@ -2005,7 +2004,6 @@ device ix # Intel Pro/10GbE PCIE Ethernet > device ixv # Intel Pro/10GbE PCIE Ethernet VF > > # PCI Ethernet NICs. > -device aq # Aquantia / Marvell AQC1xx > device cxgb # Chelsio T3 10 Gigabit Ethernet > device cxgb_t3fw # Chelsio T3 10 Gigabit Ethernet firmware > device cxgbe # Chelsio T4-T6 1/10/25/40/100 Gigabit Ethernet > From nobody Sat Jan 17 06:45:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtRzt1ZT3z6PT8y for ; Sat, 17 Jan 2026 06:45: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtRzt0XTqz3kpr for ; Sat, 17 Jan 2026 06:45:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768632314; 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=8lXPxmxtSziuZbjp82kbfwHSfR5QPPd5XNsORUV7Dsk=; b=cEHSLBQE7P+Bv9Cbgpxyhb1Q6RD7yL4G8uP3dalku3nuTY4FjGuAroOBrKjY3f8Ps5S095 5TBoeAj+felhO10/orGpEfdnURz2prG7hVWufrHdYTFlExlTqmJK36Jj5HRcb7+rL4uZj1 NsiRcZQutX30eyBatRR0Z7eoybiHpIzZ1Si16j4YKq/ImfD1s4U4wBlvQkKHyBNEyT8WlI YWBsevfS12uds9oHkwNiT0CAKI2poDaI79YBqT+nqAbsJy5G6mITl97UfqqMG+JhJkqWme FhscplRc5uMPWjkAU2FTq04slO2aNQADCrwoLKD3I1V9y6a+m0HzDzM5f4kKmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768632314; 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=8lXPxmxtSziuZbjp82kbfwHSfR5QPPd5XNsORUV7Dsk=; b=aLhb45aaXLYlF678+9xpUQ1GgJJ/3tknXJO/HMPtgrJQ02uQw2K6LgOH6/UMDfdvuxOUeM O9s/nlovsbg7NgraWoypOG/QQBI5JNw6wDzGpFZ4JSdAimRUUxAbHS0+YvqFeH+hQQf+oh qAF6FsI/EzXZkUDupPm5/Lcg6dpI90ECwLBvAFiAWxJLuHUEEMADHnPQoW4WOdxgfHtOTU ep0A0Ah4r8ai+OGSGo+7wwyTZUQDXxupAqeL8MC3wqGUFUYX2oMDxjKK9my7KQS+9WyYv8 pmtum1yWJq7oySiCa0BQqcM4zxnQUiUgTtbGVDaceYBRdoE0yf3XYhsAc/1lGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768632314; a=rsa-sha256; cv=none; b=JElV+UPoV42FB/ZKeo9sg7Bps5aXuaFaHV7S3gwIKLPk24A7wAByOemfl/hqJzZVGw5+V3 moVt3xF6khBJZp1uxw7NCEKirfmiju4tGWuMsDTBTcTDqjUTgOzAmVBk9jsSMp76aybJLF M0k7F+dNnOjT1WJlVkLzgWSjp7S1PqSvpFxEX9lwNC1Kc140GSAf/Pmc0BKoHOea1096v/ AqpZx/HeY0ybi9kC4RO92I4Qieyz+9SugsFqzQULjyPvcK2sE7RtVM2/eFuvm+b8pobGn9 SG8qBO0vdmcZkLM/+5gLNElyFRtJhlFewtmMmZjc2KfovCR5ZV6jy/XgM4HMpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtRzs70mczprp for ; Sat, 17 Jan 2026 06:45:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e32d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 06:45:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 8e6843db9bc5 - main - libc: drop NO_FP_LIBC support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8e6843db9bc5af14b0ee631081ecaf1f02ce821a Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 06:45:13 +0000 Message-Id: <696b2ff9.3e32d.31ade21@gitrepo.freebsd.org> The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=8e6843db9bc5af14b0ee631081ecaf1f02ce821a commit 8e6843db9bc5af14b0ee631081ecaf1f02ce821a Author: Xin LI AuthorDate: 2026-01-17 06:41:56 +0000 Commit: Xin LI CommitDate: 2026-01-17 06:43:40 +0000 libc: drop NO_FP_LIBC support NO_FP_LIBC was added in 2004 to save space by disabling FP support in *printf()/*scanf(). The size benefit is negligible on modern systems and conflicts with assumptions made by current base utilities. Remove the option and always build libc with floating-point support. Reported by: Oskar Holmlund MFC after: 2 weeks --- lib/libc/Makefile | 3 --- lib/libc/gen/fmtcheck.c | 4 ---- lib/libc/stdio/printf-pos.c | 12 ------------ lib/libc/stdio/printfcommon.h | 4 ---- lib/libc/stdio/printflocal.h | 2 -- lib/libc/stdio/vfprintf.c | 14 -------------- lib/libc/stdio/vfscanf.c | 10 ---------- lib/libc/stdio/vfwprintf.c | 12 ------------ lib/libc/stdio/vfwscanf.c | 8 -------- lib/libc/stdio/xprintf.c | 6 ------ share/man/man5/src.conf.5 | 6 +----- share/mk/src.opts.mk | 1 - tools/build/options/WITHOUT_FP_LIBC | 3 --- 13 files changed, 1 insertion(+), 84 deletions(-) diff --git a/lib/libc/Makefile b/lib/libc/Makefile index 34474cfa9fe4..56818e07aa96 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -142,9 +142,6 @@ CFLAGS+= -DYP .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif -.if ${MK_FP_LIBC} == "no" -CFLAGS+= -DNO_FLOATING_POINT -.endif .if ${MK_NS_CACHING} != "no" CFLAGS+= -DNS_CACHING .endif diff --git a/lib/libc/gen/fmtcheck.c b/lib/libc/gen/fmtcheck.c index de889ad3421c..6d85e3889a4d 100644 --- a/lib/libc/gen/fmtcheck.c +++ b/lib/libc/gen/fmtcheck.c @@ -55,10 +55,8 @@ enum __e_fmtcheck_types { FMTCHECK_INTMAXTPOINTER, FMTCHECK_PTRDIFFTPOINTER, FMTCHECK_SIZETPOINTER, -#ifndef NO_FLOATING_POINT FMTCHECK_DOUBLE, FMTCHECK_LONGDOUBLE, -#endif FMTCHECK_STRING, FMTCHECK_WSTRING, FMTCHECK_WIDTH, @@ -185,7 +183,6 @@ get_next_format_from_precision(const char **pf) RETURN(pf,f,FMTCHECK_UNKNOWN); RETURN(pf,f,FMTCHECK_LONG); } -#ifndef NO_FLOATING_POINT if (strchr("aAeEfFgG", *f)) { switch (modifier) { case MOD_LONGDOUBLE: @@ -197,7 +194,6 @@ get_next_format_from_precision(const char **pf) RETURN(pf,f,FMTCHECK_UNKNOWN); } } -#endif if (*f == 'c') { switch (modifier) { case MOD_LONG: diff --git a/lib/libc/stdio/printf-pos.c b/lib/libc/stdio/printf-pos.c index edbd4e379699..4fa99316321c 100644 --- a/lib/libc/stdio/printf-pos.c +++ b/lib/libc/stdio/printf-pos.c @@ -311,11 +311,9 @@ reswitch: switch (ch) { goto rflag; } goto reswitch; -#ifndef NO_FLOATING_POINT case 'L': flags |= LONGDBL; goto rflag; -#endif case 'h': if (flags & SHORTINT) { flags &= ~SHORTINT; @@ -359,7 +357,6 @@ reswitch: switch (ch) { if ((error = addsarg(&types, flags))) goto error; break; -#ifndef NO_FLOATING_POINT case 'a': case 'A': case 'e': @@ -372,7 +369,6 @@ reswitch: switch (ch) { if (error) goto error; break; -#endif /* !NO_FLOATING_POINT */ case 'n': if (flags & INTMAXT) error = addtype(&types, TP_INTMAXT); @@ -504,11 +500,9 @@ reswitch: switch (ch) { goto rflag; } goto reswitch; -#ifndef NO_FLOATING_POINT case 'L': flags |= LONGDBL; goto rflag; -#endif case 'h': if (flags & SHORTINT) { flags &= ~SHORTINT; @@ -552,7 +546,6 @@ reswitch: switch (ch) { if ((error = addsarg(&types, flags))) goto error; break; -#ifndef NO_FLOATING_POINT case 'a': case 'A': case 'e': @@ -565,7 +558,6 @@ reswitch: switch (ch) { if (error) goto error; break; -#endif /* !NO_FLOATING_POINT */ case 'n': if (flags & INTMAXT) error = addtype(&types, TP_INTMAXT); @@ -744,14 +736,10 @@ build_arg_table(struct typetable *types, va_list ap, union arg **argtable) (*argtable) [n].pintmaxarg = va_arg (ap, intmax_t *); break; case T_DOUBLE: -#ifndef NO_FLOATING_POINT (*argtable) [n].doublearg = va_arg (ap, double); -#endif break; case T_LONG_DOUBLE: -#ifndef NO_FLOATING_POINT (*argtable) [n].longdoublearg = va_arg (ap, long double); -#endif break; case TP_CHAR: (*argtable) [n].pchararg = va_arg (ap, char *); diff --git a/lib/libc/stdio/printfcommon.h b/lib/libc/stdio/printfcommon.h index 411b778dc234..9de2783c4804 100644 --- a/lib/libc/stdio/printfcommon.h +++ b/lib/libc/stdio/printfcommon.h @@ -43,7 +43,6 @@ */ -#ifndef NO_FLOATING_POINT #define dtoa __dtoa #define freedtoa __freedtoa @@ -57,7 +56,6 @@ static int exponent(CHAR *, int, CHAR); -#endif /* !NO_FLOATING_POINT */ static CHAR *__ujtoa(uintmax_t, CHAR *, int, int, const char *); static CHAR *__ultoa(u_long, CHAR *, int, int, const char *); @@ -280,7 +278,6 @@ __ujtoa(uintmax_t val, CHAR *endp, int base, int octzero, const char *xdigs) return (cp); } -#ifndef NO_FLOATING_POINT static int exponent(CHAR *p0, int exp, CHAR fmtch) @@ -318,4 +315,3 @@ exponent(CHAR *p0, int exp, CHAR fmtch) return (p - p0); } -#endif /* !NO_FLOATING_POINT */ diff --git a/lib/libc/stdio/printflocal.h b/lib/libc/stdio/printflocal.h index f3d0d3e9e216..f3bedcda6678 100644 --- a/lib/libc/stdio/printflocal.h +++ b/lib/libc/stdio/printflocal.h @@ -82,10 +82,8 @@ union arg { ptrdiff_t *pptrdiffarg; ssize_t *pssizearg; intmax_t *pintmaxarg; -#ifndef NO_FLOATING_POINT double doublearg; long double longdoublearg; -#endif wint_t wintarg; wchar_t *pwchararg; }; diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index 2dc8d9022179..a4633ce7837f 100644 --- a/lib/libc/stdio/vfprintf.c +++ b/lib/libc/stdio/vfprintf.c @@ -314,7 +314,6 @@ __vfprintf(FILE *fp, locale_t locale, int serrno, const char *fmt0, va_list ap) char sign; /* sign prefix (' ', '+', '-', or \0) */ struct grouping_state gs; /* thousands' grouping info */ -#ifndef NO_FLOATING_POINT /* * We can decompose the printed representation of floating * point numbers into several parts, some of which may be empty: @@ -343,7 +342,6 @@ __vfprintf(FILE *fp, locale_t locale, int serrno, const char *fmt0, va_list ap) int ndig; /* actual number of digits returned by dtoa */ char expstr[MAXEXPDIG+2]; /* buffer for exponent string: e+ZZZ */ char *dtoaresult; /* buffer allocated by dtoa */ -#endif u_long ulval; /* integer arguments %[diouxX] */ uintmax_t ujval; /* %j, %ll, %q, %t, %z integers */ int base; /* base for [diouxX] conversion */ @@ -465,12 +463,10 @@ __vfprintf(FILE *fp, locale_t locale, int serrno, const char *fmt0, va_list ap) va_copy(orgap, ap); io_init(&io, fp); ret = 0; -#ifndef NO_FLOATING_POINT dtoaresult = NULL; decimal_point = localeconv_l(locale)->decimal_point; /* The overwhelmingly common case is decpt_len == 1. */ decpt_len = (decimal_point[1] == '\0' ? 1 : strlen(decimal_point)); -#endif /* * Scan the format for conversions (`%' character). @@ -574,11 +570,9 @@ reswitch: switch (ch) { } width = n; goto reswitch; -#ifndef NO_FLOATING_POINT case 'L': flags |= LONGDBL; goto rflag; -#endif case 'h': if (flags & SHORTINT) { flags &= ~SHORTINT; @@ -704,7 +698,6 @@ reswitch: switch (ch) { } base = 10; goto number; -#ifndef NO_FLOATING_POINT case 'a': case 'A': if (ch == 'a') { @@ -823,7 +816,6 @@ fp_common: size += grouping_init(&gs, expt, locale); } break; -#endif /* !NO_FLOATING_POINT */ case 'm': error = __strerror_rl(serrno, errnomsg, sizeof(errnomsg), locale); @@ -1023,9 +1015,7 @@ invalid: PAD(width - realsz, zeroes); /* the string or number proper */ -#ifndef NO_FLOATING_POINT if ((flags & FPT) == 0) { -#endif /* leading zeroes from decimal precision */ PAD(dprec - size, zeroes); if (gs.grouping) { @@ -1034,7 +1024,6 @@ invalid: } else { PRINT(cp, size); } -#ifndef NO_FLOATING_POINT } else { /* glue together f_p fragments */ if (!expchar) { /* %[fF] or sufficiently short %[gG] */ if (expt <= 0) { @@ -1071,7 +1060,6 @@ invalid: PRINT(expstr, expsize); } } -#endif /* left-adjusting padding (always blank) */ if (flags & LADJUST) PAD(width - realsz, blanks); @@ -1085,10 +1073,8 @@ done: FLUSH(); error: va_end(orgap); -#ifndef NO_FLOATING_POINT if (dtoaresult != NULL) freedtoa(dtoaresult); -#endif if (convbuf != NULL) free(convbuf); if (__sferror(fp)) diff --git a/lib/libc/stdio/vfscanf.c b/lib/libc/stdio/vfscanf.c index 89e9e843969f..576fe7d80485 100644 --- a/lib/libc/stdio/vfscanf.c +++ b/lib/libc/stdio/vfscanf.c @@ -56,9 +56,7 @@ #include "local.h" #include "xlocale_private.h" -#ifndef NO_FLOATING_POINT #include -#endif #define BUF 513 /* Maximum length of numeric string. */ @@ -89,9 +87,7 @@ #define CT_FLOAT 4 /* %[efgEFG] conversion */ static const u_char *__sccl(char *, const u_char *); -#ifndef NO_FLOATING_POINT static int parsefloat(FILE *, char *, char *, locale_t); -#endif __weak_reference(__vfscanf, vfscanf); @@ -648,12 +644,10 @@ literal: base = 16; break; -#ifndef NO_FLOATING_POINT case 'A': case 'E': case 'F': case 'G': case 'a': case 'e': case 'f': case 'g': c = CT_FLOAT; break; -#endif case 'S': flags |= LONG; @@ -835,7 +829,6 @@ literal: } break; -#ifndef NO_FLOATING_POINT case CT_FLOAT: /* scan a floating point number as if by strtod */ if (width == 0 || width > sizeof(buf) - 1) @@ -858,7 +851,6 @@ literal: } } break; -#endif /* !NO_FLOATING_POINT */ } if (!(flags & SUPPRESS)) nassigned++; @@ -984,7 +976,6 @@ doswitch: /* NOTREACHED */ } -#ifndef NO_FLOATING_POINT static int parsefloat(FILE *fp, char *buf, char *end, locale_t locale) { @@ -1153,4 +1144,3 @@ parsedone: *++commit = '\0'; return (commit - buf); } -#endif diff --git a/lib/libc/stdio/vfwprintf.c b/lib/libc/stdio/vfwprintf.c index 0d77bd74567e..f5324915ec3e 100644 --- a/lib/libc/stdio/vfwprintf.c +++ b/lib/libc/stdio/vfwprintf.c @@ -389,7 +389,6 @@ __vfwprintf(FILE *fp, locale_t locale, const wchar_t *fmt0, va_list ap) int prec; /* precision from format; <0 for N/A */ wchar_t sign; /* sign prefix (' ', '+', '-', or \0) */ struct grouping_state gs; /* thousands' grouping info */ -#ifndef NO_FLOATING_POINT /* * We can decompose the printed representation of floating * point numbers into several parts, some of which may be empty: @@ -417,7 +416,6 @@ __vfwprintf(FILE *fp, locale_t locale, const wchar_t *fmt0, va_list ap) int ndig; /* actual number of digits returned by dtoa */ wchar_t expstr[MAXEXPDIG+2]; /* buffer for exponent string: e+ZZZ */ char *dtoaresult; /* buffer allocated by dtoa */ -#endif u_long ulval; /* integer arguments %[diouxX] */ uintmax_t ujval; /* %j, %ll, %q, %t, %z integers */ int base; /* base for [diouxX] conversion */ @@ -537,9 +535,7 @@ __vfwprintf(FILE *fp, locale_t locale, const wchar_t *fmt0, va_list ap) va_copy(orgap, ap); io_init(&io, fp); ret = 0; -#ifndef NO_FLOATING_POINT decimal_point = get_decpt(locale); -#endif /* * Scan the format for conversions (`%' character). @@ -643,11 +639,9 @@ reswitch: switch (ch) { } width = n; goto reswitch; -#ifndef NO_FLOATING_POINT case 'L': flags |= LONGDBL; goto rflag; -#endif case 'h': if (flags & SHORTINT) { flags &= ~SHORTINT; @@ -761,7 +755,6 @@ reswitch: switch (ch) { } base = 10; goto number; -#ifndef NO_FLOATING_POINT case 'a': case 'A': if (ch == 'a') { @@ -885,7 +878,6 @@ fp_common: size += grouping_init(&gs, expt, locale); } break; -#endif /* !NO_FLOATING_POINT */ case 'n': /* * Assignment-like behavior is specified if the @@ -1080,9 +1072,7 @@ invalid: PAD(width - realsz, zeroes); /* the string or number proper */ -#ifndef NO_FLOATING_POINT if ((flags & FPT) == 0) { -#endif /* leading zeroes from decimal precision */ PAD(dprec - size, zeroes); if (gs.grouping) { @@ -1091,7 +1081,6 @@ invalid: } else { PRINT(cp, size); } -#ifndef NO_FLOATING_POINT } else { /* glue together f_p fragments */ if (!expchar) { /* %[fF] or sufficiently short %[gG] */ if (expt <= 0) { @@ -1129,7 +1118,6 @@ invalid: PRINT(expstr, expsize); } } -#endif /* left-adjusting padding (always blank) */ if (flags & LADJUST) PAD(width - realsz, blanks); diff --git a/lib/libc/stdio/vfwscanf.c b/lib/libc/stdio/vfwscanf.c index 7ca64eb37811..dbe7c6c48c98 100644 --- a/lib/libc/stdio/vfwscanf.c +++ b/lib/libc/stdio/vfwscanf.c @@ -84,9 +84,7 @@ #define CT_INT 3 /* %[dioupxX] conversion */ #define CT_FLOAT 4 /* %[efgEFG] conversion */ -#ifndef NO_FLOATING_POINT static int parsefloat(FILE *, wchar_t *, wchar_t *, locale_t); -#endif struct ccl { const wchar_t *start; /* character class start */ @@ -630,12 +628,10 @@ literal: base = 16; break; -#ifndef NO_FLOATING_POINT case 'A': case 'E': case 'F': case 'G': case 'a': case 'e': case 'f': case 'g': c = CT_FLOAT; break; -#endif case 'S': flags |= LONG; @@ -813,7 +809,6 @@ literal: } break; -#ifndef NO_FLOATING_POINT case CT_FLOAT: /* scan a floating point number as if by strtod */ if (width == 0 || width > sizeof(buf) / @@ -835,7 +830,6 @@ literal: } } break; -#endif /* !NO_FLOATING_POINT */ } if (!(flags & SUPPRESS)) nassigned++; @@ -848,7 +842,6 @@ match_failure: return (nassigned); } -#ifndef NO_FLOATING_POINT static int parsefloat(FILE *fp, wchar_t *buf, wchar_t *end, locale_t locale) { @@ -1007,4 +1000,3 @@ parsedone: *++commit = '\0'; return (commit - buf); } -#endif diff --git a/lib/libc/stdio/xprintf.c b/lib/libc/stdio/xprintf.c index a5671db67f58..4af0425792b0 100644 --- a/lib/libc/stdio/xprintf.c +++ b/lib/libc/stdio/xprintf.c @@ -60,10 +60,8 @@ union arg { int intarg; long longarg; intmax_t intmaxarg; -#ifndef NO_FLOATING_POINT double doublearg; long double longdoublearg; -#endif wint_t wintarg; char *pchararg; wchar_t *pwchararg; @@ -497,14 +495,10 @@ __v2printf(FILE *fp, const char *fmt0, unsigned pct, va_list ap) args[ch].pwchararg = va_arg (ap, wchar_t *); break; case PA_DOUBLE: -#ifndef NO_FLOATING_POINT args[ch].doublearg = va_arg (ap, double); -#endif break; case PA_DOUBLE | PA_FLAG_LONG_DOUBLE: -#ifndef NO_FLOATING_POINT args[ch].longdoublearg = va_arg (ap, long double); -#endif break; default: errx(1, "argtype = %x (fmt = \"%s\")\n", diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 81c1b3e88dc3..339ca2bd3e8f 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd January 12, 2026 +.Dd January 16, 2026 .Dt SRC.CONF 5 .Os .Sh NAME @@ -761,10 +761,6 @@ when compiling the kernel. Also disables all format checking. .It Va WITHOUT_FORTH Build bootloaders without Forth support. -.It Va WITHOUT_FP_LIBC -Build -.Nm libc -without floating-point support. .It Va WITHOUT_FREEBSD_UPDATE Do not build .Xr freebsd-update 8 . diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 99a70bc4239f..f8ef63130326 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -99,7 +99,6 @@ __DEFAULT_YES_OPTIONS = \ FINGER \ FLOPPY \ FORTH \ - FP_LIBC \ FREEBSD_UPDATE \ FTP \ GAMES \ diff --git a/tools/build/options/WITHOUT_FP_LIBC b/tools/build/options/WITHOUT_FP_LIBC deleted file mode 100644 index c92a9f82fcaf..000000000000 --- a/tools/build/options/WITHOUT_FP_LIBC +++ /dev/null @@ -1,3 +0,0 @@ -Build -.Nm libc -without floating-point support. From nobody Sat Jan 17 08:08:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtTrW3SrJz6NKqp for ; Sat, 17 Jan 2026 08:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtTrW1stsz3qwg for ; Sat, 17 Jan 2026 08:08:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768637339; 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=lZPQ0ROGc7gxSzkyYr9x3YbxJ9vt2E/CeoEOTAoAZ3g=; b=K6EoVE5Aluwtxf0Oo9Df23nJx8hVdefh8OCQlvznPQzmuCqfhCfQhCZXDFIHwo1MpKZmRq tCsCnHeRj5TsNXkpjHSy7ie3Kjjg4RrKhifRqbObzdtNUTthC4XdnvlHrh0iVYusyZA/Is SK+UnGkmuGqz2iKDE6UTJvzEALkAZd1+HMCNuyvfU3FYdpCmvzRftLVjirlam44VoI4JMr lNsVFt8i2mffavzsVPFsHJU1b33fGmdGkVxj8Rd9nQQZscgMeJ3I4kQKz5Edyedi8BHxVx 0sW72SdwxETlQaya2rNiSuKp+ERTWiSJ+wT3O91so1ozIhgPXSoI0x5rylpDFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768637339; 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=lZPQ0ROGc7gxSzkyYr9x3YbxJ9vt2E/CeoEOTAoAZ3g=; b=iv7Gwtm3XSwDhPe/pWCaOTXl4n8T9A1+wFuy89pFPxyRgtOC97cjS2BfeAenfv+rYJfCF1 5mmd4DHHzKRYU7XBvjH8sGd/6VyYYfFZ13WuV4N2mGRkIAj1JNjuvegSU2sFDZeHFMWvol I9Y6OlM9Kws5vZG0Xjl2pnQB0VImLDVJOBVqzR481DGr3wpqS0O618lKa+PM8BbiK9Iaq5 VfR1kAz3AsJRkTPukWdbpyT/l32ZSCzQjUSzS+Aec3nc7Z1/Ln0yQrVHOwhLSvi4En6DKG RA6taxoo2gCxgQtwtJuhthWTI9EAZx57bGfvQdGCrqNyqdYvpIy7YUmD0z4bhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768637339; a=rsa-sha256; cv=none; b=p9D9vLDUybHFfB1e2uLMpJLiHgsoR8QA2r9koBRvh5t31kV26DKjb8IkZR9n83uGX+d7pE NtYlwHNMy88sd8zpk1n1zq54RMoZHtNAcZPj5T8ufmDqZTK3NApXvRUI/DUZ+WUhgFbUad Aa3sOG29xqTRhZSqxZJ3NTG67PUVsF7s6FuJvwzVcp607oLSBveLRvpJO8rJWtMOxjqhXc XOSpYCRcLfNrMR5fR0qd1kOknYCEgQ1SM1VLYok4EAzCh1rSeLGEGdWTjxqECdfQPW40I1 jWgignVt75H9jN1iTMMRB0iF5lbmj+zlHA2tXN+dXiW7CG5dtUVKkE7yh03B6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtTrW1CJfzs4c for ; Sat, 17 Jan 2026 08:08:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f4c4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 08:08:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 97b177f51fb9 - main - dwc: prepare for IPv6 transmit checksum offloading List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97b177f51fb939943ef920415e541d00789d12f4 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 08:08:59 +0000 Message-Id: <696b439b.f4c4.6c9323da@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=97b177f51fb939943ef920415e541d00789d12f4 commit 97b177f51fb939943ef920415e541d00789d12f4 Author: Michael Tuexen AuthorDate: 2026-01-16 17:28:01 +0000 Commit: Michael Tuexen CommitDate: 2026-01-16 17:28:01 +0000 dwc: prepare for IPv6 transmit checksum offloading No functional change intended. MFC after: 3 days --- sys/dev/dwc/if_dwc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/dwc/if_dwc.c b/sys/dev/dwc/if_dwc.c index 1b4b4be68747..458ee01536ef 100644 --- a/sys/dev/dwc/if_dwc.c +++ b/sys/dev/dwc/if_dwc.c @@ -268,9 +268,9 @@ dwc_ioctl(if_t ifp, u_long cmd, caddr_t data) if (mask & IFCAP_TXCSUM) if_togglecapenable(ifp, IFCAP_TXCSUM); if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) - if_sethwassistbits(ifp, CSUM_IP | CSUM_UDP | CSUM_TCP, 0); + if_sethwassistbits(ifp, CSUM_IP | CSUM_DELAY_DATA, 0); else - if_sethwassistbits(ifp, 0, CSUM_IP | CSUM_UDP | CSUM_TCP); + if_sethwassistbits(ifp, 0, CSUM_IP | CSUM_DELAY_DATA); if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { DWC_LOCK(sc); @@ -607,7 +607,7 @@ dwc_attach(device_t dev) if_setinitfn(ifp, dwc_init); if_setsendqlen(ifp, TX_MAP_COUNT - 1); if_setsendqready(sc->ifp); - if_sethwassist(sc->ifp, CSUM_IP | CSUM_UDP | CSUM_TCP); + if_sethwassist(sc->ifp, CSUM_IP | CSUM_DELAY_DATA); if_setcapabilities(sc->ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM); if_setcapenable(sc->ifp, if_getcapabilities(sc->ifp)); From nobody Sat Jan 17 18:12:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFM73S6z6P3TV for ; Sat, 17 Jan 2026 18:12: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFM5x9lz3p4Q for ; Sat, 17 Jan 2026 18:12:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673575; 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=igQbtt1rwV5XHx9AUhYEKPSo62StWdro7csqeIOowHo=; b=w/kAOKkaOuBQHcgL24w53X/lxkYCENlTnOrmd/VVv7Yy+gawt/QpR8mtM+ZOOHA9vc6Bwm kBG3cLeLiCXdkwi9OGNhQS/mVyr2lJKqx6841IXJGzUdFOn7N7ecue9KiLgUtjsrv3oZTQ nu9dZg9aHey7YdmeRh0tn3HEJB3cxruMQxOcDPV66jOyHK6OVszPPUfI5MRmtIWDQtDmh3 uVSWM3mH6VloxLwWHLE9wZGIlr69EQmRlJH2pW/UEqxFdUoBM7Oy61sRtsPsp3IRURkPaf R/T4yEGlGaWSWMagAXCo92d8USZTCzmEsxY1EVR4hMDrSrmNeYV2pewhkgQB6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673575; 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=igQbtt1rwV5XHx9AUhYEKPSo62StWdro7csqeIOowHo=; b=FX8TQgRWLIOADrrmEK5xgXT7L2dIVjlX+PReCGfn2oOSxw+eqpiXSIHnRmQLS2E3c0sUnZ ELhquwJJ9DDcdU3S6MyTbfsyrCu+9O/AvnZr+spykLQcdePWJzoKnRJ8r7fSi9FVIJZy3d GBzrK3BajHbmT8V5/PscZNxcFIU87+9zXWFaCPmF8Ik62H7tJ39XG+O+2+9OOBce1N5xnL 2LL5gprGebnc59yejpCnrJjrHjKDfbpkzwz07oJZB6BW/pFCvL56pH/ozzrCYiMro5pHj/ RnTjtrBfhEEC2csnmlIDVRYSFr6hiLne8+HaD13o0vQGNp+qtx/S7FiJDHHxLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673575; a=rsa-sha256; cv=none; b=w+3Smo2vvLPenaQIjj7+O6rhh6NFMhFTsaY0BmHCngCCuOkFbOx+Fk1st4ihLF+h/7RUur rJbH7+PU4Mhvtkkob03Uw5FcUvkfIQa9Hgn+YaE4aDa1DkYkc0mb0m2BYMBB/uCKBjyT8K NZjFmPBb1Ngo6h2vthf8v5h/5YEfI9XO+0rSdPgv9S8rSc19ixOdG9SRLabJsN3h4YGpkE tStEDCWr4Vm9IgNZ6A5JY8qJ+rb08St17MOQFBENV2AY0e7PEt7cg6y1Q2tklrxm9CWtKE mmUBTbhDr5jVMjcBybP7s5MnD3jxQ4pWWevC0GB7SKMUoWcZoEY5gBDu06Esmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFM5Jbcz195R for ; Sat, 17 Jan 2026 18:12:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a4f9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:12:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: a4f0a60e0529 - main - tarfs: tests: Increase timeout (again 2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a4f0a60e05293f3f517324f3ebc41046a79a9feb Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:12:55 +0000 Message-Id: <696bd127.3a4f9.6f666244@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=a4f0a60e05293f3f517324f3ebc41046a79a9feb commit a4f0a60e05293f3f517324f3ebc41046a79a9feb Author: Jose Luis Duran AuthorDate: 2026-01-14 17:48:43 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:01:21 +0000 tarfs: tests: Increase timeout (again 2) Bump the timeout value (for the third time), to avoid cutoff on emulated architectures on ci.freebsd.org. One of the runners will take considerably more time to complete this test. Reported by: Jenkins Fixes: a551b0524953 ("tarfs: tests: Increase timeout (again)") MFC after: 3 days --- tests/sys/fs/tarfs/tarfs_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/fs/tarfs/tarfs_test.sh b/tests/sys/fs/tarfs/tarfs_test.sh index 9405697ab21f..c8579781b51c 100644 --- a/tests/sys/fs/tarfs/tarfs_test.sh +++ b/tests/sys/fs/tarfs/tarfs_test.sh @@ -401,7 +401,7 @@ tarfs_large_head() { atf_set "descr" "Test support for large files" atf_set "require.user" "root" atf_set "require.kmods" "tarfs" - atf_set "timeout" "1200" + atf_set "timeout" "2400" } tarfs_large_body() { tarfs_setup From nobody Sat Jan 17 18:12:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFP0x5Kz6P3pK for ; Sat, 17 Jan 2026 18:12: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFN6nNlz3p4R for ; Sat, 17 Jan 2026 18:12:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673577; 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=XANc25vMv3ltG6vu0HcBDwHVMCnVhLIYdHFWij0zYlg=; b=HS6BdxodLopVPLBnrWx3ho8yh/DMi9R8GxAhARiJbSykvaqnLLEGXvtt9Zvtzy7RLHGb0y /pCLZY8Kcyj7utPiVSUDGnCwMYgzn33jljdkl+w8QM7lRIrjVSM/wZVUZ5WqXh7EfJPxUW rjCDQLV2AJDRhIpngCH/ZELb42/5vxJOfQSYHjWenT7y8cgq6CUo82SQgufVyiV5tFv0Rq KkPfUhFc739Ui4xT3/vnCY6JwKmSeoB62cX/KupH80NYJqmDL/qUgIptd8OsRQjmPkKCn0 1rtgUPwXE6W76WD025bVZrhpzgCP4BzTrUBjaKs7IXYxeaB98vjsGpeqwDK0fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673577; 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=XANc25vMv3ltG6vu0HcBDwHVMCnVhLIYdHFWij0zYlg=; b=Y6BIPEzYZrpCXrL6fH5ZYdRK31ieLM+zIHMfDS5kmCahyTtvnXTlp/8q2oQHb/n6Xyh2xZ Aqh1XI89i8vAtHhMnZfotBe9T6SNXHytz1wxPIPSUi+/Rq2h5k3c8FTpBi2zGv+V+maRrx 4vCttirPt9QAuA0hekDzppM3dDpb+7H4mXm6takHBv0AI5RZid2bGvVRK/3jUZ+NPZ4jsO Juj7pfPzkKUF8oStKFv3D8WHpTbQXupxkovsNQSCXYRU5FvgOL5/f5aoJqmbDr7y/PMo5M WTbjS60uyqlNiZuQTbh3+I0WCjwMKXpSBjiWL9MEx4eAm+qIPq0KWdG56Ziikw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673577; a=rsa-sha256; cv=none; b=YtlwLfNTb9uXEAtoLCbg2D7quI5VLI4v8CFuEQxZhvq9cVT0itJ1pZyFvaNn1UUP7vTWpo IYXo+XarBS8zR262A9iph27LCdxWgoPXN6c2QdBp+jhh0TaA0f0ESw4kWqJTa7B/NjVQz4 AWJEzlLE8WMNv4J8F+t65HZurTT/b5Tci6HevvLZpz2v4kQzFVuqeKWt6LyuValOMTimWK ap933SWDN8c6xpSZGpGD9/bEJtg5ixUY+qCl6dKoLhPxXhuwuwbE2DEpEwF2nT6t2KT+W1 kS2nXn358bL2AET4iS2ZVpOmtYftjz9TOLw7tY/MGcyBtlAqqGd17qobcfUc5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFN62j3z195S for ; Sat, 17 Jan 2026 18:12:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b061 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:12:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 7106db625ece - main - nanobsd: Prefer nano_umount to umount List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7106db625ece3cb48c5993686c74553993b9431a Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:12:56 +0000 Message-Id: <696bd128.3b061.7d379a0@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=7106db625ece3cb48c5993686c74553993b9431a commit 7106db625ece3cb48c5993686c74553993b9431a Author: Jose Luis Duran AuthorDate: 2026-01-17 18:03:00 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:03:00 +0000 nanobsd: Prefer nano_umount to umount nano_umount[^1] is a convenience routine used to override issues with umount(8) without changing the nanobsd.sh source code. There were a few places where it was not being used. [^1]: Introduced in 6d12b61a88a6 ("Add a routine for easy workaround any umount issues w/o hacking nanobsd.sh.") Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48780 --- tools/tools/nanobsd/defaults.sh | 6 +++--- tools/tools/nanobsd/legacy.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 588758154c98..57be7a10f521 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -812,7 +812,7 @@ cust_pkgng() { mount -t nullfs -o noatime -o ro ${NANO_PACKAGE_DIR} ${NANO_WORLDDIR}/_.p mount -t devfs devfs ${NANO_WORLDDIR}/dev - trap "umount ${NANO_WORLDDIR}/dev; umount ${NANO_WORLDDIR}/_.p ; rm -xrf ${NANO_WORLDDIR}/_.p" 1 2 15 EXIT + trap "nano_umount ${NANO_WORLDDIR}/dev; nano_umount ${NANO_WORLDDIR}/_.p ; rm -xrf ${NANO_WORLDDIR}/_.p" 1 2 15 EXIT # Install pkg-* package CR "${PKGCMD} add /_.p/${_NANO_PKG_PACKAGE}" @@ -837,8 +837,8 @@ cust_pkgng() { CR0 "${PKGCMD} info" trap - 1 2 15 EXIT - umount ${NANO_WORLDDIR}/dev - umount ${NANO_WORLDDIR}/_.p + nano_umount ${NANO_WORLDDIR}/dev + nano_umount ${NANO_WORLDDIR}/_.p rm -xrf ${NANO_WORLDDIR}/_.p } diff --git a/tools/tools/nanobsd/legacy.sh b/tools/tools/nanobsd/legacy.sh index cbe56d6f560c..5ba2d81c6017 100644 --- a/tools/tools/nanobsd/legacy.sh +++ b/tools/tools/nanobsd/legacy.sh @@ -113,7 +113,7 @@ create_code_slice() { -y ${NANO_HEADS}` fi - trap "echo 'Running exit trap code' ; df -i ${MNT} ; umount ${MNT} || true ; mdconfig -d -u $MD" 1 2 15 EXIT + trap "echo 'Running exit trap code' ; df -i ${MNT} ; nano_umount ${MNT} || true ; mdconfig -d -u $MD" 1 2 15 EXIT gpart create -s bsd "${MD}" gpart add -t freebsd-ufs -b 16 "${MD}" From nobody Sat Jan 17 18:12:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFQ4Mzhz6P40Y for ; Sat, 17 Jan 2026 18:12:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFQ0mVDz3nlW for ; Sat, 17 Jan 2026 18:12:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673578; 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=HTIT8r3VTjL4EMYWVwxxU6Lo2G8bAjTncihB1wb2GGA=; b=jdLvkXcowbIcHGIjgNLWDlZ/OqSRSLbUFmlT/Fc8yt0gCaNN7ySm4DugfEMToeYZVjuGRN 7yShL3VPU43WMzO8US1AkqjGlDM6oHfbAa41Ib6rF8YIeU9B8qPwOoFRxdS8MXwml6u+yS VYOLCAW0yeFqUrXeDV8D/DkfZGIYKkuyfzFrSd8SJdEPnC6Uzj1B3hI3mdyLJ47KCc9COM 9vxI9oOHjrHG2ehfOC/Z+EhI+J9vlh+W7lSYKED4jzL/RxXoZUpr6TKUcjJi9jwlI41tNV TW6iWszWs4FIM0Pp+vseY9vpnYvX9zbmmj80mJUUeHlYAkxQqqut52YsK3UDug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673578; 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=HTIT8r3VTjL4EMYWVwxxU6Lo2G8bAjTncihB1wb2GGA=; b=mCPy9bgve/h879TTIHlxi8ceJUAF/XkqNUSc5tM2AlcGxlMzNWYCBEFeD+7hc9PTz7bGla yeoe7zC5jYU2GaGPNr/v6onQzJztipknGG013G2owZbg4bUr1XSTkKHYhiNSy7wnLTg5NC lI8XzhK9KjxEgGuALLbDu5RZZMnQddzLKA1cARH0V/NfTb9UoG/D/87tVd9YFiUtsk7Mzq 4t64Dslg/qe86RnCcYD8s9zACtba+s8SI2nP5Enuxo1jiRs6IQU4cNvFYX/6FwBN9SE6NO iiO0eytmD7SdGQTz4EWy1cjPDMe5qiKQMNWeCbPnIKTy6ewtaXitrnTjXwJSJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673578; a=rsa-sha256; cv=none; b=HMgHrK2T0JT8mxZb/2XZGY0wcsrHwnRbc9w6CZcLWRznlJ53dla5s6qCRM2Hn8K/2mxrxK 9NKDLgd7BIdK3+fJ6F5rE8jTOZjWtMYuabWY6q1xZBHjG0jdB+RftZchGDkCQKcKjH3LEj HF0YPSTqYZxHcoyjhOqCaPJNI5Jh2tRxde6D2/75vB2FRVzVHcMLIllqebRliuu9H5mVK/ a3mrY+3V7cmG3nN1e4QxAg3cXqSd/pvfL0rmFpjucBy4tsi2VacdqlCUy8dzQgEG0vqcnL NvRNsJE3nNw9RrW0ZHT01RXEhTqNjEdcpjH2O5eiVUZHMHuPZmaMbWTytvdj2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFP6Vj8z18pb for ; Sat, 17 Jan 2026 18:12:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a0ed by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:12:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: eb544c63fc96 - main - nanobsd: Add uname/gname to the spec List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb544c63fc962d057df0c55497c648a6a869aacc Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:12:57 +0000 Message-Id: <696bd129.3a0ed.3bb91737@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=eb544c63fc962d057df0c55497c648a6a869aacc commit eb544c63fc962d057df0c55497c648a6a869aacc Author: Jose Luis Duran AuthorDate: 2026-01-17 18:03:26 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:03:26 +0000 nanobsd: Add uname/gname to the spec Also include the default NanoBSD uname/gname in the specification file. By default, NANO_DEF_UNAME and NANO_DEF_GNAME map to root and wheel respectively. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48781 --- tools/tools/nanobsd/defaults.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 57be7a10f521..8d0c1e068048 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -257,7 +257,11 @@ tgt_touch() ( cd "${NANO_WORLDDIR}" for i; do touch $i - echo "./${i} type=file" >> ${NANO_METALOG} + if [ -n "$NANO_METALOG" ]; then + echo "./${i} type=file" \ + "uname=${NANO_DEF_UNAME} gname=${NANO_DEF_GNAME}" \ + "mode=0644" >> "${NANO_METALOG}" + fi done ) @@ -275,7 +279,9 @@ tgt_dir2symlink() ( rm -xrf "$dir" ln -s "$symlink" "$dir" if [ -n "$NANO_METALOG" ]; then - echo "./${dir} type=link mode=0777 link=${symlink}" >> ${NANO_METALOG} + echo "./${dir} type=link" \ + "uname=${NANO_DEF_UNAME} gname=${NANO_DEF_GNAME}" \ + "mode=0777 link=${symlink}" >> ${NANO_METALOG} fi ) From nobody Sat Jan 17 18:12:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFR1yltz6P3rh for ; Sat, 17 Jan 2026 18:12: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFR08kkz3pG1 for ; Sat, 17 Jan 2026 18:12:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673579; 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=IBnwfSlZOHjm8yQHe7cXeKIXuzEr9XvRt2QRlOc/10w=; b=P6JpI5VuVNWoGpQ6OtvzKMptQ+eqKvcOWBKFDMPtrT6UKZOMGLS6Sxy7jrKXr74QlRjCWh 5IISm06dnReYKv0qpxB57GiIJ9PNoZkkycD4PWkaS80MuHQcHUDBSH+yYMI05ts6TLp/ZV cGggkduOW+zSjIcB6e+gAgVC8npcY6aL9Z2RomTGfLnOW+fsjjdMSHaciftJ5Jo1HXvFDk M3M7w79fZN0qHsu/+yfAxbSqIkiWtiyyxz6IjoECcb0hG4FPIip6sWmhrGyOruwjBbGRa0 V+GLOhW2nvTMfvpdPXiPiNHeeJZ54u5dDNSuK69toE4tVjxNI3YAelKhpqPLnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673579; 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=IBnwfSlZOHjm8yQHe7cXeKIXuzEr9XvRt2QRlOc/10w=; b=Zq0kcFYJazG7/Nmev/2uf7Bz7se6cb9y1syROhuU3TUf3QECkeezMdw4ZGC7YQNXILg2AM 2GC1lEAx5nLcTLorh82YL+hrPbmLqAACdrCCmz3B+E6qmmMjfgCT8k855wSMRLfR0vSAyx BOsHNCW7iZ/SHL7J8D/PScAvxl/8cguZT0U8L6Mx0yA8N3FWp6mUxllj011eDKYujhp4Lf 5rgoHBZ7tUPQ5WXUfU/vnxbVHRwvO30o+93HtgMnsHdOuI+tignDBwTLHBOJnzpMiN8EZH K5gpmjkYr5ldL47UqC/6AHgpLNZ1oNIxqmE++AqQI6Uiu+orAXfWQWutqk5kFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673579; a=rsa-sha256; cv=none; b=Ejw0tGEbTOKboWXfNu8C0Hr3T6Q1XODvQwk2xW3v3XOXp9KrMBsGgy70k668bW1M15ecSJ 6iXBA1RMEU4FCAk+PYVc2hdhTtxS6yBSMHy3rrnprn8kJxTrPn9l/FB3r17aKnsNnyUPc0 24/Db0fdCMKXir4cTYKA0HBqk1XCFESDkk0jmkgHmSJQ1UvaKU7RNK1QEYysGNVdwiahQ3 sVc+ubXOHvA8JB6xOEzfumzMcWr8OWKhoCSUdE62JYN9MTtdizcZfU7o/We0TYDG6fzhYd RfHCMLq8kICW6e2MHW8LA/9CNpaFIxm1sbJy+nUAtD//rYxpW4hkeOJGYBJ6rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFQ6sWtz195V for ; Sat, 17 Jan 2026 18:12:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b473 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:12:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 6eccd84bee75 - main - nanobsd: Make tgt_dir2symlink() take a mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6eccd84bee75d2db2bb2ce121ff745c843e94efe Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:12:58 +0000 Message-Id: <696bd12a.3b473.7e0225f3@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=6eccd84bee75d2db2bb2ce121ff745c843e94efe commit 6eccd84bee75d2db2bb2ce121ff745c843e94efe Author: Jose Luis Duran AuthorDate: 2026-01-17 18:03:50 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:03:50 +0000 nanobsd: Make tgt_dir2symlink() take a mode Make tgt_dir2symlink() take an optional third argument that sets the mode. By default, assume an absolute mode of 0777, to maintain backward compatibility. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48782 --- tools/tools/nanobsd/defaults.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 8d0c1e068048..2307874fb75c 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -266,22 +266,23 @@ tgt_touch() ( ) # -# Convert a directory into a symlink. Takes two arguments, the -# current directory and what it should become a symlink to. The -# directory is removed and a symlink is created. If we're doing +# Convert a directory into a symlink. Takes three arguments, the current +# directory, what it should become a symlink to, and optionally, the mode. +# The directory is removed and a symlink is created. If we're doing # a nopriv build, then append this fact to the metalog # tgt_dir2symlink() ( local dir=$1 local symlink=$2 + local mode=${3:-0777} cd "${NANO_WORLDDIR}" rm -xrf "$dir" - ln -s "$symlink" "$dir" + ln -sf "$symlink" "$dir" if [ -n "$NANO_METALOG" ]; then echo "./${dir} type=link" \ "uname=${NANO_DEF_UNAME} gname=${NANO_DEF_GNAME}" \ - "mode=0777 link=${symlink}" >> ${NANO_METALOG} + "mode=${mode} link=${symlink}" >> ${NANO_METALOG} fi ) From nobody Sat Jan 17 18:13:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFS2n4Cz6P40g for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFS0Y0Xz3ntX for ; Sat, 17 Jan 2026 18:13:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673580; 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=MQNR+g7KTlt4yFy7VHUvEt/Dcu2bZMnbWCyilPoFM74=; b=Zj5JUvS0kBcOgvW+Ekln8S8Bv14yL3pyA+05HVuSzETcGYHuFTeAflCDJoVzdZ7J/QEkVb +86ztxo3MOOOpfuVtSF2qH6/+YS/7olFMcUH96Msy0cfJLEW2aG5Ej+Qg5f7VisIKGOn/8 UyUr+/gwjphXsX2VDGeUxfb9AS7+dPfAamFI3JMw6B/ds+sRMNbHBG/2cqY2tZRaDoEo6J bWOCjgDaye3X3C7kbRIu1Ay0y+QzInUA4kQQJL9cObLD1wDnGoyPKYDFkbiw/0pzi0Qxyh kElw8o+4yleWpARTODQZ62O00JXW/5joA9D8/SmHDkrJ2mgSclxSZxHFHc1IJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673580; 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=MQNR+g7KTlt4yFy7VHUvEt/Dcu2bZMnbWCyilPoFM74=; b=C/A3f9iOpmJydyWOG4mF6jigzTEXWLL7tKcNUBN+4/ITs9+QkjuOILTPaCixJxu5i9zUWL WRl508zApbXtv90er110UNmgYQluwhLIJHzBYWp3ybr+2gkC3uCKU1+GwWmNAKV1OAsdyF RV/UHkYW7U4nJiZK/fttb+8ohDW+eqCa+8FvVG71tgwwD+kyURmUAXbDLyCQTfnR6UWcj4 +Gq7X37p4ziGd4aDaZsQHhIDfv/2Yx/5wgODwfo3KWqINeA1eEG+DEEhhboKiRYDUDV1gx +iK4pQY/lsNsschyRBf/gaPlcNk96NU6FizmP5pCCi0o7Vplua8iFnUG8OdtWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673580; a=rsa-sha256; cv=none; b=COWclarCby6BxqtmfzLJkaS8uBlVfFz0jXu2weqbgRD2V0G7TVuu9gK/Mmu3qUz0iMW8qJ 3OxjfQqiY/Uygm1tuA5WRz4/Ue6xiP6n3wkMI3XbkrQfYid4BsD+TnVRkXTglgB/0NH4fW H7QJITdD4Khl5J8hg1qDj4pwbQxXRk9uP1u4ErnbMuerLj1kH39z3ZSQWiVxE+IIHyaiDN 5bRU9xKP54FKl1hd3xVaKtZkAwB7rus8IVXo+LGmIBMxTDR5pvgUAh+evOxVBRaBHFmVpF BjjztC0Nd59MiLn67Zj5731Y9H883LfMwXGEfNoMq+LZcgYiUfUq7BAgPJu1qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFS05Pgz19SK for ; Sat, 17 Jan 2026 18:13:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ac8c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 5345567935a2 - main - nanobsd: Prefer tgt_dir2symlink() to create symlinks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5345567935a229ae1a621a521596b89af59d081f Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:00 +0000 Message-Id: <696bd12c.3ac8c.122801e7@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=5345567935a229ae1a621a521596b89af59d081f commit 5345567935a229ae1a621a521596b89af59d081f Author: Jose Luis Duran AuthorDate: 2026-01-17 18:04:09 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:04:09 +0000 nanobsd: Prefer tgt_dir2symlink() to create symlinks Prefer tgt_dir2symlink() to create symlinks, as it has the benefit of appending the entry to the metalog file. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48783 --- tools/tools/nanobsd/defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 2307874fb75c..749a4bd785dc 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -549,7 +549,7 @@ setup_nanobsd() { # are installed by this point, but are later in the process, # the symlink not being here causes problems. It never hurts # to have the symlink in error though. - ln -sf ../../etc/local usr/local/etc + tgt_dir2symlink usr/local/etc ../../etc/local 0755 for d in var etc do From nobody Sat Jan 17 18:13:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFT4lBLz6P3v6 for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFT1RdMz3p5c for ; Sat, 17 Jan 2026 18:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673581; 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=zvbdrGmnvLgil/nB8yF1TN6Y1GrbjAxp6N6FguEi3PE=; b=xehF8beltgSilIo2Mpla+WcKslQulD5Emyy+bmVGKl55GQMFvLI94ElKTKIC8mzP0vSSWB GXI/f0ESI+D2mbHGf8UyiODvaJr8KRxiO15mn+DhvwjOz4BT9tkdKzdjQWueFTtgNjhoJ/ 2uVjEl1E2ekfPENdBzu3z0yekyrg6OZPehE7AmwPvEZBm4MNCY8ZVMQBGUpk7cD2XhmRsa QaGMszJY4AQjP7cLn3autkTXJ2am26bDGKCK70GcueSnMCYEcy/dwIlYVOD47ZEgNds8Y2 MIaEvj0Lpth/5XNt4qEkWZYuXuWSwjBpcTm4g8Oc5NJlMzYOewJr4PAvHKEm1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673581; 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=zvbdrGmnvLgil/nB8yF1TN6Y1GrbjAxp6N6FguEi3PE=; b=d21kqoOrDUUGSJz1grCwRSO1PRX4FWwRb3C3zrn8/2FIIl7G5VYhJMOcIYgHFjf80XFziG li9x7uRX4MjYIXo1RF6xJAtz2PI7XkPsKvZT3MIFy9jJXdgt2CnuiHZrvN04zU3evv7CyC li6TBS2CaukWvtMwIYExAlCpKQdQIvPbMA9wyKDNEcPPOGFigFgMchbFcUwqV1oEcExgy9 ZqZRHuufdBiCMR3ue9fbleDxcOnUekP1e2FvqWxPdrKE62BQhH9qBpH5CjP0fWs8HI8fU3 tBbpxELrNPwiqgCQYIXin53FUjdQAziincJlOgaAbKs+pp3XnOPgAsn6FIhvvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673581; a=rsa-sha256; cv=none; b=QbuHnBFJxFstOMSP8+rrekcG5CQX9hWV/7Vn0rrjlkdWHSIoXmog6eaSe7b//GjW/Qskp7 pyCz6Dp/xxeCyGBTg4FfHnjT0BoN+OzsquIZ1BouoTkES4ec7rF2WpeY8+NSGMNtZT5hYu RJv/FXe6Q2D9t53dMItRIS/FLNrSgrftYqobi+/lXb0IupZDHBfsarFuteAe7xB+fFpq/d 9IdSNO4Nib8ZhmQbAdBISZc8am4YtpJ40CznmqyQY8D3il/LWIEAMZF0OGgBZTTcHmUbt6 O8xTwCDbZTlQUBp2LUu6cWKXvLxBN/ly0H7Adb87h50EJnhhcB9EjE8UcwRYyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFT0svSz19Sl for ; Sat, 17 Jan 2026 18:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ad84 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: b8b046a259ed - main - nanobsd: Set the proper mode for /tmp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b8b046a259eded36eb9bd6a1c02d60a78dae24f6 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:01 +0000 Message-Id: <696bd12d.3ad84.9eb705e@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=b8b046a259eded36eb9bd6a1c02d60a78dae24f6 commit b8b046a259eded36eb9bd6a1c02d60a78dae24f6 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:06:01 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:06:01 +0000 nanobsd: Set the proper mode for /tmp The correct mode for /tmp is 1777, keep the same mode when symlinking it to /var/tmp. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48784 --- tools/tools/nanobsd/defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 749a4bd785dc..65339633e0af 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -567,7 +567,7 @@ setup_nanobsd() { echo "mount -o ro /dev/${NANO_DRIVE}${NANO_SLICE_CFG}" > conf/default/etc/remount # Put /tmp on the /var ramdisk (could be symlink already) - tgt_dir2symlink tmp var/tmp + tgt_dir2symlink tmp var/tmp 1777 ) > ${NANO_LOG}/_.dl 2>&1 } From nobody Sat Jan 17 18:13:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFV4nnYz6P4Gs for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFV22lgz3p2y for ; Sat, 17 Jan 2026 18:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673582; 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=RGOvWfvXeCdPhQ0NzW471MYz8jseDREOG+l6vfwcU3c=; b=BzaNgNPacEvfT38ly4Ol7zWRDPVRNbEHPoLobKZ42rUuPbsIeAubVq964l6LahUKyVcwyh mD0xspHGzE7jXL0Wgn9EyVf+IEp/uG7JHMvtkrWxLMT1EfARjURCO4PIizbrBukJHy84AR DIIygVRxnHSbHO8TGfEgLGabrc+9Bdq+hW0ljIdt4hkrsNHKSLX4ytkSqdhP1vQtvbjfD6 +dRt2B3UmQtUg27t2qijMZz+6pY56Rn+USHaLuQA8q2jIlS5pddNOn0LKDtPUJKuYYYDFa rg3S2E8EXyDQSlmtb22ubWdVLSiE8Os5T0w1xGvwRnu3aV/fomxh5al0Au7d3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673582; 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=RGOvWfvXeCdPhQ0NzW471MYz8jseDREOG+l6vfwcU3c=; b=pCgtSEr/Rm4YnAl70pfPFJKGeJQvScuR6deVL8Hm+pZCBprbfE9gXLr5RQ0Kg56tz9bWmH lYITTeQ0Y+3kIIvnQqA/4j0Xq8uDmvH0/E6PZJz7mWQd9BvykgE1V+JLZ+R7pXlhzYciyh Syc5hdCIQVGqihxc+ZcoLWu93SmRqRfyDO3Mnu1gF6FhwGUU6P8BvtVNJwwNA28/aBWe7Z ML+WwuPTPDZpiiNoFX6v67u3FqY3hNe+kp/Dlxoi7qRnlkA3G19etfe8vyRYymW1IT7WVY VrQElHPJiJFFGYAJB4Zk21O7yljcJvdjQGuTaiMSdn7mmh95X5Ln1IwBHSydpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673582; a=rsa-sha256; cv=none; b=P0hwQcM8krMGAR1JcUPfvjd7ZFW5b6oM9I56d0z/WRGzgQG5/OCj51SwAMT56C/Lw8kaH+ UNTmbHvMTT6XKodjkQDEDMrVhDhJrRQ6FkIdOzc/IE13Z7zY9bBOYGDTLLRb3J5nY5iqqS Y99kKPOjzfzNRca2LlMSIZAnxFmNcS0rGGpKOP5uzEt/i6acilsqiOQG47rgziFIFuXFLj JbJy06A72UE8CIZSIdlOI5BJLD4Qzze/advCHMo5cdAy+UKRDeh2TwFEWKt1Z+RmDutj3f Z+XSTo8YdzyEp6cvG2otJSnyj1X0CGX9EVsCeFVthO/CODgjXnY3tS97CmLyMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFV1b8Qz195W for ; Sat, 17 Jan 2026 18:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b066 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 64e16fa5c7b1 - main - nanobsd: Prefer tgt_touch() instead of touch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64e16fa5c7b13006864fc90d913a19135dbbd6b7 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:02 +0000 Message-Id: <696bd12e.3b066.7b78a2b@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=64e16fa5c7b13006864fc90d913a19135dbbd6b7 commit 64e16fa5c7b13006864fc90d913a19135dbbd6b7 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:06:19 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:06:19 +0000 nanobsd: Prefer tgt_touch() instead of touch Prefer tgt_touch() as it adds an entry to the metalog file. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48785 --- tools/tools/nanobsd/defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 65339633e0af..50c6770dfcab 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -579,7 +579,7 @@ setup_nanobsd_etc() { cd "${NANO_WORLDDIR}" # create diskless marker file - touch etc/diskless + tgt_touch etc/diskless [ -n "${NANO_NOPRIV_BUILD}" ] && chmod 666 boot/defaults/loader.conf { From nobody Sat Jan 17 18:13:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFW6LS1z6P3pb for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFW2bYDz3p35 for ; Sat, 17 Jan 2026 18:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673583; 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=j1+TEAc6bEw5jaQp5NUNFfvrJqyZrn1GET1YBt3HrRs=; b=sgZkwTelGs8MowTwJqnvO9FMTFXeh9+++1pbSlussIqNB6+VQQe5G4ZAV7x+BEXgY61XDR h+U9rbni5SbDVaBQY0meiQVXJfD4h1bgco1wrHOJ2fQ9VGTCRSRo+H6N9X+QmIzcG9P5MK LL+2on6SufJ5RbsxVfqxz91cmFdnE1V5XHVISYdLdKWAMBrArBEVK2D5DXKu6X3IsZsJbn yE3W5tcul83iujVTMJpZ91jnITLE3cQ8UGZS8M1auY8GapCiwO+1Lyv+l4Lk8eXPH3KCZT aZaTNu11q3qvtvkl9Ty/hQFWyBijIEzdcJDYTvDJaWTAqIet839u5dgVaOM27w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673583; 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=j1+TEAc6bEw5jaQp5NUNFfvrJqyZrn1GET1YBt3HrRs=; b=EaNIBD2wSNlqC3znxI++5+JQno5noZ6CCAP+xXA2kH5fERNgL8u+C0XNPSdTH8E2E/0zhD M28BzeRMomUMGcpmz1j1uYGV9JTlXleBOnEp6xWZtyZ/5BuUyGCZjbLSDftdp9SHn5U3gA yyGZRxXag0SYS7O3lojWS1jvWxpFYESVxL8/hfPuJIg4fhPI+M+XB42kp2odafD5gb59Od THFlErw77uzDxvph8Axa8YYj5NWD3xfmGLQQpCyTa0/5wPBiUYvlOV7iOOq7XM8Js0xToj Qg3gKr6hrDb8MQGevDBXfDnecZO2m6S3kMufhp8Z+Le6EH00xaexJLwebJz6jQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673583; a=rsa-sha256; cv=none; b=YcOY6db8CogF5UNfoE6/8Uw7O4FRWbovD2P/hwVJieTUvKI2cSm/USE0TgeHIxTeGVW7Lg SHmTEgWOiWz4U6lcH4cZl42n+qO71XkkueyMFMFx/0raO+w5TkahCwGd8m67VOS3SD9ORq 8YIMBYvul6DVgeACAHO8yy0QhW3J7SRGx4vliVRyArGf60lu6IEyycvgNKXR5Zb9YhkYaO 4lZeH2Tp+9O36r/wzsE+Wl4bH0PY2fICwymtf88ATU3cycDnzbarQknywoUyzbcNdqbsdp XMCnWbxixHHo3ef1ySr11iecEdr3WyH+j27HN7HeQpm5n1x4uHpQwR48KAnHjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFW24FPz19HN for ; Sat, 17 Jan 2026 18:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ad88 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 7c4d6fbd1b79 - main - nanobsd: Add a function to create directories List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c4d6fbd1b7970703f7d14f3acfba5dbcd168644 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:03 +0000 Message-Id: <696bd12f.3ad88.1aa0e73a@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=7c4d6fbd1b7970703f7d14f3acfba5dbcd168644 commit 7c4d6fbd1b7970703f7d14f3acfba5dbcd168644 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:06:58 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:06:58 +0000 nanobsd: Add a function to create directories Add tgt_dir(), that creates and adds directory entries to the metalog specification file. Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48786 --- tools/tools/nanobsd/defaults.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 50c6770dfcab..be4126516c3d 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -286,6 +286,25 @@ tgt_dir2symlink() ( fi ) +# +# Create directories in the target tree, and record the fact. All paths +# are relative to NANO_WORLDDIR. +# +tgt_dir() { + for i; do + mkdir -p "${NANO_WORLDDIR}/${i}" + + if [ -n "$NANO_METALOG" ]; then + path="" + for dir in $(echo "$i" | tr "/" " "); do + path="${path}/${dir}" + echo ".${path} type=dir uname=${NANO_DEF_UNAME}" \ + "gname=${NANO_DEF_GNAME} mode=0755" >> "${NANO_METALOG}" + done + fi + done +} + # run in the world chroot, errors fatal CR() { chroot "${NANO_WORLDDIR}" /bin/sh -exc "$*" From nobody Sat Jan 17 18:13:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFX57nbz6P3xD for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFX38wQz3p1C for ; Sat, 17 Jan 2026 18:13:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673584; 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=aXftlLuxu9Rl6GL7HTGdTWN26u1M2CorJFn2JXTH10I=; b=lMJJ66G39ykL05s2Epd8JVMU83MXs/kquq4EIWfEy4peFsfVxRRmfbHmGheoPZdNmaoovo B1qOQjyby6sdfnynYWQarsL6oxTdKud/WgwUrbtzcOLNXkiey+r8JIJugDVT8XxtFrL1hQ vptOzMVFZorbOtT8ebMJmLrd/eqemPDO817Lw40lzf95YDarN/ZpbSV66mqoehdnXrzNS6 9KVx5JsIpucU8XzmjSERIF4lkHXlf3whkccVitkfqgaHbNuHFoipkQGkS1mANSErO77umw C+DmRY17B+UOlnhFIIyxamsieKWcRWUUGu4qsgUaqo3kAcyeX9/p1gwkOcVGIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673584; 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=aXftlLuxu9Rl6GL7HTGdTWN26u1M2CorJFn2JXTH10I=; b=T1lX+QVeMqzUdT/w/z7jsFbi2hgbPLxzsP+uEqF7F/+7AhldmzBg2CImnfqBDbekHvuwBm VHOKT5ib6P5Bwo6nm7pqPS+QKxC+rL9aLZeI6l1Xe+bHMz99TzOaik5aJQpTNzbBwa/bU8 v7inKJVOg7NDNRLlRUWosdaL40HyOr+1bEaXzTjcO9vVMozOrr1Q1bVs423wjurZixtKNU XsAMCJb1KTfN5HpHcBCesqy0JFpJ7LzXsoRatgLsLdZdMFM8Q6QA9VEM8Um02xEy6NH/Ld Ii7EBonSAdMSEf0ZIaY6BH31rD7KN3YQwPmD0PaWq9Zs5gNmajgUfg0f43YCNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673584; a=rsa-sha256; cv=none; b=t7+vWJsyNa8TX60oWcLFjVsanj4UHPMSoakX94tOpvqmWCZKo3zVLWskjWDuM2JNvZyyZ7 Yfs6jI/WTP5Ss/RBiv4VaZJHiflbn958EPrZTTByobrIyMwofI/w70ETrPjOHmXh3yr3hc dGU0sVri3h6EZuIyfDhHHV6iPmrPkKk1cFflPcrC6i/gkgx8PJteEwlQLR85Spm9UYe9hk Vp+FL88XsYcMq5g8PVw6EL5rvHMqb78rfeIsCpLyHwkTXt8VPJVT7zGie5Fbi0QT9gspnH XKpg9TBqjuyk8OYCwc6rS9LA3GXctBfN6PRO5fp1QyF6b0UrvZ8y0y77pqX0dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFX2msgz19Sp for ; Sat, 17 Jan 2026 18:13:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ac21 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 605fb076eb33 - main - nanobsd: Add a NANO_TIMESTAMP variable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 605fb076eb33ea5c08ec6ed3bbe7b6966baa898d Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:04 +0000 Message-Id: <696bd130.3ac21.2ff5ffeb@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=605fb076eb33ea5c08ec6ed3bbe7b6966baa898d commit 605fb076eb33ea5c08ec6ed3bbe7b6966baa898d Author: Jose Luis Duran AuthorDate: 2026-01-17 18:07:31 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:07:31 +0000 nanobsd: Add a NANO_TIMESTAMP variable Initially not wired, this variable will hold the time stamp for all the files of the final image. By default uses the last commit time stamp, if empty, it will use the start time of the NanoBSD build. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48787 --- tools/tools/nanobsd/defaults.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index be4126516c3d..fd98482f7115 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -56,6 +56,9 @@ NANO_PKG_META_BASE=/var/db # directory located in Files. #NANO_CUST_FILES_MTREE="" +# Use the time of the last commit as a timestamp when doing a NO_PRIV build. +NANO_TIMESTAMP=$(git log -1 --format=%ct || true) + # Object tree directory # default is subdir of /usr/obj #NANO_OBJ="" @@ -969,6 +972,7 @@ set_defaults_and_export() { NANO_METALOG=${NANO_OBJ}/_.metalog || true NANO_STARTTIME=`date +%s` + : ${NANO_TIMESTAMP:=${NANO_STARTTIME}} pprint 3 "Exporting NanoBSD variables" export_var MAKEOBJDIRPREFIX export_var NANO_ARCH @@ -992,6 +996,7 @@ set_defaults_and_export() { export_var NANO_PMAKE export_var NANO_SECTS export_var NANO_SRC + export_var NANO_TIMESTAMP export_var NANO_TOOLS export_var NANO_WORLDDIR export_var NANO_BOOT0CFG From nobody Sat Jan 17 18:13:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFY6PbCz6P410 for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFY4BW2z3pS5 for ; Sat, 17 Jan 2026 18:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673585; 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=tbXssQjVv+tQ8VI06ecwFchY56C9uproaR8fbTJgIOI=; b=KTXykJ3XuJYnHEYEe97+atby9Sju3/XIxURMFDfgQNGroHoGpMzBHPe5cveEt1rAliz2sB 7ho6ueOa9Jzz8uN/96yZczqYgjrGKeqVcqhPz0G6BsK6GN57rh6pPY5aSOYL24fM/INRKM 3+VkkMbeTzuP3dkjDuIWoXTURq6iPn/RMfSSNBtN4CBhYSLbbBdgq+PFVvEsX3LNnjBSMD +mZIZDsFXZBu0mPWfXIx1sJD40tdWx0HYC6xLqoGXyTnv/p7DpnVRt70ZPmfYPm5gtlxgp oxq75DYCoWN/p3FTTda7aCCu/m5ohdABviIYDyw12janZPFZ41gqP7hkZ+4T6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673585; 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=tbXssQjVv+tQ8VI06ecwFchY56C9uproaR8fbTJgIOI=; b=rt5AoavRnJkgWOQxoJXzVa/cXaiVbNgJA9aBbyRJWQYsKOl9HQojKAMmpsi6uDDjF++rbU awrdZ3fjQnzkq/66W49LPkLR365cdUGmRFqxlTlBIyPWxAOCBBXBjQbNy6AgxHjX0hl5pf siYz9UIgq2ZZteqgoudp/O3n3P8eFQ38E6eBsBHmUK4c4x+wkxFISxmEYi+QQBfzJj5+6H liPFGdL+oHLCfBNB8Nr9blXk/zxtSWZ6yC7mhVKeJATu6m4cEo3mDB68VmOamQ/oJYKn60 fza8FFStgLC62juKj3cQyY8Q6RC22uC7ypsGR8zMIFNliFT3QNodkheJX2cytQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673585; a=rsa-sha256; cv=none; b=OLYbe/I5Fd8GOycViihInJLoSNBkccrYeGgA9usHx9ZK3NTNAPTp73Fob4gwJ7l1frTAQq VMkDAirV0a/PTcNUvBO/udYm8w7o1fZExm3rQKdzt6aY2OmN9fVr2Tgt8igDhlLHymF9i+ nJd9NwwAcGCPGbWwhHZTOMwOF3pUkk4P3DFCfL6jEsVxeyqd+WytyiHdQh90NZ3dWxiSDm GjJaqExNbe0tlwIr3cGbtXF0Tx/Jti3SozS1YYmmQRdqddMqBPKRASlcMyyLmSGdl4UKDU udb0pY1/gIQxoLzgfb4vcadOSEOaImbmrUAQ0UUPB2lnDXZS+A3hsLNoYTe88A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFY3XQrz19HQ for ; Sat, 17 Jan 2026 18:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39dba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 4f141f5ef4a5 - main - nanobsd: Switch the / partition in fstab List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f141f5ef4a531eccacf226b5a0d4507f36cfa44 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:05 +0000 Message-Id: <696bd131.39dba.7fecf9cd@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4f141f5ef4a531eccacf226b5a0d4507f36cfa44 commit 4f141f5ef4a531eccacf226b5a0d4507f36cfa44 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:08:03 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:08:03 +0000 nanobsd: Switch the / partition in fstab Introduce a function tgt_switch_root_fstab() that switches the root partition in the target file system tab file. Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48788 --- tools/tools/nanobsd/defaults.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index fd98482f7115..13e7797df2f5 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -308,6 +308,22 @@ tgt_dir() { done } +# +# Switch the current root partition in the target file system tab. +# Takes two arguments: the current, and the new partition. +# +tgt_switch_root_fstab() +{ + local current new + current="$1" + new="$2" + + for f in ${NANO_WORLDDIR}/etc/fstab ${NANO_WORLDDIR}/conf/base/etc/fstab + do + sed -i "" "s=${NANO_DRIVE}${current}=${NANO_DRIVE}${new}=g" "${f}" + done +} + # run in the world chroot, errors fatal CR() { chroot "${NANO_WORLDDIR}" /bin/sh -exc "$*" From nobody Sat Jan 17 18:13:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFb1qCpz6P3vF for ; Sat, 17 Jan 2026 18:13:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFZ690Xz3pQ4 for ; Sat, 17 Jan 2026 18:13:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673586; 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=wElkdtRsgiHrFFBc7BA1S9zZBugaIIB6nYU14fxVtG4=; b=vLKDORtRA88Dx81Vhx7lhJJlQwQMR4eWKZ1vt0zXffdXJq89eUjmTHC278BEfDLzZ9haCj l2Ar4QaYwR9TWwB/OJmIE8xALF8MxsYX3YrQkHEJ9EyQRN7jpzw3JdJAqEEn2L+Y9hnRZP X7Gi0d36GASKzVoGZ/LG27fVTBfPbC3MKySec/Ul0yex73sDhPJWe3R7jfULaAnGw87X2W +4zgKs+YjkJYtrAblzS15hyxjashnxLnjHX9yTW6TCifkzwoTgEq8Z8DyJIEg3EwoHhYEs nohZnxd0JRG7y5uuWlGmerfAiCh55Sq3/D3BT3jVqcWcUEpGfOjqD++8Xyjwlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673586; 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=wElkdtRsgiHrFFBc7BA1S9zZBugaIIB6nYU14fxVtG4=; b=TvkJmvRyGCFySEn+QacTfBPxz2Wylj6wOvRSlJZKcYdo7v57RqpJ219A3d8mOExtbAv1jm cQxna24uhwbRz1VHDOhwkA7BrG18bUmRBxQ1x8k3xrTMFgxbFqYHT6tbTyUWkQiSfz3YJE dShIiKPrlfLbqOcQA2uLjx0Ajog+6V6Z/4LOY0huwj0A8+WR7iZJ0IXt2rWWI64CPO5Zmz LE/bwalK40Vhj95+ixDi6j2rqFbC64MplNP5/cZW13Dndqvm4bO4CKQ30a81wx1anHgeNE bLkS7HX06xQ9DuEqgzGE5ZHuFre8HTMnn/NSrG9+iN/IC+36p7hbsFHfUuVVoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673586; a=rsa-sha256; cv=none; b=MCaKefhCyKNggUvRQP0XCzIZfDnY/mwzSqGokJZMGFF37CWvmMmQnAPE0wuIOF1nOjBBoD /9jy4zdTi7Dr9nriAUrB2efQacU6Z5HW1EI67l4OF4qlIkTFWKyn0eQ/AeptzUzqMcv0rm fooFJnUCcq84sld0bR5XZQOZe+sSyMR5WInMlryB+PFYbK4ta9WHdy9oVZKdKYIYlWBUW7 4ZwHOGyHFIuddzxN/+iWx2b2O/UNLUwjNNwLMKAlEe5LiCPC/9SH5iTuj1tHvipcWxWWZj 5nb0slQcUjQyPuFWBdlZU58CSc4n8vLRl7aFr2QGBeSIKDuwnrXzb8ZSPn6TGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFZ40cPz19Sr for ; Sat, 17 Jan 2026 18:13:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39dbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 5ba2a74e3a20 - main - nanobsd: Add a nano_makefs function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ba2a74e3a208ec5641832ffcb9674c0e4b06950 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:06 +0000 Message-Id: <696bd132.39dbe.3ba0dd3@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=5ba2a74e3a208ec5641832ffcb9674c0e4b06950 commit 5ba2a74e3a208ec5641832ffcb9674c0e4b06950 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:08:52 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:08:52 +0000 nanobsd: Add a nano_makefs function Add a NANO_MAKEFS global variable with options equivalent to NANO_NEWFS to be used with a nano_makefs function for creating images. Also add a function that adjusts the code size calculation, so makefs -s won't error about the minimum rounded size. Ideally this shim should be removed, therefore the suspicious _xxx prefix. Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48789 --- tools/tools/nanobsd/defaults.sh | 14 ++++++++++++++ tools/tools/nanobsd/legacy.sh | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 13e7797df2f5..9827095b334c 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -107,6 +107,7 @@ NANO_LATE_CUSTOMIZE="" # Newfs parameters to use NANO_NEWFS="-b 4096 -f 512 -i 8192 -U" +NANO_MAKEFS="-o bsize=4096,density=8192,fsize=512,softupdates=1,version=2" # The drive name of the media at runtime NANO_DRIVE=ada0 @@ -688,6 +689,18 @@ newfs_part() { mount -o async ${dev} ${mnt} } +nano_makefs() { + local dir image metalog options size + options=$1 + metalog=$2 + size=$3 + image=$4 + dir=$5 + + makefs ${options} -F "${metalog}" -N "${NANO_WORLDDIR}/etc" \ + -s "${size}b" -T "${NANO_TIMESTAMP}" -t ffs "${image}" "${dir}" +} + # Convenient spot to work around any umount issues that your build environment # hits by overriding this method. nano_umount() { @@ -1002,6 +1015,7 @@ set_defaults_and_export() { export_var NANO_IMGNAME export_var NANO_IMG1NAME export_var NANO_MAKE + export_var NANO_MAKEFS export_var NANO_MAKE_CONF_BUILD export_var NANO_MAKE_CONF_INSTALL export_var NANO_MEDIASIZE diff --git a/tools/tools/nanobsd/legacy.sh b/tools/tools/nanobsd/legacy.sh index 5ba2d81c6017..ff951f4b762b 100644 --- a/tools/tools/nanobsd/legacy.sh +++ b/tools/tools/nanobsd/legacy.sh @@ -92,6 +92,17 @@ calculate_partitioning() { ' > ${NANO_LOG}/_.partitioning } +_xxx_adjust_code_size() +{ + # XXX adjust the CODE_SIZE value by rounding it up to + # a bsize of 32768 (DFL_BLKSIZE). + # Otherwise makefs -s will fail because of the guard + # introduced in 5ad283b3c60d. + codesize=$1 + bsize=32768 + echo $(( ((codesize + (bsize - 1)) / bsize) * bsize )) +} + create_code_slice() { pprint 2 "build code slice" pprint 3 "log: ${NANO_OBJ}/_.cs" From nobody Sat Jan 17 18:13:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFd1Mdbz6P4C3 for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFc5Kx0z3pKq for ; Sat, 17 Jan 2026 18:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673588; 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=5Ec34YJwfK8o7wzu50RZKUbjT9Hno/dGaDlxFwb89ew=; b=WP1ky/849ZnRt2uQUrJXq8MLRBvdN2S+z6mP6a2feIz0stYqxXt4l+5C+6ZD9IV3IMgbQ8 ae3ucXQ0ry0VWU23WTc4jXuDMwS6KlYynoXhsg6KR1UVWf2kqD9ZAgSEYPuikEBeaVT/tR bL6Y+MPXqe4F0KpLD2eMaxzapFvAje4LTZTVPtVz0t+QaSMH7cgdPJoWqF211z5WimqMmf wmeC5fPctNpKKSd1N2uim8t7DgxHQy326eo1+bBIXKkYc63jWMWRMd71MPwgEHfE2gmpFo 1gMpVmp4k2FHZjCu7Jn7P/+JQXfS2L39f76MFTrmvV7p9n3/lbGd3Jg5UtAFYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673588; 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=5Ec34YJwfK8o7wzu50RZKUbjT9Hno/dGaDlxFwb89ew=; b=dUsBjUJBUCuLg5p07FL9I7Vt3pb9PCcQvUESLIogX51LopJFyZwXZFlePO+UhvJdN6fomz YsERHa8lO3Z4QVbHoZamhc5SCSgX+BlzLJtz0n50ixf7WMgMPoyhsQQt/9Vf1dTgIQBd6f pxVhJtbXFRqX67H3lsXfZhU7wDxb8KQ7nwpmOlt4eTRSra4z1UBKcnZtxCqEAruiehColw aUjsWnOeGpCI2dcPiqanIjhQfJc/rol1i/SB0W3CgcRSKZGlDj+1Xfke8tKszjkF3Urf0j HfvcqsNrRMGHxFQSWji6nOLaG+vI7+Vr5lIkalGQXMLufAoeUOysCSAGoctF1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673588; a=rsa-sha256; cv=none; b=F9iJlODCODiM4gAThGEaIXSYID5KOqImp8P5WNwlVAPEcHIP9DShYaSgmOQY3VIuHnJHmZ d1sigWJIT4Yeqvwj63aAB5ro5VpOCQUdnUPrCU6t2ST+UuFKzrOAlXPyEFZ6pxvY2vuL+T Ws+vM4N8Njn5wsApPV+BBYdZcoFoy2U7yGTTjpiuAjimhjU3zW/PFESdWjDzmaLQVo+yfk KYu/2bprX3r9b/CQp16ov57rMVHGsQPbdb7OZYBmnkTpxM7rtgktsliaoH1aMgiR1A7E7v n/rGuZ/PpbxuXsrJoh/z39DBCfKAEBWHShmYyyV6++HutTeLEEjMvhD0vrMjag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFc4xVJz18ph for ; Sat, 17 Jan 2026 18:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a3df by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 800d390fe74a - main - nanobsd: Add a provisional populate /cfg function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 800d390fe74affa7484da3ad754ccc166624c056 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:08 +0000 Message-Id: <696bd134.3a3df.30ed4279@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=800d390fe74affa7484da3ad754ccc166624c056 commit 800d390fe74affa7484da3ad754ccc166624c056 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:09:59 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:09:59 +0000 nanobsd: Add a provisional populate /cfg function Add a provisional _populate_cfg_part function. It populates the /cfg partition, but using makefs(8), which is more in-line with what release engineering uses to create images. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48791 --- tools/tools/nanobsd/defaults.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 7775dd572fb5..c0683259786a 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -772,6 +772,10 @@ populate_cfg_slice() { populate_slice "$1" "$2" "$3" "$4" } +_populate_cfg_part() { + _populate_part "cfg" "$1" "$2" "$3" "$4" "$5" +} + populate_data_slice() { populate_slice "$1" "$2" "$3" "$4" } From nobody Sat Jan 17 18:13:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFc1Lmvz6P4C2 for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFb5DVSz3pSS for ; Sat, 17 Jan 2026 18:13:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673587; 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=dN9CFb+zzoXVvPKjkc96XOg1vpLcjcLjiqXS/KiJjJ0=; b=FrkAsOiUNO7+JJ/Jo5yP4QbxTi0UEEs7H4xE/rpuF2U+sQ4ZY6VK686ybeyOHiDPbEpzVV augLNELNy9Cp/TppBI3UEwItMf7cLOijPFLsgMGKHNh6UJwSKPtxSsMSV4l+SpjL0M01+1 udz2QHhd8IwfDoqdJuFBA/Psv4WxbYA3hlUaYASie+FYSQACgsRY0FAjSHGshNaTmjATWX cR5twaNQ0VlfOksemoCssYmQk+Fn3t/0De0YaAkIueFsbbatNCqACFNWOlHQjCTiVoxbPQ 4jrmCa3o9WA6mkJhPmsaMZq3twxAB6mVYCfwrTegRVrSifxQhOmF6icAsdzFYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673587; 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=dN9CFb+zzoXVvPKjkc96XOg1vpLcjcLjiqXS/KiJjJ0=; b=sj1lEr/Qo2+CkCkw4dzzBQVxq1zvfBC5iL8dvQAhG7VEIJwDti4mAwW4XRLLrCZvf/zk7U Ae5MJnkIp44dXm3dbUGzSDKV+ltRs4aCNCQ5uMll7waXEKQTH8QQnnY8BQRNvJmo4XMRXl rnycp/3uUL63I+nOl06iR2eASemLmO78mqTkjBUtg7rwVcmXr2AYxI37SJUfhOaHg+ruCu ONVZgJPP6Ij8qUJfdAyOwkACCew3DwDCCCv5J+zTqcf1q4cKckISJTeNadQ9rTHt6JXQjO oXeaDiyZtY9eUxtPqE7+DbbtnkTQ1rTwFmxUJiFjrmjb6UvZj9kaEz20SkB7YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673587; a=rsa-sha256; cv=none; b=jzSFg8bR0LF9fBkGLbVv3lpvGK7/jMIKLiwI6mD8P+1EmIGEBBxY8+91ecYgO3//dxEPKH dIkXSsgTDY/vja6BU8LUWMtG3u0G1HZBVaZdjYRROdP1fvpL85fL8jiLTuLH2wy756j8B9 H++UKTirKBkqr0e3MEo1rmO2ox2qxRThNTnkqMaUghagHA4rKAZPRxs2iyBz2pxHcMMORK +1J9o/i6aDN0+NssJ17sKEnvjw+JGWhQfvF2HVjlu/ZeuX9aByrasLricHgGx4W5rShQwZ ZSNO+UMO4kDsZEaTIqjFv2DQoGYtMuYuEzrPW8oQTuVgj7TLZfR8jFB2ZmhC+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFb4Zn5z19W3 for ; Sat, 17 Jan 2026 18:13:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39dc2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 61ac7309c366 - main - nanobsd: Add a provisional populate_part function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61ac7309c3669bdadd3983f0bb03440a7c147820 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:07 +0000 Message-Id: <696bd133.39dc2.43c3269@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=61ac7309c3669bdadd3983f0bb03440a7c147820 commit 61ac7309c3669bdadd3983f0bb03440a7c147820 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:09:14 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:09:14 +0000 nanobsd: Add a provisional populate_part function Add a _populate_part(ition) function that mimics the current populate_slice. Note however, that this function is not backward-compatible with populate_slice, hence the different name. A "_" is prepended to signal that it still experimental. It can be used to populate the /cfg and /data partition using makefs(8). Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48790 --- tools/tools/nanobsd/defaults.sh | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 9827095b334c..7775dd572fb5 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -724,6 +724,50 @@ populate_slice() { nano_umount ${mnt} } +_populate_part() ( + local dir fs lbl metalog size type + type=$1 + fs=$2 + dir=$3 + lbl=$4 + size=$5 + metalog=$6 + + echo "Creating ${fs}" + + # Use the directory provided, otherwise create an empty one temporarily. + if [ -n "${dir}" ] && [ -d "${dir}" ]; then + echo "Populating ${lbl} from ${dir}" + else + if [ "${type}" = "cfg" ]; then + dir=$(mktemp -d -p "${NANO_OBJ}" -t "${type}") + trap "rm -f ${dir}" 1 2 15 EXIT + fi + fi + + if [ -d "${dir}" ]; then + # If there is no metalog, create one using the default + # NANO_DEF_UNAME and NANO_DEF_GNAME for all entries in the spec. + if [ -z "${metalog}" ]; then + metalog=$(mktemp -p "${NANO_OBJ}" -t "${type}") + trap "rm -f ${metalog}" 1 2 15 EXIT + echo "/set type=dir uname=${NANO_DEF_UNAME}" \ + "gname=${NANO_DEF_GNAME} mode=0755" > "${metalog}" + echo ". type=dir uname=${NANO_DEF_UNAME}" \ + "gname=${NANO_DEF_GNAME} mode=0755" >> "${metalog}" + ( + cd "${dir}" + mtree -bc -k flags,gid,gname,link,mode,uid,uname | + mtree -C | tail -n +2 | + sed 's/uid=[[:digit:]]*/uname=root/g' | + sed 's/gid=[[:digit:]]*/gname=wheel/g' >> "${metalog}" + ) + fi + + nano_makefs "-DxZ ${NANO_MAKEFS}" "${metalog}" "${size}" "${fs}" "${dir}" + fi +) + populate_cfg_slice() { populate_slice "$1" "$2" "$3" "$4" } From nobody Sat Jan 17 18:13:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFf2KZNz6P3sF for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFf0GCQz3pbn for ; Sat, 17 Jan 2026 18:13:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673590; 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=7K56ybr36m1vqr6cfjeOForAlrMwOA79/xMJB63H8BM=; b=jaPBxYhcJtD1xOkkirG0hDaQVQ6BKhssHqbaOaJlzqfiKzDIrH1xu7M4PK4zXneGvtpxmf M6HFYoHD/cFuR0Gt3/vmbUmYPenuk7Y0HaTKKIe0lZ4I9poQqd7HAFakad09PYjO2DJDFr +ibghaennDsLlTf3UD74VklvdItL2duWQV3nlkFdeu6sKr240xamZcwrAdfXve9oisp4ai UmsaiXmqWT5vDP0wQ4xWCA9AHtfAmQUOaa/Q5dxKO2mZPOuyGiXFhEXg53DkPYkJE+17ur IyKoINiJhCM6cDrRa2FzzJGfwhZvyOrbELlEdrEKRZ7ggx3tkJxEWqLfST9GmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673590; 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=7K56ybr36m1vqr6cfjeOForAlrMwOA79/xMJB63H8BM=; b=tV4wM5GFiER7mimfBBKSmyK1u+5L89rU1f2remC8D8sgIX3PFKFlWjPzYzPUV3t/mD6qv8 bHYf+ZKOZZlcosYIn92bmz2+vkgxoi9ThRFver0b/uai7ch3efCrtU9f+oVkITsF330aPN j7R8f80eI74K+40v6vKGz2vt46u6WEtK2pWRuom6dOckgBbNGb3qbDBGJdF9HFqKWjTxli Kv8R8EIiCgwVXvMGx6Knjdx2ub+ukNTcSrC/j7NgWiDBMbjLyCe8jORV+xJQqE5wKBlDlA +GwSbhbuFrd3DGTiPRUqbrIAxvwvxz0THB4VOXUcqpH1X90lMcpztvqOObWH4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673590; a=rsa-sha256; cv=none; b=ilqNM1WDA+nOWGrG9GUeM1WXghgOqYbXN0TAwFClZEid4W5JKNyBdPUHjSXk3vUDMihrIK 7atggjlHukDTrYz99I39N/rcf+1M1ORVnyj9b6e+dMCS+F0r94D8Nvby+L8+qzPEfcimkj M5fUcesg49T16Nr06jml0D7qAXGcyHNA/Qh9m156piomwJUzfqhvBRND26oXJGZQ9CIpkr Z31gG4ckZajpc+P+zZadtJbFRgnjYuu4FyoY14ztbDPEgf2BnaZ9fATswFeDtHtuzvHIwA bSSbimlAyaXnOuef1vrm4jDYXMtIsT8oGWV445FcLpJkDqJqGMDBvnqw2u5RyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFd5HRTz19W4 for ; Sat, 17 Jan 2026 18:13:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39b69 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 8832f767d6ae - main - nanobsd: Add a provisional populate /data function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8832f767d6aeba37b2e957626d24de1f06890a0c Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:09 +0000 Message-Id: <696bd135.39b69.47bae430@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=8832f767d6aeba37b2e957626d24de1f06890a0c commit 8832f767d6aeba37b2e957626d24de1f06890a0c Author: Jose Luis Duran AuthorDate: 2026-01-17 18:10:22 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:10:22 +0000 nanobsd: Add a provisional populate /data function Add a provisional _populate_data_part function. It populates the optional /data partition, but using makefs(8), which is more in-line with what release engineering uses to create images. Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48792 --- tools/tools/nanobsd/defaults.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index c0683259786a..bb22ab9a0aa4 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -780,6 +780,10 @@ populate_data_slice() { populate_slice "$1" "$2" "$3" "$4" } +_populate_data_part() { + _populate_part "data" "$1" "$2" "$3" "$4" "$5" +} + last_orders() { # Redefine this function with any last orders you may have # after the build completed, for instance to copy the finished From nobody Sat Jan 17 18:13:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFg2Y3lz6P4HB for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFf6WX2z3pQw for ; Sat, 17 Jan 2026 18:13:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673591; 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=E387rnMnWekWfQbw6PbykeyUP1SkhOzQRY6uXNF3cXY=; b=N4fXqPO6QlN/BpoMelRdbCT0DgNqPowsCmBVkHoPoikeXpwJ0v0zL3CXt51uza8L36FQtV 5sNimFUJ4j+OqcLgt8Kioj97c3RXlSGlxO38VsZ4086mkAQMZY5w78uS/ie94Jyjvq+fgE dvQSDJSsBD9Y92NRH1jFVW2S5XGeQ4IIa5eyQORGyDXt18oO99597nfw6IRdRquXOrqSga EysDLo+mjHYiYKMp0OJqcJNILXle+sRG+IU3QCrUMWiAkgDxRLIwva08vYDNjMXAwqIcxY hpdfymCYKfhQcGptI5hAisG8hHQEwcK2W3jdsCHJmZ7X77aZq4xqtGLv00F6NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673591; 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=E387rnMnWekWfQbw6PbykeyUP1SkhOzQRY6uXNF3cXY=; b=syyG1Do+olnqswY9hLlrl8UAVj2nBKyZgd8FqgunCvFuSMgzKVajgXgVNxvE2VDujCQclC WTMa/0sl7jAMQQmWiXiLnHMEqSzfAmolPmyjuKyeF51hJI/vHLGDtMRlbnIbQniqGQaoq7 P0Z2rQOwFBiwWAyYH2YsgANxx1M3x11Gml5y+7uljlpfrt3ySmw/77yvJP5NHc8MZxvwgJ Ajx9WXKj9C5mOFlMciefCLbdK74tfuc2PIptCRlPtpqS0O83wercQkofYJlo44BAdxSrRw TxiF1IEaCb317wEdMkrQuncUUZSEAO9AyMga5gd8S1Z6u04SJXbX8CQAprPu6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673591; a=rsa-sha256; cv=none; b=e1SU+vblsNKZXuImkqWx9lteKW9kMbEHmjOnsgfLxkvAaES81d+b6E85FVUtG6OK4rF50k okRS+oYOk0tKmJvo4zfEKI744b7cEim+yziWVu2XOZBDIWfrVQE1YYYTdWP9faMJzX3Pze haXDtETIvkarEu+iLuUAYVc1+dxy4DkRUs6RsUOhzJaBugF5Z0KetwjjOetjU9RrseIL4p H0RYvlm5dn1JvX9CQUKC4Q+mmskl3nqo5XMpz91I6XFA0CS4Dcy1HGC5ZTK7kgNYUSByLz d4qP6LmmSObj+OqO+BOxo+kCI2W2tBsAoECnP8WZKBR/9k3TH7QOqFH3po/PPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFf5hpZz18pk for ; Sat, 17 Jan 2026 18:13:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ab32 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: ecc039be7fdd - main - nanobsd: Add a NO_ROOT build option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecc039be7fdd7bbae6419a311af9398ca595b2f6 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:10 +0000 Message-Id: <696bd136.3ab32.151e7e7f@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=ecc039be7fdd7bbae6419a311af9398ca595b2f6 commit ecc039be7fdd7bbae6419a311af9398ca595b2f6 Author: Jose Luis Duran AuthorDate: 2026-01-17 18:10:48 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:10:48 +0000 nanobsd: Add a NO_ROOT build option Add a -U option to build NanoBSD images without root privileges. It relies on makefs/mkimg and metalog (mtree) files, similar to what release engineering uses to build images. Keep the current way to build NanoBSD images untouched. Once this method gets battle tested, it may be used to build images as root as well. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48793 --- tools/tools/nanobsd/defaults.sh | 40 +++++++++++++--- tools/tools/nanobsd/legacy.sh | 100 ++++++++++++++++++++++++++++++++++++++++ tools/tools/nanobsd/nanobsd.sh | 20 ++++++-- 3 files changed, 151 insertions(+), 9 deletions(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index bb22ab9a0aa4..850a82d4362f 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -192,9 +192,11 @@ NANO_CPUTYPE="" # Directory to populate /cfg from NANO_CFGDIR="" +NANO_METALOG_CFG="" # Directory to populate /data from NANO_DATADIR="" +NANO_METALOG_DATA="" # We don't need SRCCONF or SRC_ENV_CONF. NanoBSD puts everything we # need for the build in files included with __MAKE_CONF. Override in your @@ -356,6 +358,10 @@ make_conf_build() { nano_global_make_env echo "${CONF_WORLD}" echo "${CONF_BUILD}" + if [ -n "${NANO_NOPRIV_BUILD}" ]; then + echo NO_ROOT=true + echo METALOG="${NANO_METALOG}" + fi ) > ${NANO_MAKE_CONF_BUILD} } @@ -595,15 +601,28 @@ setup_nanobsd() { # link /$d under /conf # we use hard links so we have them both places. # the files in /$d will be hidden by the mount. - mkdir -p conf/base/$d conf/default/$d + tgt_dir conf/base/$d conf/default/$d find $d -print | cpio ${CPIO_SYMLINK} -dumpl conf/base/ + if [ -n "$NANO_METALOG" ]; then + grep "^.\/${d}\/" "${NANO_METALOG}" | + sed -e "s=^./${d}=./conf/base/${d}=g" | + sort | uniq >> "${NANO_METALOG}.conf" + fi done + if [ -n "$NANO_METALOG" ]; then + cat "${NANO_METALOG}.conf" >> "${NANO_METALOG}" + rm -f "${NANO_METALOG}.conf" + fi + echo "$NANO_RAM_ETCSIZE" > conf/base/etc/md_size echo "$NANO_RAM_TMPVARSIZE" > conf/base/var/md_size + tgt_touch conf/base/etc/md_size + tgt_touch conf/base/var/md_size # pick up config files from the special partition echo "mount -o ro /dev/${NANO_DRIVE}${NANO_SLICE_CFG}" > conf/default/etc/remount + tgt_touch conf/default/etc/remount # Put /tmp on the /var ramdisk (could be symlink already) tgt_dir2symlink tmp var/tmp 1777 @@ -660,13 +679,15 @@ EOF # save config file for scripts echo "NANO_DRIVE=${NANO_DRIVE}" > etc/nanobsd.conf + tgt_touch etc/nanobsd.conf echo "/dev/${NANO_DRIVE}${NANO_ROOT} / ufs ro 1 1" > etc/fstab echo "/dev/${NANO_DRIVE}${NANO_SLICE_CFG} /cfg ufs rw,noauto 2 2" >> etc/fstab - mkdir -p cfg + tgt_touch etc/fstab + tgt_dir cfg # Create directory for eventual /usr/local/etc contents - mkdir -p etc/local + tgt_dir etc/local ) } @@ -883,6 +904,8 @@ cust_install_files() ( if [ -n "${NANO_CUST_FILES_MTREE}" -a -f ${NANO_CUST_FILES_MTREE} ]; then CR "mtree -eiU -p /" <${NANO_CUST_FILES_MTREE} fi + + tgt_touch $(find * -type f) ) ####################################################################### @@ -995,7 +1018,7 @@ pprint() { usage() { ( - echo "Usage: $0 [-BbfhIiKknpqvWwX] [-c config_file]" + echo "Usage: $0 [-BbfhIiKknpqUvWwX] [-c config_file]" echo " -B suppress installs (both kernel and world)" echo " -b suppress builds (both kernel and world)" echo " -c specify config file" @@ -1008,6 +1031,7 @@ usage() { echo " -n add -DNO_CLEAN to buildworld, buildkernel, etc" echo " -p suppress preparing the image" echo " -q make output more quiet" + echo " -U add -DNO_ROOT to build without root privileges" echo " -v make output more verbose" echo " -W suppress installworld" echo " -w suppress buildworld" @@ -1039,6 +1063,9 @@ set_defaults_and_export() { if ! $do_clean; then NANO_PMAKE="${NANO_PMAKE} -DNO_CLEAN" fi + if ! $do_root; then + NANO_PMAKE="${NANO_PMAKE} -DNO_ROOT" + fi NANO_MAKE_CONF_BUILD=${MAKEOBJDIRPREFIX}/make.conf.build NANO_MAKE_CONF_INSTALL=${NANO_OBJ}/make.conf.install @@ -1049,8 +1076,9 @@ set_defaults_and_export() { [ ! -d "${NANO_TOOLS}" ] && [ -d "${NANO_SRC}/${NANO_TOOLS}" ] && \ NANO_TOOLS="${NANO_SRC}/${NANO_TOOLS}" || true - [ -n "${NANO_NOPRIV_BUILD}" ] && [ -z "${NANO_METALOG}" ] && \ - NANO_METALOG=${NANO_OBJ}/_.metalog || true + if [ -n "${NANO_NOPRIV_BUILD}" ] && [ -z "${NANO_METALOG}" ]; then + NANO_METALOG=${NANO_OBJ}/_.metalog + fi NANO_STARTTIME=`date +%s` : ${NANO_TIMESTAMP:=${NANO_STARTTIME}} diff --git a/tools/tools/nanobsd/legacy.sh b/tools/tools/nanobsd/legacy.sh index ff951f4b762b..efb9c68254c9 100644 --- a/tools/tools/nanobsd/legacy.sh +++ b/tools/tools/nanobsd/legacy.sh @@ -155,6 +155,33 @@ create_code_slice() { ) > ${NANO_OBJ}/_.cs 2>&1 } +_create_code_slice ( ) ( + pprint 2 "build code slice" + pprint 3 "log: ${NANO_OBJ}/_.cs" + + ( + IMG=${NANO_DISKIMGDIR}/_.disk.image + CODE_SIZE=$(head -n 1 "${NANO_LOG}/_.partitioning" | awk '{ print $2 }') + CODE_SIZE=$(_xxx_adjust_code_size "$CODE_SIZE") + + echo "Writing code image..." + if [ -f "${NANO_WORLDDIR}/boot/boot" ]; then + echo "Making bootable partition" + bootcode="-b ${NANO_WORLDDIR}/boot/boot" + else + echo "Partition will not be bootable" + fi + nano_makefs "-DxZ ${NANO_MAKEFS} -o minfree=0,optimization=space" \ + "${NANO_METALOG}" "${CODE_SIZE}" "${NANO_OBJ}/_.disk.part" \ + "${NANO_WORLDDIR}" + mkimg -s bsd \ + ${bootcode} \ + -p freebsd-ufs:="${NANO_OBJ}/_.disk.part" \ + -o "${NANO_DISKIMGDIR}/_.disk.image" + rm -f "${NANO_OBJ}/_.disk.part" + + ) > ${NANO_OBJ}/_.cs 2>&1 +) create_diskimage() { pprint 2 "build diskimage" @@ -255,3 +282,76 @@ create_diskimage() { ) > ${NANO_LOG}/_.di 2>&1 } + +_create_diskimage() { + pprint 2 "build diskimage" + pprint 3 "log: ${NANO_OBJ}/_.di" + + ( + local altroot bootloader cfgimage dataimage diskimage + + CODE_SIZE=$(head -n 1 "${NANO_LOG}/_.partitioning" | awk '{ print $2 }') + CODE_SIZE=$(_xxx_adjust_code_size "$CODE_SIZE") + IMG=${NANO_DISKIMGDIR}/${NANO_IMGNAME} + + if [ -f "${NANO_WORLDDIR}/${NANO_BOOTLOADER}" ]; then + bootloader="-b ${NANO_WORLDDIR}/${NANO_BOOTLOADER}" + else + echo "Image will not be bootable" + fi + + diskimage="-p freebsd:=${NANO_DISKIMGDIR}/_.disk.image" + + if [ "$NANO_IMAGES" -gt 1 ] && [ "$NANO_INIT_IMG2" -gt 0 ] ; then + echo "Duplicating to second image..." + tgt_switch_root_fstab "${NANO_SLICE_ROOT}" "${NANO_SLICE_ALTROOT}" + nano_makefs "-DxZ ${NANO_MAKEFS} -o minfree=0,optimization=space" \ + "${NANO_METALOG}" "${CODE_SIZE}" "${NANO_OBJ}/_.altroot.part" \ + "${NANO_WORLDDIR}" + tgt_switch_root_fstab "${NANO_SLICE_ALTROOT}" "${NANO_SLICE_ROOT}" + if [ -f "${NANO_WORLDDIR}/boot/boot" ]; then + bootcode="-b ${NANO_WORLDDIR}/boot/boot" + fi + mkimg -s bsd \ + ${bootcode} \ + -p freebsd-ufs:="${NANO_OBJ}/_.altroot.part" \ + -o "${NANO_OBJ}/_.altroot.image" + altroot="-p freebsd:=${NANO_OBJ}/_.altroot.image" + rm -f "${NANO_OBJ}/_.altroot.part" + else + altroot="-p-" + fi + if [ "${NANO_INIT_IMG2}" -eq 0 ]; then + altroot="-p freebsd::${CODE_SIZE}b" + fi + + # Create Config slice + _populate_cfg_part "${NANO_OBJ}/_.cfg.part" "${NANO_CFGDIR}" \ + "${NANO_SLICE_CFG}" "${NANO_CONFSIZE}" "${NANO_METALOG_CFG}" + cfgimage="-p freebsd:=${NANO_OBJ}/_.cfg.part" + + # Create Data slice, if any. + if [ -n "${NANO_SLICE_DATA}" ] && + [ "${NANO_SLICE_CFG}" = "${NANO_SLICE_DATA}" ] && + [ "${NANO_DATASIZE}" -ne 0 ]; then + pprint 2 "NANO_SLICE_DATA is the same as NANO_SLICE_CFG, fix." + exit 2 + fi + if [ "${NANO_DATASIZE}" -ne 0 ] && [ -n "${NANO_SLICE_DATA}" ] ; then + _populate_data_part "${NANO_OBJ}/_.data.part" "${NANO_DATADIR}" \ + "${NANO_SLICE_DATA}" "${NANO_DATASIZE}" "${NANO_METALOG_DATA}" + dataimage="-p freebsd:=${NANO_OBJ}/_.data.part" + fi + + echo "Writing out ${NANO_IMGNAME}..." + mkimg -s mbr \ + ${bootloader} \ + ${diskimage} \ + ${altroot} \ + ${cfgimage} \ + ${dataimage} \ + -o ${IMG} + exit + + ) > ${NANO_LOG}/_.di 2>&1 +} diff --git a/tools/tools/nanobsd/nanobsd.sh b/tools/tools/nanobsd/nanobsd.sh index 208bc646122d..94e74d9ed216 100755 --- a/tools/tools/nanobsd/nanobsd.sh +++ b/tools/tools/nanobsd/nanobsd.sh @@ -36,6 +36,7 @@ topdir=`dirname ${nanobsd_sh}` # Parse arguments do_clean=true +do_root=true do_kernel=true do_installkernel=true do_world=true @@ -49,7 +50,7 @@ do_prep_image=true . "${topdir}/legacy.sh" set +e -args=`getopt BKXWbc:fhiIknpqvw $*` +args=`getopt BKXWbc:fhiIknpqUvw $*` if [ $? -ne 0 ] ; then usage exit 2 @@ -133,6 +134,11 @@ do PPLEVEL=$(($PPLEVEL + 1)) shift ;; + -U) + do_root=false + NANO_NOPRIV_BUILD=true + shift + ;; -w) do_world=false shift @@ -221,9 +227,17 @@ else fi if $do_code ; then calculate_partitioning - create_code_slice + if [ -z "${NANO_NOPRIV_BUILD}" ]; then + create_code_slice + else + _create_code_slice + fi if $do_image ; then - create_diskimage + if [ -z "${NANO_NOPRIV_BUILD}" ]; then + create_diskimage + else + _create_diskimage + fi else pprint 2 "Skipping image build (as instructed)" fi From nobody Sat Jan 17 18:13:11 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFh4hNtz6P4HK for ; Sat, 17 Jan 2026 18:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtlFh1Hwcz3pLD for ; Sat, 17 Jan 2026 18:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673592; 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=5JEKrhkBZAGKh45ODBEr/XZEMwSV8ULa9/xY334ECzw=; b=VJlyUsiZgVa/kAAsQ6NjloQce0eJwljZxUTJEQLoPWYCS8oWHoZdR05xaGpBLz/oFmUNwd iM9tlGFN5OvIQWptN2Qe6OvEI+8AfG7x0iSis7yQSxbZXLCINC2ZR/aTvcfoR2em5T7YbH wU7DrziCr8tj3bLhdU5Brs4rhbGm0qPWir6uik54PO+Zj59hgf+bwJT/xJh9HGPzy86MSX Qwc/H6BWZ9ig5MSfqinM18z949ata7YopNRVft0A4QK5TCx1GXowTt3mJPLI3hrrzWRphU mPQcBqF7GYwKLqRImx9lsKCwhISubKCm8wM3FYaxrNlARv8L5mwJz2MlxwBuMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768673592; 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=5JEKrhkBZAGKh45ODBEr/XZEMwSV8ULa9/xY334ECzw=; b=Hcfm7uUOyMy4KcwTr9SxKYU0FqnYmz7trCneZq4LvKqMPUle5SkyxPX8vQ+wpuJfcMzP/K bxCieRrByGnIjSabtJlOBm0kHPMJf2aIX3up4uY8ecJufGgqNFIZWFYpZ7clFaQbCb6miG yp+wnTTeJEpnl39awO7d30Q1AvOv6gHMOPIA+F7SuSsTSL9X1Djhztn8DyLR1XIniez8uT gbLNJrSfP5p51bL6fIU0buDdc5DEWHHzKxhEmGSYEMpY2+4c6r8C+D52h1aD2UMXYV38dJ R0R7+YGa/mHWP5tIy8m/fUteVjRGrbAyf9LS369nLkXzXiC4dgfQu02cuW7o1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768673592; a=rsa-sha256; cv=none; b=d5AxwWDlSbiDmA9itxkGTnzI8OY5Xu9FTjNJrP3e2w6pGfUA/n3DFoc/ytY2XqGYX/zBlm P5HhC5tjxhs20ISwnKxkaV+4JEEjs/9vt3WueLrFXNjs0PIPje+zA3+LUcINRMRljjdxeU ZbRuRKouZ5JTdMfo68Z0OYEuSXmNq44nM7nM+IIyPQ0im9xB33IDjHWKb3WkM31Gke+NQr F8UvFfISErA3kHmudxcPKnwklbGuU0uewF4PLiKdvc3gGAO0vYZT1jn5ygP+G0NqKZaA8T EXFx1sQR0NaLen3pph+eQsBiQ5pjV6OZswixTOO/3qZu/MGkTrIKWhZ5OgeSVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtlFg6Nmzz18pl for ; Sat, 17 Jan 2026 18:13:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ae85 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:13:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 4cd4ccb8e2c0 - main - nanobsd: Fix typos List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4cd4ccb8e2c032a9db65e37dcf5e3237e08e41bf Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:13:11 +0000 Message-Id: <696bd137.3ae85.5a1e7d4b@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4cd4ccb8e2c032a9db65e37dcf5e3237e08e41bf commit 4cd4ccb8e2c032a9db65e37dcf5e3237e08e41bf Author: Jose Luis Duran AuthorDate: 2026-01-17 18:11:19 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 18:11:19 +0000 nanobsd: Fix typos MFC after: 1 week --- tools/tools/nanobsd/defaults.sh | 2 +- tools/tools/nanobsd/dhcpd/common | 2 +- tools/tools/nanobsd/embedded/common | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/tools/nanobsd/defaults.sh b/tools/tools/nanobsd/defaults.sh index 850a82d4362f..86aaeffdc944 100755 --- a/tools/tools/nanobsd/defaults.sh +++ b/tools/tools/nanobsd/defaults.sh @@ -174,7 +174,7 @@ NANO_PARTITION_ALTROOT=a NANO_ROOT=s1a NANO_ALTROOT=s2a -# Default ownwership for nopriv build +# Default ownership for nopriv build NANO_DEF_UNAME=root NANO_DEF_GNAME=wheel diff --git a/tools/tools/nanobsd/dhcpd/common b/tools/tools/nanobsd/dhcpd/common index f24a88aab8f3..fc1900d8874b 100644 --- a/tools/tools/nanobsd/dhcpd/common +++ b/tools/tools/nanobsd/dhcpd/common @@ -204,7 +204,7 @@ do_add_port () } # Need to check if this function works with cross-compiling architecture!!!! -# Recursive complex fonction: Generate one function for each ports +# Recursive complex function: Generate one function for each port add_port () { local port_path=$1 local port=`echo $1 | sed -e 's/\//_/'` diff --git a/tools/tools/nanobsd/embedded/common b/tools/tools/nanobsd/embedded/common index 132ca9e2ba5b..f8df8f2698dd 100644 --- a/tools/tools/nanobsd/embedded/common +++ b/tools/tools/nanobsd/embedded/common @@ -323,7 +323,7 @@ die( ) { # Automatically include the packaging port here so it is always first so it # builds the port and adds the package so we can add other packages. -#XXX Doesn't work for cross build, so punting until I can integreate qemu-static +#XXX Doesn't work for cross build, so punting until I can integrate qemu-static #XXX or poudriere, both of which require priv'd execution. Or qemu-system, #XXX which is super, super slow. #add_port ports-mgmt/pkg @@ -386,7 +386,7 @@ typical_embedded() { echo "ifconfig_DEFAULT=DHCP" >> $rc echo "ntpdate_hosts='0.freebsd.pool.ntp.org 1.freebsd.pool.ntp.org'" >> $rc # Make sure that firstboot scripts run so growfs works. - # Note: still some issues remvoing this XXX + # Note: still some issues removing this XXX touch ${NANO_WORLDDIR}/firstboot } customize_cmd typical_embedded From nobody Sat Jan 17 18:40:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtls35S3Kz6P5qW for ; Sat, 17 Jan 2026 18:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtls31kk0z41vN for ; Sat, 17 Jan 2026 18:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768675223; 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=18qtiqHCSI8m7OP5JdOtKDpoH0xkHgavDAhzhphiOQE=; b=nH4SnLqxgUBfh64yZodVPEEJt7wkIOI2/9A64ek4s50UlN3dzEFThtaM78JXXd5Ko+9F6C nWDIRCXfPAPg6VytvaSUrUwhHctSY5cBZ/iYQISLMJCiBAyPW/T/A8K2XLgbgHZoFINH7h Lxe9OOHYL8hiwpplfHj7KSaIxcEQ56g/6/zeVhkr4tplGgQ1C8OVL7iB8dbIRdXjUc2T7g jEO0u9fCdaBWuS0TwiUA0bFKYm6opZUYuIUXTlgw+Ra37LtKbqbAmmKtbVWIijY/SJNqUx ubscfKknz14xw8p5RLS0niAf+3EPzq2/6vrB3AYkPSvD9By4+gNSLClD84vpog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768675223; 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=18qtiqHCSI8m7OP5JdOtKDpoH0xkHgavDAhzhphiOQE=; b=tKXRTFTBYtetXd9lgdWZrC4WBJ5S5wU2U9GembtTvYtMCRXVcr6nnV2wZPoTc9d4OwrYM1 fEIcIEz9IHMd3wzovZbzcR5PZ1X8kc976HYrqw6QgXQyNHLYs2JGtuI6YyV++QpmcOrzrc 1Rti5h+LcovworsEklO81knFPvDP7JIM5HfwsBZepBS4NhGYrYg7lxI0eECPk8FTM2pLf7 qJ1HnAZ16kbiUvgnC61lsdkG9umPwUPo7WcI6nQDZ9a748y8B5cmCKaxh9R3xdAgyx8GDR td3x+IPSJUyqu2ym2OEQ/4bciy3BB/Zb/PiovQUVi0yfs/7y/qErhOLLOYy/NA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768675223; a=rsa-sha256; cv=none; b=OLQpikNgAWhXZcDcbL888Ll64l5KjCKPyYXkCSlMEDrNgdAFe9VPRgXjcxMbZv/XgFh58o iT/aFTQZs4XibjRIc1hb4VHCKubURQ+dSxslMx63AF90sX9wRX2NZmpgHyR1tNePfZix3S gxrMUY7zu64U+a0tr5j83Nq4s5DqSj4F/kkTkalddbBAUlBqGcrnWSp8ZVWO6qxa+48SAh epW1M66uVqumDuFvyQZqDl7QMiYRGd9kUa+COWbOr3WTKTlThQW7plSNHA/cS8BXLRxk8K 9QPWiJE0PW3txYy/EztVk79lDvHOROLVNuEumSZstyKpMK78zUwUqlg5w+yL+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]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtls31Ht5z1B3w for ; Sat, 17 Jan 2026 18:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c452 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:40:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: cabb5add07a6 - main - rockship: Fix a typo in a source code comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cabb5add07a60c146698d09759445276aa96757a Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:40:23 +0000 Message-Id: <696bd797.3c452.4729b919@gitrepo.freebsd.org> The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=cabb5add07a60c146698d09759445276aa96757a commit cabb5add07a60c146698d09759445276aa96757a Author: Gordon Bergling AuthorDate: 2026-01-17 18:38:53 +0000 Commit: Gordon Bergling CommitDate: 2026-01-17 18:38:53 +0000 rockship: Fix a typo in a source code comment - s/vaues/values/ MFC after: 5 days --- sys/dev/clk/rockchip/rk_clk_fract.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/clk/rockchip/rk_clk_fract.c b/sys/dev/clk/rockchip/rk_clk_fract.c index aa7084c90d76..b06b13146e5f 100644 --- a/sys/dev/clk/rockchip/rk_clk_fract.c +++ b/sys/dev/clk/rockchip/rk_clk_fract.c @@ -80,7 +80,7 @@ DEFINE_CLASS_1(rk_clk_fract, rk_clk_fract_class, rk_clk_fract_methods, * http://en.wikipedia.org/wiki/Continued_fraction * * - n_input, d_input Given input fraction - * - n_max, d_max Maximum vaues of divider registers + * - n_max, d_max Maximum values of divider registers * - n_out, d_out Computed approximation */ From nobody Sat Jan 17 18:40:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtls43Z2yz6P5qZ for ; Sat, 17 Jan 2026 18:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtls42cDHz425r for ; Sat, 17 Jan 2026 18:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768675224; 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=6BZKFlhveQo43GO1p+5n5mb7seIrINqLA83W5B3qdE0=; b=g/3VmK0KLocOH/iFZkNeB2v1ogQhog5IwrAzqZSo4t1UjovkghsAKLg+PmWQc/sa/+35gU Ldru2Uc5tqhawFM0TKhGFbk4KwgBxinGZ62yYqeeYx9EdGJx3RdaG2a766legb3o09gsEO H9hI4+MiR77+7vRcJjO4/w3bdrsVApqRfcs72AHZYI2xw1plFr8MniwC5I2AGRGfKY1ViK ISJrqpZ4cuslOoFFQSexsjX0c0jDTA8sD44ZAV+tVKqEkLLMvx76doLD5xARoLQyzRSg6i 1qgeWLfqeTtfoWKjhWnPbq4aa86b8DsaP8ON5F+l2Rei1Nv4ZeEe2ePRXL4GyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768675224; 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=6BZKFlhveQo43GO1p+5n5mb7seIrINqLA83W5B3qdE0=; b=haKY8fJ7t3mEjw3WAoaDgM/aSaRU53+BhiaDo6rcqDTvX2VywwDH0Pt6xY2vqFwx8vN/Mq hYEoiHI3GNC/0PIMkIVfLtiltrnVBWUau7FK+kf7TZQBq2Tu9BbDhHLVf+SB532vUZDkSD wCWwQtAPwSWYamqy1k2LgxtpnQh73eHW5TLyKE02Q9uYv6/Dxr5AUmLqSgnnPCcp1/F9FC lZazZKjj+aY1jqNIMcCrk/76UxnRQ5CQlUBmf4clIyiYyhfAuWkUZhVO4BcG3vJ7dZ++e9 T6lkuwiy5onrsWtolrOeWYHLUezR8TgV7jX7DYDOOdaKdpNjhY7xcG3kEwteDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768675224; a=rsa-sha256; cv=none; b=v5NqgrPpkaJlq1gPZHyo63PEY8b3zv8eWfUouNmgRjRz/yQe8TvrA7PjhCgYZnEiQWljO/ rE0WoM9vwDJLN9YHmwXjbQOzMP/XP+2S5/TDHXqP3Eq8Fej9Vknwc13WUxjNgdqnO7Sn+4 ZRE6eoqxkByMQY2KzNBFPlczYWnvRDICVKaSbX7lc6Glu4ggTMwo3wEsZ06p1p3ihK8s6e L57bVoT6pzmJzRXS++++wNgDtdXu11v6reyoLLOiAEWOrsT9mkZ8lbRtQcTwK/LdPaAD6u uHUiHDGyhmCE4bDtqfa7vI6qc0gFnxTgTy6fJ4puF56j3RJ/rvQe+TOXYUUSjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtls422kpz19q3 for ; Sat, 17 Jan 2026 18:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d1cb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:40:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 9be9ab2a2420 - main - netpfil/ipfw: Fix a typo in a source code comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9be9ab2a242080dea6254e187cf211604170de07 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:40:24 +0000 Message-Id: <696bd798.3d1cb.1246fcd6@gitrepo.freebsd.org> The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=9be9ab2a242080dea6254e187cf211604170de07 commit 9be9ab2a242080dea6254e187cf211604170de07 Author: Gordon Bergling AuthorDate: 2026-01-17 18:39:55 +0000 Commit: Gordon Bergling CommitDate: 2026-01-17 18:39:55 +0000 netpfil/ipfw: Fix a typo in a source code comment - s/vaues/values/ MFC after: 5 days --- sys/netpfil/ipfw/ip_fw_table_value.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_fw_table_value.c b/sys/netpfil/ipfw/ip_fw_table_value.c index d428c3aacf40..09e2ead6ec2c 100644 --- a/sys/netpfil/ipfw/ip_fw_table_value.c +++ b/sys/netpfil/ipfw/ip_fw_table_value.c @@ -147,7 +147,7 @@ get_value_ptrs(struct ip_fw_chain *ch, struct table_config *tc, } /* - * Update pointers to real vaues after @pval change. + * Update pointers to real values after @pval change. */ static int update_tvalue(struct namedobj_instance *ni, struct named_object *no, void *arg) From nobody Sat Jan 17 18:59:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtmHb126rz6P7Dr for ; Sat, 17 Jan 2026 18:59: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtmHZ5Xmdz43nZ for ; Sat, 17 Jan 2026 18:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768676394; 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=FitMMiep0a5JIl8FghuM/VWF0/BhlyuBKAUfXgAUJ1k=; b=Z3+cMiYUWM9P6CIt72PS1b7kEgi5LjmKCNlRDbHBw0byp//VhWGC+5rPhOtEXRAXMZbnUJ Te/Vf7Cg9mehjkZVHFMB1E8/m9pQtjU7mkOEFCee3tOJ7nKGt8jPgBwDu2OURPtdZ9gScl b+3u0dKeR+MtA+30QB4C0RznEaHC3AT6pXyCLdjO4TkFxLBHTuWm2p9BTZ1oevdFbi/QvH +buX7LUbKKxsflDHnPPmBfsiLtKCJsnKnH70iXpoao1BmrSge2NbHz2Z1wayivEu+5hUw8 xrP8CQIYHAxClsuwDJca44Tr+zXvcdtfe+JaVlTNCGcqPQtmR1eqp3VkISO5Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768676394; 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=FitMMiep0a5JIl8FghuM/VWF0/BhlyuBKAUfXgAUJ1k=; b=stkhPI+66xl7+cF34ixj7htVi3mXC9+5DSqDEpxd1OZXo7MSb6pBzfM37KzA5IQoj14SEO 7/4AukwrJXRTRiT+Wk/qM7DebyqGZMe72AM8Fac6SfvSdlgvuN26I8UL9I6JmKrin+t5yE OmIDDVv+hCBzN18ar8vmqRSmoMNxTu4GQgk1Xuk76RIyOKQYL6Hvab25OxRS3crDb9wAz+ xONHq81/SNIhcG2j4AnkxI5wp6kXEdcXpc+BRK3550CtBgB7hPtOCRLdbPCewArafxtXrB wlaMHaMoSyUsFWLwd9p3gVam9FWjmIYqB0QIKUZrxrJ7xx4eQaPnfhhXtiEkaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768676394; a=rsa-sha256; cv=none; b=SNtv9pqMLVd0UMU61AofwpcuqMHxcYwXHCdNpuLPZAhRhNhN8vMPx+c7UDygNTCPcqtLXq iv3Z6uCRjMPVlWB5m+m8ziDgL8QjuYxXoVCeaSTQDZ8JG9gO23PJEANLleudZSIDGf4lxg x/30uH8DaTUclFUYR9f33X7QPjvMis8dXZ383k5tOOy257PkN7QFuJohK0qwaKzZ7WKBia SSdWB/qseVJ1Ci+WjNcfSVSpEq1ufoM8w+I51zXeeb88sEnjhgLLf+U3Ks4tk7T4fgvDwK /uBDZfmfm7XmEhrUGDnEuwJSY/SeKh5utplsJdbVKb5dGVuiDaAI98RRVyaa3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtmHZ42Chz1BZl for ; Sat, 17 Jan 2026 18:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e939 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 18:59:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 895eeb49239e - main - powerpc/loader: Add CAS support for older CPUs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 895eeb49239eae947742bc2501836cc774d3467a Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 18:59:54 +0000 Message-Id: <696bdc2a.3e939.67822fbb@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=895eeb49239eae947742bc2501836cc774d3467a commit 895eeb49239eae947742bc2501836cc774d3467a Author: Justin Hibbits AuthorDate: 2026-01-17 18:55:50 +0000 Commit: Justin Hibbits CommitDate: 2026-01-17 18:59:43 +0000 powerpc/loader: Add CAS support for older CPUs QEMU creates a "ibm,arch-vec-5-platform-support" property for all pseries emulations. Add POWER7 and POWER6 to the CAS list, more can be added later as needed/desired. MFC after: 1 week --- stand/powerpc/ofw/cas.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stand/powerpc/ofw/cas.c b/stand/powerpc/ofw/cas.c index 45fd4d8d567f..af1497e98119 100644 --- a/stand/powerpc/ofw/cas.c +++ b/stand/powerpc/ofw/cas.c @@ -36,6 +36,9 @@ #endif /* PVR */ +#define PVR_CPU_P6 0x003e0000 +#define PVR_CPU_P7 0x003f0000 +#define PVR_CPU_P7PLUS 0x004a0000 #define PVR_CPU_P8E 0x004b0000 #define PVR_CPU_P8NVL 0x004c0000 #define PVR_CPU_P8 0x004d0000 @@ -134,6 +137,9 @@ static struct ibm_arch_vec { struct opt_vec5 vec5; } __packed ibm_arch_vec = { /* pvr_list */ { + { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P6) }, + { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P7) }, + { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P7PLUS) }, { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P8) }, { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P8E) }, { htobe32(PVR_CPU_MASK), htobe32(PVR_CPU_P8NVL) }, From nobody Sat Jan 17 20:04:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtnjg077Rz6PBZp for ; Sat, 17 Jan 2026 20:04:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtnjf67swz49jb for ; Sat, 17 Jan 2026 20:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768680246; 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=zbWZfF+GHUsOfNeYIxXqWhGaI4TCnGXGprafpvcqVV8=; b=uVLzdGne0PSKIiuY/r+hBXAnjm4oTANscj7qBaKLWBTmVtC0gKWtCf5DWyKhnLL77vKp/o KTaBMjr3n4em807oMlq2oz+8W/YljmKEa6UJU+6RQtpe/uzLR6aSut4HVDnwqEOYZu+ugy LqsOFJJSjNS5V9uXPErfr0bTnayqzHLP7U6rBMOfWcFDFz4nmKVJoMmTQIoDEypE5h+XdF l3M/Z9bHlEcruOz7o4ehErn0u/4MR142xFhRdDksJ/CaO4uAiWEgyvACySxkdZ8ousGvC7 9+ttutKJZq7JmoHIehCz9ZbOLPby+L66XLcJUno8CGVRq5ppbUsJk/9bc+ndTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768680246; 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=zbWZfF+GHUsOfNeYIxXqWhGaI4TCnGXGprafpvcqVV8=; b=L057iPSlz+XJBmUCKvJzKinAJK37/LmSAUnz3Xk26dhg24g3etBs5QKQ4KDB84gYjLz1X1 AeHNv2UvJK4cXg7ApPOPf0quzXq2ZXrJpVWyDos8UjEoY0a/OQ3HY6oKE87jWNtgz6ArbI IrGuK8MvYIVfynwPDoMScPkH9+LELIcy7htaYGiC1qb0r6PgQlDH/jhzoSC6CRpJ/28YRX IBR3+O4DyWFIv6kI2MFeaFjteslBuT/K2kS8SFnfqIAPqMAlG5ISjvyLRUwkSNSGVf1DJn j/vFYWiuK0ETzjkSN/paVXGlCRTdl7bIk+QyDC6WbhCFjUzSdVy/AVH9LUKQ9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768680246; a=rsa-sha256; cv=none; b=x3fDP9ku2IIr6ZLapZ1ltyUFcMx1+LvFRKFZqMVyLEWjCcsVDBV54X0Uvlnxyio+khyUJJ LmT4szBSmMck0wn4XX/BF/aoEQ5hwOEXtOnhu09AgVUwIuTvUguzshOw5ALrKmfCz10QhY 3IGU1IM9Fba0Jrhr6+ha2Icq0tvjV1P12hA5/JsyWx/ZhRm/rSIkn2clgYEkPs8pwQ0L0/ QGspa/azZFUlcpazXeNcSlaD2mS1PYBqM8915V6nYVqveIgAroAKPrqNrz3DO3z++gee7M G/ZnMsF8tSWDS8AElvR+Zjk7S6zzN+TPgi3rZcgX+AQvq9NOlKEKec2OyEU2fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtnjf4n99z4B for ; Sat, 17 Jan 2026 20:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d1a5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 20:04:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: aca67c37a521 - main - dwc: add transmit checksum offload for IPv6 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aca67c37a5215448828a2974a2ff44e75e9159bc Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 20:04:06 +0000 Message-Id: <696beb36.d1a5.1d0fdee9@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=aca67c37a5215448828a2974a2ff44e75e9159bc commit aca67c37a5215448828a2974a2ff44e75e9159bc Author: Michael Tuexen AuthorDate: 2026-01-17 20:01:54 +0000 Commit: Michael Tuexen CommitDate: 2026-01-17 20:01:54 +0000 dwc: add transmit checksum offload for IPv6 This patch adds support for transmit checksum offload for TCP/IPv6 and UDP/IPv6. Reviewed by: Timo Völker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54754 --- sys/dev/dwc/dwc1000_dma.c | 2 +- sys/dev/dwc/if_dwc.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/dev/dwc/dwc1000_dma.c b/sys/dev/dwc/dwc1000_dma.c index 8cc145216c2d..a2a6fbc84e58 100644 --- a/sys/dev/dwc/dwc1000_dma.c +++ b/sys/dev/dwc/dwc1000_dma.c @@ -276,7 +276,7 @@ dma1000_setup_txbuf(struct dwc_softc *sc, int idx, struct mbuf **mp) m = *mp; - if ((m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) != 0) + if ((m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) != 0) flags = sc->dma_ext_desc ? ETDESC0_CIC_SEG : NTDESC1_CIC_SEG; else if ((m->m_pkthdr.csum_flags & CSUM_IP) != 0) flags = sc->dma_ext_desc ? ETDESC0_CIC_HDR : NTDESC1_CIC_HDR; diff --git a/sys/dev/dwc/if_dwc.c b/sys/dev/dwc/if_dwc.c index 458ee01536ef..ac6e440cf95c 100644 --- a/sys/dev/dwc/if_dwc.c +++ b/sys/dev/dwc/if_dwc.c @@ -271,6 +271,12 @@ dwc_ioctl(if_t ifp, u_long cmd, caddr_t data) if_sethwassistbits(ifp, CSUM_IP | CSUM_DELAY_DATA, 0); else if_sethwassistbits(ifp, 0, CSUM_IP | CSUM_DELAY_DATA); + if (mask & IFCAP_TXCSUM_IPV6) + if_togglecapenable(ifp, IFCAP_TXCSUM_IPV6); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM_IPV6) != 0) + if_sethwassistbits(ifp, CSUM_DELAY_DATA_IPV6, 0); + else + if_sethwassistbits(ifp, 0, CSUM_DELAY_DATA_IPV6); if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { DWC_LOCK(sc); @@ -607,8 +613,8 @@ dwc_attach(device_t dev) if_setinitfn(ifp, dwc_init); if_setsendqlen(ifp, TX_MAP_COUNT - 1); if_setsendqready(sc->ifp); - if_sethwassist(sc->ifp, CSUM_IP | CSUM_DELAY_DATA); - if_setcapabilities(sc->ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM); + if_sethwassist(sc->ifp, CSUM_IP | CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6); + if_setcapabilities(sc->ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_TXCSUM_IPV6); if_setcapenable(sc->ifp, if_getcapabilities(sc->ifp)); /* Attach the mii driver. */ From nobody Sat Jan 17 20:08:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtnpq2m4wz6PBfC for ; Sat, 17 Jan 2026 20:08: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtnpq25ZJz4B7v for ; Sat, 17 Jan 2026 20:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768680515; 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=jLJvxQxM2QBpwKBwX6vUsTIAk9LJJ2Nl1qG2yhwlqEk=; b=cnqQoDDI/ZWwQwKMcegNWz9PI1/PnviQOZE4UymKT4/BpKQbHv4Oest16YRCq60t+pHSKS ZmtYZfBGmKzof7ieOiErQqdXfjvgLYn2E4pWT6slfLn76SKqHE2toimCz7JdH2e0Lr4nmh 5u8kAcg7ZkuPh0IJflTsA+vmvPb1Yf/0er9lJ34KfcB5gD+mA/ewFBa6vpGHHQi/WXJaPk LZ3u2S6x/nbQHCAXJ/eruVvEEjeL2DG1Id0VlYzFAxPlRdXkcbv1QVFHYea2Kr8ArwmVEQ CQoMZ+/60K8qcoEk8fr6jsdENS5jQCLiFvz97JGV2gukFKIESOFNV35IG1pNEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768680515; 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=jLJvxQxM2QBpwKBwX6vUsTIAk9LJJ2Nl1qG2yhwlqEk=; b=R6GN4MKj4NDjM+l77BmJ5shdJjRsUlv3U1pMS3cvcjvSpGu4nUCZgY2sGUnMrBwGntYut/ gyVOQOTpPtNllF096r+v5Zqv/53MSDPqhRFPwHlQNA8+QDjL2oNGEZiRj6+TNu4iJ+P6F9 POSzO3fcu6e4YmI6UpRnPTbqwnR0664NVWcpFpCFB2tYMqWNZ62o6+7RA8JKGjvyH0YajC +u9Wy8BH235KOsFCCZtlFG0BKIEtt/7tHj+3Hs8LuITntBRZGyaKo8nqxFtUZSMpvO0lwy ghS6RxrjJwbP9LceGUVomboAgpYkh7eVKtC9RUBh5qE+dJ1wmwOuWJQVBv7odQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768680515; a=rsa-sha256; cv=none; b=wCBCqrcvvQgHDwCMA9SrAF7Ef522mb+iKey5+OMqVzQqT52nZonpkL2H45HBUkKPnV2VUM NnBC0OOYCnO3wLHVw93KiR25O1ux+d83fbBzcoF81ZwESoOeyK56Dmi24fvhmphnpoqQMj Lu4yBDhD4ERREfgaSOlpLtNzX0r0KXWGClr03q0qHitvqntmI/bDGXO5Gms9kOMSQnwxuJ fH3K0F+fkGuHSvLtYMzpHlJ9kuuPgR/y1Io/TH6AHCbgPlQzrPuL1t+LNll53z7rXPKGdv rKw68I+wYpxyTLr1xF4/NwwqqpLUHwt59afOAOfWXrOytQ/tSSv4oujz4geQcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtnpq1N2NzLJ for ; Sat, 17 Jan 2026 20:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id db77 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 20:08:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 5d8777f3a7ae - main - dwc: add receive checksum offload for IPv6 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d8777f3a7aee04eabbc9f3cf12138f9b56e3ebc Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 20:08:35 +0000 Message-Id: <696bec43.db77.457eb0bd@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5d8777f3a7aee04eabbc9f3cf12138f9b56e3ebc commit 5d8777f3a7aee04eabbc9f3cf12138f9b56e3ebc Author: Michael Tuexen AuthorDate: 2026-01-17 20:06:28 +0000 Commit: Michael Tuexen CommitDate: 2026-01-17 20:06:28 +0000 dwc: add receive checksum offload for IPv6 This patch adds support for receive checksum offload for TCP/IPv6 and UDP/IPv6. Since receive checksum offload can't be configured separately for IPv4 and IPv6, IFCAP_RXCSUM and IFCAP_RXCSUM_IPV6 can't be changed independently. Reviewed by: Timo Völker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54756 --- sys/dev/dwc/dwc1000_core.c | 2 +- sys/dev/dwc/dwc1000_dma.c | 4 ++-- sys/dev/dwc/if_dwc.c | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/dwc/dwc1000_core.c b/sys/dev/dwc/dwc1000_core.c index ba895f991b50..ab1d50c61150 100644 --- a/sys/dev/dwc/dwc1000_core.c +++ b/sys/dev/dwc/dwc1000_core.c @@ -238,7 +238,7 @@ dwc1000_enable_csum_offload(struct dwc_softc *sc) DWC_ASSERT_LOCKED(sc); reg = READ4(sc, MAC_CONFIGURATION); - if ((if_getcapenable(sc->ifp) & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(sc->ifp) & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) != 0) reg |= CONF_IPC; else reg &= ~CONF_IPC; diff --git a/sys/dev/dwc/dwc1000_dma.c b/sys/dev/dwc/dwc1000_dma.c index a2a6fbc84e58..6457503d2a7f 100644 --- a/sys/dev/dwc/dwc1000_dma.c +++ b/sys/dev/dwc/dwc1000_dma.c @@ -390,8 +390,8 @@ dwc_rxfinish_one(struct dwc_softc *sc, struct dwc_hwdesc *desc, m->m_len = len; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0 && - (rdesc0 & RDESC0_FT) != 0) { + if ((if_getcapenable(ifp) & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) != 0 && + (rdesc0 & RDESC0_FT) != 0) { m->m_pkthdr.csum_flags = CSUM_IP_CHECKED; if ((rdesc0 & RDESC0_ICE) == 0) m->m_pkthdr.csum_flags |= CSUM_IP_VALID; diff --git a/sys/dev/dwc/if_dwc.c b/sys/dev/dwc/if_dwc.c index ac6e440cf95c..5e2ca216b3c0 100644 --- a/sys/dev/dwc/if_dwc.c +++ b/sys/dev/dwc/if_dwc.c @@ -263,8 +263,8 @@ dwc_ioctl(if_t ifp, u_long cmd, caddr_t data) /* No work to do except acknowledge the change took */ if_togglecapenable(ifp, IFCAP_VLAN_MTU); } - if (mask & IFCAP_RXCSUM) - if_togglecapenable(ifp, IFCAP_RXCSUM); + if (mask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) + if_togglecapenable(ifp, IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6); if (mask & IFCAP_TXCSUM) if_togglecapenable(ifp, IFCAP_TXCSUM); if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) @@ -614,7 +614,7 @@ dwc_attach(device_t dev) if_setsendqlen(ifp, TX_MAP_COUNT - 1); if_setsendqready(sc->ifp); if_sethwassist(sc->ifp, CSUM_IP | CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6); - if_setcapabilities(sc->ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_TXCSUM_IPV6); + if_setcapabilities(sc->ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6); if_setcapenable(sc->ifp, if_getcapabilities(sc->ifp)); /* Attach the mii driver. */ From nobody Sat Jan 17 21:54:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtr9M0fzpz6PKGY for ; Sat, 17 Jan 2026 21:54: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtr9L5XZxz3MQ1 for ; Sat, 17 Jan 2026 21:54:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768686886; 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=P/ZR8DMsBoWoa4hW4Q7+eDVpt4Iz97xFOw6/pxOxazE=; b=kdWktHDemSUpNzFiaG0K8HA8W9sKdueQQ6Ov64E5PYcmryBpS62IETBcF63duoQIpENz01 Unp/iPpDpLhAFTxtytJKNhpmeWWFWj10nL9RzuQa+zGJsZb7Pec+c1YdQ8GbOUE9/hXkCJ s8nwGiVNx3/z6P/qomG7snrr2ASVuZVueJtHgTWZvN9uBUV1ohE6maWK/KvgaTatlMb0/B n0nsfBaIqfpBcu6c1aXebKxaPuMciP/3Q6yrZSLIipR2v6kKt906uJ4P8ssLlNSLehVCaC +fvmg5+vUsSKOrIUFmRAjdADexsexW0wMjUSyVzq12aqR9jWNRA2VpScNxeyuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768686886; 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=P/ZR8DMsBoWoa4hW4Q7+eDVpt4Iz97xFOw6/pxOxazE=; b=VKf7pkaRqFKtOkWFeXbem46r0jTEQ8zT1R02yi+fx/1oP9TQt3sGW/nBwsS3NUwaAFQw69 V+LIxkCw4XsBuvpcXdXNJrAofXzYCkS9LbmYwxZ7z2z2CeB3ncAlCrreoVu7GHdgdHc59L 54VCba10fOrKBLgeRdRNX5BARlCxfvmjS0XP7raTByIUFcfdXwzPaHWFQVQtjViBoqAr4t h/GbZlwRGUD4l9WypkyQYO5QfcGKbVqnjaum5SCQruwB3zytX+1ZFv0PjJ6jvstngJ+Ski WBzgt+88BNRx9/en0VvTk4cDaag4W7K2XETIDvyJ212lVMveJPGgurgG5WICCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768686886; a=rsa-sha256; cv=none; b=tQ/yGrhnslZzng3JvsT6h1zliNWuRXozpehEZ2Hqqb56WIix36LiIOFr0xLeE2AvDW9Rje NohQ3mGKsXWZRIYjbqmeoMbPIGvgFwElFHV7EeTSPPUp5GPQVig4iUW0cEu2pCxow5lADo /wP+5lRzNsyZOyC9V/dxW5c260HCzeHjE6YIvVQ++Dv6/H6LUu0N+7K0uuXWX21QwcvQps lEbveVqu5leb3VeeejWrVcOLSmzL2VoWOZ1IPl5B5jeU4twFeHsIE1GPfm7/JF4nwD8ZQ9 ZIuV7KyamBChRQ5bDtyAb/d1XPtNW5D+E0G3OumrzBfjfVIz8n9po64LNDKpHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dtr9L4dG9z393 for ; Sat, 17 Jan 2026 21:54:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30b16 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 21:54:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: dce3d3a8c077 - main - powerpc/loader: Size the CAS PVR array correctly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dce3d3a8c077433921b3d9560252c572dc182ba2 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 21:54:46 +0000 Message-Id: <696c0526.30b16.46f0df77@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=dce3d3a8c077433921b3d9560252c572dc182ba2 commit dce3d3a8c077433921b3d9560252c572dc182ba2 Author: Justin Hibbits AuthorDate: 2026-01-17 21:53:42 +0000 Commit: Justin Hibbits CommitDate: 2026-01-17 21:54:43 +0000 powerpc/loader: Size the CAS PVR array correctly Fixes: 895eeb492 ("powerpc/loader: Add CAS support for older CPUs") MFC after: 1 week --- stand/powerpc/ofw/cas.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/powerpc/ofw/cas.c b/stand/powerpc/ofw/cas.c index af1497e98119..6a205924e37c 100644 --- a/stand/powerpc/ofw/cas.c +++ b/stand/powerpc/ofw/cas.c @@ -128,7 +128,7 @@ struct opt_vec5 { } __packed; static struct ibm_arch_vec { - struct pvr pvr_list[10]; + struct pvr pvr_list[13]; uint8_t num_opts; struct opt_vec_ignore vec1; struct opt_vec_ignore vec2; From nobody Sat Jan 17 23:35:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dttPN4YFHz6PQMd for ; Sat, 17 Jan 2026 23:35: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dttPN3bgFz3WjB for ; Sat, 17 Jan 2026 23:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768692920; 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=2dmD2KZXC/Fapo7kr+Mzzzx/LAgrS4DHyNQGjJpTYMA=; b=GhYmf5ckuF/qgs64r+ox2UzRFQc4yc9MAKz3BDz45gIrBvvMoUWG5/81P1Mo7G2xw2iO7P a1VuY7gdaVGd6xY6MV6wl5l+qV996FD3ZSVVgSoO4W4jZP8txqzexiHP165MXTx93bau8v vv4A6qJcfiBFzD02cuX2LD6nC1pYHpXkOuZqpJeXadpyvMZ2hYT6aPXFXRrOUvx86IL1mV g/JxECIzHkI9abxgtwQbQNASI14A294/dcfjkUmcm4KBRAMpeXESEz8AbTXAy1GAxgBN5y +Pe0cK+eFAfKgsCjdcbSFdM12EvCMtpSL9GzJfOcs/mGn7QY77yLS1GwtRit9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768692920; 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=2dmD2KZXC/Fapo7kr+Mzzzx/LAgrS4DHyNQGjJpTYMA=; b=r+04NsEHwMedcXeFJ54gN60AFwLm5lMRCaRd7J/AXXeDGQpE13qqkzk1+gFV+s0dn2iYk5 bGkip1wXGaJkKG6uIimw8Qdr7ZITOjI5Jt3J8gTNl8oiWOe8wFPlJ0XBsTZsSVR2XG34y3 q5AGLARJvbKjmPfD0GnUZQCHb9xAemkjJiiJjaFWzW/CWsBbg7xZ9zF9tys+xM6vBplEvP PP23iq1W9oQJtrrZesOr1vHJTF3Ivw6y/fl+0m0dOjHD0RVEw0EKxGnvlA6/OgV4LOv/Y3 LJiv01v3rH7qI8rAmc8zEbSP8lKRRxJ1Glwv2d1i7wObLpunca2J5k/CWmM5VA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768692920; a=rsa-sha256; cv=none; b=Z22mr/1SA2udLJaz004a4VLAJALGawiPwVAIHkQP1AqWpW0bUtJokofJhFMoNmjltpx/yM Lp4CQh1VT4eEaCYsMMv6dMm2uIYf2Fp3zcxBHClUb4JOn/1C9/O9fvaDn/Eh2rBueAo7Dh TYW3qrJXpgYTbo1vDMDci0V3MdpsVLAY5HLvn6sy2pKTs9jSuo0BjlWfzwr13Xad4Llud1 d4O3j/2aY5WfAUe6xGbWc9IttFqfABSn7mBq7+4Gl1PSWWCErzm823cl7JE10/g68VuiCZ gFHKEFM4lxNRDE/sGwJvvYBwwOANyqEkChsKKrA03nyuWWrTtQ0v8fWLq3R+iA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dttPN2rRQz5YD for ; Sat, 17 Jan 2026 23:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38675 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 23:35:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 964d91ee1d7a - main - pflog: tests: Fix rdr_action_head() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 964d91ee1d7a1405383aeb4fce72c4e3bc80af35 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 23:35:20 +0000 Message-Id: <696c1cb8.38675.d54fe53@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=964d91ee1d7a1405383aeb4fce72c4e3bc80af35 commit 964d91ee1d7a1405383aeb4fce72c4e3bc80af35 Author: Jose Luis Duran AuthorDate: 2026-01-17 23:30:33 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-17 23:33:04 +0000 pflog: tests: Fix rdr_action_head() Fix a typo in the rdr_action_head() test. Fixes: 685fb4253819 ("pf: Log the intended action when a NAT rule matches a packet") MFC after: 1 week --- tests/sys/netpfil/pf/pflog.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index b11b1a3bade0..0b737a96791f 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -337,7 +337,7 @@ unspecified_v6_cleanup() } atf_test_case "rdr_action" "cleanup" -rdr_head() +rdr_action_head() { atf_set descr 'Ensure that NAT rule actions are logged correctly' atf_set require.user root From nobody Sun Jan 18 05:52:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dv2mk4S09z6NsvS for ; Sun, 18 Jan 2026 05:52: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dv2mk0LJQz47MC for ; Sun, 18 Jan 2026 05:52:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768715558; 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=HDismUC8gIahTMbQI1df/t+gqHyzBTDtg3u8HDQdiDU=; b=fHq+sx70xlGbE9ngtQD2Lg7V+PaqLhAa+r+scdpNsLeVVml7MftEzau38w3zvbO8YV+P6U 0I7ksp8j+4v6dhmhpLXXQvQvqEJhdDnHZ13Q7SJAii3l9i5Ir2sevO7/6IeK1tEGuAWZET f0dPvD+4xpwdx1QYGXZakEhCWjoAHp9zuVpLURi/U28hkvpC/Bgs8UtxSJo5Obz710Rpk1 SHbaryciN3MlgmNAll4Eqvj0zIpxobCYk8uML+JTg6PHE/FlkNNsJECqLyjqBJclAF3dDP OHJOj1fpvca4x8hH4PH9VAj2kZ/Umt++/YlPDyD5KZpGLhsATKSdUO1nAGZoLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768715558; 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=HDismUC8gIahTMbQI1df/t+gqHyzBTDtg3u8HDQdiDU=; b=wCY4RBu3gw5iQ5I1krhl/oM69f+WGdBr0MlgVMV5nL/OmcNQtuaSAqCOehBhDnqSW1nWvw ttjG2vmAwjj13JmTnMZ86BPn1MGJ9XPo8w2owRr96/FiOKIkN7o/qCp2sxbjaScI1G5yFx b9LjXN9R0/4yyonevrAT0Hvfefvlfq6ox6pv0Q8xV9JPcg/lVlkQ35rccx6DtuM97TK7q7 nSTISq/Mv+D1C/szy2Guetze2y6UG862r49AXjwJDGew0Uu1+326M7zb3Wqyrk5OIXMNv1 /KExqvvL/F5Mc+aTsoPPc5EWMFAhUjf1IZ+Hjp+RHhpjpze7wAuBhvbsi6GULw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768715558; a=rsa-sha256; cv=none; b=BqAKj41cPC4kn5WQIGcr6eXvKwbUTY9THE1HQqQp1mVp6aGJcpIMaOk32x8EhLs21LEtF/ uVo152GGs+zIMRbLTCu3bYYuKPpjzTArRm9K2t6XNjNk8XwqMCthtMp4dVDP8crMJddKrF bcxLRKJ2b2sLryD8OD/PTqmkh2ErrlTb2atMD7bfCEZ03e0VpgCz+Qv+shvBKkuEPElAVe V27bcPyDE5QHaUDk77kp94PG1UgoqkhbvIVs7+KDk5S/YVur7cYNmnfCTb1CF1bcECPHOz 8IB/j17Sqpph5DOnj0VI7sb0iDWosGRXyChjkdTh+BkEQf6FqxoNO/mb9HUZ1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dv2mj6g1qzZ5c for ; Sun, 18 Jan 2026 05:52:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37c90 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 05:52:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 76af334737b1 - main - ipfw: fix !VIMAGE build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76af334737b1f388163dab6d63aab90de7a46c40 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 05:52:37 +0000 Message-Id: <696c7525.37c90.43bb52f9@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=76af334737b1f388163dab6d63aab90de7a46c40 commit 76af334737b1f388163dab6d63aab90de7a46c40 Author: Gleb Smirnoff AuthorDate: 2026-01-18 05:51:38 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-18 05:51:38 +0000 ipfw: fix !VIMAGE build NB: Rest of ipfw(4) sources get sx.h via vnet.h, which isn't perfect. --- sys/netpfil/ipfw/ip_fw_bpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_fw_bpf.c b/sys/netpfil/ipfw/ip_fw_bpf.c index af52cbc62ed6..9b92b136beb2 100644 --- a/sys/netpfil/ipfw/ip_fw_bpf.c +++ b/sys/netpfil/ipfw/ip_fw_bpf.c @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include #include From nobody Sun Jan 18 08:23:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dv66N6vn9z6P3hV for ; Sun, 18 Jan 2026 08:23: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dv66N6Gpqz3Llj for ; Sun, 18 Jan 2026 08:23:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768724588; 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=cHau/qEvYNFXrpzBmFXE6A9vMxeD8D7pP3uFKZQi8SU=; b=iHp+Qs4CBH4ycFLoujrEoteqSkVMiKUbhryYG7CsFh8sbXRf3BnM53vBjP0una2VunzML3 Vp9IBY+7z1oSmHBimxJ5ILONG1YO/tjak1Jiw/LsvAbaC974dJH+kKGWua8ByIRKqZI05q i6UVxvUGHeE9Eb/R2adYB5B1trSLOllRHfy1dLfqsSo/5HUol7OBOvw64BpnLSZlstHVW1 iEj+tWOfBMPRXAMIdN+M9BZAtaPPYae19e3niTHl+K4nbkvq4CE5Kofxkq+B2dI2LYKiPR EO8oPoUUVJ3fEOpzWByXRApHoSPeLXkPPej8bWOh9hLrip/zAvnHuhY+3xv0fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768724588; 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=cHau/qEvYNFXrpzBmFXE6A9vMxeD8D7pP3uFKZQi8SU=; b=dsdSJrkA8X0IQfWjT7rmUfPEjylbgCSazSWJIik0Kx2QZyhaiEdRn2ToMB+r6cNkihYPiB yScvk1wJNXSZNPDA78vPIJ3UVdAdgmEQ+dI3Y//QDmZyjiKuwCqhkuDWGuR7pRtOhjpXzM lzQQxXmkLN1VIfT1wWAy2b2Tu3DRX2/H9JtbHSrbe9DgK6/pZKhNQ5JD7gAECWk4WUxY9h FwM4mXxoi0hhtUoFyyjiSL2a/cc+nHtQKdIDQYiVp2ypUtYLIFiQUd/7Uuy13YOjuraVlC dPPpAWPGdlXjy8eo0sDXUcDmdeBeIV+mkkc+MZV04RIbnWGxEQ1my51iz2JAHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768724588; a=rsa-sha256; cv=none; b=y0OeSIDmXP92LS/Psc6EmVm5mM2kVI59jNiPRciLOWweMZzMAUEwFSUXiPxNeCgubS4W5X E/+wICI7MZtOTnrPqrfzcZ/AHNFZrkrhuy1/sbKo+8wvzmSpiRReXYzr++er3215LwFGeJ dam8+LZ3UBNeSW0CDXWYR4GM7nnFrNBcaxQG71nIFwD5iv8apk3o3STkx2NnVydKDQP0Zw syJ5pCFKmhJQURLXABoPXSjFlhV1ieqMCd00dQgZo5ioQiD8y703kakGzqfF7iFC/5+P5U atFcCG92Zce9yjvltKduqOm1ALID9Tq7E5pCvH5iw2fw/WLlqeK+br7jhdhcLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dv66N5l1JzdyR for ; Sun, 18 Jan 2026 08:23:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e496 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 08:23:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: adb66ef8c6ff - main - netlink(4): Add snl(3) to See Also section List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: adb66ef8c6ff1def81e9da575014153047ef7735 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 08:23:08 +0000 Message-Id: <696c986c.e496.7c89e115@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=adb66ef8c6ff1def81e9da575014153047ef7735 commit adb66ef8c6ff1def81e9da575014153047ef7735 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-01-18 08:22:13 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-01-18 08:22:13 +0000 netlink(4): Add snl(3) to See Also section While here, fix manlint warnings in rtnetlink(4). Reviewed by: melifaro, ziaee, glebius Approved by: glebius (mentor) Differential Revision: https://reviews.freebsd.org/D53786 --- share/man/man4/genetlink.4 | 1 + share/man/man4/netlink.4 | 1 + share/man/man4/rtnetlink.4 | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/share/man/man4/genetlink.4 b/share/man/man4/genetlink.4 index 9cc5f3b9cbc1..e8da0472ce49 100644 --- a/share/man/man4/genetlink.4 +++ b/share/man/man4/genetlink.4 @@ -131,6 +131,7 @@ The following groups are defined: "notify" Notifies on family registrations/removal. .Ed .Sh SEE ALSO +.Xr snl 3 , .Xr netlink 4 .Sh HISTORY The diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 index 2fa974df0ddf..90934bfe3ff6 100644 --- a/share/man/man4/netlink.4 +++ b/share/man/man4/netlink.4 @@ -336,6 +336,7 @@ or . .El .Sh SEE ALSO +.Xr snl 3 , .Xr genetlink 4 , .Xr rtnetlink 4 .Rs diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index 83521b50c9b5..f15e2690ef49 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -129,7 +129,8 @@ RTA_TABLE fib number or RT_TABLE_UNSPEC to return all fibs .It Dv RTA_METRICS (nested) Container attribute, listing route properties. The only supported sub-attribute is -.Dv RTAX_MTU , which stores path MTU as uint32_t. +.Dv RTAX_MTU , +which stores path MTU as uint32_t. .It Dv RTA_MULTIPATH This attribute contains multipath route nexthops with their weights. These nexthops are represented as a sequence of @@ -293,7 +294,8 @@ IFLA_IFNAME (string) created interface name Deletes the interface specified by .Dv IFLA_IFNAME . .Ss RTM_GETLINK -Fetches a single interface or all interfaces in the current VNET, depending on the +Fetches a single interface or all interfaces in the current VNET, +depending on the .Dv NLM_F_DUMP flag. Each interface is reported as a @@ -524,6 +526,7 @@ The following groups are defined: RTNLGRP_NEIGH Notifies on ARP/NDP neighbor arrival/removal/change .Ed .Sh SEE ALSO +.Xr snl 3 , .Xr netlink 4 , .Xr route 4 .Sh HISTORY From nobody Sun Jan 18 08:28:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dv6DD5mJ0z6P3j4 for ; Sun, 18 Jan 2026 08:28: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dv6DD4Hw4z3M6h for ; Sun, 18 Jan 2026 08:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768724892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eNC2jHLj9rjGzNAXbvlNUVtoSXGSq6UKp0ZZyYkYKEQ=; b=GDVuGkv9li79R5BP2uX7Ck5OILZ2SFciM+roX4IncWlg9JI0g7g5FElDQWQ97AeBl5m89j I6sx9fgilD6EJ8uu5azjunMIHodH+lFJdPNcQCGyMoD1of1tpJ41gFpaqTJMugZ6I9qt4C huatVpw5LXXRg+cYG5oi6ilLKUJPJ4JyqeDLhse2WoJmZreRFDVgi6SEyPCUwtzmLGH9zt Cu4gpiMZfORC8UrZAa7BaTZ6rzSYTJUjceahitEN+d/Bs7s7altX4D9Gw2ivpl+ctFKy1s TuIh4LMv+iNQo011WICQ2qfiq5iyB65Po1dOEAInldCPKKEfXKkpnPkpfE04JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768724892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eNC2jHLj9rjGzNAXbvlNUVtoSXGSq6UKp0ZZyYkYKEQ=; b=yZpCfmH29giYVQfEB2TsxG5SUJbyy3j9LJbtNVr9J4/pbcXxSaTE8jgayKo+69qlQOb6m7 nGtcIxGng4vde/OO1AVeCMFQfhX3FfFJIwczJtT4VaMqsMqLfpUL8Cdxyc9q5tu34ZNbmg rkxnAIb5lC5X1sI+MwpgDUc9BsWOYQ+W4LklFk8wwgL3vBK0s2xwN7AZYKU9vYOYDLar2t z9fyex9fYRX2s/Zm27NMuWSj4D0zy70rzCBoj83aqkkW0IEi7oQ0VKMcscSbvIjp2p/qEq QZLtysMZuMVP1j5MPf3hl3byfNL6WROIlhwBU2f/gRaaZFf85hacQAySw4wB+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768724892; a=rsa-sha256; cv=none; b=werxS5t3U1i+4Kp6am5yUvp81SZSun1BwXyGO9QonhwgNkFyRwd9cRIlJdZPPYzScABsLR ZYGeMSl2WOGX4OateOIul/nGCCwpoIxH96X44u8uk+2HPrrDvoTE3hzVh+LNmqkn1Dbc3T NhFxGyEbeKXCrG7kSHjbL/C7H8370nF6HK1Fc4+HbQRV8BA6RKML4HCThCH3BexJaFAlBC VcSBvAusakAMKdWgL+mlfWffNAUS+U2HiaI0TBHxFdIFiIsXI52+WsQ3mFsxbXyrSPTJn6 8HAk4FUZM6n8oi6haqWPQEvNVVhvGq/fiKTswd6wvwFEV77DYeOF/+uDBwC11w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dv6DD3rG4zfLd for ; Sun, 18 Jan 2026 08:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c96a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 08:28:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Amy Vargas From: Pouria Mousavizadeh Tehrani Subject: git: 2f900cbc5fdf - main - ifconfig: Use strlcpy(3) instead of strncpy(3) for interface name List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f900cbc5fdf1eaafd706936dc4ded7c49a23620 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 08:28:12 +0000 Message-Id: <696c999c.c96a.25c41358@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=2f900cbc5fdf1eaafd706936dc4ded7c49a23620 commit 2f900cbc5fdf1eaafd706936dc4ded7c49a23620 Author: Amy Vargas AuthorDate: 2026-01-17 09:48:06 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-01-18 08:26:39 +0000 ifconfig: Use strlcpy(3) instead of strncpy(3) for interface name No functional change intended. Reviewed by: pouria, delphij, imp Approved by: glebius (mentor) Differential Revision: https://reviews.freebsd.org/D54752 --- sbin/ifconfig/af_link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index 55b75d847c16..db7dbb0841dc 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -134,7 +134,7 @@ link_status(if_ctx *ctx, const struct ifaddrs *ifa) sdl->sdl_alen != ETHER_ADDR_LEN) return; - strncpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name)); + strlcpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name)); memcpy(&ifr.ifr_addr, ifa->ifa_addr, sizeof(ifa->ifa_addr->sa_len)); ifr.ifr_addr.sa_family = AF_LOCAL; if ((sock_hw = socket(AF_LOCAL, SOCK_DGRAM, 0)) < 0) { From nobody Sun Jan 18 12:27:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvCXG70Yjz6PJq2 for ; Sun, 18 Jan 2026 12:27: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvCXG4ctlz3kVg for ; Sun, 18 Jan 2026 12:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768739246; 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=WXhl7fMoutJptXBK8Pdl5vwdTCRhTegm9UIdfiFRS9Q=; b=WAhyGSPw3t/6WZjPTeAhrFxdtXxsjY19sG/4uD3pF7KtrbRIyb/tvJqizjLxTSswUoKt9w 38vLm/sf72oE88NfUl057HnKMhurdqQnY3R4CHJkn2bEsswh60OnDE5HB7bp6cAkLeNlgc CPL3Ym/6o+LTL0Jo7Y9j5mJzmLKedrm5+imhR+M1+m6Vtn7d0R65UOouIVm8Drka+2rJ/6 Ab6xlD20hs/2G1pvvytCPO+cd20kC3CLaNV/2PgkLcbn/9sWBNypjYpxA2f2Dp88Zt82L/ OmO/gIqqordC5GBWvBdqYDXkKhKcgbP16ya4NfvfZSDkCq2Mx1qESBRbdSHizg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768739246; 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=WXhl7fMoutJptXBK8Pdl5vwdTCRhTegm9UIdfiFRS9Q=; b=R8lrCagPUsLaBOwCjIXKKIllqLEqWYhiVZ4WGIHqspexPTIwa9M+3dFhcOiVRVhV3eEUMV kn95EFNXlygoTI9Xg6jjPy7NVJVNlhPAh5KnDtk07YLbGrAdI1LeXTTuY/tufkHKfpiV1B AqC6ri+BlE16WIF8EZmDomkOZaAWET65Lzp1/6FoLyKYpDgmJsISEOAt3CAcgjeV9SJmGD Z2GAUpAgUS9rN3JTi7n26tV21urdqVZVp+Rvg3oLxaz+vxoz46IwsW/kwS9dCJafRZiYRt RrVMYBA+ewgaNgMXuU5uQlSRMnu6Z9GwfU2JdfY21TkrR7OO4zosBE00SecgJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768739246; a=rsa-sha256; cv=none; b=ed9iRocvfEvB+hHNS2HPKKZecilU3FpCd62bf49Q+JWLRT+KCKMbgVxibfIPHCOHr4xrAb 46hKvLhzLeRRdlcdBxc6n+byvuYDKb3LfiBQq5sV11KI4I1O06D7yARcpqn67MWnk/rLfg xQrJAm853/HTcyz5D5LzqGKJABF2VwQc7V4rIpziTeFCXymBaXuHTPI8/027MRz3e94LP7 qqsgfYpyeyRZ9+TMtDpii1DXeZPUn30cyUdEpNn7iHO5siRqCLUXSMy0c0r0IUyZq2l0SQ Ky/e4ZdEx8QZ48yIz0c+Klm9q2x94ATFOprk5cdJtkWj5ep1MeVX1CtX3Iq7cA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dvCXG3l0qzmTV for ; Sun, 18 Jan 2026 12:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e8c5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 12:27:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 0ef8f7133d0f - main - netstat: fix typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ef8f7133d0f1ee28af1689f013f18e002eeae9f Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 12:27:26 +0000 Message-Id: <696cd1ae.3e8c5.31d071d9@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=0ef8f7133d0f1ee28af1689f013f18e002eeae9f commit 0ef8f7133d0f1ee28af1689f013f18e002eeae9f Author: Michael Tuexen AuthorDate: 2026-01-18 12:26:52 +0000 Commit: Michael Tuexen CommitDate: 2026-01-18 12:26:52 +0000 netstat: fix typo MFC after: 3 days --- usr.bin/netstat/sctp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/netstat/sctp.c b/usr.bin/netstat/sctp.c index 08cfc31c12c9..49ad09d7c2db 100644 --- a/usr.bin/netstat/sctp.c +++ b/usr.bin/netstat/sctp.c @@ -652,7 +652,7 @@ sctp_stats(u_long off, const char *name, int af1 __unused, int proto __unused) "{N:/output AUTH chunk%s}\n"); p1a(sctps_senderrors, "\t\t{:send-errors/%ju} " "{N:/ip_output error counter}\n"); - p1a(sctps_sendswcrc, "\t\t{:performed-receive-crc32c-computation/%ju} " + p1a(sctps_sendswcrc, "\t\t{:performed-transmit-crc32c-computation/%ju} " "{N:/performed transmit crc32c computation}\n"); p1a(sctps_sendhwcrc, "\t\t{:performed-transmit-crc32c-offloading/%ju} " "{N:/performed transmit crc32c offloading}\n"); From nobody Sun Jan 18 19:49:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvPL7553Pz6NqQl for ; Sun, 18 Jan 2026 19:49: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvPL74PyNz3ZZY for ; Sun, 18 Jan 2026 19:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768765759; 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=hXihde+WSk+rDsuKoVzDIETBqOLBfHt/1xW3GMRARlI=; b=pYHAiM/JWKfh5czouAVajmYC1zcUWmb9Pg4RZIQ1Se4rJAns9qYD1fa0Mh4vh6WOgo1lpA CXipJuI8A3Z7VcghLXzfI7/1mPqiAy4RsQyNijKN0PSXtR4wX8tLdtyz515KbGT6eSMOOZ 1/B6N0WHHu6CBWfFNxQOUy+TmohneISrwmigKDHZ7OrkqOfwABt1Qu2j0V0PFNyl7kXNzC TLlXjlKbb1y9yG09zdhFjJ62ovLzlhiQ+4icP4QY7oUg4apZlxXpKZbqAw+TH5fPzS59oQ vWvQyy50Swt15YijoJgnWM4iH0UcxBfKr7QgrKPl9GsH0ujH1zoQfef9itk0ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768765759; 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=hXihde+WSk+rDsuKoVzDIETBqOLBfHt/1xW3GMRARlI=; b=IIjxKJ7K/8jnPUJkWN32pWNlK4o2OekjHpbucbZNUF4ramC4lwvFlL/Q8gM4is85OUfRoO zrLdSxo2jkMoNxDCTcRu7mPfUBTdj8cEY3n7bHbnjJPDNMJPQjbg/cOm57iL0FNLmIJ/T8 Vg6PbLpoWUgmS0q/Im1c1zI1oqb5cu7ulRBgIbdQmbFSDTW7khCLDy47qVhOOX+fN4lBLe AWxyPLieWDTKB7Z2NQCy6xT+o5B+ET5pXsejWLDbqRI3AgBl45cSjDb/saV1lWs70YtyCv GKh26Fe3FWTNpY+Hu59I2jdaOgN8XgdG3wzbzIVftlaaGAJQeybMqBElRSqXJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768765759; a=rsa-sha256; cv=none; b=RTy6j04e/UiwOdOe7/GB+UW/VXsbgEtEWTRGriyEI8vzysMGPEE1DtlRvGSK7AlKmFZoVk 4eAjSXKqWh37UK2VlC7PFYNX8woCPQ5o+FOcBeyQyFJpc5322wpGAX3RtcyIdEQpqDckub RhhH1a+nJITbGPdU5GJzk7qbvun55D7c22VZc+oSqwUjrGjf10/l1CiHXLxyOEauU1dqmL OqBKJP4uVOo4CefgSLMB2wE2XXT1TFIg2Hn8iNBeoo4t2UChwyHVkdvVa7DedVSODXy3e6 HKPVGJJXwJI8vtw+8Qw+ss1K5O6SYkVQlzJN6KyjjNFD9weL70PtR2T6ZAXLbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dvPL73C60zyWW for ; Sun, 18 Jan 2026 19:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 95a3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 19:49:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 4938ee806486 - main - x86/local_apic.c: convert lvts[] and elvts[] arrays to designated initializers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4938ee8064868f120413405f1b3aa40344a6fabd Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 19:49:19 +0000 Message-Id: <696d393f.95a3.d446b37@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4938ee8064868f120413405f1b3aa40344a6fabd commit 4938ee8064868f120413405f1b3aa40344a6fabd Author: Konstantin Belousov AuthorDate: 2025-12-09 01:52:04 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-18 19:47:25 +0000 x86/local_apic.c: convert lvts[] and elvts[] arrays to designated initializers Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54543 --- sys/x86/x86/local_apic.c | 105 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 92 insertions(+), 13 deletions(-) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index c1c9029531f5..606c551ed921 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -147,22 +147,101 @@ struct lapic { } static *lapics; /* Global defaults for local APIC LVT entries. */ -static struct lvt lvts[APIC_LVT_MAX + 1] = { - { 1, 1, 1, 1, APIC_LVT_DM_EXTINT, 0 }, /* LINT0: masked ExtINT */ - { 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 }, /* LINT1: NMI */ - { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_TIMER_INT }, /* Timer */ - { 1, 1, 0, 1, APIC_LVT_DM_FIXED, APIC_ERROR_INT }, /* Error */ - { 1, 1, 1, 1, APIC_LVT_DM_NMI, 0 }, /* PMC */ - { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_THERMAL_INT }, /* Thermal */ - { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_CMC_INT }, /* CMCI */ +static struct lvt lvts[] = { + /* LINT0: masked ExtINT */ + [APIC_LVT_LINT0] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_EXTINT, + .lvt_vector = 0, + }, + /* LINT1: NMI */ + [APIC_LVT_LINT1] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 0, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_NMI, + .lvt_vector = 0, + }, + [APIC_LVT_TIMER] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = APIC_TIMER_INT, + }, + [APIC_LVT_ERROR] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 0, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = APIC_ERROR_INT, + }, + [APIC_LVT_PMC] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_NMI, + .lvt_vector = 0, + }, + [APIC_LVT_THERMAL] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = APIC_THERMAL_INT, + }, + [APIC_LVT_CMCI] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 1, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = APIC_CMC_INT, + }, }; /* Global defaults for AMD local APIC ELVT entries. */ -static struct lvt elvts[APIC_ELVT_MAX + 1] = { - { 1, 1, 1, 0, APIC_LVT_DM_FIXED, 0 }, - { 1, 1, 1, 0, APIC_LVT_DM_FIXED, APIC_CMC_INT }, - { 1, 1, 1, 0, APIC_LVT_DM_FIXED, 0 }, - { 1, 1, 1, 0, APIC_LVT_DM_FIXED, 0 }, +static struct lvt elvts[] = { + [APIC_ELVT_IBS] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 0, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = 0, + }, + [APIC_ELVT_MCA] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 0, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = APIC_CMC_INT, + }, + [APIC_ELVT_DEI] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 0, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = 0, + }, + [APIC_ELVT_SBI] = { + .lvt_edgetrigger = 1, + .lvt_activehi = 1, + .lvt_masked = 1, + .lvt_active = 0, + .lvt_mode = APIC_LVT_DM_FIXED, + .lvt_vector = 0, + }, }; static inthand_t *ioint_handlers[] = { From nobody Sun Jan 18 19:49:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvPL866YWz6NqPH for ; Sun, 18 Jan 2026 19:49: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvPL84RB6z3ZZZ for ; Sun, 18 Jan 2026 19:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768765760; 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=LKsV5q6Do9vnTFT9Hl0QajEz3f2/bHrE+0x06cCP/zk=; b=LobO88GvtwrpkaGDDBuTSyf3gYUU24tq8zNE2uoFbW4hHlj9OLgJvg/K1TqwGzu2mMz8y5 YvNQJXlExy8vysKVk4ov/aYb2+J7lEp7XPJr9fFukDjKlLNQLC2+yR4HFh/TvfBLuC6442 M0cFDygghfZ95TCPmUr839o4DHDuSFm94lTZ9pc2h5XWN34MJJx4kFWbOqZdHkJfLfY6Nm ft/WO1aOEwZ4HzQ0HIC9zzLWcjlSAsFeY5Kh0WmWE31iM2FQN2TqGL2azx5YSnLMenVG8O wewQFAvKT51SKdko3Knyh+8k/SG4sQKcKpmWhU1svuVRM03r+ZbpD6PTrsKkYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768765760; 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=LKsV5q6Do9vnTFT9Hl0QajEz3f2/bHrE+0x06cCP/zk=; b=d1q8bw8/j4A3/iSTaH1IF9RId8qXJaZhICll2IWNei5b/UsAbSyCATx6LEu9m58PBzfFit gg2c/QoJOA5HGqW6aa0OQLvYkLuXp8qMaC2gcEjNl0CT5k7BzPKH2V/ncUOK1ifM3pC1uy KLGx19AT2283KdwGmjME6J9yTIe2PiMyCjNij8ikrtMGrJ/rHjgla06GvXB0uch0Oqntrw 08Ce8EyiOiw37oMaiGRO0cpPWmuoAApwJdkYqDteB435Y7dUJccnMKJhkczjnPTDd3sEzr gWwCpWexck9+3PkT0PHE9w/45/swmoJygqzWdzORfC2XDXBiL8/5M+JHti7zyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768765760; a=rsa-sha256; cv=none; b=B8waUPJ3OXejXlSxbq6HEzy0ZMvlemsO1aIU7MpcS2U9auHxo8G375885KjRvoog5HmK6s IRJjBJ6hQGI8bgFko8QDdvHuMcRus96EQ4GQqojOo4ItIrCNXSByl8MZxVRkLr7SWAmE3l 0+hYrRpU40Lyjj/+wC0NOt/P5kHQgsDj2Sa5mGhEdSWplQPw+tXVH6mv0V8qlATRWI/I6F GMlL6sU0ooP5u6rF3yZxraEwTZAyNBdPrub82qFqg1gVAR3s4tuKfW/Qxi2GBypqLUkHAQ FDNqQZ8UQgf3mRemsG9bxt2tMMcDvXpxkNAiqiDtB7JE2kHpOp9uLnGo8etClw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dvPL83xgnz10VT for ; Sun, 18 Jan 2026 19:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8838 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 19:49:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 87ed56a5c435 - main - x88/local_apic.c: for each lvt element, add LVT register index List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87ed56a5c43521d97975d936df4fc36184f1b685 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 19:49:20 +0000 Message-Id: <696d3940.8838.4df87e65@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=87ed56a5c43521d97975d936df4fc36184f1b685 commit 87ed56a5c43521d97975d936df4fc36184f1b685 Author: Konstantin Belousov AuthorDate: 2025-12-09 03:53:50 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-18 19:47:25 +0000 x88/local_apic.c: for each lvt element, add LVT register index Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54543 --- sys/x86/x86/local_apic.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 606c551ed921..aecad4cbd463 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -128,6 +128,7 @@ struct lvt { u_int lvt_active:1; u_int lvt_mode:16; u_int lvt_vector:8; + u_int lvt_reg; }; struct lapic { @@ -156,6 +157,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_EXTINT, .lvt_vector = 0, + .lvt_reg = LAPIC_LVT_LINT0, }, /* LINT1: NMI */ [APIC_LVT_LINT1] = { @@ -165,6 +167,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_NMI, .lvt_vector = 0, + .lvt_reg = LAPIC_LVT_LINT1, }, [APIC_LVT_TIMER] = { .lvt_edgetrigger = 1, @@ -173,6 +176,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = APIC_TIMER_INT, + .lvt_reg = LAPIC_LVT_TIMER, }, [APIC_LVT_ERROR] = { .lvt_edgetrigger = 1, @@ -181,6 +185,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = APIC_ERROR_INT, + .lvt_reg = LAPIC_LVT_ERROR, }, [APIC_LVT_PMC] = { .lvt_edgetrigger = 1, @@ -189,6 +194,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_NMI, .lvt_vector = 0, + .lvt_reg = LAPIC_LVT_PCINT, }, [APIC_LVT_THERMAL] = { .lvt_edgetrigger = 1, @@ -197,6 +203,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = APIC_THERMAL_INT, + .lvt_reg = LAPIC_LVT_THERMAL, }, [APIC_LVT_CMCI] = { .lvt_edgetrigger = 1, @@ -205,6 +212,7 @@ static struct lvt lvts[] = { .lvt_active = 1, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = APIC_CMC_INT, + .lvt_reg = LAPIC_LVT_CMCI, }, }; @@ -217,6 +225,7 @@ static struct lvt elvts[] = { .lvt_active = 0, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = 0, + .lvt_reg = LAPIC_EXT_LVT0, }, [APIC_ELVT_MCA] = { .lvt_edgetrigger = 1, @@ -225,6 +234,7 @@ static struct lvt elvts[] = { .lvt_active = 0, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = APIC_CMC_INT, + .lvt_reg = LAPIC_EXT_LVT1, }, [APIC_ELVT_DEI] = { .lvt_edgetrigger = 1, @@ -233,6 +243,7 @@ static struct lvt elvts[] = { .lvt_active = 0, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = 0, + .lvt_reg = LAPIC_EXT_LVT2, }, [APIC_ELVT_SBI] = { .lvt_edgetrigger = 1, @@ -241,6 +252,7 @@ static struct lvt elvts[] = { .lvt_active = 0, .lvt_mode = APIC_LVT_DM_FIXED, .lvt_vector = 0, + .lvt_reg = LAPIC_EXT_LVT3, }, }; From nobody Sun Jan 18 19:49:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvPLB06Lyz6NqJj for ; Sun, 18 Jan 2026 19:49:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvPL95SCpz3Zm3 for ; Sun, 18 Jan 2026 19:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768765761; 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=IBbGesMBMuA4h4GYtRf0ihEwuRyRGlSQv6Hltm+SjNg=; b=qjh9IWPUGk2zYaufS/AldCHx4ogC4AALo+4DGaBxvCb/fAueC0dZx1gVlDofnHM5kFLpOf 3J/uaVLDoztlOKxz8Dm/o6rpdyxIHpRRQBuWCLMPv87wn4Ew93NykI4lqIDPeyhvwV8Uc0 RW1kE0jEPg2MNSre0ul0Jbd96Mf/8PCEWSOc4X+wVMOD3U3kNIvwTGowXeqSO+otyPomcx P5yhlmROdh9inAp7Zlqrmb5Qkg5l37iHe41U1KvvmcclH6rCzGvnQlTdFHnIGFhsh7W+YR cY8j/p7RgTnsh3Zish3jOp5EC3IP7bxXkY9HMZs/wY2vom6rvrIz2fnro5bPJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768765761; 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=IBbGesMBMuA4h4GYtRf0ihEwuRyRGlSQv6Hltm+SjNg=; b=O4km1p7pETvz9x6BT0vohfKNm8CJQlqIjOxKeDgF5hTyQ9dVXb3sCjI3/dAAM7AVK5VylU doGiqHcKB3igraczF1UwzOfO+vuBvzQEnVJ+PRX8sz1eFnFOu267MsNZUr7jzUHJmOtcdS 7eBbbCwEj6sTJpG0f9lDn9361EYSsCOZ1qyKE9Mc5uO7C+6LJX045ZaHvobd1X7VVNa31f lqwugWQnNiWOrsFKlVnfolVnXHbIov328BnSTvZuHKWrelJjSBE6TGexYpkz3cwNbVBMPb u7NG6nvTMoa0EMwn9+rz0M9xz4BR20myUtWYOLFpogofOloNiJiIavbWQ6IBCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768765761; a=rsa-sha256; cv=none; b=J1ledAx8L7e16LgSrclC/NauOpocyniwRKSEvFlEncwPaKb1mgOfh4BCDGbAKVj6m5xue9 /TrRBcKuh5k+vyDzmn1uZb56otBp1ItjgWyKjKORJl7kvLLHf83IGK37g2VRDEojv+2E4F 16pwBdJC8X9spSvI5/YJ9oYbryb7FG/l7a+7wsZOW6LltGxxiiLquqNh1yfZl+9FJQfHei g7+pLo9uPaALmvBzNp8iT0j0Mrum2Yz9LpaMVWRZAxu8mzU43snAYoe+g311Bari2iCZ2R qzr/EK5Yz/eYwOqE+4odJoj2lP69UidtTu75YbsJAKNhra8ZcfCokzDqQA61gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dvPL94mcLz10N8 for ; Sun, 18 Jan 2026 19:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 96af by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 19:49:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 11f954b021a1 - main - x86: mask all LAPIC vectors early, before BSP interrupts are enabled List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11f954b021a1aadde1d03d40ed5d6b529e14da98 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 19:49:21 +0000 Message-Id: <696d3941.96af.1e1bdabc@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=11f954b021a1aadde1d03d40ed5d6b529e14da98 commit 11f954b021a1aadde1d03d40ed5d6b529e14da98 Author: Konstantin Belousov AuthorDate: 2025-12-09 02:18:21 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-18 19:47:26 +0000 x86: mask all LAPIC vectors early, before BSP interrupts are enabled If APIC is left in somewhat bad state, with some source hot (not masked and active, e.g. timers after kexec or due to BIOS bug), we get the interrupt too early. Reported by: jmg Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54543 --- sys/x86/x86/local_apic.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index aecad4cbd463..053d9814c14c 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -428,6 +428,7 @@ lapic_is_x2apic(void) (APICBASE_X2APIC | APICBASE_ENABLED)); } +static void lapic_early_mask_vecs(void); static void lapic_enable(void); static void lapic_resume(struct pic *pic, bool suspend_cancelled); static void lapic_timer_oneshot(struct lapic *); @@ -553,6 +554,7 @@ lapic_init(vm_paddr_t addr) /* Perform basic initialization of the BSP's local APIC. */ lapic_enable(); + lapic_early_mask_vecs(); /* Set BSP's per-CPU local APIC ID. */ PCPU_SET(apic_id, lapic_id()); @@ -791,6 +793,32 @@ lapic_xapic_mode(void) intr_restore(saveintr); } +static void +lapic_early_mask_vec(const struct lvt *l) +{ + uint32_t v; + + if (l->lvt_masked != 0) { + v = lapic_read32(l->lvt_reg); + v |= APIC_LVT_M; + lapic_write32(l->lvt_reg, v); + } +} + +/* Done on BSP only */ +static void +lapic_early_mask_vecs(void) +{ + int elvt_count, i; + + for (i = 0; i < APIC_LVT_MAX; i++) + lapic_early_mask_vec(&lvts[i]); + + elvt_count = amd_read_elvt_count(); + for (i = 0; i < elvt_count; i++) + lapic_early_mask_vec(&elvts[i]); +} + void lapic_setup(int boot) { From nobody Sun Jan 18 21:54:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvS6H5nksz6P1P5 for ; Sun, 18 Jan 2026 21:54: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvS6H3NYjz3x0W for ; Sun, 18 Jan 2026 21:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768773255; 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=G8HiIjUCy+CVOYsVFswp3p1wLX6jopvr2ibCGd1aVQo=; b=mVO1TlfMafFCCbASm+X9+c4kqh396XR8Cfghxo91VAOLm0Y0XHeTGHVgwzqto6Tg3XV51f xDvBGbpZrEEFeg0MS37Q49L9wuNUfsNsIOqyQPc4ML8qjB7tE66sFdCsx+hURC7tZV7noZ U8N0rEHDMQMJCO8Qz/3nMif2srNkoHmfHIwVyqL8IBRC5v8D9w0EQOUWUVH1pBFRziHFFl /c0IblAK8sUrb12M8N1y+27nAPSgxEIeu9u4FXvzoB1plp8JHRADrBlad8m44Rg03zCEYo UD+zMNVN+SIEmKw4Ys7mekUcvFNXWuGJiS6aRbjjj672LuIs6sERb5m9s/8OMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768773255; 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=G8HiIjUCy+CVOYsVFswp3p1wLX6jopvr2ibCGd1aVQo=; b=cP/vkoTkPQkBF0Usu0782rRKEQ452TzAqr+QXtDBJpUvuRYcblH03uBUUNriHEZzji02x/ oZ/g1+1Tg7aNvLmCGVUA4bJgIhjsV5GayIs9gJga2XYQbYwPaJTdOf6loYy4GwKUj72hTE 7PWCR5CMNQn8CDgl40jmWpzVyqF9HmwRNgCYbDsbpUvM//r8CFrIW9zyPfpdF/lQW1mRbw RQyWD9893HE/XpcGEH1g8WbZ1AxODSZL/XERfQO1W4Mcy7Dy9CTwyuNb2rSgcbuZYHAxQR c3xCSqElHQcVpHFWYjd8tuE612h5TmkZqRHgsKIicb0dYQ58lhkfa9u6sTxxOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768773255; a=rsa-sha256; cv=none; b=CIhfNyteNTzl4SKgdEuICDmXoIzL4GYMQVP6pDxr2Om0x4xScyq4PD2C8pNN35K9+xWa/M eDlob5snA7jTyXIjUh6ZuxvOwzdxIBCoeqEgp1Fe6Ue/fChiVoaHOrKXG5OvT9lqsn0JNV rWKgwxKho6XKdcbDmbR+dBWfFmrfBupmRkGZgHpZeohlHzsiDn9zRmKWxEcxwNj0CyzC79 7KOTPzEIWuEG+ADVB2RSBoR8Qh71oYAnPiEW9+HQJkwovETTnbjxYhqDxe/lDl0wxv9PqC C1YB+ht9LqoBcqSOxvT2Srj8WgZhwM2oTb+pItnsHH4/9RRssrFK9FZjPpurjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dvS6H2gmqz13LR for ; Sun, 18 Jan 2026 21:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23b4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 21:54:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 0f0b833e4db6 - main - modules: iwlwifi/rtw89 allow standalone build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f0b833e4db6d450b39de0365b657936f5a6993b Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 21:54:15 +0000 Message-Id: <696d5687.23b4b.228aaecf@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0f0b833e4db6d450b39de0365b657936f5a6993b commit 0f0b833e4db6d450b39de0365b657936f5a6993b Author: Bjoern A. Zeeb AuthorDate: 2026-01-18 21:45:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-18 21:53:39 +0000 modules: iwlwifi/rtw89 allow standalone build The KERN_OPTS:MDEV_ACPI checks are fine for as long as we are building modules along the kernel. If one wants to just build the module standalone out of the module directory this would fail. Add the missing include for kmod.opts.mk (as was done for tcp in 1319a76179682). Sponsored by: The FreeBSD Foundation Reported by: Tassilo Philipp (tphilipp potion-studios.com) Fixes: f5a77dc8f8df ("improve module Makefile dependency on ACPI") Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54769 --- sys/modules/iwlwifi/Makefile | 2 ++ sys/modules/rtw89/Makefile | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index 39b4a48497b4..b5441744d77a 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -1,3 +1,5 @@ +.include + DEVIWLWIFIDIR= ${SRCTOP}/sys/contrib/dev/iwlwifi .PATH: ${DEVIWLWIFIDIR} diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index 98174fff2a1b..9aa6cfda1d3d 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -1,3 +1,5 @@ +.include + DEVRTW89DIR= ${SRCTOP}/sys/contrib/dev/rtw89 .PATH: ${DEVRTW89DIR} From nobody Sun Jan 18 22:13:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvSXp4rTYz6P2N7 for ; Sun, 18 Jan 2026 22:13: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvSXp3CW2z411n for ; Sun, 18 Jan 2026 22:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768774426; 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=EPCvm6BBobPBsQ7f5lDw1dIG+p1WsYSYkc9me87r3cg=; b=p+HJWfbT4Qh8p5+oo7F9vLI076hSRSiNMFpNAVqkAJl2lGknmGvcBSzPT7qmemGE8vG+Kf Il80zFqpsUoi2yr5l6KzziAzdWmEW7wH5Pjo4iLF1eE4r99OZzYIo6uUVL3XVMljRM275V tUyjQVVO94S+Y9emZZM7KuUlcpRdFrpxlNa1kQ2t1pYeCHcGpc0IjNtz63BQzCGs0+NWSN vZaY/kM0D/l7r2WBCZD+OAmM6PzDkgm9pXVCGLwzBupxKAvEsupiNQs297aGYLnA9mYjST bIC7RCvKpJ3g48l6b/71tpDrjg89p00/FFR0Ish592OQ2yR+tyY71cYg0zUcmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768774426; 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=EPCvm6BBobPBsQ7f5lDw1dIG+p1WsYSYkc9me87r3cg=; b=IbVVJ6jsU0y6ZoauyZiFmB1A91+MdxvVL9gGl9cZWTmY4wyK6CpLG8wezD4i0K3+kdRTFs mcg0KRvmmmcU08EqQ6UYJsOdminHS7X2RP5dIIMQGHTqIgMavSXyqO8fiZ9wg3rcWEX0pf 1Ydlp//jvfJfJW7rTZWoIvG2iBxLrM49LhNRHHoYdJxrMD8tiBYQklzlFFLKsEmeBI0Ytv ornac7uOtt1Oj5r+lwJTqXfA94A84p2ZqGM7Ft5fjy8Eq2twdD2zEGSRTwVR9uJnMjgpHc cNsZCiKPZq9q/UXdjMvx5o1ZKUAYiaoUq+ZsIB98gnl7Elz9rQrmKv8GMqXIOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768774426; a=rsa-sha256; cv=none; b=lYUCyH1zLx+hjYFNgcfdGCZU3DhVVcaZhustufP60zZr1Qnkbl5RAgNBr1BgTW2kq1oW4Y sk45NJMyWKxHP5Twc93qr20NgL9h8uvxpEwvu10i4ZtRtOXOwyQue+zC7MnS7qEWQAyKi4 ZO3RfIOFgU0CAtS9xHxm+wxvBS8nzwyJSGdPYqTKwAPOR1BCFdPB4HVI7GEw5zSVEhgB5K 0lv9itcVFuUB6HyBVb7mYuZsNfE6+YcBXtTN+nVkjByzLMUJKlu1N+b3RDBHNrrAxor3jD CxUt+CVJ7/jORAenXHrtmdbOUQBYhXjPbi0d9trTovSC7XzZVcxNqfTqg6+Gzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dvSXp2nthz14Y1 for ; Sun, 18 Jan 2026 22:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3047a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 22:13:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: 8ac6427b1bb9 - main - periodic: Support RFC 5424 syslog timestamps List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ac6427b1bb95470f6c755202d1c0391ed8eefbd Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 22:13:41 +0000 Message-Id: <696d5b15.3047a.53acf095@gitrepo.freebsd.org> The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=8ac6427b1bb95470f6c755202d1c0391ed8eefbd commit 8ac6427b1bb95470f6c755202d1c0391ed8eefbd Author: Joseph Mingrone AuthorDate: 2026-01-08 19:22:58 +0000 Commit: Joseph Mingrone CommitDate: 2026-01-18 22:11:37 +0000 periodic: Support RFC 5424 syslog timestamps This is based on an initial implementation by michaelo in https://reviews.freebsd.org/D54361. PR: 270497 Reported by: michaelo Reviewed by: michaelo Tested by: michaelo MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54606 --- usr.sbin/periodic/etc/daily/460.status-mail-rejects | 13 ++++++++++--- usr.sbin/periodic/etc/security/800.loginfail | 11 +++++++++-- usr.sbin/periodic/etc/security/900.tcpwrap | 11 +++++++++-- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/usr.sbin/periodic/etc/daily/460.status-mail-rejects b/usr.sbin/periodic/etc/daily/460.status-mail-rejects index b33e0062f3d7..a9ec3c8d1a51 100755 --- a/usr.sbin/periodic/etc/daily/460.status-mail-rejects +++ b/usr.sbin/periodic/etc/daily/460.status-mail-rejects @@ -36,8 +36,15 @@ case "$daily_status_mail_rejects_enable" in echo echo Checking for rejected mail hosts: - yesterday=$(date -v-1d '+%b %e') - today=$(date '+%b %e') + # Support both RFC 3164 (traditional) and RFC 5424 syslog timestamps. + today_3164="$(date '+%b %e ')" + today_5424="$(date -I)" + prefix_today="(^${today_3164}|^<[0-9]{1,3}>1 ${today_5424}T)" + + yesterday_3164="$(date -v-1d '+%b %e ')" + yesterday_5424="$(date -v-1d -I)" + prefix_yesterday="(^${yesterday_3164}|^<[0-9]{1,3}>1 ${yesterday_5424}T)" + n=$(($daily_status_mail_rejects_logs - 2)) rc=$({ while [ $n -ge 0 ] @@ -61,7 +68,7 @@ case "$daily_status_mail_rejects_enable" in n=$(($n - 1)) done cat /var/log/maillog - } | sed -Ene "/^$today/q" -e "/^$yesterday/{"' + } | sed -En -e "/$prefix_today/q" -e "/$prefix_yesterday/{"' s/.*ruleset=check_relay,.* relay=([^,]+), reject=([^ ]*).*/\2 check_relay \1/p t end s/.*ruleset=check_rcpt,.* arg1=,]+).* reject=([^ ]+) .* ([^ ]+)/\2 check_rcpt \1 \3/p diff --git a/usr.sbin/periodic/etc/security/800.loginfail b/usr.sbin/periodic/etc/security/800.loginfail index 19bf9a4b3b91..91564185b653 100755 --- a/usr.sbin/periodic/etc/security/800.loginfail +++ b/usr.sbin/periodic/etc/security/800.loginfail @@ -39,7 +39,14 @@ fi LOG="${security_status_logdir}" -yesterday=`date -v-1d "+%b %e "` +# Support both RFC 3164 (traditional) and RFC 5424 syslog timestamps. +yesterday_3164="$(date -v-1d '+%b %e ')" +prefix_3164="^${yesterday_3164}" + +yesterday_5424="$(date -v-1d -I)" +prefix_5424="^<[0-9]{1,3}>1 ${yesterday_5424}T" + +prefix="(${prefix_3164}|${prefix_5424})" catmsgs() { find ${LOG} -name 'auth.log.*' -mtime -2 | @@ -57,7 +64,7 @@ if check_yesno_period security_status_loginfail_enable then echo "" echo "${host} login failures:" - n=$(catmsgs | egrep -ia "^$yesterday.*: .*\b(fail(ures?|ed)?|invalid|bad|illegal|auth.*error)\b" | + n=$(catmsgs | egrep -ia "${prefix}.*\b(fail(ures?|ed)?|invalid|bad|illegal|auth.*error)\b" | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0 fi diff --git a/usr.sbin/periodic/etc/security/900.tcpwrap b/usr.sbin/periodic/etc/security/900.tcpwrap index bbbc04a03988..8f6f17ebd756 100755 --- a/usr.sbin/periodic/etc/security/900.tcpwrap +++ b/usr.sbin/periodic/etc/security/900.tcpwrap @@ -39,7 +39,14 @@ fi LOG="${security_status_logdir}" -yesterday=`date -v-1d "+%b %e "` +# Support both RFC 3164 (traditional) and RFC 5424 syslog timestamps. +yesterday_3164="$(date -v-1d '+%b %e ')" +prefix_3164="^${yesterday_3164}" + +yesterday_5424="$(date -v-1d -I)" +prefix_5424="^<[0-9]{1,3}>1 ${yesterday_5424}T" + +prefix="(${prefix_3164}|${prefix_5424})" catmsgs() { find ${LOG} -name 'messages.*' -mtime -2 | @@ -57,7 +64,7 @@ if check_yesno_period security_status_tcpwrap_enable then echo "" echo "${host} refused connections:" - n=$(catmsgs | grep -i "^$yesterday.*refused connect" | + n=$(catmsgs | egrep -ia "${prefix}.*refused connect" | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0 fi