From nobody Mon Jan 26 06:47: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 4dzzbx1rYvz6Pnkp for ; Mon, 26 Jan 2026 06:47: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 4dzzbw63bMz3wwS for ; Mon, 26 Jan 2026 06:47:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769410028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bd07z/s0MNAOHLYysDw+GpDEY7PCUdTQ0k/b0pg0Bcw=; b=h+20uG+X6dPhJmcgeUce8eKeGpmCXlgIbYQpF5BnO5mWEmizkbdeQyjBnXwrUkh0pHDaSW ERz9JIE+R+X/jgQVsVFN6j/ezDVZc2vRqMKrUePHgjHYGrjVJzRUiLaB4yO9jvr34IUbUA CatrjDBcJLx0lJv6eDq08jrNjeryTpqTnLCJ/jThz1j85GPzcEqwIjjsKEXtLUgPv6sNlU 53aoFcjNB58m6L2v/4q5VNnyahs+0Ar7VOmFN4H/E//29dh0prrGQWkQMtFz55Zws0iV+6 Kp5fRf5zsZoGSfDGbFrkSw2iJZ49Bd6rtPk3bVl46NXZcbdiuUHLf91GntQhJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769410028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bd07z/s0MNAOHLYysDw+GpDEY7PCUdTQ0k/b0pg0Bcw=; b=ZyozD0XCl0Pr/N4krbU+9PRcLxiJz4cKd0nVLwLrFE3zSP0cYlDdLJYb46VCICjDezZa3X FGSfgdtBMTgud1OpVgILBXJVgw+q3YdVPTU0uV/JL7jW/XkMuDgYMsoC6B28bFDN8prqOA olbb4wjO8Gjf8lZTPXoy4DS3Dha6T7RRm8ph159lCea/pq9BxV5RzHXSmxYrXp8uRgMx/Y hyToOUq6uUevoO03My3DE4B6MPQHcFNqePD1XOhiiUZLrueb+t2hvpBsW6wFmC/LmGUfyi WX7NA4HStY7N4ZS8C2c+EWbTXZUiB7UXqqPZHCLdWK4w05ioAnTur1bWhjt+Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769410028; a=rsa-sha256; cv=none; b=bhgTGPYgrYgqPhBCnyU7PafZY7Z48KX/7AkmleAIPckOeaFzCvMup6v7Iuh6gsILPKGVpJ fYtEvbZyqM1x9UAaqltC3tDOGotKrf5+PcAI6eOY4/4lK8d9yIScMucoTnMRLdObwQhCxs Htq0q5CW4QkIE/OEe7SRDWRWs/DpFUHFUkrEyQu8gzERUNNsZV/nLevAyPpwg0H29s+1uv Ry7Xf6vFzkt4mQS4cyQP3fyXj59bvLZa+9M2etB3lYS17hqxFz+EmAN9Fqq1rMBzsDfdYI l+0IonD3TyO6tsXsUGG47DrajWy7Xjhjyg2ojiE+/ZVxizss1J/E6NHgJDv4WQ== 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 4dzzbw573Lz18V6 for ; Mon, 26 Jan 2026 06:47:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b919 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 06:47:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jaeyoon Choi Subject: git: 8ef8c6abfadf - main - cam/scsi: Restore scsi_start_stop() and add scsi_start_stop_pc() 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: jaeyoon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 06:47:08 +0000 Message-Id: <69770dec.b919.7cea33f8@gitrepo.freebsd.org> The branch main has been updated by jaeyoon: URL: https://cgit.FreeBSD.org/src/commit/?id=8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd commit 8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd Author: Jaeyoon Choi AuthorDate: 2026-01-26 06:29:28 +0000 Commit: Jaeyoon Choi CommitDate: 2026-01-26 06:35:31 +0000 cam/scsi: Restore scsi_start_stop() and add scsi_start_stop_pc() Revert the argument change that broke libcam in 8c35de49 and move power_condition support to scsi_start_stop_pc(). Reported by: imp Reviewed By: #cam, imp (mentor) Sponsored by: Samsung Electronics Differential Revision: https://reviews.freebsd.org/D54822 --- sbin/camcontrol/camcontrol.c | 1 - sys/cam/cam_periph.c | 1 - sys/cam/scsi/scsi_all.c | 34 ++++++++++++++++++++++++++++++++++ sys/cam/scsi/scsi_all.h | 4 ++++ sys/cam/scsi/scsi_cd.c | 2 -- sys/dev/mpr/mpr_sas_lsi.c | 1 - sys/dev/mps/mps_sas_lsi.c | 1 - sys/dev/ufshci/ufshci_sim.c | 2 +- 8 files changed, 39 insertions(+), 7 deletions(-) diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c index 8da0c97b02a9..15a5d42a2ba5 100644 --- a/sbin/camcontrol/camcontrol.c +++ b/sbin/camcontrol/camcontrol.c @@ -1024,7 +1024,6 @@ scsistart(struct cam_device *device, int startstop, int loadeject, /* start/stop */ startstop, /* load_eject */ loadeject, /* immediate */ 0, - /* power_condition */ SSS_PC_START_VALID, /* sense_len */ SSD_FULL_SIZE, /* timeout */ timeout ? timeout : 120000); diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c index 7f6855a5d51d..91ec7a71f612 100644 --- a/sys/cam/cam_periph.c +++ b/sys/cam/cam_periph.c @@ -1791,7 +1791,6 @@ camperiphscsisenseerror(union ccb *ccb, union ccb **orig, /*start*/TRUE, /*load/eject*/le, /*immediate*/FALSE, - /*power_condition*/SSS_PC_START_VALID, SSD_FULL_SIZE, /*timeout*/50000); break; diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index d8bba97e79bc..76fcd3fee188 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -9007,6 +9007,40 @@ scsi_write_buffer(struct ccb_scsiio *csio, uint32_t retries, void scsi_start_stop(struct ccb_scsiio *csio, uint32_t retries, + void (*cbfcnp)(struct cam_periph *, union ccb *), + uint8_t tag_action, int start, int load_eject, + int immediate, uint8_t sense_len, uint32_t timeout) +{ + struct scsi_start_stop_unit *scsi_cmd; + int extra_flags = 0; + + scsi_cmd = (struct scsi_start_stop_unit *)&csio->cdb_io.cdb_bytes; + bzero(scsi_cmd, sizeof(*scsi_cmd)); + scsi_cmd->opcode = START_STOP_UNIT; + if (start != 0) { + scsi_cmd->how |= SSS_START; + /* it takes a lot of power to start a drive */ + extra_flags |= CAM_HIGH_POWER; + } + if (load_eject != 0) + scsi_cmd->how |= SSS_LOEJ; + if (immediate != 0) + scsi_cmd->byte2 |= SSS_IMMED; + + cam_fill_csio(csio, + retries, + cbfcnp, + /*flags*/CAM_DIR_NONE | extra_flags, + tag_action, + /*data_ptr*/NULL, + /*dxfer_len*/0, + sense_len, + sizeof(*scsi_cmd), + timeout); +} + +void +scsi_start_stop_pc(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int start, int load_eject, int immediate, uint8_t power_condition, uint8_t sense_len, diff --git a/sys/cam/scsi/scsi_all.h b/sys/cam/scsi/scsi_all.h index cadf2d1f2835..8aa87abce370 100644 --- a/sys/cam/scsi/scsi_all.h +++ b/sys/cam/scsi/scsi_all.h @@ -4348,6 +4348,10 @@ void scsi_unmap(struct ccb_scsiio *csio, uint32_t retries, uint8_t sense_len, uint32_t timeout); void scsi_start_stop(struct ccb_scsiio *csio, uint32_t retries, + void (*cbfcnp)(struct cam_periph *, union ccb *), + uint8_t tag_action, int start, int load_eject, + int immediate, uint8_t sense_len, uint32_t timeout); +void scsi_start_stop_pc(struct ccb_scsiio *csio, uint32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int start, int load_eject, int immediate, uint8_t power_condition, uint8_t sense_len, diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index bc4634562dc6..e622a96ec77e 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -3406,7 +3406,6 @@ cdstartunit(struct cam_periph *periph, int load) /* start */ TRUE, /* load_eject */ load, /* immediate */ FALSE, - /* power_condition */ SSS_PC_START_VALID, /* sense_len */ SSD_FULL_SIZE, /* timeout */ 50000); @@ -3435,7 +3434,6 @@ cdstopunit(struct cam_periph *periph, uint32_t eject) /* start */ FALSE, /* load_eject */ eject, /* immediate */ FALSE, - /* power_condition */ SSS_PC_START_VALID, /* sense_len */ SSD_FULL_SIZE, /* timeout */ 50000); diff --git a/sys/dev/mpr/mpr_sas_lsi.c b/sys/dev/mpr/mpr_sas_lsi.c index 6529b38cc5f1..f88dd6e2532f 100644 --- a/sys/dev/mpr/mpr_sas_lsi.c +++ b/sys/dev/mpr/mpr_sas_lsi.c @@ -1516,7 +1516,6 @@ mprsas_SSU_to_SATA_devices(struct mpr_softc *sc, int howto) /*start*/FALSE, /*load/eject*/0, /*immediate*/FALSE, - /*power_condition*/SSS_PC_START_VALID, MPR_SENSE_LEN, /*timeout*/10000); xpt_action(ccb); diff --git a/sys/dev/mps/mps_sas_lsi.c b/sys/dev/mps/mps_sas_lsi.c index c48c8e15d4a4..bcde5d69a021 100644 --- a/sys/dev/mps/mps_sas_lsi.c +++ b/sys/dev/mps/mps_sas_lsi.c @@ -1152,7 +1152,6 @@ mpssas_SSU_to_SATA_devices(struct mps_softc *sc, int howto) /*start*/FALSE, /*load/eject*/0, /*immediate*/FALSE, - /*power_condition*/SSS_PC_START_VALID, MPS_SENSE_LEN, /*timeout*/10000); xpt_action(ccb); diff --git a/sys/dev/ufshci/ufshci_sim.c b/sys/dev/ufshci/ufshci_sim.c index bee1fff858ff..404f3e99d1e2 100644 --- a/sys/dev/ufshci/ufshci_sim.c +++ b/sys/dev/ufshci/ufshci_sim.c @@ -494,7 +494,7 @@ ufshci_sim_send_ssu(struct ufshci_controller *ctrlr, bool start, return ENOMEM; } - scsi_start_stop(&ccb->csio, + scsi_start_stop_pc(&ccb->csio, /*retries*/ 4, /*cbfcnp*/ NULL, /*tag_action*/ MSG_SIMPLE_Q_TAG, From nobody Mon Jan 26 07:18: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 4f00Jj2YdYz6PqMn for ; Mon, 26 Jan 2026 07:19:01 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yx1-f47.google.com (mail-yx1-f47.google.com [74.125.224.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 4f00Jj0YWmz40xQ for ; Mon, 26 Jan 2026 07:19:01 +0000 (UTC) (envelope-from 6yearold@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yx1-f47.google.com with SMTP id 956f58d0204a3-64455a2a096so3157911d50.3 for ; Sun, 25 Jan 2026 23:19:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769411940; x=1770016740; 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=fEXVUVrsxL41QKr6+pFCZYN5qsU/Dd8xyrm/33b4iBI=; b=qNnbjet2pEkYJI5TF794hsZClK84MBwE++0UVbkK+9X8VR7H0BoMC8MLRhm45g+NPM XSk3W2/57zleMW5MdnmmL6EnUeoZJ9w0/KZgwKZclm1rQFL2FNc6VV0NfUgH5v81P+OC E213ba3MtF6v9xc0PhfPpOHO1gtXAf/3g5nLoHTlDKdHFQpIoBDu/epTqbJWlQthA6Fj 0jNgNsXVT/Zx5BrswDVYV+2mwzH9IUrQh4LwK3DP8BNHOFO5+rs1HT5Cpjs7LAbQLOib 6p7mJXIxqSFKWtUdiz/AA9KOkw8cMLk3qCt5j+U696WTcQ5fMPKo8sgyUFxf440QuVsJ GYsA== X-Forwarded-Encrypted: i=1; AJvYcCW1BS///t9Q4i6XFarMwGAsh3yFvxmJB3zBwiBQ2hOc6FnYUAGF1IIXIOXmtmDfbER9CuNhAkl+6VlCZSQaX08fBYO49g==@freebsd.org X-Gm-Message-State: AOJu0YywPQVK0GY5FxMjcuNWzVf0LDHO+I+fzsouexBntU636EN+X//L rrBxDxNz4AQybQhvVYOn3NRTaMzwCzJVgVRADDIBwgBUCXu92jLJUzDfTLmTt8x9 X-Gm-Gg: AZuq6aKg2gjVluUi6P6SrhKnLblXuMH8tEUwqfCdeB9KE+1+xepOxFcRCC1hc3/7N5w zCxdgbZ1NQGLPkmO/9BmdAuKtQ7QORdXiuln3eds0p5J1oGNcC0iRW/ewVn+LL6WQhDhpV57C5E IbiVIIwqqAbNVt1MF33diO4pOnbAWyh/+nSqcYG5fnnhLYLgvH+l4lTOCFho6OTW4RTSyJzSrD6 N+QtI8ihxJV6GOkf+7bJFTA8mwKM2Dfp8/VQUOVHkp6bUsAO6vaHsHaxQsdzKC8m4c1gCLx86hc s5rCrMmQT/yYKxl1dTfn2XqBwYzbWKk4GkXqWcpmFELhjNPGmdut8p+M1muZ39nVKUQ/LR698CN Zbxcuf+ioxnMIzAfoMm9n4HEcFjlILKBnw5E4/b/H4LcwIiS1mIcY8/yh8Tp5GhI+YHlIbDG6wC Rdpn8MoX70MGFR71xfyX1VYiDxtTBJ+MW0ocHFRxuxrkWrb4YIDGoqLkYQjN/pMnnMkyoZIUVAq CsifQ== X-Received: by 2002:a05:690c:805:b0:788:201c:a170 with SMTP id 00721157ae682-7945a9b2bcdmr47637717b3.42.1769411940045; Sun, 25 Jan 2026 23:19:00 -0800 (PST) Received: from mail-yx1-f53.google.com (mail-yx1-f53.google.com. [74.125.224.53]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7943b2cc8casm44267057b3.50.2026.01.25.23.18.59 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 25 Jan 2026 23:18:59 -0800 (PST) Received: by mail-yx1-f53.google.com with SMTP id 956f58d0204a3-64959e30705so2854257d50.1 for ; Sun, 25 Jan 2026 23:18:59 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCVeB+WXd5pt9l0xvhmkgD7+3FURew366DxxetwPI096pHoVVQMbIuSDx6KiKBzTFtgb47KyQKTvTEBn9+ExfOQxH1uaSg==@freebsd.org X-Received: by 2002:a05:690c:fd4:b0:787:badd:4c with SMTP id 00721157ae682-7945a8dd1c8mr63568097b3.27.1769411939233; Sun, 25 Jan 2026 23:18: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: <697499a8.335a0.2e12eda1@gitrepo.freebsd.org> In-Reply-To: From: Gleb Popov Date: Mon, 26 Jan 2026 10:18:33 +0300 X-Gmail-Original-Message-ID: X-Gm-Features: AZwV_QhVNvAISOLSbN7xI98u9H3ZuzIGzZTmjoy_RGvtZKVA_Ryy7GhVia5nGX4 Message-ID: Subject: Re: git: 10037d0978f8 - main - fusefs: Implement support for the auto_unmount option kernel-side To: Konstantin Belousov , Alan Somers 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:74.125.0.0/16, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4f00Jj0YWmz40xQ On Sun, Jan 25, 2026 at 10:39=E2=80=AFPM Konstantin Belousov wrote: > > > diff --git a/sys/fs/fuse/fuse_device.c b/sys/fs/fuse/fuse_device.c > > index 41387de3ce71..2c1e19953dfd 100644 > > --- a/sys/fs/fuse/fuse_device.c > > +++ b/sys/fs/fuse/fuse_device.c > > @@ -65,7 +65,6 @@ > > #include > > #include > > #include > > -#include > > #include > > #include > > #include > > @@ -177,6 +176,11 @@ fdata_dtor(void *arg) > > fuse_lck_mtx_unlock(fdata->ms_mtx); > > FUSE_UNLOCK(); > > > > + if (fdata->mp && fdata->dataflags & FSESS_AUTO_UNMOUNT) { > if (fdata->mp !=3D NULL && (fdata->dataflags & FSESS_AUTO_UNMOUNT= ) !=3D 0) { > > > + vfs_ref(fdata->mp); > Don't you need to take the reference when the fdata is created and mp mem= ber > is initialized, and not here? > > What guarantees that the mp is still ours? > In fact, I think that you should use vfs_busy() and not vfs_ref(), > since what prevents mp from being unmounted under us? > > > + dounmount(fdata->mp, MNT_FORCE, curthread); > > + } > > + I have to admit that I had no idea what I'm doing when writing this code. I first tried VOP_UNMOUNT, then something else, then started grepping the source to figure how other parts of the system perform this task and ended up with this. It worked for me for a simple test, so I put it on the review hoping that more knowledgeable people would catch if there is something wrong. My bad that I didn't put you on the review too. Anyways, to properly answer your question I'd need a pointer to a good read on vfs_* stuff. CCing Alan as a reviewer of that code. From nobody Mon Jan 26 09:33: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 4f03Hj1Dwtz6Q1Jx for ; Mon, 26 Jan 2026 09:33: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 4f03Hj0Xt4z3JTJ for ; Mon, 26 Jan 2026 09:33:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769420001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cYjFfvlKF3cPdltV/2+Exf6AqPFlRhYE7erb1PhI9fA=; b=VL1RKnYnHOQtxGBJw4Lym31M5vnDwIiXIsR8O9wZOGo0pgBK5PfRrF7tCAL8cF2y74aiXR tgNhiSI31Q4R3fi2j9cuaGK1mZSsqk9JQvUs88yvOgtAMnKiKk05IMwUYEPlmSNJEFsCwd wBBTbRKhJz7eCOxmtAXnDYigG7jXfxAkWA5DNuA3lJB1SzC9LfYJFJqLOL9Vf3ECS+tmgr xE8FvUrJxAzy14p6r3Pbn5yR/ah1wDa64J55MoLD8UIT3rylDzRon8AE8e2ugPCgBarqPi 2JBTNjN7cQerkty7KvdOLb5EVarxai+C5pHdPoeTXIpDJ49SUchNni0yYNBppA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769420001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cYjFfvlKF3cPdltV/2+Exf6AqPFlRhYE7erb1PhI9fA=; b=mBsv2cqMIAaS9lMoiyQ7R6vUwjy+FSn9xEMiIF2XmTB33u6qYPPpvmeWwXgwPfwFiP2Y+1 aLq4kRipgrDvDQPy0ANzMv4lLZG04/iHTy8YzaT7TxQzYpm3vM6EDRE4JdfOGlFBiS1ERf B9ZBM0KUvXqczf/Dy2REgtB2OZZPXDEMLARJd5gB9lSbpJ+PvHPQSpJEL1xOY7sJW0CmxZ SOuqPmdc+PoKpOoEMNEQ5DO9QmWqxmTyGsCk+GrtaBj7KCJ4AIKj70zgbmpo4EGWmbKQNk F2u8njpje/J8Ozzy11R9Baeq1lifzSVbdRFCQaO9WMyFDOhSJFpT7ZUbVzzFLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769420001; a=rsa-sha256; cv=none; b=MsBkVyPY93JbsH2D1y7ijinEcgvXGhMuZVZ+JVNyZ49RJ/BiMifwvqU/3OFmL8M0Lo1psl f8DG9prZl4AwxX7RNFjzoSxaXCGbrKfISPCh3E6dhg1ogi8+vaCq45vp7FRLMJSnBP0Z8J AVLNERjHGPQ8EZFPYz8RrVZHCOBGBt9u3vDdrfpMRVetHN/JU0BVvM8GDtxbQYK3K2auit Qqgk5uA0rncuRHxjdA/4xZfHM4nqeTFbpD7fpCr3IVmf3uW3RTfiT+UaPKVPcN+AxlMIn/ tyKIDRcXhARSrctSjxPFrGAUE2FxPd7eqO8FStrIsYFPP0rnMiKNBpxTHh5ozA== 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 4f03Hh6zVpzPr for ; Mon, 26 Jan 2026 09:33:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3523b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 09:33:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ahmad Khalifa Subject: git: 6ecaa8dfb64b - main - sys/module.h: allow MODULE_DEPEND to accept macros 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ecaa8dfb64b796085afdf597ec3a79878bde12f Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 09:33:20 +0000 Message-Id: <697734e0.3523b.477579cd@gitrepo.freebsd.org> The branch main has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=6ecaa8dfb64b796085afdf597ec3a79878bde12f commit 6ecaa8dfb64b796085afdf597ec3a79878bde12f Author: Ahmad Khalifa AuthorDate: 2026-01-26 09:27:59 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-26 09:32:10 +0000 sys/module.h: allow MODULE_DEPEND to accept macros Allow MODULE_DEPEND to accept macros by adding an extra level of indirection. Some drivers in the tree actually depend on this being the case. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54874 --- sys/sys/module.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/sys/module.h b/sys/sys/module.h index f749455bdf63..b4a08e2fc26f 100644 --- a/sys/sys/module.h +++ b/sys/sys/module.h @@ -116,15 +116,17 @@ struct mod_pnp_match_info }; \ DATA_SET(modmetadata_set, MODULE_METADATA_CONCAT(uniquifier)) +#define MODULE_DEPEND_CONCAT(module, mdepend) _##module##_depend_on_##mdepend #define MODULE_DEPEND(module, mdepend, vmin, vpref, vmax) \ - static struct mod_depend _##module##_depend_on_##mdepend \ + static struct mod_depend MODULE_DEPEND_CONCAT(module, mdepend) \ __section(".data") = { \ vmin, \ vpref, \ vmax \ }; \ - MODULE_METADATA(_md_##module##_on_##mdepend, MDT_DEPEND, \ - &_##module##_depend_on_##mdepend, #mdepend) + MODULE_METADATA(MODULE_DEPEND_CONCAT(module, mdepend), \ + MDT_DEPEND, &MODULE_DEPEND_CONCAT(module, mdepend), \ + __XSTRING(mdepend)) /* * Every kernel has a 'kernel' module with the version set to From nobody Mon Jan 26 09:33: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 4f03Hk2hkFz6Q13r for ; Mon, 26 Jan 2026 09:33: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 4f03Hk0sV4z3JR8 for ; Mon, 26 Jan 2026 09:33:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769420002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVNFy01B7LXFs0LaU3SVGfhdnIsDh2PXVL4QdHYQSvg=; b=Xf6KiESdFjzGd5MuAUjSWtgIXcnZq6pAOVd9PA57zrM/qDKMG0MAJtVBacw4Big2y0jRF+ 4IWpckUdm/7tIi8d0gAEsw2kngd1L+ceBJ4ERalvs4XAk01lgsbzd9uXa8qTamTOvFK61p 52KezrgUEIK0qQVxEz/yXGh4co0BUjH/+19GGA5dQQw5UP9g7gDAJdTHZqEjNb0ZBGKYcO B821ukLo7/j5lkM5Cqx25U4r20kaIXQyRzGMq7OrUfwg7+ivI/vNm7jt4sq11DEJxc+2fb ec9RNKGj/JHV83H/O1uwA/D93b5+LT5TpBAk8ppxBlhJi0K/6LVUmwVOAEijZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769420002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVNFy01B7LXFs0LaU3SVGfhdnIsDh2PXVL4QdHYQSvg=; b=Xja9a3CsE7BfNbBNkfUInzxIVqG3bhLj7a5chVmUTih++mWbK5M5y8xZTb6pwlwWf+oVim GC97VO+xluqLUDjRiVrPpxs5PCEKmSctFWrqMsU8EujDreF0mlvsJV76HKjRAIj5z6il2+ aKUeK1DCtgUesiREQTxj3m5yUZiX02pQxp9aIv6cUW0bAmrjJBcMdrSB4y/57e1+jIr8LE l5tMGtsi2g2fybkprhWNw6aIO+T1/YxneMjp3eqJK48BkGrvG4BLGl00Ix/BmNpm6eI2Pa 0oYDGuwFUBAe7LXtXzAraCQo1UtXpW8WaWsYklvTh9SwwKg6y1Jl/41bmuqpbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769420002; a=rsa-sha256; cv=none; b=Wydv/2C2dhA/Irc2D/wwXIwxdxAmSNBiQfUspyR6SQTNOkWCQy0pLaDLEoSXXRBqjvA5ck Ev5NTGnJZmTJKq+eHxFpSEjg/PGs0DXr8Iu+tDJtoor5ezQOimD/baN7VmTQU7MNCJViqh JTEuBrhgixMQA6MRiA4V2W8muWWMxB/V9RBNCc/aXPr97GDcf22Fs2+r4ssf0o8moYq+9+ J32XI3lPFcj23SFqjwHa+oHmdX+TvNt64m0uD90S+No6eN29KshGVjQlRI9vffCKPdgzqX y51GjBtP8S4bfG6EhTwHrcjz2Wz2d4DLG+z+yQ93sFQRfrcPR4Wdxh+De1B/7g== 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 4f03Hk0T1zzRm for ; Mon, 26 Jan 2026 09:33:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34248 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 09:33:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ahmad Khalifa Subject: git: c29e05113c00 - main - hpt: remove unnecessary macro expansion hacks 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c29e05113c000dc04552f8d21a92fd00c60d0a98 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 09:33:22 +0000 Message-Id: <697734e2.34248.27b3a5aa@gitrepo.freebsd.org> The branch main has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=c29e05113c000dc04552f8d21a92fd00c60d0a98 commit c29e05113c000dc04552f8d21a92fd00c60d0a98 Author: Ahmad Khalifa AuthorDate: 2026-01-26 09:28:08 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-26 09:32:10 +0000 hpt: remove unnecessary macro expansion hacks Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54875 --- sys/dev/hpt27xx/hpt27xx_osm_bsd.c | 10 +++------- sys/dev/hptmv/entry.c | 3 +-- sys/dev/hptnr/hptnr_osm_bsd.c | 10 +++------- sys/dev/hptrr/hptrr_osm_bsd.c | 10 +++------- 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/sys/dev/hpt27xx/hpt27xx_osm_bsd.c b/sys/dev/hpt27xx/hpt27xx_osm_bsd.c index e086a1554940..638efa9e2ae2 100644 --- a/sys/dev/hpt27xx/hpt27xx_osm_bsd.c +++ b/sys/dev/hpt27xx/hpt27xx_osm_bsd.c @@ -1271,13 +1271,9 @@ static driver_t hpt_pci_driver = { #error "no TARGETNAME found" #endif -/* use this to make TARGETNAME be expanded */ -#define __DRIVER_MODULE(p1, p2, p3, p4, p5) DRIVER_MODULE(p1, p2, p3, p4, p5) -#define __MODULE_VERSION(p1, p2) MODULE_VERSION(p1, p2) -#define __MODULE_DEPEND(p1, p2, p3, p4, p5) MODULE_DEPEND(p1, p2, p3, p4, p5) -__DRIVER_MODULE(TARGETNAME, pci, hpt_pci_driver, 0, 0); -__MODULE_VERSION(TARGETNAME, 1); -__MODULE_DEPEND(TARGETNAME, cam, 1, 1, 1); +DRIVER_MODULE(TARGETNAME, pci, hpt_pci_driver, NULL, NULL); +MODULE_VERSION(TARGETNAME, 1); +MODULE_DEPEND(TARGETNAME, cam, 1, 1, 1); static int hpt_open(struct cdev *dev, int flags, int devtype, struct thread *td) { diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c index f3d58f285b39..a82ffb66bdc8 100644 --- a/sys/dev/hptmv/entry.c +++ b/sys/dev/hptmv/entry.c @@ -95,8 +95,7 @@ static driver_t hpt_pci_driver = { sizeof(IAL_ADAPTER_T) }; -#define __DRIVER_MODULE(p1, p2, p3, p4, p5) DRIVER_MODULE(p1, p2, p3, p4, p5) -__DRIVER_MODULE(PROC_DIR_NAME, pci, hpt_pci_driver, 0, 0); +DRIVER_MODULE(PROC_DIR_NAME, pci, hpt_pci_driver, NULL, NULL); MODULE_DEPEND(PROC_DIR_NAME, cam, 1, 1, 1); #define ccb_ccb_ptr spriv_ptr0 diff --git a/sys/dev/hptnr/hptnr_osm_bsd.c b/sys/dev/hptnr/hptnr_osm_bsd.c index 7426873964fb..fa0f78a7e01a 100644 --- a/sys/dev/hptnr/hptnr_osm_bsd.c +++ b/sys/dev/hptnr/hptnr_osm_bsd.c @@ -1561,13 +1561,9 @@ static driver_t hpt_pci_driver = { #error "no TARGETNAME found" #endif -/* use this to make TARGETNAME be expanded */ -#define __DRIVER_MODULE(p1, p2, p3, p4, p5) DRIVER_MODULE(p1, p2, p3, p4, p5) -#define __MODULE_VERSION(p1, p2) MODULE_VERSION(p1, p2) -#define __MODULE_DEPEND(p1, p2, p3, p4, p5) MODULE_DEPEND(p1, p2, p3, p4, p5) -__DRIVER_MODULE(TARGETNAME, pci, hpt_pci_driver, 0, 0); -__MODULE_VERSION(TARGETNAME, 1); -__MODULE_DEPEND(TARGETNAME, cam, 1, 1, 1); +DRIVER_MODULE(TARGETNAME, pci, hpt_pci_driver, NULL, NULL); +MODULE_VERSION(TARGETNAME, 1); +MODULE_DEPEND(TARGETNAME, cam, 1, 1, 1); static int hpt_open(struct cdev *dev, int flags, int devtype, struct thread *td) { diff --git a/sys/dev/hptrr/hptrr_osm_bsd.c b/sys/dev/hptrr/hptrr_osm_bsd.c index 78a051d54cf8..f4ae6732ea5d 100644 --- a/sys/dev/hptrr/hptrr_osm_bsd.c +++ b/sys/dev/hptrr/hptrr_osm_bsd.c @@ -1204,13 +1204,9 @@ static driver_t hpt_pci_driver = { #error "no TARGETNAME found" #endif -/* use this to make TARGETNAME be expanded */ -#define __DRIVER_MODULE(p1, p2, p3, p4, p5) DRIVER_MODULE(p1, p2, p3, p4, p5) -#define __MODULE_VERSION(p1, p2) MODULE_VERSION(p1, p2) -#define __MODULE_DEPEND(p1, p2, p3, p4, p5) MODULE_DEPEND(p1, p2, p3, p4, p5) -__DRIVER_MODULE(TARGETNAME, pci, hpt_pci_driver, 0, 0); -__MODULE_VERSION(TARGETNAME, 1); -__MODULE_DEPEND(TARGETNAME, cam, 1, 1, 1); +DRIVER_MODULE(TARGETNAME, pci, hpt_pci_driver, NULL, NULL); +MODULE_VERSION(TARGETNAME, 1); +MODULE_DEPEND(TARGETNAME, cam, 1, 1, 1); static int hpt_open(struct cdev *dev, int flags, int devtype, struct thread *td) { From nobody Mon Jan 26 12:02: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 4f06bG2zDZz6QBNb for ; Mon, 26 Jan 2026 12:02: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 4f06bG2K0Nz3bPc for ; Mon, 26 Jan 2026 12:02:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769428922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dLtkH0bInsadNDoxjWzOYrg8ihv193LrVs87jRhTWdw=; b=rl9pNviC54lBvewyvxHA+Ug/MRw1JSExJU6PIlYlFsHbfa/7m14TTIM8WDwV0mK7lU0zKB kmtx65gAepGVFC6MWEnJjg7qqbWNNxDOtkkO9rxNwZACioU4LbI9p5cbjfQHJ24vsA8h8h L5ep7ku9xZfRVhz6Fth7sQ3rGnzYZEK9RnjIvhL6xAcrA1YuS+G3paudbodbz7QXRlsgqf Eo3/vi1TPcB/pZ6ofXMbCOqA5g+l1BsQULTmVoknCxEbdd3tK1MMsOo2SwmjLJvpO6GjYs gVkR8zUOr+WFYS9FUJNuToAcmd1Qar+hNpUkOI8o8cxF/iMMH9iUKnm6QoiM8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769428922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dLtkH0bInsadNDoxjWzOYrg8ihv193LrVs87jRhTWdw=; b=BKPMOo3dy99V0SnTJl8R9fz2LDot1kwtmpsQLfjfo3eg6NxUBwohtiPDyseEwJQPae2Km5 YTBagnVVtoXXnoXwW/HgL8rRB5dY4a75bDcMRdTFd3iTQKD6W+COIYiiRQ/leD5mtJuq9J Onk9YM3hyVr/5KJrxKvLnzU9zFekYBQL3OdWb+LdSiXvcLiAf9R/hx+gMe+9YuMCh27S2m Zt+RdmcN948NtndvAGnIzuWTr9ScwlQP6v00NgDrAuWLutUH2OFOi5p+a4EGj5RZwCHfPd zQhyBBfOmkvyiWtTYBHV+j4MwlHdizr7iKYZpx5tPQsd6WGuqOEOtTv+lXPdIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769428922; a=rsa-sha256; cv=none; b=Crv2vX2pGnvQLHxtPlhXrK6zRbLz5TTwXph+Cjxh1zxLHtpRUCC8guu9Hch9JfkdjIE4IZ nvkVaP9fmRYfE4nSWmSo/UZRABJJBn9ip5T7xqQg0KL7K/UOt8mHstYWWBYEW74gONHU96 KwcgiE/6v3iUTKERReKNx6cYlKJkpry1X0lIF0BIK8sRpjaLpGZpSWJaByBL8EDXXXV6lp FEeyDogL2zF2Lqs+OKhLsqH749TaQApdtyH3N+cvtTjlbNlaCcQr4u4TyaiHdqQ7KfTkEZ 5Fy9lKB5pAwAMcgIpzTQzWRPv6wyOP+ofk4GdCIsZ+hS/uLtZQtUUeM1HAvShQ== 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 4f06bG1wW4z4bK for ; Mon, 26 Jan 2026 12:02:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b040 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 12:02:02 +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: a11d132f6c62 - main - devstat: Provide 32-bit compatibility 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: a11d132f6c62f32abe44b19f7527d97ddc239058 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 12:02:02 +0000 Message-Id: <697757ba.b040.558a1a55@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a11d132f6c62f32abe44b19f7527d97ddc239058 commit a11d132f6c62f32abe44b19f7527d97ddc239058 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-26 12:01:39 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-26 12:01:59 +0000 devstat: Provide 32-bit compatibility If a 32-bit process running on a 64-bit kernel requests kern.devstat.all, translate each struct devstat to its 32-bit equivalent before copying it out. Also fix a bug where an early error would be ignored if there were no devices to report. MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D54591 --- sys/compat/freebsd32/freebsd32.h | 27 +++++++++++++++++++ sys/kern/subr_devstat.c | 56 +++++++++++++++++++++++++++++++++++----- 2 files changed, 76 insertions(+), 7 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h index 7d21a5be5570..a8d54290980d 100644 --- a/sys/compat/freebsd32/freebsd32.h +++ b/sys/compat/freebsd32/freebsd32.h @@ -29,7 +29,10 @@ #ifndef _COMPAT_FREEBSD32_FREEBSD32_H_ #define _COMPAT_FREEBSD32_FREEBSD32_H_ +#include #include +#include +#include #include #include #include @@ -540,4 +543,28 @@ struct ptrace_sc_remote32 { uint32_t pscr_args; }; +struct devstat32 { + u_int sequence0; + int allocated; + u_int start_count; + u_int end_count; + struct bintime32 busy_from; + struct { u_int32_t stqe_next; } dev_links; + u_int32_t device_number; + char device_name[DEVSTAT_NAME_LEN]; + int unit_number; + freebsd32_uint64_t bytes[DEVSTAT_N_TRANS_FLAGS]; + freebsd32_uint64_t operations[DEVSTAT_N_TRANS_FLAGS]; + struct bintime32 duration[DEVSTAT_N_TRANS_FLAGS]; + struct bintime32 busy_time; + struct bintime32 creation_time; + u_int32_t block_size; + freebsd32_uint64_t tag_types[3]; + devstat_support_flags flags; + devstat_type_flags device_type; + devstat_priority priority; + u_int32_t id; + u_int sequence1; +}; + #endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */ diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c index c4d0223d484f..c62df0e210e1 100644 --- a/sys/kern/subr_devstat.c +++ b/sys/kern/subr_devstat.c @@ -43,6 +43,10 @@ #include #include +#ifdef COMPAT_FREEBSD32 +#include +#endif + #include SDT_PROVIDER_DEFINE(io); @@ -398,25 +402,63 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) */ mygen = devstat_generation; - error = SYSCTL_OUT(req, &mygen, sizeof(mygen)); - - if (devstat_num_devs == 0) - return(0); +#ifdef COMPAT_FREEBSD32 + if ((req->flags & SCTL_MASK32) != 0) { + int32_t mygen32 = (int32_t)mygen; + error = SYSCTL_OUT(req, &mygen32, sizeof(mygen32)); + } else +#endif /* COMPAT_FREEBSD32 */ + error = SYSCTL_OUT(req, &mygen, sizeof(mygen)); if (error != 0) return (error); + if (devstat_num_devs == 0) + return(0); + mtx_lock(&devstat_mutex); nds = STAILQ_FIRST(&device_statq); if (mygen != devstat_generation) error = EBUSY; mtx_unlock(&devstat_mutex); - if (error != 0) return (error); while (nds != NULL) { - error = SYSCTL_OUT(req, nds, sizeof(struct devstat)); +#ifdef COMPAT_FREEBSD32 + if ((req->flags & SCTL_MASK32) != 0) { + struct devstat32 ds32; + unsigned int i; + + CP(*nds, ds32, sequence0); + CP(*nds, ds32, allocated); + CP(*nds, ds32, start_count); + CP(*nds, ds32, end_count); + BT_CP(*nds, ds32, busy_from); + PTROUT_CP(*nds, ds32, dev_links.stqe_next); + CP(*nds, ds32, device_number); + strcpy(ds32.device_name, nds->device_name); + CP(*nds, ds32, unit_number); + for (i = 0; i < DEVSTAT_N_TRANS_FLAGS; i++) { + FU64_CP(*nds, ds32, bytes[i]); + FU64_CP(*nds, ds32, operations[i]); + BT_CP(*nds, ds32, duration[i]); + } + BT_CP(*nds, ds32, busy_time); + BT_CP(*nds, ds32, creation_time); + CP(*nds, ds32, block_size); + for (i = 0; i < nitems(ds32.tag_types); i++) { + FU64_CP(*nds, ds32, tag_types[i]); + } + CP(*nds, ds32, flags); + CP(*nds, ds32, device_type); + CP(*nds, ds32, priority); + PTROUT_CP(*nds, ds32, id); + CP(*nds, ds32, sequence1); + error = SYSCTL_OUT(req, &ds32, sizeof(ds32)); + } else +#endif /* COMPAT_FREEBSD32 */ + error = SYSCTL_OUT(req, nds, sizeof(*nds)); if (error != 0) return (error); mtx_lock(&devstat_mutex); @@ -428,7 +470,7 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) if (error != 0) return (error); } - return(error); + return (error); } /* From nobody Mon Jan 26 13:42: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 4f08qg0NxYz6QJ7V for ; Mon, 26 Jan 2026 13:42: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 4f08qf6Vfjz3lSJ for ; Mon, 26 Jan 2026 13:42:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769434974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b4i6pLdH1PeeWS3upbN4feBGcvHhNsyacLwqgyK2oXw=; b=tLwYS0kETU4xfMOy/1H2OKbnhJglrzRuXkPg/g+yFUbdP8CG4JJGZWZ2RrbKY7Kdn0p+nr uxnJnnNNw10bmGauVFuwyMMp6c8yJA2sYaqOUrf864LjYFUSexjPa/RiqgYD55FuKshg0k ruUYk6f/vonXJplV8OqxnmM3GBHUBkxVSa/FUa4hHdrTiBue04I22AfvFWmszoy2HMExDz cmf3xoLI3kaxuR8eLlsd/9ek5kp7gYC1EWR+S+Oj1KpXOwJu+zOaJeA63qmgg6rQwS9yVl lD47OMXzC+ZBiPeAToGYpOb+37Ai7uQRFwna+K/W+jVFZB/mAfGLGMSn96bfiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769434974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b4i6pLdH1PeeWS3upbN4feBGcvHhNsyacLwqgyK2oXw=; b=futZwNi1wEZfkeZ458jTQSyzS3Wg4ezLjpYG0zd3vXigcAwTOXJVvxFnBWicPGldD8vZEG 5RsCqZrcUDqiqICv36glvlVlsycfBSn9B+BrGV/xXCJkf0xFp7Y31GUT8ulpWepKZNYDV0 V/p8ZFD80g7K8qLGj+N/+eg9rpFHYiMEr5BlFWXI4nzbpBZ2bF71JL81DXWt+Ff1u2AuS3 S0QEYSChqcUgXRrULMijVjsl5aPnqlp/F358EI6Pxcf0a4rgpEI4AQc/QDmxU9eFdXO8Ad 8N1BX9M3Oh8fBRupWWsOpgDuCEOWw3lgwBIyf1TkVIp/ovbNNogWyvezpUyCHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769434974; a=rsa-sha256; cv=none; b=UeSV7FfPCDr/naBMjLtR/ubwi8lf4NwGT+ig5/4yyj1NXvkg7YC1utQ3lUKa50TpTBvNDy QqiksGkE+soNrTfFT6SDxgqRqyLlol/8MSRMvZkpbTY5NrsC1C7FukMBg4BlB5Yic/a14O v1wln784BxqXBSdE90Y+1CXuh190zhtvIQCiR/B8/TG1U8/6ybmZ2jTpDoerEYkWdv53CY uE2hgR/n+MehKRDFuOSKz/P/o6Xp+bgnmRZ8bMGUmALq7BSVPuJo3Y5NqZoXAIDY1YrYu/ B7cIAf7RjUHfshZ1dklVtur5NIPWjPXYPgw9mC4GZT7JnFIbYHT14fHIszg3QA== 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 4f08qf61tXz7dX for ; Mon, 26 Jan 2026 13:42:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2500f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 13:42:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: c5daa5a4c32c - main - acpi_spmc: Add system power management controller driver 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: c5daa5a4c32c9b1ecb506ddf1a80579c93c3ea6d Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 13:42:54 +0000 Message-Id: <69776f5e.2500f.227efeb7@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=c5daa5a4c32c9b1ecb506ddf1a80579c93c3ea6d commit c5daa5a4c32c9b1ecb506ddf1a80579c93c3ea6d Author: Aymeric Wibo AuthorDate: 2025-06-14 15:30:44 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-26 13:42:11 +0000 acpi_spmc: Add system power management controller driver Add SPMC (system power management controller) driver as acpi_spmc. This is the device which provides the LPI device D-state constraints and allows for OSPM to send S0ix/modern standby entry/exit notifications. This supports the original Intel DSM (https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf, untested), the AMD DSM (tested), and the Microsoft DSM (tested). Before entry, acpi_spmc_check_constraints is called to notify of any violated power constraints. This will use acpi_pwr_get_state to get current device D-states when that gets added back. Reviewed by: olce Tested by: jkim, Oleksandr Kryvulia, Matthias Lanter Approved by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48387 --- share/man/man4/acpi.4 | 4 +- sys/conf/files | 1 + sys/dev/acpica/acpi.c | 1 + sys/dev/acpica/acpi_spmc.c | 618 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 623 insertions(+), 1 deletion(-) diff --git a/share/man/man4/acpi.4 b/share/man/man4/acpi.4 index cdad3ceeedfc..9c24635c561d 100644 --- a/share/man/man4/acpi.4 +++ b/share/man/man4/acpi.4 @@ -486,10 +486,12 @@ Embedded controller driver Fan driver .It Li ACPI_OEM Platform-specific driver for hotkeys, LED, etc. -.It Li ACPI_POWER +.It Li ACPI_POWERRES Power resource driver .It Li ACPI_PROCESSOR CPU driver +.It Li ACPI_SPMC +System power management controller driver .It Li ACPI_THERMAL Thermal zone driver .It Li ACPI_TIMER diff --git a/sys/conf/files b/sys/conf/files index 66b84fea1bc0..97834f05431d 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -776,6 +776,7 @@ dev/acpica/acpi_thermal.c optional acpi dev/acpica/acpi_throttle.c optional acpi dev/acpica/acpi_video.c optional acpi_video acpi dev/acpica/acpi_dock.c optional acpi_dock acpi +dev/acpica/acpi_spmc.c optional acpi dev/adlink/adlink.c optional adlink dev/ae/if_ae.c optional ae pci dev/age/if_age.c optional age pci diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index c76bc8477537..e43ef72ca9d2 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -4618,6 +4618,7 @@ static struct debugtag dbg_layer[] = { {"ACPI_FAN", ACPI_FAN}, {"ACPI_POWERRES", ACPI_POWERRES}, {"ACPI_PROCESSOR", ACPI_PROCESSOR}, + {"ACPI_SPMC", ACPI_SPMC}, {"ACPI_THERMAL", ACPI_THERMAL}, {"ACPI_TIMER", ACPI_TIMER}, {"ACPI_ALL_DRIVERS", ACPI_ALL_DRIVERS}, diff --git a/sys/dev/acpica/acpi_spmc.c b/sys/dev/acpica/acpi_spmc.c new file mode 100644 index 000000000000..57593d9ccae1 --- /dev/null +++ b/sys/dev/acpica/acpi_spmc.c @@ -0,0 +1,618 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * This software was developed by Aymeric Wibo + * under sponsorship from the FreeBSD Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +/* Hooks for the ACPI CA debugging infrastructure */ +#define _COMPONENT ACPI_SPMC +ACPI_MODULE_NAME("SPMC") + +static SYSCTL_NODE(_debug_acpi, OID_AUTO, spmc, CTLFLAG_RD | CTLFLAG_MPSAFE, + NULL, "SPMC debugging"); + +static char *spmc_ids[] = { + "PNP0D80", + NULL +}; + +enum intel_dsm_index { + DSM_ENUM_FUNCTIONS = 0, + DSM_GET_DEVICE_CONSTRAINTS = 1, + DSM_GET_CRASH_DUMP_DEVICE = 2, + DSM_DISPLAY_OFF_NOTIF = 3, + DSM_DISPLAY_ON_NOTIF = 4, + DSM_ENTRY_NOTIF = 5, + DSM_EXIT_NOTIF = 6, + /* Only for Microsoft DSM set. */ + DSM_MODERN_ENTRY_NOTIF = 7, + DSM_MODERN_EXIT_NOTIF = 8, +}; + +enum amd_dsm_index { + AMD_DSM_ENUM_FUNCTIONS = 0, + AMD_DSM_GET_DEVICE_CONSTRAINTS = 1, + AMD_DSM_ENTRY_NOTIF = 2, + AMD_DSM_EXIT_NOTIF = 3, + AMD_DSM_DISPLAY_OFF_NOTIF = 4, + AMD_DSM_DISPLAY_ON_NOTIF = 5, +}; + +enum dsm_set_flags { + DSM_SET_INTEL = 1 << 0, + DSM_SET_MS = 1 << 1, + DSM_SET_AMD = 1 << 2, +}; + +struct dsm_set { + enum dsm_set_flags flag; + const char *name; + int revision; + struct uuid uuid; + uint64_t dsms_expected; +}; + +static struct dsm_set intel_dsm_set = { + .flag = DSM_SET_INTEL, + .name = "Intel", + /* + * XXX Linux uses 1 for the revision on Intel DSMs, but doesn't explain + * why. The commit that introduces this links to a document mentioning + * revision 0, so default this to 0. + * + * The debug.acpi.spmc.intel_dsm_revision sysctl may be used to configure + * this just in case. + */ + .revision = 0, + .uuid = { /* c4eb40a0-6cd2-11e2-bcfd-0800200c9a66 */ + 0xc4eb40a0, 0x6cd2, 0x11e2, 0xbc, 0xfd, + {0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66}, + }, + .dsms_expected = DSM_GET_DEVICE_CONSTRAINTS | DSM_DISPLAY_OFF_NOTIF | + DSM_DISPLAY_ON_NOTIF | DSM_ENTRY_NOTIF | DSM_EXIT_NOTIF, +}; + +SYSCTL_INT(_debug_acpi_spmc, OID_AUTO, intel_dsm_revision, CTLFLAG_RW, + &intel_dsm_set.revision, 0, + "Revision to use when evaluating Intel SPMC DSMs"); + +static struct dsm_set ms_dsm_set = { + .flag = DSM_SET_MS, + .name = "Microsoft", + .revision = 0, + .uuid = { /* 11e00d56-ce64-47ce-837b-1f898f9aa461 */ + 0x11e00d56, 0xce64, 0x47ce, 0x83, 0x7b, + {0x1f, 0x89, 0x8f, 0x9a, 0xa4, 0x61}, + }, + .dsms_expected = DSM_DISPLAY_OFF_NOTIF | DSM_DISPLAY_ON_NOTIF | + DSM_ENTRY_NOTIF | DSM_EXIT_NOTIF | DSM_MODERN_ENTRY_NOTIF | + DSM_MODERN_EXIT_NOTIF, +}; + +static struct dsm_set amd_dsm_set = { + .flag = DSM_SET_AMD, + .name = "AMD", + /* + * XXX Linux uses 0 for the revision on AMD DSMs, but at least on the + * Framework 13 AMD 7040 series, the enum functions DSM only returns a + * function mask that covers all the DSMs we need to call when called + * with revision 2. + * + * The debug.acpi.spmc.amd_dsm_revision sysctl may be used to configure + * this just in case. + */ + .revision = 2, + .uuid = { /* e3f32452-febc-43ce-9039-932122d37721 */ + 0xe3f32452, 0xfebc, 0x43ce, 0x90, 0x39, + {0x93, 0x21, 0x22, 0xd3, 0x77, 0x21}, + }, + .dsms_expected = AMD_DSM_GET_DEVICE_CONSTRAINTS | AMD_DSM_ENTRY_NOTIF | + AMD_DSM_EXIT_NOTIF | AMD_DSM_DISPLAY_OFF_NOTIF | + AMD_DSM_DISPLAY_ON_NOTIF, +}; + +SYSCTL_INT(_debug_acpi_spmc, OID_AUTO, amd_dsm_revision, CTLFLAG_RW, + &amd_dsm_set.revision, 0, "Revision to use when evaluating AMD SPMC DSMs"); + +union dsm_index { + int i; + enum intel_dsm_index regular; + enum amd_dsm_index amd; +}; + +struct acpi_spmc_constraint { + bool enabled; + char *name; + int min_d_state; + ACPI_HANDLE handle; + + /* Unused, spec only. */ + uint64_t lpi_uid; + uint64_t min_dev_specific_state; + + /* Unused, AMD only. */ + uint64_t function_states; +}; + +struct acpi_spmc_softc { + device_t dev; + ACPI_HANDLE handle; + ACPI_OBJECT *obj; + enum dsm_set_flags dsm_sets; + + bool constraints_populated; + size_t constraint_count; + struct acpi_spmc_constraint *constraints; +}; + +static void acpi_spmc_check_dsm_set(struct acpi_spmc_softc *sc, + ACPI_HANDLE handle, struct dsm_set *dsm_set); +static int acpi_spmc_get_constraints(device_t dev); +static void acpi_spmc_free_constraints(struct acpi_spmc_softc *sc); + +static int +acpi_spmc_probe(device_t dev) +{ + char *name; + ACPI_HANDLE handle; + struct acpi_spmc_softc *sc; + + /* Check that this is an enabled device. */ + if (acpi_get_type(dev) != ACPI_TYPE_DEVICE || acpi_disabled("spmc")) + return (ENXIO); + + if (ACPI_ID_PROBE(device_get_parent(dev), dev, spmc_ids, &name) > 0) + return (ENXIO); + + handle = acpi_get_handle(dev); + if (handle == NULL) + return (ENXIO); + + sc = device_get_softc(dev); + + /* Check which sets of DSM's are supported. */ + sc->dsm_sets = 0; + + acpi_spmc_check_dsm_set(sc, handle, &intel_dsm_set); + acpi_spmc_check_dsm_set(sc, handle, &ms_dsm_set); + acpi_spmc_check_dsm_set(sc, handle, &amd_dsm_set); + + if (sc->dsm_sets == 0) + return (ENXIO); + + device_set_descf(dev, "Low Power S0 Idle (DSM sets 0x%x)", + sc->dsm_sets); + + return (0); +} + +static int +acpi_spmc_attach(device_t dev) +{ + struct acpi_spmc_softc *sc; + + sc = device_get_softc(dev); + sc->dev = dev; + + sc->handle = acpi_get_handle(dev); + if (sc->handle == NULL) + return (ENXIO); + + sc->constraints_populated = false; + sc->constraint_count = 0; + sc->constraints = NULL; + + /* Get device constraints. We can only call this once so do this now. */ + acpi_spmc_get_constraints(sc->dev); + + return (0); +} + +static int +acpi_spmc_detach(device_t dev) +{ + acpi_spmc_free_constraints(device_get_softc(dev)); + return (0); +} + +static void +acpi_spmc_check_dsm_set(struct acpi_spmc_softc *sc, ACPI_HANDLE handle, + struct dsm_set *dsm_set) +{ + const uint64_t dsms_supported = acpi_DSMQuery(handle, + (uint8_t *)&dsm_set->uuid, dsm_set->revision); + + /* + * Check if DSM set supported at all. We do this by checking the + * existence of "enum functions". + */ + if ((dsms_supported & 1) == 0) + return; + if ((dsms_supported & dsm_set->dsms_expected) + != dsm_set->dsms_expected) { + device_printf(sc->dev, "DSM set %s does not support expected " + "DSMs (0x%lx vs 0x%lx). Some methods may fail.\n", + dsm_set->name, dsms_supported, dsm_set->dsms_expected); + } + sc->dsm_sets |= dsm_set->flag; +} + +static void +acpi_spmc_free_constraints(struct acpi_spmc_softc *sc) +{ + if (sc->constraints == NULL) + return; + + for (size_t i = 0; i < sc->constraint_count; i++) { + if (sc->constraints[i].name != NULL) + free(sc->constraints[i].name, M_TEMP); + } + + free(sc->constraints, M_TEMP); + sc->constraints = NULL; +} + +static int +acpi_spmc_get_constraints_spec(struct acpi_spmc_softc *sc, ACPI_OBJECT *object) +{ + struct acpi_spmc_constraint *constraint; + int revision; + ACPI_OBJECT *constraint_obj; + ACPI_OBJECT *name_obj; + ACPI_OBJECT *detail; + ACPI_OBJECT *constraint_package; + + KASSERT(sc->constraints_populated == false, + ("constraints already populated")); + + sc->constraint_count = object->Package.Count; + sc->constraints = malloc(sc->constraint_count * sizeof *sc->constraints, + M_TEMP, M_WAITOK | M_ZERO); + + /* + * The value of sc->constraint_count can change during the loop, so + * iterate until object->Package.Count so we actually go over all + * elements in the package. + */ + for (size_t i = 0; i < object->Package.Count; i++) { + constraint_obj = &object->Package.Elements[i]; + constraint = &sc->constraints[i]; + + constraint->enabled = + constraint_obj->Package.Elements[1].Integer.Value; + + name_obj = &constraint_obj->Package.Elements[0]; + constraint->name = strdup(name_obj->String.Pointer, M_TEMP); + if (constraint->name == NULL) { + acpi_spmc_free_constraints(sc); + return (ENOMEM); + } + + /* + * The first element in the device constraint detail package is + * the revision, and should always be zero. + */ + revision = constraint_obj->Package.Elements[0].Integer.Value; + if (revision != 0) { + device_printf(sc->dev, "Unknown revision %d for " + "device constraint detail package\n", revision); + sc->constraint_count--; + continue; + } + + detail = &constraint_obj->Package.Elements[2]; + constraint_package = &detail->Package.Elements[1]; + + constraint->lpi_uid = + constraint_package->Package.Elements[0].Integer.Value; + constraint->min_d_state = + constraint_package->Package.Elements[1].Integer.Value; + constraint->min_dev_specific_state = + constraint_package->Package.Elements[2].Integer.Value; + } + + sc->constraints_populated = true; + return (0); +} + +static int +acpi_spmc_get_constraints_amd(struct acpi_spmc_softc *sc, ACPI_OBJECT *object) +{ + size_t constraint_count; + ACPI_OBJECT *constraint_obj; + ACPI_OBJECT *constraints; + struct acpi_spmc_constraint *constraint; + ACPI_OBJECT *name_obj; + + KASSERT(sc->constraints_populated == false, + ("constraints already populated")); + + /* + * First element in the package is unknown. + * Second element is the number of device constraints. + * Third element is the list of device constraints itself. + */ + constraint_count = object->Package.Elements[1].Integer.Value; + constraints = &object->Package.Elements[2]; + + if (constraints->Package.Count != constraint_count) { + device_printf(sc->dev, "constraint count mismatch (%d to %zu)\n", + constraints->Package.Count, constraint_count); + return (ENXIO); + } + + sc->constraint_count = constraint_count; + sc->constraints = malloc(constraint_count * sizeof *sc->constraints, + M_TEMP, M_WAITOK | M_ZERO); + + for (size_t i = 0; i < constraint_count; i++) { + /* Parse the constraint package. */ + constraint_obj = &constraints->Package.Elements[i]; + if (constraint_obj->Package.Count != 4) { + device_printf(sc->dev, "constraint %zu has %d elements\n", + i, constraint_obj->Package.Count); + acpi_spmc_free_constraints(sc); + return (ENXIO); + } + + constraint = &sc->constraints[i]; + constraint->enabled = + constraint_obj->Package.Elements[0].Integer.Value; + + name_obj = &constraint_obj->Package.Elements[1]; + constraint->name = strdup(name_obj->String.Pointer, M_TEMP); + if (constraint->name == NULL) { + acpi_spmc_free_constraints(sc); + return (ENOMEM); + } + + constraint->function_states = + constraint_obj->Package.Elements[2].Integer.Value; + constraint->min_d_state = + constraint_obj->Package.Elements[3].Integer.Value; + } + + sc->constraints_populated = true; + return (0); +} + +static int +acpi_spmc_get_constraints(device_t dev) +{ + struct acpi_spmc_softc *sc; + union dsm_index dsm_index; + struct dsm_set *dsm_set; + ACPI_STATUS status; + ACPI_BUFFER result; + ACPI_OBJECT *object; + bool is_amd; + int rv; + struct acpi_spmc_constraint *constraint; + + sc = device_get_softc(dev); + if (sc->constraints_populated) + return (0); + + /* The Microsoft DSM set doesn't have this DSM. */ + is_amd = (sc->dsm_sets & DSM_SET_AMD) != 0; + if (is_amd) { + dsm_set = &amd_dsm_set; + dsm_index.amd = AMD_DSM_GET_DEVICE_CONSTRAINTS; + } else { + dsm_set = &intel_dsm_set; + dsm_index.regular = DSM_GET_DEVICE_CONSTRAINTS; + } + + /* XXX It seems like this DSM fails if called more than once. */ + status = acpi_EvaluateDSMTyped(sc->handle, (uint8_t *)&dsm_set->uuid, + dsm_set->revision, dsm_index.i, NULL, &result, + ACPI_TYPE_PACKAGE); + if (ACPI_FAILURE(status)) { + device_printf(dev, "%s failed to call %s DSM %d (rev %d)\n", + __func__, dsm_set->name, dsm_index.i, dsm_set->revision); + return (ENXIO); + } + + object = (ACPI_OBJECT *)result.Pointer; + if (is_amd) + rv = acpi_spmc_get_constraints_amd(sc, object); + else + rv = acpi_spmc_get_constraints_spec(sc, object); + AcpiOsFree(object); + if (rv != 0) + return (rv); + + /* Get handles for each constraint device. */ + for (size_t i = 0; i < sc->constraint_count; i++) { + constraint = &sc->constraints[i]; + + status = acpi_GetHandleInScope(sc->handle, + __DECONST(char *, constraint->name), &constraint->handle); + if (ACPI_FAILURE(status)) { + device_printf(dev, "failed to get handle for %s\n", + constraint->name); + constraint->handle = NULL; + } + } + return (0); +} + +static void +acpi_spmc_check_constraints(struct acpi_spmc_softc *sc) +{ + bool violation = false; + + KASSERT(sc->constraints_populated, ("constraints not populated")); + for (size_t i = 0; i < sc->constraint_count; i++) { + struct acpi_spmc_constraint *constraint = &sc->constraints[i]; + + if (!constraint->enabled) + continue; + if (constraint->handle == NULL) + continue; + + ACPI_STATUS status = acpi_GetHandleInScope(sc->handle, + __DECONST(char *, constraint->name), &constraint->handle); + if (ACPI_FAILURE(status)) { + device_printf(sc->dev, "failed to get handle for %s\n", + constraint->name); + constraint->handle = NULL; + } + if (constraint->handle == NULL) + continue; + +#ifdef notyet + int d_state; + if (ACPI_FAILURE(acpi_pwr_get_state(constraint->handle, &d_state))) + continue; + if (d_state < constraint->min_d_state) { + device_printf(sc->dev, "constraint for device %s" + " violated (minimum D-state required was %s, actual" + " D-state is %s), might fail to enter LPI state\n", + constraint->name, + acpi_d_state_to_str(constraint->min_d_state), + acpi_d_state_to_str(d_state)); + violation = true; + } +#endif + } + if (!violation) + device_printf(sc->dev, + "all device power constraints respected!\n"); +} + +static void +acpi_spmc_run_dsm(device_t dev, struct dsm_set *dsm_set, int index) +{ + struct acpi_spmc_softc *sc; + ACPI_STATUS status; + ACPI_BUFFER result; + + sc = device_get_softc(dev); + + status = acpi_EvaluateDSMTyped(sc->handle, (uint8_t *)&dsm_set->uuid, + dsm_set->revision, index, NULL, &result, ACPI_TYPE_ANY); + + if (ACPI_FAILURE(status)) { + device_printf(dev, "%s failed to call %s DSM %d (rev %d)\n", + __func__, dsm_set->name, index, dsm_set->revision); + return; + } + + AcpiOsFree(result.Pointer); +} + +/* + * Try running the DSMs from all the DSM sets we have, as them failing costs us + * nothing, and it seems like on AMD platforms, both the AMD entry and Microsoft + * "modern" DSM's are required for it to enter modern standby. + * + * This is what Linux does too. + */ +static void +acpi_spmc_display_off_notif(device_t dev) +{ + struct acpi_spmc_softc *sc = device_get_softc(dev); + + if ((sc->dsm_sets & DSM_SET_INTEL) != 0) + acpi_spmc_run_dsm(dev, &intel_dsm_set, DSM_DISPLAY_OFF_NOTIF); + if ((sc->dsm_sets & DSM_SET_MS) != 0) + acpi_spmc_run_dsm(dev, &ms_dsm_set, DSM_DISPLAY_OFF_NOTIF); + if ((sc->dsm_sets & DSM_SET_AMD) != 0) + acpi_spmc_run_dsm(dev, &amd_dsm_set, AMD_DSM_DISPLAY_OFF_NOTIF); +} + +static void +acpi_spmc_display_on_notif(device_t dev) +{ + struct acpi_spmc_softc *sc = device_get_softc(dev); + + if ((sc->dsm_sets & DSM_SET_INTEL) != 0) + acpi_spmc_run_dsm(dev, &intel_dsm_set, DSM_DISPLAY_ON_NOTIF); + if ((sc->dsm_sets & DSM_SET_MS) != 0) + acpi_spmc_run_dsm(dev, &ms_dsm_set, DSM_DISPLAY_ON_NOTIF); + if ((sc->dsm_sets & DSM_SET_AMD) != 0) + acpi_spmc_run_dsm(dev, &amd_dsm_set, AMD_DSM_DISPLAY_ON_NOTIF); +} + +static void +acpi_spmc_entry_notif(device_t dev) +{ + struct acpi_spmc_softc *sc = device_get_softc(dev); + + acpi_spmc_check_constraints(sc); + + if ((sc->dsm_sets & DSM_SET_AMD) != 0) + acpi_spmc_run_dsm(dev, &amd_dsm_set, AMD_DSM_ENTRY_NOTIF); + if ((sc->dsm_sets & DSM_SET_MS) != 0) { + acpi_spmc_run_dsm(dev, &ms_dsm_set, DSM_MODERN_ENTRY_NOTIF); + acpi_spmc_run_dsm(dev, &ms_dsm_set, DSM_ENTRY_NOTIF); + } + if ((sc->dsm_sets & DSM_SET_INTEL) != 0) + acpi_spmc_run_dsm(dev, &intel_dsm_set, DSM_ENTRY_NOTIF); +} + +static void +acpi_spmc_exit_notif(device_t dev) +{ + struct acpi_spmc_softc *sc = device_get_softc(dev); + + if ((sc->dsm_sets & DSM_SET_INTEL) != 0) + acpi_spmc_run_dsm(dev, &intel_dsm_set, DSM_EXIT_NOTIF); + if ((sc->dsm_sets & DSM_SET_AMD) != 0) + acpi_spmc_run_dsm(dev, &amd_dsm_set, AMD_DSM_EXIT_NOTIF); + if ((sc->dsm_sets & DSM_SET_MS) != 0) { + acpi_spmc_run_dsm(dev, &ms_dsm_set, DSM_EXIT_NOTIF); + acpi_spmc_run_dsm(dev, &ms_dsm_set, DSM_MODERN_EXIT_NOTIF); + } +} + +static int +acpi_spmc_suspend(device_t dev) +{ + acpi_spmc_display_off_notif(dev); + acpi_spmc_entry_notif(dev); + + return (0); +} + +static int +acpi_spmc_resume(device_t dev) +{ + acpi_spmc_exit_notif(dev); + acpi_spmc_display_on_notif(dev); + + return (0); +} + +static device_method_t acpi_spmc_methods[] = { + DEVMETHOD(device_probe, acpi_spmc_probe), + DEVMETHOD(device_attach, acpi_spmc_attach), + DEVMETHOD(device_detach, acpi_spmc_detach), + DEVMETHOD_END +}; + +static driver_t acpi_spmc_driver = { + "acpi_spmc", + acpi_spmc_methods, + sizeof(struct acpi_spmc_softc), +}; + +DRIVER_MODULE_ORDERED(acpi_spmc, acpi, acpi_spmc_driver, NULL, NULL, SI_ORDER_ANY); +MODULE_DEPEND(acpi_spmc, acpi, 1, 1, 1); From nobody Mon Jan 26 14:37: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 4f0B2j6HQtz6QMDT for ; Mon, 26 Jan 2026 14:37: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 4f0B2j4wZTz3s6x for ; Mon, 26 Jan 2026 14:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769438253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJBP7vgYnUPVkyjyJ+PL5jN5QwkxjTYzqZpV6ZN/cuU=; b=C89wjgTDGsUvpMpP5c/Vts/q55wHRGf0c6FBveOeXPAII9BYr7DHgyIUUuESkhtAPOApJZ 2PnrdUxzK/6nNSGHZdSYu4qV+QVm0ZJGRPeu7XFUPK5RWfrJeAETS9BvrYIEt/QVs9L5RF aAeYaicWcU/gGnTUi2FA4jaCr/eZHO+2ag7d9j4RGdUkoBO73bqWQy9ufvMy5zFo7i/Viy VWYLVoudPxAo6+WlFETf0E7FL5minYD4rpeWIelPnGvIhLdFHq81obdv058OfCCK8Z73nH z4DSPdVbvWymi7pY1QC47skMijppX8l00xBaSTyl+16jppdRcnSrlT6Qc8DpjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769438253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJBP7vgYnUPVkyjyJ+PL5jN5QwkxjTYzqZpV6ZN/cuU=; b=A0iafsfnF/iXLfLtMN3ZHaP8rTYT5yBYURHp88xf+yIGf4P0gzcKhcSldj33YbciD7U3/w 0ll4t1lVYaio3c2bwFCCGtfEUmUHeReT1mnJZJn/j9q9N1yBwu4X1bL0W9UE1jmTRC2U7D r2QIqWAgSTKW7/yggiZc7sXgctXfvDbbv9GdelNhh5W5dj64mJ+G0qVBNZE9/YanAFrUPx 2+gEmdpTAnDB3QIpAbRDFT+Nt708rAP8QUKl0hsQRJS4xh18aC7nTvKuMX8JWdzXNeXhbu Pc27x7oeIus7d0IIP7XfIIzWYQ5pENODRNFijCvmoL7MzuL29k/zvcRsrD78bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769438253; a=rsa-sha256; cv=none; b=UFHhULv4QtB0Qh2HuDZsuFYnlEc+GnG5CBxBMUfdyYsCmpEBALK2B5hxD2wa3TEc/np76m DDF+A/oQgrP12ygQDXl0NesHjnJh3KDcMWedNGA7q2xNo54bBs5sKVWlVByhOAdyvqmw3c 62Z8AuKayfUODju9Zqfmj3mZarIPdexN6K1yCbdJmJJm0FgYeYiB3PBAhVCp5cH/6BMASR JwGfspSZ7Uyix1F1bArCbbJ+w91gPm01CSoWDGX1bz+RpfDmj7bTEoHX7z5SrCggVFioDl iOV6NhndTEMJ6039qmb1CnNu702RX5UtPjxS70AU+xb6W1NOVvJtDPq5xcl3iQ== 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 4f0B2j4ShGz8LK for ; Mon, 26 Jan 2026 14:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32408 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 14:37:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: d1e6057fa47e - main - Add tests for pdrfork 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: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1e6057fa47e842c63461b64b29ac5d3e9fdad76 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 14:37:33 +0000 Message-Id: <69777c2d.32408.6fa6e8cd@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=d1e6057fa47e842c63461b64b29ac5d3e9fdad76 commit d1e6057fa47e842c63461b64b29ac5d3e9fdad76 Author: Alan Somers AuthorDate: 2026-01-25 16:13:43 +0000 Commit: Alan Somers CommitDate: 2026-01-26 14:37:08 +0000 Add tests for pdrfork MFC With: 5c2ee618d5ec21f110c4da40e9f17833b2ab8b76 Sponsored by: ConnectWise --- tests/sys/kern/Makefile | 1 + tests/sys/kern/pdrfork.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index b3611f34996d..0440b9a023eb 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -29,6 +29,7 @@ ATF_TESTS_C+= ktls_test ATF_TESTS_C+= ktrace_test ATF_TESTS_C+= listener_wakeup ATF_TESTS_C+= module_test +ATF_TESTS_C+= pdrfork ATF_TESTS_C+= prace ATF_TESTS_C+= procdesc ATF_TESTS_C+= ptrace_test diff --git a/tests/sys/kern/pdrfork.c b/tests/sys/kern/pdrfork.c new file mode 100644 index 000000000000..fa644b6658d7 --- /dev/null +++ b/tests/sys/kern/pdrfork.c @@ -0,0 +1,187 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 ConnectWise + * + * 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 +#include + +#include +#include +#include +#include + +static void basic_usage(int rfflags) { + int pd = -1; + pid_t pid, pd_pid, waited_pid; + int r, status; + + pid = pdrfork(&pd, 0, rfflags); + ATF_REQUIRE_MSG(pid >= 0, "rfork failed with %s", strerror(errno)); + if (pid == 0) { + /* In child */ + _exit(0); + } + ATF_REQUIRE_MSG(pd >= 0, "rfork did not return a process descriptor"); + r = pdgetpid(pd, &pd_pid); + ATF_CHECK_EQ_MSG(r, 0, "pdgetpid failed: %s", strerror(errno)); + + /* We should be able to collect the child's status */ + waited_pid = waitpid(pid, &status, WEXITED | WNOWAIT); + ATF_CHECK_EQ(waited_pid, pid); + + /* But after closing the process descriptor, we won't */ + close(pd); + waited_pid = waitpid(pid, &status, WEXITED | WNOHANG); + ATF_CHECK_EQ(-1, waited_pid); + ATF_CHECK_EQ(ECHILD, errno); +} + +/* pdrfork does not return a process descriptor to the child */ +ATF_TC_WITHOUT_HEAD(child_gets_no_pidfd); +ATF_TC_BODY(child_gets_no_pidfd, tc) +{ + int pd = -1; + pid_t pid, pd_pid, waited_pid; + int r, status; + + pid = pdrfork(&pd, 0, RFPROC | RFPROCDESC); + ATF_REQUIRE_MSG(pid >= 0, "rfork failed with %s", strerror(errno)); + if (pid == 0) { + /* + * In child. We can't do very much here before we exec, so + * just use our exit status to report success. + */ + _exit(pd == -1); + } + ATF_REQUIRE_MSG(pd >= 0, "rfork did not return a process descriptor"); + r = pdgetpid(pd, &pd_pid); + ATF_CHECK_EQ_MSG(r, 0, "pdgetpid failed: %s", strerror(errno)); + + waited_pid = waitpid(pid, &status, WEXITED | WNOWAIT); + ATF_CHECK_EQ(waited_pid, pid); + ATF_REQUIRE(WIFEXITED(status) && (WEXITSTATUS(status) == true)); + + close(pd); +} + +/* If the pidfd argument is invalid, the error should be handled gracefully */ +ATF_TC_WITHOUT_HEAD(efault); +ATF_TC_BODY(efault, tc) +{ + ATF_REQUIRE_ERRNO(EFAULT, pdrfork((int*)-1, 0, RFPROC | RFPROCDESC) < 0); +} + +/* Invalid combinations of flags should return EINVAL */ +ATF_TC_WITHOUT_HEAD(einval); +ATF_TC_BODY(einval, tc) +{ + int pd = -1; + + ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, -1, RFSPAWN) < 0); + ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, -1) < 0); + ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFSPAWN | RFNOWAIT) < 0); + ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFPROC | RFFDG| RFCFDG) < 0); + ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFPROCDESC) < 0); +} + +/* + * Without RFSPAWN, RFPROC, or RFPROCDESC, an existing process may be modified + */ +ATF_TC_WITHOUT_HEAD(modify_child); +ATF_TC_BODY(modify_child, tc) +{ + int fdp = -1; + pid_t pid1, pid2; + + pid1 = pdfork(&fdp, 0); + if (pid1 == 0) + _exit(0); + ATF_REQUIRE_MSG(pid1 >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + pid2 = pdrfork(&fdp, 0, RFNOWAIT); + ATF_REQUIRE_MSG(pid2 >= 0, "pdrfork failed: %s", strerror(errno)); + ATF_CHECK_EQ_MSG(pid2, 0, + "pdrfork created a process even though we told it not to"); + + close(fdp); +} + +/* + * Basic usage with RFPROC. No process descriptor will be created. + * I'm not sure why you would use pdrfork in this case instead of plain rfork + */ +ATF_TC_WITHOUT_HEAD(rfproc); +ATF_TC_BODY(rfproc, tc) +{ + int pd = -1; + pid_t pid; + + pid = pdrfork(&pd, 0, RFPROC); + ATF_REQUIRE_MSG(pid > 0, "rfork failed with %s", strerror(errno)); + if (pid == 0) + _exit(0); + + ATF_REQUIRE_EQ_MSG(pd, -1, + "rfork(RFPROC) returned a process descriptor"); +} + +/* basic usage with RFPROCDESC */ +ATF_TC_WITHOUT_HEAD(rfprocdesc); +ATF_TC_BODY(rfprocdesc, tc) +{ + basic_usage(RFPROC | RFPROCDESC); +} + +/* basic usage with RFSPAWN */ +/* + * Skip on i386 and x86_64 because RFSPAWN cannot be used from C code on those + * architectures. See lib/libc/gen/posix_spawn.c for details. + */ +#if !(defined(__i386__)) && !(defined(__amd64__)) +ATF_TC_WITHOUT_HEAD(rfspawn); +ATF_TC_BODY(rfspawn, tc) +{ + basic_usage(RFSPAWN); +} +#endif + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, child_gets_no_pidfd); + ATF_TP_ADD_TC(tp, efault); + ATF_TP_ADD_TC(tp, einval); + ATF_TP_ADD_TC(tp, modify_child); + ATF_TP_ADD_TC(tp, rfproc); + ATF_TP_ADD_TC(tp, rfprocdesc); +#if !(defined(__i386__)) && !(defined(__amd64__)) + ATF_TP_ADD_TC(tp, rfspawn); +#endif + + return (atf_no_error()); +} From nobody Mon Jan 26 14:37: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 4f0B2j15Byz6QLrZ for ; Mon, 26 Jan 2026 14:37: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 4f0B2h4dqlz3rjG for ; Mon, 26 Jan 2026 14:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769438252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cv82FwfLkcwR547RFGTlea//CfyTHvcPBuWSbtnd7NQ=; b=LZH/D1EDcyqosU8mY72HKgmlvFX29G8zrJbJNUZrTMg3rJQAjCf0zEGm9vyPbmhZsxHI2r xNYbUKNjIH+x1mq2S5vPCAkDUYgbhE9OgKIBtLEGS7afOEN8FWLC2fDS+h0n4EerkbgdvN rc96RG7N9qj2jgqGedVwEBCgwA94U49boVY2lfsqAwiznbHv3JQFgJgFaSW5aKcOGpHb2q v2/gwrC3UK3azTiCavs5m2DmaIjWPGYiYD98/lyi7f9OIE+kfK3XheIS5GTl6GKnl0xXyg hDzZLXmkjbUrgRRWMmTpCLXhZ3zLFuIQAJURn3WTX7AsuOjFgJ0RULJyaZ7WYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769438252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cv82FwfLkcwR547RFGTlea//CfyTHvcPBuWSbtnd7NQ=; b=cHaZinsgBdF2ttGRHBMU9biDcMKXS45/duZMkNJpZgM/XcJy29EIb7X2NV/xPdvik5u9Tm d7Qna1Ynj5jCtw1haLLdhiBnwk8QbdZV3cIIKvt29Ig/GUKslNrr/g4LmfY25dqO816+7D tKTSk9WkITPEfJgqjVtDNif6ZxyAKJqhiXt1tEZ8PAhfSoaIOgjQiE12tygC/5QW/L/st0 E9MrH3uqeBwbXGMorfBmbI3GtNXqnC0QTett9yUKGT/EXGIvMYOot+A2zIwwVhOrozZtCd z7zncMl//gjUZoIPhD16JlqNM7KkEPem3JB4M3oXF9vUGIxwdgf2cqLZgy+mqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769438252; a=rsa-sha256; cv=none; b=Tt5He5np5SNSDXL6l8mFuWEcnOHxhUySaaWz/YK1WA2LJCxkfn3brUlJIs7DcUGuTZypTF RmuXjOM/fKeuSGgRBZYWM+PlbAqZLCSO4mnidgAa0Hil+q3A/wQ14H9FYTec6Y9MD0WacC hiaczntTfRiDWk8F53W+CqUTx8gs/lSF5sGEUHCHRg20WjT3yX32BTpMau59yCIAirwetl IpcfRAIUyhencNjr20W8/bchL5E98633I8PnhAORfl9/gwd5EnnY+sNmIaNK5ZjnR9KN+O ncAdQ8H9JGg6VRbIwb8/y9ecUTF7XlKITyevzAMpaOIgFW4Ab0wm6mpym2PHRw== 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 4f0B2h4995z8p9 for ; Mon, 26 Jan 2026 14:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 323d1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 14:37:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: e35df41f6891 - main - procdesc: Add a test for pid recycling behavior 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: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e35df41f68916cc23893a29e0284f386ec727462 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 14:37:32 +0000 Message-Id: <69777c2c.323d1.e1f1bc2@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=e35df41f68916cc23893a29e0284f386ec727462 commit e35df41f68916cc23893a29e0284f386ec727462 Author: Alan Somers AuthorDate: 2026-01-13 00:45:23 +0000 Commit: Alan Somers CommitDate: 2026-01-26 14:36:57 +0000 procdesc: Add a test for pid recycling behavior MFC With: 09984871d8caff9263b955a94bb9fb5354af1b4c Sponsored by: ConnectWise --- tests/sys/kern/Makefile | 1 + tests/sys/kern/procdesc.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index e56dd560414a..b3611f34996d 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -30,6 +30,7 @@ ATF_TESTS_C+= ktrace_test ATF_TESTS_C+= listener_wakeup ATF_TESTS_C+= module_test ATF_TESTS_C+= prace +ATF_TESTS_C+= procdesc ATF_TESTS_C+= ptrace_test TEST_METADATA.ptrace_test+= timeout="15" ATF_TESTS_C+= reaper diff --git a/tests/sys/kern/procdesc.c b/tests/sys/kern/procdesc.c new file mode 100644 index 000000000000..3334ee404518 --- /dev/null +++ b/tests/sys/kern/procdesc.c @@ -0,0 +1,98 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 ConnectWise + * + * 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 +#include +#include +#include + +#include +#include + +/* Tests for procdesc(4) that aren't specific to any one syscall */ + +/* + * Even after waiting on a process descriptor with waitpid(2), the kernel will + * not recycle the pid until after the process descriptor is closed. That is + * important to prevent users from trying to wait() twice, the second time + * using a dangling pid. + * + * Whether this same anti-recycling behavior is used with pdwait() is + * unimportant, because pdwait _always_ uses a process descriptor. + */ +ATF_TC_WITHOUT_HEAD(pid_recycle); +ATF_TC_BODY(pid_recycle, tc) +{ + size_t len; + int i, pd, pid_max; + pid_t dangle_pid; + + len = sizeof(pid_max); + ATF_REQUIRE_EQ_MSG(0, + sysctlbyname("kern.pid_max", &pid_max, &len, NULL, 0), + "sysctlbyname: %s", strerror(errno)); + + /* Create a process descriptor */ + dangle_pid = pdfork(&pd, PD_CLOEXEC | PD_DAEMON); + ATF_REQUIRE_MSG(dangle_pid >= 0, "pdfork: %s", strerror(errno)); + if (dangle_pid == 0) { + // In child + _exit(0); + } + /* + * Reap the child, but don't close the pd, creating a dangling pid. + * Notably, it isn't a Zombie, because the process is reaped. + */ + ATF_REQUIRE_EQ(dangle_pid, waitpid(dangle_pid, NULL, WEXITED)); + + /* + * Now create and kill pid_max additional children. Test to see if pid + * gets reused. If not, that means the kernel is correctly reserving + * the dangling pid from reuse. + */ + for (i = 0; i < pid_max; i++) { + pid_t pid; + + pid = vfork(); + ATF_REQUIRE_MSG(pid >= 0, "vfork: %s", strerror(errno)); + if (pid == 0) + _exit(0); + ATF_REQUIRE_MSG(pid != dangle_pid, + "pid got recycled after %d forks", i); + ATF_REQUIRE_EQ(pid, waitpid(pid, NULL, WEXITED)); + } + close(pd); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, pid_recycle); + + return (atf_no_error()); +} From nobody Mon Jan 26 14:37: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 4f0B2l1KkYz6QMBF for ; Mon, 26 Jan 2026 14:37: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 4f0B2k5YzSz3s2p for ; Mon, 26 Jan 2026 14:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769438254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4v2Gsd+FqjzmE+TNYwQeAZ5LdWI0CqutjRqKUKhYp9U=; b=ulLNShVO/ospCBO5/8JZkDNgGQVSFpY+BrPXCkJyyXlimESwlxr4aAJmUtQOQTae8lLk9i b/3buZe/anDeo9Pcxmz++hmMmsoOwd80GkEaQXUtcGuaDHjRHwFFRNgX3D35oPoD0Jmyq3 Ar+ou6b8Z8oUDsntX8birrOJn9WKWhluJCBDWqCQWm44NEq81KyXM/AxVzMpj3jDWrwkXZ AQQg6JyY55wgEUY/v8Khx3V2PL2653jKwd8098H/x9vybvrfojN5EURKSs0M/dfVocyQej K0Y0Dg/lntMGb2S7XZm0vVt876Hm3Jy1ekC3oGuR6O6D1gP9UNq4dQYkZN3C/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769438254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4v2Gsd+FqjzmE+TNYwQeAZ5LdWI0CqutjRqKUKhYp9U=; b=DJ6SrBHHanysnsLpxQQ+9jfNeoH8ZIXTooXzZcuS8eVkqOOnI3RXCTfAtxfUbswP0S/2iR Q3/RjXUls6Gd/rucjNm+cxSKgPtiIDBiGZCFvj7+4GvMjESJCn4YEEaLHb6VzKOdWw+Btq 0VzsYLirj4m+lc7OBWN3PMgkdGbAeKWtxewrp0z0ixP/kTD/IuNjZwd5V1B0ywfEZc3z8C dowqFshqmG/9x4+3/V+zAsUORxOSCEabp8Mm15JR5AROzHhX4UUy2xRVI5RZSYI6/bc5gO 77UWXo6EN9L0pzYUSDJva6KTuiX5MDskXKwy8rBQFH5OCS8PwH2wl7R5WRgYFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769438254; a=rsa-sha256; cv=none; b=lZFOKnLZNpiJ8CLGeJNfJW1N3Ny2rliHG3UG/XWhpVTWu1sgyMvap4MU/M3pdi/Mzgl7I4 y53jxGuepYTFV3iLkpB7aLCrA6zIzZ6eKXrWSRUw5Fy5EREI2mDQVhFJZZ9sSuILuBUZzJ 8rSW8ZsknF3FKlgQ/CtZ+MHJOaMZTJe20v8U/dFKcJ7zxuXg45Z1gsvw4n19tVAWKm8NrF p1/WJ1cDIrLbAu2PGuiUY2L5HZ72DsH8X7zUko+S9R8AH4ahoz0Inczm2mcTLwrdvnmgmN TWts9769D7wyvzyT5e6KYKQdZNRb2EGG4Qmo8lhL4MPt2EG4MrfEYFPIZdVXZg== 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 4f0B2k595Gz8lk for ; Mon, 26 Jan 2026 14:37:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30e31 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 14:37:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 277539ae7f2f - main - Add tests for pdwait 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: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 277539ae7f2f07a8dd29d4deb318d66414f8ae2a Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 14:37:34 +0000 Message-Id: <69777c2e.30e31.77b9dc25@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=277539ae7f2f07a8dd29d4deb318d66414f8ae2a commit 277539ae7f2f07a8dd29d4deb318d66414f8ae2a Author: Alan Somers AuthorDate: 2026-01-25 16:14:03 +0000 Commit: Alan Somers CommitDate: 2026-01-26 14:37:16 +0000 Add tests for pdwait MFC With: 4d707825bf62ee73a32b615846eff9c4a9bda538 Sponsored by: ConnectWise --- tests/sys/kern/Makefile | 1 + tests/sys/kern/pdwait.c | 295 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 296 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index 0440b9a023eb..7dfa62ebb229 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -30,6 +30,7 @@ ATF_TESTS_C+= ktrace_test ATF_TESTS_C+= listener_wakeup ATF_TESTS_C+= module_test ATF_TESTS_C+= pdrfork +ATF_TESTS_C+= pdwait ATF_TESTS_C+= prace ATF_TESTS_C+= procdesc ATF_TESTS_C+= ptrace_test diff --git a/tests/sys/kern/pdwait.c b/tests/sys/kern/pdwait.c new file mode 100644 index 000000000000..513b07cae87e --- /dev/null +++ b/tests/sys/kern/pdwait.c @@ -0,0 +1,295 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2026 ConnectWise + * + * 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 +#include +#include +#include +#include + +#include +#include +#include + +/* basic usage */ +ATF_TC_WITHOUT_HEAD(basic); +ATF_TC_BODY(basic, tc) +{ + int fdp = -1; + pid_t pid; + int r, status; + struct __wrusage ru; + siginfo_t si; + + bzero(&ru, sizeof(ru)); + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + r = pdwait(fdp, &status, WEXITED, &ru, &si); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + ATF_CHECK(ru.wru_self.ru_stime.tv_usec > 0); + ATF_CHECK_EQ(si.si_signo, SIGCHLD); + ATF_CHECK_EQ(si.si_pid, pid); + ATF_CHECK_EQ(si.si_status, WEXITSTATUS(status)); + + close(fdp); +} + +/* pdwait should work in capability mode */ +ATF_TC_WITHOUT_HEAD(capsicum); +ATF_TC_BODY(capsicum, tc) +{ + int fdp = -1; + pid_t pid; + int status, r; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_EQ_MSG(0, cap_enter(), "cap_enter: %s", strerror(errno)); + r = pdwait(fdp, &status, WEXITED, NULL, NULL); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + close(fdp); +} + +/* pdwait should return EBADF if its argument is not a file descriptor */ +ATF_TC_WITHOUT_HEAD(ebadf); +ATF_TC_BODY(ebadf, tc) +{ + ATF_REQUIRE_ERRNO(EBADF, pdwait(99999, NULL, WEXITED, NULL, NULL) < 0); +} + +/* pdwait should return efault if the status argument is invalid. */ +ATF_TC_WITHOUT_HEAD(efault1); +ATF_TC_BODY(efault1, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EFAULT, pdwait(fdp, (int*)-1, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* pdwait should return efault2 if the usage argument is invalid. */ +ATF_TC_WITHOUT_HEAD(efault2); +ATF_TC_BODY(efault2, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EFAULT, + pdwait(fdp, NULL, WEXITED, (struct __wrusage*)-1, NULL) < 0); + + close(fdp); +} + +/* pdwait should return efault if the siginfo argument is invalid. */ +ATF_TC_WITHOUT_HEAD(efault3); +ATF_TC_BODY(efault3, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EFAULT, + pdwait(fdp, NULL, WEXITED, NULL, (struct __siginfo*)-1) < 0); + + close(fdp); +} + +/* pdwait should return einval if the arguments are bad */ +ATF_TC_WITHOUT_HEAD(einval); +ATF_TC_BODY(einval, tc) +{ + int fdp = -1; + pid_t pid; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_ERRNO(EINVAL, pdwait(fdp, NULL, 0, NULL, NULL) < 0); + ATF_CHECK_ERRNO(EINVAL, pdwait(fdp, NULL, -1, NULL, NULL) < 0); + ATF_CHECK_ERRNO(EINVAL, + pdwait(STDERR_FILENO, NULL, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* pdwait should fail without the cap_pdwait_rights bit */ +ATF_TC_WITHOUT_HEAD(enotcap); +ATF_TC_BODY(enotcap, tc) +{ + cap_rights_t rights; + int fdp = -1; + pid_t pid; + int status; + + /*cap_rights_init(&rights, CAP_RIGHTS_ALL);*/ + CAP_ALL(&rights); + cap_rights_clear(&rights, CAP_PDWAIT); + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + ATF_CHECK_EQ_MSG(0, cap_enter(), "cap_enter: %s", strerror(errno)); + ATF_REQUIRE_EQ_MSG(0, cap_rights_limit(fdp, &rights), + "cap_rights_limit %s", strerror(errno)); + + ATF_REQUIRE_ERRNO(ENOTCAPABLE, + pdwait(fdp, &status, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* + * Even though the process descriptor is still open, there is no more process + * to signal after pdwait() has returned. + */ +ATF_TC_WITHOUT_HEAD(pdkill_after_pdwait); +ATF_TC_BODY(pdkill_after_pdwait, tc) +{ + int fdp = -1; + pid_t pid; + int r, status; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + r = pdwait(fdp, &status, WEXITED, NULL, NULL); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + ATF_REQUIRE_ERRNO(ESRCH, pdkill(fdp, SIGTERM) < 0); + + close(fdp); +} + +/* + * Even though the process descriptor is still open, there is no more status to + * return after a pid-based wait() function has already returned it. + */ +ATF_TC_WITHOUT_HEAD(pdwait_after_waitpid); +ATF_TC_BODY(pdwait_after_waitpid, tc) +{ + int fdp = -1; + pid_t pid, waited_pid; + int status; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + waited_pid = waitpid(pid, &status, WEXITED); + + ATF_CHECK_EQ(pid, waited_pid); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + ATF_REQUIRE_ERRNO(ESRCH, pdwait(fdp, NULL, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +/* Called twice, waitpid should return ESRCH the second time */ +ATF_TC_WITHOUT_HEAD(twice); +ATF_TC_BODY(twice, tc) +{ + int fdp = -1; + pid_t pid; + int r, status; + + pid = pdfork(&fdp, 0); + if (pid == 0) + _exit(42); + ATF_REQUIRE_MSG(pid >= 0, "pdfork failed: %s", strerror(errno)); + ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor"); + + r = pdwait(fdp, &status, WEXITED, NULL, NULL); + ATF_CHECK_EQ(r, 0); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + ATF_REQUIRE_ERRNO(ESRCH, pdwait(fdp, NULL, WEXITED, NULL, NULL) < 0); + + close(fdp); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, basic); + ATF_TP_ADD_TC(tp, capsicum); + ATF_TP_ADD_TC(tp, ebadf); + ATF_TP_ADD_TC(tp, enotcap); + ATF_TP_ADD_TC(tp, twice); + ATF_TP_ADD_TC(tp, efault1); + ATF_TP_ADD_TC(tp, efault2); + ATF_TP_ADD_TC(tp, efault3); + ATF_TP_ADD_TC(tp, einval); + ATF_TP_ADD_TC(tp, pdwait_after_waitpid); + ATF_TP_ADD_TC(tp, pdkill_after_pdwait); + + return (atf_no_error()); +} From nobody Mon Jan 26 14:53: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 4f0BPd4Kmxz6QNJJ for ; Mon, 26 Jan 2026 14:53: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 4f0BPd3DWtz3vRq for ; Mon, 26 Jan 2026 14:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769439237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6iIUEakp06Evg2wIHZSHKP/eHq81718zP8BdlFD6/Os=; b=CebF84u3sSmCAbVw/j4masM4l/uT/T5A5ZjkLtutUCG5C0HBgmrtqPeVjk5+jaDe35ybRF Z/RXwLhYDoQViTiEaPG/2cQLk1Eb6DFFSDri5z5VznzwpHixJCPCuvInuYcbFFTyRCSE3f cJ+u/1K2thimDB/qlg1augVvBtUFhg16XFKIPVuXUmzzgauv92A4pd1D6XMYtvmfEddrs6 P/xy/VL+dQernRVTgxE4u0AKBefsTi9HcDMsK/P4I1GfC1lo1Xu87beszdpyoyyYoVnc0T NdtV3Aoh8GBO7Hh5HLAu3vq+r5p/lb0GcyXn4Xd9h2cGaNihC5JMlLBIiNDIpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769439237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6iIUEakp06Evg2wIHZSHKP/eHq81718zP8BdlFD6/Os=; b=UK+d2NtbgWBLAswLAX2GX+NaaetzXh7EY0FIZhJy7b6CdzcxOrWUdT2ruV4MwpzVEghYH8 5FJbygB5pM0YZ+iFfQGwmCDejC3BY3jWHGJadJX2gzkia1iSJgQTARNyIcBxu45eO8uafo IuU2wmhOrwOYolWk8PjLBEKrsJDaMvv1uTpcXXqh6V0HgaDm6Ap8iuHHQtcyEcmXBQCJVi kDFglV+p1+L4IxIsWLawCKEaCvj2b5Pl+h17RwHX7oQyRoHyaXXcUoEZYxNU6kU8oJa9Vo KMLUz7OZwt/M8295/vyV3hQw6waV5CyIJYzhx8iCKzzqpA2zGgqXZk/WSzUfiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769439237; a=rsa-sha256; cv=none; b=rZ6sC3DNHOgTGopID12d2naI59uEAJ+FOF1Ai64BsJkn8wqoELBTJCmOuaJ3GNu6pXUD8a a9LQ2kLVlTcrf1Napc0yYrE97uxGWMA57PVUNH8yzNh9QWv87MgnAkXjxymZEi3JRa8hCp padCovTxJdefZFIfjbjgL01s27OtAmj3m9M0g0iYfUtX7WOFtkSYowrPiJ/ujxt361e1cj LDlzmVAxjiGRM54zB7dUlNwdz8Vh7+oOGL5K3SsWh7Bnwx7gVVGpbleu/49kE0Tu5RNynk fS3yJVHfa+pQoUg2tng+NSX/0BgbWVpvWYNaBBp/bY9lG4B2OiIkIWReNSTsiQ== 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 4f0BPd2qxjz8Ww for ; Mon, 26 Jan 2026 14:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32f61 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 14:53:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 27595bea6940 - main - riscv: smarter DMAP construction (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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 27595bea69400ae71fa778cf1dcb52a793911ad4 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 14:53:57 +0000 Message-Id: <69778005.32f61.7f792292@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=27595bea69400ae71fa778cf1dcb52a793911ad4 commit 27595bea69400ae71fa778cf1dcb52a793911ad4 Author: Mitchell Horne AuthorDate: 2026-01-21 18:58:01 +0000 Commit: Mitchell Horne CommitDate: 2026-01-26 14:50:56 +0000 riscv: smarter DMAP construction (again) Extend pmap_bootstrap_dmap() to build the DMAP with 4K-page granularity. Recently we have been approximating it with 2MB mappings. The motivation again is the problematic FU540 hardware, which seems to require more accurate mappings still to avoid triggering its PMP errata. Although this hardware alone is of little consequence, constructing the DMAP accurately/correctly may help avoid future surprises. The implementation contains some repetitive code. This could be expressed differently, but my guiding principle for these early routines is that being simple and explicit about what we are doing makes them easier to comprehend. See also 762a3224cde6 ("riscv: smarter DMAP construction). Tested by: Klaus Küchemann MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54716 --- sys/riscv/riscv/pmap.c | 98 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 83 insertions(+), 15 deletions(-) diff --git a/sys/riscv/riscv/pmap.c b/sys/riscv/riscv/pmap.c index 0deb8b93a6dc..3fc261a15c06 100644 --- a/sys/riscv/riscv/pmap.c +++ b/sys/riscv/riscv/pmap.c @@ -578,16 +578,13 @@ pmap_early_alloc_tables(vm_paddr_t *freemempos, int npages) } /* - * Construct the direct map -- a linear mapping of physical memory into + * Construct the Direct Map -- a linear mapping of physical memory into * the kernel address space. * * We walk the list of physical memory segments (of arbitrary size and - * address) mapping each appropriately using L2 and L1 superpages. - * Consequently, the DMAP address space will have unmapped regions - * corresponding to any holes between physical memory segments. - * - * The lowest usable physical address will always be mapped to - * DMAP_MIN_ADDRESS. + * alignment) mapping each appropriately. Consequently, the DMAP address + * space will have unmapped regions corresponding to the holes between + * physical memory segments. */ static vm_paddr_t pmap_bootstrap_dmap(pd_entry_t *l1, vm_paddr_t freemempos) @@ -595,9 +592,9 @@ pmap_bootstrap_dmap(pd_entry_t *l1, vm_paddr_t freemempos) vm_paddr_t physmap[PHYS_AVAIL_ENTRIES]; vm_offset_t va; vm_paddr_t min_pa, max_pa, pa, endpa; - pd_entry_t *l2; + pd_entry_t *l3, *l2; pt_entry_t memattr; - u_int l1slot, l2slot; + u_int l1slot, l2slot, l3slot; int physmap_idx; physmap_idx = physmem_avail(physmap, nitems(physmap)); @@ -614,17 +611,58 @@ pmap_bootstrap_dmap(pd_entry_t *l1, vm_paddr_t freemempos) memattr = pmap_memattr_bits(VM_MEMATTR_DEFAULT); - /* Walk the physmap table. */ - l2 = NULL; - l1slot = Ln_ENTRIES; /* sentinel value */ + /* + * Walk the physmap table, using the largest page sizes possible for each + * mapping. So, for each physmap entry, map as needed/able: + * - 4K/L3 page prefix + * - 2M/L2 superpage prefix + * - 1G/L1 superpages + * - 2M/L2 superpage suffix + * - 4K/L3 page suffix + */ + l3 = l2 = NULL; + l2slot = l1slot = Ln_ENTRIES; /* sentinel value */ for (int idx = 0; idx < physmap_idx; idx += 2) { - pa = rounddown(physmap[idx], L2_SIZE); + pa = rounddown(physmap[idx], L3_SIZE); endpa = physmap[idx + 1]; /* Virtual address for this range. */ va = PHYS_TO_DMAP(pa); - /* Any 1GB possible for this range? */ + /* Any 2MB possible for this range? */ + if (roundup(pa, L2_SIZE) + L2_SIZE > endpa) + goto l3end; + + /* Loop until the next 2MB boundary. */ + while ((pa & L2_OFFSET) != 0) { + if (l2 == NULL || pmap_l1_index(va) != l1slot) { + /* Need to alloc another page table. */ + l2 = pmap_early_alloc_tables(&freemempos, 1); + + /* Link it. */ + l1slot = pmap_l1_index(va); + pmap_store(&l1[l1slot], + L1_PDE((vm_paddr_t)l2, PTE_V)); + } + + if (l3 == NULL || pmap_l2_index(va) != l2slot) { + l3 = pmap_early_alloc_tables(&freemempos, 1); + + /* Link it to L2. */ + l2slot = pmap_l2_index(va); + pmap_store(&l2[l2slot], + L2_PDE((vm_paddr_t)l3, PTE_V)); + } + + /* map l3 pages */ + l3slot = pmap_l3_index(va); + pmap_store(&l3[l3slot], L3_PTE(pa, PTE_KERN | memattr)); + + pa += L3_SIZE; + va += L3_SIZE; + } + + /* Any 1GB possible for remaining range? */ if (roundup(pa, L1_SIZE) + L1_SIZE > endpa) goto l2end; @@ -659,7 +697,8 @@ pmap_bootstrap_dmap(pd_entry_t *l1, vm_paddr_t freemempos) } l2end: - while (pa < endpa) { + /* Map what we can with 2MB superpages. */ + while (pa + L2_SIZE - 1 < endpa) { if (l2 == NULL || pmap_l1_index(va) != l1slot) { /* Need to alloc another page table. */ l2 = pmap_early_alloc_tables(&freemempos, 1); @@ -677,6 +716,35 @@ l2end: pa += L2_SIZE; va += L2_SIZE; } + +l3end: + while (pa < endpa) { + if (l2 == NULL || pmap_l1_index(va) != l1slot) { + /* Need to alloc another page table. */ + l2 = pmap_early_alloc_tables(&freemempos, 1); + + /* Link it. */ + l1slot = pmap_l1_index(va); + pmap_store(&l1[l1slot], + L1_PDE((vm_paddr_t)l2, PTE_V)); + } + + if (l3 == NULL || pmap_l2_index(va) != l2slot) { + l3 = pmap_early_alloc_tables(&freemempos, 1); + + /* Link it to L2. */ + l2slot = pmap_l2_index(va); + pmap_store(&l2[l2slot], + L2_PDE((vm_paddr_t)l3, PTE_V)); + } + + /* map l3 pages */ + l3slot = pmap_l3_index(va); + pmap_store(&l3[l3slot], L3_PTE(pa, PTE_KERN | memattr)); + + pa += L3_SIZE; + va += L3_SIZE; + } } /* And finally, the limit on DMAP VA. */ From nobody Mon Jan 26 15:13: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 4f0BrS5xVKz6QP7h for ; Mon, 26 Jan 2026 15:13: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 4f0BrS56D2z3xw6 for ; Mon, 26 Jan 2026 15:13:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769440424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KfMLxIgFAINC8Ik0DzUpo9r5TM386mKnSCUddBPqtZY=; b=VLM5L1kQxLBA8u6mfQPb+Q+LfDrmf0vPkFqz4qp6p2QCqSJ6DI31vSekUX9iZ06zPHYYH0 1D1O5PY27VH5TOHLJKyksX+qYH0Ln81nyljkJ9ejdp7YM9o5Z6YqGsOV7etUps+08URUaQ yzWMQ+/j4rZFURiFQTs0ECrXj3BjfiPE/I1A8hs5p2JkGlhiJo7zNzAgOdy8jrrK5ZM5dd YS7Vyb4I5JdmWr0r9lXDC5Jxl3vqjq8/8uF9bOMfvFRBoqxYgjsDtE+35NDJUmdtS6i/e8 QvMdFKCWIJU+uRou+ZUCLPEmzi4q04HDAgEzSK+/HGlj05YM5A7NsJ61FFql9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769440424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KfMLxIgFAINC8Ik0DzUpo9r5TM386mKnSCUddBPqtZY=; b=f6861pngSyrhuk0M7uMOHGbyhdtZQL4jcqEoo5vchP12Ogrh+pSj7TkOIq6uoXB2gZMDxs JkANmKUpHrXr1lY+DWk/z6A0HF5zf5KTutDkTUZ2PNaHMLqxzY1HbKZGYFJIFgZsKIokVV w8UZjbNy1WKknhEwsNcqJIqjRsWqyONBQI8OLQvPhgXWkB6p+Vj0xuwyEC5ul23oxfGDPG cOi184xS1kH/PuWaGZZHXav10rtvcb3TTbHqILxZfkALz9TUuPKQDzakW1Cpd7DOh9UEA8 t6M2y3Ln9thvt8XOjvBrMzHAS3eSfNoZQdAA+drRWbbC7JbslAi5Rf9hg0nkIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769440424; a=rsa-sha256; cv=none; b=Gm1dFqdggV2qo9ouknH1Fic0fmt4bQ72ohQjSnVZjSs5vcGjeUQ2KUjx4GDNxRNoJmUsHW gR3JnQ7E8WDYt1ViH+YG5M4NwdIWl+5Wqbs4reqdGyxEPU6mmlyCNwjsEqX61kDwGuGugh NL+9OM5++qLryd/+NKhF8YkHYTkznzOK4Y7T/DbYFgybZuU7B4rUcdF4aFJ7T7aZJctoMc 7Halget6/6kQTwErj1FU+Pg8gzUOEK+4LechvgAefWlvYuY1vjShkSaEszE1qHmzBlzDJc vtXZ7o1Fg6nyjCXUWVauDnlFUiyQBQ7O1gRlplf6OQOqzOiFoVuEPR0DCoWzqw== 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 4f0BrS4gT1z9yG for ; Mon, 26 Jan 2026 15:13:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36282 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 15:13:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 38e5564ecef5 - main - native-xtools: use static LLVM libraries 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38e5564ecef53064c984d086a040c01100023f40 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 15:13:44 +0000 Message-Id: <697784a8.36282.1b38f50d@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=38e5564ecef53064c984d086a040c01100023f40 commit 38e5564ecef53064c984d086a040c01100023f40 Author: Mitchell Horne AuthorDate: 2026-01-26 14:58:55 +0000 Commit: Mitchell Horne CommitDate: 2026-01-26 15:12:30 +0000 native-xtools: use static LLVM libraries Set the MK_LLVM_LINK_STATIC_LIBRARIES knob to "yes" when building the native-xtools target. This reverts to the behaviour prior to 2e47f35be5dc. This avoids a build failure that occurs otherwise, where compilation fails looking for a libllvmprivate.so that was not built. It is unclear if this addresses the issue in all instances---some replies in the PRs indicate otherwise. Still, some report success, and in my own testing this fixed creation of a cross-compiled poudriere jail. Commit this while we continue to investigate... PR: 286710, 291409 Tested by: marck, rdunkle@smallcatbrain.com Reviewed by: emaste MFC after: 3 days Fixes: 2e47f35be5dc ("Convert libllvm, libclang and liblldb into private shared libraries"). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54815 --- Makefile.inc1 | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index 03097d2d5209..598a78b4c767 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3190,6 +3190,7 @@ NXBMAKEARGS+= \ MK_DEBUG_FILES=no \ MK_HTML=no \ MK_LLDB=no \ + MK_LLVM_LINK_STATIC_LIBRARIES=yes \ MK_MAN=no \ MK_MAN_UTILS=yes \ MK_OFED=no \ From nobody Mon Jan 26 15:55: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 4f0Cn411b6z6QRNs; Mon, 26 Jan 2026 15:55:52 +0000 (UTC) (envelope-from gallatin@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 4f0Cn40YqGz44bl; Mon, 26 Jan 2026 15:55:52 +0000 (UTC) (envelope-from gallatin@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769442952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=tvgxIA7rcU8jI5hygL/pkB0hHJFlcq1NAgyVC+/5qL8=; b=aLAxJhC+4MK/YYruip5lAtNo2R8V2VHAcTgCpPSFe1AVmO2fKL5hIHpA4bwi/qAIqxZ2m9 xPWadkAQOnOPC1B3TQhGIEIAoLUHhOPBCKR8SHWSkgV06535Q125i91h51b2xkVoY48ZkI zQ1YSwfjyH77OWlE+F+CCYTSkBG8GTBiRW77Sj9BMZWKNdlXwYjH1mYc0aXKAlNoDz6SHM cN93RMRPWoriug6wnx+cid7v6sPfN7mFmNJg6JbQpPQPGjt9CP4uaUp5QhZqwwxaxmWo8C VT0fPiwKNTq1QZGq56Ao1bkE2zC7/iNqM+AE2DzPHr+Q7Y6A2gyLRZlCOlEAzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769442952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=tvgxIA7rcU8jI5hygL/pkB0hHJFlcq1NAgyVC+/5qL8=; b=LQKyfOIIVDlumZacFXFqVJa7WEXQllzjFLIV83g2b+UppjECQsrqANwVXtvNL6K//HelEB zu3LY/k6n6tCMckmtMbqHqUZ37tRrWRqiFqDvDpyALxY3pSKYoAp2tHbayh7oeBC3r1EgD yGvikbm4kJQS8DQ03ngrC9FvAmF5knMOhHPUx7n2VE/wJoFr6chYRAEwyw1UuiSEX1C8CT WnkYxC9z7NEsgt56MukW/8Oc98LQaiOulqeRGRlnqx4tLMvGFhPjkiVZNXqraD70UaPPwS WzaiknpmxfZiPJMp+ChK4vVIdOxh7OxelHLSajJC+pyRdFe5zwaQ38Kf4bGFbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769442952; a=rsa-sha256; cv=none; b=xV2bF+gUrdW5wP6kSnbuoMGchZ+UDz4Uc8X1zpGbsbSW8iskYkSFJvzKUbhB3RcQ4kylaj L8A+0lSF07a9vtMF4w7RTpT6aw7shl74WANJrjxmUzjfIzLg41cZUHKc52j8Bdjy85JH+t aaiivdTKRp1PP11QuzDSLtf1SDBN62uG2bgmTw8yvu05WHaOzRDwVeJAZjnwQR3+9Swlil XOHwAOgQDdVWzlX3mZTG18BOPooiBIvKsIs1nWoVtA7TJEHMKtXxxYOwFr4ezpnoh/Oy1O 9ojv25BG76WYMbTEW4VZsBa1wDyWPOPiCZDzy+0RPXyFaenq4rbqt4W5lgseVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from fauth-a2-smtp.messagingengine.com (fauth-a2-smtp.messagingengine.com [103.168.172.201]) (using TLSv1.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: gallatin) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f0Cn36lbWz19YL; Mon, 26 Jan 2026 15:55:51 +0000 (UTC) (envelope-from gallatin@freebsd.org) Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfauth.phl.internal (Postfix) with ESMTP id 5A31BF4006E; Mon, 26 Jan 2026 10:55:51 -0500 (EST) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-05.internal (MEProxy); Mon, 26 Jan 2026 10:55:51 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdduheektdekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkfgjfhfutgesrgdtreerre dtjeenucfhrhhomhepfdffrhgvficuifgrlhhlrghtihhnfdcuoehgrghllhgrthhinhes fhhrvggvsghsugdrohhrgheqnecuggftrfgrthhtvghrnheptefhjeeiffevheeuleffve etfeegleeigfduvefgffehvdfhiefhfedtiefhleefnecuffhomhgrihhnpehfrhgvvggs shgurdhorhhgpdguvghvshhtrghtrdgrlhhlnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepghgrlhhlrghtihhnodhmvghsmhhtphgruhhthhhp vghrshhonhgrlhhithihqddufeefheelvddvudeiqddvleehtdegudekgedqghgrlhhlrg htihhnpeepfhhrvggvsghsugdrohhrghesfhgrshhtmhgrihhlrdgtohhmpdhnsggprhgt phhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeguvghssehfrhgvvg gsshgurdhorhhgpdhrtghpthhtohepuggvvhdqtghomhhmihhtshdqshhrtgdqrghllhes fhhrvggvsghsugdrohhrghdprhgtphhtthhopeguvghvqdgtohhmmhhithhsqdhsrhgtqd hmrghinhesfhhrvggvsghsugdrohhrghdprhgtphhtthhopehsrhgtqdgtohhmmhhithht vghrshesfhhrvggvsghsugdrohhrgh X-ME-Proxy: Feedback-ID: i41414658:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 3B27B700065; Mon, 26 Jan 2026 10:55:51 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface 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 X-ThreadId: ABUamp0rnb8N Date: Mon, 26 Jan 2026 10:55:27 -0500 From: "Drew Gallatin" To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Message-Id: In-Reply-To: <697757ba.b040.558a1a55@gitrepo.freebsd.org> References: <697757ba.b040.558a1a55@gitrepo.freebsd.org> Subject: Re: git: a11d132f6c62 - main - devstat: Provide 32-bit compatibility Content-Type: multipart/alternative; boundary=97a5bd8aa1ad4391bbe3cb58caa69cde --97a5bd8aa1ad4391bbe3cb58caa69cde Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable My build dies with: In file included from /usr/src/sys/kern/subr_devstat.c:47: In file included from /usr/src/sys/compat/freebsd32/freebsd32.h:38: /usr/src/sys/sys/user.h:692:16: error: field has incomplete type 'struct= kevent' 692 | struct kevent knt_event; | ^ /usr/src/sys/sys/user.h:692:9: note: forward declaration of 'struct keve= nt' 692 | struct kevent knt_event; | ^ In file included from /usr/src/sys/kern/subr_devstat.c:47: /usr/src/sys/compat/freebsd32/freebsd32.h:465:18: error: field has incom= plete type 'struct kevent32' 465 | struct kevent32 knt_event; | ^ /usr/src/sys/compat/freebsd32/freebsd32.h:465:9: note: forward declarati= on of 'struct kevent32' 465 | struct kevent32 knt_event; | ^ Reverting this commit fixes it. My kernel conf a pretty close to standard GENERIC-NODEBUG. Drew include GENERIC-NODEBUG ident GENERIC-DREW makeoptions WITH_EXTRA_TCP_STACKS=3D1 nooptions INVARIANTS nooptions INVARIANT_SUPPORT nooptions WITNESS nooptions WITNESS_SKIPSPIN nooptions BUF_TRACKING nooptions DEADLKRES nooptions FULL_BUF_TRACKING nooptions COVERAGE nooptions KCOV nooptions VIMAGE # Subsystem virtualization, e.g.= VNET #options DEADLKRES # Enable the deadlock resolver options MSGBUF_SIZE=3D524288 #options MP_WATCHDOG nooptions IPSEC options KERN_TLS # TLS transmit offload options TCPHPTS options RATELIMIT # TX rate limiting support On Mon, Jan 26, 2026, at 7:02 AM, Dag-Erling Sm=C3=B8rgrav wrote: > The branch main has been updated by des: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Da11d132f6c62f32abe44b19= f7527d97ddc239058 >=20 > commit a11d132f6c62f32abe44b19f7527d97ddc239058 > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2026-01-26 12:01:39 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2026-01-26 12:01:59 +0000 >=20 > devstat: Provide 32-bit compatibility > =20 > If a 32-bit process running on a 64-bit kernel requests kern.devst= at.all, > translate each struct devstat to its 32-bit equivalent before copy= ing it > out. > =20 > Also fix a bug where an early error would be ignored if there were= no > devices to report. > =20 > MFC after: 1 week > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D54591 > --- > sys/compat/freebsd32/freebsd32.h | 27 +++++++++++++++++++ > sys/kern/subr_devstat.c | 56 ++++++++++++++++++++++++++++++++= +++----- > 2 files changed, 76 insertions(+), 7 deletions(-) >=20 > diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/f= reebsd32.h > index 7d21a5be5570..a8d54290980d 100644 > --- a/sys/compat/freebsd32/freebsd32.h > +++ b/sys/compat/freebsd32/freebsd32.h > @@ -29,7 +29,10 @@ > #ifndef _COMPAT_FREEBSD32_FREEBSD32_H_ > #define _COMPAT_FREEBSD32_FREEBSD32_H_ > =20 > +#include > #include > +#include > +#include > #include > #include > #include > @@ -540,4 +543,28 @@ struct ptrace_sc_remote32 { > uint32_t pscr_args; > }; > =20 > +struct devstat32 { > + u_int sequence0; > + int allocated; > + u_int start_count; > + u_int end_count; > + struct bintime32 busy_from; > + struct { u_int32_t stqe_next; } dev_links; > + u_int32_t device_number; > + char device_name[DEVSTAT_NAME_LEN]; > + int unit_number; > + freebsd32_uint64_t bytes[DEVSTAT_N_TRANS_FLAGS]; > + freebsd32_uint64_t operations[DEVSTAT_N_TRANS_FLAGS]; > + struct bintime32 duration[DEVSTAT_N_TRANS_FLAGS]; > + struct bintime32 busy_time; > + struct bintime32 creation_time; > + u_int32_t block_size; > + freebsd32_uint64_t tag_types[3]; > + devstat_support_flags flags; > + devstat_type_flags device_type; > + devstat_priority priority; > + u_int32_t id; > + u_int sequence1; > +}; > + > #endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */ > diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c > index c4d0223d484f..c62df0e210e1 100644 > --- a/sys/kern/subr_devstat.c > +++ b/sys/kern/subr_devstat.c > @@ -43,6 +43,10 @@ > #include > #include > =20 > +#ifdef COMPAT_FREEBSD32 > +#include > +#endif > + > #include > =20 > SDT_PROVIDER_DEFINE(io); > @@ -398,25 +402,63 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) > */ > mygen =3D devstat_generation; > =20 > - error =3D SYSCTL_OUT(req, &mygen, sizeof(mygen)); > - > - if (devstat_num_devs =3D=3D 0) > - return(0); > +#ifdef COMPAT_FREEBSD32 > + if ((req->flags & SCTL_MASK32) !=3D 0) { > + int32_t mygen32 =3D (int32_t)mygen; > =20 > + error =3D SYSCTL_OUT(req, &mygen32, sizeof(mygen32)); > + } else > +#endif /* COMPAT_FREEBSD32 */ > + error =3D SYSCTL_OUT(req, &mygen, sizeof(mygen)); > if (error !=3D 0) > return (error); > =20 > + if (devstat_num_devs =3D=3D 0) > + return(0); > + > mtx_lock(&devstat_mutex); > nds =3D STAILQ_FIRST(&device_statq);=20 > if (mygen !=3D devstat_generation) > error =3D EBUSY; > mtx_unlock(&devstat_mutex); > - > if (error !=3D 0) > return (error); > =20 > while (nds !=3D NULL) { > - error =3D SYSCTL_OUT(req, nds, sizeof(struct devstat)); > +#ifdef COMPAT_FREEBSD32 > + if ((req->flags & SCTL_MASK32) !=3D 0) { > + struct devstat32 ds32; > + unsigned int i; > + > + CP(*nds, ds32, sequence0); > + CP(*nds, ds32, allocated); > + CP(*nds, ds32, start_count); > + CP(*nds, ds32, end_count); > + BT_CP(*nds, ds32, busy_from); > + PTROUT_CP(*nds, ds32, dev_links.stqe_next); > + CP(*nds, ds32, device_number); > + strcpy(ds32.device_name, nds->device_name); > + CP(*nds, ds32, unit_number); > + for (i =3D 0; i < DEVSTAT_N_TRANS_FLAGS; i++) { > + FU64_CP(*nds, ds32, bytes[i]); > + FU64_CP(*nds, ds32, operations[i]); > + BT_CP(*nds, ds32, duration[i]); > + } > + BT_CP(*nds, ds32, busy_time); > + BT_CP(*nds, ds32, creation_time); > + CP(*nds, ds32, block_size); > + for (i =3D 0; i < nitems(ds32.tag_types); i++) { > + FU64_CP(*nds, ds32, tag_types[i]); > + } > + CP(*nds, ds32, flags); > + CP(*nds, ds32, device_type); > + CP(*nds, ds32, priority); > + PTROUT_CP(*nds, ds32, id); > + CP(*nds, ds32, sequence1); > + error =3D SYSCTL_OUT(req, &ds32, sizeof(ds32)); > + } else > +#endif /* COMPAT_FREEBSD32 */ > + error =3D SYSCTL_OUT(req, nds, sizeof(*nds)); > if (error !=3D 0) > return (error); > mtx_lock(&devstat_mutex); > @@ -428,7 +470,7 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS) > if (error !=3D 0) > return (error); > } > - return(error); > + return (error); > } > =20 > /* >=20 >=20 --97a5bd8aa1ad4391bbe3cb58caa69cde Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
My build die= s with:

In file included from /usr/src/sys/kern= /subr_devstat.c:47:
In file included from /usr/src/sys/compat/= freebsd32/freebsd32.h:38:
/usr/src/sys/sys/user.h:692:16: erro= r: field has incomplete type 'struct kevent'
  692 | = ;        struct kevent   kn= t_event;
      |   &nb= sp;           &nb= sp;         ^
/usr/src= /sys/sys/user.h:692:9: note: forward declaration of 'struct kevent'
  692 |         struc= t kevent   knt_event;
     = |           &nbs= p;    ^
In file included from /usr/src/sys/kern= /subr_devstat.c:47:
/usr/src/sys/compat/freebsd32/freebsd32.h:= 465:18: error: field has incomplete type 'struct kevent32'
&nb= sp; 465 |         struct kevent3= 2 knt_event;
      |   = ;            = ;          ^
/usr= /src/sys/compat/freebsd32/freebsd32.h:465:9: note: forward declaration o= f 'struct kevent32'
  465 |     =     struct kevent32 knt_event;
  &nbs= p;   |         &n= bsp;      ^


=
Reverting this commit fixes it.

My kernel = conf a pretty close to standard GENERIC-NODEBUG.

Drew

include GENERIC-NODEBUG

ident   GENERIC-DREW

makeopt= ions     WITH_EXTRA_TCP_STACKS=3D1
nooptio= ns       INVARIANTS
nooptions&nb= sp;      INVARIANT_SUPPORT
nooptions&= nbsp;      WITNESS
nooptions &nb= sp;     WITNESS_SKIPSPIN
nooptions &n= bsp;     BUF_TRACKING
nooptions  = ;     DEADLKRES
nooptions   = ;    FULL_BUF_TRACKING
nooptions  &nb= sp;    COVERAGE
nooptions   &nbs= p;   KCOV
nooptions     &nb= sp; VIMAGE          &n= bsp;       # Subsystem virtualization, e.g= . VNET
#options        DEAD= LKRES           &= nbsp;   # Enable the deadlock resolver
options MSGBU= F_SIZE=3D524288
#options      &n= bsp; MP_WATCHDOG
nooptions      = IPSEC
options        = KERN_TLS          &nb= sp;     # TLS transmit offload
options&nbs= p;        TCPHPTS
options&n= bsp;        RATELIMIT  &nbs= p;            # T= X rate limiting support


On Mon, = Jan 26, 2026, at 7:02 AM, Dag-Erling Sm=C3=B8rgrav wrote:
The branch main has been upda= ted by des:


commit a11d132f6c62f32abe44b19f752= 7d97ddc239058
Author:     Dag-Erling Sm=C3= =B8rgrav <des@FreeBSD.org><= /div>
AuthorDate: 2026-01-26 12:01:39 +0000
Commit: &= nbsp;   Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
CommitDate: 2026-01-26 12:01= :59 +0000

    devstat: Provide 3= 2-bit compatibility
    
 &= nbsp;  If a 32-bit process running on a 64-bit kernel requests = ;kern.devstat.all,
&nb= sp;   translate each struct devstat to its 32-bit equivalent b= efore copying it
    out.
  = ;  
    Also fix a bug where an early= error would be ignored if there were no
    de= vices to report.
    
 &nbs= p;  MFC after:      1 week
 = ;   Reviewed by:    kib
  &= nbsp; Differential Revision:  https://reviews.freebsd.org/D54591
---
sys/compat/freebsd32/freebsd32.h | 27 +++++++++++++++++++
sys/kern/subr_devstat.c        = ;  | 56 +++++++++++++++++++++++++++++++++++-----
2 files = changed, 76 insertions(+), 7 deletions(-)

diff = --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd3= 2.h
index 7d21a5be5570..a8d54290980d 100644
--- a/sy= s/compat/freebsd32/freebsd32.h
+++ b/sys/compat/freebsd32/free= bsd32.h
@@ -29,7 +29,10 @@
#ifndef _COMPAT_FREEBSD32= _FREEBSD32_H_
#define _COMPAT_FREEBSD32_FREEBSD32_H_
 
+#include <sys/cdefs.h>
#include <s= ys/abi_compat.h>
+#include <sys/devicestat.h>
+#include <sys/mount.h>
#include <sys/procfs.h>=
#include <sys/socket.h>
#include <sys/user= .h>
@@ -540,4 +543,28 @@ struct ptrace_sc_remote32 {
<= div>uint32_t pscr_args;
};
 
+struct = devstat32 {
+ u_int sequence0;
+ int allocated;<= /div>
+ u_int start_count;
+ u_int end_count;
+ struct bintime32 busy_from;
+ struct { u_int32_t stqe_next= ; } dev_links;
+ u_int32_t device_number;
+ char = device_name[DEVSTAT_NAME_LEN];
+ int unit_number;
= + freebsd32_uint64_t bytes[DEVSTAT_N_TRANS_FLAGS];
+ freebsd32= _uint64_t operations[DEVSTAT_N_TRANS_FLAGS];
+ struct bintime3= 2 duration[DEVSTAT_N_TRANS_FLAGS];
+ struct bintime32 busy_tim= e;
+ struct bintime32       = ; creation_time;
+ u_int32_t block_size;
+ freebsd3= 2_uint64_t tag_types[3];
+ devstat_support_flags flags;
<= div>+ devstat_type_flags device_type;
+ devstat_priority prior= ity;
+ u_int32_t id;
+ u_int sequence1;
+};
+
#endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */<= /div>
diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c=
index c4d0223d484f..c62df0e210e1 100644
--- a/sys/k= ern/subr_devstat.c
+++ b/sys/kern/subr_devstat.c
@@ = -43,6 +43,10 @@
#include <vm/vm.h>
#include &l= t;vm/pmap.h>
 
+#ifdef COMPAT_FREEBSD32
+#include <compat/freebsd32/freebsd32.h>
+#endif
+
#include <machine/atomic.h>
 <= /div>
SDT_PROVIDER_DEFINE(io);
@@ -398,25 +402,63 @@ sysct= l_devstat(SYSCTL_HANDLER_ARGS)
*/
mygen =3D devstat_= generation;
 
- error =3D SYSCTL_OUT(req, &= mygen, sizeof(mygen));
-
- if (devstat_num_devs =3D=3D= 0)
- return(0);
+#ifdef COMPAT_FREEBSD32
+ if ((req->flags & SCTL_MASK32) !=3D 0) {
+ int32_t = mygen32 =3D (int32_t)mygen;
 
+ error =3D SYSC= TL_OUT(req, &mygen32, sizeof(mygen32));
+ } else
+#endif /* COMPAT_FREEBSD32 */
+ error =3D SYSCTL_OUT(req, &= amp;mygen, sizeof(mygen));
if (error !=3D 0)
return = (error);
 
+ if (devstat_num_devs =3D=3D 0)
+ return(0);
+
mtx_lock(&devstat_mutex);=
nds =3D STAILQ_FIRST(&device_statq); 
if (= mygen !=3D devstat_generation)
error =3D EBUSY;
mtx_= unlock(&devstat_mutex);
-
if (error !=3D 0)
return (error);
 
while (nds !=3D NULL) {=
- error =3D SYSCTL_OUT(req, nds, sizeof(struct devstat));
+#ifdef COMPAT_FREEBSD32
+ if ((req->flags & S= CTL_MASK32) !=3D 0) {
+ struct devstat32 ds32;
+ = unsigned int i;
+
+ CP(*nds, ds32, sequence0);
+ CP(*nds, ds32, allocated);
+ CP(*nds, ds32, star= t_count);
+ CP(*nds, ds32, end_count);
+ BT_CP(*= nds, ds32, busy_from);
+ PTROUT_CP(*nds, ds32, dev_links.stq= e_next);
+ CP(*nds, ds32, device_number);
+ strc= py(ds32.device_name, nds->device_n= ame);
+ CP(*nds, ds32, unit_number);
+ for (i =3D= 0; i < DEVSTAT_N_TRANS_FLAGS; i++) {
+ FU64_CP(*nds, ds= 32, bytes[i]);
+ FU64_CP(*nds, ds32, operations[i]);
<= div>+ BT_CP(*nds, ds32, duration[i]);
+ }
+ B= T_CP(*nds, ds32, busy_time);
+ BT_CP(*nds, ds32, creation_ti= me);
+ CP(*nds, ds32, block_size);
+ for (i =3D = 0; i < nitems(ds32.tag_types); i++) {=
+ FU64_CP(*nds, ds32, tag_types[i]);
+ }
=
+ CP(*nds, ds32, flags);
+ CP(*nds, ds32, device_type= );
+ CP(*nds, ds32, priority);
+ PTROUT_CP(*nds,= ds32, id);
+ CP(*nds, ds32, sequence1);
+ error= =3D SYSCTL_OUT(req, &ds32, sizeof(ds32));
+ } else
=
+#endif /* COMPAT_FREEBSD32 */
+ error =3D SYSCTL_OUT(r= eq, nds, sizeof(*nds));
if (error !=3D 0)
return (er= ror);
mtx_lock(&devstat_mutex);
@@ -428,7 +470,7= @@ sysctl_devstat(SYSCTL_HANDLER_ARGS)
if (error !=3D 0)
return (error);
}
- return(error);
+= return (error);
}
 
/*


--97a5bd8aa1ad4391bbe3cb58caa69cde-- From nobody Mon Jan 26 15:57:42 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 4f0CqC1ry5z6QS0J for ; Mon, 26 Jan 2026 15:57: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 4f0CqB5xFVz44qH for ; Mon, 26 Jan 2026 15:57:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1ZaQDdq4+QEPpY1yPtbI/bnepSVB/6lQgegS9LVMYis=; b=m+s5fdPe6CLwAVNn30S6pxexgnnPfXvKigE2dn9hKk/XGixfiRXmG1S3CrY4jkA8jDHrvb 4Wx/RKSeKNtJNaCHieeepmDmHVo03umuyqynsKEbKRbdSMZllDa3LjmKPKJsVDB3j1TtBs 4oqYxKwZr7R394YYk29faXPjS4tJhPCyNKbB8l1YwSRiKsr/d/Uc44uBXCeb6gR+QusqOn a0rsKCC3TzR7ocEtZvQWllak2xhmXSbjGwWSvHDuuaZ53m6pt8tW9gNuV0w/ikHvn6KAFE miMCdT1GQfHWB2+0Uiq5rf2rqwmzbdApOoOMzoZ29srnx6X3RWIW+X+OUJAdzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1ZaQDdq4+QEPpY1yPtbI/bnepSVB/6lQgegS9LVMYis=; b=jwobXlVytF8qYwsUcRKYbnxevxwvTsf17UO/xyNAnq9i4s4JGE1OV63OABfO+BR4i9lDo8 TQN7O2kJzM451OOMsKkAw3RQAasdmFcQ3s0XaYU9zOSAh8Vdmj5+cD22SoHasm6Sd+Ihxs PMK9beiMQS9USnYi7t9yACkbw62aDz5GecWb8QLQtDI3n2/gZsBlqRUJ/GcY4suV5H3n2B qPuJh/36H/D7VV2EwW4UmTTILUDQZExdcoDs1qixWXE6DFuB5T9f3HmSOHagARbNaoGLoy cVxT4gjhg8w5cHaHj12z/c56EosfiazBhfQ++Fe9VlUDyVpCbTurRrZV9ka1pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769443062; a=rsa-sha256; cv=none; b=YEL6QIB/1jP8m5b8VSHWvXeDHcWxsbFe0zKKyuMw/v9kf9N6B4qBk99bX5oEAm4wq5IchZ L+rhSgBCh3MDbTed+r1cFAHqBMsQCXzhHfuMFiVBxOmYb8LNhE1kzQX/0V2YH8yugzPKrp mJPTX6Ul0ooVwUqDxCRzhvQmrAcXUfPpHwMwl2J5gVyL2+Rgeq6eV7R0crCrVE2MPxvdan DsnGc5zS/y6okZ6PfaQ5t/A/2fV3QpFSrTYVHMAqYi0MKw4CHhjhwYZW7XwLguRdFIqMza do6cl6VLirKJyX0tAKFQUEEql14WHl5v/Nl7yccPAKUjyhk1K6HM9A90Es+otQ== 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 4f0CqB4bCZzC4r for ; Mon, 26 Jan 2026 15:57:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38fbd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 15:57:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: 48eee744b540 - main - sym(4): Consistently use device_printf(9) where applicable 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48eee744b540ef0413fa1cb543dde6e49e7f2ac4 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 15:57:42 +0000 Message-Id: <69778ef6.38fbd.2f3ad447@gitrepo.freebsd.org> The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=48eee744b540ef0413fa1cb543dde6e49e7f2ac4 commit 48eee744b540ef0413fa1cb543dde6e49e7f2ac4 Author: Marius Strobl AuthorDate: 2026-01-21 17:29:35 +0000 Commit: Marius Strobl CommitDate: 2026-01-26 15:54:47 +0000 sym(4): Consistently use device_printf(9) where applicable --- sys/dev/sym/sym_hipd.c | 222 +++++++++++++++++++++++++------------------------ 1 file changed, 114 insertions(+), 108 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index b4e5c1075fb4..7e255862aeac 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -2012,8 +2012,8 @@ static void sym_fw_bind_script (hcb_p np, u32 *start, int len) * command. */ if (opcode == 0) { - printf ("%s: ERROR0 IN SCRIPT at %d.\n", - sym_name(np), (int) (cur-start)); + device_printf(np->device, "ERROR0 IN SCRIPT at %d.\n", + (int)(cur-start)); MDELAY (10000); ++cur; continue; @@ -2056,8 +2056,9 @@ static void sym_fw_bind_script (hcb_p np, u32 *start, int len) tmp1 = cur[1]; tmp2 = cur[2]; if ((tmp1 ^ tmp2) & 3) { - printf ("%s: ERROR1 IN SCRIPT at %d.\n", - sym_name(np), (int) (cur-start)); + device_printf(np->device, + "ERROR1 IN SCRIPT at %d.\n", + (int)(cur-start)); MDELAY (10000); } /* @@ -2426,8 +2427,8 @@ static void sym_print_targets_flag(hcb_p np, int mask, char *msg) continue; if (np->target[i].usrflags & mask) { if (!cnt++) - printf("%s: %s disabled for targets", - sym_name(np), msg); + device_printf(np->device, + "%s disabled for targets", msg); printf(" %d", i); } } @@ -2750,41 +2751,42 @@ static int sym_prepare_setting(hcb_p np, struct sym_nvram *nvram) * Let user know about the settings. */ i = nvram->type; - printf("%s: %s NVRAM, ID %d, Fast-%d, %s, %s\n", sym_name(np), - i == SYM_SYMBIOS_NVRAM ? "Symbios" : - (i == SYM_TEKRAM_NVRAM ? "Tekram" : "No"), - np->myaddr, - (np->features & FE_ULTRA3) ? 80 : - (np->features & FE_ULTRA2) ? 40 : - (np->features & FE_ULTRA) ? 20 : 10, - sym_scsi_bus_mode(np->scsi_mode), - (np->rv_scntl0 & 0xa) ? "parity checking" : "NO parity"); + device_printf(np->device, "%s NVRAM, ID %d, Fast-%d, %s, %s\n", + i == SYM_SYMBIOS_NVRAM ? "Symbios" : + (i == SYM_TEKRAM_NVRAM ? "Tekram" : "No"), + np->myaddr, + (np->features & FE_ULTRA3) ? 80 : + (np->features & FE_ULTRA2) ? 40 : + (np->features & FE_ULTRA) ? 20 : 10, + sym_scsi_bus_mode(np->scsi_mode), + (np->rv_scntl0 & 0xa) ? "parity checking" : "NO parity"); /* * Tell him more on demand. */ if (sym_verbose) { - printf("%s: %s IRQ line driver%s\n", - sym_name(np), - np->rv_dcntl & IRQM ? "totem pole" : "open drain", - np->ram_ba ? ", using on-chip SRAM" : ""); - printf("%s: using %s firmware.\n", sym_name(np), np->fw_name); + device_printf(np->device, "%s IRQ line driver%s\n", + np->rv_dcntl & IRQM ? "totem pole" : "open drain", + np->ram_ba ? ", using on-chip SRAM" : ""); + device_printf(np->device, "using %s firmware.\n", np->fw_name); if (np->features & FE_NOPM) - printf("%s: handling phase mismatch from SCRIPTS.\n", - sym_name(np)); + device_printf(np->device, + "handling phase mismatch from SCRIPTS.\n"); } /* * And still more. */ if (sym_verbose > 1) { - printf ("%s: initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " - "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", - sym_name(np), np->sv_scntl3, np->sv_dmode, np->sv_dcntl, - np->sv_ctest3, np->sv_ctest4, np->sv_ctest5); + device_printf(np->device, + "initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " + "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", + np->sv_scntl3, np->sv_dmode, np->sv_dcntl, np->sv_ctest3, + np->sv_ctest4, np->sv_ctest5); - printf ("%s: final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " - "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", - sym_name(np), np->rv_scntl3, np->rv_dmode, np->rv_dcntl, - np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); + device_printf(np->device, + "final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = " + "(hex) %02x/%02x/%02x/%02x/%02x/%02x\n", + np->rv_scntl3, np->rv_dmode, np->rv_dcntl, + np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); } /* * Let user be aware of targets that have some disable flags set. @@ -2911,7 +2913,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) np->squeueput = qidx; if (DEBUG_FLAGS & DEBUG_QUEUE) - printf ("%s: queuepos=%d.\n", sym_name (np), np->squeueput); + device_printf(np->device, "queuepos=%d.\n", np->squeueput); /* * Script processor may be waiting for reselect. @@ -2965,8 +2967,8 @@ static void sym_soft_reset (hcb_p np) } } if (!i) - printf("%s: unable to abort current chip operation.\n", - sym_name(np)); + device_printf(np->device, + "unable to abort current chip operation.\n"); sym_chip_reset (np); } @@ -3016,13 +3018,12 @@ static int sym_reset_scsi_bus(hcb_p np, int enab_int) term &= 0x3ffff; if (term != (2<<7)) { - printf("%s: suspicious SCSI data while resetting the BUS.\n", - sym_name(np)); - printf("%s: %sdp0,d7-0,rst,req,ack,bsy,sel,atn,msg,c/d,i/o = " - "0x%lx, expecting 0x%lx\n", - sym_name(np), - (np->features & FE_WIDE) ? "dp1,d15-8," : "", - (u_long)term, (u_long)(2<<7)); + device_printf(np->device, + "suspicious SCSI data while resetting the BUS.\n"); + device_printf(np->device, + "%sdp0,d7-0,rst,req,ack,bsy,sel,atn,msg,c/d,i/o = " + "0x%lx, expecting 0x%lx\n", (np->features & FE_WIDE) ? + "dp1,d15-8," : "", (u_long)term, (u_long)(2 << 7)); if (SYM_SETUP_SCSI_BUS_CHECK == 1) retv = 1; } @@ -3062,10 +3063,9 @@ static int sym_wakeup_done (hcb_p np) MEMORY_BARRIER(); sym_complete_ok (np, cp); ++n; - } - else - printf ("%s: bad DSA (%x) in done queue.\n", - sym_name(np), (u_int) dsa); + } else + device_printf(np->device, + "bad DSA (%x) in done queue.\n", (u_int)dsa); } np->dqueueget = i; @@ -3286,8 +3286,8 @@ static void sym_init (hcb_p np, int reason) */ if (np->ram_ba) { if (sym_verbose > 1) - printf ("%s: Downloading SCSI SCRIPTS.\n", - sym_name(np)); + device_printf(np->device, + "Downloading SCSI SCRIPTS.\n"); if (np->ram_ws == 8192) { OUTRAM_OFF(4096, np->scriptb0, np->scriptb_sz); OUTL (nc_mmws, np->scr_ram_seg); @@ -3710,11 +3710,11 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) if (((script_ofs & 3) == 0) && (unsigned)script_ofs < script_size) { - printf ("%s: script cmd = %08x\n", sym_name(np), - scr_to_cpu((int) *(u32 *)(script_base + script_ofs))); + device_printf(np->device, "script cmd = %08x\n", + scr_to_cpu((int) *(u32 *)(script_base + script_ofs))); } - printf ("%s: regdump:", sym_name(np)); + device_printf(np->device, "regdump:"); for (i = 0; i < 24; i++) printf (" %02x", (unsigned)INB_OFF(i)); printf (".\n"); @@ -3727,8 +3727,8 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat) pci_sts = pci_read_config(np->device, PCIR_STATUS, 2); if (pci_sts & 0xf900) { pci_write_config(np->device, PCIR_STATUS, pci_sts, 2); - printf("%s: PCI STATUS = 0x%04x\n", - sym_name(np), pci_sts & 0xf900); + device_printf(np->device, "PCI STATUS = 0x%04x\n", + pci_sts & 0xf900); } } } @@ -3933,9 +3933,9 @@ unknown_int: * We just miss the cause of the interrupt. :( * Print a message. The timeout will do the real work. */ - printf( "%s: unknown interrupt(s) ignored, " - "ISTAT=0x%x DSTAT=0x%x SIST=0x%x\n", - sym_name(np), istat, dstat, sist); + device_printf(np->device, + "unknown interrupt(s) ignored, ISTAT=0x%x DSTAT=0x%x SIST=0x%x\n", + istat, dstat, sist); } static void sym_intr(void *arg) @@ -4050,7 +4050,7 @@ static void sym_int_sto (hcb_p np) */ static void sym_int_udc (hcb_p np) { - printf ("%s: unexpected disconnect\n", sym_name(np)); + device_printf(np->device, "unexpected disconnect\n"); sym_recover_scsi_int(np, HS_UNEXPECTED); } @@ -4117,8 +4117,9 @@ static void sym_int_par (hcb_p np, u_short sist) int phase = cmd & 7; ccb_p cp = sym_ccb_from_dsa(np, dsa); - printf("%s: SCSI parity error detected: SCR1=%d DBC=%x SBCL=%x\n", - sym_name(np), hsts, dbc, sbcl); + device_printf(np->device, + "SCSI parity error detected: SCR1=%d DBC=%x SBCL=%x\n", hsts, dbc, + sbcl); /* * Check that the chip is connected to the SCSI BUS. @@ -4305,14 +4306,14 @@ static void sym_int_ma (hcb_p np) } if (!vdsp) { - printf ("%s: interrupted SCRIPT address not found.\n", - sym_name (np)); + device_printf(np->device, + "interrupted SCRIPT address not found.\n"); goto reset_all; } if (!cp) { - printf ("%s: SCSI phase error fixup: CCB already dequeued.\n", - sym_name (np)); + device_printf(np->device, + "SCSI phase error fixup: CCB already dequeued.\n"); goto reset_all; } @@ -6757,15 +6758,15 @@ restart_test: dstat = INB (nc_dstat); #if 1 /* Band aiding for broken hardwares that fail PCI parity */ if ((dstat & MDPE) && (np->rv_ctest4 & MPEE)) { - printf ("%s: PCI DATA PARITY ERROR DETECTED - " - "DISABLING MASTER DATA PARITY CHECKING.\n", - sym_name(np)); + device_printf(np->device, "PCI DATA PARITY ERROR DETECTED - " + "DISABLING MASTER DATA PARITY CHECKING.\n"); np->rv_ctest4 &= ~MPEE; goto restart_test; } #endif if (dstat & (MDPE|BF|IID)) { - printf ("CACHE TEST FAILED: DMA error (dstat=0x%02x).", dstat); + device_printf(np->device, + "CACHE TEST FAILED: DMA error (dstat=0x%02x).\n", dstat); return (0x80); } /* @@ -6783,28 +6784,32 @@ restart_test: * Check termination position. */ if (pc != SCRIPTB0_BA (np, snoopend)+8) { - printf ("CACHE TEST FAILED: script execution failed.\n"); - printf ("start=%08lx, pc=%08lx, end=%08lx\n", - (u_long) SCRIPTB0_BA (np, snooptest), (u_long) pc, - (u_long) SCRIPTB0_BA (np, snoopend) +8); + device_printf(np->device, + "CACHE TEST FAILED: script execution failed.\n"); + device_printf(np->device, "start=%08lx, pc=%08lx, end=%08lx\n", + (u_long)SCRIPTB0_BA(np, snooptest), (u_long)pc, + (u_long)SCRIPTB0_BA(np, snoopend) + 8); return (0x40); } /* * Show results. */ if (host_wr != sym_rd) { - printf ("CACHE TEST FAILED: host wrote %d, chip read %d.\n", - (int) host_wr, (int) sym_rd); + device_printf(np->device, + "CACHE TEST FAILED: host wrote %d, chip read %d.\n", + (int)host_wr, (int)sym_rd); err |= 1; } if (host_rd != sym_wr) { - printf ("CACHE TEST FAILED: chip wrote %d, host read %d.\n", - (int) sym_wr, (int) host_rd); + device_printf(np->device, + "CACHE TEST FAILED: chip wrote %d, host read %d.\n", + (int)sym_wr, (int)host_rd); err |= 2; } if (sym_bk != sym_wr) { - printf ("CACHE TEST FAILED: chip wrote %d, read back %d.\n", - (int) sym_wr, (int) sym_bk); + device_printf(np->device, + "CACHE TEST FAILED: chip wrote %d, read back %d.\n", + (int)sym_wr, (int)sym_bk); err |= 4; } @@ -6843,7 +6848,7 @@ static void sym_selectclock(hcb_p np, u_char scntl3) } if (sym_verbose >= 2) - printf ("%s: enabling clock multiplier\n", sym_name(np)); + device_printf(np->device, "enabling clock multiplier\n"); OUTB(nc_stest1, DBLEN); /* Enable clock multiplier */ /* @@ -6855,8 +6860,8 @@ static void sym_selectclock(hcb_p np, u_char scntl3) while (!(INB(nc_stest4) & LCKFRQ) && --i > 0) UDELAY (20); if (!i) - printf("%s: the chip cannot lock the frequency\n", - sym_name(np)); + device_printf(np->device, + "the chip cannot lock the frequency\n"); } else UDELAY (20); OUTB(nc_stest3, HSC); /* Halt the scsi clock */ @@ -6911,8 +6916,8 @@ static unsigned getfreq (hcb_p np, int gen) f = ms ? ((1 << gen) * 4340) / ms : 0; if (sym_verbose >= 2) - printf ("%s: Delay (GEN=%d): %u msec, %u KHz\n", - sym_name(np), gen, ms, f); + device_printf(np->device, "Delay (GEN=%d): %u msec, %u KHz\n", + gen, ms, f); return f; } @@ -6954,7 +6959,7 @@ static void sym_getclock (hcb_p np, int mult) */ if (mult > 1 && (stest1 & (DBLEN+DBLSEL)) == DBLEN+DBLSEL) { if (sym_verbose >= 2) - printf ("%s: clock multiplier found\n", sym_name(np)); + device_printf(np->device, "clock multiplier found\n"); np->multiplier = mult; } @@ -6968,7 +6973,7 @@ static void sym_getclock (hcb_p np, int mult) f1 = sym_getfreq (np); if (sym_verbose) - printf ("%s: chip clock is %uKHz\n", sym_name(np), f1); + device_printf(np->device, "chip clock is %uKHz\n", f1); if (f1 < 45000) f1 = 40000; else if (f1 < 55000) f1 = 50000; @@ -6976,8 +6981,8 @@ static void sym_getclock (hcb_p np, int mult) if (f1 < 80000 && mult > 1) { if (sym_verbose >= 2) - printf ("%s: clock multiplier assumed\n", - sym_name(np)); + device_printf(np->device, + "clock multiplier assumed\n"); np->multiplier = mult; } } else { @@ -7858,9 +7863,9 @@ sym_fast_scatter_sg_physical(hcb_p np, ccb_p cp, data->addr = cpu_to_scr(psegs2->ds_addr); data->size = cpu_to_scr(psegs2->ds_len); if (DEBUG_FLAGS & DEBUG_SCATTER) { - printf ("%s scatter: paddr=%lx len=%ld\n", - sym_name(np), (long) psegs2->ds_addr, - (long) psegs2->ds_len); + device_printf(np->device, + "scatter: paddr=%lx len=%ld\n", + (long)psegs2->ds_addr, (long)psegs2->ds_len); } if (psegs2 != psegs) { --data; @@ -7895,8 +7900,8 @@ sym_scatter_sg_physical(hcb_p np, ccb_p cp, bus_dma_segment_t *psegs, int nsegs) pn = ps; k = pe - pn; if (DEBUG_FLAGS & DEBUG_SCATTER) { - printf ("%s scatter: paddr=%lx len=%ld\n", - sym_name(np), pn, k); + device_printf(np->device, + "scatter: paddr=%lx len=%ld\n", pn, k); } cp->phys.data[s].addr = cpu_to_scr(pn); cp->phys.data[s].size = cpu_to_scr(k); @@ -9057,14 +9062,14 @@ static void sym_display_Symbios_nvram(hcb_p np, Symbios_nvram *nvram) int i; /* display Symbios nvram host data */ - printf("%s: HOST ID=%d%s%s%s%s%s%s\n", - sym_name(np), nvram->host_id & 0x0f, - (nvram->flags & SYMBIOS_SCAM_ENABLE) ? " SCAM" :"", - (nvram->flags & SYMBIOS_PARITY_ENABLE) ? " PARITY" :"", - (nvram->flags & SYMBIOS_VERBOSE_MSGS) ? " VERBOSE" :"", - (nvram->flags & SYMBIOS_CHS_MAPPING) ? " CHS_ALT" :"", - (nvram->flags2 & SYMBIOS_AVOID_BUS_RESET)?" NO_RESET" :"", - (nvram->flags1 & SYMBIOS_SCAN_HI_LO) ? " HI_LO" :""); + device_printf(np->device, "HOST ID=%d%s%s%s%s%s%s\n", + nvram->host_id & 0x0f, + (nvram->flags & SYMBIOS_SCAM_ENABLE) ? " SCAM" : "", + (nvram->flags & SYMBIOS_PARITY_ENABLE) ? " PARITY" : "", + (nvram->flags & SYMBIOS_VERBOSE_MSGS) ? " VERBOSE" : "", + (nvram->flags & SYMBIOS_CHS_MAPPING) ? " CHS_ALT" : "", + (nvram->flags2 & SYMBIOS_AVOID_BUS_RESET) ? " NO_RESET" : "", + (nvram->flags1 & SYMBIOS_SCAN_HI_LO) ? " HI_LO" : ""); /* display Symbios nvram drive data */ for (i = 0 ; i < 15 ; i++) { @@ -9102,17 +9107,18 @@ static void sym_display_Tekram_nvram(hcb_p np, Tekram_nvram *nvram) case 2: rem = " REMOVABLE=all"; break; } - printf("%s: HOST ID=%d%s%s%s%s%s%s%s%s%s BOOT DELAY=%d tags=%d\n", - sym_name(np), nvram->host_id & 0x0f, - (nvram->flags1 & SYMBIOS_SCAM_ENABLE) ? " SCAM" :"", - (nvram->flags & TEKRAM_MORE_THAN_2_DRIVES) ? " >2DRIVES" :"", - (nvram->flags & TEKRAM_DRIVES_SUP_1GB) ? " >1GB" :"", - (nvram->flags & TEKRAM_RESET_ON_POWER_ON) ? " RESET" :"", - (nvram->flags & TEKRAM_ACTIVE_NEGATION) ? " ACT_NEG" :"", - (nvram->flags & TEKRAM_IMMEDIATE_SEEK) ? " IMM_SEEK" :"", - (nvram->flags & TEKRAM_SCAN_LUNS) ? " SCAN_LUNS" :"", - (nvram->flags1 & TEKRAM_F2_F6_ENABLED) ? " F2_F6" :"", - rem, boot_delay, tags); + device_printf(np->device, + "HOST ID=%d%s%s%s%s%s%s%s%s%s BOOT DELAY=%d tags=%d\n", + nvram->host_id & 0x0f, + (nvram->flags1 & SYMBIOS_SCAM_ENABLE) ? " SCAM" : "", + (nvram->flags & TEKRAM_MORE_THAN_2_DRIVES) ? " >2DRIVES" : "", + (nvram->flags & TEKRAM_DRIVES_SUP_1GB) ? " >1GB" : "", + (nvram->flags & TEKRAM_RESET_ON_POWER_ON) ? " RESET" : "", + (nvram->flags & TEKRAM_ACTIVE_NEGATION) ? " ACT_NEG" : "", + (nvram->flags & TEKRAM_IMMEDIATE_SEEK) ? " IMM_SEEK" : "", + (nvram->flags & TEKRAM_SCAN_LUNS) ? " SCAN_LUNS" : "", + (nvram->flags1 & TEKRAM_F2_F6_ENABLED) ? " F2_F6" : "", + rem, boot_delay, tags); /* display Tekram nvram drive data */ for (i = 0; i <= 15; i++) { From nobody Mon Jan 26 15:57: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 4f0CqD10ymz6QRgL for ; Mon, 26 Jan 2026 15:57: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 4f0CqC5gTqz44qK for ; Mon, 26 Jan 2026 15:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=adItI7L6oGh328eBkL5cEhnk9wwBWIu/r2N4VZfXYO0=; b=uZWpChBM5GnTkRt+A1ZbXNBHYTcvwhD35QaUrHp+deDIR36Iuzz8fzx6vFl9xebM4wyIts naAGs7ygp3ChmEo5Sxm8rdqXIlsXmnCV6ezp+lJPnlVE9NMJgapqJSjBnMqFseqD8nrnIh HLB1sJQOna7JUbC6nfQnvebl6+6zxnFZJD/iKT1kqA2Cety7Fg+Zhh+rAO0QC05W5Sd1ss 7kJQnixqpXkXll9yWVzUfy+A6ZNbjZVLSQKcrtl+qbLShpFoLyDZ6umTn/pdW/6/r/gSo3 idgiIkHFIg0uljID0bgCIh4yfUCjAmLFVxC9KTat9CBHOp1HCgVAyiX3l1bBAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=adItI7L6oGh328eBkL5cEhnk9wwBWIu/r2N4VZfXYO0=; b=cBO7/lG1B6cAnZVEjjeiEhUFBH3DkHj7p7tXmM66hGrSZPAQ5UgbkMtlD22bqfZg6axYCd TrAAWhv50ztWj67doj8RROgyrVlbRd+gsLo6sc64aTEFkBCBavtNfOjwmD8Wsj0ovXZ8jl 6puq5by1lIp2dwhz+VUs/WoF+dkNqcVzF+2XWiJNADFYTCTJClWYe+SG410/HFxDn987vY UNhknYo/6mU9DPQX+AyslTWf4u80LwQHIEyYJSIj7la+gLsQMB+drb/Aq57Go6hP/2edNn OW8A4JT0aIdVv6Y/CS5IKl+GSSlLySNioRNBwIIhrMbg3f1zLHqWVMC0UcVLfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769443063; a=rsa-sha256; cv=none; b=Al/ubJJbZ5B7tnDNkHifPjVpZ7ER8++42hPYKZPpAkdD+JEr8Hix4OFBnrYZYWUD1G3v4O eRxrAG8FPpNpAEmBxlG0udmBFSby2A/UQADAucNUgSLAmyscbiEr1BRdXQtOAirhwUHsjZ /EQVBF33xIL/vTrElsJ8oa+6b0NoyR51ygPQR6CgAVx9dziLjoMJovZoSmecmBrikgdIf/ mYk48NxwDAC4TqHCf/HCgWNBy7j7Q4Ftq7ootYomB4kEC2zhUXqML66vEXZB1JhdD0lmfD 5Fu2HM+5VYwT/3sBNXrX0ZPjqiP3ZpnqOwj8abwZlXY4WmLokp08BZdiiZ0wNw== 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 4f0CqC4ymKzC4s for ; Mon, 26 Jan 2026 15:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38a5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 15:57:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: c8e9479c74a2 - main - sym(4): Use memcpy(9) instead of bcopy(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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8e9479c74a2af0f6c665e930091c163bf760fd5 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 15:57:43 +0000 Message-Id: <69778ef7.38a5e.2afd3b8d@gitrepo.freebsd.org> The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=c8e9479c74a2af0f6c665e930091c163bf760fd5 commit c8e9479c74a2af0f6c665e930091c163bf760fd5 Author: Marius Strobl AuthorDate: 2026-01-21 16:47:50 +0000 Commit: Marius Strobl CommitDate: 2026-01-26 15:54:47 +0000 sym(4): Use memcpy(9) instead of bcopy(9) The overlap handling of bcopy(9) is not required in these cases. Obtained from: BSD-licensed Linux sym53c8xx driver --- sys/dev/sym/sym_hipd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 7e255862aeac..6b7c0bd355ef 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -7151,7 +7151,7 @@ static void sym_complete_error (hcb_p np, ccb_p cp) sense_returned; else csio->sense_resid = 0; - bcopy(cp->sns_bbuf, &csio->sense_data, + memcpy(&csio->sense_data, cp->sns_bbuf, MIN(csio->sense_len, sense_returned)); #if 0 /* @@ -7636,7 +7636,7 @@ static int sym_setup_cdb(hcb_p np, struct ccb_scsiio *csio, ccb_p cp) /* CDB is a pointer */ if (!(ccb_h->flags & CAM_CDB_PHYS)) { /* CDB pointer is virtual */ - bcopy(csio->cdb_io.cdb_ptr, cp->cdb_buf, cmd_len); + memcpy(cp->cdb_buf, csio->cdb_io.cdb_ptr, cmd_len); cmd_ba = CCB_BA (cp, cdb_buf[0]); } else { /* CDB pointer is physical */ @@ -7649,7 +7649,7 @@ static int sym_setup_cdb(hcb_p np, struct ccb_scsiio *csio, ccb_p cp) } } else { /* CDB is in the CAM ccb (buffer) */ - bcopy(csio->cdb_io.cdb_bytes, cp->cdb_buf, cmd_len); + memcpy(cp->cdb_buf, csio->cdb_io.cdb_bytes, cmd_len); cmd_ba = CCB_BA (cp, cdb_buf[0]); } @@ -8636,8 +8636,8 @@ sym_pci_attach(device_t dev) /* * Copy scripts to controller instance. */ - bcopy(fw->a_base, np->scripta0, np->scripta_sz); - bcopy(fw->b_base, np->scriptb0, np->scriptb_sz); + memcpy(np->scripta0, fw->a_base, np->scripta_sz); + memcpy(np->scriptb0, fw->b_base, np->scriptb_sz); /* * Setup variable parts in scripts and compute From nobody Mon Jan 26 15:57: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 4f0CqF4Jnpz6QRck for ; Mon, 26 Jan 2026 15:57: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 4f0CqD5dLHz44qL for ; Mon, 26 Jan 2026 15:57:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scPe335YGIemu1D8DWvWW0CN0RbMoYBQDgfIFKr6iUQ=; b=hUdVsYU2M+PCFGCNc/0MIQ1Lw3VgUZ/JsfNzZNw0BYLf6Wvjs26q5dzfMMk1nMREmTK+eb om0iaJtA9yKa/o5fLHrIatVKF+9hQUp92Rvf6b9YqgO9C/dvAfu1sfauoYJj+gVPfso8iG tzlLKsHSAQYTe9Vj9YXb2qL69rJRDwG/JsrVsnwT5FOQIqcP+Iw9S9wAXM93ktiy7GL5P3 fEDLAswz/2EUQ34Wfj+ufQwpWVUvB0+tiLcA5WvzBDmOmdCBdTUV+J7xPxkyGwv4ynGPlj 2r94vBLmcxc6BL5lSaQFFRsggmsmac2jLhxq9dHyUIYwdNMviULSAcorl9tK/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scPe335YGIemu1D8DWvWW0CN0RbMoYBQDgfIFKr6iUQ=; b=jAUnm2gq6JFWK9iJOczvQtPaNkCCymMm8PYJaAPU62E8gkrzxLFGPisnWfXtAP12HFTPia bbCQ3pYK3aJcPpxAGJmR5YJ3kbhYsM85Fz31b9QXHmwRnD+1e/HZaTIkLPldp+QIu+waOr GnV5AJ+9ONcMkbfugXj5vMEeqkWEAR3rGFfBfjVuWmKcwSXQpcICAMYEQ/VkXyQmvH+QSV Y6QXhMxEqCTr/kYiLsNufhg1odOfGvClyYCjFWe2iiuKh3OeMqtEDCdD0HhNjD4/kiND2O k+H6F6CEoe5SVavQmH9mqBKy8ZXvfLoMfePTZnIIZLMCnHdCD3l9D7WhMxqgxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769443064; a=rsa-sha256; cv=none; b=YyBDfwjy7GNDsknzYg7Q+R5PdVxJ9qjbo203DepeHjjw5HleNmF0CN0GgT/qBDqyXBUTpX rfpzZFa2TtOVCXfSMyquYwrJygDgTpXMEfD4tE6sSpXlfhbcdHbNDGEVXT3WPfD9gIPO9A Ht3bYTuPMmMpTnUfSh3GnJ7fn5lDdq2BeyI+ImK7unE7QQHZkkcVlxhHZJiCRhrF5nMXw/ +qhnHboYb+svQBMC8aeMj/RB+TsbL1SSnwzYVCee/+qs0oWx0pRLEmuhfPN0x7S4IFIl8b wp87w73W9BIBxSv5b/CwXdFDSFSn0wF8DLSHfrB4IlB6Hwl87+Ps0buttv1yog== 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 4f0CqD5DgLzC4t for ; Mon, 26 Jan 2026 15:57:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37bdf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 15:57:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: 518c01b31e96 - main - sym(4): Provide a DEVICE_DETACH(9) method 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 518c01b31e96bbe8353a551885a61e7da6aed5f6 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 15:57:44 +0000 Message-Id: <69778ef8.37bdf.46830bb7@gitrepo.freebsd.org> The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=518c01b31e96bbe8353a551885a61e7da6aed5f6 commit 518c01b31e96bbe8353a551885a61e7da6aed5f6 Author: Marius Strobl AuthorDate: 2026-01-22 09:05:38 +0000 Commit: Marius Strobl CommitDate: 2026-01-26 15:54:48 +0000 sym(4): Provide a DEVICE_DETACH(9) method This also fixes sym_cam_free() to tear things down correctly, i. e. in opposite order of setup, as well as sym_cam_attach() to not free devq and SIM twice in the failure case. --- sys/dev/sym/sym_hipd.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 6b7c0bd355ef..0e51607fb07a 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -2249,10 +2249,11 @@ static void sym_update_dflags(hcb_p np, u_char *flags, struct ccb_trans_settings *cts); static const struct sym_pci_chip *sym_find_pci_chip (device_t dev); -static int sym_pci_probe (device_t dev); -static int sym_pci_attach (device_t dev); -static void sym_pci_free (hcb_p np); +static device_probe_t sym_pci_probe; +static device_attach_t sym_pci_attach; +static device_detach_t sym_pci_detach; + static int sym_cam_attach (hcb_p np); static void sym_cam_free (hcb_p np); @@ -8237,6 +8238,7 @@ sym_update_dflags(hcb_p np, u_char *flags, struct ccb_trans_settings *cts) static device_method_t sym_pci_methods[] = { DEVMETHOD(device_probe, sym_pci_probe), DEVMETHOD(device_attach, sym_pci_attach), + DEVMETHOD(device_detach, sym_pci_detach), DEVMETHOD_END }; @@ -8740,21 +8742,25 @@ sym_pci_attach(device_t dev) */ attach_failed: if (np) - sym_pci_free(np); + sym_pci_detach(dev); return ENXIO; } /* - * Free everything that have been allocated for this device. + * Detach a device by freeing everything that has been allocated for it. */ -static void sym_pci_free(hcb_p np) +static int +sym_pci_detach(device_t dev) { + hcb_p np; SYM_QUEHEAD *qp; ccb_p cp; tcb_p tp; lcb_p lp; int target, lun; + np = device_get_softc(dev); + /* * First free CAM resources. */ @@ -8829,6 +8835,8 @@ static void sym_pci_free(hcb_p np) SYM_LOCK_DESTROY(); device_set_softc(np->device, NULL); sym_mfree_dma(np, sizeof(*np), "HCB"); + + return (0); } /* @@ -8902,11 +8910,6 @@ static int sym_cam_attach(hcb_p np) return 1; fail: - if (sim) - cam_sim_free(sim, FALSE); - if (devq) - cam_simq_free(devq); - SYM_UNLOCK(); sym_cam_free(np); @@ -8929,15 +8932,16 @@ static void sym_cam_free(hcb_p np) SYM_LOCK(); + if (np->path) { + xpt_async(AC_LOST_DEVICE, np->path, NULL); + xpt_free_path(np->path); + np->path = NULL; + } if (np->sim) { xpt_bus_deregister(cam_sim_path(np->sim)); cam_sim_free(np->sim, /*free_devq*/ TRUE); np->sim = NULL; } - if (np->path) { - xpt_free_path(np->path); - np->path = NULL; - } SYM_UNLOCK(); } From nobody Mon Jan 26 15:57: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 4f0CqG0bZ7z6QS0N for ; Mon, 26 Jan 2026 15:57: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 4f0CqF6HS5z455q for ; Mon, 26 Jan 2026 15:57:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PKyDlU1coTH7SFgHU5YAeBYT1N4+5lVW+WfVwH9oCbI=; b=aKDkOpDhn4PBveFYg9ZrOJ9r957Yy5gDSwi3cObXcE7zM8RziOjyaYSF4LL0u2/NH+HX/1 Kyc+UZHVCkSsUSZ5GJmfd6DXD4SIc3iEb1IIaLvVn6cF0qBJXSTPqhat8cBjAvDJ5P9UD4 +IfULKYpdAEswZtY8GWP7W7fcv0YO+1KKJp9DfmL5WDjyqYGQGa4EnEKZzgfdSPWzN40d5 fw7qEwxVYDmnhvp+Mp955TfBJKlEs/sAQeinGfylNfVuFDmvpfvm0u0RnmVTPjgr/ujoJ3 FQF/xcTsO3u426ZQ4lE4EWu9cJLtpus1tGcBpuy/Fsnt+OGJXddpvI4RaLpvHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769443065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PKyDlU1coTH7SFgHU5YAeBYT1N4+5lVW+WfVwH9oCbI=; b=sDmTfmHoMJgd62aq/rIDaAFdxc301DfLZZLOH8ebt6uB/xtz9+cxTt5HAzmRDMQ7z/p4dZ YI/tbRclFYcWjfKapXR01AuS8rjvRmmUlDokT9ZJSDqX61HxOrrjE6q0z1miYBQ5yMk8aL 6UsIZfOyg0KLiNIm45vzwXM04asgUrMJXe48KzttUvZ8tCdnuJlediFBIL1p3nMoXTzpTC uMF8q7f3Cy7M4aO3bc4lG6DRKm83goXTEflAaMi41Jt+OHU97phjKPb2Z+QGezfCiB1Urq LivmLLZLRYTPmbKLpvqe7zcPG3aHpFkj5k/UsA8ljd2t1upC9jymgCcfcH3EMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769443065; a=rsa-sha256; cv=none; b=LXc1+I7VofkSAp/ipWp4xDnDqe5SJBHh9fq063X8w/HuX9Y8Gv5JfZy0XHZkA0MGqfw1uw VNezIo/c4pcW1cc5nI/AuPMDZqk8uzaNJk+KVJJSyeXGrir8aRd0eqgSpxWPwEgyJO1F5P u/IxSHAjR6K4qa2J8Czpk0ixCmPoTJ0MbXIpnHAo5mO+Pbei9w3Kx6P4PK7lPb8wE4clOK 04IQfRA3aaTE2Azi0E7pey5b+0WJl2eiTREw2MKl/QYRP9z63UT3OHW66ahf385VLk7ay8 nBUixsxJzeJ7PlpF34BqUYz1CwjX3Axnd93En2QtAUldHqmIy1XlgXW3lXBsyA== 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 4f0CqF5n3zzC4v for ; Mon, 26 Jan 2026 15:57:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39b4d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 15:57:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Marius Strobl Subject: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 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: marius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e769bc77184312b6137a9b180c97b87c0760b849 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 15:57:45 +0000 Message-Id: <69778ef9.39b4d.5c480abe@gitrepo.freebsd.org> The branch main has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 commit e769bc77184312b6137a9b180c97b87c0760b849 Author: Marius Strobl AuthorDate: 2026-01-26 13:58:57 +0000 Commit: Marius Strobl CommitDate: 2026-01-26 15:54:48 +0000 sym(4): Employ memory barriers also on x86 In an MP world, it doesn't hold that x86 requires no memory barriers. This change should also fix panics due to out-of-sync data seen with FreeBSD VMs on top of OpenStack and HBAs of type lsiLogic. [1] While at it: - Improve the granularity somewhat by distinguishing between read and write memory barriers as well as refer to existing *mb(9) functions instead of duplicating these [2], unless IO barriers are also used. - Nuke the unused SYM_DRIVER_NAME macro. PR: 270816 [1] Obtained from: BSD-licensed Linux sym53c8xx driver [2] MFC after: 1 week --- sys/dev/sym/sym_hipd.c | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 0e51607fb07a..f78d595a73ce 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -58,7 +58,6 @@ */ #include -#define SYM_DRIVER_NAME "sym-1.6.5-20000902" /* #define SYM_DEBUG_GENERIC_SUPPORT */ @@ -114,27 +113,16 @@ typedef u_int32_t u32; #include /* - * IA32 architecture does not reorder STORES and prevents - * LOADS from passing STORES. It is called `program order' - * by Intel and allows device drivers to deal with memory - * ordering by only ensuring that the code is not reordered - * by the compiler when ordering is required. - * Other architectures implement a weaker ordering that - * requires memory barriers (and also IO barriers when they - * make sense) to be used. - */ -#if defined __i386__ || defined __amd64__ -#define MEMORY_BARRIER() do { ; } while(0) -#elif defined __powerpc__ -#define MEMORY_BARRIER() __asm__ volatile("eieio; sync" : : : "memory") -#elif defined __arm__ -#define MEMORY_BARRIER() dmb() -#elif defined __aarch64__ -#define MEMORY_BARRIER() dmb(sy) -#elif defined __riscv -#define MEMORY_BARRIER() fence() + * Architectures may implement weak ordering that requires memory barriers + * to be used for LOADS and STORES to become globally visible (and also IO + * barriers when they make sense). + */ +#ifdef __powerpc__ +#define MEMORY_READ_BARRIER() __asm__ volatile("eieio; sync" : : : "memory") +#define MEMORY_WRITE_BARRIER() MEMORY_READ_BARRIER() #else -#error "Not supported platform" +#define MEMORY_READ_BARRIER() rmb() +#define MEMORY_WRITE_BARRIER() wmb() #endif /* @@ -892,13 +880,13 @@ struct sym_nvram { */ #define OUTL_DSP(v) \ do { \ - MEMORY_BARRIER(); \ + MEMORY_WRITE_BARRIER(); \ OUTL (nc_dsp, (v)); \ } while (0) #define OUTONB_STD() \ do { \ - MEMORY_BARRIER(); \ + MEMORY_WRITE_BARRIER(); \ OUTONB (nc_dcntl, (STD|NOCOM)); \ } while (0) @@ -2908,7 +2896,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) if (qidx >= MAX_QUEUE*2) qidx = 0; np->squeue [qidx] = cpu_to_scr(np->idletask_ba); - MEMORY_BARRIER(); + MEMORY_WRITE_BARRIER(); np->squeue [np->squeueput] = cpu_to_scr(cp->ccb_ba); np->squeueput = qidx; @@ -2920,7 +2908,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) * Script processor may be waiting for reselect. * Wake it up. */ - MEMORY_BARRIER(); + MEMORY_WRITE_BARRIER(); OUTB (nc_istat, SIGP|np->istat_sem); } @@ -3061,7 +3049,7 @@ static int sym_wakeup_done (hcb_p np) cp = sym_ccb_from_dsa(np, dsa); if (cp) { - MEMORY_BARRIER(); + MEMORY_READ_BARRIER(); sym_complete_ok (np, cp); ++n; } else @@ -3859,7 +3847,7 @@ static void sym_intr1 (hcb_p np) * On paper, a memory barrier may be needed here. * And since we are paranoid ... :) */ - MEMORY_BARRIER(); + MEMORY_READ_BARRIER(); /* * First, interrupts we want to service cleanly. From nobody Mon Jan 26 16:23: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 4f0DNm2Vmbz6QTTH for ; Mon, 26 Jan 2026 16:23: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 4f0DNm1ZGnz3CR2 for ; Mon, 26 Jan 2026 16:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769444600; 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=hiv2vUkCN/pD9fgeJtudisP36IWA1NhyxsoPKzNxYzo=; b=LXgQI4H74gcqKsd9CmniPiCE/QlM6P1pJvOGoLzv4DOPTK2Vwik9yVk9uLnvCEV+7nRD9+ cFdhkmVoiO0oqSmKv/msl2jmIDk7BDuRqo0a+rRz3ojzQPmyijsULKKDGh4TTZ3Rn4zR79 ZXXllJvKgNpY7xndGm5xf6yu2LGcKB1oTLDN48u+1CCZ7CvSxRQ8N7HPD6AP/dvKKZ9aym Td7EW1TwEvsn3FcWsGGU2UHhaY8mGnLz2Y1FzkJHgETuYkbv8PA7k7zClhYt2LSITiM+e3 cfpqfdx7vHR9RrAREkpkrokocvFya1qNHpLFS/yWPKVKyzR4S4tHTbxGwbHrpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769444600; 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=hiv2vUkCN/pD9fgeJtudisP36IWA1NhyxsoPKzNxYzo=; b=F+ciIShiTcHmuXKzfjPRTtPLT5MOxuiSAPWw/gLz9Yx8OWHNSgidCKgv7vY1bjopkEdgKi lwQJgAfzz89zf0DaJt49zZqhgHgcVZzmVRfmrttNa6+YTVObdYF1BlK3ilxkkfuywFUX3q DUYy4aW/0LGcX0LFHXyFldOK4sSSeFlMVGHQ9I5br8j0YEDQEAQRvDl1xPhfr4VacVFH6H hDUkCDH2DTZO0g/oSHLpsYd8AcWsc1b+xfBY7gVky1RwatDuCNNMhxczXjo5tPM5QSO+48 Pqetpvb6v6/linwWXuwJZFNmfGLzVOx+if9gv1uYgt7M/QqJyydXfZKJfdHneg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769444600; a=rsa-sha256; cv=none; b=C+6IeP5Ox1IfxmVQqwDgaM90COBKduVzvbujDudWHZzivONliMCmNF+DPJaGYGTURo2foC uHPbhOfTFcOFlVsykJ+HbSsVe9Jjp+cnC0qLjD8q4TbWIDeOWqKSFUD6uucu4Om3akgbAC Bh0SWSxhg5Opm3+TYYHpzwOfUoQFPyAoEFgXPtnJtZpSn84C8QkclAL7RLQoVl83+mmUig evGGdOrtSDx028lpNgEZWsj9LBT14W1/dxcVyYaPppidECOh7P+C0KZRqdsCMq98yX6T9l ibunWm7APUTDneKkBZ9HnjmFyg0r72CFz0zYUFL1zUf7KKOU+MG2kfc6/85dqA== 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 4f0DNm16SWzBYT for ; Mon, 26 Jan 2026 16:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c6b5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 16:23:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Doongar Singh From: Mitchell Horne Subject: git: 972c488bf411 - main - riscv: Add macro for hfence.gvma instruction 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 972c488bf4117d9eb29e5753c6c5a2250154df3d Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 16:23:20 +0000 Message-Id: <697794f8.3c6b5.4b26c93@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=972c488bf4117d9eb29e5753c6c5a2250154df3d commit 972c488bf4117d9eb29e5753c6c5a2250154df3d Author: Doongar Singh AuthorDate: 2026-01-26 16:18:22 +0000 Commit: Mitchell Horne CommitDate: 2026-01-26 16:23:16 +0000 riscv: Add macro for hfence.gvma instruction Add an inline function hfence_gvma() for hfence.gvma instruction. Signed-off-by: Doongar Singh Reviewed by: mhorne, markj Differential Revision: https://reviews.freebsd.org/D54857 --- sys/riscv/include/cpufunc.h | 7 +++++++ sys/riscv/vmm/vmm_riscv.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/riscv/include/cpufunc.h b/sys/riscv/include/cpufunc.h index 75b22632c546..c39f17131eb7 100644 --- a/sys/riscv/include/cpufunc.h +++ b/sys/riscv/include/cpufunc.h @@ -119,6 +119,13 @@ sfence_vma_asid_page(uint64_t asid, uintptr_t addr) : "memory"); } +static __inline void +hfence_gvma(void) +{ + + __asm __volatile("hfence.gvma" ::: "memory"); +} + #define rdcycle() csr_read64(cycle) #define rdtime() csr_read64(time) #define rdinstret() csr_read64(instret) diff --git a/sys/riscv/vmm/vmm_riscv.c b/sys/riscv/vmm/vmm_riscv.c index cfd3decd8cfa..fe2ca5c07789 100644 --- a/sys/riscv/vmm/vmm_riscv.c +++ b/sys/riscv/vmm/vmm_riscv.c @@ -625,7 +625,7 @@ vmmops_run(void *vcpui, register_t pc, pmap_t pmap, struct vm_eventinfo *evinfo) * have been modified, it may be necessary to execute an HFENCE.GVMA * instruction (see Section 5.3.2) before or after writing hgatp. */ - __asm __volatile("hfence.gvma" ::: "memory"); + hfence_gvma(); csr_write(hgatp, pmap->pm_satp); if (has_sstc) From nobody Mon Jan 26 16:34: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 4f0DfJ1bYPz6QTv6; Mon, 26 Jan 2026 16:35:04 +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 4f0DfH58DNz3Fcc; Mon, 26 Jan 2026 16:35:03 +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 60QGYnoa022636; Mon, 26 Jan 2026 18:34:53 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 60QGYnoa022636 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 60QGYnbc022635; Mon, 26 Jan 2026 18:34:49 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 26 Jan 2026 18:34:49 +0200 From: Konstantin Belousov To: Marius Strobl Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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: <69778ef9.39b4d.5c480abe@gitrepo.freebsd.org> 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: 4f0DfH58DNz3Fcc On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > The branch main has been updated by marius: > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > commit e769bc77184312b6137a9b180c97b87c0760b849 > Author: Marius Strobl > AuthorDate: 2026-01-26 13:58:57 +0000 > Commit: Marius Strobl > CommitDate: 2026-01-26 15:54:48 +0000 > > sym(4): Employ memory barriers also on x86 > > In an MP world, it doesn't hold that x86 requires no memory barriers. It does hold. x86 is much more strongly ordered than all other arches we currently support. That said, the use of the barriers in drivers is usually not justified (I did not looked at this specific case). Even if needed, please stop using rmb/wmb etc. Use atomic_thread_fence() of appropriate kind, see atomic(9). Then on x86 it does the right thing. > > This change should also fix panics due to out-of-sync data seen with > FreeBSD VMs on top of OpenStack and HBAs of type lsiLogic. [1] > > While at it: > - Improve the granularity somewhat by distinguishing between read and > write memory barriers as well as refer to existing *mb(9) functions > instead of duplicating these [2], unless IO barriers are also used. > - Nuke the unused SYM_DRIVER_NAME macro. > > PR: 270816 [1] > Obtained from: BSD-licensed Linux sym53c8xx driver [2] > MFC after: 1 week > --- > sys/dev/sym/sym_hipd.c | 42 +++++++++++++++--------------------------- > 1 file changed, 15 insertions(+), 27 deletions(-) > > diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c > index 0e51607fb07a..f78d595a73ce 100644 > --- a/sys/dev/sym/sym_hipd.c > +++ b/sys/dev/sym/sym_hipd.c > @@ -58,7 +58,6 @@ > */ > > #include > -#define SYM_DRIVER_NAME "sym-1.6.5-20000902" > > /* #define SYM_DEBUG_GENERIC_SUPPORT */ > > @@ -114,27 +113,16 @@ typedef u_int32_t u32; > #include > > /* > - * IA32 architecture does not reorder STORES and prevents > - * LOADS from passing STORES. It is called `program order' > - * by Intel and allows device drivers to deal with memory > - * ordering by only ensuring that the code is not reordered > - * by the compiler when ordering is required. > - * Other architectures implement a weaker ordering that > - * requires memory barriers (and also IO barriers when they > - * make sense) to be used. > - */ > -#if defined __i386__ || defined __amd64__ > -#define MEMORY_BARRIER() do { ; } while(0) > -#elif defined __powerpc__ > -#define MEMORY_BARRIER() __asm__ volatile("eieio; sync" : : : "memory") > -#elif defined __arm__ > -#define MEMORY_BARRIER() dmb() > -#elif defined __aarch64__ > -#define MEMORY_BARRIER() dmb(sy) > -#elif defined __riscv > -#define MEMORY_BARRIER() fence() > + * Architectures may implement weak ordering that requires memory barriers > + * to be used for LOADS and STORES to become globally visible (and also IO > + * barriers when they make sense). > + */ > +#ifdef __powerpc__ > +#define MEMORY_READ_BARRIER() __asm__ volatile("eieio; sync" : : : "memory") > +#define MEMORY_WRITE_BARRIER() MEMORY_READ_BARRIER() > #else > -#error "Not supported platform" > +#define MEMORY_READ_BARRIER() rmb() > +#define MEMORY_WRITE_BARRIER() wmb() > #endif > > /* > @@ -892,13 +880,13 @@ struct sym_nvram { > */ > #define OUTL_DSP(v) \ > do { \ > - MEMORY_BARRIER(); \ > + MEMORY_WRITE_BARRIER(); \ > OUTL (nc_dsp, (v)); \ > } while (0) > > #define OUTONB_STD() \ > do { \ > - MEMORY_BARRIER(); \ > + MEMORY_WRITE_BARRIER(); \ > OUTONB (nc_dcntl, (STD|NOCOM)); \ > } while (0) > > @@ -2908,7 +2896,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) > if (qidx >= MAX_QUEUE*2) qidx = 0; > > np->squeue [qidx] = cpu_to_scr(np->idletask_ba); > - MEMORY_BARRIER(); > + MEMORY_WRITE_BARRIER(); > np->squeue [np->squeueput] = cpu_to_scr(cp->ccb_ba); > > np->squeueput = qidx; > @@ -2920,7 +2908,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p cp) > * Script processor may be waiting for reselect. > * Wake it up. > */ > - MEMORY_BARRIER(); > + MEMORY_WRITE_BARRIER(); > OUTB (nc_istat, SIGP|np->istat_sem); > } > > @@ -3061,7 +3049,7 @@ static int sym_wakeup_done (hcb_p np) > > cp = sym_ccb_from_dsa(np, dsa); > if (cp) { > - MEMORY_BARRIER(); > + MEMORY_READ_BARRIER(); > sym_complete_ok (np, cp); > ++n; > } else > @@ -3859,7 +3847,7 @@ static void sym_intr1 (hcb_p np) > * On paper, a memory barrier may be needed here. > * And since we are paranoid ... :) > */ > - MEMORY_BARRIER(); > + MEMORY_READ_BARRIER(); > > /* > * First, interrupts we want to service cleanly. From nobody Mon Jan 26 16:37: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 4f0Dj95nthz6QVH4; Mon, 26 Jan 2026 16:37:33 +0000 (UTC) (envelope-from des@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 4f0Dj95GlTz3G4g; Mon, 26 Jan 2026 16:37:33 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769445453; 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=UxjhACIJQnFC8nWG07lgdDCfW8HCBp+o9WmGPHiy+9A=; b=lg4C76gZjoXmpCOw+dU2JxPXE1RBhoUTZi5WzfJ9JSfXxev1yaOQ0ueFIkebRTUVu+uCL7 7QkSqqIkIL0heRu6VEuv+kdEHr++lpUcB12A2iRXXQkSESXWwXS8h8RpisKox0uoagjS5K 3U1VZ8clTYVZUR3lBNnoDtplS871taZRTa1cYKzU/mLgO5WoqC0EeZ5trcPtFQiDpwgnq3 G7Nuwc2ndJAx5Ge30HjtZSFu3zrCSWH0O4im/S/lDSq9vwiY4BNwlJ7BiL4XU6+TasMWYN eJtgGYqB2U2aKfrLmc30lzUM+oYriz3kjdsJw3jNuHggBV3ILqiFlgQmDxB60g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769445453; 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=UxjhACIJQnFC8nWG07lgdDCfW8HCBp+o9WmGPHiy+9A=; b=MFbY3Gf3a6dp5nBqVObMQIHDdIPzsbbRQRxePAj45fXTFq75ScInxQb/mUpuTTphGWvNuV c6z2/RFPZGpKhGif6zdvGgvRO3LwGVVrLmL5Sr0q4QmT3RYmysN7GY8RO7sqAvIWwvX1yP 2pwjxxOqlm0sYsvMXg2nKv2QLX8vYetJnoDRuuRYBvyQRWsT9SQ4mFUZ8inj0EjEgBqt7C bIiEFPlqRkIcp+xOwLLH0numBBKmqb02HDF1fry02/WMwuXgqmdgGfTY6UzsQ3n0JL0wfN ME6D4JGEiLZdgzyxDmL35sBXxTa/cWRKvRkF2ZP/rrl56yi5yzjiy+RZzB9bJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769445453; a=rsa-sha256; cv=none; b=EagPEjGuzmneWiuqnP3D1eL3PXnGxzTJsYHKbK/683OsNtWT2984Zn+1/jS3gISCCqAQu8 VlsEzcvtfQybmEM+m66eiNZSjMHJGsODlC4rqRZVl0By2Sly3plHFZ4xiBYG5zic+PJDN7 5+r+kNlG2xsDkoYypIjgkcttDTjVxJL/5kN1lf/E+mBjEHxtOM24UUV0Jwp9MK75CgLiP2 5isGWB11zm2pxlpwIu2+3vRWMsv3LXO12d96ceI8JzEmtDqRiyqnyKOe9EBGdpiImfQy8u gLClSJnfW3rspuPEhDK226VrcbvwJzO8B0iZNDd14dnElK5EoYc+v2YpsF2AaQ== 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 4f0Dj93sw4z1Cbn; Mon, 26 Jan 2026 16:37:33 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 21F6818824; Mon, 26 Jan 2026 17:37:31 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: "Drew Gallatin" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a11d132f6c62 - main - devstat: Provide 32-bit compatibility In-Reply-To: (Drew Gallatin's message of "Mon, 26 Jan 2026 10:55:27 -0500") References: <697757ba.b040.558a1a55@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Mon, 26 Jan 2026 17:37:31 +0100 Message-ID: <86jyx4e3ec.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 "Drew Gallatin" writes: > In file included from /usr/src/sys/kern/subr_devstat.c:47: > In file included from /usr/src/sys/compat/freebsd32/freebsd32.h:38: > /usr/src/sys/sys/user.h:692:16: error: field has incomplete type 'struct = kevent' > 692 | struct kevent knt_event; > | ^ > /usr/src/sys/sys/user.h:692:9: note: forward declaration of 'struct keven= t' > 692 | struct kevent knt_event; This is a preexisting bug in which needs to include but doesn't. It is hidden from most users by header pollution from the VIMAGE option. > include GENERIC-NODEBUG > [...] > nooptions INVARIANTS > nooptions INVARIANT_SUPPORT > nooptions WITNESS > nooptions WITNESS_SKIPSPIN > nooptions BUF_TRACKING > nooptions DEADLKRES > nooptions FULL_BUF_TRACKING > nooptions COVERAGE > nooptions KCOV These lines are already included in GENERIC-NODEBUG. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Jan 26 16:40: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 4f0Dmk2cN7z6QVHc for ; Mon, 26 Jan 2026 16:40: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 4f0Dmk21Gwz3HSx for ; Mon, 26 Jan 2026 16:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769445638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3aLwR4w7DFggP2MpYlaJYQkYc0xbhxrxIqES2Isg3Fw=; b=S2Yn52TCJIPrM41ltF4kMWaqw/8xMT0+GYl0ZFpLqt51uabjuVlUfXJvhvEiQGTZIxJtY0 v93PcJZWNTrPR1FJ7i4QJD//ESxwkL6HdVxspmBXkyJEDKRSP/6IS8tABazsW8xplZ1K+C g7Jrdsm81/3fP2p56YfsXqcoZShRMo5aftejTKv26KHzh6csflgALZ+adAOrg03T2JtXsE 9fWQh14yoHIMfmotxvQGrd9JFwo5d63wS+YaXaWV+HeTsPHAL/ckRi1LJYNjCtIol21D8F woB0CPOlsFXXg97XBc6LjqN8rsyYZsWrjkizUsxJHDSPwhN/E0GDD1xLUIUAcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769445638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3aLwR4w7DFggP2MpYlaJYQkYc0xbhxrxIqES2Isg3Fw=; b=g9hHDybmZJ33oWAgY6t4Kk+JRBpTlXOXqb4zGPOhb5cir65kqUAdF5QIbPBEY1wIcaWI1M YXfmy3Rc72Eg4eYJG8LETZ+6AjrAXTBwYDm6csZ/tIklr5s0hbCRewgi2WQnRc8oy9c6kC S3ThRIo1tvXpbWSIapmRH+j75ERa/u/vLn72X0gheFL7D3XKxLwK1LHDAO4QvPg3tUD9gr 2PUX9fAnjeIFIMGMdkWosZ+Q9kAhKfhfikh289lh6VewdB+fK1Epsne73URQtQTK6VOt5X 2NZgclqsfPBrj19xLueSc2G3SJ4z/Bvx7xtnd24AF2blUUvz+31kCOXOlTcagA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769445638; a=rsa-sha256; cv=none; b=GJuvx5Cw/RkRY+kPYpPBcrAt+HEXv7LA/L1LsU4Poztv3WLYxG1UU0zcdABvxrvvL62iCM nlTtzA1jlNj+K8ZljsaOURshVhyo/t167YihoZPfJ276ys3NXfXqBul1SlTkkZbhWXIIlJ LcmyU92FTqqBSwVhlX1//hEqDsgzFUIEJiUSpmhfWRKfCDZPmaPMU3GSi2+D4tAiojllaJ g9kDj3V1PoFW1zTF7pPcaOUTFPYQrnA0z5UEsKHCWJDLY/W1+biF3CQU8xSt/bC63hIit4 ZtiXc1mHK5WJwXkPXY1ssXYnMEzVENXxy3PizbYcUHWjle3DKoFOLa0D3PeJEA== 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 4f0Dmk1YMszCrM for ; Mon, 26 Jan 2026 16:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e627 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 16:40:38 +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: 0eb2c9d39b5f - main - freebsd32: Fix includes 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: 0eb2c9d39b5f5cfb68b404bca358aa5fb11ac60c Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 16:40:38 +0000 Message-Id: <69779906.3e627.51655dc4@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0eb2c9d39b5f5cfb68b404bca358aa5fb11ac60c commit 0eb2c9d39b5f5cfb68b404bca358aa5fb11ac60c Author: Dag-Erling Smørgrav AuthorDate: 2026-01-26 16:24:54 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-26 16:37:40 +0000 freebsd32: Fix includes The previous commit added , which isn't actually needed. Conversely, is needed (and has been for a long time) but was not included. MFC after: 1 week Fixes: a11d132f6c62 ("devstat: Provide 32-bit compatibility") Reported by: gallatin@ --- sys/compat/freebsd32/freebsd32.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h index a8d54290980d..25703859a7bb 100644 --- a/sys/compat/freebsd32/freebsd32.h +++ b/sys/compat/freebsd32/freebsd32.h @@ -29,9 +29,9 @@ #ifndef _COMPAT_FREEBSD32_FREEBSD32_H_ #define _COMPAT_FREEBSD32_FREEBSD32_H_ -#include #include #include +#include #include #include #include From nobody Mon Jan 26 16:58: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 4f0F9W5Qryz6QWVF; Mon, 26 Jan 2026 16:58:39 +0000 (UTC) (envelope-from gallatin@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 4f0F9W4Kq5z3KH8; Mon, 26 Jan 2026 16:58:39 +0000 (UTC) (envelope-from gallatin@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769446719; 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=7RYi7rfizA6Y8zjgdA9cKzA9l5vg355MIwgPR9dn164=; b=FZ3cEH4ZG5I175CpBuZN63l37/iThu9fVCt8tOIu1WRhXenl5u9dT8d6JVR4c6NGkyhUCU GCwjBiKaoTzLx8p4T7JxSnkMajbAvG1W0mMN+gtTBm2qq0fU12x81HRVKyU5gxVzuUQqYh yUeZX1pcrDHzOAoG0h4kciQIMueezI4lIaPpQwqO7t4bgop8zVphsxj6azJSqRz/SYNBDr rjRY4bCK/pTmZZWhV7ZMVIcQeCmx06ffj/WrXmq3uag5+riPRxpVMcLMBQkEZ6cHV3mTHB wQd4QZj3LnvzeRfuH3pZ0t9xUYL6rxm38heAKvFjr5x7pc0g1XD9yEHJMn8QDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769446719; 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=7RYi7rfizA6Y8zjgdA9cKzA9l5vg355MIwgPR9dn164=; b=ZNfrOFhMy+h6azRMcYmViAe0+lxnhcj+Js7cXLeaSaRMgpUGmiG3mJwbDowCIofHCclyv9 ELy1oNHZrE7VLhG7i/9XR2e1aE1lQLnFoD2nV7pt4ioAaPtne7biQW0kBWRjqHxNIaHIiB M4QnR+sRhsnZC/bmoenl2mGFpFZiGKAu6zlMjMaw7H5N21ai7EBIQ3xiprU1XBveS/wo8M WfZdw1V04h7rspDuTFQzbZiZFk0FQ+z965zGnA3654PCT0DqJqB/mp5MZIJhJTv9x+i2N+ 5EFb+Li0PwPYWtm6eZFnrijyppJW83a/96MCzlXhAPKrpjj4Sxy2SkOU9tiEsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769446719; a=rsa-sha256; cv=none; b=AO5TMz77QBlclWaxwHHytk58pSeI9lXBnGma0SkqOf9tQP3P/s15y8mg8f6ZYlse9qiogI ZcCKGKhmylSGhMjW2ds/XWCRkWvyGjlHULGDj8lrv5AtCs06L15GaFpfq27fmkNihvvoNM CKwzva/WpDou0BFR/7obd9d5z8eCk8eNoNK6Ww+3v6syHiPIUB2hL5GRNrCtzR6K9lOL3i rialcKTCLzhIsz2aaOdxuhO6rJR82s3N95kClQ6l7aH+rlHnWwnz5Uu3Vxfp0c8ZxcWavx fmTRPEcDblaseNciQCLotZGixmEnqjlhC+gvKv61XhCkFzEBeF6unoOoHsAPqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from fauth-a2-smtp.messagingengine.com (fauth-a2-smtp.messagingengine.com [103.168.172.201]) (using TLSv1.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: gallatin) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f0F9W3HGCz1Cys; Mon, 26 Jan 2026 16:58:39 +0000 (UTC) (envelope-from gallatin@freebsd.org) Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfauth.phl.internal (Postfix) with ESMTP id 9DD16F40068; Mon, 26 Jan 2026 11:58:38 -0500 (EST) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-05.internal (MEProxy); Mon, 26 Jan 2026 11:58:38 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdduheekvdduucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvvefkjghfufgtsegrtderre ertdejnecuhfhrohhmpedfffhrvgifucfirghllhgrthhinhdfuceoghgrlhhlrghtihhn sehfrhgvvggsshgurdhorhhgqeenucggtffrrghtthgvrhhnpeeuhfehtdelgedtgfdutd fhteeuveelvdekjeegkedvgffhteegvdehgefhueeifeenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehgrghllhgrthhinhdomhgvshhmthhprg huthhhphgvrhhsohhnrghlihhthidqudeffeehledvvdduiedqvdelhedtgedukeegqdhg rghllhgrthhinheppehfrhgvvggsshgurdhorhhgsehfrghsthhmrghilhdrtghomhdpnh gspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepuggvshes fhhrvggvsghsugdrohhrghdprhgtphhtthhopeguvghvqdgtohhmmhhithhsqdhsrhgtqd grlhhlsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepuggvvhdqtghomhhmihhtshdq shhrtgdqmhgrihhnsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepshhrtgdqtghomh hmihhtthgvrhhssehfrhgvvggsshgurdhorhhg X-ME-Proxy: Feedback-ID: i41414658:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 80CDB700065; Mon, 26 Jan 2026 11:58:38 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface 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 X-ThreadId: ABUamp0rnb8N Date: Mon, 26 Jan 2026 11:58:18 -0500 From: "Drew Gallatin" To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Message-Id: In-Reply-To: <86jyx4e3ec.fsf@ltc.des.dev> References: <697757ba.b040.558a1a55@gitrepo.freebsd.org> <86jyx4e3ec.fsf@ltc.des.dev> Subject: Re: git: a11d132f6c62 - main - devstat: Provide 32-bit compatibility Content-Type: multipart/alternative; boundary=87bac4377674430fa19961f36e0e3edd --87bac4377674430fa19961f36e0e3edd Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Mon, Jan 26, 2026, at 11:37 AM, Dag-Erling Sm=C3=B8rgrav wrote: > "Drew Gallatin" writes: > > In file included from /usr/src/sys/kern/subr_devstat.c:47: > > In file included from /usr/src/sys/compat/freebsd32/freebsd32.h:38: > > /usr/src/sys/sys/user.h:692:16: error: field has incomplete type 'st= ruct kevent' > > 692 | struct kevent knt_event; > > | ^ > > /usr/src/sys/sys/user.h:692:9: note: forward declaration of 'struct = kevent' > > 692 | struct kevent knt_event; >=20 > This is a preexisting bug in which > needs to include but doesn't. It is hidden from most > users by header pollution from the VIMAGE option. Thanks for the quick fix. I'm an oddball b/c I cannot stand VIMAGE (mak= es network stuff incredibly frustrating to debug and adds overhead). > > include GENERIC-NODEBUG > > [...] > > nooptions INVARIANTS > > nooptions INVARIANT_SUPPORT > > nooptions WITNESS > > nooptions WITNESS_SKIPSPIN > > nooptions BUF_TRACKING > > nooptions DEADLKRES > > nooptions FULL_BUF_TRACKING > > nooptions COVERAGE > > nooptions KCOV >=20 > These lines are already included in GENERIC-NODEBUG. Indeed..=20 Thanks again, Drew --87bac4377674430fa19961f36e0e3edd Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable


On Mon, Jan 26, 2026, at 11:37 AM, Dag-Erling Sm=C3=B8= rgrav wrote:
"D= rew Gallatin" <gallatin@freeb= sd.org> writes:
> In file included from /usr/src/sys= /kern/subr_devstat.c:47:
> In file included from /usr/src/s= ys/compat/freebsd32/freebsd32.h:38:
> /usr/src/sys/sys/user= .h:692:16: error: field has incomplete type 'struct kevent'
&g= t;   692 |         str= uct kevent   knt_event;
>    =    |         &nbs= p;           &nbs= p;   ^
> /usr/src/sys/sys/user.h:692:9: note: for= ward declaration of 'struct kevent'
>   692 |&nbs= p;        struct kevent   k= nt_event;

This is a preexisting bug in <sys/= compat/freebsd32/freebsd32.h> which
needs to include <sy= s/event.h> but doesn't.  It is hidden from most
users = by header pollution from the VIMAGE option.

<= /div>
Thanks for the quick fix.  I'm an oddball b/c I cannot st= and VIMAGE (makes network stuff incredibly frustrating to debug and adds= overhead).

> include GENERIC-NODEBUG
> [...]
= > nooptions       INVARIANTS
= > nooptions       INVARIANT_SUPPORT
> nooptions       WITNESS
<= div>> nooptions       WITNESS_SKIPSPIN<= /div>
> nooptions       BUF_TRACKIN= G
> nooptions       DEADLKRES=
> nooptions       FULL_BUF_T= RACKING
> nooptions       COV= ERAGE
> nooptions       KCOV<= /div>

These lines are already included in GENERIC-NOD= EBUG.

Indeed.. 
Thanks again,
Drew

--87bac4377674430fa19961f36e0e3edd-- From nobody Mon Jan 26 17:03: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 4f0FGZ1DxZz6QWWX for ; Mon, 26 Jan 2026 17:03: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 4f0FGY6rqTz3LVm for ; Mon, 26 Jan 2026 17:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769446982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EQsx9OypYPRY9M+jf8Dew6yId/02gljfmpOvH0w/D1c=; b=aRSq0Tw+5OrgXq+LZDkcJcbeJgTKKswwJ6hCN350vN3YV4REuRCugRxcyKOiPcU4ZFEMWl FwWRK1dRQITaA1r97eVDSlueGf6LSjWM0ooEN9CLbAHubLWpZQAAAI0Go1QF3Gllzfddxb YTcYIgl/FUWQ9Gap0LU3F/uzOsQLlz1RhXu8GfjErri3NPvwkjxTRirVsiK/w9xuIfVYmP aVq1zcS9v9cWjKKaYb5T/RdqD5yd3ko86KEbT/Vi+EsZA4AhHIDGwlsYnZ1GlXyA+eZ1RQ 1qOrrVbtNcI/8P7hI8ZIEBgaFbthNpcXeEj/fOw8URa27Ca9mUrn6hA5g5MadA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769446982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EQsx9OypYPRY9M+jf8Dew6yId/02gljfmpOvH0w/D1c=; b=BwDpDT7nC7eyRWeZ/t8knUn9RHcRfROX1W8l0j/SVi5X4ujcLsTqT/hRsLUYHE3WPNy56u KYpLewkoKMthB2/F2+Joz78ZbCnpCXnUXnTtCwnaaYhxOH7gbUYr28cQwhq8iBPX8eaFBP Frs9YWdB6BX1f/Bou6LyPgNyI32x8dpVyD/UrPNZIKYndXVuBUk260HwVzn2BAYOjMDnft eBE571zjFzZCAjW8ECyiMPWg8/WU73uZ+DA7Yj2MZWanwPayWnJtO7s/gnKK30IHmalJWN omxqzF6x6a7i+c1FBW9nnEGrm9AsRZwkYi+SmLL0A3p20IuRVs4BjOMS1FRhnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769446982; a=rsa-sha256; cv=none; b=QiSFFLtg8KyJ7HfOYJaStoFcOlpbJ/qMfcGB6qTq4/0g7beYobXCcZihh0Pl8rdAq5PnYr id7YIs1EJm1oLJvDqHzD+H9LHLWDW/ObzHOtEoMfcmgGTrgz8sO2JrJNvQ/yxFjKXI4sQj 8pE4jGeykbHQpZadacFtAAJM6Rk3tyNBY64zRN/Jhd+vgGoJ3dfUU7DcN596PdB6xOLKYZ Cy1q2DI9LzpUSMoBFREvWg1O4P7vt8qUMsymiWsb1CoUSwKJBZqHiyl0WLFCV4aQwHWdPn HxG3QFwPJJd3dk2Bo32MFHotUk7nqU4QGkA/6SNnfxpVfl6sOtL+/O2UB3vYKA== 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 4f0FGY6LpDzD5B for ; Mon, 26 Jan 2026 17:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f7c1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 17:03:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 49ec19f1e101 - main - acpi: Add ACPI_SPMC debug layer define 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: 49ec19f1e101a079bc3749e25c4c927098f2f67a Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 17:03:01 +0000 Message-Id: <69779e45.3f7c1.49e3a4d6@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=49ec19f1e101a079bc3749e25c4c927098f2f67a commit 49ec19f1e101a079bc3749e25c4c927098f2f67a Author: Aymeric Wibo AuthorDate: 2026-01-26 16:54:37 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-26 17:02:41 +0000 acpi: Add ACPI_SPMC debug layer define Reported by: des Fixes: c5daa5a4c32c ("acpi_spmc: Add system power management controller driver") Sponsored by: The FreeBSD Foundation --- sys/dev/acpica/acpivar.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 6db55b10570d..0ffb9f7c7cc3 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -191,6 +191,7 @@ extern struct mtx acpi_mutex; #define ACPI_THERMAL 0x01000000 #define ACPI_TIMER 0x02000000 #define ACPI_OEM 0x04000000 +#define ACPI_SPMC 0x08000000 /* * Constants for different interrupt models used with acpi_SetIntrModel(). From nobody Mon Jan 26 17:24: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 4f0Flr2Z50z6PKp3 for ; Mon, 26 Jan 2026 17:24: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 4f0Flq5S17z3Pgh for ; Mon, 26 Jan 2026 17:24:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769448295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vWNrNyiqXydke0kHG7rcGqRPNW3LJvcO+kjY2avxsmM=; b=pxCH9tuZgQjndnYSH/VKlZnvb3ZAkT5eyV/1H4P8MQmyk4RmsT0cEjeCP3g4oA8WU1fQSH UIQ6EjuSDxYZXGMJPiD2gO+gWC6wdwd3SLiOK3s/4/WJz851B1gfTf4XYdPJAAejTkLVRz 4R2+tw2cFtmL8DUcHvAU48V5p/yaJuru2RHowRhlW2BGk3HikkK3yiJ9sDV9xtDrgwzBuN i9L1A/mw1JsZNiMxgyCo9nXZd73S6VC6gzng0rfn/kA+kpKC4yHUtDcsu5wLucVcnl3Z02 jjVOfPsn3bVLDCl5ky8Wnp2iSX4qpcK8xPFnoUQCk51QfJj47y018jNLt9+0Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769448295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vWNrNyiqXydke0kHG7rcGqRPNW3LJvcO+kjY2avxsmM=; b=Pdez1bAOnqIjWJ3eZAPUrj9fZT3H32LJeZn+k3elsB9hVE5TmAn39230Tkio3/nvDMQzai XSLci6UKwrVU03D4MVa3nqF2VezQrOXj4VvzN7GLCzLjvKUkF6sw12pbZUE2Qvgcqe6DPQ zfGkk3gqlmJbuoe/8Cr0j9U/9cf2bRnUW1d6WiL4ZM6/xcncnUgvixOQAfomBP4QI0F7mw QoY8aGRdUivARSiJZn7RMAGK3JNFMu4cRRbkytxADDQX+AFkvOcf5z92YGzC9Vny9mcLid xbA5OYr7s1eNaRektfSQcj+TIbet93lNQvq9xxSG9OLI04gRJL1PY1QzANRXoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769448295; a=rsa-sha256; cv=none; b=RGLH94kYuHothHUqaVBEMjbEPdqnWy1r5icoV4YzKEnXK8YBwVFtf7DjUSaqcJ5kDMfntP bRc3jZuR0COfI0qw2eE07dIXOfsBRf+qu7BDxhcQnDxlN9hmwtUOXcX8qBaLShZHdXv2Zr AZ5pOVcP9DxPATH/lb01DFN+QElCaOUzzuVGnnPN5WPtuwwA9M4P318rKdQAILTq6ZCxam szKd+ZKE9ggMbMsmAVwSdx1NMKPPlgaNRsw0uRDN/rSWyaR5E+UmgIIHK6O/qXjk23sG/Y npfulDgtYKI8VVM2nwOMV99H810gMIHMUNHCYefdZDbBhnSliaOYUkBjBA3O8g== 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 4f0Flq517XzTl8 for ; Mon, 26 Jan 2026 17:24:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42612 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 17:24:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8934c3dc780d - main - pf tests: Set require.kmods in divert-to 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8934c3dc780d6631cb23e4d98c7b988da9a5b703 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 17:24:55 +0000 Message-Id: <6977a367.42612.3f6e490c@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8934c3dc780d6631cb23e4d98c7b988da9a5b703 commit 8934c3dc780d6631cb23e4d98c7b988da9a5b703 Author: Mark Johnston AuthorDate: 2026-01-26 17:24:25 +0000 Commit: Mark Johnston CommitDate: 2026-01-26 17:24:25 +0000 pf tests: Set require.kmods in divert-to tests Tests should declare their dependencies rather than testing for them at runtime. Reviewed by: igoro, kp, glebius MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54846 --- tests/sys/netpfil/pf/divert-to.sh | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/tests/sys/netpfil/pf/divert-to.sh b/tests/sys/netpfil/pf/divert-to.sh index 3028c9e75afd..2e0f6920db27 100644 --- a/tests/sys/netpfil/pf/divert-to.sh +++ b/tests/sys/netpfil/pf/divert-to.sh @@ -60,30 +60,16 @@ . $(atf_get_srcdir)/utils.subr -divert_init() -{ - if ! kldstat -q -m ipdivert; then - atf_skip "This test requires ipdivert" - fi -} - -dummynet_init() -{ - if ! kldstat -q -m dummynet; then - atf_skip "This test requires dummynet" - fi -} - atf_test_case "in_div" "cleanup" in_div_head() { atf_set descr 'Test inbound > diverted | divapp terminated' atf_set require.user root + atf_set require.kmods ipdivert } in_div_body() { pft_init - divert_init epair=$(vnet_mkepair) vnet_mkjail div ${epair}b @@ -118,11 +104,11 @@ in_div_in_head() { atf_set descr 'Test inbound > diverted > inbound | host terminated' atf_set require.user root + atf_set require.kmods ipdivert } in_div_in_body() { pft_init - divert_init epair=$(vnet_mkepair) vnet_mkjail div ${epair}b @@ -157,11 +143,11 @@ out_div_head() { atf_set descr 'Test outbound > diverted | divapp terminated' atf_set require.user root + atf_set require.kmods ipdivert } out_div_body() { pft_init - divert_init epair=$(vnet_mkepair) vnet_mkjail div ${epair}b @@ -197,11 +183,11 @@ out_div_out_head() { atf_set descr 'Test outbound > diverted > outbound | network terminated' atf_set require.user root + atf_set require.kmods ipdivert } out_div_out_body() { pft_init - divert_init epair=$(vnet_mkepair) vnet_mkjail div ${epair}b @@ -237,11 +223,11 @@ in_div_in_fwd_out_div_out_head() { atf_set descr 'Test inbound > diverted > inbound > forwarded > outbound > diverted > outbound | network terminated' atf_set require.user root + atf_set require.kmods ipdivert } in_div_in_fwd_out_div_out_body() { pft_init - divert_init # host router site epair0=$(vnet_mkepair) @@ -293,12 +279,11 @@ in_dn_in_div_in_out_div_out_dn_out_head() { atf_set descr 'Test inbound > delayed+diverted > outbound > diverted+delayed > outbound | network terminated' atf_set require.user root + atf_set require.kmods dummynet ipdivert } in_dn_in_div_in_out_div_out_dn_out_body() { pft_init - divert_init - dummynet_init epair=$(vnet_mkepair) vnet_mkjail alcatraz ${epair}b @@ -377,12 +362,12 @@ pr260867_head() { atf_set descr 'Test for the loop reported in PR260867' atf_set require.user root + atf_set require.kmods ipdivert } pr260867_body() { pft_init - divert_init epair=$(vnet_mkepair) @@ -417,12 +402,12 @@ pr260867_icmp_head() { atf_set descr 'Variant of the PR260867 test' atf_set require.user root + atf_set require.kmods ipdivert } pr260867_icmp_body() { pft_init - divert_init epair=$(vnet_mkepair) From nobody Mon Jan 26 17:24: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 4f0Flq1s9tz6PKZS for ; Mon, 26 Jan 2026 17:24: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 4f0Flp5Xgbz3Pq7 for ; Mon, 26 Jan 2026 17:24:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769448294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XF1kQMsj+8k0rpr18d9OC3vhiTcqQMZ7NyKQF/tc2xU=; b=aRdQYsD7/MCgtKsE0jAnbBl3z0/UgiYXAhpvFPG27ywcEc+aMzspkXRnBm33fnrTmFoIK1 Ew83m5GH4BBlBd468MwEQGw+3SNjCcY9ZTO7CPkSnJEhHYWcyY65DRO5gHtwVueP/yy1PM I8U2gu3Y4D3Gplxd3OBiee8JZGOOegcrho1JrjSNhP5vlZJv9GABhucaC5sec1oBsEQeUD YwuCixnSrfcqTITuKsXkZAa5y3YaqlvFg3VC5z9CWIGPEUoVZmxhbGO2VnNNpLYlEWbLTq y+Ge3otr0tg6BlqR+OZRbD+agvNPF6snBl+4DDZ6+69NMs1hBQYE7/KBQmFJ1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769448294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XF1kQMsj+8k0rpr18d9OC3vhiTcqQMZ7NyKQF/tc2xU=; b=oxCYZHJg+V9HYZwT5hLTfIGfZXn8WKRTmsE5wboUNeSRLxu0GkV8+ZBLIZ8iKNUIlhse03 u4PoUHyuli/yzm+t3p3y+qEuuK6X5tFI7KPZOCM6lKv+BnMxYuIVF/ePDzx2zTKhPSdGe/ C8fzNILPBqPfMlC1GIyzeSJdvDqfW7EfU0Xy/NnadtXzjq35NAtwPvDAfuMZ7IKY7/Zs+E 8wG8h0bXIl/5I+qRC/eY9toPBVug+LE3mpluo4Uhlup4nufjtreW9D7+1Zuf4aAUXq6k1o dLqThzmwmQT+APANPah0jpr1DUs8P+32cKWXOzV5ZlX28ZH1IWxqut3C9TkIRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769448294; a=rsa-sha256; cv=none; b=qGZqMA/gFH1K3B4E3Mrom/vVEhE49zWAGsQTo1prftoQhvmiXzMnyuxfO/XAaL5X3+lrYX 2z/Vv0gFdxwjqQg8cp5GM2eEZSagEpybi4uEC09/xEvOCTRR7HLZWYVKbZJl/fLPtUpIzT mi32W2nSs0iowKmYKZJDS0TcxZz5b5TZZ10fcnaf0nUA/ZANtrzMfRjtRzXV22JOGL8dFo hS2xVAIVqpMYfnP9u9OqRYGEQRvnALIOgTbChrHEHUuViKBowHhGQtL2bNITloREA9c56M sKsPVitF7Wu/ymC76VMXXQJZUtF4ugF+pkUncUjCvdX0gJZnnnePp2WtZaeF1g== 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 4f0Flp4Xv4zDZK for ; Mon, 26 Jan 2026 17:24:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42d6e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 17:24:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 39878d24a690 - main - pf: Rationalize the ip_divert_ptr 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: 39878d24a690feb4da3fc223649c6a5fd166d09d Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 17:24:54 +0000 Message-Id: <6977a366.42d6e.1a73fa33@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=39878d24a690feb4da3fc223649c6a5fd166d09d commit 39878d24a690feb4da3fc223649c6a5fd166d09d Author: Mark Johnston AuthorDate: 2026-01-26 17:23:33 +0000 Commit: Mark Johnston CommitDate: 2026-01-26 17:23:33 +0000 pf: Rationalize the ip_divert_ptr test If a rule has a divert port set, then we can reasonably predict that ipdivert.ko is loaded, and in particular that ip_divert_ptr is set. Moreover, in this case, if ipdivert.ko is not loaded we should just drop the packet instead of ignoring the divert rule. Reviewed by: igoro, kp, glebius MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54845 --- sys/netpfil/pf/pf.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index bec6911795bd..c01b32e5a8b5 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -11961,11 +11961,11 @@ done: pf_is_loopback(af, pd.dst)) pd.m->m_flags |= M_SKIP_FIREWALL; - if (af == AF_INET && __predict_false(ip_divert_ptr != NULL) && - action == PF_PASS && r->divert.port && !PACKET_LOOPED(&pd)) { + if (af == AF_INET && action == PF_PASS && r->divert.port && + !PACKET_LOOPED(&pd)) { mtag = m_tag_alloc(MTAG_PF_DIVERT, 0, sizeof(struct pf_divert_mtag), M_NOWAIT | M_ZERO); - if (mtag != NULL) { + if (__predict_true(mtag != NULL && ip_divert_ptr != NULL)) { ((struct pf_divert_mtag *)(mtag+1))->port = ntohs(r->divert.port); ((struct pf_divert_mtag *)(mtag+1))->idir = @@ -11994,15 +11994,20 @@ done: } ip_divert_ptr(*m0, dir == PF_IN); *m0 = NULL; - return (action); - } else { + } else if (mtag == NULL) { /* XXX: ipfw has the same behaviour! */ action = PF_DROP; REASON_SET(&reason, PFRES_MEMORY); pd.act.log = PF_LOG_FORCE; DPFPRINTF(PF_DEBUG_MISC, "pf: failed to allocate divert tag"); + } else { + action = PF_DROP; + REASON_SET(&reason, PFRES_MATCH); + pd.act.log = PF_LOG_FORCE; + DPFPRINTF(PF_DEBUG_MISC, + "pf: divert(4) is not loaded"); } } /* XXX: Anybody working on it?! */ From nobody Mon Jan 26 18:11: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 4f0Gp32w1mz6PNLb; Mon, 26 Jan 2026 18:11:55 +0000 (UTC) (envelope-from avg@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 4f0Gp31lbNz3ZxS; Mon, 26 Jan 2026 18:11:55 +0000 (UTC) (envelope-from avg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769451115; 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:autocrypt:autocrypt; bh=FFayGVm2GKgq3KGKhYyhmqkTt/Qn5Bgw+P11+uE8cOM=; b=pXUXnK9pDWsKgx5XysF8RqEZXeoHSubsokjU6TgWAolFFVtOYH9sjqMQ0xerMl8aIzE8y/ pHtqEfwl6agp1M+z/8c3dqLCiPG9C0fdmAjrIbw5gtXBorOAE/XVWBJixZaOSYZO1NNdtZ BJ/JPesMHc8kPb2UNQ55hvbvEwHA4ROqEAEqoznkSUdmRxvDaQ4M8wqTki/sNJ7Fk6YfgL h6YHaTSTfh3gOrbNa7mSgyTgxQ5T6PRf7tfu8QFTBySxAAWsaSTSZY4leDjeQ0dvWpaB0o hnXzrWgkWXZHoVIDpYQpOPs9RApE1iV7SfIIbc2vwp5uJ6ECcfpK6aijCP79LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769451115; 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:autocrypt:autocrypt; bh=FFayGVm2GKgq3KGKhYyhmqkTt/Qn5Bgw+P11+uE8cOM=; b=TxSeEoTZzyr/M+06JKU1Ba3J2vXz8Zb72Qh5t5GYDG11qF8K5gWZJ5V2rHBFHMM5OW4z7u UZSuFCviEgf3psoOwwNORYQ7p+G+FVr+jS9j4nfE9rq/O4iVX3+Sk0XSuJTLN4rDSR2fxh TmkprKODRAi4hzizSH5Ltp+hzwRFMsWRoNU+qmbaDM3IaiJlOck/DBWru0nUoc646Z06Tf 0ww6fr9ohZIgD5230VQgtk9aNC75b0tTr8e39u7ffNdjjvlUWbsjrcrdw08pbO6asD2Oad krFhiwugWikfmee7INczM82SVDabO7939SFTvbpa6SlPmVMRO/f/EZjjOU+81g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769451115; a=rsa-sha256; cv=none; b=dlGFD2Wq4sr8nwvHqn6btDDOFLblIEpuNYXEWUHdiz8I8Se9Df7rJDOGuiC4WpxeQ4tzJr 4IzHBbL1MHSR/ykjZsCjTEsC/cQJfx3DsVCpa6Ha5mwGRV4gmd7ZCptF7xuiIMhkItPQwK dcGFhIm2Du4hHwFvK73qnnUDfHLpAk7kE65Iae/aWR3HclhP68VsVxA+E4z8K7fhUoWH2A XrPV5+3JWNsx5UnSbAnYFy6QM6eV9IswOM9O0XCOGk/SRnEgUppchiTcmKGfqiCB7r/Myl gn9HZXXmn34f8GBUwzKUAoA3EwoKWdKgMXW6Jo13T/aKx9E7RoGawm5GZiVjTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [192.168.0.88] (unknown [93.188.39.137]) (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: avg/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f0Gp22j4fz1DqN; Mon, 26 Jan 2026 18:11:54 +0000 (UTC) (envelope-from avg@FreeBSD.org) Message-ID: <78081be3-94c5-4139-8493-2fdf225ecaf3@FreeBSD.org> Date: Mon, 26 Jan 2026 20:11:51 +0200 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: e769bc771843 - main - sym(4): Employ memory barriers also on x86 To: Konstantin Belousov , Marius Strobl Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69778ef9.39b4d.5c480abe@gitrepo.freebsd.org> Content-Language: en-US From: Andriy Gapon Autocrypt: addr=avg@FreeBSD.org; keydata= xsDNBGcKrHEBDADRvwQOK0b/yo4ys5cs6bOQMhEh4xtfbaZ/CU00cpPgUip3sOZCdrtMWlRC g25z97prxE9pKueZi+HXDhIPpa9xl14ghqF4oYScuJ1i18HyiOH2y5Q3Vv/TtFiSzicd3EAu QgS3jVidpgDSPDdj2Yz3UxYpZ+PuFl6nOnvCvqOFcjUlzKCyPaiN2b86l1Nscmhnc+zQ/faB erUOEFEDQbWMA5YfXi8HrbeR16hfRfGt7E0aMDlIj9FIPIq71UWMN9CimPgs4+rbNr1MAlLa z4GxSDhVYZEY5rqtCzr+PLXboRQWnaUwXl0/biw9enf17NHdYv1SNAFTX2eC4dZ3qBVI74dS PgNprm+PMfz+6Hhs/dAv+Nan5nVhg3EFIjYTiy0MnjMSq8uI0v0ykpAGAcJJ5xl6d23aLxgN 6f0z6pJRCO0hGPgU7UzvFD0MxJxmbzqdT1R51KDan1oD41b+tjl2LMBuCDCoB0U44Pu0zLdp xMfFTxCXtwIYKIUxwd28jwMAEQEAAc0eQW5kcml5IEdhcG9uIDxhdmdARnJlZUJTRC5vcmc+ wsENBBMBCAA3FiEEmXvSmjiQFHPVOpLnzDOt5NLj67sFAmcKrHEFCQeEzgACGwMECwkIBwUV CAkKCwUWAgMBAAAKCRDMM63k0uPru5tSDACFK15LLbq89RSQ6QMnjiIm1t/wYJyumb519MHu Dhzxx1lbr8oghf0RHtF6kYRLQPaW2VdToi74pRobd3CN4bhZKDLSL6WfTn17RfavDjL6Njwp KBo30CkOeYKWq1mDmo0xEoQj8cc7ybEZnus+YScZOpj8Ti4EFwhRt6SHer7YDb161IHKL8m4 MsCxpFSGEjbKj8Iul3Ri/fTOO8w14ivcuEEQIvJt4/+4YV5Az8G23wKzL/3aJ7SOT3oYGmR9 atBTmVO3DlODjM+rZLegd8SfLSPTcBTHspWE5duemIzZbEX3BP77r3Qx4Fo5Tkit3bG1XVar yPQato+sFGFEGifdE9USBQoAoOaaeZevwAWjDU0TIuCT0CUe0sKtQuNP4LRq0n9EEHOXBu9a CfdMhFUSkAZnuE7miSVwgPvoVNJ1stA37EXLN/sVsWik7wslTQ5vF81VpdGFiwoQPOe2XEKh ogcwGSnXbwv1gD4x+Gz/7Y+kFyr1NY+4/nSaeXVcS2fOwM0EZwqscgEMAMQTe6ypAmQe/TFO HqKD2hfFKdksTptKi6uEh8xIwct8G/0FBldDWXo9eu8CGr/ZrDg0/bAwJxbaLRQCMH19Gq2Y hLvZ1QK5GQJVzZKcqfxbF2LiDUTs6WkdOBIhGpdDy7p1xFrvqCGCtNFYHuGYm067EozibBSF BWAPstKu2FQuVHZNMOfs7p3OIz3Yfqu9woXDeg3/8G2qVQJINe+8EwXKlhgh4CyDbq7nAZoA kIu1SE9z9u3WI5mcNy/0dFmVUsFxBqRC3ewbvzie8tKyZ9yFOlaZPT0Y4nRBXQTI3mLZ8zQ8 mtrWK5OOmrJ02kdeO9RBXe+OMaUUWMf92ZIoBFb4HP6N+B+4N1y1OwULousfl7JRoYxA4MRL ls7E2sSoJvrEBTJB3Pc34xu8rsJ1A5V3NgN6djX8yEZYpTRkcmrBeWy/ofDqZPVqneAx0LRm eldDS9msXDW4KXODyPZ+9unvmHAcoH0xaBYaSH44CDZDQDg4LNcmbOvuu1TEXBJhjQARAQAB wsD8BBgBCAAmFiEEmXvSmjiQFHPVOpLnzDOt5NLj67sFAmcKrHMFCQeEzgACGwwACgkQzDOt 5NLj67sUCAv5AXqgWnYN9EblapMbZjkiqL8pZQ0GNqh+Pg9FwbyULxjtRTO6rD4D0IxizByb ef+neeUNyYlagt5nfKMysEr0SU/gHKCi8vyTF/63ukMrGUNGmJJxrndl5ZYKC6j6eX7twrZF L1Uvlmn6FnQ22red5kHO93fDjG4zaDIZvHfwj7kzjZ4tpC7Byinf88s14mdZeScc0PnU2hj4 UGYju/wg2FF4YxaZYhcmdTiRYY0Wx85XSMZv19pnn78sadEuRvfRd4JTmw++j1xGXeqQGWzz /CTG5/Ex9GAkQ02hZbmi236byDXoet4G8TEyOph9QFVkV9bNd0jQZaFZPGEj4PSPUYGAF7s5 xJaNGgctC3aZ7WjEv1FBoo44XCU4xcjJ1wZQUrHxRhx6TW0Jtcl0U9qfKFW30TSPo6RyiXuj X4ltWKAtjoXB8nUmEJckaz7IRu2b4pXDeazZuz5JBygUs10yJjDxh2vFQZo0KaBAPx9MZlPn gpPTjT15L8xGftEjQXF6 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 26/01/2026 18:34, Konstantin Belousov wrote: > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: >> The branch main has been updated by marius: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 >> >> commit e769bc77184312b6137a9b180c97b87c0760b849 >> Author: Marius Strobl >> AuthorDate: 2026-01-26 13:58:57 +0000 >> Commit: Marius Strobl >> CommitDate: 2026-01-26 15:54:48 +0000 >> >> sym(4): Employ memory barriers also on x86 >> >> In an MP world, it doesn't hold that x86 requires no memory barriers. > It does hold. x86 is much more strongly ordered than all other arches > we currently support. > > That said, the use of the barriers in drivers is usually not justified > (I did not looked at this specific case). > > Even if needed, please stop using rmb/wmb etc. Use atomic_thread_fence() > of appropriate kind, see atomic(9). Then on x86 it does the right thing. I understand that this advice is for the "normal" memory access model. But does it apply to "special" memory? E.g., to memory-based communication with devices? -- Andriy Gapon From nobody Mon Jan 26 18:13: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 4f0Grc6y4Kz6PNyV for ; Mon, 26 Jan 2026 18:14:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 4f0Grc3WKcz3bVJ for ; Mon, 26 Jan 2026 18:14:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-6581af9c94aso9338993a12.1 for ; Mon, 26 Jan 2026 10:14:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769451247; x=1770056047; 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=y9a7pOZ6SLsfE1nMivGBkK07ptUS1fN1a7+CBRNahS0=; b=JHmkU9mHGJsmZ7i28jctoCTME23kK6mNdy6RYQzCqt4ZRyKxxFggpgXNr9rfjX7KrM ox/1IskfORCfD0w7PAESzqJeqOIhktKpq3U5/Wq07/ZQ1UiLW10+26vagYZCZ3JZegFi 5indNFMJXXNwE+glgicCOqd/PXKpljlgwbFawhMICfpRmsB9AjAkBDNt6e979FtO+s4x egPotEL4dsk331dX+iaEU47vl+DyX0jtHRdUY/UJg34kq7kxxRh0ZABSPqC1SmJKlAP5 N8xKAr225WeWJgOdwVs1SNkYcUYoHHSUgY6FurRJzSQXaZBwHwaIlmPVniiuip/hIzxF 9CqQ== X-Forwarded-Encrypted: i=1; AJvYcCVKl+7xdkMTN64esmehjuZONnyXHPPFBB3dZNBpMIwUjqLh5Mz5LMhKQYR3QttX2JGWn90257UU5Mu6EEX/1PznJ+6nHQ==@freebsd.org X-Gm-Message-State: AOJu0YyaRNxrz5C9Nd+Ar0yEO6o/YKvl4xi0/3wiacUSHGfRHiGsMJlJ clJGx02PIPI4LxPL7cliFOp34Rbm/C1kXqzVrt98lIr0FCD7+tYrIkt46dEq8cholv8= X-Gm-Gg: AZuq6aL0A/yYlZcG1WncFRvwPlhnuBxV0xYLMgkgoB74nFWIxABxQ5/xH3jAjNtRRzz toLrQJunfwAiF5dvt1d9py5rOXr56XqcPA5Ff2M0llR/bpCnlQFhDbsHOgnd0kn8UR/bfm4H3wG 2rCNNzxGz0k0gG+F+ylODZIa02eB3qr47btsyoWcky/50gRbJmHGqJDlDrwH6RB/tCX+oAZPUHK tm6Q3wFXkzC8BMfPLOCCduov2/g1LFPztxYkTQnTNYnhqMo1wZYR3qyyDBeQ1I9k8ePsRQ2cTV5 WaJfcYx8H0ktbxuSDTuTLk/jLW6KRJcheeS1VcQQSexZPkJhAHwa45YyURGQ99yxOnn/4D1/J0S nTlx0jJmLOiqs0fn+anta+BOeIZ6UhiwiD+gfGFYUs7bnnmhljzxB+srj2yqG+GEPhKxT4GmcK9 IkpZoW2KnOzYuVqO+Y/ll7r/PfP2uLtmx0ihu7Gve876CSGVOaTvJ2bZ1xIggg0DZhUw== X-Received: by 2002:a17:907:782:b0:b87:965:9079 with SMTP id a640c23a62f3a-b8d0a739e7emr330092266b.3.1769451246794; Mon, 26 Jan 2026 10:14:06 -0800 (PST) Received: from smtpclient.apple (nat-184-41.net.cam.ac.uk. [131.111.184.41]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b7b1a7fsm662056666b.58.2026.01.26.10.14.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Jan 2026 10:14:06 -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: e769bc771843 - main - sym(4): Employ memory barriers also on x86 From: Jessica Clarke In-Reply-To: Date: Mon, 26 Jan 2026 18:13:55 +0000 Cc: Marius Strobl , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <69778ef9.39b4d.5c480abe@gitrepo.freebsd.org> To: Konstantin Belousov 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: 4f0Grc3WKcz3bVJ On 26 Jan 2026, at 16:34, Konstantin Belousov = wrote: > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: >> The branch main has been updated by marius: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3De769bc77184312b6137a9b180c97b87c= 0760b849 >>=20 >> commit e769bc77184312b6137a9b180c97b87c0760b849 >> Author: Marius Strobl >> AuthorDate: 2026-01-26 13:58:57 +0000 >> Commit: Marius Strobl >> CommitDate: 2026-01-26 15:54:48 +0000 >>=20 >> sym(4): Employ memory barriers also on x86 >>=20 >> In an MP world, it doesn't hold that x86 requires no memory = barriers. > It does hold. x86 is much more strongly ordered than all other arches > we currently support. >=20 > That said, the use of the barriers in drivers is usually not justified > (I did not looked at this specific case). >=20 > Even if needed, please stop using rmb/wmb etc. Use = atomic_thread_fence() > of appropriate kind, see atomic(9). Then on x86 it does the right = thing. atomic_thread_fence() isn=E2=80=99t appropriate when dealing with MMIO = devices. Ideally all this would use bus_space_* and that would handle everything. Jessica >> This change should also fix panics due to out-of-sync data seen = with >> FreeBSD VMs on top of OpenStack and HBAs of type lsiLogic. [1] >>=20 >> While at it: >> - Improve the granularity somewhat by distinguishing between read = and >> write memory barriers as well as refer to existing *mb(9) = functions >> instead of duplicating these [2], unless IO barriers are also = used. >> - Nuke the unused SYM_DRIVER_NAME macro. >>=20 >> PR: 270816 [1] >> Obtained from: BSD-licensed Linux sym53c8xx driver [2] >> MFC after: 1 week >> --- >> sys/dev/sym/sym_hipd.c | 42 = +++++++++++++++--------------------------- >> 1 file changed, 15 insertions(+), 27 deletions(-) >>=20 >> diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c >> index 0e51607fb07a..f78d595a73ce 100644 >> --- a/sys/dev/sym/sym_hipd.c >> +++ b/sys/dev/sym/sym_hipd.c >> @@ -58,7 +58,6 @@ >> */ >>=20 >> #include >> -#define SYM_DRIVER_NAME "sym-1.6.5-20000902" >>=20 >> /* #define SYM_DEBUG_GENERIC_SUPPORT */ >>=20 >> @@ -114,27 +113,16 @@ typedef u_int32_t u32; >> #include >>=20 >> /* >> - * IA32 architecture does not reorder STORES and prevents >> - * LOADS from passing STORES. It is called `program order' >> - * by Intel and allows device drivers to deal with memory >> - * ordering by only ensuring that the code is not reordered >> - * by the compiler when ordering is required. >> - * Other architectures implement a weaker ordering that >> - * requires memory barriers (and also IO barriers when they >> - * make sense) to be used. >> - */ >> -#if defined __i386__ || defined __amd64__ >> -#define MEMORY_BARRIER() do { ; } while(0) >> -#elif defined __powerpc__ >> -#define MEMORY_BARRIER() __asm__ volatile("eieio; sync" : : : = "memory") >> -#elif defined __arm__ >> -#define MEMORY_BARRIER() dmb() >> -#elif defined __aarch64__ >> -#define MEMORY_BARRIER() dmb(sy) >> -#elif defined __riscv >> -#define MEMORY_BARRIER() fence() >> + * Architectures may implement weak ordering that requires memory = barriers >> + * to be used for LOADS and STORES to become globally visible (and = also IO >> + * barriers when they make sense). >> + */ >> +#ifdef __powerpc__ >> +#define MEMORY_READ_BARRIER() __asm__ volatile("eieio; sync" : : : = "memory") >> +#define MEMORY_WRITE_BARRIER() MEMORY_READ_BARRIER() >> #else >> -#error "Not supported platform" >> +#define MEMORY_READ_BARRIER() rmb() >> +#define MEMORY_WRITE_BARRIER() wmb() >> #endif >>=20 >> /* >> @@ -892,13 +880,13 @@ struct sym_nvram { >> */ >> #define OUTL_DSP(v) \ >> do { \ >> - MEMORY_BARRIER(); \ >> + MEMORY_WRITE_BARRIER(); \ >> OUTL (nc_dsp, (v)); \ >> } while (0) >>=20 >> #define OUTONB_STD() \ >> do { \ >> - MEMORY_BARRIER(); \ >> + MEMORY_WRITE_BARRIER(); \ >> OUTONB (nc_dcntl, (STD|NOCOM)); \ >> } while (0) >>=20 >> @@ -2908,7 +2896,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p = cp) >> if (qidx >=3D MAX_QUEUE*2) qidx =3D 0; >>=20 >> np->squeue [qidx] =3D cpu_to_scr(np->idletask_ba); >> - MEMORY_BARRIER(); >> + MEMORY_WRITE_BARRIER(); >> np->squeue [np->squeueput] =3D cpu_to_scr(cp->ccb_ba); >>=20 >> np->squeueput =3D qidx; >> @@ -2920,7 +2908,7 @@ static void sym_put_start_queue(hcb_p np, ccb_p = cp) >> * Script processor may be waiting for reselect. >> * Wake it up. >> */ >> - MEMORY_BARRIER(); >> + MEMORY_WRITE_BARRIER(); >> OUTB (nc_istat, SIGP|np->istat_sem); >> } >>=20 >> @@ -3061,7 +3049,7 @@ static int sym_wakeup_done (hcb_p np) >>=20 >> cp =3D sym_ccb_from_dsa(np, dsa); >> if (cp) { >> - MEMORY_BARRIER(); >> + MEMORY_READ_BARRIER(); >> sym_complete_ok (np, cp); >> ++n; >> } else >> @@ -3859,7 +3847,7 @@ static void sym_intr1 (hcb_p np) >> * On paper, a memory barrier may be needed here. >> * And since we are paranoid ... :) >> */ >> - MEMORY_BARRIER(); >> + MEMORY_READ_BARRIER(); >>=20 >> /* >> * First, interrupts we want to service cleanly. >=20 From nobody Mon Jan 26 18:31: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 4f0HDR115Mz6PQKF; Mon, 26 Jan 2026 18:31:19 +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 4f0HDQ4QTbz3fJ9; Mon, 26 Jan 2026 18:31:18 +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 60QIV5Qp026262; Mon, 26 Jan 2026 20:31:08 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 60QIV5Qp026262 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 60QIV5so026261; Mon, 26 Jan 2026 20:31:05 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 26 Jan 2026 20:31:05 +0200 From: Konstantin Belousov To: Andriy Gapon Cc: Marius Strobl , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@gitrepo.freebsd.org> <78081be3-94c5-4139-8493-2fdf225ecaf3@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: <78081be3-94c5-4139-8493-2fdf225ecaf3@FreeBSD.org> 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)[] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4f0HDQ4QTbz3fJ9 On Mon, Jan 26, 2026 at 08:11:51PM +0200, Andriy Gapon wrote: > On 26/01/2026 18:34, Konstantin Belousov wrote: > > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > > The branch main has been updated by marius: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > > Author: Marius Strobl > > > AuthorDate: 2026-01-26 13:58:57 +0000 > > > Commit: Marius Strobl > > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > > > sym(4): Employ memory barriers also on x86 > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > > It does hold. x86 is much more strongly ordered than all other arches > > we currently support. > > > > That said, the use of the barriers in drivers is usually not justified > > (I did not looked at this specific case). > > > > Even if needed, please stop using rmb/wmb etc. Use atomic_thread_fence() > > of appropriate kind, see atomic(9). Then on x86 it does the right thing. > I understand that this advice is for the "normal" memory access model. > But does it apply to "special" memory? E.g., to memory-based communication > with devices? Even more so, because rmb/wmb etc are about something very different than 'using special memory'. In this case, you need the 'special memory' properly set up. E.g. on x86 UC memory accesses are strongly ordered, so there is absolutely no need in issuing neither locked instructions nor {L,M,S}FENCE to fence these accesses, at least I have hard times imaging what would it change except slowing CPU down. From nobody Mon Jan 26 19:30: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 4f0JYG0Djwz6PVJ8 for ; Mon, 26 Jan 2026 19:30: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 4f0JYF6DFrz3psR for ; Mon, 26 Jan 2026 19:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769455857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8xVl9ZaQ1XCOoGAf06bg9N78K6C7HmrFsDJl+LGiQPU=; b=TfTNLKf8JUesmGVk2lTWzZQhDuOuFaXZISZHMcSn8YKR/LyB4uf6Vr/HIBesy+TVe88VCV 1t29T4w1xnIc3HMd3QqYvogwua8rxI7ucLlBbpcDUPAv2cbE5rVywTeL1ELO0/1AjktSY1 VzqWhG/tmQ1hCw7jSJONaJ2iscKnaOZovPAqh4Tz/mqoNQi4067o5iediCYZPEpFiYjVka EFwTR0XXHbUODiG+LuMRNj0zbsF7O3PlIn/CIndhpR+deqDEiDGCwjkvUQGImFl170oA7m ppZ8bkvMP3AWokXmPETlewFy/aYFEyifw059FRBg4zyvqxF46rumuRRu2iyWUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769455857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8xVl9ZaQ1XCOoGAf06bg9N78K6C7HmrFsDJl+LGiQPU=; b=tyUA6AX/9fIJ+R8XOQOPgNYQEjNrG+rrWEKH3wyRsgDJ+fB6a893GhTsXqzBhVYLeTs36L 5tNIClgOticwicu74uBR6wlcIIa0QR/XE0Tya10AG9f6oBDsgJanV5YpkzOd/hyOOYJyTb TjtdCfWukJlU9bhHg8tvMA4hef3pZ44XAYyz82e34Pmx02P7YtR0+DAjiQ5p0av9GPuZT2 x90/gmwlJP8DZV/LOtul7XgPxMqEOnWC2l1x7z8NTdsG7wCSiosukVuzRaDBJMpMcok8t2 /aoZpNGiTYe+BPW0/Bqc5BTx0MlCUuxo1fEIeGtGgrySVZK+eer6PwOM8Xa1uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769455857; a=rsa-sha256; cv=none; b=S66I2OdAwazY3IniRSdf+OMq3dNjxpFnzkQpo237JZc8tYcjZbdXJgU7XkMPvC0uZYYIg5 3kB4wKrJJI4TnMOXP4mSCHijWNB2R0hPst0cmiuhHBKPL6gIhJKIJ/OIP7wr1UPCIFg6Yx ga4P9nPLn9ktmKBc/+a7NhEqiPThhnZwKCETIt28OOllPKk+fG6E++LpXLYGJJnVt+Tnaq SKbuzlQmv26jhsE8liaHmpxdx/R+dfl6ddSAOqufpp1lndMp1ZyX2YYMOY+mIB6DLet2wv FZi3ES7Y4CsiBwBzTZ4UM/AbLbuXilwH6jeRFkA7OAU+scMdY8X3cc4cwCgPnw== 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 4f0JYF5pqTzb62 for ; Mon, 26 Jan 2026 19:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d664 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 19:30:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 74a2bf1b7a7f - main - libsys: add pdrfork_thread() on x86 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: 74a2bf1b7a7ff0c872499cb94df24713f61c872c Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 19:30:57 +0000 Message-Id: <6977c0f1.d664.1ca01df1@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=74a2bf1b7a7ff0c872499cb94df24713f61c872c commit 74a2bf1b7a7ff0c872499cb94df24713f61c872c Author: Konstantin Belousov AuthorDate: 2026-01-25 17:33:05 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-26 19:30:05 +0000 libsys: add pdrfork_thread() on x86 Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54879 --- lib/libsys/amd64/Makefile.sys | 3 +- lib/libsys/amd64/Symbol.sys.map | 4 ++ lib/libsys/amd64/pdrfork_thread.S | 83 +++++++++++++++++++++++++++++++ lib/libsys/i386/Makefile.sys | 2 +- lib/libsys/i386/Symbol.sys.map | 4 ++ lib/libsys/i386/pdrfork_thread.S | 101 ++++++++++++++++++++++++++++++++++++++ sys/sys/procdesc.h | 1 + 7 files changed, 196 insertions(+), 2 deletions(-) diff --git a/lib/libsys/amd64/Makefile.sys b/lib/libsys/amd64/Makefile.sys index 8134bdc422a6..fc8ebe796081 100644 --- a/lib/libsys/amd64/Makefile.sys +++ b/lib/libsys/amd64/Makefile.sys @@ -4,6 +4,7 @@ SRCS+= \ amd64_set_fsbase.c \ amd64_set_gsbase.c \ amd64_set_tlsbase.c \ - rfork_thread.S + rfork_thread.S \ + pdrfork_thread.S MDASM= vfork.S cerror.S getcontext.S diff --git a/lib/libsys/amd64/Symbol.sys.map b/lib/libsys/amd64/Symbol.sys.map index 11e0507b6613..b037e12d45f5 100644 --- a/lib/libsys/amd64/Symbol.sys.map +++ b/lib/libsys/amd64/Symbol.sys.map @@ -17,6 +17,10 @@ FBSD_1.8 { amd64_set_tlsbase; }; +FBSD_1.9 { + pdrfork_thread; +}; + FBSDprivate_1.0 { _vfork; }; diff --git a/lib/libsys/amd64/pdrfork_thread.S b/lib/libsys/amd64/pdrfork_thread.S new file mode 100644 index 000000000000..cd187ae456ae --- /dev/null +++ b/lib/libsys/amd64/pdrfork_thread.S @@ -0,0 +1,83 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2000 Peter Wemm + * Copyright 2003 Alan L. Cox + * Copyright 2026 The FreeBSD Foundation + * All rights reserved. + * + * Portions of this software were developed by + * Konstantin Belousov under sponsorship from + * the FreeBSD Foundation. + */ + +#include +/* + * With thanks to John Dyson for the original version of this. + */ + +#include + +/* + * %rdi %esi %rdx %rcx %r8 %r9 + * pdrfork_thread(fdp, pdflags, rfflags, stack_addr, start_fnc, start_arg); + * + * fdp Pointer for the resulting fd location + * pdflags Flags as to pdfork. + * rfflags: Flags as to rfork. + * stack_addr: Top of stack for thread. + * start_fnc: Address of thread function to call in child. + * start_arg: Argument to pass to the thread function in child. + */ + +ENTRY(pdrfork_thread) + pushq %rbx + pushq %r12 + pushq %r13 + movq %r8, %rbx + movq %r9, %r12 + movq %rcx, %r13 + + /* + * Prepare and execute the thread creation syscall + */ + _SYSCALL(pdrfork) + jb 2f + + /* + * Check to see if we are in the parent or child + */ + cmpl $0, %edx + jnz 1f + popq %r13 + popq %r12 + popq %rbx + ret + + /* + * If we are in the child (new thread), then + * set-up the call to the internal subroutine. If it + * returns, then call __exit. + */ +1: + movq %r13, %rsp + movq %r12, %rdi + call *%rbx + movl %eax, %edi + + /* + * Exit system call + */ + _SYSCALL(exit) + + /* + * Branch here if the thread creation fails: + */ +2: + popq %r13 + popq %r12 + popq %rbx + jmp HIDENAME(cerror) +END(pdrfork_thread) + + .section .note.GNU-stack,"",%progbits diff --git a/lib/libsys/i386/Makefile.sys b/lib/libsys/i386/Makefile.sys index 2957dc548cf8..69507d930f25 100644 --- a/lib/libsys/i386/Makefile.sys +++ b/lib/libsys/i386/Makefile.sys @@ -1,7 +1,7 @@ SRCS+= i386_get_fsbase.c i386_get_gsbase.c i386_get_ioperm.c i386_get_ldt.c \ i386_set_fsbase.c i386_set_gsbase.c i386_set_ioperm.c i386_set_ldt.c \ i386_clr_watch.c i386_set_watch.c i386_vm86.c \ - rfork_thread.S + rfork_thread.S pdrfork_thread.S MDASM= vfork.S cerror.S getcontext.S syscall.S diff --git a/lib/libsys/i386/Symbol.sys.map b/lib/libsys/i386/Symbol.sys.map index 6b3169336a3f..a35349e4953b 100644 --- a/lib/libsys/i386/Symbol.sys.map +++ b/lib/libsys/i386/Symbol.sys.map @@ -20,6 +20,10 @@ FBSD_1.6 { x86_pkru_unprotect_range; }; +FBSD_1.9 { + pdrfork_thread; +}; + FBSDprivate_1.0 { _vfork; }; diff --git a/lib/libsys/i386/pdrfork_thread.S b/lib/libsys/i386/pdrfork_thread.S new file mode 100644 index 000000000000..92a45fc4783f --- /dev/null +++ b/lib/libsys/i386/pdrfork_thread.S @@ -0,0 +1,101 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2000 Peter Wemm + * Copyright 2026 The FreeBSD Foundation + * All rights reserved. + * + * Portions of this software were developed by + * Konstantin Belousov under sponsorship from + * the FreeBSD Foundation. + */ + +#include +/* + * With thanks to John Dyson for the original version of this. + */ + +#include + +/* + * 8 12 16 20 24 28 + * rfork_thread(fdp, pdflags rfflags, stack_addr, start_fnc, start_arg); + * + * fdp Pointer for the resulting fd location + * pdflags Flags as to pdfork. + * rfflags: Flags as to rfork. + * stack_addr: Top of stack for thread. + * start_fnc: Address of thread function to call in child. + * start_arg: Argument to pass to the thread function in child. + */ + +ENTRY(pdrfork_thread) + pushl %ebp + movl %esp, %ebp + pushl %esi + + /* + * Push thread info onto the new thread's stack + */ + movl 20(%ebp), %esi # get stack addr + + subl $4, %esi + movl 28(%ebp), %eax # get start argument + movl %eax, (%esi) + + subl $4, %esi + movl 24(%ebp), %eax # get start thread address + movl %eax, (%esi) + + /* + * Prepare and execute the thread creation syscall + */ + pushl 16(%ebp) + pushl 12(%ebp) + pushl 8(%ebp) + pushl $0 + _SYSCALL(pdrfork) + jb 2f + + /* + * Check to see if we are in the parent or child + */ + cmpl $0, %edx + jnz 1f + addl $16, %esp + popl %esi + movl %ebp, %esp + popl %ebp + ret + .p2align 2 + + /* + * If we are in the child (new thread), then + * set-up the call to the internal subroutine. If it + * returns, then call __exit. + */ +1: + movl %esi,%esp + popl %eax + call *%eax + addl $4, %esp + + /* + * Exit system call + */ + pushl %eax + pushl $0 + _SYSCALL(exit) + + /* + * Branch here if the thread creation fails: + */ +2: + addl $16, %esp + popl %esi + movl %ebp, %esp + popl %ebp + jmp HIDENAME(cerror) +END(pdrfork_thread) + + .section .note.GNU-stack,"",%progbits diff --git a/sys/sys/procdesc.h b/sys/sys/procdesc.h index 6a9168b04a68..b477903f8053 100644 --- a/sys/sys/procdesc.h +++ b/sys/sys/procdesc.h @@ -130,6 +130,7 @@ pid_t pdrfork(int *, int, int); int pdkill(int, int); int pdgetpid(int, pid_t *); int pdwait(int, int *, int, struct __wrusage *, struct __siginfo *); +pid_t pdrfork_thread(int *, int, int, void *, int (*)(void *), void *); __END_DECLS #endif /* _KERNEL */ From nobody Mon Jan 26 19:30: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 4f0JYH2JkRz6PVLQ for ; Mon, 26 Jan 2026 19:30: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 4f0JYG70Mrz3psX for ; Mon, 26 Jan 2026 19:30:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769455859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqByGIOg67whrGt1HeqVB9vMnq3I7KZZ2Lx9yavSHno=; b=rDQ0BaKfz7hHO9GtDmPqypke1x2ylVr5CVpe5EcRs07tV6FsOYpsputZQp1kvnyCf7Wxes SLh0i7YUSP8ms3b93OP5q/sWz3nsfZV4Wux/iwEvsLK0bwyq+vLKrZ6YV6fIwRTLGeIy1w DC6ZnpOKGkQ6gjG/n4Z1pz/rX34yUHE1mtBYGD59+LBNZ7J9JJRSN19GMCeddtcNT/5Ukg WVH8s60w2WD1xE6nBDpVd+9+H8kWdEzoOhTmNlfFb7haS55FWR7V9+KxBAhDftrppJEMkp YSoyPCtRkGXtKwQzBIEBzxKiNu5d6svZDd0bXZ70EFggEZaLZYBGeMm1AKU4vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769455859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqByGIOg67whrGt1HeqVB9vMnq3I7KZZ2Lx9yavSHno=; b=balqVbhJutD92GnS1pYjG0X9u3YI37OMFriWqSx1Uf/+bGh2jLlPvD2asW6hEJNs+2fBnS WJwlJ/ehOtUUf5MmKR6RtiG1kqQiNaoLQN8K8e0zkxlSZc20a1P0O9XTrD+NbGWnz1t7CL CSv3hcWbFTJmdXY8t7A4SGv44Ml3xqN6nhcj5Hu9cTbDw236bc/zbJ/dJMlwJzYCctFsg0 DpzTfFv/xIE4D2J4OeaO6HPWkYxuTsfoHrZq6650rWC25kP32NJzVPk77/YLHFNjkpbESV PngptCmk5ml4zx9LLF4lZKuPds+yvHgbQdHihXLMlVoa/nObMSVuksDZX7BkQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769455859; a=rsa-sha256; cv=none; b=w4fDfhU/2gUc6io05cFEtFhpb2mAyG8QBfMv9mZSPrxUuyVkqCSc2Zc5hghOg3bI1a6bIC JFwNv9wz+emJxhFNi2v2HAz3bImNOeLkymd74qd9OiWM7mpJ3e7Mdbl3mWqZSbFWz3wIti cULBHXerbsgq4nHF8aBftbUTDrkOKXtdqkx4kFJv0kxLX6dc4P7IEQinq/+aWh2ym46OMj MONUMucGCghpyV+vsLKQJIWcb3U55V6Hxn3PwwHNkHALkUPj5DTn9jEPqqOhkIpvy02In0 cg7RaT4McVCnbWJ4/yEAAJtCSz8SBW8a9W3q2Gyunax/il2QM7L73JYr6bsIIg== 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 4f0JYG6YdQzZmg for ; Mon, 26 Jan 2026 19:30:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f24e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 19:30:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 080d8ed7dd29 - main - libc: add posix_spawnattr_{get,set}procdescp_np 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: 080d8ed7dd29ba537ce4cca286ed3369aca61ef5 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 19:30:58 +0000 Message-Id: <6977c0f2.f24e.12f1bf8d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=080d8ed7dd29ba537ce4cca286ed3369aca61ef5 commit 080d8ed7dd29ba537ce4cca286ed3369aca61ef5 Author: Konstantin Belousov AuthorDate: 2026-01-25 17:40:48 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-26 19:30:14 +0000 libc: add posix_spawnattr_{get,set}procdescp_np Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54879 --- include/spawn.h | 4 ++++ lib/libc/gen/Symbol.map | 2 ++ lib/libc/gen/posix_spawn.c | 54 +++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/include/spawn.h b/include/spawn.h index a8f40e49dce0..636b20755238 100644 --- a/include/spawn.h +++ b/include/spawn.h @@ -126,8 +126,12 @@ int posix_spawnattr_setsigmask(posix_spawnattr_t * __restrict, #if __BSD_VISIBLE int posix_spawnattr_setexecfd_np(posix_spawnattr_t * __restrict, int); +int posix_spawnattr_setprocdescp_np(const posix_spawnattr_t * __restrict, + int * __restrict, int); int posix_spawnattr_getexecfd_np(const posix_spawnattr_t * __restrict, int * __restrict); +int posix_spawnattr_getprocdescp_np(const posix_spawnattr_t * __restrict, + int ** __restrict, int * __restrict); #endif __END_DECLS diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 19170768ef7c..ddbd0522e13f 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -476,7 +476,9 @@ FBSD_1.8 { FBSD_1.9 { posix_spawnattr_getexecfd_np; + posix_spawnattr_getprocdescp_np; posix_spawnattr_setexecfd_np; + posix_spawnattr_setprocdescp_np; }; FBSDprivate_1.0 { diff --git a/lib/libc/gen/posix_spawn.c b/lib/libc/gen/posix_spawn.c index fc327e15bbf0..c64915078317 100644 --- a/lib/libc/gen/posix_spawn.c +++ b/lib/libc/gen/posix_spawn.c @@ -29,6 +29,7 @@ #include "namespace.h" #include #include +#include #include #include @@ -37,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -51,6 +53,8 @@ struct __posix_spawnattr { sigset_t sa_sigdefault; sigset_t sa_sigmask; int sa_execfd; + int *sa_pdrfork_fdp; + int sa_pdflags; }; struct __posix_spawn_file_actions { @@ -281,6 +285,8 @@ do_posix_spawn(pid_t *pid, const char *path, { struct posix_spawn_args psa; pid_t p; + int pfd; + bool do_pfd; #ifdef _RFORK_THREAD_STACK_SIZE char *stack; size_t cnt, stacksz; @@ -322,6 +328,8 @@ do_posix_spawn(pid_t *pid, const char *path, psa.use_env_path = use_env_path; psa.error = 0; + do_pfd = sa != NULL && (*sa)->sa_pdrfork_fdp != NULL; + /* * Passing RFSPAWN to rfork(2) gives us effectively a vfork that drops * non-ignored signal handlers. We'll fall back to the slightly less @@ -341,10 +349,20 @@ do_posix_spawn(pid_t *pid, const char *path, * parent. Because of this, we must use rfork_thread instead while * almost every other arch stores the return address in a register. */ - p = rfork_thread(RFSPAWN, stack + stacksz, _posix_spawn_thr, &psa); + if (do_pfd) { + p = pdrfork_thread(&pfd, PD_CLOEXEC | (*sa)->sa_pdflags, + RFSPAWN, stack + stacksz, _posix_spawn_thr, &psa); + } else { + p = rfork_thread(RFSPAWN, stack + stacksz, _posix_spawn_thr, + &psa); + } free(stack); #else - p = rfork(RFSPAWN); + if (do_pfd) { + p = pdrfork(&pfd, PD_CLOEXEC | (*sa)->sa_pdflags, RFSPAWN); + } else { + p = rfork(RFSPAWN); + } if (p == 0) /* _posix_spawn_thr does not return */ _posix_spawn_thr(&psa); @@ -356,6 +374,8 @@ do_posix_spawn(pid_t *pid, const char *path, */ if (p == -1 && errno == EINVAL) { + if (do_pfd) + return (EOPNOTSUPP); p = vfork(); if (p == 0) /* _posix_spawn_thr does not return */ @@ -363,12 +383,18 @@ do_posix_spawn(pid_t *pid, const char *path, } if (p == -1) return (errno); - if (psa.error != 0) + if (psa.error != 0) { /* Failed; ready to reap */ - _waitpid(p, NULL, WNOHANG); - else if (pid != NULL) + if (do_pfd) + (void)_close(pfd); + else + _waitpid(p, NULL, WNOHANG); + } else if (pid != NULL) { /* exec succeeded */ *pid = p; + if (do_pfd) + *((*sa)->sa_pdrfork_fdp) = pfd; + } return (psa.error); } @@ -651,6 +677,15 @@ posix_spawnattr_getexecfd_np(const posix_spawnattr_t * __restrict sa, return (0); } +int +posix_spawnattr_getprocdescp_np(const posix_spawnattr_t * __restrict sa, + int ** __restrict fdpp, int * __restrict pdrflagsp) +{ + *fdpp = (*sa)->sa_pdrfork_fdp; + *pdrflagsp = (*sa)->sa_pdflags; + return (0); +} + int posix_spawnattr_setflags(posix_spawnattr_t *sa, short flags) { @@ -708,3 +743,12 @@ posix_spawnattr_setexecfd_np(posix_spawnattr_t * __restrict sa, (*sa)->sa_execfd = execfd; return (0); } + +int +posix_spawnattr_setprocdescp_np(const posix_spawnattr_t * __restrict sa, + int * __restrict fdp, int pdrflags) +{ + (*sa)->sa_pdrfork_fdp = fdp; + (*sa)->sa_pdflags = pdrflags; + return (0); +} From nobody Mon Jan 26 20: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 4f0KQP0czRz6PXkp for ; Mon, 26 Jan 2026 20: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 4f0KQN72w4z3vZ0 for ; Mon, 26 Jan 2026 20: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=1769458205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zTdf8+D8YepFUmKTR9Ewyf227Z31WtCAG+KiHZJzmN0=; b=L+kmHmcHL+7QLZaQ/kOB+omnctJaPMyvUOHD03om+cfWwFiGFL2jOTXeOMP+ZKEfyqnOGZ N8dlUl7h/rAD50g7QO2qutlBP5io85nG7nsYj1BG43iQWZ/fnnKNXjEkOw1rCoTX2inXKo VteHsdHOtV9sS64Ewu/ovIF7VtrsSl9JSppQ6G1/wsBRAifwnm33k2zaMqUtsVqxsU7u1O TwldtlD2UMYPpp4qvJDG+N+V+WdaEem+/iG1CEGOZebPUFHO54xAxwoMcp5krL8ppCUoPI z9vj5ITtwS4ApHVzAcOawiQSAtYpogUdc0y2DL24wChRnCFYX3C/fLfukBqN0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769458205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zTdf8+D8YepFUmKTR9Ewyf227Z31WtCAG+KiHZJzmN0=; b=Cxy+i0ZICRP3eUYcba9U6fJx/+8owyBtQPN4HD8y4cOSLfKlnINFlCLczcDBEzS6eRE8eK /Gfm4+j6d8P2GoOVJNR3wLBm+0BjbT+X+TfucfsTwfTwpgLak3OBhmaEUYMCMtopIucVc2 73uIgt47Vnixa9luzf1rTgYiADGyNMfm9ufWm+wMfLCOrAbFRZukXChrHLJceFnNTqoKSX qv6GyHnNdb7KdY5ZVaMklNl2vUfa2sb6gzXfyBImR66hPkWDoYHBC+JmSZW6T6YX0qnWdw mHUGkL/JBS9umZbjXl0wJ+SOzaQDREi3rU0Pn9w2DsrMqJPNOtWoxHznM5++Hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769458205; a=rsa-sha256; cv=none; b=KuMfMGz3IC4mmQeA7agilPLSm0dIThSbCvW54SJvqF43rieA5AL3AFy/J/N3aX4Ikfhkfe tLRBV8oiV2h6HAJwFhN0x81HVCIReppBUEzVpyy/ppnphppiQYDvoOtEB3ALVUWhCTblnh Sg46ES2k7UJ5Q2x73zdF+UuRjkSpUtYBH3+iGYPSHMz0Q55hh1uzCjINPSX2WB+F0wjH2f dSObnrUQIUCcmcpj8L2gy7rhcQRlSLUeyAqhP8dSnzWbT5GT+PNI8DvCPCsdi1ye4hnB+1 9JDwHUXXUOxUogorfi0yRRcpYy5hWiX2N7DIDYVuUl2v2va9/+1Tk1kOvPBEGg== 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 4f0KQN6cpwzbnn for ; Mon, 26 Jan 2026 20:10:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2135a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 20:10:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2a5b083c1f7e - main - posix_spawnattr_getexecfd_np.3: add closing .Fc 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: 2a5b083c1f7e0a4518bd944241af1d1102997c4d Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 20:10:04 +0000 Message-Id: <6977ca1c.2135a.514cef12@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2a5b083c1f7e0a4518bd944241af1d1102997c4d commit 2a5b083c1f7e0a4518bd944241af1d1102997c4d Author: Konstantin Belousov AuthorDate: 2026-01-26 20:07:31 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-26 20:09:40 +0000 posix_spawnattr_getexecfd_np.3: add closing .Fc Fixes: 9bf69c37f43e96292e97e41bf942d7aca4101362 Sponsored by: The FreeBSD Foundation MFC after: 1 week --- lib/libc/gen/posix_spawnattr_getexecfd_np.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/gen/posix_spawnattr_getexecfd_np.3 b/lib/libc/gen/posix_spawnattr_getexecfd_np.3 index 3f5c523d101d..6edcfcdfb42f 100644 --- a/lib/libc/gen/posix_spawnattr_getexecfd_np.3 +++ b/lib/libc/gen/posix_spawnattr_getexecfd_np.3 @@ -26,6 +26,7 @@ .Fo posix_spawnattr_setexecfd_np .Fa "posix_spawnattr_t *attr" .Fa "int fd" +.Fc .Sh DESCRIPTION The .Fn posix_spawnattr_getexecfd_np From nobody Mon Jan 26 20:21: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 4f0Kg95Zp8z6PYGR for ; Mon, 26 Jan 2026 20:21: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 4f0Kg82ScJz3xGG for ; Mon, 26 Jan 2026 20:21:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769458868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GOH9GBJFNt7+kJH+INNxxSQ4AoBfjZaZWNPoe2xDj90=; b=wtTaFDeaPY6fewfw9lbCmjecLg0m9I4+mXIowK5xcmZ9biL8ZczzmPgLWp9yleDnvUZJNs 6CmtgNsBy0rsAeZ31xlmnDVuvATJ84qgMye4lUjORnnCZCPQuGnmL98WpC+4rF6l76jl2a Kn8uGDF5yE5mb3nImgtMiJ8XeXGNM2QmYROmTrk7ZI6DjCebIbmUR6cDcuG37PUsskXgZF hm8vVMOchRaf3ajcUDELuOGA7MsaBPg3Zqs630XvQGK3zsPYuS7unJwciXbu5KaH7yK2I0 6/Rke5jiw0AGeyMHnvw5ooJRYcR1oA6FHTjT5US17XPH2JSz1UiCc7bPCpRLEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769458868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GOH9GBJFNt7+kJH+INNxxSQ4AoBfjZaZWNPoe2xDj90=; b=cH9mwGOk8G7JTzEfbbWEfczAALo9e1SyNgkKjyIJi/W8s4+GVRe0lRjD4LWm1l5UHluncP eDhHUCoB0+Oe5qUg/uWXkg9xzeqSBWUEyENndWd6b8JZBPUeEzf+bUBusFT30Ex8dSwgwv 0Fip2ow0hKPiyyoIeCQXyDNz1+SlAfLlvEzA+XZ3UXUducElUzvALM4sqwmICjyae26kvR xnhwWwM5fzwj9rVa/dIOPpC1P4HUPLg9qNUNJlma64AVj8Jcs7TlVGqFrw7Bb2NZgeOTPG ROlfKbGSB4O2S8IWspVcbB85VSePp63z/5oZg3ZrFyuu2wCjXlYD7kxdGnDzrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769458868; a=rsa-sha256; cv=none; b=BVFzwMyuVEZwhjSdY7Wfw4AXCbBb3xgZMm9R6+1KmExm/luNBF4kkm61vceahn0hsNd8uq ExIKW19haoWNgzj/xpMLjEoSE8YKeKYh9C7CqtSohfiqOemvTEL8gbAXio028nrMBOsl5l R7qEZC5XG+yiCDhXT723LhZFxh8Nj/N9GcueP65M4cbyO9E29fg6HFq1HEDWG89h7oqauA wT5uBMKdvMfqipp3M2Udprq4dqWHOlxE/LnbQFuje+iGIrI2375ypvf/ahCuAo21z7Lvj7 B5oj8m3Wf9xKos+FCq3QtWTZb9BA5rdNQ+PVlhV7ytrhlEYqvkevLL1lbFH7BQ== 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 4f0Kg81xJ2zc8K for ; Mon, 26 Jan 2026 20:21:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 242fa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 20:21: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: fe962e33d86f - main - METALOG: Order keyword 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: fe962e33d86f888b496b17251c8bedebf92be8ee Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 20:21:08 +0000 Message-Id: <6977ccb4.242fa.453e5dbb@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=fe962e33d86f888b496b17251c8bedebf92be8ee commit fe962e33d86f888b496b17251c8bedebf92be8ee Author: Jose Luis Duran AuthorDate: 2026-01-26 20:19:44 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-26 20:19:44 +0000 METALOG: Order keyword entries To facilitate comparison with mtree -C generated output, keep the keywords ordered. No functional change intended. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54872 --- lib/libc/gen/Makefile.inc | 6 +++--- share/man/Makefile | 4 ++-- sys/conf/kmod.mk | 2 +- sys/modules/Makefile | 2 +- usr.sbin/services_mkdb/Makefile | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 5d151a71ff7d..9b92abb6282a 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -585,8 +585,8 @@ install-passwd: .PHONY ${PWD_MKDB_CMD} -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd .if defined(NO_ROOT) && defined(METALOG) ( \ - echo ".${DISTBASE}/etc/pwd.db type=file mode=0644 uname=root gname=wheel"; \ - echo ".${DISTBASE}/etc/spwd.db type=file mode=0600 uname=root gname=wheel"; \ - echo ".${DISTBASE}/etc/passwd type=file mode=0644 uname=root gname=wheel"; \ + echo ".${DISTBASE}/etc/pwd.db type=file uname=root gname=wheel mode=0644"; \ + echo ".${DISTBASE}/etc/spwd.db type=file uname=root gname=wheel mode=0600"; \ + echo ".${DISTBASE}/etc/passwd type=file uname=root gname=wheel mode=0644"; \ ) | cat -l >> ${METALOG} .endif diff --git a/share/man/Makefile b/share/man/Makefile index 51e560e199a5..9a8054f0651a 100644 --- a/share/man/Makefile +++ b/share/man/Makefile @@ -10,13 +10,13 @@ makedb: .if ${MK_MAN_UTILS} != "no" ${MAKEWHATIS} ${DESTDIR}${BINDIR}/man .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${BINDIR}/man/mandoc.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${BINDIR}/man/mandoc.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .if ${MK_OPENSSL} != "no" ${MAKEWHATIS} ${DESTDIR}${BINDIR}/openssl/man .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${BINDIR}/openssl/man/mandoc.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${BINDIR}/openssl/man/mandoc.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index edc311348971..17358428a023 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -383,7 +383,7 @@ afterinstall: _kldxref _kldxref: .PHONY ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${KMODDIR}/linker.hints type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 538cd7a1f37d..caf703bb318d 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -967,7 +967,7 @@ SUBDIR:= ${SUBDIR:N${reject}} afterinstall: .PHONY ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}${KMODDIR}/linker.hints type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif diff --git a/usr.sbin/services_mkdb/Makefile b/usr.sbin/services_mkdb/Makefile index c1c7ca0bfcff..175b190d4982 100644 --- a/usr.sbin/services_mkdb/Makefile +++ b/usr.sbin/services_mkdb/Makefile @@ -15,7 +15,7 @@ afterinstallconfig: ${SERVICES_MKDB_CMD} ${CAP_MKDB_ENDIAN} -q -o ${DESTDIR}/var/db/services.db \ ${DESTDIR}/etc/services .if defined(NO_ROOT) && defined(METALOG) - echo ".${DISTBASE}/var/db/services.db type=file mode=0644 uname=root gname=wheel" | \ + echo ".${DISTBASE}/var/db/services.db type=file uname=root gname=wheel mode=0644" | \ cat -l >> ${METALOG} .endif .endif From nobody Mon Jan 26 20:27: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 4f0KpY4s8sz6PZ4R for ; Mon, 26 Jan 2026 20:27: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 4f0KpY4XgVz40Py for ; Mon, 26 Jan 2026 20:27:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769459253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5dILo2sce0YyVuURNvaLfL6ynBkrz7KYCljx0G3chLw=; b=Ff3tjTb8z74eAZnKjkxE827r5yV7m84dsqQSHa3EJBqmNIypzkNmwzDe3xyZOpAk1oOIFZ FlwDDZb24oUjWBbPueKZ/3oVZ1NRsFeAR3ppG93d4IPay07e6T8MuXb6ezxi9ug/WJu3fY EWftFJuEq4imomEQdyoOTw5KcdVoRKRk005F+1AQuA/f7rF9rvmQsACv9IWRQ5ZYWsuMyB JhqXPYV3UfPFLxSl+R+ZfLUICqabM7sUj4S4NZGNyFilyeHH9m6c41UMJc55wlaDuEAAlw 4Qki4F0Pq0z+4Jco3lOZmjhkDtM+K/9RTkADKCEDu9RKF7xBxkM7tKV2b6vnEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769459253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5dILo2sce0YyVuURNvaLfL6ynBkrz7KYCljx0G3chLw=; b=jm4GnP77iV3pRY/cJPZxtv5qJuWJucT8v/8WLNpzWcCxpo1uYTOEmpK7hOF+u9aTEPUMSm COTMhzgW3OP9TNL8LOfXHlL7TUxanKScnmX/Cwjh5PDEsFROJizcfN/0b+cibkX1IfIpSo DspZ6QtOXoV8tTEAPYHRDtUMsCwABqcmKjhG6vBJlGZeI1z6ZJKOkjSO5e4tkaihtej0b0 e96SftI4FCqFSOt/qJmw1O979O/WXZ53VZK/hewVfd4J4fHhiB6aI5tZKKA0bdkNGviTod CjWO1nIluAUB6JvU4splH4HdMQOQgHIUQzRgQvIL4BklLdcJM1CjU9UIpUcE8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769459253; a=rsa-sha256; cv=none; b=IQVRDe1uUrnphEqNYKEa2SK/QG/1M9kvOflV/aOywUTtKVdCqNx8QbrIzqjaGnJgObmiJf LOX5l9nXQMBJ1MkX1caf/nCcyCockSRSLWcp0+pLxw8gX7tzhDdT9VVrlipBy9YxVRdH1u qNI3jFeijr98Tde1KbA/motw180idqjbO+RX0jlTN1HCJ+z6d5fhOUfKbiJeERI9i8Temu D46DxVOpzefxcjQ9crUrTr/Zxh7wvNagrxp2onB/zNsbFPxse7X6UocQ6IAU8cla93Kb++ N14YJUzIWInczVFYnNSU6ARFQklr6R0pHWuhbaQ172We5R+24juTj1nEy/PLZQ== 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 4f0KpY3VVvzc8v for ; Mon, 26 Jan 2026 20:27:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2450b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 20:27:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jonathan T. Looney Subject: git: fb4b0c911951 - main - witness: Provide facility to print detailed lock tree 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: fb4b0c91195195561560bb2fb2c1ba8da81f7ccf Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 20:27:33 +0000 Message-Id: <6977ce35.2450b.51ba5390@gitrepo.freebsd.org> The branch main has been updated by jtl: URL: https://cgit.FreeBSD.org/src/commit/?id=fb4b0c91195195561560bb2fb2c1ba8da81f7ccf commit fb4b0c91195195561560bb2fb2c1ba8da81f7ccf Author: Jonathan T. Looney AuthorDate: 2026-01-17 01:20:26 +0000 Commit: Jonathan T. Looney CommitDate: 2026-01-26 20:22:57 +0000 witness: Provide facility to print detailed lock tree When witness(4) detects lock order reversals (LORs), it prints information about the stack trace which caused the LOR. If available, it can also print information about the first stack trace which established the other lock ordering. However, it only does this for "simple" LORs where the two locks in question were directly locked in the opposite order. When the lock order was established through a more complex pattern of intermediate locks, WITNESS only prints the stack trace where it detected the LOR. This commit provides new functionality to provide more verbose information about the lock chain(s) which established the lock ordering. The new functionality can be disabled by setting the debug.witness.trace sysctl/tunable to 1. The new functionality is also available through the debug.witness.badstacks sysctl, which has been modified to always show the more verbose information. Reviewed by: markj, glebius (previous version), kib (previous version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D54785 MFC after: 1 month --- share/man/man4/witness.4 | 50 ++++++- sys/kern/subr_witness.c | 343 ++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 368 insertions(+), 25 deletions(-) diff --git a/share/man/man4/witness.4 b/share/man/man4/witness.4 index f382a9378727..9016da3b39c6 100644 --- a/share/man/man4/witness.4 +++ b/share/man/man4/witness.4 @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 5, 2025 +.Dd January 26, 2026 .Dt WITNESS 4 .Os .Sh NAME @@ -125,6 +125,26 @@ can be set via .Xr loader 8 . .Pp The sysctl +.Va debug.witness.trace +controls whether +.Nm +prints stack traces when it detects lock violations. +A value of 0 disables stack printing. +A value of 1 specifies that +.Nm +should print a stack trace when a lock hierarchy violation occurs or +non-sleepable locks are held when going to sleep or acquiring a sleepable lock. +A value of 2 specifies that +.Nm +should attempt to display all observed lock chains that contribute to the +established lock order, along with stack traces for when those locks were +first acquired. +The sysctl +.Va debug.witness.trace +can be set via +.Xr loader 8 . +.Pp +The sysctl .Va debug.witness.output_channel specifies the output channel used to display warnings emitted by .Nm . @@ -139,9 +159,28 @@ and This sysctl can be set via .Xr loader 8 . .Pp +The sysctl +.Va debug.witness.badstacks +displays a listing of detected lock order violations cached in the +.Nm +module's current view of the lock hierarchy. +(This means that it may not display information for locks which have been +destroyed.) +It displays a similar level of detail to the messages produced by the run-time +checks. +However, it always tries to show all observed lock chains that contribute to the +established lock order. +(In other words, it acts like +.Va debug.witness.trace +was set to 2.) +It uses '**' to mark lock orders which were attempted but not added to the +hierarchy because they violated the hierarchy the +.Nm +code had previously observed. +.Pp The .Nm -code also provides three extra +code also provides a few extra .Xr ddb 4 commands if both .Nm @@ -166,10 +205,15 @@ then the locks held by the current thread are displayed. Outputs the list of locks held by all threads in the system to the kernel console. .It Ic show witness -Dump the current order list to the kernel console. +Dumps the current order list to the kernel console. The code first displays the lock order tree for all of the sleep locks. Then it displays the lock order tree for all of the spin locks. Finally, it displays a list of locks that have not yet been acquired. +.It Ic show badstacks +Displays a listing of all WITNESS lock order violations. +This listing is identical to that produced by the +.Va debug.witness.badstacks +sysctl. .El .Sh SEE ALSO .Xr ddb 4 , diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index abed76315c34..a332d6bace2a 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -390,12 +390,16 @@ SYSCTL_INT(_debug_witness, OID_AUTO, kdb, CTLFLAG_RWTUN, &witness_kdb, 0, ""); #if defined(DDB) || defined(KDB) /* - * When DDB or KDB is enabled and witness_trace is 1, it will cause the system - * to print a stack trace: + * When DDB or KDB is enabled and witness_trace is > 0, it will cause the system + * to print a stack trace when: * - a lock hierarchy violation occurs * - locks are held when going to sleep. + * + * Additionally, if witness_trace is 2, it will cause the system to search + * for all locks which established the known lock ordering and print + * stack traces of where the lock ordering was first established. */ -int witness_trace = 1; +int witness_trace = 2; SYSCTL_INT(_debug_witness, OID_AUTO, trace, CTLFLAG_RWTUN, &witness_trace, 0, ""); #endif /* DDB || KDB */ @@ -1075,6 +1079,237 @@ witness_ddb_display(int(*prnt)(const char *fmt, ...)) } #endif /* DDB */ +#define NUM_VERBOSE_STACKS 256 +#define MAX_LOCKCHAIN_RECURSION 32 + +/* + * Struct used by the verbose witness functionality. Only sb, generation, + * pairs, pair_count, check_generation, and alloc_flags communicate data + * between multiple functions. The rest are used to pre-allocate space for + * data which would otherwise end up on the stack. + */ +struct verbose_tracker { + struct witness t_w1, t_w2; + struct stack t_stack; + struct sbuf *sb; + int generation; + int alloc_flags; + int pairs[2 * NUM_VERBOSE_STACKS]; + int pair_count; + int recursion_list[MAX_LOCKCHAIN_RECURSION]; + int found[MAX_LOCKCHAIN_RECURSION + 1]; + int iter[MAX_LOCKCHAIN_RECURSION]; + bool check_generation; +}; + +static void +init_verbose_tracker(struct verbose_tracker *t, struct sbuf *sb, + int alloc_flags, bool check_generation) +{ + + KASSERT(t != NULL, + ("%s: NULL t argument", __func__)); + KASSERT(alloc_flags == M_WAITOK || alloc_flags == M_NOWAIT, + ("%s: Unexpected alloc_flags %d", __func__, alloc_flags)); + t->sb = sb; + t->check_generation = check_generation; + t->alloc_flags = alloc_flags; +} + +static void +reset_verbose_tracker(struct verbose_tracker *t, int generation) +{ + + KASSERT(t != NULL, + ("%s: NULL t argument", __func__)); + t->pair_count = 0; + t->generation = generation; +} + +static bool +has_verbose_lockpair(const struct verbose_tracker *t, int from, int to) +{ + int i; + + /* Look for value. */ + for (i = 0; i < (2 * t->pair_count); i += 2) + if (t->pairs[i] == from && t->pairs[i + 1] == to) + return (true); + return (false); +} + +static void +add_verbose_lockpair(struct verbose_tracker *t, int from, int to) +{ + + /* Check for duplicates. */ + if (has_verbose_lockpair(t, from, to)) + return; + + /* Add a new value. */ + if (t->pair_count < NUM_VERBOSE_STACKS) { + t->pairs[t->pair_count * 2] = from; + t->pairs[(t->pair_count * 2) + 1] = to; + t->pair_count++; + } +} + +static void +sbuf_print_verbose_witness_chains(struct verbose_tracker *t, int from, int to) +{ + struct witness *w1, *w2; + int i, recursion_count; + + recursion_count = 0; + + mtx_lock_spin(&w_mtx); + if (t->check_generation && t->generation != w_generation) { + mtx_unlock_spin(&w_mtx); + + /* + * The graph has changed. Break the recursion loop. + * The calling function should figure out what happened and + * restart. + */ + return; + } + +top: + t->found[recursion_count] = 0; + + /* + * Check for a direct dependence. If so, print that here. + * However, we keep scanning just in case there are other + * locking paths between these two locks. + */ + w1 = &w_data[from]; + w2 = &w_data[to]; + if (isitmychild(w1, w2)) { + t->t_w1 = *w1; + t->t_w2 = *w2; + mtx_unlock_spin(&w_mtx); + + sbuf_printf(t->sb, "\"%s\" -> \"%s\"", + t->t_w1.w_name, t->t_w2.w_name); + + /* Add the lockchain which got us here. */ + KASSERT(recursion_count >= 0 && + recursion_count <= MAX_LOCKCHAIN_RECURSION, + ("Invalid recursion_count: %d", recursion_count)); + for (i = recursion_count - 1; i >= 0; i--) { + mtx_lock_spin(&w_mtx); + if (t->check_generation && + t->generation != w_generation) { + mtx_unlock_spin(&w_mtx); + /* The graph has changed. */ + return; + } + /* + * Make a local copy, drop the lock, and add the lock + * to the sbuf. + */ + t->t_w1 = w_data[t->recursion_list[i]]; + mtx_unlock_spin(&w_mtx); + sbuf_printf(t->sb, " -> \"%s\"", t->t_w1.w_name); + } + + sbuf_putc(t->sb, '\n'); + add_verbose_lockpair(t, from, to); + t->found[recursion_count]++; + + mtx_lock_spin(&w_mtx); + if (t->check_generation && t->generation != w_generation) { + mtx_unlock_spin(&w_mtx); + return; + } + } + + /* + * Ensure we aren't recursing too many times. We do this check + * after looking for direct dependencies so we don't fail to + * catch at least those at the limits of our recursion. + */ + if (recursion_count >= MAX_LOCKCHAIN_RECURSION) + goto end; + + /* + * Record our 'to' lock on the recursion list. We will use this + * to build successful lock chains later. + */ + t->recursion_list[recursion_count] = to; + t->iter[recursion_count] = 1; + +loop: + /* Walk all parents of 'to' to see if any have a path to 'from'. */ + for (; t->iter[recursion_count] < w_max_used_index; + t->iter[recursion_count]++) { + if (t->iter[recursion_count] == to || + t->iter[recursion_count] == from) + continue; + if (isitmychild(&w_data[t->iter[recursion_count]], + &w_data[to])) { + /* Recurse to the parent. */ + to = t->iter[recursion_count]; + recursion_count++; + goto top; + } + } +end: + if (recursion_count != 0) { + recursion_count--; + to = t->recursion_list[recursion_count]; + if (t->found[recursion_count + 1] > 0) { + add_verbose_lockpair(t, t->iter[recursion_count], to); + t->found[recursion_count]++; + } + t->iter[recursion_count]++; + goto loop; + } + mtx_unlock_spin(&w_mtx); +} + +static void +sbuf_print_verbose_witness_stacks(struct verbose_tracker *t) +{ + struct witness_lock_order_data *data; + int i; + + for (i = 0; i < (2 * t->pair_count); i += 2) { + mtx_lock_spin(&w_mtx); + if (t->check_generation && t->generation != w_generation) { + /* + * The graph has changed. Return to the calling + * function so it can restart. + */ + mtx_unlock_spin(&w_mtx); + break; + } + + /* + * Make a local copy of the data we need so we can drop + * the lock. + */ + t->t_w1 = w_data[t->pairs[i]]; + t->t_w2 = w_data[t->pairs[i + 1]]; + data = witness_lock_order_get(&t->t_w1, &t->t_w2); + if (data != NULL) + stack_copy(&data->wlod_stack, &t->t_stack); + mtx_unlock_spin(&w_mtx); + + sbuf_printf(t->sb, + "Lock order \"%s\"(%s) -> \"%s\"(%s) first seen at:\n", + t->t_w1.w_name, t->t_w1.w_class->lc_name, + t->t_w2.w_name, t->t_w2.w_class->lc_name); + if (data != NULL) + stack_sbuf_print_flags(t->sb, &t->t_stack, + t->alloc_flags, STACK_SBUF_FMT_LONG); + else + sbuf_printf(t->sb, + "(No stack trace--hardcoded relationship?)\n"); + sbuf_putc(t->sb, '\n'); + } +} + int witness_defineorder(struct lock_object *lock1, struct lock_object *lock2) { @@ -1117,6 +1352,7 @@ witness_checkorder(struct lock_object *lock, int flags, const char *file, struct witness *w, *w1; struct thread *td; int i, j; + bool print_lock_order; if (witness_cold || witness_watch < 1 || lock->lo_witness == NULL || KERNEL_PANICKED()) @@ -1279,7 +1515,8 @@ witness_checkorder(struct lock_object *lock, int flags, const char *file, for (j = 0, lle = lock_list; lle != NULL; lle = lle->ll_next) { for (i = lle->ll_count - 1; i >= 0; i--, j++) { struct stack pstack; - bool pstackv, trace; + int trace; + bool pstackv; MPASS(j < LOCK_CHILDCOUNT * LOCK_NCHILDREN); lock1 = &lle->ll_children[i]; @@ -1396,6 +1633,7 @@ witness_checkorder(struct lock_object *lock, int flags, const char *file, /* * Ok, yell about it. */ + print_lock_order = false; if ((lock->lo_flags & LO_SLEEPABLE) != 0 && (flags & LOP_NOSLEEP) == 0 && (lock1->li_flags & LI_SLEEPABLE) == 0) @@ -1405,8 +1643,10 @@ witness_checkorder(struct lock_object *lock, int flags, const char *file, && lock == &Giant.lock_object) witness_output( "lock order reversal: (Giant after non-sleepable)\n"); - else + else { witness_output("lock order reversal:\n"); + print_lock_order = true; + } /* * Try to locate an earlier lock with @@ -1455,6 +1695,7 @@ witness_checkorder(struct lock_object *lock, int flags, const char *file, if (trace) { char buf[64]; struct sbuf sb; + struct verbose_tracker *t; sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN); sbuf_set_drain(&sb, witness_output_drain, @@ -1466,6 +1707,37 @@ witness_checkorder(struct lock_object *lock, int flags, const char *file, w->w_name, w1->w_name); stack_sbuf_print_flags(&sb, &pstack, M_NOWAIT, STACK_SBUF_FMT_LONG); + } else if (trace > 1 && print_lock_order && + (t = malloc(sizeof(struct verbose_tracker), + M_TEMP, M_NOWAIT | M_ZERO)) != NULL) { + /* + * We make a purposeful decision to + * ignore generation changes while + * printing. The two locks in + * question are in use, so won't be + * going away. There is a small + * chance that intermediate locks + * in a lock chain get destroyed + * while we are traversing the + * chain or printing them, but even + * then nothing "bad" should happen + * with the current code since the + * WITNESS objects are not actually + * freed and re-used. If that changes, + * we might need to reassess the + * decision to ignore generation. + */ + init_verbose_tracker(t, &sb, M_NOWAIT, + false); + reset_verbose_tracker(t, 0); + sbuf_printf(&sb, + "All lock orders from %s -> %s:\n", + w->w_name, w1->w_name); + sbuf_print_verbose_witness_chains(t, + w->w_index, w1->w_index); + sbuf_putc(&sb, '\n'); + sbuf_print_verbose_witness_stacks(t); + free(t, M_TEMP); } sbuf_printf(&sb, @@ -2645,16 +2917,14 @@ DB_SHOW_COMMAND_FLAGS(witness, db_witness_display, DB_CMD_MEMSAFE) #endif static void -sbuf_print_witness_badstacks(struct sbuf *sb, size_t *oldidx) +sbuf_print_witness_badstacks(struct sbuf *sb, size_t *oldidx, + bool check_generation) { struct witness_lock_order_data *data1, *data2, *tmp_data1, *tmp_data2; struct witness *tmp_w1, *tmp_w2, *w1, *w2; + struct verbose_tracker *t; int generation, i, j; - - tmp_data1 = NULL; - tmp_data2 = NULL; - tmp_w1 = NULL; - tmp_w2 = NULL; + bool w1_is_parent, w2_is_parent; /* Allocate and init temporary storage space. */ tmp_w1 = malloc(sizeof(struct witness), M_TEMP, M_WAITOK | M_ZERO); @@ -2665,16 +2935,19 @@ sbuf_print_witness_badstacks(struct sbuf *sb, size_t *oldidx) M_WAITOK | M_ZERO); stack_zero(&tmp_data1->wlod_stack); stack_zero(&tmp_data2->wlod_stack); + t = malloc(sizeof(struct verbose_tracker), M_TEMP, M_WAITOK | M_ZERO); + init_verbose_tracker(t, sb, M_WAITOK, check_generation); restart: mtx_lock_spin(&w_mtx); generation = w_generation; mtx_unlock_spin(&w_mtx); + reset_verbose_tracker(t, generation); sbuf_printf(sb, "Number of known direct relationships is %d\n", w_lohash.wloh_count); for (i = 1; i < w_max_used_index; i++) { mtx_lock_spin(&w_mtx); - if (generation != w_generation) { + if (check_generation && generation != w_generation) { mtx_unlock_spin(&w_mtx); /* The graph has changed, try again. */ @@ -2700,7 +2973,7 @@ restart: continue; mtx_lock_spin(&w_mtx); - if (generation != w_generation) { + if (check_generation && generation != w_generation) { mtx_unlock_spin(&w_mtx); /* The graph has changed, try again. */ @@ -2729,6 +3002,8 @@ restart: stack_copy(&data2->wlod_stack, &tmp_data2->wlod_stack); } + w1_is_parent = isitmydescendant(w1, w2); + w2_is_parent = isitmydescendant(w2, w1); mtx_unlock_spin(&w_mtx); if (blessed(tmp_w1, tmp_w2)) @@ -2738,26 +3013,49 @@ restart: "\nLock order reversal between \"%s\"(%s) and \"%s\"(%s)!\n", tmp_w1->w_name, tmp_w1->w_class->lc_name, tmp_w2->w_name, tmp_w2->w_class->lc_name); - if (data1) { + if (w1_is_parent || data1 != NULL) { sbuf_printf(sb, - "Lock order \"%s\"(%s) -> \"%s\"(%s) first seen at:\n", + "All lock orders from \"%s\"(%s) -> \"%s\"(%s):\n", tmp_w1->w_name, tmp_w1->w_class->lc_name, tmp_w2->w_name, tmp_w2->w_class->lc_name); - stack_sbuf_print(sb, &tmp_data1->wlod_stack); + if (w1_is_parent) + sbuf_print_verbose_witness_chains(t, i, + j); + if (data1 && !has_verbose_lockpair(t, i, j)) { + sbuf_printf(t->sb, + "** \"%s\" -> \"%s\"\n", + tmp_w1->w_name, tmp_w2->w_name); + add_verbose_lockpair(t, i, j); + } + sbuf_putc(sb, '\n'); + sbuf_print_verbose_witness_stacks(t); sbuf_putc(sb, '\n'); + reset_verbose_tracker(t, generation); } - if (data2 && data2 != data1) { + if (w2_is_parent || (data2 != NULL && data2 != data1)) { sbuf_printf(sb, - "Lock order \"%s\"(%s) -> \"%s\"(%s) first seen at:\n", + "All lock orders from \"%s\"(%s) -> \"%s\"(%s):\n", tmp_w2->w_name, tmp_w2->w_class->lc_name, tmp_w1->w_name, tmp_w1->w_class->lc_name); - stack_sbuf_print(sb, &tmp_data2->wlod_stack); + if (w2_is_parent) + sbuf_print_verbose_witness_chains(t, j, + i); + if (data2 && data2 != data1 && + !has_verbose_lockpair(t, j, i)) { + sbuf_printf(t->sb, + "** \"%s\" -> \"%s\"\n", + tmp_w2->w_name, tmp_w1->w_name); + add_verbose_lockpair(t, j, i); + } + sbuf_putc(sb, '\n'); + sbuf_print_verbose_witness_stacks(t); sbuf_putc(sb, '\n'); + reset_verbose_tracker(t, generation); } } } mtx_lock_spin(&w_mtx); - if (generation != w_generation) { + if (check_generation && generation != w_generation) { mtx_unlock_spin(&w_mtx); /* @@ -2775,6 +3073,7 @@ restart: free(tmp_data2, M_TEMP); free(tmp_w1, M_TEMP); free(tmp_w2, M_TEMP); + free(t, M_TEMP); } static int @@ -2796,7 +3095,7 @@ sysctl_debug_witness_badstacks(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - sbuf_print_witness_badstacks(sb, &req->oldidx); + sbuf_print_witness_badstacks(sb, &req->oldidx, true); sbuf_finish(sb); error = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb) + 1); @@ -2820,7 +3119,7 @@ DB_SHOW_COMMAND_FLAGS(badstacks, db_witness_badstacks, DB_CMD_MEMSAFE) sbuf_new(&sb, buffer, sizeof(buffer), SBUF_FIXEDLEN); sbuf_set_drain(&sb, sbuf_db_printf_drain, NULL); - sbuf_print_witness_badstacks(&sb, &dummy); + sbuf_print_witness_badstacks(&sb, &dummy, false); sbuf_finish(&sb); } #endif From nobody Mon Jan 26 20:30: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 4f0KtZ268Pz6PZ6j; Mon, 26 Jan 2026 20:31:02 +0000 (UTC) (envelope-from marius@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 4f0KtZ1Rm8z40y5; Mon, 26 Jan 2026 20:31:02 +0000 (UTC) (envelope-from marius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769459462; 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=ueqt6yN+K5R4+zZlyrvV21DieyLoNefNYi86Uy/oT8s=; b=grglkSDFAD7w8E5C/w/NXZqbpUT1UrdSrKSuOuZvA9ddx7uNJscqznIG4AgqcLNhuZDYYp 1tiiHwHYUpTTfe86IIgCoz2pzvpP3N9ULr6ntG/lhTv3Lc0NRnAbcFvkHrul9pw2MQyc/F KbTJRIZ/IANgtFJ1q0/B0W79ajBFR3MjI9tFw8UITC/XBhcBOv9WXzLuouuW1MzogEJHG+ voxX+VPIN3xCqis5BpdcvQV30QZstOJlntOdE/lDUPZ9+J/5GmggDVB6QuS6jdfbTOeeqo m97tsIkG8Se6i279gwiyJBhAmXPHqojK8K6X6TPaFlzApIUVdGyBxMMKj3auxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769459462; 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=ueqt6yN+K5R4+zZlyrvV21DieyLoNefNYi86Uy/oT8s=; b=GdPA4wgei47PZPUnQ4884S2EfrEon1qJWhwkvlk6LjoCbQ9PwTDPC/2i4GYHqq5YNIyknQ WgCiMLs7IlTpBYLE6xZG9GbKcIrzMKVAn8THFQZPAiw4VyMotcPQIE28CXy303iaY/Rkvt Tl+T/rhgLV63qF8lwVEIh/qbQmlYghJaGQTX5jntCJyBH1v/CA2QxAF29gLWJ1/eRVP93F tp4cl5fz9JBRWL7Hcgh2kkhfGDOz45bc1+zHqPBMo5olvjnr7v9doGhYBMMDYccI5205Wl 5dc9VB/dayuHD+6C+vfMay46vE7T5dKDd3S7bJEoAEt0qga76K6yuShQjNN2Cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769459462; a=rsa-sha256; cv=none; b=Jj7Pv8k9RMvjnXUhGHyKqoBFmvSNgHxAe6NyU5SrAQU9buHkwO225bzoftam3SqRarBepP 3y2SpWjBGZOTvy2nvNR4JiOOGuznVg9pBTrnt/AgKAFAoekioQ7Wis3+70s1G9GQoy2qYK TATygS7ZGASPZiaRwhFBKx5Ney/1IOiuvwy1VYRxPpka2o/y+hoBoK7xdhbjQF0iKlblfa En+Ik4sIRhW01w6oW5yPXacZ+YD2fA1feWy7SZbbYFDlhhvV/V+/u+NIkKNvBwrMPTg5ik Snqqb4qyCfO4DliDqX/7OxUTQAfAcxAGy47SCSNuaWow0sP8JnepPXWkwqdVrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from roy.zeist.de (roy.zeist.de [IPv6:2a01:4f9:4a:2169::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "roy.zeist.de", Issuer "R13" (not verified)) (Authenticated sender: marius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f0KtY6WQqz1HQZ; Mon, 26 Jan 2026 20:31:01 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from roy.zeist.de (localhost [127.0.0.1]) by roy.zeist.de (8.18.2/8.18.2/ROY.ZEIST.DE) with ESMTPS id 60QKUwbh006574 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 26 Jan 2026 21:30:58 +0100 (CET) (envelope-from marius@freebsd.org) Received: (from marius@localhost) by roy.zeist.de (8.18.2/8.18.2/Submit) id 60QKUwtv006573; Mon, 26 Jan 2026 21:30:58 +0100 (CET) (envelope-from marius@freebsd.org) Date: Mon, 26 Jan 2026 21:30:58 +0100 From: Marius Strobl To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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 26, 2026 at 06:34:49PM +0200, Konstantin Belousov wrote: > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > The branch main has been updated by marius: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > Author: Marius Strobl > > AuthorDate: 2026-01-26 13:58:57 +0000 > > Commit: Marius Strobl > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > sym(4): Employ memory barriers also on x86 > > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > It does hold. x86 is much more strongly ordered than all other arches > we currently support. If it does hold, then why is atomic_thread_fence_seq_cst() employing a StoreLoad barrier even on amd64? I agree that x86 is more strongly ordered than the other supported architectures, though. The panic seen matches the typical scenario of even x86 requiring a StoreLoad barrier. For the actual usage of these macros, the use of bus_{space,9}_barrier(9) would be more appropriate, however. On x86, this translates to a "lock addl $0,mem" for BUS_SPACE_BARRIER_READ, which probably would also achieve the intended order. I'd much prefer to just do what Linux still does up until today and be done with it, though. Marius From nobody Mon Jan 26 21:01: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 4f0LYk363qz6PcNC for ; Mon, 26 Jan 2026 21:01:30 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-oo1-f43.google.com (mail-oo1-f43.google.com [209.85.161.43]) (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 4f0LYj6ZPyz46Ys for ; Mon, 26 Jan 2026 21:01:29 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oo1-f43.google.com with SMTP id 006d021491bc7-6610cddd4b5so1018227eaf.0 for ; Mon, 26 Jan 2026 13:01:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769461288; cv=none; d=google.com; s=arc-20240605; b=KAcsgW6tX6+rsQ3mby0dWsrvdm8WOyg8ScD7S+dxPjABjhItW4fsfu38F9CUJdqojz /7f+fWwHh/BY/6RsEMHt4oIEJLOJSP9d03fZUm88IACu0EiOL97YsmDTtAGm+8y+58ta Hx4EVSlIAWzMyXyaqPk9/AmodhFTfkD5u8Jd2/skjXhHUkSlOEOtuY9NShx3g4AWkK29 sDsRV84mG4U9bpdEnmRYCp7qS0i6X5L7LjZ4/aOqSj1PN/XmSdjgpkpO1Ze7+F2nSFTT VQRMC0iouI+/fWkbd+/EtK3YKGueo6+J22jlVfzrwqBeIy4chEuQWlFeui3Z1DtwH0Ir lOrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=6NyFlCnfKr1PhJtOvqOHLF+GUmN7/GnCccfcsI0Q9Rk=; fh=43cYZffvewEFY3p7Dqec/fYRUnmpZDhF3Jks7M+3zHI=; b=RL6JMhFYbAoOkeqaMceHQ5ZeSlgONt+f2ecfSuMtylIpe3zJ49NWG8GqOZ4g0gcrHV 1FBy+eal78LGchUL5wwBU+ASu49FftTkSWJrZwXH7NrxEYkUVmmmU/95W+0CkimpLgAX OywitYRLgLOgqA12VqYpms+ISvD6yX7jcBQZ4JD2la32FgRxk+XHr9+rwMSESwcgkg5R S6Sp+ghms3X8NUOwPH/j/PF1UsWAH3PhKUaAvHOwzAOGQn6Ra05nzhLLdOItcaDevrjx VhmaMOQRq7NHNsbGGOAXs7umanBP0b4s8rT/fKxIngKHGBMnTomlh/jZV6WGZVQMqmkN RM7Q==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769461288; x=1770066088; 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=6NyFlCnfKr1PhJtOvqOHLF+GUmN7/GnCccfcsI0Q9Rk=; b=c+g/HzcjlL22Oc9QpGdyUV1rsMUhfbc4rWCy9c/my2nSMlpfnC/efi02YLwTHpiR9Z T/Gfsvqyf9kpduYlfYyT1KZSYJzhTql6NdFY0ll0LpeZ4eA4hJFz8X2tp4p/BEBZB0Ec slVnmxowBoyu62yjoVK/H2U1qgGshx9eq6GbyyA5CfWrnWplDKozdFQCMQNtp2Q8b5Gs kkzS7G8aTuGicrF/A8yDlp+E+8Q12hQ6FDwTgd9YH7tfgQsqrrOl4e73EMwMFBQ2ETb1 4zEGuV/xi54jm4mi5HnVOq+EnCF2CxGCNsiBeO69VVxX/rOpzTU9BTIA0ZtkAvjhLX5O Ca3g== X-Forwarded-Encrypted: i=1; AJvYcCXVfKpYIcusU+YEQOtUqLb8eVPvcyNfBza/gcgTdBiGkjQhQe/lFeTQUii0aYq2AMDWQyOTR95/0/h9Z7KUvc4/Yu7kEw==@freebsd.org X-Gm-Message-State: AOJu0YyXV3Wl0OXkSFVaLKkkch8ICK4Ss+6wARm/yHtgny8CMILDAm7E QFedKEk4Gc1UuhdVmRAk6fqDjd9ql61verSsU6e1drV1gKV/on3bM4NMhykoXbzPMvd7fYC7i+v yqC9cYW3GfkAWZ7gdvspzCxQcpyJMQEs= X-Gm-Gg: AZuq6aK+kITISalTmbc3pO7mMO0+XDwxoZtznOOq0z6RS0aAa7YXlkh+i4pQIpbtaY3 xmCzkro1X/JwsbHt2NMy1X4KlNRsiuRZt/Vq3+FVROdfz8VjLPlMdHAqJ1KG7eG7/55Mg46zo0J RyBA8ODva/5yWcEwJEQbtunMfgUFZyfi7CcG6rIlvcWfmJvI0tOoIg217SulfJZ/SJxP0gI/M+p BuLGaP/xfI+M87YaFUiG38vaAtGz78ysrSuzkrMBe9KRt/Y7DKGEIQx+EEJvoAIf7i9iuYl/63e 5thW9M88d9wxKyt2kEDV8wk9SUg= X-Received: by 2002:a05:6820:f06:b0:662:c501:4e6f with SMTP id 006d021491bc7-662e03dc32cmr2557360eaf.13.1769461288626; Mon, 26 Jan 2026 13:01:28 -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: <69777c2e.30e31.77b9dc25@gitrepo.freebsd.org> In-Reply-To: <69777c2e.30e31.77b9dc25@gitrepo.freebsd.org> From: Ed Maste Date: Mon, 26 Jan 2026 16:01:16 -0500 X-Gm-Features: AZwV_QitIn3qDK_t2QLkICH6KepYV1_ibtjx8rJqTp_CBK1ena4AjmS7wuL40hs Message-ID: Subject: Re: git: 277539ae7f2f - main - Add tests for pdwait To: Alan Somers 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 [-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: 4f0LYj6ZPyz46Ys On Mon, 26 Jan 2026 at 09:38, Alan Somers wrote: > > The branch main has been updated by asomers: > > URL: https://cgit.FreeBSD.org/src/commit/?id=277539ae7f2f07a8dd29d4deb318d66414f8ae2a > > commit 277539ae7f2f07a8dd29d4deb318d66414f8ae2a > Author: Alan Somers > AuthorDate: 2026-01-25 16:14:03 +0000 > Commit: Alan Somers > CommitDate: 2026-01-26 14:37:16 +0000 > > Add tests for pdwait We should also hook up pdwait in the capsicum-test suite. It currently has a stub that calls pdwait4() on Linux and uses a non-Capsicum-compatible implementation using wait4 otherwise. I'll try to take a look at this in the coming days. From nobody Mon Jan 26 21:03: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 4f0Lcb0Xtjz6PchZ for ; Mon, 26 Jan 2026 21:03: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 4f0LcZ73GVz478G for ; Mon, 26 Jan 2026 21:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769461439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdljWh4+K74d/w3xJRzvMZAi27Apa6HrYoR8vuuOQsY=; b=fpWMQXO9CONrFhX2uUSZRGbOTGfKq42hOUQJ7dZnnj+8n/6VYnlT25CmMVlpH9E942gw4Q y1WPczdbCWthJl0tizSDM59XHqkbUg+4inL3FnHn5bij/kWp5k9YreA3WM32TgvzuwJdSu rTnIErXgDnBRGdqhgmX0K5stN0MpA9hWXBg47OQPoIZQjoig7uRAgjh/pDzSiUgkO22ScA XvkaY2inhWqipUtJRjyCKCt7kSOy8ivhfiMnXX5OEZ5oprWk5GCC4QgJ0Fu+Q3n4I6mik1 hrhiHAi37exEiO1hrNUUOGGWWMBRNtUxMcD2Ibv3W8m0UbjiYWlbco9Gt8e7gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769461439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdljWh4+K74d/w3xJRzvMZAi27Apa6HrYoR8vuuOQsY=; b=htaJBDbmlHAoxGb3rClN4CzhbJR68Fk7JTMAnxP6EgnsIkfVGu4tu06zuDZf3Vmiiu6I1p vUzYDEj+rm+d3+SSeuZYvE84Ik+B5ojhZ6SguFaaZuB64rM1hbRSTQkKRTnNFIk6KzOj6J lvZGLIvhIG3qVGYba0mYKai4I30cYwIzw+W899WYpC54J/j2hn2KusIA190IL7Y0L/Oo2i M4nzF3l7xIqTQI6PXmW50ytcQsISz6Dv+0mIRrMBnaZZCxt+aEXnN6TFHf3Bt8pX5OMwwU AnlyD34QZ/rlImGcQxnz3477eHAzEAwgjALZIGbXveIjKTq5bk2DFGk2UxdEiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769461439; a=rsa-sha256; cv=none; b=ctdjJ8KZ9HN7VCGgwUGFgrlcq03A3tMzOXca1qfed47O5i9n/lr3kvvS0rmQ/rjLjExh+o xXOOXNFN6TEMACvom0BpWP8Q85nPS414n8+GMeJTXW2TTuDBePwBWuYwDmYEwnTzstypyc Nsp4Gav2KIKHxzamvPRTUZfZgcxz+4+o44mmbuPKx0+HFWIKSre7i+KwxRSTdbNmih67ZV LpXfx+ExTiYtrOuCyA5j4/mkYmyoTKNLGLKbhfMTWb74ncHiWXcI9Ib4pLLsDQ+zT8mtev mGOlO5loQ5n0yupiEVhGSYWzUiShejxzN5OoUzj1BlqRssWx8fRTb6PWcreNoA== 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 4f0LcZ6N6DzdHH for ; Mon, 26 Jan 2026 21:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27afd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 21:03:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 6253212608b4 - main - Add pdrfork to OpenBSM 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: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6253212608b4f513b1e298f11a630d9d0596560d Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 21:03:58 +0000 Message-Id: <6977d6be.27afd.7328a515@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=6253212608b4f513b1e298f11a630d9d0596560d commit 6253212608b4f513b1e298f11a630d9d0596560d Author: Alan Somers AuthorDate: 2026-01-26 19:10:50 +0000 Commit: Alan Somers CommitDate: 2026-01-26 21:03:47 +0000 Add pdrfork to OpenBSM It's necessary for auditd to be able to log its events. Note that the recently added pdwait() syscall is only auditable because an audit event of that name was preemptively added back in 2012. PR: 292739 MFC after: 1 week Fixes: 5c2ee618d5e "sys: add pdrfork(2)" Sponsored by: ConnectWise Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D54897 --- contrib/openbsm/etc/audit_event | 1 + contrib/openbsm/sys/bsm/audit_kevents.h | 1 + 2 files changed, 2 insertions(+) diff --git a/contrib/openbsm/etc/audit_event b/contrib/openbsm/etc/audit_event index 31b4adc221a6..65090a787a56 100644 --- a/contrib/openbsm/etc/audit_event +++ b/contrib/openbsm/etc/audit_event @@ -613,6 +613,7 @@ 43263:AUE_SHMRENAME:shm_rename(2):ip 43264:AUE_REALPATHAT:realpathat(2):fa 43265:AUE_CLOSERANGE:close_range(2):cl +43273:AUE_PDRFORK:pdrfork(2):pc # # Solaris userspace events. # diff --git a/contrib/openbsm/sys/bsm/audit_kevents.h b/contrib/openbsm/sys/bsm/audit_kevents.h index ec51f501e3a7..4e56e0b98db2 100644 --- a/contrib/openbsm/sys/bsm/audit_kevents.h +++ b/contrib/openbsm/sys/bsm/audit_kevents.h @@ -655,6 +655,7 @@ #define AUE_SHMRENAME 43263 /* FreeBSD-specific. */ #define AUE_REALPATHAT 43264 /* FreeBSD-specific. */ #define AUE_CLOSERANGE 43265 /* FreeBSD-specific. */ +#define AUE_PDRFORK 43273 /* FreeBSD-specific. */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the From nobody Mon Jan 26 21:21: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 4f0M135t88z6PdTQ for ; Mon, 26 Jan 2026 21:21:43 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.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 4f0M133lhPz49QZ for ; Mon, 26 Jan 2026 21:21:43 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-658381b28e8so6676096a12.0 for ; Mon, 26 Jan 2026 13:21:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769462502; cv=none; d=google.com; s=arc-20240605; b=Tr7TERIXT7g0hEIvjZOE9kHEWiWPKb2n9hCQOeEoa2Yi2A00ng+sNAVVz/Lv0YkQNf kpc2Z5hBaWllP9+6dUE03cSwKMuOGyVBJxmE3pWx8Gnzst1Ya2ZUfyVYb4oUJWoDhpeF dlNVTw6N/fzDb/N4G2c8s2a4aKiXJzbVgNz4QKdKsoQY+kZ93vGb328hbwFYfB+nB2UE /sZSAqfGr+1fASj9G+pYPe1tKxJlqu1maG6aVTQGzthG0lHTTvK/8frJfnwWabiU0sk0 ITjrs5yHkNR9qQBst8OYIPzJ+z2BKQo7LLEMFMnDU0AcYhsscY9Z/XYhnlxEbDo0YBWk hnQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=cHQasSLc30X6vC5vTXix2fqhB85f73YA4T/FHEVFdl4=; fh=v4A6EBOmSFWdXGHJtnUWKJ3cYIQEpaEaRS2DrIJIQEk=; b=h4dbnQh/ztNS6yYRVhp3zpOxVEQ9uoDi5rzgbkSb63HNwF+Bp/rikhy58applPX5lf pOf9puMuDn1ARj5yfxErcwkEqyeaJkMZ4v2wrZbNELtxcCYEu0DRre5Ra+SwxfWVBsCS 7Zkmx0SS0C7X+auQO0S8NFhjT889kEQRxYhKP9UTtgvLS3KaAAWHoSoJqovdqgcwXIdR R+VSJAV6P3vFvF1o6NbqW348tDA0VsD4h/SBHtUFcIGQiLArvPAHMIZ8SGzQXfnMX4B7 Wy1Id7jOVkxwxYScTvgw/VbQyAQzSAzBicoCa/CB7lljJfGz8JU9/xyg6/+RMsY9yXUP ANYg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769462502; x=1770067302; 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=cHQasSLc30X6vC5vTXix2fqhB85f73YA4T/FHEVFdl4=; b=mOnPT83qOavLHQQ1Ygjx3LRaAkA2LeWRNWXV4p1yJYwsP4vWxUvJSIuHQEpjJbpzRo pAZ0RWAqmEmkcLGw7hof27tWUSm2Lfh0nT3WTubFE02zFeTBFru5tja2EuDOq67iWTHF UUXwNmGCekGylUE1Jxs5o6nIOZNJQ13wLccZDuqRX4RC8e+Z2K6A8ezhVq5M0vnwSEZu 91yfVrsyYh5CnnOuge5T8cmX78usKkhmN3RzgkkJj1HIW5mxb4w4C9MwS6hZDE39a4LS B6DxVE3OdmhoizPk/YJMcKZK7azsJmTVw5GLSDtjymsXbD1FkKAJe0HQAS07a/URwEvU wrzg== X-Forwarded-Encrypted: i=1; AJvYcCUA2jU0MIrT6M3zWCMsylOF9jRpXreHCbyeaEynTN+i+feJXfMFgHoGdwFFwYmO3qXs8eUXioFrcK8S6dqspMOoXh9iDg==@freebsd.org X-Gm-Message-State: AOJu0Yzgvlvcu1BpcXwhCk7ngAx6klatnmuxN+SWOEk27P7GIQjEgXX9 d0hxoCCYxKbtc9tbQUo4YtQlKenElM+Eja8r1Mxbz1AeZ0wsJ+0G8uvTcVJrOHuQYomXlnb/+KQ hz4wWC4az0LWB6XCQ5bXvGCPkbtllUJo= X-Gm-Gg: AZuq6aL+XeOz/8z8hjeoSujfGQxmu0maWumro7WidzR7L+G4CUq/EMrPgsIpKjxolRq hbSHBHEcEbd9TyvKACOduBTC6dD/qJePwgfGDL/WTSWTkXEuF2IyE2wKRhnQEveKuTKbRbNU+Wa +bJ4jEtzdMl1+Rybq5QNg1P6LGre/uDwyaWANXizkhsaIOXdPsxFEOgtZNZMgPV8lRfyZmz9m2N CZ7kocpGf26/sx2HpKm0eqfhTChxk3u2H2cc8V47ztzhGZx9PWxD+4KOnjgYc08NICUyGmRhCMI f4q9v/wuQpzEQWpwH15IbMVhiKpNC+9XwHKjEKciUbCvQ8X2qHLPghm8 X-Received: by 2002:a17:907:1b06:b0:b88:61c3:3701 with SMTP id a640c23a62f3a-b8d4602a3d6mr403407266b.52.1769462501735; Mon, 26 Jan 2026 13:21:41 -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: <69777c2e.30e31.77b9dc25@gitrepo.freebsd.org> In-Reply-To: From: Alan Somers Date: Mon, 26 Jan 2026 14:21:28 -0700 X-Gm-Features: AZwV_Qi4xa5SRN4R_F27MHNyg0W9Da983JKLGJu26AGnM6LFHqdavXs06nZKhRs Message-ID: Subject: Re: git: 277539ae7f2f - main - Add tests for pdwait To: Ed Maste 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: 4f0M133lhPz49QZ On Mon, Jan 26, 2026 at 2:01=E2=80=AFPM Ed Maste wrote= : > > On Mon, 26 Jan 2026 at 09:38, Alan Somers wrote: > > > > The branch main has been updated by asomers: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D277539ae7f2f07a8dd29d4de= b318d66414f8ae2a > > > > commit 277539ae7f2f07a8dd29d4deb318d66414f8ae2a > > Author: Alan Somers > > AuthorDate: 2026-01-25 16:14:03 +0000 > > Commit: Alan Somers > > CommitDate: 2026-01-26 14:37:16 +0000 > > > > Add tests for pdwait > > We should also hook up pdwait in the capsicum-test suite. It currently > has a stub that calls pdwait4() on Linux and uses a > non-Capsicum-compatible implementation using wait4 otherwise. > > I'll try to take a look at this in the coming days. Does the capsicum-test[^1] repository exist primarily in order to support the capsicum-linux project? Since that's dead, does it make sense to close down capsicum-test and move the source of truth into the FreeBSD source tree? [^1]: https://github.com/google/capsicum-test From nobody Mon Jan 26 21:48: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 4f0Mbn1g8Yz6PgQV for ; Mon, 26 Jan 2026 21:48: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 4f0Mbm6Z6Vz3DKC for ; Mon, 26 Jan 2026 21:48:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769464100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9FzYAFXnKH7nBvLgTHZvS4tbqwRch8ERjBCFpmHnO/w=; b=MQ88sYHxJPSyOyxQyIcH3kB5b9yH7hQd25ofdE3G4woyEdLIZ+6uBqnQLbQ/W+/NZsykj0 /fY/iSjyxiSSvC92BoKmdJvmjbYrMluQ0y4zv+OglrdXHCkaJjCmLdku7x1ynH8WFh1FGB WwF3iM7nYl5jZNn6IWry5tPst5cAzE65/wZFpBmepjdpZeFIR4jgmrL+1G/JQmMlzaHbbW 5gvdT73LZ/TlQMsmeH8Rdv3SoALggMIOabziqB9ykGYiuF5+afXJIzuxfIq+2z6UweyQN2 k0w0YzhL4Fbl5gETCsBjFKgHv9/uXdQG1ObwYCSV66SRZf5ygIzVor9xczatUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769464100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9FzYAFXnKH7nBvLgTHZvS4tbqwRch8ERjBCFpmHnO/w=; b=neNGPG5r1QnSKStWAoWurTcBcE0xxg0y6gafHtB3sIY+JFtn/3WrhQF1QoSbZvQ2PTQlBs jOIOmZFG7KIidkOKYDtJiiT3P6w8JYUHiGkGgDrM00pcyB0cDeLKMNk2q9f/QSiPyYUKak PguuZC9FbxepWc3fDHepafEfMhHAElzPvLftoriwFI2eHjy5YPehlPuOieBuOGwIebbpMD 095d6B+xP/T+ZtI5iv5W9BhiAaM0gyk1rHEiSPvny9gTv6O7IrZyNttpRt/YBoV6DbBh3C SNjI0fegKE7Zrov1XXFcHGzFO2EJyDi797GQs9tJ7OW78BNt5Uq7HeU0lu+xVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769464100; a=rsa-sha256; cv=none; b=aVhc71CD52izUa32H1zSIU17VrCm1NWvnmYK6QoTtekWBXMApTk0nFLqLWCs7aZ6Y2zXD8 bpZIv1Orkk3PDsqYSmY2/q63oF/125ajZnIbS/RBhvaHeraVjCn2xlMMPDe+YvCgvm3kd2 cWl9chH4YLpluulqFNtXI+dDijQUhkxKsJFpYFhCRbWbKsUjRTnT5QTKbZmeX5wUjQAeiS eWnopA/miAA3TVKtNqCrSxFvVem6s8C1IZGttD2uKcEAJzYv2eq+ErJ7JzoZiEvVAIYgXW 2Y8gHRBO7eWFLjnupiPNxTu/vko9D6jSUYu1EKvlDsmVYv5Wcq32OMrrfRJ0DQ== 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 4f0Mbm5bCyzfPj for ; Mon, 26 Jan 2026 21:48:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34891 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 21:48:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 77c5f29453ed - main - libc: document posix_spawnattr_{get,set}procdescp_np(3) 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: 77c5f29453ed3dbb4ba1a372329ab32ec27c998d Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 21:48:20 +0000 Message-Id: <6977e124.34891.4c70a98d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=77c5f29453ed3dbb4ba1a372329ab32ec27c998d commit 77c5f29453ed3dbb4ba1a372329ab32ec27c998d Author: Konstantin Belousov AuthorDate: 2026-01-26 20:06:44 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-26 21:47:50 +0000 libc: document posix_spawnattr_{get,set}procdescp_np(3) Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54899 --- lib/libc/gen/Makefile.inc | 2 + lib/libc/gen/posix_spawn.3 | 2 + lib/libc/gen/posix_spawnattr_getprocdescp_np.3 | 94 ++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 9b92abb6282a..3e68f8400c5c 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -277,6 +277,7 @@ MAN+= alarm.3 \ posix_spawnattr_getexecfd_np.3 \ posix_spawnattr_getflags.3 \ posix_spawnattr_getpgroup.3 \ + posix_spawnattr_getprocdescp_np.3 \ posix_spawnattr_getschedparam.3 \ posix_spawnattr_getschedpolicy.3 \ posix_spawnattr_init.3 \ @@ -472,6 +473,7 @@ MLINKS+=posix_spawn.3 posix_spawnp.3 \ posix_spawnattr_getflags.3 posix_spawnattr_setflags.3 \ posix_spawnattr_getexecfd_np.3 posix_spawnattr_setexecfd_np.3 \ posix_spawnattr_getpgroup.3 posix_spawnattr_setpgroup.3 \ + posix_spawnattr_getprocdescp_np.3 posix_spawnattr_setprocdescp_np.3 \ posix_spawnattr_getschedparam.3 posix_spawnattr_setschedparam.3 \ posix_spawnattr_getschedpolicy.3 posix_spawnattr_setschedpolicy.3 \ posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \ diff --git a/lib/libc/gen/posix_spawn.3 b/lib/libc/gen/posix_spawn.3 index a34344597a99..f7489890db31 100644 --- a/lib/libc/gen/posix_spawn.3 +++ b/lib/libc/gen/posix_spawn.3 @@ -458,6 +458,7 @@ action. .Xr posix_spawnattr_getexecfd_np 3 , .Xr posix_spawnattr_getflags 3 , .Xr posix_spawnattr_getpgroup 3 , +.Xr posix_spawnattr_getprocdescp_np 3 , .Xr posix_spawnattr_getschedparam 3 , .Xr posix_spawnattr_getschedpolicy 3 , .Xr posix_spawnattr_getsigdefault 3 , @@ -466,6 +467,7 @@ action. .Xr posix_spawnattr_setexecfd_np 3 , .Xr posix_spawnattr_setflags 3 , .Xr posix_spawnattr_setpgroup 3 , +.Xr posix_spawnattr_setprocdescp_np 3, .Xr posix_spawnattr_setschedparam 3 , .Xr posix_spawnattr_setschedpolicy 3 , .Xr posix_spawnattr_setsigdefault 3 , diff --git a/lib/libc/gen/posix_spawnattr_getprocdescp_np.3 b/lib/libc/gen/posix_spawnattr_getprocdescp_np.3 new file mode 100644 index 000000000000..fab529d91313 --- /dev/null +++ b/lib/libc/gen/posix_spawnattr_getprocdescp_np.3 @@ -0,0 +1,94 @@ +.\" Copyright 2026 The FreeBSD Foundation +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" This documentation was written by +.\" Konstantin Belousov under sponsorship +.\" from the FreeBSD Foundation. +.\" +.Dd January 26, 2026 +.Dt POSIX_SPAWNATTR_GETPROCDESCP_NP 3 +.Os +.Sh NAME +.Nm posix_spawnattr_getprocdesp_np , +.Nm posix_spawnattr_setprocdescp_np +.Nd "get and set the spawn-procdescp attribute of a spawn attributes object" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In spawn.h +.Ft int +.Fo posix_spawnattr_getprocdescp_np +.Fa "const posix_spawnattr_t *restrict attr" +.Fa "int **restrict fdpp" +.Fa "int *restrict pdrflagsp" +.Fc +.Ft int +.Fo posix_spawnattr_setprocdescp_np +.Fa "posix_spawnattr_t *attr" +.Fa "int *restrict fdp" +.Fa "int pdrflags" +.Fc +.Sh DESCRIPTION +The +.Fn posix_spawnattr_getprocdescp_np +function obtains the value of the spawn-procdescp attribute from the +attributes object referenced by +.Fa attr . +.Pp +The +.Fn posix_spawnattr_procdescp_np +function sets the spawn-procdescp attribute in an initialized attributes +object referenced by +.Fa attr . +.Pp +The spawn-procdescp attribute provides the location where the child process's +file descriptor will be stored after a successful spawn. +Setting the attribute to a non-NULL value implicitly request the creation of +the file descriptor that references the child process. +It wiil be created by the +.Xr pdrfork 2 +system call. which will be used instead of +.Xr fork/vfork/rfork 2 +when the attribute is set to +.Va NULL. +.Pp +If the attribute is set to a value other then +.Dv NULL , +it must be a valid pointer to a variable of +.Vt int +type, where the resulting descriptor will be stored. +The +.Fa pdrflags +argument specifies additional flags that are accepted by the +.Xr pdfork 2 +system call. +See its description for the list of the valid flags. +Note that the +.Va PD_CLOEXEC +flag is always set, preventing leakage of the process descriptor +into the newly created child. +.Pp +The default value for the spawn-procdescp attribute is +.Dv NULL , +which means that no process descriptor will be created. +.Sh RETURN VALUES +The +.Fn posix_spawnattr_getprocdescp_np +and +.Fn posix_spawnattr_setprocdescp_np +functions return zero. +.Sh SEE ALSO +.Xr posix_spawn 3 , +.Xr posix_spawnattr_destroy 3 , +.Xr posix_spawnattr_init 3 , +.Xr posix_spawnp 3 +.Sh STANDARDS +The +.Fn posix_spawnattr_getprocdescp_np +and +.Fn posix_spawnattr_setprocdescp_np +are +.Fx +extensions that first appeared in +.Fx 16.0 . From nobody Mon Jan 26 22: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 4f0Mz82dMrz6Pgxp for ; Mon, 26 Jan 2026 22:05: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 4f0Mz804lpz3Gmw for ; Mon, 26 Jan 2026 22:05:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769465108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZXQaGY1TJrP9ItmRw0yT3BeySnw08rWbdJyUOILRgE=; b=pAWnhFcqkkxF4XZhNra/jofL6W78Dit/MDqxvAH3n1Hm/xpgZRWtNKGtuuZmoW+FRv0shX ymmA2700lB89SlD8nLPR/86MUbQtphxaxhSB90jRmbJVGVCHlxacHpq3d8qyV96R8+ilQq NsyGs5uwAlIYAIfWka1S5DTt+yY/Gl1pwQggzRDmeqiiFHNusg5cg6K2mopGUuLOmEt+Gn YsVY9hjcPY9wPca56sewmEMXUkDjtuUP/NVvBHUtathx6pBpQJ4ekmdfDiiulhC2em5KB3 XbAvburxvgaoOWoz7Ug5gesZJMdxiNTqvUK1kJCLZPNpWsbnLpxUwjl6DZkY1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769465108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZXQaGY1TJrP9ItmRw0yT3BeySnw08rWbdJyUOILRgE=; b=qSQMAKeE2piBu3s8fYzcOMR0+RW7ZYdFylLLAe8xu0PpudeQ/wHg1PZyXxAc8SIr6/wnSf hXRymb3BecmYvufujjHiikv/d4Wpg7ms12v0IO8SZf4vTCxIq+1bs4pv85XN4pq8onbBK/ QFhh6/mS8tpub1kNMGhUSmwbLVdKs4DRbN9LwiKOs6wNCg48PR+T2MGfgsaL25VTLUdIZS PXSp/g7snKHk3ousEuGiq5aOJNZIs2A/530JDbME5vNUQJql0+FgM9lB3Gp+le+EhlyRsU l+zb6i6TKs2Ah1VZKjgTtOMqGAP6o1t6ta4Jhs5YG/M3Hd7yiSLAFg/WxbsI6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769465108; a=rsa-sha256; cv=none; b=xB7dMvqUrHZsRTx5uu0bGI/aEM0knECayFggQIHUp2zhqjydLiTlE10WKpIk9QYwyInrWP 4Aw75Yi95zUB93dKhmI3SJjFKLlnK7tK491Fv9Yb22D/+92PVtBLMTnSHDG4QDXN3IgjqM 4Qfje/aHEhgTSk3UhfRs1+2WG8IFArtzKIIjgb/4aTv9fK2llTTTC8vXEfZKqd7hhTXJkx FYBTG3Ih+Agj1SSM/fhNLOvo9N8zzN8EfyS+DzBdUWYO5q8fsdD63sze+ehknGFCdud7cC UtjAbbsfE5H84dxB7ZvDSzZ3A6XdYEuwpIgiy2WDtz/pT8zSDDYd6bIUi6g8sA== 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 4f0Mz75y53zfjk for ; Mon, 26 Jan 2026 22:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3504f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 22:05:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1db1e4bdc64f - main - bhyve: Use PCIOCGETCONF to find the host LPC bridge 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: 1db1e4bdc64f29661592a47f2feb690d7cf37957 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 22:05:07 +0000 Message-Id: <6977e513.3504f.d37eb76@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1db1e4bdc64f29661592a47f2feb690d7cf37957 commit 1db1e4bdc64f29661592a47f2feb690d7cf37957 Author: Mark Johnston AuthorDate: 2026-01-26 21:05:06 +0000 Commit: Mark Johnston CommitDate: 2026-01-26 22:03:51 +0000 bhyve: Use PCIOCGETCONF to find the host LPC bridge pci_host_read_config() requires write access to /dev/pci so cannot be used with unprivileged bhyve. The lpc init code uses it to find the host system's LPC bridge device and so was generating warnings with bhyve running as a non-root user. Refactor the implementation to use PCIOCGETCONF instead, which doesn't require any special privileges. This isn't formally necessary, as we only care about copying the host system's identifiers in order to support Intel GPU passthrough (see commit f4ceaff56ddaa), but it's straightforward and lets an unprivileged user run bhyve without seeing warnings about failing to open /dev/pci with write permissions. Reviewed by: corvink, rew MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54851 --- usr.sbin/bhyve/amd64/pci_lpc.c | 79 +++++++++++++++++++++++++----------------- usr.sbin/bhyve/pci_emul.c | 22 ++++++------ usr.sbin/bhyve/pci_emul.h | 2 +- 3 files changed, 60 insertions(+), 43 deletions(-) diff --git a/usr.sbin/bhyve/amd64/pci_lpc.c b/usr.sbin/bhyve/amd64/pci_lpc.c index ed41a800a2ea..52e9faec22af 100644 --- a/usr.sbin/bhyve/amd64/pci_lpc.c +++ b/usr.sbin/bhyve/amd64/pci_lpc.c @@ -28,10 +28,12 @@ */ #include + #include #include #include +#include #include #include #include @@ -46,7 +48,6 @@ #include "pci_emul.h" #include "pci_irq.h" #include "pci_lpc.h" -#include "pci_passthru.h" #include "pctestdev.h" #include "tpm_device.h" #include "uart_emul.h" @@ -460,34 +461,48 @@ pci_lpc_read(struct pci_devinst *pi __unused, int baridx __unused, #define LPC_SUBDEV_0 0x0000 static int -pci_lpc_get_sel(struct pcisel *const sel) +pci_lpc_get_conf(struct pci_conf *conf) { - assert(sel != NULL); - - memset(sel, 0, sizeof(*sel)); - - for (uint8_t slot = 0; slot <= PCI_SLOTMAX; ++slot) { - uint8_t max_func = 0; - - sel->pc_dev = slot; - sel->pc_func = 0; + struct pci_conf_io pcio; + struct pci_match_conf pmc; + int pcifd; - if (pci_host_read_config(sel, PCIR_HDRTYPE, 1) & PCIM_MFDEV) - max_func = PCI_FUNCMAX; + pcifd = open("/dev/pci", O_RDONLY); + if (pcifd < 0) { + warn("%s: Unable to open /dev/pci", __func__); + return (-1); + } - for (uint8_t func = 0; func <= max_func; ++func) { - sel->pc_func = func; +restart: + memset(&pcio, 0, sizeof(pcio)); + memset(&pmc, 0, sizeof(pmc)); + pmc.pc_class = PCIC_BRIDGE; + pmc.flags = PCI_GETCONF_MATCH_CLASS; + do { + pcio.pat_buf_len = sizeof(pmc); + pcio.num_patterns = 1; + pcio.patterns = &pmc; + pcio.match_buf_len = sizeof(*conf); + pcio.matches = conf; + if (ioctl(pcifd, PCIOCGETCONF, &pcio) == -1) { + warn("%s: ioctl(PCIOCGETCONF) failed", __func__); + break; + } + if (pcio.num_matches == 0) + break; + if (pcio.status == PCI_GETCONF_LIST_CHANGED) + goto restart; - if (pci_host_read_config(sel, PCIR_CLASS, 1) == - PCIC_BRIDGE && - pci_host_read_config(sel, PCIR_SUBCLASS, 1) == - PCIS_BRIDGE_ISA) { - return (0); - } + if (conf->pc_class == PCIC_BRIDGE && + conf->pc_subclass == PCIS_BRIDGE_ISA) { + close(pcifd); + return (0); } - } + } while (pcio.status == PCI_GETCONF_MORE_DEVS); + + close(pcifd); - warnx("%s: Unable to find host selector of LPC bridge.", __func__); + warnx("%s: Unable to find host selector of LPC bridge", __func__); return (-1); } @@ -495,8 +510,7 @@ pci_lpc_get_sel(struct pcisel *const sel) static int pci_lpc_init(struct pci_devinst *pi, nvlist_t *nvl) { - struct pcisel sel = { 0 }; - struct pcisel *selp = NULL; + struct pci_conf conf, *confp; uint16_t device, subdevice, subvendor, vendor; uint8_t revid; @@ -521,15 +535,16 @@ pci_lpc_init(struct pci_devinst *pi, nvlist_t *nvl) if (lpc_init(pi->pi_vmctx) != 0) return (-1); - if (pci_lpc_get_sel(&sel) == 0) - selp = &sel; + confp = NULL; + if (pci_lpc_get_conf(&conf) == 0) + confp = &conf; - vendor = pci_config_read_reg(selp, nvl, PCIR_VENDOR, 2, LPC_VENDOR); - device = pci_config_read_reg(selp, nvl, PCIR_DEVICE, 2, LPC_DEV); - revid = pci_config_read_reg(selp, nvl, PCIR_REVID, 1, LPC_REVID); - subvendor = pci_config_read_reg(selp, nvl, PCIR_SUBVEND_0, 2, + vendor = pci_config_read_reg(confp, nvl, PCIR_VENDOR, 2, LPC_VENDOR); + device = pci_config_read_reg(confp, nvl, PCIR_DEVICE, 2, LPC_DEV); + revid = pci_config_read_reg(confp, nvl, PCIR_REVID, 1, LPC_REVID); + subvendor = pci_config_read_reg(confp, nvl, PCIR_SUBVEND_0, 2, LPC_SUBVEND_0); - subdevice = pci_config_read_reg(selp, nvl, PCIR_SUBDEV_0, 2, + subdevice = pci_config_read_reg(confp, nvl, PCIR_SUBDEV_0, 2, LPC_SUBDEV_0); /* initialize config space */ diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 9d6060e3e254..dc27402675ee 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -353,49 +353,51 @@ pci_print_supported_devices(void) } uint32_t -pci_config_read_reg(const struct pcisel *const host_sel, nvlist_t *nvl, +pci_config_read_reg(const struct pci_conf *host_conf, nvlist_t *nvl, const uint32_t reg, const uint8_t size, const uint32_t def) { const char *config; const nvlist_t *pci_regs; + uint32_t host; assert(size == 1 || size == 2 || size == 4); pci_regs = find_relative_config_node(nvl, "pcireg"); if (pci_regs == NULL) { - return def; + return (def); } switch (reg) { case PCIR_DEVICE: config = get_config_value_node(pci_regs, "device"); + host = host_conf != NULL ? host_conf->pc_device : 0; break; case PCIR_VENDOR: config = get_config_value_node(pci_regs, "vendor"); + host = host_conf != NULL ? host_conf->pc_vendor : 0; break; case PCIR_REVID: config = get_config_value_node(pci_regs, "revid"); + host = host_conf != NULL ? host_conf->pc_revid : 0; break; case PCIR_SUBVEND_0: config = get_config_value_node(pci_regs, "subvendor"); + host = host_conf != NULL ? host_conf->pc_subvendor : 0; break; case PCIR_SUBDEV_0: config = get_config_value_node(pci_regs, "subdevice"); + host = host_conf != NULL ? host_conf->pc_subdevice : 0; break; default: return (-1); } if (config == NULL) { - return def; - } else if (host_sel != NULL && strcmp(config, "host") == 0) { -#ifdef __amd64__ - return pci_host_read_config(host_sel, reg, size); -#else - errx(1, "cannot fetch host PCI configuration"); -#endif + return (def); + } else if (host_conf != NULL && strcmp(config, "host") == 0) { + return (host); } else { - return strtol(config, NULL, 16); + return (strtol(config, NULL, 16)); } } diff --git a/usr.sbin/bhyve/pci_emul.h b/usr.sbin/bhyve/pci_emul.h index 063b4b84e044..29e9717c1593 100644 --- a/usr.sbin/bhyve/pci_emul.h +++ b/usr.sbin/bhyve/pci_emul.h @@ -230,7 +230,7 @@ void pci_walk_lintr(int bus, pci_lintr_cb cb, void *arg); int init_pci(struct vmctx *ctx); void pci_callback(void); -uint32_t pci_config_read_reg(const struct pcisel *host_sel, nvlist_t *nvl, +uint32_t pci_config_read_reg(const struct pci_conf *host_conf, nvlist_t *nvl, uint32_t reg, uint8_t size, uint32_t def); int pci_emul_alloc_bar(struct pci_devinst *pdi, int idx, enum pcibar_type type, uint64_t size); From nobody Mon Jan 26 22:05: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 4f0Mz939WFz6PhTs for ; Mon, 26 Jan 2026 22:05: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 4f0Mz90qSgz3GqK for ; Mon, 26 Jan 2026 22:05:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769465109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Grdl+NCaaK3EZ4tMj73JSSYQLOMQ1WCzrnPtujSmRI0=; b=DKBC+OK7k3yazSB1qtg2oxom/UWtA5WB5IesiCfUCMGRoinoJ6ouR+ruanqXqppxucP7b8 jNc9LZzeWnQeBz0SwzS/v431n7vmb/cHp3nSFnuAaoLC9I6JYZNXtgQ6R8hYcEcUBvvPw6 Ogff/k9TSgIEFYxaOxwZNoea+h2JHSI3NoxreZD7zD097eSebazipw+3X1Jy9zrxg8zP7U o8FAbkeF0+xmxvN4e36S+mMq5mj9pYN71sGwi5jhj0OZ9NpBVsh0kPg5iUyCFE9eIyfY6q IeTbGbUa3T18CKfDN3Gegn4eBze1wSkww+2+Yt1pyYpcAgUtzwGguDzTdw1sNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769465109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Grdl+NCaaK3EZ4tMj73JSSYQLOMQ1WCzrnPtujSmRI0=; b=QuJVChshHBMc4r4nu1HCB3obr+KlOfuNbTtL+6Bbww+2dQGSGmqujuRtNqEV7FlRc5vwaE 5pEJDGBAipUoG+QQpp41NUWCDJYqp8kssNLCgudvGLyPOXqol93ayD+LY3qxwBd3u+YAK8 mjxyUgkMxs1TMWq76mN9lIHMRmFokkJlp7qAMTqDPs8VDhIzyTKZYwpk17Q2lDFlBNaQdl 8k22izKxZTflEijte+T9h/ZlrKGyQ+4V/x+msJO6gQWao306cb3tPbzPhVJnyN+caCeTj5 eYrX/nC4cpl6Ub9exs6trAXI8EcOm6wOe+tBpyTWEJBC5tvUG4GyU0VPOUbx5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769465109; a=rsa-sha256; cv=none; b=fk1f3btiMKVcgNE3zjnEZ+hUHByoSD1XlFT3DTqw3/XbdQFLpxOvKkZYyZYaj3n3YTqyzn K3eU/KUqJpAYIh1X4yDQPYpxY/pdvclZOoQWSCbb/dgnCqEuRZ7wX1OR45kK+oivhTf5ad 9/MYLN9zjFmvx1/pxzl1iNfbFTAfFFfYpmXATqxRoRw/ENq1nH0PGwRDhNgYjFWe13o/cA +LZMiTWNQ+KGIR+Vuea903ww4qIbslbhtKnw5i+mmPQhwEYdsLf07/BZ7HrINyApveAfaA mJ/QmvSIohmoVaLfdJCTiMow58nY2fwlJUGMGuW8hVDScaNuvkBYc6K46p9OTg== 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 4f0Mz8720hzgB9 for ; Mon, 26 Jan 2026 22:05:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36dd4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 22:05:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 31e5decb18a6 - main - arm64/vmm: Simplify vmmpmap_remove() 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: 31e5decb18a6633f5137848b5734310b41fc3bdc Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 22:05:08 +0000 Message-Id: <6977e514.36dd4.5b6aef0e@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=31e5decb18a6633f5137848b5734310b41fc3bdc commit 31e5decb18a6633f5137848b5734310b41fc3bdc Author: Mark Johnston AuthorDate: 2026-01-26 21:05:43 +0000 Commit: Mark Johnston CommitDate: 2026-01-26 22:03:51 +0000 arm64/vmm: Simplify vmmpmap_remove() This function handles invalid intermediate PTP entries, but there's no reason for this: the passed range should be mapped. In particular, we assert that all L3 entries encountered are mapped. So let's simplify the code a bit. No functional change intended. Reviewed by: andrew MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54738 --- sys/arm64/vmm/vmm_mmu.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/sys/arm64/vmm/vmm_mmu.c b/sys/arm64/vmm/vmm_mmu.c index 42537254e27b..ab876d4b47b6 100644 --- a/sys/arm64/vmm/vmm_mmu.c +++ b/sys/arm64/vmm/vmm_mmu.c @@ -350,8 +350,8 @@ vmmpmap_remove(vm_offset_t va, vm_size_t size, bool invalidate) ("%s: Mapping is not page-sized", __func__)); if (invalidate) { - l3_list = malloc((size / PAGE_SIZE) * sizeof(l3_list[0]), - M_TEMP, M_WAITOK | M_ZERO); + l3_list = malloc(atop(size) * sizeof(l3_list[0]), M_TEMP, + M_WAITOK | M_ZERO); } sva = va; @@ -359,32 +359,17 @@ vmmpmap_remove(vm_offset_t va, vm_size_t size, bool invalidate) mtx_lock(&vmmpmap_mtx); for (i = 0; va < eva; va = va_next) { l0e = atomic_load_64(&l0[pmap_l0_index(va)]); - if (l0e == 0) { - va_next = (va + L0_SIZE) & ~L0_OFFSET; - if (va_next < va) - va_next = eva; - continue; - } + MPASS(l0e != 0); MPASS((l0e & ATTR_DESCR_MASK) == L0_TABLE); l1 = (pd_entry_t *)PHYS_TO_DMAP(l0e & ~ATTR_MASK); l1e = atomic_load_64(&l1[pmap_l1_index(va)]); - if (l1e == 0) { - va_next = (va + L1_SIZE) & ~L1_OFFSET; - if (va_next < va) - va_next = eva; - continue; - } + MPASS(l1e != 0); MPASS((l1e & ATTR_DESCR_MASK) == L1_TABLE); l2 = (pd_entry_t *)PHYS_TO_DMAP(l1e & ~ATTR_MASK); l2e = atomic_load_64(&l2[pmap_l2_index(va)]); - if (l2e == 0) { - va_next = (va + L2_SIZE) & ~L2_OFFSET; - if (va_next < va) - va_next = eva; - continue; - } + MPASS(l2e != 0); MPASS((l2e & ATTR_DESCR_MASK) == L2_TABLE); l3 = (pd_entry_t *)PHYS_TO_DMAP(l2e & ~ATTR_MASK); @@ -419,7 +404,7 @@ vmmpmap_remove(vm_offset_t va, vm_size_t size, bool invalidate) /* Invalidate the memory from the D-cache */ vmm_call_hyp(HYP_DC_CIVAC, sva, size); - for (i = 0; i < (size / PAGE_SIZE); i++) { + for (i = 0; i < atop(size); i++) { atomic_store_64(l3_list[i], 0); } From nobody Mon Jan 26 23:12: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 4f0PSw2z06z6PmcS for ; Mon, 26 Jan 2026 23:12: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 4f0PSw22R6z3SMK for ; Mon, 26 Jan 2026 23:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769469152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UtS/EGVrtH67esMi0qYesI1gcsSWoNdl44VqOx1kbOA=; b=naKlGvO+3CudjPTHd9BYqQb4D8AyIc3DurfL6L7HzzeLNfUBZRn7He67XRlBRKiQjvbv64 6z7oxgKlmWxZu3Pa7j//1z3vKT7ATIGGmUJwrueaSmr+Nha7Fhycx+vzA4UhP1PwYDxcFE u1H/LxukdpDunARwzrWqFpfJaHr/jouUxe5Ay/n5jhgYNKsh3gc2qGfgG1yupAPnda01sO PqVwxVg2G+ptnzr0vQBMlcVGUD3tYCTatPT7A8R4i3A5WUfMAD/XSV2ryb8Cp+dODmE6fo iN2B/WSIANerasXwk+NkpXu08I4Rs5IILb1MNEtMneOImrMZBlv3njzzdS3b1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769469152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UtS/EGVrtH67esMi0qYesI1gcsSWoNdl44VqOx1kbOA=; b=eXLeR5JRCLcYL8OoHUvrcOHZhD0mWusgD+XIDn6HeUnIgYhdzuXqkufjat0Izby5ighVQ1 bEM3lnSv9a9l4ADR4S7qbhfMgMnytcU6sD2ueJ3E+wPxgmFL1dTpT9e0OSiOU0qogDQ9sh U1ZtOVivHkGrdqyxAtReqWYG3fKKcfEnXmBNfHgq1x5P3F3Aium++AlbRbc0bX1KBwKJ38 QTL82X5fiwpMZ3D08JRpcgrQarRp40+tJX2SoEmnU7NFt+iafuFISL48zziTjGtWSba/o8 BuTxP6JfTlqHD1WkHouP7y4AexaaC6ko3fkdlXMzi4yJ1W+gEqLNMRfFWxA60A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769469152; a=rsa-sha256; cv=none; b=l5AWEQEBoaDjUcligVBXMAYWFzr4aKdI5My377rgw2ZrxHqmYGMljumSr4147mZxBDQLkx hwAnIsE6qSve9q27OzNWZmMZWc1uUYGVAqJcuXp9aXcVN1HDtxohtsjA7xz6SyBC+xeeYS R+bUJx3JIZYQTIbszPjdbxMcifS0J/OlYje1sZDVRsIilxnMJ0/BQ2DdW/PCmLquWweKmj iEkOEjsKM9YrmYOIM2ejXGiE5pmX+6hvIWW9r9sNXC2aWjqKcBFZBI0y00dmYOUCR1FagR rIsWcLLSwkiOU7WYA04AolK+fCNbTpfkWrZMcBNHMlKXdJBbLPpIdoirxbHOwg== 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 4f0PSw1Wkwzj5V for ; Mon, 26 Jan 2026 23:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cf88 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 23:12:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: d1a8f1a62f31 - main - ipfw: don't use the upper half lock to walk dynamic states buckets 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: d1a8f1a62f31779e1902b856b44249b198178fc9 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 23:12:32 +0000 Message-Id: <6977f4e0.3cf88.6277afb5@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d1a8f1a62f31779e1902b856b44249b198178fc9 commit d1a8f1a62f31779e1902b856b44249b198178fc9 Author: Gleb Smirnoff AuthorDate: 2026-01-26 23:05:17 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-26 23:05:17 +0000 ipfw: don't use the upper half lock to walk dynamic states buckets The lock is sleepable and we can't grab it in dyn_tick(). Use the individual bucket locks instead. Fixes: e3caa360d5d0a73af0de1d293d5b8ff6e900ceb4 --- sys/netpfil/ipfw/ip_fw_dynamic.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_dynamic.c b/sys/netpfil/ipfw/ip_fw_dynamic.c index 99fd72de5e0a..d2bf4f4fc899 100644 --- a/sys/netpfil/ipfw/ip_fw_dynamic.c +++ b/sys/netpfil/ipfw/ip_fw_dynamic.c @@ -2498,13 +2498,8 @@ dyn_send_keepalive_ipv4(struct ip_fw_chain *chain) uint32_t bucket; mbufq_init(&q, INT_MAX); - IPFW_UH_RLOCK(chain); - /* - * It is safe to not use hazard pointer and just do lockless - * access to the lists, because states entries can not be deleted - * while we hold IPFW_UH_RLOCK. - */ for (bucket = 0; bucket < V_curr_dyn_buckets; bucket++) { + DYN_BUCKET_LOCK(bucket); CK_SLIST_FOREACH(s, &V_dyn_ipv4[bucket], entry) { /* * Only established TCP connections that will @@ -2517,8 +2512,8 @@ dyn_send_keepalive_ipv4(struct ip_fw_chain *chain) continue; dyn_enqueue_keepalive_ipv4(&q, s); } + DYN_BUCKET_UNLOCK(bucket); } - IPFW_UH_RUNLOCK(chain); while ((m = mbufq_dequeue(&q)) != NULL) ip_output(m, NULL, NULL, 0, NULL, NULL); } @@ -2605,13 +2600,8 @@ dyn_send_keepalive_ipv6(struct ip_fw_chain *chain) uint32_t bucket; mbufq_init(&q, INT_MAX); - IPFW_UH_RLOCK(chain); - /* - * It is safe to not use hazard pointer and just do lockless - * access to the lists, because states entries can not be deleted - * while we hold IPFW_UH_RLOCK. - */ for (bucket = 0; bucket < V_curr_dyn_buckets; bucket++) { + DYN_BUCKET_LOCK(bucket); CK_SLIST_FOREACH(s, &V_dyn_ipv6[bucket], entry) { /* * Only established TCP connections that will @@ -2624,8 +2614,8 @@ dyn_send_keepalive_ipv6(struct ip_fw_chain *chain) continue; dyn_enqueue_keepalive_ipv6(&q, s); } + DYN_BUCKET_UNLOCK(bucket); } - IPFW_UH_RUNLOCK(chain); while ((m = mbufq_dequeue(&q)) != NULL) ip6_output(m, NULL, NULL, 0, NULL, NULL, NULL); } From nobody Mon Jan 26 23: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 4f0PTn2yMWz6Pmcp; Mon, 26 Jan 2026 23:13:17 +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 4f0PTm6ttmz3SWV; Mon, 26 Jan 2026 23:13:16 +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 60QND4bD036540; Tue, 27 Jan 2026 01:13:07 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 60QND4bD036540 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 60QND4G2036539; Tue, 27 Jan 2026 01:13:04 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 27 Jan 2026 01:13:04 +0200 From: Konstantin Belousov To: Marius Strobl Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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: 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: 4f0PTm6ttmz3SWV On Mon, Jan 26, 2026 at 09:30:58PM +0100, Marius Strobl wrote: > On Mon, Jan 26, 2026 at 06:34:49PM +0200, Konstantin Belousov wrote: > > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > > The branch main has been updated by marius: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > > Author: Marius Strobl > > > AuthorDate: 2026-01-26 13:58:57 +0000 > > > Commit: Marius Strobl > > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > > > sym(4): Employ memory barriers also on x86 > > > > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > > It does hold. x86 is much more strongly ordered than all other arches > > we currently support. > > If it does hold, then why is atomic_thread_fence_seq_cst() employing > a StoreLoad barrier even on amd64? > I agree that x86 is more strongly ordered than the other supported > architectures, though. Well, it depends on the purpose. Can you please explain what is the purpose of this specific barrier, and where is the reciprocal barrier for it? Often drivers for advanced devices do need fences. For instance, from my experience with the Mellanox networking cards, there are some structures that are located in regular cacheable memory. The readiness of the structure for the card is indicated by a write to some location. If this location is BAR, then at least on x86 we do not need any barriers. But if it is also in the regular memory, the visibility of writes to the structure before the write to a signalling variable must be enforced. This is done normally by atomic_thread_fence_rel(), which on x86 becomes just compiler barrier, since the ordering is guaranteed by CPU (but not compiler). In this situation, using rmb() (which is fence) really degrades the performance on high rates. > > The panic seen matches the typical scenario of even x86 requiring a > StoreLoad barrier. For the actual usage of these macros, the use of > bus_{space,9}_barrier(9) would be more appropriate, however. On x86, > this translates to a "lock addl $0,mem" for BUS_SPACE_BARRIER_READ, > which probably would also achieve the intended order. I'd much > prefer to just do what Linux still does up until today and be done > with it, though. > > Marius From nobody Mon Jan 26 23:24: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 4f0PkC6JWMz6PnR5 for ; Mon, 26 Jan 2026 23:24: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 4f0PkC5XDmz3VFm for ; Mon, 26 Jan 2026 23:24:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769469843; 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=uawlKYQuZXkXYy9bbhLgiG9x0jRSh7iyO1vdYSWhAjY=; b=dbYaMi9YbTNIn7r//GinVVSLMUWbECR6WhcWhV7ZxOGQB5qsglDpJ5BIQbunqaNgtxkTOt ZQIUl3HiRC/QVP87jmLlWrO+Jr+bQWfZd26pWSH82JfQIcUBACLVqRBht1HTX2IMKiVrtk 1PRC1xN2x0tn9w7uKIPgMVR7Og6V0SfnX+LGx7x/GU7sxPFE4NcnETX/8zXBUl/IZsS+ZY R9V5f8EKhpU+5H8O6aCF2ht5UnlDFCTCdqU6V84DHE/3C04RAAgfm7zq+/e4HX6EiWmvdt oEKbGggTLVKPJpmZTSWwEUmp9o8Tmg+DLLouUiXL4vCKtPGiTTsl0zow4+Odag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769469843; 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=uawlKYQuZXkXYy9bbhLgiG9x0jRSh7iyO1vdYSWhAjY=; b=ia01y592FojUOck9xexs0b5EaE1IaF2TzUbZvNEIgcyMYodeGmuTPTcQlpPcWn1eDjM+Q9 MuwUptYC6F+ZhzoESbY9c67UwhYvf9eV1sCQHFk39jIeGC5kH0zNQGfj5wQQ3sewF40uwG HBs/w+JEhU8S0RGK5NYiGYShbKEnMClwQHDsijgzovXucvfGt0pusu/TPxcgrCnq9ANapv TOA479iGdkjuZ4Gu20yBDAK/jIpLuSOpN8vwjJVGja7HWJo1+/1/fkOwHSylfegEkRWT8n u4tVUrh3I5D2UNTTWBwNiJ6df6dhFR4Wzj7kbTkRTa8+qlNQv3AdujCas8+6HQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769469843; a=rsa-sha256; cv=none; b=xhhyWHo0BXWmejaiH6I9fwr0Px9sz8uBcR6wz9UTQR1ag+3+bZFDQyGpmQsK9QfEpFFHem 9ylgBJmaid9uBP8Xo3Rd+VtWlvqQrLCGiNtnrdTVlVpzY+qzl+RD+ByLFp7Gpqh207nKNU Ny+Ez2EXpDf5vaFNDxZ2NYtF2k2T2YPMVP//a3AiyODXjlM6uZfhGwGHuEanf55lC8KQUU Dpr/LSBac02gzwblmDXFDajQGr2FnESDoYAkGrDsi0CLLm4A2uaEnLRq7/IVhy3ULJKtdF zK1hvYThY4+6OPNuGaBpoN3Ghff+0u/9JSDLBj0/OMkgmIb2EA6yxjzwbsEQGw== 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 4f0PkC559HzjKy for ; Mon, 26 Jan 2026 23:24:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d555 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 26 Jan 2026 23:24:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: =?utf-8?Q?Ana=C3=ABll?=e CAZUC From: Pouria Mousavizadeh Tehrani Subject: git: 69de2b4e9679 - main - bnxt: don't set media status if link is down 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: 69de2b4e96794793f04d1b323d354fcde3c480f6 Auto-Submitted: auto-generated Date: Mon, 26 Jan 2026 23:24:03 +0000 Message-Id: <6977f793.3d555.19deb8ed@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=69de2b4e96794793f04d1b323d354fcde3c480f6 commit 69de2b4e96794793f04d1b323d354fcde3c480f6 Author: Anaëlle CAZUC AuthorDate: 2026-01-26 23:06:02 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-01-26 23:21:48 +0000 bnxt: don't set media status if link is down When the link is down don't set flags other than IFM_AVALID & IFM_ETHER This avoids `media: Ethernet autoselect (Unknown )` on ifconfig Reviewed by: zlei, pouria Approved by: glebius (mentor) MFC after: 1 week Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D54573 --- sys/dev/bnxt/bnxt_en/if_bnxt.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index fa37d04e0884..a34bd1a7e511 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -3280,11 +3280,10 @@ bnxt_media_status(if_ctx_t ctx, struct ifmediareq * ifmr) ifmr->ifm_status = IFM_AVALID; ifmr->ifm_active = IFM_ETHER; - if (link_info->link_up) - ifmr->ifm_status |= IFM_ACTIVE; - else - ifmr->ifm_status &= ~IFM_ACTIVE; + if (!link_info->link_up) + return; + ifmr->ifm_status |= IFM_ACTIVE; if (link_info->duplex == HWRM_PORT_PHY_QCFG_OUTPUT_DUPLEX_CFG_FULL) ifmr->ifm_active |= IFM_FDX; else From nobody Tue Jan 27 00:45: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 4f0RWs4YxYz6PtQ3 for ; Tue, 27 Jan 2026 00:45:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f0RWs3Htxz3fj5 for ; Tue, 27 Jan 2026 00:45:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769474713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wciNiNEPdGdTs/VBMf85WHo7IcB9fqUHTolwVcyz5S0=; b=LspzAOU15nswXcPgHej4+up2Cw840byKceXrGeIq23nbOgodB2u9f2C2e85YKbI9P4ZFoe 5p6b+k0ede6CtNhaJUdShHmpZf92wfOCyLZ74kH6Kq+Lx+bEvRJzeN1dKXSTO7gfey/EtX aXdmEj+ejeLMV8YFUrbf4tSspbUJDKZrypdGrLFSPj/8oqfiCjjUG5Hg7tFzYoOkFB3c64 wGCaUsqracnqkFCNviSN7hGreNsTPMcOM4ZN6oW4ZP0Pj0cSw4Eoekm0biLS3qqhjXuhty o0pVjt4IHsj35fT9FhMh/h3dV9Cv+dT9vUp4kQI1tmv1zgp2CdNtz2B7SomoNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769474713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wciNiNEPdGdTs/VBMf85WHo7IcB9fqUHTolwVcyz5S0=; b=MMCyek4bG0xfERhLeAbCIEhE8dK3AgNK8xSECKEOOkCyK5JLPbLzMpbF+sGw0yKBtTsZAh a8NSYX/a4WE/HNNwI7QCcVDBTxQ2Ak4bBBUFyXDpzZHPU0A5jym6jZSyeIHSHmg3eiLK3O 08XRaoCvYp2NFZyVivmmUxZ5gkY/4beIGpx4jbwyb/93CSr0wQJJOk5IGiNXr2G9pAhFFG c9ei+DXK3T7aEp5sG78VltQ+5lgoUzYML5S2TEGgsrYVCPx9nHnzkFZyaBz7BFoKwtUY5q R0a6W3XzpQL00KaGDdcrYt9TjU7kPdjD1bquq1vDRJxJdKkNrImdN0dRys5JAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769474713; a=rsa-sha256; cv=none; b=glZQQ3UKBCTjwY2vYC9xvntBO9B1wukwA7Cna7ktpqC9kicE5OjGfS42lzYZ/YIYpdTDiy Mzou1inp7l11jx7vmLLteHsRzzjnUkBl5DEa+aIENBqCMbf6oKXzIgI1VQZTDYxYf92L1B NG6sWEduz7O4yBrCegSu0fsUiUW4BF6VUb3LEDQp8dbmDDg+r2Yr/TN8gk6wPRaYLw5+eP dayir9jIepWE0oTJjUVlGGbzmJ0OXugxEzGMpxoupvdAEiwNtg6yYJIIJ9j/Xz1vdBdnV1 LUxwBfrvRkcAibp0FCBcB/y3RGTK9Z5Oyq8khRGqp8nIkMK0i2BHbfDatRFeBQ== 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 4f0RWs29PZzlLv for ; Tue, 27 Jan 2026 00:45:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbcd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 00:45:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d47c1c2cf562 - main - sbin/setkey: add -Z option to disable receive timeouts 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: d47c1c2cf562a7583758387cd652e98b91ab83f6 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 00:45:08 +0000 Message-Id: <69780a94.dbcd.7c991638@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d47c1c2cf562a7583758387cd652e98b91ab83f6 commit d47c1c2cf562a7583758387cd652e98b91ab83f6 Author: Konstantin Belousov AuthorDate: 2026-01-20 12:09:47 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-27 00:44:03 +0000 sbin/setkey: add -Z option to disable receive timeouts Sponsored by: NVidia networking MFC after: 1 week --- sbin/setkey/setkey.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/sbin/setkey/setkey.c b/sbin/setkey/setkey.c index f7268d8f1e10..3caf83c8eebc 100644 --- a/sbin/setkey/setkey.c +++ b/sbin/setkey/setkey.c @@ -86,6 +86,7 @@ static int f_policy = 0; static int f_hexdump = 0; static int f_tflag = 0; static int f_scope = 0; +static int f_notimeout = 0; static time_t thiszone; extern int lineno; @@ -129,7 +130,7 @@ main(int ac, char **av) thiszone = gmt2local(0); - while ((c = getopt(ac, av, "acde:f:ghltvxDFP")) != -1) { + while ((c = getopt(ac, av, "abcde:f:ghltvxDFPZ")) != -1) { switch (c) { case 'c': f_mode = MODE_SCRIPT; @@ -187,6 +188,9 @@ main(int ac, char **av) case 'v': f_verbose = 1; break; + case 'Z': + f_notimeout = 1; + break; default: usage(); /*NOTREACHED*/ @@ -332,16 +336,18 @@ sendkeymsg(char *buf, size_t len) u_char rbuf[1024 * 32]; /* XXX: Enough ? Should I do MSG_PEEK ? */ ssize_t l; struct sadb_msg *msg; - - { struct timeval tv; - tv.tv_sec = 1; - tv.tv_usec = 0; - if (setsockopt(so, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0) { - perror("setsockopt"); - goto end; + + + if (!f_notimeout) { + tv.tv_sec = 1; + tv.tv_usec = 0; + if (setsockopt(so, SOL_SOCKET, SO_RCVTIMEO, &tv, + sizeof(tv)) < 0) { + perror("setsockopt"); + goto end; + } } - } if (f_forever) shortdump_hdr(); From nobody Tue Jan 27 04:39: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 4f0XkW1n2lz6QC2p for ; Tue, 27 Jan 2026 04:39: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 4f0XkW17Jrz46Kb for ; Tue, 27 Jan 2026 04:39:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769488787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZR0mv+gGcBMhmRVcMhqgV9gouws54r489HwfummxeN0=; b=rB/uGoDr7TG/IrIQ+8OxFIXJRCdIfj+7Qtcgflhkke4r6HiVxf2rYCcI+vugIgaK4jQDVU 5ekCNWmJhxB2pEW7S3Pbarn6nknPnmRM9I+7QDm4CnHVEVUtPHS0mTL4NN+0rCVHXKrTyk iPpjzV4l5E5UnJ+xHpYeowSTywcOQaDlBF3r9jcjShWMyf0q67bV6XDLc4pUHUqWPuR7aY bKUA5m03bRR8dgwI4KB7OEOhpK1xcLPegzkSODrn4oX2Uj/WRvD4f/janL7b37WrOlcRW1 Jbej8Bo46kjxTfzH2X/hVPMsFa6NHNlXjgEBMAND3wzMUtkwk/yvscVSuJ+d5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769488787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZR0mv+gGcBMhmRVcMhqgV9gouws54r489HwfummxeN0=; b=eY3V8VQHTw1h4iMsawavbjMSpP7p3+xC/P3dBwSDOQtwtE51/xEjBkQYqoyaGT2BAKHqbm JSTwfyFEFGHokJZfHtnxCzn2yv31DaoSQdcC2fY2cagHXhWPK9vpAo1qrBruMY95X9sdWL O/b5jGaZo06DyBOhr76J80+bno0WhtV8P75a8TV6wfQzYfBB2yxfiWCnG2O6AjBk1nPw3A LrqNVMkUZm9TDUXZE2Ayu6INQi/yDidLgRrSW8jpsTQltLj16jmVQn8n20H8mkV28y63IQ tvH49qhT9GochHxveXC7eQ6eRH1W8rCVLVMf8moYwn1QuxhaXWofpEsMcYEaIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769488787; a=rsa-sha256; cv=none; b=QdVqSn2shzdgOTG8dQyoQ8jgT4yYrxheawjBXLOaU4Iny0vzcRalpRm+i7FkabOpMGYQks rAmE3MuugPSl0PcXdeYe0YHVCHOjioPfl9PIzZxN8VibRTFVfr8wjflN05H6VD6omPaR/p 0NuZIZAjy/I7d1xPjPek2lTOlqlKjr3k61ZqwtsGDqgVCIJCycTIvJDJad/DSapSwGQQM0 2BTAVgKTpwBfPQiMNeLw8cOf89kr6wuN2BblhicYRU0n0sVEfmq45d4IOGWkEKAq/u43TP QGE7HjSrpT2a69mltkbCUiL2ZJUjssHRsYQ45sS0A28lrxoz9LCZ9bhtw+SGTA== 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 4f0XkW0YxXzsK2 for ; Tue, 27 Jan 2026 04:39:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d0d9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 04:39:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 9a5baa9c5856 - main - powerpc: disable the TLBIE lock, it's not needed for POWER8 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: 9a5baa9c585652fb7bd4ccd45d567204caf349f2 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 04:39:47 +0000 Message-Id: <69784193.3d0d9.f5d2fc9@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=9a5baa9c585652fb7bd4ccd45d567204caf349f2 commit 9a5baa9c585652fb7bd4ccd45d567204caf349f2 Author: Adrian Chadd AuthorDate: 2026-01-23 07:36:00 +0000 Commit: Adrian Chadd CommitDate: 2026-01-27 04:39:37 +0000 powerpc: disable the TLBIE lock, it's not needed for POWER8 According to POWER8_UM_v1.3_16MAR2016 3.8.3 Translation Lookaside Buffer (TLB), POWER8 supports lockless TLBIE operations. Locally Tested: * IBM POWER8 Revision 2.0, dual socket, 160 threads Differential Revision: https://reviews.freebsd.org/D54855 Approved by: jhibbits --- sys/powerpc/aim/moea64_native.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/powerpc/aim/moea64_native.c b/sys/powerpc/aim/moea64_native.c index bf254e1f466c..20beccbdf935 100644 --- a/sys/powerpc/aim/moea64_native.c +++ b/sys/powerpc/aim/moea64_native.c @@ -565,6 +565,11 @@ moea64_bootstrap_native(vm_offset_t kernelstart, vm_offset_t kernelend) moea64_early_bootstrap(kernelstart, kernelend); switch (mfpvr() >> 16) { + case IBMPOWER8: + case IBMPOWER8E: + case IBMPOWER8NVL: + moea64_need_lock = false; + break; case IBMPOWER9: moea64_need_lock = false; break; From nobody Tue Jan 27 04:39: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 4f0Xkb33P2z6QC9N for ; Tue, 27 Jan 2026 04:39: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 4f0Xkb1HYmz46NG for ; Tue, 27 Jan 2026 04:39:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769488791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N64cJ7ozmfoW15J6iZvgSEMgV5/J7LkrtfJTmpEQBBw=; b=mwRCUNTRjwWAKeUnTYPBddx40TFAYkicvpIRO4uT6xNpAXk2HxDPPewiq6QTtCfmUSw6zb LyGxFsAhfYLMhcNL3hywVC7rY/nAobgrsEVbsQk/Nz0vDNnw0GnKQhMUBG8J97ZtEz82MF SWIszbCvUNFK3DM3QmcBRX6ORjxw2y2nULXA6XIurgOLWtQ5R0u1POw4VEtioyWC4IHZ1Z huLPgsMZ9zHALfaanQ6MxVbP0DzehdeJ9i2cDWdd1JynAcrWccqbK7inq8H51vyyNRtKf7 UJVyF9dsZaPJPFnIDjD2Y20r/i4ggPeURYcNebO6x11WYgCMOj6BgMJc8DlKEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769488791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N64cJ7ozmfoW15J6iZvgSEMgV5/J7LkrtfJTmpEQBBw=; b=ojYFckxf+i6o56bvfCfa57cqt/0o2cDXTIkAuOxnnLcmUD2mDlov82ISd7bEvypUhbGnv1 45Q9bgF7+CNoGCp9H/oeSXzu5BDeX+gyt6J00QdZfj85+CkGO/1wBXVFqn5A/NF+cVpBNQ asylr485LjPzzsrf0svkSM+66ETlhiJ308EiC7KtF42F2x9h4ZaUhKak3Na58GAzp+Vb7D 7zkR5XMbNyKiHT0ryiy1RWtfL1iHg0xIKIMl4HqI/19JFH8xhCuKuRme5WVnvDwL36n1UB P98Htj4Bzc53T4wgKEpBF/YGYFFHX2ByqK21bEdvEtPrdgGWbvZ1t4nBOAWm/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769488791; a=rsa-sha256; cv=none; b=A7pA8YDNV4ErnTmZ1Itm4uJVHK4RvEeIWVObTA449EWeHKQK6MNi1fDW4Qb/BDCepymCac meyspnm0gaS626l2QMkkE/Uu/6QbJZqlciJB3+4hSofVN1UsOZxWaXqeJLKYY8cFNcDz1C XF76b0CL38u4N3L73X7T1jefMWSVwgxwGPEAkm8oJodE+0wqLg4zlzl3F0Inhxt9R8emlZ jgk4kojs5GNs3cOjn8/Ig1uHP5z2TrTiO5sc5W50lXC304Of6relzGaNcpTQgO0kDxhCbj 6z0s8yIycCxXCHsjMX15pM1NtsteEM753fi+M4VXPujzKVvmLul9TDo+s642Hg== 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 4f0Xkb0BjYzsK3 for ; Tue, 27 Jan 2026 04:39:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b74c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 04:39:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 422c8719eab2 - main - powerpc: add a best-effort SMP time base sync for G5's that need it 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: 422c8719eab2b8a01b49f748a88dd372db25f888 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 04:39:46 +0000 Message-Id: <69784192.3b74c.645fa4cf@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=422c8719eab2b8a01b49f748a88dd372db25f888 commit 422c8719eab2b8a01b49f748a88dd372db25f888 Author: Adrian Chadd AuthorDate: 2026-01-20 02:38:43 +0000 Commit: Adrian Chadd CommitDate: 2026-01-27 04:38:23 +0000 powerpc: add a best-effort SMP time base sync for G5's that need it There's no timebase freeze platform routine registered on my dual 2.3GHz G5 PPC970FX Apple PowerMac. For platforms without an explicit timebase freeze/unfreeze, we'll have to make do with what we have - which for now is an explicit hand-crafted spinlock/rendezvous method. * For existing platforms, they'll still continue to clock freeze / rendezvous; albeit with some stronger atomic bits now (from jhibbits@.) * Instead of the fallback being "no timesync", implement a best-effort one which does a similar rendezvous barrier between BSP and APs, but instead of freeze/unfreeze the first instruction after the CPUs all register they're ready is to set the timebase. This has resulted in many reboots of my Powermac G5 dual-socket device correctly starting and running in SMP mode. Differential Revision: https://reviews.freebsd.org/D54821 Reviewed by: jhibbits --- sys/powerpc/powermac/platform_powermac.c | 99 +++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 9 deletions(-) diff --git a/sys/powerpc/powermac/platform_powermac.c b/sys/powerpc/powermac/platform_powermac.c index c63ef521ca8f..cbb2e212a00d 100644 --- a/sys/powerpc/powermac/platform_powermac.c +++ b/sys/powerpc/powermac/platform_powermac.c @@ -405,21 +405,88 @@ powermac_register_timebase(device_t dev, powermac_tb_disable_t cb) freeze_timebase = cb; } +/** + * @brief Implement a default platform AP/BSP SMP timebase synchronisation + * + * Some powermac platforms don't have a freeze/unfreeze method. + * Here just try our best to force synchronisation. + */ static void -powermac_smp_timebase_sync(platform_t plat, u_long tb, int ap) +powermac_smp_timebase_sync_fallback(platform_t plat, u_long tb, int ap) +{ + static volatile bool tb_ready = false; + static volatile int cpu_done; + + if (bootverbose) + printf("[%d] %s: called, AP tb=0x%lx tb=0x%lx\n", + ap, __func__, tb, mftb()); + + /* Do initial timebase sync */ + mttb(tb); + + if (ap) { + /* + * APs - wait until the BSP signals its ready to sync, + * then wait for all CPUs to be ready. + */ + critical_enter(); + while (!tb_ready) + atomic_thread_fence_seq_cst(); + atomic_add_int(&cpu_done, 1); + do { + atomic_thread_fence_seq_cst(); + } while (cpu_done < mp_ncpus); + mttb(tb); + critical_exit(); + } else { + /* + * BSP - signify that the timebase sync is about to start, + * then wait for other CPUs to be ready. + */ + critical_enter(); + /* Ensure cpu_done is zeroed so we can resync at runtime */ + atomic_store_int(&cpu_done, 0); + tb_ready = true; + atomic_add_int(&cpu_done, 1); + do { + atomic_thread_fence_seq_cst(); + } while (cpu_done < mp_ncpus); + mttb(tb); + /* Reset tb_ready so we can resync at runtime */ + tb_ready = false; + critical_exit(); + } + if (bootverbose) + printf("[%d] %s: finished; AP tb=0x%lx called tb=0x%lx\n", + ap, __func__, tb, mftb()); +} + +/** + * @brief Implement freeze/unfreeze AP/BSP SMP timebase synchronisation + * + * This implements SMP timebase synchronisation for hardware that + * implements freezing a shared timebase clock source. + * + * The BSP will freeze the timebase and signal the APs to program their + * local timebase with the shared timebase value. The BSP will then + * unfreeze the timebase clock, allowing all CPUs to march forward + * from the same base timebase value. + */ +static void +powermac_smp_timebase_sync_freeze(platform_t plat, u_long tb, int ap) { - static volatile bool tb_ready; + static volatile bool tb_ready = false; static volatile int cpu_done; + if (bootverbose) + printf("[%d] %s: called, AP tb=0x%lx tb=0x%lx\n", + ap, __func__, tb, mftb()); + /* - * XXX Temporary fallback for platforms we don't know how to freeze. - * * This needs to be replaced with a cpu-to-cpu software sync * protocol, because this is not a consistent way to sync timebase. */ mttb(tb); - if (freeze_timebase == dummy_timebase) - return; if (ap) { /* APs. Hold off until we get a stable timebase. */ @@ -428,25 +495,39 @@ powermac_smp_timebase_sync(platform_t plat, u_long tb, int ap) atomic_thread_fence_seq_cst(); mttb(tb); atomic_add_int(&cpu_done, 1); - while (cpu_done < mp_ncpus) + do { atomic_thread_fence_seq_cst(); + } while (cpu_done < mp_ncpus); critical_exit(); } else { /* BSP */ critical_enter(); /* Ensure cpu_done is zeroed so we can resync at runtime */ - atomic_set_int(&cpu_done, 0); + atomic_store_int(&cpu_done, 0); freeze_timebase(powermac_tb_dev, true); tb_ready = true; mttb(tb); atomic_add_int(&cpu_done, 1); - while (cpu_done < mp_ncpus) + do { atomic_thread_fence_seq_cst(); + } while (cpu_done < mp_ncpus); freeze_timebase(powermac_tb_dev, false); /* Reset tb_ready so we can resync at runtime */ tb_ready = false; critical_exit(); } + if (bootverbose) + printf("[%d] %s: finished; AP tb=0x%lx called tb=0x%lx\n", + ap, __func__, tb, mftb()); +} + +static void +powermac_smp_timebase_sync(platform_t plat, u_long tb, int ap) +{ + if (freeze_timebase == dummy_timebase) + powermac_smp_timebase_sync_fallback(plat, tb, ap); + else + powermac_smp_timebase_sync_freeze(plat, tb, ap); } /* Fallback freeze. In case no real handler is found in the device tree. */ From nobody Tue Jan 27 05:47: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 4f0ZFC3xHZz6QH3w for ; Tue, 27 Jan 2026 05:47: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 4f0ZFC0cRzz4D8q for ; Tue, 27 Jan 2026 05:47:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769492879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f/N4PN3hjaHEkSmVkPjvBFoTjKL95fQiJC1PE07lAyI=; b=pw5qq/+9gWwWIwXAydipNAkCLWdc6MBcpg3oapCXwKi4w0nqgIYwMveRWLqCHoMVoeWfJj qtflwjAKNClJ1H4yEwDGG9QcLQuwc39Q9y7KWoqFb+5Y15Tk875nE/dGRLqJJfzF7G5hyq ZEcntRwx6sephw5Hyr0s8sSJRPVzoRZ9WQxhFoWv8C3eiYsmBjSU6ggjMsHMqr8CrbIm/Y BJDEpuOrE0UuMpW+hMm31gw6SWdz13nGZbuYGeR6ginaQW7NFS1zBGV2PuvYUFl0UWq5oo KPgkGhkjaw6SVrCoTzqX+SnScSL0EwPtjCpkzsnQnhIh1h9eRyAFnFoWAmiS1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769492879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f/N4PN3hjaHEkSmVkPjvBFoTjKL95fQiJC1PE07lAyI=; b=rmPIlgnOOa4GakScxAg41oC2QqVyUKOVbwQeeNIK31D2JxFitLSfrPsDcZMC3ObuPu5sYe JxC5ekYzXL950iH5qOfc4M84aSGx+6xyv2XbnYA8zIoJHXd2WwyMMFfsmY539gdXxYSZVS pJEhpoG5TvdE8EXOFmHLXWT6+N4UDOGC7BlmPsRLwbpsBR1mAPjUOsjtgGUU79ITr4hsNW otSJZmBkCXMQzdyWhcBeBD0E7DJyGk+TMzZ6PXN0qXWo1eyx6iBI+IVcDhHNDlzgmiSf6p hJO5K3eVvLb9lEMOah+NTuVcjx1gwYE27D6m7Q/tJNmhm2LgVygq31CD9tO9lg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769492879; a=rsa-sha256; cv=none; b=KJK5jqSWxzuW9bdclozIGnMI+AwywyyAWUHK87RiU5ItRRvZmB6cN3cOGSvUhv/S+TUhcB p7PMokNeL3IJ3L4qL/i6ceIpaLtJruVxMf9SoodlCPftoVktuM3/sJUORJ4xK002mczpZU ntnJHITi0Lio2Uxvf6tR9atm6o7Ak92ksgSP+bmhPWK7ESycPgSMvkouqZg5I4e0zgPRn4 ed4764/W1kmIvZwCmE8Z5sJb6veqg+ggUorb5DQ9iQcUbdKD7OlVdVcgHKCX43quRxiUWI L2taQeoWHDukm/4NQ2pUrOotg/vvkkCzIMQUDTqHW4mj0DNL4cTOaDmPehhY9g== 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 4f0ZFB5BFXzv59 for ; Tue, 27 Jan 2026 05:47:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4351c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 05:47:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 77d71f5f36cc - main - cxgbe(4): Fix netmap rx behavior with nm_split_rss 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: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77d71f5f36cc01e7fc2ca0828af00a4478bbf53c Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 05:47:58 +0000 Message-Id: <6978518e.4351c.2205cafd@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=77d71f5f36cc01e7fc2ca0828af00a4478bbf53c commit 77d71f5f36cc01e7fc2ca0828af00a4478bbf53c Author: Navdeep Parhar AuthorDate: 2026-01-27 01:03:05 +0000 Commit: Navdeep Parhar CommitDate: 2026-01-27 05:45:50 +0000 cxgbe(4): Fix netmap rx behavior with nm_split_rss The driver should look for active queues and one potential default-queue in both halves of the split instead of stopping at the first valid default-queue. Fixes: a9f476580eb0 cxgbe(4): fixes for netmap operation with only some queues active MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_netmap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/cxgbe/t4_netmap.c b/sys/dev/cxgbe/t4_netmap.c index 0135bec6e2c1..a858867239c6 100644 --- a/sys/dev/cxgbe/t4_netmap.c +++ b/sys/dev/cxgbe/t4_netmap.c @@ -606,10 +606,8 @@ cxgbe_netmap_split_rss(struct adapter *sc, struct vi_info *vi, (nm_state == NM_OFF && nm_kring_pending_on(kring))) { MPASS(nm_rxq->iq_cntxt_id != INVALID_NM_RXQ_CNTXT_ID); nactive[j]++; - if (dq[j] == -1) { + if (dq[j] == -1) dq[j] = nm_rxq->iq_abs_id; - break; - } } } From nobody Tue Jan 27 12:16: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 4f0ksM2z2Rz6Pkh0 for ; Tue, 27 Jan 2026 12:16: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 4f0ksM13Lsz3Zmq for ; Tue, 27 Jan 2026 12:16:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516183; 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=VlxCT5nsdkExwa/AwHUf+Zv89oImgk9dDFTz/BxbENg=; b=C/987P75zA5rgABXhfz6LCZjtD34u1YKSVQQtNrT3FW4uSstD1CIWH7KY4mNkZTIk8j19p Wdr01dujeg6lHS+nnLOYZTnSTCG/w3tuNCyX9XGHxsf7NIeUWkWvTFpnTaRrSKAg/5+NU9 OZerg1VK7FEdojxuIf09n9qKJSGgoO164ps9s/5n06H4gEQu7FNqvpVT+wv3aFrRKEkCCr FMnu2R+9r8IIKFCvQtJnek270XK/5E2VzXc7FB/FlAi3Yl/7dNsky/BrhINfaqRyxCApt3 wqhzOxOi0VdjLMJP2ynZNA7NzBenwccEpTrg0Yidt1OtmbIjZcRLWFI57s8f/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516183; 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=VlxCT5nsdkExwa/AwHUf+Zv89oImgk9dDFTz/BxbENg=; b=Rj8KXR2dF6bBStclaFEH7qqxd6jQtBFTSUQIwAcWNMNGh77C77UUHCa9nqJA7YopYxABHr VbVc4ic4wsknvYI/T517ROmLSc3bo1YYuVv97BMqy6PD8wLfZ/VuThR7kfxJmPXp4NMw11 eaglAf4xcQpQ8kyPrIhI4dOLF1fD4LLaD3ZgcJd3aJTBWvzabGxDxlVi1AS8hKUAy0QfMk qaWIbWRwuhL/avQThKd0HXTYWNXF9yOL1eS56Fe0cvLjbeznkMS2CRrufz+rE7hqEskpxp iXSiSgzm1j9acvvyAEJTcrhA9ElH2DTNpZaxkFxvcDYBSpKPQo4LnD2o/G1fPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769516183; a=rsa-sha256; cv=none; b=J7JTZMPhi8N+UZDm4JWZfqRpw3XK5gh4fQdT0NNSwyqphiJPeb3OE1IAb82Jnshnv990MS OZBfbcsnNKDXgV4YqUEwdBy6KDhJxcP+wAYIx7K2DyyesEoQxNWRnU3T8c/oabAp6QQt2f tOeb+dpQB4fj6+988SYWXUxoNrYnlE4oheKKc5v++ce+TUbBvdAnbXluOX0F8nI3+xLDby fObWT4hp9kl39+FUYftcW2kvB1rvGu0BPUhfx6NFzo9fQz3bPxNbCL07UNHt78ySHkmXOD u495KuEakZaWJNt7IlDnBTGuQ9aG8nMc0CjDSmf9TGd8qlS9sPZDya4cJPo+wA== 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 4f0ksM0LXyz15sM for ; Tue, 27 Jan 2026 12:16:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9ad1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 12:16:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sreekanth Reddy From: Sumit Saxena Subject: git: 92ba9b2fe589 - main - bnxt_re/libbnxtre: Add RoCE support for BCM576xx controllers 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: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92ba9b2fe58910b1d2cd6cd34b5ec093f0d9f700 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 12:16:23 +0000 Message-Id: <6978ac97.9ad1.6f7163b1@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=92ba9b2fe58910b1d2cd6cd34b5ec093f0d9f700 commit 92ba9b2fe58910b1d2cd6cd34b5ec093f0d9f700 Author: Sreekanth Reddy AuthorDate: 2026-01-23 16:27:22 +0000 Commit: Sumit Saxena CommitDate: 2026-01-27 12:10:42 +0000 bnxt_re/libbnxtre: Add RoCE support for BCM576xx controllers Added RoCE support for BCM576xx controllers with below changes, 1. Update the BAR offsets for handling BCM576xx controllers. Use the values populated by the L2 driver for getting the Doorbell offsets. 2. Use msn index instead of tail to pull psn table entry. 3. Temporarily disable dbr pacing feature untill it is fully implemented. 4. Add support for 400G speed. Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D54521 MFC after: 3 days --- contrib/ofed/libbnxtre/abi.h | 1 + contrib/ofed/libbnxtre/db.c | 9 +++++++-- contrib/ofed/libbnxtre/main.h | 1 + contrib/ofed/libbnxtre/verbs.c | 13 +++++++++++-- sys/dev/bnxt/bnxt_en/bnxt.h | 1 + sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 2 ++ sys/dev/bnxt/bnxt_en/bnxt_ulp.c | 3 ++- sys/dev/bnxt/bnxt_en/bnxt_ulp.h | 3 +++ sys/dev/bnxt/bnxt_re/ib_verbs.c | 19 +++++++++++-------- sys/dev/bnxt/bnxt_re/ib_verbs.h | 8 ++++++++ sys/dev/bnxt/bnxt_re/main.c | 37 +++++++++++++++++++++--------------- sys/dev/bnxt/bnxt_re/qplib_fp.c | 41 +++++++++++++++++++++++++++++----------- sys/dev/bnxt/bnxt_re/qplib_fp.h | 1 + sys/dev/bnxt/bnxt_re/qplib_res.c | 3 ++- sys/dev/bnxt/bnxt_re/qplib_res.h | 12 +++++++++--- sys/dev/bnxt/bnxt_re/qplib_sp.c | 1 + sys/dev/bnxt/bnxt_re/qplib_sp.h | 1 + 17 files changed, 113 insertions(+), 43 deletions(-) diff --git a/contrib/ofed/libbnxtre/abi.h b/contrib/ofed/libbnxtre/abi.h index 390605edb40b..e3533c122688 100644 --- a/contrib/ofed/libbnxtre/abi.h +++ b/contrib/ofed/libbnxtre/abi.h @@ -529,6 +529,7 @@ struct bnxt_re_srq_req { struct bnxt_re_srq_resp { struct ibv_create_srq_resp resp; __u32 srqid; + __u64 srq_page; } __attribute__((packed)); struct bnxt_re_srqe { diff --git a/contrib/ofed/libbnxtre/db.c b/contrib/ofed/libbnxtre/db.c index 8751297c9218..3d416795679c 100644 --- a/contrib/ofed/libbnxtre/db.c +++ b/contrib/ofed/libbnxtre/db.c @@ -38,7 +38,7 @@ #define BNXT_RE_MAX_FIFO_DEPTH_P5 0x2c00 #define BNXT_RE_DB_FIFO_ROOM_MASK_P7 0x3FFF8000 -#define BNXT_RE_MAX_FIFO_DEPTH_P7 0x8000 +#define BNXT_RE_MAX_FIFO_DEPTH_P7 0x7fff #define BNXT_RE_DB_FIFO_ROOM_SHIFT 15 #define BNXT_RE_DB_THRESHOLD 20 @@ -248,10 +248,15 @@ void bnxt_re_ring_srq_db(struct bnxt_re_srq *srq) void bnxt_re_ring_srq_arm(struct bnxt_re_srq *srq) { struct bnxt_re_db_hdr hdr; + uint32_t toggle = 0; + + if (srq->srq_page) + toggle = *(uint32_t *)srq->srq_page; if (bnxt_re_do_pacing(srq->uctx, &srq->rand)) return; - bnxt_re_init_db_hdr(&hdr, srq->cap.srq_limit, 0, srq->srqid, + bnxt_re_init_db_hdr(&hdr, srq->cap.srq_limit, + toggle << BNXT_RE_DB_TOGGLE_SHIFT, srq->srqid, BNXT_RE_QUE_TYPE_SRQ_ARM); bnxt_re_ring_db(srq->udpi, hdr.typ_qid_indx, &srq->shadow_db_key, &srq->dbr_lock); diff --git a/contrib/ofed/libbnxtre/main.h b/contrib/ofed/libbnxtre/main.h index ea258de22abd..06ed4647d68e 100644 --- a/contrib/ofed/libbnxtre/main.h +++ b/contrib/ofed/libbnxtre/main.h @@ -189,6 +189,7 @@ struct bnxt_re_srq { struct xorshift32_state rand; uint8_t dbr_lock; bool arm_req; + void *srq_page; }; struct bnxt_re_joint_queue { diff --git a/contrib/ofed/libbnxtre/verbs.c b/contrib/ofed/libbnxtre/verbs.c index 7054af34b0c7..320b374abe7e 100644 --- a/contrib/ofed/libbnxtre/verbs.c +++ b/contrib/ofed/libbnxtre/verbs.c @@ -342,9 +342,9 @@ struct ibv_cq *_bnxt_re_create_cq(struct ibv_context *ibvctx, int ncqe, } if (resp.comp_mask & BNXT_RE_COMP_MASK_CQ_HAS_CQ_PAGE) { - cq->cq_page = mmap(NULL, dev->pg_size, PROT_WRITE, MAP_SHARED, + cq->cq_page = mmap(NULL, dev->pg_size, PROT_READ | PROT_WRITE, MAP_SHARED, ibvctx->cmd_fd, resp.cq_page); - if (!cq->cq_page) + if (cq->cq_page == MAP_FAILED) fprintf(stderr, DEV "Valid cq_page not mapped\n"); } @@ -2347,6 +2347,13 @@ struct ibv_srq *bnxt_re_create_srq(struct ibv_pd *ibvpd, goto fail; srq->srqid = resp.srqid; + if (resp.srq_page) { + srq->srq_page = mmap(NULL, uctx->rdev->pg_size, PROT_READ, MAP_SHARED, + ibvpd->context->cmd_fd, resp.srq_page); + if (srq->srq_page == MAP_FAILED) + srq->srq_page = NULL; + } + srq->udpi = &uctx->udpi; srq->cap.max_wr = srq->srqq->depth; srq->cap.max_sge = attr->attr.max_sge; @@ -2395,6 +2402,8 @@ int bnxt_re_destroy_srq(struct ibv_srq *ibvsrq) bnxt_re_list_del_node(&srq->dbnode, &srq->uctx->srq_dbr_res.head); pthread_spin_unlock(&srq->uctx->srq_dbr_res.lock); } + if (srq->srq_page) + munmap(srq->srq_page, srq->uctx->rdev->pg_size); ret = ibv_cmd_destroy_srq(ibvsrq); if (ret) { if (_is_db_drop_recovery_enable(srq->uctx)) { diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 0ba7b5723b91..78e98eb23beb 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1167,6 +1167,7 @@ struct bnxt_softc { struct iflib_dma_info def_nq_ring_mem; struct task def_cp_task; int db_size; + int db_offset; int legacy_db_size; struct bnxt_doorbell_ops db_ops; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 9e7f4614d9f9..3e5dc0bf4b6d 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1309,6 +1309,7 @@ bnxt_hwrm_func_qcfg(struct bnxt_softc *softc) goto end; softc->legacy_db_size = le16_to_cpu(resp->legacy_l2_db_size_kb) * 1024; + softc->db_offset = le16toh(resp->legacy_l2_db_size_kb) * 1024; if (BNXT_CHIP_P5(softc)) { if (BNXT_PF(softc)) @@ -1316,6 +1317,7 @@ bnxt_hwrm_func_qcfg(struct bnxt_softc *softc) else min_db_offset = DB_VF_OFFSET_P5; softc->legacy_db_size = min_db_offset; + softc->db_offset = min_db_offset; } softc->db_size = roundup2(le16_to_cpu(resp->l2_doorbell_bar_size_kb) * diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c index 3c1f62cb4da3..9950858f0eef 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c @@ -125,7 +125,7 @@ static void bnxt_fill_msix_vecs(struct bnxt_softc *bp, struct bnxt_msix_entry *e ent[i].vector = bp->irq_tbl[idx + i].vector; ent[i].ring_idx = idx + i; if (BNXT_CHIP_P5_PLUS(bp)) - ent[i].db_offset = DB_PF_OFFSET_P5; + ent[i].db_offset = bp->db_offset; else ent[i].db_offset = (idx + i) * 0x80; @@ -449,6 +449,7 @@ static inline void bnxt_set_edev_info(struct bnxt_en_dev *edev, struct bnxt_soft edev->pdev = bp->pdev; edev->softc = bp; edev->l2_db_size = bp->db_size; + edev->l2_db_offset = bp->db_offset; mtx_init(&bp->en_ops_lock, "Ethernet ops lock", NULL, MTX_DEF); if (bp->flags & BNXT_FLAG_ROCEV1_CAP) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h index 0108293046d7..bbf16304456a 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h @@ -94,6 +94,9 @@ struct bnxt_en_dev { #define BNXT_EN_MH(edev) ((edev)->flags & BNXT_EN_FLAG_MULTI_HOST) const struct bnxt_en_ops *en_ops; struct bnxt_ulp ulp_tbl[BNXT_MAX_ULP]; + int l2_db_offset; /* Doorbell BAR offset + * of non-cacheable. + */ int l2_db_size; /* Doorbell BAR size in * bytes mapped by L2 * driver. diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.c b/sys/dev/bnxt/bnxt_re/ib_verbs.c index 0383a16757aa..dba0f348c414 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.c +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.c @@ -276,6 +276,10 @@ static void __to_ib_speed_width(u32 espeed, u8 *speed, u8 *width) *speed = IB_SPEED_HDR; *width = IB_WIDTH_4X; break; + case SPEED_400000: + *speed = IB_SPEED_NDR; + *width = IB_WIDTH_4X; + break; default: *speed = IB_SPEED_SDR; *width = IB_WIDTH_1X; @@ -1666,23 +1670,24 @@ static int bnxt_re_init_user_qp(struct bnxt_re_dev *rdev, return rc; bytes = (qplib_qp->sq.max_wqe * qplib_qp->sq.wqe_size); + bytes = PAGE_ALIGN(bytes); /* Consider mapping PSN search memory only for RC QPs. */ if (qplib_qp->type == CMDQ_CREATE_QP_TYPE_RC) { psn_sz = _is_chip_gen_p5_p7(rdev->chip_ctx) ? sizeof(struct sq_psn_search_ext) : sizeof(struct sq_psn_search); - if (rdev->dev_attr && BNXT_RE_HW_RETX(rdev->dev_attr->dev_cap_flags)) + if (rdev->dev_attr && _is_host_msn_table(rdev->dev_attr->dev_cap_ext_flags2)) psn_sz = sizeof(struct sq_msn_search); psn_nume = (qplib_qp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) ? qplib_qp->sq.max_wqe : ((qplib_qp->sq.max_wqe * qplib_qp->sq.wqe_size) / sizeof(struct bnxt_qplib_sge)); - if (BNXT_RE_HW_RETX(rdev->dev_attr->dev_cap_flags)) + if (rdev->dev_attr && _is_host_msn_table(rdev->dev_attr->dev_cap_ext_flags2)) psn_nume = roundup_pow_of_two(psn_nume); bytes += (psn_nume * psn_sz); + bytes = PAGE_ALIGN(bytes); } - bytes = PAGE_ALIGN(bytes); umem = ib_umem_get_compat(rdev, context, udata, ureq.qpsva, bytes, IB_ACCESS_LOCAL_WRITE, 1); if (IS_ERR(umem)) { @@ -5294,11 +5299,9 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *uctx_in, } genp5 = _is_chip_gen_p5_p7(cctx); - if (BNXT_RE_ABI_VERSION > 5) { - resp.modes = genp5 ? cctx->modes.wqe_mode : 0; - if (rdev->dev_attr && BNXT_RE_HW_RETX(rdev->dev_attr->dev_cap_flags)) - resp.comp_mask = BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED; - } + resp.modes = genp5 ? cctx->modes.wqe_mode : 0; + if (rdev->dev_attr && _is_host_msn_table(rdev->dev_attr->dev_cap_ext_flags2)) + resp.comp_mask = BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED; resp.pg_size = PAGE_SIZE; resp.cqe_sz = sizeof(struct cq_base); diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.h b/sys/dev/bnxt/bnxt_re/ib_verbs.h index cb9f7974e92d..e8c840f8946a 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.h +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.h @@ -77,10 +77,18 @@ struct bnxt_re_dev; #define SPEED_200000 200000 #endif +#ifndef SPEED_400000 +#define SPEED_400000 400000 +#endif + #ifndef IB_SPEED_HDR #define IB_SPEED_HDR 64 #endif +#ifndef IB_SPEED_NDR +#define IB_SPEED_NDR 128 +#endif + #define RDMA_NETWORK_IPV4 1 #define RDMA_NETWORK_IPV6 2 diff --git a/sys/dev/bnxt/bnxt_re/main.c b/sys/dev/bnxt/bnxt_re/main.c index 3d26d21f3fc7..0e0cc32218bd 100644 --- a/sys/dev/bnxt/bnxt_re/main.c +++ b/sys/dev/bnxt/bnxt_re/main.c @@ -1411,12 +1411,14 @@ static void bnxt_re_set_db_offset(struct bnxt_re_dev *rdev) dev_info(rdev_to_dev(rdev), "Couldn't get DB bar size, Low latency framework is disabled\n"); /* set register offsets for both UC and WC */ - if (_is_chip_p7(cctx)) - res->dpi_tbl.ucreg.offset = offset; - else + if (_is_chip_p7(cctx)) { + res->dpi_tbl.ucreg.offset = en_dev->l2_db_offset; + res->dpi_tbl.wcreg.offset = en_dev->l2_db_size; + } else { res->dpi_tbl.ucreg.offset = res->is_vf ? BNXT_QPLIB_DBR_VF_DB_OFFSET : BNXT_QPLIB_DBR_PF_DB_OFFSET; - res->dpi_tbl.wcreg.offset = res->dpi_tbl.ucreg.offset; + res->dpi_tbl.wcreg.offset = res->dpi_tbl.ucreg.offset; + } /* If WC mapping is disabled by L2 driver then en_dev->l2_db_size * is equal to the DB-Bar actual size. This indicates that L2 @@ -3592,19 +3594,24 @@ static int bnxt_re_dev_init(struct bnxt_re_dev *rdev, u8 op_type, u8 wqe_mode) goto release_rtnl; } + set_bit(BNXT_RE_FLAG_NET_RING_ALLOC, &rdev->flags); + if (!rdev->chip_ctx) goto release_rtnl; - /* Program the NQ ID for DBQ notification */ - if (rdev->chip_ctx->modes.dbr_pacing_v0 || - bnxt_qplib_dbr_pacing_en(rdev->chip_ctx) || - bnxt_qplib_dbr_pacing_ext_en(rdev->chip_ctx)) { - rc = bnxt_re_initialize_dbr_pacing(rdev); - if (!rc) - rdev->dbr_pacing = true; - else - rdev->dbr_pacing = false; - dev_dbg(rdev_to_dev(rdev), "%s: initialize db pacing ret %d\n", - __func__, rc); + + if (!(_is_chip_p7(rdev->chip_ctx))) { + /* Program the NQ ID for DBQ notification */ + if (rdev->chip_ctx->modes.dbr_pacing_v0 || + bnxt_qplib_dbr_pacing_en(rdev->chip_ctx) || + bnxt_qplib_dbr_pacing_ext_en(rdev->chip_ctx)) { + rc = bnxt_re_initialize_dbr_pacing(rdev); + if (!rc) + rdev->dbr_pacing = true; + else + rdev->dbr_pacing = false; + dev_dbg(rdev_to_dev(rdev), "%s: initialize db pacing ret %d\n", + __func__, rc); + } } vec = rdev->nqr.msix_entries[BNXT_RE_AEQ_IDX].vector; diff --git a/sys/dev/bnxt/bnxt_re/qplib_fp.c b/sys/dev/bnxt/bnxt_re/qplib_fp.c index 3f1b02406f7f..d4b439b05588 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_fp.c +++ b/sys/dev/bnxt/bnxt_re/qplib_fp.c @@ -388,10 +388,14 @@ static void bnxt_qplib_service_nq(unsigned long data) struct bnxt_qplib_srq *srq; struct nq_srq_event *nqsrqe = (struct nq_srq_event *)nqe; + u8 toggle; q_handle = le32_to_cpu(nqsrqe->srq_handle_low); q_handle |= (u64)le32_to_cpu(nqsrqe->srq_handle_high) << 32; srq = (struct bnxt_qplib_srq *)q_handle; + toggle = (le16_to_cpu(nqe->info10_type) & NQ_CN_TOGGLE_MASK) + >> NQ_CN_TOGGLE_SFT; + srq->dbinfo.toggle = toggle; bnxt_qplib_armen_db(&srq->dbinfo, DBC_DBC_TYPE_SRQ_ARMENA); if (!nq->srqn_handler(nq, @@ -1075,8 +1079,11 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) u32 sqsz; qp->cctx = res->cctx; - if (res->dattr) + if (res->dattr) { qp->dev_cap_flags = res->dattr->dev_cap_flags; + qp->is_host_msn_tbl = _is_host_msn_table(res->dattr->dev_cap_ext_flags2); + } + /* General */ req.type = qp->type; req.dpi = cpu_to_le32(qp->dpi->dpi); @@ -1087,7 +1094,7 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) psn_sz = _is_chip_gen_p5_p7(qp->cctx) ? sizeof(struct sq_psn_search_ext) : sizeof(struct sq_psn_search); - if (BNXT_RE_HW_RETX(qp->dev_cap_flags)) { + if (qp->is_host_msn_tbl) { psn_sz = sizeof(struct sq_msn_search); qp->msn = 0; } @@ -1103,7 +1110,7 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) hwq_attr.aux_depth = (psn_sz) ? _set_sq_size(sq, qp->wqe_mode) : 0; /* Update msn tbl size */ - if (BNXT_RE_HW_RETX(qp->dev_cap_flags) && psn_sz) { + if (qp->is_host_msn_tbl && psn_sz) { if (qp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) hwq_attr.aux_depth = roundup_pow_of_two(_set_sq_size(sq, qp->wqe_mode)); else @@ -1131,8 +1138,7 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) req.sq_pg_size_sq_lvl = pg_sz_lvl; req.sq_fwo_sq_sge = cpu_to_le16(((0 << CMDQ_CREATE_QP_SQ_FWO_SFT) & CMDQ_CREATE_QP_SQ_FWO_MASK) | - ((BNXT_RE_HW_RETX(qp->dev_cap_flags)) ? - BNXT_MSN_TBLE_SGE : sq->max_sge & + (sq->max_sge & CMDQ_CREATE_QP_SQ_SGE_MASK)); req.scq_cid = cpu_to_le32(qp->scq->id); @@ -1764,7 +1770,7 @@ static void bnxt_qplib_fill_psn_search(struct bnxt_qplib_qp *qp, return; /* Handle MSN differently on cap flags */ - if (BNXT_RE_HW_RETX(qp->dev_cap_flags)) { + if (qp->is_host_msn_tbl) { bnxt_qplib_fill_msn_search(qp, wqe, swq); return; } @@ -1897,7 +1903,7 @@ static u16 _translate_q_full_delta(struct bnxt_qplib_q *que, u16 wqe_bytes) } static void bnxt_qplib_pull_psn_buff(struct bnxt_qplib_qp *qp, struct bnxt_qplib_q *sq, - struct bnxt_qplib_swq *swq, bool hw_retx) + struct bnxt_qplib_swq *swq, bool is_host_msn_tbl) { struct bnxt_qplib_hwq *sq_hwq; u32 pg_num, pg_indx; @@ -1909,8 +1915,11 @@ static void bnxt_qplib_pull_psn_buff(struct bnxt_qplib_qp *qp, struct bnxt_qplib return; tail = swq->slot_idx / sq->dbinfo.max_slot; - if (hw_retx) + if (is_host_msn_tbl) { + /* For HW retx use qp msn index */ + tail = qp->msn; tail %= qp->msn_tbl_sz; + } pg_num = (tail + sq_hwq->pad_pgofft) / (PAGE_SIZE / sq_hwq->pad_stride); pg_indx = (tail + sq_hwq->pad_pgofft) % (PAGE_SIZE / sq_hwq->pad_stride); buff = (void *)(sq_hwq->pad_pg[pg_num] + pg_indx * sq_hwq->pad_stride); @@ -1935,6 +1944,7 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, struct bnxt_qplib_swq *swq; bool sch_handler = false; u16 slots_needed; + bool msn_update; void *base_hdr; void *ext_hdr; __le32 temp32; @@ -1976,7 +1986,7 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, sw_prod = sq_hwq->prod; swq = bnxt_qplib_get_swqe(sq, &wqe_idx); swq->slot_idx = sw_prod; - bnxt_qplib_pull_psn_buff(qp, sq, swq, BNXT_RE_HW_RETX(qp->dev_cap_flags)); + bnxt_qplib_pull_psn_buff(qp, sq, swq, qp->is_host_msn_tbl); swq->wr_id = wqe->wr_id; swq->type = wqe->type; @@ -2010,6 +2020,9 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, wqe->num_sge, &sw_prod); if (data_len < 0) goto queue_err; + /* Make sure we update MSN table only for wired wqes */ + msn_update = true; + /* Specifics */ switch (wqe->type) { case BNXT_QPLIB_SWQE_TYPE_SEND: @@ -2064,6 +2077,7 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, ext_sqe->avid = cpu_to_le32(wqe->send.avid & SQ_SEND_AVID_MASK); sq->psn = (sq->psn + 1) & BTH_PSN_MASK; + msn_update = false; } else { sqe->length = cpu_to_le32(data_len); if (qp->mtu) @@ -2157,6 +2171,7 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, "\tflags = 0x%x\n" "\tinv_l_key = 0x%x\n", sqe->wqe_type, sqe->flags, sqe->inv_l_key); + msn_update = false; break; } case BNXT_QPLIB_SWQE_TYPE_FAST_REG_MR: @@ -2207,6 +2222,7 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, sqe->zero_based_page_size_log, sqe->l_key, *(u32 *)sqe->length, sqe->numlevels_pbl_page_size_log, ext_sqe->pblptr, ext_sqe->va); + msn_update = false; break; } case BNXT_QPLIB_SWQE_TYPE_BIND_MW: @@ -2236,6 +2252,7 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, sqe->wqe_type, sqe->flags, sqe->access_cntl, sqe->mw_type_zero_based, sqe->parent_l_key, sqe->l_key, sqe->va, ext_sqe->length_lo); + msn_update = false; break; } default: @@ -2243,8 +2260,10 @@ int bnxt_qplib_post_send(struct bnxt_qplib_qp *qp, rc = -EINVAL; goto done; } - swq->next_psn = sq->psn & BTH_PSN_MASK; - bnxt_qplib_fill_psn_search(qp, wqe, swq); + if (!qp->is_host_msn_tbl || msn_update) { + swq->next_psn = sq->psn & BTH_PSN_MASK; + bnxt_qplib_fill_psn_search(qp, wqe, swq); + } queue_err: bnxt_qplib_swq_mod_start(sq, wqe_idx); diff --git a/sys/dev/bnxt/bnxt_re/qplib_fp.h b/sys/dev/bnxt/bnxt_re/qplib_fp.h index 527c377f0aa5..fd2d8a08c818 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_fp.h +++ b/sys/dev/bnxt/bnxt_re/qplib_fp.h @@ -390,6 +390,7 @@ struct bnxt_qplib_qp { u32 msn_tbl_sz; /* get devflags in PI code */ u16 dev_cap_flags; + bool is_host_msn_tbl; }; diff --git a/sys/dev/bnxt/bnxt_re/qplib_res.c b/sys/dev/bnxt/bnxt_re/qplib_res.c index f527af031176..9051f4c9f2b7 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_res.c +++ b/sys/dev/bnxt/bnxt_re/qplib_res.c @@ -1139,7 +1139,8 @@ int bnxt_qplib_map_db_bar(struct bnxt_qplib_res *res) ucreg->bar_id = RCFW_DBR_PCI_BAR_REGION; ucreg->bar_base = pci_resource_start(res->pdev, ucreg->bar_id); - ucreg->offset = 65536; + if (_is_chip_gen_p5(res->cctx)) + ucreg->offset = 65536; ucreg->len = ucreg->offset + PAGE_SIZE; diff --git a/sys/dev/bnxt/bnxt_re/qplib_res.h b/sys/dev/bnxt/bnxt_re/qplib_res.h index 6468207a49aa..914694ee3b8c 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_res.h +++ b/sys/dev/bnxt/bnxt_re/qplib_res.h @@ -616,6 +616,12 @@ static inline bool _is_hw_retx_supported(u16 dev_cap_flags) /* Disable HW_RETX */ #define BNXT_RE_HW_RETX(a) _is_hw_retx_supported((a)) +static inline bool _is_host_msn_table(u16 dev_cap_ext_flags2) +{ + return (dev_cap_ext_flags2 & CREQ_QUERY_FUNC_RESP_SB_REQ_RETRANSMISSION_SUPPORT_MASK) == + CREQ_QUERY_FUNC_RESP_SB_REQ_RETRANSMISSION_SUPPORT_HOST_MSN_TABLE; +} + static inline bool _is_cqe_v2_supported(u16 dev_cap_flags) { return dev_cap_flags & @@ -650,7 +656,7 @@ static inline void bnxt_qplib_ring_db32(struct bnxt_qplib_db_info *info, #define BNXT_QPLIB_INIT_DBHDR(xid, type, indx, toggle) \ (((u64)(((xid) & DBC_DBC_XID_MASK) | DBC_DBC_PATH_ROCE | \ (type) | BNXT_QPLIB_DBR_VALID) << 32) | (indx) | \ - ((toggle) << (BNXT_QPLIB_DBR_TOGGLE_SHIFT))) + (((u32)(toggle)) << (BNXT_QPLIB_DBR_TOGGLE_SHIFT))) static inline void bnxt_qplib_write_db(struct bnxt_qplib_db_info *info, u64 key, void __iomem *db, @@ -724,7 +730,7 @@ static inline void bnxt_qplib_armen_db(struct bnxt_qplib_db_info *info, u64 key = 0; u8 toggle = 0; - if (type == DBC_DBC_TYPE_CQ_ARMENA) + if (type == DBC_DBC_TYPE_CQ_ARMENA || type == DBC_DBC_TYPE_SRQ_ARMENA) toggle = info->toggle; /* Index always at 0 */ key = BNXT_QPLIB_INIT_DBHDR(info->xid, type, 0, toggle); @@ -746,7 +752,7 @@ static inline void bnxt_qplib_srq_arm_db(struct bnxt_qplib_db_info *info) u64 key = 0; /* Index always at 0 */ - key = BNXT_QPLIB_INIT_DBHDR(info->xid, DBC_DBC_TYPE_SRQ_ARM, 0, 0); + key = BNXT_QPLIB_INIT_DBHDR(info->xid, DBC_DBC_TYPE_SRQ_ARM, 0, info->toggle); bnxt_qplib_write_db(info, key, info->priv_db, &info->shadow_key); } diff --git a/sys/dev/bnxt/bnxt_re/qplib_sp.c b/sys/dev/bnxt/bnxt_re/qplib_sp.c index c414718a816f..31a0878e421b 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_sp.c +++ b/sys/dev/bnxt/bnxt_re/qplib_sp.c @@ -185,6 +185,7 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) attr->page_size_cap = BIT_ULL(28) | BIT_ULL(21) | BIT_ULL(12); bnxt_qplib_query_version(rcfw, attr->fw_ver); + attr->dev_cap_ext_flags2 = le16_to_cpu(sb->dev_cap_ext_flags_2); for (i = 0; i < MAX_TQM_ALLOC_REQ / 4; i++) { temp = le32_to_cpu(sb->tqm_alloc_reqs[i]); diff --git a/sys/dev/bnxt/bnxt_re/qplib_sp.h b/sys/dev/bnxt/bnxt_re/qplib_sp.h index e306db3b9d8e..fa7dd890501c 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_sp.h +++ b/sys/dev/bnxt/bnxt_re/qplib_sp.h @@ -71,6 +71,7 @@ struct bnxt_qplib_dev_attr { u32 l2_db_size; u8 tqm_alloc_reqs[MAX_TQM_ALLOC_REQ]; u8 is_atomic; + u16 dev_cap_ext_flags2; u16 dev_cap_flags; u64 page_size_cap; u32 max_dpi; From nobody Tue Jan 27 12:16: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 4f0ksN4Mssz6Pkqj for ; Tue, 27 Jan 2026 12:16: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 4f0ksN2LVxz3Zk7 for ; Tue, 27 Jan 2026 12:16:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516184; 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=jpsM+OChJBv8CGafQM6hxKAWrphmnNP3CnL4yvSANNU=; b=f5BEO0ceibS0AP4xpuY5zbrUqIQc5A36a2fqA+JvOzTh847WV1ogJJ94gGuu5xUmmDASvr nLzy2gu0tCHjdw+meMCaoxi8uee104v+wWJzCjtoJ9UaALvsJY4ZIHSSX6kxhOHj/KJoA7 ATOfOKvFFidkcWvpobyJMwbzjj9iuIf6IPkqzV6W2+jWo1uegfl2Y5wOY7YnrundUNyXEl NDeqg1pEQ9QvSyGF9pdCmOjeo1bYYPZSQr3bVxOxbvBOeV3Z9eZdeHdJatqNtyKbfAZCqY LTeFTE1k0TpPOO9/yhbIU4+SOLNvKiK+vTfM4ROslw761YpmS4pV9n+OZ4TGMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516184; 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=jpsM+OChJBv8CGafQM6hxKAWrphmnNP3CnL4yvSANNU=; b=CLToOW0BWcUZstODnhRK0VOsFEywFfz1oDQssmjrkzYVB+VKF+heBQh6P9KjrDiyx2xV6L XIP9uv7qWW82I2IdbQtsDEHMT/TQPTiw5AUsVsk/xLARQNY6RoGBS58li8EkQAn38X4rvR I5HWny6Hg8pX6K5/CKqbCo9fYNPU2zDf2LCNQrbc41Q+n7TkQSarjZ4+4YQotTkLFRyqyU r+wmZ7ajHBgqk4HyddpiXUnM2ewmpSxg0eklFEiLdSoqhD/C2EPT82x9vgFwl3kdL0jhZO t0KMHGssZIJcoA6oBN4WN8MGIFoSiArCnEuXH8EOXzjxAwjXM+rxrBOVI3vs4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769516184; a=rsa-sha256; cv=none; b=mnXVMimLAhZMnMhZ/MhLOXOPti415MCeqaFufeWd2pYvZTaDsVC5tbfXDK9f+x+jJm3Z75 wLuIhNI7ROyeMrbogwDPHOboJeDIKD7avrsA8HA2ByNCOBPUGbjRd12U8rwTioCaXwPfbj Ufqxf4GnQ5TyB1pzp3RHkM9ghD/Zojk3//c1h2UBBEKg+Dr2YIhcuT7OkFEHX6ZiU/DCm2 7ZFKi2mEwFqw1NZUX1G4wVzaeQKEX8TRWGmFuliPNPG1xt3xqdmIIkZUP85EwLCtCD6NqL CCbWsZ2ITkQCWB4bsDoS6z6Gqyuls0qkMvV9l6+wPWr7qZ2wacEZq17Gu/hpqQ== 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 4f0ksN1nc7z15dc for ; Tue, 27 Jan 2026 12:16:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9c3f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 12:16:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sreekanth Reddy From: Sumit Saxena Subject: git: 913e454f3061 - main - bnxt_en/re: Use FW defined resource limit for RoCE 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: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 913e454f306124c83797bfa71681dcdf806532c6 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 12:16:24 +0000 Message-Id: <6978ac98.9c3f.5d743731@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=913e454f306124c83797bfa71681dcdf806532c6 commit 913e454f306124c83797bfa71681dcdf806532c6 Author: Sreekanth Reddy AuthorDate: 2026-01-23 16:32:51 +0000 Commit: Sumit Saxena CommitDate: 2026-01-27 12:11:41 +0000 bnxt_en/re: Use FW defined resource limit for RoCE Check FW flags for status of Resource Limits. If bit FUNC_QCAPS_RESP_FLAGS_EXT2_SW_MAX_RESOURCE_LIMITS_SUPPORTED is set, that means FW set the resource limit for L2 and RoCE. We'll then do the following: L2 driver would allocate context memory based on what FW reported. RoCE driver uses FW reported values without capping. These values are the total FW reported value minus L2 and other components shares. For example: FW reported max_qps = 137217 in L2 query, this includes: 5120 for L2 1025 for QP1 131072 for RoCE L2 will allocate backing store memory for the total. In RoCE query, we'll get max_qp = 131072 and use it without further capping. Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D54522 MFC after: 3 days --- sys/dev/bnxt/bnxt_en/bnxt.h | 4 ++++ sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 3 +++ sys/dev/bnxt/bnxt_en/bnxt_ulp.c | 2 ++ sys/dev/bnxt/bnxt_en/bnxt_ulp.h | 2 ++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 9 +++++++-- sys/dev/bnxt/bnxt_re/qplib_res.h | 7 +++++++ sys/dev/bnxt/bnxt_re/qplib_sp.c | 31 +++++++++++++++++-------------- 7 files changed, 42 insertions(+), 16 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 78e98eb23beb..dc2ea1fdc09e 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1250,6 +1250,10 @@ struct bnxt_softc { #define BNXT_FW_CAP_CFA_NTUPLE_RX_EXT_IP_PROTO BIT_ULL(47) #define BNXT_FW_CAP_ENABLE_RDMA_SRIOV BIT_ULL(48) #define BNXT_FW_CAP_RSS_TCAM BIT_ULL(49) + + #define BNXT_FW_CAP_SW_MAX_RESOURCE_LIMITS BIT_ULL(61) + #define BNXT_SW_RES_LMT(bp) ((bp)->fw_cap & BNXT_FW_CAP_SW_MAX_RESOURCE_LIMITS) + uint32_t lpi_tmr_lo; uint32_t lpi_tmr_hi; /* copied from flags and flags2 in hwrm_port_phy_qcaps_output */ diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 3e5dc0bf4b6d..e540cc74578d 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1218,6 +1218,9 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc *softc) flags_ext & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT_DBR_PACING_SUPPORTED) softc->fw_cap |= BNXT_FW_CAP_DBR_PACING_SUPPORTED; + if (flags_ext2 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_SW_MAX_RESOURCE_LIMITS_SUPPORTED) + softc->fw_cap |= BNXT_FW_CAP_SW_MAX_RESOURCE_LIMITS; + if (flags_ext2 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_GENERIC_STATS_SUPPORTED) softc->fw_cap |= BNXT_FW_CAP_GENERIC_STATS; func->fw_fid = le16toh(resp->fid); diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c index 9950858f0eef..677c9c99b74e 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c @@ -458,6 +458,8 @@ static inline void bnxt_set_edev_info(struct bnxt_en_dev *edev, struct bnxt_soft edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; if (bp->is_asym_q) edev->flags |= BNXT_EN_FLAG_ASYM_Q; + if (BNXT_SW_RES_LMT(bp)) + edev->flags |= BNXT_EN_FLAG_SW_RES_LMT; edev->hwrm_bar = bp->hwrm_bar; edev->port_partition_type = bp->port_partition_type; edev->ulp_version = BNXT_ULP_VERSION; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h index bbf16304456a..04c3f558fd20 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h @@ -90,8 +90,10 @@ struct bnxt_en_dev { #define BNXT_EN_FLAG_ULP_STOPPED 0x8 #define BNXT_EN_FLAG_ASYM_Q 0x10 #define BNXT_EN_FLAG_MULTI_HOST 0x20 + #define BNXT_EN_FLAG_SW_RES_LMT 0x400 #define BNXT_EN_ASYM_Q(edev) ((edev)->flags & BNXT_EN_FLAG_ASYM_Q) #define BNXT_EN_MH(edev) ((edev)->flags & BNXT_EN_FLAG_MULTI_HOST) +#define BNXT_EN_SW_RES_LMT(edev) ((edev)->flags & BNXT_EN_FLAG_SW_RES_LMT) const struct bnxt_en_ops *en_ops; struct bnxt_ulp ulp_tbl[BNXT_MAX_ULP]; int l2_db_offset; /* Doorbell BAR offset diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index a34bd1a7e511..af6a4c7b01c1 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -1198,8 +1198,13 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) max_srqs = ctxm->max_entries; if (softc->flags & BNXT_FLAG_ROCE_CAP) { pg_lvl = 2; - extra_qps = min_t(u32, 65536, max_qps - l2_qps - qp1_qps); - extra_srqs = min_t(u32, 8192, max_srqs - srqs); + if (BNXT_SW_RES_LMT(softc)) { + extra_qps = max_qps - l2_qps - qp1_qps; + extra_srqs = max_srqs - srqs; + } else { + extra_qps = min_t(uint32_t, 65536, max_qps - l2_qps - qp1_qps); + extra_srqs = min_t(uint32_t, 8192, max_srqs - srqs); + } } ctxm = &ctx->ctx_arr[BNXT_CTX_QP]; diff --git a/sys/dev/bnxt/bnxt_re/qplib_res.h b/sys/dev/bnxt/bnxt_re/qplib_res.h index 914694ee3b8c..59a8a43ecef6 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_res.h +++ b/sys/dev/bnxt/bnxt_re/qplib_res.h @@ -843,4 +843,11 @@ static inline void bnxt_qplib_max_res_supported(struct bnxt_qplib_chip_ctx *cctx break; } } + +static inline u32 bnxt_re_cap_fw_res(u32 fw_val, u32 drv_cap, bool sw_max_en) +{ + if (sw_max_en) + return fw_val; + return min_t(u32, fw_val, drv_cap); +} #endif diff --git a/sys/dev/bnxt/bnxt_re/qplib_sp.c b/sys/dev/bnxt/bnxt_re/qplib_sp.c index 31a0878e421b..8c382c7a645a 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_sp.c +++ b/sys/dev/bnxt/bnxt_re/qplib_sp.c @@ -40,6 +40,7 @@ #include "qplib_res.h" #include "qplib_rcfw.h" #include "qplib_sp.h" +#include "bnxt_ulp.h" const struct bnxt_qplib_gid bnxt_qplib_gid_zero = {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }}; @@ -79,6 +80,7 @@ static void bnxt_qplib_query_version(struct bnxt_qplib_rcfw *rcfw, char *fw_ver) int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) { + struct bnxt_qplib_max_res dev_res = {}; struct creq_query_func_resp resp = {}; struct bnxt_qplib_cmdqmsg msg = {}; struct creq_query_func_resp_sb *sb; @@ -86,10 +88,10 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) struct bnxt_qplib_dev_attr *attr; struct bnxt_qplib_chip_ctx *cctx; struct cmdq_query_func req = {}; + bool sw_max_en; u8 *tqm_alloc; int i, rc = 0; u32 temp; - u8 chip_gen = BNXT_RE_DEFAULT; cctx = rcfw->res->cctx; attr = rcfw->res->dattr; @@ -110,10 +112,11 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) rc = bnxt_qplib_rcfw_send_message(rcfw, &msg); if (rc) goto bail; + bnxt_qplib_max_res_supported(cctx, rcfw->res, &dev_res, false); + sw_max_en = BNXT_EN_SW_RES_LMT(rcfw->res->en_dev); /* Extract the context from the side buffer */ - chip_gen = _get_chip_gen_p5_type(cctx); - attr->max_qp = le32_to_cpu(sb->max_qp); - attr->max_qp = min_t(u32, attr->max_qp, BNXT_RE_MAX_QP_SUPPORTED(chip_gen)); + attr->max_qp = bnxt_re_cap_fw_res(le32_to_cpu(sb->max_qp), + dev_res.max_qp, sw_max_en); /* max_qp value reported by FW does not include the QP1 */ attr->max_qp += 1; attr->max_qp_rd_atom = @@ -142,29 +145,29 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) if (_is_chip_gen_p5_p7(cctx) && cctx->modes.wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE) attr->max_qp_sges = sb->max_sge_var_wqe; - attr->max_cq = le32_to_cpu(sb->max_cq); - attr->max_cq = min_t(u32, attr->max_cq, BNXT_RE_MAX_CQ_SUPPORTED(chip_gen)); + attr->max_cq = bnxt_re_cap_fw_res(le32_to_cpu(sb->max_cq), + dev_res.max_cq, sw_max_en); attr->max_cq_wqes = le32_to_cpu(sb->max_cqe); attr->max_cq_wqes = min_t(u32, BNXT_QPLIB_MAX_CQ_WQES, attr->max_cq_wqes); attr->max_cq_sges = attr->max_qp_sges; - attr->max_mr = le32_to_cpu(sb->max_mr); - attr->max_mr = min_t(u32, attr->max_mr, BNXT_RE_MAX_MRW_SUPPORTED(chip_gen)); - attr->max_mw = le32_to_cpu(sb->max_mw); - attr->max_mw = min_t(u32, attr->max_mw, BNXT_RE_MAX_MRW_SUPPORTED(chip_gen)); + attr->max_mr = bnxt_re_cap_fw_res(le32_to_cpu(sb->max_mr), + dev_res.max_mr, sw_max_en); + attr->max_mw = bnxt_re_cap_fw_res(le32_to_cpu(sb->max_mw), + dev_res.max_mr, sw_max_en); attr->max_mr_size = le64_to_cpu(sb->max_mr_size); attr->max_pd = BNXT_QPLIB_MAX_PD; attr->max_raw_ethy_qp = le32_to_cpu(sb->max_raw_eth_qp); - attr->max_ah = le32_to_cpu(sb->max_ah); - attr->max_ah = min_t(u32, attr->max_ah, BNXT_RE_MAX_AH_SUPPORTED(chip_gen)); + attr->max_ah = bnxt_re_cap_fw_res(le32_to_cpu(sb->max_ah), + dev_res.max_ah, sw_max_en); attr->max_fmr = le32_to_cpu(sb->max_fmr); attr->max_map_per_fmr = sb->max_map_per_fmr; - attr->max_srq = le16_to_cpu(sb->max_srq); - attr->max_srq = min_t(u32, attr->max_srq, BNXT_RE_MAX_SRQ_SUPPORTED(chip_gen)); + attr->max_srq = bnxt_re_cap_fw_res(le16_to_cpu(sb->max_srq), + dev_res.max_srq, sw_max_en); attr->max_srq_wqes = le32_to_cpu(sb->max_srq_wr) - 1; attr->max_srq_sges = sb->max_srq_sge; attr->max_pkey = 1; From nobody Tue Jan 27 12:16: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 4f0ksQ0wQGz6Pkp8 for ; Tue, 27 Jan 2026 12:16: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 4f0ksP2qt4z3b3S for ; Tue, 27 Jan 2026 12:16:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516185; 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=MpoIFTv7e5aFAmkS15bIAEweCspbOHDl8703wbQcflY=; b=CPWBN4001uBjpDZuLrDPdRzYh8oJXsGyuggea2sWfwTxLcW/Bh3yYzxqAELvc9tv046c9b mAXhMMdWAWxBlSnNA6U7ekCQwMi94L9Rf+SCVn/YyJpSpv5QFkACkwXw6BrST+1LDGgz8N +IMhW3SntKgYww7GhPpoSNAP0Q5GloJ2LXuUWUb9G+pPGGCdesNgzzpO8kX9YaTBPbArLn vSgVS+a322p9f9uAXMrmOYlejCg76UgnOzOXiDHBJrROaY6Gr75POExLfpneA/R/FlTWBM dqT/SiGBzb4MTJUSb66Zzh87bD/EZL57DCdcVJoRW01X4KLaL+HST6T2vgkvdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516185; 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=MpoIFTv7e5aFAmkS15bIAEweCspbOHDl8703wbQcflY=; b=JykrpTAw6g7uEJM20R/8xkwvQrp5a1q6ZjptaKaE6sbVIaIbWX6euVwV5X7TsNohDej17+ AhmLc3yh8wkAmBDOg1uvL8qOLI92PRvCFtOmSkne3mDZstigicu843ErOH6X/DQORZ2QHX p4LrI4gRBF2l1xNAJLxgh7txCQ2TfqBM7mSZtodY9DuU8z1s25WRW/UQZ9EcxDUNdrhDRt h0yHG2yhtitcqTROyCpLCIl+JT+X5OwRJsSqU3utkQYT0tvHsLXSas/C+4IgwAEleMYotT iuJzq7lHoOKKgf9G3y72rUugqMhxMLh5CDu+sC8MoeaO5lqhsK6DDmfY+M7sZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769516185; a=rsa-sha256; cv=none; b=ojJmpGyjBE0BfDXnW88o0pl1nI4pjctMmYIEbhdA1ehfthVTa22dywcPvsaHnQgkDcw0DQ eBpkZLMUEYAISURYNGrtwiVXBZqqXUp9V4wEOFr7CquNHO3qjkx5+TcW8KZUHH9Z3O5M7Q dneG2/kEHKSsmMI1AIhH0IVfxdqGr8mYm8S/5G9W1k8IsjiMkZQcEEiOdXp9GAbtcQgByB Sh5M9PQheiw1JxKLJIv1TPcxWwKg1y050U3NSCJZpjzc6xlnZ7QQUVJZyKE9fyq1X0Q/9I Tzb09njjhlsbXh13xDPMOPH0VMoD2ah9xMO2LA6aUCqx64Tfe39cORD+sDTb+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f0ksP23rWz15Y7 for ; Tue, 27 Jan 2026 12:16:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9f62 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 12:16:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sreekanth Reddy From: Sumit Saxena Subject: git: b7d6334df61a - main - bnxt_re: Fix active_speed value when two ports are aggregated 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: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7d6334df61a559e98191f90fd5e611e0d077def Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 12:16:25 +0000 Message-Id: <6978ac99.9f62.777de928@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=b7d6334df61a559e98191f90fd5e611e0d077def commit b7d6334df61a559e98191f90fd5e611e0d077def Author: Sreekanth Reddy AuthorDate: 2026-01-23 16:36:02 +0000 Commit: Sumit Saxena CommitDate: 2026-01-27 12:12:23 +0000 bnxt_re: Fix active_speed value when two ports are aggregated Currently driver is not considering the active_lanes while displaying the speed & width of port and hence it showing invalid active_speed and active_width values in the ibv_devinfo command output when two ports are aggregated at hardware level. Fixed the driver to consider the active_lanes while determining the active_speed & active_width values. Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D54523 MFC after: 3 days --- sys/dev/bnxt/bnxt_en/bnxt.h | 2 + sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 8 ++- sys/dev/bnxt/bnxt_en/bnxt_ulp.h | 1 + sys/dev/bnxt/bnxt_en/if_bnxt.c | 4 +- sys/dev/bnxt/bnxt_re/bnxt_re.h | 1 + sys/dev/bnxt/bnxt_re/ib_verbs.c | 104 +++++++++++++++++++++++++++++---------- sys/dev/bnxt/bnxt_re/ib_verbs.h | 12 +++++ sys/dev/bnxt/bnxt_re/main.c | 1 + 8 files changed, 103 insertions(+), 30 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index dc2ea1fdc09e..5556914fb61e 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -455,6 +455,7 @@ struct bnxt_link_info { uint16_t req_link_speed; uint8_t module_status; struct hwrm_port_phy_qcfg_output phy_qcfg_resp; + uint8_t active_lanes; }; enum bnxt_phy_type { @@ -1269,6 +1270,7 @@ struct bnxt_softc { #define BNXT_PHY_FL_NO_PAUSE (HWRM_PORT_PHY_QCAPS_OUTPUT_FLAGS2_PAUSE_UNSUPPORTED << 8) #define BNXT_PHY_FL_NO_PFC (HWRM_PORT_PHY_QCAPS_OUTPUT_FLAGS2_PFC_UNSUPPORTED << 8) #define BNXT_PHY_FL_BANK_SEL (HWRM_PORT_PHY_QCAPS_OUTPUT_FLAGS2_BANK_ADDR_SUPPORTED << 8) +#define BNXT_PHY_FL_SPEEDS2 (HWRM_PORT_PHY_QCAPS_OUTPUT_FLAGS2_SPEEDS2_SUPPORTED << 8) struct bnxt_aux_dev *aux_dev; struct net_device *net_dev; struct mtx en_ops_lock; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index e540cc74578d..2a79b418fe62 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -2917,10 +2917,14 @@ bnxt_hwrm_port_phy_qcfg(struct bnxt_softc *softc) } link_info->duplex_setting = resp->duplex_cfg; - if (link_info->phy_link_status == HWRM_PORT_PHY_QCFG_OUTPUT_LINK_LINK) + if (link_info->phy_link_status == HWRM_PORT_PHY_QCFG_OUTPUT_LINK_LINK) { link_info->link_speed = le16toh(resp->link_speed); - else + if (softc->phy_flags & BNXT_PHY_FL_SPEEDS2) + link_info->active_lanes = resp->active_lanes; + } else { link_info->link_speed = 0; + link_info->active_lanes = 0; + } link_info->force_link_speed = le16toh(resp->force_link_speed); link_info->auto_link_speeds = le16toh(resp->auto_link_speed); link_info->support_speeds = le16toh(resp->support_speeds); diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h index 04c3f558fd20..7d7ecbd2f536 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h @@ -126,6 +126,7 @@ struct bnxt_en_dev { struct bnxt_dbr *en_dbr; struct bnxt_bar_info hwrm_bar; u32 espeed; + uint8_t lanes; }; struct bnxt_en_ops { diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index af6a4c7b01c1..94775457b7e3 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -4794,9 +4794,11 @@ bnxt_report_link(struct bnxt_softc *softc) const char *duplex = NULL, *flow_ctrl = NULL; const char *signal_mode = ""; - if(softc->edev) + if(softc->edev) { softc->edev->espeed = bnxt_fw_to_ethtool_speed(link_info->link_speed); + softc->edev->lanes = link_info->active_lanes; + } if (link_info->link_up == link_info->last_link_up) { if (!link_info->link_up) diff --git a/sys/dev/bnxt/bnxt_re/bnxt_re.h b/sys/dev/bnxt/bnxt_re/bnxt_re.h index fe7a27f4e216..c0bc11e490b2 100644 --- a/sys/dev/bnxt/bnxt_re/bnxt_re.h +++ b/sys/dev/bnxt/bnxt_re/bnxt_re.h @@ -535,6 +535,7 @@ struct bnxt_re_dev { bool is_virtfn; u32 num_vfs; u32 espeed; + u8 lanes; /* * For storing the speed of slave interfaces. * Same as espeed when bond is not configured diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.c b/sys/dev/bnxt/bnxt_re/ib_verbs.c index dba0f348c414..37b77c5af909 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.c +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.c @@ -241,50 +241,99 @@ int bnxt_re_modify_device(struct ib_device *ibdev, return 0; } -static void __to_ib_speed_width(u32 espeed, u8 *speed, u8 *width) +static void __to_ib_speed_width(u32 espeed, u8 lanes, u8 *speed, u8 *width) { - switch (espeed) { - case SPEED_1000: - *speed = IB_SPEED_SDR; + if (!lanes) { + switch (espeed) { + case SPEED_1000: + *speed = IB_SPEED_SDR; + *width = IB_WIDTH_1X; + break; + case SPEED_10000: + *speed = IB_SPEED_QDR; + *width = IB_WIDTH_1X; + break; + case SPEED_20000: + *speed = IB_SPEED_DDR; + *width = IB_WIDTH_4X; + break; + case SPEED_25000: + *speed = IB_SPEED_EDR; + *width = IB_WIDTH_1X; + break; + case SPEED_40000: + *speed = IB_SPEED_QDR; + *width = IB_WIDTH_4X; + break; + case SPEED_50000: + *speed = IB_SPEED_EDR; + *width = IB_WIDTH_2X; + break; + case SPEED_100000: + *speed = IB_SPEED_EDR; + *width = IB_WIDTH_4X; + break; + case SPEED_200000: + *speed = IB_SPEED_HDR; + *width = IB_WIDTH_4X; + break; + case SPEED_400000: + *speed = IB_SPEED_NDR; + *width = IB_WIDTH_4X; + break; + default: + *speed = IB_SPEED_SDR; + *width = IB_WIDTH_1X; + break; + } + return; + } + + switch (lanes) { + case 1: *width = IB_WIDTH_1X; break; - case SPEED_10000: - *speed = IB_SPEED_QDR; - *width = IB_WIDTH_1X; + case 2: + *width = IB_WIDTH_2X; break; - case SPEED_20000: - *speed = IB_SPEED_DDR; + case 4: *width = IB_WIDTH_4X; break; - case SPEED_25000: - *speed = IB_SPEED_EDR; + case 8: + *width = IB_WIDTH_8X; + break; + case 12: + *width = IB_WIDTH_12X; + break; + default: *width = IB_WIDTH_1X; + } + + switch (espeed / lanes) { + case SPEED_2500: + *speed = IB_SPEED_SDR; break; - case SPEED_40000: - *speed = IB_SPEED_QDR; - *width = IB_WIDTH_4X; + case SPEED_5000: + *speed = IB_SPEED_DDR; break; - case SPEED_50000: - *speed = IB_SPEED_EDR; - *width = IB_WIDTH_2X; + case SPEED_10000: + *speed = IB_SPEED_FDR10; break; - case SPEED_100000: + case SPEED_14000: + *speed = IB_SPEED_FDR; + break; + case SPEED_25000: *speed = IB_SPEED_EDR; - *width = IB_WIDTH_4X; break; - case SPEED_200000: + case SPEED_50000: *speed = IB_SPEED_HDR; - *width = IB_WIDTH_4X; break; - case SPEED_400000: + case SPEED_100000: *speed = IB_SPEED_NDR; - *width = IB_WIDTH_4X; break; default: *speed = IB_SPEED_SDR; - *width = IB_WIDTH_1X; - break; - } + } } /* Port */ @@ -322,9 +371,10 @@ int bnxt_re_query_port(struct ib_device *ibdev, u8 port_num, port_attr->subnet_timeout = 0; port_attr->init_type_reply = 0; rdev->espeed = rdev->en_dev->espeed; + rdev->lanes = rdev->en_dev->lanes; if (test_bit(BNXT_RE_FLAG_IBDEV_REGISTERED, &rdev->flags)) - __to_ib_speed_width(rdev->espeed, &active_speed, + __to_ib_speed_width(rdev->espeed, rdev->lanes, &active_speed, &active_width); port_attr->active_speed = active_speed; diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.h b/sys/dev/bnxt/bnxt_re/ib_verbs.h index e8c840f8946a..f3b7f44c828d 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.h +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.h @@ -49,10 +49,22 @@ struct bnxt_re_dev; #define SPEED_1000 1000 #endif +#ifndef SPEED_2500 +#define SPEED_2500 2500 +#endif + +#ifndef SPEED_5000 +#define SPEED_5000 5000 +#endif + #ifndef SPEED_10000 #define SPEED_10000 10000 #endif +#ifndef SPEED_14000 +#define SPEED_14000 14000 +#endif + #ifndef SPEED_20000 #define SPEED_20000 20000 #endif diff --git a/sys/dev/bnxt/bnxt_re/main.c b/sys/dev/bnxt/bnxt_re/main.c index 0e0cc32218bd..eb21c770ca5f 100644 --- a/sys/dev/bnxt/bnxt_re/main.c +++ b/sys/dev/bnxt/bnxt_re/main.c @@ -3818,6 +3818,7 @@ static int bnxt_re_dev_reg(struct bnxt_re_dev **rdev, struct ifnet *netdev, void bnxt_re_get_link_speed(struct bnxt_re_dev *rdev) { rdev->espeed = rdev->en_dev->espeed; + rdev->lanes = rdev->en_dev->lanes; return; } From nobody Tue Jan 27 12:16: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 4f0ksQ6k0yz6Pkbf for ; Tue, 27 Jan 2026 12:16: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 4f0ksQ4vDNz3Zxc for ; Tue, 27 Jan 2026 12:16:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516186; 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=W7r9EQOhKwXnbBAskWu2d8+ehuJPUJp+o5CP0j6oz60=; b=o5AjLN9U1lHs0vjhGNvhscK68HSHRDo7HLFdHssMVdO/3InGsDBbeJ1+7e8Gwp8zxjvlQ1 Bro2Z9BivG76WF1ATepMjGfBqJLs0+XSJSdMlL02hvuu1ne36UXJRy0trfBxdAvwjoDJK6 GHGvYG8YaUWfCcRUHrgXDcq4s+rTZPJV091yJGDbsY1rJo0xhD3OU8j8rYPDuqqm/mFg8+ 5bTOiVvy9a/lp4LCDKQPTQZbgsy3QM/+YVRXkw4i0eXwO17E3VqfKZyfIQN23ZQxOXVE7q MATu+m4Da0sI6e3zr/J0ouFbIlc4shNsA42vc9DGvyaM0UDrhXtjBUcb2maiRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516186; 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=W7r9EQOhKwXnbBAskWu2d8+ehuJPUJp+o5CP0j6oz60=; b=JbyDL6pIilDCCrKw4M9GobbjrgxYxwf7feVWs2AJ3A1BgxFGlze86CKdAa4/n9lL4f+8Ic mxdfzVHXNN9jY23YM3OStNxn5WzXImNFwif4FzMenqhAJJTFdJWQix4TepzDbtHGHacnhS xKkQ1vQIPfWJuUCq9Fx4pVhoGCWBCZ++b6GtW+8K3c2db3y+PwO1bbrTEj6PU66loTQdGu E+qUWX+mws2iX2mC/Cu0/6Fmell5GKOsFCT54A6hpc5gMlr0RmG8pFN9L9Q9yWD8KxbuoW 45WLLhgqR0phL5TbiNMce6QhQSyKOROsXp7BJqf9m07F514sww+Tkj+TjEm1Mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769516186; a=rsa-sha256; cv=none; b=jEzGPWMERGcE501W7Fu7LMokUONG8FJQ+LQXZn/6SPMD1AOZUzkTkx1GBl2Jas13L79Vi1 kftVQwaD3u00eFAz1iaLCc3P+hKF/mWdWlQEaapPPM6F3d93Lu89SDui+eFavqTllERf1T 7EQ7XbWcH6uqDOSclbSeTZ439BR1GOq9mpjNkqeKSA2pE5h0AD4KrbUoqBkaND+HnRl2lf ERs63eApFcEmAwb1qapIH/BwcU02KClaBSTToru17WS6zJ8/rAHHdm3J2MOx43oea/SVAL dxPlgYXtOGC3JF9nZBrGbhv+hOMa3VPcmVk4aKEcIInS72KkIHo2ZTJ64/rjLw== 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 4f0ksQ2whxz15rV for ; Tue, 27 Jan 2026 12:16:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8a3c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 12:16:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sreekanth Reddy From: Sumit Saxena Subject: git: 3a9565c2a8e4 - main - bnxt_re: Add support to display board_id in ibv_devinfo output 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: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a9565c2a8e4f1b3da698bf6a8af5889dc4fefbd Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 12:16:26 +0000 Message-Id: <6978ac9a.8a3c.1a1bc4b0@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=3a9565c2a8e4f1b3da698bf6a8af5889dc4fefbd commit 3a9565c2a8e4f1b3da698bf6a8af5889dc4fefbd Author: Sreekanth Reddy AuthorDate: 2026-01-23 16:38:02 +0000 Commit: Sumit Saxena CommitDate: 2026-01-27 12:13:09 +0000 bnxt_re: Add support to display board_id in ibv_devinfo output Added support to display board_id in ibv_devinfo output. ibv_devinfo util reads the board_id from below sysctl attribute, so added this sysctl attribute. sys.class.infiniband.bnxt_reX.board_id Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D54524 MFC after: 3 days --- sys/dev/bnxt/bnxt_en/bnxt.h | 1 + sys/dev/bnxt/bnxt_en/bnxt_ulp.c | 1 + sys/dev/bnxt/bnxt_en/bnxt_ulp.h | 2 ++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 7 +++++++ sys/dev/bnxt/bnxt_re/main.c | 21 ++++++++++++++++++++- 5 files changed, 31 insertions(+), 1 deletion(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 5556914fb61e..64482a656e9d 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1340,6 +1340,7 @@ struct bnxt_softc { unsigned long fw_reset_timestamp; struct bnxt_fw_health *fw_health; + char board_partno[64]; }; struct bnxt_filter_info { diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c index 677c9c99b74e..c6d862a36a9a 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c @@ -463,6 +463,7 @@ static inline void bnxt_set_edev_info(struct bnxt_en_dev *edev, struct bnxt_soft edev->hwrm_bar = bp->hwrm_bar; edev->port_partition_type = bp->port_partition_type; edev->ulp_version = BNXT_ULP_VERSION; + memcpy(edev->board_part_number, bp->board_partno, BNXT_VPD_PN_FLD_LEN - 1); } int bnxt_rdma_aux_device_del(struct bnxt_softc *softc) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h index 7d7ecbd2f536..53bb51b07135 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.h +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.h @@ -127,6 +127,8 @@ struct bnxt_en_dev { struct bnxt_bar_info hwrm_bar; u32 espeed; uint8_t lanes; + #define BNXT_VPD_PN_FLD_LEN 32 + char board_part_number[BNXT_VPD_PN_FLD_LEN]; }; struct bnxt_en_ops { diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 94775457b7e3..dea6fd68181e 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -2674,6 +2674,13 @@ bnxt_attach_pre(if_ctx_t ctx) softc->state_bv = bit_alloc(BNXT_STATE_MAX, M_DEVBUF, M_WAITOK|M_ZERO); + if (BNXT_PF(softc)) { + const char *part_num; + + if (pci_get_vpd_readonly(softc->dev, "PN", &part_num) == 0) + snprintf(softc->board_partno, sizeof(softc->board_partno), "%s", part_num); + } + return (rc); failed: diff --git a/sys/dev/bnxt/bnxt_re/main.c b/sys/dev/bnxt/bnxt_re/main.c index eb21c770ca5f..dc68854157a0 100644 --- a/sys/dev/bnxt/bnxt_re/main.c +++ b/sys/dev/bnxt/bnxt_re/main.c @@ -2031,11 +2031,30 @@ static ssize_t show_hca(struct device *device, struct device_attribute *attr, return scnprintf(buf, PAGE_SIZE, "%s\n", rdev->ibdev.node_desc); } +static ssize_t show_board_id(struct device *device, struct device_attribute *attr, + char *buf) +{ + struct bnxt_re_dev *rdev = to_bnxt_re_dev(device, ibdev.dev); + char buffer[BNXT_VPD_PN_FLD_LEN] = {}; + + if (!rdev->is_virtfn) + memcpy(buffer, rdev->en_dev->board_part_number, + BNXT_VPD_PN_FLD_LEN - 1); + else + scnprintf(buffer, BNXT_VPD_PN_FLD_LEN, + "0x%x-VF", rdev->en_dev->pdev->device); + + return scnprintf(buf, PAGE_SIZE, "%s\n", buffer); +} + static DEVICE_ATTR(hw_rev, 0444, show_rev, NULL); static DEVICE_ATTR(hca_type, 0444, show_hca, NULL); +static DEVICE_ATTR(board_id, 0444, show_board_id, NULL); + static struct device_attribute *bnxt_re_attributes[] = { &dev_attr_hw_rev, - &dev_attr_hca_type + &dev_attr_hca_type, + &dev_attr_board_id }; int ib_register_device_compat(struct bnxt_re_dev *rdev) From nobody Tue Jan 27 12:16: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 4f0ksR70sFz6Pkqs for ; Tue, 27 Jan 2026 12:16: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 4f0ksR5qSwz3ZrS for ; Tue, 27 Jan 2026 12:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516187; 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=RMRiJa5oAGkMdzjQi5uNj6dfUJd93CIzMwcniSb1Btk=; b=G2Kwt3S4gLNG3yPy5O/J/7078/ln3pdKnwyeduyutRCEHeJdDumu3DL55jvA0UyftevUhr H+ytSfirPlmM6ykeVX+hsubUpmyqpG3uZnOAtLnnU617vP7Gfsed3E5sTXvTNjA9ilnZb5 31KBwIEqqW1X4+SiXZ3/Z2vHnRhPsNoKVAoeMzZuizJItH5CGSElnyYLW+MHWcCKTPG7jx 6MoExNkO5L606UfsC0Et6HLLzWcKAfpmNTWXsBRyUlgSSt8whKyGnSUCBV9C7wT0kQD5pd Gpi+R+4VpNUw9U4v4Ffq6xMhTEBGVuOdJHEDU7Op8tZjkMO/oa0Fyh/mEj7ODA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769516187; 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=RMRiJa5oAGkMdzjQi5uNj6dfUJd93CIzMwcniSb1Btk=; b=nfNLqMeLj7YkrA+938dY4QnSGIWOFb6pvwJFvfixRx17CyYq3lP3pWdq8XYtR/40BvcBKh ejtRQD8kGnGpiAaVIZTrLO8ggvybX335cHU4WYaAVOnTF8DuXR+WsOEpCfr7v/Qaaj5jUY 4i9+SLRU3OEakNXXLsKi3jCsxAkI/mDlGYcUsOigwGN7oysYUuCq4uWalJceulCorK1som Ik2FW6UsHd924nJLLPANufnjLQghwemCH6j6zHkYWhDvWqQgCF/NbJK1H40OU6Vigyfq2I fjVapNj7rNV06HgzyjAsGYFATBnIiVrtdp77u49pZtyZR2ZYgEwWiEgkO9HkZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769516187; a=rsa-sha256; cv=none; b=GOYPpGXLe0pEzQsPwgUS0LUu2C59Hg0W+j4ej+YeVnKLJ+LhM4ykksWAE+kFof2fLsmuQX csS7TmoJOK4kK860ueDgjhCyAz3pyMf1JUpRsBOy+q8YEWNK7avejfm9SAXzVv+LR6WyzF 8l0qN9POAYP9Uk20L+/IzOwvl68g5SSP9Nx3ErJqng+9QHUejCHKOP36iYDv7HLjx0yeQ3 73DFTkMUqoXgdqGVGmRXWdKs/nvwXtH8ue7aDFUmkyFfjkaJIXlhT23wCzRgl2SnLPsHmr 3WdaUOd+ZQHxdgGBQFINIJtWZivncgPxDljdjqisYvWTBxKjdXadAWKL3zERJQ== 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 4f0ksR3sRHz15bX for ; Tue, 27 Jan 2026 12:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a09c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 12:16:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sreekanth Reddy From: Sumit Saxena Subject: git: 823f158a0133 - main - bnxt_re/libbnxtre: Add support for Variable WQE on BCM576xx controllers 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: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 823f158a01330484f83f69c31d695035c607f8ee Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 12:16:27 +0000 Message-Id: <6978ac9b.a09c.2167ec96@gitrepo.freebsd.org> The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=823f158a01330484f83f69c31d695035c607f8ee commit 823f158a01330484f83f69c31d695035c607f8ee Author: Sreekanth Reddy AuthorDate: 2026-01-23 16:40:13 +0000 Commit: Sumit Saxena CommitDate: 2026-01-27 12:13:47 +0000 bnxt_re/libbnxtre: Add support for Variable WQE on BCM576xx controllers Variable size WQE means that each send Work Queue Entry to HW can use different WQE sizes as opposed to the static WQE size on the current devices. Set variable WQE mode for BCM576xx devices. Depth of the Queue will be a multiple of slot which is 16 bytes. The number of slots should be a multiple of 256 as per the HW requirement. Initialize the Software shadow queue to hold requests equal to the number of slots. Reviewed by: ssaxena Differential Revision: https://reviews.freebsd.org/D54525 MFC after: 3 days --- contrib/ofed/libbnxtre/abi.h | 10 ++- contrib/ofed/libbnxtre/main.c | 1 + contrib/ofed/libbnxtre/memory.h | 1 + contrib/ofed/libbnxtre/verbs.c | 31 +++++++--- sys/dev/bnxt/bnxt_re/bnxt_re-abi.h | 12 ++-- sys/dev/bnxt/bnxt_re/bnxt_re.h | 11 +++- sys/dev/bnxt/bnxt_re/ib_verbs.c | 123 +++++++++++++++++++++++-------------- sys/dev/bnxt/bnxt_re/ib_verbs.h | 5 ++ sys/dev/bnxt/bnxt_re/main.c | 20 +++--- sys/dev/bnxt/bnxt_re/qplib_fp.c | 74 +++++++++++++++++----- sys/dev/bnxt/bnxt_re/qplib_fp.h | 12 ++++ sys/dev/bnxt/bnxt_re/qplib_sp.c | 16 +++-- sys/dev/bnxt/bnxt_re/qplib_sp.h | 8 +++ 13 files changed, 227 insertions(+), 97 deletions(-) diff --git a/contrib/ofed/libbnxtre/abi.h b/contrib/ofed/libbnxtre/abi.h index e3533c122688..a729c16f4db9 100644 --- a/contrib/ofed/libbnxtre/abi.h +++ b/contrib/ofed/libbnxtre/abi.h @@ -46,7 +46,7 @@ #define __aligned_u64 __attribute__((aligned(8))) u64 -#define BNXT_RE_ABI_VERSION 6 +#define BNXT_RE_ABI_VERSION 7 #define BNXT_RE_MAX_INLINE_SIZE 0x60 #define BNXT_RE_MAX_INLINE_SIZE_VAR_WQE 0x1E0 #define BNXT_RE_MAX_PUSH_SIZE_VAR_WQE 0xD0 @@ -267,12 +267,14 @@ enum { BNXT_RE_COMP_MASK_UCNTX_MQP_EX_SUPPORTED = 0x8, BNXT_RE_COMP_MASK_UCNTX_DBR_PACING_ENABLED = 0x10, BNXT_RE_COMP_MASK_UCNTX_DBR_RECOVERY_ENABLED = 0x20, - BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED = 0x40 + BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED = 0x40, + BNXT_RE_COMP_MASK_UCNTX_CMASK_HAVE_MODE = 0x80 }; enum bnxt_re_req_to_drv { BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01, - BNXT_RE_COMP_MASK_REQ_UCNTX_RSVD_WQE = 0x02 + BNXT_RE_COMP_MASK_REQ_UCNTX_RSVD_WQE = 0x02, + BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT = 0x03 }; #define BNXT_RE_WQE_MODES_WQE_MODE_MASK 0x01 @@ -410,6 +412,8 @@ struct bnxt_re_qp_req { __u64 qpsva; __u64 qprva; __u64 qp_handle; + __u64 comp_mask; + __u32 sq_slots; } __attribute__((packed)); struct bnxt_re_qp_resp { diff --git a/contrib/ofed/libbnxtre/main.c b/contrib/ofed/libbnxtre/main.c index 8e1903688a53..ee08f891dd1e 100644 --- a/contrib/ofed/libbnxtre/main.c +++ b/contrib/ofed/libbnxtre/main.c @@ -297,6 +297,7 @@ int bnxt_re_init_context(struct verbs_device *vdev, struct ibv_context *ibvctx, req.comp_mask |= BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT; req.comp_mask |= BNXT_RE_COMP_MASK_REQ_UCNTX_RSVD_WQE; + req.comp_mask |= BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT; ret = ibv_cmd_get_context(ibvctx, &req.cmd, sizeof(req), &resp.resp, sizeof(resp)); diff --git a/contrib/ofed/libbnxtre/memory.h b/contrib/ofed/libbnxtre/memory.h index fe18f30ad1a5..875d10f3769f 100644 --- a/contrib/ofed/libbnxtre/memory.h +++ b/contrib/ofed/libbnxtre/memory.h @@ -51,6 +51,7 @@ struct bnxt_re_qattr { uint32_t nwr; uint32_t sz_ring; uint32_t sz_shad; + uint32_t sw_nwr; }; /* spin lock wrapper struct */ diff --git a/contrib/ofed/libbnxtre/verbs.c b/contrib/ofed/libbnxtre/verbs.c index 320b374abe7e..602d792a1ce0 100644 --- a/contrib/ofed/libbnxtre/verbs.c +++ b/contrib/ofed/libbnxtre/verbs.c @@ -1224,6 +1224,8 @@ static int bnxt_re_get_rq_slots(struct bnxt_re_dev *rdev, uint8_t qpmode, return slots; } +#define BNXT_VAR_MAX_SLOT_ALIGN 256 + static int bnxt_re_get_sq_slots(struct bnxt_re_dev *rdev, uint8_t qpmode, uint32_t nswr, uint32_t nsge, uint32_t ils, uint32_t *esize) @@ -1235,17 +1237,21 @@ static int bnxt_re_get_sq_slots(struct bnxt_re_dev *rdev, uint32_t ilsize; uint32_t hdr_sz; uint32_t slots; + uint32_t align; hdr_sz = bnxt_re_get_sqe_hdr_sz(); stride = sizeof(struct bnxt_re_sge); + align = hdr_sz; + if (qpmode == BNXT_RE_WQE_MODE_VARIABLE) + align = stride; max_wqesz = bnxt_re_calc_wqe_sz(rdev->devattr.max_sge); - ilsize = get_aligned(ils, hdr_sz); + ilsize = get_aligned(ils, align); wqe_size = bnxt_re_calc_wqe_sz(nsge); if (ilsize) { cal_ils = hdr_sz + ilsize; wqe_size = MAX(cal_ils, wqe_size); - wqe_size = get_aligned(wqe_size, hdr_sz); + wqe_size = get_aligned(wqe_size, align); } if (wqe_size > max_wqesz) return -EINVAL; @@ -1256,6 +1262,8 @@ static int bnxt_re_get_sq_slots(struct bnxt_re_dev *rdev, if (esize) *esize = wqe_size; slots = (nswr * wqe_size) / stride; + if (qpmode == BNXT_RE_WQE_MODE_VARIABLE) + slots = get_aligned(slots, BNXT_VAR_MAX_SLOT_ALIGN); return slots; } @@ -1288,11 +1296,15 @@ static int bnxt_re_get_sqmem_size(struct bnxt_re_context *cntx, qattr->nwr = nswr; qattr->slots = nslots; qattr->esize = esz; + if (mode) + qattr->sw_nwr = nslots; + else + qattr->sw_nwr = nswr; bytes = nslots * sizeof(struct bnxt_re_sge); /* ring */ bytes += npsn * bnxt_re_get_psne_size(cntx); /* psn */ qattr->sz_ring = get_aligned(bytes, cntx->rdev->pg_size); - qattr->sz_shad = nswr * sizeof(struct bnxt_re_wrid); /* shadow */ + qattr->sz_shad = qattr->sw_nwr * sizeof(struct bnxt_re_wrid); /* shadow */ return 0; } @@ -1315,6 +1327,7 @@ static int bnxt_re_get_rqmem_size(struct bnxt_re_context *cntx, qattr->nwr = nrwr; qattr->slots = nslots; qattr->esize = esz; + qattr->sw_nwr = nrwr; bytes = nslots * sizeof(struct bnxt_re_sge); qattr->sz_ring = get_aligned(bytes, cntx->rdev->pg_size); @@ -1406,8 +1419,8 @@ static int bnxt_re_alloc_init_swque(struct bnxt_re_joint_queue *jqq, if (!jqq->swque) return -ENOMEM; jqq->start_idx = 0; - jqq->last_idx = qattr->nwr - 1; - for (indx = 0; indx < qattr->nwr; indx++) + jqq->last_idx = qattr->sw_nwr - 1; + for (indx = 0; indx < qattr->sw_nwr; indx++) jqq->swque[indx].next_idx = indx + 1; jqq->swque[jqq->last_idx].next_idx = 0; jqq->last_idx = 0; @@ -1457,13 +1470,13 @@ static int bnxt_re_alloc_queues(struct bnxt_re_qp *qp, */ que->pad = (que->va + que->depth * que->stride); psn_size = bnxt_re_get_psne_size(qp->cntx); - que->pad_stride_log2 = (uint32_t)bnxt_log2((double)psn_size); + que->pad_stride_log2 = (uint32_t)bnxt_log2((double)(psn_size - 1)); ret = bnxt_re_alloc_init_swque(qp->jsqq, qp->mem, &qattr[indx]); if (ret) goto fail; - qp->cap.max_swr = qattr[indx].nwr; + qp->cap.max_swr = qattr[indx].sw_nwr; qp->jsqq->cntx = qp->cntx; que->dbtail = (qp->qpmode == BNXT_RE_WQE_MODE_VARIABLE) ? &que->tail : &qp->jsqq->start_idx; @@ -1473,7 +1486,7 @@ static int bnxt_re_alloc_queues(struct bnxt_re_qp *qp, goto skip_msn; que->msn = 0; que->msn_tbl_sz = 0; - if (qp->qpmode & BNXT_RE_WQE_MODE_VARIABLE) + if (qp->qpmode == BNXT_RE_WQE_MODE_VARIABLE) que->msn_tbl_sz = roundup_pow_of_two(qattr->slots) / 2; else que->msn_tbl_sz = roundup_pow_of_two(qattr->nwr); @@ -1575,6 +1588,8 @@ struct ibv_qp *bnxt_re_create_qp(struct ibv_pd *ibvpd, req.qpsva = (uint64_t)qp->jsqq->hwque->va; req.qprva = qp->jrqq ? (uint64_t)qp->jrqq->hwque->va : 0; req.qp_handle = (uint64_t)qp; + if (qp->qpmode == BNXT_RE_WQE_MODE_VARIABLE) + req.sq_slots = qattr[BNXT_RE_QATTR_SQ_INDX].slots; if (ibv_cmd_create_qp(ibvpd, &qp->ibvqp, attr, &req.cmd, sizeof(req), &resp.resp, sizeof(resp))) diff --git a/sys/dev/bnxt/bnxt_re/bnxt_re-abi.h b/sys/dev/bnxt/bnxt_re/bnxt_re-abi.h index 8f48609e7f6f..c7ca19f29046 100644 --- a/sys/dev/bnxt/bnxt_re/bnxt_re-abi.h +++ b/sys/dev/bnxt/bnxt_re/bnxt_re-abi.h @@ -34,7 +34,7 @@ #include #include -#define BNXT_RE_ABI_VERSION 6 +#define BNXT_RE_ABI_VERSION 7 enum { BNXT_RE_COMP_MASK_UCNTX_WC_DPI_ENABLED = 0x01, @@ -43,12 +43,14 @@ enum { BNXT_RE_COMP_MASK_UCNTX_MQP_EX_SUPPORTED = 0x08, BNXT_RE_COMP_MASK_UCNTX_DBR_PACING_ENABLED = 0x10, BNXT_RE_COMP_MASK_UCNTX_DBR_RECOVERY_ENABLED = 0x20, - BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED = 0x40 + BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED = 0x40, + BNXT_RE_COMP_MASK_UCNTX_CMASK_HAVE_MODE = 0x80, }; enum { BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01, - BNXT_RE_COMP_MASK_REQ_UCNTX_RSVD_WQE = 0x02 + BNXT_RE_COMP_MASK_REQ_UCNTX_RSVD_WQE = 0x02, + BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT = 0x03 }; struct bnxt_re_uctx_req { @@ -66,7 +68,7 @@ struct bnxt_re_uctx_resp { __u32 max_cqd; __u32 chip_id0; __u32 chip_id1; - __u32 modes; + __u32 mode; __aligned_u64 comp_mask; } __attribute__((packed)); @@ -134,6 +136,8 @@ struct bnxt_re_qp_req { __u64 qpsva; __u64 qprva; __u64 qp_handle; + __u64 comp_mask; + __u32 sq_slots; } __attribute__((packed)); struct bnxt_re_qp_resp { diff --git a/sys/dev/bnxt/bnxt_re/bnxt_re.h b/sys/dev/bnxt/bnxt_re/bnxt_re.h index c0bc11e490b2..0afc8566c020 100644 --- a/sys/dev/bnxt/bnxt_re/bnxt_re.h +++ b/sys/dev/bnxt/bnxt_re/bnxt_re.h @@ -717,7 +717,7 @@ void bnxt_re_remove_device(struct bnxt_re_dev *rdev, u8 removal_type, void bnxt_re_destroy_lag(struct bnxt_re_dev **rdev); int bnxt_re_add_device(struct bnxt_re_dev **rdev, struct ifnet *netdev, - u8 qp_mode, u8 op_type, u8 wqe_mode, u32 num_msix_requested, + u8 qp_mode, u8 op_type, u32 num_msix_requested, struct auxiliary_device *aux_dev); void bnxt_re_create_base_interface(bool primary); int bnxt_re_schedule_work(struct bnxt_re_dev *rdev, unsigned long event, @@ -1070,6 +1070,15 @@ static inline void bnxt_re_set_def_do_pacing(struct bnxt_re_dev *rdev) rdev->qplib_res.pacing_data->do_pacing = rdev->dbr_def_do_pacing; } +static inline bool bnxt_re_is_var_size_supported(struct bnxt_re_dev *rdev, + struct bnxt_re_ucontext *uctx) +{ + if (uctx) + return uctx->cmask & BNXT_RE_UCNTX_CAP_VAR_WQE_ENABLED; + else + return rdev->chip_ctx->modes.wqe_mode; +} + static inline void bnxt_re_set_pacing_dev_state(struct bnxt_re_dev *rdev) { rdev->qplib_res.pacing_data->dev_err_state = diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.c b/sys/dev/bnxt/bnxt_re/ib_verbs.c index 37b77c5af909..32899abab9ff 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.c +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.c @@ -1667,15 +1667,18 @@ static int bnxt_re_setup_swqe_size(struct bnxt_re_qp *qp, align = sizeof(struct sq_send_hdr); ilsize = ALIGN(init_attr->cap.max_inline_data, align); - sq->wqe_size = bnxt_re_get_swqe_size(ilsize, sq->max_sge); - if (sq->wqe_size > _get_swqe_sz(dev_attr->max_qp_sges)) - return -EINVAL; - /* For Cu/Wh and gen p5 backward compatibility mode - * wqe size is fixed to 128 bytes + /* For gen p4 and gen p5 fixed wqe compatibility mode + * wqe size is fixed to 128 bytes - ie 6 SGEs */ - if (sq->wqe_size < _get_swqe_sz(dev_attr->max_qp_sges) && - qplqp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) - sq->wqe_size = _get_swqe_sz(dev_attr->max_qp_sges); + if (qplqp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) { + sq->wqe_size = _get_swqe_sz(BNXT_STATIC_MAX_SGE); + sq->max_sge = BNXT_STATIC_MAX_SGE; + } else { + sq->wqe_size = bnxt_re_get_swqe_size(ilsize, sq->max_sge); + if (sq->wqe_size > _get_swqe_sz(dev_attr->max_qp_sges)) + return -EINVAL; + } + if (init_attr->cap.max_inline_data) { qplqp->max_inline_data = sq->wqe_size - @@ -1728,10 +1731,14 @@ static int bnxt_re_init_user_qp(struct bnxt_re_dev *rdev, sizeof(struct sq_psn_search); if (rdev->dev_attr && _is_host_msn_table(rdev->dev_attr->dev_cap_ext_flags2)) psn_sz = sizeof(struct sq_msn_search); - psn_nume = (qplib_qp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) ? - qplib_qp->sq.max_wqe : - ((qplib_qp->sq.max_wqe * qplib_qp->sq.wqe_size) / - sizeof(struct bnxt_qplib_sge)); + if (cntx && bnxt_re_is_var_size_supported(rdev, cntx)) { + psn_nume = ureq.sq_slots; + } else { + psn_nume = (qplib_qp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) ? + qplib_qp->sq.max_wqe : + ((qplib_qp->sq.max_wqe * qplib_qp->sq.wqe_size) / + sizeof(struct bnxt_qplib_sge)); + } if (rdev->dev_attr && _is_host_msn_table(rdev->dev_attr->dev_cap_ext_flags2)) psn_nume = roundup_pow_of_two(psn_nume); @@ -1912,6 +1919,7 @@ static struct bnxt_re_qp *bnxt_re_create_shadow_qp(struct bnxt_re_pd *pd, /* Shadow QP SQ depth should be same as QP1 RQ depth */ qp->qplib_qp.sq.wqe_size = bnxt_re_get_swqe_size(0, 6); qp->qplib_qp.sq.max_wqe = qp1_qp->rq.max_wqe; + qp->qplib_qp.sq.max_sw_wqe = qp1_qp->rq.max_wqe; qp->qplib_qp.sq.max_sge = 2; /* Q full delta can be 1 since it is internal QP */ qp->qplib_qp.sq.q_full_delta = 1; @@ -1923,6 +1931,7 @@ static struct bnxt_re_qp *bnxt_re_create_shadow_qp(struct bnxt_re_pd *pd, qp->qplib_qp.rq.wqe_size = _max_rwqe_sz(6); /* 128 Byte wqe size */ qp->qplib_qp.rq.max_wqe = qp1_qp->rq.max_wqe; + qp->qplib_qp.rq.max_sw_wqe = qp1_qp->rq.max_wqe; qp->qplib_qp.rq.max_sge = qp1_qp->rq.max_sge; qp->qplib_qp.rq.sginfo.pgsize = PAGE_SIZE; qp->qplib_qp.rq.sginfo.pgshft = PAGE_SHIFT; @@ -1995,6 +2004,7 @@ static int bnxt_re_init_rq_attr(struct bnxt_re_qp *qp, entries = init_attr->cap.max_recv_wr + 1; entries = bnxt_re_init_depth(entries, cntx); rq->max_wqe = min_t(u32, entries, dev_attr->max_qp_wqes + 1); + rq->max_sw_wqe = rq->max_wqe; rq->q_full_delta = 0; rq->sginfo.pgsize = PAGE_SIZE; rq->sginfo.pgshft = PAGE_SHIFT; @@ -2019,10 +2029,11 @@ static void bnxt_re_adjust_gsi_rq_attr(struct bnxt_re_qp *qp) static int bnxt_re_init_sq_attr(struct bnxt_re_qp *qp, struct ib_qp_init_attr *init_attr, - void *cntx) + void *cntx, struct ib_udata *udata) { struct bnxt_qplib_dev_attr *dev_attr; struct bnxt_qplib_qp *qplqp; + struct bnxt_re_qp_req ureq; struct bnxt_re_dev *rdev; struct bnxt_qplib_q *sq; int diff = 0; @@ -2034,35 +2045,53 @@ static int bnxt_re_init_sq_attr(struct bnxt_re_qp *qp, sq = &qplqp->sq; dev_attr = rdev->dev_attr; - sq->max_sge = init_attr->cap.max_send_sge; - if (sq->max_sge > dev_attr->max_qp_sges) { - sq->max_sge = dev_attr->max_qp_sges; - init_attr->cap.max_send_sge = sq->max_sge; + if (udata) { + rc = ib_copy_from_udata(&ureq, udata, + min(udata->inlen, sizeof(ureq))); + if (rc) + return -EINVAL; } - rc = bnxt_re_setup_swqe_size(qp, init_attr); - if (rc) - return rc; - /* - * Change the SQ depth if user has requested minimum using - * configfs. Only supported for kernel consumers. Setting - * min_tx_depth to 4096 to handle iser SQ full condition - * in most of the newer OS distros - */ + + sq->max_sge = init_attr->cap.max_send_sge; entries = init_attr->cap.max_send_wr; - if (!cntx && rdev->min_tx_depth && init_attr->qp_type != IB_QPT_GSI) { + if (cntx && udata && qplqp->wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE) { + sq->max_wqe = ureq.sq_slots; + sq->max_sw_wqe = ureq.sq_slots; + sq->wqe_size = sizeof(struct sq_sge); + } else { + if (sq->max_sge > dev_attr->max_qp_sges) { + sq->max_sge = dev_attr->max_qp_sges; + init_attr->cap.max_send_sge = sq->max_sge; + } + rc = bnxt_re_setup_swqe_size(qp, init_attr); + if (rc) + return rc; /* - * If users specify any value greater than 1 use min_tx_depth - * provided by user for comparison. Else, compare it with the - * BNXT_RE_MIN_KERNEL_QP_TX_DEPTH and adjust it accordingly. + * Change the SQ depth if user has requested minimum using + * configfs. Only supported for kernel consumers. Setting + * min_tx_depth to 4096 to handle iser SQ full condition + * in most of the newer OS distros */ - if (rdev->min_tx_depth > 1 && entries < rdev->min_tx_depth) - entries = rdev->min_tx_depth; - else if (entries < BNXT_RE_MIN_KERNEL_QP_TX_DEPTH) - entries = BNXT_RE_MIN_KERNEL_QP_TX_DEPTH; - } - diff = bnxt_re_get_diff(cntx, rdev->chip_ctx); - entries = bnxt_re_init_depth(entries + diff + 1, cntx); - sq->max_wqe = min_t(u32, entries, dev_attr->max_qp_wqes + diff + 1); + + if (!cntx && rdev->min_tx_depth && init_attr->qp_type != IB_QPT_GSI) { + /* + * If users specify any value greater than 1 use min_tx_depth + * provided by user for comparison. Else, compare it with the + * BNXT_RE_MIN_KERNEL_QP_TX_DEPTH and adjust it accordingly. + */ + if (rdev->min_tx_depth > 1 && entries < rdev->min_tx_depth) + entries = rdev->min_tx_depth; + else if (entries < BNXT_RE_MIN_KERNEL_QP_TX_DEPTH) + entries = BNXT_RE_MIN_KERNEL_QP_TX_DEPTH; + } + diff = bnxt_re_get_diff(cntx, rdev->chip_ctx); + entries = bnxt_re_init_depth(entries + diff + 1, cntx); + sq->max_wqe = min_t(u32, entries, dev_attr->max_qp_wqes + diff + 1); + if (qplqp->wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE) + sq->max_sw_wqe = bnxt_qplib_get_depth(sq, qplqp->wqe_mode, true); + else + sq->max_sw_wqe = sq->max_wqe; + } sq->q_full_delta = diff + 1; /* * Reserving one slot for Phantom WQE. Application can @@ -2128,11 +2157,6 @@ out: return qptype; } -static int bnxt_re_init_qp_wqe_mode(struct bnxt_re_dev *rdev) -{ - return rdev->chip_ctx->modes.wqe_mode; -} - static int bnxt_re_init_qp_attr(struct bnxt_re_qp *qp, struct bnxt_re_pd *pd, struct ib_qp_init_attr *init_attr, struct ib_udata *udata) @@ -2166,7 +2190,7 @@ static int bnxt_re_init_qp_attr(struct bnxt_re_qp *qp, struct bnxt_re_pd *pd, goto out; } qplqp->type = (u8)qptype; - qplqp->wqe_mode = bnxt_re_init_qp_wqe_mode(rdev); + qplqp->wqe_mode = bnxt_re_is_var_size_supported(rdev, cntx); ether_addr_copy(qplqp->smac, rdev->dev_addr); if (init_attr->qp_type == IB_QPT_RC) { @@ -2213,7 +2237,7 @@ static int bnxt_re_init_qp_attr(struct bnxt_re_qp *qp, struct bnxt_re_pd *pd, bnxt_re_adjust_gsi_rq_attr(qp); /* Setup SQ */ - rc = bnxt_re_init_sq_attr(qp, init_attr, cntx); + rc = bnxt_re_init_sq_attr(qp, init_attr, cntx, udata); if (rc) goto out; if (init_attr->qp_type == IB_QPT_GSI) @@ -2849,6 +2873,7 @@ int bnxt_re_modify_qp(struct ib_qp *ib_qp, struct ib_qp_attr *qp_attr, if (entries > dev_attr->max_qp_wqes) entries = dev_attr->max_qp_wqes; qp->qplib_qp.rq.max_wqe = entries; + qp->qplib_qp.rq.max_sw_wqe = qp->qplib_qp.rq.max_wqe; qp->qplib_qp.rq.q_full_delta = qp->qplib_qp.rq.max_wqe - qp_attr->cap.max_recv_wr; qp->qplib_qp.rq.max_sge = qp_attr->cap.max_recv_sge; @@ -5349,7 +5374,7 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *uctx_in, } genp5 = _is_chip_gen_p5_p7(cctx); - resp.modes = genp5 ? cctx->modes.wqe_mode : 0; + resp.mode = genp5 ? cctx->modes.wqe_mode : 0; if (rdev->dev_attr && _is_host_msn_table(rdev->dev_attr->dev_cap_ext_flags2)) resp.comp_mask = BNXT_RE_COMP_MASK_UCNTX_HW_RETX_ENABLED; @@ -5384,6 +5409,12 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *uctx_in, if (bnxt_re_init_rsvd_wqe_flag(&ureq, &resp, genp5)) dev_warn(rdev_to_dev(rdev), "Rsvd wqe in use! Try the updated library.\n"); + if (ureq.comp_mask & BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT) { + resp.comp_mask |= BNXT_RE_COMP_MASK_UCNTX_CMASK_HAVE_MODE; + resp.mode = rdev->chip_ctx->modes.wqe_mode; + if (resp.mode == BNXT_QPLIB_WQE_MODE_VARIABLE) + resp.comp_mask |= BNXT_RE_UCNTX_CAP_VAR_WQE_ENABLED; + } } else { dev_warn(rdev_to_dev(rdev), "Enabled roundup logic. Update the library!\n"); diff --git a/sys/dev/bnxt/bnxt_re/ib_verbs.h b/sys/dev/bnxt/bnxt_re/ib_verbs.h index f3b7f44c828d..66d15dd2b767 100644 --- a/sys/dev/bnxt/bnxt_re/ib_verbs.h +++ b/sys/dev/bnxt/bnxt_re/ib_verbs.h @@ -508,6 +508,11 @@ static inline int bnxt_re_init_pow2_flag(struct bnxt_re_uctx_req *req, return 0; } +enum { + BNXT_RE_UCNTX_CAP_POW2_DISABLED = 0x1ULL, + BNXT_RE_UCNTX_CAP_VAR_WQE_ENABLED = 0x2ULL, +}; + static inline u32 bnxt_re_init_depth(u32 ent, struct bnxt_re_ucontext *uctx) { return uctx ? (uctx->cmask & BNXT_RE_COMP_MASK_UCNTX_POW2_DISABLED) ? diff --git a/sys/dev/bnxt/bnxt_re/main.c b/sys/dev/bnxt/bnxt_re/main.c index dc68854157a0..01c2710bc3ea 100644 --- a/sys/dev/bnxt/bnxt_re/main.c +++ b/sys/dev/bnxt/bnxt_re/main.c @@ -1101,7 +1101,6 @@ static int bnxt_re_handle_start(struct auxiliary_device *adev) rc = bnxt_re_add_device(&rdev, real_dev, en_info->gsi_mode, BNXT_RE_POST_RECOVERY_INIT, - en_info->wqe_mode, en_info->num_msix_requested, adev); if (rc) { /* Add device failed. Unregister the device. @@ -1435,15 +1434,15 @@ static void bnxt_re_set_db_offset(struct bnxt_re_dev *rdev) return; } -static void bnxt_re_set_drv_mode(struct bnxt_re_dev *rdev, u8 mode) +static void bnxt_re_set_drv_mode(struct bnxt_re_dev *rdev) { struct bnxt_qplib_chip_ctx *cctx; struct bnxt_en_dev *en_dev; en_dev = rdev->en_dev; cctx = rdev->chip_ctx; - cctx->modes.wqe_mode = _is_chip_gen_p5_p7(rdev->chip_ctx) ? - mode : BNXT_QPLIB_WQE_MODE_STATIC; + cctx->modes.wqe_mode = _is_chip_p7(rdev->chip_ctx) ? + BNXT_QPLIB_WQE_MODE_VARIABLE : BNXT_QPLIB_WQE_MODE_STATIC; cctx->modes.te_bypass = false; if (bnxt_re_hwrm_qcaps(rdev)) dev_err(rdev_to_dev(rdev), @@ -1492,7 +1491,7 @@ static void bnxt_re_destroy_chip_ctx(struct bnxt_re_dev *rdev) kfree(chip_ctx); } -static int bnxt_re_setup_chip_ctx(struct bnxt_re_dev *rdev, u8 wqe_mode) +static int bnxt_re_setup_chip_ctx(struct bnxt_re_dev *rdev) { struct bnxt_qplib_chip_ctx *chip_ctx; struct bnxt_en_dev *en_dev; @@ -1527,7 +1526,7 @@ static int bnxt_re_setup_chip_ctx(struct bnxt_re_dev *rdev, u8 wqe_mode) rc = -ENOMEM; goto fail; } - bnxt_re_set_drv_mode(rdev, wqe_mode); + bnxt_re_set_drv_mode(rdev); bnxt_re_set_db_offset(rdev); rc = bnxt_qplib_map_db_bar(&rdev->qplib_res); @@ -3551,7 +3550,7 @@ static void bnxt_re_dev_uninit(struct bnxt_re_dev *rdev, u8 op_type) } } -static int bnxt_re_dev_init(struct bnxt_re_dev *rdev, u8 op_type, u8 wqe_mode) +static int bnxt_re_dev_init(struct bnxt_re_dev *rdev, u8 op_type) { struct bnxt_re_ring_attr rattr = {}; struct bnxt_qplib_creq_ctx *creq; @@ -3566,7 +3565,7 @@ static int bnxt_re_dev_init(struct bnxt_re_dev *rdev, u8 op_type, u8 wqe_mode) } set_bit(BNXT_RE_FLAG_NETDEV_REGISTERED, &rdev->flags); - rc = bnxt_re_setup_chip_ctx(rdev, wqe_mode); + rc = bnxt_re_setup_chip_ctx(rdev); if (rc) { dev_err(rdev_to_dev(rdev), "Failed to get chip context rc 0x%x", rc); bnxt_re_unregister_netdev(rdev); @@ -3879,7 +3878,7 @@ void bnxt_re_remove_device(struct bnxt_re_dev *rdev, u8 op_type, int bnxt_re_add_device(struct bnxt_re_dev **rdev, struct ifnet *netdev, - u8 qp_mode, u8 op_type, u8 wqe_mode, + u8 qp_mode, u8 op_type, u32 num_msix_requested, struct auxiliary_device *aux_dev) { @@ -3952,7 +3951,7 @@ int bnxt_re_add_device(struct bnxt_re_dev **rdev, rtnl_lock(); en_info->rdev = *rdev; rtnl_unlock(); - rc = bnxt_re_dev_init(*rdev, op_type, wqe_mode); + rc = bnxt_re_dev_init(*rdev, op_type); if (rc) { ref_error: bnxt_re_dev_unreg(*rdev); @@ -4401,7 +4400,6 @@ static int bnxt_re_probe(struct auxiliary_device *adev, rc = bnxt_re_add_device(&rdev, en_dev->net, BNXT_RE_GSI_MODE_ALL, BNXT_RE_COMPLETE_INIT, - BNXT_QPLIB_WQE_MODE_STATIC, BNXT_RE_MSIX_FROM_MOD_PARAM, adev); if (rc) { mutex_unlock(&bnxt_re_mutex); diff --git a/sys/dev/bnxt/bnxt_re/qplib_fp.c b/sys/dev/bnxt/bnxt_re/qplib_fp.c index d4b439b05588..19708302198b 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_fp.c +++ b/sys/dev/bnxt/bnxt_re/qplib_fp.c @@ -842,15 +842,15 @@ static int bnxt_qplib_alloc_init_swq(struct bnxt_qplib_q *que) int rc = 0; int indx; - que->swq = kcalloc(que->max_wqe, sizeof(*que->swq), GFP_KERNEL); + que->swq = kcalloc(que->max_sw_wqe, sizeof(*que->swq), GFP_KERNEL); if (!que->swq) { rc = -ENOMEM; goto out; } que->swq_start = 0; - que->swq_last = que->max_wqe - 1; - for (indx = 0; indx < que->max_wqe; indx++) + que->swq_last = que->max_sw_wqe - 1; + for (indx = 0; indx < que->max_sw_wqe; indx++) que->swq[indx].next_idx = indx + 1; que->swq[que->swq_last].next_idx = 0; /* Make it circular */ que->swq_last = 0; @@ -879,19 +879,23 @@ static u32 bnxt_qplib_get_stride(void) return sizeof(struct sq_sge); } -static u32 bnxt_qplib_get_depth(struct bnxt_qplib_q *que) +u32 bnxt_qplib_get_depth(struct bnxt_qplib_q *que, u8 wqe_mode, bool is_sq) { - u8 stride; + u32 slots; - stride = bnxt_qplib_get_stride(); - return (que->wqe_size * que->max_wqe) / stride; + /* Queue depth is the number of slots. */ + slots = (que->wqe_size * que->max_wqe) / sizeof(struct sq_sge); + /* For variable WQE mode, need to align the slots to 256 */ + if (wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE && is_sq) + slots = ALIGN(slots, BNXT_VAR_MAX_SLOT_ALIGN); + return slots; } static u32 _set_sq_size(struct bnxt_qplib_q *que, u8 wqe_mode) { /* For Variable mode supply number of 16B slots */ return (wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC) ? - que->max_wqe : bnxt_qplib_get_depth(que); + que->max_wqe : bnxt_qplib_get_depth(que, wqe_mode, true); } static u32 _set_sq_max_slot(u8 wqe_mode) @@ -929,7 +933,7 @@ int bnxt_qplib_create_qp1(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) hwq_attr.res = res; hwq_attr.sginfo = &sq->sginfo; hwq_attr.stride = bnxt_qplib_get_stride(); - hwq_attr.depth = bnxt_qplib_get_depth(sq); + hwq_attr.depth = bnxt_qplib_get_depth(sq, qp->wqe_mode, false); hwq_attr.type = HWQ_TYPE_QUEUE; rc = bnxt_qplib_alloc_init_hwq(&sq->hwq, &hwq_attr); if (rc) @@ -953,7 +957,7 @@ int bnxt_qplib_create_qp1(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) hwq_attr.res = res; hwq_attr.sginfo = &rq->sginfo; hwq_attr.stride = bnxt_qplib_get_stride(); - hwq_attr.depth = bnxt_qplib_get_depth(rq); + hwq_attr.depth = bnxt_qplib_get_depth(rq, qp->wqe_mode, false); hwq_attr.type = HWQ_TYPE_QUEUE; rc = bnxt_qplib_alloc_init_hwq(&rq->hwq, &hwq_attr); if (rc) @@ -1105,7 +1109,7 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) hwq_attr.res = res; hwq_attr.sginfo = &sq->sginfo; hwq_attr.stride = bnxt_qplib_get_stride(); - hwq_attr.depth = bnxt_qplib_get_depth(sq); + hwq_attr.depth = bnxt_qplib_get_depth(sq, qp->wqe_mode, true); hwq_attr.aux_stride = psn_sz; hwq_attr.aux_depth = (psn_sz) ? _set_sq_size(sq, qp->wqe_mode) : 0; @@ -1147,7 +1151,7 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp) hwq_attr.res = res; hwq_attr.sginfo = &rq->sginfo; hwq_attr.stride = bnxt_qplib_get_stride(); - hwq_attr.depth = bnxt_qplib_get_depth(rq); + hwq_attr.depth = bnxt_qplib_get_depth(rq, qp->wqe_mode, false); hwq_attr.aux_stride = 0; hwq_attr.aux_depth = 0; hwq_attr.type = HWQ_TYPE_QUEUE; @@ -2878,6 +2882,32 @@ out: return rc; } +static int bnxt_qplib_get_cqe_sq_cons(struct bnxt_qplib_q *sq, u32 cqe_slot) +{ + struct bnxt_qplib_hwq *sq_hwq; + struct bnxt_qplib_swq *swq; + int cqe_sq_cons = -1; + u32 start, last; + + sq_hwq = &sq->hwq; + + start = sq->swq_start; + last = sq->swq_last; + + while (last != start) { + swq = &sq->swq[last]; + if (swq->slot_idx == cqe_slot) { + cqe_sq_cons = swq->next_idx; + dev_err(&sq_hwq->pdev->dev, "%s: Found cons wqe = %d slot = %d\n", + __func__, cqe_sq_cons, cqe_slot); + break; + } + + last = swq->next_idx; + } + return cqe_sq_cons; +} + static int bnxt_qplib_cq_process_req(struct bnxt_qplib_cq *cq, struct cq_req *hwcqe, struct bnxt_qplib_cqe **pcqe, int *budget, @@ -2886,8 +2916,9 @@ static int bnxt_qplib_cq_process_req(struct bnxt_qplib_cq *cq, struct bnxt_qplib_qp *qp; struct bnxt_qplib_q *sq; struct bnxt_qplib_cqe *cqe; - u32 cqe_sq_cons; + u32 cqe_sq_cons, slot_num; struct bnxt_qplib_swq *swq; + int cqe_cons; int rc = 0; qp = (struct bnxt_qplib_qp *)le64_to_cpu(hwcqe->qp_handle); @@ -2899,13 +2930,26 @@ static int bnxt_qplib_cq_process_req(struct bnxt_qplib_cq *cq, } sq = &qp->sq; - cqe_sq_cons = le16_to_cpu(hwcqe->sq_cons_idx) % sq->max_wqe; + cqe_sq_cons = le16_to_cpu(hwcqe->sq_cons_idx) % sq->max_sw_wqe; if (qp->sq.flushed) { dev_dbg(&cq->hwq.pdev->dev, "%s: QPLIB: QP in Flush QP = %p\n", __func__, qp); goto done; } + if (__is_err_cqe_for_var_wqe(qp, hwcqe->status)) { + slot_num = le16_to_cpu(hwcqe->sq_cons_idx); + cqe_cons = bnxt_qplib_get_cqe_sq_cons(sq, slot_num); + if (cqe_cons < 0) { + dev_dbg(&cq->hwq.pdev->dev, "%s: Wrong SQ cons cqe_slot_indx = %d\n", + __func__, slot_num); + goto done; + } + cqe_sq_cons = cqe_cons; + dev_dbg(&cq->hwq.pdev->dev, "%s: cqe_sq_cons = %d swq_last = %d swq_start = %d\n", + __func__, cqe_sq_cons, sq->swq_last, sq->swq_start); + } + /* Require to walk the sq's swq to fabricate CQEs for all previously * signaled SWQEs due to CQE aggregation from the current sq cons * to the cqe_sq_cons @@ -3348,7 +3392,7 @@ static int bnxt_qplib_cq_process_terminal(struct bnxt_qplib_cq *cq, if (cqe_cons == 0xFFFF) goto do_rq; - cqe_cons %= sq->max_wqe; + cqe_cons %= sq->max_sw_wqe; if (qp->sq.flushed) { dev_dbg(&cq->hwq.pdev->dev, "%s: QPLIB: QP in Flush QP = %p\n", __func__, qp); diff --git a/sys/dev/bnxt/bnxt_re/qplib_fp.h b/sys/dev/bnxt/bnxt_re/qplib_fp.h index fd2d8a08c818..542a26782c62 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_fp.h +++ b/sys/dev/bnxt/bnxt_re/qplib_fp.h @@ -300,6 +300,7 @@ struct bnxt_qplib_q { struct bnxt_qplib_sg_info sginfo; struct bnxt_qplib_hwq hwq; u32 max_wqe; + u32 max_sw_wqe; u16 max_sge; u16 wqe_size; u16 q_full_delta; @@ -635,5 +636,16 @@ static inline uint64_t bnxt_re_update_msn_tbl(uint32_t st_idx, uint32_t npsn, ui SQ_MSN_SEARCH_START_PSN_MASK)); } +static inline bool __is_var_wqe(struct bnxt_qplib_qp *qp) +{ + return (qp->wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE); +} + +static inline bool __is_err_cqe_for_var_wqe(struct bnxt_qplib_qp *qp, u8 status) +{ + return (status != CQ_REQ_STATUS_OK) && __is_var_wqe(qp); +} + void bnxt_re_schedule_dbq_event(struct bnxt_qplib_res *res); +u32 bnxt_qplib_get_depth(struct bnxt_qplib_q *que, u8 wqe_mode, bool is_sq); #endif diff --git a/sys/dev/bnxt/bnxt_re/qplib_sp.c b/sys/dev/bnxt/bnxt_re/qplib_sp.c index 8c382c7a645a..f876573ce69f 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_sp.c +++ b/sys/dev/bnxt/bnxt_re/qplib_sp.c @@ -129,11 +129,6 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) * one extra entry while creating the qp */ attr->max_qp_wqes = le16_to_cpu(sb->max_qp_wr) - 1; - /* Adjust for max_qp_wqes for variable wqe */ - if (cctx->modes.wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE) { - attr->max_qp_wqes = (BNXT_MAX_SQ_SIZE) / - (BNXT_MAX_VAR_WQE_SIZE / BNXT_SGE_SIZE) - 1; - } if (!_is_chip_gen_p5_p7(cctx)) { /* * 128 WQEs needs to be reserved for the HW (8916). Prevent @@ -141,10 +136,13 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) */ attr->max_qp_wqes -= BNXT_QPLIB_RESERVED_QP_WRS; } - attr->max_qp_sges = sb->max_sge; - if (_is_chip_gen_p5_p7(cctx) && - cctx->modes.wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE) - attr->max_qp_sges = sb->max_sge_var_wqe; + + /* Adjust for max_qp_wqes for variable wqe */ + if (cctx->modes.wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE) + attr->max_qp_wqes = BNXT_VAR_MAX_WQE - 1; + + attr->max_qp_sges = cctx->modes.wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE ? + min_t(u32, sb->max_sge_var_wqe, BNXT_VAR_MAX_SGE) : sb->max_sge; attr->max_cq = bnxt_re_cap_fw_res(le32_to_cpu(sb->max_cq), dev_res.max_cq, sw_max_en); diff --git a/sys/dev/bnxt/bnxt_re/qplib_sp.h b/sys/dev/bnxt/bnxt_re/qplib_sp.h index fa7dd890501c..5a5485dc5250 100644 --- a/sys/dev/bnxt/bnxt_re/qplib_sp.h +++ b/sys/dev/bnxt/bnxt_re/qplib_sp.h @@ -32,6 +32,7 @@ #define __BNXT_QPLIB_SP_H__ #include +#include "bnxt_re-abi.h" #define BNXT_QPLIB_RESERVED_QP_WRS 128 @@ -395,6 +396,13 @@ bool ib_modify_qp_is_ok_compat(enum ib_qp_state cur_state, enum ib_qp_state next #define BNXT_MAX_VAR_WQE_SIZE 512 #define BNXT_SGE_SIZE 16 +#define BNXT_VAR_MAX_WQE 4352 +#define BNXT_VAR_MAX_SLOT_ALIGN 256 +#define BNXT_VAR_MAX_SGE 13 +#define BNXT_RE_MAX_RQ_WQES 65536 + +#define BNXT_STATIC_MAX_SGE 6 + /* PF defines */ #define BNXT_RE_MAX_QP_SUPPORTED(chip_gen) \ chip_gen == BNXT_RE_DEFAULT ? (64 * 1024) : 0 From nobody Tue Jan 27 13:21: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 4f0mJz2tXNz6Ppmy for ; Tue, 27 Jan 2026 13:21: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 4f0mJy72lHz3k4L for ; Tue, 27 Jan 2026 13:21:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769520115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zUkBy7OK8C9bB6FV9UAAr2/v6il4Ro8E4QmIB4/01EE=; b=krC5TUDRrc5NLSpFLz4jnR5SrBhFtv6IVrq/+B7YZiEeiWa5XyqZMK18E5SGnhqy1y9pSR QJTn3Qd3Fmw6t4e3ZkCKCcsdGyEnksrheCct2ApckuNCL81psIqsR/pMtWtLe+9leXRXql MDZzn+qrJ452JheHti+/ZzpDkQYRQo1HotP5LjHAISvZZ9LWyZDNxnG0rrnzs3bO544KxP ljauXDYLm41ye5R6ZvFtCXaSfTHyRt/GRw7aJ7GpMEMljxu3nRjuFsvREEVI0UOlikft8P XQBugwMndE2PdWDexprFlsRMlHB8qvalkeudaRJTSM0rm1IPMj/M3rP95vxPLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769520115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zUkBy7OK8C9bB6FV9UAAr2/v6il4Ro8E4QmIB4/01EE=; b=ZUbiflWtyX5MhtG/BHhDYAO2lNUPoBBjIv9xKFO58s8JbBkImScS0DZ8evpfhQlk5Zc+w4 ffyVp+MJ9fPwFMpr7T8eYBz0BvOgWWtvqNRy8EJBaA3glsmh1Q0UhfLL0bezRfro9HaM+D LtTi4DaNsuWu/72hU1fgdBIIUx8RzlO28h4EXpX10uCg8bT4zq4W13Yygic6Wyw1Ra+7jB NJvjq1//wkcMR33RPpi7pkxtWUVb0/hXAd+kpJiIoO1FKgq2KhtvVeFPTWvn/Kx7zX86By 89/km70tNxc31qM7pmP1OmpzTvgd2/f6WSIknDxiIYdFLJAcFblHy68eXXtzvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769520115; a=rsa-sha256; cv=none; b=ZS9zE7gvZMCna5C1AM+fEUN6APqehWNGNF20TfC9J/X/IuGE3bSHLLT+SOlokm0pX07qzZ MfZ6xlDgB8+RXFCwO8jwnfXLJ2aq4WEpXi2yj/MBD7hhK1UAukFSB1P+4D9DswPGZGIHwH ieJMmj/qy4uSKEuuXcJxWqPlPsej0AZ2pzwAQzf5VbPl7Tv/ZKOcx2rLWkjupKBix8X1qS J3Pq11J5BKT3yeYR4E2nLgoiowzPHyf2UiaTly10GUeBxvI94pZ/vEzVK1VhajXQxAt1gL 4qS4ggokiZMaj8IqW0q8yXLrU//6VV7Es2XU2MZMlMHhAY9qc9w1hNsLgMVKrg== 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 4f0mJy6V1bz16hy for ; Tue, 27 Jan 2026 13:21:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20fbd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 13:21:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: 069a67374ed9 - main - ip6: Remove support for RFC2675 (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: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 069a67374ed9641ff1ada2aecaac1cc61a560649 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 13:21:54 +0000 Message-Id: <6978bbf2.20fbd.48fda2f@gitrepo.freebsd.org> The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=069a67374ed9641ff1ada2aecaac1cc61a560649 commit 069a67374ed9641ff1ada2aecaac1cc61a560649 Author: Tom Jones AuthorDate: 2026-01-23 12:43:25 +0000 Commit: Tom Jones CommitDate: 2026-01-27 13:20:33 +0000 ip6: Remove support for RFC2675 (Jumbo Payload Option) The Jumbo Payload option was intended to allow the deployment of IPv6 on networks with a link MTU in excess of 65,735 octets. Speaking to one of the authors of RFC2675 the networks which motivated the Jumbo Payload option no longer exist. FreeBSD does not currently support any links with this capacity and discussion when this change was first proposed suggested that the loop back interface had to be patched to test implementation. As there are no known devices that can carry Jumbo Payloads remove support. Reviewed by: glebius, teuxen, kp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19960 --- sys/netinet/ip6.h | 12 ++++- sys/netinet6/ip6_input.c | 110 ++++++++++----------------------------------- sys/netinet6/ip6_output.c | 110 ++------------------------------------------- sys/netinet6/ip6_var.h | 3 +- sys/netinet6/udp6_usrreq.c | 22 +++++---- 5 files changed, 53 insertions(+), 204 deletions(-) diff --git a/sys/netinet/ip6.h b/sys/netinet/ip6.h index 2f61d594e59d..580283b09745 100644 --- a/sys/netinet/ip6.h +++ b/sys/netinet/ip6.h @@ -257,7 +257,17 @@ struct ip6_frag { #define IPV6_HLIMDEC 1 /* subtracted when forwarding */ #define IPV6_MMTU 1280 /* minimal MTU and reassembly. 1024 + 256 */ -#define IPV6_MAXPACKET 65535 /* ip6 max packet size without Jumbo payload*/ +/* + * XXX: IPV6_MAXPACKET is historically used as the maximum packet size. + * The maximum IPv6 packet size is: + * + * v6 header size (40) + payload load size (65535) + * + * practically this isn't encountered as it requires a link with an mtu of + * 65575 octets. IPV6_MAXPACKET is preserved at this value for compatibility. + */ +#define IPV6_MAXPACKET 65535 +#define IPV6_MAXPAYLOAD 65535 /* max size that can be carried in a payload */ #define IPV6_MAXOPTHDR 2048 /* max option header size, 256 64-bit words */ #endif /* not _NETINET_IP6_H_ */ diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index d914bfbcbdbf..a23f5d46d6a3 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -219,7 +219,7 @@ VNET_PCPUSTAT_SYSUNINIT(ip6stat); struct rmlock in6_ifaddr_lock; RM_SYSINIT(in6_ifaddr_lock, &in6_ifaddr_lock, "in6_ifaddr_lock"); -static int ip6_hopopts_input(u_int32_t *, u_int32_t *, struct mbuf **, int *); +static int ip6_hopopts_input(u_int32_t *, struct mbuf **, int *); /* * IP6 initialization: fill in IP6 protocol switch table. @@ -407,14 +407,14 @@ VNET_SYSUNINIT(inet6, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, ip6_destroy, NULL); #endif static int -ip6_input_hbh(struct mbuf **mp, uint32_t *plen, uint32_t *rtalert, int *off, +ip6_input_hbh(struct mbuf **mp, uint32_t *rtalert, int *off, int *nxt, int *ours) { struct mbuf *m; struct ip6_hdr *ip6; struct ip6_hbh *hbh; - if (ip6_hopopts_input(plen, rtalert, mp, off)) { + if (ip6_hopopts_input(rtalert, mp, off)) { #if 0 /*touches NULL pointer*/ in6_ifstat_inc((*mp)->m_pkthdr.rcvif, ifs6_in_discard); #endif @@ -426,16 +426,11 @@ ip6_input_hbh(struct mbuf **mp, uint32_t *plen, uint32_t *rtalert, int *off, ip6 = mtod(m, struct ip6_hdr *); /* - * if the payload length field is 0 and the next header field - * indicates Hop-by-Hop Options header, then a Jumbo Payload - * option MUST be included. + * If the payload length field is 0 and the next header field indicates + * Hop-by-Hop Options header, then a Jumbo Payload option MUST be + * included. We no not support Jumbo Payloads so report an error. */ - if (ip6->ip6_plen == 0 && *plen == 0) { - /* - * Note that if a valid jumbo payload option is - * contained, ip6_hopopts_input() must set a valid - * (non-zero) payload length to the variable plen. - */ + if (ip6->ip6_plen == 0) { IP6STAT_INC(ip6s_badoptions); in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_discard); in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr); @@ -774,6 +769,15 @@ passin: goto bad; } + plen = (uint32_t)ntohs(ip6->ip6_plen); + + /* + * We don't support Jumbograms, reject packets with plen == 0 as early + * as we can. + */ + if (plen == 0) + goto bad; + /* * Disambiguate address scope zones (if there is ambiguity). * We first make sure that the original source or destination address @@ -850,11 +854,9 @@ passin: /* * Process Hop-by-Hop options header if it's contained. * m may be modified in ip6_hopopts_input(). - * If a JumboPayload option is included, plen will also be modified. */ - plen = (u_int32_t)ntohs(ip6->ip6_plen); if (ip6->ip6_nxt == IPPROTO_HOPOPTS) { - if (ip6_input_hbh(&m, &plen, &rtalert, &off, &nxt, &ours) != 0) + if (ip6_input_hbh(&m, &rtalert, &off, &nxt, &ours) != 0) return; } else nxt = ip6->ip6_nxt; @@ -963,13 +965,12 @@ bad: /* * Hop-by-Hop options header processing. If a valid jumbo payload option is - * included, the real payload length will be stored in plenp. + * included report an error. * * rtalertp - XXX: should be stored more smart way */ static int -ip6_hopopts_input(u_int32_t *plenp, u_int32_t *rtalertp, - struct mbuf **mp, int *offp) +ip6_hopopts_input(u_int32_t *rtalertp, struct mbuf **mp, int *offp) { struct mbuf *m = *mp; int off = *offp, hbhlen; @@ -999,7 +1000,7 @@ ip6_hopopts_input(u_int32_t *plenp, u_int32_t *rtalertp, off += hbhlen; hbhlen -= sizeof(struct ip6_hbh); if (ip6_process_hopopts(m, (u_int8_t *)hbh + sizeof(struct ip6_hbh), - hbhlen, rtalertp, plenp) < 0) { + hbhlen, rtalertp) < 0) { *mp = NULL; return (-1); } @@ -1021,13 +1022,11 @@ ip6_hopopts_input(u_int32_t *plenp, u_int32_t *rtalertp, */ int ip6_process_hopopts(struct mbuf *m, u_int8_t *opthead, int hbhlen, - u_int32_t *rtalertp, u_int32_t *plenp) + u_int32_t *rtalertp) { - struct ip6_hdr *ip6; int optlen = 0; u_int8_t *opt = opthead; u_int16_t rtalert_val; - u_int32_t jumboplen; const int erroff = sizeof(struct ip6_hdr) + sizeof(struct ip6_hbh); for (; hbhlen > 0; hbhlen -= optlen, opt += optlen) { @@ -1060,71 +1059,8 @@ ip6_process_hopopts(struct mbuf *m, u_int8_t *opthead, int hbhlen, *rtalertp = ntohs(rtalert_val); break; case IP6OPT_JUMBO: - /* XXX may need check for alignment */ - if (hbhlen < IP6OPT_JUMBO_LEN) { - IP6STAT_INC(ip6s_toosmall); - goto bad; - } - if (*(opt + 1) != IP6OPT_JUMBO_LEN - 2) { - /* XXX stat */ - icmp6_error(m, ICMP6_PARAM_PROB, - ICMP6_PARAMPROB_HEADER, - erroff + opt + 1 - opthead); - return (-1); - } - optlen = IP6OPT_JUMBO_LEN; - - /* - * IPv6 packets that have non 0 payload length - * must not contain a jumbo payload option. - */ - ip6 = mtod(m, struct ip6_hdr *); - if (ip6->ip6_plen) { - IP6STAT_INC(ip6s_badoptions); - icmp6_error(m, ICMP6_PARAM_PROB, - ICMP6_PARAMPROB_HEADER, - erroff + opt - opthead); - return (-1); - } - - /* - * We may see jumbolen in unaligned location, so - * we'd need to perform bcopy(). - */ - bcopy(opt + 2, &jumboplen, sizeof(jumboplen)); - jumboplen = (u_int32_t)htonl(jumboplen); - -#if 1 - /* - * if there are multiple jumbo payload options, - * *plenp will be non-zero and the packet will be - * rejected. - * the behavior may need some debate in ipngwg - - * multiple options does not make sense, however, - * there's no explicit mention in specification. - */ - if (*plenp != 0) { - IP6STAT_INC(ip6s_badoptions); - icmp6_error(m, ICMP6_PARAM_PROB, - ICMP6_PARAMPROB_HEADER, - erroff + opt + 2 - opthead); - return (-1); - } -#endif - - /* - * jumbo payload length must be larger than 65535. - */ - if (jumboplen <= IPV6_MAXPACKET) { - IP6STAT_INC(ip6s_badoptions); - icmp6_error(m, ICMP6_PARAM_PROB, - ICMP6_PARAMPROB_HEADER, - erroff + opt + 2 - opthead); - return (-1); - } - *plenp = jumboplen; - - break; + /* We do not support the Jumbo Payload option. */ + goto bad; default: /* unknown option */ if (hbhlen < IP6OPT_MINLEN) { IP6STAT_INC(ip6s_toosmall); diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index a9b31ac8061f..dca1bcf04371 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -142,7 +142,6 @@ static int ip6_setpktopt(int, u_char *, int, struct ip6_pktopts *, static int ip6_copyexthdr(struct mbuf **, caddr_t, int); static int ip6_insertfraghdr(struct mbuf *, struct mbuf *, int, struct ip6_frag **); -static int ip6_insert_jumboopt(struct ip6_exthdrs *, u_int32_t); static int ip6_splithdr(struct mbuf *, struct ip6_exthdrs *); static void ip6_getpmtu(struct route_in6 *, int, struct ifnet *, const struct in6_addr *, u_long *, u_int, u_int); @@ -542,21 +541,9 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, m->m_pkthdr.len += optlen; plen = m->m_pkthdr.len - sizeof(*ip6); - /* If this is a jumbo payload, insert a jumbo payload option. */ if (plen > IPV6_MAXPACKET) { - if (!hdrsplit) { - if ((error = ip6_splithdr(m, &exthdrs)) != 0) { - m = NULL; - goto freehdrs; - } - m = exthdrs.ip6e_ip6; - ip6 = mtod(m, struct ip6_hdr *); - hdrsplit = true; - } - if ((error = ip6_insert_jumboopt(&exthdrs, plen)) != 0) - goto freehdrs; - ip6->ip6_plen = 0; - optlen += 8; /* JUMBOOPTLEN */ + error = EMSGSIZE; + goto freehdrs; } else ip6->ip6_plen = htons(plen); nexthdrp = &ip6->ip6_nxt; @@ -982,7 +969,6 @@ nonh6lookup: if (exthdrs.ip6e_hbh) { struct ip6_hbh *hbh = mtod(exthdrs.ip6e_hbh, struct ip6_hbh *); u_int32_t dummy; /* XXX unused */ - u_int32_t plen = 0; /* XXX: ip6_process will check the value */ #ifdef DIAGNOSTIC if ((hbh->ip6h_len + 1) << 3 > exthdrs.ip6e_hbh->m_len) @@ -998,7 +984,7 @@ nonh6lookup: m->m_pkthdr.rcvif = ifp; if (ip6_process_hopopts(m, (u_int8_t *)(hbh + 1), ((hbh->ip6h_len + 1) << 3) - sizeof(struct ip6_hbh), - &dummy, &plen) < 0) { + &dummy) < 0) { /* m was already freed at this point. */ error = EINVAL;/* better error? */ goto done; @@ -1186,7 +1172,7 @@ passout: in6_ifstat_inc(ifp, ifs6_out_fragfail); goto bad; } else if (ip6->ip6_plen == 0) { - /* Jumbo payload cannot be fragmented. */ + /* We do not support jumbo payload. */ error = EMSGSIZE; in6_ifstat_inc(ifp, ifs6_out_fragfail); goto bad; @@ -1312,94 +1298,6 @@ ip6_copyexthdr(struct mbuf **mp, caddr_t hdr, int hlen) return (0); } -/* - * Insert jumbo payload option. - */ -static int -ip6_insert_jumboopt(struct ip6_exthdrs *exthdrs, u_int32_t plen) -{ - struct mbuf *mopt; - u_char *optbuf; - u_int32_t v; - -#define JUMBOOPTLEN 8 /* length of jumbo payload option and padding */ - - /* - * If there is no hop-by-hop options header, allocate new one. - * If there is one but it doesn't have enough space to store the - * jumbo payload option, allocate a cluster to store the whole options. - * Otherwise, use it to store the options. - */ - if (exthdrs->ip6e_hbh == NULL) { - mopt = m_get(M_NOWAIT, MT_DATA); - if (mopt == NULL) - return (ENOBUFS); - mopt->m_len = JUMBOOPTLEN; - optbuf = mtod(mopt, u_char *); - optbuf[1] = 0; /* = ((JUMBOOPTLEN) >> 3) - 1 */ - exthdrs->ip6e_hbh = mopt; - } else { - struct ip6_hbh *hbh; - - mopt = exthdrs->ip6e_hbh; - if (M_TRAILINGSPACE(mopt) < JUMBOOPTLEN) { - /* - * XXX assumption: - * - exthdrs->ip6e_hbh is not referenced from places - * other than exthdrs. - * - exthdrs->ip6e_hbh is not an mbuf chain. - */ - int oldoptlen = mopt->m_len; - struct mbuf *n; - - /* - * XXX: give up if the whole (new) hbh header does - * not fit even in an mbuf cluster. - */ - if (oldoptlen + JUMBOOPTLEN > MCLBYTES) - return (ENOBUFS); - - /* - * As a consequence, we must always prepare a cluster - * at this point. - */ - n = m_getcl(M_NOWAIT, MT_DATA, 0); - if (n == NULL) - return (ENOBUFS); - n->m_len = oldoptlen + JUMBOOPTLEN; - bcopy(mtod(mopt, caddr_t), mtod(n, caddr_t), - oldoptlen); - optbuf = mtod(n, caddr_t) + oldoptlen; - m_freem(mopt); - mopt = exthdrs->ip6e_hbh = n; - } else { - optbuf = mtod(mopt, u_char *) + mopt->m_len; - mopt->m_len += JUMBOOPTLEN; - } - optbuf[0] = IP6OPT_PADN; - optbuf[1] = 1; - - /* - * Adjust the header length according to the pad and - * the jumbo payload option. - */ - hbh = mtod(mopt, struct ip6_hbh *); - hbh->ip6h_len += (JUMBOOPTLEN >> 3); - } - - /* fill in the option. */ - optbuf[2] = IP6OPT_JUMBO; - optbuf[3] = 4; - v = (u_int32_t)htonl(plen + JUMBOOPTLEN); - bcopy(&v, &optbuf[4], sizeof(u_int32_t)); - - /* finally, adjust the packet header length */ - exthdrs->ip6e_ip6->m_pkthdr.len += JUMBOOPTLEN; - - return (0); -#undef JUMBOOPTLEN -} - /* * Insert fragment header and copy unfragmentable header portions. */ diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h index db1631736c4a..c1645f587483 100644 --- a/sys/netinet6/ip6_var.h +++ b/sys/netinet6/ip6_var.h @@ -393,8 +393,7 @@ int ip6_lasthdr(const struct mbuf *, int, int, int *); extern int (*ip6_mforward)(struct ip6_hdr *, struct ifnet *, struct mbuf *); -int ip6_process_hopopts(struct mbuf *, u_int8_t *, int, u_int32_t *, - u_int32_t *); +int ip6_process_hopopts(struct mbuf *, u_int8_t *, int, u_int32_t *); struct mbuf **ip6_savecontrol_v4(struct inpcb *, struct mbuf *, struct mbuf **, int *); void ip6_savecontrol(struct inpcb *, struct mbuf *, struct mbuf **); diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index ca7c95497510..1d1dcb75a1df 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -703,11 +703,6 @@ udp6_send(struct socket *so, int flags_arg, struct mbuf *m, sin6 = (struct sockaddr_in6 *)addr6; - /* - * In contrast to IPv4 we do not validate the max. packet length - * here due to IPv6 Jumbograms (RFC2675). - */ - scope_ambiguous = 0; if (sin6) { /* Protect *addr6 from overwrites. */ @@ -865,10 +860,21 @@ udp6_send(struct socket *so, int flags_arg, struct mbuf *m, fport = inp->inp_fport; } + + /* + * We do not support IPv6 Jumbograms (RFC2675), so validate the payload + * length fits in a normal gram. + */ ulen = m->m_pkthdr.len; plen = sizeof(struct udphdr) + ulen; hlen = sizeof(struct ip6_hdr); + if (plen > IPV6_MAXPAYLOAD) { + m_freem(control); + m_freem(m); + return (EMSGSIZE); + } + /* * Calculate data length and get a mbuf for UDP, IP6, and possible * link-layer headers. Immediate slide the data pointer back forward @@ -903,10 +909,10 @@ udp6_send(struct socket *so, int flags_arg, struct mbuf *m, * the entire UDPLite packet is covered by the checksum. */ cscov_partial = (cscov == 0) ? 0 : 1; - } else if (plen <= 0xffff) + } else { + MPASS(plen <= IPV6_MAXPAYLOAD); udp6->uh_ulen = htons((u_short)plen); - else - udp6->uh_ulen = 0; + } udp6->uh_sum = 0; ip6 = mtod(m, struct ip6_hdr *); From nobody Tue Jan 27 13:39: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 4f0mjP2Hdgz6PqvW for ; Tue, 27 Jan 2026 13:39:37 +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 4f0mjP08lGz3mY7 for ; Tue, 27 Jan 2026 13:39:37 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-4094fbd1808so84929fac.1 for ; Tue, 27 Jan 2026 05:39:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769521176; cv=none; d=google.com; s=arc-20240605; b=b1n1t9xgdmH44JDT3+YgIE20dFAJxxhgxF6EkN5ew4NVl+5KABFalY7EaNAPTlenZ6 ZfA2j9//rnmjFXC+FvCq4qC//DSrCjj2YYZw6MLBCMp6Zyrvz/eUzYmHHO+Te4qx9E0Z d0Zph6fIzPSOv0vXgKHVo6Mv7hPI17VmScNnqI3V+A1qfIllc2JhIsbCJOVZt85kktAW DpU0ndR2C6LRVcm1JIf5cokB2gPlDfGGrql93fW1Li8LUFE8tVtDQOYn6Q+CEI49e9cz t6MMLY6qxO3NdlDgM5GqN1cEocLm/mLzwDwMQE1hw0rzGGth2LHneQQN1vAzZ33c5E8d fkzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=cjWTozjhQcX+w8fl9/bVHOJiT43e4lKfgACkt/P5Ipk=; fh=53K1GZ59sC8XeBPXV2QqmAqLl5uWvan8KiBvxSPoiRY=; b=IamIwCku01STyPnwst6Cu3+LZBa5CChpv7z6pBj7T7g18lCxaPkyUl9ZNBqn9c01kY 8jEFFGxcKjQ14N+CjT6YoCYjAoTym8J5EYUrTfzmuWzvdNpJOUxu9krGrCTtwOt+VtKt pP7R0jVfq4uQlAYTvtHUtTjgkC4Esy8Wj7c6CqrgAlJiZ2n6Si7qCOSwdCjZsmcNwC7z rzaXcKCzWr4Sm4+V0oIYvKTZZFUCROsD9TXtwy9W4Gk8PQHD5Kb1ZyJA6RR3UJPxvMRv 87hOzJdZtBMSsi4gf6GSBOUiFI5uirem1JNWyk82JiQrxhVnrheez7oZB0wjsTDwiNHI Qo6g==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769521176; x=1770125976; 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=cjWTozjhQcX+w8fl9/bVHOJiT43e4lKfgACkt/P5Ipk=; b=BPZqlXFCMsb6kl3sNO96jfGAnFYWrbd9Lasj5oPs3Z0/WTTcnWYaiTxNBKDb/TK7Vd mqdPdbz7+W8bdkZmf1RqHFnkyUU6LqPYfRBpKcIcjgwv8z8899uhP844bjYuavsn4sxy 5fJv1UyxpE+HUq/NQKBD+2e2fH9eUAGeG1P3AuFcfP5abV5J6Fh/X8629hB7mFefMEmp j8NXSS/aOQWpcgpVb5+nZLleFbVZZD3zsmUX72Hwmd4Phb9+q1kV/K+47GmhABmPcYcS c5M2DBrS7FdEqTYz6C1yDM43+FLGiWr47v2/fyvoJCnutee9IuYEwRaXawkHbwnt7ahe +EPQ== X-Forwarded-Encrypted: i=1; AJvYcCXrBk2DhNcX+SSABqG29zeCvPNTkyUryemgE9lG5LuK0mk185BTv4JLQpitAOc9ToIj8z2oaiiS/A8k5ZAiGHUf/2ONUQ==@freebsd.org X-Gm-Message-State: AOJu0YxDFJQW3qQLKQltSQB5xSfGt1n1qhIZ9IvQp2TjP0CCNt45a7Cv xZYOmPB+Zrlq1xvYb36svQ49oK1wFi6wMt4iUbkHvvPtVft4I14xJiBxXdl0V1ZvXoN2hhchqOG bm2BL49iLXpADZTCf6aa6Rix/k99DiBg= X-Gm-Gg: AZuq6aIdBDOgsSKSpoiYSHn7d1MHnULd5ybC3TuIw88rFkJsrW0L19B6tK2CAgMgOt3 XYAYG0WnumJMVjmAkiDRak+XoY9fmMZ8UU/tr79FU01EEWSZYclUDy0081cSOfVCJc6vVek7wxd PVpOJvKiDaRNYicoi5QomRohQkzNvsgOVYRdhMG+E/0JNffQGGSy7Fbm6N0liAygx0nNYdNFPk7 QYfsDNgTqK7I8HN8NtN9P688C+uX56poHKTdHcCnkaDnXBqUUobpQYFaO56GiALa8uq8FP8ld/n LvjP5c8i2MvXVUydQVgIxMIVvG0= X-Received: by 2002:a05:6820:c93:b0:65f:6d50:e41a with SMTP id 006d021491bc7-662f2025ff3mr1010250eaf.15.1769521175835; Tue, 27 Jan 2026 05:39:35 -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: <69777c2e.30e31.77b9dc25@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Tue, 27 Jan 2026 08:39:23 -0500 X-Gm-Features: AZwV_Qg8qlNPpndidPFpvowicO-6NSSwtHp5kyQVy2bq5zizTQs9TAjDUGTaB68 Message-ID: Subject: Re: git: 277539ae7f2f - main - Add tests for pdwait To: Alan Somers 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 [-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: 4f0mjP08lGz3mY7 On Mon, 26 Jan 2026 at 16:21, Alan Somers wrote: > > Does the capsicum-test[^1] repository exist primarily in order to > support the capsicum-linux project? Since that's dead, does it make > sense to close down capsicum-test and move the source of truth into > the FreeBSD source tree? Probably. David Drysdale has continued to review and merge patches, but indeed FreeBSD is the only consumer. We can trivially move the source into tests/sys/capsicum; I have staged this in my working tree. I'll send a note to David to ask about the Google repo; perhaps we can update the README.md there referencing the move, and then have the repo archived. From nobody Tue Jan 27 13:53: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 4f0n0x5D6cz6PrDc for ; Tue, 27 Jan 2026 13:53: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 4f0n0x4VLzz3nrQ for ; Tue, 27 Jan 2026 13:53:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769521985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=axvL7QTFp2DUcb1zaFVP9VfuFQ8uUUoN2z4544ED9Bg=; b=qM0YDGNIQqs3gDU/28MxhREiquh7xWkhGztxVPBdpO8aVbsZ+3DJrucpSj660H71jbFc2C 6xee2nHP7WucVWBu81xAuz6EByn9FwpmGJ5MuLNgSxqoJC3KTgEPnVTEutb7hiy3+NCMe5 q49Zm3sJwM+cE0MpJCHz36y+fx7uoRT2wSRIgbZIMrKYLiLzGWz71jwNLEUdMNZFa/F3q6 fm7lITz5FfeTFFZmsTIU5h9F+rNKCwwoBr3aau5IVUIDAfwLXff9BI/nZiTPeSY5Go52Ly Vi2WDsAwtxFI0E86RJDspeyeY96uVk5Y66PmiPjUarACaXul6V2hPTMMs++WRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769521985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=axvL7QTFp2DUcb1zaFVP9VfuFQ8uUUoN2z4544ED9Bg=; b=Wih+n9JrrUVmal+99X8RhtqoY3cJPDeOS6M/xgnL/EQm6vX+LFdrwPRI9gr4AwJlTJ2G3h sPWbYXWuA2Pd4o3O/SH43b6V1cdtR0lycF8PnkjFpWX5qJz60AUMCAerfbcJFmBKpCeGKJ 8Cvofu+kgzWL/q1XPX0NgB/mtImMR9FSpLQNfZ+l0t+T/+k8n+Yv2Cqle9oIfUZTw91/om V1KBMTbs5wAyfH1e6iSGjr+EbzyyHGup75FVJnFt33jdT6CwWWslemR3Dxbd1aniNe+DO/ nCNsWRwIhkm32GqD6980GzYn+2uENFObYk13p7bljYF7DxZLJhcs5Ck8iRa2xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769521985; a=rsa-sha256; cv=none; b=hJJ0Vis6S+NriFhISDUAQUmVB7QglHRQB9Nt5nxujO6q3vrakORH60LaODAWs868VSTyrz pVmD+tKRYbH7qOAJ7+Q2KJegDDs0C0dTElQjKOmBiuVFAr4+g6pl9QUlLIvh0Q9bqaSVKw VxZW2umsTnM3i8Uds2zhT5c4Qw6NxImg74ZwOQ+uZxyld7MI+phKfybW5cUyttbRdGemKj hgCz4fSyREaa4OUjSWcr3EaJVod6ypyolaCo3uZfWmvPTFvMX5TEhEbr8GzZ0qnrADn4yD FLEAQDN3pIsfrlv3m2dgnGcTz3iycvgaluwTDSgq3otQJidcsMOH+NFJXXlTqw== 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 4f0n0x3qddz17lt for ; Tue, 27 Jan 2026 13:53:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24689 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 13:53:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 1e233e393ddd - main - btree/bt_split.c: Fix a misaligned if statement 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: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e233e393ddd39faa4c530351c5a584ea0ef4df0 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 13:53:05 +0000 Message-Id: <6978c341.24689.1020b600@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=1e233e393ddd39faa4c530351c5a584ea0ef4df0 commit 1e233e393ddd39faa4c530351c5a584ea0ef4df0 Author: Bojan Novković AuthorDate: 2026-01-27 13:44:54 +0000 Commit: Bojan Novković CommitDate: 2026-01-27 13:52:29 +0000 btree/bt_split.c: Fix a misaligned if statement Sponsored by: Klara, Inc. --- lib/libc/db/btree/bt_split.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/db/btree/bt_split.c b/lib/libc/db/btree/bt_split.c index 5fbf8c3ac0f3..865543928c35 100644 --- a/lib/libc/db/btree/bt_split.c +++ b/lib/libc/db/btree/bt_split.c @@ -542,7 +542,7 @@ bt_broot(BTREE *t, PAGE *h, PAGE *l, PAGE *r) * If the key is on an overflow page, mark the overflow chain * so it isn't deleted when the leaf copy of the key is deleted. */ - if (bl->flags & P_BIGKEY) { + if (bl->flags & P_BIGKEY) { pgno_t pgno; memcpy(&pgno, bl->bytes, sizeof(pgno)); if (bt_preserve(t, pgno) == RET_ERROR) From nobody Tue Jan 27 14:05: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 4f0nGm1l1Rz6PsZM for ; Tue, 27 Jan 2026 14:05: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 4f0nGm1Qjsz3qhh for ; Tue, 27 Jan 2026 14:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769522704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IaHRrzJPRVHGn5YmpZ++3U9ve5Ea9u/aJrPCtoWshmg=; b=lteuAOEah6eGmB6yL3RI1xmOKs6oU889AsbeK5h/wuBIc9Mq+i3Y8jm6ZncA7/OcOUR9B0 f6n9HvjBpcxxZc/lDWq7z2lyF4qftWS+r8MCSY/5dNc3OftwWcYCIx8wIw0sFeLEsxefz0 lI2doB94CipyABI+gtVLVvvsKscqAe6n5AdFEbK1TYcN0fqVwHZ4aqbPiCgEXGV9Ttz9aZ cQxA3a9QdkVK0ZEf/KxR0tcMPBCGCrxPEoRChWM7QYPQJHMo4OFyghK2Vbha11Yl6ASpF/ hb6XZ1+Kr+Sas4gHfVmgYZ8mSJCekbHqe644R98lVStlHF2srBLMKrn+QJ+4yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769522704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IaHRrzJPRVHGn5YmpZ++3U9ve5Ea9u/aJrPCtoWshmg=; b=MTBbwyj2DK+N1bgDnb9TiHgFf7we5enHWFe6NR57inyaO8+T/e3WxD5HDyFoX1jEu3/VTF f/EgLBFmyVrHw5mnrtGBBoowqFup1dZ82MpW2GQ61yJbEPjHjWjiOb+pXzyHyUGTMHDldu l8e2NdHGn/59tJ+RF+yeZDcfATIWt3Bq5AX2cHS8XOAgxEnf2skfx+WE75IfF7gl+TCcsI JPqg81LCOuiEX9oYe9U3V4SXp6RCHpniC5P2n+3wOxGenDjY1wRza5UwCyxpH/baL2TqlR 8Ea2bSsUKk96KhQkFIoTl2EbuUpVLvEb0xyib19ZtIQsCT7/BHVlQXxQECxDeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769522704; a=rsa-sha256; cv=none; b=MTYq4p08XBHhZQIMMZL5oZ9Mo5lrFukGSSQ43zFh7CLDvM11vSV+m8RSzFoujZZXzcLmqG v1oN9+FLJNfEw0CQilvmyGzt0dtghvZTor56KAJwhs0mhJLuWXFhi7tkpRxh0Ppx+GF0Kl xKDzE01mzJcQN9NSjLbQaRHpwM1KGpvws2bI4+VoAZt4UXkgX7QS7WXISV8dAmWt6KP9mB SbvvFeggrkW1IMZHzIayalM0Qzz89CM6jh1MPh3wKOOh4Ixy95rTqv1VolKOYlnAi5gKB2 YQrxg02aNrNDjkRJdEArULcOrvblHNH0XFh0GYiVzTyQec8oBsxebCzU4e0tXQ== 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 4f0nGm0l62z18PG for ; Tue, 27 Jan 2026 14:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23bf0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 14:05:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b0d997095022 - main - pf: Pass v6 packets to the divert socket 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: b0d99709502294812b11c139f64b0b78f5d2d457 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 14:05:04 +0000 Message-Id: <6978c610.23bf0.54aeebf@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b0d99709502294812b11c139f64b0b78f5d2d457 commit b0d99709502294812b11c139f64b0b78f5d2d457 Author: Mark Johnston AuthorDate: 2026-01-27 13:48:09 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 14:04:48 +0000 pf: Pass v6 packets to the divert socket There is no particular limitation of divert sockets with respect to IPv6, and the pf.conf man page does not mention the restriction to IPv4. Extend the divert-to regression tests to exercise the v6 case. Reviewed by: igoro, kp, glebius MFC after: 3 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54847 --- sys/netpfil/pf/pf.c | 6 +- tests/sys/netpfil/common/divapp.c | 2 +- tests/sys/netpfil/pf/divert-to.sh | 249 ++++++++++++++++++++++++++++---------- 3 files changed, 189 insertions(+), 68 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c01b32e5a8b5..3ccf1344fd7d 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -11961,8 +11961,7 @@ done: pf_is_loopback(af, pd.dst)) pd.m->m_flags |= M_SKIP_FIREWALL; - if (af == AF_INET && action == PF_PASS && r->divert.port && - !PACKET_LOOPED(&pd)) { + if (action == PF_PASS && r->divert.port && !PACKET_LOOPED(&pd)) { mtag = m_tag_alloc(MTAG_PF_DIVERT, 0, sizeof(struct pf_divert_mtag), M_NOWAIT | M_ZERO); if (__predict_true(mtag != NULL && ip_divert_ptr != NULL)) { @@ -12010,9 +12009,6 @@ done: "pf: divert(4) is not loaded"); } } - /* XXX: Anybody working on it?! */ - if (af == AF_INET6 && r->divert.port) - printf("pf: divert(9) is not supported for IPv6\n"); /* this flag will need revising if the pkt is forwarded */ if (pd.pf_mtag) diff --git a/tests/sys/netpfil/common/divapp.c b/tests/sys/netpfil/common/divapp.c index d0f4b345b14c..b1c38fdc87b4 100644 --- a/tests/sys/netpfil/common/divapp.c +++ b/tests/sys/netpfil/common/divapp.c @@ -135,7 +135,7 @@ main(int argc, char *argv[]) if (c.divert_back) send_pkt(&c); npkt++; - if (npkt >= 10) + if (npkt >= 20) break; } diff --git a/tests/sys/netpfil/pf/divert-to.sh b/tests/sys/netpfil/pf/divert-to.sh index 2e0f6920db27..bc4222c2bd03 100644 --- a/tests/sys/netpfil/pf/divert-to.sh +++ b/tests/sys/netpfil/pf/divert-to.sh @@ -73,16 +73,20 @@ in_div_body() epair=$(vnet_mkepair) vnet_mkjail div ${epair}b - ifconfig ${epair}a 192.0.2.1/24 up - jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad + atf_check jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec div ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 jexec div pfctl -e pft_set_rules div \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2000" + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2000" \ + "pass in inet6 proto icmp6 icmp6-type echoreq divert-to ::1 port 2000" jexec div $(atf_get_srcdir)/../common/divapp 2000 & divapp_pid=$! @@ -93,6 +97,16 @@ in_div_body() atf_check -s not-exit:0 -o ignore ping -c1 -t1 192.0.2.2 wait $divapp_pid + + jexec div $(atf_get_srcdir)/../common/divapp 2000 & + divapp_pid=$! + # Wait for the divapp to be ready + sleep 1 + + # divapp is expected to "eat" the packet + atf_check -s not-exit:0 -o ignore ping -c1 -t1 2001:db8::2 + + wait $divapp_pid } in_div_cleanup() { @@ -112,16 +126,20 @@ in_div_in_body() epair=$(vnet_mkepair) vnet_mkjail div ${epair}b - ifconfig ${epair}a 192.0.2.1/24 up - jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad + atf_check jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec div ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 jexec div pfctl -e pft_set_rules div \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2000 no state" + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2000 no state" \ + "pass in inet6 proto icmp6 icmp6-type echoreq divert-to ::1 port 2000 no state" jexec div $(atf_get_srcdir)/../common/divapp 2000 divert-back & divapp_pid=$! @@ -132,6 +150,16 @@ in_div_in_body() atf_check -s exit:0 -o ignore ping -c1 192.0.2.2 wait $divapp_pid + + jexec div $(atf_get_srcdir)/../common/divapp 2000 divert-back & + divapp_pid=$! + # Wait for the divapp to be ready + sleep 1 + + # divapp is expected to "eat" the packet + atf_check -s exit:0 -o ignore ping -c1 -t1 2001:db8::2 + + wait $divapp_pid } in_div_in_cleanup() { @@ -151,17 +179,22 @@ out_div_body() epair=$(vnet_mkepair) vnet_mkjail div ${epair}b - ifconfig ${epair}a 192.0.2.1/24 up - jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad + atf_check jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec div ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 jexec div pfctl -e pft_set_rules div \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq no state" \ - "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2000 no state" + "pass all" \ + "pass in inet proto icmp icmp-type echoreq no state" \ + "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2000 no state" \ + "pass in inet6 proto icmp6 icmp6-type echoreq no state" \ + "pass out inet6 proto icmp6 icmp6-type echorep divert-to ::1 port 2000 no state" jexec div $(atf_get_srcdir)/../common/divapp 2000 & divapp_pid=$! @@ -172,6 +205,16 @@ out_div_body() atf_check -s not-exit:0 -o ignore ping -c1 -t1 192.0.2.2 wait $divapp_pid + + jexec div $(atf_get_srcdir)/../common/divapp 2000 & + divapp_pid=$! + # Wait for the divapp to be ready + sleep 1 + + # divapp is expected to "eat" the packet + atf_check -s not-exit:0 -o ignore ping -c1 -t1 2001:db8::2 + + wait $divapp_pid } out_div_cleanup() { @@ -191,17 +234,22 @@ out_div_out_body() epair=$(vnet_mkepair) vnet_mkjail div ${epair}b - ifconfig ${epair}a 192.0.2.1/24 up - jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad + atf_check jexec div ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec div ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 jexec div pfctl -e pft_set_rules div \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq no state" \ - "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2000 no state" + "pass all" \ + "pass in inet proto icmp icmp-type echoreq no state" \ + "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2000 no state" \ + "pass in inet6 proto icmp6 icmp6-type echoreq no state" \ + "pass out inet6 proto icmp6 icmp6-type echorep divert-to ::1 port 2000 no state" jexec div $(atf_get_srcdir)/../common/divapp 2000 divert-back & divapp_pid=$! @@ -212,6 +260,16 @@ out_div_out_body() atf_check -s exit:0 -o ignore ping -c1 192.0.2.2 wait $divapp_pid + + jexec div $(atf_get_srcdir)/../common/divapp 2000 divert-back & + divapp_pid=$! + # Wait for the divapp to be ready + sleep 1 + + # divapp is NOT expected to "eat" the packet + atf_check -s exit:0 -o ignore ping -c1 2001:db8::2 + + wait $divapp_pid } out_div_out_cleanup() { @@ -234,40 +292,63 @@ in_div_in_fwd_out_div_out_body() epair1=$(vnet_mkepair) vnet_mkjail router ${epair0}b ${epair1}a - ifconfig ${epair0}a 192.0.2.1/24 up - jexec router sysctl net.inet.ip.forwarding=1 - jexec router ifconfig ${epair0}b 192.0.2.2/24 up - jexec router ifconfig ${epair1}a 198.51.100.1/24 up + atf_check ifconfig ${epair0}a 192.0.2.1/24 up + atf_check ifconfig ${epair0}a inet6 2001:db8::1/64 no_dad + atf_check -o ignore jexec router sysctl net.inet.ip.forwarding=1 + atf_check -o ignore jexec router sysctl net.inet6.ip6.forwarding=1 + atf_check jexec router ifconfig ${epair0}b 192.0.2.2/24 up + atf_check jexec router ifconfig ${epair0}b inet6 2001:db8::2/64 no_dad + atf_check jexec router ifconfig ${epair1}a 198.51.100.1/24 up + atf_check jexec router ifconfig ${epair1}a inet6 2001:db9::1/64 no_dad vnet_mkjail site ${epair1}b jexec site ifconfig ${epair1}b 198.51.100.2/24 up + jexec site ifconfig ${epair1}b inet6 2001:db9::2/64 no_dad jexec site route add default 198.51.100.1 + jexec site route -6 add default 2001:db9::1 - route add -net 198.51.100.0/24 192.0.2.2 + atf_check -o ignore route add -net 198.51.100.0/24 192.0.2.2 + atf_check -o ignore route -6 add -net 2001:db9::/64 2001:db8::2 # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 # Should be routed without pf - atf_check -s exit:0 -o ignore ping -c3 198.51.100.2 + atf_check -o ignore ping -c3 198.51.100.2 + atf_check -o ignore ping -c3 2001:db9::2 jexec router pfctl -e pft_set_rules router \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2001 no state" \ - "pass out inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2002 no state" + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2001 no state" \ + "pass out inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2002 no state" \ + "pass in inet6 proto icmp6 icmp6-type echoreq divert-to ::1 port 2001 no state" \ + "pass out inet6 proto icmp6 icmp6-type echoreq divert-to ::1 port 2002 no state" jexec router $(atf_get_srcdir)/../common/divapp 2001 divert-back & indivapp_pid=$! jexec router $(atf_get_srcdir)/../common/divapp 2002 divert-back & outdivapp_pid=$! - # Wait for the divappS to be ready + # Wait for the divapps to be ready sleep 1 - # Both divappS are NOT expected to "eat" the packet + # Both divapps are NOT expected to "eat" the packet atf_check -s exit:0 -o ignore ping -c1 198.51.100.2 wait $indivapp_pid && wait $outdivapp_pid + + jexec router $(atf_get_srcdir)/../common/divapp 2001 divert-back & + indivapp_pid=$! + jexec router $(atf_get_srcdir)/../common/divapp 2002 divert-back & + outdivapp_pid=$! + # Wait for the divapps to be ready + sleep 1 + + # Both divapps are NOT expected to "eat" the packet + atf_check -o ignore ping -c1 2001:db9::2 + + wait $indivapp_pid && wait $outdivapp_pid } in_div_in_fwd_out_div_out_cleanup() { @@ -287,12 +368,15 @@ in_dn_in_div_in_out_div_out_dn_out_body() epair=$(vnet_mkepair) vnet_mkjail alcatraz ${epair}b - ifconfig ${epair}a 192.0.2.1/24 up - ifconfig ${epair}a ether 02:00:00:00:00:01 - jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad + atf_check ifconfig ${epair}a ether 02:00:00:00:00:01 + atf_check jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec alcatraz ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 # a) ping should time out due to very narrow dummynet pipes { @@ -301,17 +385,19 @@ in_dn_in_div_in_out_div_out_dn_out_body() jexec alcatraz pfctl -e pft_set_rules alcatraz \ - "ether pass in from 02:00:00:00:00:01 l3 all dnpipe 1001" \ - "ether pass out to 02:00:00:00:00:01 l3 all dnpipe 1002 " \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 1001 no state" \ - "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 1002 no state" + "ether pass in from 02:00:00:00:00:01 l3 all dnpipe 1001" \ + "ether pass out to 02:00:00:00:00:01 l3 all dnpipe 1002 " \ + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 1001 no state" \ + "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 1002 no state" \ + "pass in inet6 proto icmp6 icmp6-type echoreq divert-to ::1 port 1001 no state" \ + "pass out inet6 proto icmp6 icmp6-type echorep divert-to ::1 port 1002 no state" jexec alcatraz $(atf_get_srcdir)/../common/divapp 1001 divert-back & indivapp_pid=$! jexec alcatraz $(atf_get_srcdir)/../common/divapp 1002 divert-back & outdivapp_pid=$! - # Wait for the divappS to be ready + # Wait for the divapps to be ready sleep 1 atf_check -s not-exit:0 -o ignore ping -c1 -s56 -t1 192.0.2.2 @@ -321,6 +407,20 @@ in_dn_in_div_in_out_div_out_dn_out_body() wait $outdivapp_pid atf_check_not_equal 0 $? + jexec alcatraz $(atf_get_srcdir)/../common/divapp 1001 divert-back & + indivapp_pid=$! + jexec alcatraz $(atf_get_srcdir)/../common/divapp 1002 divert-back & + outdivapp_pid=$! + # Wait for the divapps to be ready + sleep 1 + + atf_check -s not-exit:0 -o ignore ping -c1 -s56 -t1 2001:db8::2 + + wait $indivapp_pid + atf_check_not_equal 0 $? + wait $outdivapp_pid + atf_check_not_equal 0 $? + # } # b) ping should NOT time out due to wide enough dummynet pipes { @@ -330,20 +430,36 @@ in_dn_in_div_in_out_div_out_dn_out_body() jexec alcatraz pfctl -e pft_set_rules alcatraz \ - "ether pass in from 02:00:00:00:00:01 l3 all dnpipe 2001" \ - "ether pass out to 02:00:00:00:00:01 l3 all dnpipe 2002 " \ - "pass all" \ - "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2001 no state" \ - "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2002 no state" + "ether pass in from 02:00:00:00:00:01 l3 all dnpipe 2001" \ + "ether pass out to 02:00:00:00:00:01 l3 all dnpipe 2002 " \ + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2001 no state" \ + "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2002 no state" \ + "pass in inet6 proto icmp6 icmp6-type echoreq divert-to ::1 port 2001 no state" \ + "pass out inet6 proto icmp6 icmp6-type echorep divert-to ::1 port 2002 no state" jexec alcatraz $(atf_get_srcdir)/../common/divapp 2001 divert-back & indivapp_pid=$! jexec alcatraz $(atf_get_srcdir)/../common/divapp 2002 divert-back & outdivapp_pid=$! - # Wait for the divappS to be ready + # Wait for the divapps to be ready sleep 1 - atf_check -s exit:0 -o ignore ping -c1 -s56 -t1 192.0.2.2 + atf_check -o ignore ping -c1 -s56 -t1 192.0.2.2 + + wait $indivapp_pid + atf_check_equal 0 $? + wait $outdivapp_pid + atf_check_equal 0 $? + + jexec alcatraz $(atf_get_srcdir)/../common/divapp 2001 divert-back & + indivapp_pid=$! + jexec alcatraz $(atf_get_srcdir)/../common/divapp 2002 divert-back & + outdivapp_pid=$! + # Wait for the divapps to be ready + sleep 1 + + atf_check -o ignore ping -c1 -s56 -t1 2001:db8::2 wait $indivapp_pid atf_check_equal 0 $? @@ -364,20 +480,22 @@ pr260867_head() atf_set require.user root atf_set require.kmods ipdivert } - pr260867_body() { pft_init epair=$(vnet_mkepair) - ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad vnet_mkjail alcatraz ${epair}b - jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec alcatraz ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 jexec alcatraz /usr/sbin/inetd -p ${PWD}/inetd-echo.pid $(atf_get_srcdir)/echo_inetd.conf jexec alcatraz $(atf_get_srcdir)/../common/divapp 1001 divert-back & @@ -388,10 +506,14 @@ pr260867_body() reply=$(echo "foo" | nc -N 192.0.2.2 7) if [ "${reply}" != "foo" ]; then - atf_fail "Did not receive echo reply" + atf_fail "Did not receive v4 echo reply" fi -} + reply=$(echo "foo" | nc -N -6 2001:db8::2 7) + if [ "${reply}" != "foo" ]; then + atf_fail "Did not receive v6 echo reply" + fi +} pr260867_cleanup() { pft_cleanup @@ -404,7 +526,6 @@ pr260867_icmp_head() atf_set require.user root atf_set require.kmods ipdivert } - pr260867_icmp_body() { pft_init @@ -412,22 +533,26 @@ pr260867_icmp_body() epair=$(vnet_mkepair) atf_check ifconfig ${epair}a 192.0.2.1/24 up + atf_check ifconfig ${epair}a inet6 2001:db8::1/64 no_dad vnet_mkjail alcatraz ${epair}b - jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + atf_check jexec alcatraz ifconfig ${epair}b inet6 2001:db8::2/64 no_dad # Sanity check - atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 192.0.2.2 + atf_check -o ignore ping -c3 2001:db8::2 jexec alcatraz $(atf_get_srcdir)/../common/divapp 1001 divert-back & jexec alcatraz pfctl -e pft_set_rules alcatraz \ - "pass in on ${epair}b proto icmp from any to any divert-to 0.0.0.0 port 1001" + "pass in on ${epair}b proto icmp from any to any divert-to 0.0.0.0 port 1001" \ + "pass in on ${epair}b proto icmp6 from any to any divert-to :: port 1001" atf_check -o ignore ping -c 3 192.0.2.2 + atf_check -o ignore ping -c 3 2001:db8::2 } - pr260867_icmp_cleanup() { pft_cleanup From nobody Tue Jan 27 14:05: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 4f0nGn3046z6PsHy for ; Tue, 27 Jan 2026 14:05: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 4f0nGn1jkqz3qqR for ; Tue, 27 Jan 2026 14:05:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769522705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B2e9/plCISc/D72fPMCSAlIpxH4+LY4FsduBRg0CP9I=; b=LEBXN0PBwDQu0B09rYREbK4UFkKc93PcZnFnzjxrMYES9JP4auBdLho8zf7VpYUp/otdIm LPDAsH3XBq6N9MpXmAuyJ4/yco35KAx5lYAjYKIL/uhY8hf1N3e9DqiIHMbOrV5T/eQ4cY /V20odMA9ozeNsnHvxvO7iOfw7mziV5gopEYBwNyF+m2oJjy1ZufjSDjL51yiL6Hm2N4am SUeHejnEinsEMJiVeRk5Hoe+FDT5+K5KKoJrBSTNGag+fTQZ3ckZmmYkljr8vq9WKBTjCx IJW3hRpek155Ll18HTtU1lbuD2+G3h7rKzamWdzHxs/RWG6e0uw1b970KE/h6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769522705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B2e9/plCISc/D72fPMCSAlIpxH4+LY4FsduBRg0CP9I=; b=gXR/QgMskP0H5bYtpTelrYHO+95PcnCmHjRJ6kBorEj2SwyKIz40jU/psdjcvB+TbSj7fZ H2OCeUhEq0Qf5dPSehYPUmy0OZGx2+dV9db8vpgnEo2ALbXKnGjc/Z7b9RtFa16wvfE//g zM7mO/WVZHx7djTYtB7c688qk4O4IK0t+zmroCmAKgGf0eoLkkE0RhzDJSTzpfcNPNKYUJ uKgqBJ+cFXJSm4ZPP2ZzCFvNnGV3yS3uElo6liBoeZjnHSDnJBjgK2eZLJUCUvf48U0R7U GWXjmLKg8Yd05yMhzqfpw0NF+pImGc0LiEE6yOv83u9J66bHhWallsaHzYUbZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769522705; a=rsa-sha256; cv=none; b=wdVS8n434Ertw1NoMnU3XJQILUV6JsMXfMDw4dVDBaCPYCRsBO/8Php8XVYNEwJrDM5ZD5 OxRzG5W+lNSPteOajlpRxxdgejH5uLwRlU0tiavdhjlMmMIqPfr4Yt082Fb9BtfCZw9L+E 4Q3k9k4u/ifHK2pqE84PTcCWVRhYkPmg19fgMkkQTM4ja9TKB9yT+f+KllVjd+sk2CQM+8 obtNs1ahQcFeMYk4X3PLJkVD3zZgB6jvoN6QRZlNSh5TnmJw6SxCqve51xJCPU8p5GJCOG /rErFw4jNmd72mRUJKboAK2UyIQw4iOYshYYZKoIHQ/X0OJKmw4cuKc15TBJsA== 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 4f0nGn1D7Nz18jy for ; Tue, 27 Jan 2026 14:05:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22bee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 14:05:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 120c0bb83397 - main - divert: Update divert.4 to mention pf 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: 120c0bb833977707fc56f59b0961994fbd6c52e7 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 14:05:05 +0000 Message-Id: <6978c611.22bee.3b1da9ab@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=120c0bb833977707fc56f59b0961994fbd6c52e7 commit 120c0bb833977707fc56f59b0961994fbd6c52e7 Author: Mark Johnston AuthorDate: 2026-01-27 13:48:22 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 14:04:48 +0000 divert: Update divert.4 to mention pf pf's divert-to action can be used to pass packets to a divert socket, but divert.4 didn't mention this, only referencing ipfw. Try to make the text a bit more general. Reviewed by: igoro, kp, glebius MFC after: 2 weeks Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54848 --- share/man/man4/divert.4 | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/share/man/man4/divert.4 b/share/man/man4/divert.4 index 5732099bd447..647bb72ab49b 100644 --- a/share/man/man4/divert.4 +++ b/share/man/man4/divert.4 @@ -1,5 +1,5 @@ .\" -.Dd August 30, 2022 +.Dd January 23, 2026 .Dt DIVERT 4 .Os .Sh NAME @@ -15,7 +15,6 @@ To enable support for divert sockets, place the following lines in the kernel configuration file: .Bd -ragged -offset indent -.Cd "options IPFIREWALL" .Cd "options IPDIVERT" .Ed .Pp @@ -25,14 +24,15 @@ as a module at boot time, add the following lines into the .Xr loader.conf 5 file: .Bd -literal -offset indent -ipfw_load="YES" ipdivert_load="YES" .Ed .Sh DESCRIPTION Divert sockets allow to intercept and re-inject packets flowing through the .Xr ipfw 4 -firewall. +and +.Xr pf 4 +firewalls. A divert socket can be bound to a specific .Nm port via the @@ -43,13 +43,15 @@ desired value. Note that the .Nm port has nothing to do with TCP/UDP ports. -It is just a cookie number, that allows to differentiate between different -divert points in the +It is just a cookie whose value depends on the firewall in use. +For .Xr ipfw 4 -ruleset. +this is the number of the rule which diverted the packet; for +.Xr pf 4 +this is a value which indicates the original direction through the +firewall of the diverted packet. A divert socket bound to a divert port will receive all packets diverted -to that port by -.Xr ipfw 4 . +to that port by the firewall. Packets may also be written to a divert port, in which case they re-enter firewall processing at the next rule. .Pp @@ -67,8 +69,8 @@ Diverted packets may be read unaltered via or .Xr recvfrom 2 . In the latter case, the address returned will have its port set to -some tag supplied by the packet diverter, (usually the ipfw rule number) -and the IP address set to the (first) address of +some tag supplied by the packet diverter, (usually the cookie described +above) and the IP address set to the (first) address of the interface on which the packet was received (if the packet was incoming) or .Dv INADDR_ANY @@ -179,6 +181,7 @@ that was not associated with any interface. .Xr sendto 2 , .Xr socket 2 , .Xr ipfw 4 , +.Xr pf 4 , .Xr ipfw 8 .Sh AUTHORS .An Archie Cobbs Aq Mt archie@FreeBSD.org , @@ -186,8 +189,7 @@ Whistle Communications Corp. .Sh BUGS This is an attempt to provide a clean way for user mode processes to implement various IP tricks like address translation, but it -could be cleaner, and it is too dependent on -.Xr ipfw 8 . +could be cleaner. .Pp It is questionable whether incoming fragments should be reassembled before being diverted. From nobody Tue Jan 27 14: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 4f0nJ434nvz6PsLJ for ; Tue, 27 Jan 2026 14: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 4f0nJ42Gfvz3r9P for ; Tue, 27 Jan 2026 14: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=1769522772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WC5jCCn1DD0mydLoC5GSs2jg1Lfk2aU5Pj7huBm8xJU=; b=APfUnaxMbWj7N7D3irCGANvcFgaDICfoTnf4qOtWjmoK9v11Ikd4nGY+b/mM8bcYuFPj1f WpB63fxunbpzyVgKEUk+HXVDy/mLWRBMV7BSxoJJJqnuHTcOeP8qLAwhuIOkKF7z+ezFKC 3zwot+WBBptPs4wDSESLyKlGaut4Ll4NGCCEvRSPR9lEOstY3f13ilRDRdVo5QM8uZaKsF xIB4+qeVTCl7boIx4HTNNhvg/i8gMWaiUQFmACvrsQeoH6XzeECOkwcJQTsx/pbAKu/PF4 8lM1fHtAMzR+HKphatSNMH4K2SLVK6GvyU5zgmiseCNzfif6jmExA0y48PKQmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769522772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WC5jCCn1DD0mydLoC5GSs2jg1Lfk2aU5Pj7huBm8xJU=; b=X6P07sAga0wqSqlk1yJ/Sw8tAHEQc16tXBlAmxZogqS4DuYkvOC2pReYorQPjz+haSG1/L da9LqikvjS2UsaJNwxPVsioOdH+cx52h2qHtxoSnh0k5grW1THcrjPpPuhwrCY0d3JCOdu ZS/OMDATjqHoNXri5rsqGGq87xIcSU+Dl2aF5+c1C9SZCTmlVoit9Ux93yWiZFOyisCTHT VwnmAbkVm/RT3N+9YlAVFf1KkyTDiIGQQlxMRsm3ruOk8edoq5Wt7/b4RqI6S6N34FlXkm KmS+0ty5i4BtXnkvZAn4OtM1f6IXxf+emWtrsDWlL1/7ivykNoOl0kgaJlpdug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769522772; a=rsa-sha256; cv=none; b=Dp64WcMAdPzbuGGH2lu96cDIxngLOyJ0oWR1waeye477tP9FQgQ1RVHMGphxv1ogSDdXSx sC5vA/qA/mXjaFOC7egwyRLL4e1jeTxoufX0lEh8wNI6QoYYZ/jv+gs+MzZQimA11tyLj5 XUuW/Rk6SrSmjBjH4GaF6wW3G2N7Fj3lXFfjwkTXusLoLuuBNMtsRXW4X5lss2c5kKnnie gK7WV45RXijTPRP+Ejwn69LPIJ4q4yKEGKTXOKEXm1WX7amEAoK7Imc9BzORR4cuvzmgNL 2A0SE8x44CAPg0bvIF2y5gbyk+d9FQJgHvIuUnanVhHDd4Uj560lmTXmtbtJrA== 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 4f0nJ41kntz18V5 for ; Tue, 27 Jan 2026 14:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 246af by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 14:06:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0dba3626a13d - main - RELNOTES: Document a pf enhancement 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: 0dba3626a13d9c90722c88accfdd84915aeceda7 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 14:06:12 +0000 Message-Id: <6978c654.246af.6b408dff@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0dba3626a13d9c90722c88accfdd84915aeceda7 commit 0dba3626a13d9c90722c88accfdd84915aeceda7 Author: Mark Johnston AuthorDate: 2026-01-27 14:05:42 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 14:05:42 +0000 RELNOTES: Document a pf enhancement --- RELNOTES | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELNOTES b/RELNOTES index 09d497716fd0..18649952c7cd 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. +b0d997095022: + The pf firewall now supports passing IPv6 packets to divert(4) + sockets via divert-to actions. + 0fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df: LinuxKPI based wireless drivers, especially iwlwifi(4) are now supported on RISC-V. From nobody Tue Jan 27 14:53: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 4f0pM205bMz6PwmH for ; Tue, 27 Jan 2026 14:53:50 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.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 4f0pM139nnz429R for ; Tue, 27 Jan 2026 14:53:44 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b88593aa4dcso611669366b.3 for ; Tue, 27 Jan 2026 06:53:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769525623; cv=none; d=google.com; s=arc-20240605; b=QTA2nqx0gjvkOSlhy4qyxqJZKicSN74yzZm37ne1jIRRUc3VUcVDi4s4YtVOZKOXI8 L07UeUCdliWltS6q2mPZsk//sjLdrZC+FHlG8SKJRdIFlGF4VXCdWOdHZeyE8PhabaWL Py+mfacRGpWmYNeyyMElgvaoLn0LF5qzK34pJRYMBbsONYndm6I8LbX4jZxnton/Ydsg JPeW9WH07YL3U8gNqSDL/nkYSjUYJYrLPJSV8nnXwBgpvqpRvOLEkHFCcSiJvGw3B8Qa vcFHWifqojXJe79XksKyw6o+1XvM1Iwr12c5kmbf69i3nQRcwiGzHZb0Oe4maUcdaO4H 6B4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=SrrgX5C2nsUAMlRHv2/tCho2/eG9PwtRErV1W6Vm7z0=; fh=qGMTlVWALCSoaNXNXTU2Wz5MoiYmo9f0vV2TgZE0U+Y=; b=G0aPHpcnFmvUcD2UDeHcq/hPlb5ha7TNTeZaf7DQHYn9BsjwN6q5vZHgxOytvAlu78 gg4L/IS1W4e9ozUvOM00BCgVpTngZu3z9+8O4yFex7Mbm/XDkHnGqJx2gsXfz53pttUp GR6+k6FiK5f1JKfS6g+oODHwXkDFse9N0MQSt21cEXFd6FfaC3DwP/Uncny1ndn61Hva LnQa99vHVArRJxhrUh9qipIhnXRXUTV29xAm2Uz+OqWoBLdpa/37fcHHH/y889buNxqn fNlD2gbbwvTt0/Q9ETz5AXylfTzPu+GV3n2U0bdLVNCJJuqH1dg38Yu4u3OKbke7t6pV u6kg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769525623; x=1770130423; 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=SrrgX5C2nsUAMlRHv2/tCho2/eG9PwtRErV1W6Vm7z0=; b=W06EZO16HXSsmj5gfdiXIxl6pJxkbHsyGrKheqPuSYFYIYm770Njz3RmldkwAVgsf5 YlzHVv1QHa8MhG7n+UlxS88057UeFNmVUgiuJZfjwbsSsW9AjczZWcZ/NXohBXYVcmPz JdnyTRC3SyPVomfyKrYFDMFxJAWtdGLUUPU6d11kJLOSO9jnfHb9LVxtpXJGYIkOYBkO 4MHL+yL6QSvFrluhv7fkKT8YX1/ILtsFdADRB48C9QoqYwzpomEp9Gp5fCC7/mlteUXk bXroeYAvjWqXDQrTeVDOQPpaMfaSNGdIpCOSoYeUYFuv+meDW1WWFIgOfu4olmmTEMvQ Bsjw== X-Forwarded-Encrypted: i=1; AJvYcCWjbWoZjk+4wueYhQxYBa8FNOZzneOgttdlo2Cwr22HSlL8Od1jtttQuPvFeAQ0lpmkPZWnEFS8YTFS92QiIDJYUx08zg==@freebsd.org X-Gm-Message-State: AOJu0YwnGeyH/WP8kjp8epqsbXSnzBv8ouzQEoNKo3G+ECUCCAQsUgf7 fqjIDx5VEP0f37j+Q3mveRNHFLOT5nStZWB2DI8zIM8ehBLfR3tWpmBhBP2H3MVKgkGbTfgMtOK LU1G0ZRjYTMgtNsqMzQyFXrfHVFkSois= X-Gm-Gg: AZuq6aInVPlFnuxRwtO0EnfkU9xJ8q7bj36ULl3WK8K5p8tPfBAFUkEXg4xioPWjlVg w8nHCxNnflCryP58vKREXZH8DL7f3VIcUp6Vmxqjw3GCNAscLkZ0cH1oowTXL/CIwiGNQl47ADc GWk2WKkihp3zUhga95m4RVShbM4uEgym2V7VpWgloD5Bj3rlgT6ZBjl5c16qoi8l9J41cQdPEIH BMDYSLmUHrmAdAArl+HlM5Q/LQsv5eqJHCqWDhgwozFQCpmDLAmE7TIn/AUwWsbMApPXvRWRD2x zezY0LqOc8kKEEVvaVOzkQvL9k3/pu8KWgIDLPSd0JLORtYHRNrGBzNfzgNZx1Qc42o= X-Received: by 2002:a17:907:9816:b0:b7f:f862:df26 with SMTP id a640c23a62f3a-b8dab1c9d38mr172066566b.14.1769525622355; Tue, 27 Jan 2026 06:53:42 -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: <69777c2e.30e31.77b9dc25@gitrepo.freebsd.org> In-Reply-To: From: Alan Somers Date: Tue, 27 Jan 2026 07:53:29 -0700 X-Gm-Features: AZwV_QjhJCze6zCR2m-dNSQ-sEBKHnQpGihT4pnPTCLDq9573doiFCzFPDHhD14 Message-ID: Subject: Re: git: 277539ae7f2f - main - Add tests for pdwait To: Ed Maste 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: 4f0pM139nnz429R On Tue, Jan 27, 2026 at 6:39=E2=80=AFAM Ed Maste wrote= : > > On Mon, 26 Jan 2026 at 16:21, Alan Somers wrote: > > > > Does the capsicum-test[^1] repository exist primarily in order to > > support the capsicum-linux project? Since that's dead, does it make > > sense to close down capsicum-test and move the source of truth into > > the FreeBSD source tree? > > Probably. David Drysdale has continued to review and merge patches, > but indeed FreeBSD is the only consumer. > > We can trivially move the source into tests/sys/capsicum; I have > staged this in my working tree. > > I'll send a note to David to ask about the Google repo; perhaps we can > update the README.md there referencing the move, and then have the > repo archived. That sounds like a good course of action to me. From nobody Tue Jan 27 15:02: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 4f0pXy043Zz6PxQd for ; Tue, 27 Jan 2026 15:02: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 4f0pXx6KDTz43tx for ; Tue, 27 Jan 2026 15:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769526145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L3g59S2/O2JFEeoF5wd/4TphMDw2svlivRsbrmgiREs=; b=kdDnuMyf2x492V4B+DPdFX89HvP+aMHmNrq4YKn2PSt85Cm0anGPNZJa4NGWqS/kx+Ntut jN47AE/gL48XHor0pu5i9gDej59WrcmIzJU8tMBPdbkrmnAXBlrw7Ig3fDo8q7Ujpv50GD nnfyKwsm3uOq0w68FRyYGLlY/jLapFyD4A+vBnBLRj2+gbKtuWI6IcPAXK5PEdMyBEUFP5 /GYB0EEFxsrYTK2PLMDUoTCLUt9cyqD7zK3Md2C9wyDu3NZWWpMgtetaf0L368ZcozeGib Y03mOH4D41Il8TtOCORBHEw2AMFNnaqbIHy98H1MtlY2PBsMTG25lKQ1mHi74w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769526145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L3g59S2/O2JFEeoF5wd/4TphMDw2svlivRsbrmgiREs=; b=ekRUIcgI2muTaZ0MvXqgffsKuCeX60j0zlbCeKm5tzmU4ABqz1WEdMC00mNEAbzopQm/GU GmtStQh4yTRVL3BVKdO6WoWfLx5YZ7xbfIp/Wl2eg7aUvuj9r16Kw9Tf8P1yIP1vYI6Q+r hjTjKM2KBmWXUX7JhBn4SiW/lcwthuFNRlqaDWwi+fehqn2YOTWpc/jIkExFY5hmGvO7pH npIBT2t5DRVNcYh7ORB73QdplSTV0JFm9Zn0D+7jSdfFwhqHKt+5QjpGDrQoQux4uiXaBk JRPvlOF/Daw4mXDibGVyzjhpCMiEvqV0B8aIHKotq0Cy568UzEqk32przjeC7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769526145; a=rsa-sha256; cv=none; b=ngQzbYG8SWsyKwG39mHr2HdlCpWqEwKecL8G6XmcYGZ1I2UEdCLuoi3EOlf670BN9WNbkq pKFn9ionNtkOgxAE/HHFPEKhIixw9OM3oWy+FTG7lY3tbQ5HMlDgC3qaoSn0IAH5lzfDqn Poo5s2WKS/ErjI/M2qgUIAdS/p0YMxPtXRSPslaHiBgDyiFdSqnST2beEZ6Q+cJ2/8JeBL 3SxB7CkPMQFo3iXqkd4781iIlF1xbk8Yh/guF9yEUwiYj9ajrBe6upTynXRJf9zzacU0Bc hvEL+fOLcqwf7kMMcSe7MmP3+8CvR0WtnT1PVI95km1THZK8Se6ltHe1eLFH9w== 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 4f0pXx5t8sz1B6K for ; Tue, 27 Jan 2026 15:02:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32057 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 15:02:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0f1e1350704a - main - ip_mroute: EVENTHANDLER_REGISTER does not fail 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: 0f1e1350704af555a4b30136f5f3d16db6f2dc51 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 15:02:25 +0000 Message-Id: <6978d381.32057.4ece9894@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0f1e1350704af555a4b30136f5f3d16db6f2dc51 commit 0f1e1350704af555a4b30136f5f3d16db6f2dc51 Author: Mark Johnston AuthorDate: 2026-01-27 14:56:55 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 14:56:55 +0000 ip_mroute: EVENTHANDLER_REGISTER does not fail No functional change intended. MFC after: 1 week Sponsored by: Stormshield Sponsored by: Klara, Inc. --- sys/netinet/ip_mroute.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index f9efdc419882..a4ad634b3d3f 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2834,12 +2834,6 @@ ip_mroute_modevent(module_t mod, int type, void *unused) if_detach_event_tag = EVENTHANDLER_REGISTER(ifnet_departure_event, if_detached_event, NULL, EVENTHANDLER_PRI_ANY); - if (if_detach_event_tag == NULL) { - printf("ip_mroute: unable to register " - "ifnet_departure_event handler\n"); - MRW_LOCK_DESTROY(); - return (EINVAL); - } if (!powerof2(mfchashsize)) { printf("WARNING: %s not a power of 2; using default\n", From nobody Tue Jan 27 15:02: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 4f0pXz1MZDz6Pxmq for ; Tue, 27 Jan 2026 15:02: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 4f0pXy6sy1z43cq for ; Tue, 27 Jan 2026 15:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769526147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zCMMQcTjFkcQQe7WfQYK7w0Z1tM+QC/WjUsd6r4Wa0g=; b=fwxXuwRK7pqXcDsw71V3HmwB8pMvIFHshk9Zqg2sA6D9r8DlvhCxIiQu8GxvP9RfZMPG08 qvdfWWBus1CyomwFxCZNVEglQvisdxh0pCjYPqkYv7ZNvUb2LLCMe7zF2emmP7u96GITRV b1PT9FjZ4ieUgaAjAmi7nDt8aduCLNzunKNxKud1sVccVmyV2accduM+tXECwtNrgWiYcr vF0g0ElHyQdtxZD69P61wSxY/1WvnZll0QKcct6auhIddTI+cnQHVzfoGXZKXL2yLSil5C C+kA0KLkOstgPdCGjKvrvzJaXgEJx3wNnOAOLEjkIEx3yfZ928vIbGSPSJzTmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769526147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zCMMQcTjFkcQQe7WfQYK7w0Z1tM+QC/WjUsd6r4Wa0g=; b=LpYMMAlo91Hg4Zl/LA+keKQ1iNL3g57rSl1N7Ei8gF5L2Yo4rLA1GKkAoiwIMTT8bV0BPm zZVYEthTCLKE58CGKBS1gghYEFJ2VDpQDzOVvHG3NXgL6vvhGiEZL8lJR9gVAHlFmLqZBS VeofDxcqMTxU/Q2xe/y5Mi0az4OM+nNX5XaKR7NbVCEPQ7sHV9cvXTecnXEVjubHnDOYEJ wCo9XcBgK7v+LUaL0vdbwJaiplmuAunRBl5RKx//YexvRBT1q27rqn7u2eyIu0rHr9YruE hWQyqR9yv0dVYaRbG0J1w1dxoq7aKegXbx6/e3F/vg4ABLdJ4QGi6bODXhUyTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769526147; a=rsa-sha256; cv=none; b=VeJ+oZfIOfXxkXlgz09v0uPfq8MREoZ25nk9bK1vNFcjPzLg63W3AOtD2xR4oNEvJjiG4Z 7Wfgwahd9M3pBPIAYnFJGndYMW/ZrRoPJDDEi5RgyyT2LKLkP4McLeKyiXfLZ1CpQ3lxK/ WeIdfcTeBhKXLdzfqzs90lvhy+UjjEX7LWSKCI2NzZB+pYD6TMYV/ZLrnovc0pj9Of1nNF /+jJs//xpNiKqXEVohAgIzJpmtjtDo7qhei5edQtNryLVeuPUc05BhRtY6iFEan4pezHJX +Z8N2xjd7H0pKOwOtAo9BQQP8Xa18HWYhgSGTFIXn3XTGYsjfQ5Y+Yu1jfyf4w== 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 4f0pXy6T1kz19yM for ; Tue, 27 Jan 2026 15:02:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32b93 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 15:02:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: ef389b7f581b - main - atf_python: Fix a typo in a type annotation 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: ef389b7f581b2500c0e18c0989a54465712cd175 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 15:02:26 +0000 Message-Id: <6978d382.32b93.4c50ecb7@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ef389b7f581b2500c0e18c0989a54465712cd175 commit ef389b7f581b2500c0e18c0989a54465712cd175 Author: Mark Johnston AuthorDate: 2026-01-27 14:57:31 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 14:57:31 +0000 atf_python: Fix a typo in a type annotation No functional change intended. MFC after: 1 week Sponsored by: Stormshield Sponsored by: Klara, Inc. --- tests/atf_python/atf_pytest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/atf_python/atf_pytest.py b/tests/atf_python/atf_pytest.py index 02ed502ace67..c7b63a0c6c76 100644 --- a/tests/atf_python/atf_pytest.py +++ b/tests/atf_python/atf_pytest.py @@ -117,7 +117,7 @@ class ATFHandler(object): reason: str def __init__(self, report_file_name: Optional[str]): - self._tests_state_map: Dict[str, ReportStatus] = {} + self._tests_state_map: Dict[str, self.ReportState] = {} self._report_file_name = report_file_name self._report_file_handle = None From nobody Tue Jan 27 15:02: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 4f0pY06kQDz6PxQl for ; Tue, 27 Jan 2026 15:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f0pY01mFYz43hC for ; Tue, 27 Jan 2026 15:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769526148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o/XSl0SjtSmjJCw1dtROeOfwo4qOIfdK2DDP34ycKec=; b=RP7gn4A8DilieGzCxl4234rS618MXkywphW5Ypi4l65v1xfElhKH7DSTdGQqjD5Ql3Bi86 49GOlXCb4OEXKXmfEE5meZxXv3apXPsCqxGMJn9TVyAMAuBjyQlUgP7UV1DSWQNRa1J25h Y9X7nuCfteoHIEwD8Nu14ZxEfYgOBwh2ZZY0t43K3bE7ImXpOoIY1G/75qSoEdbmEFJkDq 1i2c+8PVlpusfqL+4eTEf/kUWsjcFAk3oSVQXML5g7kWX7URzL+I8xxe1qJPRXuONu0qvb Bi+5btV4MT3xfexF37gzpFOqHVVebOyWPz82YGSysAjHpuEzQcoS4AUPJO16qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769526148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o/XSl0SjtSmjJCw1dtROeOfwo4qOIfdK2DDP34ycKec=; b=w+SPq9ycqXSFlfRM7dk8+5sxtbYdY5HRRZiSPi+O1r/PKl6HJG6rOArkqtlYGMkg0OWR/B Uxt0u6XpyJmE+FFJPUByMCFf+yEmCjtrfNtVTf1HmbYkogAR5oVNMS21cEJKBx0V19usf6 bM92GN/gm0x+ywBBFGYdX+rS6KAOF1cS4Ws6bbntSKtNTSNkJR8hJTuT2K8+qrTFKEHg25 00A56QEVFVG8XtMq60qIMx7JaytvJDEHR/33jNX/4F5PhSNmOK/cGpwbh1x0xYvLTVvskF KAF/B0Ff/K17mHVK6jkqqLo8js48+y2IZp4uqXstm84X3M1pm9caENeeMWFUbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769526148; a=rsa-sha256; cv=none; b=lwjaw3lSvli67/eQ5CLMh3shGht0fub+yoRaN85Njn7ploTezA8RImJxzo8Ru4S9zrNaGq 5KqSfmK1/6CkdVRr3DNqS+tkz6JwVeYqrXKWvg/+9PSbS4Ji7WTCvIUBjgB173i5HY2DnF S2aWu8As1kOKJMl38b2yQvO6yjRKu4GTe99gbHBDUnO0BoRO9CWonbH4Au6aWB0/Ly8m3L ksYYiHR6omm/Zx7Qcoy89mtyt0niG7Fwc7d99XKg/6kI1zKMDMI4xga8NginC/kNrmkGvz CKULyFmdUek+44hjYOB4VNuVkr+evEkbfPUm3QzC+N60chA4xq5vXhhslmWX7w== 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 4f0pXz6wGXz1BK6 for ; Tue, 27 Jan 2026 15:02:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31d63 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 15:02:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a265c8b4a5a7 - main - ip_mroute: Convert to using a regular mutex 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: a265c8b4a5a7c8fdd33e27b8f74bd2a514f82c70 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 15:02:27 +0000 Message-Id: <6978d383.31d63.491036ba@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a265c8b4a5a7c8fdd33e27b8f74bd2a514f82c70 commit a265c8b4a5a7c8fdd33e27b8f74bd2a514f82c70 Author: Mark Johnston AuthorDate: 2026-01-27 14:58:02 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 14:58:02 +0000 ip_mroute: Convert to using a regular mutex The multicast routing code was using spin mutexes for packet counting, but there is no reason to use them instead of regular mutexes, given that none of this code runs in an interrupt context. Convert to using default mutexes. Reviewed by: glebius MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54603 --- sys/netinet/ip_mroute.c | 35 ++++++++++++++++++----------------- sys/netinet/ip_mroute.h | 10 +++++----- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index a4ad634b3d3f..ca32f381ff51 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -606,12 +606,12 @@ get_vif_cnt(struct sioc_vif_req *req) return EINVAL; } - mtx_lock_spin(&V_viftable[vifi].v_spin); + mtx_lock(&V_viftable[vifi].v_mtx); req->icount = V_viftable[vifi].v_pkt_in; req->ocount = V_viftable[vifi].v_pkt_out; req->ibytes = V_viftable[vifi].v_bytes_in; req->obytes = V_viftable[vifi].v_bytes_out; - mtx_unlock_spin(&V_viftable[vifi].v_spin); + mtx_unlock(&V_viftable[vifi].v_mtx); MRW_RUNLOCK(); return 0; @@ -1004,8 +1004,8 @@ add_vif(struct vifctl *vifcp) vifp->v_pkt_out = 0; vifp->v_bytes_in = 0; vifp->v_bytes_out = 0; - sprintf(vifp->v_spin_name, "BM[%d] spin", vifcp->vifc_vifi); - mtx_init(&vifp->v_spin, vifp->v_spin_name, NULL, MTX_SPIN); + sprintf(vifp->v_mtx_name, "BM[%d] mtx", vifcp->vifc_vifi); + mtx_init(&vifp->v_mtx, vifp->v_mtx_name, NULL, MTX_DEF); /* Adjust numvifs up if the vifi is higher than numvifs */ if (V_numvifs <= vifcp->vifc_vifi) @@ -1053,7 +1053,7 @@ del_vif_locked(vifi_t vifi, struct ifnet **ifp_multi_leave, struct ifnet **ifp_f } } - mtx_destroy(&vifp->v_spin); + mtx_destroy(&vifp->v_mtx); bzero((caddr_t)vifp, sizeof (*vifp)); @@ -1659,7 +1659,7 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp, struct mfc *rt, vifi_t xmt_vif) } /* If I sourced this packet, it counts as output, else it was input. */ - mtx_lock_spin(&V_viftable[vifi].v_spin); + mtx_lock(&V_viftable[vifi].v_mtx); if (in_hosteq(ip->ip_src, V_viftable[vifi].v_lcl_addr)) { V_viftable[vifi].v_pkt_out++; V_viftable[vifi].v_bytes_out += plen; @@ -1667,7 +1667,7 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp, struct mfc *rt, vifi_t xmt_vif) V_viftable[vifi].v_pkt_in++; V_viftable[vifi].v_bytes_in += plen; } - mtx_unlock_spin(&V_viftable[vifi].v_spin); + mtx_unlock(&V_viftable[vifi].v_mtx); rt->mfc_pkt_cnt++; rt->mfc_byte_cnt += plen; @@ -1704,14 +1704,14 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp, struct mfc *rt, vifi_t xmt_vif) for (x = rt->mfc_bw_meter_leq; x != NULL; x = x->bm_mfc_next) { /* * Record that a packet is received. - * Spin lock has to be taken as callout context + * A lock has to be taken as callout context * (expire_bw_meter_leq) might modify these fields * as well */ - mtx_lock_spin(&x->bm_spin); + mtx_lock(&x->bm_mtx); x->bm_measured.b_packets++; x->bm_measured.b_bytes += plen; - mtx_unlock_spin(&x->bm_spin); + mtx_unlock(&x->bm_mtx); } } @@ -1894,13 +1894,14 @@ expire_bw_meter_leq(void *arg) /* Reset counters */ x->bm_start_time = now; - /* Spin lock has to be taken as ip_forward context + /* + * The lock has to be taken as ip_forward context * might modify these fields as well */ - mtx_lock_spin(&x->bm_spin); + mtx_lock(&x->bm_mtx); x->bm_measured.b_bytes = 0; x->bm_measured.b_packets = 0; - mtx_unlock_spin(&x->bm_spin); + mtx_unlock(&x->bm_mtx); callout_schedule(&x->bm_meter_callout, tvtohz(&x->bm_threshold.b_time)); @@ -1986,8 +1987,8 @@ add_bw_upcall(struct bw_upcall *req) x->bm_time_next = NULL; x->bm_mfc = mfc; x->arg = curvnet; - sprintf(x->bm_spin_name, "BM spin %p", x); - mtx_init(&x->bm_spin, x->bm_spin_name, NULL, MTX_SPIN); + sprintf(x->bm_mtx_name, "BM mtx %p", x); + mtx_init(&x->bm_mtx, x->bm_mtx_name, NULL, MTX_DEF); /* For LEQ case create periodic callout */ if (req->bu_flags & BW_UPCALL_LEQ) { @@ -2014,7 +2015,7 @@ free_bw_list(struct bw_meter *list) /* MRW_WLOCK must be held here */ if (x->bm_flags & BW_METER_LEQ) { callout_drain(&x->bm_meter_callout); - mtx_destroy(&x->bm_spin); + mtx_destroy(&x->bm_mtx); } list = list->bm_mfc_next; @@ -2115,7 +2116,7 @@ bw_meter_geq_receive_packet(struct bw_meter *x, int plen, struct timeval *nowp) /* * Processing for ">=" type of bw_meter entry. - * bm_spin does not have to be hold here as in GEQ + * bm_mtx does not have to be hold here as in GEQ * case this is the only context accessing bm_measured. */ if (BW_TIMEVALCMP(&delta, &x->bm_threshold.b_time, >)) { diff --git a/sys/netinet/ip_mroute.h b/sys/netinet/ip_mroute.h index 2c71dc10dfd9..ed98e59a7c77 100644 --- a/sys/netinet/ip_mroute.h +++ b/sys/netinet/ip_mroute.h @@ -262,9 +262,9 @@ struct vif { u_long v_bytes_in; /* # bytes in on interface */ u_long v_bytes_out; /* # bytes out on interface */ #ifdef _KERNEL -#define MROUTE_VIF_SYSCTL_LEN __offsetof(struct vif, v_spin) - struct mtx v_spin; /* Spin mutex for pkt stats */ - char v_spin_name[32]; +#define MROUTE_VIF_SYSCTL_LEN __offsetof(struct vif, v_mtx) + struct mtx v_mtx; /* mutex for pkt stats */ + char v_mtx_name[32]; #endif }; @@ -350,8 +350,8 @@ struct bw_meter { #ifdef _KERNEL struct callout bm_meter_callout; /* Periodic callout */ void* arg; /* custom argument */ - struct mtx bm_spin; /* meter spin lock */ - char bm_spin_name[32]; + struct mtx bm_mtx; /* meter lock */ + char bm_mtx_name[32]; #endif }; From nobody Tue Jan 27 15:29: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 4f0q822bVNz6Q0Wk for ; Tue, 27 Jan 2026 15:29: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 4f0q821kZ1z49T9 for ; Tue, 27 Jan 2026 15:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769527762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YYGVIvd0F3WhmqXJmRtMITifSVVSI8hg+bclwpDBxRk=; b=BjwwHknVbbnTHRVinqKuaQBxdzPxhkL5rc1Hojs1MAdF7U2XOYOG4bKfQIE+DmiWyX/dWc /cuhDmufKOv95BwQDUPH8ugiaa9besopuy87ufA8/Q+Uhr1LGpsn9+/CGqXZ/vH4dMbE03 zdGixOtHji/GHw3GKb3ANqAUytAGEs5jYsh8uCQB/WXj8k7M2bHOThwFwlyH/JIgfV4bNC Rof3f0cwxKTxy/fCLWhjoxMlr1Ln9PafDuJCPX2WVLVekGbkyHouDVb97db+fCJbc2kjZQ m2QSU9FeMsydqwFMG+eKRQkKzGpVX0haiEByBTbUHaPhdrwntxnqT234jowJ8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769527762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YYGVIvd0F3WhmqXJmRtMITifSVVSI8hg+bclwpDBxRk=; b=fJlT72NVOTYUIkdpadVQzx04jiqwafPpOFmR2ViOwneOuoau6B1E5Hzw8b52f+dKa3PsSF qPou8iKBVJ3RzVyM+LR8F1c1Gp2nXNOqyKMP6teKPwjgoDyPHMXvGeaE7hWqJxETItSA2A rI7u0wLfIbr87tfWCDSK5AbHPtgaUmBU6iqup+lDzEg/RV4nRAt8QEkolipRUInMD8q87L fuhZV/5PsLfLd6+R5kcf97uf3um1lCKUrjfXfLNdPdnux3XWif/i2C6hejwV8uzZGNocGq jQNVs2uHgSdw3TUP0L/NOzvMLu7ySPOn/gkw6fSTl/bieEmN9QJnsRZ82x52CQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769527762; a=rsa-sha256; cv=none; b=QjtqJWwDEv/t5BAb2utDcYr4pi5KU9Npdtxk3b+FceQPlUyRRvYs9dZq9CMcDmbOv7NAG9 xOgTqiE/rY/25k6zlxvE+HOu7fTzY6SiPNR4PWZd0kLF0Oeuh6c7Oz+wAm5Fa6Tt/M8uTL t+yj1KjY2AdrAJqaTQzi8jZPMizi26HNV1OFq6tYXBLuJLvTC4uj7ZOno8mkWN2lfyKHsl IEfTfsdIVJrcWKnwAOEu+LMh1L22Yn6aCv9y2UyJamQqLrb/mZA+SOtSldU84vKeMBsKGv WDXy5iUgHAXsCciX9XnW/+Wopj3gWZ+I2DznrzO11SI94up1FfMavesKt9gphQ== 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 4f0q8217Kfz1Bbn for ; Tue, 27 Jan 2026 15:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34fb5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 15:29:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 5b036b258533 - main - CODEOWNERS: Add myself to capsicum-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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b036b25853349cd3cf26495e628276f79f29c42 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 15:29:22 +0000 Message-Id: <6978d9d2.34fb5.3729fa63@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5b036b25853349cd3cf26495e628276f79f29c42 commit 5b036b25853349cd3cf26495e628276f79f29c42 Author: Ed Maste AuthorDate: 2026-01-27 15:28:39 +0000 Commit: Ed Maste CommitDate: 2026-01-27 15:29:01 +0000 CODEOWNERS: Add myself to capsicum-test --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0bc99da6544f..ad6262c3380b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -34,7 +34,7 @@ /bin/sh @jillest /contrib/atf @ngie-eign /contrib/blocklist @jlduran -/contrib/capsicum-test @ngie-eign +/contrib/capsicum-test @ngie-eign @emaste /contrib/googletest @ngie-eign /contrib/libcxxrt @DimitryAndric @emaste /contrib/llvm-project @DimitryAndric From nobody Tue Jan 27 15:52: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 4f0qfg2382z6Q2cV for ; Tue, 27 Jan 2026 15:52: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 4f0qff41K9z3DY8 for ; Tue, 27 Jan 2026 15:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769529146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5b1ZQP/DGi0h2rM/7NtoBsDQeZPoaMdHZi1Jiofj4AI=; b=YOiiA2GoYpiFbSTRA8bPOxWnhOe+DI5C/RxixwJiIE1QZFGkqiS+UWgWZJA5lXnjZ1n5yd uZx3iPd4uIrMAEfNwhJTv/jOdbk2yS5IDSEnKV7/0aumDqsfaY0h3nWlK1SHdaq42lXMbr oTQSAm8LWPophJI8VODT6UrACvOXHkd0br7CxwS27vLZ2+g7lwEaEE+qS2lP4q8h1euliO q8bdjU1UNwfl6kBR1Wr2smzy+8e5Ym4Ib4t/FQbyV0KVi8bND/RRd2vGhq2eoZE/GhPs4s h3nseNvKNdpI0Ldfr8U/L3z039xh88Fye9nmgBaI4qg0s6iK4584NpE5dtN/vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769529146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5b1ZQP/DGi0h2rM/7NtoBsDQeZPoaMdHZi1Jiofj4AI=; b=kHKlAH5muQ4WekawBv4JBctodx9MELZdwk65Dh+QKnW9KXWdY2JIf4GVm1xooKTwlW2+ce UwIdJOD1BISRmtwZJ+09YYbvPEoKAcfCJIRXCtPyLSCtDHZRlXZS+kMpUemL2NcsVh2Xbi aJlR4NZ5erLkefzSZty2qjS5P/cez0sVfJF8wc9ZajE4Dbq/NY2YV6aNACMnZeXOVyD479 w4rpLG5pROHx60P11xnLuw8OxxsPeiaOTMqbJWpuPR/XweV7YE+b7LgK7pEzSQyXWYkr2v tGT4vTrrJOhzbjtkmzmFzwa1hRfjR3c8gwsXOX4ytTHbp8AJ7K8JRKae1W6CuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769529146; a=rsa-sha256; cv=none; b=NmXIGqlLo1ZATKcW0O1gIyqivVO7MsyrQsNuHpdTa0SldVgew+nkw2oA7MPV1csfsFJKob U+eAvGC97FxeUgWj1Uc9x3TQzHsFwyax01+2f9owd085tJvQsHF/BLBXG9dRqyjzB5IyoZ yPOFF82iJdFgGrBggN3bAVXgD4t8QTzwzauP3nvUW9cSBHWDy7gCpA9bAfD4cqTczxYXDO I/657BFIRZ9mdtlj5lT2JN29ZPtm5jCCpBLouCzYZ/SoW6N5uJ1WxmgaMhzXsy1PhgR2IM DkmoxWCiuNA2nXRTVtVN8vccr5sVAZE6OL7jGLKUpU/vLUPl3Yz3PeSbDTfgOA== 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 4f0qff3Yywz1CFS for ; Tue, 27 Jan 2026 15:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38501 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 15:52:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 19a913c4ed9d - main - CODEOWNERS: Add myself to Heimdal and MIT KRB5 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19a913c4ed9df1b220dfedfe02ee4d8d90cbccce Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 15:52:21 +0000 Message-Id: <6978df35.38501.39e2a988@gitrepo.freebsd.org> The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=19a913c4ed9df1b220dfedfe02ee4d8d90cbccce commit 19a913c4ed9df1b220dfedfe02ee4d8d90cbccce Author: Cy Schubert AuthorDate: 2026-01-27 15:47:36 +0000 Commit: Cy Schubert CommitDate: 2026-01-27 15:52:04 +0000 CODEOWNERS: Add myself to Heimdal and MIT KRB5 --- .github/CODEOWNERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ad6262c3380b..d602cd25ad86 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -48,10 +48,14 @@ /contrib/one-true-awk/ @bsdimp /contrib/openpam/lib/libpam/ @dag-erling /contrib/pjdfstest @ngie-eign @asomers +/crypto/heimdal @cschuber +/crypto/krb5 @cschuber /crypto/openssh @dag-erling @emaste /crypto/openssl/ @juikim /etc/mail @gshapiro /etc/sendmail @gshapiro +/kerberos5 @cschuber +/krb5 @cschuber /lib/libblocklist @jlduran /lib/libc/string/ @fuz /lib/libc/*/string/ @fuz From nobody Tue Jan 27 15:52: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 4f0qfb1k6rz6Q2Nr for ; Tue, 27 Jan 2026 15:52: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 4f0qfZ58Zsz3DtG for ; Tue, 27 Jan 2026 15:52:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769529142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PdCNz+XanE2V7XrGes3cDgPDleWnewd83DlICe3CQ64=; b=GQFwNzqRdqXgJSthviNwrzD7M76YCS+PNnFCyC1GvPTxYGXtmkb70wrnInamPR4pPPhJOs pWPTppM5h5R9RNY1zxMmMeLngpyRnC4Xw+YV5z69THMSpXUPvonMJkKABzGLbPtyBCqimN DCeSW4QbM/NzlStBUPPi78YQi8/xizGeYlHdMJw08sPvMT9+gB3UG9pA2oAXG04DUtzxpq hE00M0cAtJO6ifoKk4dZd7cLgpcVfhtET0lnQ9obfGs9FBARbgbXE43Rh7DTPG63r3DHqR UXga9rseAX7DqCt7YQLS9BSZt+p73Z5vu+LDD2n/YC8ANjdiFnG/n5gPR68ACw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769529142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PdCNz+XanE2V7XrGes3cDgPDleWnewd83DlICe3CQ64=; b=R7i2/fkHhyjPuZv0X80nvSI0QamOPvtHEYBwtsTtmw3YEQQunosfyp2E8cjh9rv++1Q2Gt swMdEjvc6OdqNLwJ+wDMbWkOykYd1NpI9Au64veXzXvAJaZ229+wVEYePmXYn2EedtsnIJ CgbpAJSmYZkt+UMQE+HJ8w++k+3INacLVtUQGG40Fy6z77Tc1qTCdtlrU7MAjRkzYBQ9aV V7GW/8Koz56Xh4uvU9i+8lotTk3u9kxx2QS70OrReGAQ+C1QbVns3lvhH91wc36cSKkhTJ i/ToBTxefOkp0SuIz72csIMKiIoo8aHX75qf1LCsevUFHVjU6AkYO8xedAW4cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769529142; a=rsa-sha256; cv=none; b=g4Tc9i0WKmbFvsDiiRmlQRRjpFKMAk0A9NztJ9sG4Mc4VdUbgyt8RGD0QWPrjq2Orexxv5 uKZtl4u3HZzT/32J1A0LnV2aFekazBjIir5DanIZr+zq1gYNlDp0uzDoV63bwpufO1+6Dm 1b4BQoON9kLU4Xgvd+VI+m+0R3q9rgN2IPFhn/jRfjhS17gBbInh1ip7dqf1T9l6zQoIqP 4vRda9E+fIDPDuloG/AD9vnGEEhULrWP1jj0fUWGtkXr+Z+qs5NqlWhoH5NI0bZ1ah9I/N ZescTshnTWmag3YNUCuxMmH3tDGr2T3MkqI7ehaGD1gdOb5fSK39I7b8B/wkHg== 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 4f0qfZ4YTWz1CR5 for ; Tue, 27 Jan 2026 15:52:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 378b2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 15:52:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: af9d11303c9b - main - CODEOWNERS: Add myself to WPA 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af9d11303c9bba56d78c79d2b4832f3549f4f0d3 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 15:52:22 +0000 Message-Id: <6978df36.378b2.77010946@gitrepo.freebsd.org> The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=af9d11303c9bba56d78c79d2b4832f3549f4f0d3 commit af9d11303c9bba56d78c79d2b4832f3549f4f0d3 Author: Cy Schubert AuthorDate: 2026-01-27 15:49:29 +0000 Commit: Cy Schubert CommitDate: 2026-01-27 15:52:05 +0000 CODEOWNERS: Add myself to WPA --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d602cd25ad86..172a2eee5263 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -48,6 +48,7 @@ /contrib/one-true-awk/ @bsdimp /contrib/openpam/lib/libpam/ @dag-erling /contrib/pjdfstest @ngie-eign @asomers +/contrib/wpa @cschuber /crypto/heimdal @cschuber /crypto/krb5 @cschuber /crypto/openssh @dag-erling @emaste @@ -135,3 +136,4 @@ /usr.sbin/blocklistd @jlduran /usr.sbin/lpr @gbergling /usr.sbin/makefs @emaste +/usr.sbin/wpa @cschuber From nobody Tue Jan 27 16:47: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 4f0rtZ2Jz5z6Q5xf for ; Tue, 27 Jan 2026 16:47: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 4f0rtZ1C9Jz3M01 for ; Tue, 27 Jan 2026 16:47:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769532470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s4I2ItBiBD5sH1HMgUZS1VQXOfBMZYSKNGAKIp+EsKU=; b=kuxE+TRWNUeUr2Tc+gPlG8/WPV7dadZ0BtkT/PLKl9SieIPOfiOIWunGrGI9Pkgbbw3TQT +ua47dV0fy9tMmCafk+kGqTIECYk1UVtktje0UqMszzfHua1CgqEZbGLhKBLNPWrnLKGiK I9XNkiBbJ70JVB6GhJdmPYlcj5EIQ1Xb2z9VG7IWt0bxyGg82X9KbVgEsr6dDZukTiNelv C+ypJ6QBhs4+NUO4qzJL67RvJHNja7mlHxO0gJgt56FwbRx3kMPu1REs2nEnw0tcb99mDM fER+KTiQIbyl2JutLYZW86gJWPtXVoZr0kwi4Vf/eH2KdWq2zWBpDIqBFo1Ukg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769532470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s4I2ItBiBD5sH1HMgUZS1VQXOfBMZYSKNGAKIp+EsKU=; b=w8jLgmR7QXPDgWvPN+WAcRbM4tRS5oBkxqGB+uCeixlkKIUkDE1//jwHOwwJKyh7R9vPnm qGJtNQXtXGSfgqV4tV8XY0y+3CkJmipa2DzQQbjUjADbDAh5bDWOlRMYWnZkjPize9VD4z qzUolsM/Ax6pUWH/2Xw8Zk1S51UH6Oe3+8yb9dlgwuwSX3B6F2JWBDNKoCsl6DvDDWWBLk 6u4cigPUT+xh3iKnJ14rcMHAteyVi/SjIJRGt+xswIw42xHcBLsJcdPCwgOYzi5IJt5XRu XkJ9QRkf1fcAhrSUQn7NZq+sElpBsMipIleIxlz4/VEPNtxF1OrBX+msb7Lt+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769532470; a=rsa-sha256; cv=none; b=QNGqm7lDc761QFzquSl9bXEuRdd6zAzYx9JP7EannhhUSvvdMX8NXav8gPTTWSi7gttPu8 NHXyT9lY0lenH17QRJxt94Z+pIcQDA9lDovTQFWfY91Szwh70imreaZ5SDXi5dugwo5DXY Ju3gue5OWsk5GOPhXuyMEWzDlvboMCRYECaJ9nxxBpPy5E8+Mi8pb/dBIkSo1ThtuOPFwt DkNlhl1UEg0YOhkFQ3jhqHxgrlPNm3Nc4kYlFHfxFPM2+DIqfpeOkPxDMyBtFH6Ecpiray xjpr0s1BbXzvh/w6RqzhNoTYl2GqUJa46O9nQEI8l2Q8Vy5HVMCoh2ssFtqzWQ== 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 4f0rtZ0mVnzMQ for ; Tue, 27 Jan 2026 16:47:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c4d0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 16:47:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 4bcc5a3cdc05 - main - btree/bt_seq.c: Fix two NULL pointer dereferences 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: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bcc5a3cdc05f217a8adf2f5f97a2e922663f741 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 16:47:50 +0000 Message-Id: <6978ec36.3c4d0.2698757a@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=4bcc5a3cdc05f217a8adf2f5f97a2e922663f741 commit 4bcc5a3cdc05f217a8adf2f5f97a2e922663f741 Author: Bojan Novković AuthorDate: 2026-01-27 15:13:13 +0000 Commit: Bojan Novković CommitDate: 2026-01-27 16:47:23 +0000 btree/bt_seq.c: Fix two NULL pointer dereferences This change fixes two NULL pointer dereferences caused by the __bt_first function. The first was caused by returning 0 (i.e., RET_SUCCESS) when a key was not found, causing the caller to dereference an uninitalized or NULL pointer. The second one was caused by an if statment clobbering a local variable with a function call result that might be NULL. Reported by: clang-tidy Sponsored by: Klara, Inc. Reviewed by: markj Obtained from: https://github.com/apple-oss-distributions/libc (partially) Differential Revision: https://reviews.freebsd.org/D54905 --- lib/libc/db/btree/bt_seq.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/db/btree/bt_seq.c b/lib/libc/db/btree/bt_seq.c index 2562724faf33..fc7fa693b747 100644 --- a/lib/libc/db/btree/bt_seq.c +++ b/lib/libc/db/btree/bt_seq.c @@ -325,7 +325,7 @@ usecurrent: F_CLR(c, CURS_AFTER | CURS_BEFORE); static int __bt_first(BTREE *t, const DBT *key, EPG *erval, int *exactp) { - PAGE *h; + PAGE *h, *hprev; EPG *ep, save; pgno_t pg; @@ -338,7 +338,7 @@ __bt_first(BTREE *t, const DBT *key, EPG *erval, int *exactp) * page) and return it. */ if ((ep = __bt_search(t, key, exactp)) == NULL) - return (0); + return (RET_SPECIAL); if (*exactp) { if (F_ISSET(t, B_NODUPS)) { *erval = *ep; @@ -369,14 +369,14 @@ __bt_first(BTREE *t, const DBT *key, EPG *erval, int *exactp) break; if (h->pgno != save.page->pgno) mpool_put(t->bt_mp, h, 0); - if ((h = mpool_get(t->bt_mp, + if ((hprev = mpool_get(t->bt_mp, h->prevpg, 0)) == NULL) { if (h->pgno == save.page->pgno) mpool_put(t->bt_mp, save.page, 0); return (RET_ERROR); } - ep->page = h; + ep->page = h = hprev; ep->index = NEXTINDEX(h); } --ep->index; From nobody Tue Jan 27 17:00: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 4f0s8j2Mp1z6Q6rR for ; Tue, 27 Jan 2026 17:00: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 4f0s8h6nRhz3P2X for ; Tue, 27 Jan 2026 17:00:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769533205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJA03oRQbtlHGp5hDv/CxVx/NzQ1xI+pF6KgN1Kxs5g=; b=lCskbcwqM/zYW/aKWwAOjOYyp/tlMjl0PZPSwfHankjuXdujPXi7x7h///mXG4Sav7Mw9V U6dm+FfwST05YuAqekkIKQivZEpFd4G+xcfNQly1oqTcNzRi58ovFb6eKeo7VCPOy9Vg// LpEok6pTQzZ9bw6774rD2C/wK1OrMEOb1NZBbF6rDZvraMOW+tErQUP2BuqYqxp+BU5l7z Oh/KzZFMY890nmFzeo5F6uz1sHS7V+ggWYDZtri58rSj3IqqKALvd0Xoxls5VcovsV9wJm IekkWj3eehXX/ZrBLIeeQFiVSvVBb25StzZNVC3Opy3DthMKqYHFQNq5SxsicQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769533204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJA03oRQbtlHGp5hDv/CxVx/NzQ1xI+pF6KgN1Kxs5g=; b=uy+lnFi19Ef2ENcZiJwnSVnRG/jb1lxgsSn1J5I1BlB3LcSSgDlF8bAbRXcQfO0TfmC3b3 YxkkRhytr/oJymLO+mAP393pxm9/GV1HmdlEAUTkKUxeliEpZKtLELg+RJTqKuCR+I62ph AIMBmZrxJDZktbgRBXnokLc4lMG194r4m4PCWAVKNxwyXPk1ffP4F7lAD8vJQ55VPBMX/e 3c3J12C0s8vSuXB1ULg/qYlZOV24Ko5ERtysXQzEE1IH7HoJhQtlpcI2MwSDgdMuCNZBmn bZ8htifby1kOfZvGUSx+VgfIqOy3INfgSyeLrlPO6aqcppe119ensXhdYWB2pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769533205; a=rsa-sha256; cv=none; b=IVDchrXLwczdxiN7CmK7LwiTB/8gdjh3j9bCpKZ5Xb0ipkvAhU+su7A3tbDDjgoxIZTwyQ RtCq0Wr9Du8636QT5jpBLF0asjORDVatLlQ6+AjB3TBvyc1jNvATYQ4N0xszSGSUeU7dqY 7i3fOlvW0TcAdoUUv985nh3rxmxr4+Wy0gnuRq59tlBZlkqHCsnprsbPRUCvKTSu12Tf9L gonT78ZOY66hhhbw/SeGApoi1pbFvMk3cCbL8kxSdL77K0XYbUmGJrFtCuwZHikDUdAkiK 8eLjK9stTF8UG5+eIVQnhdyCv6agzPvwfUyCkTLGiHdvDWuf18d8/ifEu+Kv5Q== 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 4f0s8h69Ygz15c for ; Tue, 27 Jan 2026 17:00:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c5ec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 17:00:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roman Bogorodskiy Subject: git: b01763b2b2ab - main - bhyve: make BHYVE_SNAPSHOT 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: novel X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b01763b2b2ab2d87f7d3c6ae57783c731ce548dd Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 17:00:04 +0000 Message-Id: <6978ef14.3c5ec.4cdce0d9@gitrepo.freebsd.org> The branch main has been updated by novel: URL: https://cgit.FreeBSD.org/src/commit/?id=b01763b2b2ab2d87f7d3c6ae57783c731ce548dd commit b01763b2b2ab2d87f7d3c6ae57783c731ce548dd Author: Roman Bogorodskiy AuthorDate: 2026-01-26 18:24:15 +0000 Commit: Roman Bogorodskiy CommitDate: 2026-01-27 16:55:17 +0000 bhyve: make BHYVE_SNAPSHOT amd64-only Build fails with BHYVE_SNAPSHOT enabled on non-amd64, so add it to BROKEN_OPTIONS for these arches. PR: 292686 Reviewed by: emaste, markj MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54873 --- share/mk/src.opts.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index f8ef63130326..415918e1d2ef 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -383,6 +383,10 @@ BROKEN_OPTIONS+= OFED BROKEN_OPTIONS+= TESTS .endif +.if ${__T} != "amd64" +BROKEN_OPTIONS+=BHYVE_SNAPSHOT +.endif + .-include .include From nobody Tue Jan 27 17:38: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 4f0t120Jbzz6Q9Nl for ; Tue, 27 Jan 2026 17:38: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 4f0t116W8Wz3V1C for ; Tue, 27 Jan 2026 17:38:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769535509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6UD0cC8NDkHJrx7ml+aRw0tvhMPAPcLIkSh3pjjAkfw=; b=bA2z6kjKxFm8fGvQzMvdqcwLAChuf7F9JnWzgMmxGyxPBOY2QD6SHwN7z+x2wMJnpf4Ipn syPSgg6RMFo6nJUdh3aS2hC/ZjhGXXolrWiTVOvJFmlVbA+x6j06gsioTx/Fhk1N8ZUNzw i1S3pkt+BFBy5TWRAufmikdR62a7XQg/fM2mLyGfB1TttsqQTm8dd40EOAeeer4a05lvHZ KnLspYfrZwvGKt+VBp4iFCjhVIKuVLbGGl+uDVmxc3ZMtTUNwdenNRcRQIWxOY6McYfbC3 8QV9R+rk4xmvd5YqCvbi9ZFaQ48YRDmJw0Ck6KnV8EI+6ADYh9e9qvnFYD1c8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769535509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6UD0cC8NDkHJrx7ml+aRw0tvhMPAPcLIkSh3pjjAkfw=; b=VkKGVB5ubninhlcU4BqlaNAwVk5KgDP8aEsFQjEvKYoQxzllKcHUOl7Ztvs1rC5kRHVm5M cFvZRtuZ3zsBRJADuQTf7yxOBYk7FvY+VBW/Lj11sqPC9YWkP3xFMB7HQBst3II9P9KESm 6rrFV0U9/WNSVMFWamLlHae4g6KEC7Kbwy6MPCcdrZ32sFv8S+6xjwjHnpqZ6+8j+Fgy5Q T97GA/zmvOC4wXOHK0E5aZ5mV2C6iQ+VNOB+JjnqjkP1KXx52tzrKs3SznTyrNyh2ha0GO 78FZ/G11I2chCxK2a6zSZTpuvUT9RP4/dejr5QSjUSwDzEOFMKMV4nB8m+qoKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769535509; a=rsa-sha256; cv=none; b=RwqgRVr5CrBwVr+qW9QD+9lGPBh3/oRnad0DfdcrjnTkKvPSxxm51IzC7UGICmHrlXz7wF Kbp0JSR7SUIInjJL6Td4jVH40C1A8Hf9Qs7NRhwfnsQMTmoozorq2suGcxcL/Yl9dn5zBB chb8RNb2ZItJfeW47eY8p8IXEZF7nRM1Tg+hTwFxXsxOOsKyblxiLMX6HtCruPjTpwz4Un 2idxkzIRs6PjwWEEHHK1JCYf+NQZAhZD4y4frMBYQMv8s34eND6CcdynxAzDSMMPRYW7/X DJ2KqrmsDKit+PX6zcwrMfgj+wNCKVh/HRV68GzUkh6Ry+QVDj994Xir+vLHTg== 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 4f0t1166Sqz1bJ for ; Tue, 27 Jan 2026 17:38:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8bf5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 17:38:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: d8a78048a246 - main - ipfw: don't recurse on the upper half lock in ipfw_iface_ref() 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: d8a78048a24662dc9310bfd4e4498d278fe00f0a Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 17:38:29 +0000 Message-Id: <6978f815.8bf5.6ae5b6b0@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d8a78048a24662dc9310bfd4e4498d278fe00f0a commit d8a78048a24662dc9310bfd4e4498d278fe00f0a Author: Gleb Smirnoff AuthorDate: 2026-01-27 17:30:13 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-27 17:38:20 +0000 ipfw: don't recurse on the upper half lock in ipfw_iface_ref() Fixes: e3caa360d5d0a73af0de1d293d5b8ff6e900ceb4 --- sys/netpfil/ipfw/ip_fw_iface.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_iface.c b/sys/netpfil/ipfw/ip_fw_iface.c index 7aa4a7bfbf7d..731587adef21 100644 --- a/sys/netpfil/ipfw/ip_fw_iface.c +++ b/sys/netpfil/ipfw/ip_fw_iface.c @@ -246,13 +246,13 @@ vnet_ipfw_iface_init(struct ip_fw_chain *ch) { struct namedobj_instance *ii; + IPFW_UH_WLOCK_ASSERT(ch); + ii = ipfw_objhash_create(DEFAULT_IFACES, DEFAULT_OBJHASH_SIZE); - IPFW_UH_WLOCK(ch); if (ch->ifcfg == NULL) { ch->ifcfg = ii; ii = NULL; } - IPFW_UH_WUNLOCK(ch); if (ii != NULL) { /* Already initialized. Free namehash. */ @@ -296,9 +296,7 @@ vnet_ipfw_iface_destroy(struct ip_fw_chain *ch) /* * Notify the subsystem that we are interested in tracking - * interface @name. This function has to be called without - * holding any locks to permit allocating the necessary states - * for proper interface tracking. + * interface @name. * * Returns 0 on success. */ @@ -309,11 +307,11 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, struct namedobj_instance *ii; struct ipfw_iface *iif, *tmp; + IPFW_UH_WLOCK_ASSERT(ch); + if (strlen(name) >= sizeof(iif->ifname)) return (EINVAL); - IPFW_UH_WLOCK(ch); - ii = CHAIN_TO_II(ch); if (ii == NULL) { /* @@ -329,7 +327,6 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, if (iif != NULL) { iif->no.refcnt++; ic->iface = iif; - IPFW_UH_WUNLOCK(ch); return (0); } @@ -352,7 +349,6 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, /* Interface has been created since unlock. Ref and return */ tmp->no.refcnt++; ic->iface = tmp; - IPFW_UH_WUNLOCK(ch); free(iif, M_IPFW); return (0); } @@ -364,8 +360,6 @@ ipfw_iface_ref(struct ip_fw_chain *ch, char *name, ipfw_objhash_add(ii, &iif->no); ic->iface = iif; - IPFW_UH_WUNLOCK(ch); - return (0); } From nobody Tue Jan 27 18:03: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 4f0tYd6Bncz6QC9v for ; Tue, 27 Jan 2026 18:03: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 4f0tYd59hpz3bST for ; Tue, 27 Jan 2026 18:03:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769536997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MrKl2aIOIS6KJ9r7HuRRklndxDIwnyeJP3FymEKPxLo=; b=FvT42R0YxgU/YYdtg7lHPtdnFYfgrAjkB0YHGYsdVbSLLalMGGexAeXG3ENnKXZvKJVirM daPFQcTCH/HQPsufHvGJchfl0HCVQVY13o5n5ww3+xv9GubKIjB/rInaRDpjNJ9E7G51Vx o0EWY5PZUQ/y+DgsAFasfeVI9NtYPySdzpdb/uaL4udF0ZsauxYijkynJAP0K7rtOa93Ng 8k9Sq/KtvyMLYRIY3m0RqVTUQta4bbdZOyHEz4iODR+Ww+MwKJXYPkuUxSk9heGJuQG4vv BXzQwUmvjD/ft4XV847a3NETbXKnjgLLWYB5jvpz53V7i13ulWo85eJv9U2UGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769536997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MrKl2aIOIS6KJ9r7HuRRklndxDIwnyeJP3FymEKPxLo=; b=sS7CEzLSxusTyj0j2zL8Q+YP3IuH0VGx94j7QAdS1OIysF2/mUIa2OzGS2rrODaeNkrknH r72cfGrh7HnVVNjow5oWy8UrGEx7TW4DeNieXOV3UjcKVQIqk9IqLnTJYbUwRMOeV70j63 pOeySjOoXTveNdLpM6/GZoY3eo09+FnN23+b9lRop+7s/NQqTMnoX+iffiC2jUC/5Ya7RI eNO8RAh/STb7/e+oy+jhYFnL0iAiXQ+cAZHzS0hoPqdn4YwHyMASMvOnZS/Mowi4aaWrok K9Q+GwajGGN5rvh9tvNJKXbN/lSxqP/K/uP3Rigwy6ramG/TxXKV6el4U9fl+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769536997; a=rsa-sha256; cv=none; b=KjZ+bH5WgwNoNYFOXHKi9p5S9PL0gdCPI87z2Ir+150ZbPShUR4e2aqcPblVBt5B/fcxBl +Un/oeN9uG4JLdT98USKMeA1JEN9p55lf8/TBSclibt07eZuFEPgcXhlLbwEJM/NJHXusA szzYDAERysqRMI+zPZ9q33A6MVGe70Ts6bYs75WfD155xUhiHzOzTaCn1GyQsLFwGn4Izi Nn8veJ5URwt01muo2FzgiSZAsuRkeVAREXy4sE6XA0azx/LN2u/rEEldW2DFENmQlCJiqr l/EvTnMcu7cUTHeby8Wmotshz/gCD9Y1udYFR1giBk3GcmMdFQHq5b+dIbtQKA== 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 4f0tYd4gm5z2f6 for ; Tue, 27 Jan 2026 18:03:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca30 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:03:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 29c3350f395a - main - ipfw: fix my stupid error in casting void * to enum 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: 29c3350f395a48b5c6fe8acd28f281e9af9cd8ab Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:03:17 +0000 Message-Id: <6978fde5.ca30.1018f47b@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=29c3350f395a48b5c6fe8acd28f281e9af9cd8ab commit 29c3350f395a48b5c6fe8acd28f281e9af9cd8ab Author: Gleb Smirnoff AuthorDate: 2026-01-27 18:02:46 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-27 18:02:46 +0000 ipfw: fix my stupid error in casting void * to enum Fixes: 349fcf079ca32d5c93e45366d2b27638747affeb --- sys/netpfil/ipfw/ip_fw_iface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw_iface.c b/sys/netpfil/ipfw/ip_fw_iface.c index 731587adef21..332a90f1844a 100644 --- a/sys/netpfil/ipfw/ip_fw_iface.c +++ b/sys/netpfil/ipfw/ip_fw_iface.c @@ -95,12 +95,12 @@ enum ifevent { ARRIVAL, DEPARTURE, RENAME }; static void ipfw_kifhandler(void *arg, struct ifnet *ifp, const char *old_name) { - enum ifevent *what = arg; + enum ifevent what = (uintptr_t)arg; struct ip_fw_chain *ch; struct ipfw_iface *iif; struct namedobj_instance *ii; - MPASS(*what != RENAME || old_name != NULL); + MPASS(what != RENAME || old_name != NULL); if (V_ipfw_vnet_ready == 0) return; @@ -114,9 +114,9 @@ ipfw_kifhandler(void *arg, struct ifnet *ifp, const char *old_name) return; } iif = (struct ipfw_iface*)ipfw_objhash_lookup_name(ii, 0, - *what == RENAME ? old_name : if_name(ifp)); + what == RENAME ? old_name : if_name(ifp)); if (iif != NULL) { - switch (*what) { + switch (what) { case ARRIVAL: handle_ifattach(ch, iif, ifp->if_index); break; From nobody Tue Jan 27 18: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 4f0vBT6yQZz6QDsS for ; Tue, 27 Jan 2026 18:31: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 4f0vBT59lTz3lTY for ; Tue, 27 Jan 2026 18:31:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769538705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dMnD1BKVcOunxek+lEz7QbrbzM+o8w6972G7/caBrU=; b=XEQKX4/RxVp3z5d0XBLIX7jAOM3GWrymVe1FLJ1FFIZVswe2AGnrYHP53sAPBPTW3V7oDb 97WmPV9lsABt+8DUnawU41i9h05Uo8JyirG8fMrR5SvBWX4x71SsezRvLXVs8ES5poZRYs PNl42ZNJgc2kGc2ACRT9sYQfmLtynN9TGfmbgjb0zVNIvx23qbSTeW6WZ4U6y9chufAM/E HDVhl9+/5mDh/FqyQwgPbvWzZS/hnoDSJKz33dgg9KNtVmuU6TKBRGbXIA9aGBCkuBUc3x 660fDPcliOOhq9SFx+yJhqyHYlB9YEX6TXD8CMcxhAaUkbtkTOa6+z1kIqiIfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769538705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dMnD1BKVcOunxek+lEz7QbrbzM+o8w6972G7/caBrU=; b=jjjWszN3uRzMPc1OFDxfDtRe77yFcALJbXhmOqDaE5AL4U+f5MJorJeUuEj8OSC+KC66rp OeWSC4Ox1ovanD2WjR8lCJVr6OqbdpPp5Ol6HwgzleIm9Gyg3raTn4SiarZJtcOzBEPXWY yS+f5T2K5Sd1vfPPdEqvUp9uiyK+nJsGSEayf9cDNQKelWM9Hr7FaxgfzCMWsOTBjv40Og pBYlnsWpC0z75ODJXE63RY2cfeIHfp20+saYCgB6u39gWE38IUuikiW0Qd3wMISa7Rq5cY 3/gbIuoCUV+JCQ4qSCqG0pwaIhFJZSPpOAZr3yrNW5jQ5qGytuBK31WO7ZCzUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769538705; a=rsa-sha256; cv=none; b=FZZ6uD8Y1mNKxvaqE6r2vfQC3Hvgym/e+GAol0ED7hKFRo8C0ZAD/rRkyBVXgYINriULhm 1H73CLzZaSGgMCa60/wsJl9s4t7FD2ZP9Bh1WCSXTWZM0JkgxjGeEy4yHTOz3hYbruprjY CDAp087eFefuaDAKpU/gonZt22SPvulgF3RSSh10gkcPRfDQpU402jwObfljWHNFOCAPN7 MNY8wrYPNMC5D33y2U9bizcDr+o/XGQVp7xfaxep66INfl2JtFB+qq8b9ip+d8JczdlZPH 0p+y3k1RV4t+OAoGMXmOuEV9cBSIhgwxOL4i1wTQU/AvqlY8cI6JTMgKeF+lOw== 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 4f0vBT4k09z38V for ; Tue, 27 Jan 2026 18:31:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f894 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:31:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9272b7806266 - main - powerpc: Fix alignment of initial PCB on kstack 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: 9272b780626640ce9b9ac378fbdd2783aaa33625 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:31:45 +0000 Message-Id: <69790491.f894.6eac006@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9272b780626640ce9b9ac378fbdd2783aaa33625 commit 9272b780626640ce9b9ac378fbdd2783aaa33625 Author: John Baldwin AuthorDate: 2026-01-27 18:30:46 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:30:46 +0000 powerpc: Fix alignment of initial PCB on kstack Commit cc81c44dd806737f98b4fd4094674dd71c8749f3 aimed to consolidate duplicated code between the Book-E and AIM backends. For cpu_thread_alloc cpu_thread_alloc and cpu_fork it used the AIM functions which used a bogus alignment mask (~0x2f). The Book-E functions used a proper alignment mask (~0x3f). The AIM functions appear to have been busted since they were first imported in commit 919cb3362fded33aca682a6ac57777f8fff86e36. To fix, use the Book-E mask which requests 64 byte alignment. Probably this was harmless in practice since td_kstack is page aligned and struct pcb is probably a multiple of 32 bytes in size, so the 0x10 bit should have been clear anyway. Reviewed by: fuz, jhibbits Fixes: cc81c44dd806 ("Unify ABI-related bits of the Book-E and AIM...") Effort: CHERI upstreaming Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54839 --- sys/powerpc/powerpc/exec_machdep.c | 2 +- sys/powerpc/powerpc/vm_machdep.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 18c9bddb84c5..318927e01360 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -1083,7 +1083,7 @@ cpu_thread_alloc(struct thread *td) struct pcb *pcb; pcb = (struct pcb *)((td->td_kstack + td->td_kstack_pages * PAGE_SIZE - - sizeof(struct pcb)) & ~0x2fUL); + sizeof(struct pcb)) & ~0x3fUL); td->td_pcb = pcb; td->td_frame = (struct trapframe *)pcb - 1; } diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c index d47beedb595e..1fd853783cc8 100644 --- a/sys/powerpc/powerpc/vm_machdep.c +++ b/sys/powerpc/powerpc/vm_machdep.c @@ -124,7 +124,7 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) cpu_update_pcb(td1); pcb = (struct pcb *)((td2->td_kstack + - td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x2fUL); + td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x3fUL); td2->td_pcb = pcb; /* Copy the pcb */ From nobody Tue Jan 27 18:31: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 4f0vBW0SS9z6QDvw for ; Tue, 27 Jan 2026 18:31: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 4f0vBV5jrQz3lXw for ; Tue, 27 Jan 2026 18: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=1769538706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jgIxPyelxz/dmj6EOdM0eVyiUQeSU8s6bq2tUOzfJUg=; b=HMF8D8TIIk4eud7Xxfai/pk4M8h7KftWXynobgUiIGdEq92wEozX2kMi68msVxjZMp1HXL 4LijaOyRMOgDwnNBxiO4XtfTJXcTnDKXV/dDtrTExWBDPT71j8hYxdlRfazpGRbvnPknBk j2COIq7qx13qLAAUKYHAY0sOg2XGqK3Ik8BdQ+5os0O9LSAea53TkoT3H3Vd+xo1SNy+/d cHw7+2/rDXsVqN8q9OgJWVxs8gBA0wbiYZ4RcZDjuyOSiD2u1mBnfuh7UAUdxfBsh9XhNN HgVLMDjnvuXVxGiz6tRYKHejKYV3ptfS+3b8l0iBHb3O4tYxClTPF1WcXnefpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769538706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jgIxPyelxz/dmj6EOdM0eVyiUQeSU8s6bq2tUOzfJUg=; b=k+FaO2qc8/Q3vMc7vCaUMx5d+H9d+fmNeWQKJ6uQiX107ELbnGul1F8JS1XLS1SD+NQwg9 sVJiz39wJznmZTNHZx+ccSWEHjyAGBmvZ3X/4anpEWuSkkRpGbFZa239a7+YBUzENMroum r4B6/VjDMFu6FGzfbfVaPXjGbnUnx01YJQks4nexBrfvtaIN7crjTVERQfNMAMPrIXKH2X 0UuenlpldsDD0blejP+3Att8DkbU+K7ndDha7O7vWloC+0BZ2xq2Qx8e73Vvs3B9sm/RB7 OfLH2HaJe080Rw9fWkZcOnhRgkNOeWwFL9b5aLk4e3uG4cuIPecgnkQy0kpMCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769538706; a=rsa-sha256; cv=none; b=LEeTiG2EdEBB5xdBVq+UHu5rPTd0h5EzffnJwKS8carntMAsnDG037ABNTtQZqOglfFsR2 E9iDJ0OQkJ7+gxICTOOTOmKf+SI25o/2uy9snghVwO+I2aMCc5jBErs5rbx/Zs+VGfKQWs R+p0eHaq7E0EV45tInwYfDfCFYdJpCgAHPXwCfrAlQV+ZilmbZuak+7+vWVKrvFAQFcu61 NHs8wO4hb58nzjt0sb0O1WMCWxfYy9JVg2rO+vYBRQ1M6MhZSm3XhLnF8rqfys/RD86JX/ HWvOxdRV+hNdsFKVgG4Ls51y6p3j7ftyGEkCJxa3+Kxwz5Ds6W3HR+sg2ZhbUg== 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 4f0vBV5DBxz36C for ; Tue, 27 Jan 2026 18:31:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f303 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:31:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 093fffa296d0 - main - sys: Use __is_aligned and __align_down for some kstack alignment operations 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: 093fffa296d009de8cebf713a58ddbf876f05c5c Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:31:46 +0000 Message-Id: <69790492.f303.599c2083@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=093fffa296d009de8cebf713a58ddbf876f05c5c commit 093fffa296d009de8cebf713a58ddbf876f05c5c Author: John Baldwin AuthorDate: 2026-01-27 18:31:23 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:31:23 +0000 sys: Use __is_aligned and __align_down for some kstack alignment operations Reviewed by: kib, jhibbits Effort: CHERI upstreaming Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54840 --- sys/amd64/amd64/vm_machdep.c | 3 +-- sys/i386/i386/vm_machdep.c | 3 ++- sys/powerpc/powerpc/exec_machdep.c | 4 ++-- sys/powerpc/powerpc/machdep.c | 5 ++--- sys/powerpc/powerpc/vm_machdep.c | 4 ++-- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index c763ff58680e..2e180003e93d 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -93,8 +93,7 @@ set_top_of_stack_td(struct thread *td) struct savefpu * get_pcb_user_save_td(struct thread *td) { - KASSERT(((vm_offset_t)td->td_md.md_usr_fpu_save % - XSAVE_AREA_ALIGN) == 0, + KASSERT(__is_aligned(td->td_md.md_usr_fpu_save, XSAVE_AREA_ALIGN), ("Unaligned pcb_user_save area ptr %p td %p", td->td_md.md_usr_fpu_save, td)); return (td->td_md.md_usr_fpu_save); diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c index 80b45070d896..698d3b26813c 100644 --- a/sys/i386/i386/vm_machdep.c +++ b/sys/i386/i386/vm_machdep.c @@ -91,7 +91,8 @@ get_pcb_user_save_td(struct thread *td) p = td->td_kstack + td->td_kstack_pages * PAGE_SIZE - roundup2(cpu_max_ext_state_size, XSAVE_AREA_ALIGN); - KASSERT((p % XSAVE_AREA_ALIGN) == 0, ("Unaligned pcb_user_save area")); + KASSERT(__is_aligned(p, XSAVE_AREA_ALIGN), + ("Unaligned pcb_user_save area")); return ((union savefpu *)p); } diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 318927e01360..00c04b4ddbaa 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -1082,8 +1082,8 @@ cpu_thread_alloc(struct thread *td) { struct pcb *pcb; - pcb = (struct pcb *)((td->td_kstack + td->td_kstack_pages * PAGE_SIZE - - sizeof(struct pcb)) & ~0x3fUL); + pcb = (struct pcb *)__align_down(td->td_kstack + td->td_kstack_pages * + PAGE_SIZE - sizeof(struct pcb), 0x40); td->td_pcb = pcb; td->td_frame = (struct trapframe *)pcb - 1; } diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index e9979712aa9c..f4a065e1ce46 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -488,9 +488,8 @@ powerpc_init(vm_offset_t fdt, vm_offset_t toc, vm_offset_t ofentry, void *mdp, /* * Finish setting up thread0. */ - thread0.td_pcb = (struct pcb *) - ((thread0.td_kstack + thread0.td_kstack_pages * PAGE_SIZE - - sizeof(struct pcb)) & ~15UL); + thread0.td_pcb = (struct pcb *)__align_down(thread0.td_kstack + + thread0.td_kstack_pages * PAGE_SIZE - sizeof(struct pcb), 16); bzero((void *)thread0.td_pcb, sizeof(struct pcb)); pc->pc_curpcb = thread0.td_pcb; diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c index 1fd853783cc8..00fdc301a7e7 100644 --- a/sys/powerpc/powerpc/vm_machdep.c +++ b/sys/powerpc/powerpc/vm_machdep.c @@ -123,8 +123,8 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) if (td1 == curthread) cpu_update_pcb(td1); - pcb = (struct pcb *)((td2->td_kstack + - td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb)) & ~0x3fUL); + pcb = (struct pcb *)__align_down(td2->td_kstack + + td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb), 0x40); td2->td_pcb = pcb; /* Copy the pcb */ From nobody Tue Jan 27 18:31: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 4f0vBZ2jxrz6QDlb for ; Tue, 27 Jan 2026 18:31: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 4f0vBY4TB5z3lP1 for ; Tue, 27 Jan 2026 18:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769538709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGKUg6Jm3F3FzYhcFKBSop1kFHhKjJCUv90xMSu78YY=; b=sxa3bTc4f+oOfXzoyehP6tYovgQEaVyem7+rnsUP2OjxBKe7I8YYV4+W1fZCLvOLq382oH 42XPfxriKgMr8fKKxouJjXm0KE2jUNZqMxJwP/6zif3qPBskyOslcTZwwsPprlj1qmatYv u1RIMiE+v5dqpH5fGCk1lLXHF/b+P5UVWFH50uNJJ8i3yzPMKjr+MlubeHPa2svr3E6wsn DoiZr6OVk3NJJIGkW6ga5+gwa16DwtJR40vYyA11e0tF5k3WdrE51xDjQfyxHnr9yvpovV NqFbHgu8pFzBDtdPGxYaBYFi9yrosgQ6GZktviw/Ln2bauT78NfbaaJFwuMkNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769538709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGKUg6Jm3F3FzYhcFKBSop1kFHhKjJCUv90xMSu78YY=; b=tKeZuikXhhDKAkeoLP7gRf7/+qV3u847A36nTtl3g7Zow4LeRI4EoXGoDEFUZUflq7q3Yx 0qaWtIF8vqwRfU/pmmmgB6kJyqpcWTBcOsTxDcQ5hbR70pySybYNX1nL8AOJmyHuEeKWQf Ed73trqlFaruiZ/4z0XrmVOB3WlZB+Zr1+YZ7e1xkI8BSryXTngRJO06JlyKOcsJvjouoP kHyOpa8RSjtiPMNuqKSdJX30S/FuRI6c10B7bcfuvnHu2TTyYmfEByDLchdRarJC0soObX kfzukCKE1tPX/uOHwTzeIWBltAB+URaIpVITyTPFx8uHV52r/xi99LRml+s1Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769538709; a=rsa-sha256; cv=none; b=Qr19bqSS/rr6dpw8bvSyMNKH2NjehOr8RsNdM1mmq4fWrBYvupK3PHhYoNeyiUfEyeRfwD JjH4JCEb7rGeVrWiE/KZTFIKR7U9WzOVS3c38+YFRvKr9+Bbl9Tnn0hCeMOqyfuTggCTf6 /Lijj92j2NnAjEqtiJjRtLDKD59NfVdDj78VIGEaZw8rDgw9uuOuLgfnHLlmuxKm16+yyr eECvtmQmpEdpyy7qTYNcg3kGMdbKnjdr/c1PsabVrhZbqDTBgHZ1iSCecDkaa4aKrxeVs1 827dKQ0bmtLdxSQmGgI/U4M2nf5GgO+dY13/uIB1OIbghDJrTMozKgwCTDoGqA== 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 4f0vBY3zpSz38X for ; Tue, 27 Jan 2026 18:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e873 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:31:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 05609c5eff27 - main - arm: Make init_proc0 static 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: 05609c5eff27ea7b382237bd2a937c01c1ceb59a Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:31:44 +0000 Message-Id: <69790490.e873.42b0ffb7@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=05609c5eff27ea7b382237bd2a937c01c1ceb59a commit 05609c5eff27ea7b382237bd2a937c01c1ceb59a Author: John Baldwin AuthorDate: 2026-01-27 18:30:23 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:30:23 +0000 arm: Make init_proc0 static This function is not used outside of machdep.c and is already static on arm64 and riscv. Reviewed by: imp Effort: CHERI upstreaming Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54838 --- sys/arm/arm/machdep.c | 2 +- sys/arm/include/machdep.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index cfc0b32f5102..9532e19a11b3 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -374,7 +374,7 @@ pcpu0_init(void) /* * Initialize proc0 */ -void +static void init_proc0(vm_offset_t kstack) { proc_linkup0(&proc0, &thread0); diff --git a/sys/arm/include/machdep.h b/sys/arm/include/machdep.h index 45e44a65368b..ada2dfa502aa 100644 --- a/sys/arm/include/machdep.h +++ b/sys/arm/include/machdep.h @@ -15,7 +15,6 @@ extern vm_offset_t abtstack; /* misc prototypes used by the many arm machdeps */ struct trapframe; -void init_proc0(vm_offset_t kstack); void halt(void); void abort_handler(struct trapframe *, int ); void set_stackptrs(int cpu); From nobody Tue Jan 27 18:41: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 4f0vP91gHxz6QFND for ; Tue, 27 Jan 2026 18:41: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 4f0vP85wRvz3ngq for ; Tue, 27 Jan 2026 18:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eeaw2k1xFS0twaHRADEWaTebD31r0Sv/ibDm7unWKdQ=; b=qE3dG4CqLpxX245GOVxD8Cgl8VwaiK1nWvRmK6z88vUj2/vEBYONX/42rY/ZlZEuVDmgFw JdTFZJ1G4kGCDXtfGqd/7JwGUnGnSRNZxYaN8L1Q5A+yhQqFxHTfqDxmLhMZT7Cfck4sVf 1Ir8F0MHPYaDVVdK6Jklsy7azNGkbCIdl2a+Q0AW9LB6oov1+077RKhI4U6PtGuum7HxYA Gho6TWSu3GCnBYszGLYjyz4PqCNHb6MUl8ZCWlUpDBuoJVCg0KRo2FQLY4VjxH2ZcSlfv+ pW3gfgdCx6XvpXf7vnIKsq1fbIKAmz+jr68w2dqKIbqpF7skcEOA/BXISZ1wTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eeaw2k1xFS0twaHRADEWaTebD31r0Sv/ibDm7unWKdQ=; b=HLeV6IhKIj/x+EHbv9x9NwHcImyTTdgteWlyeNOeWJKSAbAolbFFJh07wul5Gu/Jd6dVBG LMMREtobE8qWbdilf9vZQcaurdBfZ5k6Uxtt6q37GsLABvm6jMdGjpEw7y8MxVOqjyB7k/ Bz/45uH2Tul6dDFS/TZNQFNuXU3BZ6jV7QTlvSyZ95jf/rtjDrlCvCGJT0QMEAVQFtHuId KEzn1jsxnCAYHb/DHHKFSYTFTLYaf8IvUXSUgQKkVzQvywmwey6cSOtfxh1SwPXo517p4n Iqgjzq4xQaM+EgJPAPHDv+mMWGSe4mBofOnbCANKpuy4s5oyJVy5OrH+NE++QA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769539260; a=rsa-sha256; cv=none; b=GDx31LvrbTt5Xd7ASX6pySZp/2z55Vt2TEhmB+5Bw0PWHeRASIJ09VfzUfnWD3gCYJMW+D xOqVU3lEmj5S7TjHGrdpWPG6lxi2jt10BqZr7Ekwskgyd6QMsNMJ2sEsJOzScEv1jCIPC1 Cq1gvmKsIBIPnyEoRtCseV3tCgp5aiC9940uXVcXVj2a58GG341XHdV8q73zXX010TQANF REg+e0PzOTe5vcZGc4zRLnsixRpCm7DM49yUanidCzDZlbSLcIQvZcCRbB5F+FvPo7hObG csNx+0BfSDc6XzdeufRQg7eYpADOOM6RFlwImrB8fHKf26tGJCf7SjR+AKnbCg== 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 4f0vP85VNHz3W2 for ; Tue, 27 Jan 2026 18:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20031 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:41:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 2dea50a661b9 - main - netbsd-tests t_regex_att: Use __nonstring for a non-string 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: 2dea50a661b903513efc42e270c4e6f5c2b89bc3 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:41:00 +0000 Message-Id: <697906bc.20031.9a93dad@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2dea50a661b903513efc42e270c4e6f5c2b89bc3 commit 2dea50a661b903513efc42e270c4e6f5c2b89bc3 Author: John Baldwin AuthorDate: 2026-01-27 18:38:31 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:38:31 +0000 netbsd-tests t_regex_att: Use __nonstring for a non-string constant Fixes the following warning from GCC 15: contrib/netbsd-tests/lib/libc/regex/t_regex_att.c:54:30: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (4 chars into 3 available) [-Werror=unterminated-string-initialization] 54 | static const char delim[3] = "\\\\\0"; | ^~~~~~~~ Reviewed by: ngie, imp, dim Differential Revision: https://reviews.freebsd.org/D54866 --- contrib/netbsd-tests/lib/libc/regex/t_regex_att.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c b/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c index dd5b818a1ef3..7962b1914f79 100644 --- a/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c +++ b/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c @@ -51,7 +51,7 @@ __RCSID("$NetBSD: t_regex_att.c,v 1.3 2017/01/14 20:59:23 christos Exp $"); #include static const char sep[] = "\r\n\t"; -static const char delim[3] = "\\\\\0"; +static const char delim[3] __nonstring = "\\\\\0"; static void From nobody Tue Jan 27 18:41: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 4f0vPC2JbSz6QFC3 for ; Tue, 27 Jan 2026 18:41: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 4f0vPC007lz3ngr for ; Tue, 27 Jan 2026 18:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U/xVYTUSWyX6CKJ3n8Si99SJZeqCjgankyWbepOV75o=; b=VqtiBR1N3rrzpOSi5EH+Skdrpc0PYEEiQ3vSMjDK7GtCJcmwNcpyW/W9t+D+aJPUAxG7P4 iOy7SngOLfYh+sdliGSyv6dq/0HMc5AOC4g34OjJ4Elzbk8VB0XLNMlIfb82FoxhetOWDT 20G76JS6E2b/HgEYBAybQze+Mcfpsjj4Oed6ZMk170ijZE1Wav5OwyYAuAIbd01DEW1+L8 5Ugvfon5FPePZL84HLptNy96uubAROTFGLkbgxe7XeJGE7+R1ST2uUwn9JH0kpaTfJahbh grUiDMvzjQEl8OHLvDRKIzuq/IUItDiEARPVGit/kMW0rUYaEAo2g/te8bmv5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U/xVYTUSWyX6CKJ3n8Si99SJZeqCjgankyWbepOV75o=; b=xxNk9ppLqiF2NPCeEGm5JnOc3oBRW9iFklsjf07NnD/H6FnbEdZuFRmuDFLK2rrikjbcxr ueMXa3VIRosefuOt4h4DWhdD2S/tqEwnT6yV2GL8uj+R/eR1rrJxsqD5FcujuHMiwClm2N UOuGCb4Ei1KJFo956cJa6eBsaO5lGLd9q9MpFvQALJ8s3Lu7m56qa7QI9CkGl63n9euTIE jenY83+A/JkZmnhk++nIrVNGPnD5ttTpfF9wOHmkE0SU8DBsOjW+jn4AXS+N02bq43sJUi NwqW2nwEzLQpy4NDEl5S6iGBoGQxQP3cAiUZuK53vFooQncNNeFX1B+6NOmJow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769539263; a=rsa-sha256; cv=none; b=PFWqyBpyySxvd9abmSoGrUvtiDWuN1yLQCTpE2xvThD6drLcER31Rki/W7DlVIqS/PDTiS OPY+6D+5YdBMHD6kHlHd5Q8T6CLlrYVvFEgRL5gcdH23S6NaL5TtK2ZQR8t+3a2fpKkA8W aO1PE0XXHZ9v/jw7Ajn5P7Y/XJZHw54avCkusTwOa8BjOaZRji/rlrEi0SpZT+hP4gqOWU TmsqgUWEm8Ozo/pkBNq2IlWslgiJX2Lqj3F3ymKIOSTK9BPXoK5ASk//wj//8N+/l3v6qz s7ap69XVdFK7SUIOem+KF4aFVpu6G5Z0+27IjZE91OvdbPVpAhyq7lSrmp3jjg== 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 4f0vPB6j88z3gS for ; Tue, 27 Jan 2026 18:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e552 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:41:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 5c504c625d1f - main - kyua: Workaround unclear warning from GCC 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: 5c504c625d1faffd7cc7c3dfece62c72c012b4c5 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:41:02 +0000 Message-Id: <697906be.e552.5f63638f@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5c504c625d1faffd7cc7c3dfece62c72c012b4c5 commit 5c504c625d1faffd7cc7c3dfece62c72c012b4c5 Author: John Baldwin AuthorDate: 2026-01-27 18:39:41 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:39:41 +0000 kyua: Workaround unclear warning from GCC GCC 15 does not like a push_back() invocation in utils::find_core() and incorrectly believes libc++ will free a non-heap pointer. Disable the warning to pacify GCC. In function 'void std::__1::__libcpp_operator_delete(_Args ...) [with _Args = {void*, long unsigned int}]', inlined from 'void std::__1::__do_deallocate_handle_size(void*, size_t, _Args ...) [with _Args = {}]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/new:298:39, inlined from 'void std::__1::__libcpp_deallocate(void*, size_t, size_t)' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/new:311:39, inlined from 'void std::__1::allocator<_Tp>::deallocate(_Tp*, size_t) [with _Tp = utils::fs::path]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__memory/allocator.h:132:31, inlined from 'static void std::__1::allocator_traits<_Alloc>::deallocate(allocator_type&, pointer, size_type) [with _Alloc = std::__1::allocator]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__memory/allocator_traits.h:314:19, inlined from 'std::__1::__split_buffer<_Tp, _Allocator>::~__split_buffer() [with _Tp = utils::fs::path; _Allocator = std::__1::allocator&]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__split_buffer:365:31, inlined from 'std::__1::vector<_Tp, _Alloc>::pointer std::__1::vector<_Tp, _Alloc>::__push_back_slow_path(_Up&&) [with _Up = utils::fs::path; _Tp = utils::fs::path; _Allocator = std::__1::allocator]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/vector:1504:1, inlined from 'void std::__1::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = utils::fs::path; _Allocator = std::__1::allocator]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/vector:1526:34, inlined from 'utils::optional utils::find_core(const fs::path&, const process::status&, const fs::path&)' at contrib/kyua/utils/stacktrace.cpp:217:25: /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/new:274:38: error: 'void operator delete(void*, size_t)' called on pointer '' with nonzero offset [24, 9223372036854775807] [-Werror=free-nonheap-object] 274 | __builtin_operator_delete(__args...); | ^ In function 'void* std::__1::__libcpp_operator_new(_Args ...) [with _Args = {long unsigned int}]', inlined from 'void* std::__1::__libcpp_allocate(size_t, size_t)' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/new:289:31, inlined from '_Tp* std::__1::allocator<_Tp>::allocate(size_t) [with _Tp = utils::fs::path]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__memory/allocator.h:118:54, inlined from 'constexpr std::__1::__allocation_result::pointer> std::__1::__allocate_at_least(_Alloc&, size_t) [with _Alloc = allocator]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__memory/allocate_at_least.h:41:27, inlined from 'std::__1::__split_buffer<_Tp, _Allocator>::__split_buffer(size_type, size_type, __alloc_rr&) [with _Tp = utils::fs::path; _Allocator = std::__1::allocator&]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__split_buffer:353:49, inlined from 'std::__1::vector<_Tp, _Alloc>::pointer std::__1::vector<_Tp, _Alloc>::__push_back_slow_path(_Up&&) [with _Up = utils::fs::path; _Tp = utils::fs::path; _Allocator = std::__1::allocator]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/vector:1498:47, inlined from 'void std::__1::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = utils::fs::path; _Allocator = std::__1::allocator]' at /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/vector:1526:34, inlined from 'utils::optional utils::find_core(const fs::path&, const process::status&, const fs::path&)' at contrib/kyua/utils/stacktrace.cpp:216:25: /usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/new:265:42: note: returned from 'void* operator new(size_t)' 265 | return __builtin_operator_new(__args...); | ^ Reviewed by: imp, dim Differential Revision: https://reviews.freebsd.org/D54868 --- usr.bin/kyua/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/kyua/Makefile b/usr.bin/kyua/Makefile index d6131651afbf..aa0e5cbbcad2 100644 --- a/usr.bin/kyua/Makefile +++ b/usr.bin/kyua/Makefile @@ -49,6 +49,8 @@ CFLAGS+= -DGDB=\"/usr/local/bin/gdb\" \ -DPACKAGE_VERSION=\"${KYUA_VERSION}\" \ -DVERSION=\"${KYUA_VERSION}\" +CXXWARNFLAGS.gcc+= -Wno-free-nonheap-object + SRCS+= utils/datetime.cpp \ utils/env.cpp \ utils/memory.cpp \ From nobody Tue Jan 27 18:41: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 4f0vPB1jTfz6QFFw for ; Tue, 27 Jan 2026 18:41: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 4f0vP96Ttdz3nVx for ; Tue, 27 Jan 2026 18:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4q6vxsjq24mjgw5ouOkjqqgRc/XuJXkHx8xdvrKO3MI=; b=Q9pCAn2HZfkLMEYWjdB1tB5TCF7UhwKI1ZSPtCMYXEbRUsqWkG4EPX4hH28DPZX1BA/IZ1 DllWHeDWnQMVZtgKCNYXqwxshBvqLHuOBSgfxfzN/c1l+BPYZmS8FUQtWi9jLrtQqisgUp zyX06A3jstnVn3/IcO9NY0YOVdDWUHIedFuyYUNfqol0+QNEPNOITHUXq7AGty/WTGsg4K LL6GMaHKut3FeTzzsvMjqpuuxZBGRTPi9lhSiawl8Ezz2XkCoVPlwGQc8mKPDVgZAicdw6 dukrf3Ws5AVxjicWEbKOyCdVd7pnRI6u5M02N1tEhA/ANb2pM9GEu+gdoc5tjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4q6vxsjq24mjgw5ouOkjqqgRc/XuJXkHx8xdvrKO3MI=; b=iroqZ664noxyY4m8wllBvlvQllR9lyTM8wkSEJFpfk40uGWFpFZ7pQhGouTRqVl8x2P7eL svuWs1aKMeWH9whkHsiMDlPi8PMwve7786f1VpthuO0c/rsXGv5nr77z3Y6BxS5M49lrBj 7nEXfT9GZu2ZHnALlYjUmMIfaAnCNMSRQg6jCi+LkED5+5CuoQ014BrFcaBN5tMpaguqvE PdeWlZW1SCFYqOhM/a/b5UV4+/YVxFrn9BJoYmnyfl65FeSTz3xtspT09BDGn7/7ntrp+s rI1ieEXSmPxsOdk1Bcpcetaf6yMrIRmJqP2PQmI4nJgtd0/iZZaxIQ3G6eWjPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769539261; a=rsa-sha256; cv=none; b=Whn3aIrHJZ3yPxxdQwZ3zGUPc+y1r84776TZypIICq+Jt+pUZLiJK7DkU2E5aX7gNlE7zs 6o3Ma7cLPa8pvztjzLNNNuhXKobaZ1ONZHLbUToayppF4FJFJZ+wiKrOG3E0C+kccBLsgv UUR4UAcktFq4Z+PhO1WLn454Yz1yIFnBLfWF8Fw7AumW9mxhC0FiHOQrdNHnUpo136X15t FbTNFZy0f32hcZJ47Rx2dEsI9GTcr3+QLf/Gq/SO3oGM66XsJDmaHbAi+Lfagmpo/XTjHW GzAxC4JtEg2KnzKchqOMtNtvLOxasbfBO9/c7hG727nkkpuwVvJANqsL44ZG1w== 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 4f0vP95w3pz3XJ for ; Tue, 27 Jan 2026 18:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f8db by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:41:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6fb87a1a6042 - main - bsd.sys.mk: Silence a few GCC warnings for C++ 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: 6fb87a1a6042887550571316fa9e539239f158d1 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:41:01 +0000 Message-Id: <697906bd.f8db.730cf9fc@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6fb87a1a6042887550571316fa9e539239f158d1 commit 6fb87a1a6042887550571316fa9e539239f158d1 Author: John Baldwin AuthorDate: 2026-01-27 18:39:05 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:39:05 +0000 bsd.sys.mk: Silence a few GCC warnings for C++ These warnings were already marked with -Wno-error=, but they trigger so many false positives in libc++ headers to be utterly useless for C++ code, so disable them entirely for C++. Reviewed by: imp, dim Differential Revision: https://reviews.freebsd.org/D54867 --- share/mk/bsd.sys.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 2757033f39b3..93e7c8572310 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -193,6 +193,11 @@ CWARNFLAGS+= -Wno-error=address \ -Wno-error=uninitialized \ -Wno-error=unused-function \ -Wno-error=unused-value + +# These warnings are raised by headers in libc++ so are disabled +# globally for all C++ +CXXWARNFLAGS+= -Wno-attributes \ + -Wno-deprecated-declarations .endif # GCC 6.1.0 @@ -246,6 +251,7 @@ CWARNFLAGS+= -Wno-error=overflow # globally for all C++ CXXWARNFLAGS+= -Wno-literal-suffix \ -Wno-c++20-extensions \ + -Wno-attributes \ -Wno-error=unknown-pragmas .endif From nobody Tue Jan 27 18:41: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 4f0vPD6Xm0z6QFbn for ; Tue, 27 Jan 2026 18:41: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 4f0vPD0zjqz3nt1 for ; Tue, 27 Jan 2026 18:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GivDsgUxV1KaGCMCVwo+xCFOtHCzcauCneOQWH0O0XY=; b=IQ2ft4bKVnI8RvT3gQSqsQlt9kHKYOlD5aw7z0+4JZ7FXNG1mhjQxSX38eRIj85m07FWrY Xmk5M/IRrIrj0nzt8o8FfajW5yKymIpUm+hxP7OH+12lNxL2v/nOBgcCGnOT8avc6W/ePe y1Mj1/08/TwGqdW4TtWsQV+kzsyotPbqSQgL6xIrUu4xcItbW6aFdANYTNU2B1KUmywZ7z 9Bksal80VE9JZiKgyx44TzqVcARofNSXsVKNju2mugrtoxcivekEq99ojT5LdRK7kV6gYk fIzt+LrkZKeRMpKwyfTHF152mGe/jvT1cEwU9qCZWYpOcLPGRrJoPfp0mq4kOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GivDsgUxV1KaGCMCVwo+xCFOtHCzcauCneOQWH0O0XY=; b=MVg/n0b/CRzT3lIo2+RMA4pSrSXy+78o7GPN5u/X5+VUP79yu7Ys0zKMtfkRAqBT3voyvb qG/kOv25wJpgEDpLGmYy+oDL/lhN8VPHe3gkoPS0J2jGz1Jg7RW7izw7v3OIPTy8QDzbPP F6wCIA5M2mPCIdaBdzywdVwmftvdm+Y+mBdg245PHnNv6rcfY9avAKc9Ycwlplmx8z8POY TRUWQ5BaU7oKZdf3m/gYqVm7jUdw/ciUJRVTGEH0GmosGUYmogltl7nC1d74AhnqaWqyPp Sa+wxJjMRegzFSa6ah64jHdJyHs0UKcla4waqUXpaeL50mXW2gv6OyxZVPQBzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769539264; a=rsa-sha256; cv=none; b=nUYEuDcqk4+P0AQNXxKMCIh2IrZXcXn+BUqMOqL2KYm/cm3kd/vqibl5ypUAa740NGxwU1 e77PyvccWL2Ze8e0GGKlYjDh6u04v4qEF1hlwITtzFsA7hyaBNeKkm38aRwgQpmt37oNaJ /7gai0AEAhbyn1YLFyms0pBeZLnFfdZk7X5LZgfF1daHcHqjD4tud4KurAuuaR2rlNa+oc beKgR8+z91+getOtB+g7Y+AiAVkF1kLu4RX+VKKQ9rZEzOUToYHqQs2jk3gN+h0FFaeCAf x9CZHqXNx0DEzkQNNxO45wjxvIToalAUxWIl+Oy7l3dqGZ9d6M4V2e+8ZjoM7A== 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 4f0vPD0QyMz3gY for ; Tue, 27 Jan 2026 18:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id f31e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:41:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 72a6991b80c6 - main - bluetooth: Don't use a non-string to initialize NG_HCI_BDADDR_ANY 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: 72a6991b80c6e6c47a3b84337f62f0a02bd30391 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:41:04 +0000 Message-Id: <697906c0.f31e.2f4e308c@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=72a6991b80c6e6c47a3b84337f62f0a02bd30391 commit 72a6991b80c6e6c47a3b84337f62f0a02bd30391 Author: John Baldwin AuthorDate: 2026-01-27 18:40:38 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:40:38 +0000 bluetooth: Don't use a non-string to initialize NG_HCI_BDADDR_ANY Explicitly use an array of 6 zeroes instead of a C string containing nul characters. GCC 15 warns about the truncation, but this is cleaner regardless. In file included from /usr/obj/.../amd64.amd64/tmp/usr/include/bluetooth.h:51, from usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c:45: usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c: In function 'register_sdp': usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c:96:13: error: initializer-string for array of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' attribute (7 chars into 6 available) [-Werror=unterminated-string-initialization] 96 | NG_HCI_BDADDR_ANY, (const uint8_t *)&record, sizeof(record), | ^~~~~~~~~~~~~~~~~ Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D54869 --- sys/netgraph/bluetooth/include/ng_hci.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netgraph/bluetooth/include/ng_hci.h b/sys/netgraph/bluetooth/include/ng_hci.h index 54980e128bba..bbe9541c25c9 100644 --- a/sys/netgraph/bluetooth/include/ng_hci.h +++ b/sys/netgraph/bluetooth/include/ng_hci.h @@ -447,8 +447,8 @@ typedef struct { } __attribute__ ((packed)) bdaddr_t; typedef bdaddr_t * bdaddr_p; -/* Any BD_ADDR. Note: This is actually 7 bytes (count '\0' terminator) */ -#define NG_HCI_BDADDR_ANY (&(const bdaddr_t){"\000\000\000\000\000\000"}) +/* Any BD_ADDR. */ +#define NG_HCI_BDADDR_ANY (&(const bdaddr_t){ { 0, 0, 0, 0, 0, 0 } }) /* HCI status return parameter */ typedef struct { From nobody Tue Jan 27 18:40: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 4f0vPF0nlSz6QFSp for ; Tue, 27 Jan 2026 18:41: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 4f0vPD5tjXz3nfW for ; Tue, 27 Jan 2026 18:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tRKlg5hja/vRW+TZgn0oA227O2nhXisPFTYS1RmFhDU=; b=FoMDZSO9kZuIsz+MC/aSZury7iErZyJEb6aQ5sPtdE8K5D4bhgg7Xym3noJ3YtqSf+t6Sp Oml8InywD5gsqsE0K97QKGjNtllMBehvG6fwgWdhkj0VDRU1rTWcSjRx6lc9G3DZFPENPe ore7pH8hSQUh57KWYkja5aUxHTCg1kM+Uz+gf6lnSF3hMOEbtpT7QgWnTWFz68w47ct+rK 96xqAoO9tEyWw+rvpvDA7b+dpu+kgBMdYpyyW+VCFCKCuK+0YccOSm6qfZHgLs9HUpymzg odX/nLMwWWJ2oTB/HFyXeh/RaCai2Mkfcb3bNF7BW9ZasVgA4l6OrYqn3Du8Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769539264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tRKlg5hja/vRW+TZgn0oA227O2nhXisPFTYS1RmFhDU=; b=MMU7oZqahOVs2ZFIobtbMoF3ZNJXa3tK9JUgJ+XnaUqrO8DgLkroOT9SC2VPRzksbcP9Wp pXCRMFNRAs+CW/EmKRP1XFydZiGKonX/mB6ShzILa+Pzn2YUUasSzIYG8VPAih5q/jiozn e3gJvuyjZaRVNHedozdwD7xRiKRx3qV1juzjFuDoSvr1SFNLMTIvC2yyf9MV4qgucP0tm8 zh+WX0rvRJZ2KNCVF3GgyNcJ06fzAFTIBRIoKEco6ozti/pwWwuB9ZOjAElcTElXXrBJPi q8D47s6KJ1y0HbdIO0iYXzzxn/U9ti9MXbF9i7TDovu7NcvXZ4kGzorbgxC94Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769539264; a=rsa-sha256; cv=none; b=ILBzrf2Q70L4r2Bd3pep7av4qfyBMaqooCv4G+/cr/xs0/YjLyjPO2PQDI1MkZvxIHvV11 vSD6HwvofxdaCDogIzuTroAZs7IfTMychVtkDDKNybqJbM0Vs0HRCyFtoYQQ4LreUwbd8/ JxSoHPs5HRrUtXs6ffuKotdwLjk/qIscgvE/O+Q+xD0R1DqNHfMB6aZIL3H6ypeGCec1B1 VE6AagoQP5pGdFLnYdQTHrKAoSzWOJcdESPfXlOvslK4Cmg4f8Y/1qGY03iM45+imce2ab ZfEt0a8MHD3DLlmEqrpmtoUcjBy0qkq+Vh+UUxOjsVk3oWPiFm38qg8mFpyVOA== 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 4f0vPD4q8dz3XM for ; Tue, 27 Jan 2026 18:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e2c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 18:40:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: bfc6e56f6327 - main - Merge commit 81b20e110b3f from llvm git (by Roland McGrath): 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: bfc6e56f6327621171cef4fe29290c63edfc4d9c Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 18:40:59 +0000 Message-Id: <697906bb.e2c6.3a7612eb@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bfc6e56f6327621171cef4fe29290c63edfc4d9c commit bfc6e56f6327621171cef4fe29290c63edfc4d9c Author: John Baldwin AuthorDate: 2026-01-27 18:34:58 +0000 Commit: John Baldwin CommitDate: 2026-01-27 18:34:58 +0000 Merge commit 81b20e110b3f from llvm git (by Roland McGrath): [libc++] Work around new GCC 15 type_traits builtins that can't be used as Clang's can (#137871) GCC 15 has added builtins for various C++ type traits that Clang already had. Since `__has_builtin(...)` now finds these, the #if branches previously only used for Clang are now used for GCC 15. However, GCC 15 requires that these builtins only be used in type aliases, not in template aliases. For now, just don't use the `__has_builtin(...)` branches under newer GCC versions, so both 14 and 15 work during the transition. This can be cleaned up later to use all the GCC 15 builtins available. Fixed: #137704 Fixed: #117319 Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D54865 --- .../llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h | 2 +- contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h | 2 +- .../llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h | 2 +- contrib/llvm-project/libcxx/include/__type_traits/decay.h | 2 +- contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h | 2 +- contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/contrib/llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h b/contrib/llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h index a633e3904532..f583b4328830 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/add_lvalue_reference.h @@ -18,7 +18,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -#if __has_builtin(__add_lvalue_reference) +#if __has_builtin(__add_lvalue_reference) && !defined(_LIBCPP_COMPILER_GCC) template using __add_lvalue_reference_t = __add_lvalue_reference(_Tp); diff --git a/contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h b/contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h index 5aac7d5cfa90..8f85ece33d6a 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/add_pointer.h @@ -20,7 +20,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -#if !defined(_LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS) && __has_builtin(__add_pointer) +#if !defined(_LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS) && __has_builtin(__add_pointer) && !defined(_LIBCPP_COMPILER_GCC) template using __add_pointer_t = __add_pointer(_Tp); diff --git a/contrib/llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h b/contrib/llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h index a54aae7ec8de..e5dc920e6a44 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/add_rvalue_reference.h @@ -18,7 +18,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -#if __has_builtin(__add_rvalue_reference) +#if __has_builtin(__add_rvalue_reference) && !defined(_LIBCPP_COMPILER_GCC) template using __add_rvalue_reference_t = __add_rvalue_reference(_Tp); diff --git a/contrib/llvm-project/libcxx/include/__type_traits/decay.h b/contrib/llvm-project/libcxx/include/__type_traits/decay.h index 7412044f9317..861dc2eb10d0 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/decay.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/decay.h @@ -25,7 +25,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -#if __has_builtin(__decay) +#if __has_builtin(__decay) && !defined(_LIBCPP_COMPILER_GCC) template using __decay_t _LIBCPP_NODEBUG = __decay(_Tp); diff --git a/contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h b/contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h index d5373b51f522..a27e3bb48038 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/remove_all_extents.h @@ -18,7 +18,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -#if __has_builtin(__remove_all_extents) +#if __has_builtin(__remove_all_extents) && !defined(_LIBCPP_COMPILER_GCC) template struct remove_all_extents { using type _LIBCPP_NODEBUG = __remove_all_extents(_Tp); diff --git a/contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h b/contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h index fe37b5c7266c..767331e102ad 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/remove_extent.h @@ -18,7 +18,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -#if __has_builtin(__remove_extent) +#if __has_builtin(__remove_extent) && !defined(_LIBCPP_COMPILER_GCC) template struct remove_extent { using type _LIBCPP_NODEBUG = __remove_extent(_Tp); From nobody Tue Jan 27 19:14: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 4f0w7r0ljlz6QJB1 for ; Tue, 27 Jan 2026 19:14: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 4f0w7q6glSz49dR for ; Tue, 27 Jan 2026 19:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769541271; 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=arP+AiZmx+1b91Bv5mEXGgtBPaoXZURMTsc1wP0g1iE=; b=vtLjyuXuMt1aZYlpb9gbWkraHbUAMOJXlmjoCfQCqCb5EJqrFfjpmZowlTd2oDFu5bCrKf H/5d0yTQNmz8zeq6R+L5UnOfjhOoibhVs8gfrqCaY+LE1t3QEtJKuDTuR8mMwblyxmj5bC ZLM/hlDIjnwT8TBGVAl2wQeaCtT7zy7Z8ff8ARlC+P/8YZZAmQ7SqfVcsdUyy1EhnXJ2T3 yPWaT0paF9SrO4wpj+Lq0MWKR4YeKsWMqmSQZjjAzmY1ajtvbPL5RF9cqgv/lV/6iL3Wx+ yHpdYlFClCaUO3RC/GV8lu1rCXgxNeE+AuUSHA4WT/5k1bkxcu8/xoTq9fDbbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769541271; 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=arP+AiZmx+1b91Bv5mEXGgtBPaoXZURMTsc1wP0g1iE=; b=u9f1JEp0nFOWLjOk+BUC2EVZR03h8l3V5IW4XoOo/TOyQ7bPQ9wWztMi2iHOp67vqlChGw qhg2e6m4MdscX/NiYFIUEr8+N4PCVrZcK8u6Nv9WdNWM9zknsloO3GzsXAzWfGc8NmOaK6 IzWilhwXjXRfiOy8sJsJGRsRELTXEgENvSoYrG2Ql4JPx3HqKZX52duzaNEBBLH1zmvYsz T37UIfEAKwBNJAaxKlgHFaEz/9oKXq4jNQINzkh0pHSs5UGKJ2IY2uG5YWEc2VSPIiFGco 5cfzE6N8RMN3lzUr7eV/GhK9DcD8eLhgXoIOLq19xvRa9/6YfLRsrtzsjlYkPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769541271; a=rsa-sha256; cv=none; b=gCyyfIJFgIvRFO8qbAEiViFueCISJQp1A4zTLUp8uZrC/jTKOu+lb8J4bhd9pmtYPcSq4j /WUuJOL0kH7I7tnK2jk9kl6OH/IDn3yDRcOXQcesP23wLRI1m608bsFxo9BZpPaQ77L8af L3USJ4oKfC/ot92mzJqSkbSyZ4XllYUkN8UY80dNtT2ZadcrVMqjHFcMyKwc1l7Q02ssCL PlPXV82+dVWecdTXtAXTnSfhxLsh7ZFYdAIITJN5zW8+M+aEIZOBiCq7nwk1H86iWFja+I mq5ZwRQdzgJTkynMjVxIyGHeJkq2i2gYHMM+H+Q9Mx8h0a7gGU/6Yk6lJpd46A== 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 4f0w7q60N7z3yB for ; Tue, 27 Jan 2026 19:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 224cc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 19:14:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Gordon Tetlow From: Mark Johnston Subject: git: 9c151e1fbf1a - main - openssl: Fix multiple vulnerabilities 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: 9c151e1fbf1a71a4912afa9693a39d55a00db4eb Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 19:14:31 +0000 Message-Id: <69790e97.224cc.cab3810@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9c151e1fbf1a71a4912afa9693a39d55a00db4eb commit 9c151e1fbf1a71a4912afa9693a39d55a00db4eb Author: Gordon Tetlow AuthorDate: 2026-01-26 18:14:21 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 19:13:40 +0000 openssl: Fix multiple vulnerabilities This is a rollup commit from upstream to fix: Improper validation of PBMAC1 parameters in PKCS#12 MAC verification (CVE-2025-11187) Stack buffer overflow in CMS AuthEnvelopedData parsing (CVE-2025-15467) NULL dereference in SSL_CIPHER_find() function on unknown cipher ID (CVE-2025-15468) "openssl dgst" one-shot codepath silently truncates inputs >16MB (CVE-2025-15469) TLS 1.3 CompressedCertificate excessive memory allocation (CVE-2025-66199) Heap out-of-bounds write in BIO_f_linebuffer on short writes (CVE-2025-68160) Unauthenticated/unencrypted trailing bytes with low-level OCB function calls (CVE-2025-69418) Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion (CVE-2025-69419) Missing ASN1_TYPE validation in TS_RESP_verify_response() function (CVE-2025-69420) NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex function (CVE-2025-69421) Missing ASN1_TYPE validation in PKCS#12 parsing (CVE-2026-22795) ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes() function (CVE-2026-22796) See https://openssl-library.org/news/secadv/ for additional details. Approved by: so Obtained from: OpenSSL Security: FreeBSD-SA-26:01.openssl Security: CVE-2025-11187 Security: CVE-2025-15467 Security: CVE-2025-15468 Security: CVE-2025-15469 Security: CVE-2025-66199 Security: CVE-2025-68160 Security: CVE-2025-69418 Security: CVE-2025-69419 Security: CVE-2025-69420 Security: CVE-2025-69421 Security: CVE-2026-22795 Security: CVE-2026-22796 --- crypto/openssl/apps/dgst.c | 7 ++-- crypto/openssl/apps/include/apps.h | 2 +- crypto/openssl/apps/lib/apps.c | 55 ++++++++++++++++---------------- crypto/openssl/apps/pkeyutl.c | 36 ++++++++++----------- crypto/openssl/apps/s_client.c | 3 +- crypto/openssl/crypto/asn1/a_strex.c | 6 ++-- crypto/openssl/crypto/asn1/evp_asn1.c | 20 ++++++++++++ crypto/openssl/crypto/bio/bf_lbuf.c | 32 +++++++++++++++---- crypto/openssl/crypto/evp/evp_lib.c | 5 ++- crypto/openssl/crypto/modes/ocb128.c | 10 ++++-- crypto/openssl/crypto/pkcs12/p12_decr.c | 5 +++ crypto/openssl/crypto/pkcs12/p12_kiss.c | 10 ++++-- crypto/openssl/crypto/pkcs12/p12_mutl.c | 18 +++++++++-- crypto/openssl/crypto/pkcs12/p12_utl.c | 5 +++ crypto/openssl/crypto/pkcs7/pk7_doit.c | 2 ++ crypto/openssl/crypto/ts/ts_rsp_verify.c | 4 +-- crypto/openssl/ssl/quic/quic_impl.c | 2 ++ crypto/openssl/ssl/statem/statem_lib.c | 6 ++++ 18 files changed, 158 insertions(+), 70 deletions(-) diff --git a/crypto/openssl/apps/dgst.c b/crypto/openssl/apps/dgst.c index 0fb1f45200a0..b002de18c94b 100644 --- a/crypto/openssl/apps/dgst.c +++ b/crypto/openssl/apps/dgst.c @@ -704,12 +704,11 @@ static int do_fp_oneshot_sign(BIO *out, EVP_MD_CTX *ctx, BIO *in, int sep, int b { int res, ret = EXIT_FAILURE; size_t len = 0; - int buflen = 0; - int maxlen = 16 * 1024 * 1024; + size_t buflen = 0; + size_t maxlen = 16 * 1024 * 1024; uint8_t *buf = NULL, *sig = NULL; - buflen = bio_to_mem(&buf, maxlen, in); - if (buflen <= 0) { + if (!bio_to_mem(&buf, &buflen, maxlen, in)) { BIO_printf(bio_err, "Read error in %s\n", file); return ret; } diff --git a/crypto/openssl/apps/include/apps.h b/crypto/openssl/apps/include/apps.h index 11381ea7da8c..026cbfe7aecd 100644 --- a/crypto/openssl/apps/include/apps.h +++ b/crypto/openssl/apps/include/apps.h @@ -253,7 +253,7 @@ int parse_yesno(const char *str, int def); X509_NAME *parse_name(const char *str, int chtype, int multirdn, const char *desc); void policies_print(X509_STORE_CTX *ctx); -int bio_to_mem(unsigned char **out, int maxlen, BIO *in); +int bio_to_mem(unsigned char **out, size_t *outlen, size_t maxlen, BIO *in); int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value); int x509_ctrl_string(X509 *x, const char *value); int x509_req_ctrl_string(X509_REQ *x, const char *value); diff --git a/crypto/openssl/apps/lib/apps.c b/crypto/openssl/apps/lib/apps.c index 1b9c9e3e9a19..6e0f756524d8 100644 --- a/crypto/openssl/apps/lib/apps.c +++ b/crypto/openssl/apps/lib/apps.c @@ -49,6 +49,7 @@ #include "apps.h" #include "internal/sockets.h" /* for openssl_fdset() */ +#include "internal/numbers.h" /* for LONG_MAX */ #include "internal/e_os.h" #ifdef _WIN32 @@ -2010,45 +2011,45 @@ X509_NAME *parse_name(const char *cp, int chtype, int canmulti, } /* - * Read whole contents of a BIO into an allocated memory buffer and return - * it. + * Read whole contents of a BIO into an allocated memory buffer. + * The return value is one on success, zero on error. + * If `maxlen` is non-zero, at most `maxlen` bytes are returned, or else, if + * the input is longer than `maxlen`, an error is returned. + * If `maxlen` is zero, the limit is effectively `SIZE_MAX`. */ - -int bio_to_mem(unsigned char **out, int maxlen, BIO *in) +int bio_to_mem(unsigned char **out, size_t *outlen, size_t maxlen, BIO *in) { + unsigned char tbuf[4096]; BIO *mem; - int len, ret; - unsigned char tbuf[1024]; + BUF_MEM *bufm; + size_t sz = 0; + int len; mem = BIO_new(BIO_s_mem()); if (mem == NULL) - return -1; + return 0; for (;;) { - if ((maxlen != -1) && maxlen < 1024) - len = maxlen; - else - len = 1024; - len = BIO_read(in, tbuf, len); - if (len < 0) { - BIO_free(mem); - return -1; - } - if (len == 0) + if ((len = BIO_read(in, tbuf, 4096)) == 0) break; - if (BIO_write(mem, tbuf, len) != len) { + if (len < 0 + || BIO_write(mem, tbuf, len) != len + || sz > SIZE_MAX - len + || ((sz += len) > maxlen && maxlen != 0)) { BIO_free(mem); - return -1; + return 0; } - if (maxlen != -1) - maxlen -= len; - - if (maxlen == 0) - break; } - ret = BIO_get_mem_data(mem, (char **)out); - BIO_set_flags(mem, BIO_FLAGS_MEM_RDONLY); + + /* So BIO_free orphans BUF_MEM */ + (void)BIO_set_close(mem, BIO_NOCLOSE); + BIO_get_mem_ptr(mem, &bufm); BIO_free(mem); - return ret; + *out = (unsigned char *)bufm->data; + *outlen = bufm->length; + /* Tell BUF_MEM to orphan data */ + bufm->data = NULL; + BUF_MEM_free(bufm); + return 1; } int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value) diff --git a/crypto/openssl/apps/pkeyutl.c b/crypto/openssl/apps/pkeyutl.c index 79ad4c6f29f5..5ddf1c02c09b 100644 --- a/crypto/openssl/apps/pkeyutl.c +++ b/crypto/openssl/apps/pkeyutl.c @@ -40,7 +40,7 @@ static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, static int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx, EVP_PKEY *pkey, BIO *in, - int filesize, unsigned char *sig, int siglen, + int filesize, unsigned char *sig, size_t siglen, unsigned char **out, size_t *poutlen); static int only_nomd(EVP_PKEY *pkey) @@ -133,7 +133,7 @@ int pkeyutl_main(int argc, char **argv) char hexdump = 0, asn1parse = 0, rev = 0, *prog; unsigned char *buf_in = NULL, *buf_out = NULL, *sig = NULL, *secret = NULL; OPTION_CHOICE o; - int buf_inlen = 0, siglen = -1; + size_t buf_inlen = 0, siglen = 0; int keyform = FORMAT_UNDEF, peerform = FORMAT_UNDEF; int keysize = -1, pkey_op = EVP_PKEY_OP_SIGN, key_type = KEY_PRIVKEY; int engine_impl = 0; @@ -486,31 +486,31 @@ int pkeyutl_main(int argc, char **argv) if (sigfile != NULL) { BIO *sigbio = BIO_new_file(sigfile, "rb"); + size_t maxsiglen = 16 * 1024 * 1024; if (sigbio == NULL) { BIO_printf(bio_err, "Can't open signature file %s\n", sigfile); goto end; } - siglen = bio_to_mem(&sig, keysize * 10, sigbio); - BIO_free(sigbio); - if (siglen < 0) { + if (!bio_to_mem(&sig, &siglen, maxsiglen, sigbio)) { + BIO_free(sigbio); BIO_printf(bio_err, "Error reading signature data\n"); goto end; } + BIO_free(sigbio); } /* Raw input data is handled elsewhere */ if (in != NULL && !rawin) { /* Read the input data */ - buf_inlen = bio_to_mem(&buf_in, -1, in); - if (buf_inlen < 0) { + if (!bio_to_mem(&buf_in, &buf_inlen, 0, in)) { BIO_printf(bio_err, "Error reading input Data\n"); goto end; } if (rev) { size_t i; unsigned char ctmp; - size_t l = (size_t)buf_inlen; + size_t l = buf_inlen; for (i = 0; i < l / 2; i++) { ctmp = buf_in[i]; @@ -525,7 +525,8 @@ int pkeyutl_main(int argc, char **argv) && (pkey_op == EVP_PKEY_OP_SIGN || pkey_op == EVP_PKEY_OP_VERIFY)) { if (buf_inlen > EVP_MAX_MD_SIZE) { BIO_printf(bio_err, - "Error: The non-raw input data length %d is too long - max supported hashed size is %d\n", + "Error: The non-raw input data length %zd is too long - " + "max supported hashed size is %d\n", buf_inlen, EVP_MAX_MD_SIZE); goto end; } @@ -536,8 +537,7 @@ int pkeyutl_main(int argc, char **argv) rv = do_raw_keyop(pkey_op, mctx, pkey, in, filesize, sig, siglen, NULL, 0); } else { - rv = EVP_PKEY_verify(ctx, sig, (size_t)siglen, - buf_in, (size_t)buf_inlen); + rv = EVP_PKEY_verify(ctx, sig, siglen, buf_in, buf_inlen); } if (rv == 1) { BIO_puts(out, "Signature Verified Successfully\n"); @@ -556,8 +556,8 @@ int pkeyutl_main(int argc, char **argv) buf_outlen = kdflen; rv = 1; } else { - rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen, - buf_in, (size_t)buf_inlen, NULL, (size_t *)&secretlen); + rv = do_keyop(ctx, pkey_op, NULL, &buf_outlen, + buf_in, buf_inlen, NULL, &secretlen); } if (rv > 0 && (secretlen > 0 || (pkey_op != EVP_PKEY_OP_ENCAPSULATE @@ -568,8 +568,8 @@ int pkeyutl_main(int argc, char **argv) if (secretlen > 0) secret = app_malloc(secretlen, "secret output"); rv = do_keyop(ctx, pkey_op, - buf_out, (size_t *)&buf_outlen, - buf_in, (size_t)buf_inlen, secret, (size_t *)&secretlen); + buf_out, &buf_outlen, + buf_in, buf_inlen, secret, &secretlen); } } if (rv <= 0) { @@ -838,7 +838,7 @@ static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, static int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx, EVP_PKEY *pkey, BIO *in, - int filesize, unsigned char *sig, int siglen, + int filesize, unsigned char *sig, size_t siglen, unsigned char **out, size_t *poutlen) { int rv = 0; @@ -861,7 +861,7 @@ static int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx, BIO_printf(bio_err, "Error reading raw input data\n"); goto end; } - rv = EVP_DigestVerify(mctx, sig, (size_t)siglen, mbuf, buf_len); + rv = EVP_DigestVerify(mctx, sig, siglen, mbuf, buf_len); break; case EVP_PKEY_OP_SIGN: buf_len = BIO_read(in, mbuf, filesize); @@ -895,7 +895,7 @@ static int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx, goto end; } } - rv = EVP_DigestVerifyFinal(mctx, sig, (size_t)siglen); + rv = EVP_DigestVerifyFinal(mctx, sig, siglen); break; case EVP_PKEY_OP_SIGN: for (;;) { diff --git a/crypto/openssl/apps/s_client.c b/crypto/openssl/apps/s_client.c index ffb4597a197c..5c7f4a93c9fa 100644 --- a/crypto/openssl/apps/s_client.c +++ b/crypto/openssl/apps/s_client.c @@ -2834,8 +2834,9 @@ int s_client_main(int argc, char **argv) goto end; } atyp = ASN1_generate_nconf(genstr, cnf); - if (atyp == NULL) { + if (atyp == NULL || atyp->type != V_ASN1_SEQUENCE) { NCONF_free(cnf); + ASN1_TYPE_free(atyp); BIO_printf(bio_err, "ASN1_generate_nconf failed\n"); goto end; } diff --git a/crypto/openssl/crypto/asn1/a_strex.c b/crypto/openssl/crypto/asn1/a_strex.c index 4b031a73add5..cfe2644f572c 100644 --- a/crypto/openssl/crypto/asn1/a_strex.c +++ b/crypto/openssl/crypto/asn1/a_strex.c @@ -204,8 +204,10 @@ static int do_buf(unsigned char *buf, int buflen, orflags = CHARTYPE_LAST_ESC_2253; if (type & BUF_TYPE_CONVUTF8) { unsigned char utfbuf[6]; - int utflen; - utflen = UTF8_putc(utfbuf, sizeof(utfbuf), c); + int utflen = UTF8_putc(utfbuf, sizeof(utfbuf), c); + + if (utflen < 0) + return -1; /* error happened with UTF8 */ for (i = 0; i < utflen; i++) { /* * We don't need to worry about setting orflags correctly diff --git a/crypto/openssl/crypto/asn1/evp_asn1.c b/crypto/openssl/crypto/asn1/evp_asn1.c index 13d8ed3893ab..6aca0117bc11 100644 --- a/crypto/openssl/crypto/asn1/evp_asn1.c +++ b/crypto/openssl/crypto/asn1/evp_asn1.c @@ -60,6 +60,12 @@ static ossl_inline void asn1_type_init_oct(ASN1_OCTET_STRING *oct, oct->flags = 0; } +/* + * This function copies 'anum' to 'num' and the data of 'oct' to 'data'. + * If the length of 'data' > 'max_len', copies only the first 'max_len' + * bytes, but returns the full length of 'oct'; this allows distinguishing + * whether all the data was copied. + */ static int asn1_type_get_int_oct(ASN1_OCTET_STRING *oct, int32_t anum, long *num, unsigned char *data, int max_len) { @@ -106,6 +112,13 @@ int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, return 0; } +/* + * This function decodes an int-octet sequence and copies the integer to 'num' + * and the data of octet to 'data'. + * If the length of 'data' > 'max_len', copies only the first 'max_len' + * bytes, but returns the full length of 'oct'; this allows distinguishing + * whether all the data was copied. + */ int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, unsigned char *data, int max_len) { @@ -162,6 +175,13 @@ int ossl_asn1_type_set_octetstring_int(ASN1_TYPE *a, long num, return 0; } +/* + * This function decodes an octet-int sequence and copies the data of octet + * to 'data' and the integer to 'num'. + * If the length of 'data' > 'max_len', copies only the first 'max_len' + * bytes, but returns the full length of 'oct'; this allows distinguishing + * whether all the data was copied. + */ int ossl_asn1_type_get_octetstring_int(const ASN1_TYPE *a, long *num, unsigned char *data, int max_len) { diff --git a/crypto/openssl/crypto/bio/bf_lbuf.c b/crypto/openssl/crypto/bio/bf_lbuf.c index eed3dc4633e0..ce7123171aa3 100644 --- a/crypto/openssl/crypto/bio/bf_lbuf.c +++ b/crypto/openssl/crypto/bio/bf_lbuf.c @@ -186,14 +186,34 @@ static int linebuffer_write(BIO *b, const char *in, int inl) while (foundnl && inl > 0); /* * We've written as much as we can. The rest of the input buffer, if - * any, is text that doesn't and with a NL and therefore needs to be - * saved for the next trip. + * any, is text that doesn't end with a NL and therefore we need to try + * free up some space in our obuf so we can make forward progress. */ - if (inl > 0) { - memcpy(&(ctx->obuf[ctx->obuf_len]), in, inl); - ctx->obuf_len += inl; - num += inl; + while (inl > 0) { + size_t avail = (size_t)ctx->obuf_size - (size_t)ctx->obuf_len; + size_t to_copy; + + if (avail == 0) { + /* Flush buffered data to make room */ + i = BIO_write(b->next_bio, ctx->obuf, ctx->obuf_len); + if (i <= 0) { + BIO_copy_next_retry(b); + return num > 0 ? num : i; + } + if (i < ctx->obuf_len) + memmove(ctx->obuf, ctx->obuf + i, ctx->obuf_len - i); + ctx->obuf_len -= i; + continue; + } + + to_copy = inl > (int)avail ? avail : (size_t)inl; + memcpy(&(ctx->obuf[ctx->obuf_len]), in, to_copy); + ctx->obuf_len += (int)to_copy; + in += to_copy; + inl -= (int)to_copy; + num += (int)to_copy; } + return num; } diff --git a/crypto/openssl/crypto/evp/evp_lib.c b/crypto/openssl/crypto/evp/evp_lib.c index 32ada929e1be..a4aa302a0ffa 100644 --- a/crypto/openssl/crypto/evp/evp_lib.c +++ b/crypto/openssl/crypto/evp/evp_lib.c @@ -228,10 +228,9 @@ int evp_cipher_get_asn1_aead_params(EVP_CIPHER_CTX *c, ASN1_TYPE *type, if (type == NULL || asn1_params == NULL) return 0; - i = ossl_asn1_type_get_octetstring_int(type, &tl, NULL, EVP_MAX_IV_LENGTH); - if (i <= 0) + i = ossl_asn1_type_get_octetstring_int(type, &tl, iv, EVP_MAX_IV_LENGTH); + if (i <= 0 || i > EVP_MAX_IV_LENGTH) return -1; - ossl_asn1_type_get_octetstring_int(type, &tl, iv, i); memcpy(asn1_params->iv, iv, i); asn1_params->iv_len = i; diff --git a/crypto/openssl/crypto/modes/ocb128.c b/crypto/openssl/crypto/modes/ocb128.c index 1ae807c100d0..6fe266981005 100644 --- a/crypto/openssl/crypto/modes/ocb128.c +++ b/crypto/openssl/crypto/modes/ocb128.c @@ -338,7 +338,7 @@ int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, if (num_blocks && all_num_blocks == (size_t)all_num_blocks && ctx->stream != NULL) { - size_t max_idx = 0, top = (size_t)all_num_blocks; + size_t max_idx = 0, top = (size_t)all_num_blocks, processed_bytes = 0; /* * See how many L_{i} entries we need to process data at hand @@ -352,6 +352,9 @@ int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, ctx->stream(in, out, num_blocks, ctx->keyenc, (size_t)ctx->sess.blocks_processed + 1, ctx->sess.offset.c, (const unsigned char (*)[16])ctx->l, ctx->sess.checksum.c); + processed_bytes = num_blocks * 16; + in += processed_bytes; + out += processed_bytes; } else { /* Loop through all full blocks to be encrypted */ for (i = ctx->sess.blocks_processed + 1; i <= all_num_blocks; i++) { @@ -430,7 +433,7 @@ int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, if (num_blocks && all_num_blocks == (size_t)all_num_blocks && ctx->stream != NULL) { - size_t max_idx = 0, top = (size_t)all_num_blocks; + size_t max_idx = 0, top = (size_t)all_num_blocks, processed_bytes = 0; /* * See how many L_{i} entries we need to process data at hand @@ -444,6 +447,9 @@ int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, ctx->stream(in, out, num_blocks, ctx->keydec, (size_t)ctx->sess.blocks_processed + 1, ctx->sess.offset.c, (const unsigned char (*)[16])ctx->l, ctx->sess.checksum.c); + processed_bytes = num_blocks * 16; + in += processed_bytes; + out += processed_bytes; } else { OCB_BLOCK tmp; diff --git a/crypto/openssl/crypto/pkcs12/p12_decr.c b/crypto/openssl/crypto/pkcs12/p12_decr.c index 3fa9c9c8ccec..ce603878c0d6 100644 --- a/crypto/openssl/crypto/pkcs12/p12_decr.c +++ b/crypto/openssl/crypto/pkcs12/p12_decr.c @@ -143,6 +143,11 @@ void *PKCS12_item_decrypt_d2i_ex(const X509_ALGOR *algor, const ASN1_ITEM *it, void *ret; int outlen = 0; + if (oct == NULL) { + ERR_raise(ERR_LIB_PKCS12, ERR_R_PASSED_NULL_PARAMETER); + return NULL; + } + if (!PKCS12_pbe_crypt_ex(algor, pass, passlen, oct->data, oct->length, &out, &outlen, 0, libctx, propq)) return NULL; diff --git a/crypto/openssl/crypto/pkcs12/p12_kiss.c b/crypto/openssl/crypto/pkcs12/p12_kiss.c index 0901dc94085f..a813450f588c 100644 --- a/crypto/openssl/crypto/pkcs12/p12_kiss.c +++ b/crypto/openssl/crypto/pkcs12/p12_kiss.c @@ -197,11 +197,17 @@ static int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen, ASN1_BMPSTRING *fname = NULL; ASN1_OCTET_STRING *lkid = NULL; - if ((attrib = PKCS12_SAFEBAG_get0_attr(bag, NID_friendlyName))) + if ((attrib = PKCS12_SAFEBAG_get0_attr(bag, NID_friendlyName))) { + if (attrib->type != V_ASN1_BMPSTRING) + return 0; fname = attrib->value.bmpstring; + } - if ((attrib = PKCS12_SAFEBAG_get0_attr(bag, NID_localKeyID))) + if ((attrib = PKCS12_SAFEBAG_get0_attr(bag, NID_localKeyID))) { + if (attrib->type != V_ASN1_OCTET_STRING) + return 0; lkid = attrib->value.octet_string; + } switch (PKCS12_SAFEBAG_get_nid(bag)) { case NID_keyBag: diff --git a/crypto/openssl/crypto/pkcs12/p12_mutl.c b/crypto/openssl/crypto/pkcs12/p12_mutl.c index b43c82f0ed29..f6c7be483de8 100644 --- a/crypto/openssl/crypto/pkcs12/p12_mutl.c +++ b/crypto/openssl/crypto/pkcs12/p12_mutl.c @@ -122,8 +122,6 @@ static int PBMAC1_PBKDF2_HMAC(OSSL_LIB_CTX *ctx, const char *propq, ERR_raise(ERR_LIB_PKCS12, ERR_R_UNSUPPORTED); goto err; } - keylen = ASN1_INTEGER_get(pbkdf2_param->keylength); - pbkdf2_salt = pbkdf2_param->salt->value.octet_string; if (pbkdf2_param->prf == NULL) { kdf_hmac_nid = NID_hmacWithSHA1; @@ -138,6 +136,22 @@ static int PBMAC1_PBKDF2_HMAC(OSSL_LIB_CTX *ctx, const char *propq, goto err; } + /* Validate salt is an OCTET STRING choice */ + if (pbkdf2_param->salt == NULL + || pbkdf2_param->salt->type != V_ASN1_OCTET_STRING) { + ERR_raise(ERR_LIB_PKCS12, PKCS12_R_PARSE_ERROR); + goto err; + } + pbkdf2_salt = pbkdf2_param->salt->value.octet_string; + + /* RFC 9579 specifies missing key length as invalid */ + if (pbkdf2_param->keylength != NULL) + keylen = ASN1_INTEGER_get(pbkdf2_param->keylength); + if (keylen <= 0 || keylen > EVP_MAX_MD_SIZE) { + ERR_raise(ERR_LIB_PKCS12, PKCS12_R_PARSE_ERROR); + goto err; + } + if (PKCS5_PBKDF2_HMAC(pass, passlen, pbkdf2_salt->data, pbkdf2_salt->length, ASN1_INTEGER_get(pbkdf2_param->iter), kdf_md, keylen, key) <= 0) { ERR_raise(ERR_LIB_PKCS12, ERR_R_INTERNAL_ERROR); diff --git a/crypto/openssl/crypto/pkcs12/p12_utl.c b/crypto/openssl/crypto/pkcs12/p12_utl.c index a96623f19fba..082706d5f522 100644 --- a/crypto/openssl/crypto/pkcs12/p12_utl.c +++ b/crypto/openssl/crypto/pkcs12/p12_utl.c @@ -206,6 +206,11 @@ char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen) /* re-run the loop emitting UTF-8 string */ for (asclen = 0, i = 0; i < unilen; ) { j = bmp_to_utf8(asctmp+asclen, uni+i, unilen-i); + /* when UTF8_putc fails */ + if (j < 0) { + OPENSSL_free(asctmp); + return NULL; + } if (j == 4) i += 4; else i += 2; asclen += j; diff --git a/crypto/openssl/crypto/pkcs7/pk7_doit.c b/crypto/openssl/crypto/pkcs7/pk7_doit.c index 6173e4608b8a..39809a0fdb96 100644 --- a/crypto/openssl/crypto/pkcs7/pk7_doit.c +++ b/crypto/openssl/crypto/pkcs7/pk7_doit.c @@ -1231,6 +1231,8 @@ ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk) ASN1_TYPE *astype; if ((astype = get_attribute(sk, NID_pkcs9_messageDigest)) == NULL) return NULL; + if (astype->type != V_ASN1_OCTET_STRING) + return NULL; return astype->value.octet_string; } diff --git a/crypto/openssl/crypto/ts/ts_rsp_verify.c b/crypto/openssl/crypto/ts/ts_rsp_verify.c index 0d9fa01e4337..60bc918d2d92 100644 --- a/crypto/openssl/crypto/ts/ts_rsp_verify.c +++ b/crypto/openssl/crypto/ts/ts_rsp_verify.c @@ -211,7 +211,7 @@ static ESS_SIGNING_CERT *ossl_ess_get_signing_cert(const PKCS7_SIGNER_INFO *si) const unsigned char *p; attr = PKCS7_get_signed_attribute(si, NID_id_smime_aa_signingCertificate); - if (attr == NULL) + if (attr == NULL || attr->type != V_ASN1_SEQUENCE) return NULL; p = attr->value.sequence->data; return d2i_ESS_SIGNING_CERT(NULL, &p, attr->value.sequence->length); @@ -224,7 +224,7 @@ ESS_SIGNING_CERT_V2 *ossl_ess_get_signing_cert_v2(const PKCS7_SIGNER_INFO *si) const unsigned char *p; attr = PKCS7_get_signed_attribute(si, NID_id_smime_aa_signingCertificateV2); - if (attr == NULL) + if (attr == NULL || attr->type != V_ASN1_SEQUENCE) return NULL; p = attr->value.sequence->data; return d2i_ESS_SIGNING_CERT_V2(NULL, &p, attr->value.sequence->length); diff --git a/crypto/openssl/ssl/quic/quic_impl.c b/crypto/openssl/ssl/quic/quic_impl.c index cec05d5bd37b..0c15ef05236c 100644 --- a/crypto/openssl/ssl/quic/quic_impl.c +++ b/crypto/openssl/ssl/quic/quic_impl.c @@ -5065,6 +5065,8 @@ const SSL_CIPHER *ossl_quic_get_cipher_by_char(const unsigned char *p) { const SSL_CIPHER *ciph = ssl3_get_cipher_by_char(p); + if (ciph == NULL) + return NULL; if ((ciph->algorithm2 & SSL_QUIC) == 0) return NULL; diff --git a/crypto/openssl/ssl/statem/statem_lib.c b/crypto/openssl/ssl/statem/statem_lib.c index 1e11d077f9e0..13f1af7e9fd0 100644 --- a/crypto/openssl/ssl/statem/statem_lib.c +++ b/crypto/openssl/ssl/statem/statem_lib.c @@ -2912,6 +2912,12 @@ MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION *sc, goto err; } + /* Prevent excessive pre-decompression allocation */ + if (expected_length > sc->max_cert_list) { + SSLfatal(sc, SSL_AD_ILLEGAL_PARAMETER, SSL_R_EXCESSIVE_MESSAGE_SIZE); + goto err; + } + if (PACKET_remaining(pkt) != comp_length || comp_length == 0) { SSLfatal(sc, SSL_AD_DECODE_ERROR, SSL_R_BAD_DECOMPRESSION); goto err; From nobody Tue Jan 27 20:29: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 4f0xnv5rnKz6QNmP for ; Tue, 27 Jan 2026 20:29: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 4f0xnv3Y17z3YnN for ; Tue, 27 Jan 2026 20:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769545747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Cvv0S9XnSsy9fhX6MQ2jOwL90+8mlw7DfxDDLCDEIk=; b=w8lxp8reushAmSrpi7hlEZM3WqYfz0ADHIn6wQDq9XZAS5y82Pb8bVDdJSJQ8s/i58SKSq DJGEkOv48h/s1a6UgKVy7HJeADR+VsRaoY74PQKrofO15dT1ZW6U59DVt0LZAxEYaY2Tlu ZoWUsEkcuoc6uTVrmA7HHeQhXgsaQFxD9Dpp5uVhpQDc4BP3EAR3YV8gB4ncaDfULbVPHE z8rzdYUeb41UmsZ5Ux+yqDXjIkciOTPZkOFy/iAKlLkdnVJaD4FJljZIHXcS0MPm+L5rzJ SQfFqW8sLks70qObKbKSLiMTfm3gceYloPYoKyLafTAZ/+plhGgA9z2km1WieA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769545747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Cvv0S9XnSsy9fhX6MQ2jOwL90+8mlw7DfxDDLCDEIk=; b=wuy5xiAT7fqU3pzM7zsBmb2VoE14B75milBUyk3KJjkuUcRL/qqtwShXNFOS+m1I9RA6r8 D0ZhenkxLLChVLY4xWPiw07zqpb+rzi9mfX/ecgS/AS64LVwnnNQcRN+cX+WVD7l9BeSCf WGHNodTkDthHzU29EmgPvoXPoTqPgxRXwV8BMKxcrElTNK5xm8lcIfek2R5m2H+BYmVit5 yZ8IsCg/j16APtkKyvAxCW4wW08so1aF3yB/jH5+qHpL79jc04SnsiKhqv+d2fAWKbMz6b /8GeAeOFJXLSz1wByZyVetHSdwPP69uUU7KbXpwbO7Cm8sFUh9jiBXWsJwY+NQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769545747; a=rsa-sha256; cv=none; b=MHIvUMxUTZ0xLoGnlt21qmMKmky5ca1Of082VZKja3jYf2AVQr6vIoLq4qkujMjb5b2uA5 KugtXOJPSnsZD/Zmg34VHW8KZoFeQmJoJanS8DlXq+l59dBlFm+oXY3B7sIYgp0QW6E4e3 9/9XEMJcX6oWHHHLDwE2BIn4maTMZXrGh70LhO69D5ddoFcTr8SDYq7pLEtYq55xuimK49 +sBNSQltfSm1tQpzf8ZIe2K1lCiuPwjkJXGdgZt+6jlRPyw7r0+XcNUSuBSXXCbAxi8W5m kCQ2Q8GmC+7TcVdCDvwJ3UxfdDchLLFlBggbyvyteeiHat1UfD4SauRmyTbP9Q== 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 4f0xnv2bptz6k1 for ; Tue, 27 Jan 2026 20:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 324bc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 20:29:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jonathan T. Looney Subject: git: 37d86e948775 - main - witness: mark relationships defined in order_lists[] 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: 37d86e9487754b8541cd4418a4c42999bbb2761f Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 20:29:07 +0000 Message-Id: <69792013.324bc.646f9d4d@gitrepo.freebsd.org> The branch main has been updated by jtl: URL: https://cgit.FreeBSD.org/src/commit/?id=37d86e9487754b8541cd4418a4c42999bbb2761f commit 37d86e9487754b8541cd4418a4c42999bbb2761f Author: Jonathan T. Looney AuthorDate: 2026-01-27 02:11:10 +0000 Commit: Jonathan T. Looney CommitDate: 2026-01-27 20:27:51 +0000 witness: mark relationships defined in order_lists[] Mark the lock relationships defined in order_lists[] and use that information to print better messages when a LOR violates one of these relationships. Suggested by: markj Reviewed by: kib, markj MFC after: 1 month Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D54903 --- sys/kern/subr_witness.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index a332d6bace2a..7437a7e238f0 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -168,7 +168,7 @@ #define WITNESS_RELATED_MASK (WITNESS_ANCESTOR_MASK | WITNESS_DESCENDANT_MASK) #define WITNESS_REVERSAL 0x10 /* A lock order reversal has been observed. */ #define WITNESS_RESERVED1 0x20 /* Unused flag, reserved. */ -#define WITNESS_RESERVED2 0x40 /* Unused flag, reserved. */ +#define WITNESS_ORDER_LISTS 0x40 /* Relationship set in order_lists[]. */ #define WITNESS_LOCK_ORDER_KNOWN 0x80 /* This lock order is known. */ /* Descendant to ancestor flags */ @@ -858,6 +858,10 @@ witness_startup(void *mem) continue; w1->w_file = "order list"; itismychild(w, w1); + w_rmatrix[w->w_index][w1->w_index] |= + WITNESS_ORDER_LISTS; + w_rmatrix[w1->w_index][w->w_index] |= + WITNESS_ORDER_LISTS; w = w1; } } @@ -1273,6 +1277,7 @@ sbuf_print_verbose_witness_stacks(struct verbose_tracker *t) { struct witness_lock_order_data *data; int i; + bool hardcoded; for (i = 0; i < (2 * t->pair_count); i += 2) { mtx_lock_spin(&w_mtx); @@ -1294,18 +1299,20 @@ sbuf_print_verbose_witness_stacks(struct verbose_tracker *t) data = witness_lock_order_get(&t->t_w1, &t->t_w2); if (data != NULL) stack_copy(&data->wlod_stack, &t->t_stack); + hardcoded = (w_rmatrix[t->pairs[i]][t->pairs[i + 1]] & + WITNESS_ORDER_LISTS) == WITNESS_ORDER_LISTS; mtx_unlock_spin(&w_mtx); sbuf_printf(t->sb, - "Lock order \"%s\"(%s) -> \"%s\"(%s) first seen at:\n", + "%slock order \"%s\"(%s) -> \"%s\"(%s) first seen at:\n", + hardcoded ? "hardcoded " : "", t->t_w1.w_name, t->t_w1.w_class->lc_name, t->t_w2.w_name, t->t_w2.w_class->lc_name); if (data != NULL) stack_sbuf_print_flags(t->sb, &t->t_stack, t->alloc_flags, STACK_SBUF_FMT_LONG); else - sbuf_printf(t->sb, - "(No stack trace--hardcoded relationship?)\n"); + sbuf_printf(t->sb, "(No stack trace)\n"); sbuf_putc(t->sb, '\n'); } } From nobody Tue Jan 27 21:13: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 4f0ynN0CHLz6QRSw for ; Tue, 27 Jan 2026 21:13: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 4f0ynM4wmtz3kWv for ; Tue, 27 Jan 2026 21:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769548423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gytLY56ko3rl1/TAWgUjUCTBBp2ZWHl8i+Icc8k1hTo=; b=sT+ZuJevUHjfjr7l3fpjL1tw/lCeLB3XW6OGC2jZeBTGc+xbvZsOECpjk8yzEM/pXMWxkF /5DY1ZOSkEbYczANGGipTMuJoyirhBzEbhO7JMEg8HGb8MRWrWiW7Qh2qbldof9p5Bh2Xr Of/Pbne52u+OUH6pojxDj6WDBQLOU+HQg9i2blsCZifH5IZOFZC9RFVjumwhu6LqiYiI90 E5GBucSkPKMbL0cd5rdDzyaK9QPXTZ5CAFU0MQa7q6EAD94V+gpqyayoIdEVEHtabdM/0/ cvOTy24pS04GZws/6unLsWpaN4jY6hSEr/TbPCY2WBzM2zWKaUTIo//k2ol+5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769548423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gytLY56ko3rl1/TAWgUjUCTBBp2ZWHl8i+Icc8k1hTo=; b=JiSz12VelwQmCPQ7gfHVipNYBe+Z4+ubiuENxMiTV3cdEi4vRdgePaoJo6TrEh2XB8m2JP H/p842k7iX6F+m73nK5tJDDmpkGw3xm2tZ1i0JLwWRnBNZFt8v8pnsWpbaLMDxZ51MStad tbGM5Qby9kjCfxmHknTyHCruBYuiuSxlj96303g5E9DmE6fxGa3X3rurepkWEgpx2Xd2fA eIeyd/+D6Dk9lJDTrW9XucqHsQZJZCH6AuR7M6RqyL/gFGWH/Cg5X+NYCDfyugD+hfpvvu pHZjsZUKwXtRho/Uw2O7HJx1Zh9XOFdqUHEkLKfOS61h3ct2WOuKlXc720XmOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769548423; a=rsa-sha256; cv=none; b=yhgLNJUlsYQJq375b6aiGe10CmF5zvIN7QX7lVWe1vgooe9GlSIl3q5w/+YFV4BjCzkkP4 7nisfwlDJJn2To7Fpa0CvcGv1jkX7p+6942bR1J6CJkeDU2lDdBX0vxDPUpkRrQpylZhWx MERJG3cZk8X2F4owmG7eaftxURD4wcZ1FVDd4O7UnkTlpRCfWG5sTSZep6t+fwqlehfLAC gjtcBAjz13jmMMeEVPNs6rsRTOEUqB06r80Dn710QNVf/yolMPNX0KUhXpiEpsvesqUjSG vZJ0Diqh3Z9T0l5TtRclq5LUQ+Us00KDNJofw88fAda914VGwkMhl2moQXm0Vw== 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 4f0ynM3tFgz71V for ; Tue, 27 Jan 2026 21:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36521 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 21:13:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 938915a22c84 - main - netbsd-tests: Fix regcomp_too_big flakiness 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: 938915a22c84af88afa587694e8d63ce9dd202f4 Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 21:13:43 +0000 Message-Id: <69792a87.36521.160e4181@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=938915a22c84af88afa587694e8d63ce9dd202f4 commit 938915a22c84af88afa587694e8d63ce9dd202f4 Author: Mark Johnston AuthorDate: 2026-01-27 21:08:35 +0000 Commit: Mark Johnston CommitDate: 2026-01-27 21:08:35 +0000 netbsd-tests: Fix regcomp_too_big flakiness The test sometimes crashes with ASLR enabled. This seems to happen when regcomp() grows the process stack and happens to run into the virtual memory limit set at the beginning of the test. ASLR triggers the problem since it introduces a bit of fragmentation and thus introduces cases where stack allocation can be the trigger of virtual memory exhaustion, rather than dynamic memory allocation in regcomp(). Make the test stable by priming the stack before doing anything else. This effectively reserves 16MB of virtual memory for the stack, which in practice is enough to make the test stable on amd64. PR: 259971 Reviewed by: ngie, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54880 --- contrib/netbsd-tests/lib/libc/regex/t_exhaust.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c b/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c index 2f3d1025536b..9741f3311ae0 100644 --- a/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c +++ b/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c @@ -168,6 +168,14 @@ static const struct { { p6, REG_BASIC }, }; +static void __noinline +prime_stack(void) +{ + char buf[16 * 1024 * 1024]; + + explicit_bzero(buf, sizeof(buf)); +} + ATF_TC(regcomp_too_big); ATF_TC_HEAD(regcomp_too_big, tc) @@ -186,12 +194,15 @@ ATF_TC_BODY(regcomp_too_big, tc) int e; struct rlimit limit; - if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false)) - atf_tc_skip("https://bugs.freebsd.org/259971"); - limit.rlim_cur = limit.rlim_max = 256 * 1024 * 1024; ATF_REQUIRE(setrlimit(RLIMIT_VMEM, &limit) != -1); + /* + * Pre-fault the stack to avoid crashes caused by growing the stack + * beyond the limit. + */ + prime_stack(); + for (size_t i = 0; i < __arraycount(tests); i++) { char *d = (*tests[i].pattern)(REGEX_MAXSIZE); e = regcomp(&re, d, tests[i].type); From nobody Tue Jan 27 21:17: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 4f0ysT152Mz6QRnc for ; Tue, 27 Jan 2026 21:17: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 4f0ysS51JZz3lq2 for ; Tue, 27 Jan 2026 21:17:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769548636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F1kenosM6cm8nZTQAWN05H2E0r4ipnHLPnUZ2CXJL04=; b=aPU2bqeioSNSFvK0xNkOHZbZaNL9OEeeCXlmqanWhbglquos7HSuXITrMJH4BCDPECQ81U A7KUOztFson/BMD+AexjSPzYtfkqvOvxt7rXPCXvMMApm41tVCfVSUr0DEwIu8lGaHj94w 86imUhc2IvgV5uZJD4+8HJV7rJ+myFwwUxlhAeaEpTRXKfj+nxgV2j+OWPDuy4SYec0/6L TOLBduf3FL0esWsxg2QKYtCNi1IBY0bh6ORGAJofKl/rWpbjBPrjTSyNeAHiZ75x8zltob jwryyR4BCciBZribWCTxOF8+nhZCpA5PgLedMLoUALizl4NT+bmgnstPP2t9AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769548636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F1kenosM6cm8nZTQAWN05H2E0r4ipnHLPnUZ2CXJL04=; b=mHXH4Ed7xdrJ/mHiRjCI4+GSFNdHtAPjsOuEQt/ecb0n52QE44rd4cbQPBUteegdchN/sy p/sw3kqtyRxQlipJ6502JTDyLMI0ox9RIKqjQJwD092UA9zfVVQhdYkkFXGep4OtXpjUAJ uapWSxqgGTF7QId8apxOUVa9cDAHYltCNhlWgOZXq+4QHPOT3gkjmFFpbYj8kp5QuC9dWc MSyv29s0RTDiIDD0gl4Yq0LKc2NfzqMOc107+A6IBt6qs0G/mvEm4F5JVFMt26pQWOdy4y eUa1JQWBr9J5Lo6/BOuAZ/+5JgchlysX6kkv9sNTiFhziGuyjqBEwM7KKjBE9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769548636; a=rsa-sha256; cv=none; b=xSeKCxo+YRZDbd+kkZHeh0Gz33zHjnGGoYoAxhwYF5LeFP+yep1IhhUEz1hfGQ3WoMFPtu k+9Ygw9Q7C30gcJJoXZIGlYcbeD9npgY7Cwq8LeuFe/rOWnjA/VYm4yfbBMSipzRoX3Hxj L4d8dE/EDa5mNdC8e0GkDveKHjyNsQUoWoqxV0Guf6i/W8BfAehFvySLOIAvSmndHhChos WkBIOqte3pifbgAG+v+5KSWXBWWtMFa9P5BQmOcFIEC3P5ea5TW0b/NQ5ax3u5FgrXfQq2 rdonCWlwXdpEyPiD34yfaPYxcpCglygk0/z07r/y7GcBHdc4mNn3ojxpRaABOg== 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 4f0ysS48H5z7Zk for ; Tue, 27 Jan 2026 21:17:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37509 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 21:17:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 8a9508563542 - main - tests/kern: make ssl_sendfile:truncate and ssl_sendfile:grow less flaky 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: 8a9508563542d709b1a42a065e6e99e004a8b3fe Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 21:17:16 +0000 Message-Id: <69792b5c.37509.d3cf068@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=8a9508563542d709b1a42a065e6e99e004a8b3fe commit 8a9508563542d709b1a42a065e6e99e004a8b3fe Author: Gleb Smirnoff AuthorDate: 2026-01-27 21:13:11 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-27 21:17:08 +0000 tests/kern: make ssl_sendfile:truncate and ssl_sendfile:grow less flaky First problem is a trivial race that the client thread doesn't see updated c.sbytes. Second problem applies only to the truncate test. On a machine with huge default buffer sizes, there is a chance that sendfile(2) will fill both buffers with amount of data that is larger than the size we plan to truncate. To minimise chances for this scenario, increase file size and truncate it less aggressively, also try to decrease buffer sizes. --- tests/sys/kern/ssl_sendfile.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/sys/kern/ssl_sendfile.c b/tests/sys/kern/ssl_sendfile.c index 928a44a50811..884079e80be5 100644 --- a/tests/sys/kern/ssl_sendfile.c +++ b/tests/sys/kern/ssl_sendfile.c @@ -42,7 +42,7 @@ #include -#define FSIZE (size_t)(1024 * 1024) +#define FSIZE (size_t)(2 * 1024 * 1024) struct ctx { EVP_PKEY *pkey; /* Self-signed key ... */ @@ -338,10 +338,15 @@ ATF_TC_BODY(truncate, tc) char buf[128 * 1024]; size_t nread; int n; -#define TRUNC (FSIZE / 2) +#define TRUNC (FSIZE - 1024) common_init(&c); + ATF_REQUIRE(setsockopt(c.ss, SOL_SOCKET, SO_SNDBUF, &(int){FSIZE / 16}, + sizeof(int)) == 0); + ATF_REQUIRE(setsockopt(c.cs, SOL_SOCKET, SO_RCVBUF, &(int){FSIZE / 16}, + sizeof(int)) == 0); + sendme(&c, 0, 0, false); /* Make sure sender is waiting on the socket buffer. */ while (poll(&(struct pollfd){ .fd = c.ss, .events = POLLOUT }, 1, 1) @@ -354,7 +359,9 @@ ATF_TC_BODY(truncate, tc) nread += n; } ATF_REQUIRE(nread == TRUNC); + ATF_REQUIRE(pthread_mutex_lock(&c.mtx) == 0); ATF_REQUIRE(c.sbytes == TRUNC); + ATF_REQUIRE(pthread_mutex_unlock(&c.mtx) == 0); common_cleanup(&c); } @@ -372,6 +379,11 @@ ATF_TC_BODY(grow, tc) common_init(&c); + ATF_REQUIRE(setsockopt(c.ss, SOL_SOCKET, SO_SNDBUF, &(int){FSIZE / 16}, + sizeof(int)) == 0); + ATF_REQUIRE(setsockopt(c.cs, SOL_SOCKET, SO_RCVBUF, &(int){FSIZE / 16}, + sizeof(int)) == 0); + sendme(&c, 0, 0, false); /* Make sure sender is waiting on the socket buffer. */ while (poll(&(struct pollfd){ .fd = c.ss, .events = POLLOUT }, 1, 1) @@ -398,7 +410,9 @@ ATF_TC_BODY(grow, tc) nread += n; } ATF_REQUIRE(nread == GROW); + ATF_REQUIRE(pthread_mutex_lock(&c.mtx) == 0); ATF_REQUIRE(c.sbytes == FSIZE + GROW); + ATF_REQUIRE(pthread_mutex_unlock(&c.mtx) == 0); common_cleanup(&c); } From nobody Tue Jan 27 21:45: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 4f0zVM6Mhqz6QT6D for ; Tue, 27 Jan 2026 21:45: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 4f0zVM58wNz3qPZ for ; Tue, 27 Jan 2026 21:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769550347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8x461hspenyrcWi/YC+9QGC+Xalw3E+n4bd/7YVNTBE=; b=DZ9okanRzPhdOjlJY3RFiWaXGWNM5cBeuKTt/NbtfFu+BFXS/JHrU6l9MtVtCPrp5iazAz qunzBtMY3e1mIZczgS6LUXo2e1YE2Q0jDwY7BPAmrxPuhxtjMSuMsLfB4Y3T0gsD7uPgqK dswTRbEDqBF+7IKCR2/Lss80WbdYbbVLm6kRXQMAD76Wifh4dB05lnMj+qVFqlaA4Xy4HZ i97sa2USxPVYPN+jPtr2TcW53Mnk/Oz9NPKXHyQ+vbT2vkiPv41TLYwNIMWlyfKZYy41hS Aavt47uvUk2ga9lgMjuvb8WaC8lXSSILaSrCj3ZEAbMz6p/aMsl2vsxiNpEwbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769550347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8x461hspenyrcWi/YC+9QGC+Xalw3E+n4bd/7YVNTBE=; b=xEmZkLuQqAnYXOqgVigiyY5DpTiAHJpq8YVATCYKlfjfwGtrCscEapTayQX0nu07vEw2Qe +yhjvFAEeIeUkI9S91NuH72ARDCriacIoN1+A53Oy3IW+s89hnB0XoXR1I/Sa75eIE2w2q Z8q3tTpZF3IQj2ctIOm0IqgKs7jwr56kVYnUoGXxoiBLyOPCDl29fyGTzN0fZ0oZLuVc5f rPOyrOHnjoItRr4drsIrjW0iq/t0X0FG+QtENqll7FZlJIelUoDNmFhhqpsLD4MxA3R1y9 wAwF7dN9i9TrduxTWy5g3MePnEleNTOO8iowXoD2W4ZUfV+xec2E/iPMdzY7jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769550347; a=rsa-sha256; cv=none; b=bzxwzYjasw4EDVb2a9dXNvziQWVUSGTlIgOXxa88MzaoTghTNpScVjQ0tqVq82mFBW2vNe tPumNyqGy172qRwJ6aWGEa6tzYQEm9mWaKWE0K76uA9qTO5KXvnk9dfGG9LeI8XUCmRcdW Fov5z6I5BIxoDANaho3ADMd4MAFQmL1DPNG3fLR732xXFNuEamhJq/jQqqNQBO8e6Uoj4q QReLVV0L7c0KuWzgU3+THsEjqg1cobiyXJwvjdcoW4e/QZhzVvKu//fYLwC7YRStiYcn4F 9YPRGpBG4tf0OoZ2IDOFTTVe45YkqM1+LzQn8xihR5knKhIg59kCLxXhPfErRA== 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 4f0zVM4C1vz8kt for ; Tue, 27 Jan 2026 21:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 378fd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 21:45:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 331316b07350 - main - libc: Don't use uninitialised string for getnetbyaddr[_r](0) DNS lookup 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 331316b073505e4794754af1cd0c5ccc578a2bde Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 21:45:47 +0000 Message-Id: <6979320b.378fd.4f40a75d@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=331316b073505e4794754af1cd0c5ccc578a2bde commit 331316b073505e4794754af1cd0c5ccc578a2bde Author: Jessica Clarke AuthorDate: 2026-01-27 21:44:39 +0000 Commit: Jessica Clarke CommitDate: 2026-01-27 21:44:39 +0000 libc: Don't use uninitialised string for getnetbyaddr[_r](0) DNS lookup If net is all-zero, the loop to extract all leading non-zero octets will iterate zero times and leave nn with the value 4, which the following switch statement to initialise qbuf does not handle. As a result, _dns_getnetbyaddr will look up the PTR record for this uninitialised string, which will leak the pre-existing contents of that stack memory to the DNS resolver and, if remote and not otherwise protected, network. Note that _dns_getnetbyaddr is only used if nsswitch.conf is configured to enable the "dns" source for the "networks" database, which is not the default configuration in FreeBSD. For glibc this same bug, in code also derived from BIND's, was issued CVE-2026-0915. This commit adopts the same behaviour as glibc's fix, which is to regard a net of 0 as being for 0.0.0.0. Apparently NetBSD will return NS_UNAVAIL instead, which may or may not make more sense, but in general glibc compatibility tends to cause less friction when there's not a good reason to avoid it. Reviewed by: markj (secteam) Fixes: 1363f04ce1b8 ("get* rework and new bind code") MFC after: 1 day Security: Same bug as glibc's CVE-2026-0915 --- lib/libc/net/getnetbydns.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/libc/net/getnetbydns.c b/lib/libc/net/getnetbydns.c index deca8c58fca5..b9cc29d5bfdb 100644 --- a/lib/libc/net/getnetbydns.c +++ b/lib/libc/net/getnetbydns.c @@ -304,6 +304,9 @@ _dns_getnetbyaddr(void *rval, void *cb_data, va_list ap) for (nn = 4, net2 = net; net2; net2 >>= 8) netbr[--nn] = net2 & 0xff; switch (nn) { + case 4: /* net was all-zero i.e. 0.0.0.0 */ + sprintf(qbuf, "0.0.0.0.in-addr.arpa"); + break; case 3: /* Class A */ sprintf(qbuf, "0.0.0.%u.in-addr.arpa", netbr[3]); break; From nobody Tue Jan 27 21:56: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 4f0zkT5DYkz6QTPR; Tue, 27 Jan 2026 21:56:17 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from roy.zeist.de (roy.zeist.de [IPv6:2a01:4f9:4a:2169::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "roy.zeist.de", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f0zkT2HClz3rLY; Tue, 27 Jan 2026 21:56:17 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Authentication-Results: mx1.freebsd.org; none Received: from roy.zeist.de (localhost [127.0.0.1]) by roy.zeist.de (8.18.2/8.18.2/ROY.ZEIST.DE) with ESMTPS id 60RLu4ah019810 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 27 Jan 2026 22:56:05 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by roy.zeist.de (8.18.2/8.18.2/Submit) id 60RLu42E019809; Tue, 27 Jan 2026 22:56:04 +0100 (CET) (envelope-from marius@alchemy.franken.de) Date: Tue, 27 Jan 2026 22:56:04 +0100 From: Marius Strobl To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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: X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:2a01:4f9::/32, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4f0zkT2HClz3rLY On Tue, Jan 27, 2026 at 01:13:04AM +0200, Konstantin Belousov wrote: > On Mon, Jan 26, 2026 at 09:30:58PM +0100, Marius Strobl wrote: > > On Mon, Jan 26, 2026 at 06:34:49PM +0200, Konstantin Belousov wrote: > > > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > > > The branch main has been updated by marius: > > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > > > Author: Marius Strobl > > > > AuthorDate: 2026-01-26 13:58:57 +0000 > > > > Commit: Marius Strobl > > > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > > > > > sym(4): Employ memory barriers also on x86 > > > > > > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > > > It does hold. x86 is much more strongly ordered than all other arches > > > we currently support. > > > > If it does hold, then why is atomic_thread_fence_seq_cst() employing > > a StoreLoad barrier even on amd64? > > I agree that x86 is more strongly ordered than the other supported > > architectures, though. > Well, it depends on the purpose. > > Can you please explain what is the purpose of this specific barrier, and > where is the reciprocal barrier for it? > > Often drivers for advanced devices do need fences. For instance, from > my experience with the Mellanox networking cards, there are some structures > that are located in regular cacheable memory. The readiness of the structure > for the card is indicated by a write to some location. If this location is > BAR, then at least on x86 we do not need any barriers. But if it is also > in the regular memory, the visibility of writes to the structure before > the write to a signalling variable must be enforced. > > This is done normally by atomic_thread_fence_rel(), which on x86 becomes > just compiler barrier, since the ordering is guaranteed by CPU (but not > compiler). > > In this situation, using rmb() (which is fence) really degrades > the performance on high rates. The problem at hand is reads from different memory locations (neither in BAR) apparently getting reordered after having kicked the chip. As a result, data read doesn't match its flag. Several factors contribute to this scenario. First off, this hardware doesn't have shiny doorbell registers but is a rather convoluted design dating back to the early days of PCI, using a heavy mix of registers in BAR space and DMAed control data, with addresses being patched into programs that are transferred to the controller RAM by the driver or may reside in host memory etc. Additional things also doesn't work equally across all supported chips as only newer ones provide load/ store instructions for example. As such, the operations of these chips might very well escape the bus snooping of more modern machines and optimizations therein. There are PCI bridges which only synchronize DMA themselves on interrupts for example. For drivers, we generally would want to express DMA synchronization and bus space access ordering needs in terms of bus_dmamap_sync(9) and bus_space_barrier(9) as there may be buffers, caches, IOMMUs etc. involved on/in the bus. These later are not taken into account by atomic_thread_fence_*(9). Apparently, this is also of relevance for x86, as otherwise BUS_SPACE_BARRIER_READ would be a compiler barrier there at most. With things like index or bank switching registers, it's generally also not the case that there are pairs of bus space barriers, i. e. also reciprocal ones, see e. g. the example in the BARRIERS section of bus_space.9. Due to the mess with these chips and depending on architecture, actually barriers for both, DMAed memory and bus space, might be required. That's why already before this change, powerpc already used both sync and eieio as well as the comment above the macros was already previously talking about using I/O barriers, too. Actually, I would have expected this hardware to have aged out by now. However, apparently it still is a thing with OpenStack, so it makes sense to keep this driver working, with performance not being of great concern. I can change the driver back to duplicate *mb(9) as it was before this change or back this change out completely it you absolutely dislike it. I won't waste time with working on an alternate approach to what the Linux version does, though, especially not given that the Linux version presumably gets considerably more exposure and testing. Marius From nobody Tue Jan 27 22: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 4f112v61Dkz6PbT4 for ; Tue, 27 Jan 2026 22:55: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 4f112t4MnQz3Jpg for ; Tue, 27 Jan 2026 22: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=1769554534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eQaLyPW8TywkA+Y3zSDyj2TpRQgUcJVNb7g4o+knLfw=; b=HJUlnl4H9EBj6YD60mDx2Sf2rRtbiNqr+8CifuiNaGGeAT3ocJOXJW0Zei0bPLt39Azt59 sIUQiW5d5TYd1CISHYpI0tXMxq4w4NhECWtLCxIhzNfddy4YI1pbV8qX/jqfMnelZE/Arq XTp+jvgFJXIRr8yhkSwjI4PUdgWImFjz2LSeILLEqNQ02Y6eTh7yx6Ji8m7r2q9i68sv++ KFzPzuCRBNPZx4g3xXNAiU4F9w67FL5O9nde47CPz5FhIQyje/wZXL94qcbvzyxkXnA4nB voUVEjo/wZqqhDXdODY5E6EMqj6XIWGYXrHQbMRcBD4055etl6Te0E6okFhdTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769554534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eQaLyPW8TywkA+Y3zSDyj2TpRQgUcJVNb7g4o+knLfw=; b=aOrD4oTWudsG/r5bz4W3YCNfDANPGXMZWXdrYKS5k2pMCrP6HRQIVu5NCxvxp9A3R3uoFB jlCbvGTEYjvWvs2Hswd1V0dRKmAsUFnCTTyCAMiTyUeEm8AE3pVaBJ7O+ORaEvzXtjjsow W/VybWWnfpTcQqtThJRh9S9lMLPQURRpAWvHZwh34U1YH6hlfp6LxgiqPq/O3KCnW0PEJ/ J6bHSuU/2qxx47VrWJdDSKTtuxXWM0mbPpvd3NDSkSx8qqSOrodkXWkg5p92Q4bUswe+zt 5zMNY+iGWpUyCjEOPPYVeaWF1vmAjuwIs/0d7QULC7af0t2uT5s3A0qRJZ3HAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769554534; a=rsa-sha256; cv=none; b=tt60zywG00JmUYcdQrEvIVWJagV3z4PpIolqbhOgq26Km3AZqdqkmDfDNu/hUdAkbJp0xv Ii4fkOHi/zRchk9Yu3yjRYVEEbeA+otDOinKI4EpjovH80fLZOKOw0IldobILgj+FDHnoz xcHT9eeH1orc2OA6TbE1tFvriOmYxgVhSDCeJMjZiG+7HKaNYLSjkDvGr+HPzszj6F74et uGYUg+E4vdmIyU5jfRV9O69SRX1kcR0W+hY834JBYClM0WVKonFg29ne3ieR/dDifdOF5V FUAQYJQcxxg4icw1D3MykjOdhcXBcMoleIBZqSc+Qxx4Vimr442bZlEa3ML8YA== 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 4f112t3zBHzBDg for ; Tue, 27 Jan 2026 22:55:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40f98 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 27 Jan 2026 22:55:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dave Cottlehuber Subject: git: c73ae6734899 - main - release/tools: use same pkg settings in containers as in /etc/pkg/FreeBSD.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: dch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c73ae67348998a0056145e88debbea9ff6860c4f Auto-Submitted: auto-generated Date: Tue, 27 Jan 2026 22:55:34 +0000 Message-Id: <69794266.40f98.5dd3e55c@gitrepo.freebsd.org> The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=c73ae67348998a0056145e88debbea9ff6860c4f commit c73ae67348998a0056145e88debbea9ff6860c4f Author: Dave Cottlehuber AuthorDate: 2026-01-27 22:51:22 +0000 Commit: Dave Cottlehuber CommitDate: 2026-01-27 22:54:44 +0000 release/tools: use same pkg settings in containers as in /etc/pkg/FreeBSD.conf Instructions in /etc/pkg/FreeBSD.conf and elsewhere recommend putting changes in /usr/local/etc/pkg/repos/FreeBSD.conf so bring OCI containers into line as well. Reviewed by: dfr, ivy Differential Revision: https://reviews.freebsd.org/D54090 MFC after: 5 days Sponsored by: SkunkWerks, GmbH --- release/tools/oci-image-static.conf | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/release/tools/oci-image-static.conf b/release/tools/oci-image-static.conf index 8e642d9defce..e2231d951268 100644 --- a/release/tools/oci-image-static.conf +++ b/release/tools/oci-image-static.conf @@ -36,12 +36,8 @@ oci_image_build() { ;; esac mkdir -p $m/usr/local/etc/pkg/repos - cat > $m/usr/local/etc/pkg/repos/base.conf < $m/usr/local/etc/pkg/repos/FreeBSD.conf <; Wed, 28 Jan 2026 02: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 4f15lD2QnNz3lyV for ; Wed, 28 Jan 2026 02: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=1769567240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jx4kRVtCOv7EGg/R0HHysnkc6TqK+ohmox8wo9WW6Ec=; b=gWD44fkTk2R80Ktsz5BYsW215ypLgayuKcvlTtHPDuzh2YTCuaH4dCOrOejl2Bkbx+Izd5 +X8P2qjs5WU+PAxfWZD+wm9i4cUboEaC3ES71cKmZ+XBWZ39TaFIREKf02Pbu/ZNUfMMz8 GoU8BqCMg8uzyBU/y6JH4qkqQglL0VjCdWxpbqgwzM31ZLhqJQdjj3Z1rqzmAIElB4SEfG AP8D9S70mVWe63dJUmkDlKBvn3azP4zI78naePcEs8sDjdIojgXbDDHc2abL7xa9N6mdQw nHTGtLqemFq0p5XEoKrl4AigHcHNppjWVJGIFcT4Ig66Qp1oZLxheZZJIOZ7Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769567240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jx4kRVtCOv7EGg/R0HHysnkc6TqK+ohmox8wo9WW6Ec=; b=Axsvpequp5445OX2etetG7SSHoSZyXxZyaa6gk8XVz0RjTZcorDdMuz7k3TlzFJqu5M70x VFKOeOmMaLJ5UIy7E/PVwLEWr2CuISIy3uP28XLi6FdlypxOBQVW70fwc+RY1faqUnKUgj /LJIqaL7yTWfAQvL84DCkFDoami5peLRO4nBMLUxXyEW/A05zY5JxcX6rkpx6R2rYIWBHY g8LYin9XLb6B5jmXyQn5YG+Jy5ufHxDQR6EvGIlRFJXA0B2c+tPEryuW5dXbtBAiJF4XK+ bZqlFc7abCoY5+M813xpXSUwZktvD0ZQjGzvSQwYRK+sEPFkrzznNhxuRyrzTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769567240; a=rsa-sha256; cv=none; b=Me1x0eDWB9QVCuOKN4Kq/9jhO4IUQOl/HCW5A+YnOv/FvTOHJxRn0vlzea2+HhwtpOoZUb Jpgk4sTRgxndSG2mtEhthqyI57m7GWAZpNHIVYiHfIpNOpEm7u52Ut33qKgcCwrZkve0NA Btc9bfifBLzGJ1/WYEdPsbUXysNXR0fSqPR+vJufVSvDZPS1JecPomaklF6EZYUdqS/S1O en0HFN54u8dNbEKBWbII05uuLzgGyYpfb2BDkuuwQBPjNzLJYPrYqogUC9HEQZE+a2Vur1 vFshclVRRCNXsUW8VkrIWdn+1pxnOLTlHtrmuUOuOFtKxheCrUHGx/+W//7uSw== 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 4f15lD1CKDzZRx for ; Wed, 28 Jan 2026 02:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24c2d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 02:27:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: c1be185e3fb9 - main - libsys, libc: provide rfork_thread() and pdrfork_thread() on all arches 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: c1be185e3fb9afd6743683a8f5a43b9c364ab529 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 02:27:20 +0000 Message-Id: <69797408.24c2d.55120576@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c1be185e3fb9afd6743683a8f5a43b9c364ab529 commit c1be185e3fb9afd6743683a8f5a43b9c364ab529 Author: Konstantin Belousov AuthorDate: 2026-01-26 16:04:08 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-28 02:26:52 +0000 libsys, libc: provide rfork_thread() and pdrfork_thread() on all arches Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54898 --- lib/libsys/Symbol.sys.map | 2 ++ lib/libsys/aarch64/Makefile.sys | 2 ++ lib/libsys/amd64/Symbol.sys.map | 5 ----- lib/libsys/arm/Makefile.sys | 2 ++ lib/libsys/i386/Symbol.sys.map | 5 ----- lib/libsys/pdrfork_thread_gen.c | 34 +++++++++++++++++++++++++++++++++ lib/libsys/powerpc/Makefile.sys | 2 ++ lib/libsys/powerpc64/Makefile.sys | 2 ++ lib/libsys/rfork_thread_gen.c | 40 +++++++++++++++++++++++++++++++++++++++ lib/libsys/riscv/Makefile.sys | 2 ++ 10 files changed, 86 insertions(+), 10 deletions(-) diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index 63446888c8d4..46767f5b6a4d 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -182,6 +182,7 @@ FBSD_1.0 { rename; revoke; rfork; + rfork_thread; rmdir; rtprio; rtprio_thread; @@ -391,6 +392,7 @@ FBSD_1.8 { FBSD_1.9 { pdrfork; + pdrfork_thread; }; FBSDprivate_1.0 { diff --git a/lib/libsys/aarch64/Makefile.sys b/lib/libsys/aarch64/Makefile.sys index 04b95602c580..c7aaf52d535a 100644 --- a/lib/libsys/aarch64/Makefile.sys +++ b/lib/libsys/aarch64/Makefile.sys @@ -1,6 +1,8 @@ MIASM:= ${MIASM:Nfreebsd[467]_*} SRCS+= __vdso_gettc.c \ + pdrfork_thread_gen.c \ + rfork_thread_gen.c \ sched_getcpu_gen.c MDASM= cerror.S \ diff --git a/lib/libsys/amd64/Symbol.sys.map b/lib/libsys/amd64/Symbol.sys.map index b037e12d45f5..67a8df7d2a8c 100644 --- a/lib/libsys/amd64/Symbol.sys.map +++ b/lib/libsys/amd64/Symbol.sys.map @@ -1,5 +1,4 @@ FBSD_1.0 { - rfork_thread; amd64_get_fsbase; amd64_get_gsbase; amd64_set_fsbase; @@ -17,10 +16,6 @@ FBSD_1.8 { amd64_set_tlsbase; }; -FBSD_1.9 { - pdrfork_thread; -}; - FBSDprivate_1.0 { _vfork; }; diff --git a/lib/libsys/arm/Makefile.sys b/lib/libsys/arm/Makefile.sys index 27d78978a2f4..424d2f9cc9d8 100644 --- a/lib/libsys/arm/Makefile.sys +++ b/lib/libsys/arm/Makefile.sys @@ -1,4 +1,6 @@ SRCS+= __vdso_gettc.c \ + pdrfork_thread_gen.c \ + rfork_thread_gen.c \ sched_getcpu_gen.c MDASM= \ diff --git a/lib/libsys/i386/Symbol.sys.map b/lib/libsys/i386/Symbol.sys.map index a35349e4953b..03a28f9e486c 100644 --- a/lib/libsys/i386/Symbol.sys.map +++ b/lib/libsys/i386/Symbol.sys.map @@ -10,7 +10,6 @@ FBSD_1.0 { i386_set_ldt; i386_set_watch; i386_vm86; - rfork_thread; }; FBSD_1.6 { @@ -20,10 +19,6 @@ FBSD_1.6 { x86_pkru_unprotect_range; }; -FBSD_1.9 { - pdrfork_thread; -}; - FBSDprivate_1.0 { _vfork; }; diff --git a/lib/libsys/pdrfork_thread_gen.c b/lib/libsys/pdrfork_thread_gen.c new file mode 100644 index 000000000000..d36b2cc11993 --- /dev/null +++ b/lib/libsys/pdrfork_thread_gen.c @@ -0,0 +1,34 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2026 The FreeBSD Foundation + * + * This software were developed by + * Konstantin Belousov under sponsorship from + * the FreeBSD Foundation. + */ + +#include +#include +#include +#include + +pid_t +pdrfork_thread(int *fdp, int pdflags, int rfflags, void *stack_addr, + int (*start_fn)(void *), void *arg) +{ + pid_t res; + int ret; + + /* See comment in rfork_thread_gen.c. */ + if (stack_addr != NULL) { + errno = EOPNOTSUPP; + return (-1); + } + res = pdrfork(fdp, pdflags, rfflags); + if (res == 0) { + ret = start_fn(arg); + _exit(ret); + } + return (res); +} diff --git a/lib/libsys/powerpc/Makefile.sys b/lib/libsys/powerpc/Makefile.sys index 9979d5179f51..f066aae1a4fa 100644 --- a/lib/libsys/powerpc/Makefile.sys +++ b/lib/libsys/powerpc/Makefile.sys @@ -1,4 +1,6 @@ SRCS+= __vdso_gettc.c \ + pdrfork_thread_gen.c \ + rfork_thread_gen.c \ sched_getcpu_gen.c MDASM+= cerror.S diff --git a/lib/libsys/powerpc64/Makefile.sys b/lib/libsys/powerpc64/Makefile.sys index 9979d5179f51..f066aae1a4fa 100644 --- a/lib/libsys/powerpc64/Makefile.sys +++ b/lib/libsys/powerpc64/Makefile.sys @@ -1,4 +1,6 @@ SRCS+= __vdso_gettc.c \ + pdrfork_thread_gen.c \ + rfork_thread_gen.c \ sched_getcpu_gen.c MDASM+= cerror.S diff --git a/lib/libsys/rfork_thread_gen.c b/lib/libsys/rfork_thread_gen.c new file mode 100644 index 000000000000..5a8f6e3f650f --- /dev/null +++ b/lib/libsys/rfork_thread_gen.c @@ -0,0 +1,40 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2026 The FreeBSD Foundation + * + * This software were developed by + * Konstantin Belousov under sponsorship from + * the FreeBSD Foundation. + */ + +#include +#include + +pid_t +rfork_thread(int flags, void *stack_addr, int (*start_fn)(void *), void *arg) +{ + pid_t res; + int ret; + + /* + * Generic implementation cannot switch stacks. Only + * architecture-specific code knows how to do it. Require + * that caller knows that, and refuse to do operate if the + * stack was supplied. + * + * Note that implementations that do switch stack, would fault + * immediately if the passed stack is NULL. They do not need to + * specifically check for the NULL stack value. + */ + if (stack_addr != NULL) { + errno = EOPNOTSUPP; + return (-1); + } + res = rfork(flags); + if (res == 0) { + ret = start_fn(arg); + _exit(ret); + } + return (res); +} diff --git a/lib/libsys/riscv/Makefile.sys b/lib/libsys/riscv/Makefile.sys index 2ff84735f484..87181565f0be 100644 --- a/lib/libsys/riscv/Makefile.sys +++ b/lib/libsys/riscv/Makefile.sys @@ -1,4 +1,6 @@ SRCS+= __vdso_gettc.c \ + pdrfork_thread_gen.c \ + rfork_thread_gen.c \ sched_getcpu_gen.c MDASM= cerror.S \ From nobody Wed Jan 28 02:27: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 4f15lF4kzrz6Q2cP for ; Wed, 28 Jan 2026 02:27: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 4f15lF2MkGz3m6g for ; Wed, 28 Jan 2026 02:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769567241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gW5Wf65hkyCFRAKiJ8jAAXD3yowrwR2rLWS3L56EY7M=; b=pHsJdYTV3OHfdmFHyy9WwN6vo4mIq07w22wm5TlkX/Ob/rTN+j7S1jevNTlUKPY13VLsOu KYFsyT4gGQa30+jo8tizEcCzJpgr+AAgWpAlsMeRRtqvGL8KfDeDddGwzD4LCXj7qlj5Gd 3Get6Vob7M7VH4/HnV12liYmf/nwYKrrUd8BK+MOtACL58pbclIceUKva1gHpI57g5jdsk SLnEHxkJ468mfD1alemdmEjUe9orGMtxhNlLuZxuE6Bt0fXJXUbD3SGryIlURwCVxxtZQe ZGIYywAQ36fHnuAgsKywdEl+DL0kWQIgN9472t4A4Er0ZEjfWGwJ2iO20jdt0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769567241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gW5Wf65hkyCFRAKiJ8jAAXD3yowrwR2rLWS3L56EY7M=; b=DNZHI0A5doMfsaNfC3mcBnTR+3islsfddv6iebeuZSosCDkKj/vjDLYl4c2U3MTIbxEiGI Lqpo8/ZBkmDs+NXoJ0YpRn6q8TuNrUlfQcD+ZMWtil4s416GSbFEku8MDejMv9KFK3onjc pSUVxAN9of3gYWXn18TcxmektV+yuvHGK+SJ2GU5FRX3Pjo3oN5TvkMHRoYa13pCSZR/Mk WaNRUuZiHaUIAU0DBVyxyYg/lDVjgFeQhabcoKQnpZdOuWroTOkSPj//LW7OZdf363xNbT KyfvU2NtxZETOXyaAZSXrESxrbYQltXeUCxrhwyoyYPua7C6cJeEgfrDV3nZCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769567241; a=rsa-sha256; cv=none; b=dADn/RoT//jK3PTQxTGLA+djnBsEjnYMhcc70xJxFmB31600+UVHLniG1HASBkOR4Q7Nuj 9+edUya1Kvejy/XWlP1FkfcERx2iI+uVTUuAKyKXVVVaFvGGZskL1CEh65aa/C+jNIc5Wy 7RlZRU/XXdWMSodxKSNHMSavzhsWi9YxTkwjhPniMYl3qGhxvaImbVPRJMJSROAyEG0bOa EJ4h4w9nNrHTKpqIlRGyvj+w/An0V7mXiUS1yA3rm49eG7DzmZqHqDvxXSL1UEZFrsD0p7 nvtUzfwdhQTKPTbb5hc4jB9kjgDeyMl44ikUj/qc4XGlYY0dvUFegvTC8zWQsA== 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 4f15lF1vtMzZDX for ; Wed, 28 Jan 2026 02:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26203 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 02:27:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 4daf2d3e7db5 - main - posix_spawn: use rfork_thread on all arches 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: 4daf2d3e7db53a113108f9a02ceaf5051d416184 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 02:27:21 +0000 Message-Id: <69797409.26203.3636e9cd@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4daf2d3e7db53a113108f9a02ceaf5051d416184 commit 4daf2d3e7db53a113108f9a02ceaf5051d416184 Author: Konstantin Belousov AuthorDate: 2026-01-26 16:09:18 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-28 02:26:52 +0000 posix_spawn: use rfork_thread on all arches Do not allocate or switch to the custom stack on non-x86. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54898 --- lib/libc/gen/posix_spawn.c | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/lib/libc/gen/posix_spawn.c b/lib/libc/gen/posix_spawn.c index c64915078317..656c0f20f798 100644 --- a/lib/libc/gen/posix_spawn.c +++ b/lib/libc/gen/posix_spawn.c @@ -236,7 +236,6 @@ struct posix_spawn_args { #define PSPAWN_STACK_ALIGN(sz) \ (((sz) + PSPAWN_STACK_ALIGNBYTES) & ~PSPAWN_STACK_ALIGNBYTES) -#if defined(__i386__) || defined(__amd64__) /* * Below we'll assume that _RFORK_THREAD_STACK_SIZE is appropriately aligned for * the posix_spawn() case where we do not end up calling execvpe and won't ever @@ -245,7 +244,6 @@ struct posix_spawn_args { #define _RFORK_THREAD_STACK_SIZE 4096 _Static_assert((_RFORK_THREAD_STACK_SIZE % PSPAWN_STACK_ALIGNMENT) == 0, "Inappropriate stack size alignment"); -#endif static int _posix_spawn_thr(void *data) @@ -287,12 +285,14 @@ do_posix_spawn(pid_t *pid, const char *path, pid_t p; int pfd; bool do_pfd; -#ifdef _RFORK_THREAD_STACK_SIZE char *stack; - size_t cnt, stacksz; + size_t stacksz; +#if defined(__i386__) || defined(__amd64__) stacksz = _RFORK_THREAD_STACK_SIZE; if (use_env_path) { + size_t cnt; + /* * We need to make sure we have enough room on the stack for the * potential alloca() in execvPe if it gets kicked back an @@ -319,6 +319,9 @@ do_posix_spawn(pid_t *pid, const char *path, return (ENOMEM); stacksz = (((uintptr_t)stack + stacksz) & ~PSPAWN_STACK_ALIGNBYTES) - (uintptr_t)stack; +#else + stack = NULL; + stacksz = 0; #endif psa.path = path; psa.fa = fa; @@ -341,13 +344,16 @@ do_posix_spawn(pid_t *pid, const char *path, * a special property of the libthr rtld locks ensure that * rtld is operational in the child. In particular, libthr * rtld locks do not store owner' tid into the lock word. - */ -#ifdef _RFORK_THREAD_STACK_SIZE - /* - * x86 stores the return address on the stack, so rfork(2) cannot work - * as-is because the child would clobber the return address of the - * parent. Because of this, we must use rfork_thread instead while - * almost every other arch stores the return address in a register. + * + * x86 stores the return address on the stack, so rfork(2) + * cannot work as-is because the child would clobber the + * return address of the parent. Because of this, we must use + * rfork_thread instead. + * + * Every other architecture stores the return address in a + * register, the trivial rfork_thread() wrapper is provided + * for them. The only minor drawback is that the stack is + * temporarily allocated. */ if (do_pfd) { p = pdrfork_thread(&pfd, PD_CLOEXEC | (*sa)->sa_pdflags, @@ -357,16 +363,7 @@ do_posix_spawn(pid_t *pid, const char *path, &psa); } free(stack); -#else - if (do_pfd) { - p = pdrfork(&pfd, PD_CLOEXEC | (*sa)->sa_pdflags, RFSPAWN); - } else { - p = rfork(RFSPAWN); - } - if (p == 0) - /* _posix_spawn_thr does not return */ - _posix_spawn_thr(&psa); -#endif + /* * The above block should leave us in a state where we've either * succeeded and we're ready to process the results, or we need to From nobody Wed Jan 28 08:37: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 4f1FyW6wxsz6Qh8l for ; Wed, 28 Jan 2026 08:37: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 4f1FyW64Xpz3QKv for ; Wed, 28 Jan 2026 08:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769589459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CtzgqMxloeEMRG8lWpxI4+UI3N12nhCRv+yHZGLVBkk=; b=WdUObJyioxrCkbNNyYj697Y4KDyQReANlBBz7nRfCEQ2H6LlntjQNGEN57CEtV6ARWLfng 7+cpc1R96WZb7LFDXuEEpz2YNPXH7Pfi+Nj67Gaob/AjY7pHJof9ez2HLYTQfxGfJLQ3Y2 sqIyWUgKd2GGnfUUe7ISmPsb1Rr4JDCzKsKmtBoXHC3SIkGh+cbjs1Tfe0O8aWpc956RO7 mis32e/Vib8tC0Z62CBYV3EW6KTwd2QXzYSlh5G+C0GBEkQLAjWe87UQjNCkIjgPJZ1c3J JnnxKofJXZWzoZ0d0eDiTmoosRMgS2yfX6Q7uOsTT03p6y9UkiibaxPP1JfBcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769589459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CtzgqMxloeEMRG8lWpxI4+UI3N12nhCRv+yHZGLVBkk=; b=nDXuA/y40rGKg0Ag+IVw/YjGurPEPa/IP5WOKsyo6rgbsII14tOZ3eWPmfrUf+ZE5l5pha pKwdokBXPRhuu04dl6JxO+Q6LWW76v59jsL1fthv4ICnty81fgB65UtsJ/3UgBgvOFkGc3 c3/QPa0h3m3LhBQ7X+8SKIkwCtiFa5k0+v6BHxqZVBOy71kEE68qizRYaB29A5uJSHRba7 7J4AX8/xc3Qn8Kpiut0XFB/3/A6CzSr7v3puYE27dKMWuzbwGCsS17pVNBqRh+AS/G1gel 2PAcQFBBlW4mPw9eUDOhUjL6Z9Ol3/MVeXvk3PL6vQMRpYa0Ujv4H4hMxwGEnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769589459; a=rsa-sha256; cv=none; b=YvesbWKS34IclcWVIZI+2E+gcxjExQtcbka7Hf67cbc/KAvqyUNyMMtU1ZxhzGb0eWsSbW AJbk05YOV3ZZvWSy2aKyD9W36nO7aUKrAafAB7Le+NsTWvrnxKVubVsaGXWhbCesOPAU4E 49LKx95dI3Iqknzz18lDQI+mFVSa/UQaYNMlwNo1tEWMB1G8ajo/jy6I4vEhdHPU4zfZDc +wHaAch5Iad0chUBuNY20atEaixEzb4rt/l4l7UKJimzTXWF/r8gmi0Qcae7AMaLelJ84K bnk6OqxcudxNb0eVBIfJnNzNWhHOxA2Z5hkUv91LPynBNqqhk62bSePvP/gsMQ== 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 4f1FyW5dh0zm4X for ; Wed, 28 Jan 2026 08:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32585 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 08:37:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: ab5f29ae9ef0 - main - stand/zfs: fix path setup in zfs_mount() 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: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab5f29ae9ef0246cee27d246ee48923030575aae Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 08:37:39 +0000 Message-Id: <6979cad3.32585.34d206f4@gitrepo.freebsd.org> The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=ab5f29ae9ef0246cee27d246ee48923030575aae commit ab5f29ae9ef0246cee27d246ee48923030575aae Author: Toomas Soome AuthorDate: 2026-01-28 08:32:13 +0000 Commit: Toomas Soome CommitDate: 2026-01-28 08:32:13 +0000 stand/zfs: fix path setup in zfs_mount() Need to check argument 'path', not just allocated struct member. --- stand/libsa/zfs/zfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 70a102f6425d..ead772dc9c90 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -410,7 +410,7 @@ zfs_mount(const char *dev, const char *path, void **data) goto err; } - if (mnt->path != NULL) { + if (path != NULL) { mnt->path = strdup(path); if (mnt->path == NULL) { rv = ENOMEM; From nobody Wed Jan 28 08: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 4f1G1C5Cpzz6QhVD for ; Wed, 28 Jan 2026 08:39: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 4f1G1C41wPz3Qf2 for ; Wed, 28 Jan 2026 08:39:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769589599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sug3+7zUTVmf/d8Db7MB392rx+Ta2Ysb0R29YN7B48k=; b=obBvELtZ1RTD8mmxw+vm/2fFLSQemq0Uje/7i24/BXPQS2ZUK+7UNZn++XbCTr1jAMQMhq boI1/l4wBtuY3gdZx1gWpbfHceXEejuFjbBwWyHuNH9R7jB3ZTElKyH/69MY5w22QEnwq+ M60FD2wwguQovqqO+azgqtJRQx9ixceE7H2BB4cncaGtMuBNGdQOvCRuanJ9YcFP0c+spj GCT2yXZWUTA2RKnmcLnMQMhyljzZULVJnLOwUV+NeE3vI0Ec7YgyU5tk87sYHLtxTM3uaA KBAbt6BF1bF2bkSNY7bSsIygA3ZXFCM8fQrZGHT7xYb4aMBdBPJS8EngSIZffQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769589599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sug3+7zUTVmf/d8Db7MB392rx+Ta2Ysb0R29YN7B48k=; b=xs+BpmcOyzk6rfdB/DLHAit6GfWl3VeXOGJ98I3M0qsIkfn1hSVjxJyOv4RSTPD5QohwnC 0CNpSRXTK/YOyLF2mwt2prmc/OYfrRY0AW8zmmoZYyJ5lYr5JK5YV9EO77i8pC8tNkOVlL gYOkEcP5ScY8sYsLrWAz2lAcjCjKZu+XziWUVD1QYr47OPnnKEei9PQDG5qNRJlomzfVT1 dweTC36SZw1oz6hY7L+w1+nBqrEO/+pztrGBV9cJ4jBCftuQKzBZzwKdJQLYWCMp/7Hxzd Ded17vzpDpldxrpHqnZ8UlKVNtwaeASGM1HuaqOl2HgDD8skybwR/09Nrq64Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769589599; a=rsa-sha256; cv=none; b=iiy1TNn6erV1JnUhCiw/o/4Jh2UF0elMCQ00JrPbFjDqUBVG9NRn8TwGDeEMqwNMLJ+I4O EaIudLgCPKT/FmMAgAM0vwIJ9qKufACnQvz9LFs4/r71iR4CwwIbiBG3g+BtYurD/QPzE7 AkTtFvPVpqN0/BjLTh6kOoiOrKenwYnkd+e6pm93maC2PGmKIITFxVcO17BCSJBRc5DX/n aNCD1WVsyZoSiW7jq+nnHXQ1MK2VNJnvpWcTc9nijLQkWnK3QT6dZeIN5INZ4Iu/a37GWl oMVPvEelrlhDenEdn1uwWPyxY7HP2ckSfgh//SFM5e6SGvOUacusf/CPQSZsnQ== 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 4f1G1C3BQqzlNn for ; Wed, 28 Jan 2026 08:39:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3239a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 08:39:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: da33cae6c785 - main - stand: fix typo in common/nvstore.c 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: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da33cae6c785015329be9cdcf35f51e59807129c Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 08:39:59 +0000 Message-Id: <6979cb5f.3239a.7d363e87@gitrepo.freebsd.org> The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=da33cae6c785015329be9cdcf35f51e59807129c commit da33cae6c785015329be9cdcf35f51e59807129c Author: Toomas Soome AuthorDate: 2026-01-28 08:38:26 +0000 Commit: Toomas Soome CommitDate: 2026-01-28 08:38:26 +0000 stand: fix typo in common/nvstore.c Some out of order chars. --- stand/common/nvstore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/common/nvstore.c b/stand/common/nvstore.c index 3cdb094c858f..cf80151f2c0a 100644 --- a/stand/common/nvstore.c +++ b/stand/common/nvstore.c @@ -29,7 +29,7 @@ * nvstore is abstraction layer to implement data read/write to different * types of non-volatile storage. * - * Provides cli command 'nvostre' + * Provides cli command 'nvstore' */ #include "stand.h" From nobody Wed Jan 28 08:53: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 4f1GKM6lNKz6QjVB for ; Wed, 28 Jan 2026 08:53: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 4f1GKM65BGz3SPJ for ; Wed, 28 Jan 2026 08:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769590439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xWrSXP4lwtUjBDN0pHUjGt0o4pjzr2TnYQRIunHmx/k=; b=iSx1mH6oFCojwQWXXLL286jyQxM7mKOsvj3FdeoAyglRftbQ47UfoB/rwSsGywb+7zZUUH 9brgiYcVIZGMceet1Ke3qfB9/eaonWYB7bA087XRSDqH90cvWYKqJAU/q9qCB+JCwN/Y+H uN0XMngKg8QdwbU+oVhUt391Q5RHyTJjWBpD9sTg6KnJetNiazKWw3J9C5ArErbGlYAbx7 GjmIIlF4JQcknupTXeDlATrz9naoJLkRK8qdoj68NcaDT3WPf4yKXfeHVLb/4LuaZQsMvA oiKv0if1Azf69IhrgdwSZG0YD7MDCatL8xPTOCs634seLrnxiz1ZQXfoQP5W4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769590439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xWrSXP4lwtUjBDN0pHUjGt0o4pjzr2TnYQRIunHmx/k=; b=QXPVwZwck0fgpChF9ofjcUHdQLJMTpcm2A/0L+sWXjS+ENbUmTmWKaQWo8ogu90YUM72tm XVjiuFfzn+chQg+pZ9YBDk1cc50ZXpIgB4G4ohNwDx0F8c4wrz7cKnIX1xnaBlJYVmuZMi j5OGXg+lKy1iRzvK+Qxfuefvpo9oVAkbjUqmcCBJGJ2fke8v/v7NGKy4XXjnNAhr9PSyD9 dLU/Rd+Gg5RLBPWwb8iDMIfglHtiJ+cE456LZ6GkoQaJdwEkoM3nAKCpMYXdDiBZugg2+o vBUnbdKfFFW+qrjfJrrhZ05h7refiBuptZMYtbz0DORKFMZFslcnKHmPMom3yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769590439; a=rsa-sha256; cv=none; b=gdsvYvi1RzhTLnT8/c/AE2y2ADi68cg32zLhTbiEewgqGlvIbLnuaRt7cGycU3jXu/EDhQ 36YrR2hAvvTooisxF93eN3/TtSeX2zIzjTRriVGoUTZk/oD63ysS9/wauOrMKHqBw7mh2R ko+lviU4/7qJOcqbqsrc+IVJ29Z4GON/RD9qW4kQqNe8qeUOtODFV5glhilyGkj3p/AGEa efU2Wrn/LtUJ4fYWyEYIBiI6lH2PJTndy/Bh4wWRatgj+ps4+5gmrbZF8wkQY35T25yN2i +XPpVedsexW0DdGIoQ7OxjTp1yetNTEXrik5mF0mnUIh5cKm0hG0kTCFYdQ+xg== 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 4f1GKM5hcmzmGN for ; Wed, 28 Jan 2026 08:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34412 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 08:53:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: 240c614d48cb - main - loader.conf.5: "console" setting does not document multi-value possiblity 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: 240c614d48cb0484bfe7876decdf6bbdcc99ba73 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 08:53:59 +0000 Message-Id: <6979cea7.34412.315da835@gitrepo.freebsd.org> The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=240c614d48cb0484bfe7876decdf6bbdcc99ba73 commit 240c614d48cb0484bfe7876decdf6bbdcc99ba73 Author: Michael Osipov AuthorDate: 2026-01-23 20:26:24 +0000 Commit: Michael Osipov CommitDate: 2026-01-28 08:53:52 +0000 loader.conf.5: "console" setting does not document multi-value possiblity PR: 292595 Approved by: ziaee, dab, imp, tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54843 --- stand/defaults/loader.conf | 2 +- stand/defaults/loader.conf.5 | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/defaults/loader.conf b/stand/defaults/loader.conf index 71fb052cd21b..a10c65f28eaf 100644 --- a/stand/defaults/loader.conf +++ b/stand/defaults/loader.conf @@ -110,7 +110,7 @@ kernels_autodetect="YES" # Auto-detect kernel directories in /boot #loader_gfx="YES" # Use graphical images when available #loader_logo="orbbw" # Desired logo: orbbw, orb, fbsdbw, beastiebw, beastie, none #comconsole_speed="115200" # Set the current serial console speed -#console="vidconsole" # A comma separated list of console(s) +#console="vidconsole" # Comma- or space-separated list of consoles #currdev="disk1s1a" # Set the current device module_path="/boot/modules;/boot/firmware;/boot/dtb;/boot/dtb/overlays" # Set the module search path module_blacklist="drm drm2 radeonkms i915kms amdgpu if_iwlwifi if_rtw88 if_rtw89" # Loader module blacklist diff --git a/stand/defaults/loader.conf.5 b/stand/defaults/loader.conf.5 index 5b2ce413db9d..6f0846eba919 100644 --- a/stand/defaults/loader.conf.5 +++ b/stand/defaults/loader.conf.5 @@ -329,6 +329,7 @@ is in use then the default speed is determined from the current serial port speed setting. .It Va console .Pq Dq vidconsole +Comma- or space-separated list of consoles. .Dq comconsole selects serial console, .Dq vidconsole From nobody Wed Jan 28 11:31: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 4f1Kq774MSz6Pmqb for ; Wed, 28 Jan 2026 11:31: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 4f1Kq706KSz3mtq for ; Wed, 28 Jan 2026 11:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qnwe8UbmlqVHx8BnoYRldcjv2U5ZHTWeFB8ayzGey1M=; b=ViIerKA942mqEX+CICLQuifrQVZ0jDUcHyBwLMKurJ/RrzHJj3n3szoTNrUpAGk+LzjMbp zkxwZEiOWwih/e0JV4P+F9ImwYiumUu/IMUDmFmEWfONGyYsG3p/pbEz6RAf6hYguO9yo4 HWn0RwTVIwpdMmYkFiWTA4Jv1O6svnFdmuKVCDGRwnw2AXNsJMmAvqq31C2SOQJXSlbSi7 lnNPPP5jK82Q0xeZRjydmbV9SAHaY1txOOz3qflV0TygEYrYRPZVIQdT8wtWBy6VhD4yLz zb5K1M6n2O1oaRFjo9EtaO0L7vBtEgQFsx5yYMpUF0sFDqYxizfZixVJ1Ya42A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qnwe8UbmlqVHx8BnoYRldcjv2U5ZHTWeFB8ayzGey1M=; b=B3tt2RXs18Uomw8S/hCtEXmI4Jvd9oZIrmGMdODWglNNrMleWAarp+zwdUBBJ2el+KQtnj lrU6JfrCkygub5RyRx0pQhjZjMjlBdDfOmIBR6CK+rfx+OKfP5r5tb95C6wZAyxmgV/Gqu /BypeNUtwwV+9g0uCbpU3y2YOyy5xZH1HgMKX1A0yh2IT6PetH/xkhBYsfh5V7HY0CetJL x0yJf4U+Ly2YId7+M5XxfoOK5B1eyWtDjKTCW7BJ3UaSv094BEBazkayAJ/FE+I+LYNckX Nl7o4hRzqgn43fFMYNGDrIRb9/AGlKgzy3FQPeCemo0cEdI/Z5tzoLT2ymkUiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769599891; a=rsa-sha256; cv=none; b=nWGaIUH/+g+h01bNUxe4pxUJEdaLOl32K4WbrbVktt5ZavwwGjcNrrOOhBBM1Jsa00r8gh 6kP/7rtY0QUMPG0BtnxnoNgG2rylBrC61cJqbGSiZdJsbhNZHv2890kXXOXmKXgquiU8Vj CEB+9bFftJg8MAXBNsSmtBmZQcLM24vCaTv7ZLefBTBtXAjhqapYLNPw74NHXUb9b8PHhe lOflEVicfhgkuzrsM5yOR0jicg4egW53OpmWiXTjb2ntA4oJqo7WBNOD8VXUSfonaR7GAi SVD2laSnG9UCumBh+bpUxFz4v0LzwoFXxc5DaQ6XXDWRSzTy4mwt6/tWqLcZaQ== 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 4f1Kq64n71zrL5 for ; Wed, 28 Jan 2026 11:31:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42d2f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 11:31:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: a9f7074e858f - main - ahc(4): Fix a warning on i386 compilation 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: a9f7074e858fd7c8e07c164fc365afc0d0077735 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 11:31:30 +0000 Message-Id: <6979f392.42d2f.51107974@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a9f7074e858fd7c8e07c164fc365afc0d0077735 commit a9f7074e858fd7c8e07c164fc365afc0d0077735 Author: Olivier Certner AuthorDate: 2026-01-28 09:31:21 +0000 Commit: Olivier Certner CommitDate: 2026-01-28 11:26:33 +0000 ahc(4): Fix a warning on i386 compilation Fixes: cd036e891a35 ("ahc_pci.c: If bus_dma...") MFC after: 3 days Sponsored by: The FreeBSD Foundation --- sys/dev/aic7xxx/ahc_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/aic7xxx/ahc_pci.c b/sys/dev/aic7xxx/ahc_pci.c index 8109a6714814..7f8fbe140237 100644 --- a/sys/dev/aic7xxx/ahc_pci.c +++ b/sys/dev/aic7xxx/ahc_pci.c @@ -105,7 +105,7 @@ ahc_pci_attach(device_t dev) error = aic_dma_tag_create(ahc, /*parent*/bus_get_dma_tag(dev), /*alignment*/1, /*boundary*/0, (ahc->flags & AHC_39BIT_ADDRESSING) - ? 0x7FFFFFFFFFLL + ? (bus_addr_t)0x7FFFFFFFFFLL : BUS_SPACE_MAXADDR_32BIT, /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, From nobody Wed Jan 28 11:31: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 4f1Kq83fbWz6Pmj4 for ; Wed, 28 Jan 2026 11:31: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 4f1Kq771v7z3mmF for ; Wed, 28 Jan 2026 11:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ABzPsx469lq0flx91pJw4WMjzhyw4h/Lq+Ou6GioKO8=; b=nCRq4REfyh/fv7tCPlH2PImLeB0mpGpIu0aQUB7v8BhJzgR8T8nkWCNhrkqi+WcuW8vr8E mbw225VcKfnRjA1Ll2VhMOV33qIb42hd/uAVqPWyp5zjNnYAvDYaqZXpvSP5qdLjW2b5Tc plm6TavCc6DfTVtMbRlmn2ldyEkLPn/5VmheXmaYy3UO+Y2Y0xQU/VvYiMcGg89HWV7jD5 Qv9wiHZCi0rOD3+3SyTJa490YUXtYW7wy1uroHUd/+fcNOIKL/aoVPjAbxd0T4i8U0ABuE YVdqiv+JOgzAamqth7LLvm7rxjuCUxHB4vSE6o21njS4S8wwmoU7VZ0ZISbtIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ABzPsx469lq0flx91pJw4WMjzhyw4h/Lq+Ou6GioKO8=; b=GmZdAOxXEYbDdZak2Tj4y+3plKhRhxTujEaUH05XEJ546XFS9Pms7C2zw2Q9qoZBCso76d Z24/l8FyHmN21lwlUnOY1jR4LU3wSH/82YU9gT9pBdY8V89XViJ+2dsG/J30w9v2qkMiyr Z8U0XgosNZfMHK1o75Rt4+JeIEWbeFyDXUP/mnjOWHve06/M3iJfwjZo7tjvEo5lPkee3i qan83ftEoFj/HpfZg1hQTFGht9Wdqt+gQ4D0Qv4XlGaZWNcWeNzA6YFNePPKQL8DLRFSzC SgoQiN5PW19/EsbjgDQ+xP5n7Iv2lbbtUd3gq8t1rT7ikknFUrSuBDQ3rSTTjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769599892; a=rsa-sha256; cv=none; b=jKxjlo62oPQvgyBZv/TiDgjkp7vk5b/Omq/xvsciTqq1TWghSkvGb3LgWblEbpU0QmiITD 6XFrRiuO3C88Xm9EvhdM4CJN+XwVpAIIvQzoEVYqwA5USetBeUR8NqTLcbv/Fcwz+5zNgR efarkJ8SjO3imBkJz0oUK9HzMeQjfJh2YtMkhE5LLD0pxAe/ky3rhFjhfHmiZFALZjwUFl j25Wet/MCLdHEM3B8iSP0+2Pm8BjxEBw87qzQVZdQURZzY+ejZBQd16+3pOXb9e6v/M9h+ q3ByIITCgWI7JPbssf0BBTMDRP4JQphz1aOK5ofF7pelCvmnyFjbtRqfAqx/RA== 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 4f1Kq75YnNzrNt for ; Wed, 28 Jan 2026 11:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4430f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 11:31:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 149e6c67ca80 - main - acpi_spmc(4): Fix compilation on 32-bit platforms 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: 149e6c67ca80e72066ff84a0138914a6896559fb Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 11:31:31 +0000 Message-Id: <6979f393.4430f.5e0cbc97@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=149e6c67ca80e72066ff84a0138914a6896559fb commit 149e6c67ca80e72066ff84a0138914a6896559fb Author: Olivier Certner AuthorDate: 2026-01-28 09:45:15 +0000 Commit: Olivier Certner CommitDate: 2026-01-28 11:26:37 +0000 acpi_spmc(4): Fix compilation on 32-bit platforms Fixes: c5daa5a4c32c ("acpi_spmc: Add system power management controller driver") Sponsored by: The FreeBSD Foundation --- sys/dev/acpica/acpi_spmc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/acpica/acpi_spmc.c b/sys/dev/acpica/acpi_spmc.c index 57593d9ccae1..d8d28d59340d 100644 --- a/sys/dev/acpica/acpi_spmc.c +++ b/sys/dev/acpica/acpi_spmc.c @@ -15,6 +15,8 @@ #include #include +#include + #include #include @@ -247,7 +249,8 @@ acpi_spmc_check_dsm_set(struct acpi_spmc_softc *sc, ACPI_HANDLE handle, if ((dsms_supported & dsm_set->dsms_expected) != dsm_set->dsms_expected) { device_printf(sc->dev, "DSM set %s does not support expected " - "DSMs (0x%lx vs 0x%lx). Some methods may fail.\n", + "DSMs (%#" PRIx64 " vs %#" PRIx64 "). " + "Some methods may fail.\n", dsm_set->name, dsms_supported, dsm_set->dsms_expected); } sc->dsm_sets |= dsm_set->flag; From nobody Wed Jan 28 11:31: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 4f1Kq929Kwz6Pmg6 for ; Wed, 28 Jan 2026 11:31: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 4f1Kq86XCZz3mZH for ; Wed, 28 Jan 2026 11:31:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v+YC9UkUNOjgi4sytePhjzyyEbvIwGTxjghn1Tukvmo=; b=tzJO4GpQhV1cxq3ZwnGrgKDYEF6lQYLl2sK6+nw4JfIvkajWlrDRtiX7x/4hXufQ/4KsX7 u5eTqBKStS5aorFuUocK2BTgOj9GW055fU2mOhnBmPhXpPzr/AMXzIsVRPrQOeoElNaeyx uLFEgRkcBeCObSGq34XY5aNRIs6kqVUkdRkvSAKV4BrDeMWuvaQM4R2+inTbN9ZnA8MACg 91k8cKFkMFNypkA+2D3TsSQx5IXnSYyAqvnmctCJYTOcw4rgtOsmQ8Fke2/oLWot/WxF67 0WwMvLVOoXCY1llIEqu08zHlWj7qEe8DX/E+yNDNCZYW9cVaRom6Cyw9pGsKQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v+YC9UkUNOjgi4sytePhjzyyEbvIwGTxjghn1Tukvmo=; b=rk69UyZPgaRhcjvX9xYR0AkzJywUi/IfEo95G5yD3Fp0yZ+iMqhXbvMas0MBjyoq2KzntK Q5PTsw8sCBB6NA0bCv7yttmigSOKDI+Ik3Ov0DcsP0YyO6uGeNM9tkYnXIf3zni+cenVe7 /FghdVytPfJC20XByItTf53ux/Ef5r5BdKPmHcOH9XwFiAQBf40rL1OktbZTGJcc7Ag+Zc YKKGDcUiT/Wwl5EuF6A2uuuHjU/rtWzAmM0yAw10xOcIei6Y9la+BQbMvhJu4/s6hk/55t DT1G1/xy3xgyDTxTWqjNUeyyNLIe+nPKTrwrgT0y82pE5r7MLzu31DzBuxbHlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769599892; a=rsa-sha256; cv=none; b=Lj5/UBy+XQMCPAt0aAda7rJnKitCfnhMSw7D4S/mEJvwWsMt9K/JIYnTIuHvCA0k5/nlPy KSlLgX/m+Zm4pFHoX9uNPKgyqC5E8m6Gzl+QXweI1PMLI1zt/Q205iHCKntwl0AN3r0W49 wJPaoAANWoYoVx29xri64XcHHz0rLN5q4On5UYflzt10n+vfNVTcDjmvrCuDNIH5LtKAJ5 Hr8xIusbuGKGkwqnCbq3lyql5+SNbEgcj+n067KcoIXiXjYmsdN9Om2d5Cj5jGljV4OQXT sttCq8TdR7jHOmj5Qq+C33k75hYjTSku7X92YmO43vv9gZiuU6uBHjyxWIFigA== 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 4f1Kq863KbzrLB for ; Wed, 28 Jan 2026 11:31:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43a9f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 11:31:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 526c09a48929 - main - acpi: Use only AcpiGetSleepTypeData() to determine Sx 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 526c09a489295c96662d6c3d428f69672968ab80 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 11:31:32 +0000 Message-Id: <6979f394.43a9f.36a680b6@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=526c09a489295c96662d6c3d428f69672968ab80 commit 526c09a489295c96662d6c3d428f69672968ab80 Author: Olivier Certner AuthorDate: 2026-01-07 13:34:44 +0000 Commit: Olivier Certner CommitDate: 2026-01-28 11:26:37 +0000 acpi: Use only AcpiGetSleepTypeData() to determine Sx support Previously, we would first call AcpiEvaluateObject() to execute \_Sx before calling AcpiGetSleepTypeData(). This was unnecessary, as AcpiGetSleepTypeData() performs the same call itself. While doing so, the latter function logs any other error than AE_NOT_FOUND (which indicates that a particular sleep state is not supported), which most probably is an added benefit of this change. Reviewed by: obiwac MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54624 --- sys/dev/acpica/acpi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index e43ef72ca9d2..6da406377d4b 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -490,7 +490,6 @@ acpi_attach(device_t dev) ACPI_STATUS status; int error, state; UINT32 flags; - UINT8 TypeA, TypeB; char *env; enum power_stype stype; @@ -688,13 +687,14 @@ acpi_attach(device_t dev) #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))) { + for (state = ACPI_STATE_S1; state <= ACPI_STATE_S5; state++) { + UINT8 TypeA, TypeB; + + if (ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) { acpi_supported_sstates[state] = true; acpi_supported_stypes[acpi_sstate_to_stype(state)] = true; } + } /* * Dispatch the default sleep type to devices. The lid switch is set From nobody Wed Jan 28 11:31: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 4f1KqB2nVkz6Pmqs for ; Wed, 28 Jan 2026 11:31: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 4f1Kq96qmJz3mg0 for ; Wed, 28 Jan 2026 11:31:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GvMBbRymdFqZ4xw1U1HRrdEyCf0juhT/tgtwNgSg5eQ=; b=J5kXTCutMPFEALZuaHp4MymGWUGckC4N4YnjkzWrCoQ2llEDxnwg5z1CHU3WavVnYgahIU 67vX7qCnzVp75Z6gtlhEhyKWgMIK5PjFZZ0Q5lAxqKWd38MYiA6KNCP9Z2IJ8DIUcVZ9VF skQLyHtqhJILL3P2YRLPxObdy4/eJqTROOs6DhuKIRn+CLv211gSZqX96kjfRhWEi6K7Ot Gd7rAXNL0CuIUz5H3xmYTdaDpMd9Gz6oM9nFc7Gofu4vm0KLnx2QkgGSDu9z19FFIUP7sI JbZufHnCgyldflRYMsSIHNcQwgUnSYyPwXi9cqTXQzTw6CozYKJHqhKsQfVBEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769599894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GvMBbRymdFqZ4xw1U1HRrdEyCf0juhT/tgtwNgSg5eQ=; b=s5LJdUo2udWj1Li6Fsns1CRj/Qln5vFLPRCZtfJZtyHz01hCdTm/fwPNm2+n1yoaSrbky+ DjBtMgv2VMsfxxaIvkl/ajKS/0JyiSFErndFpFvTRY5tCXv50iYv8ox8a1LJ1vS56BXitW JktuN0qqzC7YFqsTInBGgsIDR4oFS0/bHsHbjsiRBmTO1pn2TRMH4qFA1DtFj9yjE0zYhw TtFwlk2aUAW9f7JMxjQrxpjUVh+1VPpFh9VNjSvCI97t0K9MiwL/C7h67XEjO4Qex/JLP2 8JgCfIzOaO0m0+ZqJnXtR+t3wkl2BhBHdJ1QV7XfLeDawqByTgoA74zaCLrPnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769599894; a=rsa-sha256; cv=none; b=kLKvblonaG362GYAYIkx5j4WWVHJw7i4ZQWORYPnRMkPCEsAJeywCktOhQGT6Zbb6L/xv6 +Oi0o2KZ99XxqnzQvOz1swjhh+j/Q0tj+euZyXsPQlb2kFDoH6NV8zNTE06rqxPtxQuBc4 Vict3aKkV4+OoiavP6R/gVCJ36Ks2RarGpN5DBIfmudkn0H6mFvNU5V1UZ7w71dWUILDrV 4jTN5tXfGeABW0TFVdIf/GdPE4vehFLH1HnNSED9liJ6KFYXYG/A9Yxa1EH8fbt0jxlDfj SBnGmbJsvJiK56Q6E9N/+8HYFnDJQf1D/hYrkwRGrLSaTkIJ9wrndwhCcA3sGw== 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 4f1Kq96PM0zrQS for ; Wed, 28 Jan 2026 11:31:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44313 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 11:31:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 0cca6277499f - main - acpi: Use AcpiGbl_FACS even on ACPI_REDUCED_HARDWARE 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: 0cca6277499febef57149e8999ecd1a42ef1dfd3 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 11:31:33 +0000 Message-Id: <6979f395.44313.33bd5bb3@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0cca6277499febef57149e8999ecd1a42ef1dfd3 commit 0cca6277499febef57149e8999ecd1a42ef1dfd3 Author: Olivier Certner AuthorDate: 2026-01-09 09:28:18 +0000 Commit: Olivier Certner CommitDate: 2026-01-28 11:26:38 +0000 acpi: Use AcpiGbl_FACS even on ACPI_REDUCED_HARDWARE This has been possible since ACPICA 20240827, and is actually a requirement to get out of S3 on ACPI_REDUCED_HARDWARE (that said, we don't implement S3 on arm64 yet). Relevant ACPICA commit: https://github.com/acpica/acpica/commit/79cd933e7b370e8d3fb490bf36ca5d111a12f96a. Reviewed by: obiwac MFC after: 2 weeks MFC to: stable/15 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54625 --- sys/dev/acpica/acpi.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 6da406377d4b..6944adafed8e 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -672,11 +672,9 @@ acpi_attach(device_t dev) if (AcpiGbl_FADT.Flags & ACPI_FADT_RESET_REGISTER) sc->acpi_handle_reboot = 1; -#if !ACPI_REDUCED_HARDWARE /* Only enable S4BIOS by default if the FACS says it is available. */ if (AcpiGbl_FACS != NULL && AcpiGbl_FACS->Flags & ACPI_FACS_S4_BIOS_PRESENT) sc->acpi_s4bios = 1; -#endif /* * Probe all supported ACPI sleep states. Awake (S0) is always supported, From nobody Wed Jan 28 15:43: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 4f1RQ21dGrz6QG8r for ; Wed, 28 Jan 2026 15:43: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 4f1RQ20qcNz3HVt for ; Wed, 28 Jan 2026 15:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769615018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+1TzeP13we63xKg3ogF5KKLa52ZyPodN4MrTv6SZmvE=; b=D8z3yIHB7y/zQVmcL7mkbSBZG4J2kVibEjJ2B+KyUSLIeyGrIAb39Y6JQaEApWz3bs7ExB jn8P1uhisOJontgzzTldO8lUJp/q6VVLGYel0aPZcU5WHbamCmg4qwq0PTs/WRPPZRBf49 jVwVxP269EEV1XK7ujZcb+zV+amsqr2PNLdocPUNq731bd4Ojw9w3ap15Xbdcsga4MMfzr wvHmpJnkmSqWZZqkt81vaaSfQvds35dUPS1+/LyCTkUpv27FUsNo19T1a6I7aBdlehdK9m 8GlyGkJiURV06AmSp6fLMU8BqWL+HPzZ/vTJ5wwlBuGqRfCymam49OYmlvNWjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769615018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+1TzeP13we63xKg3ogF5KKLa52ZyPodN4MrTv6SZmvE=; b=RAhgV5Ms4ePMdddUr0818i/6Q4MvRBr9kNDCMKB55rRLF56iO75UO6UpL2ZTgQpzIN9tKS lkw0dNAmam5lidEooFB6Ovin4vwv0qmwIxgk+B3rdEyzd/1jsLLOG8jpJmuJ/Eybl2P/+P WVqfmndORGCVcDLCiFsrtaEO6MyAaKr+G3sOG8A8EJyBYVzMYem8zv3Qug9hOwHAvTI9xY CvrVhWxA+/z2fQN8nxETvUexlqEQV+3LqOhfnZZeWzoRJ4BtCNPmPYCYmrBuCdnmCgSPB1 V1Iwi817WJNYcfmf5u12xk5B8c0PxqA91IU5JNVvjv6GACWu9EhPcOt0LXqFxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769615018; a=rsa-sha256; cv=none; b=f0qICD+OQ7M8P29AeiteDHIQOpYpx1UUjx04fHYlpKIIyu7hclo22VHmuyeEvbNjJ4imIN bn55dxWOtln/KocyPoQBJC+KIvO/6AOPSk8/jVByYd6nwQvv/Q9VQONQM0S09jSIPaYW3j LSPI+xIEbPgwde+Ec6ipkxcK5wnm7ZSy3HNtjpmxKd39IVLOAH5BfyLMO/2KhvS9hmQgyZ nZjnhF0WE2RRlYaZw+xFweMvHVzizuYbiB4e5FG/Oqx5HC1rPh1fXqyVK4QRhQUx/DoStZ cTGwTU2kMRL+yBl2rwu3RaTxydKqxXdZqeKQQLCyKjUF1ZXnShSO+bEKpCW7iA== 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 4f1RQ202J5zyG2 for ; Wed, 28 Jan 2026 15:43:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34937 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 15:43:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: b41b6fdb3a16 - main - flua: lposix: fix WARNS=6 issues 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: b41b6fdb3a1635de4c2a9280aab12b83e3aeffc5 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 15:43:37 +0000 Message-Id: <697a2ea9.34937.21f8aea3@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b41b6fdb3a1635de4c2a9280aab12b83e3aeffc5 commit b41b6fdb3a1635de4c2a9280aab12b83e3aeffc5 Author: Kyle Evans AuthorDate: 2026-01-28 15:37:04 +0000 Commit: Kyle Evans CommitDate: 2026-01-28 15:43:14 +0000 flua: lposix: fix WARNS=6 issues lposix is the last holdout of modules built into flua until we can fix the module design to have the right parts require()able. Address a valid bug in lua_read() found at a higher WARNS and drop the override entirely. Some of the modules could possibly be re-evaluated. Fixes: c2caf3b3313 ("flua: lposix: add more useful functions [...]") Reported by: des Reviewed by: des Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. --- libexec/flua/Makefile | 1 - libexec/flua/modules/lposix.c | 12 ++++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/libexec/flua/Makefile b/libexec/flua/Makefile index f1c46b270ded..c40328d37963 100644 --- a/libexec/flua/Makefile +++ b/libexec/flua/Makefile @@ -44,7 +44,6 @@ LUASRC?= ${SRCTOP}/contrib/lua/src .PATH: ${LUASRC} PROG= flua -WARNS?= 3 CWARNFLAGS.gcc+= -Wno-format-nonliteral diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index 75cdd345aeaa..a25e875045a2 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -254,7 +255,7 @@ lua_execp(lua_State *L) } argv[argc + 1] = NULL; - execvp(file, (char **)argv); + execvp(file, __DECONST(char **, argv)); error = errno; lua_pushnil(L); @@ -386,7 +387,7 @@ lua_read(lua_State *L) char *buf; ssize_t ret; size_t sz; - int error, fd; + int error = 0, fd; enforce_max_args(L, 2); fd = luaL_checkinteger(L, 1); @@ -398,8 +399,10 @@ lua_read(lua_State *L) } buf = malloc(sz); - if (buf == NULL) + if (buf == NULL) { + error = errno; goto err; + } /* * For 0-byte reads, we'll still push the empty string and let the @@ -412,12 +415,13 @@ lua_read(lua_State *L) error = errno; /* Save to avoid clobber by free() */ free(buf); - if (error != 0) + if (ret < 0) goto err; /* Just the string pushed. */ return (1); err: + assert(error != 0); lua_pushnil(L); lua_pushstring(L, strerror(error)); lua_pushinteger(L, error); From nobody Wed Jan 28 16: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 4f1S4s4TLZz6QK9N for ; Wed, 28 Jan 2026 16:13: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 4f1S4s3bd9z3MlS for ; Wed, 28 Jan 2026 16:13:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769616829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BJ6PBAHywTYCvc5shPc+52DKoaHKw0s8p7lN5IgOxvc=; b=u+pi3uez37Xp5bSPWMR+DSxLVleUE6o7HBcd/NYA4wH+I09gCsabCVJMidnnozxZXzHw4/ gFqB9lNIfKfRGZQ9Z9sEvAGmCrO9rWCwbDNAenXzUDZuOf9aA5RnEIOTxALKp4tL33QeHX tyjv9MfCtJUly34W6dN/KR/8zLVY3sj4qtX+BeRPd+Axe8iIIzLKR8cIkhxGDLSKanl5Gr 7Ql8nICbvIy1XPWfDpFAFvdZstju3tUFbJEdvD0L6zA3Ypj2fXnBMSDYghsa+YyY0gCm+9 hxL6ACzSO8BHFK1aiMlCsWSlGXT4/9Xy9eSnv+z+CUiZdAN1fZQKtHx0gElSYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769616829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BJ6PBAHywTYCvc5shPc+52DKoaHKw0s8p7lN5IgOxvc=; b=WUOAqqbF12+Bs6KSGRleB84d8e0Q6U6RVHxni6RngR88gAtAeeppy0BRKWJIXecdCV8YJw UTYCGcRhmS7SNhwVH+RF1F9rwZelgQ7PJBrsEg9a86yggQmQSD0eNRaIgSNOj+ANARnnCQ do1FegIgAkSxtTXuXT0ySbxvblUtQsmQ18lc5tvQhvaroKuBupXxISYdJgK//ZJAGhjPwL wERDqJPQKmOO9SaCT/0kOimtrjK50WYPxwu1sXea2NzXpzNqStl5ReQ9cK0QJftigBnaZv mKAaI2V9c5KF5v3FhXb0rzTDGzcXxnppqRykUJ4JTCnF+bwba86DHQqJyPGv2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769616829; a=rsa-sha256; cv=none; b=IGgOCXTW1ojhUzyX9OMI9kiP79VC4VvLd5Z0QwxVJRkXuDiIsNIkryGZykrDUPnax6khNu EIv6kdS+pZi4G08PD4tPgCh1c7TjNgW48jnGzvx9loKFXAWDsAU3reMJeSZF7w8pBYU3e7 giSODtXm1PSSkHYHjqO8lI1zGaICyK8AxGdRFIWNpJ+eRJlKsu45hDNH4YVOjbkm5Ds0o5 1WuKjbrnyUR6ejJ+0WzZyvwcRkuXjPy3jtF4fPJuRe3IcYWNPfUziRPdhVRv8AS7QtTwTZ 5+h/daiflTPoGapOxkVFGLUUp/5qQFMd82A5uWSWAu1UPqsbQeM833lZ2Urv6w== 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 4f1S4s3C6XzypC for ; Wed, 28 Jan 2026 16:13:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 379c9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 16:13:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 2ea85a622bcb - main - ifconfig: Exit with a non-zero status when SIOCSIFFIB fails 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: 2ea85a622bcba92a7b58901d6a6e945df3022c4e Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 16:13:49 +0000 Message-Id: <697a35bd.379c9.60ea4bdd@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2ea85a622bcba92a7b58901d6a6e945df3022c4e commit 2ea85a622bcba92a7b58901d6a6e945df3022c4e Author: Mark Johnston AuthorDate: 2026-01-28 16:11:47 +0000 Commit: Mark Johnston CommitDate: 2026-01-28 16:11:47 +0000 ifconfig: Exit with a non-zero status when SIOCSIFFIB fails Previously, setting an interface FIB to some invalid value would result in a warning being printed, but the ifconfig command would exit with status 0, but this is wrong. Add a little regression test. Reviewed by: pouria, zlei, melifaro MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54918 --- sbin/ifconfig/iffib.c | 16 ++++++---------- sbin/ifconfig/tests/Makefile | 3 ++- sbin/ifconfig/tests/ifconfig.sh | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/sbin/ifconfig/iffib.c b/sbin/ifconfig/iffib.c index a99dd6885d08..c1f9b3defb40 100644 --- a/sbin/ifconfig/iffib.c +++ b/sbin/ifconfig/iffib.c @@ -69,14 +69,12 @@ setiffib(if_ctx *ctx, const char *val, int dummy __unused) char *ep; fib = strtoul(val, &ep, 0); - if (*ep != '\0' || fib > UINT_MAX) { - warn("fib %s not valid", val); - return; - } + if (*ep != '\0' || fib > UINT_MAX) + errx(1, "fib %s not valid", val); ifr.ifr_fib = fib; if (ioctl_ctx_ifr(ctx, SIOCSIFFIB, &ifr) < 0) - warn("ioctl (SIOCSIFFIB)"); + err(1, "ioctl (SIOCSIFFIB)"); } static void @@ -87,14 +85,12 @@ settunfib(if_ctx *ctx, const char *val, int dummy __unused) char *ep; fib = strtoul(val, &ep, 0); - if (*ep != '\0' || fib > UINT_MAX) { - warn("fib %s not valid", val); - return; - } + if (*ep != '\0' || fib > UINT_MAX) + errx(1, "fib %s not valid", val); ifr.ifr_fib = fib; if (ioctl_ctx_ifr(ctx, SIOCSTUNFIB, &ifr) < 0) - warn("ioctl (SIOCSTUNFIB)"); + err(1, "ioctl (SIOCSTUNFIB)"); } static struct cmd fib_cmds[] = { diff --git a/sbin/ifconfig/tests/Makefile b/sbin/ifconfig/tests/Makefile index e902f262552a..8203c97cb013 100644 --- a/sbin/ifconfig/tests/Makefile +++ b/sbin/ifconfig/tests/Makefile @@ -1,5 +1,6 @@ NETBSD_ATF_TESTS_SH= nonexistent_test -ATF_TESTS_SH+= inet6 +ATF_TESTS_SH+= ifconfig \ + inet6 TEST_METADATA+= execenv="jail" TEST_METADATA+= execenv_jail_params="vnet allow.raw_sockets" diff --git a/sbin/ifconfig/tests/ifconfig.sh b/sbin/ifconfig/tests/ifconfig.sh new file mode 100644 index 000000000000..f95581ea97ba --- /dev/null +++ b/sbin/ifconfig/tests/ifconfig.sh @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2026 Stormshield + +. $(atf_get_srcdir)/../../sys/common/vnet.subr + +atf_test_case "badfib" "cleanup" +badfib_head() +{ + atf_set descr "Test adding an interface to a non-existent FIB" + atf_set require.user root +} +badfib_body() +{ + local epair + + vnet_init + + epair=$(vnet_mkepair) + atf_check -s exit:0 ifconfig ${epair}a fib 0 + atf_check -s not-exit:0 -e not-empty \ + ifconfig ${epair}a fib $(sysctl -n net.fibs) +} +badfib_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case badfib +} From nobody Wed Jan 28 17:47: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 4f1V8j48kDz6QTB8 for ; Wed, 28 Jan 2026 17:47: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 4f1V8j1mG7z3b3S for ; Wed, 28 Jan 2026 17:47:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769622437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZm1jBF0blgDqeBbuNvqFWG+pP99t6Aeh7oDfFJLmnw=; b=uAbd1ieklMYLjxrMPpN1H96iThvfa86jyiAWqqkOO5og61ziknljHILGjjE6Df4V8A81hb VUwcCtqv4HBrybjb3tlBOLpc+vW+ix59nIydh7e6Y0MwVVydXGr1BuGMnajlpBPOql/E8Z VT/1kXcBncTSXwpftEdTevRbaDcwOuo4/84A4F/qdhJSd1SXu9voLwohhy8GqRe+scyvSE Pglt+m+MlDfGhwWOx12VWmJxuTSAPhusaIDcqXdA673J1aNu2VAhUFMBuC7sbR1nSRAdGg Pwxf8aRLP5rJPzL7kyH1J2D/nIoXyWqRjtY9f2Dy+rHPEizHssLX9+dyMLjA2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769622437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZm1jBF0blgDqeBbuNvqFWG+pP99t6Aeh7oDfFJLmnw=; b=iflecXN9qhHsdqIqaHTYviUQMPuI5xe1h8glCfQEmrnFOkaA8wxhmR6UTKj0vqIAnDb84Y fi0gjnu9FEYN0+CvgUv/35AzFbIGM+r2SYp3UtO1nIywaoTaRFcJ1aoAC9IJY+ICnO65Y4 LJJiZavWulybiUoq3SsqiY/Xm0+d5PKsyRCOApcM5la1lNajaxG+y9pyhTarXDWxbYDMqR F8Mmd1atcLGD7iimGjj4bAhtqCipBr/TNZNfhFU7Za9OcA/XDEWV7VCKOrjKGJracIK1z/ 8RP3v8HnOrugKhTxap8ZKNxxMXV20CfB6VLymch1qKDBxM4R1BpEUXPafLrkcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769622437; a=rsa-sha256; cv=none; b=E/zPsVX47R7HwBFNFdRKM8cqyKfRzV0dB6hm5AyDAIKMgGxDDW3Dh2fEnc2PPdiv6qbk8C lb0azvHNpRo2kA6u2tBCkzlmcJwL3zbWjfyIN/M+guapW67zK+nyF8ry/BsWXomCnnz2KS oD1zvuTY7MiBhtsc82vL7E+lESNQjBfOsIz53bLvI7aA49EJMivWF7q3/htl8wv9zzic0i k4Zz7QFZZSi4o52aeka//sjVItFEhNkWSaG9pKUHwIe6rxlTDKJ3NzVYroA29kKY5O+SwE LAFxtsAQ1w5+PHDezwk1PjyoNUuqJXm/vmHbsPG+dtywTfoZY5K7dEJTi3kcQA== 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 4f1V8j0Knjz12W9 for ; Wed, 28 Jan 2026 17:47:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f304 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 17:47:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 59bbb62b6078 - main - cpucontrol: Be more strict with input validation 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: 59bbb62b6078afffd1c182b63d43934248289675 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 17:47:16 +0000 Message-Id: <697a4ba4.3f304.44475f06@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=59bbb62b6078afffd1c182b63d43934248289675 commit 59bbb62b6078afffd1c182b63d43934248289675 Author: Mark Johnston AuthorDate: 2026-01-28 16:31:41 +0000 Commit: Mark Johnston CommitDate: 2026-01-28 17:47:02 +0000 cpucontrol: Be more strict with input validation Avoid truncating 32-bit values. This would have saved me a bit of time when I was looking at a cpuid leaf on my system and typed 0x80000001f instead of 0x8000001f. Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D54919 --- usr.sbin/cpucontrol/cpucontrol.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/usr.sbin/cpucontrol/cpucontrol.c b/usr.sbin/cpucontrol/cpucontrol.c index 9cc3968de01d..52e74a83b85b 100644 --- a/usr.sbin/cpucontrol/cpucontrol.c +++ b/usr.sbin/cpucontrol/cpucontrol.c @@ -36,7 +36,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -112,6 +114,21 @@ usage(void) exit(EX_USAGE); } +static uint32_t +strtouint32(const char *str, char **endptr, int base) +{ + uintmax_t val; + + errno = 0; + val = strtoumax(str, endptr, base); + if (*str == '\0' || errno == ERANGE || val > UINT32_MAX) { + WARNX(0, "invalid operand: %s", str); + exit(EX_USAGE); + /* NOTREACHED */ + } + return ((uint32_t)val); +} + static int do_cpuid(const char *cmdarg, const char *dev) { @@ -123,7 +140,7 @@ do_cpuid(const char *cmdarg, const char *dev) assert(cmdarg != NULL); assert(dev != NULL); - level = strtoul(cmdarg, &endptr, 16); + level = strtouint32(cmdarg, &endptr, 16); if (*cmdarg == '\0' || *endptr != '\0') { WARNX(0, "incorrect operand: %s", cmdarg); usage(); @@ -162,7 +179,7 @@ do_cpuid_count(const char *cmdarg, const char *dev) assert(cmdarg != NULL); assert(dev != NULL); - level = strtoul(cmdarg, &endptr, 16); + level = strtouint32(cmdarg, &endptr, 16); if (*cmdarg == '\0' || *endptr == '\0') { WARNX(0, "incorrect or missing operand: %s", cmdarg); usage(); @@ -172,7 +189,7 @@ do_cpuid_count(const char *cmdarg, const char *dev) cmdarg1 = strstr(endptr, ","); /* ... and skip past it */ cmdarg1 += 1; - level_type = strtoul(cmdarg1, &endptr1, 16); + level_type = strtouint32(cmdarg1, &endptr1, 16); if (*cmdarg1 == '\0' || *endptr1 != '\0') { WARNX(0, "incorrect or missing operand: %s", cmdarg); usage(); @@ -228,7 +245,7 @@ do_msr(const char *cmdarg, const char *dev) /* * Parse command string. */ - msr = strtoul(cmdarg, &endptr, 16); + msr = strtouint32(cmdarg, &endptr, 16); switch (*endptr) { case '\0': op = OP_READ; From nobody Wed Jan 28 21:23: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 4f1ZyP26xKz6Pch4 for ; Wed, 28 Jan 2026 21:23: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 4f1ZyP1cj2z4Ckl for ; Wed, 28 Jan 2026 21:23:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769635421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XjyjLPw1sLyVSLbZQOhZBneIML0Z0VuErQZukzC1eLs=; b=f5L4mVVz3YfiaSUQO/IDd359bywTgYDZOEJyi/dC4MTDeWuRwV1NJ39q304KctI+blCQOf IqcZXY6udYDcQ3Y+R9lLcFWRWxL/i8L8X4r+ayIi0XIwfajgEVLRo30MasmYx8fQT1O6s5 MEHAJK+LpwjbH7ClIffQHxGvq7yqzmMGc80GXbZeTCkG3il0bqb7IsACtn3abbpsAWZbqa EcgdpEQ7n4Q4dpQamw1UPgmBJcCrgAfKQCu/yykwvS6sGtsHySjk4vl9KGcVZyQwJHXBge 1ouEoTJ14Qg2GyhHA7PWPTYN6m+gDKRrG4zxMWfxneEb3D213WjbGrzhlIoA0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769635421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XjyjLPw1sLyVSLbZQOhZBneIML0Z0VuErQZukzC1eLs=; b=CZaRHO94S2ed8uK6rbjV9nxTMsfGgKusiT1LMDNGx202NQOlBNSVSOzFnbeh/khvlM+ok0 UfkNKncgejB4hQpyC6lbvM2qlEobJYr1bJvuR61VLn5fwqoqo7d1MoG592jrVvx2DWMS0J xm2P+rhewiqQ5NvIDER0BJTv5PgYHZhyJ8m3TtwIBvo1P83TrpxNXDj124W18ilskgeLca VeaH9Vh7tVyG7DCpUfwQNudhd/bUkfvi3coPzrSn5sSu9nnpBzemlABRIyL+/y53TxgGtp RSMjSUi/wGEIHWZNbXIdhhAq55kF4RTiQetvd6Otsp4o37B1TL4qXZ8lNgCN9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769635421; a=rsa-sha256; cv=none; b=EOD+pLYQ8bcY7akremPsVrwkvZVodXypTXJX46di8ISAxH73gTEgjSahK7Wn+mL7mweA2V Cew8n9GeaxwHmvpz+CdIeWGxS1avDr+ef6bGu1e1xqt8modkNq6OIbF/9hIU8U6aGVrPt0 +uW1GepzaNHLtP0jPKSgzk2BAUT0w3lhZeGHYzZyhPaRHmGsgUCIyMHhiQ0D7+1iAxH9ZB HKyJHQq6cLufE7qnkApDS9UWVByU5DSmqGfWoRNRjDWZ7OzcMylmOAIvnZN+IEgs7zAwLi bFuuKE701wFbkK8wmWpcOW5UwQnRu98/qHMK66rAiM3hGrOcpu1wqlMG7OwHCg== 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 4f1ZyP194Bz18XK for ; Wed, 28 Jan 2026 21:23:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36215 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 21:23:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 670b568ec1c3 - main - capsicum-test: Move out of contrib 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: 670b568ec1c36464c6d55e400382c290b0391ccf Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 21:23:41 +0000 Message-Id: <697a7e5d.36215.226c97cf@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=670b568ec1c36464c6d55e400382c290b0391ccf commit 670b568ec1c36464c6d55e400382c290b0391ccf Author: Ed Maste AuthorDate: 2026-01-27 13:28:23 +0000 Commit: Ed Maste CommitDate: 2026-01-28 21:23:26 +0000 capsicum-test: Move out of contrib Google developed the Capsicum unit test suite[1] as part of the Capsicum-Linux[2] project, based on unit tests that existed in FreeBSD and unit tests developed as part of the initial Capsicum-Linux port. Capsicum-Linux was archived as of October 31, 2022 and is no longer being maintained. FreeBSD is currently the only consumer of and contributor to the test suite. Move the src into tests/sys/capsicum to simplify ongoing maintenance. The makefiles were deleted as we (continue to) use the existing bespoke FreeBSD Makefile, and CONTRIBUTING.md was removed as the Google CLA is no longer applicable. [1] https://github.com/google/capsicum-test [2] https://github.com/google/capsicum-linux Reviewed by: asomers, oshogbo Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54917 --- .github/CODEOWNERS | 2 +- contrib/capsicum-test/.gitignore | 19 ----- contrib/capsicum-test/CONTRIBUTING.md | 20 ------ contrib/capsicum-test/GNUmakefile | 82 ---------------------- contrib/capsicum-test/makefile | 36 ---------- .../capsicum-test => tests/sys/capsicum}/LICENSE | 0 tests/sys/capsicum/Makefile | 2 - .../capsicum-test => tests/sys/capsicum}/README.md | 0 .../sys/capsicum}/capability-fd-pair.cc | 0 .../sys/capsicum}/capability-fd.cc | 0 .../sys/capsicum}/capmode.cc | 0 .../sys/capsicum}/capsicum-freebsd.h | 0 .../sys/capsicum}/capsicum-linux.h | 0 .../sys/capsicum}/capsicum-rights.h | 0 .../sys/capsicum}/capsicum-test-main.cc | 0 .../sys/capsicum}/capsicum-test.cc | 0 .../sys/capsicum}/capsicum-test.h | 0 .../sys/capsicum}/capsicum.h | 0 .../sys/capsicum}/copy_file_range.cc | 0 .../capsicum-test => tests/sys/capsicum}/fcntl.cc | 0 .../sys/capsicum}/fexecve.cc | 0 .../capsicum-test => tests/sys/capsicum}/ioctl.cc | 0 .../capsicum-test => tests/sys/capsicum}/linux.cc | 0 .../capsicum-test => tests/sys/capsicum}/mini-me.c | 0 .../capsicum-test => tests/sys/capsicum}/mqueue.cc | 0 .../capsicum-test => tests/sys/capsicum}/openat.cc | 0 .../sys/capsicum}/overhead.cc | 0 .../sys/capsicum}/procdesc.cc | 0 .../capsicum-test => tests/sys/capsicum}/rename.cc | 0 .../capsicum-test => tests/sys/capsicum}/sctp.cc | 0 .../capsicum-test => tests/sys/capsicum}/select.cc | 0 .../sys/capsicum}/showrights | 0 .../sys/capsicum}/smoketest.c | 0 .../capsicum-test => tests/sys/capsicum}/socket.cc | 0 .../sys/capsicum}/syscalls.h | 0 .../capsicum-test => tests/sys/capsicum}/sysctl.cc | 0 .../sys/capsicum}/waittest.c | 0 37 files changed, 1 insertion(+), 160 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 172a2eee5263..6d55fcfe2003 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -34,7 +34,6 @@ /bin/sh @jillest /contrib/atf @ngie-eign /contrib/blocklist @jlduran -/contrib/capsicum-test @ngie-eign @emaste /contrib/googletest @ngie-eign /contrib/libcxxrt @DimitryAndric @emaste /contrib/llvm-project @DimitryAndric @@ -118,6 +117,7 @@ /sys/x86/pci @bsdimp @bsdjhb /tests @ngie-eign /tests/sys/aio/ @asomers +/tests/sys/capsicum-test @ngie-eign @emaste /tests/sys/fs/fusefs/ @asomers /tests/sys/kqueue/ @jmgurney /tests/sys/opencrypto/ @jmgurney diff --git a/contrib/capsicum-test/.gitignore b/contrib/capsicum-test/.gitignore deleted file mode 100644 index bc8f8f5ce265..000000000000 --- a/contrib/capsicum-test/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -capsicum-test -mini-me -mini-me.noexec -mini-me.setuid -mini-me.32 -mini-me.x32 -mini-me.64 -libgtest.a -smoketest -*.o -libcap*.deb -libcap*.dsc -libcap*.tar.gz -libcap*.changes -casper*.deb -casper*.dsc -casper*.tar.gz -casper*.changes -libcaprights.a \ No newline at end of file diff --git a/contrib/capsicum-test/CONTRIBUTING.md b/contrib/capsicum-test/CONTRIBUTING.md deleted file mode 100644 index 1a054b840c0b..000000000000 --- a/contrib/capsicum-test/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -## Contributor License Agreement ## - -Contributions to any Google project must be accompanied by a Contributor -License Agreement. This is not a copyright **assignment**, it simply gives -Google permission to use and redistribute your contributions as part of the -project. - - * If you are an individual writing original source code and you're sure you - own the intellectual property, then you'll need to sign an [individual - CLA][]. - - * If you work for a company that wants to allow you to contribute your work, - then you'll need to sign a [corporate CLA][]. - -You generally only need to submit a CLA once, so if you've already submitted -one (even if it was for a different project), you probably don't need to do it -again. - -[individual CLA]: https://developers.google.com/open-source/cla/individual -[corporate CLA]: https://developers.google.com/open-source/cla/corporate diff --git a/contrib/capsicum-test/GNUmakefile b/contrib/capsicum-test/GNUmakefile deleted file mode 100644 index 426eb49cdfa1..000000000000 --- a/contrib/capsicum-test/GNUmakefile +++ /dev/null @@ -1,82 +0,0 @@ -OS:=$(shell uname) - -# Set ARCH to 32 or x32 for i386/x32 ABIs -ARCH?=64 -ARCHFLAG=-m$(ARCH) - -ifeq ($(OS),FreeBSD) -EXTRA_LIBS=-lprocstat -endif - -ifeq ($(OS),Linux) -PROCESSOR:=$(shell uname -p) - -ifneq ($(wildcard /usr/lib/$(PROCESSOR)-linux-gnu),) -# Can use standard Debian location for static libraries. -PLATFORM_LIBDIR=/usr/lib/$(PROCESSOR)-linux-gnu -else -# Attempt to determine library location from gcc configuration. -PLATFORM_LIBDIR=$(shell gcc -v 2>&1 | grep "Configured with:" | sed 's/.*--libdir=\(\/usr\/[^ ]*\).*/\1/g') -endif - -# Override for explicitly specified ARCHFLAG. -# Use locally compiled libcaprights in this case, on the -# assumption that any installed version is 64-bit. -ifeq ($(ARCHFLAG),-m32) -PROCESSOR=i386 -PLATFORM_LIBDIR=/usr/lib32 -LIBCAPRIGHTS=./libcaprights.a -endif -ifeq ($(ARCHFLAG),-mx32) -PROCESSOR=x32 -PLATFORM_LIBDIR=/usr/libx32 -LIBCAPRIGHTS=./libcaprights.a -endif - -# Detect presence of libsctp in normal Debian location -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libsctp.a),) -LIBSCTP=-lsctp -CXXFLAGS=-DHAVE_SCTP -endif - -ifneq ($(LIBCAPRIGHTS),) -# Build local libcaprights.a (assuming ./configure -# has already been done in libcaprights/) -LOCAL_LIBS=$(LIBCAPRIGHTS) -LIBCAPRIGHTS_OBJS=libcaprights/capsicum.o libcaprights/linux-bpf-capmode.o libcaprights/procdesc.o libcaprights/signal.o -LOCAL_CLEAN=$(LOCAL_LIBS) $(LIBCAPRIGHTS_OBJS) -else -# Detect installed libcaprights static library. -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libcaprights.a),) -LIBCAPRIGHTS=$(PLATFORM_LIBDIR)/libcaprights.a -else -ifneq ($(wildcard /usr/lib/libcaprights.a),) -LIBCAPRIGHTS=/usr/lib/libcaprights.a -endif -endif -endif - -endif - -# Extra test programs for arch-transition tests -EXTRA_PROGS = mini-me.32 mini-me.64 -ifneq ($(wildcard /usr/include/gnu/stubs-x32.h),) -EXTRA_PROGS += mini-me.x32 -endif - -# Chain on to the master makefile -include makefile - -./libcaprights.a: $(LIBCAPRIGHTS_OBJS) - ar cr $@ $^ - -# Small static programs of known architectures -# These may require additional packages to be installed; for example, for Debian: -# - libc6-dev-i386 provides 32-bit headers for a 64-bit system -# - libc6-dev-x32 provides headers for the x32 ABI. -mini-me.32: mini-me.c - $(CC) $(CFLAGS) -m32 -static -o $@ $< -mini-me.x32: mini-me.c - $(CC) $(CFLAGS) -mx32 -static -o $@ $< -mini-me.64: mini-me.c - $(CC) $(CFLAGS) -m64 -static -o $@ $< diff --git a/contrib/capsicum-test/makefile b/contrib/capsicum-test/makefile deleted file mode 100644 index e55393bbf131..000000000000 --- a/contrib/capsicum-test/makefile +++ /dev/null @@ -1,36 +0,0 @@ -all: capsicum-test smoketest mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) -OBJECTS=capsicum-test-main.o capsicum-test.o capability-fd.o copy_file_range.o fexecve.o procdesc.o capmode.o fcntl.o ioctl.o openat.o sysctl.o select.o mqueue.o socket.o sctp.o capability-fd-pair.o linux.o overhead.o rename.o - -GTEST_DIR=gtest-1.10.0 -GTEST_INCS=-I$(GTEST_DIR)/include -I$(GTEST_DIR) -GTEST_FLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_HAS_TR1_TUPLE=1 -CXXFLAGS+=$(ARCHFLAG) -Wall -g $(GTEST_INCS) $(GTEST_FLAGS) --std=c++11 -CFLAGS+=$(ARCHFLAG) -Wall -g - -capsicum-test: $(OBJECTS) libgtest.a $(LOCAL_LIBS) - $(CXX) $(CXXFLAGS) -g -o $@ $(OBJECTS) libgtest.a -lpthread -lrt $(LIBSCTP) $(LIBCAPRIGHTS) $(EXTRA_LIBS) - -# Small statically-linked program for fexecve tests -# (needs to be statically linked so that execve()ing it -# doesn't involve ld.so traversing the filesystem). -mini-me: mini-me.c - $(CC) $(CFLAGS) -static -o $@ $< -mini-me.noexec: mini-me - cp mini-me $@ && chmod -x $@ -mini-me.setuid: mini-me - rm -f $@ && cp mini-me $@&& sudo chown root $@ && sudo chmod u+s $@ - -# Simple C test of Capsicum syscalls -SMOKETEST_OBJECTS=smoketest.o -smoketest: $(SMOKETEST_OBJECTS) $(LOCAL_LIBS) - $(CC) $(CFLAGS) -o $@ $(SMOKETEST_OBJECTS) $(LIBCAPRIGHTS) - -test: capsicum-test mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) - ./capsicum-test -gtest-all.o: - $(CXX) $(CXXFLAGS) $(ARCHFLAG) -I$(GTEST_DIR)/include -I$(GTEST_DIR) $(GTEST_FLAGS) -c ${GTEST_DIR}/src/gtest-all.cc -libgtest.a: gtest-all.o - $(AR) -rv libgtest.a gtest-all.o - -clean: - rm -rf gtest-all.o libgtest.a capsicum-test mini-me mini-me.noexec smoketest $(SMOKETEST_OBJECTS) $(OBJECTS) $(LOCAL_CLEAN) $(EXTRA_PROGS) diff --git a/contrib/capsicum-test/LICENSE b/tests/sys/capsicum/LICENSE similarity index 100% rename from contrib/capsicum-test/LICENSE rename to tests/sys/capsicum/LICENSE diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index fd8dcb29d65c..38c1f8285910 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -9,8 +9,6 @@ CFLAGS+= -I${SRCTOP}/tests .if ${MK_GOOGLETEST} != no -.PATH: ${SRCTOP}/contrib/capsicum-test - GTESTS+= capsicum-test GTESTS_WRAPPER_SH.capsicum-test= functional # This test script runs the same test suite twice, once as root and once as an diff --git a/contrib/capsicum-test/README.md b/tests/sys/capsicum/README.md similarity index 100% rename from contrib/capsicum-test/README.md rename to tests/sys/capsicum/README.md diff --git a/contrib/capsicum-test/capability-fd-pair.cc b/tests/sys/capsicum/capability-fd-pair.cc similarity index 100% rename from contrib/capsicum-test/capability-fd-pair.cc rename to tests/sys/capsicum/capability-fd-pair.cc diff --git a/contrib/capsicum-test/capability-fd.cc b/tests/sys/capsicum/capability-fd.cc similarity index 100% rename from contrib/capsicum-test/capability-fd.cc rename to tests/sys/capsicum/capability-fd.cc diff --git a/contrib/capsicum-test/capmode.cc b/tests/sys/capsicum/capmode.cc similarity index 100% rename from contrib/capsicum-test/capmode.cc rename to tests/sys/capsicum/capmode.cc diff --git a/contrib/capsicum-test/capsicum-freebsd.h b/tests/sys/capsicum/capsicum-freebsd.h similarity index 100% rename from contrib/capsicum-test/capsicum-freebsd.h rename to tests/sys/capsicum/capsicum-freebsd.h diff --git a/contrib/capsicum-test/capsicum-linux.h b/tests/sys/capsicum/capsicum-linux.h similarity index 100% rename from contrib/capsicum-test/capsicum-linux.h rename to tests/sys/capsicum/capsicum-linux.h diff --git a/contrib/capsicum-test/capsicum-rights.h b/tests/sys/capsicum/capsicum-rights.h similarity index 100% rename from contrib/capsicum-test/capsicum-rights.h rename to tests/sys/capsicum/capsicum-rights.h diff --git a/contrib/capsicum-test/capsicum-test-main.cc b/tests/sys/capsicum/capsicum-test-main.cc similarity index 100% rename from contrib/capsicum-test/capsicum-test-main.cc rename to tests/sys/capsicum/capsicum-test-main.cc diff --git a/contrib/capsicum-test/capsicum-test.cc b/tests/sys/capsicum/capsicum-test.cc similarity index 100% rename from contrib/capsicum-test/capsicum-test.cc rename to tests/sys/capsicum/capsicum-test.cc diff --git a/contrib/capsicum-test/capsicum-test.h b/tests/sys/capsicum/capsicum-test.h similarity index 100% rename from contrib/capsicum-test/capsicum-test.h rename to tests/sys/capsicum/capsicum-test.h diff --git a/contrib/capsicum-test/capsicum.h b/tests/sys/capsicum/capsicum.h similarity index 100% rename from contrib/capsicum-test/capsicum.h rename to tests/sys/capsicum/capsicum.h diff --git a/contrib/capsicum-test/copy_file_range.cc b/tests/sys/capsicum/copy_file_range.cc similarity index 100% rename from contrib/capsicum-test/copy_file_range.cc rename to tests/sys/capsicum/copy_file_range.cc diff --git a/contrib/capsicum-test/fcntl.cc b/tests/sys/capsicum/fcntl.cc similarity index 100% rename from contrib/capsicum-test/fcntl.cc rename to tests/sys/capsicum/fcntl.cc diff --git a/contrib/capsicum-test/fexecve.cc b/tests/sys/capsicum/fexecve.cc similarity index 100% rename from contrib/capsicum-test/fexecve.cc rename to tests/sys/capsicum/fexecve.cc diff --git a/contrib/capsicum-test/ioctl.cc b/tests/sys/capsicum/ioctl.cc similarity index 100% rename from contrib/capsicum-test/ioctl.cc rename to tests/sys/capsicum/ioctl.cc diff --git a/contrib/capsicum-test/linux.cc b/tests/sys/capsicum/linux.cc similarity index 100% rename from contrib/capsicum-test/linux.cc rename to tests/sys/capsicum/linux.cc diff --git a/contrib/capsicum-test/mini-me.c b/tests/sys/capsicum/mini-me.c similarity index 100% rename from contrib/capsicum-test/mini-me.c rename to tests/sys/capsicum/mini-me.c diff --git a/contrib/capsicum-test/mqueue.cc b/tests/sys/capsicum/mqueue.cc similarity index 100% rename from contrib/capsicum-test/mqueue.cc rename to tests/sys/capsicum/mqueue.cc diff --git a/contrib/capsicum-test/openat.cc b/tests/sys/capsicum/openat.cc similarity index 100% rename from contrib/capsicum-test/openat.cc rename to tests/sys/capsicum/openat.cc diff --git a/contrib/capsicum-test/overhead.cc b/tests/sys/capsicum/overhead.cc similarity index 100% rename from contrib/capsicum-test/overhead.cc rename to tests/sys/capsicum/overhead.cc diff --git a/contrib/capsicum-test/procdesc.cc b/tests/sys/capsicum/procdesc.cc similarity index 100% rename from contrib/capsicum-test/procdesc.cc rename to tests/sys/capsicum/procdesc.cc diff --git a/contrib/capsicum-test/rename.cc b/tests/sys/capsicum/rename.cc similarity index 100% rename from contrib/capsicum-test/rename.cc rename to tests/sys/capsicum/rename.cc diff --git a/contrib/capsicum-test/sctp.cc b/tests/sys/capsicum/sctp.cc similarity index 100% rename from contrib/capsicum-test/sctp.cc rename to tests/sys/capsicum/sctp.cc diff --git a/contrib/capsicum-test/select.cc b/tests/sys/capsicum/select.cc similarity index 100% rename from contrib/capsicum-test/select.cc rename to tests/sys/capsicum/select.cc diff --git a/contrib/capsicum-test/showrights b/tests/sys/capsicum/showrights similarity index 100% rename from contrib/capsicum-test/showrights rename to tests/sys/capsicum/showrights diff --git a/contrib/capsicum-test/smoketest.c b/tests/sys/capsicum/smoketest.c similarity index 100% rename from contrib/capsicum-test/smoketest.c rename to tests/sys/capsicum/smoketest.c diff --git a/contrib/capsicum-test/socket.cc b/tests/sys/capsicum/socket.cc similarity index 100% rename from contrib/capsicum-test/socket.cc rename to tests/sys/capsicum/socket.cc diff --git a/contrib/capsicum-test/syscalls.h b/tests/sys/capsicum/syscalls.h similarity index 100% rename from contrib/capsicum-test/syscalls.h rename to tests/sys/capsicum/syscalls.h diff --git a/contrib/capsicum-test/sysctl.cc b/tests/sys/capsicum/sysctl.cc similarity index 100% rename from contrib/capsicum-test/sysctl.cc rename to tests/sys/capsicum/sysctl.cc diff --git a/contrib/capsicum-test/waittest.c b/tests/sys/capsicum/waittest.c similarity index 100% rename from contrib/capsicum-test/waittest.c rename to tests/sys/capsicum/waittest.c From nobody Wed Jan 28 21:35: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 4f1bCy1h9Mz6PdWB; Wed, 28 Jan 2026 21:35:26 +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 4f1bCx68gYz4DqC; Wed, 28 Jan 2026 21:35:25 +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 60SLZAb5015740; Wed, 28 Jan 2026 23:35:13 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 60SLZAb5015740 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 60SLZ9q9015739; Wed, 28 Jan 2026 23:35:09 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 28 Jan 2026 23:35:09 +0200 From: Konstantin Belousov To: Marius Strobl Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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: 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: 4f1bCx68gYz4DqC On Tue, Jan 27, 2026 at 10:56:04PM +0100, Marius Strobl wrote: > On Tue, Jan 27, 2026 at 01:13:04AM +0200, Konstantin Belousov wrote: > > On Mon, Jan 26, 2026 at 09:30:58PM +0100, Marius Strobl wrote: > > > On Mon, Jan 26, 2026 at 06:34:49PM +0200, Konstantin Belousov wrote: > > > > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > > > > The branch main has been updated by marius: > > > > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > > > > Author: Marius Strobl > > > > > AuthorDate: 2026-01-26 13:58:57 +0000 > > > > > Commit: Marius Strobl > > > > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > > > > > > > sym(4): Employ memory barriers also on x86 > > > > > > > > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > > > > It does hold. x86 is much more strongly ordered than all other arches > > > > we currently support. > > > > > > If it does hold, then why is atomic_thread_fence_seq_cst() employing > > > a StoreLoad barrier even on amd64? > > > I agree that x86 is more strongly ordered than the other supported > > > architectures, though. > > Well, it depends on the purpose. > > > > Can you please explain what is the purpose of this specific barrier, and > > where is the reciprocal barrier for it? > > > > Often drivers for advanced devices do need fences. For instance, from > > my experience with the Mellanox networking cards, there are some structures > > that are located in regular cacheable memory. The readiness of the structure > > for the card is indicated by a write to some location. If this location is > > BAR, then at least on x86 we do not need any barriers. But if it is also > > in the regular memory, the visibility of writes to the structure before > > the write to a signalling variable must be enforced. > > > > This is done normally by atomic_thread_fence_rel(), which on x86 becomes > > just compiler barrier, since the ordering is guaranteed by CPU (but not > > compiler). > > > > In this situation, using rmb() (which is fence) really degrades > > the performance on high rates. > > The problem at hand is reads from different memory locations (neither > in BAR) apparently getting reordered after having kicked the chip. As > a result, data read doesn't match its flag. Nice description, thanks. So writes are to the WB memory, and they are ordered by hardware. And then, reads needs to be correctly ordered. Did I correctly understand? This is endorced by atomic_thread_fence_acq(). On x86, due to the TSO model, it only uses compiler membar. > > Several factors contribute to this scenario. First off, this hardware > doesn't have shiny doorbell registers but is a rather convoluted design > dating back to the early days of PCI, using a heavy mix of registers > in BAR space and DMAed control data, with addresses being patched into > programs that are transferred to the controller RAM by the driver or > may reside in host memory etc. Additional things also doesn't work > equally across all supported chips as only newer ones provide load/ > store instructions for example. > As such, the operations of these chips might very well escape the bus > snooping of more modern machines and optimizations therein. There are > PCI bridges which only synchronize DMA themselves on interrupts for > example. I do not quite follow the part of 'escaping the bus snooping'. I have no idea about this part for !x86, but on x86 hardware cannot access RAM without routing the transactions through the memory controller of CPU. > > For drivers, we generally would want to express DMA synchronization > and bus space access ordering needs in terms of bus_dmamap_sync(9) > and bus_space_barrier(9) as there may be buffers, caches, IOMMUs etc. > involved on/in the bus. These later are not taken into account by > atomic_thread_fence_*(9). Apparently, this is also of relevance for > x86, as otherwise BUS_SPACE_BARRIER_READ would be a compiler barrier > there at most. For WB memory, caches are always coherent (on x86), and IOMMUs do not change that. It is interesting that IOMMUs on x86 might use non-coherent access to the main memory itself for things like page tables reads or updates, or fault log entries writes. But they definitely do not cause non-coherence of the DMA. > With things like index or bank switching registers, it's generally > also not the case that there are pairs of bus space barriers, i. e. > also reciprocal ones, see e. g. the example in the BARRIERS section > of bus_space.9. > > Due to the mess with these chips and depending on architecture, > actually barriers for both, DMAed memory and bus space, might be > required. That's why already before this change, powerpc already > used both sync and eieio as well as the comment above the macros > was already previously talking about using I/O barriers, too. > > Actually, I would have expected this hardware to have aged out by > now. However, apparently it still is a thing with OpenStack, so it > makes sense to keep this driver working, with performance not being > of great concern. > I can change the driver back to duplicate *mb(9) as it was before > this change or back this change out completely it you absolutely > dislike it. I won't waste time with working on an alternate approach > to what the Linux version does, though, especially not given that > the Linux version presumably gets considerably more exposure and > testing. What I would like is removing global rmb/wmb/mb definitions. I doubt that there is common semantic for them on different FreeBSD arches, they are only similar by name. From nobody Wed Jan 28 21:51: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 4f1bZJ6qV9z6PfjQ for ; Wed, 28 Jan 2026 21:51: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 4f1bZJ4V5bz4Fvg for ; Wed, 28 Jan 2026 21:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769637080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6pcvzmVOJ37UmbgBrBaxnJ0o4nnYKD7jxFQHCfk/4jA=; b=g6pRqhzhV744maRnRChSpXciGd+g7nkQ7THsh8tJlMvLDd1pQJiD1LUSz1wZMw7PcZYMif zovlIjiStwrt92nnh9+GQ+mMD9qJ9VISZGtbD9DSPUpv4WDiYLGVLsxm9br0/f6nMztyzT jxQaBm22kBZtrsRbz0XL8B31jRX2Slwg0epLOxykuMkznDAig6zTzXn8tUcpFbhpZ0j9Xu gnBjU/lZwz4UR3kbLVx80GPnJgaxt15s4OWlkzTJOXElbtpUiX9j82lyOU7hS5ipeY1FEL 2L9LlGxxeyOmnDL0XZmMqgq/ejhtAZiUe8wDgPyR74XaRZsCG5aH22uxI3HpYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769637080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6pcvzmVOJ37UmbgBrBaxnJ0o4nnYKD7jxFQHCfk/4jA=; b=RsiWqzqZdAhbNzFgGwV5Iuxncz3BgyXyUXwLs+0nSnfw1VWfJwVfrc7en+lEtn0+PNYhtv msZj0i0MguBuwgbOU03e0t3C4+4fLEODjcHhw+vG2rrsITl2nnTWKn6e66YowGU8qtUG67 Fwz48gqRglpZ7JLMG/fSXMt5TeAdyjfezjiXCJtAd/fvi0JTfkjaC17rq3VKxY9oe1H8al Uqh2uCj8P4TsuMbSf8WCtPGLLU4FbDE+1JvZ0qDSQmjLFeBqrZP+JO1tZv05dmTr4QqOI/ 6CtOBxMn+PzrGwYQuynUhcAGFdRHxu/k27SbczuQvSOR0XSdPN8HFaU6Lt6L8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769637080; a=rsa-sha256; cv=none; b=e59M7n4/rsopZd9Ik2SQAgrZ7W1t8ShbBlRpMn4xxqCOxWTi76klwnN8ylOmZ+Z10wEscx h3zovICgjjJQoNkGaMKjTATqAN1BVSGHW5eG/ne0EFmHyj/wTAXGZ3wLirKLo+PTSRcwVK rUCO0tErTYJNhtQlY2u7zwcI6v9ntoMExcfVeLdswsan9e/jwHg2+tZzM7fVX37l2lZeYW OebJxlKLSCEaPjQKDa8USkbEuDXvKGiAQvPAMUhJqsLR63ndsV6J2ak+zT5ZYcnxL3ozjo XPGAn/59sr36FVtEsUtFdiVpt5KMgQhVEhri0lpcfoG7qS2mbUxtFD/ns5/e0g== 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 4f1bZJ41Wwz18TG for ; Wed, 28 Jan 2026 21:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39185 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 21:51:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: 20285cad7a55 - main - vtnet: remove M_HASHTYPE when there is only one pair of rx/tx queue 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: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20285cad7a55ecd0020f51f3daee74db8b1ea5a0 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 21:51:15 +0000 Message-Id: <697a84d3.39185.62a18ae5@gitrepo.freebsd.org> The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=20285cad7a55ecd0020f51f3daee74db8b1ea5a0 commit 20285cad7a55ecd0020f51f3daee74db8b1ea5a0 Author: Cheng Cui AuthorDate: 2026-01-28 17:27:34 +0000 Commit: Cheng Cui CommitDate: 2026-01-28 21:46:07 +0000 vtnet: remove M_HASHTYPE when there is only one pair of rx/tx queue Summary: Doing so will let the upper layer know how to deal with software hash, with benefits like inp_flowid can be set and m_pkthdr.flowid can be set in output path. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D54929 --- sys/dev/virtio/network/if_vtnet.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 19775416f8d4..da89dea03f87 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -2059,8 +2059,16 @@ vtnet_rxq_input(struct vtnet_rxq *rxq, struct mbuf *m, } } - m->m_pkthdr.flowid = rxq->vtnrx_id; - M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE); + if (sc->vtnet_act_vq_pairs == 1) { + /* + * When RSS is not needed (one active rx queue), let the upper + * layer know and react. + */ + M_HASHTYPE_CLEAR(m); + } else { + m->m_pkthdr.flowid = rxq->vtnrx_id; + M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE); + } if (hdr->flags & (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID)) { From nobody Wed Jan 28 22:11: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 4f1c1k1mTpz6Pj3b for ; Wed, 28 Jan 2026 22:11: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 4f1c1k1FCmz4JyV for ; Wed, 28 Jan 2026 22:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769638298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fkoUQcfSGMKoLq04jRnbh8K1kM/4PCEWiVUbK66gk0A=; b=KBvRDSztl/4zKfpfdfUjNqKrYhcWv5A8tkvrosspeH2DMNHbkcLBOCGWV5zQlJPoiYSrxG Ep9UNxHpsKwPKvxiH05EDVjlkla98QhfvxR5I+NOh6vhZ/5dAV7+jeYuTUGxPU9jJY3CJv ydNPg//PHjv31zqV67kwncpc7goV+GFAQD4ho4iwSb/u+AuMV1LrqA12wF2fXzKf8eQdfJ wbc/RqKYoMKOm3zXg4PAiiy+0xnNquIyH3Yhd97zqD2+am7534VgJ5mh8DnxMRWpG21gP1 oTRCpfz9RrApEbSWdG/rJa2nBLp3GrnzmA6OjWXb5vJzWtRYtSFsQkbJWdXZIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769638298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fkoUQcfSGMKoLq04jRnbh8K1kM/4PCEWiVUbK66gk0A=; b=euOyJAU8eS03SBkWZsUfxgF15ZKGbVq/UVHIuACelr/uZ+gqiJJpaCGDd5yduUJ9uFfpTw JIsYrRUeL+srC97QB3fcYDcxEuDXj9lzZcDHBmWkIcS35fP4/kaM5zWtwK/2Mlt80z/bnG I8S0N1ez0R6u/Nsi5vhMkfCy3GmmFZ9mwpp+pVACLw4Z2nvA/nQpTVsgFkJq/lYw6GptUq o/SMTx9OBxHvWEySFZes2KtI6fTkB6Iu6UXBvMJxfpZWDqY0mQnC0H2Oj8hfp7rZsDrhqc pyDQjZWCsu8/ju4rchnmpSOWWODIu1D9lOKNWSbCx9AQk5PhleK8/N8LgaL7qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769638298; a=rsa-sha256; cv=none; b=nRCRAL3hHuc2m2t8jNrFBVb5+zhiv8RIZsSy8zc0HO+YniDLEdhKJ2s8d9ZV+4druIfWVz StsEs1tSJV5sXNNLO+xfbRxx1B9AeZKlkj5VbfulavU2ubQd/0lv4G0KV4u96O8Lf/vg3V IpuBqOpk4LrvgHP8Y2zEWdwODwxQPXUSKdpvC9ofaKTTdx8i8R8FtWnrWMo6OWitC99SsM iMX5zKZ77eMdzkd4/zvD9CWf9FdCxVAtVR7M11JsQVsEvZoGIxm5tQ/s4670hVFTwFODvt f+VDWZx+L90Co0BgDgY1JvJhsCyOIBSkIk5KH8GlJ5XfMXmh7VhYLogW8nUYpg== 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 4f1c1k0cDHz19fK for ; Wed, 28 Jan 2026 22:11:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b3ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 22:11:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 79b05e7f80eb - main - linuxkpi: Add tag support to radix tree 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79b05e7f80eb482287c700f10da9084824199a05 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 22:11:32 +0000 Message-Id: <697a8994.3b3ea.7aad1e71@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=79b05e7f80eb482287c700f10da9084824199a05 commit 79b05e7f80eb482287c700f10da9084824199a05 Author: Jean-Sébastien Pédron AuthorDate: 2025-09-07 20:53:09 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-01-28 22:06:56 +0000 linuxkpi: Add tag support to radix tree The tag is used to perform lookup in a different way. New functions were introduced: * to set, check and clear a tag * to walk through a radix tree based on a given tag Furthermore, the `radix_tree_delete()` function was modified to clear tags on deletion. The amdgpu DRM driver started to use this in Linux 6.10. While here, the `radix_tree_gang_lookup()` function was added because it is very close to `radix_tree_gang_lookup_tag()`, but it is not used by the DRM drivers as of this commit. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54503 --- .../linuxkpi/common/include/linux/radix-tree.h | 29 ++- sys/compat/linuxkpi/common/src/linux_radix.c | 219 ++++++++++++++++++++- sys/compat/linuxkpi/common/src/linux_xarray.c | 4 +- 3 files changed, 242 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/radix-tree.h b/sys/compat/linuxkpi/common/include/linux/radix-tree.h index 55f0fc949807..7182f4a9e407 100644 --- a/sys/compat/linuxkpi/common/include/linux/radix-tree.h +++ b/sys/compat/linuxkpi/common/include/linux/radix-tree.h @@ -38,12 +38,19 @@ #define RADIX_TREE_MAX_HEIGHT \ howmany(sizeof(long) * NBBY, RADIX_TREE_MAP_SHIFT) +#define RADIX_TREE_MAX_TAGS 3 +#define RADIX_TREE_TAG_LONGS RADIX_TREE_MAP_SIZE + #define RADIX_TREE_ENTRY_MASK 3UL #define RADIX_TREE_EXCEPTIONAL_ENTRY 2UL #define RADIX_TREE_EXCEPTIONAL_SHIFT 2 +#define RADIX_TREE_ITER_TAG_MASK 0x0f +#define RADIX_TREE_ITER_TAGGED 0x10 + struct radix_tree_node { void *slots[RADIX_TREE_MAP_SIZE]; + unsigned long tags[RADIX_TREE_MAX_TAGS][RADIX_TREE_TAG_LONGS]; int count; }; @@ -51,6 +58,8 @@ struct radix_tree_root { struct radix_tree_node *rnode; gfp_t gfp_mask; int height; + /* Linux stores root tags inside `gfp_mask`. */ + unsigned long tags[RADIX_TREE_MAX_TAGS]; }; struct radix_tree_iter { @@ -64,9 +73,16 @@ struct radix_tree_iter { #define RADIX_TREE(name, mask) \ struct radix_tree_root name = RADIX_TREE_INIT(mask) -#define radix_tree_for_each_slot(slot, root, iter, start) \ - for ((iter)->index = (start); \ - radix_tree_iter_find(root, iter, &(slot)); (iter)->index++) +#define radix_tree_for_each_slot(slot, root, iter, start) \ + for ((iter)->index = (start); \ + radix_tree_iter_find(root, iter, &(slot), 0); \ + (iter)->index++) + +#define radix_tree_for_each_slot_tagged(slot, root, iter, start, tag) \ + for ((iter)->index = (start); \ + radix_tree_iter_find(root, iter, &(slot), \ + RADIX_TREE_ITER_TAGGED | tag); \ + (iter)->index++) static inline void * radix_tree_deref_slot(void **slot) @@ -84,7 +100,12 @@ void *radix_tree_lookup(const struct radix_tree_root *, unsigned long); void *radix_tree_delete(struct radix_tree_root *, unsigned long); int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); int radix_tree_store(struct radix_tree_root *, unsigned long, void **); -bool radix_tree_iter_find(const struct radix_tree_root *, struct radix_tree_iter *, void ***); +bool radix_tree_iter_find(const struct radix_tree_root *, struct radix_tree_iter *, void ***, int); void radix_tree_iter_delete(struct radix_tree_root *, struct radix_tree_iter *, void **); +void *radix_tree_tag_set(struct radix_tree_root *root, unsigned long index, unsigned int tag); +void *radix_tree_tag_clear(struct radix_tree_root *root, unsigned long index, unsigned int tag); +int radix_tree_tagged(const struct radix_tree_root *root, unsigned int tag); +unsigned int radix_tree_gang_lookup(const struct radix_tree_root *root, void **results, unsigned long first_index, unsigned int max_items); +unsigned int radix_tree_gang_lookup_tag(const struct radix_tree_root *root, void **results, unsigned long first_index, unsigned int max_items, unsigned int tag); #endif /* _LINUXKPI_LINUX_RADIX_TREE_H_ */ diff --git a/sys/compat/linuxkpi/common/src/linux_radix.c b/sys/compat/linuxkpi/common/src/linux_radix.c index ee6b3a63c370..760f583f25c8 100644 --- a/sys/compat/linuxkpi/common/src/linux_radix.c +++ b/sys/compat/linuxkpi/common/src/linux_radix.c @@ -52,6 +52,81 @@ radix_pos(long id, int height) return (id >> (RADIX_TREE_MAP_SHIFT * height)) & RADIX_TREE_MAP_MASK; } +static inline int +root_tag_get(const struct radix_tree_root *root, unsigned tag) +{ + return (test_bit(tag, root->tags)); +} + +static inline void +root_tag_set(struct radix_tree_root *root, unsigned tag) +{ + set_bit(tag, root->tags); +} + +static inline void +root_tag_clear(struct radix_tree_root *root, unsigned tag) +{ + clear_bit(tag, root->tags); +} + +static inline int +tag_get(const struct radix_tree_node *node, unsigned int tag, int pos) +{ + return (test_bit(pos, node->tags[tag])); +} + +static inline void +tag_set(struct radix_tree_node *node, unsigned int tag, int pos) +{ + set_bit(pos, node->tags[tag]); +} + +static inline void +tag_clear(struct radix_tree_node *node, unsigned int tag, int pos) +{ + clear_bit(pos, node->tags[tag]); +} + +static inline bool +any_tag_set(const struct radix_tree_node *node, unsigned int tag) +{ + unsigned int pos; + + for (pos = 0; pos < RADIX_TREE_TAG_LONGS; pos++) + if (node->tags[tag][pos]) + return (true); + + return (false); +} + +static void +node_tag_clear(struct radix_tree_root *root, struct radix_tree_node *stack[], + unsigned long index, unsigned int tag) +{ + struct radix_tree_node *node; + int height, pos; + + height = 1; + node = stack[height]; + + while (node && height <= root->height - 1) { + pos = radix_pos(index, height); + if (!tag_get(node, tag, pos)) + return; + + tag_clear(node, tag, pos); + if (any_tag_set(node, tag)) + return; + + height++; + node = stack[height]; + } + + if (root_tag_get(root, tag)) + root_tag_clear(root, tag); +} + static void radix_tree_clean_root_node(struct radix_tree_root *root) { @@ -84,14 +159,70 @@ out: return (item); } +unsigned int +radix_tree_gang_lookup(const struct radix_tree_root *root, void **results, + unsigned long first_index, unsigned int max_items) +{ + struct radix_tree_iter iter; + void **slot; + int count; + + count = 0; + if (max_items == 0) + return (count); + + radix_tree_for_each_slot(slot, root, &iter, first_index) { + results[count] = *slot; + if (results[count] == NULL) + continue; + + count++; + if (count == max_items) + break; + } + + return (count); +} + +unsigned int +radix_tree_gang_lookup_tag(const struct radix_tree_root *root, + void **results, unsigned long first_index, unsigned int max_items, + unsigned int tag) +{ + struct radix_tree_iter iter; + void **slot; + int count; + + count = 0; + if (max_items == 0) + return (count); + + radix_tree_for_each_slot_tagged(slot, root, &iter, first_index, tag) { + results[count] = *slot; + if (results[count] == NULL) + continue; + + count++; + if (count == max_items) + break; + } + + return (count); +} + bool radix_tree_iter_find(const struct radix_tree_root *root, - struct radix_tree_iter *iter, void ***pppslot) + struct radix_tree_iter *iter, void ***pppslot, int flags) { struct radix_tree_node *node; unsigned long index = iter->index; + unsigned int tag; int height; + tag = flags & RADIX_TREE_ITER_TAG_MASK; + if ((flags & RADIX_TREE_ITER_TAGGED) && !root_tag_get(root, tag)) + return (false); + restart: node = root->rnode; if (node == NULL) @@ -109,7 +240,9 @@ restart: *pppslot = node->slots + pos; next = node->slots[pos]; - if (next == NULL) { + if (next == NULL || + (flags & RADIX_TREE_ITER_TAGGED && + !tag_get(next, tag, pos))) { index += step; index &= -step; if ((index & mask) == 0) @@ -131,6 +264,7 @@ radix_tree_delete(struct radix_tree_root *root, unsigned long index) void *item; int height; int idx; + int tag; item = NULL; node = root->rnode; @@ -144,9 +278,15 @@ radix_tree_delete(struct radix_tree_root *root, unsigned long index) stack[height] = node; node = node->slots[radix_pos(index, height--)]; } - idx = radix_pos(index, 0); - if (node) + + if (node) { + idx = radix_pos(index, 0); item = node->slots[idx]; + + for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) + node_tag_clear(root, stack, index, tag); + } + /* * If we removed something reduce the height of the tree. */ @@ -380,3 +520,74 @@ radix_tree_store(struct radix_tree_root *root, unsigned long index, void **ppite node->count++; return (0); } + +void * +radix_tree_tag_set(struct radix_tree_root *root, unsigned long index, + unsigned int tag) +{ + struct radix_tree_node *node; + void *item; + int height, pos; + + item = NULL; + node = root->rnode; + height = root->height - 1; + if (index > radix_max(root)) + goto out; + + while (height) { + KASSERT( + node != NULL, + ("Node at index %lu does not exist in radix tree %p", + index, root)); + + pos = radix_pos(index, height--); + node = node->slots[pos]; + + if (!tag_get(node, tag, pos)) + tag_set(node, tag, pos); + } + + item = node->slots[radix_pos(index, 0)]; + + root_tag_set(root, tag); + +out: + return (item); +} + +void * +radix_tree_tag_clear(struct radix_tree_root *root, + unsigned long index, unsigned int tag) +{ + struct radix_tree_node *stack[RADIX_TREE_MAX_HEIGHT]; + struct radix_tree_node *node; + void *item; + int height; + + item = NULL; + node = root->rnode; + height = root->height - 1; + if (index > radix_max(root)) + goto out; + + while (height && node) { + stack[height] = node; + node = node->slots[radix_pos(index, height--)]; + } + + if (node) { + item = node->slots[radix_pos(index, 0)]; + + node_tag_clear(root, stack, index, tag); + } + +out: + return (item); +} + +int +radix_tree_tagged(const struct radix_tree_root *root, unsigned int tag) +{ + return (root_tag_get(root, tag)); +} diff --git a/sys/compat/linuxkpi/common/src/linux_xarray.c b/sys/compat/linuxkpi/common/src/linux_xarray.c index 3f07f6d7c59f..8caefbaf7e50 100644 --- a/sys/compat/linuxkpi/common/src/linux_xarray.c +++ b/sys/compat/linuxkpi/common/src/linux_xarray.c @@ -389,7 +389,7 @@ __xa_empty(struct xarray *xa) XA_ASSERT_LOCKED(xa); - return (!radix_tree_iter_find(&xa->xa_head, &iter, &temp)); + return (!radix_tree_iter_find(&xa->xa_head, &iter, &temp, 0)); } bool @@ -426,7 +426,7 @@ __xa_next(struct xarray *xa, unsigned long *pindex, bool not_first) return (NULL); } - found = radix_tree_iter_find(&xa->xa_head, &iter, &ppslot); + found = radix_tree_iter_find(&xa->xa_head, &iter, &ppslot, 0); if (likely(found)) { retval = *ppslot; if (retval == NULL_VALUE) From nobody Wed Jan 28 23:14: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 4f1dPw6shYz6QKh6 for ; Wed, 28 Jan 2026 23:14: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 4f1dPw67r3z4PlF for ; Wed, 28 Jan 2026 23:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769642052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4J7ggA3dU0oTZDNVxUVP6vyWAi5qBAjwavrYsSSMCXQ=; b=CRXyPp2RBWbDhZBFYkrwtLQXum+PGd9urBjJrDgUVrJFZ/aoQqxlqu623qeZTFKxFjKQVk kepGASUtK0LKq/IA8v7KohL4cMOpf+eIfCnsZDeeKDfwiKfBlR4lMFOE7Io+0kCHQoIhcM 8ibICTaA6L9XXs8PopCCIJYXMyCf9DLkIo1W2ZWvNVlcTngbj9iassQ1kwJYlNU3Q92BY0 PhpzAtlV9Aa2006owpZfU+pPH/Zb81whdglBHMOkzTOLV8dyMDulZfSwLiOqfu2nv+DOh+ PWHikms5nLo1i+IPzpgzDje5KSfuCEGnz5DDMzk0OMmbLtAL4vGDmDI0aWVWfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769642052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4J7ggA3dU0oTZDNVxUVP6vyWAi5qBAjwavrYsSSMCXQ=; b=IC2ILGnKBZ1jHrp9eZsDlD2wxCu3OVEzyaKlDevgIoRQHqOUw+WLVWqyGG7LwV8YX0m0dH fcW/43UenR4goRzR/DEdRpZyIXsThIJvCQTK4qyL/9vwXEFkZJceQj+DUEkk5cWCEI/yMK 8wrcUe459AeijifMbL5/F3q0b7fEfVzHtCTHhYHVzP/iv9uUrAKOxJg7bfHcBdzPVoPS+m F5uh1eFOWLalvC/fxHhMyjcDvu6mXBEPCc7thChw5L3HC2cCrYx1bcUCt+7i9DRPzkknyN B2kcot1WKalj6jLevH8/4hDGdWYyPjxT7MlDCxlcsnPkgbb4g4f2Yx8iePGxzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769642052; a=rsa-sha256; cv=none; b=mc0p2vZk5nkxwSEI1Z3Yd70sld7O0NrBF63WJtB6Fy3xQIaDnmbVt+KGDken2o9xHEy8Se kIpzSE9GpNnz/LwyojByJOaRiKEtUxIDEmSOJLR49wIShAYIMVnKNk+k0DoZlsyzlWRp61 WfbT/e4m4KqvTPvCLbxVoNS3yObJlKfSHxiVsq/HuJyWeLApAHvUstL7gXevecWSuekPY2 kMvV2cVxs7WV69LwZJcfJnBMkD2aKGqBRhfJ21sSNigwr8dotSdiHW4uhrr2qBYLIA8u7s 9hs6g4tFQmpWmz4d9/1zfsqoRXaBFmD5KXA9NrluR1umqqub2qsbi3TIa/gJtQ== 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 4f1dPw5j0Gz1CDt for ; Wed, 28 Jan 2026 23:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8b8a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 28 Jan 2026 23:14:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c59a47dc6c01 - main - src.opts.mk: Enable LLDB by default globally 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: c59a47dc6c016dff74466cecb160459980a5d782 Auto-Submitted: auto-generated Date: Wed, 28 Jan 2026 23:14:12 +0000 Message-Id: <697a9844.8b8a.6616e401@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c59a47dc6c016dff74466cecb160459980a5d782 commit c59a47dc6c016dff74466cecb160459980a5d782 Author: Ed Maste AuthorDate: 2026-01-22 19:10:12 +0000 Commit: Ed Maste CommitDate: 2026-01-28 23:13:52 +0000 src.opts.mk: Enable LLDB by default globally Previously it was enabled for all architectures except but RISC-V. Upstream made significant progress on RISC-V support over the last year[1], and although there's still some FreeBSD-specific work to do we can start building it now. [1] https://jonasdevlieghere.com/post/lldb-2025/ Sponsored by: The FreeBSD Foundation --- share/mk/src.opts.mk | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 415918e1d2ef..d6b07dc65045 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -124,6 +124,7 @@ __DEFAULT_YES_OPTIONS = \ LEGACY_CONSOLE \ LLD \ LLD_BOOTSTRAP \ + LLDB \ LLVM_ASSERTIONS \ LLVM_BINUTILS \ LLVM_COV \ @@ -305,11 +306,6 @@ __DEFAULT_NO_OPTIONS+=FDT __DEFAULT_YES_OPTIONS+=FDT .endif -.if ${__T:Mriscv64*} == "" -__DEFAULT_YES_OPTIONS+=LLDB -.else -__DEFAULT_NO_OPTIONS+=LLDB -.endif # LIB32 is not supported on all 64-bit architectures. .if (${__T:Maarch64*} != "" && ((defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} != "gcc") || (!defined(X_COMPILER_TYPE) && ${COMPILER_TYPE} != "gcc"))) || ${__T} == "amd64" || ${__T} == "powerpc64" __DEFAULT_YES_OPTIONS+=LIB32 From nobody Thu Jan 29 01:25: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 4f1hKt22M2z6QYBQ for ; Thu, 29 Jan 2026 01:25: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 4f1hKs6l0Mz3RCr for ; Thu, 29 Jan 2026 01:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769649954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QzMrBJTo7ZcIYqp7eZSzfuUcaBTPiVWfApzfs2wixF0=; b=hnBTgPkvcBbGekBlYs91gc3/sJR9iVqjb706dx5NsqSHYHKex50z0mpwZ9duMRsKW+rhIA wJSprr1UrlOBhaQzJveoyhNWUIFVntHsQWAxW8skJoXAEx4smZyVVR1Jqnwu73SxFui0Dp FwV3wCCEnhybcjQ+x7OajQAzutkluYFzulfG0W9yWJw0fJSiWuAiDZmFH/csR4+npn9oSu BAkz4lKlPCwFkABbt75IVATdkwRpjwRSb5mu4XAPlezP0SBTqaORVMwv2cKoPtfZtwxpUe cTnA4meQnskvdMsEukElV6giYBAXcPa4oEQ1qds2sM5hdzscVgBZe7urbnSRIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769649954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QzMrBJTo7ZcIYqp7eZSzfuUcaBTPiVWfApzfs2wixF0=; b=yfuwFmnj+0hnNfnW5EXFVwimPMCXXlb/N6GsK5SonBGWZgDfFoqsrMy5LNxvU7m3wNTmWM ih7hpd+wN7h1c/geCqLEZ8QOfH9zGRbjLtxkGtS5EWLZBltXLT+MfxQWjEPJLbBpNFer9R bCLjG4aba8F0EJlBZI1/vYvmaqPtZnKVhvKD2qeZ4YaRvCP+LxrljRtrmV5An+XY/Zo+6Q Koz1i+RSouytur7/dhs72ICl0jsOVJnpa+ESztsSrOnhg/6k2P9Enx+wzf27S+4pcNrG1q uyyixMGVXxAClwrMArOSHY+qAi9IEMbFobQDPuIOLc0FEQV+p3/Co3lFK4093A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769649954; a=rsa-sha256; cv=none; b=uqMYcPnQSRCo/JA/Ifz2NFG7ZtcSZiQp8Sv4ORsPNpr9W4skYHdkkRX17rAJPTvzDzvmZp cb2z1IOtsdMUp644e94lSQs64UCi0kJQ0Fsg+nRaRTTwFrSew3gfoFz5AvI0Au5MHELYsa 4gA64KRfrxmGhdI62voXueOKu+zfsSiG2svqnY0RqML927sKyeKFuTOaQ2Px9hEgAyuIAw s2Ly9HrvRbCbmSTyfTG3rLM7RSZIfJcV8nGDuWzu4MUH4b4XU2FZAXdkP5V5sWWZyAm85y F2KL0ar1m8z+/4f62ypE+ZQU7vZ1I2qSMOfwcKe1mBC6w2W5lcKkKNlA2/BemA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f1hKs6JLqz2Lt for ; Thu, 29 Jan 2026 01:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2605e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 01:25:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 46333229c6a0 - main - GoogleTest: import 1.17.0 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46333229c6a0187ebf231805682ee0bceed704d1 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 01:25:53 +0000 Message-Id: <697ab721.2605e.5bed14e3@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=46333229c6a0187ebf231805682ee0bceed704d1 commit 46333229c6a0187ebf231805682ee0bceed704d1 Merge: c59a47dc6c01 3a4c29b5bed4 Author: Enji Cooper AuthorDate: 2026-01-29 01:24:01 +0000 Commit: Enji Cooper CommitDate: 2026-01-29 01:24:01 +0000 GoogleTest: import 1.17.0 The changes between the two versions can be found in this diff of the two release tags: https://github.com/google/googletest/compare/v1.15.2...v1.17.0 One notable change is that GoogleTest 1.17.0 now requires C++-17 to build. MFC after: 1 week Merge commit '3a4c29b5bed4ea20266ad9371fbfdc6bca088f92' contrib/googletest/.github/workflows/gtest-ci.yml | 43 --- contrib/googletest/.gitignore | 1 + contrib/googletest/.travis.yml | 81 ---- contrib/googletest/BUILD.bazel | 40 +- contrib/googletest/CMakeLists.txt | 4 +- contrib/googletest/MODULE.bazel | 49 +-- contrib/googletest/README.md | 15 +- contrib/googletest/WORKSPACE | 49 ++- contrib/googletest/ci/linux-presubmit.sh | 76 ++-- contrib/googletest/ci/macos-presubmit.sh | 11 +- contrib/googletest/ci/windows-presubmit.bat | 38 +- contrib/googletest/docs/advanced.md | 120 +++--- contrib/googletest/docs/faq.md | 13 - contrib/googletest/docs/gmock_cook_book.md | 73 +++- contrib/googletest/docs/primer.md | 4 +- contrib/googletest/docs/quickstart-bazel.md | 53 ++- contrib/googletest/docs/reference/actions.md | 3 +- contrib/googletest/docs/reference/assertions.md | 11 +- contrib/googletest/docs/reference/matchers.md | 11 +- contrib/googletest/docs/reference/testing.md | 99 ++++- contrib/googletest/fake_fuchsia_sdk.bzl | 36 +- .../googlemock/include/gmock/gmock-actions.h | 119 +++++- .../googlemock/include/gmock/gmock-matchers.h | 419 +++++++++++++++++---- .../googlemock/include/gmock/gmock-more-actions.h | 16 +- .../googlemock/include/gmock/gmock-spec-builders.h | 10 +- .../include/gmock/internal/gmock-internal-utils.h | 5 - .../googlemock/include/gmock/internal/gmock-port.h | 1 + .../googlemock/src/gmock-cardinalities.cc | 8 +- .../googlemock/test/gmock-actions_test.cc | 78 +++- .../googlemock/test/gmock-function-mocker_test.cc | 4 +- .../test/gmock-matchers-arithmetic_test.cc | 237 ++++++++++-- .../test/gmock-matchers-comparisons_test.cc | 136 ++++++- .../test/gmock-matchers-containers_test.cc | 336 ++++++++++++++++- .../googlemock/test/gmock-matchers-misc_test.cc | 105 ++++-- .../googlemock/test/gmock-more-actions_test.cc | 49 ++- .../googletest/googlemock/test/gmock-pp_test.cc | 2 +- .../googlemock/test/gmock-spec-builders_test.cc | 7 +- .../googletest/googlemock/test/gmock_link_test.h | 2 +- contrib/googletest/googletest/README.md | 6 +- .../googletest/cmake/internal_utils.cmake | 2 +- .../include/gtest/gtest-assertion-result.h | 7 + .../googletest/include/gtest/gtest-matchers.h | 6 +- .../googletest/include/gtest/gtest-param-test.h | 134 +++++-- .../googletest/include/gtest/gtest-printers.h | 39 ++ .../googletest/include/gtest/gtest-typed-test.h | 126 +++---- .../googletest/googletest/include/gtest/gtest.h | 4 +- .../include/gtest/internal/gtest-internal.h | 84 ++--- .../include/gtest/internal/gtest-param-util.h | 62 ++- .../googletest/include/gtest/internal/gtest-port.h | 82 +--- .../googletest/googletest/src/gtest-internal-inl.h | 4 + contrib/googletest/googletest/src/gtest.cc | 191 ++++++++-- contrib/googletest/googletest/test/BUILD.bazel | 68 +++- .../googletest/test/googletest-filter-unittest.py | 19 + .../test/googletest-json-output-unittest.py | 111 +++++- .../googletest/test/googletest-param-test-test.cc | 70 ++++ .../googletest/test/googletest-printers-test.cc | 32 +- .../test/googletest-setuptestsuite-test_.cc | 4 +- .../googletest/googletest/test/gtest_unittest.cc | 56 ++- .../googletest/test/gtest_xml_output_unittest.py | 93 +++-- .../googletest/test/gtest_xml_output_unittest_.cc | 22 +- contrib/googletest/googletest_deps.bzl | 14 +- 61 files changed, 2684 insertions(+), 916 deletions(-) diff --cc contrib/googletest/.gitignore index fede02f65093,000000000000..f0df39db1d7e mode 100644,000000..100644 --- a/contrib/googletest/.gitignore +++ b/contrib/googletest/.gitignore @@@ -1,88 -1,0 +1,89 @@@ +# Ignore CI build directory +build/ +xcuserdata +cmake-build-debug/ +.idea/ +bazel-bin +bazel-genfiles +bazel-googletest +bazel-out +bazel-testlogs ++MODULE.bazel.lock +# python +*.pyc + +# Visual Studio files +.vs +*.sdf +*.opensdf +*.VC.opendb +*.suo +*.user +_ReSharper.Caches/ +Win32-Debug/ +Win32-Release/ +x64-Debug/ +x64-Release/ + +# VSCode files +.cache/ +cmake-variants.yaml + +# Ignore autoconf / automake files +Makefile.in +aclocal.m4 +configure +build-aux/ +autom4te.cache/ +googletest/m4/libtool.m4 +googletest/m4/ltoptions.m4 +googletest/m4/ltsugar.m4 +googletest/m4/ltversion.m4 +googletest/m4/lt~obsolete.m4 +googlemock/m4 + +# Ignore generated directories. +googlemock/fused-src/ +googletest/fused-src/ + +# macOS files +.DS_Store +googletest/.DS_Store +googletest/xcode/.DS_Store + +# Ignore cmake generated directories and files. +CMakeFiles +CTestTestfile.cmake +Makefile +cmake_install.cmake +googlemock/CMakeFiles +googlemock/CTestTestfile.cmake +googlemock/Makefile +googlemock/cmake_install.cmake +googlemock/gtest +/bin +/googlemock/gmock.dir +/googlemock/gmock_main.dir +/googlemock/RUN_TESTS.vcxproj.filters +/googlemock/RUN_TESTS.vcxproj +/googlemock/INSTALL.vcxproj.filters +/googlemock/INSTALL.vcxproj +/googlemock/gmock_main.vcxproj.filters +/googlemock/gmock_main.vcxproj +/googlemock/gmock.vcxproj.filters +/googlemock/gmock.vcxproj +/googlemock/gmock.sln +/googlemock/ALL_BUILD.vcxproj.filters +/googlemock/ALL_BUILD.vcxproj +/lib +/Win32 +/ZERO_CHECK.vcxproj.filters +/ZERO_CHECK.vcxproj +/RUN_TESTS.vcxproj.filters +/RUN_TESTS.vcxproj +/INSTALL.vcxproj.filters +/INSTALL.vcxproj +/googletest-distribution.sln +/CMakeCache.txt +/ALL_BUILD.vcxproj.filters +/ALL_BUILD.vcxproj diff --cc contrib/googletest/README.md index f50c670534d5,000000000000..598cf31242b7 mode 100644,000000..100644 --- a/contrib/googletest/README.md +++ b/contrib/googletest/README.md @@@ -1,142 -1,0 +1,133 @@@ +# GoogleTest + +### Announcements + - #### Live at Head - - GoogleTest now follows the - [Abseil Live at Head philosophy](https://abseil.io/about/philosophy#upgrade-support). - We recommend - [updating to the latest commit in the `main` branch as often as possible](https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#what-is-live-at-head-and-how-do-i-do-it). - We do publish occasional semantic versions, tagged with - `v${major}.${minor}.${patch}` (e.g. `v1.15.0`). - +#### Documentation Updates + +Our documentation is now live on GitHub Pages at +https://google.github.io/googletest/. We recommend browsing the documentation on +GitHub Pages rather than directly in the repository. + - #### Release 1.15.0 ++#### Release 1.17.0 + - [Release 1.15.0](https://github.com/google/googletest/releases/tag/v1.15.0) is ++[Release 1.17.0](https://github.com/google/googletest/releases/tag/v1.17.0) is +now available. + - The 1.15.x branch requires at least C++14. ++The 1.17.x branch [requires at least C++17]((https://opensource.google/documentation/policies/cplusplus-support#c_language_standard). + +#### Continuous Integration + +We use Google's internal systems for continuous integration. + +#### Coming Soon + +* We are planning to take a dependency on + [Abseil](https://github.com/abseil/abseil-cpp). + +## Welcome to **GoogleTest**, Google's C++ test framework! + +This repository is a merger of the formerly separate GoogleTest and GoogleMock +projects. These were so closely related that it makes sense to maintain and +release them together. + +### Getting Started + +See the [GoogleTest User's Guide](https://google.github.io/googletest/) for +documentation. We recommend starting with the +[GoogleTest Primer](https://google.github.io/googletest/primer.html). + +More information about building GoogleTest can be found at +[googletest/README.md](googletest/README.md). + +## Features + +* xUnit test framework: \ + Googletest is based on the [xUnit](https://en.wikipedia.org/wiki/XUnit) + testing framework, a popular architecture for unit testing +* Test discovery: \ + Googletest automatically discovers and runs your tests, eliminating the need + to manually register your tests +* Rich set of assertions: \ + Googletest provides a variety of assertions, such as equality, inequality, + exceptions, and more, making it easy to test your code +* User-defined assertions: \ + You can define your own assertions with Googletest, making it simple to + write tests that are specific to your code +* Death tests: \ + Googletest supports death tests, which verify that your code exits in a + certain way, making it useful for testing error-handling code +* Fatal and non-fatal failures: \ + You can specify whether a test failure should be treated as fatal or + non-fatal with Googletest, allowing tests to continue running even if a + failure occurs +* Value-parameterized tests: \ + Googletest supports value-parameterized tests, which run multiple times with + different input values, making it useful for testing functions that take + different inputs +* Type-parameterized tests: \ + Googletest also supports type-parameterized tests, which run with different + data types, making it useful for testing functions that work with different + data types +* Various options for running tests: \ + Googletest provides many options for running tests including running + individual tests, running tests in a specific order and running tests in + parallel + +## Supported Platforms + +GoogleTest follows Google's +[Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). +See +[this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) +for a list of currently supported versions of compilers, platforms, and build +tools. + +## Who Is Using GoogleTest? + +In addition to many internal projects at Google, GoogleTest is also used by the +following notable projects: + +* The [Chromium projects](https://www.chromium.org/) (behind the Chrome + browser and Chrome OS). +* The [LLVM](https://llvm.org/) compiler. +* [Protocol Buffers](https://github.com/google/protobuf), Google's data + interchange format. +* The [OpenCV](https://opencv.org/) computer vision library. + +## Related Open Source Projects + +[GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based +automated test-runner and Graphical User Interface with powerful features for +Windows and Linux platforms. + +[GoogleTest UI](https://github.com/ospector/gtest-gbar) is a test runner that +runs your test binary, allows you to track its progress via a progress bar, and +displays a list of test failures. Clicking on one shows failure text. GoogleTest +UI is written in C#. + +[GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event +listener for GoogleTest that implements the +[TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test +result output. If your test runner understands TAP, you may find it useful. + +[gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that +runs tests from your binary in parallel to provide significant speed-up. + +[GoogleTest Adapter](https://marketplace.visualstudio.com/items?itemName=DavidSchuldenfrei.gtest-adapter) +is a VS Code extension allowing to view GoogleTest in a tree view and run/debug +your tests. + +[C++ TestMate](https://github.com/matepek/vscode-catch2-test-adapter) is a VS +Code extension allowing to view GoogleTest in a tree view and run/debug your +tests. + +[Cornichon](https://pypi.org/project/cornichon/) is a small Gherkin DSL parser +that generates stub code for GoogleTest. + +## Contributing Changes + +Please read +[`CONTRIBUTING.md`](https://github.com/google/googletest/blob/main/CONTRIBUTING.md) +for details on how to contribute to this project. + +Happy testing! From nobody Thu Jan 29 01:25: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 4f1hKv2pYJz6QYBR for ; Thu, 29 Jan 2026 01:25: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 4f1hKv0Wvhz3RCs for ; Thu, 29 Jan 2026 01:25:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769649955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=01ZQheqqsczuxY/qP4IB+La/RZaGwePj47mn88fg6ps=; b=byZLyPj67BBRjcy1AXIs5qQQqldXQNXrk8DPoASza0neSiXDbAXccx8pAgTEi/8vFq4EC6 HoM4b8uKm1WpHMzMvk0eRUAO2H+roGV2Ctbbt+yMnKneDWwkrE7gMm+4rM1VizniN3I7gO MSVDNDKgTCxgVr34FwZUgbAGm4RFez1VJ1TpkVRFYIIsJBkjNxbo0VAVu0p2zWsoVyiYKm D1endD6I0p23NYUoCrWN52ZMzZahnJWZ8ube4hw3HP3QgFXA0h+5YngHmfhjWj0nnpQAPE RaNZ7N0QWN+LvngTtjFLsXkDCe0nME0IryxR/MRlcUk/iFl1OIbr5CESSiD7Og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769649955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=01ZQheqqsczuxY/qP4IB+La/RZaGwePj47mn88fg6ps=; b=HKc1adLlnjv1Pd4s9G2oTI/2A5OTEsBU1WmrZCXDgCDkZ3TaF3pIAyApk31SZNIWHYv3up txWdk9wfBsDcL8q6ERFUztxA/XS1lSX84ZpihyWXRBRRQ8aQ5OWfKI2aWxR6guN2Rj1yUa XYNll9DLQIUiVmNHtof85Eg2WkJtiO90AYeVP/cpMMCCfMU9GOelgNUXftpknyfAK8ojsl nK5gVFkAm39GZv5srPS+7JuPhLClSbbGJbFdDskJwMAGneKujh9LAoZwcaG65Ho/l3o1kj fZfNSPXAbfxBpNPFv4WuaR7raL8ztuN3JEHcMNrTIVi4lUpkFcUL+tIJiRT5Pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769649955; a=rsa-sha256; cv=none; b=qlQ/hW4fd7mzNM+8BHCm1a+ZW5I79W1jKGTvi2l2ZXiFe3HW6a3hkwz0EvbQSy8Kz21yim zr8ebNzvdEz1Zdb9omYpbXZWp0KDVDtNmtH4XXEc1TiUfAiaLxFZf1e+05g84huXqoZ9Cb t25APfloB7TFXV/lJt8s79G/fD01iHsSyaxY7GuOjxl3fZC55BolS6aRDnTm9bnG2xP4EJ ZOQ8b9AyeP5WSLQKnEiaUUzgsS49y8sDbc7x2lJEz7r6jx3qynyNR01bczIKKZdJIMOVKC GhSdpGb81/Ive8blXQhm8eJrm73PhKRgjGKmYCWuG8LlOww0Y+RezVSJignm2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f1hKv02FJz2Yf for ; Thu, 29 Jan 2026 01:25:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24dc0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 01:25:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 3926ae98adfe - main - gtest.cc: declare fail_if_no_test_linked flag 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3926ae98adfe4b2f1dd957cab353ba7ca11ce709 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 01:25:54 +0000 Message-Id: <697ab722.24dc0.6e59721e@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=3926ae98adfe4b2f1dd957cab353ba7ca11ce709 commit 3926ae98adfe4b2f1dd957cab353ba7ca11ce709 Author: Enji Cooper AuthorDate: 2026-01-29 01:22:42 +0000 Commit: Enji Cooper CommitDate: 2026-01-29 01:25:26 +0000 gtest.cc: declare fail_if_no_test_linked flag Clang's -Wmissing-variable-declarations flags this as an issue since the flag is only used in `gtest.cc`. Declare the flag beforehand to ensure that the variable scope is properly limited to `gtest.cc`. MFC after: 1 week MFC with: 46333229c6a0187ebf231805682ee0bceed704d1 Ref: https://github.com/google/googletest/pull/4898 --- contrib/googletest/googletest/src/gtest.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/googletest/googletest/src/gtest.cc b/contrib/googletest/googletest/src/gtest.cc index 09af15179f1f..0e32774bc6d1 100644 --- a/contrib/googletest/googletest/src/gtest.cc +++ b/contrib/googletest/googletest/src/gtest.cc @@ -263,6 +263,7 @@ GTEST_DEFINE_bool_( testing::GetDefaultFailFast()), "True if and only if a test failure should stop further test execution."); +GTEST_DECLARE_bool_(fail_if_no_test_linked); GTEST_DEFINE_bool_( fail_if_no_test_linked, testing::internal::BoolFromGTestEnv("fail_if_no_test_linked", false), From nobody Thu Jan 29 01:47: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 4f1hqT5ljNz6QbgV for ; Thu, 29 Jan 2026 01:48:05 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) (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 4f1hqT3kVtz3VFv for ; Thu, 29 Jan 2026 01:48:05 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2a07f8dd9cdso2584145ad.1 for ; Wed, 28 Jan 2026 17:48:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769651279; x=1770256079; darn=freebsd.org; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=2yZEQybjDj+D4EQxJFB3sG3JOsqsyPD9hl/pvZIHFWI=; b=PcO2G54b/tNEEiMmlruDv8NzvAf7ZQdMPLFeHLuUQE3bgjsTz/ueGkvDzTx/ZkpRjR eG/zF0mmpjyndj0NQlM9X7EjOwA/YQCYpUoXmgrJJWjhVXLhu1A84VUh1IbsbEKIrrEN bqLpIaZ63Irh9HtHQcl5V8maWXCJamPUD7RvDLOd1d2wR3na08dRSO65Tls3iPV7iQWt KK7aLJghXMvNbJ+F+2cJ2RrZsJbAlOX8M7V7i+KJ+GBrQuq7xIlqlb/19MYGvpJUE+0S ddOrAqHUKar093UA3Zu5T3V07+DbuIVkOiV8TgYnpqXjlY8N5VtjEDwZ8gu3f/VEd7P6 xb+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769651279; x=1770256079; h=to:references:message-id: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=2yZEQybjDj+D4EQxJFB3sG3JOsqsyPD9hl/pvZIHFWI=; b=OFrXZYvlErJCxve6dNgIIL757zqz0gLwbRGcClo8Sj9RWGxJHAxAb9RPtJosNB6O5n QpWFNZDXKggHmP3xxIxuqWe5DjKa7Y7aIylwMGiWS+VgrPkzBE7ygnxl5dbfMhiOUf9k ++u0GIQ1/W9h+FrrsYzrSsYu+7H2bytlNRYnqQKqssXyk2juVCM/eA7yKD/AT9UAGfLL l4E0X2kVp0askpKGZPfzJuVpZGQlLn71LdWIOVlreK9X0pkfdzkhLKxJG2nH5v3gCCtH +5yAbHFiojIlACo+WOXaGvqoFpwVsanzGVoByQSOFVt9468i426vIELEtpR1CwG1l04+ 4Taw== X-Forwarded-Encrypted: i=1; AJvYcCU4kMPVwXgPvY5aWZkHPvsaz2XOgZBVpPjJvyHoNJ5g14681QUdtp08InRUGasb3EcG1Xuz1udBLxKeyRygvlqliA2Vcw==@freebsd.org X-Gm-Message-State: AOJu0YyIZS+ha/vJAu7I1lPrV88H4u8zCiUOn4ehFJ4Zex6zmFTVneaJ wrGOdodEqoEqh+P56z4XZUmjTWH4y+beVhDoMlXRmXdfB3g0gbeEP46lc/M2uQry X-Gm-Gg: AZuq6aICNX67TdAfjxK90uXvCnVakkHxrkZJJPnKDDA2FMOT+lQ97IeGs3gt91YMUw6 cszdj4wdorh89CmuG+oYG5njIKiulEd3KGXHjlm+cPjEt0O/ajfj82C6ALjRVBnNaBXOOZCjFOb iEgwBM8PiVryeZUIxpQMSXfRsQHhLAz3JpWidQaNhlYhh5PHbj1C52fBOJeTUdVVwJf7sgAUF0+ xWcgzP9GpyEHtwtOkJTbfTfu3r9/QxG5vInmK/zftCzf4yfhnqvwfUmBgLRx9B0AmRZvDwUzFAV EC85r2oHPdgkdyxys1FV7pHH7agzDANhwjkbCKv1EDQt9X1ZeNpf4/z1fnurKAXOrgUDRbIO0cG VFfmd3nXiTQiR69UZG7ZXHJDvGNSvmO1/lbXBSqC7q/twYrPizunkBE74cDN3ZuNYgTOOYdTwIG 5zsBCmSyVcQRaa9vUbI5Di/5/AGnM= X-Received: by 2002:a17:903:2341:b0:2a0:c1ed:c8c2 with SMTP id d9443c01a7336-2a870de4bf4mr65341595ad.55.1769651278550; Wed, 28 Jan 2026 17:47:58 -0800 (PST) Received: from smtpclient.apple ([176.100.43.7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a88b6e4189sm32376925ad.83.2026.01.28.17.47.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Jan 2026 17:47:57 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_2CC82D6A-2C58-432C-9904-65AB9486455E"; protocol="application/pgp-signature"; micalg=pgp-sha256 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 \(3826.700.81.1.3\)) Subject: Re: git: 46333229c6a0 - main - GoogleTest: import 1.17.0 From: "Enji Cooper (yaneurabeya)" In-Reply-To: <697ab721.2605e.5bed14e3@gitrepo.freebsd.org> Date: Wed, 28 Jan 2026 17:47:46 -0800 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: <2AF1B6CF-BEF3-415A-A5A4-E40A4D4C7322@gmail.com> References: <697ab721.2605e.5bed14e3@gitrepo.freebsd.org> To: Enji Cooper X-Mailer: Apple Mail (2.3826.700.81.1.3) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4f1hqT3kVtz3VFv X-Spamd-Bar: ---- --Apple-Mail=_2CC82D6A-2C58-432C-9904-65AB9486455E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jan 28, 2026, at 5:25=E2=80=AFPM, Enji Cooper = wrote: >=20 > The branch main has been updated by ngie: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D46333229c6a0187ebf231805682ee0bc= eed704d1 >=20 > commit 46333229c6a0187ebf231805682ee0bceed704d1 > Merge: c59a47dc6c01 3a4c29b5bed4 > Author: Enji Cooper > AuthorDate: 2026-01-29 01:24:01 +0000 > Commit: Enji Cooper > CommitDate: 2026-01-29 01:24:01 +0000 >=20 > GoogleTest: import 1.17.0 >=20 > The changes between the two versions can be found in this diff of = the > two release tags: > https://github.com/google/googletest/compare/v1.15.2...v1.17.0 >=20 > One notable change is that GoogleTest 1.17.0 now requires C++-17 to > build. >=20 > MFC after: 1 week > Merge commit '3a4c29b5bed4ea20266ad9371fbfdc6bca088f92' I forgot to mention the differential in the commit: = https://reviews.freebsd.org/D54864 . -Enji= --Apple-Mail=_2CC82D6A-2C58-432C-9904-65AB9486455E Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAml6vEIACgkQGpE5DjPs NJjt2A/8Dqcpx80AhcUcMXL6RV7URBadRdrU+iEVbgg1MVdRymgKmwjiSWtEaC8q LQRWD1FxRXtnSL9ofosUN1lSP8C/KnjUX/2RW0E3htmJwWHNLhxfQfiacLOJWStw KrSZ/e6xdAubQxTQESFowUIH3Y/Dm1Vm9R1M756VMika5ois8TYJvya78pX8h+KI X9o1y2CRAtUS2UgVBPlFyUzkvc9cziBKqFHBS2X0gNYFnvMDTK22e8KMNO9amyM4 G9H4rAczNUcywtegNPxiZBsHL8F02qd9QotIRDS+Dw8fxXvtCk4VMe47UeBrylMa 7NI268XMJ8pMA63ZPl39SJZlPTM/Vhw5YgdZfRuKoD5rSt7pBgOYu1Zkq14EAlal pOINXKZ5I+BIzXVgJveNIsuCrPgMW9BdMGfJGVDIZ3d/Z0MhKj4TU59tLbltkkIe G5wghkL7ZI/Z8V4jpFKx1vSthwOa4RLGflML67y4seyenJO1q/0SZ4FC7dTgwoMX 6LbjSj7gtOcGt50xn9GajuYFjXalBZHGqbCokjuw6lXIJ+P7dxRV/2wK9UrI4pnH gXTr05bbTYVnLiwNXupdw7Gb2OW1gB2safRAyKPY1q38uGv/ZTNMhiNCTXoJHKvz ULy6+Dm/10S0y9VMeMcPN4jlhL7CEKi98qq8XjwBK8WSuFD5SJA= =eDmO -----END PGP SIGNATURE----- --Apple-Mail=_2CC82D6A-2C58-432C-9904-65AB9486455E-- From nobody Thu Jan 29 07:34: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 4f1rWF3RGtz6Q1MY for ; Thu, 29 Jan 2026 07:34: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 4f1rWF2tv1z44Yq for ; Thu, 29 Jan 2026 07:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769672073; 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=X5uBdUuJEafWXs21iYS8lPXGaiilgmDb5MSMQOOb0mg=; b=R7JhhyE5Bu5fhdPROsfI7PNMgSGu5Se5CFvXlJUbqhI5yHSUwbsuEm9ksfFqPm6wftdFNk C5uGwx0oWrUIhGmUDUoVqQmobQctR74PXuezfySjn1CtCbgM0TNQ346Yjy0LJdAOa4myd7 WzOzSF7epwwxdNpCG5b0WmLfMMxt3jetRnv6Kj+QMf36Q9sigXwnHpzGOM2OIX2ECS80X3 D4Zs4E1WS9le1D6iLAaDn+djrzpwoxsBqTXiK/QUVbdRQxEfPC2SHuFLFNmxRqq65BlkoX NLhgIuLSROoJDSC8Qo1CH9JLyd/inE3qddzVpemeOCX/5LLTrpAIiF2RLw9NiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769672073; a=rsa-sha256; cv=none; b=LzOlnkoYorF5i46NiJBqGOHvbQfssj4kdr+SJ5D+hn9w6KIiafVsF/z+NJ+fH772irkX21 Rv5wEBEpErn5f4KTBShXmoqNnn5CH9GxZZFqkjz7MHx1rlfqFXnpj0gSWXn4StJlVWtGvQ gwlmfh+I0LYV2jXrBNZjQSzoa0RnWNj+ryZDdoJa+5K6/HVzzmYn+6t7y8RJPqkEuboTSi xMcgFEi1XexeJ0ZWQH2mHr8JyPejOfq30zT+BzCgeXk2CRwJFDWIPCT0JfSNL428iNeDf5 iq7gzIgd//DBsAiONMKSSBm4njl2Sm2aj6+tx5ZvfZ0Sb8gobCG4q2Ux3dkCQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769672073; 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=X5uBdUuJEafWXs21iYS8lPXGaiilgmDb5MSMQOOb0mg=; b=rVjrgdoj7Xo2zVop0x1mOyL/dZ7j5rnllNklfjGhjH5zksJ32MVjnSOwg3ptGTstqfkLZN lxI9R7+n9P6La87cFl6b4r2Khvv8J4wnAkP1azGozTY5IVKLEjFu2g03sTQEUvIkx6R1Cb i6IMxVql6VjnA2t7b+jI+4PBNZsqUXKfeYZVFilCm2IXIQhM4G3+YuPctkcZjG6aPjwbsG NKP8dSC+Xac6LIwEm25cm2+fv7APuwfFnHBdOd4PlZ08dZJ1bvT8K2tMnsGZgh5R9Isv5F 8YDPJ2oQWXZBZcZwQUpCPLUyv4AmoX5o5sPXsPLuXAfjl4lqQ33KGPp47/2BbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f1rWF2BW4zCWn for ; Thu, 29 Jan 2026 07:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20d69 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 07:34:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Eric A. Borisch From: Christos Margiolis Subject: git: 1b2d495a24c3 - main - Set virtual_oss_enable="NO" in /etc/defaults/rc.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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b2d495a24c36d81b14178a2f898025946bff2d8 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 07:34:33 +0000 Message-Id: <697b0d89.20d69.22f269b2@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=1b2d495a24c36d81b14178a2f898025946bff2d8 commit 1b2d495a24c36d81b14178a2f898025946bff2d8 Author: Eric A. Borisch AuthorDate: 2026-01-29 07:32:45 +0000 Commit: Christos Margiolis CommitDate: 2026-01-29 07:33:59 +0000 Set virtual_oss_enable="NO" in /etc/defaults/rc.conf This prevents 'service -e' from emitting (/var/log/messages): /usr/sbin/service: WARNING: $virtual_oss_enable is not set properly - see rc.conf(5) Pull Request: https://github.com/freebsd/freebsd-src/pull/1987 Reviewed by: christos Signed-off-by: eborisch@gmail.com MFC after: 1 week --- libexec/rc/rc.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 2ecaf642d574..c4cc6dea02a2 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -736,6 +736,7 @@ newsyslog_flags="-CN" # Newsyslog flags to create marked files mixer_enable="YES" # Run the sound mixer. opensm_enable="NO" # Opensm(8) for infiniband devices defaults to off nuageinit_enable="NO" # Run nuageinit at startup +virtual_oss_enable="NO" # Run virtual_oss at startup # rctl(8) requires kernel options RACCT and RCTL rctl_enable="YES" # Load rctl(8) rules on boot From nobody Thu Jan 29 08:45: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 4f1t4b2JMqz6Q879 for ; Thu, 29 Jan 2026 08:45: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 4f1t4Z6t4sz3DHr for ; Thu, 29 Jan 2026 08:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769676303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYxKNLV8MYisJH+YQ4bmQWKD7hLcOrIjd3UyOjduFag=; b=iLoWHD8qnHpQTIBVikRyH1sowZNlgrr5zjHHRPRLFpOFV+ucYQ/47TWnMx1rQoBwXW3BVP NapLPtR9VkYXRTvBuCypE0vO63gIV76HdzqkKu3Vn2QbginYg0ajppqjKnO9GdaUVYBZ6d ToNR633SiLDdnpJM56R3jBO7FBgHZx1GuN9QWBiJpbH5NRuwPcPYmynoJe42eaA5+2mDtY VzLXlrSgixf1Piepn41TypVClN3gHALC9jNl6GnmQqgTSC+K792vi5h7HqW/l+GPs0r/M3 pBFdpzElvjjUbkk58m8MhS7pAuSsxsXO2gT+ChgIzm5fTyci7NnA/gJBAhJSYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769676303; a=rsa-sha256; cv=none; b=EMtXxvVCfNGMgNAyA3uozSuZoT3Ym/k3ywebH8EZT6wBuc2jjeceIHL2dFrg+0NfW7fypk mjkAqKRVPOB5Xnu3jkDeT07YgsdvhoEDsML1a6z/gwARW9fUi3NNUTWAnzgA5VZ6SjJtAD vMXrh95LWvTGX/iOVumLaKC6Cg7/6OcSp/PwycZoM0i0RY3g676iUStlvK2AiS1HCgfuW2 L0ae8IWnwAy7piMYu+0JjOROpcf3BxXLa3gm7tftMpZ3jQbmm4TdNaL7EpIR8tRzD/FiC0 dQFIML8QuR3Ow/GqI+Akknq6khSM3jt3woKi6y/fBLndR2O+mMegRREgMZ31zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769676303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYxKNLV8MYisJH+YQ4bmQWKD7hLcOrIjd3UyOjduFag=; b=i8rcbuixz54yNTv0nlIqVpED4DcNkTr5PsR7313howwrI0Tnaqq85q1qtKSbhgiM38GS2Y /F00L4Z2pSKBU9P+RY6E+wKBp4spIaOAJn7mwux9l/hOAqG+elhKYS3oXRd9RwWp7px2nX XWRMGyDN5WMM9RN/Q55AYmTUiJEn2t94rJm4kWdPkk82jg4IyMBZMMB5izd7w6XTJEUFRf bdmU5WAF6GyGCdawCzQ3/ghMsCOhfLGW9cQI13+XxbWS3NAD4MNfKo26wpyVN/hvh4MHOE GqnY1zxTWKLqmdJpry6IcKloGLVZdnpG+RmUObKrXKLC9XvKKMz4T3edIct3Sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f1t4Z5WdKzX1b for ; Thu, 29 Jan 2026 08:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27b69 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 08:45:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: 56970c3c4b0b - main - loader: Prefer comma-separated list of values for "console" 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: 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 08:45:02 +0000 Message-Id: <697b1e0e.27b69.ae3352c@gitrepo.freebsd.org> The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=56970c3c4b0bc61d972837661a31cc2b9e8e8d7c commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c Author: Michael Osipov AuthorDate: 2026-01-28 09:02:33 +0000 Commit: Michael Osipov CommitDate: 2026-01-29 08:44:45 +0000 loader: Prefer comma-separated list of values for "console" PR: 292595 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54923 --- release/tools/azure.conf | 2 +- release/tools/openstack.conf | 2 +- stand/efi/loader/main.c | 4 ++-- stand/i386/loader/main.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/release/tools/azure.conf b/release/tools/azure.conf index 981e40566a1c..4fa6ba4d924d 100644 --- a/release/tools/azure.conf +++ b/release/tools/azure.conf @@ -59,7 +59,7 @@ autoboot_delay="-1" beastie_disable="YES" loader_logo="none" hw.memtest.tests="0" -console="comconsole efi vidconsole" +console="comconsole,efi,vidconsole" comconsole_speed="115200" boot_multicons="YES" boot_serial="YES" diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf index 9ce65a75c3c5..6cfb02bab9af 100644 --- a/release/tools/openstack.conf +++ b/release/tools/openstack.conf @@ -33,7 +33,7 @@ vm_extra_pre_umount() { echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf # Reboot quickly, Don't wait at the panic screen diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 22dbd10a0f37..7ff2cf188509 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1316,10 +1316,10 @@ main(int argc, CHAR16 *argv[]) setenv("console", "comconsole", 1); break; case VID_SER_BOTH: - setenv("console", "efi comconsole", 1); + setenv("console", "efi,comconsole", 1); break; case SER_VID_BOTH: - setenv("console", "comconsole efi", 1); + setenv("console", "comconsole,efi", 1); break; /* case VIDEO_ONLY can't happen -- it's the first if above */ } diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index a70b3a253b90..7538c6d4fb3f 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -162,9 +162,9 @@ main(void) bi_setboothowto(initial_howto); if (initial_howto & RB_MULTIPLE) { if (initial_howto & RB_SERIAL) - setenv("console", "comconsole vidconsole", 1); + setenv("console", "comconsole,vidconsole", 1); else - setenv("console", "vidconsole comconsole", 1); + setenv("console", "vidconsole,comconsole", 1); } else if (initial_howto & RB_SERIAL) { setenv("console", "comconsole", 1); } else if (initial_howto & RB_MUTE) { From nobody Thu Jan 29 10:04: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 4f1vql3gJxz6QH0q for ; Thu, 29 Jan 2026 10:04: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 4f1vql2q3mz3Lnx for ; Thu, 29 Jan 2026 10:04:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769681043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjHNWPX44A85xoyUsKnvVui5+zTMpCToVCMMhzcVgb0=; b=KPgeozNl/5BP2r/gjeZKeX4VlmNZPoNqsOkBWHpkkK1vVikw7oeYsvVA48mXa4/3HHTTcF UmQOs50yuOfqnQMbAuSjLQIMsnIWfEglPWqg0LpqZ5yzKKGneS+yI5wssDdNJbd8BKX4HN RJ/uLBLj+lINcC4v/1nZ+gvo9VZrnHgOgGH0fM//mQnI6isQwAp73wjNbpqAULz1GTnOPl 5YJGV1zH3Zv527oKBWpTN+7Ru/IrOddOrrctwReuFMVZyrlfzoKGO1FsLlboGZOeLB5eYO 16wh13I65TLXsfESDJ33tLAgtaa945VGDLBmmj8UeY5V8jV29sP4b0GYo6aouw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769681043; a=rsa-sha256; cv=none; b=NEe8zpwOMgzlrPK5AMaq19KLrjpm5zz66NQGi9sXjfOoChG4vkFOkhxq7k54Vc2XWTLMJk szqGLp54lF/acIMfZFSCpTUSDS0DJMz/xK60FrCJgixxDXNKchC3f3hk8T7vf+n12g0Sde k3F/vcc79cgrSKeoseMbO6S01y8kW/f5W22KrTCT1B+2mAHozpDKwK6xMb6zHao+sR7O3c M+bEXjpehcrwviHUbfvpclrUPxTZ15GPrp6PcDBVcyrAK2jQEP8Qf7hTMAXKYELvzAO3za 7/iSvr+T2S4+fetWhkHWZwqmVLwbIsS/ul2XD63JbTZr0g1p4p8Tybqsr6BMOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769681043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjHNWPX44A85xoyUsKnvVui5+zTMpCToVCMMhzcVgb0=; b=gYW457226QzHRMvYZ1VEGg88wJa92ZfB3MDTwRPzrny0yqSfoOvIb+8qc4s6LyimEYcls9 ym6YCRUAh5FNnuCvnJwyenXvnb2JAkq4AWQziwh91UvgNeljlv/EwYs01x1j0mmPYV04fk vMovyBalVeGOqdPfIVIJrhF+XuA/xHReYVMaDPM1IaFeacUjMV3dmnpY9iGpJrc//ZCuq0 843kggcFtKSbPh+eVlbkfcKwCfPhsgW3nbd4DcCU1dvloKLrhy4rdY+NEG9+4pMi1cCdk9 OV/UXyHTgGziw5LtqvTdyDJAzEuIcz37mOm27s2/KTWiU3kZfSsvkfcc6GTwIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f1vql2Jx4zZk9 for ; Thu, 29 Jan 2026 10:04:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37663 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 10:04:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 90a7728cd890 - main - nuageinit: support fetching configuration on multiple iface 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: 90a7728cd8905cd26b90d06f7873df8bad43ae9a Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 10:04:03 +0000 Message-Id: <697b3093.37663.74c23e89@gitrepo.freebsd.org> The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=90a7728cd8905cd26b90d06f7873df8bad43ae9a commit 90a7728cd8905cd26b90d06f7873df8bad43ae9a Author: Baptiste Daroussin AuthorDate: 2026-01-29 09:56:33 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-29 10:03:06 +0000 nuageinit: support fetching configuration on multiple iface On some environement a VM can be connected to multiple ifaces but only one will respond to dhcp and able to fetch the metadata. Launch the early dhclient on all available ifaces and as soon as one dhcp has successfully configured an iface, proceed with fetching the metadata. MFC After: 1 week Reported by: mateusz.klejn@ovhcloud.com Tested by: mateusz.klejn@ovhcloud.com Sponsored by: OVHcloud --- libexec/rc/rc.d/nuageinit | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libexec/rc/rc.d/nuageinit b/libexec/rc/rc.d/nuageinit index c901971488bd..259ce3c138e5 100755 --- a/libexec/rc/rc.d/nuageinit +++ b/libexec/rc/rc.d/nuageinit @@ -56,10 +56,15 @@ nuageinit_start() OpenStack*) mkdir -p /media/nuageinit/openstack/latest ifaces=$(ifconfig -l ether) - set -- $ifaces - dhclient -p /tmp/ephemeraldhcp.pid $1 + for iface in $ifaces; do + dhclient -p /tmp/ephemeraldhcp.$iface.pid $iface + done + pids=$(cat /tmp/ephemeraldhcp.*.pid) + left=$(pwait -op $pids 2>/dev/null) + for iface in $left; do + kill -15 $left + done fetch_openstack - pkill -F /tmp/ephemeraldhcp.pid citype=config-2 ;; *) From nobody Thu Jan 29 14:09: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 4f21GX5l2Xz6QjFq for ; Thu, 29 Jan 2026 14:09: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 4f21GX5KKxz3lqQ for ; Thu, 29 Jan 2026 14:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769695748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NA7QTxhI1GoLA9JDxB4FSBcikdwZk9KwczLoW+VwWyI=; b=Y7qH6U3P7pzR1KiWNZgVum8TVE2Xf22ElRUsb6MW/fnR++h2wnSSs6BA43QRCvQkdQs196 PdxH9mEfy5FxxaWRBhgxoRT2oXWni2p8BF3vdzY2nev7OJJz1D4mUS5ubDbLUimoUoMs4O hxOvN9EEKYQ2u2ybNQfyNrBDB9nXmnOPPZDNEIW5lPKtC2Zo6nHkUC7vJEBbGwYt4du7D2 QGTu89wdM6bK9oOPDVgniQJcYP0ZqtwkX4icSRzTlQzjJmDGTFHBDXUvrFd88CC9yd4ePv NbEEflNU7FwGJQFkHrGPj20Rsg+oF+ybabmzsJfYSg//LRHdRBF+hMfH8Rv28Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769695748; a=rsa-sha256; cv=none; b=hNeDiej17khGzW1DDoFs+lUoCNiXcUostUs3MsU/eqR/ZvkB1lvatolNWQgh/9V0kkcNq6 OAbKrC+sIvdF43YKf57670hupMtOgViVhssm1vdzNWlcnZzQBujOZDM07o1FnqC4yDm5Ic RPJtyGIzCXtFXK+gave9Y891tWJODUZsK5z6PaMa9VPpINkPqcd2HqcA+1uxObqEN8lhvI 1r8BYtI3KXXMNRZNXqK+KJhU1aD2kfgOWGgFxoyemFt7uSXAe5ue4VEckTfbVAgCLm1k6y aCB43eozgtktKX6H9UOZnpgLmMT9+vkf03mmTHuJnKkSSMyoV95ZjMGIZSlGDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769695748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NA7QTxhI1GoLA9JDxB4FSBcikdwZk9KwczLoW+VwWyI=; b=mtGlzCHopQJnS4WhjdxEq9SN0PmkGqcMZ8wJurxibneq/PtvJQVHBAzf7MPFywVCvZadHT JAQ7MRUGpb6r0RvKq/vox5dqTgBCmXXVrm9eo9sErCtqkph3b24ofMtwK3DMjE4Arlb/+3 5uQ7ARWwUBufbeQYcJhCpahk4MI+bGNEz3wRjP0XkGfQWp1W1NwBQA3b617Ab8f23YICZe USyP6U4DRq/zdlkGvIiu9YmsJvRnPVPqveRUMIqyl6tuq0QWImojdyF9UZorjo3nvm3zMS paTsG7KonCNXHy4xoF+rDMbAAbhnwSkE9ck8FkplSyhNYocZ1zkcPGFoc2t5RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f21GX4W57zhSg for ; Thu, 29 Jan 2026 14:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24ab3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 14:09:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 627e126dbb07 - main - netinet6: Disallow connections to IN6ADDR_ANY 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: 627e126dbb07b167b028380ef61bb45f10493938 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 14:09:08 +0000 Message-Id: <697b6a04.24ab3.604d8615@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=627e126dbb07b167b028380ef61bb45f10493938 commit 627e126dbb07b167b028380ef61bb45f10493938 Author: Ed Maste AuthorDate: 2025-12-19 14:15:35 +0000 Commit: Ed Maste CommitDate: 2026-01-29 14:08:45 +0000 netinet6: Disallow connections to IN6ADDR_ANY Previously connect() or sendto() to INADDR_ANY or IN6ADDR_ANY reached some socket bound to some host interface address. Although this was intentional it was an artifact of a different era, and is not desirable now. In 417b35a97b76 markj added support to disallow connect() to INADDR_ANY and IN6ADDR_ANY. Connections to INADDR_ANY were disabled by default in cd240957d7ba. Follow suit with IN6ADDR_ANY. Reviewed by: glebius, markj, zlei Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54306 --- sys/netinet6/in6_pcb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index f2eb00161690..9eb7a59fcf55 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -115,7 +115,7 @@ SYSCTL_DECL(_net_inet6); SYSCTL_DECL(_net_inet6_ip6); -VNET_DEFINE_STATIC(int, connect_in6addr_wild) = 1; +VNET_DEFINE_STATIC(int, connect_in6addr_wild) = 0; #define V_connect_in6addr_wild VNET(connect_in6addr_wild) SYSCTL_INT(_net_inet6_ip6, OID_AUTO, connect_in6addr_wild, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(connect_in6addr_wild), 0, From nobody Thu Jan 29 15:52: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 4f23Yc0zmnz6Qsfp for ; Thu, 29 Jan 2026 15:52: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 4f23Yb6T1mz46pD for ; Thu, 29 Jan 2026 15:52:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769701939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yAgC/Rr9nktWGMfaR225HVeAnQzC6EXGwDoAy3vyFnc=; b=S9dpMOcdOdn7nyLAcza308Gecak8+X3PdQ4N8KG2DbSuMYrXlBkWWL4Scue5nX76A0qQHJ N2TM7+G4+WqYG7gtQggTS08PloIEj38awWcH3Cg0yBvLiJZDSn1RJhoQSNfNrQppdZTZXu KnVCEISZxjwVgzmksO2Iw4FXPtKJEClaYEIFTDgbXoWxHsWCDul8H81+KIawU5h+bzAdIs GXxKXbZVf2zreKNlyMYQVj9xDg9sjfUNbymNFBvT/RAHxlzZNnKLtxaF9FAtVqQ4HK2byu fpfov+26JEh4+r8S9AUmDRO+U0haydp/sKj1ltEA6D0xHipGm9i7UAihtMsm+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769701939; a=rsa-sha256; cv=none; b=rI50gbBkZfo3+Ejui97IoOwhQ9PFmxLVpBNoYAxtSg8tajaiXiNi9cK9573/H4EWceHBy+ JxRd00R8Y7C2/167ud++wRvftmWGuR/B9Q0LA14mCXRPMITSaWRA9oKYbtNQY9Ml2FjzYV l5/NIS7xaRk/BFGRkKlh5HAGkwey+EAPE34tRmdZBmj9vK87qQc4FLk3PEidlNo1djOkHA CjTcRPeDy/lxPnyGvLK0dDiMNg1YMqgb2/uSEs9SziR5CzCdDWyjqgP8kEhsfnpLaTgdDC ffYgTLQvkrUMI0jdtNJAebi3nRFqfUbeteVrg1+NMxledpwOmYqxZpoculmk5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769701939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yAgC/Rr9nktWGMfaR225HVeAnQzC6EXGwDoAy3vyFnc=; b=VvjyaWcA2yb4Itqene99y0guk3Tsg7F9f4M7oeyV5A3KOsbxu8u8+FCtcnfrQCGT7RVZ3G ZQFIPRHT/9VgLcvWlojrVzmLlUrTCMlMRshV7on26yT1TiyOljy0DYNWhlWGk6INbgw3vW GH4SbMa2khVX43rPhe8fXipu37AZ0FxzRl7ktVd1XZ6n/YYULN00ApwurzOq57K+539zI3 AZwQaYeEH6DvGaeynHYGK+8YQ5JgydoFP8SAVJ0saLe3jGNNS/53ndlxIFEkrslXFOj6Ma PmqUlcIC6X4JkTplviCIxG+3gNMcUxa09vWaxDW7Q09Z9/GyI0u/8cBtk96R1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f23Yb5hVpzlZN for ; Thu, 29 Jan 2026 15:52:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39cf3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 15:52:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 21efed6cd844 - main - touch: Tests for -h flag 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: 21efed6cd8442ba9abb6c8a7e54a2433de9bfc60 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 15:52:19 +0000 Message-Id: <697b8233.39cf3.5491e563@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=21efed6cd8442ba9abb6c8a7e54a2433de9bfc60 commit 21efed6cd8442ba9abb6c8a7e54a2433de9bfc60 Author: Aymeric Wibo AuthorDate: 2026-01-23 17:48:13 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-29 15:49:28 +0000 touch: Tests for -h flag Reviewed by: kevans Approved by: kevans Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54836 --- usr.bin/touch/tests/touch_test.sh | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/usr.bin/touch/tests/touch_test.sh b/usr.bin/touch/tests/touch_test.sh index da39abef622e..619f81e0e7c3 100644 --- a/usr.bin/touch/tests/touch_test.sh +++ b/usr.bin/touch/tests/touch_test.sh @@ -144,6 +144,35 @@ touch_nocreate_body() atf_check -s exit:1 test -f bar } +atf_test_case touch_symlink_h_flag +touch_symlink_h_flag_head() +{ + atf_set descr "Update time of symlink but not file pointed to" +} +touch_symlink_h_flag_body() +{ + atf_check touch -t 200406151337 pointed + atf_check ln -s pointed symlink + atf_check touch -t 197209071337 -h symlink + atf_check_mtime 1087306620 pointed + atf_check_mtime 84721020 symlink +} + +atf_test_case touch_symlink_no_h_flag +touch_symlink_no_h_flag_head() +{ + atf_set descr "Update time of file pointed to but not symlink" +} +touch_symlink_no_h_flag_body() +{ + atf_check touch -t 200406151337 pointed + atf_check ln -s pointed symlink + local orig_mtime=$(stat -f %m symlink) + atf_check touch -t 197209071337 symlink + atf_check_mtime 84721020 pointed + atf_check_mtime $orig_mtime symlink +} + atf_init_test_cases() { atf_add_test_case touch_none @@ -153,5 +182,7 @@ atf_init_test_cases() atf_add_test_case touch_relative atf_add_test_case touch_copy atf_add_test_case touch_nocreate - # TODO: add test cases for -a, -h, -m + atf_add_test_case touch_symlink_h_flag + atf_add_test_case touch_symlink_no_h_flag + # TODO: add test cases for -a, -m } From nobody Thu Jan 29 15:52: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 4f23Yd2G99z6QsXX for ; Thu, 29 Jan 2026 15:52: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 4f23Yc6nlCz46Rv for ; Thu, 29 Jan 2026 15:52:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769701941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m0bVM5gRVvW30RTcHO8GmBujDFN/2gJMVIUIEc4IQFE=; b=WU9rKluyzYZJeQ1soeWDwt95XV65t38bXjYnsl8a9LUzLDtQnUuJttOs2Dt9i4Dwlag2Ug +NLpdt40Bnq9VdBuYFXLBKT3iwBecVLA0JTSn0PaZj4MsCuApZcn07Giz4OjR3JbxBakBi SD+afIe9AK6C9iSzeKQqwWFONczSc/2wVPLyda/DlTvISQIfy0K/G/O3a1N653cQjPdjMA Wvz46AIERYkHd4BjPU0bLm8ElAwdWr99FeoZxhBal6sLGiZ+mfj1Gxl0TCB7bDpLdrhlOV s5s1PzVKlD2We+WS6Ynd8FzNBftvF9Rt4v+lQoQstMgXOmb7Xb785mF8VcRUrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769701941; a=rsa-sha256; cv=none; b=r3nWcTVrGbBEnTPu1DPIO0cW+NDrI4ekALDpXexvWE1Hk8q+kznkTa0IFZTvaoNCpoRAvN Ol/R0FfatxM9VWVzQHipnGayNXsLI6Ech7bYhIPd4zmJFzEnG542Om/WS5g4JP1sKbZ53m 8rUz9val+709QdBrNiNOs2nzyBGLZaqZd3yuMbvCQHb/i0lpj4OyGOsAmNqI1hmKW6fZml CibO1TwAoYb/oTQSZC1eySaWpWCEqFdi2XuL6TlIXuMzTuxvp6Fe9xADDwUGD3XjDybm7O jetEY26PGW+ibPpsjEceGIfT4oF6lJEDiw4S1Yw9X/lRBtSDrePKu3qelyJNaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769701941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m0bVM5gRVvW30RTcHO8GmBujDFN/2gJMVIUIEc4IQFE=; b=p8krkf0VsHDez7mvdoH7cdgcs4A90Kt/JbzfremHGyhqARWB+dDfTV9IgMT64z8Oz2Ny7h TGaFvfTURNikzYL9404o7KWjWTt+hzhOiaCHvW9gdgeFoZxkRqAvtgNl8RF+ZM/oZ6hEOY H3VwRIqRFbM1J2RKBIkCsGUlgAxEC23KPW65acRFR3ronrXtRQNwB7MrHmuFvYqhVz0Yfg KVi2eQw+MMsTWC12hTW6/kzsc6Yareuq6mpCiela/Cks8MkacsXVSWKKx4C4z7cfkf0HR5 1mK2QgRMcEQlUGEetPkD18hGf3wtLDPWmGPRZdtEz+bZfCIEk/dStUgegrP8+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f23Yc6NwjzlPt for ; Thu, 29 Jan 2026 15:52:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39668 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 15:52:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 578b4ec8f1a4 - main - touch: Test for -a flag 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: 578b4ec8f1a4134027e66a156e6cf801284aab14 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 15:52:20 +0000 Message-Id: <697b8234.39668.b814e12@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=578b4ec8f1a4134027e66a156e6cf801284aab14 commit 578b4ec8f1a4134027e66a156e6cf801284aab14 Author: Aymeric Wibo AuthorDate: 2026-01-23 22:57:58 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-29 15:50:26 +0000 touch: Test for -a flag Reviewed by: kevans Approved by: kevans Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54852 --- usr.bin/touch/tests/touch_test.sh | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/usr.bin/touch/tests/touch_test.sh b/usr.bin/touch/tests/touch_test.sh index 619f81e0e7c3..cd9dc4623612 100644 --- a/usr.bin/touch/tests/touch_test.sh +++ b/usr.bin/touch/tests/touch_test.sh @@ -12,6 +12,12 @@ atf_check_mtime() atf_check -o inline:"$((mtime))\n" stat -f%m "$filename" } +atf_check_atime() +{ + local atime=$1 filename=$2 + atf_check -o inline:"$((atime))\n" stat -f%a "$filename" +} + atf_test_case touch_none touch_none_head() { @@ -173,6 +179,19 @@ touch_symlink_no_h_flag_body() atf_check_mtime $orig_mtime symlink } +atf_test_case touch_just_atime +touch_just_atime_head() +{ + atf_set descr "Update just access time of file (-a)" +} +touch_just_atime_body() +{ + atf_check touch -t 200406151337 file + atf_check touch -at 197209071337 file + atf_check_mtime 1087306620 file + atf_check_atime 84721020 file +} + atf_init_test_cases() { atf_add_test_case touch_none @@ -184,5 +203,6 @@ atf_init_test_cases() atf_add_test_case touch_nocreate atf_add_test_case touch_symlink_h_flag atf_add_test_case touch_symlink_no_h_flag - # TODO: add test cases for -a, -m + atf_add_test_case touch_just_atime + # TODO: add test cases for -m } From nobody Thu Jan 29 15:52: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 4f23Yf2Yffz6Qt5J for ; Thu, 29 Jan 2026 15:52: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 4f23Yf0KY6z46Z5 for ; Thu, 29 Jan 2026 15:52:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769701942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hPAsFcstcez2+rhizYDA4prX5JWVyqKbpkDoz/HvnWA=; b=nbkrBNg3uEHyHmiP9ULTDNLx6ATdljVyMKzh7MRhO+yaL7eJBU7c2YQc0rpBNVwuI8wsGa tLCGUGSD2tBtSFBSvZdYSjgmdI0daC/G+OG3YRyEjz87tOTY2guGBRhxI1jTmlhWp87tbT De0pX0iP6wOncivx9cO1o3YCki5Vfu9xcp+Xu3tfxz2P9Gtv2SkXE85shM2ky8nMN5HrDI gDzIXl0j4yQT51XtOidqLlSL13Cdmz1QvHyxH8jKcVL0OjSYgYgZpk3O/nTVjUgBQxWgu8 rYLITfoEM6u3RP9bEaFX3M+b3+g4LDN2Ev+m5dCmh7/cULRYo48NwCvhXhVQmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769701942; a=rsa-sha256; cv=none; b=lmrsAAPZ4jr8iMTq98f0XiNa9e7ouDKE0JYMWC6cUC/C6HMEUPBH2aA2+FD86sjvHnnEdO Wu7Kh5WN+59gU4IgK0T2gQVt+jR5inDpYFbd5xcro0OIq8QNC2xqxClDNpaQ2o6BhINa4M BXkT9yfyyYjDfaN9yuNoabqxfGClTN0d9bGNTYE94BTxXFde3fIGWcVT4usV9UJJIKxBNO wHDBa34vznVutzIqMjjmR0vch6lCSC0GrPC6V22yxKeQpwUszNvAotXJRZBQ+24uRmt04n 4sAxpdwYGzu6uRjYiTQt93Fa5mXT94zfVvo0BM8WbfHMwW+zHnIbQJM0A82o3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769701942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hPAsFcstcez2+rhizYDA4prX5JWVyqKbpkDoz/HvnWA=; b=KJI/LWppuvmgnSDsl7GJUJ3EbQEKPW2fZIoAYGNoj968FlnAh++EckXgFtpf/iJMhKkVwb qUueBiYi3Cvhrk5Y0MZo+tObnylI9oZ+u2Q5LdPqO6kdzq6fC0SABY3B+ucVdx90LWLyVR v5qOP6e99yzd6Z2EOJy8e41dZrG9m8yykhY5iwTOojQ42c6vXBXhMYMBI1d6sxTT9vyqpv TqEWN6PHT+mQKl8+aECiJadR6BLvLgs57ewdM5nhMs8okylxghvMNpoedqcdGUGGC9592E MIXpSk7JOY62nBvzALX7ft4wKDKL64REK6xPH6xcLsrAMDtB/WEBSYT5fqWBrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f23Yd6vyqzlPv for ; Thu, 29 Jan 2026 15:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3aa2c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 15:52:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 5a733026088f - main - touch: Test for -m flag 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: 5a733026088f68a0171584045af968d1ea83804b Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 15:52:21 +0000 Message-Id: <697b8235.3aa2c.7eabd6fa@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=5a733026088f68a0171584045af968d1ea83804b commit 5a733026088f68a0171584045af968d1ea83804b Author: Aymeric Wibo AuthorDate: 2026-01-23 22:59:48 +0000 Commit: Aymeric Wibo CommitDate: 2026-01-29 15:51:17 +0000 touch: Test for -m flag Reviewed by: kevans Approved by: kevans Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54853 --- usr.bin/touch/tests/touch_test.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/usr.bin/touch/tests/touch_test.sh b/usr.bin/touch/tests/touch_test.sh index cd9dc4623612..811d74983020 100644 --- a/usr.bin/touch/tests/touch_test.sh +++ b/usr.bin/touch/tests/touch_test.sh @@ -192,6 +192,19 @@ touch_just_atime_body() atf_check_atime 84721020 file } +atf_test_case touch_just_mtime +touch_just_mtime_head() +{ + atf_set descr "Update just modify time of file (-m)" +} +touch_just_mtime_body() +{ + atf_check touch -t 200406151337 file + atf_check touch -mt 197209071337 file + atf_check_mtime 84721020 file + atf_check_atime 1087306620 file +} + atf_init_test_cases() { atf_add_test_case touch_none @@ -204,5 +217,5 @@ atf_init_test_cases() atf_add_test_case touch_symlink_h_flag atf_add_test_case touch_symlink_no_h_flag atf_add_test_case touch_just_atime - # TODO: add test cases for -m + atf_add_test_case touch_just_mtime } From nobody Thu Jan 29 16:22: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 4f24DV249tz6QwKr for ; Thu, 29 Jan 2026 16:22:34 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-21.consmr.mail.gq1.yahoo.com (sonic310-21.consmr.mail.gq1.yahoo.com [98.137.69.147]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4f24DT4N7xz3FkF for ; Thu, 29 Jan 2026 16:22:33 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1769703748; bh=43dFGTnoLEMnvTnTYKAou6cm6swf59kx/VW/Cezxi6s=; h=Date:Subject:To:References:From:Cc:In-Reply-To:From:Subject:Reply-To; b=Q8z2ihZT/4rs97C2uvMt/TZSt1+ca3/FFQ+JVptQr28Dh/+ZWac+HgxxpODUAtas0lB/T0YLudyTyVOwGy/A5QxHrsN+uzoM3aox6dyE4mCrGIY6VkngYWXYiqNdjJoEALgiu1fs8MuQpHRHQmcCI2ySPLWYj+0p77sYG9eJE+7/zvbr05a6MBZQgOH4GV0xbj7ymM/E4AmAZ6z0ldRTjgiQcfWwVRZh69NpnhzzPagkmq55u73Z/flXjwf7o42nzSF/ry3w8l96plPvAuqnKuByDu+RQVlnBocom35MxSiGdXnTDWjvL8koA7aDDwvJbi8Twkz4fa3hpYv+m+j+WQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1769703748; bh=JFK3Bu3I4TFKl70Avt5+Xn5wj+ZiKZYcK2BI6/yqsrc=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=GUgDz24J8JqJYfjZYPwvXH7wgqNqq70BsfV0MSWqTB+uoND6g9V6UKE7xl+1jzRHP6jabwzkDOWodxM5vupkiTKsm1hx0KRPFc6CPdehKSY1o7bRN0yCf6FYk8DAJ1OAu4/quo+JykD95jTyMWa6CVkZA5ViYYB+ai5fWdL35nCm7KjshKxHmiYEOHyeon3spaq2aCh68xuZvKty+h6jn4Hn91VLghhSSzP8Z1CicXNzSKRLj1ET3Egr3m8KbjIm0freIHZJZGlsSkoY/WgUjkLIxeC58z2glqGP9+0yMzhnU42bSj0WokVV4i8ybsTnVe78oGyGoC22MiGOGYkQhw== X-YMail-OSG: bO1Vp8oVM1nK4SU8FYWE9AioB6adjFJfI03XwcbzfsY5kSbEpWQMbeEjAu4rM6V W0m8xwp6nTRYpzCR3p63apHvxSWx3DBCMS6Iep1hM9pHeTFUgYuzM8.do9p9YFfLbozeirKeyYFk f2V73a1uMDMdxqWoOuSYYWsjqzi1djRCJcPwczaAwrhl5k3EM.PNvaGcVcyoYmteMUFENtAjHTsq h91I8H9ToUTKdyN78vUj0rkZ5eU9Vqijf5MhR8tpBkuGVLumZFji11a0Me9Tf.NgHq5Eg5uxFrMl mEZ27UFT.gltxKlcg8p7Gy8fmzfDxThIx7fkDeKWk5StS7TkpljPQ9.vaSiwFzunWaF0mZU96Ci1 guqJnNKLNLtD9XdYPVP590.8Wy6CVDhnbCk8..QM6LtWY7z8ADT1h1Y6wQnklcAlNu39OqKmKcHc BYddNmqXePCdHFy3bKM6nSpdcdYwC2jGVg6x5tusNIIioxGn4Yg4horqgvx1I0O6szEBHVGj9jtQ 1PJQ3iRsMEgXSFpWrF1BZqPQ9X1qTaDXeqddo010Dm6wu9H_4U7lK2yGVs8T.npZHUA4mIp5cWAm ada6TCihBHx6EBxwoBHBFcit53j2lhzPH1NLXGXd3n9hxrNnbtm3iUVDH9w3zgslxfmfAzU0Ba8_ Q7qUHDbwHazAU2J3vopbwPIjiYozZfROXR2eC2uiRpkdmB9qtFYpFlN60prtHtb.XvIg_RNdKvSr hwrMITRxr14fCmOHuvDtWCeTaIVucHKKxkwMrIqI6dC_syGSsDNKPrBESKMehBTxFnjdom7N30Qs IAbw_xTW5wezkdZWxkl6sNmGy_J3o5bm4dObKlA7URsy00mo_BKOp2CHA.rlmC9zv8xb8eGbGK4G RRWpyWuki1wepn_VbwJIdMGyiHCb_PhT6GRH7i34y.d91A6FxIEl5HbAiI6NbBx7vXRm2kPKn625 K_ozl_MgtwdOBxMV6ykpkAleskj8AgKX9QCW4jgwhgB_8rVc6Inbeli7NlSmeXwPHGlfFvck98VF lpjpD1BLjlIWKMcuPzplJxVx4fIV39eqL.1zZIpoThZ8Bc4Z5J_1OVfOaNuR8I.d8trDX2S10XBI Gd82oaiu0qO7XCElQ7kNxFe2UtWp3kbOkcy0YmmrPtJtIj11MMJxI_xevcGAaiws3f_LV_Pe5.8Y Ge8X492OPnM.HgTPridOuVlU4id.NxVT_wCwgcehmfBz.ro9c_Rcag4RAdEpfxc5a_LLZMunhMhM 19NBIFvwEZ_ZHJrFtAVwXWjpCRXBEUmyRT93c5Q5ezU13YwyNRP0v7afrDMj.75Osx4XzBZlpSfc 2t8HNdkXS5PzdBSlHciNDCtSe5L3RrVLYb2Yt_sz0RUICNfBdKCanew3uCVMph8BUIXva7wBbcnB 44cNU3YkMFX7mwE4biye3bRMWFB_XPP98o7bVGQHJDP344SyMHesX_WfWMgXfJA3ucvhuGxwfPDR Vbqs0BMtJs9bAwIPwl6J5u4ZqbGaVEiKTjTbxuzgPJ.2jn8UklJfMMs1hx4g8TldBaXeXtwbct5W Fdlw.tfcb9ythP3XzWuL4sTJMwttoU9dy.byu2Lhj6igvl5IoC7uUtTMRuj872azpkRpmRUirTEO qYU4NcAd4nzhPxczs52mvGg6n6S_tzwEH.Qqavo63JltxQeWnnPRK3vIR3W4JrBE04IJJJpfQEkp To6aARLOcXPse2yPaQvwj85KVgklmF0J2PgDDAXbE8rCzgn9SKlGbjMSOfLuQiDMyD.U875o1_Sp EhUXH2nZTUCAikZBtSoOOvyrx6ffZaosa701poMkjTUkqQobPK3SpIdM4qzzrcAT5.s_FoocdH6u yXhL_QVSp6Mr9YZDn26mpKh9UszmSlLtrMdTS8F_AednAk6M6Vg9t4V_t3Qxo7.pKxDMMw_2sk_E 36_ImdMyl8vwfKoo3UhyPOL_7t31kYcex9Fj2HRX0GhaI0.yYnLtM8R5ZUe4zc7nsiv6pFDpyR9e 2VRJ4S1u1rywiALhB4yOZunTSRE2FqgBtrIJPmzju3eQLC_0rI325fVisO61IozMG4dkeSBXU2hk ZGDlEIroFg3wykL1DjMtMA7D8gCdSy3AlYyvtCnkuQa.K2KVUhKSMRTtTkVjgsWNmF6sRs1b__27 C_cWyg6kw1aKW0EAX1Fgab5cCmOiaJ252Ww.7jC.UnFl_J3v6y89RtWbZ2fXsio7uxut4L1MsZOd C5CL.WLEuQH9WXNffvOu._NH84HwHkp8x0EHInn9CKr_GjZaWRbQVximtXPk8ni6p5cTrP..z4QL VyqKsECsPOj_Hdep4VIQQ1z_2yFi8EFZFGeeCsDbbn70MRn91gw-- X-Sonic-MF: X-Sonic-ID: 09078ce0-2bc1-401f-ad88-795e2cc96de8 Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.gq1.yahoo.com with HTTP; Thu, 29 Jan 2026 16:22:28 +0000 Received: by hermes--production-gq1-86969b76cd-9v8tf (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 2d85dabad46e443222a557b4c3608952; Thu, 29 Jan 2026 16:22:26 +0000 (UTC) Message-ID: Date: Thu, 29 Jan 2026 08:22:25 -0800 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: 56970c3c4b0b - main - loader: Prefer comma-separated list of values for "console" To: Michael Osipov , dev-commits-src-main@FreeBSD.org References: <697b1e0e.27b69.ae3352c@gitrepo.freebsd.org> Content-Language: en-US From: Mark Millard Cc: Warner Losh In-Reply-To: <697b1e0e.27b69.ae3352c@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.24987 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Rspamd-Queue-Id: 4f24DT4N7xz3FkF X-Spamd-Bar: ---- On 1/29/26 00:45, Michael Osipov wrote: > The branch main has been updated by michaelo: > > URL: https://cgit.FreeBSD.org/src/commit/?id=56970c3c4b0bc61d972837661a31cc2b9e8e8d7c > > commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c > Author: Michael Osipov > AuthorDate: 2026-01-28 09:02:33 +0000 > Commit: Michael Osipov > CommitDate: 2026-01-29 08:44:45 +0000 > > loader: Prefer comma-separated list of values for "console" > > PR: 292595 > Reviewed by: imp > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D54923 > --- > release/tools/azure.conf | 2 +- > release/tools/openstack.conf | 2 +- > stand/efi/loader/main.c | 4 ++-- > stand/i386/loader/main.c | 4 ++-- > 4 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/release/tools/azure.conf b/release/tools/azure.conf > index 981e40566a1c..4fa6ba4d924d 100644 > --- a/release/tools/azure.conf > +++ b/release/tools/azure.conf > @@ -59,7 +59,7 @@ autoboot_delay="-1" > beastie_disable="YES" > loader_logo="none" > hw.memtest.tests="0" > -console="comconsole efi vidconsole" > +console="comconsole,efi,vidconsole" > comconsole_speed="115200" > boot_multicons="YES" > boot_serial="YES" > diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf > index 9ce65a75c3c5..6cfb02bab9af 100644 > --- a/release/tools/openstack.conf > +++ b/release/tools/openstack.conf > @@ -33,7 +33,7 @@ vm_extra_pre_umount() { > echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf > echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf > echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf > - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf > + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf > echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf > > # Reboot quickly, Don't wait at the panic screen > diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c > index 22dbd10a0f37..7ff2cf188509 100644 > --- a/stand/efi/loader/main.c > +++ b/stand/efi/loader/main.c > @@ -1316,10 +1316,10 @@ main(int argc, CHAR16 *argv[]) > setenv("console", "comconsole", 1); > break; > case VID_SER_BOTH: > - setenv("console", "efi comconsole", 1); > + setenv("console", "efi,comconsole", 1); > break; > case SER_VID_BOTH: > - setenv("console", "comconsole efi", 1); > + setenv("console", "comconsole,efi", 1); > break; > /* case VIDEO_ONLY can't happen -- it's the first if above */ > } [Note: I CC'd Warner just because I'm not sure anyone else knows for sure about this area's complicated history and issues.] This looks possibly wrong to me for efi for all but amd64 --but for the references to comconsole, not the space vs. comma issue. stand: efi create eficom console device. (2023-05-11) QUOTE of console=comconsole talks to the hardware directly. This is available only on amd64. It is not available anywhere else (and so requires changes for people doing comconsole on aarch64) console=eficom talks to the console via EFI protocols. It's available on amd64, aarch64 and riscv64. It's the first port that we find, though it can be overriden by efi_com_port (which should be set to the UID of the serial port, not the I/O port, despite the name). devinfo -v will give the UID to uartX mapping. This is an incompatible change for HYPER-V on amd64. It only works with eficom console, so you'll need to change your configuration in loader.conf. No compatibility hack will ever be provided for this (since it requires renamig, which the loader cannot reliably do). It's also an incompatible change for aarch64. comconsole will need to change to eficom. There might be a comconsole "shim" for this. END QUOTE stand: add comconsole backwards compatibility shim for aarch64 (2023-05-11) QUOTE of Add a compat shim for the "comconsole" name so that people with a "console=comconsole" in their loader.conf on aarch64 will continue to work (though with a warning). This is only aarch64: it will never be there for amd64 (where comconsole always means talk to the hardware directly). To do that is too hard. END QUOTE But that last (f93416d67743) is only for: +#if defined(__aarch64__) && __FreeBSD_version < 1500000 +/* Hack for backward compatibility -- but only for a while */ +extern struct console comconsole; +#endif . . . +#if defined(__aarch64__) && __FreeBSD_version < 1500000 + &comconsole, +#endif . . . (and so on) . . . So, as of FreeBSD 15+, aarch64 does not have comconsole as far as I can tell. It looks to me like for FreeBSD 15+ eficom should be referenced mostly, instead of comconsole, comconsole being only for amd64. For FreeBSD 14.3+ and stable/14 it may be that comconsole should be used for amd64 and aarch64. (stable/13 does not have the commits at all.) There is also a prior: if (efi_has_gop()) how |= RB_MULTIPLE; else how |= RB_MULTIPLE | RB_SERIAL; setenv("console", "efi,comconsole", 1); and: #if defined(__riscv) /* * This workaround likely is papering over a real issue */ if ((uhowto & RB_SERIAL) != 0) setenv("console", "comconsole", 1); #endif that may well both be wrong for stand/efi/loader/main.c too. > diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c > index a70b3a253b90..7538c6d4fb3f 100644 > --- a/stand/i386/loader/main.c > +++ b/stand/i386/loader/main.c > @@ -162,9 +162,9 @@ main(void) > bi_setboothowto(initial_howto); > if (initial_howto & RB_MULTIPLE) { > if (initial_howto & RB_SERIAL) > - setenv("console", "comconsole vidconsole", 1); > + setenv("console", "comconsole,vidconsole", 1); > else > - setenv("console", "vidconsole comconsole", 1); > + setenv("console", "vidconsole,comconsole", 1); > } else if (initial_howto & RB_SERIAL) { > setenv("console", "comconsole", 1); > } else if (initial_howto & RB_MUTE) { > > -- === Mark Millard marklmi at yahoo.com From nobody Thu Jan 29 16:31: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 4f24Qh2tdSz6Qx2f for ; Thu, 29 Jan 2026 16:31:24 +0000 (UTC) (envelope-from michaelo@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 4f24Qh2KNcz3Gnb; Thu, 29 Jan 2026 16:31:24 +0000 (UTC) (envelope-from michaelo@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769704284; 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=68wzoKmc8u+4vgcfQdGGWNH0jOiRY+hlaXAcxQhro34=; b=k/sy7s/8rjRKrsi62w+v736+WB4Bg6u0D9ibn2+jM6MonTu1RoPgARDzaRHNsYXt51/lPB ARcaXecy6P8Ll97+QA8suhxPdOBVY7vU059SYRrcuNvvHyBX0C0uRwSNsPLWrzEcX11ww8 M0D9D23UswAZ0rNMTCwaw3J3JOdUccL89tDURzEbHVJxgw/Ziz1T4Xx5fmn13grl8IfF7i azYQeyjfJZI6KO1ng4blcB4Vamx3niJoaFgTGTAru4SrsFXx5qyiGKiiEJmEIM87olVM3F MAToWWGtNBLnwmALNIjzFPxbtZ0nAZb53Ex9JFKOmkPiUjvpQxmDCFu8UrgIfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769704284; a=rsa-sha256; cv=none; b=af4zHcjrACokIZrEKz5aTDXlwkOP0CP8LFavI6RQq9xH3KXC+/oCJNM9QTPWjkoSin7F+s P16Iyh/Q31Gd0RH2ifn2RrYEtOS3f3JMLnYjp58ppGjwRl+re79Ze+A2JTSSVITJ7lEENq nBX1M/TRSckSfdL9g5rde8LkMkGRIYn3mFow/tRojbCQpIScT7F1EhUVJehBQNuXHKoHoM HIuDUdjXPNVxKxslqGhLJuHbz7+edrhY7WVN1virR+CzHWA5t83q0YTYCSp8nWIOxi8JoC 265W/NQQIAejNfdj4cqJHg+QTQ7Esp1yI7yn5LC0sX41MyC2jpfhOpsQTgc4uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769704284; 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=68wzoKmc8u+4vgcfQdGGWNH0jOiRY+hlaXAcxQhro34=; b=gey9E5WdTux689YgWVBnZM6hsoEMV6T3jsSt/sH4hQfAGSZ+8DxT3PcLiZspWI0Rqgo6+B qelvizg67adg9SzVCT08ISvQKGBn60EkEOHyEHJcEtyuf9mlcYDNT4PMy/fB+2PdBlcYrM xz1yKramG0ImtqNmxUuY+Vc/D1MWR+hWYwMdcAqJ7U/C0+OYC4P+56WoHMyntBjagnmWMw vvOuD1XxGHhai7Bosn4RwpDT8QQqi/4I2xSRzoooBW5aTFRFInLPl1e3eWs4h1u8zma/OV wuqWTluOIbxz62J8t1x4BwEFtnEUaDTGqaSCO3xv67yR842cG5N5d6MZMDAKUg== Received: from [192.168.1.23] (unknown [147.161.251.33]) (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: michaelo/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f24Qg5YZyzHfj; Thu, 29 Jan 2026 16:31:23 +0000 (UTC) (envelope-from michaelo@FreeBSD.org) Message-ID: <40a3f9a2-3adc-470b-8dcb-63b166e2cf14@FreeBSD.org> Date: Thu, 29 Jan 2026 17:31:20 +0100 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: Thunderbird Daily Subject: Re: git: 56970c3c4b0b - main - loader: Prefer comma-separated list of values for "console" Content-Language: en-US To: Mark Millard , dev-commits-src-main@FreeBSD.org Cc: Warner Losh References: <697b1e0e.27b69.ae3352c@gitrepo.freebsd.org> From: Michael Osipov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2026-01-29 17:22, Mark Millard wrote: > On 1/29/26 00:45, Michael Osipov wrote: >> The branch main has been updated by michaelo: >> >> URL: https://deu01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D56970c3c4b0bc61d972837661a31cc2b9e8e8d7c&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005625974477%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=PsvT9MHa5qWyE2CBQGLbDG30GT8AWpltNOu3JrYO%2BK4%3D&reserved=0 >> >> commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c >> Author: Michael Osipov >> AuthorDate: 2026-01-28 09:02:33 +0000 >> Commit: Michael Osipov >> CommitDate: 2026-01-29 08:44:45 +0000 >> >> loader: Prefer comma-separated list of values for "console" >> >> PR: 292595 >> Reviewed by: imp >> MFC after: 1 week >> Differential Revision: https://deu01.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.freebsd.org%2FD54923&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005625994409%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=fqqWtXQep%2FyB%2BinUOiod%2FO%2BqDOOQ4UC5O4KzvM36C7Q%3D&reserved=0 >> --- >> release/tools/azure.conf | 2 +- >> release/tools/openstack.conf | 2 +- >> stand/efi/loader/main.c | 4 ++-- >> stand/i386/loader/main.c | 4 ++-- >> 4 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/release/tools/azure.conf b/release/tools/azure.conf >> index 981e40566a1c..4fa6ba4d924d 100644 >> --- a/release/tools/azure.conf >> +++ b/release/tools/azure.conf >> @@ -59,7 +59,7 @@ autoboot_delay="-1" >> beastie_disable="YES" >> loader_logo="none" >> hw.memtest.tests="0" >> -console="comconsole efi vidconsole" >> +console="comconsole,efi,vidconsole" >> comconsole_speed="115200" >> boot_multicons="YES" >> boot_serial="YES" >> diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf >> index 9ce65a75c3c5..6cfb02bab9af 100644 >> --- a/release/tools/openstack.conf >> +++ b/release/tools/openstack.conf >> @@ -33,7 +33,7 @@ vm_extra_pre_umount() { >> echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf >> echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf >> echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf >> - echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/loader.conf >> + echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/loader.conf >> echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf >> >> # Reboot quickly, Don't wait at the panic screen >> diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c >> index 22dbd10a0f37..7ff2cf188509 100644 >> --- a/stand/efi/loader/main.c >> +++ b/stand/efi/loader/main.c >> @@ -1316,10 +1316,10 @@ main(int argc, CHAR16 *argv[]) >> setenv("console", "comconsole", 1); >> break; >> case VID_SER_BOTH: >> - setenv("console", "efi comconsole", 1); >> + setenv("console", "efi,comconsole", 1); >> break; >> case SER_VID_BOTH: >> - setenv("console", "comconsole efi", 1); >> + setenv("console", "comconsole,efi", 1); >> break; >> /* case VIDEO_ONLY can't happen -- it's the first if above */ >> } > > [Note: I CC'd Warner just because I'm not sure anyone else knows for > sure about this area's complicated history and issues.] > > > This looks possibly wrong to me for efi for all but amd64 --but for the > references to comconsole, not the space vs. comma issue. > > > stand: efi create eficom console device. > (2023-05-11) > > QUOTE of > console=comconsole talks to the hardware directly. This is available > only on amd64. It is not available anywhere else (and so requires > changes for people doing comconsole on aarch64) > > console=eficom talks to the console via EFI protocols. It's available > on amd64, aarch64 and riscv64. It's the first port that we find, though > it can be overriden by efi_com_port (which should be set to the UID of > the serial port, not the I/O port, despite the name). devinfo -v > will give the UID to uartX mapping. > > This is an incompatible change for HYPER-V on amd64. It only works with > eficom console, so you'll need to change your configuration in > loader.conf. No compatibility hack will ever be provided for this (since > it requires renamig, which the loader cannot reliably do). > > It's also an incompatible change for aarch64. comconsole will need to > change to eficom. There might be a comconsole "shim" for this. > END QUOTE > > > stand: add comconsole backwards compatibility shim for aarch64 > (2023-05-11) > > QUOTE of > Add a compat shim for the "comconsole" name so that people with a > "console=comconsole" in their loader.conf on aarch64 will continue to > work (though with a warning). > > This is only aarch64: it will never be there for amd64 (where comconsole > always means talk to the hardware directly). To do that is too hard. > END QUOTE > > > But that last (f93416d67743) is only for: > > +#if defined(__aarch64__) && __FreeBSD_version < 1500000 > +/* Hack for backward compatibility -- but only for a while */ > +extern struct console comconsole; > +#endif > . . . > +#if defined(__aarch64__) && __FreeBSD_version < 1500000 > + &comconsole, > +#endif > . . . (and so on) . . . > > So, as of FreeBSD 15+, aarch64 does not have comconsole as far as I can > tell. > > > It looks to me like for FreeBSD 15+ eficom should be referenced mostly, > instead of comconsole, comconsole being only for amd64. > > For FreeBSD 14.3+ and stable/14 it may be that comconsole should be used > for amd64 and aarch64. (stable/13 does not have the commits at all.) > > > There is also a prior: > > if (efi_has_gop()) > how |= RB_MULTIPLE; > else > how |= RB_MULTIPLE | RB_SERIAL; > setenv("console", "efi,comconsole", 1); > > and: > > #if defined(__riscv) > /* > * This workaround likely is papering over a real issue > */ > if ((uhowto & RB_SERIAL) != 0) > setenv("console", "comconsole", 1); > #endif > > that may well both be wrong for stand/efi/loader/main.c too. Hi Mark, thanks for raising. I do not fully understand the point you are trying to make. This change is a spinoff from https://reviews.freebsd.org/D54843 where we identified that comma is the preferred separator, but space is allowed as well. For consistency reasons I have updated everything to comma. I didn't change the actual values. Can you clarify? Michael From nobody Thu Jan 29 17:03: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 4f257p1xB3z6R15P for ; Thu, 29 Jan 2026 17:03: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 4f257p13cpz3LjK for ; Thu, 29 Jan 2026 17:03:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769706214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SPqHhSwhI1bbHSeaCZ8gfDcGDsQK5mdvtuJiNe89Qzw=; b=L1SbUB06l2m/GiawZJb4MhHXmFiPaANA5U6wEJiQZrohgTwK9Ofh0q8saA3kgt4p+fIvhB OxSkQUnhoiAYaXmuubhW+Z5RAvRdc3UKUt7Tj2x3+GT5+ozwtpMaY57FM2X1zUPcn+YO3J MJVXQmu/uBhFtyeDgCmiJPQGWUnOWdBTYhcKuEsIGPdXz8siDuCU2ANimqzVFwdbcn8cMY tJIWJLgbOCEDzC+3ua6jISC5jAcvZHexOp1ka6ficVEfWvnMtQWsIZQKpUUdecBkkLOD1F Md5zp5XYY1C4tfllSBmW0LaeGYv+HPKzBNs/QT/zcZT91whVAMoEjmwcQu+8PQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769706214; a=rsa-sha256; cv=none; b=hMcuSe1F90YUCvzh3rjEkCUX8tNx+WGKZrRncHW59p2YvcdQZqAw7ULoKsls37wbTAxwYJ aA1QRYAuq5qlteL364oa9fCxTRVa24l0+dPqLmHt9f+4UDKhoueVn5x7aViB6AYgMGHnQL wGOQO3QbDMpNwWNLEZ/Xww8sNjKwyX/DH5R/tqraOMpd4+f/uOK+HKVfpwMFl48APPTZUq scFV/BSp/KA5Btv5H2faXBMUYkV/ovmozgQ6IvJ/6+RDu/ke414TJorjBthYRsZJqUh7sG 2nn61B/97NOVD544DRoeFSramIB2PgA+2+3jdg2akOpT2vGbfen+u2gsdH6KIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769706214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SPqHhSwhI1bbHSeaCZ8gfDcGDsQK5mdvtuJiNe89Qzw=; b=VV8fK0TOzdOvK8Ei7zepujsube9iPfaEafwkhFxK0w/91XU9dirc/ZEwTu8fQQfb2NtH/R NhEtVUfD09iUvJvkrhOC5Md69OhHvBAGvgdZjcO7YDNPEYANyQsCcIZiJXs1mgX76M1gBb gFgXT65kVC7xqkn2SIlhueBaFA/UVujvnaZpy+QGQ8Su/o9owrkipaBwYZD24vfbo8M4Xi YXNBv4Y+R16yHm4QAoP793rDQhBEr4mIvaMnem9ss8bvh2SAAptqTpCPYrzUVribDTSbH8 af2fmYEKXsLuBWpsVFIA+0i1zRvfyRQ1kNJv8+nF15IO7JGHuYo6qQo4g29OGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f257p0RLLzn5T for ; Thu, 29 Jan 2026 17:03:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 417d7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 17:03:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 54e006369c9a - main - release: Remove not-NO_ROOT cases 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: 54e006369c9aab4f3a22f026eb6924c0f9cafda8 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 17:03:34 +0000 Message-Id: <697b92e6.417d7.5fe8d0b9@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=54e006369c9aab4f3a22f026eb6924c0f9cafda8 commit 54e006369c9aab4f3a22f026eb6924c0f9cafda8 Author: Ed Maste AuthorDate: 2025-12-11 17:16:53 +0000 Commit: Ed Maste CommitDate: 2026-01-29 17:03:20 +0000 release: Remove not-NO_ROOT cases We always use NO_ROOT for release artifact builds, so remove the alternate code paths. For the first step we set NO_ROOT unconditionally in cases that invoke submakes, and turn NO_ROOT being unset into an error in lover-level targets so that we can catch potential out-of-tree build scripts (or missed in-tree cases) that expect to run not-NO_ROOT builds. The second step will be to remove those entirely. Reviewed by: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54179 --- release/release.sh | 4 +- release/scripts/pkg-stage.sh | 14 +--- release/tools/azure.conf | 13 +-- release/tools/ec2.conf | 8 +- release/tools/vagrant.conf | 10 +-- release/tools/vmimage.subr | 192 ++++++++++++++++++------------------------- 6 files changed, 92 insertions(+), 149 deletions(-) diff --git a/release/release.sh b/release/release.sh index f0226e4cd3c5..480d6b34f191 100755 --- a/release/release.sh +++ b/release/release.sh @@ -200,9 +200,7 @@ env_check() { WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \ XZ_THREADS=${XZ_THREADS} NOPKGBASE=${NOPKGBASE}" - if [ -n "${NO_ROOT}" ]; then - RELEASE_RMAKEFLAGS="${RELEASE_RMAKEFLAGS} NO_ROOT=1 WITHOUT_QEMU=1" - fi + RELEASE_RMAKEFLAGS="${RELEASE_RMAKEFLAGS} NO_ROOT=1 WITHOUT_QEMU=1" return 0 } # env_check() diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index b64fe5e5f1e5..d06fc9dd1d41 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -4,8 +4,6 @@ set -e -unset NO_ROOT - export ASSUME_ALWAYS_YES="YES" export PKG_DBDIR="/tmp/pkg" export PERMISSIVE="YES" @@ -53,15 +51,13 @@ usage() while getopts N opt; do case "$opt" in - N) NO_ROOT=1 ;; + N) ;; *) usage ;; esac done PKG_ARGS="-d --rootdir ${ROOTDIR}" -if [ $NO_ROOT ]; then - PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1" -fi +PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1" PKGCMD="/usr/sbin/pkg ${PKG_ARGS}" if [ ! -x /usr/local/sbin/pkg ]; then @@ -110,10 +106,8 @@ ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg ${PKGCMD} repo ${PKG_REPODIR} -if [ $NO_ROOT ]; then - mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \ - grep '^./packages[/ ]' >> $ROOTDIR/METALOG -fi +mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \ + grep '^./packages[/ ]' >> $ROOTDIR/METALOG # Always exit '0', even if pkg(8) complains about conflicts. exit 0 diff --git a/release/tools/azure.conf b/release/tools/azure.conf index 4fa6ba4d924d..7a4f0b5027cf 100644 --- a/release/tools/azure.conf +++ b/release/tools/azure.conf @@ -34,17 +34,8 @@ vm_extra_pre_umount() { # builds this is unnecessary as pkg will not be installed to # begin with. if [ -z "${NO_ROOT}" ]; then - mount -t devfs devfs ${DESTDIR}/dev - - # The firstboot_pkgs rc.d script will download the repository - # catalogue and install or update pkg when the instance first - # launches, so these files would just be replaced anyway; removing - # them from the image allows it to boot faster. - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg delete -f -y pkg - umount ${DESTDIR}/dev - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + echo "ERROR: NO_ROOT not set" >&2 + exit 1 fi pw -R ${DESTDIR} usermod root -h - diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 335db6cca93a..744ac24a3f0f 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -26,12 +26,8 @@ ec2_common() { # unprivileged builds this is unnecessary as pkg will not be # installed to begin with. if [ -z "${NO_ROOT}" ]; then - mount -t devfs devfs ${DESTDIR}/dev - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg delete -f -y pkg - umount ${DESTDIR}/dev - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + echo "ERROR: NO_ROOT not set" >&2 + exit 1 fi # Turn off IPv6 Duplicate Address Detection; the EC2 networking diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index 37eff7a899ab..f14a9e8cb6fc 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -15,14 +15,8 @@ export VM_RC_LIST="firstboot_freebsd_update firstboot_pkgs growfs" vagrant_common () { if [ -z "${NO_ROOT}" ]; then - # The firstboot_pkgs rc.d script will download the repository - # catalogue and install or update pkg when the instance first - # launches, so these files would just be replaced anyway; - # removing them from the image allows it to boot faster. - pkg -c ${DESTDIR} clean -y -a - pkg -c ${DESTDIR} delete -f -y pkg - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports - rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods + echo "ERROR: NO_ROOT not set" >&2 + exit 1 fi # Vagrant instances use DHCP to get their network configuration. diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index f7fc9906c049..3975e94913c9 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -41,21 +41,19 @@ cleanup() { metalog_add_data() { local file mode type - if [ -n "${NO_ROOT}" ]; then - file=$1 - if [ -f ${DESTDIR}/${file} ]; then - type=file - mode=${2:-0644} - elif [ -d ${DESTDIR}/${file} ]; then - type=dir - mode=${2:-0755} - else - echo "metalog_add_data: ${file} not found" >&2 - return 1 - fi - echo "${file} type=${type} uname=root gname=wheel mode=${mode}" >> \ - ${DESTDIR}/METALOG + file=$1 + if [ -f ${DESTDIR}/${file} ]; then + type=file + mode=${2:-0644} + elif [ -d ${DESTDIR}/${file} ]; then + type=dir + mode=${2:-0755} + else + echo "metalog_add_data: ${file} not found" >&2 + return 1 fi + echo "${file} type=${type} uname=root gname=wheel mode=${mode}" >> \ + ${DESTDIR}/METALOG } vm_create_base() { @@ -103,9 +101,7 @@ vm_install_base() { pkg_cmd="${PKG_CMD} --rootdir ${DESTDIR} --repo-conf-dir ${PKGBASE_REPO_DIR} -o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes -o ABI=${PKG_ABI} -o INSTALL_AS_USER=yes " - if [ -n "${NO_ROOT}" ]; then - pkg_cmd="$pkg_cmd -o METALOG=METALOG" - fi + pkg_cmd="$pkg_cmd -o METALOG=METALOG" $pkg_cmd update selected=$(vm_base_packages_list | vm_extra_filter_base_packages) $pkg_cmd install -U -r FreeBSD-base $selected @@ -126,14 +122,12 @@ vm_install_base() { etcupdate extract -B \ -M "TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}" \ -s ${WORLDDIR} -d ${DESTDIR}/var/db/etcupdate \ - -L /dev/stdout ${NO_ROOT:+-N} - if [ -n "${NO_ROOT}" ]; then - # Reroot etcupdate's internal METALOG to the whole tree - sed -n 's,^\.,./var/db/etcupdate/current,p' \ - ${DESTDIR}/var/db/etcupdate/current/METALOG | \ - env -i LC_COLLATE=C sort >> ${DESTDIR}/METALOG - rm ${DESTDIR}/var/db/etcupdate/current/METALOG - fi + -L /dev/stdout -N + # Reroot etcupdate's internal METALOG to the whole tree + sed -n 's,^\.,./var/db/etcupdate/current,p' \ + ${DESTDIR}/var/db/etcupdate/current/METALOG | \ + env -i LC_COLLATE=C sort >> ${DESTDIR}/METALOG + rm ${DESTDIR}/var/db/etcupdate/current/METALOG echo '# Custom /etc/fstab for FreeBSD VM images' \ > ${DESTDIR}/etc/fstab @@ -209,40 +203,25 @@ vm_extra_install_packages() { if [ -z "${VM_EXTRA_PACKAGES}" ]; then return 0 fi - if [ -n "${NO_ROOT}" ]; then - for pkg in ${VM_EXTRA_PACKAGES}; do - INSTALL_AS_USER=yes \ - ${PKG_CMD} \ - -o ABI=${PKG_ABI} \ - -o METALOG=${DESTDIR}/METALOG.pkg \ - -o REPOS_DIR=${PKG_REPOS_DIR} \ - -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ - -r ${DESTDIR} \ - install -y -r ${PKG_REPO_NAME} $pkg - done + for pkg in ${VM_EXTRA_PACKAGES}; do INSTALL_AS_USER=yes \ - ${PKG_CMD} \ + ${PKG_CMD} \ -o ABI=${PKG_ABI} \ + -o METALOG=${DESTDIR}/METALOG.pkg \ -o REPOS_DIR=${PKG_REPOS_DIR} \ -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ -r ${DESTDIR} \ - autoremove -y - if [ -n "${NOPKGBASE}" ]; then - metalog_add_data ./var/db/pkg/local.sqlite - fi - else - if [ -n "${WITHOUT_QEMU}" ]; then - return 0 - fi - - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg bootstrap -y - for p in ${VM_EXTRA_PACKAGES}; do - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg install -y ${p} - done - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/sbin/pkg autoremove -y + install -y -r ${PKG_REPO_NAME} $pkg + done + INSTALL_AS_USER=yes \ + ${PKG_CMD} \ + -o ABI=${PKG_ABI} \ + -o REPOS_DIR=${PKG_REPOS_DIR} \ + -o PKG_DBDIR=${DESTDIR}/var/db/pkg \ + -r ${DESTDIR} \ + autoremove -y + if [ -n "${NOPKGBASE}" ]; then + metalog_add_data ./var/db/pkg/local.sqlite fi return 0 @@ -276,18 +255,11 @@ vm_emulation_cleanup() { } vm_extra_pkg_rmcache() { - if [ -n "${NO_ROOT}" ]; then - ${PKG_CMD} \ - -o ASSUME_ALWAYS_YES=yes \ - -o INSTALL_AS_USER=yes \ - -r ${DESTDIR} \ - clean -y -a - else - if [ -e ${DESTDIR}/usr/local/sbin/pkg ]; then - chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \ - /usr/local/sbin/pkg clean -y -a - fi - fi + ${PKG_CMD} \ + -o ASSUME_ALWAYS_YES=yes \ + -o INSTALL_AS_USER=yes \ + -r ${DESTDIR} \ + clean -y -a return 0 } @@ -306,57 +278,55 @@ buildfs() { done < ${DESTDIR}/METALOG.pkg fi - if [ -n "${NO_ROOT}" ]; then - # Check for any directories in the staging tree which weren't - # recorded in METALOG, and record them now. This is a quick hack - # to avoid creating unusable VM images and should go away once - # the bugs which produce such unlogged directories are gone. - grep type=dir ${DESTDIR}/METALOG | - cut -f 1 -d ' ' | - sort -u > ${DESTDIR}/METALOG.dirs - ( cd ${DESTDIR} && find . -type d ) | - sort | - comm -23 - ${DESTDIR}/METALOG.dirs > ${DESTDIR}/METALOG.missingdirs - if [ -s ${DESTDIR}/METALOG.missingdirs ]; then - echo "WARNING: Directories exist but were not in METALOG" - cat ${DESTDIR}/METALOG.missingdirs - fi - while read DIR; do - metalog_add_data ${DIR} - done < ${DESTDIR}/METALOG.missingdirs - - if [ -z "${NOPKGBASE}" ]; then - # Add some database files which are created by pkg triggers; - # at some point in the future the tools which create these - # files should probably learn how to record them in METALOG - # (which would simplify no-root installworld as well). - metalog_add_data ./etc/login.conf.db - metalog_add_data ./etc/passwd - metalog_add_data ./etc/pwd.db - metalog_add_data ./etc/spwd.db 600 - metalog_add_data ./var/db/services.db - fi + # Check for any directories in the staging tree which weren't + # recorded in METALOG, and record them now. This is a quick hack + # to avoid creating unusable VM images and should go away once + # the bugs which produce such unlogged directories are gone. + grep type=dir ${DESTDIR}/METALOG | + cut -f 1 -d ' ' | + sort -u > ${DESTDIR}/METALOG.dirs + ( cd ${DESTDIR} && find . -type d ) | + sort | + comm -23 - ${DESTDIR}/METALOG.dirs > ${DESTDIR}/METALOG.missingdirs + if [ -s ${DESTDIR}/METALOG.missingdirs ]; then + echo "WARNING: Directories exist but were not in METALOG" + cat ${DESTDIR}/METALOG.missingdirs + fi + while read DIR; do + metalog_add_data ${DIR} + done < ${DESTDIR}/METALOG.missingdirs - if [ -n "${MISSING_METALOGS}" ]; then - # Hack to allow VM configurations to add files which - # weren't being added to METALOG appropriately. This - # is mainly a workaround for the @sample bug and it - # should go away before FreeBSD 15.1 ships. - for P in ${MISSING_METALOGS}; do - metalog_add_data ${P} - done - fi + if [ -z "${NOPKGBASE}" ]; then + # Add some database files which are created by pkg triggers; + # at some point in the future the tools which create these + # files should probably learn how to record them in METALOG + # (which would simplify no-root installworld as well). + metalog_add_data ./etc/login.conf.db + metalog_add_data ./etc/passwd + metalog_add_data ./etc/pwd.db + metalog_add_data ./etc/spwd.db 600 + metalog_add_data ./var/db/services.db + fi - # Sort METALOG file; makefs produces directories with 000 permissions - # if their contents are seen before the directories themselves. - env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted - mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + if [ -n "${MISSING_METALOGS}" ]; then + # Hack to allow VM configurations to add files which + # weren't being added to METALOG appropriately. This + # is mainly a workaround for the @sample bug and it + # should go away before FreeBSD 15.1 ships. + for P in ${MISSING_METALOGS}; do + metalog_add_data ${P} + done fi + # Sort METALOG file; makefs produces directories with 000 permissions + # if their contents are seen before the directories themselves. + env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted + mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + case "${VMFS}" in ufs) cd ${DESTDIR} && ${MAKEFS} ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \ - ${VMBASE} .${NO_ROOT:+/METALOG} + ${VMBASE} ./METALOG ;; zfs) cd ${DESTDIR} && ${MAKEFS} -t zfs ${MAKEFSARGS} \ @@ -376,7 +346,7 @@ buildfs() { -o fs=zroot/var/log\;setuid=off\;exec=off \ -o fs=zroot/var/mail\;atime=on \ -o fs=zroot/var/tmp\;setuid=off \ - ${VMBASE} .${NO_ROOT:+/METALOG} + ${VMBASE} ./METALOG ;; *) echo "Unexpected VMFS value '${VMFS}'" From nobody Thu Jan 29 17:09: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 4f25H30s7Wz6R17N for ; Thu, 29 Jan 2026 17:09:51 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic311-24.consmr.mail.gq1.yahoo.com (sonic311-24.consmr.mail.gq1.yahoo.com [98.137.65.205]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4f25H23zrCz3MVD for ; Thu, 29 Jan 2026 17:09:50 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1769706583; bh=zXVLjQitDQOT1Sz+9v4hHZ30n3IBQQwnJh+hQd4nTBs=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=eyQ++AIZN0AxgmBtsc97ulnwSZ8zAVXsontTEgJXD1WgM4qNdB3O7/IKxfcLuZ2Y+NxPS2Nx61T77pgdEudQk+L7186XCYreaL9gr7NjH/KmpLG0l1PRZThlh3blvK3lwVdsdGSmaeR04IJO9/LCPJhCa35HmztWFcLhMe/W+TVj8QoqD7oo1bk+ubRuQnPowZPaiO+g051thTuDVoDcDFS5KL53YbZk9VVpKYR9dOUEFlSzeLUDwcMF/NZqLNfJcte2JfC1eMcaRlSDYiJg0XPIJjOuMe8Wj9kzf5WSVA8NvwSemAiAoKiEIggIIikC1Re/RrkGabqjpai6ipxlRw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1769706583; bh=JWTpJnhIWKflKKhvwKu3VySioDH56SP1h+Gr2zwLgAG=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=JKZzEwdetlfmPrJnok01Ry3bYQYtav0R/DxUbSg50edx+j3OQJloCgWuSjvWOWIEibVn5CyQ7ocuuuy3WeBhjjr8nfEcrXYYvVS4pox+9rwPnNeFgaMNlu9sDy4mBdU3r+iOdzuWNMx6j68N99XGyPQiGudFHLXLqj65i2o5RSUW5UnH3/75khI1FtIUzsMgLKDhI5fQBqsvSnX0FRBdkVhDLqUVthDbjJkSeY7lxyEMIfC/3Cj7ukntAEYY7/8EF9uibVmTMaojo0B82EXydFxi88OeWoQvdExfRoTW1HJmZoB+HNCmqLqHONMFtmMeMxe7jSY5+xu3PZ8wRlq3MQ== X-YMail-OSG: Og85wZsVM1n_yIPeXnJGeyf1paySb.7P2t5bj1tvZwlEDeW1i.IynoM2UYHuXUw qRKVuUfc69O1Mwrc5H9cHbrqF4zf1gYvjmQvFrw7Ec9z_CnxcbNdh1Bqz8lTCGd.VabjEXqjuFcj yuOloZdGseuKFexWtI6AO7uWJ.kqyjm5ghHHM8bv9UNmG7sLX7L_jMhGONA5M0Gws1an4kBq.KV4 IDe544rX3tPFgN2xiTaSI9z2hvY_NEbQdzsItyQ_Tm35sG2.1ZWVgB74q.RLMARbCNu_vWJlaNS4 LQBhYl6w8oBv2Lzf8H.tabeDMKo6OuS.rd9Ivt1ZWrvllXAZhOJ09Lm.kbEy3WN6rjFfotjnndCU sIsYmBRhxBVZWlt5XG33y7LsdcrE4BJ.oUUn_uX8Fh8YRgPglyxdhSzcr43WKSS1HHaosFsPZ9Z0 p2pl04XStgOReYfhoBvrQrIVRn62MJKoIY5FArbMpkT0yT7f17aQ20ChgSCV5qUeo2yNF5f8iMNc Ls56TCsREdEhwwMuc7ZnaEgOoX9MC0f5OPHcYZQyIT7WU9KPlW980vNBjkktTTxtApYuZ4zKJNty jYcUZTUsw2CSXcpEW8Su8RksASIAbcx8K6xgI8FuGJL3g8cUE8gOkAGbo1RUhfq87bCLjJKDLOXE aqgm_Vl_RSlz95HXagK48lRiGFLoK_Q_7m2zhZFiomXMfEojsdRyg7XC3IhbS27d8wVbB77n0r_B l5_MFBHRM4wl0pi39P0O3koqMT1MBb5RnG6SfhKTYBUHKAJdLN0pEGIHRkXyPoHfZZ3hP4vArK1N Z6g9J2nFoynHexiqciMO1d5voRVGmphF07q7u7fNOKGas6WHxuMcFeFyBJ5M0WKO1AfROQyXqvld 6KvJSoRzL1NYCfvzsy8xCL.IV6pXE3d7.0tfDlFLpfzRjw6IaGf8okehvukf_tkLRLlszC8pREWd tkw_XmzXE3jNwGXEAH2nivkt123xAZTq1hRSpLmh4vVMalfUQAeN5ZOCK5y7mB1fMyOz3JFumsuF JuE69e_33h0Vjn8fsHVptDA3Jy7UzA6hoFj4tN5WN.TMbp6Ux7tpTGcjEAtk.Tou23GBdomkVDJL OSUjZnCJ_WEzfXIAAqEGPkMDuOlWAt7HklSeZqFH98EPcxqUKnwmO_OG7ADPc4BPyghymELfQ.oL 8dJMYvsYIYUe7ruvfrqP_pJWoG9UcIiLW249ysnLIiHAPzPzAIYlBiNtviHiLcy11RhK2mWXtWs6 lrqTpQevWFlvHv5QzguSN2m10HsPTM3QxrJ.k7xfPkTxnKlmeS7OC6kfq3ZQ665xocpijQSUf_0F 1zVmRfseLZhQIgr_ukJe2gkev39r_l2YLtoWBVnvdsdNeeIrBN05kcfQJELJ5IifyKQ.gAtHjZiZ yFyfTFJv9pao185F5ZIP7f79zLxJrzE3U7cUtZ3OZoy69xmKFNfRssbUhfSQ8U87skPXmv8Q9k9G JEEkWhQe6KYyWN0ZdngUFWc2Nic1qWnMwr3siMU_Rm0ZACi5Dsu5zKPXBJYQm8o9dma8wtMj7Rpf P9IdP9jaRGZHoWridPpzKW70qjGlY.WZo_pcVL4QJPmm1dnnuN2pA3PAk7PlPJixTvaGDnhOR0aS yHplkveBX1JEKt7ab1Ro2uKF2SpQ1IiMCdZ9W_HYFXO1GjQtz63FVraQyVICKutAZ35_KwFtBduP vwZ0lbRifL1Dlz_SOiC9KqLA7elOa_Lfjt8nelJ01j4dtWMC8x.qU4yrhLFWg_h5iVELRcmOcuzD Ezwfb5nBS6Wz25mozsDIPowbnlq.AGu1KMg5ZQeB3c4aYv1TIDDH0IbJ2grMDZRvvqGhmHZcs5IS jG6Ty7yn..DtadnrQVshiJ7mS.i0XI1clUAXZPsck3ulB0vAvxt7c._RhHZhikZQsfSAHjF9s2wr wktJp3xeNI9gTZ1p79IgWpYHPj8aa4ah_RvI8V9T7fNfJyqDkuM.HM18ft0SVZ0xqL71X2yLfQ1g 0A7ReTy3gel7Jnoj.DN36jrBfJmJTeJhMaZBRnE_mHJx32ff5r6n_Pf2Tmun1KrvCKA456TjHBfc .BGPaf99Moa4NY9Vng199t3k95xBNd_lK42EpO0ntdeCEKziuUijxeHsTFESjCOzygX4OJjI8bGb dOqz3uIHEDjY948NZdtFL51X1KWylLvXRUd_CVOr_TJcG2NlN8sr2iNF0zJkKF3eAdGgA6LbEbK3 MqG3OaxLanIJjRXv6EcJJrDh3xCVZVEzJKEt8gcbRvqFm57Nx0nM7s3Z.LoY3jWek24hkiojQM4M DwC2KkZdlm61l9KhgGZZZzEfzLxxQrR0geXQu8xPMqTGW1sxFfw-- X-Sonic-MF: X-Sonic-ID: b19e011d-36b4-436c-8379-adfc254aa5e0 Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.gq1.yahoo.com with HTTP; Thu, 29 Jan 2026 17:09:43 +0000 Received: by hermes--production-gq1-86969b76cd-n48h7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 3a505aa9e763b312140aac5d2f1713af; Thu, 29 Jan 2026 17:09:37 +0000 (UTC) Message-ID: <1ecdc41d-6d16-45e1-9e32-dade86348d16@yahoo.com> Date: Thu, 29 Jan 2026 09:09:36 -0800 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: 56970c3c4b0b - main - loader: Prefer comma-separated list of values for "console" To: Michael Osipov , freebsd-stable@freebsd.org Cc: Warner Losh , dev-commits-src-main@FreeBSD.org References: <697b1e0e.27b69.ae3352c@gitrepo.freebsd.org> <40a3f9a2-3adc-470b-8dcb-63b166e2cf14@FreeBSD.org> Content-Language: en-US From: Mark Millard In-Reply-To: <40a3f9a2-3adc-470b-8dcb-63b166e2cf14@FreeBSD.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailer: WebService/1.1.24987 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4f25H23zrCz3MVD X-Spamd-Bar: ---- On 1/29/26 08:31, Michael Osipov wrote: > On 2026-01-29 17:22, Mark Millard wrote: >> On 1/29/26 00:45, Michael Osipov wrote: >>> The branch main has been updated by michaelo: >>> >>> URL: https://deu01.safelinks.protection.outlook.com/? >>> url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D56970c3c4b0bc61d972837661a31cc2b9e8e8d7c&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005625974477%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=PsvT9MHa5qWyE2CBQGLbDG30GT8AWpltNOu3JrYO%2BK4%3D&reserved=0 >>> >>> commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c >>> Author:     Michael Osipov >>> AuthorDate: 2026-01-28 09:02:33 +0000 >>> Commit:     Michael Osipov >>> CommitDate: 2026-01-29 08:44:45 +0000 >>> >>>      loader: Prefer comma-separated list of values for "console" >>>           PR:             292595 >>>      Reviewed by:    imp >>>      MFC after:      1 week >>>      Differential Revision:  https:// >>> deu01.safelinks.protection.outlook.com/? >>> url=https%3A%2F%2Freviews.freebsd.org%2FD54923&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005625994409%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=fqqWtXQep%2FyB%2BinUOiod%2FO%2BqDOOQ4UC5O4KzvM36C7Q%3D&reserved=0 >>> --- >>>   release/tools/azure.conf     | 2 +- >>>   release/tools/openstack.conf | 2 +- >>>   stand/efi/loader/main.c      | 4 ++-- >>>   stand/i386/loader/main.c     | 4 ++-- >>>   4 files changed, 6 insertions(+), 6 deletions(-) >>> >>> diff --git a/release/tools/azure.conf b/release/tools/azure.conf >>> index 981e40566a1c..4fa6ba4d924d 100644 >>> --- a/release/tools/azure.conf >>> +++ b/release/tools/azure.conf >>> @@ -59,7 +59,7 @@ autoboot_delay="-1" >>>   beastie_disable="YES" >>>   loader_logo="none" >>>   hw.memtest.tests="0" >>> -console="comconsole efi vidconsole" >>> +console="comconsole,efi,vidconsole" >>>   comconsole_speed="115200" >>>   boot_multicons="YES" >>>   boot_serial="YES" >>> diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf >>> index 9ce65a75c3c5..6cfb02bab9af 100644 >>> --- a/release/tools/openstack.conf >>> +++ b/release/tools/openstack.conf >>> @@ -33,7 +33,7 @@ vm_extra_pre_umount() { >>>       echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf >>>       echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf >>>       echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf >>> -    echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/ >>> loader.conf >>> +    echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/ >>> loader.conf >>>       echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf >>>         # Reboot quickly, Don't wait at the panic screen >>> diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c >>> index 22dbd10a0f37..7ff2cf188509 100644 >>> --- a/stand/efi/loader/main.c >>> +++ b/stand/efi/loader/main.c >>> @@ -1316,10 +1316,10 @@ main(int argc, CHAR16 *argv[]) >>>                   setenv("console", "comconsole", 1); >>>                   break; >>>               case VID_SER_BOTH: >>> -                setenv("console", "efi comconsole", 1); >>> +                setenv("console", "efi,comconsole", 1); >>>                   break; >>>               case SER_VID_BOTH: >>> -                setenv("console", "comconsole efi", 1); >>> +                setenv("console", "comconsole,efi", 1); >>>                   break; >>>                   /* case VIDEO_ONLY can't happen -- it's the first >>> if above */ >>>               } >> >> [Note: I CC'd Warner just because I'm not sure anyone else knows for >> sure about this area's complicated history and issues.] >> >> >> This looks possibly wrong to me for efi for all but amd64 --but for the >> references to comconsole, not the space vs. comma issue. >> >> >> stand: efi create eficom console device. >> (2023-05-11) >> >> QUOTE of > url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2Fstand%2Fefi%3Fid%3D2f131435bc22&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005626005673%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=b7UCUYk%2BJZ4wfJpjvdpv3zW7Vjuep0reJkcNgpl%2B3Gk%3D&reserved=0> >> console=comconsole talks to the hardware directly. This is available >> only on amd64. It is not available anywhere else (and so requires >> changes for people doing comconsole on aarch64) >> >> console=eficom talks to the console via EFI protocols.  It's available >> on amd64, aarch64 and riscv64. It's the first port that we find, though >> it can be overriden by efi_com_port (which should be set to the UID of >> the serial port, not the I/O port, despite the name). devinfo -v >> will give the UID to uartX mapping. >> >> This is an incompatible change for HYPER-V on amd64. It only works with >> eficom console, so you'll need to change your configuration in >> loader.conf. No compatibility hack will ever be provided for this (since >> it requires renamig, which the loader cannot reliably do). >> >> It's also an incompatible change for aarch64. comconsole will need to >> change to eficom. There might be a comconsole "shim" for this. >> END QUOTE >> >> >> stand: add comconsole backwards compatibility shim for aarch64 >> (2023-05-11) >> >> QUOTE of > url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2Fstand%2Fefi%3Fid%3Df93416d67743&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005626016462%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=%2BcXcfrBSDtWBYluSYlONTo%2FzYP761LUbk5mfxjQ3Brg%3D&reserved=0> >> Add a compat shim for the "comconsole" name so that people with a >> "console=comconsole" in their loader.conf on aarch64 will continue to >> work (though with a warning). >> >> This is only aarch64: it will never be there for amd64 (where comconsole >> always means talk to the hardware directly). To do that is too hard. >> END QUOTE >> >> >> But that last (f93416d67743) is only for: >> >> +#if defined(__aarch64__) && __FreeBSD_version < 1500000 >> +/* Hack for backward compatibility -- but only for a while */ >> +extern struct console comconsole; >> +#endif >> . . . >> +#if defined(__aarch64__) && __FreeBSD_version < 1500000 >> +    &comconsole, >> +#endif >> . . . (and so on) . . . >> >> So, as of FreeBSD 15+, aarch64 does not have comconsole as far as I can >> tell. >> >> >> It looks to me like for FreeBSD 15+ eficom should be referenced mostly, >> instead of comconsole, comconsole being only for amd64. >> >> For FreeBSD 14.3+ and stable/14 it may be that comconsole should be used >> for amd64 and aarch64. (stable/13 does not have the commits at all.) >> >> >> There is also a prior: >> >>         if (efi_has_gop()) >>             how |= RB_MULTIPLE; >>         else >>             how |= RB_MULTIPLE | RB_SERIAL; >>         setenv("console", "efi,comconsole", 1); >> >> and: >> >> #if defined(__riscv) >>     /* >>      * This workaround likely is papering over a real issue >>      */ >>     if ((uhowto & RB_SERIAL) != 0) >>         setenv("console", "comconsole", 1); >> #endif >> >> that may well both be wrong for stand/efi/loader/main.c too. > > Hi Mark, > > thanks for raising. I do not fully understand the point you are trying > to make. This change is a spinoff from https://reviews.freebsd.org/ > D54843 where we identified that comma is the preferred separator, but > space is allowed as well. For consistency reasons I have updated > everything to comma. I didn't change the actual values. > > Can you clarify? > > Michael > > Sounds like you were not the right person to reference for this and you might not be involved if anything does happen related to my notes/questions. Also: not tied to what you report for the context for your change. I was just prompted to think of the issue by the text presented in the commit. I had not been tracking the prior stages of your activity. I expect that my basic questions about the use of comconsole in stand/efi/loader/main.c are still appropriate, even if you would not be involved in answering them. I think I'll try to move this to freebsd-stable@ since it is off topic to your purpose in your commit. Future replies could omit: dev-commits-src-main@ -- === Mark Millard marklmi at yahoo.com From nobody Thu Jan 29 17:45: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 4f26463g6Nz6Pb4r for ; Thu, 29 Jan 2026 17:45: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 4f26462s77z3SmR for ; Thu, 29 Jan 2026 17:45:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769708726; 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=k8qa/RTSHgzg7FXDLmld6ZfCfWCSl64O8qJNgLWc2PI=; b=GvadbUJz5A2endjPSBrPwcDHrBSU0U2z6FPHpJVGU7eZh95TsMz5J5ly0tHwO6KxHVLcfn zlK2vluY8ofiQiYxuc2j4eZLuhxK+JEvwem8QguC1uxt4gwrffbuvKE2I6/9NacG3BW1J4 Pyfc+GHyTvbJV6G3ULLwKzO/l8mB1kLm4MulRPmCaTLO7bfFuAxOJvfDh3QJ5SjFoEA0n8 HnZOwrF8nqQM1rkeQRkTTy7O5c8+hnwM8fRsO0Iw/c8xLPYy3nBlGRN/ibY34EJPl5Macl Whfbiu+K/bZy8f5WiB3WzKrWnYekrHH7Q+cRmqrCf2JLzYqVAZj0dHEeJLWAUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769708726; a=rsa-sha256; cv=none; b=Dn6zgCjMZUaf/kQDTIEbBuHQuvl8qmCJZLTkTmzSPho83B+8sZu3CFYJBMeUIJdE8+qIdw JEmfl5OjPOdjkeBUF5pd8Q+grnqzy9jpOwKH+nmk4FRXzOoZQj5eoNoF8MiGX61YFIN1t5 bQ5OVa/veBqM08KurHM1oIMGkADHkO6GlBicsiOvwu84PxWFQZ7jUXL4Z2tM3We+O9pnuX JWzPhpxcQnBU3PlFZAQOVzrr3CqrY6R3B7lgw1/1AwZh/7MABcfuHEB9fDZLo/wMwV+3Y6 CB+kLlcSxZO+ECWHDJjYP9c7nhiKSAKcf5b6DEoKr0+I2jhxR/eyu2Mvv4Ev2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769708726; 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=k8qa/RTSHgzg7FXDLmld6ZfCfWCSl64O8qJNgLWc2PI=; b=qs6ubyahOD2tKTbggzZgyTlIs6U5xp5RyG6lR0RjaByDRDVxPM4eCgJ6KezV29sMPxYgKa iqoWdGLRKgnry8M6zoATbEa686qmfUnftq53bAEP0CA3WxlNAu3HlcMbXm8wlsxtRPCYJS ObFBlUI2qCeCWxsodilXqgajmbs8u1AOz0GqgeiC/MbMmXcfV+2zt9Q+YKaf6fn7tjOEil MMneeGRHyRTcExCPLD/h98ZozzrQ/tBijt9ReU5W1AvZ+w45BDm5SL/mJJ6l9rtkrTiSLJ 6+r2pwMOx2CN2RDReGbGP6xzHbEHxtvCI1sKBhDZYIcH+rBtCN8+ebi/tpe24Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26461gPtzpKH for ; Thu, 29 Jan 2026 17:45:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 466bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 17:45:26 +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: 2711852bd9ac - main - sh.1: Provide detailed job control documentation 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: 2711852bd9ac3ab78d2b128d3549ff437d2a09af Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 17:45:26 +0000 Message-Id: <697b9cb6.466bd.2a38b342@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=2711852bd9ac3ab78d2b128d3549ff437d2a09af commit 2711852bd9ac3ab78d2b128d3549ff437d2a09af Author: Artem Bunichev AuthorDate: 2026-01-29 17:08:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-29 17:08:47 +0000 sh.1: Provide detailed job control documentation Adopt the POSIX standard text to our implementation. PR: 206284 Reviewed by: des, jilles, ziaee Differential Revision: https://reviews.freebsd.org/D49895 --- bin/sh/sh.1 | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 182 insertions(+), 9 deletions(-) diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index b37e4785c871..dc3ebfb17215 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -31,7 +31,17 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 17, 2025 +.\" Portions of this text are reprinted and reproduced in electronic form +.\" from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- +.\" Portable Operating System Interface (POSIX), The Open Group Base +.\" Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of +.\" Electrical and Electronics Engineers, Inc and The Open Group. In the +.\" event of any discrepancy between this version and the original IEEE and +.\" The Open Group Standard, the original IEEE and The Open Group Standard is +.\" the referee document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. +.\" +.Dd January 27, 2026 .Dt SH 1 .Os .Sh NAME @@ -254,10 +264,9 @@ Force the shell to behave interactively. .It Fl l Force the shell to act as if it has been invoked as a login shell. .It Fl m Li monitor -Turn on job control (set automatically when interactive). -A new process group is created for each pipeline (called a job). -It is possible to suspend jobs or to have them run in the foreground or -in the background. +Turn on job control (see +.Sx Job Control ) . +Set automatically when interactive. In a non-interactive shell, this option can be set even if no terminal is available and is useful to place processes in separate process groups. @@ -1120,7 +1129,9 @@ and known jobs are cleared. Any changes do not affect the parent shell environment. .Pp A subshell environment may be implemented as a child process or differently. -If job control is enabled in an interactive shell, +If job control is enabled in an interactive shell +(see +.Sx Job Control ) , commands grouped in parentheses can be suspended and continued as a unit. .Pp For compatibility with other shells, @@ -1940,6 +1951,58 @@ if any). To include a .Ql - , make it the first or last character listed. +.Ss Job Control +A job is a set of processes, comprising a shell pipeline +(see +.Sx Pipelines ) , +and any processes descended from it, that are all +in the same process group. +.Pp +The job control facility allows users to +selectively suspend the execution of processes (by pressing +.Sq Ctrl-Z , +if not adjusted using +.Xr stty 1 ) , +continue their execution at a later point, +and run them in the foreground or in the background (using builtins +.Ic fg +and +.Ic bg ) . +.Pp +A job ID is a handle that is used to refer to a job. +It can take any of the following forms: +.Bl -tag -width "%?string" +.It Cm %% +Current job. +.It Cm %+ +Current job. +.It Cm %- +Previous job. +.It Cm % Ns Ar n +Job number +.Ar n . +.It Cm % Ns Ar string +Job whose command begins with +.Ar string . +.It Cm %? Ns Ar string +Job whose command contains +.Ar string . +.El +.Pp +The job control built-in commands +are: +.Ic bg , +.Ic fg , +.Ic jobid +and +.Ic jobs . +Additionally, the following built-in commands accept a job ID +as an argument: +.Ic kill , +.Ic wait . +See +.Sx Built-in Commands +below. .Ss Built-in Commands This section lists the built-in commands. .Bl -tag -width indent @@ -1993,6 +2056,9 @@ subsection. Continue the specified jobs (or the current job if no jobs are given) in the background. +See +.Sx Job Control +for a list of job ID forms. .It Ic bind Oo Fl aeklrsv Oc Oo Ar key Oo Ar command Oc Oc List or alter key bindings for the line editor. This command is documented in @@ -2353,6 +2419,9 @@ The number of previous commands that are accessible. Move the specified .Ar job or the current job to the foreground. +See +.Sx Job Control +for a list of job ID forms. .It Ic getopts Ar optstring var Parse command-line options and arguments. The first argument @@ -2436,19 +2505,118 @@ Print the process IDs of the processes in the specified If the .Ar job argument is omitted, use the current job. +See +.Sx Job Control +for a list of job ID forms. .It Ic jobs Oo Fl lps Oc Op Ar job ... Print information about the specified jobs, or all jobs if no .Ar job argument is given. -The information printed includes job ID, status and command name. +See +.Sx Job Control +for a list of job ID forms. .Pp If the .Fl l -option is specified, the PID of each job is also printed. +option is not specified, the output line is the following +for each job: +.Dl Oo Ar job_number Oc Ar current Ar state Ar command +where: +.Bl -tag -width "job_number" +.It Ar job_number +A number that can be used to identify the process group to the +.Ic bg , +.Ic fg , +.Ic kill +and +.Ic wait +commands. +Using these commands, the job can be identified by prefixing +the +.Ar job_number +with +.Cm % . +See also +.Sx Job Control . +.It Ar current +One of the following characters: +.Bl -tag -width "" +.It Cm + +Identifies the job that would be used as a default for the +.Ic fg +or +.Ic bg +commands. +.It Cm - +Identifies the job that would become the default if the +current default job were to exit. +.It Cm Aq space +For all other jobs that are neither marked with +.Cm + +nor +.Cm - . +.El +.It Ar state +One of the following strings, describing the current job state: +.Bl -tag -width "Stopped (tty output)" +.It Running +Indicates that the job has not been suspended by a signal and +has not exited. +.It Done +Indicates that the job completed and returned exit status zero. +.It Done Ns Pq Ar code +Indicates that the job completed normally and that it exited +with the specified non-zero exit status, +.Ar code . +.It Suspended +Indicates that the job was interrupted by the +.Dv SIGTSTP +signal. +This is typically because +.Sq Ctrl-Z +was pressed. +.It Suspended Pq signal +Indicates that the job was interrupted by the +.Dv SIGSTOP +signal. +.It Stopped Pq tty input +Indicates that the job was interrupted by the +.Dv SIGTTIN +signal. +This is typically because the command attempted to read from the +terminal while in the background. +.It Stopped Pq tty output +Indicates that the job was interrupted by the +.Dv SIGTTOU +signal. +This is typically because the command attempted to change terminal +settings or (if +.Ic stty tostop +is in effect; see +.Xr stty 1 ) +write to the terminal while in the background. +.El +.Pp +See +.Xr signal 3 +for additional information on the meanings of the aforementioned signals. +.El +.It Ar command +The associated command that was given to the shell. +.El +.Pp +If the +.Fl l +option is specified, the PID of the job is +inserted before the +.Ar state +field. +.Pp If the .Fl p option is specified, only the process IDs for the process group leaders are printed, one per line. +.Pp If the .Fl s option is specified, only the PIDs of the job commands are printed, one per @@ -2456,7 +2624,11 @@ line. .It Ic kill A built-in equivalent of .Xr kill 1 -that additionally supports sending signals to jobs. +that additionally supports sending signals to jobs, +by means of specifying their job IDs as arguments. +See +.Sx Job Control +for a list of job ID forms. .It Ic local Oo Ar variable ... Oc Op Fl See the .Sx Functions @@ -2941,6 +3113,7 @@ will return the argument. .Xr execve 2 , .Xr getrlimit 2 , .Xr umask 2 , +.Xr signal 3 , .Xr wctype 3 , .Xr editrc 5 , .Xr shells 5 From nobody Thu Jan 29 17:45: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 4f26473Ydmz6PbMY for ; Thu, 29 Jan 2026 17:45: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 4f264728Dzz3Sk8 for ; Thu, 29 Jan 2026 17:45:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769708727; 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=0fOeY4h2fBVo9VDD7ihHK4WmEfK3/YbQr994krN3csM=; b=j074hMGBvX6ajC6+hvXF2+U6AGI/mdy8hgpGcuiQHRlTyHAtBLmzMy9sSC1PWtkSc7xf49 3hCMEpFp1xmrCAhGWbTr5uaIjbF5xqc0U62z8Gg/rCKwCTEpZZIteHNE1SXHzo5sEVI/0s zLSJ56yzf6eNaQnEPIxJIL8pgahGo0rFc7ckFpozmDbZJixJlyAG62CQsgoyGNbIcx1Npq EBgt+5oqznk9E2j20Pb5Mif6f50l3bur0jEUUo6cqnoj5LMYGUUWUMbm49rNEeYuKuYwCt HmeESnQs5GdRkbLBkvpG7hYuSo4j4cf25FJiobrvH+jQszj9QnEBTj66A0elGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769708727; a=rsa-sha256; cv=none; b=EWkZ0v0FEJMJznzKXWbHgqiLg5QQQLfcFu4o96b8GyacILD+qJBYTEfDx+jf/zemeq+l8J xd4DqM0Kh7WiTdewCdyzwnqpq9K86RHc/GgND+nc5Szw4CVcKy7tOz/vlcNcIjtPxV4tUp OOBJTVgHHoyEqGxOHwztwAnATZ7zUzxvUPNGFrWSRkqjnZagP64kz5ZhDpuvwUUjwEjmRy v0aHP2W8Dkr9Hu2AgqdP/uBsAt1BqIou4FCOLL02FLmdKW60u0Jiad88pa1JQ3Eymv7zCe 6I9D13AxPBQbAvJsqloqtopsl7ldGLtQAW9LIL+fU8KCTPk2YE1fG7x5j6YYGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769708727; 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=0fOeY4h2fBVo9VDD7ihHK4WmEfK3/YbQr994krN3csM=; b=EDXlAH/5nxdK+xcrHsmDV1JSut19iQE2SHYvVZAw26PwzVR6xA3DzqLMsgi5aJdK6e9mbG kww2Q6VmLnHvoCNB33JOVxohgQk8uWru4X4ROh+WXJv0BKIvqly46AyYfRS/SK2Y58NE/6 +MInsU3IlVKqmpbdjTwlfZbe/triVGV4+yp7ZMXh/6Fxx+8IM8L1qyXtTkYZJNK3trhhL8 VC0N7fU/Vj2xXvkzG+Oz0A8NxCqHbFCMGh12uraHmoNxxJyM7rQwj0mDRDZFxBUC9+nf+Y flOa1QzkkhimIqDtn452N+T0IvTefOXmuP8nWmPSZoCHP5+4CKn6kfcVgkbDiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26471d5wzpSZ for ; Thu, 29 Jan 2026 17:45:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45140 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 17:45:27 +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: eb0fc67c45a0 - main - src.conf.5: Cross-reference uname(1) manual 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: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb0fc67c45a0fcedf8d5975f80780240f4ed0680 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 17:45:27 +0000 Message-Id: <697b9cb7.45140.3151b6b2@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=eb0fc67c45a0fcedf8d5975f80780240f4ed0680 commit eb0fc67c45a0fcedf8d5975f80780240f4ed0680 Author: Artem Bunichev AuthorDate: 2026-01-29 17:44:28 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-29 17:44:46 +0000 src.conf.5: Cross-reference uname(1) manual page Reviewed by: emaste, ziaee Differential Revision: https://reviews.freebsd.org/D54688 --- share/man/man5/src.conf.5 | 6 ++++-- tools/build/options/WITHOUT_REPRODUCIBLE_BUILD | 4 +++- tools/build/options/WITH_REPRODUCIBLE_BUILD | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index e3c4139e304e..48896e761822 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 20, 2026 +.Dd January 29, 2026 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1604,7 +1604,9 @@ See also the option. .It Va WITH_REPRODUCIBLE_BUILD Exclude build metadata (such as the build time, user, or host) -from the kernel, boot loaders, and uname output, so that builds produce +from the kernel, boot loaders, and +.Xr uname 1 +output, so that builds produce bit-for-bit identical output. .It Va WITH_REPRODUCIBLE_PATHS Modify the paths encoded in binary artifacts to be standard path diff --git a/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD b/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD index feabaed77fb1..ae1f65204f1d 100644 --- a/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD +++ b/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD @@ -1,3 +1,5 @@ Include build metadata (such as the build time, user, and host) -in the kernel, boot loaders, and uname output. +in the kernel, boot loaders, and +.Xr uname 1 +output. Successive builds will not be bit-for-bit identical. diff --git a/tools/build/options/WITH_REPRODUCIBLE_BUILD b/tools/build/options/WITH_REPRODUCIBLE_BUILD index 46080d9ffd28..949eed15a230 100644 --- a/tools/build/options/WITH_REPRODUCIBLE_BUILD +++ b/tools/build/options/WITH_REPRODUCIBLE_BUILD @@ -1,3 +1,5 @@ Exclude build metadata (such as the build time, user, or host) -from the kernel, boot loaders, and uname output, so that builds produce +from the kernel, boot loaders, and +.Xr uname 1 +output, so that builds produce bit-for-bit identical output. From nobody Thu Jan 29 18:05: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 4f26Wg6dB0z6PcjG; Thu, 29 Jan 2026 18:05:51 +0000 (UTC) (envelope-from bz@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 4f26Wg5wlLz3X2n; Thu, 29 Jan 2026 18:05:51 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769709951; 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=MU0lROsf6b68YqlqSr5DmwP4cB9HzlVVNjjbcEEQiLQ=; b=dFhb7kRH1Og4w+g3pU9iHy/GhqQMkyqZ7DC44LLwst+8jaEiVbOeaCMWNtNtx6KS3OtUT/ Co9er6cZhtEMuh1KjplOSQfOzhRKqKCtSrd19GivddJHQo8ey9m8h/QA2Na6K8cqU79dJC fsZHshtFd/BlfOIl4w98C1qZUN9IiPygAgoF/5Ek6P6z27Gi60W4dZ0U0c+tbDllXJoFHT ej0nZ3ioeZ6wB4sKQlnCxH7Xdssl/VDQtQF5B2dWd1gBrmb5JOEjlZdRPiAe2fHF77O1Vr NJyLVBY6FE0r+Mm9g9IM5VLdFyx6yb1nfYhdwkt9fd/gyFlSKgErw/VV55sKDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769709951; a=rsa-sha256; cv=none; b=lLW0WDCM6t8kkevkzJnlGOa/iT4U1gpFR0Q751jieb9KKQThYBa/3bKWGFSxrlUsBj6FQH EQ+7tNd4XUAu3tshUd4iFuJpYaUJV6f7S4lDeexI1BAMs4OssuJK2T81irfEfAmG3bputj GPx8LWAvYuYi6xxtOGu9m5x1oioAPvRVPQKguRUS0skoNTGO0mBnGXTGvXCDqQPdcvx8TK v4cFeq95RDXyJyEG1VI15acPVXSsP08mvMXX12JyFRewf5gw1M4wDMelqszlrXePMKlbXU RBjEzcHxr5NM9elYQ5sBJ0z3MSvT7KYjhnxRW0PCHg7pTGeRv9vrWghOevUL/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769709951; 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=MU0lROsf6b68YqlqSr5DmwP4cB9HzlVVNjjbcEEQiLQ=; b=yWiAfqs0sqnss9rZHUl53g3E9x/FwJWZeMVXQbwA0FAv/mFaMxLoJEl28iAau6RvaRHnf1 HBklejrWZLgOG3bhuvNZ/Bh1YI6AqSm26kofKCcg7T7/w0ojLkLhWOjtl7xPa6TWzO42YS psO1PuDJIOrS8iyvGYjfw6Ggh065MqbPg/WIcUi9kYsbii0ZO7n58uNwjFj4tt36u//L+i Lif1jAddTQb1FvIU7dDEqo8xfg5n9uStOUQ/141wy2LTwUhgrSO9ua31x0k45ywmVXgJMa thFsTEXcYAz7I8rbAa1NH7tlTOhT7vE5xbL43Bcu7qGFYQxmX5pM8PQF87BOuQ== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E8" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f26Wg4Ct8zKjf; Thu, 29 Jan 2026 18:05:51 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 44F2BA64806; Thu, 29 Jan 2026 18:05:27 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 6CD902D029E8; Thu, 29 Jan 2026 18:05:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id wW-OvWEaUJ6U; Thu, 29 Jan 2026 18:05:42 +0000 (UTC) Received: from nv.t4-02.sbone.de (nv.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id D1F932D029D8; Thu, 29 Jan 2026 18:05:42 +0000 (UTC) Date: Thu, 29 Jan 2026 18:05:41 +0000 (UTC) From: "Bjoern A. Zeeb" To: Aymeric Wibo cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c5daa5a4c32c - main - acpi_spmc: Add system power management controller driver In-Reply-To: <69776f5e.2500f.227efeb7@gitrepo.freebsd.org> Message-ID: <44q7361r-p46r-r885-6p7q-62r5489ps510@mnoonqbm.arg> References: <69776f5e.2500f.227efeb7@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 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; format=flowed On Mon, 26 Jan 2026, Aymeric Wibo wrote: > The branch main has been updated by obiwac: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c5daa5a4c32c9b1ecb506ddf1a80579c93c3ea6d > > commit c5daa5a4c32c9b1ecb506ddf1a80579c93c3ea6d > Author: Aymeric Wibo > AuthorDate: 2025-06-14 15:30:44 +0000 > Commit: Aymeric Wibo > CommitDate: 2026-01-26 13:42:11 +0000 > > acpi_spmc: Add system power management controller driver > > Add SPMC (system power management controller) driver as acpi_spmc. This > is the device which provides the LPI device D-state constraints and > allows for OSPM to send S0ix/modern standby entry/exit notifications. > This supports the original Intel DSM > (https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf, > untested), the AMD DSM (tested), and the Microsoft DSM (tested). > > Before entry, acpi_spmc_check_constraints is called to notify of any > violated power constraints. This will use acpi_pwr_get_state to get > current device D-states when that gets added back. > > Reviewed by: olce > Tested by: jkim, Oleksandr Kryvulia, Matthias Lanter > Approved by: olce > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D48387 > --- > share/man/man4/acpi.4 | 4 +- > sys/conf/files | 1 + > sys/dev/acpica/acpi.c | 1 + > sys/dev/acpica/acpi_spmc.c | 618 +++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 623 insertions(+), 1 deletion(-) > diff --git a/sys/dev/acpica/acpi_spmc.c b/sys/dev/acpica/acpi_spmc.c > new file mode 100644 > index 000000000000..57593d9ccae1 > --- /dev/null > +++ b/sys/dev/acpica/acpi_spmc.c .... > + > +static int > +acpi_spmc_suspend(device_t dev) > +{ > + acpi_spmc_display_off_notif(dev); > + acpi_spmc_entry_notif(dev); > + > + return (0); > +} > + > +static int > +acpi_spmc_resume(device_t dev) > +{ > + acpi_spmc_exit_notif(dev); > + acpi_spmc_display_on_notif(dev); > + > + return (0); > +} Those two functions are not hooked up to device methods and thus are currently unused. Will they be used? > +static device_method_t acpi_spmc_methods[] = { > + DEVMETHOD(device_probe, acpi_spmc_probe), > + DEVMETHOD(device_attach, acpi_spmc_attach), > + DEVMETHOD(device_detach, acpi_spmc_detach), > + DEVMETHOD_END > +}; > + > +static driver_t acpi_spmc_driver = { > + "acpi_spmc", > + acpi_spmc_methods, > + sizeof(struct acpi_spmc_softc), > +}; > + > +DRIVER_MODULE_ORDERED(acpi_spmc, acpi, acpi_spmc_driver, NULL, NULL, SI_ORDER_ANY); > +MODULE_DEPEND(acpi_spmc, acpi, 1, 1, 1); > > -- Bjoern A. Zeeb r15:7 From nobody Thu Jan 29 18:07: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 4f26Z53xGvz6PdNh for ; Thu, 29 Jan 2026 18:07: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 4f26Z52fF3z3XKN for ; Thu, 29 Jan 2026 18:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FtQ9z4l0OH6duMMIl7DeIQMsILM0BVpQ53H6xg+ow/E=; b=tLPKyhkdabsC9014vKrvNYQEZG+klrRXbgdmgHh08BpxSL1rv2YBtHuvpovud3oWbenrl9 qgDHrJ6sDKzuXdfS+WHc39NSxecvlzObgS7FOyjXw2q7S6D4tckyf+G88VDbmSip6VB+Hy x6acC1M+h87AhPB5bCOzr+xSLOVFvda+c9ENUszYbNsKJkJVS3N2TSZ/XL8M3di52Vsnhr cgoj+RzdMoTE53o3fWQS8SnGwgEsqyxt2VGKo3MR4plihYUS0p4l9KTgL8SV4w05E/h11q zy0GOPE4b7rk9Qoa733l5lms1raudvspowcYKmZDs9z5Nv6lLvO9Qdub421Vtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710077; a=rsa-sha256; cv=none; b=xffME6s1f/JtCmkJXckq0VISrxWHnRo05C2tLXs4ZTC4R99XAG27W2712Oq4dpjEyu58FJ 987wywNmOskm1rYqOZJkdXJdoImmhgty91Luosobf8MnjK+Ro90FiiLsar833U+DdwKp+i AMz5W9TgLcv/hhkHY1L6kIcgIN2Xm1hwIZxfBUDaAt3FnuD3gG5YaMiu6Cdhs2zy+ny2LK i82zpbDglDo9zIwTSGhLt1bm96GzooostJ+xkEu+W+jp1AFsVFp5D7KzAcHlMEYPng1TGr oKVo39GvnU9g/QWuGtHud0KCC++CvH8yd/3bUUjtCGmnrHa+HLqzLOR3j/kk2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FtQ9z4l0OH6duMMIl7DeIQMsILM0BVpQ53H6xg+ow/E=; b=BgBqlbzqv1/dqHvadcSB3PbDB+ASHcH8opUy2GSqfwZEqq8QzAF1ernIeNPtIcuub+6kBI 6w5Brmw1FKjR2kCrN52iAQkIF08HFwU/605r3FOz3LwBakaSJO4lz7+nuECchWx+Hg0p8m szWKo7763B2iK7XOE5r0oLbmq6BePiLdZjPv3v9IxL6jIZ6EYc1bJbYo/ImluE+dXqiQTR aYjx1IWcSf1jlrO6ZoYbx+BUXwK7nmaCA4KU9QKq6/2qM9+TjhPwyFi057uNC8FcuQwNKE 4Eztha7kWPr377dp0iWhQ3sVftH/P+2aZBmy7ccAvehZl+gv4G4xrtbBNkOpCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26Z51ypPzpJH for ; Thu, 29 Jan 2026 18:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47ca4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:07:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 5cfe09e3a442 - main - LinuxKPI: 802.11: only announce netdev_features if any are set 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: 5cfe09e3a442347fe408fa95126dfbc051d064c3 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:07:57 +0000 Message-Id: <697ba1fd.47ca4.3d1533b6@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5cfe09e3a442347fe408fa95126dfbc051d064c3 commit 5cfe09e3a442347fe408fa95126dfbc051d064c3 Author: Bjoern A. Zeeb AuthorDate: 2026-01-29 11:17:25 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-29 18:07:43 +0000 LinuxKPI: 802.11: only announce netdev_features if any are set Printing an empty netdev_features= line makes little sense even under bootverbose. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index d25b32f1dae8..4ce0a2094adb 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6972,7 +6972,9 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) } if (bootverbose) { - ic_printf(ic, "netdev_features %b\n", hw->netdev_features, NETIF_F_BITS); + if (hw->netdev_features != 0) + ic_printf(ic, "netdev_features %b\n", + hw->netdev_features, NETIF_F_BITS); ieee80211_announce(ic); } From nobody Thu Jan 29 18:07: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 4f26Z92758z6PdFl for ; Thu, 29 Jan 2026 18:08: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 4f26Z91d0Hz3XY9 for ; Thu, 29 Jan 2026 18:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TCL0UUQhduIvP1a7vbwgSYDhxaaa+yNPsM+bWmDVUcs=; b=q9NJDhISZDUSsKdLUWz4IrndAOg9haWVYSqzUzVh/TZNGFySldepzJzDoVgVCFFpIcBPdp p3g2SHjqHJHzwfXil0fO//gWFCcdQ90tm1FKMeutXVgADCzJzylCRuNRhC8gjQ5FsIgI84 D9S/tdV/o9/rIFMHexcXQrF4tOr1u2qPFtNO8cSMzZQYid3wD5N24ZlsjMlaxgB+aexI7R 6jfab/656cG0Jk0YKKnHUmMXEsTsSp/HqKpi6vI9REtUJZo6AEWOOs0B4fiWE55FZdcn/h HJ6vCYPokCqDiWE5ZJudNH7Pp7bFA2Ltr7GsLYkUIT9Za3C6Hz8y6ecoNE25JA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710081; a=rsa-sha256; cv=none; b=SAdNl4n5ZnQMhCYAIqeRrPz6OArjf5BJ662HVdyZOr8PP8Tf/jJG0EtidxWLA9ZPSFwDtv g5jqW2KRUhUlvUjfkhsOO+a564nO1C8IeRbxJ5coTOnUQz0W9Aa5IEeKzTMML/0/nfViUU DXA4UsuQ8i0sBm6FbGxmizk4P/leTFjNnvZXEHz04jDkd6ouJd6tNSQTKqOhKnp0iAFjdp KEXG/bFuv4MwtDpCE8EgJc/cuoda1gNHrTHKATWPG3t25H4JFpbKhTw8jGBZ47WC0HL/R+ wFaQwMgkiChONfvBar4Pr5t3PAO0l8VovfgdfCCkzNdvZeGTBwJ1qrACNLwmEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TCL0UUQhduIvP1a7vbwgSYDhxaaa+yNPsM+bWmDVUcs=; b=rwz9Ea58Qkd0Bze2nqOYh3e45/AHc6RgOC6EHiX1QeX8qCK3X0zS/A6aDrGKTxqlH2e8Tg dIR8r/BJRoHRdBAPWqybQ5652oxF7L/IeQA/MYpRuLHdH6N5BjaVJIBNLfays0T8KCmsnY S5XRMp9swXY88Y/nr4jCxP4m00S1D13AQpAsPxoVVi+eYtu8HUOxJPoU9G8pmF8GYkvQ2y tugvxkRGWheHHxDr/+v55v5BSbbh0HC5H23I8ildYRiZRLSTukqeg9RwLxNgw3WRWSC+gm xoGnVU/9R8XwaA8yVZn2BCy41W8ndaOnYjzDjHjO1yrmaENylgibDFBYyNsNmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26Z919JdzpJJ for ; Thu, 29 Jan 2026 18:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44f76 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:07: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: 0762cf10fc5e - main - usb: indentation (whitespace change 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0762cf10fc5e426700e00f9060518241212e941f Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:07:56 +0000 Message-Id: <697ba1fc.44f76.3b4e6a9@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0762cf10fc5e426700e00f9060518241212e941f commit 0762cf10fc5e426700e00f9060518241212e941f Author: Bjoern A. Zeeb AuthorDate: 2026-01-29 11:17:52 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-29 18:07:43 +0000 usb: indentation (whitespace change only) No functional change. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/dev/usb/usb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/usb.h b/sys/dev/usb/usb.h index a6c3c8030c73..3e972f876c6a 100644 --- a/sys/dev/usb/usb.h +++ b/sys/dev/usb/usb.h @@ -541,7 +541,7 @@ struct usb_endpoint_descriptor { #define UE_XFERTYPE 0x03 #define UE_CONTROL 0x00 #define UE_ISOCHRONOUS 0x01 -#define UE_BULK 0x02 +#define UE_BULK 0x02 #define UE_INTERRUPT 0x03 #define UE_BULK_INTR 0xfe /* for internal use only! */ #define UE_TYPE_ANY 0xff /* for internal use only! */ From nobody Thu Jan 29 18:12: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 4f26g62KyXz6Pf19 for ; Thu, 29 Jan 2026 18:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f26g53jF6z3YmP for ; Thu, 29 Jan 2026 18:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eFNL8MOSCabGdUzRH+6x4Wx5AuoPKlym7V5FcKPnazU=; b=HGvvqYhgPt+mo9ofdH6sHVq1EvKx83TJ+jKNS/DI9Fca50OKvTg1tTBtLc3qaGcCGG19Z0 WG+h/Vz9XYOq6vdBbOPRKO4ENA2B5gMn8OqH5u3y0XozEy9T7rDphVMlcpdYKr6wtamKDA LACTGwRh1UVZO66LRopLcar0r0Q+GIR/QDKJHoqIKi6v30C7CRAOxloGZkdNxiAoQ0iW59 +R+PFpIEMgPRyFXWRyWa/HRatGQPlNGJUQqlxTIAH97H0HwrR+7x8vQ+WykHycUPtWzcIV 0IXnQHVtSzjmnA/r7JiNk+OME6uzTtwIk38FdlRMeYKLTV7SO2fH2zYLC+OsaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710337; a=rsa-sha256; cv=none; b=w+mNQ3CyHZtyl1rAksLnGQaMb/mhYIxRvFkBeciclNdq4cAGlhyshxn10mJM50oQPUv7HI +HxP9BLAO1EO01J50xnXeKQh3CmdS+kX1WRRr5qSOEYb//jChkiD0Qq4V6NhGwRQztXB3M ayoTyLcsGo8MMh4fZ45lifdVcB2QOl5g8UYtoaH1YrdkohrKafglSYUFWc2i++FqdHuF/y 6lAi4bcYatZOircRL+mGmOlOBVsKnt9yc4MVkSVQXkhmmbO/ufyaATX0hsovqoEjlF+oOC Ftm2rJn89qG/7u2RxTeOsntHsQ7oq29YQ/6w6XalFBxWecB0x01mhSzt4gX5CA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eFNL8MOSCabGdUzRH+6x4Wx5AuoPKlym7V5FcKPnazU=; b=f3O876+Q+454DzBZ9VjdELgnnMs3almTUHmt4AoR10kliWZ82wtA4tMgloZmQeMzYGxvc3 Oq1MkCYFTuDCSZ4YvfHtUXPaifz8J50ryvm0l0pfjJNa9ejuBh/7eLMaOM6NGHLrd4r7uY h+SO8EUziE0Tf2LT6GJFzcMD/Dr26sc6MdAMPBWEA8O0cQbmOxd3BiK+PAfzXDyvHLYERC WQ0sGwMcFGwpjw8sp0FB/GvCCVZmGCWyvu8TVJnvZxu1ITYEHJgqglqRK1wiJl9s4UyAmu NdYB/054/eyxVPv7/f8TNn8ZvZjt+qqnIxzYMKyjoNZKFnPG8BiRtz/A/qfosg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26g52q90zpR6 for ; Thu, 29 Jan 2026 18:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 904b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 23266bc9928f - main - amd64/machdep.c: remove extra empty line 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: 23266bc9928f16fef292f6ab31d7cd8b7ad2ccdb Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:17 +0000 Message-Id: <697ba301.904b.76f3d26d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=23266bc9928f16fef292f6ab31d7cd8b7ad2ccdb commit 23266bc9928f16fef292f6ab31d7cd8b7ad2ccdb Author: Konstantin Belousov AuthorDate: 2026-01-22 04:39:54 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:54 +0000 amd64/machdep.c: remove extra empty line Reviewed by: olce Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/amd64/amd64/machdep.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index cae58181000f..8daa9c250db8 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -322,7 +322,6 @@ late_ifunc_resolve(void *dummy __unused) } SYSINIT(late_ifunc_resolve, SI_SUB_CPU, SI_ORDER_ANY, late_ifunc_resolve, NULL); - void cpu_setregs(void) { From nobody Thu Jan 29 18:12: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 4f26g44yfwz6Pdcn for ; Thu, 29 Jan 2026 18:12: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 4f26g4307jz3YTt for ; Thu, 29 Jan 2026 18:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jbJ8/SYl6uBZ2P6tEqaB/bD73+qKV6RUVrYXfMCt/Ps=; b=DGsCAdk9qzsfJjwfrZLhJzqAvsXVSui5hiy9ybDUfMGHkKoNaqTAJ9MgKjZmHyB5z+JeHV Envdp7+Sg976EWAELsxFCdA/cAkbwYm5G5C9PVRyXFiL1WP6gfCWLMSZ7vbaQK9sPnhnCd kwU5FznDi+SZwOWzb/ME225C6ON0AghVKqwDdbuiseERvDNxHA5gY/Cr2gWFqUwWeiTpbG uA3Q2NgwWpHW2zJ7f1lO4N2QpXaoOvvHZ6AfLwbP94wniwkvT6SFYyODAcy4rPU/PWOQWn e/aALj3Rj+o9rXPU2s/BzaE3pmZYKApbxg3JglMGn3defvc00pye8KMqypXciQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710336; a=rsa-sha256; cv=none; b=Lva1L0i17wJSycMyuZ2U703lkalMtT9WO7fyqgJ6b5yQyL9zpIzqxJLVgciLt795IWLJGM TfIH4BWlZme3XH+QN3QL0zBHEEJgq9W6YHsZxrtOT4tJZl9wghlRgq+tlRG7SinSoGSb9u z4VzeINMxALJuS7hTBwVT7WXXkkZo8seiSgta2vW6uyaItjuiSL7svTfaydsfI5+NL53Js dnHA/7TWYVbnA9rx+ZQjgsUvLY7HczrkR21WYFgNDwZicYBlsFwuGPhlo5S/UW4MScmjrS 4RBa2deQX2hBuCFkJwX0okDamEwPretu6wJbTpLVEYeqRBy9KBJLwhCQcBaASw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jbJ8/SYl6uBZ2P6tEqaB/bD73+qKV6RUVrYXfMCt/Ps=; b=ZhduKXbwbsReqkjasEbw1T9m3J5XpQHA9zmbE26XZJcjX2BHGMcniQb6HleGFDa+KD099N 1t7oyycs4ekFPsuIglDfCa8lx3vfePmAiBIQewzLFg8T+Nb5XbSFU9iRyG/dPZwa8MnV+d Ku9jKcy2HRR40SwWAHSayhVTIGv1fm5+xVBw9sBV+RsNe69sSBMfgJgL1ZcUlUQlkH/OIC vKihuWO87pWccfsJdWKWZflSyXygNL8HFKDNScnrLjfdd4m80ikMnI7JNkxE/g7nq2wxqX fe6QgSRSgghRnODMpohKiyIQRVQF9W16q05Ug26WqlrbFZf9rv1aWI6+eGH9aQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26g42Jfhzq14 for ; Thu, 29 Jan 2026 18:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46d67 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 03d61fe97857 - main - arm, riscv: add a preprocessor symbol indicating missed support of ifunc 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: 03d61fe9785793cce9324fd4e6019562586760fa Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:16 +0000 Message-Id: <697ba300.46d67.27ccc00e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=03d61fe9785793cce9324fd4e6019562586760fa commit 03d61fe9785793cce9324fd4e6019562586760fa Author: Konstantin Belousov AuthorDate: 2026-01-23 21:33:07 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:54 +0000 arm, riscv: add a preprocessor symbol indicating missed support of ifunc in kernel. Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/arm/include/ifunc.h | 10 ++++++++++ sys/riscv/include/ifunc.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/sys/arm/include/ifunc.h b/sys/arm/include/ifunc.h new file mode 100644 index 000000000000..6b7cf20c720f --- /dev/null +++ b/sys/arm/include/ifunc.h @@ -0,0 +1,10 @@ +/* + * This file is in the public domain. + */ + +#ifndef __ARM_IFUNC_H +#define __ARM_IFUNC_H + +#define __DO_NOT_HAVE_SYS_IFUNCS 1 + +#endif diff --git a/sys/riscv/include/ifunc.h b/sys/riscv/include/ifunc.h index 0f9747a2aa14..0d91014ccce8 100644 --- a/sys/riscv/include/ifunc.h +++ b/sys/riscv/include/ifunc.h @@ -30,6 +30,8 @@ #ifndef __RISCV_IFUNC_H #define __RISCV_IFUNC_H +#define __DO_NOT_HAVE_SYS_IFUNCS 1 + #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"))); \ From nobody Thu Jan 29 18:12: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 4f26g70zSPz6PddK for ; Thu, 29 Jan 2026 18:12: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 4f26g64DpNz3Yrk for ; Thu, 29 Jan 2026 18:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yS0JIWzjQLqYBHkZr71Fr2v6QP6Cp9cyzzFa9D+va+I=; b=Bpzf4VkAQQx/vYie+HmMG4lHKdm5hPeYKyb0ssFsEfvXhMnbgUvCaYBnCdfPEAZFAPr1+i hAU/Ai5RCZDiTPePKX9TSOQf/sAaBJ+w6ILLsIaJXulKHmkNw16j/V5ecsobv3dwqIQCkz yjwPGgSy0rdkTLA0PtuF/xQSVFazZSWbkMkd2rME1l/fp/rjqpX85fxRdnCOlcInPD+CIV aDFASy6LSCa2hWjvHSM3pwdiBi3Tco+eG0s5+OGZSC81M1KkqQIjH3wavDxpjVAzHydJ3H +la1skYBwc8ZUgl3BxZQ6Pa+CBq8W1bljuCkuKbflWxD+pDIS1dPzLGVdTos2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710338; a=rsa-sha256; cv=none; b=KFe9A/Bp3wMLi00sBp6PLE/L164y2g1tov+Q0quC2yU9wjwuQfdkRkezwfIgdCDx6q/kUT XnOxXZaqhsKclheyVeuKPePL4PXvsWAlmW0qLRMoWiyGuTKfzljpPQIk3BnrW2faiMJesB ru23orVMf9r16ZZ5TVVYdRaJegte3RDhIeAGSksuoFIlrFSXP/DudhOYSWvRRgIJvMZPSL 7R6HqeAYn9ATNFgeTH2vVGOJwaP1hUk1E4mp0KqVMuKpNMana/etcvE/julGOaeKLJe+B0 OjDChQXdnwDtVlgTwbXEAsP15f5o1er7ZHR6GquIuHjCNqJsDLD7edQL+ZzV1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yS0JIWzjQLqYBHkZr71Fr2v6QP6Cp9cyzzFa9D+va+I=; b=v0mCeTQx/j/r1Bw+VGAf1nfaLN3FeXTcFXtIe7aqgbxg0xq1UFWPfS0ZYeF5LKYCq0NmIT wWgtNV8ke6Uwl/enykzDEtGtJKtQey+e1oFTKez77AiQ2NBnF72WDq81UGGGC6phlwJMah qSSOH8hZRT2eZP9xfMdDPQBQEoCIu9ZXIw3PJe7efGYjdoNYggpmE1E+SVGjCYJJj7kDna JHfsWUSL5iphGepZBvgVtAFIJjtstH4mBn0KEfn7+Bs1mV3uHVj4DyEREd1B7E48ekLr5E AL9YzJs/YDmWe8B6swBUPNsv+JAenwMMbofPTxVQEJRBwIe7O+iSjo4iLPM4hw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26g63gXbzq17 for ; Thu, 29 Jan 2026 18:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4767a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 57bb132e98b0 - main - maybe_preempt(): make static in sched_4bsd.c 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: 57bb132e98b0736d15881eb80aba6c2c5dd8ac28 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:18 +0000 Message-Id: <697ba302.4767a.1c31703d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=57bb132e98b0736d15881eb80aba6c2c5dd8ac28 commit 57bb132e98b0736d15881eb80aba6c2c5dd8ac28 Author: Konstantin Belousov AuthorDate: 2026-01-22 05:22:15 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:54 +0000 maybe_preempt(): make static in sched_4bsd.c Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 2 +- sys/sys/proc.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 504f9a2338ef..e40b5c6c6b7f 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -322,7 +322,7 @@ maybe_resched(struct thread *td) * determines if the new thread should preempt the current thread. If so, * it sets td_owepreempt to request a preemption. */ -int +static int maybe_preempt(struct thread *td) { #ifdef PREEMPTION diff --git a/sys/sys/proc.h b/sys/sys/proc.h index b27b67999e8b..0c9658fff725 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -1173,7 +1173,6 @@ void kern_proc_vmmap_resident(struct vm_map *map, struct vm_map_entry *entry, void kern_yield(int); void killjobc(void); int leavepgrp(struct proc *p); -int maybe_preempt(struct thread *td); void maybe_yield(void); void mi_switch(int flags); int p_candebug(struct thread *td, struct proc *p); From nobody Thu Jan 29 18:12: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 4f26g93V8Wz6Pf3x for ; Thu, 29 Jan 2026 18:12: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 4f26g85PHJz3Ymj for ; Thu, 29 Jan 2026 18:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A3E7XV4h2p6hb64ze8BGwQOmGiPTborbxnakX0L+OCA=; b=VpR1UK6/YMlpgGSnYZEayBM6if3wQ55VbBkdHvFhqYwXzkzZj9WZ+t9BVNSiUjCTjnTumw 1P8u+X0BuEOouIc8mzsYWRt4+pBqoR9673iGpaZEruyymiPuIbBvD3j2kM7cTu+UqEj8Fl QnoEV0OCxk3uq/dA0vP8UsxiZV4+89J+Ni5eFzKn9IToNUl3ivRse7FDUP2qROMoXerOmm dRENEi+TF1w7Syj80AWJTWMQ+ipBrqwIAVzi7c3GvWRD0pmIlo0Y6Q9fWQmQmzpuqMMXay /Z2blKpsfxapK7i727YDa+lCF3PiLe/rvosD+/NStjaHdBqNIkk1mV+MMfS4Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710340; a=rsa-sha256; cv=none; b=CqeQu97oHiYIzqIxcmOQWQy3X03aHIVz8c8Q73BTwIfuKyWMIUntw9WaqxCh7ddH9Jmqfb /yS8Mr98FFqzk6TYf8r/X99Bi6CjkymfgzYBQKUM1Er//EGCXHDAKA3rsXGWZWW4AUbNHS 0QwLs0V7Bxurf5LJsPHTEkPD9Ko54nOcDK8mnJm46juAOMNXSp1Ye8vqzQm98L96vlk+/l nP5wZKxod1vUkvhGOHrGZjClu4xCiRf/+lU0Cgr+HBIar7wZgCDUCbPauoklGzB34RIZl+ Y7kyU/sKyqSlQVQ6fbG6vQOF0XC4tvFAGmNDt1avA56u3OEONcwq1mCIZP9zdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A3E7XV4h2p6hb64ze8BGwQOmGiPTborbxnakX0L+OCA=; b=BI6Bam91/LF7xPsqUxjeJ3hGeosxn3ckC2DXUiCEcIFh8FNbIj9w3BZm8JpNFYytkF2bkj 9Fbyzhr//7Z829gd6GXXaIxsVMFllu0sIExC/+SA+AsIP2R/xx4ic8AiCTz8p9V/EkGhMR KdcKxpidPr7K0m5w+wU9vgrrlaYDF9VCurlcGZYa5+IAwQPjceDWuz226Yy0A3NEV4Vg4O 6iyKvUX/oGNHmPjC/cO0OiykivoA1Gge63oILhLfYH0hCUgeIxvUB8FFwyXIdSePZMyv1Y /EaiKhytvXa/Yd74mJcjr4ogzk4d61vvsEWFSi40DHtK+zq1Yu8lC1wm27doTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26g84vjszpk3 for ; Thu, 29 Jan 2026 18:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 95c0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 610d7062c60b - main - sched_4bsd: remove unused function sched_pctcpu_delta() 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: 610d7062c60b0f1f7c193e01c5238088b2b56c96 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:20 +0000 Message-Id: <697ba304.95c0.2de9508e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=610d7062c60b0f1f7c193e01c5238088b2b56c96 commit 610d7062c60b0f1f7c193e01c5238088b2b56c96 Author: Konstantin Belousov AuthorDate: 2026-01-24 01:43:25 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 sched_4bsd: remove unused function sched_pctcpu_delta() It is not used since c72188d85a793c7610208beafb83af544de6e3b7. Noted by: jrtc27 Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 34 ---------------------------------- sys/sys/sched.h | 5 ----- 2 files changed, 39 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index e40b5c6c6b7f..482d8884c248 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1639,40 +1639,6 @@ sched_pctcpu(struct thread *td) return (ts->ts_pctcpu); } -#ifdef RACCT -/* - * Calculates the contribution to the thread cpu usage for the latest - * (unfinished) second. - */ -fixpt_t -sched_pctcpu_delta(struct thread *td) -{ - struct td_sched *ts; - fixpt_t delta; - int realstathz; - - THREAD_LOCK_ASSERT(td, MA_OWNED); - ts = td_get_sched(td); - delta = 0; - realstathz = stathz ? stathz : hz; - if (ts->ts_cpticks != 0) { -#if (FSHIFT >= CCPU_SHIFT) - delta = (realstathz == 100) - ? ((fixpt_t) ts->ts_cpticks) << - (FSHIFT - CCPU_SHIFT) : - 100 * (((fixpt_t) ts->ts_cpticks) - << (FSHIFT - CCPU_SHIFT)) / realstathz; -#else - delta = ((FSCALE - ccpu) * - (ts->ts_cpticks * - FSCALE / realstathz)) >> FSHIFT; -#endif - } - - return (delta); -} -#endif - u_int sched_estcpu(struct thread *td) { diff --git a/sys/sys/sched.h b/sys/sys/sched.h index f3a5d1eca874..635e8283561a 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -114,11 +114,6 @@ void sched_throw(struct thread *td); void sched_unlend_prio(struct thread *td, u_char prio); void sched_user_prio(struct thread *td, u_char prio); void sched_userret_slowpath(struct thread *td); -#ifdef RACCT -#ifdef SCHED_4BSD -fixpt_t sched_pctcpu_delta(struct thread *td); -#endif -#endif static inline void sched_userret(struct thread *td) From nobody Thu Jan 29 18:12: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 4f26g76Zl6z6Pf0T for ; Thu, 29 Jan 2026 18:12: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 4f26g759JLz3Ypw for ; Thu, 29 Jan 2026 18:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d9+U4HimQqbnYpzcfCTy/BanNR0oD3h2lEtwftQ+49M=; b=kKqhoc2mGDDSzIwt3lqCVt72LyuBkbDmQdAbgyJ6iEcsKbXzZpdQv3PKh05h1TM9pD0N9i bgyePlC2KqpYfstQxKeqJPz55fImriQGxcif993pGYol0h03wtNOKW8N/VWHoEpjHPKmYx /TS9i+htFTAuSSwpzzt5CTuBt/w4lCToa/fGst/RMu13wFdUR1UFI6JgEEV/uBkCvD8EfE GCT1nHZ3Zo+zDOaaaqTheu/ZpowtzI9I8oSOl+g2Y/lRTDQjDRjy0pTgZJ/zdiLgc4SVKj jZYrJGhA4BzjHOpC9LP8heTmnItMWfdPS6pVgdJPHqRNC80U/Zihh9FSbf91Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710339; a=rsa-sha256; cv=none; b=DpuNQcP/sS6tEajCn2LsMi8lAG+FbIW65DLNe2wokPQqz6hamnSM+WItFBX57aSXC4VLp7 /sPf5FPLdNN6frEgn8KW7+1RhlVknF/RksjgQ3a7dPzHi4Tb4uM7MZAL8t86KMDHfDTZGf YtXNpTMKW1J+tfTv5kOyyGlXFPy2+rCX89S3v7uraa+ZXEBStjFqGUACxgftwrT+6VQInG EjU9oBbKNa58YGV694KpLNd+nvy+5tWrOQ0OAIWeyW2TKe/BWHj8dkXnnySPKrryVBMgNJ 99ylELBr0bsmWRVtIiiAwea45gVzFw2pKoQhkWB6CaPJE22m5y0roR/s1TbtNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d9+U4HimQqbnYpzcfCTy/BanNR0oD3h2lEtwftQ+49M=; b=Nv1OTRcWh2JRNgCzS6u88qv+a7KzmyMqZcmvHjBOEGCs7RLhEe2hpdcOVv9FtnnqEr08Bb 8FcXxRwVQ6HOxTfb3apB8MR3bL0NG4XcUJOJ5oE0aIrCytfkEYrafJOGugUhzppULyDJBT dFzkbiVqzEm6U7XndIXNoCPckALfka7GRDwfOCi9c98POmEggKNJ66ITGl5r2JZfYMPCqE COCjrcCNeRdRgJeLir9iQFUQfbnPPeAuKmYRGqi+7EWDtNuRFbSOIfVU6sIvBpcLL6a0/0 KsaDV7JtwH4Bz3VtJelznPDUb4j8WRiEQ2t78c6YbaXO+nrthGG4ZbgF7TdLcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26g74BLTzpk0 for ; Thu, 29 Jan 2026 18:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9245 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 8515934ce3c2 - main - sys/sched.h: make sched_clear_tdname() function prototypes unconditional 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: 8515934ce3c290765df9254003f3c6d79da7e538 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:19 +0000 Message-Id: <697ba303.9245.3fc7a044@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8515934ce3c290765df9254003f3c6d79da7e538 commit 8515934ce3c290765df9254003f3c6d79da7e538 Author: Konstantin Belousov AuthorDate: 2026-01-22 04:00:59 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:54 +0000 sys/sched.h: make sched_clear_tdname() function prototypes unconditional There is no harm in having unused prototypes. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/sys/sched.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 052b8bb85f2f..f3a5d1eca874 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -174,9 +174,7 @@ int sched_sizeof_thread(void); * functions. */ char *sched_tdname(struct thread *td); -#ifdef KTR void sched_clear_tdname(struct thread *td); -#endif static __inline void sched_pin(void) From nobody Thu Jan 29 18:12: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 4f26gB3byFz6Pf8J for ; Thu, 29 Jan 2026 18:12: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 4f26g95gmNz3YsJ for ; Thu, 29 Jan 2026 18:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PTzF/8ly1dALErXknTUnX65geVN7R5kntQjXJ283Apk=; b=AHJtE6V+oLMhQ7o2CxFsDEjJLY75IPpboFBfuRDp3VJNfsI26YZ1P64wv6OjN4ORMyRu92 ndfGr3NHyyWwhi/GGSEwns2xFDufr7MUK5ACFUsx6BAGvd8q0k97yJQW6J00x0DSFkEsjp zszbXRTwknONkAwShwzf3n9mVXaEHCLQ0p8jD/vonQ7a3aZ3wHz9SsdBHTPvzCZwiPhSdI /RVfU8VzGG/dYi85ZXRTjsch+rJuDz1fQtDUU2JP9wEyRUH1Z2xyOghQUs5f3vUHfpxL8b 4gmmL+7GDqEmsAHAOB9YACuj2/c95gSyS6MHunYCPIpE8ytgGETmIQYJwg7gbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710341; a=rsa-sha256; cv=none; b=nsXAQCM5pZsUmvBbyWb11uDM20GPqNhypERvMyLxQ8Uu4hePrRoIVjk51ehQIPZpy4h/PU prHBXzh4SjebLBdB5ngR7HTE5M7H/fbSRM+/cmt1bEzg31fvH2tKlaZ82neAw2hGB6cXOy 2Fj4HfkFsqsNE0nbNpuEJHT2YpZYWbCJ0Dp5QDkhJzusbP2AVNDOMjzQ9otOY/Zju1f1HF DePvdUmSmbTRdq1U3zgSiQKTcJAr9hT0y3MKP+99s0ds8ldXRjEPScxc4y7VrgIlCBbKpC pO4tKEL9AlZELWrOiNCDetu8CJ0f5zYd+xHTzUH0FmNLa180Tm7NRVE5KppWhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PTzF/8ly1dALErXknTUnX65geVN7R5kntQjXJ283Apk=; b=uDrsUePrU0QYosY+4pvUaAcbCA7Y/fzNBJN847Irs509fOleSvuFqG8uArjf9w7kb7PwZ0 FRzUikUyg/rlmC3ONSZUGXIANlGNyW96dFcz/9HqDLVoN6yQzTjG8VCvOyHHuZH2dQp3ac eaglPSG5ydvQH0DhPQgZAInWVG4DJZwcOh7GbH+21HNXxZ2icE4x/IocAkUaMIHKoBf7Wa wFK/yEwf+0Pgbj8kvufdM7aO7AxO/sEvX0R3aUVDAE5uYiLiN5TwPDbSX3WU1aJzqq4VPo 0C4LVS5kywCntK8cnzZ7pG2E6wacbnR0PzJmbw0oxze1ZUvsLW+dMSVBWjHhMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26g95CvKzq3W for ; Thu, 29 Jan 2026 18:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 963b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a556ec46d313 - main - kern/sched_{ule,4bsd}.c: cleanup 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a556ec46d313f2ed8facd46280d35875e6e50ebe Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:21 +0000 Message-Id: <697ba305.963b.79f3e63@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a556ec46d313f2ed8facd46280d35875e6e50ebe commit a556ec46d313f2ed8facd46280d35875e6e50ebe Author: Konstantin Belousov AuthorDate: 2026-01-22 04:20:05 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 kern/sched_{ule,4bsd}.c: cleanup headers Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 2 -- sys/kern/sched_ule.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 482d8884c248..066a1bc20d26 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -34,12 +34,10 @@ * SUCH DAMAGE. */ -#include #include "opt_hwpmc_hooks.h" #include "opt_hwt_hooks.h" #include "opt_sched.h" -#include #include #include #include diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 409439ca34da..59b59a30acab 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -37,12 +37,10 @@ * Isilon Systems and a general lack of creativity on the part of the author. */ -#include #include "opt_hwpmc_hooks.h" #include "opt_hwt_hooks.h" #include "opt_sched.h" -#include #include #include #include From nobody Thu Jan 29 18:12: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 4f26gC1kjCz6Pf29 for ; Thu, 29 Jan 2026 18:12: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 4f26gB67kxz3Yy5 for ; Thu, 29 Jan 2026 18:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ONyDaAUT9iQ7fAEegSJ2EccFsPhu0gwMRLLw8brfxUk=; b=W7KH+h9ugx9gNH5nFoYYkUjLJkl5KCyb6MFNAaNPGDla4gvLium8r1PNV1F13gvxcxyq+8 McPVWhyrHcfFiDQWxDkurShknPrqi3vE9WbxERSVaQnXsC4Q0VfQPe2HI8p9MH/BwKZXS8 MV8mXL5n25lL+WuVz1JAO6gsTe3be5xejkIE+VOaRGuptMEFHLlPjv4oyYGJr2drOjdMa3 mYT3z9+HyNV64hN/jKaa7EnLyMxiqAaxFVBbdnKUZPB560iHXp1oY1d60pTyFHbqc/2/Zm ETjTXGfKGKWtNr1Xew/u4N5H6Xqv5GpontgavBgDoK1Vjw95VM2V5I4/HcL5bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710342; a=rsa-sha256; cv=none; b=JAt5aD+1vi7bBLxH6sBW6jX5uiTK/XaeNZEow5W9BuwxtARvT4TZe9a0ajeYojAqCnKzQo jcTkNMJa4NZac8JE8/pK5+6iHCuVYrIzR5e0bQEa7YsZeu4BwVdM+qe/pX/DW/r0QW5Uck BI/EeV8AWd5NYWxPpxvrcTeIUxMiTWZmXVEuiWy4ljYoyLaWiIwLqsnHQIgGiLeIcb1QL6 7qQGcaGCpWA8PRD9zO4bxCeuOBSvJnXyxuA46/RDilLstaM7+gyW7BxfpfvcK/8fTdxQK6 MUCWqBO0GbQPkCf5vaDq++Y0Ccq4OFC9ohHv8NGhjzYqpGLAR+mrQCxXeX4ttQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ONyDaAUT9iQ7fAEegSJ2EccFsPhu0gwMRLLw8brfxUk=; b=AAf65WeE6p97f361pA6sksz0l65B478XdA2fVtFvQPTWIA8XDpjYI5V4+EqPXohbDvy4TE O+V82UnJ8YlJowuFwPYuG4KftMubZOkodaDlwyF5NrupPuRHHy+vuSsDLJbpfGjqgKm9EJ /t4el30bmDSphwmhE3ahyNDC5Fnzb2fyzUQlEJ/XaY4B8TC6XgroXCvZQED+ysn04higIU +OOFWuwQnEPCDxg5sIxbODHbZCbTIK91mWOeHGPnWDS52rNkJVjP3mZMSTAQw5Ldcd7QmW 3kW683aOj4VbkYtUYi1uPZpYcuxI+3JgfiZCqFJrA7Sc15nSQPyQ7xxX5zdCfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gB5YwDzpvN for ; Thu, 29 Jan 2026 18:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47fb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 0b474a48dc58 - main - sys/sched.h: add SCHED_STAT_DECLARE() 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: 0b474a48dc5866d94988ed3af24019d7074f5e5b Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:22 +0000 Message-Id: <697ba306.47fb6.1a3a6f44@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0b474a48dc5866d94988ed3af24019d7074f5e5b commit 0b474a48dc5866d94988ed3af24019d7074f5e5b Author: Konstantin Belousov AuthorDate: 2026-01-24 06:00:50 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 sys/sched.h: add SCHED_STAT_DECLARE() Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/sys/sched.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 635e8283561a..8f383840192f 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -214,6 +214,10 @@ SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL); #define SCHED_STAT_DEFINE(name, descr) \ DPCPU_DEFINE(unsigned long, name); \ SCHED_STAT_DEFINE_VAR(name, &DPCPU_NAME(name), descr) + +#define SCHED_STAT_DECLARE(name) \ + DPCPU_DECLARE(unsigned long, name); + /* * Sched stats are always incremented in critical sections so no atomic * is necessary to increment them. @@ -222,6 +226,7 @@ SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL); #else #define SCHED_STAT_DEFINE_VAR(name, descr, ptr) #define SCHED_STAT_DEFINE(name, descr) +#define SCHED_STAT_DECLARE(name) #define SCHED_STAT_INC(var) (void)0 #endif From nobody Thu Jan 29 18: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 4f26gF4t0qz6Pf8T for ; Thu, 29 Jan 2026 18:12: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 4f26gF0z5kz3Yyg for ; Thu, 29 Jan 2026 18:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TjNCDM/Id9jCkCRiYDpRch2noD2g3uFbmThFfyPaEtY=; b=NB1ZfQSsP/tTf69urkMxTnWzcDcMRCe9bC4AbwOD5xs4Br6GnYcqntwawpxmHH1VXaMRl3 fmVM5hIVkuHM8nuSHZ7XDSjybt9kb20rXoqXJPJx+9ZgWijUqOuwCA4VpZ5AQzcK0kUT0K Pl2LO0TLsBNWb/9DT2Iu/lzpL10qSRjzSaO0/eyIi9fgIeO5mVtO2slt1QpUIVR+R8mlGK N9vlCOCvw5n15RbY9JEfjtFfMqrMcX6JdCjKiUHC7pS3IILl97IFOVOviXoUAdN67IySwL bExs6ph2WxeXJRdRvB6ftDusvKulplKBqg7bJDzvPbzYwRzDyYsQonTKmfukbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710345; a=rsa-sha256; cv=none; b=k3/axwKJ921W2IJGzxIGoxV5hTrdi8ABp4MMBsorjghKLF5VeVLgjOg0igtCMZDvKR/xrg Zuji7KT7RdV2evGCSfVN76NnByIIpdzOwne0yLQzoY3wfBvgF1qsRXVeWFl4RL3FMBovj8 WrQMDnaDnfmK/XfeNQXf/0fXcFM/ZKzMpnEG6sUcurrqFdwJWRWfxmMKAM7Anbl9Ve0ebF tiCHcZUiOWxDnc1b6C2lLcIgoLaseBICNg2P9+pE6aj9O668A4npQtDZawYKulshv+rktw J23yWTzjyyeyxnSz7KvhVYkHNd3i8paU7pZetZkGYc9r65VU/a2+Th78HrZQ+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TjNCDM/Id9jCkCRiYDpRch2noD2g3uFbmThFfyPaEtY=; b=AoHrBg1GZAjelsnsiwg3utFjkxuIjTguftuf9NDQXXYSh9X+HU39E3ONWojA/HZdwzXPjV wHssVNLu8Ih0Bc2ULb0hZVXP573krsZsQara9kTUGh0ee7eX8WF7c1VAGEKbRo7pAyYq2U CQqG6shLyoKR6aUb6+SvonN7D1aPJTzDke1ZZuRgvW6kEbEYjPMPbJt1aoSWDn+9FaYKqW 34CW7T7pEeatcLmM1wr/D9ZzB76MvO2R7jfvR7l+YCRtNG9Vxf40hMj97YzEXdO9mo1d5y HKNkvbe7ie78ytRFe4g668UKXnC4W3JrB56fSKNvhkIQ+xj4e6OVqEgCrDjKFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gF03wKzq5h for ; Thu, 29 Jan 2026 18:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8d4f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: bab24f22ba45 - main - kern/sched_shim.c: Provide a scheduler selection machinery 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: bab24f22ba4518e640d14765dbd196e7709e1f0e Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:25 +0000 Message-Id: <697ba309.8d4f.4d934dea@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bab24f22ba4518e640d14765dbd196e7709e1f0e commit bab24f22ba4518e640d14765dbd196e7709e1f0e Author: Konstantin Belousov AuthorDate: 2026-01-22 05:09:57 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 kern/sched_shim.c: Provide a scheduler selection machinery Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/amd64/amd64/machdep.c | 2 ++ sys/arm/arm/machdep.c | 3 +++ sys/arm64/arm64/machdep.c | 1 + sys/i386/i386/machdep.c | 1 + sys/kern/sched_shim.c | 49 +++++++++++++++++++++++++++++++++++++++++++ sys/powerpc/powerpc/machdep.c | 2 ++ sys/riscv/riscv/machdep.c | 2 ++ sys/sys/sched.h | 14 +++++++++++++ 8 files changed, 74 insertions(+) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 8daa9c250db8..e56de986ccba 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1352,6 +1352,8 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) TUNABLE_INT_FETCH("hw.use_xsave", &use_xsave); } + sched_instance_select(); + link_elf_ireloc(); /* diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index 9532e19a11b3..0b395d42fc4a 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -523,6 +523,9 @@ initarm(struct arm_boot_params *abp) /* Do basic tuning, hz etc */ init_param1(); + sched_instance_select(); + /* link_elf_ireloc(); */ + /* * Allocate a page for the system page mapped to 0xffff0000 * This page will just contain the system vectors and can be diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 6790f47a0f82..b1e22c900f3f 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -825,6 +825,7 @@ initarm(struct arm64_bootparams *abp) PCPU_SET(curthread, &thread0); PCPU_SET(midr, get_midr()); + sched_instance_select(); link_elf_ireloc(); #ifdef FDT try_load_dtb(); diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 3f659432552c..821265cc2911 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -1544,6 +1544,7 @@ init386(int first) /* Initialize preload_kmdp */ preload_initkmdp(!metadata_missing); + sched_instance_select(); link_elf_ireloc(); vm86_initialize(); diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index 079d7d73ec45..2dbb6b928961 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -15,6 +15,7 @@ #include #include #include +#include #include const struct sched_instance *active_sched; @@ -92,3 +93,51 @@ DEFINE_SHIM0(sizeof_thread, int, sched_sizeof_thread) DEFINE_SHIM1(tdname, char *, sched_tdname, struct thread *, td) DEFINE_SHIM1(clear_tdname, void, sched_clear_tdname, struct thread *, td) DEFINE_SHIM0(init_ap, void, schedinit_ap) + +static char sched_name[32] = "ULE"; + +SET_DECLARE(sched_instance_set, struct sched_selection); + +void +sched_instance_select(void) +{ + struct sched_selection *s, **ss; + int i; + + TUNABLE_STR_FETCH("kern.sched.name", sched_name, sizeof(sched_name)); + SET_FOREACH(ss, sched_instance_set) { + s = *ss; + for (i = 0; s->name[i] == sched_name[i]; i++) { + if (s->name[i] == '\0') { + active_sched = s->instance; + return; + } + } + } + + /* + * No scheduler matching the configuration was found. If + * there is any scheduler compiled in, at all, use the first + * scheduler from the linker set. + */ + if (SET_BEGIN(sched_instance_set) < SET_LIMIT(sched_instance_set)) { + s = *SET_BEGIN(sched_instance_set); + active_sched = s->instance; + for (i = 0;; i++) { + sched_name[i] = s->name[i]; + if (s->name[i] == '\0') + break; + } + } +} + +void +schedinit(void) +{ + if (active_sched == NULL) + panic("Cannot find scheduler %s", sched_name); + active_sched->init(); +} + +SYSCTL_STRING(_kern_sched, OID_AUTO, name, CTLFLAG_RD, sched_name, 0, + "Scheduler name"); diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index f4a065e1ce46..04b3967ee110 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -83,6 +83,7 @@ #include #include #include +#include #include #include #include @@ -467,6 +468,7 @@ powerpc_init(vm_offset_t fdt, vm_offset_t toc, vm_offset_t ofentry, void *mdp, * Bring up MMU */ pmap_mmu_init(); + sched_instance_select(); link_elf_ireloc(); pmap_bootstrap(startkernel, endkernel); mtmsr(psl_kernset & ~PSL_EE); diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 235cc651b87e..b213e8812bc7 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -479,6 +479,8 @@ parse_metadata(void) /* Initialize preload_kmdp */ preload_initkmdp(true); + sched_instance_select(); + /* link_elf_ireloc(); */ /* Read the boot metadata */ boothowto = MD_FETCH(preload_kmdp, MODINFOMD_HOWTO, int); diff --git a/sys/sys/sched.h b/sys/sys/sched.h index b733d4d07e34..27d0fc7d0c8d 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -68,6 +68,7 @@ #ifdef SCHED_STATS #include #endif +#include struct proc; struct thread; @@ -287,6 +288,19 @@ struct sched_instance { extern const struct sched_instance *active_sched; +struct sched_selection { + const char *name; + const struct sched_instance *instance; +}; +#define DECLARE_SCHEDULER(xsel_name, xsched_name, xsched_instance) \ + static struct sched_selection xsel_name = { \ + .name = xsched_name, \ + .instance = xsched_instance, \ + }; \ + DATA_SET(sched_instance_set, xsel_name); + +void sched_instance_select(void); + #endif /* _KERNEL */ /* POSIX 1003.1b Process Scheduling */ From nobody Thu Jan 29 18:12: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 4f26gD5R5Bz6Pdqj for ; Thu, 29 Jan 2026 18:12: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 4f26gD0dSgz3YwJ for ; Thu, 29 Jan 2026 18:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DaACZSxEqqtBcBkxmimpeoCFrDnNez671dRI0i+2oQk=; b=E7M3/T9TiumWGokxARI+pSVDeXLASoalYlJ7/lR4Tx1/33/OJakv6AFiiFMaia68NL2FAX rFftVD5JgV2qwmWg/XDg2QRi6x/ir+G3ksLBJyQyt5Mt56yUhak5GDG0mk/r/o4K6WhriO PeTn5hVuNIv/OKlaeBTnnitkMSvDe1QX7vt1FzXW93Yw8ldN2MCaSJ2u6sMmXOd3xSePv+ W0Q5ahDJHVzcoI0sp77LIhDqlq/RRRuSQMDuuOQ3dVOx2SQVPLaPq+qTcFlEiOL0OjGHR8 h0wH924LXkHmpKux6DKJDCenbvPGRKBnyt7xmHdjYLEGY2eGc6twhjR+O8B1kQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710344; a=rsa-sha256; cv=none; b=NElgDCVlEjSFSaYQIRQt3cp82nZJSV/bPMWol1LjgFzfK3ySQ2oORrxOv/EyNBeztLdmpz Twlq476w65VuH6B6q4CI9yUgMZcCcExwmOHTxNxQ88YeDgcnGecNgn+YMPtoLzQqJb13Xx D4Dx01APjfwcM+VWhQdSoSTBSrVnIQNFSsFKwYii1RXyU52OUQNOPagxCZ17hYwH9pwlUC 7vMguAZ6p3n4fpqAIq+Ipmh433/yAasMgrfmvLxMED5BPOaILnijuJor8Z9vGXD/hsON03 nv3opwGQkyl/Iu4fXcnC/vUIHAh6F/nH4Ofc8J0e00UKAk7+N+a9Noaqt9D9Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DaACZSxEqqtBcBkxmimpeoCFrDnNez671dRI0i+2oQk=; b=uR+4/yu3RikPHZRjtl1FRWtPtMUowV8ySzOhWczvccQ5sopvzIpdIqJsZSDNal9jFQN+vi HLW3ds61+8pMy6fUYOySHNkcp5D9e14Y9QnjwGCqOJs87PETcttMRB0NpqQ+fqxkmjKbUa HCi0Q64tQfu6Ejoe515xlIDOvZHFDe0PkFP9NdrkUSx+PpMvx0OBnGOLGqwyFRncJVa4VP nX2nK2CKxcL3qifSWZchSPe8gni2WUrJKCY5P/vefYgiz+oQXLD8ntdnbtVp5FZvmwr5BC GubBD2UYjAG17DHuaSyw4iCXoAl3qz86U9i6xpf5YTeH/ZtvTeab0Qwi360/mQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gC6KPQzq3Z for ; Thu, 29 Jan 2026 18:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 86aa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ce38acee8d0b - main - Add kern/sched_shim.c 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: ce38acee8d0bb35223b227479b9998c77b47f41b Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:23 +0000 Message-Id: <697ba307.86aa.a8fedce@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ce38acee8d0bb35223b227479b9998c77b47f41b commit ce38acee8d0bb35223b227479b9998c77b47f41b Author: Konstantin Belousov AuthorDate: 2026-01-22 04:19:52 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 Add kern/sched_shim.c This is the infrastructure to allow scheduler implementation to be selected on boot, supported by ifuncs. The DEFINE_SHIM() macros and their usage provided by jrtc27@. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/conf/files | 1 + sys/kern/sched_shim.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/sched.h | 48 ++++++++++++++++++++++++++ 3 files changed, 143 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 97834f05431d..b330727b58c6 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3922,6 +3922,7 @@ kern/linker_if.m standard kern/p1003_1b.c standard kern/posix4_mib.c standard kern/sched_4bsd.c optional sched_4bsd +kern/sched_shim.c standard kern/sched_ule.c optional sched_ule kern/serdev_if.m standard kern/stack_protector.c standard \ diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c new file mode 100644 index 000000000000..079d7d73ec45 --- /dev/null +++ b/sys/kern/sched_shim.c @@ -0,0 +1,94 @@ +/* + * Copyright 2026 The FreeBSD Foundation + * + * SPDX-License-Identifier: BSD-2-Clause + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + */ + +#include "opt_sched.h" + +#include +#include +#include +#include +#include +#include +#include + +const struct sched_instance *active_sched; + +#ifndef __DO_NOT_HAVE_SYS_IFUNCS +#define __DEFINE_SHIM(__m, __r, __n, __p, __a) \ + DEFINE_IFUNC(, __r, __n, __p) \ + { \ + return (active_sched->__m); \ + } +#else +#define __DEFINE_SHIM(__m, __r, __n, __p, __a) \ + __r \ + __n __p \ + { \ + return (active_sched->__m __a); \ + } +#endif +#define DEFINE_SHIM0(__m, __r, __n) \ + __DEFINE_SHIM(__m, __r, __n, (void), ()) +#define DEFINE_SHIM1(__m, __r, __n, __t1, __a1) \ + __DEFINE_SHIM(__m, __r, __n, (__t1 __a1), (__a1)) +#define DEFINE_SHIM2(__m, __r, __n, __t1, __a1, __t2, __a2) \ + __DEFINE_SHIM(__m, __r, __n, (__t1 __a1, __t2 __a2), (__a1, __a2)) + +DEFINE_SHIM0(load, int, sched_load) +DEFINE_SHIM0(rr_interval, int, sched_rr_interval) +DEFINE_SHIM0(runnable, bool, sched_runnable) +DEFINE_SHIM2(exit, void, sched_exit, struct proc *, p, + struct thread *, childtd) +DEFINE_SHIM2(fork, void, sched_fork, struct thread *, td, + struct thread *, childtd) +DEFINE_SHIM1(fork_exit, void, sched_fork_exit, struct thread *, td) +DEFINE_SHIM2(class, void, sched_class, struct thread *, td, int, class) +DEFINE_SHIM2(nice, void, sched_nice, struct proc *, p, int, nice) +DEFINE_SHIM0(ap_entry, void, sched_ap_entry) +DEFINE_SHIM2(exit_thread, void, sched_exit_thread, struct thread *, td, + struct thread *, child) +DEFINE_SHIM1(estcpu, u_int, sched_estcpu, struct thread *, td) +DEFINE_SHIM2(fork_thread, void, sched_fork_thread, struct thread *, td, + struct thread *, child) +DEFINE_SHIM2(ithread_prio, void, sched_ithread_prio, struct thread *, td, + u_char, prio) +DEFINE_SHIM2(lend_prio, void, sched_lend_prio, struct thread *, td, + u_char, prio) +DEFINE_SHIM2(lend_user_prio, void, sched_lend_user_prio, struct thread *, td, + u_char, pri) +DEFINE_SHIM2(lend_user_prio_cond, void, sched_lend_user_prio_cond, + struct thread *, td, u_char, pri) +DEFINE_SHIM1(pctcpu, fixpt_t, sched_pctcpu, struct thread *, td) +DEFINE_SHIM2(prio, void, sched_prio, struct thread *, td, u_char, prio) +DEFINE_SHIM2(sleep, void, sched_sleep, struct thread *, td, int, prio) +DEFINE_SHIM2(sswitch, void, sched_switch, struct thread *, td, int, flags) +DEFINE_SHIM1(throw, void, sched_throw, struct thread *, td) +DEFINE_SHIM2(unlend_prio, void, sched_unlend_prio, struct thread *, td, + u_char, prio) +DEFINE_SHIM2(user_prio, void, sched_user_prio, struct thread *, td, + u_char, prio) +DEFINE_SHIM1(userret_slowpath, void, sched_userret_slowpath, + struct thread *, td) +DEFINE_SHIM2(add, void, sched_add, struct thread *, td, int, flags) +DEFINE_SHIM0(choose, struct thread *, sched_choose) +DEFINE_SHIM2(clock, void, sched_clock, struct thread *, td, int, cnt) +DEFINE_SHIM1(idletd, void, sched_idletd, void *, dummy) +DEFINE_SHIM1(preempt, void, sched_preempt, struct thread *, td) +DEFINE_SHIM1(relinquish, void, sched_relinquish, struct thread *, td) +DEFINE_SHIM1(rem, void, sched_rem, struct thread *, td) +DEFINE_SHIM2(wakeup, void, sched_wakeup, struct thread *, td, int, srqflags) +DEFINE_SHIM2(bind, void, sched_bind, struct thread *, td, int, cpu) +DEFINE_SHIM1(unbind, void, sched_unbind, struct thread *, td) +DEFINE_SHIM1(is_bound, int, sched_is_bound, struct thread *, td) +DEFINE_SHIM1(affinity, void, sched_affinity, struct thread *, td) +DEFINE_SHIM0(sizeof_proc, int, sched_sizeof_proc) +DEFINE_SHIM0(sizeof_thread, int, sched_sizeof_thread) +DEFINE_SHIM1(tdname, char *, sched_tdname, struct thread *, td) +DEFINE_SHIM1(clear_tdname, void, sched_clear_tdname, struct thread *, td) +DEFINE_SHIM0(init_ap, void, schedinit_ap) diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 8f383840192f..b733d4d07e34 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -239,6 +239,54 @@ void schedinit(void); * Fixup scheduler state for secondary APs */ void schedinit_ap(void); + +struct sched_instance { + int (*load)(void); + int (*rr_interval)(void); + bool (*runnable)(void); + void (*exit)(struct proc *p, struct thread *childtd); + void (*fork)(struct thread *td, struct thread *childtd); + void (*fork_exit)(struct thread *td); + void (*class)(struct thread *td, int class); + void (*nice)(struct proc *p, int nice); + void (*ap_entry)(void); + void (*exit_thread)(struct thread *td, struct thread *child); + u_int (*estcpu)(struct thread *td); + void (*fork_thread)(struct thread *td, struct thread *child); + void (*ithread_prio)(struct thread *td, u_char prio); + void (*lend_prio)(struct thread *td, u_char prio); + void (*lend_user_prio)(struct thread *td, u_char pri); + void (*lend_user_prio_cond)(struct thread *td, u_char pri); + fixpt_t (*pctcpu)(struct thread *td); + void (*prio)(struct thread *td, u_char prio); + void (*sleep)(struct thread *td, int prio); + void (*sswitch)(struct thread *td, int flags); + void (*throw)(struct thread *td); + void (*unlend_prio)(struct thread *td, u_char prio); + void (*user_prio)(struct thread *td, u_char prio); + void (*userret_slowpath)(struct thread *td); + void (*add)(struct thread *td, int flags); + struct thread *(*choose)(void); + void (*clock)(struct thread *td, int cnt); + void (*idletd)(void *); + void (*preempt)(struct thread *td); + void (*relinquish)(struct thread *td); + void (*rem)(struct thread *td); + void (*wakeup)(struct thread *td, int srqflags); + void (*bind)(struct thread *td, int cpu); + void (*unbind)(struct thread *td); + int (*is_bound)(struct thread *td); + void (*affinity)(struct thread *td); + int (*sizeof_proc)(void); + int (*sizeof_thread)(void); + char *(*tdname)(struct thread *td); + void (*clear_tdname)(struct thread *td); + void (*init)(void); + void (*init_ap)(void); +}; + +extern const struct sched_instance *active_sched; + #endif /* _KERNEL */ /* POSIX 1003.1b Process Scheduling */ From nobody Thu Jan 29 18:12: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 4f26gG6yXZz6Pf6c for ; Thu, 29 Jan 2026 18:12: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 4f26gG1gN2z3Yr5 for ; Thu, 29 Jan 2026 18:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pZWAsio3lyz6ptNEG27rfVW9A5t4PD0rIeK7zBuQ2/o=; b=HdDPqfjjGyM81a9eG0vRTH0JAvUOlV+Cc6hTEFd6op9KXruVA9oFTdiFFum+wM+BzbDVY1 MwOcSdmeYd/AcCvFL36PurW57tEl24d1L2E/1aq073IJ+1bV7kaj05j/LDxIfGYEIFbovl WZ5YdGdTdmComGODtciw2o2THc/cUQ1Pe5el+VN23K5UEZSbJDIXMzoA+TsrXvO8faO2cW /QuY9lSDnAFjUh9oXKvPUQsMEEK0c2jGt4b+cJ3q/B0RmvBSg7ZFVwp1Sr2hmWCJ/Sal+d RqV03XJN/UTVV3KmD+brD5vX5eba5FYHuGn1oHMvFKHxqXmHy29RNGcZQxY7rA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710346; a=rsa-sha256; cv=none; b=ifxT4Qf4QEryITFojpU/HK3CfIH3jaRY+7l2taokji1uaxVsNiIOnhJIyGTQg1tqoF4fhs RycCUzMqw4KZM5cDFV9bQWk3b+evbhoU4gRSHsZ/qeWgBiLa4fPhWRAw7suZZk9fDITWiw HXUFMeGnMScAVy8rE+/hbuUjs7K+BC7YktLD57xaIK8cDe6ZgWzWc4TS+xcKlOfy7hfHCK yK3yW63j/S6dqqkKFGSuRZLofewK8iQGFa2G0JqtyUktuyTEYdRC1jbeKpitP8D9EbZS+1 JI3Y0M9lLkTNLyQfNl4IHVNhM/YWXeUXoFZtwMaejGErPsyYTzLfHYpBAnKtoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pZWAsio3lyz6ptNEG27rfVW9A5t4PD0rIeK7zBuQ2/o=; b=GtFBjKpPi7gRMp9eUEWLGMWUYgZCURzUsKnTsj9Tu4+FgbIqNr2qzk7zn9bsWUL9Mr/e2n 6jffk0ULgkffDM2EsI6CDA1JKycpuobFHJWOLxu7nE7g6eHE3QBg38756BN45kuTIw9l6p NwBCiPqPTAWltfFASQLOqJr6Iwojn9KNgckoGROYucXTak3+mC+AguoJJ2ZAHICMuzpNIP clNmoE+3AhUT+Eu9HfEhNzazb5zR3Hh2F41s+DK+CEtB0OPObgyLMvcghIMmWXYO8OUu9K S0PGUr97AbsOeTcaZulPUJPcHtWKpL9ggz19f+KzDUqJAb3QMIjxbomLP908dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gG0sx5zpkx for ; Thu, 29 Jan 2026 18:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 963f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 7efbfd6ff649 - main - kern/sched_shim.c: provide required SYSINIT 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7efbfd6ff6490fa6b7144cc341eaf282a21fab32 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:26 +0000 Message-Id: <697ba30a.963f.276e8df3@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7efbfd6ff6490fa6b7144cc341eaf282a21fab32 commit 7efbfd6ff6490fa6b7144cc341eaf282a21fab32 Author: Konstantin Belousov AuthorDate: 2026-01-22 13:59:32 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 kern/sched_shim.c: provide required SYSINIT hooks Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_shim.c | 25 +++++++++++++++++++++++++ sys/sys/sched.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index 2dbb6b928961..96c824745815 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -139,5 +139,30 @@ schedinit(void) active_sched->init(); } +static void +sched_setup(void *dummy) +{ + active_sched->setup(); +} +SYSINIT(sched_setup, SI_SUB_RUN_QUEUE, SI_ORDER_FIRST, sched_setup, NULL); + +static void +sched_initticks(void *dummy) +{ + active_sched->initticks(); +} +SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks, + NULL); + +static void +sched_schedcpu(void) +{ + active_sched->schedcpu(); +} +SYSINIT(schedcpu, SI_SUB_LAST, SI_ORDER_FIRST, sched_schedcpu, NULL); + +SYSCTL_NODE(_kern, OID_AUTO, sched, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Scheduler"); + SYSCTL_STRING(_kern_sched, OID_AUTO, name, CTLFLAG_RD, sched_name, 0, "Scheduler name"); diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 27d0fc7d0c8d..c8491ede01a0 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -284,6 +284,9 @@ struct sched_instance { void (*clear_tdname)(struct thread *td); void (*init)(void); void (*init_ap)(void); + void (*setup)(void); + void (*initticks)(void); + void (*schedcpu)(void); }; extern const struct sched_instance *active_sched; From nobody Thu Jan 29 18:12: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 4f26gH63SBz6Pf8g for ; Thu, 29 Jan 2026 18:12: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 4f26gH20Smz3Z2R for ; Thu, 29 Jan 2026 18:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CalHkihLGL7YQGMfxktBrEbJXniXx4MDYIKuwlTi9WM=; b=r157vDiUOZuYdLtZZmKV9L6g9eWI+3sR0XGgTENBSlDWTp4Yl3GZ3rcm/Hk8W5EuWAFbe0 Gb/d6Dx6tcmQ6K/TfqXOzz/n/M/sySFuYjiGLFz6kbADQ6GKW7N0edFhEMEdFxEX/JC+RO Vl+FoJGwYPWsU3+5iJOMoH7O1jZH11ve/0EljnifICu093Sp3qJ8pvi3F9kJsACuzaVVhb lCqYLGb287zk3a4hLYQIaneJTL069HEQbstoCrDbL38/0+ogM+3Vz7/kMIwTBD73fPYqmm RbVwdGAnlq4C9Ca9M2ejCyb/2FjztL8t2ja2QuEjYjuRSkoLdZu48Zh5fwy38Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710347; a=rsa-sha256; cv=none; b=AVffLjttT3gnJ36CkMLd6jBEpcGQOjhSNsPBVJLj1sCGLKDflG3OjXzKDRg5Amb+Dh/sX6 +Hlj+O+1K9uBDPtajX0NqHdGozqTZ3KYcYp+CCrwQpheRY3mx9zTNZtEA4V7gHjylZHlFC 3H4BEWuoNcqqjJhv6d5rC7JWHeKbkIoGiuEO6wRjcxmSZQqBYPZ7zNXMDg3M5RClzvpfOv oooiJ1yuAk/4ZjEZ2/+CMI2bXQzBSOqU4f3YRKKgdfkbACX541GfRIDh72TP1MXaHh6o8+ imHlmcP3potyh8ArmComoVDSs/kxQm4+lB0VUMuEAzMy5a9gO4aNjRiKmE/a3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CalHkihLGL7YQGMfxktBrEbJXniXx4MDYIKuwlTi9WM=; b=PfBsJF0L3cXO6dYpyJ6BimmI+9P0z5WK/0gfKijQRsD44lwV+yi7dd310cbE57bGyN7DLh LZhN83gpfm/NQA/IUgUfVx0sqz9o0BfVK8775vBiGuRRNVOP4hFnkdJoC3rcjPN1iyZQ83 MWT2SYj1CApTlOBZEXIEyzGDl+mkUSfLd+/h7WeLZR1Ee+aOTwZMeXHF26MCd9T3RvJtGF Hqnt6kFBenN6V23ADrjgHGfElUuvR61q9yxP1WevjXCpDnIhiS38Zi04M8tJaTAmceFKUo lFwmWeZf1HLZ14p9APv84R9As6mLbv4IocqBfd/RQNcx14OlozgpZaCc+AB1rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gH1C02zq43 for ; Thu, 29 Jan 2026 18:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47d57 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d14e018024bb - main - sys: Make sched_ule a sched instance 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: d14e018024bb094705dd218ceeeea124706f6ec0 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:27 +0000 Message-Id: <697ba30b.47d57.1ebb236e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d14e018024bb094705dd218ceeeea124706f6ec0 commit d14e018024bb094705dd218ceeeea124706f6ec0 Author: Konstantin Belousov AuthorDate: 2026-01-22 04:36:15 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 sys: Make sched_ule a sched instance Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_ule.c | 243 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 144 insertions(+), 99 deletions(-) diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 59b59a30acab..116a1d6105d0 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -409,13 +409,6 @@ static int sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, int indent); #endif -static void sched_setup(void *dummy); -SYSINIT(sched_setup, SI_SUB_RUN_QUEUE, SI_ORDER_FIRST, sched_setup, NULL); - -static void sched_initticks(void *dummy); -SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks, - NULL); - SDT_PROVIDER_DEFINE(sched); SDT_PROBE_DEFINE3(sched, , , change__pri, "struct thread *", @@ -1640,7 +1633,7 @@ sched_setup_smp(void) * information. */ static void -sched_setup(void *dummy) +sched_ule_setup(void) { struct tdq *tdq; @@ -1665,7 +1658,7 @@ sched_setup(void *dummy) */ /* ARGSUSED */ static void -sched_initticks(void *dummy) +sched_ule_initticks(void) { int incr; @@ -1889,8 +1882,8 @@ sched_interact_fork(struct thread *td) /* * Called from proc0_init() to setup the scheduler fields. */ -void -schedinit(void) +static void +sched_ule_init(void) { struct td_sched *ts0; @@ -1914,8 +1907,8 @@ schedinit(void) * TDQ_SELF() relies on the below sched pcpu setting; it may be used only * after schedinit_ap(). */ -void -schedinit_ap(void) +static void +sched_ule_init_ap(void) { #ifdef SMP @@ -1929,8 +1922,8 @@ schedinit_ap(void) * priority they will switch when their slices run out, which will be * at most sched_slice stathz ticks. */ -int -sched_rr_interval(void) +static int +sched_ule_rr_interval(void) { /* Convert sched_slice from stathz to hz. */ @@ -2049,8 +2042,8 @@ sched_thread_priority(struct thread *td, u_char prio) * Update a thread's priority when it is lent another thread's * priority. */ -void -sched_lend_prio(struct thread *td, u_char prio) +static void +sched_ule_lend_prio(struct thread *td, u_char prio) { td->td_flags |= TDF_BORROWING; @@ -2065,8 +2058,8 @@ sched_lend_prio(struct thread *td, u_char prio) * important than prio, the thread will keep a priority boost * of prio. */ -void -sched_unlend_prio(struct thread *td, u_char prio) +static void +sched_ule_unlend_prio(struct thread *td, u_char prio) { u_char base_pri; @@ -2085,8 +2078,8 @@ sched_unlend_prio(struct thread *td, u_char prio) /* * Standard entry for setting the priority to an absolute value. */ -void -sched_prio(struct thread *td, u_char prio) +static void +sched_ule_prio(struct thread *td, u_char prio) { u_char oldprio; @@ -2115,8 +2108,8 @@ sched_prio(struct thread *td, u_char prio) /* * Set the base interrupt thread priority. */ -void -sched_ithread_prio(struct thread *td, u_char prio) +static void +sched_ule_ithread_prio(struct thread *td, u_char prio) { THREAD_LOCK_ASSERT(td, MA_OWNED); MPASS(td->td_pri_class == PRI_ITHD); @@ -2127,8 +2120,8 @@ sched_ithread_prio(struct thread *td, u_char prio) /* * Set the base user priority, does not effect current running priority. */ -void -sched_user_prio(struct thread *td, u_char prio) +static void +sched_ule_user_prio(struct thread *td, u_char prio) { td->td_base_user_pri = prio; @@ -2137,8 +2130,8 @@ sched_user_prio(struct thread *td, u_char prio) td->td_user_pri = prio; } -void -sched_lend_user_prio(struct thread *td, u_char prio) +static void +sched_ule_lend_user_prio(struct thread *td, u_char prio) { THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -2153,8 +2146,8 @@ sched_lend_user_prio(struct thread *td, u_char prio) /* * Like the above but first check if there is anything to do. */ -void -sched_lend_user_prio_cond(struct thread *td, u_char prio) +static void +sched_ule_lend_user_prio_cond(struct thread *td, u_char prio) { if (td->td_lend_user_pri == prio) @@ -2325,8 +2318,8 @@ thread_unblock_switch(struct thread *td, struct mtx *mtx) * migrating a thread from one queue to another as running threads may * be assigned elsewhere via binding. */ -void -sched_switch(struct thread *td, int flags) +static void +sched_ule_sswitch(struct thread *td, int flags) { struct thread *newtd; struct tdq *tdq; @@ -2464,8 +2457,8 @@ sched_switch(struct thread *td, int flags) /* * Adjust thread priorities as a result of a nice request. */ -void -sched_nice(struct proc *p, int nice) +static void +sched_ule_nice(struct proc *p, int nice) { struct thread *td; @@ -2483,8 +2476,8 @@ sched_nice(struct proc *p, int nice) /* * Record the sleep time for the interactivity scorer. */ -void -sched_sleep(struct thread *td, int prio) +static void +sched_ule_sleep(struct thread *td, int prio) { THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -2504,8 +2497,8 @@ sched_sleep(struct thread *td, int prio) * * Requires the thread lock on entry, drops on exit. */ -void -sched_wakeup(struct thread *td, int srqflags) +static void +sched_ule_wakeup(struct thread *td, int srqflags) { struct td_sched *ts; int slptick; @@ -2544,8 +2537,8 @@ sched_wakeup(struct thread *td, int srqflags) * Penalize the parent for creating a new child and initialize the child's * priority. */ -void -sched_fork(struct thread *td, struct thread *child) +static void +sched_ule_fork(struct thread *td, struct thread *child) { THREAD_LOCK_ASSERT(td, MA_OWNED); sched_pctcpu_update(td_get_sched(td), 1); @@ -2563,8 +2556,8 @@ sched_fork(struct thread *td, struct thread *child) /* * Fork a new thread, may be within the same process. */ -void -sched_fork_thread(struct thread *td, struct thread *child) +static void +sched_ule_fork_thread(struct thread *td, struct thread *child) { struct td_sched *ts; struct td_sched *ts2; @@ -2609,8 +2602,8 @@ sched_fork_thread(struct thread *td, struct thread *child) /* * Adjust the priority class of a thread. */ -void -sched_class(struct thread *td, int class) +static void +sched_ule_class(struct thread *td, int class) { THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -2622,8 +2615,8 @@ sched_class(struct thread *td, int class) /* * Return some of the child's priority and interactivity to the parent. */ -void -sched_exit(struct proc *p, struct thread *child) +static void +sched_ule_exit(struct proc *p, struct thread *child) { struct thread *td; @@ -2640,8 +2633,8 @@ sched_exit(struct proc *p, struct thread *child) * jobs such as make. This has little effect on the make process itself but * causes new processes spawned by it to receive worse scores immediately. */ -void -sched_exit_thread(struct thread *td, struct thread *child) +static void +sched_ule_exit_thread(struct thread *td, struct thread *child) { KTR_STATE1(KTR_SCHED, "thread", sched_tdname(child), "thread exit", @@ -2658,8 +2651,8 @@ sched_exit_thread(struct thread *td, struct thread *child) thread_unlock(td); } -void -sched_preempt(struct thread *td) +static void +sched_ule_preempt(struct thread *td) { struct tdq *tdq; int flags; @@ -2689,8 +2682,8 @@ sched_preempt(struct thread *td) * Fix priorities on return to user-space. Priorities may be elevated due * to static priorities in msleep() or similar. */ -void -sched_userret_slowpath(struct thread *td) +static void +sched_ule_userret_slowpath(struct thread *td) { thread_lock(td); @@ -2720,8 +2713,8 @@ td_slice(struct thread *td, struct tdq *tdq) * Handle a stathz tick. This is really only relevant for timeshare * and interrupt threads. */ -void -sched_clock(struct thread *td, int cnt) +static void +sched_ule_clock(struct thread *td, int cnt) { struct tdq *tdq; struct td_sched *ts; @@ -2806,8 +2799,8 @@ sched_clock(struct thread *td, int cnt) } } -u_int -sched_estcpu(struct thread *td __unused) +static u_int +sched_ule_estcpu(struct thread *td __unused) { return (0); @@ -2817,8 +2810,8 @@ sched_estcpu(struct thread *td __unused) * Return whether the current CPU has runnable tasks. Used for in-kernel * cooperative idle threads. */ -bool -sched_runnable(void) +static bool +sched_ule_runnable(void) { struct tdq *tdq; @@ -2830,8 +2823,8 @@ sched_runnable(void) * Choose the highest priority thread to run. The thread is removed from * the run-queue while running however the load remains. */ -struct thread * -sched_choose(void) +static struct thread * +sched_ule_choose(void) { struct thread *td; struct tdq *tdq; @@ -2907,8 +2900,8 @@ tdq_add(struct tdq *tdq, struct thread *td, int flags) * * Requires the thread lock on entry, drops on exit. */ -void -sched_add(struct thread *td, int flags) +static void +sched_ule_add(struct thread *td, int flags) { struct tdq *tdq; #ifdef SMP @@ -2967,8 +2960,8 @@ sched_add(struct thread *td, int flags) * when we're stealing a thread from a remote queue. Otherwise all threads * exit by calling sched_exit_thread() and sched_throw() themselves. */ -void -sched_rem(struct thread *td) +static void +sched_ule_rem(struct thread *td) { struct tdq *tdq; @@ -2990,8 +2983,8 @@ sched_rem(struct thread *td) /* * Fetch cpu utilization information. Updates on demand. */ -fixpt_t -sched_pctcpu(struct thread *td) +static fixpt_t +sched_ule_pctcpu(struct thread *td) { struct td_sched *ts; u_int len; @@ -3012,8 +3005,8 @@ sched_pctcpu(struct thread *td) * Enforce affinity settings for a thread. Called after adjustments to * cpumask. */ -void -sched_affinity(struct thread *td) +static void +sched_ule_affinity(struct thread *td) { #ifdef SMP struct td_sched *ts; @@ -3043,8 +3036,8 @@ sched_affinity(struct thread *td) /* * Bind a thread to a target cpu. */ -void -sched_bind(struct thread *td, int cpu) +static void +sched_ule_bind(struct thread *td, int cpu) { struct td_sched *ts; @@ -3067,8 +3060,8 @@ sched_bind(struct thread *td, int cpu) /* * Release a bound thread. */ -void -sched_unbind(struct thread *td) +static void +sched_ule_unbind(struct thread *td) { struct td_sched *ts; @@ -3081,8 +3074,8 @@ sched_unbind(struct thread *td) sched_unpin(); } -int -sched_is_bound(struct thread *td) +static int +sched_ule_is_bound(struct thread *td) { THREAD_LOCK_ASSERT(td, MA_OWNED); return (td_get_sched(td)->ts_flags & TSF_BOUND); @@ -3091,8 +3084,8 @@ sched_is_bound(struct thread *td) /* * Basic yield call. */ -void -sched_relinquish(struct thread *td) +static void +sched_ule_relinquish(struct thread *td) { thread_lock(td); mi_switch(SW_VOL | SWT_RELINQUISH); @@ -3101,8 +3094,8 @@ sched_relinquish(struct thread *td) /* * Return the total system load. */ -int -sched_load(void) +static int +sched_ule_load(void) { #ifdef SMP int total; @@ -3117,14 +3110,14 @@ sched_load(void) #endif } -int -sched_sizeof_proc(void) +static int +sched_ule_sizeof_proc(void) { return (sizeof(struct proc)); } -int -sched_sizeof_thread(void) +static int +sched_ule_sizeof_thread(void) { return (sizeof(struct thread) + sizeof(struct td_sched)); } @@ -3139,8 +3132,8 @@ sched_sizeof_thread(void) /* * The actual idle process. */ -void -sched_idletd(void *dummy) +static void +sched_ule_idletd(void *dummy) { struct thread *td; struct tdq *tdq; @@ -3242,8 +3235,8 @@ sched_throw_grab(struct tdq *tdq) /* * A CPU is entering for the first time. */ -void -sched_ap_entry(void) +static void +sched_ule_ap_entry(void) { struct thread *newtd; struct tdq *tdq; @@ -3272,8 +3265,8 @@ sched_ap_entry(void) /* * A thread is exiting. */ -void -sched_throw(struct thread *td) +static void +sched_ule_throw(struct thread *td) { struct thread *newtd; struct tdq *tdq; @@ -3303,8 +3296,8 @@ sched_throw(struct thread *td) * This is called from fork_exit(). Just acquire the correct locks and * let fork do the rest of the work. */ -void -sched_fork_exit(struct thread *td) +static void +sched_ule_fork_exit(struct thread *td) { struct tdq *tdq; int cpuid; @@ -3329,8 +3322,8 @@ sched_fork_exit(struct thread *td) /* * Create on first use to catch odd startup conditions. */ -char * -sched_tdname(struct thread *td) +static char * +sched_ule_tdname(struct thread *td) { #ifdef KTR struct td_sched *ts; @@ -3345,16 +3338,72 @@ sched_tdname(struct thread *td) #endif } -#ifdef KTR -void -sched_clear_tdname(struct thread *td) +static void +sched_ule_clear_tdname(struct thread *td) { +#ifdef KTR struct td_sched *ts; ts = td_get_sched(td); ts->ts_name[0] = '\0'; -} #endif +} + +static void +sched_ule_schedcpu(void) +{ +} + +struct sched_instance sched_ule_instance = { +#define SLOT(name) .name = sched_ule_##name + SLOT(load), + SLOT(rr_interval), + SLOT(runnable), + SLOT(exit), + SLOT(fork), + SLOT(fork_exit), + SLOT(class), + SLOT(nice), + SLOT(ap_entry), + SLOT(exit_thread), + SLOT(estcpu), + SLOT(fork_thread), + SLOT(ithread_prio), + SLOT(lend_prio), + SLOT(lend_user_prio), + SLOT(lend_user_prio_cond), + SLOT(pctcpu), + SLOT(prio), + SLOT(sleep), + SLOT(sswitch), + SLOT(throw), + SLOT(unlend_prio), + SLOT(user_prio), + SLOT(userret_slowpath), + SLOT(add), + SLOT(choose), + SLOT(clock), + SLOT(idletd), + SLOT(preempt), + SLOT(relinquish), + SLOT(rem), + SLOT(wakeup), + SLOT(bind), + SLOT(unbind), + SLOT(is_bound), + SLOT(affinity), + SLOT(sizeof_proc), + SLOT(sizeof_thread), + SLOT(tdname), + SLOT(clear_tdname), + SLOT(init), + SLOT(init_ap), + SLOT(setup), + SLOT(initticks), + SLOT(schedcpu), +#undef SLOT +}; +DECLARE_SCHEDULER(ule_sched_selector, "ULE", &sched_ule_instance); #ifdef SMP @@ -3457,10 +3506,6 @@ sysctl_kern_quantum(SYSCTL_HANDLER_ARGS) return (0); } -SYSCTL_NODE(_kern, OID_AUTO, sched, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, - "Scheduler"); -SYSCTL_STRING(_kern_sched, OID_AUTO, name, CTLFLAG_RD, "ULE", 0, - "Scheduler name"); SYSCTL_PROC(_kern_sched, OID_AUTO, quantum, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_quantum, "I", From nobody Thu Jan 29 18:12: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 4f26gK0SX9z6Pf4b for ; Thu, 29 Jan 2026 18:12: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 4f26gJ2J2zz3YxK for ; Thu, 29 Jan 2026 18:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q1C2pG/2zkYRbIHCGijys+6DGo892mZfuH5Ie5TUzS4=; b=W9+0+3rmVwwirULTKuqXf2BC5UWLrEa1/4HRqf9vUKvPR3Md1faQ5gjPi8IY7ZQRKuBg03 Bk309hzpWnDm3f70nZPdvJmAvXwlSGhap2VYFG/DfaGCSiWvVHHk/qX6okj0EkrsbOrkm6 dPYa9oqIMuwtS172Upe0KTyg0Nwyml3bHcYi3nN4gcJm68fL7GZWxuejph+GLtbmC/ThV3 iXCiaBiSSFdqjEPgOgciRUPRXxUvZig+YJEJYMOTEc+Q6LNiavuBnGStGOLaL1M1p9Sd+B MeEFrjTPVurCfhWStNlGDczzU3xOBDdcMc83uoDPn+h0tCa4zKutqX/4XxXiqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710348; a=rsa-sha256; cv=none; b=NPaF1PQP2Ojye7lGeT9kzhEFA8U7I32Dsl2hCltO2ogCfqOemunlh/6VSbu4v5emldszGP 6ombHNRQsAb+/iNThbeDFWu3ar551v2nlnJkM1ynoDVNRghTEHNRm8MJgCKexLgp62yDsX 4XyrILqChbCQa8rw62OTR7pUIvjI82MIO+3GKtMre6w4EVoi5n1v1lPKxfHe3GGks/WI44 96VhAmXkK1nrh2Omz9YfWO1nFCSHphFPuc6jucoe7q0rekI39WncLoVenm+LGbxpn+RyFa GGnwW3s6cti7rJTyp2A4HXmnOqA1LLibx4CIajanKeMkQTZvH+guIYGMjUvo/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q1C2pG/2zkYRbIHCGijys+6DGo892mZfuH5Ie5TUzS4=; b=XEhBqzXUhWtADGsqsYv7a5pGwFaSk/eol43P1EucpeEw7dKrf/HO0mWq30r6VUp69hnCYb IpAo9XB2SLr1L8gW/K7rUPbyEcbHAiI4l4ozIkVbyctrUpl9HBQurVq7A20mDXFZJvO5El KDLTieB69s54Q2ryqW0MKteK7zxAAhYToFTV6KTeeV15Kw9URLvcrwJuWkh7Y76YFrpmCy FB0W72HfotK2fOQ8R8x251tKb3QlAF+uqovIdnjZSwOPwh1JpSjpAKFBtccaTc3pBXiMli bZx23eyp0B8rqJlrRgT0fuJrrrs7bc/CibfKmN3Jc9ZTsvhrc4XJiXTJ05dfjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gJ1c3Szq44 for ; Thu, 29 Jan 2026 18:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 80a7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: eb454937a3c0 - main - sys: Move ULE sysctls under kern.sched.ule 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: eb454937a3c04e5d1bde4f58d0ebb2dc48472ced Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:28 +0000 Message-Id: <697ba30c.80a7.6a1602fb@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eb454937a3c04e5d1bde4f58d0ebb2dc48472ced commit eb454937a3c04e5d1bde4f58d0ebb2dc48472ced Author: Konstantin Belousov AuthorDate: 2026-01-22 05:41:21 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 sys: Move ULE sysctls under kern.sched.ule Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_ule.c | 60 ++++++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 116a1d6105d0..a285c62a4525 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -404,8 +404,8 @@ static void sched_balance(void); static bool sched_balance_pair(struct tdq *, struct tdq *); static inline struct tdq *sched_setcpu(struct thread *, int, int); static inline void thread_unblock_switch(struct thread *, struct mtx *); -static int sysctl_kern_sched_topology_spec(SYSCTL_HANDLER_ARGS); -static int sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, +static int sysctl_kern_sched_ule_topology_spec(SYSCTL_HANDLER_ARGS); +static int sysctl_kern_sched_ule_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, int indent); #endif @@ -3412,8 +3412,8 @@ DECLARE_SCHEDULER(ule_sched_selector, "ULE", &sched_ule_instance); * the topology tree. */ static int -sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, - int indent) +sysctl_kern_sched_ule_topology_spec_internal(struct sbuf *sb, + struct cpu_group *cg, int indent) { char cpusetbuf[CPUSETBUFSIZ]; int i, first; @@ -3450,7 +3450,7 @@ sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, if (cg->cg_children > 0) { sbuf_printf(sb, "%*s \n", indent, ""); for (i = 0; i < cg->cg_children; i++) - sysctl_kern_sched_topology_spec_internal(sb, + sysctl_kern_sched_ule_topology_spec_internal(sb, &cg->cg_child[i], indent+2); sbuf_printf(sb, "%*s \n", indent, ""); } @@ -3463,7 +3463,7 @@ sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, * the recursive sysctl_kern_smp_topology_spec_internal(). */ static int -sysctl_kern_sched_topology_spec(SYSCTL_HANDLER_ARGS) +sysctl_kern_sched_ule_topology_spec(SYSCTL_HANDLER_ARGS) { struct sbuf *topo; int err; @@ -3475,7 +3475,7 @@ sysctl_kern_sched_topology_spec(SYSCTL_HANDLER_ARGS) return (ENOMEM); sbuf_cat(topo, "\n"); - err = sysctl_kern_sched_topology_spec_internal(topo, cpu_top, 1); + err = sysctl_kern_sched_ule_topology_spec_internal(topo, cpu_top, 1); sbuf_cat(topo, "\n"); if (err == 0) { @@ -3506,47 +3506,51 @@ sysctl_kern_quantum(SYSCTL_HANDLER_ARGS) return (0); } -SYSCTL_PROC(_kern_sched, OID_AUTO, quantum, +SYSCTL_NODE(_kern_sched, OID_AUTO, ule, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "ULE Scheduler"); + +SYSCTL_PROC(_kern_sched_ule, OID_AUTO, quantum, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_quantum, "I", "Quantum for timeshare threads in microseconds"); -SYSCTL_INT(_kern_sched, OID_AUTO, slice, CTLFLAG_RW, &sched_slice, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, slice, CTLFLAG_RW, &sched_slice, 0, "Quantum for timeshare threads in stathz ticks"); -SYSCTL_UINT(_kern_sched, OID_AUTO, interact, CTLFLAG_RWTUN, &sched_interact, 0, +SYSCTL_UINT(_kern_sched_ule, OID_AUTO, interact, CTLFLAG_RWTUN, &sched_interact, 0, "Interactivity score threshold"); -SYSCTL_INT(_kern_sched, OID_AUTO, preempt_thresh, CTLFLAG_RWTUN, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, preempt_thresh, CTLFLAG_RWTUN, &preempt_thresh, 0, "Maximal (lowest) priority for preemption"); -SYSCTL_INT(_kern_sched, OID_AUTO, static_boost, CTLFLAG_RWTUN, &static_boost, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, static_boost, CTLFLAG_RWTUN, + &static_boost, 0, "Assign static kernel priorities to sleeping threads"); -SYSCTL_INT(_kern_sched, OID_AUTO, idlespins, CTLFLAG_RWTUN, &sched_idlespins, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, idlespins, CTLFLAG_RWTUN, + &sched_idlespins, 0, "Number of times idle thread will spin waiting for new work"); -SYSCTL_INT(_kern_sched, OID_AUTO, idlespinthresh, CTLFLAG_RW, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, idlespinthresh, CTLFLAG_RW, &sched_idlespinthresh, 0, "Threshold before we will permit idle thread spinning"); #ifdef SMP -SYSCTL_INT(_kern_sched, OID_AUTO, affinity, CTLFLAG_RW, &affinity, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, affinity, CTLFLAG_RW, &affinity, 0, "Number of hz ticks to keep thread affinity for"); -SYSCTL_INT(_kern_sched, OID_AUTO, balance, CTLFLAG_RWTUN, &rebalance, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, balance, CTLFLAG_RWTUN, &rebalance, 0, "Enables the long-term load balancer"); -SYSCTL_INT(_kern_sched, OID_AUTO, balance_interval, CTLFLAG_RW, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, balance_interval, CTLFLAG_RW, &balance_interval, 0, "Average period in stathz ticks to run the long-term balancer"); -SYSCTL_INT(_kern_sched, OID_AUTO, steal_idle, CTLFLAG_RWTUN, &steal_idle, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, steal_idle, CTLFLAG_RWTUN, + &steal_idle, 0, "Attempts to steal work from other cores before idling"); -SYSCTL_INT(_kern_sched, OID_AUTO, steal_thresh, CTLFLAG_RWTUN, &steal_thresh, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, steal_thresh, CTLFLAG_RWTUN, + &steal_thresh, 0, "Minimum load on remote CPU before we'll steal"); -SYSCTL_INT(_kern_sched, OID_AUTO, trysteal_limit, CTLFLAG_RWTUN, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, trysteal_limit, CTLFLAG_RWTUN, &trysteal_limit, 0, "Topological distance limit for stealing threads in sched_switch()"); -SYSCTL_INT(_kern_sched, OID_AUTO, always_steal, CTLFLAG_RWTUN, &always_steal, 0, +SYSCTL_INT(_kern_sched_ule, OID_AUTO, always_steal, CTLFLAG_RWTUN, + &always_steal, 0, "Always run the stealer from the idle thread"); -SYSCTL_PROC(_kern_sched, OID_AUTO, topology_spec, CTLTYPE_STRING | - CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_kern_sched_topology_spec, "A", +SYSCTL_PROC(_kern_sched_ule, OID_AUTO, topology_spec, CTLTYPE_STRING | + CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, + sysctl_kern_sched_ule_topology_spec, "A", "XML dump of detected CPU topology"); #endif - -/* ps compat. All cpu percentages from ULE are weighted. */ -static int ccpu = 0; -SYSCTL_INT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, - "Decay factor used for updating %CPU in 4BSD scheduler"); From nobody Thu Jan 29 18:12: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 4f26gL71v9z6PfFj for ; Thu, 29 Jan 2026 18:12: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 4f26gL50NPz3Z3D for ; Thu, 29 Jan 2026 18:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hxn52RQyk1xuHJxKXAqv34/fGY158JafK9ORBS/y3v0=; b=akqFPjgVy9WyTKVQV0njLjUYeFXN8blKk8/xBymFPx3BTOOKPjUC2/7/F3CjGp3Tw2u/9P Cj5nBdkViqKq6dx50KqQdtdkgru0HEJMSfi4Oy1k5VghuuvpPaJ51mY2/Yz/rNzyrXNjK6 vNq+Ho4JovOhToFpaX+LzqyT7m0iOb2C4dfxUCK7af42WR/QGkEdba4CsCOT3yFJpAOve2 MnD1K8LsCM2vFYDrtDrR5RYkQosaGKmw8UxRmAZur92Vph3sKZssk0YpTAQGsNPquT4ZlB WTJLwSCC09JlC2kNOxe9uoK/gLQieLOR4I8F/EOns1rnH0xpXeamGodgucegGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710350; a=rsa-sha256; cv=none; b=N4TkPwYwhGtPb7BjIY4Q30rcGlQF4YbnUL0m7huO137tS69KF0N47E8HWm8kVYCx5Lq1HE cYPnP8OT2s06U8T3R/9/pfUQTDrz50MBzxQuKrwkpZdy8ltNwyayqv61t/cGSPHBLnY5Gf 7JZVxqKXz+auIpXI5yccq8bllDGx+alAbZB6BQXex+TO/CPvNvpEEHRfhhLGi04h6CbeRk 8Ti7EtNkIhGOfKE2fT1q9oKr0LrjnUdLj3bXddefC76o6CaWiR1BVUO4Wo5n10GeVKae9T NEB5lTdWlY2tSLfqhL5XiSP9OWwuATYs7wOyVNFXxwGdh0Iw7ddrbWcwllPbqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hxn52RQyk1xuHJxKXAqv34/fGY158JafK9ORBS/y3v0=; b=kHmlKMaHJRKwWZX/VD5ta53fEPYWMg0yMKhiczAYw1f/qA+bu7+/qwIbCGxh+ChONB1VSF o1Vzo7AMOF0EfCXxJbIKkBCqxLWo63ES5ZnXIJfhrUuZOdLahYOu/BCuJABeeY71+nPLt+ 5zNWITNQra69S130Om6LW2caEHQCG9m826ghqSH2L42ujwW88Awy8zG7t6cvnj9EPbJshW zbxtdnmeLa6mwMRzIlH3WtAfjZP93PI5vEmwVGvT7YZIBcXjThj3zeD0S/QIyqXwBMpNnd O+ZpOwuK/o39O5RsMgOuvRkfP2PEA3+HM7STzyQ021hIFXijVnsVtze5/0Gycg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gL2Wt3zq9K for ; Thu, 29 Jan 2026 18:12:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8d94 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 8aa8289d991b - main - sys: Move 4BSD sysctls under kern.sched.4bsd 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: 8aa8289d991bc369b6739ce4c4bcd7d5234f48a2 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:30 +0000 Message-Id: <697ba30e.8d94.223d58c7@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8aa8289d991bc369b6739ce4c4bcd7d5234f48a2 commit 8aa8289d991bc369b6739ce4c4bcd7d5234f48a2 Author: Konstantin Belousov AuthorDate: 2026-01-22 05:46:25 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 sys: Move 4BSD sysctls under kern.sched.4bsd Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index d81cbc4e6ddc..dae084aabcba 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -194,7 +194,7 @@ setup_runqs(void) } static int -sysctl_kern_quantum(SYSCTL_HANDLER_ARGS) +sysctl_kern_4bsd_quantum(SYSCTL_HANDLER_ARGS) { int error, new_val, period; @@ -211,50 +211,54 @@ sysctl_kern_quantum(SYSCTL_HANDLER_ARGS) return (0); } -SYSCTL_PROC(_kern_sched, OID_AUTO, quantum, +SYSCTL_NODE(_kern_sched, OID_AUTO, 4bsd, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "4BSD Scheduler"); + +SYSCTL_PROC(_kern_sched_4bsd, OID_AUTO, quantum, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, - sysctl_kern_quantum, "I", + sysctl_kern_4bsd_quantum, "I", "Quantum for timeshare threads in microseconds"); -SYSCTL_INT(_kern_sched, OID_AUTO, slice, CTLFLAG_RW, &sched_slice, 0, +SYSCTL_INT(_kern_sched_4bsd, OID_AUTO, slice, CTLFLAG_RW, &sched_slice, 0, "Quantum for timeshare threads in stathz ticks"); #ifdef SMP /* Enable forwarding of wakeups to all other cpus */ -static SYSCTL_NODE(_kern_sched, OID_AUTO, ipiwakeup, +static SYSCTL_NODE(_kern_sched_4bsd, OID_AUTO, ipiwakeup, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Kernel SMP"); static int runq_fuzz = 1; -SYSCTL_INT(_kern_sched, OID_AUTO, runq_fuzz, CTLFLAG_RW, &runq_fuzz, 0, ""); +SYSCTL_INT(_kern_sched_4bsd, OID_AUTO, runq_fuzz, CTLFLAG_RW, + &runq_fuzz, 0, ""); static int forward_wakeup_enabled = 1; -SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, enabled, CTLFLAG_RW, +SYSCTL_INT(_kern_sched_4bsd_ipiwakeup, OID_AUTO, enabled, CTLFLAG_RW, &forward_wakeup_enabled, 0, "Forwarding of wakeup to idle CPUs"); static int forward_wakeups_requested = 0; -SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, requested, CTLFLAG_RD, +SYSCTL_INT(_kern_sched_4bsd_ipiwakeup, OID_AUTO, requested, CTLFLAG_RD, &forward_wakeups_requested, 0, "Requests for Forwarding of wakeup to idle CPUs"); static int forward_wakeups_delivered = 0; -SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, delivered, CTLFLAG_RD, +SYSCTL_INT(_kern_sched_4bsd_ipiwakeup, OID_AUTO, delivered, CTLFLAG_RD, &forward_wakeups_delivered, 0, "Completed Forwarding of wakeup to idle CPUs"); static int forward_wakeup_use_mask = 1; -SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, usemask, CTLFLAG_RW, +SYSCTL_INT(_kern_sched_4bsd_ipiwakeup, OID_AUTO, usemask, CTLFLAG_RW, &forward_wakeup_use_mask, 0, "Use the mask of idle cpus"); static int forward_wakeup_use_loop = 0; -SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, useloop, CTLFLAG_RW, +SYSCTL_INT(_kern_sched_4bsd_ipiwakeup, OID_AUTO, useloop, CTLFLAG_RW, &forward_wakeup_use_loop, 0, "Use a loop to find idle cpus"); #endif #if 0 static int sched_followon = 0; -SYSCTL_INT(_kern_sched, OID_AUTO, followon, CTLFLAG_RW, +SYSCTL_INT(_kern_sched_4bsd, OID_AUTO, followon, CTLFLAG_RW, &sched_followon, 0, "allow threads to share a quantum"); #endif @@ -434,7 +438,7 @@ maybe_preempt(struct thread *td) /* decay 95% of `ts_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */ static fixpt_t ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */ -SYSCTL_UINT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, +SYSCTL_UINT(_kern_sched_4bsd, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, "Decay factor used for updating %CPU"); /* From nobody Thu Jan 29 18:12: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 4f26gK6r2jz6PfFh for ; Thu, 29 Jan 2026 18:12: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 4f26gK4sjsz3ZJ7 for ; Thu, 29 Jan 2026 18:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T1qb6nr23RiI2a89aBWf+AdwD9Ic0k4pdH4rjQmxEJc=; b=nFoeepbwBVhIMhAZ5zNUWpTOpmBj0OTklnM6fnvh323fJM1ypoAsMWDDWOmI72+6A4FPEL 8vz0RE2NdBsPpem7iUxBioxr+IdGfed3hnGb4vPkZ+DVbulOu+7VL+/vFX9HUh17+dxYyP b5q3mf8CS1NEcIpPjrOmHdNpyFde7gflghufjockT0T71sf6Xd9evErg0HMDnqBtoGDJHs 9C7GdyKZXN3tNc9SxFItbCk0mkimnGO9nr8xfdtZahCs1HNHBBdzYF6/nLQVKf3u6LQ/Wy gWSMsrvHH2uKi7qsjfe0G8OKTAeu6MhoflyYcMBvJ1ERhM8HaZI4uum5oPYdfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710349; a=rsa-sha256; cv=none; b=iUDf1I1FifPROHbn+xoDCNPyMJU+Hh2lkLhwP184lInSKTOwADYJ1fRjUijhsnpeKOR7DE XsodbM7RiY0G77VCAlzILC+g3Ut8z2pBRtVMyvEU9q9Zey6jSrjPIQxCK08tmxmYUayaOS /6XihHH3UQnOYp7fWdAQHslRzwv71+8+wLwt8gDKzSH9+GFy47v7FaHPcVfi+OQzQK4PH3 KxsMqza/NqNqLjjWGYvBuX83mYBEA/To2O11Zhz6ZtGldol/jLCjs4iwrt+cnuYztM9IEe J4JN0V8GwFmCiEAAww0hITw+G7j+zzkarLcjFXoJvy3ElbUqIRYLyTx1HqrM7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T1qb6nr23RiI2a89aBWf+AdwD9Ic0k4pdH4rjQmxEJc=; b=q2YBlcMWVuTTb216PzHwAUPfnRPci6qczAvqX8l8p315SETQlWoACAGDX3kT6EXlAfA0Ol t0mh66qFoA9PCg+v8vOozlewFUv0aoCaKioY9fXj7FZ1qCtDcwDAqJSer9MOWhTLQOF6a7 igaZMfm3iZYPiGQ+oX/P6aKC30st4yTj22kuwU3QyZixx2E3Hu8RchQNN0rOYnNcq3U5lD zPI6MQ5ZvrnS2H0BjVQX9LGxahLBUfteeZBgZpQGg0fItJf05I4Y97nTenHYeeQ2oTinlk 5mAH7kqFglDVzlKIuFrZ823GtHm3MHUorwKF0RBcBRM2H+CmFhgJrTddkaJtKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gK2BQHzq5p for ; Thu, 29 Jan 2026 18:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8d53 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b125c4d13095 - main - sys: Make sched_4bsd a sched instance 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: b125c4d13095b3f26d105a985099dfe1cc3ac0b3 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:29 +0000 Message-Id: <697ba30d.8d53.1a87d4bd@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b125c4d13095b3f26d105a985099dfe1cc3ac0b3 commit b125c4d13095b3f26d105a985099dfe1cc3ac0b3 Author: Konstantin Belousov AuthorDate: 2026-01-22 05:22:58 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 sys: Make sched_4bsd a sched instance Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 245 +++++++++++++++++++++++++++++--------------------- 1 file changed, 144 insertions(+), 101 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 066a1bc20d26..d81cbc4e6ddc 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -137,7 +137,6 @@ static void setup_runqs(void); static void schedcpu(void); static void schedcpu_thread(void); static void sched_priority(struct thread *td, u_char prio); -static void sched_setup(void *dummy); static void maybe_resched(struct thread *td); static void updatepri(struct thread *td); static void resetpriority(struct thread *td); @@ -153,13 +152,12 @@ static struct kproc_desc sched_kp = { schedcpu_thread, NULL }; -SYSINIT(schedcpu, SI_SUB_LAST, SI_ORDER_FIRST, kproc_start, - &sched_kp); -SYSINIT(sched_setup, SI_SUB_RUN_QUEUE, SI_ORDER_FIRST, sched_setup, NULL); -static void sched_initticks(void *dummy); -SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks, - NULL); +static void +sched_4bsd_schedcpu(void) +{ + kproc_start(&sched_kp); +} /* * Global run queue. @@ -213,11 +211,6 @@ sysctl_kern_quantum(SYSCTL_HANDLER_ARGS) return (0); } -SYSCTL_NODE(_kern, OID_AUTO, sched, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, - "Scheduler"); - -SYSCTL_STRING(_kern_sched, OID_AUTO, name, CTLFLAG_RD, "4BSD", 0, - "Scheduler name"); SYSCTL_PROC(_kern_sched, OID_AUTO, quantum, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_quantum, "I", @@ -638,9 +631,8 @@ resetpriority_thread(struct thread *td) sched_prio(td, td->td_user_pri); } -/* ARGSUSED */ static void -sched_setup(void *dummy) +sched_4bsd_setup(void) { setup_runqs(); @@ -653,7 +645,7 @@ sched_setup(void *dummy) * This routine determines time constants after stathz and hz are setup. */ static void -sched_initticks(void *dummy) +sched_4bsd_initticks(void) { realstathz = stathz ? stathz : hz; @@ -670,8 +662,8 @@ sched_initticks(void *dummy) * Called from: * proc0_init() */ -void -schedinit(void) +static void +sched_4bsd_init(void) { /* @@ -682,15 +674,15 @@ schedinit(void) mtx_init(&sched_lock, "sched lock", NULL, MTX_SPIN); } -void -schedinit_ap(void) +static void +sched_4bsd_init_ap(void) { /* Nothing needed. */ } -bool -sched_runnable(void) +static bool +sched_4bsd_runnable(void) { #ifdef SMP return (runq_not_empty(&runq) || @@ -700,8 +692,8 @@ sched_runnable(void) #endif } -int -sched_rr_interval(void) +static int +sched_4bsd_rr_interval(void) { /* Convert sched_slice from stathz to hz. */ @@ -771,8 +763,8 @@ sched_clock_tick(struct thread *td) stat->idlecalls = 0; } -void -sched_clock(struct thread *td, int cnt) +static void +sched_4bsd_clock(struct thread *td, int cnt) { for ( ; cnt > 0; cnt--) @@ -782,8 +774,8 @@ sched_clock(struct thread *td, int cnt) /* * Charge child's scheduling CPU usage to parent. */ -void -sched_exit(struct proc *p, struct thread *td) +static void +sched_4bsd_exit(struct proc *p, struct thread *td) { KTR_STATE1(KTR_SCHED, "thread", sched_tdname(td), "proc exit", @@ -793,8 +785,8 @@ sched_exit(struct proc *p, struct thread *td) sched_exit_thread(FIRST_THREAD_IN_PROC(p), td); } -void -sched_exit_thread(struct thread *td, struct thread *child) +static void +sched_4bsd_exit_thread(struct thread *td, struct thread *child) { KTR_STATE1(KTR_SCHED, "thread", sched_tdname(child), "exit", @@ -809,14 +801,14 @@ sched_exit_thread(struct thread *td, struct thread *child) thread_unlock(child); } -void -sched_fork(struct thread *td, struct thread *childtd) +static void +sched_4bsd_fork(struct thread *td, struct thread *childtd) { sched_fork_thread(td, childtd); } -void -sched_fork_thread(struct thread *td, struct thread *childtd) +static void +sched_4bsd_fork_thread(struct thread *td, struct thread *childtd) { struct td_sched *ts, *tsc; @@ -834,8 +826,8 @@ sched_fork_thread(struct thread *td, struct thread *childtd) ts->ts_slice = 1; } -void -sched_nice(struct proc *p, int nice) +static void +sched_4bsd_nice(struct proc *p, int nice) { struct thread *td; @@ -849,8 +841,8 @@ sched_nice(struct proc *p, int nice) } } -void -sched_class(struct thread *td, int class) +static void +sched_4bsd_class(struct thread *td, int class) { THREAD_LOCK_ASSERT(td, MA_OWNED); td->td_pri_class = class; @@ -888,8 +880,8 @@ sched_priority(struct thread *td, u_char prio) * Update a thread's priority when it is lent another thread's * priority. */ -void -sched_lend_prio(struct thread *td, u_char prio) +static void +sched_4bsd_lend_prio(struct thread *td, u_char prio) { td->td_flags |= TDF_BORROWING; @@ -904,8 +896,8 @@ sched_lend_prio(struct thread *td, u_char prio) * important than prio the thread will keep a priority boost * of prio. */ -void -sched_unlend_prio(struct thread *td, u_char prio) +static void +sched_4bsd_unlend_prio(struct thread *td, u_char prio) { u_char base_pri; @@ -921,8 +913,8 @@ sched_unlend_prio(struct thread *td, u_char prio) sched_lend_prio(td, prio); } -void -sched_prio(struct thread *td, u_char prio) +static void +sched_4bsd_prio(struct thread *td, u_char prio) { u_char oldprio; @@ -948,8 +940,8 @@ sched_prio(struct thread *td, u_char prio) turnstile_adjust(td, oldprio); } -void -sched_ithread_prio(struct thread *td, u_char prio) +static void +sched_4bsd_ithread_prio(struct thread *td, u_char prio) { THREAD_LOCK_ASSERT(td, MA_OWNED); MPASS(td->td_pri_class == PRI_ITHD); @@ -957,8 +949,8 @@ sched_ithread_prio(struct thread *td, u_char prio) sched_prio(td, prio); } -void -sched_user_prio(struct thread *td, u_char prio) +static void +sched_4bsd_user_prio(struct thread *td, u_char prio) { THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -968,8 +960,8 @@ sched_user_prio(struct thread *td, u_char prio) td->td_user_pri = prio; } -void -sched_lend_user_prio(struct thread *td, u_char prio) +static void +sched_4bsd_lend_user_prio(struct thread *td, u_char prio) { THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -984,8 +976,8 @@ sched_lend_user_prio(struct thread *td, u_char prio) /* * Like the above but first check if there is anything to do. */ -void -sched_lend_user_prio_cond(struct thread *td, u_char prio) +static void +sched_4bsd_lend_user_prio_cond(struct thread *td, u_char prio) { if (td->td_lend_user_pri == prio) @@ -996,8 +988,8 @@ sched_lend_user_prio_cond(struct thread *td, u_char prio) thread_unlock(td); } -void -sched_sleep(struct thread *td, int pri) +static void +sched_4bsd_sleep(struct thread *td, int pri) { THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -1007,8 +999,8 @@ sched_sleep(struct thread *td, int pri) sched_prio(td, pri); } -void -sched_switch(struct thread *td, int flags) +static void +sched_4bsd_sswitch(struct thread *td, int flags) { struct thread *newtd; struct mtx *tmtx; @@ -1140,8 +1132,8 @@ sched_switch(struct thread *td, int flags) mtx_unlock_spin(&sched_lock); } -void -sched_wakeup(struct thread *td, int srqflags) +static void +sched_4bsd_wakeup(struct thread *td, int srqflags) { struct td_sched *ts; @@ -1316,8 +1308,8 @@ sched_pickcpu(struct thread *td) } #endif -void -sched_add(struct thread *td, int flags) +static void +sched_4bsd_add(struct thread *td, int flags) #ifdef SMP { cpuset_t tidlemsk; @@ -1464,8 +1456,8 @@ sched_add(struct thread *td, int flags) } #endif /* SMP */ -void -sched_rem(struct thread *td) +static void +sched_4bsd_rem(struct thread *td) { struct td_sched *ts; @@ -1494,8 +1486,8 @@ sched_rem(struct thread *td) * Select threads to run. Note that running threads still consume a * slot. */ -struct thread * -sched_choose(void) +static struct thread * +sched_4bsd_choose(void) { struct thread *td; struct runq *rq; @@ -1539,8 +1531,8 @@ sched_choose(void) return (PCPU_GET(idlethread)); } -void -sched_preempt(struct thread *td) +static void +sched_4bsd_preempt(struct thread *td) { int flags; @@ -1556,8 +1548,8 @@ sched_preempt(struct thread *td) } } -void -sched_userret_slowpath(struct thread *td) +static void +sched_4bsd_userret_slowpath(struct thread *td) { thread_lock(td); @@ -1566,8 +1558,8 @@ sched_userret_slowpath(struct thread *td) thread_unlock(td); } -void -sched_bind(struct thread *td, int cpu) +static void +sched_4bsd_bind(struct thread *td, int cpu) { #ifdef SMP struct td_sched *ts = td_get_sched(td); @@ -1587,48 +1579,48 @@ sched_bind(struct thread *td, int cpu) #endif } -void -sched_unbind(struct thread* td) +static void +sched_4bsd_unbind(struct thread* td) { THREAD_LOCK_ASSERT(td, MA_OWNED); KASSERT(td == curthread, ("sched_unbind: can only bind curthread")); td->td_flags &= ~TDF_BOUND; } -int -sched_is_bound(struct thread *td) +static int +sched_4bsd_is_bound(struct thread *td) { THREAD_LOCK_ASSERT(td, MA_OWNED); return (td->td_flags & TDF_BOUND); } -void -sched_relinquish(struct thread *td) +static void +sched_4bsd_relinquish(struct thread *td) { thread_lock(td); mi_switch(SW_VOL | SWT_RELINQUISH); } -int -sched_load(void) +static int +sched_4bsd_load(void) { return (sched_tdcnt); } -int -sched_sizeof_proc(void) +static int +sched_4bsd_sizeof_proc(void) { return (sizeof(struct proc)); } -int -sched_sizeof_thread(void) +static int +sched_4bsd_sizeof_thread(void) { return (sizeof(struct thread) + sizeof(struct td_sched)); } -fixpt_t -sched_pctcpu(struct thread *td) +static fixpt_t +sched_4bsd_pctcpu(struct thread *td) { struct td_sched *ts; @@ -1637,8 +1629,8 @@ sched_pctcpu(struct thread *td) return (ts->ts_pctcpu); } -u_int -sched_estcpu(struct thread *td) +static u_int +sched_4bsd_estcpu(struct thread *td) { return (td_get_sched(td)->ts_estcpu); @@ -1647,8 +1639,8 @@ sched_estcpu(struct thread *td) /* * The actual idle process. */ -void -sched_idletd(void *dummy) +static void +sched_4bsd_idletd(void *dummy) { struct pcpuidlestat *stat; @@ -1689,8 +1681,8 @@ sched_throw_tail(struct thread *td) /* * A CPU is entering for the first time. */ -void -sched_ap_entry(void) +static void +sched_4bsd_ap_entry(void) { /* @@ -1713,8 +1705,8 @@ sched_ap_entry(void) /* * A thread is exiting. */ -void -sched_throw(struct thread *td) +static void +sched_4bsd_throw(struct thread *td) { MPASS(td != NULL); @@ -1727,8 +1719,8 @@ sched_throw(struct thread *td) sched_throw_tail(td); } -void -sched_fork_exit(struct thread *td) +static void +sched_4bsd_fork_exit(struct thread *td) { /* @@ -1746,8 +1738,8 @@ sched_fork_exit(struct thread *td) SDT_PROBE0(sched, , , on__cpu); } -char * -sched_tdname(struct thread *td) +static char * +sched_4bsd_tdname(struct thread *td) { #ifdef KTR struct td_sched *ts; @@ -1762,19 +1754,19 @@ sched_tdname(struct thread *td) #endif } -#ifdef KTR -void -sched_clear_tdname(struct thread *td) +static void +sched_4bsd_clear_tdname(struct thread *td) { +#ifdef KTR struct td_sched *ts; ts = td_get_sched(td); ts->ts_name[0] = '\0'; -} #endif +} -void -sched_affinity(struct thread *td) +static void +sched_4bsd_affinity(struct thread *td) { #ifdef SMP struct td_sched *ts; @@ -1836,3 +1828,54 @@ sched_affinity(struct thread *td) } #endif } + +struct sched_instance sched_4bsd_instance = { +#define SLOT(name) .name = sched_4bsd_##name + SLOT(load), + SLOT(rr_interval), + SLOT(runnable), + SLOT(exit), + SLOT(fork), + SLOT(fork_exit), + SLOT(class), + SLOT(nice), + SLOT(ap_entry), + SLOT(exit_thread), + SLOT(estcpu), + SLOT(fork_thread), + SLOT(ithread_prio), + SLOT(lend_prio), + SLOT(lend_user_prio), + SLOT(lend_user_prio_cond), + SLOT(pctcpu), + SLOT(prio), + SLOT(sleep), + SLOT(sswitch), + SLOT(throw), + SLOT(unlend_prio), + SLOT(user_prio), + SLOT(userret_slowpath), + SLOT(add), + SLOT(choose), + SLOT(clock), + SLOT(idletd), + SLOT(preempt), + SLOT(relinquish), + SLOT(rem), + SLOT(wakeup), + SLOT(bind), + SLOT(unbind), + SLOT(is_bound), + SLOT(affinity), + SLOT(sizeof_proc), + SLOT(sizeof_thread), + SLOT(tdname), + SLOT(clear_tdname), + SLOT(init), + SLOT(init_ap), + SLOT(setup), + SLOT(initticks), + SLOT(schedcpu), +#undef SLOT +}; +DECLARE_SCHEDULER(fourbsd_sched_selector, "4BSD", &sched_4bsd_instance); From nobody Thu Jan 29 18:12: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 4f26gM6qzqz6PfFs for ; Thu, 29 Jan 2026 18:12: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 4f26gM4Dwmz3ZG5 for ; Thu, 29 Jan 2026 18:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fnjd73uVvnfX8yjTVSAkI2LyE9j67Bv/zyqGjL5jzoU=; b=qbVGXzJwTQ56MXGYoGh7h5YkcmJPYLMBz1z/xOXBicBoVSmRlHlTgbR5HU6gRx3KJ3UOIi u/MCIgwlKwvx9x8gB6iCQbJJoYnI4QJpiERYsMxG5oAtHXW2nYoUNEtY9RG1Iq0GKmotJh GWczthGTgt0wcMyphFzBlCVjyTt/L3RolSNMOQwjILcKD5q6CWggd1J58ng3EupvEaS8SM IgYvyBi9sfIsRUQatsiHIrnX3HwWpxAtFWS5uaCe21HbdUfbl8MZq98aNcliAahAan3DhQ dbTrtgqeMPRJ3Li8igkTKs1ehJKgzXe6KF5OTo4UfKEHdL3op0HcWFAxQBDQow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710351; a=rsa-sha256; cv=none; b=IVp7+tkCMvw/c9TXQd+MZ9XIUiPnB3eyBD8bT+nT0YztVIWj4HWwhc6NmgSY7R/n8uGK3z yFtPGn/Fq3YSUoMGYFy2e2/yn10Q5IkXHAeFL9P9w0ILg9CiTS+KwaHMcxLeonYo+W6xVi QlVyMLldTiSwQ555q58LRpPjvjg1X0XZHce9Xmjv83Li6kDhrea/bKamqk5eWF/NaVWj0P XuLrC3FchfauyLqpzJVBMWt5VlVynjenfEJerxxNFpxGGi6GpWiIEIQFXKs+RmOvdrfINV ZIF7v4dKAeveqhaBTSUqdnlGas47ww4iVdWbO+v/g3Sj5cCeN6PiKywsHvycZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fnjd73uVvnfX8yjTVSAkI2LyE9j67Bv/zyqGjL5jzoU=; b=Jj2iYtIQUSrwkijO3hHwBMlKB2rlbxIfIGo/W69Onyfh/ztZOPdtUyF3Vd/VR688xQzIDV dZURIO0X5Ay0EGlvzVD9oSCQFxSh5vKRAuMNyh84KV4sCaWeEor6NMB1IX5lvbpOto1lsG 0phzdhlGbSjZbkbSuqfZjoYbsNcc2qixCyp7arCYhpxpofoARXOH/Et86xqBBjCIirZmgr Jgs+h9G8X6fSDciT5kpRPjk00N6vIG/ImvjtSo8IyuiLoXX4e/vzG4/tHyEZoLFgY6LZ/E Pg2cKmMGOpnbvYVvwpPVXJRwJu1Q/XozHcahvnxmnLa4VUeI+DaNuz0rC/cLgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gM2t7nzqF6 for ; Thu, 29 Jan 2026 18:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9430 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ba8f429f42ec - main - kern/sched_shim.c: Add sysctl kern.sched.available 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: ba8f429f42ecae1881d0face52df87ad1489af15 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:31 +0000 Message-Id: <697ba30f.9430.a1adf04@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ba8f429f42ecae1881d0face52df87ad1489af15 commit ba8f429f42ecae1881d0face52df87ad1489af15 Author: Konstantin Belousov AuthorDate: 2026-01-22 05:57:49 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:55 +0000 kern/sched_shim.c: Add sysctl kern.sched.available Reports all compiled-in schedulers. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_shim.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index 96c824745815..f25b803bae82 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -166,3 +167,33 @@ SYSCTL_NODE(_kern, OID_AUTO, sched, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, SYSCTL_STRING(_kern_sched, OID_AUTO, name, CTLFLAG_RD, sched_name, 0, "Scheduler name"); + +static int +sysctl_kern_sched_available(SYSCTL_HANDLER_ARGS) +{ + struct sched_selection *s, **ss; + struct sbuf *sb, sm; + int error; + bool first; + + sb = sbuf_new_for_sysctl(&sm, NULL, 0, req); + if (sb == NULL) + return (ENOMEM); + first = true; + SET_FOREACH(ss, sched_instance_set) { + s = *ss; + if (first) + first = false; + else + sbuf_cat(sb, ","); + sbuf_cat(sb, s->name); + } + error = sbuf_finish(sb); + sbuf_delete(sb); + return (error); +} + +SYSCTL_PROC(_kern_sched, OID_AUTO, available, + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + NULL, 0, sysctl_kern_sched_available, "A", + "List of available schedulers"); From nobody Thu Jan 29 18:12: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 4f26gQ0S57z6Pf9C for ; Thu, 29 Jan 2026 18:12: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 4f26gP4cd8z3ZGJ for ; Thu, 29 Jan 2026 18:12:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u/ZpGQRri8YzP4cZlfdqUBrm79eIYHCoUAzqzc4e25E=; b=PXSVodCPwxLkEFdiUTkLvE08t/sevfzNEuBOxWqPKPln3CsMuzL6p2JHnGbxaEoVoNJTZT BZ0XnEAXmjx2N9RhsimmRF3NpzHudgiQu5LeL0TNPzddlAm1ksCGBOYI4f30MuYDHB2eGY Y+zezSqAdjEKMNLw61roc7ef1RsUhjrfcv0xc2tzf37oWp/wIvz5O5FKE3ACoQxDqqezZz xfDPldYJfn3NPbNQRM24nt+v0iwZV4EqC/zWgbZJWuDrIFD/L+jhnXTJJxqxJfbIM8fy1p 79xPleGPyu71y4v4187ZGuTigZb2CY/8U21pQYqn9lSlg2h69BuxmYQnWcDl6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710353; a=rsa-sha256; cv=none; b=dISbfihifFinSzcI7Il9aE4OQ2PIG64GpjCcGrY2GUbwkQk3lI41hek8kR8hSDX+tivqn6 H/nDHHEKsl9ekL7sAVrrXSTTy3OrNtFQap/WGQ3JovMDZSHYlaRI6YQPphuRbU2EIoc17n XkxpG7Jj4JB6eE3GwsNXUsk8BQKOhJXZ7b7NOG1GJtBnnKnQuMq53nWMeUhx1X8V7j/9Dp L89XbPSFdUz6zkbhNnLrxljlC0fWHct9ozZeRaNK4kj+WveDaCntiOb/qn1Mfl3menWdQu OhFg7J/5Cx/aapcTvO5nVK7yD28UUkqsdN30XtOeqwohrjCr0TvzGqlUzvnIqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u/ZpGQRri8YzP4cZlfdqUBrm79eIYHCoUAzqzc4e25E=; b=F+pgjuDAZILi05MyrVDQTLnJvIgUAeqapDayraiRt9oDyBvq3ZwlvoDTpOX+BChJECxtr9 PARR6hRiJH0f5sNaEr4OUOFPSwRu+lZLQuCOg1fNKLaYa0Wlr32Q0+9p/UquQNrYDB9hbJ DEcTP7693wJpDVX+OyjKC2ynXQM+vE8qhQrXMOwGc4tSDUzY2skmo7MNdcJhBd3XbOf1fr aDfiEIB6v6TVG6Z6UKwpY7TqQpYUyG8Gp3giGEU3Tffgoak5HqaOAClJTPlHz4L4gojjNg P0Uppr3Vehf3KE79ZEeE4JWqlb+SZE3cBDgAK27JlBx47+x9s+IfumMO2UgD4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gP49Ymzpvs for ; Thu, 29 Jan 2026 18:12:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9052 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: c384b35e42ee - main - x86/local_apic.c: remove direct SCHED_ULE use 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: c384b35e42ee5712dda6360ffa287c0350055580 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:33 +0000 Message-Id: <697ba311.9052.7d577bd@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c384b35e42ee5712dda6360ffa287c0350055580 commit c384b35e42ee5712dda6360ffa287c0350055580 Author: Konstantin Belousov AuthorDate: 2026-01-22 13:24:37 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 x86/local_apic.c: remove direct SCHED_ULE use Move the code to decide on the timer accounting into the scheduler hook. Since there were no inclusion of opt_sched.h, it is probably done unconditionally anyway. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 22 ++++++++++++++++++++++ sys/kern/sched_shim.c | 1 + sys/kern/sched_ule.c | 7 +++++++ sys/sys/sched.h | 3 +++ sys/x86/x86/local_apic.c | 15 +-------------- 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index dae084aabcba..03e7b71d3fe6 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1833,6 +1833,27 @@ sched_4bsd_affinity(struct thread *td) #endif } +static bool +sched_4bsd_do_timer_accounting(void) +{ +#ifdef SMP + /* + * Don't do any accounting for the disabled HTT cores, since it + * will provide misleading numbers for the userland. + * + * No locking is necessary here, since even if we lose the race + * when hlt_cpus_mask changes it is not a big deal, really. + * + * Don't do that for ULE, since ULE doesn't consider hlt_cpus_mask + * and unlike other schedulers it actually schedules threads to + * those CPUs. + */ + return (!CPU_ISSET(PCPU_GET(cpuid), &hlt_cpus_mask)); +#else + return (true); +#endif +} + struct sched_instance sched_4bsd_instance = { #define SLOT(name) .name = sched_4bsd_##name SLOT(load), @@ -1875,6 +1896,7 @@ struct sched_instance sched_4bsd_instance = { SLOT(sizeof_thread), SLOT(tdname), SLOT(clear_tdname), + SLOT(do_timer_accounting), SLOT(init), SLOT(init_ap), SLOT(setup), diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index f25b803bae82..d2f0b5749752 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -93,6 +93,7 @@ DEFINE_SHIM0(sizeof_proc, int, sched_sizeof_proc) DEFINE_SHIM0(sizeof_thread, int, sched_sizeof_thread) DEFINE_SHIM1(tdname, char *, sched_tdname, struct thread *, td) DEFINE_SHIM1(clear_tdname, void, sched_clear_tdname, struct thread *, td) +DEFINE_SHIM0(do_timer_accounting, bool, sched_do_timer_accounting) DEFINE_SHIM0(init_ap, void, schedinit_ap) static char sched_name[32] = "ULE"; diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index a285c62a4525..22257b2c0d7a 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -3354,6 +3354,12 @@ sched_ule_schedcpu(void) { } +static bool +sched_ule_do_timer_accounting(void) +{ + return (true); +} + struct sched_instance sched_ule_instance = { #define SLOT(name) .name = sched_ule_##name SLOT(load), @@ -3396,6 +3402,7 @@ struct sched_instance sched_ule_instance = { SLOT(sizeof_thread), SLOT(tdname), SLOT(clear_tdname), + SLOT(do_timer_accounting), SLOT(init), SLOT(init_ap), SLOT(setup), diff --git a/sys/sys/sched.h b/sys/sys/sched.h index c8491ede01a0..9c78452432b4 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -241,6 +241,8 @@ void schedinit(void); */ void schedinit_ap(void); +bool sched_do_timer_accounting(void); + struct sched_instance { int (*load)(void); int (*rr_interval)(void); @@ -282,6 +284,7 @@ struct sched_instance { int (*sizeof_thread)(void); char *(*tdname)(struct thread *td); void (*clear_tdname)(struct thread *td); + bool (*do_timer_accounting)(void); void (*init)(void); void (*init_ap)(void); void (*setup)(void); diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index c5399984c896..54026f83dc15 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -1443,21 +1443,8 @@ lapic_handle_timer(struct trapframe *frame) kmsan_mark(frame, sizeof(*frame), KMSAN_STATE_INITED); trap_check_kstack(); -#if defined(SMP) && !defined(SCHED_ULE) - /* - * Don't do any accounting for the disabled HTT cores, since it - * will provide misleading numbers for the userland. - * - * No locking is necessary here, since even if we lose the race - * when hlt_cpus_mask changes it is not a big deal, really. - * - * Don't do that for ULE, since ULE doesn't consider hlt_cpus_mask - * and unlike other schedulers it actually schedules threads to - * those CPUs. - */ - if (CPU_ISSET(PCPU_GET(cpuid), &hlt_cpus_mask)) + if (!sched_do_timer_accounting()) return; -#endif /* Look up our local APIC structure for the tick counters. */ la = &lapics[PCPU_GET(apic_id)]; From nobody Thu Jan 29 18:12: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 4f26gN6r64z6PfG0 for ; Thu, 29 Jan 2026 18:12: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 4f26gN3rRWz3Z5k for ; Thu, 29 Jan 2026 18:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qlQK+mQGextYNcRpLFKjuTcj+mtH7mERyB69jUmiGfY=; b=ljo3J9oRJPDKaPX5sb2ZpsRFwpRdJdC2Rw+BVqlXwDF9x+kQkMk98VXAhPNL21G9W+YuyP Xt1F7kcFSXbMq1JIb5qk+o30bJ2sf0w5jwKaYk8ISjP0UPMGIUOSQMSdyTPm88hVU1ceHs KesA4+ROgcREvMSxB5F/uNQ6A2zE29n45bZoLVd8M8iLHyhLRegKuVIam+zYcZ8nXj4wkl nEwceXc4c035lyS78pjkwHk0mYmwL2n0Ca95jI9kQztVuNIfUx8Y75o6C4o98poLzfWvXq tIt7M0yIDsHb05ycsoBXXwC7WXAQ0umd7y0lezIrH64O0ZKE6a1Vc5Hmho9q8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710352; a=rsa-sha256; cv=none; b=Btu5BLabxdBpVD+KmP9fNNl32Aqvue9Z6cq6N/OOlwgaHgD3XzuhU9Q3qF2eNKQjjdZHmY 6oBnyvdB7/hPOZAC4FCBM4j3ru8rqb8m7ZdcPEMhnv4tv8XT28w+TLLjBvMpjl0m9siHl5 5CwSpvqaf5GrkTepNfFuABUcjuwUVrp6aWb9i57g4A9ZbnddD9SQLQycLbufGmM8+Y8YoN KvuPf3ShOfKl2CwyU2V4/uTA7KHYIUAhkZERU8c8mYg04GLXvopTg3uifnH7NU6aey7z4G CxoYa6pnE0HndPm5767eNVwv2irBxTIAOQXCtsH1EGv7Co0nyWFGj3IKp/hvkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qlQK+mQGextYNcRpLFKjuTcj+mtH7mERyB69jUmiGfY=; b=mU9xiFXCQDO+4BjbAMzSeZcSN30xP0uUfHY3UFdPtZ6ShHicmlGuGQH8k8U6OBFewL3M7M ejGJ655cO+zsFV2i22HTY455IaV65s9Y3V0IkRHIeUG9rowAhUQLjxVM9igXkXuuu0E1Nd pCCY1PHHzGN7mUBYSXb+UYc5uf9TSOplerSrNJ6b8XK6vlflEbwCLN8567rk4ucWFCZomg J7gCuJ2Bz1nmHtqYoNuNwtKVCLjXhuttxF6LF0sVVwva55SoC0TJ7DYBdR3t5Auy9QbXHY LO1a0rKBgxcss7wV/eyQ5cHz6Yr2Rp4BqphVbMWGuMkfq3lP6uOAvaa4hVUk2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gN3NFnzpvq for ; Thu, 29 Jan 2026 18:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46df4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 377c053a43f3 - main - cpu_switch(): unconditionally wait on the blocked mutex transient 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: 377c053a43f347588ce6800627adb634f87f8cf9 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:32 +0000 Message-Id: <697ba310.46df4.f30fa78@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=377c053a43f347588ce6800627adb634f87f8cf9 commit 377c053a43f347588ce6800627adb634f87f8cf9 Author: Konstantin Belousov AuthorDate: 2026-01-22 12:57:24 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 cpu_switch(): unconditionally wait on the blocked mutex transient It is nop for 4BSD. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/amd64/amd64/cpu_switch.S | 5 ----- sys/arm/arm/swtch-v6.S | 7 +------ sys/arm64/arm64/swtch.S | 3 +-- sys/i386/i386/swtch.S | 31 +++++++++++++------------------ sys/powerpc/powerpc/swtch32.S | 3 +-- sys/powerpc/powerpc/swtch64.S | 3 +-- sys/riscv/riscv/swtch.S | 3 +-- 7 files changed, 18 insertions(+), 37 deletions(-) diff --git a/sys/amd64/amd64/cpu_switch.S b/sys/amd64/amd64/cpu_switch.S index d7e954f573b0..17ff8005e3cd 100644 --- a/sys/amd64/amd64/cpu_switch.S +++ b/sys/amd64/amd64/cpu_switch.S @@ -35,7 +35,6 @@ #include #include "assym.inc" -#include "opt_sched.h" /*****************************************************************************/ /* Scheduling */ @@ -136,13 +135,11 @@ ctx_switch_fpusave_done: movq %r15,TD_LOCK(%r13) /* Release the old thread */ sw1: leaq TD_MD_PCB(%r12),%r8 -#if defined(SCHED_ULE) movq $blocked_lock, %rdx movq TD_LOCK(%r12),%rcx cmpq %rcx, %rdx je sw1wait sw1cont: -#endif /* * At this point, we've switched address spaces and are ready * to load up the rest of the next context. @@ -492,7 +489,6 @@ ENTRY(resumectx) END(resumectx) /* Wait for the new thread to become unblocked */ -#if defined(SCHED_ULE) sw1wait: 1: pause @@ -500,4 +496,3 @@ sw1wait: cmpq %rcx, %rdx je 1b jmp sw1cont -#endif diff --git a/sys/arm/arm/swtch-v6.S b/sys/arm/arm/swtch-v6.S index 97d863b6d4de..98c8e5c41ec5 100644 --- a/sys/arm/arm/swtch-v6.S +++ b/sys/arm/arm/swtch-v6.S @@ -79,7 +79,6 @@ */ #include "assym.inc" -#include "opt_sched.h" #include #include @@ -432,11 +431,7 @@ sw1: * r11 = newtd */ -#if defined(SMP) && defined(SCHED_ULE) - /* - * 386 and amd64 do the blocked lock test only for SMP and SCHED_ULE - * QQQ: What does it mean in reality and why is it done? - */ +#if defined(SMP) ldr r6, =blocked_lock 1: ldr r3, [r11, #TD_LOCK] /* atomic write regular read */ diff --git a/sys/arm64/arm64/swtch.S b/sys/arm64/arm64/swtch.S index a461fded929c..b3bf88135e57 100644 --- a/sys/arm64/arm64/swtch.S +++ b/sys/arm64/arm64/swtch.S @@ -31,7 +31,6 @@ #include "assym.inc" #include "opt_kstack_pages.h" -#include "opt_sched.h" #include @@ -197,7 +196,7 @@ ENTRY(cpu_switch) * Release the old thread. */ stlr x2, [x0, #TD_LOCK] -#if defined(SCHED_ULE) && defined(SMP) +#if defined(SMP) /* Spin if TD_LOCK points to a blocked_lock */ ldr x2, =_C_LABEL(blocked_lock) 1: diff --git a/sys/i386/i386/swtch.S b/sys/i386/i386/swtch.S index 5c2e078b5446..cb03c847fbc9 100644 --- a/sys/i386/i386/swtch.S +++ b/sys/i386/i386/swtch.S @@ -30,27 +30,11 @@ * SUCH DAMAGE. */ -#include "opt_sched.h" - #include #include "assym.inc" -#if defined(SMP) && defined(SCHED_ULE) -#define SETOP xchgl #define BLOCK_SPIN(reg) \ - movl $blocked_lock,%eax ; \ - 100: ; \ - lock ; \ - cmpxchgl %eax,TD_LOCK(reg) ; \ - jne 101f ; \ - pause ; \ - jmp 100b ; \ - 101: -#else -#define SETOP movl -#define BLOCK_SPIN(reg) -#endif /*****************************************************************************/ /* Scheduling */ @@ -162,7 +146,7 @@ ENTRY(cpu_switch) /* Switchout td_lock */ movl %esi,%eax movl PCPU(CPUID),%esi - SETOP %eax,TD_LOCK(%edi) + xchgl %eax,TD_LOCK(%edi) /* Release bit from old pmap->pm_active */ movl PCPU(CURPMAP), %ebx @@ -181,7 +165,18 @@ ENTRY(cpu_switch) #endif btsl %esi, PM_ACTIVE(%ebx) /* set new */ sw1: - BLOCK_SPIN(%ecx) +#ifdef SMP + movl $blocked_lock,%eax +100: + + lock + cmpxchgl %eax,TD_LOCK(reg) + jne 101f + pause + jmp 100b +101: +#endif + /* * At this point, we have managed thread locks and are ready * to load up the rest of the next context. diff --git a/sys/powerpc/powerpc/swtch32.S b/sys/powerpc/powerpc/swtch32.S index 7fc0641722aa..262e7035bb29 100644 --- a/sys/powerpc/powerpc/swtch32.S +++ b/sys/powerpc/powerpc/swtch32.S @@ -56,7 +56,6 @@ */ #include "assym.inc" -#include "opt_sched.h" #include @@ -125,7 +124,7 @@ ENTRY(cpu_switch) sync /* Make sure all of that finished */ cpu_switchin: -#if defined(SMP) && defined(SCHED_ULE) +#if defined(SMP) /* Wait for the new thread to become unblocked */ bl 1f 1: diff --git a/sys/powerpc/powerpc/swtch64.S b/sys/powerpc/powerpc/swtch64.S index ba37274d32bb..61af10aabaee 100644 --- a/sys/powerpc/powerpc/swtch64.S +++ b/sys/powerpc/powerpc/swtch64.S @@ -56,7 +56,6 @@ */ #include "assym.inc" -#include "opt_sched.h" #include @@ -187,7 +186,7 @@ save_tar: sync /* Make sure all of that finished */ cpu_switchin: -#if defined(SMP) && defined(SCHED_ULE) +#if defined(SMP) /* Wait for the new thread to become unblocked */ addis %r6,%r2,TOC_REF(blocked_lock)@ha ld %r6,TOC_REF(blocked_lock)@l(%r6) diff --git a/sys/riscv/riscv/swtch.S b/sys/riscv/riscv/swtch.S index cfd19a2d76d6..fc9b493744b8 100644 --- a/sys/riscv/riscv/swtch.S +++ b/sys/riscv/riscv/swtch.S @@ -33,7 +33,6 @@ */ #include "assym.inc" -#include "opt_sched.h" #include #include @@ -315,7 +314,7 @@ ENTRY(cpu_switch) /* Release the old thread */ sd s2, TD_LOCK(s0) -#if defined(SCHED_ULE) && defined(SMP) +#if defined(SMP) /* Spin if TD_LOCK points to a blocked_lock */ la s2, _C_LABEL(blocked_lock) 1: From nobody Thu Jan 29 18:12: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 4f26gR0xZpz6PfGC for ; Thu, 29 Jan 2026 18:12: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 4f26gQ5L47z3ZGZ for ; Thu, 29 Jan 2026 18:12:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GpvMOPFNxiuFttGRTAuUHXNWmwWFQCWimYQeqOVGFfE=; b=ig4hGjBApapB5mhTZLhdMmXQhuA2+wztuq1ByAlVysjEA6ie2PrQZJ8Y8WiB4iWQ44/1JT akMA4kRZwcHeOd0pgKdsMSr1k+6TasbohRuQWO2kV4m5r7pEC2LCdQfu+7OljwM7HWqQsX mvrYvLMzMQTFiNp+niHHk8GGHgpfs90GCDUFGs77xHu7KHnElEGCHvGU90J/fGRh9s5DTi 0ARasRl7g4BmUD2DAj7iy1ZxrA3bzWvYJBu7b/1e7F+WsjKMsqzM+RIB5ZDjz4zD8uWOin GVSaeR/e5qgI0sHt2TtBcFeFQfYW6/T/4+AxP+mcVi9f3KQfLWayJ3Z5PY2Z0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710354; a=rsa-sha256; cv=none; b=XpUtr77rT2JKEj3iL96GcHZgMqPeEFyAC20zWmqkQtfDDQ25cDPmzMRbSRWlT9O49Zu/hr Rmy6IYKZqZXSg544/X6s2LCzIcpjL7wJtjZtueVFV2TOJChVHrbOD9ECXSj0lfqLNZpARy +Anuhs6/Jc0Ec/pIsRl6kdQ8gtIfINwMiuEfAxr5W6B4qrrpK3eBgPCrX45alEzK2dp/Jp wWLiqVSOWLBPrYXS7Q1a2UKVzMwVog9VBrqIjoWnF6hUXx4gL4q58JLvn39gpg/YoNpwWz V/1GxBY+RC3bNOkyYUoKyFdLT0DeJKLju/k+U8Zfo6lsfUeSgAqydb/+vUMLWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GpvMOPFNxiuFttGRTAuUHXNWmwWFQCWimYQeqOVGFfE=; b=YmFoQTiCbq//hurxyGjjsATgoDZUFw+vsMLGkbjY2hpOhUdNMG2yPYXchB9HJSEkyK8g8J CZiUp9dtHgYHe2Ha4mZipIt+b5qh9z29KwPbTcL5SPkt9yaQxKq5ygOMCKzgk51xFw0Zcq R0ypkFOJwVPKbgLHdlMHR2NH/WKbiuv3lGSTx3G/ngPoXRk0FNLRjgb6ce88AHCrtqtVmU KBEP7v1vnDhkw4sYVelw2gkruMOomCt7wg/T2mIPLn26s08EsXQtwpPLWWafxPJx/pqTS0 SZTwz18FL0u6GyapT90MrbfAzr3aumbveaUK2MfOTBYmIZEMFN16qnZc2SocSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gQ4wWKzq07 for ; Thu, 29 Jan 2026 18:12:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46cff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 1c4e16f6db81 - main - x86/cpu_machdep.c: unconditionally fence 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: 1c4e16f6db81254376f4919aede03267fe572aea Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:34 +0000 Message-Id: <697ba312.46cff.778943bb@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1c4e16f6db81254376f4919aede03267fe572aea commit 1c4e16f6db81254376f4919aede03267fe572aea Author: Konstantin Belousov AuthorDate: 2026-01-22 13:27:00 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 x86/cpu_machdep.c: unconditionally fence For !SCHED_ULE, even if the fence is not needed, it is harmless. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/x86/x86/cpu_machdep.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/x86/x86/cpu_machdep.c b/sys/x86/x86/cpu_machdep.c index 5b4abfe71642..067374be4941 100644 --- a/sys/x86/x86/cpu_machdep.c +++ b/sys/x86/x86/cpu_machdep.c @@ -47,7 +47,6 @@ #include "opt_kstack_pages.h" #include "opt_maxmem.h" #include "opt_platform.h" -#include "opt_sched.h" #ifdef __i386__ #include "opt_apic.h" #endif @@ -543,9 +542,7 @@ cpu_idle_enter(int *statep, int newstate) * is visible before calling cpu_idle_wakeup(). */ atomic_store_int(statep, newstate); -#if defined(SCHED_ULE) && defined(SMP) atomic_thread_fence_seq_cst(); -#endif /* * Since we may be in a critical section from cpu_idle(), if From nobody Thu Jan 29 18:12: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 4f26gS2xGDz6Pf7X for ; Thu, 29 Jan 2026 18:12: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 4f26gR75lfz3ZMC for ; Thu, 29 Jan 2026 18:12:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6uAF9NJpfoapvURWn6SS4iEzWvnVvJ5tbQQfHj7Ry0U=; b=CV7qwez3wHe+jVH+aohQqI243GIe1T4/xmHUPfGGpPLHumVJCHguKiOULIp8aoZ+V2SRhF jGp8bKWwQJTpBGS60v6ynMLyLlSfq3bpwubOYT+UVh3YbV5+biwzm6sPn605RWg291X4Rr jAHLWR480Uxy6h5mVEkhukAGJLgI8es39MlE+aBNLRicMLp+t9zbQaaugmHogN2eeRDZ3Z 4QJBdxcxXo5ljApKB1/Ro8cUvPhxYrbq3ZtLbRbo+sODP4AfPkXV7qKo94fFaG01VmCv3f nzo+6JL7EkRCxdGYntCdMqNdEkUNtEuBnzNILc/9Ski0jFRLtK+Tx+u0VK+uMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710356; a=rsa-sha256; cv=none; b=aJ4oaj8joT3SCRmKXDHkJIu8tQZYJoPuO2qYfrney5vmJgCEwN8u+elWOZAxKywvct6Svc NxTMRsnSaL4C3vaKziR/GGYqOuIHSLd8ATfa8odl2lG+/eMYzHZ/P6lrvRJNKDW8oLJfdM hg/MPGSLrJrysOqniTvmuQ0vQSmO2fPmWQc/iyGLO1y5jabLNphLwTyNDUaYyDEr3AM0ve +RasjfE3UAJJptZ70YXJ2d1QuSfdDF462MWcItC/y1XPy7ZFG9jdBgUjyvOCZ2DPg18Wuf 49TSS6bOlRVwfwVVXOeT9Xk9VEHR4UuFiFRUERphMw9JuHISvqB7UIL9AABTNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6uAF9NJpfoapvURWn6SS4iEzWvnVvJ5tbQQfHj7Ry0U=; b=k2TR7iCqJ4bT7xjJGxl8m/96/WVea929/f9qs0Kbf4s56jdPnxZ0RydojfyB1dBlGQNQ/5 7jGXgko4vtHriX9KE1fZBD+HipV8wADc9onQzPeY90JhcA2fsa0aWT/RJJ/tg+tlHLmZYy BET/byi9bH8x1bHj7s8XB5ydlSbnFG31F1kv2fCYlwYNUEjkKAA61e4GnnQP1j5azwftJl mvMTZYIwmzH3yGJLKr2+v8gisF4mvhyUDbFcVrhSk/AOeQ5td2dhWpSLHpIWXTAOaDMbOC bkRnqkRjeoCbhjOwEyKh13KsLho5b36kEkvyddBnmwIeD2dlGBudZeWd6OWvJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gR5xG3zqC0 for ; Thu, 29 Jan 2026 18:12:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 964a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b602ba1b5fd9 - main - net/iflib.c: move out scheduler-depended code into the hook 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: b602ba1b5fd92bb226e32f5720885f856a5cb0bb Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:35 +0000 Message-Id: <697ba313.964a.4a1d91d1@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b602ba1b5fd92bb226e32f5720885f856a5cb0bb commit b602ba1b5fd92bb226e32f5720885f856a5cb0bb Author: Konstantin Belousov AuthorDate: 2026-01-22 13:38:20 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 net/iflib.c: move out scheduler-depended code into the hook Add sched_find_l2_neighbor(). This really should be not scheduler-depended, in does not have anything to do with scheduler at all. But for now keep the same code structure. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 7 +++++ sys/kern/sched_shim.c | 1 + sys/kern/sched_ule.c | 68 ++++++++++++++++++++++++++++++++++++++++++ sys/net/iflib.c | 82 ++------------------------------------------------- sys/sys/sched.h | 8 +++++ 5 files changed, 87 insertions(+), 79 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 03e7b71d3fe6..11baf9d2bdfa 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1854,6 +1854,12 @@ sched_4bsd_do_timer_accounting(void) #endif } +static int +sched_4bsd_find_l2_neighbor(int cpu) +{ + return (-1); +} + struct sched_instance sched_4bsd_instance = { #define SLOT(name) .name = sched_4bsd_##name SLOT(load), @@ -1897,6 +1903,7 @@ struct sched_instance sched_4bsd_instance = { SLOT(tdname), SLOT(clear_tdname), SLOT(do_timer_accounting), + SLOT(find_l2_neighbor), SLOT(init), SLOT(init_ap), SLOT(setup), diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index d2f0b5749752..816d0b44bb52 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -94,6 +94,7 @@ DEFINE_SHIM0(sizeof_thread, int, sched_sizeof_thread) DEFINE_SHIM1(tdname, char *, sched_tdname, struct thread *, td) DEFINE_SHIM1(clear_tdname, void, sched_clear_tdname, struct thread *, td) DEFINE_SHIM0(do_timer_accounting, bool, sched_do_timer_accounting) +DEFINE_SHIM1(find_l2_neighbor, int, sched_find_l2_neighbor, int, cpu) DEFINE_SHIM0(init_ap, void, schedinit_ap) static char sched_name[32] = "ULE"; diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 22257b2c0d7a..7a745619480d 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -3360,6 +3360,73 @@ sched_ule_do_timer_accounting(void) return (true); } +#ifdef SMP +static int +sched_ule_find_child_with_core(int cpu, struct cpu_group *grp) +{ + int i; + + if (grp->cg_children == 0) + return (-1); + + MPASS(grp->cg_child); + for (i = 0; i < grp->cg_children; i++) { + if (CPU_ISSET(cpu, &grp->cg_child[i].cg_mask)) + return (i); + } + + return (-1); +} + +static int +sched_ule_find_l2_neighbor(int cpu) +{ + struct cpu_group *grp; + int i; + + grp = cpu_top; + if (grp == NULL) + return (-1); + + /* + * Find the smallest CPU group that contains the given core. + */ + i = 0; + while ((i = sched_ule_find_child_with_core(cpu, grp)) != -1) { + /* + * If the smallest group containing the given CPU has less + * than two members, we conclude the given CPU has no + * L2 neighbor. + */ + if (grp->cg_child[i].cg_count <= 1) + return (-1); + grp = &grp->cg_child[i]; + } + + /* Must share L2. */ + if (grp->cg_level > CG_SHARE_L2 || grp->cg_level == CG_SHARE_NONE) + return (-1); + + /* + * Select the first member of the set that isn't the reference + * CPU, which at this point is guaranteed to exist. + */ + for (i = 0; i < CPU_SETSIZE; i++) { + if (CPU_ISSET(i, &grp->cg_mask) && i != cpu) + return (i); + } + + /* Should never be reached */ + return (-1); +} +#else +static int +sched_ule_find_l2_neighbor(int cpu) +{ + return (-1); +} +#endif + struct sched_instance sched_ule_instance = { #define SLOT(name) .name = sched_ule_##name SLOT(load), @@ -3403,6 +3470,7 @@ struct sched_instance sched_ule_instance = { SLOT(tdname), SLOT(clear_tdname), SLOT(do_timer_accounting), + SLOT(find_l2_neighbor), SLOT(init), SLOT(init_ap), SLOT(setup), diff --git a/sys/net/iflib.c b/sys/net/iflib.c index b0e4bb9470c9..8e2fd257ca74 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -29,7 +29,6 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_acpi.h" -#include "opt_sched.h" #include #include @@ -40,8 +39,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -4813,83 +4814,6 @@ cpuid_advance(if_ctx_t ctx, unsigned int cpuid, unsigned int n) return (cpuid); } -#if defined(SMP) && defined(SCHED_ULE) -extern struct cpu_group *cpu_top; /* CPU topology */ - -static int -find_child_with_core(int cpu, struct cpu_group *grp) -{ - int i; - - if (grp->cg_children == 0) - return (-1); - - MPASS(grp->cg_child); - for (i = 0; i < grp->cg_children; i++) { - if (CPU_ISSET(cpu, &grp->cg_child[i].cg_mask)) - return (i); - } - - return (-1); -} - - -/* - * Find an L2 neighbor of the given CPU or return -1 if none found. This - * does not distinguish among multiple L2 neighbors if the given CPU has - * more than one (it will always return the same result in that case). - */ -static int -find_l2_neighbor(int cpu) -{ - struct cpu_group *grp; - int i; - - grp = cpu_top; - if (grp == NULL) - return (-1); - - /* - * Find the smallest CPU group that contains the given core. - */ - i = 0; - while ((i = find_child_with_core(cpu, grp)) != -1) { - /* - * If the smallest group containing the given CPU has less - * than two members, we conclude the given CPU has no - * L2 neighbor. - */ - if (grp->cg_child[i].cg_count <= 1) - return (-1); - grp = &grp->cg_child[i]; - } - - /* Must share L2. */ - if (grp->cg_level > CG_SHARE_L2 || grp->cg_level == CG_SHARE_NONE) - return (-1); - - /* - * Select the first member of the set that isn't the reference - * CPU, which at this point is guaranteed to exist. - */ - for (i = 0; i < CPU_SETSIZE; i++) { - if (CPU_ISSET(i, &grp->cg_mask) && i != cpu) - return (i); - } - - /* Should never be reached */ - return (-1); -} - -#else -static int -find_l2_neighbor(int cpu) -{ - - return (-1); -} -#endif - /* * CPU mapping behaviors * --------------------- @@ -4942,7 +4866,7 @@ get_cpuid_for_queue(if_ctx_t ctx, unsigned int base_cpuid, unsigned int qid, unsigned int rx_cpuid; rx_cpuid = cpuid_advance(ctx, base_cpuid, qid); - l2_neighbor = find_l2_neighbor(rx_cpuid); + l2_neighbor = sched_find_l2_neighbor(rx_cpuid); if (l2_neighbor != -1) { return (l2_neighbor); } diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 9c78452432b4..3ba40fb191d3 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -243,6 +243,13 @@ void schedinit_ap(void); bool sched_do_timer_accounting(void); +/* + * Find an L2 neighbor of the given CPU or return -1 if none found. This + * does not distinguish among multiple L2 neighbors if the given CPU has + * more than one (it will always return the same result in that case). + */ +int sched_find_l2_neighbor(int cpu); + struct sched_instance { int (*load)(void); int (*rr_interval)(void); @@ -285,6 +292,7 @@ struct sched_instance { char *(*tdname)(struct thread *td); void (*clear_tdname)(struct thread *td); bool (*do_timer_accounting)(void); + int (*find_l2_neighbor)(int cpuid); void (*init)(void); void (*init_ap)(void); void (*setup)(void); From nobody Thu Jan 29 18:12: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 4f26gT3jKwz6Pf6D for ; Thu, 29 Jan 2026 18:12: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 4f26gS75htz3ZMM for ; Thu, 29 Jan 2026 18:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cd/a6BZ6Q/EhRSKG7NjNd2SMpgu5N7eMHfJHNaErc2E=; b=g3Fmf5JIqZfhQ0zcgHCIz09uEqU19PIgofzr4zkJ4t4HxJ/0zRoMhgbKVr6APAfWZ/dS2d aLBSd4SaU4mbTMD013ko8tmer26RbszFzL5aaWLRjDpYD5zaeMH7I4RR4VGzvOP43ILRXK gxfhkoQ4QOfBwE/Ntot5cvxPWiBmTDSdjoVgppOF1N4diOb7gQfUNs38iDbj2Nq82Dbd8o Rms66/YtuazPQsqe6UW78nUCJU1IfKmsdnrj79ypjLsbhony61s4mePgjKG/zsY2Y+bdbh uxDI+UhI9GmNmf4vrjFQKOZsAv2K+i3ysoV/a0RabyMA5JDZon5KU4MRDnUGNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710357; a=rsa-sha256; cv=none; b=tHgaJP3bcDnGLW9TkxPHQjBts3MmcatSODV2b8UpzfwL+6xOwlSVoez3JoK+/MdEKoHaMF 5V/mXOXppRKljVTyjcw1VhrwCSTHp0dpz1MY6qJ0O0DW3Gl//jRDaUIQB0HlnxiksPiOry 54Z5e0scNa9qn1BQit0M+AAGZeMMzPhG3OFkVy+gKX//slsTBhUtY4UJnLuLq4RmNlL2u1 oOmxhydWRy+ZcoKL8a8IOeVRR3bwBGQkaNe65cMxoV50ZAV6g7zi9sDsgDXQNfUKvzO5Qc /DVcVBts9FbjY2rzU8HwAflnUI/yQf3gwZkQQo8YVayikiPKfu301RWvVtSMhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cd/a6BZ6Q/EhRSKG7NjNd2SMpgu5N7eMHfJHNaErc2E=; b=P3hjIKfGNgtE8OMmw4sH2bn0XHnTI45RqlNm6DC3Jz69mb0nmFSKamC0rIiulhos0fHNlj jkFtlp5icUhNtEB4XMgob/ED/YnQS9jNcllCxaPNxb6xrDr0o85EJ8fUeDMMzOnEFCxMpM ERvVcUERKQ4RFpFqApn6z87nvEqqK25jw1xgZd7TwmF4s/6tszn6HnB1D9/ZSY1B8vOWV5 3Kbm8qltYyiRC9s5BamynOupybyPq3KEr4qc6z0xv60rHsgVvyI6fHYNU2hNfsufySIUrN XOCecqnVm3AgLjUpZATrIpP5wW/RtxWvjnhfuAjqknXBbDkoAjf8/7/LxkU9Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gS6fGPzqF7 for ; Thu, 29 Jan 2026 18:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47cfa by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5a6e0e31bc2e - main - sysctl kern.sched.ule.topology_spec: allow to run if ULE is not initialized 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: 5a6e0e31bc2e8ed8f655be63fa5b8c41f3d60753 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:36 +0000 Message-Id: <697ba314.47cfa.4559b33e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5a6e0e31bc2e8ed8f655be63fa5b8c41f3d60753 commit 5a6e0e31bc2e8ed8f655be63fa5b8c41f3d60753 Author: Konstantin Belousov AuthorDate: 2026-01-23 15:09:56 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 sysctl kern.sched.ule.topology_spec: allow to run if ULE is not initialized Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_ule.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 7a745619480d..334b3c0f1de3 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -3543,7 +3543,8 @@ sysctl_kern_sched_ule_topology_spec(SYSCTL_HANDLER_ARGS) struct sbuf *topo; int err; - KASSERT(cpu_top != NULL, ("cpu_top isn't initialized")); + if (cpu_top == NULL) + return (ENOTTY); topo = sbuf_new_for_sysctl(NULL, NULL, 512, req); if (topo == NULL) From nobody Thu Jan 29 18:12: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 4f26gW5pfXz6PfMH for ; Thu, 29 Jan 2026 18:12: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 4f26gW20dGz3ZFH for ; Thu, 29 Jan 2026 18:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eiSSby0TmuQ2Vo/F+qZQYnMoQrX++AkCZ8+2JU8lgWQ=; b=vYdap4zGjK8js7UeDErVMim29A2bdV0GxHYYUeVJQE7dn/xUWumNW4MH2OQo9PMlQGzzl4 Yj7HTsOfuZqps1oJMp935O+V5P/iQCbJAsZJHcvdisunf/vFhe9+uZeJPYZCjfel5NHiW/ jGqGMGsqn4mSypPMgj7R730+tZqUQYH/+MBeuYtHdQfxQnkuWqwcFghtnC5L/m+2EQPNNq 9XefT8DSOPT1xDROBWXzUyS5ck/QurApaYr4jfuFx+UUd0ZdyduMkuZ7j8e4aAeyilktve 1rjNyduqWKdRweC//M2X/wnD1y9KSpI4YjxVOwS70Y+be1rZ0M60HY1k0VNELg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710359; a=rsa-sha256; cv=none; b=bofDsDh3HeHlR7AG4ZZwYmXJZJZh+V8PCCHV/LObMJpPq/0eUhIyTUL/OPLzASI6QhcNrX j29prS+AOyt7DusZspmZCxC6TT+Klq9979GsyAiBWY4/wppKWwdBHccVI9N2/r0BCYVlc4 +L5rVgl3l3V/RSHPL3w0vpL8KaTZWGvK30qHSBjdn/uW6LcuI7mwbKUQoBTQugD/7aL6xi yVGi73R1jzQgOMlF1hVo9zJJzmJ9u0wSB+zoPNeBtt26aHg5ZtcByxHC2dLfBibk4V+TzE rjKnGldqgGgMCBCB8Pqh0aB9Md6BB24JS6LC0hDZh0oV4ZEZJGyVBeDLY5GjDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eiSSby0TmuQ2Vo/F+qZQYnMoQrX++AkCZ8+2JU8lgWQ=; b=rie9B0UldlCltZZ1UD4BEShFSgKAq4YD/sTqvW3cT8SQ0NA8uVi9TIcK+xrK2KSgNFkIWZ ARRVQv0jIqR4RvKsjTvZZ8wesUi9ZaQ6p1rtW5QCFQugKsUkcggcP+9OwGAMeC6e7DTN3c Q6+Cp6vdl0t22librMqcQKOEFxbx/HiYKWc3AvRSLiapGrYY64GPa/+bp5Z44lT3QBn4ba rKYmnTPLhFHIpJIa+CFBzwNlQ7oZYbj1Qcm+GSJse04GcxDpfL83y04YilN4hg4tfLXmxE bv+QqlfUx7aZobrKWeeeEggs6wcPA1sqqG2pqvqjFZKYMnvIbFkBdHLcQs2cIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gW1XpPzpvy for ; Thu, 29 Jan 2026 18:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9507 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 1322760fd127 - main - sys: enable both SCHED_ULE and SCHED_4BSD for some configs 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: 1322760fd1274930cbb61048d9a6ba3bc1782b2a Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:39 +0000 Message-Id: <697ba317.9507.303f5310@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1322760fd1274930cbb61048d9a6ba3bc1782b2a commit 1322760fd1274930cbb61048d9a6ba3bc1782b2a Author: Konstantin Belousov AuthorDate: 2026-01-23 16:15:09 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 sys: enable both SCHED_ULE and SCHED_4BSD for some configs Globally enable both schedulers for LINT. Enable both schedulers for GENERIC on amd64. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/amd64/conf/GENERIC | 1 + sys/conf/NOTES | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 1003572805fb..c390ff7596b6 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -24,6 +24,7 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler +options SCHED_4BSD # Original 4.xBSD scheduler options NUMA # Non-Uniform Memory Architecture support options PREEMPTION # Enable kernel thread preemption options EXTERR_STRINGS diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 6d3ea088b819..1f734a700cd1 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -210,7 +210,7 @@ options ROOTDEVNAME=\"ufs:da0s2e\" # options SCHED_4BSD options SCHED_STATS -#options SCHED_ULE +options SCHED_ULE ##################################################################### # SMP OPTIONS: From nobody Thu Jan 29 18:12: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 4f26gV6QWHz6PfD5 for ; Thu, 29 Jan 2026 18:12: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 4f26gV3mMKz3ZMY for ; Thu, 29 Jan 2026 18:12:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0MpTvvSmiBIwYbZwAmc9/WCQ27UzLu0WKM+TDyXWh+o=; b=HmpOOZ1UOeTg5p/W9iPFoDZ/6ZPO9ZbhowwqBgnoUtqrFm1M36lCwkOHg+raC3Jr83dQhK QO/EJFBEJse2DPjjx0WMCJ+amF1nKJRHJVX0MczW1ORkDFqpzPLQmlHrLKQsZ3C4VNnHRf 1jXseOkSFzvA0A0Yxc0P4ukm8Y8M2JegYxB77RLlYj2vob30RlwEJVT9LeJPU3IyywZAEZ fWImKBDiDTTD2YthJ+7tIoTGreEDY9Y5f8SRvUdWSqdnQI6qod6aRxZZoeLk8AG69Cdc4C ND03ClTJgM2HoFay+WEArvtlAj1uNHSs9YObA41jyexHKocFFMuXe9LKc27Lkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710358; a=rsa-sha256; cv=none; b=WVKpIKvj2EvFn1AQlJOD6ZHP4yVodLw9Hc4fnE9h44zxB1G9lFlW9tIEYoPVzw5LpzWVQ4 5UNnexulYaWe44IarrieZ+NfqRSTUUUlv0J+mRH8usi85148cQbLruA2fPiPTcQbyfDFvh mud6M/WWfj3emubBTWlu+1qPXDKBx9sNmIXDd538Z/VA4a+ftSSjawkqrUCSEnxvCL8j5R rC5xpjn7cKaKdbokxJJAxkpOzr1TxtUT5WyZibtGDg+bjLunTaAbol+L7XvkMzMBLuaT5s WvU/HMeO0EyblVp3dFKK9N1GAAhUAU7e/QeFSPRIOsprbnhSWqArlAXbvzTw1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0MpTvvSmiBIwYbZwAmc9/WCQ27UzLu0WKM+TDyXWh+o=; b=olv+o/ZnNEJg9z1LKCLRmC76PCvyQvCD8JtYC1orDyV0XDo3fiyhYjYdGKrbyrrtDHfHd2 dmuokwtdV/mmYFEC3OSphPQMyIVQDDHHbeGmcZOkXqrCbViC/hueWbxA2YLkHhwzQKogHk Al3ShWG82J5hXziDV3WaU71nQtIW+CgmAmWbfES33mxVGK8Hnl0HWDdzVt4cnj3HDFn15h XgIq1giQKh1TOmnPXbdfWHSm/grwyTdRIS5xFsv23fl5qR5B0Hc+xY5nsBWPV9Fb8qrpII pGj847NJdrJCEcGABpVMOwJdH3rSHDagI9Dp+C8GZqUEj3qdh+CNGRtL+1J1zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gV0TGqzpvw for ; Thu, 29 Jan 2026 18:12:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4706d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ff870b783f09 - main - sched_shim: restore kern.ccpu sysctl 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: ff870b783f098cafd8b938379eada6b8cfe9a4fb Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:38 +0000 Message-Id: <697ba316.4706d.248b6488@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ff870b783f098cafd8b938379eada6b8cfe9a4fb commit ff870b783f098cafd8b938379eada6b8cfe9a4fb Author: Konstantin Belousov AuthorDate: 2026-01-23 15:15:43 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 sched_shim: restore kern.ccpu sysctl It is apparently should be considered part of the ABI, and is used by the base top(1). But do not declare the ccpu variable in headers, it is needed only by 4bsd. So put the variable definition into sched_shim.c to make the kernel buildable without SCHED_4BSD. Reviewed by: olce Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 10 ++++++---- sys/kern/sched_shim.c | 4 ++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 11baf9d2bdfa..4c24d98173f3 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -436,10 +436,7 @@ maybe_preempt(struct thread *td) #define loadfactor(loadav) (2 * (loadav)) #define decay_cpu(loadfac, cpu) (((loadfac) * (cpu)) / ((loadfac) + FSCALE)) -/* decay 95% of `ts_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */ -static fixpt_t ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */ -SYSCTL_UINT(_kern_sched_4bsd, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, - "Decay factor used for updating %CPU"); +extern fixpt_t ccpu; /* * If `ccpu' is not equal to `exp(-1/20)' and you still want to use the @@ -638,6 +635,11 @@ resetpriority_thread(struct thread *td) static void sched_4bsd_setup(void) { + /* + * Decay 95% of `ts_pctcpu' in 60 seconds; see CCPU_SHIFT + * before changing. + */ + ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */ setup_runqs(); diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index 816d0b44bb52..f6b1285830fd 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -199,3 +199,7 @@ SYSCTL_PROC(_kern_sched, OID_AUTO, available, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_sched_available, "A", "List of available schedulers"); + +fixpt_t ccpu; +SYSCTL_UINT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, + "Decay factor used for updating %CPU"); From nobody Thu Jan 29 18:12: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 4f26gX68lLz6PfDH for ; Thu, 29 Jan 2026 18:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f26gX3MZgz3ZQF for ; Thu, 29 Jan 2026 18:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U4axuFh73L5RdcHMZpyMTTJDcJM39/HYnov1hJN/syc=; b=cnClyfHsp0bNtsQXMy6ZUEAXy2292RdtEhEb9wHEeqSa4yDjgGZdUARgLt0xC5HEzXK0aq 3XJOCju3yIq6tNM+pUDA1AUQ0iN+4UVX1U2j8na4Psgv7nEjidWOR5vaptHi+2unE8h9Vx M6RWofEYD7LrdxIIKOWPkqv4s17rwZyF1sTagPQSzvM1rzNAXLJdwI9zPpHMjzkvqlIWsE cx0j3ix9dVECV7IZtVwJ54sGqm3DmGNKLn7dMsleFDTdV332xCUbgDd+0syan4W+10O3IY KOdLhPRSfBr9V/1HZEt1hrZq6yHSXl79aRSec7HH7dNPeJKE+cCx7/C2K3cLqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710360; a=rsa-sha256; cv=none; b=t8jYcJn2dS4H+0vqvij5h7noW6Ivaho2vubWukWyrThinIYXn99k53iaokTNBul+1oX/I5 rjceoHVzgQLeDzrTf07eoukEHKiCZF36bOKnqNNoClQ3cf1r/YFE891ThWb9iXtocNyYSv svZDDEjhehDeidqLIUV63uDpXJcU4wqQ1jSIeYeGBToufWF4EN+9qVU65Q5ttpdacDmaA9 oSCewsinAf0KiF6zV9g13kiLVe37kXqusanmcYSyn2w/RQs3hvcUJa2b1m5Fp8WwF1m5AG WP1KObdoVqrMEDvze5oNYb9wbxEfrvOMUU3H2KkdBNzkiOhAMgl+pVacdd7WlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U4axuFh73L5RdcHMZpyMTTJDcJM39/HYnov1hJN/syc=; b=SoaTsu+4yGCPQKpRPyjA5NjrvEaLBQSpqqtMNDCUdzbCIeTQrQTuhj9pjBWvMK8qjl+LLh AKfoAG/Q1Hfoo9lLkfzr38ePTyUO0Q5ilKhkiT1F4mc7AsyI2MZDoXcX1mGZpVuOeWToyt N9ND0ru28evLN0/Zpnl9ONR+XkKgImiCniDB43rdMly0P2a1ToLYzP7hnDTBT375cetUfc vy+r78LnIK/tzoRSmgX+zOTYa1O/bPozTyq5vDqoE7JjvrGk2iU/VpkK2xUM690gkIS6Vx 20y9vnC3HD6vUJnzGdmalQT2m9x34wpnvZbF85TpOblXeunxFkHosO5suFlfLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gX2hZxzqHg for ; Thu, 29 Jan 2026 18:12:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47f48 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a84a39dfe5d1 - main - kern/sched: move duplicate preemption stat vars into sched_shim.c 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: a84a39dfe5d1fd98afdf29a74017fce29441b730 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:40 +0000 Message-Id: <697ba318.47f48.6bdef82c@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a84a39dfe5d1fd98afdf29a74017fce29441b730 commit a84a39dfe5d1fd98afdf29a74017fce29441b730 Author: Konstantin Belousov AuthorDate: 2026-01-24 06:01:48 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 kern/sched: move duplicate preemption stat vars into sched_shim.c Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 4 ---- sys/kern/sched_shim.c | 5 +++++ sys/kern/sched_ule.c | 4 ---- sys/sys/sched.h | 3 +++ 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 4c24d98173f3..55a70885ee28 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -706,10 +706,6 @@ sched_4bsd_rr_interval(void) return (imax(1, (sched_slice * hz + realstathz / 2) / realstathz)); } -SCHED_STAT_DEFINE(ithread_demotions, "Interrupt thread priority demotions"); -SCHED_STAT_DEFINE(ithread_preemptions, - "Interrupt thread preemptions due to time-sharing"); - /* * We adjust the priority of the current process. The priority of a * process gets worse as it accumulates CPU time. The cpu usage diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index f6b1285830fd..9d96c1a2d550 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -97,6 +97,11 @@ DEFINE_SHIM0(do_timer_accounting, bool, sched_do_timer_accounting) DEFINE_SHIM1(find_l2_neighbor, int, sched_find_l2_neighbor, int, cpu) DEFINE_SHIM0(init_ap, void, schedinit_ap) + +SCHED_STAT_DEFINE(ithread_demotions, "Interrupt thread priority demotions"); +SCHED_STAT_DEFINE(ithread_preemptions, + "Interrupt thread preemptions due to time-sharing"); + static char sched_name[32] = "ULE"; SET_DECLARE(sched_instance_set, struct sched_selection); diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 334b3c0f1de3..201d9c33dda7 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -2693,10 +2693,6 @@ sched_ule_userret_slowpath(struct thread *td) thread_unlock(td); } -SCHED_STAT_DEFINE(ithread_demotions, "Interrupt thread priority demotions"); -SCHED_STAT_DEFINE(ithread_preemptions, - "Interrupt thread preemptions due to time-sharing"); - /* * Return time slice for a given thread. For ithreads this is * sched_slice. For other threads it is tdq_slice(tdq). diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 3ba40fb191d3..bc8022084de3 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -231,6 +231,9 @@ SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL); #define SCHED_STAT_INC(var) (void)0 #endif +SCHED_STAT_DECLARE(ithread_demotions); +SCHED_STAT_DECLARE(ithread_preemptions); + /* * Fixup scheduler state for proc0 and thread0 */ From nobody Thu Jan 29 18:12: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 4f26gZ1P0cz6PfGt for ; Thu, 29 Jan 2026 18:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f26gY4645z3ZBR for ; Thu, 29 Jan 2026 18:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hGHNK959d+w5DSY/5rRMZaeSRC7r98Qp9f8hR7EEBkA=; b=dh/sPMa6imlwFdWY43x7SEFlnH9yTixw+vcBHg0E2gOFn2TECW7ys3trGBrhXNAiVunm2L q1j8rE1iGneuHPEDaMPCH+PIqzBXN3zV4z8A5pqtUc3L9RwPAQHtIPSsLkpLAwIVbCBJC+ 4ryT2DKYqn44IPF8vopvCtcf8kEdETXfH5xxOtt0WVtS9oNgrbMix437PR4SThvVo9LBx+ uNCGjtaogjvYDk6wsTsRC5zsGyWteMSBjjGjVcTFZv/IspdbtuytIuduqrssyyoh26Evqk HXbFbdKlY+0J3CjPbiRUdcPieLICE6BlVkthVbP7ISAtFlJ1r1wBDzW37Dfqog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710361; a=rsa-sha256; cv=none; b=X38tl7PDsAuhtMcnpQfM09F2v3J1UspK3BqH0xVtdeHfgaDkvlPML9WMfk2I03k8IWuxYX +cnkVqv79cDfY5L1mZTLYIZeMhNdT8wjHztYHq0Bq7wt0vMHMJnDxE4/3r5sX+IN5ud60a iWbuaROSKH2iN/Qg3MX9WfV9Z4S6kVsXLgN/AHtKfPAZyCMG415J7QO51LQ92Wzn8aMiar WxLgdmzwyNFK7i+9QsUNUhk0VqDWBDagUBpUHflxGA61gaag/0iW8z9wSai7Qhp7Ir+xEO rxYjI9aKJMA0uPGaEG8W/coU8dKZB2y8plBxRWU527It16eDdl3irG5Cfjbtug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hGHNK959d+w5DSY/5rRMZaeSRC7r98Qp9f8hR7EEBkA=; b=xjEnvnLKrDHemAEGXaWBdFdGbNZFz0codI1IE+vMnk6SkKFRay5lTguK1ZYwoKfHYTQCNI FUaDqTZHl9rzKhG5iUa6tc2OcazpqNhLcvA0jEaDSzLtQ3gXxSJErsjs08UBdmTkj17VjP 63rbK1TV0pmQO8n75doHYcaaDrk4FoiSj9+Al4k+s0o5BPW3LmTmRWQucX5itjwZ/PSU1z fJsefPS0xI+fkMrz2MxlsTTbygRsc5+JyXXT9I8cQtCgHzrzHPMr2ZD0IAbCAGS/5J5Phr mukrcSbUNevSaaqmgbZJgeASoNkYFxCh6i2vru6svQ+1TsUb/PQFXS82EwPc1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gY3XXyzqHh for ; Thu, 29 Jan 2026 18:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47f4c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 9409e8698030 - main - kern/sched: deduplicate 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9409e86980302cd495376861de3475b78734bc37 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:41 +0000 Message-Id: <697ba319.47f4c.2c886695@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9409e86980302cd495376861de3475b78734bc37 commit 9409e86980302cd495376861de3475b78734bc37 Author: Konstantin Belousov AuthorDate: 2026-01-24 06:16:42 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 kern/sched: deduplicate sdt probes Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 18 ------------------ sys/kern/sched_shim.c | 18 ++++++++++++++++++ sys/kern/sched_ule.c | 18 ------------------ sys/sys/sched.h | 11 +++++++++++ 4 files changed, 29 insertions(+), 36 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 55a70885ee28..57d6f87a4dce 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -263,24 +263,6 @@ SYSCTL_INT(_kern_sched_4bsd, OID_AUTO, followon, CTLFLAG_RW, "allow threads to share a quantum"); #endif -SDT_PROVIDER_DEFINE(sched); - -SDT_PROBE_DEFINE3(sched, , , change__pri, "struct thread *", - "struct proc *", "uint8_t"); -SDT_PROBE_DEFINE3(sched, , , dequeue, "struct thread *", - "struct proc *", "void *"); -SDT_PROBE_DEFINE4(sched, , , enqueue, "struct thread *", - "struct proc *", "void *", "int"); -SDT_PROBE_DEFINE4(sched, , , lend__pri, "struct thread *", - "struct proc *", "uint8_t", "struct thread *"); -SDT_PROBE_DEFINE2(sched, , , load__change, "int", "int"); -SDT_PROBE_DEFINE2(sched, , , off__cpu, "struct thread *", - "struct proc *"); -SDT_PROBE_DEFINE(sched, , , on__cpu); -SDT_PROBE_DEFINE(sched, , , remain__cpu); -SDT_PROBE_DEFINE2(sched, , , surrender, "struct thread *", - "struct proc *"); - static __inline void sched_load_add(void) { diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index 9d96c1a2d550..4f000d8ace0c 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -102,6 +102,24 @@ SCHED_STAT_DEFINE(ithread_demotions, "Interrupt thread priority demotions"); SCHED_STAT_DEFINE(ithread_preemptions, "Interrupt thread preemptions due to time-sharing"); +SDT_PROVIDER_DEFINE(sched); + +SDT_PROBE_DEFINE3(sched, , , change__pri, "struct thread *", + "struct proc *", "uint8_t"); +SDT_PROBE_DEFINE3(sched, , , dequeue, "struct thread *", + "struct proc *", "void *"); +SDT_PROBE_DEFINE4(sched, , , enqueue, "struct thread *", + "struct proc *", "void *", "int"); +SDT_PROBE_DEFINE4(sched, , , lend__pri, "struct thread *", + "struct proc *", "uint8_t", "struct thread *"); +SDT_PROBE_DEFINE2(sched, , , load__change, "int", "int"); +SDT_PROBE_DEFINE2(sched, , , off__cpu, "struct thread *", + "struct proc *"); +SDT_PROBE_DEFINE(sched, , , on__cpu); +SDT_PROBE_DEFINE(sched, , , remain__cpu); +SDT_PROBE_DEFINE2(sched, , , surrender, "struct thread *", + "struct proc *"); + static char sched_name[32] = "ULE"; SET_DECLARE(sched_instance_set, struct sched_selection); diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 201d9c33dda7..33a578814e0e 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -409,24 +409,6 @@ static int sysctl_kern_sched_ule_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, int indent); #endif -SDT_PROVIDER_DEFINE(sched); - -SDT_PROBE_DEFINE3(sched, , , change__pri, "struct thread *", - "struct proc *", "uint8_t"); -SDT_PROBE_DEFINE3(sched, , , dequeue, "struct thread *", - "struct proc *", "void *"); -SDT_PROBE_DEFINE4(sched, , , enqueue, "struct thread *", - "struct proc *", "void *", "int"); -SDT_PROBE_DEFINE4(sched, , , lend__pri, "struct thread *", - "struct proc *", "uint8_t", "struct thread *"); -SDT_PROBE_DEFINE2(sched, , , load__change, "int", "int"); -SDT_PROBE_DEFINE2(sched, , , off__cpu, "struct thread *", - "struct proc *"); -SDT_PROBE_DEFINE(sched, , , on__cpu); -SDT_PROBE_DEFINE(sched, , , remain__cpu); -SDT_PROBE_DEFINE2(sched, , , surrender, "struct thread *", - "struct proc *"); - /* * Print the threads waiting on a run-queue. */ diff --git a/sys/sys/sched.h b/sys/sys/sched.h index bc8022084de3..e4bd5211c1ae 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -69,6 +69,7 @@ #include #endif #include +#include struct proc; struct thread; @@ -234,6 +235,16 @@ SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL); SCHED_STAT_DECLARE(ithread_demotions); SCHED_STAT_DECLARE(ithread_preemptions); +SDT_PROBE_DECLARE(sched, , , change__pri); +SDT_PROBE_DECLARE(sched, , , dequeue); +SDT_PROBE_DECLARE(sched, , , enqueue); +SDT_PROBE_DECLARE(sched, , , lend__pri); +SDT_PROBE_DECLARE(sched, , , load__change); +SDT_PROBE_DECLARE(sched, , , off__cpu); +SDT_PROBE_DECLARE(sched, , , on__cpu); +SDT_PROBE_DECLARE(sched, , , remain__cpu); +SDT_PROBE_DECLARE(sched, , , surrender); + /* * Fixup scheduler state for proc0 and thread0 */ From nobody Thu Jan 29 18:12:42 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 4f26gb1MTmz6PfMZ for ; Thu, 29 Jan 2026 18:12: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 4f26gZ53lWz3ZSt for ; Thu, 29 Jan 2026 18:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=On4jg7CI+bx5RLzoHQYaEP3YccTpakTOS42ALzJXPvw=; b=hQ+7NzGanVfUF/p+9kdIba8a9ReBe/gkkFfmugX7IobMyPXr5yPJcII01VEQYYy59eTaB6 nWq1JWQ2AkmDdtTFylRI2GD5J/pveGW/fQeJcBBulth92bW4/oq7UPIxBX2ZVdjrJgEGYZ 0KuAvtHba/gbOaQLCdkAPuyRPVCM45zxKLTm2si0JD4X/aX6zA2YoHci0Wq7DR/ssKp9Pu fld24usOQfLKOg4DfivieW2LWFkXJ9qRfUIEd52yavafaB898r+KobprcOgTZ0Lt9m/g+W c56CTlyHCgSwqKJClkUCeGF0SyrCfRaWnl08z0Tt4u84CLeBdseVf7g0D30YZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769710362; a=rsa-sha256; cv=none; b=vTSgA9jY1wD8gTddXFuVzrzbCpyxWTJrt3MMIt8osQur4VIvXWQUBvxdbPssXLcClekrpa wy2rhCfy62ALNSik/wx5XaMI4/V/2fpyH3Er+bc2AZ01n3ZYscW9O6syjTbcBpI8Zxw0nO bU758ClzPBEwI2XwFxrpA+KVJ22zBEQqzADqxnVBSRK0RWWukj31w+eUB/34qVY+v1osMN 79i+r8Zhpsc6RNqdn65xH3oesBj+3jThvmEP8LNEQX/zia6UR8lLBjocnr/KR/YrQoyyoX E2oUr55oSjq+IFHnocq/ihFRjmTOTTu5S/poEf9UmBSSmWAUnP9I9ALji5PiHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769710362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=On4jg7CI+bx5RLzoHQYaEP3YccTpakTOS42ALzJXPvw=; b=G1KoLTnvcwAzWo4kosR4/xid6dTf2HvRJLA2i+5xK0i/XFecRwwzUUvtTOpeFUtn60l4+3 QZ3FZKdjIjIDhHxp++KDsLuKvAbeA2eU9CjqT4sb1fMdJbr4xwy/D4/jJUcfx6rZLnG6/M TPlTQj6XjFSYSQrC1VjkmE8oyFaB09jjvD+tN3RxIuPzXhZVylf53jgZHWQQq+j1XJ7PzH /1fo9sM/Kco9BRRZpcukSviap/mlmkllVXKbORTstGqrn32I187HnIntHr2HdvjqIpqKId Rk3nzETEItQfLKBakiTTIGNpiYe7+kD9Rus6m0173wTmDlBRHGQROV4/Pvv04Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f26gZ4bWwzq4D for ; Thu, 29 Jan 2026 18:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9b3c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 18:12:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 783b8a0fd880 - main - kern/sched: deduplicate dtrace hook vars 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: 783b8a0fd880255a8315db7f59d0450bd7276f4d Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 18:12:42 +0000 Message-Id: <697ba31a.9b3c.494a86f0@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=783b8a0fd880255a8315db7f59d0450bd7276f4d commit 783b8a0fd880255a8315db7f59d0450bd7276f4d Author: Konstantin Belousov AuthorDate: 2026-01-24 06:22:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 18:11:56 +0000 kern/sched: deduplicate dtrace hook vars Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/sched_4bsd.c | 6 ------ sys/kern/sched_shim.c | 6 ++++++ sys/kern/sched_ule.c | 6 ------ sys/sys/sched.h | 6 ++++++ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 57d6f87a4dce..317b47da2cca 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -66,12 +66,6 @@ #include #endif -#ifdef KDTRACE_HOOKS -#include -int __read_mostly dtrace_vtime_active; -dtrace_vtime_switch_func_t dtrace_vtime_switch_func; -#endif - /* * INVERSE_ESTCPU_WEIGHT is only suitable for statclock() frequencies in * the range 100-256 Hz (approximately). diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c index 4f000d8ace0c..ec5c42c37aab 100644 --- a/sys/kern/sched_shim.c +++ b/sys/kern/sched_shim.c @@ -120,6 +120,12 @@ SDT_PROBE_DEFINE(sched, , , remain__cpu); SDT_PROBE_DEFINE2(sched, , , surrender, "struct thread *", "struct proc *"); +#ifdef KDTRACE_HOOKS +#include +int __read_mostly dtrace_vtime_active; +dtrace_vtime_switch_func_t dtrace_vtime_switch_func; +#endif + static char sched_name[32] = "ULE"; SET_DECLARE(sched_instance_set, struct sched_selection); diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 33a578814e0e..ccad7947c4f5 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -72,12 +72,6 @@ #include #endif -#ifdef KDTRACE_HOOKS -#include -int __read_mostly dtrace_vtime_active; -dtrace_vtime_switch_func_t dtrace_vtime_switch_func; -#endif - #include #include diff --git a/sys/sys/sched.h b/sys/sys/sched.h index e4bd5211c1ae..08d8636aaa68 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -245,6 +245,12 @@ SDT_PROBE_DECLARE(sched, , , on__cpu); SDT_PROBE_DECLARE(sched, , , remain__cpu); SDT_PROBE_DECLARE(sched, , , surrender); +#ifdef KDTRACE_HOOKS +#include +extern int dtrace_vtime_active; +extern dtrace_vtime_switch_func_t dtrace_vtime_switch_func; +#endif + /* * Fixup scheduler state for proc0 and thread0 */ From nobody Thu Jan 29 19:36:42 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 4f28XV5bZkz6PpTj for ; Thu, 29 Jan 2026 19:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f28XV3kJ4z3vKh for ; Thu, 29 Jan 2026 19:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769715402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2+Q33cpmCuZeEaOY53p4KdpvQR2n+Gf6sieL7TPYUVY=; b=up1vgNkctu9iNKDnjIAV9hRLzinENlFRKffAivE1yo1C8NiunVAFj/EzLMQJMsFcHfYIHq 6XAJ7suxk00vu1oMvrbdlQQXke0DXoJfshRY8Y1ORkyYCuYmhkPELEYURdqw1ZFf6pWtGr 3/sp/WQLrQMasX/Wk+aowhcgl8ke+gscj5P7782H3GVT44CAiVPBGyEhusv1svSM4CnAen cGQMWvluK3wOo8q22WjuDT4ZuVA26f1GEsKC+zF84SggsHuaS7wkXBB0IteKQDdAuEJ4RD k+Al3x10C2+A3UeQThxI4gZB99AznULHHuf6z4ACLH4CtdcvGVvGtNCBSBIbeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769715402; a=rsa-sha256; cv=none; b=sv6Wh7PYi1XWSDsLHvCW55POI014C+DauwOac8MnXsjXEnlGmZds4IHCKjFNj4nk3vS6gg ty1Mv+DR3LWKgF6AfECMl3O2W+XHJPqRI+dQInYJO45gGTK251T97k+ee4yXD35xRtIwqz Z0g0zDVl/Tbuz6qmte11oIrSsry9JmHDQlBvadHhLws8RTOGgBsDObBQvmHUA3CkxNJP8o ixNSrcVwZEevD6CmzUwWRLyx94YVBqfOEDllg8Qlz8DIHKYngI563oSSOU0gUT+zBeyxV8 iB9ZocDE/d4an2s87R4+/y07Ujapg7NcBAdO7GVWuLmjgWisUVRSTJOYq/0G1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769715402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2+Q33cpmCuZeEaOY53p4KdpvQR2n+Gf6sieL7TPYUVY=; b=OYm0n5UBe8OOAKKjnXGrN1X7FRjx0t7q1Crk3IRrkCj5yyzY2K7zx5sFOzKudh3yEyJMOr yxV6J4iNvR3kxlRxDIpEw96KqZRkvVqq5CZ/tIoV+a3NLsI25L0Z5pHIXgGh/sfIJJrz7l sp/nF83zJBeLbgVnl6iKlwAuElBYWb4I5Vf1tW7Lb5RHzFLcb+RBj9oz+TBnngGH46ZRlH 9DgPljv+rR4dbhp7VzTqYJVgvL75ji7ZXj4BcWzaH1yCLJci2bocKA4NQpSHu7Xkdb4DVl nPVLitQWxx1QUw0pzPyJvRpI09LDQCQokn95GKDxZBpocqsc2w5CqyIE/exI9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f28XV2kg7zsGK for ; Thu, 29 Jan 2026 19:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbf3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 19:36:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4b32fdb4a614 - main - lindebugfs: check that name is set as otherwise pfs_alloc_node_flags() panics 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: 4b32fdb4a614de602d288ac5a414cb43e9f2163e Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 19:36:42 +0000 Message-Id: <697bb6ca.dbf3.3767cf26@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4b32fdb4a614de602d288ac5a414cb43e9f2163e commit 4b32fdb4a614de602d288ac5a414cb43e9f2163e Author: Bjoern A. Zeeb AuthorDate: 2026-01-29 11:16:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-29 19:35:23 +0000 lindebugfs: check that name is set as otherwise pfs_alloc_node_flags() panics I have hit the case multiple times that some LinuxKPI field may not be set during driver bringup and lindebugfs would cause a panic. The backtrace goes like: strlen() at strlen+0x54 pfs_create_dir() at pfs_create_dir+0x41 debugfs_create_dir() at debugfs_create_dir+0xa1 ... While the problem is clearly in LinuxKPI or the driver, we likely should at least add an assert to pfs_create_dir() if name is NULL like we have for pfs_add_node() but for lindebugfs at least make this a graceful error and continue without creating the dir instead of panicing. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D54944 --- sys/compat/lindebugfs/lindebugfs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c index 8cddc6f390bc..857546f61e55 100644 --- a/sys/compat/lindebugfs/lindebugfs.c +++ b/sys/compat/lindebugfs/lindebugfs.c @@ -272,6 +272,9 @@ debugfs_create_dir(const char *name, struct dentry *parent) struct dentry *dnode; struct pfs_node *pnode; + if (name == NULL) + return (NULL); + dm = malloc(sizeof(*dm), M_DFSINT, M_NOWAIT | M_ZERO); if (dm == NULL) return (NULL); From nobody Thu Jan 29 21:32: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 4f2C5x5cS5z6Q33N; Thu, 29 Jan 2026 21:32:21 +0000 (UTC) (envelope-from marius@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 4f2C5x55RPz4CVK; Thu, 29 Jan 2026 21:32:21 +0000 (UTC) (envelope-from marius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769722341; 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=TxXT1Oj+iMwa7/hMqT68ut8M5RWK2UOoJKHzHjtvlNQ=; b=dCDyRgNh8ERv3hXtc3acUmwp4VVxFTTjSXeWh380sobunlw7rXnfw8wi5lnM3u9GpkfSoe 3SOsH4VXkYv4JzkyuDhB/1PvO47aK0KepW992DnZLdWU4SDDooiqcIPh5Xis+Yo8eZU5N6 rqStO3KltRSY91QLQFXHFR5ooFvMsW5FWjd/AkccAKS5rWfZFDElJ35pkSRDGiplEo2LjQ fVeNkJjXuIjNHvf7xDKYkEPZDgcAK9eQTJZcvyoxMpLe79j+O7U5aQ0zr3Thn+LFOgXRu2 ZY1Dcrh62zD2ZZssBPjXGeFBlogCbSyv7RMLCjq74RBvH4At4kBtMJmsoyzteg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769722341; a=rsa-sha256; cv=none; b=LLkRDQHVzssApAbAzWGRgUmP1YtOJbZfLQLy2VOwtdqA9b2g9pvZmqdcFNcJrsOHTdUiK8 MlPFFOF5aZUrGa2mha6K6veRD4J8Oo0cXVT4x3nVFDegR4jwe/5jiN5H8qE0lO9d+OEkmR PYQrGGW9jH9G71nksZ4uLws/u2NiSqdVlDXzFCSsqvLOtg4WHUyGRA8Atu6e4pwJvvGozs Rg2V622ymHVkkvGJZUPIuqUdaYDsjDduvX4OJoe5jbgWfp8l6eM7td9S1RUva3ODE8ihTG QKc3kEVOFnKdqOPNUimsJb0RrfpAOgb3WQ3VzfqOcGWfx8rVCCseNXsz5h4yLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769722341; 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=TxXT1Oj+iMwa7/hMqT68ut8M5RWK2UOoJKHzHjtvlNQ=; b=JKNvg6vP2emvW8Q4ZAhn/6Dv1Xzn6lHCGkA2/yND4JFhzuopaFjFCl791Ld5XuKqj+2w4D A1nzBhT9GcTReFfbBhLr3PC8yMWMmccmb7l07znn4Shh/5FvNVsutR+ot1Qi0F04+D5fl1 vFYEN0M9oRpK7Sgg/BNZH9kXOOpDkP0zpk+JZuVTrWH1njKNy1poDBdII/GQT0IKZfe3Kk Nrgobp+ATyJCzo2Jj4tcpxlwbBSIRmR3IIOepamiw7X/WG5eZynS2Q3SW5bPyyNUGQOIas p68n1sK4KdsQ7ZC4/KmmNkloOL8CSLC2MvrwYxOXMRgr4IFSagRUJj8v+TTIew== Received: from roy.zeist.de (roy.zeist.de [IPv6:2a01:4f9:4a:2169::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "roy.zeist.de", Issuer "R13" (not verified)) (Authenticated sender: marius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f2C5x3D3mzQDs; Thu, 29 Jan 2026 21:32:21 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from roy.zeist.de (localhost [127.0.0.1]) by roy.zeist.de (8.18.2/8.18.2/ROY.ZEIST.DE) with ESMTPS id 60TLWEgc048244 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 29 Jan 2026 22:32:14 +0100 (CET) (envelope-from marius@freebsd.org) Received: (from marius@localhost) by roy.zeist.de (8.18.2/8.18.2/Submit) id 60TLWEnd048243; Thu, 29 Jan 2026 22:32:14 +0100 (CET) (envelope-from marius@freebsd.org) Date: Thu, 29 Jan 2026 22:32:14 +0100 From: Marius Strobl To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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 Wed, Jan 28, 2026 at 11:35:09PM +0200, Konstantin Belousov wrote: > On Tue, Jan 27, 2026 at 10:56:04PM +0100, Marius Strobl wrote: > > On Tue, Jan 27, 2026 at 01:13:04AM +0200, Konstantin Belousov wrote: > > > On Mon, Jan 26, 2026 at 09:30:58PM +0100, Marius Strobl wrote: > > > > On Mon, Jan 26, 2026 at 06:34:49PM +0200, Konstantin Belousov wrote: > > > > > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > > > > > The branch main has been updated by marius: > > > > > > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > > > > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > Author: Marius Strobl > > > > > > AuthorDate: 2026-01-26 13:58:57 +0000 > > > > > > Commit: Marius Strobl > > > > > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > > > > > > > > > sym(4): Employ memory barriers also on x86 > > > > > > > > > > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > > > > > It does hold. x86 is much more strongly ordered than all other arches > > > > > we currently support. > > > > > > > > If it does hold, then why is atomic_thread_fence_seq_cst() employing > > > > a StoreLoad barrier even on amd64? > > > > I agree that x86 is more strongly ordered than the other supported > > > > architectures, though. > > > Well, it depends on the purpose. > > > > > > Can you please explain what is the purpose of this specific barrier, and > > > where is the reciprocal barrier for it? > > > > > > Often drivers for advanced devices do need fences. For instance, from > > > my experience with the Mellanox networking cards, there are some structures > > > that are located in regular cacheable memory. The readiness of the structure > > > for the card is indicated by a write to some location. If this location is > > > BAR, then at least on x86 we do not need any barriers. But if it is also > > > in the regular memory, the visibility of writes to the structure before > > > the write to a signalling variable must be enforced. > > > > > > This is done normally by atomic_thread_fence_rel(), which on x86 becomes > > > just compiler barrier, since the ordering is guaranteed by CPU (but not > > > compiler). > > > > > > In this situation, using rmb() (which is fence) really degrades > > > the performance on high rates. > > > > The problem at hand is reads from different memory locations (neither > > in BAR) apparently getting reordered after having kicked the chip. As > > a result, data read doesn't match its flag. > Nice description, thanks. > So writes are to the WB memory, and they are ordered by hardware. > And then, reads needs to be correctly ordered. Did I correctly understand? Well, as part of making this mix and match work as expected, the intent is to map the HCB memory uncacheable. Prior to the advent of VM_MEMATTR_*, the !x86 way of indicating this to bus_dmamem_alloc(9) was BUS_DMA_COHERENT. Then later in 2db99100, BUS_DMA_NOCACHE was hooked up to VM_MEMATTR_UNCACHEABLE for x86. As it turns out, this still differs across architectures today; arm still supports BUS_DMA_COHERENT only for requesting uncacheable DMA memory and x86 still uses BUS_DMA_NOCACHE only. On arm64 and riscv, BUS_DMA_COHERENT seems to effectively be an alias for BUS_DMA_NOCACHE. So in short, the intent is to map the HCB memory uncacheable, but it happens to end up as write-back on x86 currently. What is the expected effect of VM_MEMATTR_UNCACHEABLE on load/store re-ording on x86? In your Mellanox MAC example you indicate that at least stores to bus space memory, which presumably is also mapped VM_MEMATTR_UNCACHEABLE, are executed in program order (but stores to VM_MEMATTR_WRITE_BACK mapped memory may get re-ordered). In, general, load/store re-ordering isn't only a factor of uncacheable memory, though. If VM_MEMATTR_UNCACHEABLE on x86 guarantees that loads and stores to different locations of the same uncacheable memory are executed in program order, allocating the HCB memory with BUS_DMA_NOCACHE may be an alternate approach to using barriers. In a quick test with e769bc77 reverted but BUS_DMA_NOCACHE passed in addition, this at least doesn't have a measurable impact on performance with real amd64 hardware. > This is endorced by atomic_thread_fence_acq(). On x86, due to the TSO > model, it only uses compiler membar. That doesn't mean that atomic_thread_fence_acq() is a portable approach for DMA and bus space across architectures, though. > > Several factors contribute to this scenario. First off, this hardware > > doesn't have shiny doorbell registers but is a rather convoluted design > > dating back to the early days of PCI, using a heavy mix of registers > > in BAR space and DMAed control data, with addresses being patched into > > programs that are transferred to the controller RAM by the driver or > > may reside in host memory etc. Additional things also doesn't work > > equally across all supported chips as only newer ones provide load/ > > store instructions for example. > > As such, the operations of these chips might very well escape the bus > > snooping of more modern machines and optimizations therein. There are > > PCI bridges which only synchronize DMA themselves on interrupts for > > example. > I do not quite follow the part of 'escaping the bus snooping'. > I have no idea about this part for !x86, but on x86 hardware cannot > access RAM without routing the transactions through the memory controller > of CPU. In theory, yes; I think to remember a talk about a 2017 paper by UoC people presenting that DMA snooping turned out to not work as advertised by Intel, though. That was an unexpected discovery, however, the paper actually had a networking topic, not sure what it was. > > For drivers, we generally would want to express DMA synchronization > > and bus space access ordering needs in terms of bus_dmamap_sync(9) > > and bus_space_barrier(9) as there may be buffers, caches, IOMMUs etc. > > involved on/in the bus. These later are not taken into account by > > atomic_thread_fence_*(9). Apparently, this is also of relevance for > > x86, as otherwise BUS_SPACE_BARRIER_READ would be a compiler barrier > > there at most. > For WB memory, caches are always coherent (on x86), and IOMMUs do not > change that. It is interesting that IOMMUs on x86 might use non-coherent > access to the main memory itself for things like page tables reads or > updates, or fault log entries writes. But they definitely do not cause > non-coherence of the DMA. What's needed in this case is consistency across different memory locations, not just coherency in a single one. > > With things like index or bank switching registers, it's generally > > also not the case that there are pairs of bus space barriers, i. e. > > also reciprocal ones, see e. g. the example in the BARRIERS section > > of bus_space.9. > > > > Due to the mess with these chips and depending on architecture, > > actually barriers for both, DMAed memory and bus space, might be > > required. That's why already before this change, powerpc already > > used both sync and eieio as well as the comment above the macros > > was already previously talking about using I/O barriers, too. > > > > Actually, I would have expected this hardware to have aged out by > > now. However, apparently it still is a thing with OpenStack, so it > > makes sense to keep this driver working, with performance not being > > of great concern. > > I can change the driver back to duplicate *mb(9) as it was before > > this change or back this change out completely it you absolutely > > dislike it. I won't waste time with working on an alternate approach > > to what the Linux version does, though, especially not given that > > the Linux version presumably gets considerably more exposure and > > testing. > > What I would like is removing global rmb/wmb/mb definitions. I doubt > that there is common semantic for them on different FreeBSD arches, they > are only similar by name. Apparently, *mb(9) initially were brought over from Linux as-is as far as the instructions used go, with these macros having common semantic across architectures in Linux. The only exception where FreeBSD differs now is powerpc64, there rmb(9)/wmb(9) uses the weaker lwsync, while Linux uses sync. Depending on the store order the kernel is executed in, this may be correct. Anyway, some other drivers already provide their own copies of *mb(9), so removing them from atomic.h may lead to even more (possibly incorrect) diversity. Marius From nobody Thu Jan 29 22:44: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 4f2Dhh3nfnz6Q9t9 for ; Thu, 29 Jan 2026 22:44: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 4f2Dhg6gY8z4KK0 for ; Thu, 29 Jan 2026 22:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769726643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/UsrESsws+kSznDWHgyxFy+si4AzX+JveWwynyXVy1g=; b=LnkyLSTO1GDogq5KAUN9l2Na8cIiaOMy2iOfxqgBeqv9jIQMJQbvxgA2FpiOJxm0a4Znqj EZ3FHwBNwp2kZFATyC7mTIyvu8L0bEWSBKyQYJ18oofvQ7XzocDGx6DgVnz7vZaty7UR+z gRdLBUCKTyTcBev9bgDtMWZ6d/bFxwt9zUNZTglCodtbBYvoQja1ksK3bfX8fu4K+jZYXa KvkfS7y1Ih5LBrhOP76fN8FYHtHBGNsxJ6rEXYJ7dcf5MluWcK+3z1Osl4E/Sm6KlNdizj ZN+Zdwsdq0Ksh1yz6NxGukrwOU1WQUqFpt2r2GszmDnGu1Wt6MzHaN+7K8GgKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769726644; a=rsa-sha256; cv=none; b=iZfrMxvqh5uqrByyOlzKFTEAftWWfLMorOxLdyV23aEmjjX/X3E+HUYXYeyEpkATcZPp7s jigk1V5xMmv+vTwMXWQghC/D9ostoWbnsjxXgY9p0EmDhCwi5jbNKpUDY5NmWcneNeWSub TR59cb88xoF892Me/UA6AQItrMr03DBZW92e2H5MNlbk8iOTNV7Vf4yO2OAUYViQw93de/ 6cAVi0mmhevji78GEL/wTnT7ZW1n5swYXO0107eKskEgBfZIzP71qHf9/6xF0ncEFP07WQ LOEkPCe0jpvssOTUr6cagwNb2FWwGK2lGRLzd3SMWd3lkCm18y75b/Ff2hLGWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769726644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/UsrESsws+kSznDWHgyxFy+si4AzX+JveWwynyXVy1g=; b=Q675P142MpOF46410pJ18nABi8hGPkJ4tCQNqOpKZkdb6f/g6BdbBJvAQH3H3STehXUPqU N2kNFSWqa2HGC85UWbVauFbyJUN1KVUZsZzyArp/wf05LR1JlAvehySUbKTmyBEf33ysmM HZlP0kAg6/Yo5x6fXp54vBS36Ncl0NS5R5kAeoBoWlikPKq8T6Jzx5TnMt3UPOlg+nHycj a0UkgKsz9gTR3bmpweYIj3p4XwAlxjjugOF1y1AqxXOpkgklmalyJizWXSEMeth/vSZraJ jG5r6vBKCWxNu7hg18y2R6LFEaKDkHF7tQeeUJes5MrTDwtLbAuEmrrA4qTNQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2Dhg63sLzxtT for ; Thu, 29 Jan 2026 22:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bff0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 22:44:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 0730a05cd383 - main - tuning.7: document schedulers knobs 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: 0730a05cd383276ca8eedf295509e869ac9b88a0 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 22:44:03 +0000 Message-Id: <697be2b3.3bff0.21b186d1@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0730a05cd383276ca8eedf295509e869ac9b88a0 commit 0730a05cd383276ca8eedf295509e869ac9b88a0 Author: Konstantin Belousov AuthorDate: 2026-01-29 21:40:29 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 22:43:45 +0000 tuning.7: document schedulers knobs Reviewed by: emaste, olce, ziaee Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54951 --- share/man/man7/tuning.7 | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index c03cce0aba0f..586b63c247a8 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -601,6 +601,32 @@ See the section in the .Xr sendfile 2 manual page for details. +.Sh SCHEDULERS +.Fx +allows having more than one scheduler specified in the kernel config, +and the desired scheduler selected from them at boot time. +Right now the options are: +.Bl -tag -width SCHED_4BSD +.It Cd SCHED_ULE +The modern scheduler with O(1) thread selection behavior. +.It Cd SCHED_4BSD +Classic scheduler inherited from 4.x BSD. +.El +.Pp +At least one option must be specified. +.Cd SCHED_ULE +is used by default if compiled in. +.Pp +The +.Va kern.sched.available +sysctl provides the comma-separated list of available (compiled in) +schedulers. +The +.Va kern.sched.name +loader tunable can be set to select the desired scheduler at boot time. +The +.Va kern.sched.name +sysctl reports which scheduler is used. .Sh KERNEL CONFIG TUNING There are a number of kernel options that you may have to fiddle with in a large-scale system. From nobody Thu Jan 29 23:26: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 4f2Ff26czRz6QGCP for ; Thu, 29 Jan 2026 23:26: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 4f2Ff24k74z4Q75 for ; Thu, 29 Jan 2026 23:26:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769729210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iWgcg67foX2/S5hk+hZVJ+PZjjfA+VRd9hyUS7eNbDM=; b=MyX2sLVVvE5m+iKkGqFixTg3Q3y3g1b3cSwFWYiziCg8PNtgjH1sqxwCoNg0NECPKGRG6A 97g2Lqj0nmoaEdWg/x4FiR4+s44tOB9VQuGY3hiPNba7ISqV0wv39pIQxCkNvH2oZP/wFb 9G1NUNUcsJDObKAYMMw+HIw+mpIzCIP8M5Y34H/lhdqGKQjvzbzGHmAIYZMDfmAdNHDXps 9Sp2Dt/YGQn/D0A7+ntOh5UM/+vsr7NAoE+KihVDKI0BKxy/rWQunOSEMPnENnstdaisEI +FotpZ2bXlxN7dpid6ZMCmyMm0wH1ENMckFfOBVns2D8avoJV7JBQUFvqM79wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769729210; a=rsa-sha256; cv=none; b=ToaCsHB/uJmthturhlI5rKBgFA1ulAHpmjiZrAe+o+9GjrnThsvW8DU/plnh94FHtI0I0j SByO9o/qJolnUACMb6gXaT3zVXFb7lkZ2NvWg92QhjQqsJB1LWswsGnW63HdmGJR3J337M E0Ua4FpHQOQtcXNmRyaRkJ7ALIlDeysrjkQPrHFkbZ2oTwajVCvhwcak/puFpQd7ST6u0w iBK8RB2ug2Mj46cC0/GIgIYS2NGdZlfKFVlVTyGDJI3YVFTjJ03OtW92Iwd2JtleGrEW80 pFVDYlMEUQugQ3dmUSMV72NByDGniIGG5jhx5dBGh5BhAYOhpk6AdZX/jgk6Dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769729210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iWgcg67foX2/S5hk+hZVJ+PZjjfA+VRd9hyUS7eNbDM=; b=OmfoY8hibLJgUPnAIS0KbL1Uri8EvxJE7qGwPRHStc3avQCa2WJW8XFGbzuR1vawqEUiEy EDcQxiHplbTY+UDF/NkxdqJ993oxid050GgRNKBBhtggViBMAPWZ1oRDKOZ37bS0l2pqV1 heDxPenti9UKhsZEXmsV13BwP102z77dzI0cJ2YZbUzgYJtfSPzNc3jEsfJCbLrWgudcu2 HlJfyPXBgPlnt+9N78B3wBM9qtanFtkH61WSC+QDipi7Tb1EIrNFEZWWv3Xyea4o7wLHO1 4uTvXG3ttn3LwI7ryoUkoCsoykiXTwNvWjCb07RpvvbfOokawa3Qk7Q9rVnzcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2Ff23ljbzymw for ; Thu, 29 Jan 2026 23:26:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8609 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Jan 2026 23:26:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b249cb2b18b3 - main - SCHED_4BSD: maybe_resched() cannot schedule ast() for curthread 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: b249cb2b18b3fddae186d45fe6d984fc7bde10c4 Auto-Submitted: auto-generated Date: Thu, 29 Jan 2026 23:26:50 +0000 Message-Id: <697becba.8609.1cdfafc@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b249cb2b18b3fddae186d45fe6d984fc7bde10c4 commit b249cb2b18b3fddae186d45fe6d984fc7bde10c4 Author: Konstantin Belousov AuthorDate: 2026-01-29 08:09:00 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-29 23:26:16 +0000 SCHED_4BSD: maybe_resched() cannot schedule ast() for curthread maybe_resched() needs to schedule TDA_SCHED for curthread, but this requires taking curthread lock while owning some other thread lock. To avoid introducing the order: - Use a scheduler-private TDP flag. - Register an unconditional TDA_SCHED_PRIV for 4BSD. When an AST needs to be scheduled, i.e. the current thread must do context switch in the return to userspace path, set the flag. Then the ast handler calls ast_scheduler(), which gives the same effect as scheduling TDA_AST. The overhead is a single function call on each userspace return, for 4BSD case. Reported and tested by: pho (previous version) Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54945 --- sys/kern/kern_synch.c | 2 +- sys/kern/sched_4bsd.c | 21 +++++++++++++++++++-- sys/sys/proc.h | 1 + sys/sys/sched.h | 2 ++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 8e956324ee23..fc6c9857463c 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -600,7 +600,7 @@ loadav(void *arg) loadav, NULL, C_DIRECT_EXEC | C_PREL(32)); } -static void +void ast_scheduler(struct thread *td, int tda __unused) { #ifdef KTRACE diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 317b47da2cca..a47fe3ce72c3 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -108,6 +108,8 @@ struct td_sched { #define TDF_BOUND TDF_SCHED1 /* Bound to one CPU. */ #define TDF_SLICEEND TDF_SCHED2 /* Thread time slice is over. */ +#define TDP_RESCHED TDP_SCHED1 /* Reschedule due to maybe_resched(). */ + /* flags kept in ts_flags */ #define TSF_AFFINITY 0x0001 /* Has a non-"full" CPU set. */ @@ -274,6 +276,17 @@ sched_load_rem(void) KTR_COUNTER0(KTR_SCHED, "load", "global load", sched_tdcnt); SDT_PROBE2(sched, , , load__change, NOCPU, sched_tdcnt); } + +static void +maybe_resched_ast(struct thread *td, int tda) +{ + MPASS(td == curthread); /* We are AST */ + if ((td->td_pflags & TDP_RESCHED) != 0) { + td->td_pflags &= ~TDP_RESCHED; + ast_scheduler(td, tda); + } +} + /* * Arrange to reschedule if necessary, taking the priorities and * schedulers into account. @@ -281,10 +294,12 @@ sched_load_rem(void) static void maybe_resched(struct thread *td) { + struct thread *ctd; + ctd = curthread; THREAD_LOCK_ASSERT(td, MA_OWNED); - if (td->td_priority < curthread->td_priority) - ast_sched_locked(curthread, TDA_SCHED); + if (td->td_priority < ctd->td_priority) + ctd->td_pflags |= TDP_RESCHED; } /* @@ -621,6 +636,8 @@ sched_4bsd_setup(void) /* Account for thread0. */ sched_load_add(); + + ast_register(TDA_SCHED_PRIV, ASTR_UNCOND, 0, maybe_resched_ast); } /* diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 0c9658fff725..7c4431ab0819 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -503,6 +503,7 @@ enum { TDA_SIGSUSPEND, TDA_MOD3, /* .. and after */ TDA_MOD4, + TDA_SCHED_PRIV, TDA_MAX, }; #define TDAI(tda) (1U << (tda)) diff --git a/sys/sys/sched.h b/sys/sys/sched.h index 08d8636aaa68..c7b7b849947c 100644 --- a/sys/sys/sched.h +++ b/sys/sys/sched.h @@ -188,6 +188,8 @@ sched_unpin(void) curthread->td_pinned--; } +void ast_scheduler(struct thread *td, int tda); + /* sched_add arguments (formerly setrunqueue) */ #define SRQ_BORING 0x0000 /* No special circumstances. */ #define SRQ_YIELDING 0x0001 /* We are yielding (from mi_switch). */ From nobody Thu Jan 29 23:59: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 4f2GNc319wz6QK1v for ; Fri, 30 Jan 2026 00:00:16 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (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 4f2GNb1R7Nz3GjY for ; Fri, 30 Jan 2026 00:00:10 +0000 (UTC) (envelope-from jrtc27@jrtc27.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 jrtc27@jrtc27.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-430f2ee2f00so945072f8f.3 for ; Thu, 29 Jan 2026 16:00:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769731209; x=1770336009; 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=cLCpI5NmpxTKnlEY/H9ZJQ6np//MiKPLYPJiL7q6CvM=; b=R8b5+rfns4zLA0xtmudaI/Fh2dYQUvxSSahLcbSQi+70o/SG9kOjUhoLunC6cjU4F7 LPcsQcPctVK0v32R16JvEDvxNvEmGkwKCsHb77ixXhneGsFi1jPspRt8copRScZ23hP+ eBIPvk5l/NSldsp4JdmFFTsuk2sspFdEG20VdSp77fSXLNPLBs+A2NEnUflXg21MMSZF 6MI+IP3QKpIXdwpQcudv6yMxyu7yds4SyTydvNXIdMYePKbrfLvS454SguvfnCW8kgzN YUIcOyLbGRTBOXVllQWz5qQiGBB3YCio/gEHKlDqyGY8aFVw5vHv6+IpNSH6qHXKyVcC oqmQ== X-Forwarded-Encrypted: i=1; AJvYcCWjXDwKDOUD0bLVEPEyCQqcCwdT3TXxDhWloUAW9x9VWaajgwWiO6YbhJECnEf7/WWcqEYKdloOgP9QjFh9Lo6WeZz8ew==@freebsd.org X-Gm-Message-State: AOJu0Yw05/UrYCWgI1DvMRmPcAws2rXJ/p7H3JGm24n9SJwSCw953Uu8 Ite13oJS/2vTC9usLNyqI/jB//TCyZRSegLgY4Co320TJw3bjFrToeSQ0zxbWtz3Icc= X-Gm-Gg: AZuq6aIc0WRr/YrL6zVe1sVrnFruIuRqMi+bTGP6fUTzrtQeH3CRrp9NTzkoE+TB1s8 7frnz8bgVANhyKdhI3/BRKsnXblEzhLUxGO0yh34KXYxJxznQzsMeNZfyciPIKgXD5v2CqD5J30 9n81VWfABSFE2kxYrrKzh/Ha83MBUQn9LG7R7VgR8Bx3cIcKXojQdcXq8V239irrZED+xM7EBbR /qBcg0ZxtFakKJ8s+Gitj40IrKMFvIzCFGjqrw3laImmT/F3PiRS5skq8MDEw5goEjK0i633hrZ Pl2VRhMFtza/K8g+njHeE9wskvqSjgEqo9VhP3sWwIG3RF9QYJJ8Dak81EQwLd3vupBlrLbfcSH L8HU/PRZFpX80LXub0kC5GzywEVy+VjMEyRRPN+miUmS581nZRST56t6B8YzfnjBqaLYVe/szwY KqrcYWpPW27UisirSaBtQ605cgRoi7wSZCRuOgNxR6z6cCZbavVgLp9uxtkBL1ZmQ= X-Received: by 2002:a05:6000:1a8d:b0:431:7a0:dbc2 with SMTP id ffacd0b85a97d-435f3aaa656mr1820365f8f.31.1769731208420; Thu, 29 Jan 2026 16:00:08 -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-435e131cf16sm19001292f8f.22.2026.01.29.16.00.07 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Jan 2026 16:00:07 -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: c59a47dc6c01 - main - src.opts.mk: Enable LLDB by default globally From: Jessica Clarke In-Reply-To: <697a9844.8b8a.6616e401@gitrepo.freebsd.org> Date: Thu, 29 Jan 2026 23:59:57 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <697a9844.8b8a.6616e401@gitrepo.freebsd.org> To: Ed Maste X-Mailer: Apple Mail (2.3864.300.41.1.7) X-Spamd-Result: default: False [0.65 / 15.00]; NEURAL_HAM_SHORT(-0.59)[-0.590]; NEURAL_SPAM_MEDIUM(0.58)[0.580]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.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]; NEURAL_SPAM_LONG(0.06)[0.055]; RCPT_COUNT_THREE(0.00)[4]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FREEFALL_USER(0.00)[jrtc27]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.41:from]; 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]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.41:from]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[] X-Rspamd-Queue-Id: 4f2GNb1R7Nz3GjY X-Spamd-Bar: / On 28 Jan 2026, at 23:14, Ed Maste wrote: > The branch main has been updated by emaste: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc59a47dc6c016dff74466cecb1604599= 80a5d782 >=20 > commit c59a47dc6c016dff74466cecb160459980a5d782 > Author: Ed Maste > AuthorDate: 2026-01-22 19:10:12 +0000 > Commit: Ed Maste > CommitDate: 2026-01-28 23:13:52 +0000 >=20 > src.opts.mk: Enable LLDB by default globally >=20 > Previously it was enabled for all architectures except but RISC-V. > Upstream made significant progress on RISC-V support over the last > year[1], and although there's still some FreeBSD-specific work to = do we > can start building it now. >=20 > [1] https://jonasdevlieghere.com/post/lldb-2025/ >=20 > Sponsored by: The FreeBSD Foundation Hi Ed, Did you test this? It broke the riscv64 build job in CI: 02:54:34 ld: error: undefined reference: = lldb_private::process_freebsd::NativeRegist=3D 02:54:34 = erContextFreeBSD::CreateHostNativeRegisterContextFreeBSD(lldb_private::Arc= h=3D 02:54:34 Spec const&, = lldb_private::process_freebsd::NativeThreadFreeBSD&) 02:54:34 >>> referenced by = /usr/obj/usr/src/riscv.riscv64/lib/clang/liblldb/libpriva=3D 02:54:34 telldb.so (disallowed by --no-allow-shlib-undefined) 02:54:34 c++: error: linker command failed with exit code 1 (use -v to = see invocatio=3D 02:54:34 n) 02:54:34 *** [lldb.full] Error code 1 So I=E2=80=99m not convinced our in-tree LLDB version is ready for this. Jessica From nobody Fri Jan 30 00:03: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 4f2GRv1MPFz6QKGS for ; Fri, 30 Jan 2026 00:03: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 4f2GRv0X9gz3HBM for ; Fri, 30 Jan 2026 00:03:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769731387; 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=ZrIY3qk+ea/lxc3L88rbPiX+Z0gXQLckml/pKJL2grM=; b=wh4zvDnPT5oI4rZSYh6qoIVXWlL5B6RfEQdQ/0AjfIzWzxEgkfQ2Ax09+ID11exsdrpgzD BFiw7/VTPbupS0ji7xzFY0m0KtFMRomu4C08YMeUSmzr7OR26tNmiXC7R78XxKgkJx9n7Q BPl2iz1awkLLTsTTNHAXtNLKPDJAOX3RlOUDVpdWqUs/m2CSsjoGfusTbUYu1/Vb7pfZDI YrKKdKK+s3cg+95LFUu4YwUhCfhWITyETQDDxnRvdtihYBtVxJ/G+gQo7oF2We6UIq2mxa USZ09H7cXK9EqarLp6byuBbhcmPn17cSQi7asLqD5QfuZnUXbLnD1npyVfn6oA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769731387; a=rsa-sha256; cv=none; b=Vm/TOvm1IKjl/4B/EJ5aVmGr5/DO4yy6Eu5M3PGkaRrKehG7tjitWm0K/kWp1osHOYU8f1 +vOICUa28R5EBQRLck+twCAekXxH2HLzDhPSgVbElv0n8rY+6DADX37NesFJFBC/3XmCbF fwB3MK2oG9cpcMD1NlKfT0W7tI6aWgBs6Gyo6s6noFwXVIf8EmmWvS32WBZZvvAB7hOoZA d14LRWOn+tLMW7llNWNJHT93Khf7Q4U0n7beultjXt+uripDq2X6yot8POyvl4SeK/4PMU Nc4qLfhv0PfQ0F7fyQoVppcbby1R8xItmDQO2A/imStIBQoH/Ue+77usBaygQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769731387; 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=ZrIY3qk+ea/lxc3L88rbPiX+Z0gXQLckml/pKJL2grM=; b=Usw+SaWPciXBiiUITaD11Is2i2Cqbgl05xtmGZoVGoWcEQwli1K06V2K76pH6YiJsz3ZUF 116xF7FJtAh2fMZXGca2fSJvksebT6YP0ao95qFFHAv0sLNs7k+NKJ4QZyrTuWKrOooFdI IlYaKKe2JdHbHw7SqFqA5T45LEEyOVPLa99R5nRRJnqwaTM1opGgKEbuloMqnM0zw7WEMV PDu2H91dS3FW4i5sUUPSSIrjCX3utd9hYKlnDRG4BaqmQjhDzUpP0/EdJjQFnQyplnHhOR VrVD9H0JkE5fhqm/1Ifqf+Fc9vcOf5H2g3X4fk7yXAF7q3QSPM17k2j8rqH2pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2GRv06fhz10Lm for ; Fri, 30 Jan 2026 00:03:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9d57 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 00:03:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Kyle Evans Subject: git: fdcd67be8274 - main - firmware: Fix inverted FIRMWARE_GET_NOWARN logic 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: fdcd67be8274d237ae2c87d6475d9d34b440b8d8 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 00:03:06 +0000 Message-Id: <697bf53a.9d57.6d4deeb4@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=fdcd67be8274d237ae2c87d6475d9d34b440b8d8 commit fdcd67be8274d237ae2c87d6475d9d34b440b8d8 Author: Abdelkader Boudih AuthorDate: 2026-01-30 00:02:47 +0000 Commit: Kyle Evans CommitDate: 2026-01-30 00:02:47 +0000 firmware: Fix inverted FIRMWARE_GET_NOWARN logic The try_binary_file() function has inverted logic for the FIRMWARE_GET_NOWARN flag. When the flag is set (meaning "don't warn"), the code sets warn=true and makes noise anyway. Invert the assignment to warn to correctly suppress warnings when FIRMWARE_GET_NOWARN is set. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D54955 --- sys/kern/subr_firmware.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/subr_firmware.c b/sys/kern/subr_firmware.c index d616339f2c07..88b2e71ba8df 100644 --- a/sys/kern/subr_firmware.c +++ b/sys/kern/subr_firmware.c @@ -281,7 +281,7 @@ try_binary_file(const char *imagename, uint32_t flags) int oflags; size_t resid; int error; - bool warn = flags & FIRMWARE_GET_NOWARN; + bool warn = (flags & FIRMWARE_GET_NOWARN) == 0; /* * XXX TODO: Loop over some path instead of a single element path. From nobody Fri Jan 30 01: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 4f2J0Z4mGBz6QRLT for ; Fri, 30 Jan 2026 01: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 4f2J0Z3wKnz3NvD for ; Fri, 30 Jan 2026 01: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=1769735582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zceRJzzVFN12gMqcJvhqfsDyU4KvA26xr68s/7CekB4=; b=dc0Ze1k4movGuazXSytgIq2Ziy6wmdnUMn7u+qE4L0GnnZEp6U6eXY4u/bDRFfzAeyKWeP FH0tu8/TYnZfJgtk3R4/t+c0G6krHa9FRTvZyULCMw0QM50erkvdKFxW3eqT+JOpNnB9lX FXI4JLxQh9PYTK9tn/9ZQmdEndXD/rFzXMt1ztP0OAOPNcsReALoZ+yE28Sy/xPvaa1G52 HrWBRGEw9Hom2FPw9euOjM4LLZ7dLgNtStvWFC0lu8D0AhpnF9ceHWbMFXwRmElWBnToz3 sYm83rD/BCea68aAOh0reBufLP1nHja0QuV4RAczjK9086bBgnyQxYVebdXohw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769735582; a=rsa-sha256; cv=none; b=KD5ozmnH9KMk0hLy95Wy3R9Zd6BMxSL2mptjGI0Wob5/1NYj58i/WnB2nL8TMlCuGS/YGa K4cfow2zlHnzzgBOQGmau2R/gaZCF/D0pBiPJEtpdwzYPJm4KtUNhp28eGtdfgsWKJKPgV iD2cw5hfK/NptU4Bw53RgZwJmlvfMyVRxvv4wQAYDRMr8NwhME7ajL+sPid2GvMpZeanki x3tjCp3Hp8pesL5rZujxMb8SQI8+lMvyPlG2jylUkxbzgWcCwWp6eLoM2364mUfQOl//9x j/+yMuRoJ9xMYD0t9QnaRjTv1qOWpjdfjV3MLWVubB9MupTxoni4V9ylcWjPvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769735582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zceRJzzVFN12gMqcJvhqfsDyU4KvA26xr68s/7CekB4=; b=CXOmeKE2B6MKJCywOMiKnEb7PiedPrXEvyAhLNhbQ4GW7Zw+Z4+lHaewxUpvHgu5SqDxoQ 4LkUc1n2ZhGuX3PF8f9uaLcB7xdkbEyj297Yx7UeNLOpo9geHHBxoYejEBQ6K5aVyZ1EP+ 8GgcXD4JMM+i9h7PLZcDld6LK5kSMdb1Eyj/2IVtpHkiC5e5+/2Kb83hGdEieUyr9AOd+l Y10zwhc6oKk8JmUxK7078CoxUfKa9jcwuchu589+YTpiD+k2Kr/Ih3QHn8Gq80e6F+Xv6c VJomk+VV+hF4Fs0fAbl/pt30tne88ws1UFxPPLjKday3x/JcMhjaYoWII5J+7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2J0Z3NVsz12b1 for ; Fri, 30 Jan 2026 01:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21b77 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 01:13:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: ba56760a4789 - main - Revert "src.opts.mk: Enable LLDB by default globally" 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba56760a4789af06b8b7173700c1f14996ef9b5e Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 01:13:02 +0000 Message-Id: <697c059e.21b77.4e588618@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=ba56760a4789af06b8b7173700c1f14996ef9b5e commit ba56760a4789af06b8b7173700c1f14996ef9b5e Author: Jessica Clarke AuthorDate: 2026-01-30 01:11:13 +0000 Commit: Jessica Clarke CommitDate: 2026-01-30 01:11:13 +0000 Revert "src.opts.mk: Enable LLDB by default globally" This breaks the riscv64 build; clearly the version we have in-tree is not new enough to work. That or our build system needs tweaking. Either way, we're not ready for this, and enabling it without testing was misguided. This reverts commit c59a47dc6c016dff74466cecb160459980a5d782. --- share/mk/src.opts.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index d6b07dc65045..415918e1d2ef 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -124,7 +124,6 @@ __DEFAULT_YES_OPTIONS = \ LEGACY_CONSOLE \ LLD \ LLD_BOOTSTRAP \ - LLDB \ LLVM_ASSERTIONS \ LLVM_BINUTILS \ LLVM_COV \ @@ -306,6 +305,11 @@ __DEFAULT_NO_OPTIONS+=FDT __DEFAULT_YES_OPTIONS+=FDT .endif +.if ${__T:Mriscv64*} == "" +__DEFAULT_YES_OPTIONS+=LLDB +.else +__DEFAULT_NO_OPTIONS+=LLDB +.endif # LIB32 is not supported on all 64-bit architectures. .if (${__T:Maarch64*} != "" && ((defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} != "gcc") || (!defined(X_COMPILER_TYPE) && ${COMPILER_TYPE} != "gcc"))) || ${__T} == "amd64" || ${__T} == "powerpc64" __DEFAULT_YES_OPTIONS+=LIB32 From nobody Fri Jan 30 01:20: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 4f2J9H2m1Mz6QS85 for ; Fri, 30 Jan 2026 01:20:35 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) (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 4f2J9H1DTZz3QsV for ; Fri, 30 Jan 2026 01:20:35 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-40423dbe98bso776270fac.2 for ; Thu, 29 Jan 2026 17:20:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769736034; cv=none; d=google.com; s=arc-20240605; b=ke63b0tNUV407ZCMuJ7m9vCtndlcVcAybp2doSJiLO3wWKDbq96huzAVmX/DvJp9B4 4vvIgMD7ZC/VnqrAaHPTt6MSZg1oAkzukNYKoQjhQCVa9tqCZMKsy811Hh9k1Ei6DHWs idfYlfFehIaclnacCIQ/NYzK4F5FvTKkLvaIYiyprUGMT6oqmZW7qNzsC5V3aRvnT47b tdKxtC7Z7ZaZyJiO5iEc6jJT14WDNFxqhL9gXg5wuANGct7uHxB9DnQ7xNjE2jVmoiM6 J6sNLCWXSzNs1eBnT5FhDhel6Q/JIHTex69TVJeC2x5mRhrZSuXibBAy171AzzekuOQ8 o80g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=1KxVHkFrHGOjOsz/1eGKCXKyFtJvZPTUf924/iwyHfI=; fh=OcBip0A5sgs3cyQLJDZjjZ7GGR2DyStHxDZlX9q3OXQ=; b=Gs/CyKCY7UIudFE6OIiLF5pNqelrzVEEAkBCwhvCaIF6A9vmRPJpci0Q9P25s/nQG/ E5qZDEJuj7wVZB3fpruHh6UoOtjydVG+U+6j36IgM/nmkqADrCqU6u/eIYwb2hBOvLxO CMrZYH7yz4DlGygdOTnmWFw5eXwyhj3tJ+wdArUi1PV/GNvjN9PVLrLjOW6yJH84m9cG P7PXCTmLQ46IbJGNkiE4HcJT8xcWn2t9MYgOIvWMinYkpDYJdsV7A63CIURu9lPpSPn/ BzWHRVrXk6kF/6JXqQnkTdm1bdl8Cx7XY12eOQFvT5tcR+C2SLxWpetCeN238Bm0zkJ9 B9GA==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769736034; x=1770340834; 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=1KxVHkFrHGOjOsz/1eGKCXKyFtJvZPTUf924/iwyHfI=; b=YiJM7bhQ9CBRhNDjAOLVwIVPvyi4/Du53ij7QRnhs6wJ9bbIFUyme1oWcFNRyPDvIp 5+ISXnhJkOSVV0z0LmkD7OjbW2ekz1HkWLDGY6WoziEOIr9krA1FoLzZSAD9vYYkfpwF snJmCuLckTXxJjqWKlrzVX26+uAi2RcIVPJWrcgvfH4MNnkBUtfPmoFB/RgdnMSNpysD QuBMKstnRMAji+8aZmAEmNTTBU6Yas1av5+mwLm18HsRZoS0Vx0wgT3gUxLqCKoYfyvA AF0s08h3LpfkTU37Qe8OjwqK5n8GYWhLsFx6WB8ViUYFwTyvKK56AZscnr9yAuAGR4fx VjRQ== X-Forwarded-Encrypted: i=1; AJvYcCXY4qduyS/FqIKKKKFYH5r/3hdc98rIHfYGoxj3jqNGe+NDktUB8fss7e7WPjrTxeqtBIbu90g5PDPCV5CC8Cnx+vROkA==@freebsd.org X-Gm-Message-State: AOJu0YyOx9HT9FfOI+5ztQc6j6u9Hf4gGs1I0S6hlWexiicJJ0yR4QPO WCjGSaWR7ZASeliUJk2X5I7PzwuNd57pftWC4ZwhT6vs0aXQHBZsXZkaiqyq8UbQ20u1ALjxLP0 OCPzX0IfvzNOisrc50r5qMk7QJcVXyKLMMQPd X-Gm-Gg: AZuq6aLh86zLHG/iC2g6bKmSjl41JI5km5URgJeuZ8JEPNDWBqfRJ9aSlGzTd7U6wYf fddLPIWwCY8Q51Upre6rIkZwFn3q6jURLxU1rj3nyhMHtWZRHRmPbsJ/RCioZrDMLPSzNwrsl3J x14WaQrdL57mV9yfbwsp5FeqdjkFDXHl8gnUPio184eP40MHdPosZQwHoOPSYK5pAKHyLHQTN2o KJM6RwVF4F51YaMn6G18dF/qnN6Je76dKV0HHzqt/vNdC4d58jweFzZw3jwBjgEm7K4Pkbg7+JF viCZ4Ix5+9kudFbqDeHDN5+tXAY= X-Received: by 2002:a05:6820:205:b0:662:bf9b:1638 with SMTP id 006d021491bc7-6630f3f1bf5mr770825eaf.62.1769736033919; Thu, 29 Jan 2026 17:20:33 -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: <697a9844.8b8a.6616e401@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Thu, 29 Jan 2026 20:20:22 -0500 X-Gm-Features: AZwV_Qi1rGQkVx_8dtUDoW4adyUWHKr8N9q7rGNgYVlnemvKCLVwiTi04hsnZkI Message-ID: Subject: Re: git: c59a47dc6c01 - main - src.opts.mk: Enable LLDB by default globally To: Jessica Clarke 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-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4f2J9H1DTZz3QsV X-Spamd-Bar: ---- On Thu, 29 Jan 2026 at 19:00, Jessica Clarke wrote: > > On 28 Jan 2026, at 23:14, Ed Maste wrote: > > > The branch main has been updated by emaste: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=c59a47dc6c016dff74466cecb160459980a5d782 > > > > commit c59a47dc6c016dff74466cecb160459980a5d782 > > Author: Ed Maste > > AuthorDate: 2026-01-22 19:10:12 +0000 > > Commit: Ed Maste > > CommitDate: 2026-01-28 23:13:52 +0000 > > > > src.opts.mk: Enable LLDB by default globally > > > > Previously it was enabled for all architectures except but RISC-V. > > Upstream made significant progress on RISC-V support over the last > > year[1], and although there's still some FreeBSD-specific work to do we > > can start building it now. > > > > [1] https://jonasdevlieghere.com/post/lldb-2025/ > > > > Sponsored by: The FreeBSD Foundation > > Hi Ed, > Did you test this? It broke the riscv64 build job in CI: I ran it through `make tinderbox` but now realize it's in my branch where I've brought in dim's Clang update. Thanks for reverting; I'll re-enable it once that lands. From nobody Fri Jan 30 01:43: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 4f2Jgw2WvPz6QVXd for ; Fri, 30 Jan 2026 01:43:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f2Jgv72t1z3T1Y for ; Fri, 30 Jan 2026 01:43:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769737420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XG5xqh2g+ooqtSfupvxE/9ovMbniOIaKEkV5T/uEJko=; b=N8xWBTbOwHu+4W2vagGjOMexkVRlT/J6KAhVry81bxzfNwvMWHp0dV/de+F6W9GOAz5N/i o/nVzzkUXFX2WI2qusJqNlfBPK8lkgYlse13b5tf+dkuXrET/KlznP6rb9lrx4b9Ap/zEJ 8vVxmuOIt/YW1Krp8dhYG2s33wCGE/7ICthYuVzDsuTkyXbPwNI2mQVokvGVcjZvEvp10v eZbS7y/y1nncErmOvFs1UljCImGoeW9LNI/OOnk3y5t7QnRwwdiicHtOBrgauPHJvV3wvq +qTWFsOVLw/wLL4iBgShB5n3cg2QHe3nI6klmBTtICYWZjAQzwab33UFnj73uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769737420; a=rsa-sha256; cv=none; b=dkxZihRsEojAsDAW2jO7RL7exquJKGDm4Iy7SdTkM5GMVVQNLtjHhYVXXrJXsVQiNiwhU6 5S0hZ8j+SQcpgjZDZHm8KEefcY/MyE24jhvOePOPNuTEKKezLBPws6Y+4x5b+UfpocWDFw TpaAPfVpt1feA3hN8AXUcrrctxzSQaq5W8oUrC5k5FDmEpOxWR91hN9zFQSI6/OUlhCB2R 5Nawl2K60pjtsq/8Lr27w68Jtc0KdVZFkFZDeTX082290emqCdTHZbFFpipqZ89HNOJM0G zDqeA6K5kL4w2+G+nEwzBPsVfpL5sbzDRPhMtI1NDdWoim1nn9ZzMmiXsvvosA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769737420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XG5xqh2g+ooqtSfupvxE/9ovMbniOIaKEkV5T/uEJko=; b=Cvf6T1wLt5XvR6wiPvGk0TLc1NpubWjHHOGZpz5u8Hvvp+3csaLttdLB/WuoQEodFQ+zek FSqzf6dbHuRvvH/5l4cdKkjneqeCfziDDKjx5lEtO+G3HOoFuHle1AhmMcuvQYnxXa9ATm P4CSq2Ts/dZJgo91KMFcomd8Hb1sHaR3NgSjnHfLoNM9XxJVZ0zl+0DvDjVlOWRqpzLas2 w7iUfHJieg6innJ5SOzXWjgKyqh/FGgPxRCyIw9y/o/ObG85XKI8a012gkkno+YxqIzECz 9c+ixBZL1AR9VNPr9RdqhJJf4luhw3BzaTAcTZFASHH1RtF8eS+3ewrFfXaghw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2Jgv6Q8zz13c0 for ; Fri, 30 Jan 2026 01:43:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25c25 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 01:43:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: f54f362d62c6 - main - nanobsd: embedded: Stub out experimental 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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f54f362d62c638529b66ea351821752e756a9a21 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 01:43:39 +0000 Message-Id: <697c0ccb.25c25.3b522ea0@gitrepo.freebsd.org> The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f54f362d62c638529b66ea351821752e756a9a21 commit f54f362d62c638529b66ea351821752e756a9a21 Author: Jose Luis Duran AuthorDate: 2026-01-27 05:54:04 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-30 01:42:00 +0000 nanobsd: embedded: Stub out experimental functions Stub out both experimental functions introduced in ecc039be7fdd when doing embedded builds. Fixes: ecc039be7fdd ("nanobsd: Add a NO_ROOT build option") MFC after: 3 days --- tools/tools/nanobsd/embedded/common | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/tools/nanobsd/embedded/common b/tools/tools/nanobsd/embedded/common index f8df8f2698dd..87dad52fcaca 100644 --- a/tools/tools/nanobsd/embedded/common +++ b/tools/tools/nanobsd/embedded/common @@ -622,6 +622,9 @@ calculate_partitioning() { create_code_slice() { } +_create_code_slice() { +} + # Each major disk scheme has its own routine. Generally # this is for mbr, gpt, etc. These are generally are widely # shared, but some specialized formats won't be shared. @@ -629,6 +632,10 @@ create_diskimage() { eval create_diskimage_${NANO_DISK_SCHEME} } +_create_diskimage() { + eval create_diskimage_${NANO_DISK_SCHEME} +} + # Set the path to the same path we use for buldworld to use latest mkimg NANO_TARGET=$(cd ${NANO_SRC}; ${NANO_MAKE} TARGET_ARCH=${NANO_ARCH} -V _TARGET) NANO_TMPPATH=$(cd ${NANO_SRC}; ${NANO_MAKE} MK_AUTO_OBJ=no TARGET=${NANO_TARGET} TARGET_ARCH=${NANO_ARCH} -f Makefile.inc1 buildenv -V TMPPATH) From nobody Fri Jan 30 04:52: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 4f2NsJ24fLz6Qb7r for ; Fri, 30 Jan 2026 04:52: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 4f2NsJ0kSpz3mkG for ; Fri, 30 Jan 2026 04:52:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769748724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HloIkEk6MIOOV7RDYphaCWPQXYdssZQFBOttI0NFVkk=; b=kKBE3n2jUZ+aq59/oqQy8E3iojxY4C2jGAYkwnekHPI6PtgBx6h0sUGSFabqFmLmikqgu/ nkd86ysY4YZUs9xid2WqN4d4rqdnzalcydS0Of36OWIYMswL3KtECymcYaadF8/hiM+Pdp ZCbd2Bq6oLh16dhDSzi/RLggPUhp3F/Sjra0uVTVpYy9KpqkxKTzPNSU/2bC7tKJJDQiHF 0BZzF/ceHHki4r5FS8Dfrel3uabXCwyVu4yc5pcKq1GJdQUEIXBb5kNuwWOw5dRl+oR+ed O/DG4AuxExcEhlEjd97rUEUpwGtEBjnfWijOwneqSkIIW08LVdrEcNydahXtlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769748724; a=rsa-sha256; cv=none; b=Ke2CJ323xV4EwDQQstcGj+y1aMVuSmF8F1bWCpMGbWrysUfqVviNxdWrSO/OW8uPoU0D0f qF00LN3P+lM+XwiqrhfjbTkiFtMWP4lmVh6jsH7kHSwR+9Se3aN7gp1GGqXlgDjBXfg8oh XZtgDw7+VSnuyfOlZaFnuZ9n5AVpn2oWyyXUo+T3/L7FqqA5PrTcd3JhUmfqazpVcvT9/o ZX2pmN7T9hye/iaT3ZxynkaRdrbhPzwJoUFcu25ab4zmwaxCpiS7uCoYfGxfEuWB/Z1l2R hAXAM6o/6cvTKGgKj0Pc07e0tA0vYZBiwgH4i06lBPysE1oFKGR0aB9LpPa63w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769748724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HloIkEk6MIOOV7RDYphaCWPQXYdssZQFBOttI0NFVkk=; b=cmcH0D6n5y1lNlPh+b1vHfMkxYrBZ4Pxb8YsUyhpalXnSSehu/Oa7UyEf5ROqjt6W0sWPe SH/zBXXm7jMQYZ4N5V03jBicDj8VgXYMoeDI640t7xUFLIYhYFdkZWRWxKcHsQAO/kvmAu 64Vx5LIiedPXIH7NZ2FVfBPuqS4jQ469ZZCEdymJ3M0xpFcnY9MoPfmA3WN1n2maahcn+T icb81muZUVtZjmu4kaB8cGFjFPslBedUu38y11z1S92jmmHaiDAcNrjBBEiAGnq/6PIS2x SfAlCRwRqVWdStGWcLhLcb0TI1X3c9w+aBkbRvL8W0x86H5OuDiqDxeLrZX99g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2NsJ0HHvz18C2 for ; Fri, 30 Jan 2026 04:52:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 408be by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 04:52:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 7f537f4ba8a5 - main - intro.9: deduplicate vm_page Xrs 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: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f537f4ba8a5e19a39d005a81fa6f34a8d2cb60d Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 04:52:04 +0000 Message-Id: <697c38f4.408be.32fcc887@gitrepo.freebsd.org> The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=7f537f4ba8a5e19a39d005a81fa6f34a8d2cb60d commit 7f537f4ba8a5e19a39d005a81fa6f34a8d2cb60d Author: Maxim Konovalov AuthorDate: 2026-01-30 04:48:56 +0000 Commit: Maxim Konovalov CommitDate: 2026-01-30 04:48:56 +0000 intro.9: deduplicate vm_page Xrs PR: 292820 Submitted by: Kraytonian MFC after: 1 week --- share/man/man9/intro.9 | 2 -- 1 file changed, 2 deletions(-) diff --git a/share/man/man9/intro.9 b/share/man/man9/intro.9 index e13566725976..4b012d850f9e 100644 --- a/share/man/man9/intro.9 +++ b/share/man/man9/intro.9 @@ -144,8 +144,6 @@ structures. The following functions are documented: .Bd -ragged -offset indent .Xr vm_page_advise 9 , -.Xr vm_page_alloc 9 , -.Xr vm_page_bits 9 , .Xr vm_page_aflag 9 , .Xr vm_page_alloc 9 , .Xr vm_page_bits 9 , From nobody Fri Jan 30 04:52: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 4f2NsK4gQNz6Qb7v for ; Fri, 30 Jan 2026 04:52: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 4f2NsK10J3z3m7m for ; Fri, 30 Jan 2026 04:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769748725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S0Qpg6Yg/q8ZrawdUqud0glTZpyYJcrgeI2hU8Lmvo8=; b=OzbU7mFxPrkZR/p5ZPpb4YOjK78OxeAzh1+UuHruK7rJTD9zZstwhRwDrX4aA95WzLp6N5 4XdQ90m+Ya17GMwwqNch9jQsxbJIPuE8IcIeFtP0pt56QeW80Kk7JcWD4ATvrgCJGbkwP4 28foGjuXc1kquhRqDqM7782V3I8ikVnbWjCchmfhibbYKif/sbxsW5v98Yejv1FYgnGFDe x18Sr6LIUaVbkqp37B0noEFcPE3fPt/5RueJoYoTqWoQ7GV6Hf7QFg8LJ0TVnydoszmKTm VxNUZ4OJYSW4zH8fPpl836MFUrS3eyeT2dEDLdq73Jr17lr2sIhZ9WtmAgVELA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769748725; a=rsa-sha256; cv=none; b=pVrZyGkd50/O5j8ftNvWT8Elz6cBuVLgnVouEhXiFqOFCKx9LSf9wCCktH+DhUBgAfG2qV CtnB94PqiRHY5GhXosOVvuVm73ooagsVk/bdKquGkakuqPFA0TaJFQgoIP+7rWeYinZWwY XtMnNDoY1RM9h7+4p9QSIasWFeCJ+pqVikl3g/ZBA1IRdb1uO5Oajxw+xgvrlhk0zVq8o4 dSfhgxp20DW+XMPgCdkwOHAxGsNsQqy6Hds++4/nfQgoU+8+swBaTgKpXYxIdWijpEevaP 9eDnvpm47akPOyk5eOXHTvelNdEltR8xgTqMFxIR/ob58U8mi/ZMZydxpiHGhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769748725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S0Qpg6Yg/q8ZrawdUqud0glTZpyYJcrgeI2hU8Lmvo8=; b=a0p7816H5ABOV3K1GblYorA9I5xDQ93g7xojgGkhAMstHHngQjMMxp69l1xc7VkgU1KCdX G8MAqMUMZH8jwkPOxMYx2bJBkpJ9L2KqIuKcLNDsLwcZMDIOJ1mI7F5ZIVTaxSkEd5sqLM OcTXnu+KYGIlKw0PCWA1Y2CUq1OPt19wO76BDkmg1NMKiXEcM9NdNs8kZPI/HemE2SHLGW KtJ8XJCz63Qw+b+TzY+q1BhMlMSMhNk7v74jVbDC/Hm5AlUcBF9E8JnEKFhRkMIxhju155 XjzPS5VPsfykeVJYasIxV7+VHztLxcIS6AN5FW16YAHZBpZeV9vEW8f6Vy+M6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2NsK0WZjz17kL for ; Fri, 30 Jan 2026 04:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f025 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 04:52:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: c443f5d1c208 - main - intro.9: grammar 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: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c443f5d1c20868f09076305c3eefcd1ca1917b87 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 04:52:05 +0000 Message-Id: <697c38f5.3f025.1c6b49db@gitrepo.freebsd.org> The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=c443f5d1c20868f09076305c3eefcd1ca1917b87 commit c443f5d1c20868f09076305c3eefcd1ca1917b87 Author: Maxim Konovalov AuthorDate: 2026-01-30 04:51:24 +0000 Commit: Maxim Konovalov CommitDate: 2026-01-30 04:51:24 +0000 intro.9: grammar --- share/man/man9/intro.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/intro.9 b/share/man/man9/intro.9 index 4b012d850f9e..0d42efb24273 100644 --- a/share/man/man9/intro.9 +++ b/share/man/man9/intro.9 @@ -35,7 +35,7 @@ To further set expectations, we acknowledge that kernel documentation, like the source code itself, is forever a work-in-progress. There will be large sections of the codebase whose documentation is subtly or severely outdated, or missing altogether. -This documentation is a supplement to the source code, and can not always be +This documentation is a supplement to the source code, and cannot always be taken at face value. .Pp At its best, section 9 documentation will provide a description of a particular From nobody Fri Jan 30 06:37: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 4f2RBp4wFtz6Qlt7 for ; Fri, 30 Jan 2026 06:37: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 4f2RBp2hMqz3xKg for ; Fri, 30 Jan 2026 06:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769755042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJ92Fz7R/GREoUTlZElcIQ7/nf2KDEQGJrumgIuq7so=; b=WrtIZiWdxVgYDMWjPOEyo5sBOUIU2ZeLF3sft6qSVlyWR6aBo8s6kOfrhsxklaIKEeErKh dFOtsNDiGc8ytv30dwt+0yt4E+GETbe/DhaKzyxvpnA57AoG88pN+MnWiIpWVdihhAh6Va LgYJvaGgV1Zp18nUE4/oYrFmM2J3pftTocxRsm+pk7wDxZF6wV76PpX8vH79k0DGkLDhcD R5febsOKqKgbMkhz2Puxo3t4w6lwJzWVVZRj3s/Mk30e0a1btKuh81YVQbsb+4ASVIS8Av dLXU10EjPLZu9tiz2maS4nMLs/8LhyrJyzstek92MJ0xlBwcQBGLyUuLse2B3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769755042; a=rsa-sha256; cv=none; b=EGF8M+Nt4IQ/dlHdxi/RyWFJxq91Bu4JuUo1X63eu1RyGAP59pqiLxPMbEtTJXWwh4laqD bu49LAE5BjUy9bT4M3mdMFktQyLCtB+CDrngSQONfUtG8XBdhlxppsOLc6i2sTMDvfNLT0 ZQoViaVsX6InQtWdMy0tdIQqdTaBtOSWHurC9Mk+HKKdqxuuL/XrxfAXiBTOVBqJK77HIH TWfU2lpd/Sj/ChSu2cZI3xbULFZFrBUv0Lmo9JKLRtDjqZP+UFJpoUWNctiP7EwjLD4m/N qQ6PXMPmF/rrGBOO1kYu2EpK+P+w6KvqGER0NfdWkbs3MH44FIe0w1vjaz+Jxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769755042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJ92Fz7R/GREoUTlZElcIQ7/nf2KDEQGJrumgIuq7so=; b=p2EepbRsQbysJFgTS20VPDbB74S0obzroyLuW/OiWGBNK3jDdoTaPmURLIYzk8LuhgS9he rJwcctL4hFd6WYv3aVKAGaOaT1LIT998Kz4oGO9t4fIUzCy4PA8ahEjhuzSPhCZGACVGnb yag+Q3v/SUVUH3XLIKxfytBBywEwIIZB0qECyIopAgbxLggezHkNlOGpr16flg2ouKE7pF LmKmtJxEw8JiaDyR045oXyGXAgWaashrpEF4jDgdlFWkw1INnyUD6WgFwDGH1j9g928EFb +Tq2csMLsFlyRQy+UkcO0VGy5vyvcovdJWanQGlBBAe5PmzEroNTZLeDP31AJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2RBp1SWzz1BjJ for ; Fri, 30 Jan 2026 06:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47fe9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 06:37:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 03e4cc9fdeb2 - main - powerpc: explicitly cast the timebase printfs 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: 03e4cc9fdeb2a6445f13cd41b471927a0f722fff Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 06:37:22 +0000 Message-Id: <697c51a2.47fe9.612ecbb2@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=03e4cc9fdeb2a6445f13cd41b471927a0f722fff commit 03e4cc9fdeb2a6445f13cd41b471927a0f722fff Author: Adrian Chadd AuthorDate: 2026-01-30 06:36:33 +0000 Commit: Adrian Chadd CommitDate: 2026-01-30 06:36:33 +0000 powerpc: explicitly cast the timebase printfs This is causing compilation issues on powerpc:powerpc GENERIC. --- sys/powerpc/powermac/platform_powermac.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/powerpc/powermac/platform_powermac.c b/sys/powerpc/powermac/platform_powermac.c index cbb2e212a00d..9f8a06d8dd3a 100644 --- a/sys/powerpc/powermac/platform_powermac.c +++ b/sys/powerpc/powermac/platform_powermac.c @@ -418,8 +418,8 @@ powermac_smp_timebase_sync_fallback(platform_t plat, u_long tb, int ap) static volatile int cpu_done; if (bootverbose) - printf("[%d] %s: called, AP tb=0x%lx tb=0x%lx\n", - ap, __func__, tb, mftb()); + printf("[%d] %s: called, AP tb=0x%jx tb=0x%jx\n", + ap, __func__, (uintmax_t)tb, (uintmax_t)mftb()); /* Do initial timebase sync */ mttb(tb); @@ -457,8 +457,8 @@ powermac_smp_timebase_sync_fallback(platform_t plat, u_long tb, int ap) critical_exit(); } if (bootverbose) - printf("[%d] %s: finished; AP tb=0x%lx called tb=0x%lx\n", - ap, __func__, tb, mftb()); + printf("[%d] %s: finished; AP tb=0x%jx called tb=0x%jx\n", + ap, __func__, (uintmax_t)tb, (uintmax_t)mftb()); } /** @@ -479,8 +479,8 @@ powermac_smp_timebase_sync_freeze(platform_t plat, u_long tb, int ap) static volatile int cpu_done; if (bootverbose) - printf("[%d] %s: called, AP tb=0x%lx tb=0x%lx\n", - ap, __func__, tb, mftb()); + printf("[%d] %s: called, AP tb=0x%jx tb=0x%jx\n", + ap, __func__, (uintmax_t)tb, (uintmax_t)mftb()); /* * This needs to be replaced with a cpu-to-cpu software sync @@ -517,8 +517,8 @@ powermac_smp_timebase_sync_freeze(platform_t plat, u_long tb, int ap) critical_exit(); } if (bootverbose) - printf("[%d] %s: finished; AP tb=0x%lx called tb=0x%lx\n", - ap, __func__, tb, mftb()); + printf("[%d] %s: finished; AP tb=0x%jx called tb=0x%jx\n", + ap, __func__, (uintmax_t)tb, (uintmax_t)mftb()); } static void From nobody Fri Jan 30 10:01: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 4f2Wkv5LK5z6R5q3 for ; Fri, 30 Jan 2026 10:01: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 4f2Wkv1mLBz3LX8 for ; Fri, 30 Jan 2026 10:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769767319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8mrRYBcyXufyUrN3MFNH0dR53IyaBEWNTUoB8FF0IJQ=; b=OR0ezySrXZPo2lmG6AlFXhyPWNpvyxTsoDnzohbLJDTPlTDJmXf0udlJvIyFuEsl3Wk1/T G+dogNmGwo21rlCMNZHVYDHuLNXcVI6jNCrPpvDDWn9gecmuP8b1C9ytCJqOI1yN4plwe5 vsNbxDXallYPZhLk3vlvuYo53A5Krm3YMH87ZSxM0tYa5Xk1oRlE0O2CQZXgwXQXAgatv/ goT5/HCIYud3dmJFHck70umRQ4aZgoNOSuLzJDPUxK1qEAkHQrxxvSBd++jjgpq0ESXPtO XUtBlPr2QsYZpk8QGieXNquLo+vpUREEzFEaLm4QvMzmvgecA2Pzl/pdlB+4EQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769767319; a=rsa-sha256; cv=none; b=tP+ftxLkeki5yhmUAB2Cq57C6HTCo0yOhZGcNMKHNVPIpXTerJxqGducxseulCXQJL8Fjf v3Oz4vNND14pQAGwfvMuX7Ifsuo0frcKaJ/pBIQrPqHngB4y5o9KGUmmodWDiz2j+bWaXb NCXYuq6hLVwrlmaMRXXGdszCdjkOZ+vDeS2pgg6KUJ5uElyHrFggcqfMxZ7LqQ1+SEhC0j Fx22IvUM7rCWvhfq3sAnzM5mi3KqCjAsZTb6Cvkp5Kjl5QVtzARxOEJs2eU/DrBMZwjLfd 0T3ly9OBs6Tgp3HR516zdz7NKI35n/u07+Cq6YooG2CgRO/bnv2IUnqDgvUtDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769767319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8mrRYBcyXufyUrN3MFNH0dR53IyaBEWNTUoB8FF0IJQ=; b=kg6RfsYTxQujjdRbFgrSAk5KXH6yKWOr0mBtoFEEdBO6krTjMRhNMI470HD1jfpht7Mkqz rbbSvzhhNvfGVC8mTns+Ysg8ztBXecPs519i/MsIhp3REm5+9IhUI1955epoYhZ84V1TPD tUDaTL9DSoSYXRNn5YzmvR6GrYgm/aTbESW2HxRhKniYlgPjHkI8sOTbtgoWBcODXeCUWT QzAyI2R9tUTIf0hXjI1ew5PANsPIhSIJQsk6lB0VMObJtCPlyjvY4AE2ftYXTqCGtCnsu9 bf0XK7Sg9nKHI6UhRYDJDzab4uPjPoHMNiYNEFzbYQTk+PEKwSqvGV3tI8F73A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2Wkv0tmFz1Hbm for ; Fri, 30 Jan 2026 10:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37486 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 10:01:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 33596d92555e - main - dpaa2: add support for several 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33596d92555e5b1632fca14eb9af295e4b8f751c Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 10:01:59 +0000 Message-Id: <697c8197.37486.13906707@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=33596d92555e5b1632fca14eb9af295e4b8f751c commit 33596d92555e5b1632fca14eb9af295e4b8f751c Author: Michael Tuexen AuthorDate: 2026-01-30 09:58:57 +0000 Commit: Michael Tuexen CommitDate: 2026-01-30 09:58:57 +0000 dpaa2: add support for several interface counters Add support for IFCOUNTER_IPACKETS, IFCOUNTER_OPACKETS, IFCOUNTER_OBYTES, IFCOUNTER_OMCASTS, IFCOUNTER_OERRORS, and IFCOUNTER_OQDROPS. This allows tools like systat to report the incoming and outgoing bandwidth. Reviewed by: dsl, Timo Völker MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54893 --- sys/dev/dpaa2/dpaa2_ni.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/dev/dpaa2/dpaa2_ni.c b/sys/dev/dpaa2/dpaa2_ni.c index 5f796e6e472b..c72e68b8a62f 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -2532,6 +2532,7 @@ dpaa2_ni_transmit(if_t ifp, struct mbuf *m) ch = sc->channels[chidx]; error = buf_ring_enqueue(ch->xmit_br, m); if (__predict_false(error != 0)) { + if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); m_freem(m); } else { taskqueue_enqueue(ch->cleanup_tq, &ch->cleanup_task); @@ -2943,6 +2944,8 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, bus_dma_segment_t segs[DPAA2_TX_SEGLIMIT]; int rc, nsegs; int error; + int len; + bool mcast; mtx_assert(&tx->lock, MA_NOTOWNED); mtx_lock(&tx->lock); @@ -2957,6 +2960,8 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, buf->m = m; sgt = buf->sgt; } + len = m->m_pkthdr.len; + mcast = (m->m_flags & M_MCAST) != 0; #if defined(INVARIANTS) struct dpaa2_ni_tx_ring *btx = (struct dpaa2_ni_tx_ring *)buf->opt; @@ -2974,6 +2979,7 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, if (md == NULL) { device_printf(dev, "%s: m_collapse() failed\n", __func__); fq->chan->tx_dropped++; + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); goto err; } @@ -2984,6 +2990,7 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, device_printf(dev, "%s: bus_dmamap_load_mbuf_sg() " "failed: error=%d\n", __func__, error); fq->chan->tx_dropped++; + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); goto err; } } @@ -2993,6 +3000,7 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, device_printf(dev, "%s: failed to build frame descriptor: " "error=%d\n", __func__, error); fq->chan->tx_dropped++; + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); goto err_unload; } @@ -3010,8 +3018,13 @@ dpaa2_ni_tx(struct dpaa2_ni_softc *sc, struct dpaa2_channel *ch, if (rc != 1) { fq->chan->tx_dropped++; + if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); goto err_unload; } else { + if (mcast) + if_inc_counter(sc->ifp, IFCOUNTER_OMCASTS, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OPACKETS, 1); + if_inc_counter(sc->ifp, IFCOUNTER_OBYTES, len); fq->chan->tx_frames++; } return; @@ -3190,6 +3203,7 @@ dpaa2_ni_rx(struct dpaa2_channel *ch, struct dpaa2_ni_fq *fq, struct dpaa2_fd *f m->m_pkthdr.rcvif = sc->ifp; m->m_pkthdr.flowid = fq->fqid; M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE); + if_inc_counter(sc->ifp, IFCOUNTER_IPACKETS, 1); if (ctx->head == NULL) { KASSERT(ctx->tail == NULL, ("%s: tail already given?", __func__)); From nobody Fri Jan 30 10:59: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 4f2Y1d42Ysz6RBQH for ; Fri, 30 Jan 2026 10:59: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 4f2Y1d3DBRz3Rfq for ; Fri, 30 Jan 2026 10:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769770789; 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=/6Rm1KMe5xkMJujKP6RpWQxCll7fqhZWvdQotSwCimg=; b=tmV9b2wRMCGZuuxuZiZQGT0YzA9S80Tp6kDiOC8ukiy/TVFhXoW9bLNJxqVzsxFyvAeAHl wGTSqnRae52QznkmQmvKEuoPYl4b9XFA/BGaWQMwFXJxoXI1qAZ9Fh1W2RHVWwfi/iVNaf KTsLEyvij5GNdOaupi7fwjBFxcMrJre2BQ3dpSf6grySXvETXmDY/1w3FqOGKqQonhhE5a gbgzpNv70eMFYlExN3UXS1DF0sLYoxLpRJ7t6h420DZCQH7+rLf7nO7mSuvrhzPGOMMla6 ZFVbJiRmFAEsytWjnf/Wy7LSV5o+pgLV9Krepx7hbD372dHeIUAeNBym2UEOrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769770789; a=rsa-sha256; cv=none; b=mg2FVi9kzNrsbySCD/051uI5TDbB9JIaKGtk+upyuqS7divFs7QThUH0NUzitqJzdyNPpg Tmka6k5qwSlYbtAMmwUVvbTvTIAE1SniGP4q3QvxcEVp9MtDvThiHYfO1tb4bzlMkd2s6+ O9mKIJfBsojIb69g7GkjlFQeAAlunBu5Fey7GlNv4rhCBhjtDR/oqfE6cm2R2oiTqJIbeX ByhNApPwCW/Q0lJuJkSsQytQ94o6q8DCytnVjDJvY0F/ACD5p8iiKbU7SvUs9ScORUqWEg XGzW344TrErS4A3wO9nXgyUvY/GXGRMxMIAB1tv/lTLkMqc0JzcyPm9JOiX4wA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769770789; 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=/6Rm1KMe5xkMJujKP6RpWQxCll7fqhZWvdQotSwCimg=; b=NL0FEGkebzVnWMfkq/OoZt6j55+vYARXLPxy365SVndUbXQ9jnGakp5VyYCajPG6g/nBx7 x5lfVZ90cx77DBoO6QSaM+hh2Qm2EKN1VOOODNCk//bjW7wHPILpeBRD1U4VRarOvZwOMg 1bwA5cYBUA+jD/34sSl3xWdMr4KTCSKd60PICFcKv9K2JJUO6Bxrn8k5wGq6Y5cwBqqQpN nbzFWiD7zvOSFogQXyjENFaLQZp7n5pxdhTSKoZg4nnEStKEfYARNhONag2slPBKy1TE9F kyqqcirwWG8RrFBmWAEaqQlnkiOoHJTcifJb2AixgmIYC5Z7OzCGP2v9jKwT4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2Y1d2lTHz1KB4 for ; Fri, 30 Jan 2026 10:59:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c0a5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 10:59:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Timo =?utf-8?Q?V=C3=B6lker?= From: Michael Tuexen Subject: git: 574d46b25ab6 - main - epair: add VLAN_HWTAGGING 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: 574d46b25ab6f42ad97017bb8b72520e9539e36f Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 10:59:49 +0000 Message-Id: <697c8f25.3c0a5.45b7d88a@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=574d46b25ab6f42ad97017bb8b72520e9539e36f commit 574d46b25ab6f42ad97017bb8b72520e9539e36f Author: Timo Völker AuthorDate: 2026-01-30 10:54:33 +0000 Commit: Michael Tuexen CommitDate: 2026-01-30 10:54:33 +0000 epair: add VLAN_HWTAGGING Add capability VLAN_HWTAGGING to the epair interface and enable it by default. When sending a packet over a VLAN interface that uses an epair interface, the flag M_VLANTAG and the ether_vtag (which contains the VLAN ID and/or PCP) are set in the mbuf to inform the hardware that the VLAN header has to be added. The sending epair end does not need to actually add a VLAN header. It can just pass the mbuf with this setting to the other epair end, which receives the packet. The receiving epair end can just pass the mbuf with this setting to the upper layer. Due to this setting, the upper layer believes that there was a VLAN header that has been removed by the interface. If the packet later leaves the host, the outgoing physical interface can add the VLAN header in hardware if it supports VLAN_HWTAGGING. If not, the implementation of Ethernet or bridge adds the VLAN header in software. Reviewed by: zlei, tuexen MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D52465 --- share/man/man4/epair.4 | 20 +++++++++++++++++++- sys/net/if_epair.c | 28 ++++++++++++++++------------ 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4 index b406c423361b..ba42106d45f8 100644 --- a/share/man/man4/epair.4 +++ b/share/man/man4/epair.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 4, 2025 +.Dd January 30, 2026 .Dt EPAIR 4 .Os .Sh NAME @@ -113,6 +113,7 @@ The .Nm has RXCSUM and RXCSUM6 enabled because it may receive a packet where the checksum has already been validated by a physical interface. +.Pp The .Nm supports TXCSUM and TXCSUM6 for TCP and UDP, but only by forwarding the order @@ -131,6 +132,23 @@ enables/disables it on the other end). In case one end is in a bridge and the bridge disabled TXCSUM or TXCSUM6, this avoids a sender to send packets with checksum offloading into the bridge by using the other end. +.Pp +The +.Nm +supports VLAN_HWTAGGING without actually adding a VLAN tag. +The sending +.Nm +end just forwards the offloading information to the other end. +The receiving +.Nm +end leaves the offloading information set to pretend that there was a VLAN tag +in the Ethernet header, which has been removed already. +To avoid a situation where the receiving +.Nm +end has VLAN_HWTAGGING disabled, this capability is synchronized between the +.Nm +interface pair (i.e., enabling/disabling the capability on one end +enables/disables it on the other end). .Sh SEE ALSO .Xr ioctl 2 , .Xr altq 4 , diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index fbffa8f359a0..60849ca1d4f2 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -150,10 +150,6 @@ epair_clear_mbuf(struct mbuf *m) m->m_pkthdr.csum_flags &= ~CSUM_SND_TAG; } - /* Clear vlan information. */ - m->m_flags &= ~M_VLANTAG; - m->m_pkthdr.ether_vtag = 0; - m_tag_delete_nonpersistent(m); } @@ -493,6 +489,7 @@ epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) ifp->if_capenable = ifr->ifr_reqcap | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; epair_caps_changed(ifp); + VLAN_CAPABILITIES(ifp); /* * If IFCAP_TXCSUM(_IPV6) has been changed, change it on the * other epair interface as well. @@ -501,17 +498,23 @@ epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * In that case this capability needs to be disabled on the * other epair interface to avoid sending packets in the bridge * that rely on this capability. + * Do the same for IFCAP_VLAN_HWTAGGING. If the sending epair + * end has this capability enabled, the other end has to have + * it enabled too. Otherwise, epair would have to add the VLAN + * tag in the Ethernet header. */ sc = ifp->if_softc; if ((ifp->if_capenable ^ sc->oifp->if_capenable) & - (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) { + (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6 | IFCAP_VLAN_HWTAGGING)) { sc->oifp->if_capenable &= - ~(IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + ~(IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6 | + IFCAP_VLAN_HWTAGGING); sc->oifp->if_capenable |= ifp->if_capenable & - (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6 | + IFCAP_VLAN_HWTAGGING); epair_caps_changed(sc->oifp); + VLAN_CAPABILITIES(sc->oifp); } - VLAN_CAPABILITIES(ifp); error = 0; break; @@ -626,10 +629,11 @@ epair_setup_ifp(struct epair_softc *sc, char *name, int unit) ifp->if_dname = epairname; ifp->if_dunit = unit; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_TXCSUM | - IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; - ifp->if_capenable = IFCAP_VLAN_MTU | IFCAP_TXCSUM | - IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + ifp->if_capabilities = + IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | + IFCAP_TXCSUM | IFCAP_RXCSUM | + IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM_IPV6; + ifp->if_capenable = ifp->if_capabilities; epair_caps_changed(ifp); ifp->if_transmit = epair_transmit; ifp->if_qflush = epair_qflush; From nobody Fri Jan 30 15:44: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 4f2gKY4831z6Q080 for ; Fri, 30 Jan 2026 15:44: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 4f2gKY3XKgz3t3J for ; Fri, 30 Jan 2026 15:44:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769787841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qNE/PaGhhdVXjbODRdAC5czuV80ukE2uMyr75VvUC6c=; b=g0R2XEJM0lk694fnWQUD5so9bDjjFmP0fbBCjweNMe6OiYUQc6wK6P8DpayXWb1l39fRRg lm56S/yh0UbLFvA3lX0+OFM7rpV7OIoaYRgzKBdmyMlVvimCLmzYHugTgiPgCGLcvve+b5 JFqBfSfwOQpJd5md+iRHaZkYyl/a7up8H7D95xF/on/e2/U1sTX3fT+kOo7irZPbiOrdmG eliDjcEJ5kPZgJ0PHCySxgB/0yz9eGMM0XeFV3X1QpDPh/GZvw7X4nmFaCcrRMqI/6xmLV Io5Q4FWTJIjlyn9xcX8VoQa4/BM8EVLBwSW2MbiCBaWI/JFLmlgzwF7sY14DHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769787841; a=rsa-sha256; cv=none; b=ikI9k572WvOT6DQdQnbDf3Us9AIvBHgVnWP+3lh6Be92wFPTiH2604pjNxmq8SajIo2d9A Yz0ujrJRyfqQO2zRtOOJmeZBhlUngSEGzP0+jNXJQkaImgKP/pDKPvvlYU7oEKOt10uO0k 7HqC13lVvnjHRHOzUsbuyc7rnQpWQuaZXdsS3IO4A/fz4wuV/HsD5uXuPfnUm8g9Jlw/O/ 4vrMObz8TnG9iiaeBPBmJ0Kn30egMCovSN3pRf6CXEg39sPb62oDM9alxHZoLvnKESMdgN yxPb8lvA/mQm5w+I6GzYqjR36LmD40p9w68VcKkYhfsVAwcN6zu8PytMxZOxVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769787841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qNE/PaGhhdVXjbODRdAC5czuV80ukE2uMyr75VvUC6c=; b=KvIJp4M3FxQLqQEFOs6sZ2trQmPTj003x21EXsTlorFH8+RDBwxSgBmIC804wQEY1Tpr1C ux2i2AiGdx0rqQRR3rjHRnIgtyhH03Ep/fsGU/gCOkRSN5jYQVepnt0HnuQk4LiZNrTivV VZLEgQbSl5DMah7VzGGaF4Pjg9vmUC77WYaSifZxQ142zdtjjw0FLPvcemRMJQq5CRcq0j M7WTZTnlc4G4URXzAMBASO+2XZVdKY5PCj6VRWl0kz5ZNLwXl3K7paXOewvqXeUx8DbHyT +TbkCYhXIEGHJy1+v50/e8COkzmM4hnyN67/CZSg1R7+1pq9uhJJsj055ymiNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2gKY2Xcpz1Rry for ; Fri, 30 Jan 2026 15:44:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3849d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 15:44:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1539a657adb4 - main - ip6_output tests: Remove an unused import 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: 1539a657adb4363e7f12d6fd4c1c8ed2e2d842af Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 15:44:01 +0000 Message-Id: <697cd1c1.3849d.5a96cfd7@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1539a657adb4363e7f12d6fd4c1c8ed2e2d842af commit 1539a657adb4363e7f12d6fd4c1c8ed2e2d842af Author: Mark Johnston AuthorDate: 2026-01-30 15:27:22 +0000 Commit: Mark Johnston CommitDate: 2026-01-30 15:27:22 +0000 ip6_output tests: Remove an unused import No functional change intended. MFC after: 1 week Sponsored by: Stormshield Sponsored by: Klara, Inc. --- tests/sys/netinet6/test_ip6_output.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/sys/netinet6/test_ip6_output.py b/tests/sys/netinet6/test_ip6_output.py index fc821606a726..b0828d45bdad 100644 --- a/tests/sys/netinet6/test_ip6_output.py +++ b/tests/sys/netinet6/test_ip6_output.py @@ -10,7 +10,6 @@ from ctypes import Structure import pytest from atf_python.sys.net.rtsock import SaHelper from atf_python.sys.net.tools import ToolsHelper -from atf_python.sys.net.vnet import run_cmd from atf_python.sys.net.vnet import SingleVnetTestTemplate from atf_python.sys.net.vnet import VnetTestTemplate From nobody Fri Jan 30 15:44: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 4f2gKd4ZDsz6Q0Dx for ; Fri, 30 Jan 2026 15:44: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 4f2gKd3PqVz3t2M for ; Fri, 30 Jan 2026 15:44:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769787845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5SR50CDs1qYo/JnbZyuMMuciF9fazzO6jrM0I2+jk2Y=; b=x1FQTIPBNB7h2qm5VSbYULAGNnNaYkeskh0SZGuHGiAL676+SKuFMrJs8EW7I8DJxPy2iT VpbDpeN8CadW8vpiJFLuyc2987XFY8I6zBcxJoqPc0mzjj/zPvlQPIn2Ztfml8x6RGo+cO PZ8mMyzhCBm26TcNmE/KMrCb6Yj3NcqQR4Jq7BWyG8kfPyjvpMxuI8SK5veTkVD2xbPaKK 3b1YS9aUi2NM1REdk51ZqwAhTDLj6xkNC/1S2TplrFTVjptxtdZPQvFPR32FMDrrI8Z05i IYX1p/bGlhutk1zoUzlKLyqQDzS2KIZgOWwtG5YgbmfuQ9b1Ym7lhcFiAwW39A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769787845; a=rsa-sha256; cv=none; b=Ae8/R7dnCMabLWT8kiomAs8FxgUJRn0g98Y1MgspOLwW38z0aS5OqHpW38STGWgCUYtje7 5/9zhBT+Z7l24pRrBnMbVDz9i5ayPIDjY3/8tWSbtOhPS3LMiijxomxWE839aFDQasBsrM joJ86z1HEJjXbpKkpQWMRb0pgsLq2+rHgHbE/KLHVU/OenvLZJbUBxeOcJBnFdyFVzAOJx 4cW/OpRtZiFMYk6DXUg1Z84mrya2eD4o0w8tfMvL356JL0wSKxiL88jC2PO5uGfOS+xpH8 wwHQYzJbtxrA0vvO79Emh/+V9rd41pR0GhuyrCHdThQkJI1E8mxaVcJ1wgiaLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769787845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5SR50CDs1qYo/JnbZyuMMuciF9fazzO6jrM0I2+jk2Y=; b=MQMtTh3cvjGd7L/JEwA/0nunxI1uGy2CCGq0NsLLnj38We+bqFml/WTELV6GdIrvsz/GG9 VyfWR/RYzoJIgYE5DUErqS6WrchgiphrI+Z2iIjtxXnLkc8WO35cqTvjUkoJSsktAVyOQr pbqyVMlgNZhGd4wqoghPjT6KdSjHDTwl0LKdoPQ4aGhQ354eh4BtgKXjVVLadCoxAmQc+r T5hg1c8pY31B1qKzFw/sZ4Pp0L2l2dgRFycPPZOwrq23xKuEHBMHFqWmqwBRXW0NwR285q mhN8j8DaFh1ijwpB7Iucke1Us5OnQI2g/lN4Yz3jUXdLnQ2wVFN3RFN8l592Cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2gKX2DtLz1S1m for ; Fri, 30 Jan 2026 15:44:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38dab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 15:44:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a03eabfebbce - main - ip6_mroute: Mark functions as static 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: a03eabfebbce15d8ce028168969812d3ca2be206 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 15:44:00 +0000 Message-Id: <697cd1c0.38dab.72cf79b5@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a03eabfebbce15d8ce028168969812d3ca2be206 commit a03eabfebbce15d8ce028168969812d3ca2be206 Author: Mark Johnston AuthorDate: 2026-01-30 15:25:52 +0000 Commit: Mark Johnston CommitDate: 2026-01-30 15:25:52 +0000 ip6_mroute: Mark functions as static No functional change intended. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. --- sys/netinet6/ip6_mroute.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/netinet6/ip6_mroute.c b/sys/netinet6/ip6_mroute.c index 46981aff1025..29144f4d1acb 100644 --- a/sys/netinet6/ip6_mroute.c +++ b/sys/netinet6/ip6_mroute.c @@ -359,16 +359,16 @@ static int get_sg_cnt(struct sioc_sg_req6 *); static struct callout expire_upcalls_ch; -int X_ip6_mforward(struct ip6_hdr *, struct ifnet *, struct mbuf *); -int X_ip6_mrouter_done(void); -int X_ip6_mrouter_set(struct socket *, struct sockopt *); -int X_ip6_mrouter_get(struct socket *, struct sockopt *); -int X_mrt6_ioctl(u_long, caddr_t); +static int X_ip6_mforward(struct ip6_hdr *, struct ifnet *, struct mbuf *); +static int X_ip6_mrouter_done(void); +static int X_ip6_mrouter_set(struct socket *, struct sockopt *); +static int X_ip6_mrouter_get(struct socket *, struct sockopt *); +static int X_mrt6_ioctl(u_long, caddr_t); /* * Handle MRT setsockopt commands to modify the multicast routing tables. */ -int +static int X_ip6_mrouter_set(struct socket *so, struct sockopt *sopt) { int error = 0; @@ -436,7 +436,7 @@ X_ip6_mrouter_set(struct socket *so, struct sockopt *sopt) /* * Handle MRT getsockopt commands */ -int +static int X_ip6_mrouter_get(struct socket *so, struct sockopt *sopt) { int error = 0; @@ -455,7 +455,7 @@ X_ip6_mrouter_get(struct socket *so, struct sockopt *sopt) /* * Handle ioctl commands to obtain information from the cache */ -int +static int X_mrt6_ioctl(u_long cmd, caddr_t data) { int ret; @@ -585,7 +585,7 @@ ip6_mrouter_init(struct socket *so, int v, int cmd) /* * Disable IPv6 multicast forwarding. */ -int +static int X_ip6_mrouter_done(void) { mifi_t mifi; @@ -1055,7 +1055,7 @@ socket_send(struct socket *s, struct mbuf *mm, struct sockaddr_in6 *src) * that if this function is called from somewhere else in the originating * context in the future. */ -int +static int X_ip6_mforward(struct ip6_hdr *ip6, struct ifnet *ifp, struct mbuf *m) { struct rtdetq *rte; From nobody Fri Jan 30 16:15: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 4f2h1z5mR0z6Q3fH for ; Fri, 30 Jan 2026 16:15: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 4f2h1z4HW8z3xGb for ; Fri, 30 Jan 2026 16:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769789735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I2UYRC5ZImdGdwdee6kfYjlQDjm+d7hgi209e+cOY3o=; b=VM3ejnyC2VabYwqA4ImVD6H6VUEkvjJ7qx0oVmoj8H/xmUIofAqUlVNCC8FLGFVaS8B4p8 2fhMSOKLkBH7XUMg3a2zzfhgrInJJQvCPO2pDMd/y+gcXM3WQuPbcwcT+Ex8xWGxc97WcA mDQb2XUhmOjd3FSzoFNATqMjehR+SqFfQlMpvfDDJubwpzxUphOUMOEIDis9JKURN1Z2Sg ZzF5HKLPuiL+lqn6Z3pHVfCHKziTwuzJvliIkeBi1Z1byzBNx/XOGQTonbeM5gJwmdpaH5 DuXOU/IONQowZJhQuQzbAmWKpLGCavvm7EbSeLrjxqYYBbPZ2gqgRshKrhmNiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769789735; a=rsa-sha256; cv=none; b=O1r++J2xMvVJ7cnU/XgaMtGAhPe6MuUu/7RUSf6pz5k++OidJ4ADgx0jiV/ZDArhpp5Kou En6DSqv7NLO7tpaRqV/+5c19hBvTewOTFeWfhO9F3/6r1VNpWnI/0gq747z1jZdrauatO/ L5v7Pt29yu8TLGzB0XI47AlJ+2t7EFCXlnrqc0ab2QduNeIqiSuga4een4VFMOZuDhRWER LXGyEylm0n0Xd4FqAjhNnh2SKH6N08ld54N6l6qsriqV4E71x5Oj5JzUFvxzLRdqZqgs/9 PlHwUZBYiiDoiqX/fmhMMwXirV7t/usZXNcR7j1DWNngUVlhOHwBnRwfgNL7Qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769789735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I2UYRC5ZImdGdwdee6kfYjlQDjm+d7hgi209e+cOY3o=; b=hnwXJ4vCr/EiUOARngLRo+cWqgNn8y2YuxJGZjPWzADRw+JVIPeTS1n+hsSJAsbmHMjRzm kMuRitPv1xoC6xKsmGlUNSOlXKNqgJvm/Ds88BPfEc5u02EsA7XcZK77yWEPLncFrk/Fhf r7VwgMiMKHoezSNPPjgfIcE8w0KLTLdUPx8yt093sTwnvwLVKhUqASpyb2GI/ZHMyWRnis USVTyYNq/fPlrq8c5yn0zewJc/utvxRr3lhEaKaibQLlNvnjc182ZmLeX9ta5J4jpM+T9t /PdhSQJMkA+C+ix6jHeGTODHKjtH0aieCG46TwOzAB4mrY6vUMbsX2IQ10QWUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2h1z3styzMd for ; Fri, 30 Jan 2026 16:15:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b0ca by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 16:15:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: b9289743f40d - main - src.opts: Remove MK_SOUND artifact 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: b9289743f40dae677f910be1d3e56198a3a3ff9b Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 16:15:35 +0000 Message-Id: <697cd927.3b0ca.47affb3b@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b9289743f40dae677f910be1d3e56198a3a3ff9b commit b9289743f40dae677f910be1d3e56198a3a3ff9b Author: Christos Margiolis AuthorDate: 2026-01-30 16:14:28 +0000 Commit: Christos Margiolis CommitDate: 2026-01-30 16:14:28 +0000 src.opts: Remove MK_SOUND artifact Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND") PR: 291853 Sponsored by: The FreeBSD Foundation MFC after: 4 days --- share/mk/src.opts.mk | 5 ----- 1 file changed, 5 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 415918e1d2ef..5aae1eafedd7 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -504,11 +504,6 @@ 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. From nobody Fri Jan 30 16:25: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 4f2hFJ4gmBz6Q4dQ for ; Fri, 30 Jan 2026 16: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 4f2hFC3qPRz40BW for ; Fri, 30 Jan 2026 16:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769790319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6DyYmu6EiwlTmA7iKJGKHRpUh+UU3tNAoZ/BURlhSUk=; b=Awo8R+fYqlgwRtvYhvi30Ek2Z7F3kGK3841cd1mv3HFMiSknGhtg8f4DOdlI502PDiFU6b Dr+GhHiENl14OgMrJugCZlgcu8AsQ5nUDHvlS5zFvlsDt85QgdqhFIBBQF0cUcCrKWtUW0 C09ks448Nj6hlCZUs8B37EFrOKipRRlnb/yX9VUZ4h7Xx/6anrqxfyHWsWKPcIOAWFrdA3 qsPTbjbpYGdj2rAclcYziGkSzLak46eGChvCqaaGyzCfkHz+tChwyW1Wrb+eatwHqzS9KW W6KWzq+jhjyzQneN6GmUMoK8rSO/1FhK+ST6VH6vto07hs3q7EUWD6o3nNTE7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769790319; a=rsa-sha256; cv=none; b=envGT93PrmRlbjukCp0QnFp3aInDS4uPKwaR7uKHgWTC7pGh1UngIs5pWteY7c83WVXdmW bCZbX+n1pYX2MgCji27ZARPK76sz2mVo9qSANt13NJ9MuJqF+chJ3v+NqSyweAafVygBaL GxqInMZQ3pZk28IMGebBZz7z0oc0D8crqqkfZsT9RV2AtU/q2GPrP1c0PIg0ZxI7+k5bv5 azmI36eZ8TM2Wwhqeb/PmX1EXYi10gXXL66wRxTf8xRAJJ7+pIoYKxlHPQee2cB6FnFSi1 hf+kacvR8QjYYCFY/APuONzowMSdyCcDPiPzPNL9oZUd49ozbMOQTqgIxiD5fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769790319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6DyYmu6EiwlTmA7iKJGKHRpUh+UU3tNAoZ/BURlhSUk=; b=X+JaflZx/mXwRHBibextitd/mrv7BvM+tZ/UJmdAKrL0Vxx0u0hRACdZWwRqCR1WPbrtKu 9QYrCHM05vdUFUOeqQ82QlwBPd/5wu3X59q6i1leggq0ehDO2AtVSUMyjy+adZDWqPh80S bSsj51Txse1wZmNcuVpE13QXZcNE6G9Ok+CI6V6AW/ke8Trum3d5wgbF9WxTDAZo+ZkFX+ b+WQ6N0m72pLSMlXj0rAT0KgHEvBOrkTrVTBxML+1qQC8TTYwzTHLQSsgtViSQkpJnLwAg m6QPUAmKQKFng2cVdu9BiQ8TyyoeDT+jhTZgo9TpTS5GnrHdV2JzEUitCy/iRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2hFC2Zj9zfM for ; Fri, 30 Jan 2026 16:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3baff by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 16:25:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: c88f012faa13 - main - lib/virtual_oss/sndio: Remove trailing backslash 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: c88f012faa13c39f13efdcef88d3141253a300ab Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 16:25:19 +0000 Message-Id: <697cdb6f.3baff.678f4f29@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=c88f012faa13c39f13efdcef88d3141253a300ab commit c88f012faa13c39f13efdcef88d3141253a300ab Author: Christos Margiolis AuthorDate: 2026-01-30 16:20:48 +0000 Commit: Christos Margiolis CommitDate: 2026-01-30 16:25:02 +0000 lib/virtual_oss/sndio: Remove trailing backslash Fixes: d78291b0e973 ("lib/virtual_oss: don't (over)link to libsamplerate") Reported by: pkg-fallout Sponsored by: The FreeBSD Foundation MFC after: 2 days --- lib/virtual_oss/sndio/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/virtual_oss/sndio/Makefile b/lib/virtual_oss/sndio/Makefile index d27ff7ced579..59a19aeb2ba5 100644 --- a/lib/virtual_oss/sndio/Makefile +++ b/lib/virtual_oss/sndio/Makefile @@ -2,7 +2,7 @@ SHLIB_NAME= voss_sndio.so SRCS= sndio.c -CFLAGS+= -I${LOCALBASE:U/usr/local}/include \ +CFLAGS+= -I${LOCALBASE:U/usr/local}/include LDFLAGS+= -L${LOCALBASE:U/usr/local}/lib -lsndio .include From nobody Fri Jan 30 17:20: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 4f2jSw3k7Nz6QB7r for ; Fri, 30 Jan 2026 17:20: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 4f2jSw3C2Sz47dt for ; Fri, 30 Jan 2026 17:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769793632; 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=bN9q578O5YbuMtJYY0uc6RJbpAo8fBB7w2JQTdPC/9A=; b=he8xABiR9+orvBd01+it/+0cq4ESyfxtmNaAGiTQ4OnNCaOWJWJB8/Q5EHGa2NapSTxPWz IWw/X9N/YXsvhKeAWOcxX/PC+PXiyUiMsc62i3r6IxibJer2pZ7RpuzlxsktBI7PweVHMw Ih8FCVTdCLhlLQTT+7BZy+IeaqizjXlYdCaKfInKz41TL6wAazWHNsgFycSI53YsGaWxON AmdgUhrTVYTZSCjB5raBq3X8IVTVR9PZkBRZ4VMp3Gv4enKKZ6UCTo8my7ot4ZfUzHdZJ9 WWYfg1gTwVCesUpzWooPoPm3MhyFCrBQMxkRj0uPR777AWb6odKmHHKeTk/R+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769793632; a=rsa-sha256; cv=none; b=N8sCssiO1sEsFtdZ6oCuIiCuE3mb2sm1BIanZau+xTAs6REOWFB8iLlswJ7vk2sFm7Qni1 IR/T0RPxZZ74/GhJwtHs7JiRSbcdpRASfJu1Y4hyEGCOsp1LC7WLuUvMZXvPex7qf1S5UD I9rRJHarK6KG73S5lYgBI8pvm4OCYMdAS1QEfCrvtb5P3K+v1Gy550yoRRB9Us8tk95agW 0xTHCgHfs7K1de6FLbNubTDth9NMeNd03MDmGYwP8XdeRssSIQ9NQD3o4nrei4mk1/L/yW WPA64Glw7Zs8arUZpGhfBMot9f42EfseKbEQcqfRFT/4Q4OKQekefWaIEBboGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769793632; 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=bN9q578O5YbuMtJYY0uc6RJbpAo8fBB7w2JQTdPC/9A=; b=hpW8H139LfF/06kiAqm0r3Ysud29FEHP1tM4cP87Pd5N5jJ4oJXJTX+jurINOmajMj5Giq 3/Hyh/fhsElq8PMakXoi5oMocRI6jmu4DrJuggOk2rt5rp6yVuOOWpL56Tno2ekIeGVTiH /S01oUeR9YLY3PK9gKpsR421zc6C2HStCECOvFmeQ9xzx/ccNW1jx494L4vWXmuslJfuuM Lb+RkQH2Dk211+CqM4LL6NvG2DcG3olp3aUfX7V9DStARJ+udnRnFvXxWdDC2hPzrJu3P6 QX2DY3UvNTat81ClTgDqsWOBHmmU56BJ0HAXRktLZzyKy2gdRw68ijbL7gDkpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2jSw1f4Bz2GD for ; Fri, 30 Jan 2026 17:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 423f3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 17:20:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Andy Carrel From: Andrew Turner Subject: git: 93d3ac1daa0e - main - arm64: Fix kernel panic in get_arm64_sve during core dump 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: 93d3ac1daa0ef3ac54ffcd5cc64a14638d04bd60 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 17:20:32 +0000 Message-Id: <697ce860.423f3.2554b37d@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=93d3ac1daa0ef3ac54ffcd5cc64a14638d04bd60 commit 93d3ac1daa0ef3ac54ffcd5cc64a14638d04bd60 Author: Andy Carrel AuthorDate: 2026-01-05 07:50:27 +0000 Commit: Andrew Turner CommitDate: 2026-01-30 17:01:49 +0000 arm64: Fix kernel panic in get_arm64_sve during core dump The coredump logic calls get_arm64_sve twice: once to get the note size, and once to get the data. The note size calculation depended on the volatile `PCB_FP_SVEVALID` flag. If this flag was cleared between the two calls (e.g., due to a context switch clearing the flag to comply with the ABI), the second call would expect a smaller buffer size than the first, triggering a KASSERT panic ("invalid size"). Fix this by ensuring the SVE state is saved to the PCB before we decide whether to use SVE or VFP. PR: 292195 Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D54532 --- sys/arm64/arm64/vfp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/vfp.c b/sys/arm64/arm64/vfp.c index bcddebfaf66e..64f13458e2d9 100644 --- a/sys/arm64/arm64/vfp.c +++ b/sys/arm64/arm64/vfp.c @@ -934,6 +934,9 @@ get_arm64_sve(struct regset *rs, struct thread *td, void *buf, pcb = td->td_pcb; + if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0) + vfp_save_state(td, pcb); + /* If there is no SVE support in HW then we don't support NT_ARM_SVE */ if (pcb->pcb_sve_len == 0) return (false); @@ -955,9 +958,6 @@ get_arm64_sve(struct regset *rs, struct thread *td, void *buf, KASSERT(*sizep == sizeof(struct svereg_header) + buf_size, ("%s: invalid size", __func__)); - if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0) - vfp_save_state(td, pcb); - header = buf; memset(header, 0, sizeof(*header)); From nobody Fri Jan 30 17:42: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 4f2jy92Ltdz6QD13 for ; Fri, 30 Jan 2026 17:42: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 4f2jy91fW5z3ByX for ; Fri, 30 Jan 2026 17:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769794945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9E17RT0h3uvhwweq3dJTt+4sEA5pbKZojzRry8GtwAk=; b=CmPShiNtQMtyRGPltcGNmCz67MjCplp4c3TMv5YB/OkDmnCJk6Xtck69v9RUMAD18id1jV Ggt7Ra99h+RKwmQ9BTpc4hhmUyW7yEz8Ht2Y8dO2A5pjMbamMautpxzv4xR68elqufvrK6 DTftHRv1bkYhI43vvwSycgU6VeQTzveo4WcCEjsGmecBHHTmQHFclEyKXRn6ZODUMdxM1l z37Edmuw7VAg+2p0z3Uc0sCUASFZJw4i0Rd5SFD7vV06vgeCJWMsMa3alNUJw0c28RcMJy YHfc7GxM5PPBSxcjQ4mzoeYwUxc5CgQ47SPTioN+uMESEca+NrH1Ew5S8fkKkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769794945; a=rsa-sha256; cv=none; b=OKwOF4/HYHX+sg74PyZTMEzg0VosmX+k9kUUcof4shRD5I/+odHCpDOPU0NeoY6p01bjbJ H+ECy5pbHZ0hq7kXVVQxYtkHWuHsYdZ75kt6q5FTL8r4BuQ45lIT8qEZ1fajc0CKJllpzF 3fA6eChTpeeJwQ1CrQzfNh+6tAya2ZWbNgntIJSOKjrJGou408w9TI1MJxG+7oo9FpttSK u5Fyt2zCKBaPDcWVfvyCP3I8KQuGhgBkM2mvf9v+6W6P1umATgSak3ZgdSOTDQUj6HFijS sc4lC7wrAHfXzTAWnIGhEEsSG7fDeza0urlCRg8p86pcveIiovSh7DoIzpLM1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769794945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9E17RT0h3uvhwweq3dJTt+4sEA5pbKZojzRry8GtwAk=; b=gZMM6d9NLkh0Yvxv4rAacbKTPCx732XMz0jYS9nXIWELGT4O2K5AX8+NfosZBnPQk6vc6a Wi81QP/oH66VO9biy0TPaczz3EF+sR2n17w0Gpo82+3nTR0vCfMmbJfRNh3aPqrsQgrBpY H1zo6ZEOmDOTpPdTZFtDahpFszfSPNoBKtFwKnUZHITCwWSyBTkNfdly93o31ox8HwYVGp ne/Vi3/Eju4M3djL6/tzCb7BKbq4heoziaSKbjZU1rx4rCsq3L/AjP/KvUQPJW66wlRZ8N YfDbDKRIk9Ha7AUghx/qLRz/ngHfS/tYUJhZCncKW7XzoFMEe7t0KihryyG5Dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2jy918JTz34m for ; Fri, 30 Jan 2026 17:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42d3a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 17:42:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: bda802814669 - main - release: Ship firmware from kmods repo on DVD 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bda8028146694ee490543b35e3349e060936fde4 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 17:42:25 +0000 Message-Id: <697ced81.42d3a.4da22ffa@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=bda8028146694ee490543b35e3349e060936fde4 commit bda8028146694ee490543b35e3349e060936fde4 Author: Colin Percival AuthorDate: 2025-09-16 18:43:36 +0000 Commit: Colin Percival CommitDate: 2026-01-30 17:41:51 +0000 release: Ship firmware from kmods repo on DVD The packages for X.Y-RELEASE are a snapshot of the quarterly branch for stable/X, i.e. typically built on X.(Y-1)-RELEASE. (The case of Y=0 is an exception for obvious reasons.) This works for most ports but not for kernel modules, which may need to be built on the release in question; this is why we have a separate "kmods" repository. Make sure that we put the packages from the kmods repository onto the mini-pkg-repo on the DVD rather than shipping unusable firmware. Reviewed by: bz MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D52581 --- release/pkg_repos/release-dvd.conf | 7 +++++++ release/scripts/pkg-stage.sh | 25 ++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index c2e64c43a56f..d2db295c53c8 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -5,3 +5,10 @@ release: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +release-kmods: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_latest", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index d06fc9dd1d41..00b83d9c51f0 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -11,7 +11,7 @@ export REPO_AUTOUPDATE="NO" export ROOTDIR="$PWD/dvd" export PORTSDIR="${PORTSDIR:-/usr/ports}" -_DVD_PACKAGES=" +_DVD_PACKAGES_MAIN=" comms/usbmuxd devel/git@lite editors/emacs@nox @@ -19,7 +19,6 @@ editors/vim misc/freebsd-doc-all net/mpd5 net/rsync -net/wifi-firmware-kmod@release ports-mgmt/pkg shells/bash shells/zsh @@ -35,6 +34,10 @@ x11/xorg x11-wm/sway " +_DVD_PACKAGES_KMODS=" +net/wifi-firmware-kmod@release +" + # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f ${PORTSDIR}/Makefile ]; then echo "*** ${PORTSDIR} is missing! ***" @@ -74,18 +77,25 @@ if [ -n "${PKG_ALTABI}" ]; then ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi -# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the +# Ensure the ports listed in _DVD_PACKAGES_* exist to sanitize the # final list. -for _P in ${_DVD_PACKAGES}; do +for _P in ${_DVD_PACKAGES_MAIN}; do + if [ -d "${PORTSDIR}/${_P%%@*}" ]; then + DVD_PACKAGES_MAIN="${DVD_PACKAGES_MAIN} ${_P}" + else + echo "*** Skipping nonexistent port: ${_P%%@*}" + fi +done +for _P in ${_DVD_PACKAGES_KMODS}; do if [ -d "${PORTSDIR}/${_P%%@*}" ]; then - DVD_PACKAGES="${DVD_PACKAGES} ${_P}" + DVD_PACKAGES_KMODS="${DVD_PACKAGES_KMODS} ${_P}" else echo "*** Skipping nonexistent port: ${_P%%@*}" fi done # Make sure the package list is not empty. -if [ -z "${DVD_PACKAGES}" ]; then +if [ -z "${DVD_PACKAGES_MAIN}${DVD_PACKAGES_KMODS}" ]; then echo "*** The package list is empty." echo "*** Something is very wrong." # Exit '0' so the rest of the build process continues @@ -96,7 +106,8 @@ fi # Print pkg(8) information to make debugging easier. ${PKGCMD} -vv ${PKGCMD} update -f -${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release -d ${DVD_PACKAGES_MAIN} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release-kmods -d ${DVD_PACKAGES_KMODS} # Create the 'Latest/pkg.pkg' symlink so 'pkg bootstrap' works # using the on-disc packages. From nobody Fri Jan 30 18:46: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 4f2lMb4gmGz6QL8D for ; Fri, 30 Jan 2026 18:46: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 4f2lMb1NYVz3KRZ for ; Fri, 30 Jan 2026 18:46:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769798763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SgWMO2u+faamm0phazH9AJtiVXFzv3m8+LdoUDOAFxo=; b=iMHZ17v0DLtbfPt2I+V8KtLwXGV6P6dMH53YQDe8cra3Ech2w3Gh+ll2c8EsYcnqqy5IIU 7PNOMJFhtJ59iNp6h0664XUpwSSe1DOE/WHnWik6vmPgnggUD5nr82zXRr0xnTzFTmlTzz GMPWCWBsT3MLzJ4XA6j6n9phJahysV7Qhd7AzGy4UTWcKGqqa8DltK00oXPySG1weXMsHz pZuzd7xmfxvvVDmgCqt/kmjFJyX3A+8818+Lhpz0mWw7GdhnVPAwjIuVLeq07b1Q3yk9Zg mULDuSm9iQueucF+C+k7mY6nozUb3PnbdUGmepr7X0g0Poh0FldLpBqaBPidcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769798763; a=rsa-sha256; cv=none; b=S1LcALZ/89YRSK7x3UXLZ799KuRAFiad/Xhr9uOGHSc8dJUqEv6Yg7f7S9rNZ6XAy3jmuf iGLCNtBaHyoIJ5ce3cMF7hCive1qLMYFubK4afF1yTcc0Gbd5IopvxsDFkAvQwjTOkw+9m st5RC7OJXYsJu5c7kLw1QnNyzkmpl/HeSy6BYEEKCPti+dW3SAPmJx2Ooq36hgyd9WnISM v9EPqKwWIuJ4quO6Kj97afF59TGzoGb7bkssQga0bdTNFGJOEqPxOxxe4v3nUK2sKbgM4h M29Db5YZc6y8gdLr8zKgPMNQxzg8DVKisUm9NRvkCKTT7hLV7PEGeNlLYnbj2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769798763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SgWMO2u+faamm0phazH9AJtiVXFzv3m8+LdoUDOAFxo=; b=CauOAIXNb+hV7NNLG5JwnUaLxb1OskoWAx3I/d3NAaGTYIZKu0QFQZPstU+2s1qE/PrnMC /1OXefXaZzUudqga0kCWfyeTHCoRU0OcNqQT2Atqy3SZe+BMy7mwmbY1j+QZbKGyxY59vC 1RepV8tXR2GpoKr2aDXQceFd9FsekwzhrlgPEGLSPKLE4WHYo2iDmkK+4yETXekrVBEYm5 qgScWSqMZRdHZV7B3N2ZutGrN/ptOVh5Ij4pcml60ITheLa3VeWHvJJnVwsmik+QJgqSE5 aoWFqgH9JlE+FwsenVuVYuIhmrEy03OlobczeLeuqIMtexWElO7SEumwylZ3ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2lMb0bGbz4cc for ; Fri, 30 Jan 2026 18:46:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9f35 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 18:46:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 245157fd8a38 - main - ktrcsw(): should not be called when the thread is owning interlock or on sleepq 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: 245157fd8a382c3989075789ee98582665f3b31d Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 18:46:03 +0000 Message-Id: <697cfc6b.9f35.3899c36b@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=245157fd8a382c3989075789ee98582665f3b31d commit 245157fd8a382c3989075789ee98582665f3b31d Author: Konstantin Belousov AuthorDate: 2026-01-22 21:46:01 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-30 18:45:48 +0000 ktrcsw(): should not be called when the thread is owning interlock or on sleepq The issue is that for ktrcsw() we lock the ktrace_mtx mutex while owning the interlock from a subsystem that called msleep(). In particular, the VM subsystem might call msleep() if page allocation failed. This establishes order VM locks (e.g. domain free queue lock) -> ktrace_mtx. Calling free() while owning ktrace_mtx gives the reverse order. Worse, msleep_spin_sbt() call s ktrcsw() while the thread is put on sleep queue. Then, since the mutex might be contested, the thread needs to be put on turnstil, which cannot work. Move the ktrcsw() call for switch-out after the wakeup, when the thread does not yet re-obtained any locks. From there, we call a special version of ktrcsw(), which is passed the actual time when the context switch occured. The drawback is that the switch-out record is only written in the ktrace.out file after the switch-in occurred, but this is probably not too serious. Reported and tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54831 --- sys/kern/kern_ktrace.c | 18 ++++++++++++++++-- sys/kern/kern_synch.c | 26 +++++++++++--------------- sys/sys/ktrace.h | 1 + 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index b58e69a3f38e..f3ee1c53fafd 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -838,8 +838,8 @@ ktrpsig(int sig, sig_t action, sigset_t *mask, int code) ktrace_exit(td); } -void -ktrcsw(int out, int user, const char *wmesg) +static void +ktrcsw_impl(int out, int user, const char *wmesg, const struct timespec *tv) { struct thread *td = curthread; struct ktr_request *req; @@ -854,6 +854,8 @@ ktrcsw(int out, int user, const char *wmesg) kc = &req->ktr_data.ktr_csw; kc->out = out; kc->user = user; + if (tv != NULL) + req->ktr_header.ktr_time = *tv; if (wmesg != NULL) strlcpy(kc->wmesg, wmesg, sizeof(kc->wmesg)); else @@ -862,6 +864,18 @@ ktrcsw(int out, int user, const char *wmesg) ktrace_exit(td); } +void +ktrcsw(int out, int user, const char *wmesg) +{ + ktrcsw_impl(out, user, wmesg, NULL); +} + +void +ktrcsw_out(const struct timespec *tv, const char *wmesg) +{ + ktrcsw_impl(1, 0, wmesg, tv); +} + void ktrstruct(const char *name, const void *data, size_t datalen) { diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index fc6c9857463c..22628c78d8a5 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -133,6 +133,7 @@ _sleep(const void *ident, struct lock_object *lock, int priority, { struct thread *td __ktrace_used; struct lock_class *class; + struct timespec sw_out_tv __ktrace_used; uintptr_t lock_state; int catch, pri, rval, sleepq_flags; WITNESS_SAVE_DECL(lock_witness); @@ -141,7 +142,7 @@ _sleep(const void *ident, struct lock_object *lock, int priority, td = curthread; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0, wmesg); + nanotime(&sw_out_tv); #endif WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Sleeping on \"%s\"", wmesg); @@ -222,8 +223,10 @@ _sleep(const void *ident, struct lock_object *lock, int priority, rval = 0; } #ifdef KTRACE - if (KTRPOINT(td, KTR_CSW)) + if (KTRPOINT(td, KTR_CSW)) { + ktrcsw_out(&sw_out_tv, wmesg); ktrcsw(0, 0, wmesg); + } #endif PICKUP_GIANT(); if (lock != NULL && lock != &Giant.lock_object && !(priority & PDROP)) { @@ -239,6 +242,7 @@ msleep_spin_sbt(const void *ident, struct mtx *mtx, const char *wmesg, sbintime_t sbt, sbintime_t pr, int flags) { struct thread *td __ktrace_used; + struct timespec sw_out_tv __ktrace_used; int rval; WITNESS_SAVE_DECL(mtx); @@ -266,19 +270,9 @@ msleep_spin_sbt(const void *ident, struct mtx *mtx, const char *wmesg, if (sbt != 0) sleepq_set_timeout_sbt(ident, sbt, pr, flags); - /* - * Can't call ktrace with any spin locks held so it can lock the - * ktrace_mtx lock, and WITNESS_WARN considers it an error to hold - * any spin lock. Thus, we have to drop the sleepq spin lock while - * we handle those requests. This is safe since we have placed our - * thread on the sleep queue already. - */ #ifdef KTRACE - if (KTRPOINT(td, KTR_CSW)) { - sleepq_release(ident); - ktrcsw(1, 0, wmesg); - sleepq_lock(ident); - } + if (KTRPOINT(td, KTR_CSW)) + nanotime(&sw_out_tv); #endif #ifdef WITNESS sleepq_release(ident); @@ -293,8 +287,10 @@ msleep_spin_sbt(const void *ident, struct mtx *mtx, const char *wmesg, rval = 0; } #ifdef KTRACE - if (KTRPOINT(td, KTR_CSW)) + if (KTRPOINT(td, KTR_CSW)) { + ktrcsw_out(&sw_out_tv, wmesg); ktrcsw(0, 0, wmesg); + } #endif PICKUP_GIANT(); mtx_lock_spin(mtx); diff --git a/sys/sys/ktrace.h b/sys/sys/ktrace.h index 822822a6ffe7..1ba5c84000b0 100644 --- a/sys/sys/ktrace.h +++ b/sys/sys/ktrace.h @@ -340,6 +340,7 @@ ktr_get_tracevp(struct proc *p, bool ref) void ktr_io_params_free(struct ktr_io_params *); void ktrnamei(const char *); void ktrcsw(int, int, const char *); +void ktrcsw_out(const struct timespec *, const char *); void ktrpsig(int, sig_t, sigset_t *, int); void ktrfault(vm_offset_t, int); void ktrfaultend(int); From nobody Fri Jan 30 20:38: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 4f2nrt0BShz6QWrP for ; Fri, 30 Jan 2026 20:38: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 4f2nrs4nFtz3XXn for ; Fri, 30 Jan 2026 20:38:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769805485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k3QQpYkqZRTH5rfZDEDgUwFhOAw1CC+Le6ARrYqEfXc=; b=dmCtUh6fVphevuNbIAanhJcyVl5kx43hdQAnSOqkl0nAjx8idFdCXDGCjz81bE9sdPQ7DJ BVbrF0SiimvZZ7M+hQEukdEO3zadoQ+tGd4WMOaj/14fVFK9nNmRiwZxq8siKXtsC4B2cc +uWExCg1G8wIAdZ0Te0kDN0I67GwpMQjaUhy+ynXyosQxOIv3h+xeSt8QWNB8VjlbdnQ+I BZD+Dh+liMbqO+3vEbphpntMuw+IwFxSDuj3yb1jvZHGRS8F0Y8J8EwAOG8pH0OvODThB8 MnJtA/kzZBn2iRhQDwWpcxn071ZqB/qdQIw6IbzvLYvXnsGWCpPbq42F6FL6ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769805485; a=rsa-sha256; cv=none; b=v8EBkO3XIMTAUzya5D8Gy//ylKj1hp7ZmpQn9CBfz+3NW1PlipL7oE8bEyKTe98nU9x/zf NkvTlT+uNxUTHAz8tZxbGp4as2uJE9DJaERBjspNozwhgu34jvM6y218ZXQNctfaUNRnHl pVUypQ3luiON5+VH4G4+RJb7Iafvu8ElEdAEYZIYEXErvSNfxRJLIo7bfZx3XmcRaZeVhu cRIBgeA0sIJTPw3H3hape8EI9Ueb1GnIm4vkVNOvFPkrUrd1LLJKnzrGfGg81tnrN99nil Uoif+9G5FTwpisteWvyDWO8KRMGTl8/L+MrA0jBBpAtBqwGrOggOHxXTaO1fFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769805485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k3QQpYkqZRTH5rfZDEDgUwFhOAw1CC+Le6ARrYqEfXc=; b=sc4e2qHxUJtHdxzolHRCfvpkTt5OWhAhacZl2tfFI5uufP+KylctqFiX80n8uAjfZAXch5 cad3m1c04rdMxyfpPs2x00ohOt/OetN+WSGaK1r933PugKEEHEXSzPqX5FXh+VoZuuSRL+ uFfrRAPycFT5Dtvu9YgzWbr+XhQet8w/M1inQ4l67I+ExkOO9vyuT2AB3lSAKmhuG5dWxK theRQwrcGDUbfL3Gg8kGzVeHZj41bq6CHUeFstH6SGIjl8eTuywN8chxhM9B62xROfk6Qd GnwjkNngrFLym0sMER3h9pW3GZ4XNwHPEuXEbmVQRM0bYfsIz7mjng5Off9FyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2nrs3Ky7z6fv for ; Fri, 30 Jan 2026 20:38:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24f10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 20:38:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 34c3e1d718a8 - main - netstat: Fix whitespace in libxo output for multicast routes 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: 34c3e1d718a86436f863b2ae8b91bcf406b37f0e Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 20:38:05 +0000 Message-Id: <697d16ad.24f10.72bbc217@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=34c3e1d718a86436f863b2ae8b91bcf406b37f0e commit 34c3e1d718a86436f863b2ae8b91bcf406b37f0e Author: Mark Johnston AuthorDate: 2026-01-30 20:30:58 +0000 Commit: Mark Johnston CommitDate: 2026-01-30 20:30:58 +0000 netstat: Fix whitespace in libxo output for multicast routes Also fix some bogus libxo format strings in mroute6.c, and close a couple of lists instead of opening them twice. Fixes: ade9ccfe211a ("Convert netstat to use libxo.") MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. --- usr.bin/netstat/mroute.c | 11 +++++------ usr.bin/netstat/mroute6.c | 13 ++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/usr.bin/netstat/mroute.c b/usr.bin/netstat/mroute.c index 1577a6ae73ac..75c3c8477ea4 100644 --- a/usr.bin/netstat/mroute.c +++ b/usr.bin/netstat/mroute.c @@ -37,7 +37,6 @@ * SUCH DAMAGE. */ -#include /* * Print multicast routing structures and statistics. * @@ -157,7 +156,7 @@ print_bw_meter(struct bw_meter *bw_meter, int *banner_printed) } xo_emit(" {:remaining-time/%s}", s3); - xo_open_instance("bandwidth-meter"); + xo_close_instance("bandwidth-meter"); xo_emit("\n"); } @@ -186,9 +185,9 @@ print_mfc(struct mfc *m, int maxvif, int *banner_printed) } memcpy(&sin.sin_addr, &m->mfc_origin, sizeof(sin.sin_addr)); - xo_emit(" {:origin-address/%-15.15s}", routename(sa, numeric_addr)); + xo_emit(" {t:origin-address/%-*.15s}", 15, routename(sa, numeric_addr)); memcpy(&sin.sin_addr, &m->mfc_mcastgrp, sizeof(sin.sin_addr)); - xo_emit(" {:group-address/%-15.15s}", + xo_emit(" {t:group-address/%-15.15s}", routename(sa, numeric_addr)); xo_emit(" {:sent-packets/%9lu}", m->mfc_pkt_cnt); xo_emit(" {:parent/%3d} ", m->mfc_parent); @@ -303,12 +302,12 @@ mroutepr(void) xo_open_instance("vif"); memcpy(&sin.sin_addr, &v->v_lcl_addr, sizeof(sin.sin_addr)); - xo_emit(" {:vif/%2u} {:threshold/%6u} {:route/%-15.15s}", + xo_emit(" {:vif/%2u} {:threshold/%6u} {t:route/%-15.15s}", /* opposite math of add_vif() */ vifi, v->v_threshold, routename(sa, numeric_addr)); memcpy(&sin.sin_addr, &v->v_rmt_addr, sizeof(sin.sin_addr)); - xo_emit(" {:source/%-15.15s}", (v->v_flags & VIFF_TUNNEL) ? + xo_emit(" {t:source/%-15.15s}", (v->v_flags & VIFF_TUNNEL) ? routename(sa, numeric_addr) : ""); xo_emit(" {:received-packets/%9lu} {:sent-packets/%9lu}\n", diff --git a/usr.bin/netstat/mroute6.c b/usr.bin/netstat/mroute6.c index 0bb44b8292e7..5898791dcbe6 100644 --- a/usr.bin/netstat/mroute6.c +++ b/usr.bin/netstat/mroute6.c @@ -65,7 +65,6 @@ * SUCH DAMAGE. */ -#include #ifdef INET6 #include #include @@ -151,7 +150,7 @@ mroute6pr(void) xo_close_instance("multicast-interface"); } if (banner_printed) - xo_open_list("multicast-interface"); + xo_close_list("multicast-interface"); else xo_emit("\n{T:IPv6 Multicast Interface Table is empty}\n"); @@ -172,19 +171,19 @@ mroute6pr(void) xo_open_list("multicast-forwarding-cache"); xo_emit("\n" "{T:IPv6 Multicast Forwarding Cache}\n"); - xo_emit(" {T:%-*.*s} {T:%-*.*s} {T:%s}", + xo_emit(" {T:/%-*.*s} {T:/%-*.*s} {T:/%s}\n", WID_ORG, WID_ORG, "Origin", WID_GRP, WID_GRP, "Group", - " Packets Waits In-Mif Out-Mifs\n"); + " Packets Waits In-Mif Out-Mifs"); banner_printed = 1; } xo_open_instance("multicast-forwarding-cache"); - xo_emit(" {:origin/%-*.*s}", WID_ORG, WID_ORG, + xo_emit(" {t:origin/%-*.*s}", WID_ORG, WID_ORG, routename(sin6tosa(&mfc.mf6c_origin), numeric_addr)); - xo_emit(" {:group/%-*.*s}", WID_GRP, WID_GRP, + xo_emit(" {t:group/%-*.*s}", WID_GRP, WID_GRP, routename(sin6tosa(&mfc.mf6c_mcastgrp), numeric_addr)); xo_emit(" {:total-packets/%9ju}", @@ -205,7 +204,7 @@ mroute6pr(void) xo_open_list("mif"); for (mifi = 0; mifi <= maxmif; mifi++) { if (IF_ISSET(mifi, &mfc.mf6c_ifset)) - xo_emit(" {l:%u}", mifi); + xo_emit(" {l:/%u}", mifi); } xo_close_list("mif"); xo_emit("\n"); From nobody Fri Jan 30 20:42: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 4f2nxX716Pz6QWry for ; Fri, 30 Jan 2026 20:42: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 4f2nxX5Qlnz3Y0P for ; Fri, 30 Jan 2026 20:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769805728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NV3ICuBfH+fOHsAPE3viaApeRRa7ZleQvNaOB1pm9rg=; b=Qag1Vgpnv7RUQMaCd+hB0Cfhfptg/6Rq081t4B2tihn2NFB3csMiBYuUN/L4gYbIO6eZ0l uAi9T4RfVZg1iq1+WDfRiD4Cv+CoZBWmRt24BEfpWfk2C79S56cW2UE7OiQw+cOfzATcWc eUYhNJRookZYwOmtzcYica+Mz27Kpwbe584sRSBdDDI/FMTt9Ko82CKbzvYYkAnGcugFhz VD7H8Ngxf3n84aUGo9PddSJcKYJblA2rApwNS5+iprVHrUWszBBqe8ZB9iKzMZrxEPjlrR M+6dLe28VAlwnZY4VmTLWyrj6CKDXh6wKU9koYtvfiKOgkzAfNXcCfaFYLm7cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769805728; a=rsa-sha256; cv=none; b=dyGZ9lbXFt3oXEcodL9Xdx6m0vL5uqYZKW5YxD9Q/yDuydnITFUdfkAH+6r2/23SXDWUBl 2PfDkE2X0KiYP+Gx5STJq3+JTyuy4qXTdEs1pX3JU698yUF7CWj/0UcHAOsUYOs91prFG1 PzxTb0ZyjZ2TqnvTHuh1zBHIOj/xFyGjKBAa0PotFxRrFSsMPsUJf+OYXzCD5M3AbCpnfg JUSZiG3Sr5KOQCQBxPSn+Mo+G6esIZYm1kXhmI6smzV0qPF7fE9KpelCHp5LRFCuRzU4D8 BQ6i7NZ2tlLA+iZ1BGlnoHafQJajYm3Ip1uxMqfHWPqs6dskWSoRvBKFI1zCbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769805728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NV3ICuBfH+fOHsAPE3viaApeRRa7ZleQvNaOB1pm9rg=; b=oRmRxXdbxEQgLBpnim90UEKnTuFtgpFzosuC7klxgmvyx1N3Z8beGBRYCVXsaQKi8ZxB/F RCLm319S2bogMEyN55R2/6cq2O8lFRarFRaEBn8uC0c0eJCql4mj8cq/LE6X43q/eY4EtJ jgmWf51KD6Ow1PKYFvV7JKw6mjiaTEMZS1bCGAseOj83Tfm2MlQRIxTxNCeS7U5M/8EnDC TbKGtRu4SeQvIote5AtBRdnUdNSrASK0mDOPYSjImcULjfrE9BDa+ErGYHDpgvgtj8NR+7 +CI2pGkORPb25aBWCxXfq7qSCYeBfEfxed2XE4ucPzmRz4Bs5TmEOGkV8hJTcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2nxX50GHz7jd for ; Fri, 30 Jan 2026 20:42:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26589 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Jan 2026 20:42:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 56e1cba88bb8 - main - ip6_mroute: Remove unnecessary casts 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: 56e1cba88bb82f2a6af0212c72182ff6303a1554 Auto-Submitted: auto-generated Date: Fri, 30 Jan 2026 20:42:08 +0000 Message-Id: <697d17a0.26589.30739a8b@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=56e1cba88bb82f2a6af0212c72182ff6303a1554 commit 56e1cba88bb82f2a6af0212c72182ff6303a1554 Author: Mark Johnston AuthorDate: 2026-01-30 20:39:34 +0000 Commit: Mark Johnston CommitDate: 2026-01-30 20:39:34 +0000 ip6_mroute: Remove unnecessary casts No functional change intended. MFC after: 1 week Sponsored by: Stormshield Sponsored by: Klara, Inc. --- sys/netinet6/ip6_mroute.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/netinet6/ip6_mroute.c b/sys/netinet6/ip6_mroute.c index 29144f4d1acb..5a60a3ed368f 100644 --- a/sys/netinet6/ip6_mroute.c +++ b/sys/netinet6/ip6_mroute.c @@ -916,8 +916,7 @@ add_m6fc(struct mf6cctl *mfccp) } if (rt == NULL) { /* no upcall, so make a new entry */ - rt = (struct mf6c *)malloc(sizeof(*rt), M_MRTABLE6, - M_NOWAIT); + rt = malloc(sizeof(*rt), M_MRTABLE6, M_NOWAIT); if (rt == NULL) { MFC6_UNLOCK(); return (ENOBUFS); @@ -1134,7 +1133,7 @@ X_ip6_mforward(struct ip6_hdr *ip6, struct ifnet *ifp, struct mbuf *m) * Allocate mbufs early so that we don't do extra work if we * are just going to fail anyway. */ - rte = (struct rtdetq *)malloc(sizeof(*rte), M_MRTABLE6, M_NOWAIT); + rte = malloc(sizeof(*rte), M_MRTABLE6, M_NOWAIT); if (rte == NULL) { MFC6_UNLOCK(); return (ENOBUFS); @@ -1168,7 +1167,7 @@ X_ip6_mforward(struct ip6_hdr *ip6, struct ifnet *ifp, struct mbuf *m) struct omrt6msg *oim; #endif /* no upcall, so make a new entry */ - rt = (struct mf6c *)malloc(sizeof(*rt), M_MRTABLE6, M_NOWAIT); + rt = malloc(sizeof(*rt), M_MRTABLE6, M_NOWAIT); if (rt == NULL) { free(rte, M_MRTABLE6); m_freem(mb0); From nobody Fri Jan 30 21:18: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 4f2plG4tQMz6QZtG; Fri, 30 Jan 2026 21:18:18 +0000 (UTC) (envelope-from glebius@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 4f2plG45Hvz3cjQ; Fri, 30 Jan 2026 21:18:18 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769807898; 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=8uSOM3ZrTNQ+oBYiwdhGmgYCC37eUs4ht7LxKl8BAe4=; b=m1EtR/tzT0ej2ag38vcgNBgGv+otKaM4KcaU83O1eB+m7tcTP5ZsrAt+kNUNkjTCRf7j1r sH7PRibLZhvVNr7Jbar8I6gpbjG40Ki05SebXr+Xqb5sPgLW3jY05EHURXTIzdy168ERfO sNJg3vOAQoQGX636gS4JfBjrH5LgOP+YoM41GCJHK3pfibLvnYMalOdWPAM6C0NXOOTfaP KQpCO2uTE2Ykez9/X7zmDFpp4XLmvJhtJWfFaBfTq4UFyWx3nVarBGX8d9F30bC7BB/QKq Linby1+spk3yDgEgqdHotsUxgEkm/rRvOX4i6VBx4L4uee+NZnmL6Ja3cvSm3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769807898; a=rsa-sha256; cv=none; b=bDxSzHCu/6VJGRZujukubaotvNrQaajieWFgSGjTyih3j+KBG4cEkBx1wfW1uF8OZCrNfm 59XiFvWYDlQSE7PHvAkZTTDkhjmu4xNe2gXAkz8juE9ko3YIE7COR8kvNBWXl0PS8ChGBc 7OoFtBpZPcJ0u9BqG7ipU+LaOlSH7QJapu8J7sQfujvcK1og466/JVVl/wkjTPBbZjBL46 gnymR3Du3SSUjJmOGOui900glP7KTfMe67/0e7R8/C4LvprGnCbwcJLVFBLmJkUGpX/CYZ uRVgDc1o8pI8LobZomQPK9gTBbnYLKYRYwUJb1I0/MkLOjg3LHr14Cu6d6YWvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769807898; 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=8uSOM3ZrTNQ+oBYiwdhGmgYCC37eUs4ht7LxKl8BAe4=; b=uKTWphjM9YGsZZGx9K4cD7xOvMtlD3DRkhNHxT0PzmlUd4dsmtTDS29Tw7nFTGE8LsCjBz KkbGUcQDDymvbfi16CXvMaJQjuz1B7+Q9v/Tmxs7ioZI4c/BTAEsY7gWkHwtpkBWYgIFTM aTLwh7kNKorDI/gawYuZly0lDRFpd5ajm0g8Nr0Th/hWc1f9BS+RfdJC1R8juEkdHNjdTw HLnUflgO638cTCRk0Qcy6fJfnZkqbz1zIvHtNg94N5EK8Azlqm6FVBXvepRwR9YUz2dRjc KdXmoQ+r+LYat8iJYwo7ijsk/DWBBZeyQiViqWWGUqkQaGmulAj9eF64R5QLNw== 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 4f2plF628Xz1BQr; Fri, 30 Jan 2026 21:18:17 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Fri, 30 Jan 2026 13:18:15 -0800 From: Gleb Smirnoff To: Ed Maste , bz@freebsd.org Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 627e126dbb07 - main - netinet6: Disallow connections to IN6ADDR_ANY Message-ID: References: <697b6a04.24ab3.604d8615@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: <697b6a04.24ab3.604d8615@gitrepo.freebsd.org> On Thu, Jan 29, 2026 at 02:09:08PM +0000, Ed Maste wrote: E> The branch main has been updated by emaste: E> E> URL: https://cgit.FreeBSD.org/src/commit/?id=627e126dbb07b167b028380ef61bb45f10493938 E> E> commit 627e126dbb07b167b028380ef61bb45f10493938 E> Author: Ed Maste E> AuthorDate: 2025-12-19 14:15:35 +0000 E> Commit: Ed Maste E> CommitDate: 2026-01-29 14:08:45 +0000 E> E> netinet6: Disallow connections to IN6ADDR_ANY E> E> Previously connect() or sendto() to INADDR_ANY or IN6ADDR_ANY reached E> some socket bound to some host interface address. Although this was E> intentional it was an artifact of a different era, and is not desirable E> now. E> E> In 417b35a97b76 markj added support to disallow connect() to INADDR_ANY E> and IN6ADDR_ANY. Connections to INADDR_ANY were disabled by default in E> cd240957d7ba. Follow suit with IN6ADDR_ANY. E> E> Reviewed by: glebius, markj, zlei E> Sponsored by: The FreeBSD Foundation E> Differential Revision: https://reviews.freebsd.org/D54306 Now the test socket_afinet:socket_afinet_bind_connected_port needs either be adjusted or disabled. # kyua debug -k /usr/tests/sys/netinet/Kyuafile socket_afinet:socket_afinet_bind_connected_port socket_afinet:socket_afinet_bind_connected_port -> failed: /usr/src/FreeBSD/tests/sys/netinet/socket_afinet.c:556: connect failed: Network is unreachable -- Gleb Smirnoff From nobody Fri Jan 30 21:25: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 4f2pvk6gpVz6QbVR; Fri, 30 Jan 2026 21:25:38 +0000 (UTC) (envelope-from bz@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 4f2pvk61dqz3fPd; Fri, 30 Jan 2026 21:25:38 +0000 (UTC) (envelope-from bz@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769808338; 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=rJUbsONnrpfpzl7OgfpnlqgRAk/+AIbV1sT9r2priLA=; b=RqSwrTcK7sPwu/dtE7rREOHALJgO3Qvz0eEOm43gGLQpvUbkpEvSutooc/qNrnY1UgXFpf kr0+o3hgDdH6xng2Ld1W+3Yya/0ddng1k2DL5oEeWymPzZCNqkpgUjuq5kKMR+6CENCrca 6a3RGDxUm2xQTOrBIMowqsPisdwvHRk0aJrE69xFb22IJD5jFO+NTGaMTsM7pYkhxSoLYP EImtgjMrumVrz8oIqDznRdlbjipWgEF3ZQ6I4HrlvVa3ZyGttcydE2C+EsXn1H96HY4zls smzxB/+ClV+9E6Ixkf2NIstZqVC9IeeXJ35GBttOxtDVBcv5AZcDDDruNH9PQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769808338; a=rsa-sha256; cv=none; b=MYqo21MgoX8UxG4jX/uNHOZ2TeLiO0TMVrCzsZp207iK0lgX0a8T2mIr7zASD9P5FVS/W1 7dtOL2mMau5HcFZts3mew6hTH5oYpIqbNX1GGuwbYcYmYBWwibCbDzglvHqN6PgVWiEVLt NCQfg9KKVxajkvZyHSW5ECZEscSDSDxvN+w2izPiD8rfEHBL56JcYkEgUYTJG/polCXFrI kqxIcKK87Tw8o+6rGg4fVfRUFBqQOF8gZbjFCQp/YRusUuPzdeuQnhBCw2RmiEA9IJPSmN n8GkwBJ7cZ2EBeAf2zk8uaXRlAtecJ+he7W6E6RO7Y8eH1H4uzVBBuXt1X2qpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769808338; 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=rJUbsONnrpfpzl7OgfpnlqgRAk/+AIbV1sT9r2priLA=; b=RTXKD8PvbB9pbi7DAAAWGnSQswBMZe3bqs/EvVB/a4P6WssDQLYwHf1ldnglO+G4rABYFG 9lBkvz1f26lty0X7MvA1d6OSw38kSIYV4UnKIzYt7G6/O22CnhiD+zKPRpAXi+vC7Bi8Vd kHd23co6+ThifWfrjo/XfjStIlnMzfF9I9VOHCy4+TsfvCY+vIfEgR6sNZTa4O6ygdc28w 4s1onPHw78GxOzmOx//egklbErn10YNa2uMPBZpxo3skz9ywJ/m8ZY+RrXfMwSuQFE+H7j 9PCaGNzBY2aI0OezYTiYw8tJiexzeal+wsgyOgZJ0gzvNREX7+lHbQeEDLGzOA== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E8" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4f2pvk4Lf0z1Bqw; Fri, 30 Jan 2026 21:25:38 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 73821A64805; Fri, 30 Jan 2026 21:25:19 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id A97B52D029E7; Fri, 30 Jan 2026 21:25:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id wPxZs9NL7Qiq; Fri, 30 Jan 2026 21:25:35 +0000 (UTC) Received: from nv.t4-02.sbone.de (nv.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id B52372D029D8; Fri, 30 Jan 2026 21:25:35 +0000 (UTC) Date: Fri, 30 Jan 2026 21:25:35 +0000 (UTC) From: "Bjoern A. Zeeb" To: Gleb Smirnoff cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 627e126dbb07 - main - netinet6: Disallow connections to IN6ADDR_ANY In-Reply-To: Message-ID: <52p98548-6112-r34-75p2-761oppnp96q1@serrofq.bet> References: <697b6a04.24ab3.604d8615@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 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; format=flowed; charset=US-ASCII On Fri, 30 Jan 2026, Gleb Smirnoff wrote: > On Thu, Jan 29, 2026 at 02:09:08PM +0000, Ed Maste wrote: > E> The branch main has been updated by emaste: > E> > E> URL: https://cgit.FreeBSD.org/src/commit/?id=627e126dbb07b167b028380ef61bb45f10493938 > E> > E> commit 627e126dbb07b167b028380ef61bb45f10493938 > E> Author: Ed Maste > E> AuthorDate: 2025-12-19 14:15:35 +0000 > E> Commit: Ed Maste > E> CommitDate: 2026-01-29 14:08:45 +0000 > E> > E> netinet6: Disallow connections to IN6ADDR_ANY > E> > E> Previously connect() or sendto() to INADDR_ANY or IN6ADDR_ANY reached > E> some socket bound to some host interface address. Although this was > E> intentional it was an artifact of a different era, and is not desirable > E> now. > E> > E> In 417b35a97b76 markj added support to disallow connect() to INADDR_ANY > E> and IN6ADDR_ANY. Connections to INADDR_ANY were disabled by default in > E> cd240957d7ba. Follow suit with IN6ADDR_ANY. > E> > E> Reviewed by: glebius, markj, zlei > E> Sponsored by: The FreeBSD Foundation > E> Differential Revision: https://reviews.freebsd.org/D54306 > > Now the test socket_afinet:socket_afinet_bind_connected_port needs either be > adjusted or disabled. > > # kyua debug -k /usr/tests/sys/netinet/Kyuafile socket_afinet:socket_afinet_bind_connected_port > socket_afinet:socket_afinet_bind_connected_port -> failed: /usr/src/FreeBSD/tests/sys/netinet/socket_afinet.c:556: connect failed: Network is unreachable Yes looks like it. I am just not sure why I am specifically added to Cc: for this one. But it answers the question I left on the follow-up change at: https://reviews.freebsd.org/D54942 /bz -- Bjoern A. Zeeb r15:7 From nobody Fri Jan 30 21:28: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 4f2pz14p9Tz6QbJl; Fri, 30 Jan 2026 21:28:29 +0000 (UTC) (envelope-from glebius@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 4f2pz140Z4z3ffb; Fri, 30 Jan 2026 21:28:29 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769808509; 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=qDlC1g49NJndvxNRx4b7NuzDC6h3SJP8//2jPpd56XQ=; b=X1++Xm0+oYiOSyaQIdjwrSccslY+kv/ckUkPG7vEaDm8eIN6MJm/ApMF7fvdlwJGMhF3wK +G44FSk7S4Elt5x4hXua4aahq6d04OvHXuWGnJqxCu1dfVtm3aPHCvD9PnLqOvVKVw60uK fS/71GebdOQ15PpHhR8LlCkd08fZ9TxM91VMBeHPvVpad2eJUr0ezYdCMxV4O5ONLOs9g8 obWIyxTYxQSMWwFZd+mEjjrauDApi7HMX/n7odKyG4C8+fSRXIAGtYUEbf8usJHVD3UM00 ejWQPPdHyg9n2qfvuhPvspFBpCxQNUWHr/McpWZBfLVhJLWzfs/E7yz0PJ6TCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769808509; a=rsa-sha256; cv=none; b=LXEDWlzZV+gNZp2QTrFSN2P0qV/jN7vSXIdFSylLw/DqKWRnk0xsjZmp/M8nI1YR/01Jm+ K7PtRFq1HNynB5gtp+d7a+KJFDymMMHAy+NDMY7/Loosy+X+EX5uOx0PWdR2HDOYmHRuG4 hr8LdrltRMrrztXUdWvH/vWRA5TiyIm3hfKNJk6a/9IBV5khqYpp+6Yn6P2Z1t3grWxSye pkaZun54/MDVft/Yob6QD94gQHa8i0T9jfdc2vgpDnwn8pEDZJCBxEGHh2hPPKlt9q7K+V m4cmc1In2LmnIkczp95MmCQDx7V4zws595Cf4XaqnG9hCrwK0dxfvAW9g2SCWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769808509; 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=qDlC1g49NJndvxNRx4b7NuzDC6h3SJP8//2jPpd56XQ=; b=ZKeYqfPXd9yATEe3lhwrTbawlWZ1Zu/etGwlRzz1cOPB33m7F6Rs66R6MiJrZOzv6RBx4U mVfHD4XO0BMYowqbJsq2b+tFAQO1wik/fW5v9OvG8WgyCMlnXn6I/I0afR4fmr+FvwdUZB 64p98aKbrZ+/H9YXTNJmVs/Li1icrjdi3uQSfzwHUWopz+AUMixwbxViQbqR4HugSBcRwo I9kteuHdEylRCSUBrhn82srAlWOLFz6F2pnY0+4sCwdidOPyynGVFvecRH1/qJV11GHZLZ /c/WYZhRCB/vknD5RCBN2iGix1FbYu6SHTRV1IOJZ3h35Li7nL04rEAa+RY51Q== 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 4f2pz06JQ2z1C5b; Fri, 30 Jan 2026 21:28:28 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Fri, 30 Jan 2026 13:28:26 -0800 From: Gleb Smirnoff To: "Bjoern A. Zeeb" Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 627e126dbb07 - main - netinet6: Disallow connections to IN6ADDR_ANY Message-ID: References: <697b6a04.24ab3.604d8615@gitrepo.freebsd.org> <52p98548-6112-r34-75p2-761oppnp96q1@serrofq.bet> 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: <52p98548-6112-r34-75p2-761oppnp96q1@serrofq.bet> On Fri, Jan 30, 2026 at 09:25:35PM +0000, Bjoern A. Zeeb wrote: B> I am just not sure why I am specifically added to Cc: for this one. Sorry, I looked into the test Copyright only and didn't do a proper git blame. B> But it answers the question I left on the follow-up change at: B> https://reviews.freebsd.org/D54942 :) -- Gleb Smirnoff From nobody Fri Jan 30 21:33: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 4f2q525f4fz6Qbwq; Fri, 30 Jan 2026 21:33:42 +0000 (UTC) (envelope-from glebius@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 4f2q524sYGz3glS; Fri, 30 Jan 2026 21:33:42 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769808822; 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=QU03v0H+bALqBfGF/GAjAZp26xiZU80AGLCzc/9yrJk=; b=mUBYDKr0hDVltrQJHdx+OAcW3iJv1G5pUGmCpQY5cQj+BnNmg6PBbwLii5etB8KyWTf/EW QQK/RZUgjHehXStsrenkyWXdLk9UmaNmF6BF8Fkevb7K+SbKjxXhm5zvF9BrqKV0bYvkiK TM8VCH6PKpoz6iQ0OTQD90b3R82JyCSm6Hirh9RHizSSpzV9m19ecy0+9C2iAkJDbRzjob LhChPpt+S/nn2uuFH2uA+BL2Sy5RCMV5qCWgl7ylEQrYVTQZleeOM2ZIXQ+AZReYg7d8Ey EiFw8zoLmLv/KoPQ9pYYp6F2wjKe6SjUVNtH2jPTrPhFCZvSiQkBR7ar1fzbVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769808822; a=rsa-sha256; cv=none; b=J8K7t8rId4W8R4nebbuVs17bIkPHj6x2z29679BdyWXmKO0Z34B0PXA3HHTSbsQFt+UHKH MEP8X+z6oWA4/YbZ+ei4tPiGTAkY6CC+W24adUImt+bvBZBh47CWA1ByULJSSZF6fHtuWt /ugeN6cIv6fFk+7FuBCmnZeQK9AQ81Wym8ijRzqGF5iDkk5g+qazs2vk6hTNlLWUb5cS2Q Oo4cBHkythFfSE1QipfWnaS+3AcnnsHc7BuAMkbi8gbFfyiSSGMSHtAVwvJUOi6Ny5rvCC h0fEDW3Km/GQS7+hYfpAQrhClG0HUaPyICvKKuqV2G/w/CFtFisdRW/74aX9rQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769808822; 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=QU03v0H+bALqBfGF/GAjAZp26xiZU80AGLCzc/9yrJk=; b=AT1nzLu61WhffferFikw5oqRkXxaTNV7EBp3PN0XG39meUhkDGVQe9nXJUaWxE+S484H6R tzShDtoAcvG9BnyD+v641/WfX69unmzEZEIrLK2jeAHiwuaRRaTt6KIvpXS7jRyOPvQato 1yCHs9+vidWuH7Je6hUOeeANVvK/3LNNzegkPfrxaHkh5CwnXm8GBO5fyyZUsFFeixGVHm NKyEWnh8uvSZ0oePrmnQW/71TWymsx6Z3P9czsz0zhI8cpcfDwPL9VLGRdnaqIAfionByn uyugXSLhp1gMbvmzvbmIb43rLsTHC1lU2UowMr7dgHlPsz0kRCIbO/QnDr2tkQ== 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 4f2q516PjTz1C5k; Fri, 30 Jan 2026 21:33:41 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Fri, 30 Jan 2026 13:33:39 -0800 From: Gleb Smirnoff To: Ed Maste , bz@freebsd.org Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 627e126dbb07 - main - netinet6: Disallow connections to IN6ADDR_ANY Message-ID: References: <697b6a04.24ab3.604d8615@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 Fri, Jan 30, 2026 at 01:18:15PM -0800, Gleb Smirnoff wrote: T> On Thu, Jan 29, 2026 at 02:09:08PM +0000, Ed Maste wrote: T> E> The branch main has been updated by emaste: T> E> T> E> URL: https://cgit.FreeBSD.org/src/commit/?id=627e126dbb07b167b028380ef61bb45f10493938 T> E> T> E> commit 627e126dbb07b167b028380ef61bb45f10493938 T> E> Author: Ed Maste T> E> AuthorDate: 2025-12-19 14:15:35 +0000 T> E> Commit: Ed Maste T> E> CommitDate: 2026-01-29 14:08:45 +0000 T> E> T> E> netinet6: Disallow connections to IN6ADDR_ANY T> E> T> E> Previously connect() or sendto() to INADDR_ANY or IN6ADDR_ANY reached T> E> some socket bound to some host interface address. Although this was T> E> intentional it was an artifact of a different era, and is not desirable T> E> now. T> E> T> E> In 417b35a97b76 markj added support to disallow connect() to INADDR_ANY T> E> and IN6ADDR_ANY. Connections to INADDR_ANY were disabled by default in T> E> cd240957d7ba. Follow suit with IN6ADDR_ANY. T> E> T> E> Reviewed by: glebius, markj, zlei T> E> Sponsored by: The FreeBSD Foundation T> E> Differential Revision: https://reviews.freebsd.org/D54306 T> T> Now the test socket_afinet:socket_afinet_bind_connected_port needs either be T> adjusted or disabled. T> T> # kyua debug -k /usr/tests/sys/netinet/Kyuafile socket_afinet:socket_afinet_bind_connected_port T> socket_afinet:socket_afinet_bind_connected_port -> failed: /usr/src/FreeBSD/tests/sys/netinet/socket_afinet.c:556: connect failed: Network is unreachable I pushed a fix. -- Gleb Smirnoff From nobody Sat Jan 31 04:14: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 4f2zzX40Cdz6QpWl for ; Sat, 31 Jan 2026 04:14: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 4f2zzX3PvNz3R73 for ; Sat, 31 Jan 2026 04:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769832872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DwizuX2XCUvnCLGqENysNHcM8FUkiJnA1yEZxh3TkSg=; b=xnm2r2FrIjq7rEOpz1PxQLGcZnaTZgYx420L9q2OklWc1yTTxMTxfVXyZAjygEzrvX6rWg hRrnWKSq2pV0M4GRSZUD99G2EzcpPm2ejccqX2FyzKsYdNQGkNGOe537FgFBbOQoTqgyAB cdUoSOSidJYta4mTKGS/eUFrIfq3f46Z/wIbYyNL+WtL4goKsjEAHYxbpKhhigNicSW/8+ k96070itL+zkuzv4i7KemVdT6V6frLzjOCLUzDyPJUEfDl+OwxnjBf0Q87P5CqstkQuacM lGJWM5XkZx64jOpGXYrjC0sbLhOPU1W4UXUnr0ufP48f4+74Jky9aTG56R8fOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769832872; a=rsa-sha256; cv=none; b=jDSjd0lQ/pLDiZ242uEgsyflcedolnxKd6x3gMlDRJk9YAq5ngtLxrxT1u3F1fNSLQmNOC 0FHGqFayoUoQuIbCeZqRESJbUTq3GociZ0pc/Pf+a3UmGPbJv+SfOlttUoz7lxDoOi++Vr Hx/zjn1LD028z0YiqnxrOw+wLU8YeSXj+YhmUQ9Yg8hdjPGtbXVmVRLbPdnE/8+mWaPffL RdlIX+p16OqTjEl4C36HWZSBO81hOhj3x5zC0DbJA1gKkUvJ/WKVB0zaLwlN+WesLdJkDM CZBdPzr8+VEksw8AaVAHh0rz3EDlGWmRk5wGMyrKqW3wQiXSpfDl3r3Y5E4QNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769832872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DwizuX2XCUvnCLGqENysNHcM8FUkiJnA1yEZxh3TkSg=; b=nsWVcpyHKnxDkVmzH7+k7gfwJxgjPsWLTzbLaTTSj8KZLAOusXpIXldM28BXG0WdaoVPb+ kOdk8Z6LdBNwvgiAYP/Bsq3qraq/Z1SL5/ZhqEu5n7/VjcvJYRqfVKT22FDwvjntpK89IU o03F6eFh7iFyjgysYHcIlFFGHKVeds14Sa/JbrfbTphtjKpU3SxTFIBUzZXFzAZRspYGo2 e+Q52sQjwLNKrkuOSKDVujYMYvcn3fK3EhGcp11XAjH1ZXXqdFVtrHa5n1bue2vbD0gUAP DL6zavYHgBIW9c/8HZlqDDZNYVQP+oSo75H3ul6ipRqhfws6yEi08lkOLUG27w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f2zzX2NTBzdph for ; Sat, 31 Jan 2026 04:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39859 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 04:14:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: ab9b04736945 - main - clang-format: adjust to sort C++ headers per 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab9b04736945537743eb0624ead7a4fa4b960783 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 04:14:32 +0000 Message-Id: <697d81a8.39859.2e1f8525@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=ab9b04736945537743eb0624ead7a4fa4b960783 commit ab9b04736945537743eb0624ead7a4fa4b960783 Author: Enji Cooper AuthorDate: 2026-01-31 04:14:07 +0000 Commit: Enji Cooper CommitDate: 2026-01-31 04:14:10 +0000 clang-format: adjust to sort C++ headers per style(9) Many standard C++ headers do not have the .h file extension: some, such as `iostream`, lack it; others have a .hpp file extension. Moreover, some projects (like ATF/Kyua) also contain .ipp files, which are C++ "interface" files. Relax the regular expression to ensure that non-traditional C "system" headers, C++ headers, etc, with angle brackets are sorted before "local" headers. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D54401 --- .clang-format | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.clang-format b/.clang-format index 3d436fa0b35d..efe9f1202bde 100644 --- a/.clang-format +++ b/.clang-format @@ -151,10 +151,10 @@ IncludeCategories: - Regex: '^<(fs|nfs(|client|server)|ufs)/' Priority: 8 SortPriority: 80 - - Regex: '^<[^/].*\.h' + - Regex: '^<[^/].*' Priority: 9 SortPriority: 90 - - Regex: '^\".*\.h\"' + - Regex: '^\".*\"' Priority: 10 SortPriority: 100 # LLVM's header include ordering style is almost the exact opposite of ours. From nobody Sat Jan 31 10:45: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 4f38fD52Qmz6Pkf6 for ; Sat, 31 Jan 2026 10:45: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 4f38fD4XYYz40mG for ; Sat, 31 Jan 2026 10:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769856308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5WhkREsbD5jAk2BjJFx+MSb7LWs1KhhKm6KBVVflzQ=; b=QpToNf5jSrMcG4XgEWq2RWw6vEDxHWkEwcC9sEHkPy0YpwOjfTSt89dTI08jdGGlDGs3wr 2HUlfRh3oHmU39smH1SrRnRqK0FTUaMmiR8Ia3ey3WQf8lFxCEkp9all4sJuNRFOaegJLG JSluryAfpAbP/8istAzWXAXNSgaTJmbWQznr6JiRlUmpzLWRbmYVGKNUAv3kqPxegjiI+X 3ox7hS+X09102KvO15iF/2YderMTuSiimvxmUFv7lgXg3URvoOynm3H+zVd4Xyfbcd84rz L8kxc28ChDtWX28T0RlyBLbKqX8RUZ5RBKG6UTurCy0Vs5x0X6+XYol5W2UiqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769856308; a=rsa-sha256; cv=none; b=iJqAO3DbFiMefu/Sge7nPWV1W7cBFHXDR/4oCHgo+0YwX52sa/NfXEi2T7KIp+PemCY+66 sewRa4U1S+vKJhfSfnMJTqBuCMpGq1FWdz5XHaIlfwdRzVuErh6Ezla3Cb94O+9qvJpI4B oGKromTkFqwiGNeIhuMM+Vv75lhVUbOqpkQOIPRrACjmRHIe0QYwxtEptM6XgC8OtjJeWW UCT83IdMPO7Zehy2Ko6b9h+up5sUoxbtCn90KffX9KqzzZnP74IdnoRZUz9YmK/7tETbRH XW08kLk5l6Cb6DKBWrOVn9+u7UIv7mp9GqrJTPXm5/kt5xwAXYFVrKg1OoFqfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769856308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5WhkREsbD5jAk2BjJFx+MSb7LWs1KhhKm6KBVVflzQ=; b=yBK6d2EKqia+fOG+8oeisIVnRZ+HURh1Y7JBb3mYdKu4UMyfCV080qz29GGpa5x/ZDt/+W tvRtyVvrDVolmUTYQo/Zlki2Y1QQp/a7OLx6hh3SX9XdsxRAEecn07FQBu1gkVN5+sdJSU /B8sIQQNu/S30Q9hqM3wZcjD/10AW9mcPNCewvKAC1ONsOq0OTUR1l6XD/ocrtubE0HlWd FlhEiIqgd+ONLYMOueSVvy1xPFtHcJ3vMKcVQVGs6syEkXOCGh+QjrM8qMwIQFMc7Kv8zI WmU1EH7MSM6+rdPpv7Z/10XcHiY9LXI4+A95y9UJ2Ixx8aocQ9qz+mWsPQhvtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f38fD3t0DzqwF for ; Sat, 31 Jan 2026 10:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ef70 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 10:45:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 7b6e84c9ac56 - main - ure: improve 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: 7b6e84c9ac5668134ab2d075019ef0b827d90c84 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 10:45:08 +0000 Message-Id: <697ddd34.3ef70.43e05480@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=7b6e84c9ac5668134ab2d075019ef0b827d90c84 commit 7b6e84c9ac5668134ab2d075019ef0b827d90c84 Author: Michael Tuexen AuthorDate: 2026-01-31 10:42:10 +0000 Commit: Michael Tuexen CommitDate: 2026-01-31 10:42:10 +0000 ure: improve checksum offloading This patch fixes three issues: (1) Initially, set the hwassist flags correctly when enabling transmit checksum offload for TCP/IPv6 and UDP/IPv6. (2) Keep the hwassist flags in sync with the capabilities when changing txcsum. (3) Keep the hwasssit flags in sync with the capabilities when changing txcsum6. Without this patch, transmit checksum offloading for TCP/IPv6 and UDP/IPv6 is never used and transmit checksum offloading for IPv4, TCP/IPv4 and UDP/IPv4 is always used, even if disabled via ifconfig ue? -txcsum. Reviewed by: Timo Völker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54974 --- sys/dev/usb/net/if_ure.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/usb/net/if_ure.c b/sys/dev/usb/net/if_ure.c index c3f7b622d687..3dea88eb10f1 100644 --- a/sys/dev/usb/net/if_ure.c +++ b/sys/dev/usb/net/if_ure.c @@ -1015,6 +1015,7 @@ ure_attach_post_sub(struct usb_ether *ue) if_sethwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); #ifdef INET6 if_setcapabilitiesbit(ifp, IFCAP_HWCSUM_IPV6, 0); + if_sethwassistbits(ifp, CSUM_IP6_UDP|CSUM_IP6_TCP, 0); #endif if_setcapenable(ifp, if_getcapabilities(ifp)); @@ -1463,6 +1464,7 @@ ure_ioctl(if_t ifp, u_long cmd, caddr_t data) if ((mask & IFCAP_TXCSUM) != 0 && (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { if_togglecapenable(ifp, IFCAP_TXCSUM); + if_togglehwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); } if ((mask & IFCAP_RXCSUM) != 0 && (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { @@ -1471,6 +1473,7 @@ ure_ioctl(if_t ifp, u_long cmd, caddr_t data) if ((mask & IFCAP_TXCSUM_IPV6) != 0 && (if_getcapabilities(ifp) & IFCAP_TXCSUM_IPV6) != 0) { if_togglecapenable(ifp, IFCAP_TXCSUM_IPV6); + if_togglehwassist(ifp, CSUM_IP6_UDP|CSUM_IP6_TCP); } if ((mask & IFCAP_RXCSUM_IPV6) != 0 && (if_getcapabilities(ifp) & IFCAP_RXCSUM_IPV6) != 0) { From nobody Sat Jan 31 15:22: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 4f3Gnx6KkWz6QLwm for ; Sat, 31 Jan 2026 15:22:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f3Gnx5ghKz3Dn2 for ; Sat, 31 Jan 2026 15:22:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769872933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dr9GVFsJuAoKc8Umz0rA7Jtwg7zO2FBxcJgC82QD+rw=; b=gx5idyE7N8cdRuo5AtPbbYi9gUlMoqKpOvUvbbyxiqImoqvpr2c0mJPs1ndH9cJUlLl9Pl me3iXsVoGPDk40ttF7Yvpbsr4T/DObhsUyTQDl85fRukQZef7OTxa2jcSG2+yxlvHXj6kZ klfWACZ5KipgSVBHKt8FiWmu30qXOWmjUmSMJx9KWhFHUbLKm66EEuDoAttDqvUDtnFxgk T9i0Z/ODMf8+li/wt80YeZhe3omCC97Pk7F7sZ1jrlRihPC4M0ZT5tWrG0ph0Me9TSIK2s hKHg50vFISMBb05x52OAl8AMLYgYMk8BO2hPxBQRYfscCXswoP9g0eKG1BlUMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769872933; a=rsa-sha256; cv=none; b=HmxM7cqyIFoMNwc/dBQJr4YxLkjgkm7zYwKNdutIS/0bnxWj7M19ukoXGs9Gjnm8hhTQsw m7czybiLws+qcBm5Yy2U0Oey0GMIAZ88zZN86Ju4N1EBaAbI3WYLyE6a0h6hEG+Oc8pivV uqeg74VAgqjwrrUcjSWIzdE8NOPzNmPFMcsO7z45jBiWQfkF05t8Tr1IfrPH1KmC+3+ReO KBeiRdrVmaMdcOaZ4cKc5FTq1U/WOCoKo2ghyIxSK3+NFayUR1YA/7u4UoaB/mwOvmhMeA +Vot8jDlOXm5pRmnyVuQapA1wopt9uMHhCjvnjcq6jyAFbR0dc2goehMvaNm3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769872933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dr9GVFsJuAoKc8Umz0rA7Jtwg7zO2FBxcJgC82QD+rw=; b=wJYUCH5v+i/US2zLPT0qiF/PVAy1mXrx8tKRQ9KIyVMmKpc+N9zDkOwtNxzwYgd59eT5v1 z1ZPtpCHh3FjNfDnhTbMOSGzgRPjTgNXepptY5XRZipHsvEMKzC6RTB4vjexmf1To7H8Xr cdjAE1A9zRIj8W2Eu9diFi38c6FmzNzFBvXoXV9c8ZJgul8xqwG3KQvm7AJHMBg15uA35W T9g4U+xgXLuwI0Fr8s5UbnzRlsfhxKXl3hcJ7q3v17ET9uuGRFIx/KVhCG9PH17bxSyTui NrDVklZaxIuIISsaESfRHJKN/TCXIo/zvX5ryjkT/zpX1VQG1fAKlGqoOWa8vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3Gnx57VPz10Nd for ; Sat, 31 Jan 2026 15:22:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37e4d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 15:22:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: a17659fe260c - main - ath_hal(4): 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: a17659fe260ce16c1e373b543ca9f13cc14340ea Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 15:22:13 +0000 Message-Id: <697e1e25.37e4d.32b6cf8d@gitrepo.freebsd.org> The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=a17659fe260ce16c1e373b543ca9f13cc14340ea commit a17659fe260ce16c1e373b543ca9f13cc14340ea Author: Gordon Bergling AuthorDate: 2026-01-31 15:20:32 +0000 Commit: Gordon Bergling CommitDate: 2026-01-31 15:20:32 +0000 ath_hal(4): Fix a typo in a source code comment - s/arithmatic/arithmetic/ MFC after: 5 days --- sys/dev/ath/ath_hal/ar5211/ar5211_reset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c b/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c index fa5293777f02..c5a86ef78edb 100644 --- a/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c +++ b/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c @@ -1800,7 +1800,7 @@ ar5211GetInterpolatedValue(uint16_t target, /* * Look for value being within 0.1 of the search values * however, NDIS can't do float calculations, so multiply everything - * up by EEP_SCALE so can do integer arithmatic + * up by EEP_SCALE so can do integer arithmetic * * INPUT value -value to search for * INPUT pList -ptr to the list to search From nobody Sat Jan 31 15:22: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 4f3Gnz1Hvwz6QLtm for ; Sat, 31 Jan 2026 15:22: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 4f3Gny6flKz3Df5 for ; Sat, 31 Jan 2026 15:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769872935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3SDHtMOFukaCUllLtrLnRypouYbYjL7jTVN7OF1ATI=; b=amjZvFohBAOCHHxGyi+i9yaXKUfgHT0+JuFsEl4RpN4Y1L7/tBD0aRVqKgPg27wX7qzkfR OYXMCtshuuZPpy26Kf15OHc9CdjtNBJLtT3FCguy0mbzSJMJMv7K6RMtusCUT3LTxK46Oz CV0gefoS92O/R4TqS0EV7rn7lUQhmja/l+ialzuZBdEgOKgLCH2sRtiAjG5VSKSvkymPNx 5BP/U2fAHm+jHydEArmnLSPkzvTNrtELDPY7wHFHcMK4/37ZOvemikb8QjRimSMZR0bgaE +wHGe9LWw0h+58JAmRisbmq7V04tHY1It4QMMhVLL87KtDqN9Nin2+Zb8L4X3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769872935; a=rsa-sha256; cv=none; b=DjjPy5HrfPf0CTQWiAXhUAY2M7zQKY3L1ijAMduWHdrIJ0yR87ZXUrEqvzTA5qMebOek7x Qjp1NSQEP4WPMwe4SpsSvNdey73i80wVAdRAXcqr9AXDDLzw3b78T6Vt8XV5t2AwLxLj7O AGW91xWEd8VUgyYqy2XwGoEjsLeyz0nu6tGbC0II9CMV/4mr8WsvB27QYkn9QMVq4oao2E eZ603uR7nCTetpTkc2ayu+G+27K1ftenIdSWtvt9JWYwUbvMEkyJQWSf3IPGjhICjj5jLe LRVgRg8GkrfvBMqEJPZcQq/Bn+fHniAzIecxKuC30eyM5PS5m+AU+xSZgKiteQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769872935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3SDHtMOFukaCUllLtrLnRypouYbYjL7jTVN7OF1ATI=; b=bP6Gj80KfTkti2p1bxmZkyc2Wd7nbJLUoepDZTzxyG5AdJsyOySKvn2QxUhCY2+6fG9n66 BzuygyPEXsN+mELmm6kt+RXoqOgypHw74V/ctm3iZdfPp8XXcHTxE6OtdL/KHkP1W2PyBV QhTNbpW76ztVwVi483DVfNtWvZ6qwzIR0EZm/VWCPeJlQpejqcaDvdA1EgN2SBsy65vb9l HPahlax/QmtHkmqkiaI/HkQEpyvLR9SsQVM8X3/7IZDKu3U6mN5OYiaVL4UNEAi/NUl8tC Thvm/VTSO3Q4/psAY2VVlKOgd10HG/9p3/nzgfrPsWk63HhNpaT9jC5NzEpwWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3Gny5yDhz10cG for ; Sat, 31 Jan 2026 15:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38033 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 15:22:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 0a3e7ba46637 - main - cpufreq(4): 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: 0a3e7ba466376b46672b56c991c09cde528b9729 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 15:22:14 +0000 Message-Id: <697e1e26.38033.45e1b03c@gitrepo.freebsd.org> The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=0a3e7ba466376b46672b56c991c09cde528b9729 commit 0a3e7ba466376b46672b56c991c09cde528b9729 Author: Gordon Bergling AuthorDate: 2026-01-31 15:22:00 +0000 Commit: Gordon Bergling CommitDate: 2026-01-31 15:22:00 +0000 cpufreq(4): Fix a typo in a source code comment - s/transcation/transaction/ MFC after: 5 days --- sys/powerpc/cpufreq/pcr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/powerpc/cpufreq/pcr.c b/sys/powerpc/cpufreq/pcr.c index 335a1d011a66..c58176997470 100644 --- a/sys/powerpc/cpufreq/pcr.c +++ b/sys/powerpc/cpufreq/pcr.c @@ -141,7 +141,7 @@ read_scom(register_t address) __asm __volatile ("mfspr %0,%1;" " mr %0+1, %0; srdi %0,%0,32" : "=r" (ret) : "K" (SPR_SCOMD)); - (void)mfspr(SPR_SCOMC); /* Complete transcation */ + (void)mfspr(SPR_SCOMC); /* Complete transaction */ mtmsr(msr); isync(); From nobody Sat Jan 31 15:47: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 4f3HLt0dNTz6QNvQ for ; Sat, 31 Jan 2026 15:47: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 4f3HLs4QQZz3Gtv for ; Sat, 31 Jan 2026 15:47:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769874437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=603brYYLDH5J8KOOrI3A+FMDQHET93Vt7wTG5IoLKtI=; b=oKI2Vu1KI7D/rSX00yUuZSA4G/+MACID/IYdRQO9n2Iim2AagMZ067zSghL2fCfLSJ10ol BbLMG3SmSkKffZtxUE4XYc/EdxNZGqldgkuoujsHfiqvfc3lZ9NRoCRafGVpo5ZM5BPwvv TgsZidJXeRHBfjJhex9ohNuNTkc61wfBoWZKCsfcmGbF3qgT/Mjlqj0Bv21qYU2Rys//Ts Y4LMwLQOGkI+nxHinreLYAhw2N6NsD7AmB4uKdOPa4JNcug/MKGfM+KCBpnEXj4zBpeqmc RwJaiunjMcLhfIMOua8Rss1i8kDMFbDkleH6XaM6xufvKhA9FUq4XAl14bfTDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769874437; a=rsa-sha256; cv=none; b=ujjh1baknfDw0iojrPHgT/WVG8juVH7NZ5L6Tew/d2NcN90CK38hyCC97r9ubKF96qFpWc mBvxyJomg/xnyapxNRmDt3RzOl2rWYYUjegl4cDTFy7Od/wVW/SU3ZqFWwpTPp+Xh3BXth ogW41+T45Kkx8hatYdDsyz4ZCxU8ih0nae5MhnEjUMcC/UI1OvOv3RKsfxsKG9kcU/VZU7 SHfkd/8LmyHXVSytpO+oHEeyzHFU8+PG5fxcw9W+m8Zk4oqZRuaRLJOjvgsjS39xstiDkI n0dD7TzK4gvDylWTcedApxwlJti/8zaUcxChDOxRzpKeLrBuvei1Z1lv8koNgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769874437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=603brYYLDH5J8KOOrI3A+FMDQHET93Vt7wTG5IoLKtI=; b=SauUiUwBr7dBz8GrGkE8rdMEStYOghDjzM0L19vmMJSzpQmE1PlRkZfQLdg31t79MdF8oK kVDCtf02Msu7Hl98ZKleW3k9s2ZIJVow3mq29/QR6/sIQtfvwplhx/mAxWLFCM6Rz+HHdH Yz1eQ93hW7mp34kanIaeKXu6cOKf1ZLwEW7WS4UYM5jcriIGX5Iy01r5hfHCHzHokxtDm6 qtiQtv5p4GFea2X9hGv2u9Y1+/hcOv2sPjT9o/xQ6WjUhDoLpEpcyBXcancRPk4nh990sW RFmBCTbCEAP30zQBUq3otKk+7wb9zXTOuHQlmjNSroIAbqFNLE3MEbo2FSufnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3HLs2wr2z10t9 for ; Sat, 31 Jan 2026 15:47:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 379e9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 15:47:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: df68a09ea2ec - main - tests: sys/capsicum/functional requires mqueuefs 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: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df68a09ea2ec18ee975fb937d46a18250d4663c8 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 15:47:17 +0000 Message-Id: <697e2405.379e9.2faa1436@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=df68a09ea2ec18ee975fb937d46a18250d4663c8 commit df68a09ea2ec18ee975fb937d46a18250d4663c8 Author: Alan Somers AuthorDate: 2026-01-27 00:04:58 +0000 Commit: Alan Somers CommitDate: 2026-01-31 15:46:35 +0000 tests: sys/capsicum/functional requires mqueuefs Skip this test if mqueuefs isn't loaded. Unfortunately, that will skip the entire googletest test program, including test cases that don't require mqueuefs. But the test's own skipping logic doesn't work, and we don't yet have a googletest-compatible require_kmods() function. MFC after: 2 weeks Sponsored by: ConnectWise Reviewed by: emaste, ngie Differential Revision: https://reviews.freebsd.org/D54902 --- tests/sys/capsicum/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index 38c1f8285910..a8f72d399af9 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -15,6 +15,7 @@ GTESTS_WRAPPER_SH.capsicum-test= functional # unprivileged user. Serialize them since some tests access global namespaces, # e.g., mqueuefs, and can trample on each other. TEST_METADATA.functional+= is_exclusive="true" +TEST_METADATA.functional+= required_kmods="mqueuefs" SRCS.capsicum-test+= \ capsicum-test-main.cc \ From nobody Sat Jan 31 16:59: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 4f3JyK1Tbcz6QW8k for ; Sat, 31 Jan 2026 16:59: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 4f3JyK11YNz3R2C for ; Sat, 31 Jan 2026 16:59:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769878777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGLf33vL0wJGEXHhzJE6zLQyHmclcF6/855sJ0HHDsI=; b=X7l26JSVddbsHPVWfbgm0kfk0qJUgHwf4yn05TqcsMs8MSL7Sit8xZTPI4j1MnZh0NhNtj ES65LD6d9A3/MQ8xcIax1aZzyuDtBylcyigo/oamUshX9EEhrD8qL9qFU0gGJqPXio8RX/ k6Nxy+i0OaUeg2D1Tqxnr9CnilGZvToUmZUCGIC1lTWpxZxECNqwKxaB+KIAX9vXehAE1A EKhPsyUNWz3/PjRaOiTJxwhpepvqU9/kamkfZR3N3ffVmhCgEG96l0v6o4b6ZhK7gfq7NJ 9ZNpDgM5oV2uhNs3/T1lumMIXC9k1Il3yyUReJHNVq7pEPT5D9XoW0Jq/c7wpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769878777; a=rsa-sha256; cv=none; b=lSly0xlhi6vHrNuSxcinz0NQJXfkA1Pr7zsLC6r5ZQflIuo43HB+qRybqtSF44USho0lG2 uEX3/ekOMQ1P7PMLmE5w44XvpVSaeDqr73x7JrBFbgzUlJ4gRn3Xk5sZsAhvmsKleFjgka xfafCZCmi8SmiRpiIqYfGyiGSLoR1ksjW54CmNwqUWH7nFH1xCKbatBAd2EpQfyuUGBUNh zHmDAavSn9koJa/2hTImajOAVs3cQCKRw/u/BW7KHAS+p+8C3B0BQSgE6zEpgGb+a1pxEI but1cvOetJihex2thNAdSoyQI9jlH+HrOhIDyCKrG4bSvYqiwbntazP4l9OnjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769878777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGLf33vL0wJGEXHhzJE6zLQyHmclcF6/855sJ0HHDsI=; b=TVwivEhXoOMksGNVNugbyZuY43Mgd2jzP6k+Wg8mQH0Zb6EB8mracQi7PiZVC3D2J9ocAb BM8kDj1ZMUT6Ti477CCdao5ZIKnnwsb5GrI2EHljbqPERclQI3epW6C1NzrriCh80sWNb6 NDZmWBQ69d0D7eb47UvqG29nMHaPUH4nmaKOYZ95Cnh22Jc2zcqbiiyI5qCZpYAez4O1aR fthBGSWl/BmjAXv0YRQM7hUlL5D83G7+HOFKTxDd4XXP1FakpLEC/JFGYL0e20FHU29PAw HsNLVy+m0r88oouZYW5KSNWE9PmFv8zWAcl564zng8zG4XoSocyaFcQn+qCDSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3JyK0ZySz12cY for ; Sat, 31 Jan 2026 16:59:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dff8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 16:59:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6e82cb290667 - main - wlanstat: Drop unneeded bsd.compiler.mk from 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6e82cb29066765c03408a81c9bec4ed0d99cab81 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 16:59:32 +0000 Message-Id: <697e34f4.3dff8.308322e4@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6e82cb29066765c03408a81c9bec4ed0d99cab81 commit 6e82cb29066765c03408a81c9bec4ed0d99cab81 Author: John Baldwin AuthorDate: 2026-01-31 16:58:39 +0000 Commit: John Baldwin CommitDate: 2026-01-31 16:58:39 +0000 wlanstat: Drop unneeded bsd.compiler.mk from Makefile No functional change, but downstream in CheriBSD this was causing a link error as the Makefile was overriding CFLAGS set via a side effect of bsd.compiler.mk. Reviewed by: bz, brooks, emaste Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54894 --- usr.sbin/wlanstat/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr.sbin/wlanstat/Makefile b/usr.sbin/wlanstat/Makefile index ec1fc3206267..c6f62e46c859 100644 --- a/usr.sbin/wlanstat/Makefile +++ b/usr.sbin/wlanstat/Makefile @@ -1,5 +1,3 @@ -.include - PROG= wlanstat MAN= wlanstat.8 From nobody Sat Jan 31 17:03: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 4f3K2F60Ljz6QWGy for ; Sat, 31 Jan 2026 17:03: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 4f3K2F59ywz3RM2 for ; Sat, 31 Jan 2026 17:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769878981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wEA9cBPuZ6FdU70+MOuaU7gNdWwFChoy0diajwgbXbc=; b=nnxxqyAoVs65kXB+MHUPvCKG/ZxN638CZHhVysok6I/zQfugC3GP4n0H576FWb5+t2UBFj idacq5JChwEzsngV4+j35OIKivJX5q/M6LAgj38nomA/at/oJIXZrObKUOxzQXtZXLV71L DcEemmUR9bNgDImz912qJDZoOPiPSAz18PQWPgy69QSEeOjxpuKyjtnp/g4llvAOPsRMao m5eEo8CzBlO6b6taY1Rutr6oigz+jRdzzOg+e5gt0AHGdcQ24e3KCkaT4savuSy9m7hkLn 9W07fWxZ0gc80om2UN4aHdcktO8E7aaIq/U8mGnNc2BkwLGZrPRwDmqU8gOzNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769878981; a=rsa-sha256; cv=none; b=q+ENITOPl4Bl/VKnK4SEmuqSdsZV4BAU7Ze0HLChCClfytBhdjzwQz9JzARzJe64j2JqgT rhe/Pt93XSJjVu6vJFE19dSKN1ROLeft9ehtl8lj5TYpgEnzkQI84Skwg34VMyXCtk/prt UjGNCWFZtzL20kDGJbu4PmoeR3xrP3pftsaia+KDfw0f7wqJeWtwfvBR9hV5T6qc/VshtU 1zXyA8TghSToT7QPNvEdw5DH6h6YJ2hIci8Rf//OsOYc4X7P9MVQnszxdLMDwxyk+94YUD hwcMjDMkQQO4Elwt91VrKjSrCavWa3R++0vvEMjciP1JXfsd5/uzSIIwruDK2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769878981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wEA9cBPuZ6FdU70+MOuaU7gNdWwFChoy0diajwgbXbc=; b=Zq8VSKn1NHAxZloIwuYS3JzHIvvNFueRKV9N7p/lr3iJ1u899Zd8BoA+hzOyYBVX8Xz9Ww LH29Q4+5ZhczdHQ65oMMmE3FUAstzI4z59a8j7VuKV5Mv1FDcriH4ow2NMVXy2yIT73pPW MdvNfw5fOCwdVcN246M5n3pgOFOF13Eh7iO4roYMH6BxigTX+8YIk8PIhLGRDcYgfaAQZf wJF81JeEIVuiDy1bGPW2tASlN3aGSZl2PJP1yMulybde9lAdR4g5kgtrfRVzBPzNGyM5d9 EZuYhdD75AkE9EZGElvGPlkA+oknZtbpwNCKQnFo26emz5aHxs/9xvgh21/0/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3K2F4mRFz12Q5 for ; Sat, 31 Jan 2026 17:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a32a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:03:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 8a8dc73ef87b - main - heimdal: Add missing function prototypes 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: 8a8dc73ef87b538c369abc1b642e2a40b52c53c2 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:03:01 +0000 Message-Id: <697e35c5.1a32a.1aad69d9@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8a8dc73ef87b538c369abc1b642e2a40b52c53c2 commit 8a8dc73ef87b538c369abc1b642e2a40b52c53c2 Author: John Baldwin AuthorDate: 2026-01-31 17:00:15 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:00:15 +0000 heimdal: Add missing function prototypes This fixes the build with GCC 14 on stable/14 which raises fatal -Wimplicit-function-declaration warnings. Reviewed by: rmacklem, cy Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option") Differential Revision: https://reviews.freebsd.org/D54931 --- crypto/heimdal/lib/hdb/hdb-private.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/crypto/heimdal/lib/hdb/hdb-private.h b/crypto/heimdal/lib/hdb/hdb-private.h index 8a748694424f..1a307bccc199 100644 --- a/crypto/heimdal/lib/hdb/hdb-private.h +++ b/crypto/heimdal/lib/hdb/hdb-private.h @@ -24,6 +24,12 @@ _hdb_keytab2hdb_entry ( const krb5_keytab_entry */*ktentry*/, hdb_entry_ex */*entry*/); +int +_hdb_mit_dump2mitdb_entry( + krb5_context /*context*/, + char */*line*/, + krb5_storage */*sp*/); + int _hdb_mkey_decrypt ( krb5_context /*context*/, @@ -51,6 +57,12 @@ _hdb_remove ( HDB */*db*/, krb5_const_principal /*principal*/); +krb5_error_code +_hdb_set_master_key_usage ( + krb5_context /*context*/, + HDB */*db*/, + unsigned int /*key_usage*/); + krb5_error_code _hdb_store ( krb5_context /*context*/, From nobody Sat Jan 31 17:03: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 4f3K2H19szz6QWQM for ; Sat, 31 Jan 2026 17:03: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 4f3K2G5tHdz3RQb for ; Sat, 31 Jan 2026 17:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769878982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TmcHyWt44/VaPZDfAXZ1uIoFkl5UcCF8495Ah8k0TZE=; b=igf0scbukBbmNMp23c0+prPVAngTUOvn7fFXzXbkqMHJKhLbzCmWRweLhjVGN8KfeQ/9Mi q3XLFxCsNqTU0M5DwusK+rh6ehP9hdKAIfMUV2a6SQBsxz2RrWf1BDGYNBhUHbPpIKcy/T 0tNZJD8g1jTRMiSkKYA83W6fc8xnDjo7VYjIfub+cspj8zES828YLYrU+1Mgv3+4Qo+v8K t7iUbxe43q4adLuB/ljnyUsrCpsgTW5ft3czf2t1XBtFvKux4Em2yyq056wcJ7/f/LyCN6 ZORokkvA6cEQAVaDs6/S0JTkCpn7M9aJN5LMIiGhlqhJih+ulZHUbZkztNUkgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769878982; a=rsa-sha256; cv=none; b=PA1UvFREU1gYLAE8bYKiBA6YV2GUkm9tUEDESbT9zygsn7VBBO6k+IOjVv35PG7eWGZFCB S+q2jZcxl5t+vhOq429TUF/pIL4w6ModPycL6aUVCrjkUGIdyTjrFkGlrtCIDDYlRxJ7fi nZpE04cmzrs+mYlDxA1NvMyJoumYirCeZMsttKD5hviJJzknH0tuHJzvQg6cQLQ6Kapq0W LYcbBR7gfz7wG2lOC/WlB5j9FZwHVwpVYnGuJLjHSEM3H44TapaI9CVc96Mse+13g3JQsf PAEUhYBTPQToXHDlY0vHiFY7C95LHi76meXKo/4waamb0CHMsjZc6IVV/TYH5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769878982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TmcHyWt44/VaPZDfAXZ1uIoFkl5UcCF8495Ah8k0TZE=; b=NCNuAx6jrpH9ZwGw396BkCqW2gc22DoYiWhJH0DeeUAMdobQgTHIa6Mu27076DhBnploui lToelOKYQGQiIklTcEeOComPeB+XJl0sT43+UOOK9RNE+G7CzfAZTfmOFypV9cDZFuDaL0 fzu/UbbD5LPRJPbFk0wG6Wau5ZcgBSqQmtTKcabS7U1yoDQlusC24IMZzK9VZB6eCVNUGZ m38qRAgXtzw2pW0Zgocn6vju2pi4WnKTH1GR8BbVvOOt/9ArLBuBdPfElzUGnM0EX4Nc+t VjbbR7fFiRYtx6V0zhWQfhXIx6M34bvSPY3/7LYt96HMvWB7cCMTBZl9AbxP7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3K2G5FZMz13ML for ; Sat, 31 Jan 2026 17:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19516 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:03:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: b26a7af438f3 - main - heimdal: Pass the correct pointer to free in an error 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b26a7af438f36dcde86f39a681123cc2140affb2 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:03:02 +0000 Message-Id: <697e35c6.19516.42ccd72a@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b26a7af438f36dcde86f39a681123cc2140affb2 commit b26a7af438f36dcde86f39a681123cc2140affb2 Author: John Baldwin AuthorDate: 2026-01-31 17:00:44 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:00:44 +0000 heimdal: Pass the correct pointer to free in an error case This fixes a warning reported by GCC 14 on stable/14: crypto/heimdal/lib/hdb/keys.c:241:13: warning: 'free' called on pointer 'ext' with nonzero offset 16 [-Wfree-nonheap-object] 241 | free(hist_keys); | ^~~~~~~~~~~~~~~ crypto/heimdal/lib/hdb/keys.c:234:15: note: returned from 'calloc' 234 | ext = calloc(1, sizeof (*ext)); | ^~~~~~~~~~~~~~~~~~~~~~~~ Reviewed by: rmacklem, cy Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option") Differential Revision: https://reviews.freebsd.org/D54932 --- crypto/heimdal/lib/hdb/keys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/hdb/keys.c b/crypto/heimdal/lib/hdb/keys.c index 9c0af5c47f23..ef6113610009 100644 --- a/crypto/heimdal/lib/hdb/keys.c +++ b/crypto/heimdal/lib/hdb/keys.c @@ -238,7 +238,7 @@ hdb_add_current_keys_to_history(krb5_context context, hdb_entry *entry) hist_keys = &ext->data.u.hist_keys; hist_keys->val = calloc(1, sizeof (*hist_keys->val)); if (hist_keys->val == NULL) { - free(hist_keys); + free(ext); return ENOMEM; } hist_keys->len = 1; From nobody Sat Jan 31 17:21: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 4f3KRX6CvQz6QYQd for ; Sat, 31 Jan 2026 17:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f3KRX45qqz3kTK for ; Sat, 31 Jan 2026 17:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9c9AOPUMIh85MYLpIAHYt1B28Hine6d+UYaDQvJxKy0=; b=RT8EEtEHMUBrpMghmiJNJrkCLJXNp7u5BLkbceovrYbefu3yJoRFphIgeMumlx7i+D3Y0V 8sNJ6PyzIuNFszckhTLWO4LGUkHi1SLKeOtEJrcjpVNFbIjnDJkG1G/c3ciYIW/2HGnXgo rMcLx+4m8efje/ycRkJrm3aQ5a3zHgOwxyEzjEPAhmDgjuq6yWWUJqhZUbDaYV3+YZnd3e T0sfV/BDRdydgUzhBYvNwep5BBBwGx205+Eo6nXxQvJSO/SLi8xqDAVVVFG5cy+iucMrPH CywSpbqIeaLoXokeqlgEpjQft1FrNBZbMVA3Qj7+4D3FMfn1EDae7txBnXWoEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769880088; a=rsa-sha256; cv=none; b=vunF8GMrUor7BlcLuB9/U7/Ag1SFNIdl78/38wtsG8qTpnIUy8eDwUF91qAsoiBIF4fIGm sse8H1i3fDv7Dlrw2q7bc8cf3Yoinn9y3FSxnFMWmXCuhQJ3XiaYboIIXM8DwyBT+V66Ps 9afPVHkAgU5vXDmWJgl0J69Mq7SzhSqX3g2Bw40pHgXTSOgjugKir0mUUUvAyFCDDnqO8c A7YUZ1iJrMAEKMpHwm3UsYEqCR7cM02w6fonlLgzJEyOkD/VYLvOp6qgvB/kV8J4ica8i8 k9QGMKu+o6htgeEeh17Wsgi9mPxEjYkyuOei0e1QNU6js3vw8YsdYKRBI+51EA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9c9AOPUMIh85MYLpIAHYt1B28Hine6d+UYaDQvJxKy0=; b=DFuOexh1HoCzMe3lY5Y+mAopIvDTX/DjyRDJcShr3+sZnPxhvffQEGwc83lOYbfXrQ9Ds4 1wl1pCFfspopz5tqWjMxKA2kqPfx879BMXQz1ZCjHNWjuR9RpBErXu75oTSSljpulUZujY UYAWI7nyILMUKFP0zq5UcG/WQf9aap4pTkpVtOJ+ArELd651ClrqnXCD8HMJZsonyNZO6w 3inR9od2eu+C0UtP6iO5t0IPGmMXW4CRp40cvw5V6xg9eY3NqIw5EJ8qedU9kwsF1RQDi8 8H4qKIs9WTq8NPI7wsH+LvjE/bhFhMW7DPuWqDnBNq/em2BF1+4+yojW0saoAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3KRX3gRSz13dN for ; Sat, 31 Jan 2026 17:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d200 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:21:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 2e8ef82b3418 - main - stand: Use the correct OUTPUT_ARCH in the linker script 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e8ef82b3418b41e7c54e2dbd16df0edb3cb8376 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:21:28 +0000 Message-Id: <697e3a18.1d200.1a0acf1b@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2e8ef82b3418b41e7c54e2dbd16df0edb3cb8376 commit 2e8ef82b3418b41e7c54e2dbd16df0edb3cb8376 Author: John Baldwin AuthorDate: 2026-01-31 17:09:44 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:09:44 +0000 stand: Use the correct OUTPUT_ARCH in the linker script for RISC-V Compare to the OUTPUT_ARCH in sys/conf/ldscript.riscv. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D54962 --- stand/efi/loader/arch/riscv/riscv.ldscript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/arch/riscv/riscv.ldscript b/stand/efi/loader/arch/riscv/riscv.ldscript index 63b71c3bd702..1c585e7d59c6 100644 --- a/stand/efi/loader/arch/riscv/riscv.ldscript +++ b/stand/efi/loader/arch/riscv/riscv.ldscript @@ -1,5 +1,5 @@ OUTPUT_FORMAT("elf64-littleriscv", "elf64-littleriscv", "elf64-littleriscv") -OUTPUT_ARCH(riscv64) +OUTPUT_ARCH(riscv) ENTRY(_start) SECTIONS { From nobody Sat Jan 31 17:21: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 4f3KRZ17nNz6QYH8 for ; Sat, 31 Jan 2026 17:21: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 4f3KRY4cnpz3kHl for ; Sat, 31 Jan 2026 17:21:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3SygoD5amj4DRV4sLloy6/RlPeK0snhR0Plu19Vi0j0=; b=scNkcVyCp3PPc0Fsw0/AEkkfgRs2dmwG9kXKbNC/HPQ2ra5G2iE86b6zlU5HBgb2Vx1uzo pbsPiWvsl8NA5YyT2sSkZMRzDDkSjuT57he/lyAwEgxI+xgOAdGJhiq5JsIrxyfRpwf+j3 G0GEtTZPh4jiCgTfHFtF0ACQx4S7eAT/CKXEia/OZNKQ6XXXZcRbn1d8RVmRYXk5CPR7Kv WrcBRExwPa0t9z+1zjqjEVzqQiHFN+I52Bxl5O46DfkXsDAICVns0vOs/3KSgi0nA+f5uQ d2F63KYlPxqGphxUY+mDKFkx2dtrr/2nYEVjf5aBfqzTFy8PUYWOpTlzH6Lm3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769880089; a=rsa-sha256; cv=none; b=H5McwKb9P+nymC+vKlUuSZtygG+n4eBHCBwvLgRNZ0Ikpp0LUr4Wm3xD1kE/79cehx2sxT XCjQ5huPHbZNU/UITLHO+zppfY5u/opKYl6LqoIA1JKrfT5wDjQ4rdy3ELIHZtkyJH9eI9 EGx9HxYq4WMEi4D2FvfVGiBZGWXJQqGZnia14pT5ctgprDlhHjRz5oumhUH318sxdjDq3y cvbm06N7e+hzCbu4YjTMspYuVsPw3DkfB+Ra81sfIMa/qSlZyy1aYqTgbD5e5k1Z8ZFwCq vD6BZLhJbT75uvkPx59Iafp/0F89e9UQ7zybtkHpDoEiv5Qn6j60JJ+9Nj5r5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3SygoD5amj4DRV4sLloy6/RlPeK0snhR0Plu19Vi0j0=; b=KygqJfBVJo3I6QS010O/+18Jy5FFmhlK0lC0bhn0rkhI9yr/GE0ukElL6enHt9FEj5VtMp U8FAjBJWpgyXWWkx9dMpps5D9DzZmGFWM658n98Mp5aSLcrhUMYVxgGaC5uo7X/4RCFrEi 64zjZgi+R5mEdvxNwJdi1C0+zxFS0buqKxuzLUU7GGCpm4DdWeQ/DisVdo0ugB053podcl scpcj8ntZ1CNA3uhU3vkcAKCEfGArB0erNXTKIx9AQT0Ptswp6q4O6iQumAJiRqUuB8BEr oyQxVjXNih2j57HpA/H2YBPGvdAqfT0/msnB1nTIcQkoDO+GTpWMsDXgZwj6HQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3KRY45Lmz13jM for ; Sat, 31 Jan 2026 17:21:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c90a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:21:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: fe45651224be - main - stand: Add compiler builtins needed by GCC 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe45651224bea513c7db88abbc53bd1241ab442f Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:21:29 +0000 Message-Id: <697e3a19.1c90a.749c6e56@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fe45651224bea513c7db88abbc53bd1241ab442f commit fe45651224bea513c7db88abbc53bd1241ab442f Author: John Baldwin AuthorDate: 2026-01-31 17:10:36 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:10:36 +0000 stand: Add compiler builtins needed by GCC for RISC-V Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D54963 --- stand/libsa/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile index 470c03032f61..11896cf1a2ab 100644 --- a/stand/libsa/Makefile +++ b/stand/libsa/Makefile @@ -66,6 +66,9 @@ SRCS+= clzsi2.c ctzsi2.c SRCS+= divmoddi4.c divmodsi4.c divdi3.c divsi3.c moddi3.c modsi3.c SRCS+= udivmoddi4.c udivmodsi4.c udivdi3.c udivsi3.c umoddi3.c umodsi3.c SRCS+= ashldi3.c ashrdi3.c lshrdi3.c +.if ${MACHINE_CPUARCH} == "riscv" +SRCS+= bswapdi2.c bswapsi2.c clzdi2.c ctzdi2.c +.endif .if ${MACHINE_CPUARCH:Namd64:Ni386} == "" .PATH: ${SASRC}/x86 From nobody Sat Jan 31 17:21: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 4f3KRb1VXpz6QYHC for ; Sat, 31 Jan 2026 17: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 4f3KRZ5Zn7z3kFx for ; Sat, 31 Jan 2026 17:21:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4I2TOD5ItcLf9/JQCWrRf6w3p9+dm4otYvF3DI49CY8=; b=umSaR2Avcwy3PITDBGDi1WGNHtTjPsEtwwP8/ehaMlNrb69ZwcCSnjNw5Rk346gQH+3QQy TeXMzyXSEdtpiH5xGGyPd4Z+MN+r8qOfmxVpYFjPe5YYDOW4hgBvcbBCzTOMHWN7u13XgR 25bD1KZME8rKgCUtZBEToM6HJnHiISvaoPsMlvafOqBBRC/Es9Vm41YOqyVK/6E33rj91B 31+jadXxzzlzlGlzz34VT0evxxehcYWy5PY1wFHmTuFAmIuWHGRGLW3R6ze/r75NcHxRrz Ftu39qPT9wM5GKZaFHUfNchqjY5zfoEGT8GFQfux6BSZfH0/PwNJ+o7Ut5VZAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769880090; a=rsa-sha256; cv=none; b=H7y+rR6DsYLbVtF5cZpZgUBQx0Mb2i40sGLB+a8tArdJfAQdWdKHAv3vESZ4/ZKfVC/axb 7ZSKRG2ZJ/hrQOg2LlPmChCxacCht9l62XpP7LTm/Rn/PuhpIRS16gcG8JBWZHPsrCD93v IdP+KXd1rvKDCi8vdrtIoEvQLFZR/fTD3U7Eiq/ILocqCgx+wJvFKiiC/fO6K86nemvL7X mU2RKSAF41V+Bc6UiMqZtzooNemUvoi6fFytdvKJJqr7Av9Rd354nVhX/5C7wm8M87P/QW jahiT7oEjP2gF7agNEIF/Vr9fpezBeXuXxSKZQ+K2vJMW4VC/5c2FbMup3wgKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4I2TOD5ItcLf9/JQCWrRf6w3p9+dm4otYvF3DI49CY8=; b=ZjYf8Nh0rncliKO+cNEA0eQspZCJ3J4Mw/FDDw4Uhq3Ro0ku91WfOgeZuuhR/Pv7VQyUbW Ck833aITWWvhPCaKxk5MtLzKp5xsiWnv10wyC7XO0qPQcm72KmlGHhlHAT4MqPAjDUxfrT UXG0orNl5IyFZja8V18Ruw5DxAA3LzZ5OdRWE2rxY1MzR1VUIG5j9feb8tx4DFBz3KCKkq VnxSoHtJm09vIhkkQFgkDO66ABGQIoogB8/cfKQSTqGyKxT2YwfEkRxi5Aw1dJaWrNXgoQ QJzx4My6E0pBFULjm1lAnwzyUzaE3x2BWG+SktLNIvZeD1rMGYSpfqKwHq7avw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3KRZ4tKxz13w0 for ; Sat, 31 Jan 2026 17:21:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d280 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:21:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 31b259049e2b - main - riscv: Enable the zifencei extension explicitly in -march 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: 31b259049e2b932ae6527d1dc850c2bec58e94e0 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:21:30 +0000 Message-Id: <697e3a1a.1d280.1854ec63@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=31b259049e2b932ae6527d1dc850c2bec58e94e0 commit 31b259049e2b932ae6527d1dc850c2bec58e94e0 Author: John Baldwin AuthorDate: 2026-01-31 17:10:56 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:10:56 +0000 riscv: Enable the zifencei extension explicitly in -march clang is more tolerant and implies this extension whereas GCC is stricter and requires it to be included. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D54965 --- sys/conf/kern.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index e86ffb684f9a..af7b1589c5cd 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -166,7 +166,7 @@ INLINE_LIMIT?= 8000 # code model as "medium" and "medany" respectively. # .if ${MACHINE_CPUARCH} == "riscv" -CFLAGS+= -march=rv64imafdch +CFLAGS+= -march=rv64imafdch_zifencei CFLAGS+= -mabi=lp64 CFLAGS.clang+= -mcmodel=medium CFLAGS.gcc+= -mcmodel=medany From nobody Sat Jan 31 17: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 4f3KRc0pw3z6QYTF for ; Sat, 31 Jan 2026 17:21: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 4f3KRb6Lr6z3kYf for ; Sat, 31 Jan 2026 17: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=1769880091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h4Qd0FS3eHsfox7ZabarcRxnZk+DX6iX/atxhaJ4hm0=; b=awt23X6DO4G0g8Zz5yO9eJlU2trUQT2Mbk8Yl3Xt1SKoP/NP4p0f6TrreQ3VGo9ij+8OmI HYKkVZ78jDAp80rm5nIL5hq6N1UgGiLOGnbCqDgvOowcFNTs59qUwneepyrMw+XIKpyv1q UQ+DqWBtsdRgs+wgf4GPsApGNYCYNgOWVZAYjJ4throllmbgofnl6P1YbWqFIZlLaIO8AY 0bWw6sU5UJWEVkZ4xhAjPc9AEZWT4q37IqIHmvmZv4TnrICwdmrXCXzfBN9ag6VvAGDm+v hJhpGl5c8KavjgG/VyVccWm19Nc+Q4U9/6kxIcEw211MBDGCQcWb9K/9KRjv7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769880091; a=rsa-sha256; cv=none; b=wcj/7dQiRHfdf/3QmySWzYuLaX8smWLI79GByYDXsQUXWkhFliVXclpWI88liDHLHDEvPJ Tb3DeKcrIXrQHzgpx8YiAaKhqg6wSeSkqm8atvWnS6CsZkCvKNIV5NQ7Lp5GiQnZ/PESEr +F84zHuEdhj5dfkls9d6LtZYOh1TmnbglpzjKUhbaC6YVJHjzRX9ItkxCKVnU0qHlm+FrK sH8SR37THaQmDJvs04mKdMCJ93QV0AdjvEEtVH6dbPW+u2v9TaeMmCp1SPDW2htnGOXmLy aQKZr6cBct+c+cAXUj00CUW2He/+tcXnaOczjOv31AQv3VsTkqv5HeuC1nnsTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h4Qd0FS3eHsfox7ZabarcRxnZk+DX6iX/atxhaJ4hm0=; b=KbeTHyMioJnPrxK3tCtGj5GHyfVs4k0wMA3VMKmc607nnZCnguG2LMsshVC570qVylUTNm /Ji/ofK76lKKUQH8uVtds0YAOd90UY0yrqg42XTWamlXGwLXlTqYRHIdgsYwfE2lEizQIQ 9ALYtHS5/Go5maBtPq7pAjHwIZm6Fqrk8KHTQWkAi1/KAQpFmLklIu1KqkKA3/e509bHPu mUisgBMkgm9vGAqV93pBhvRiy/HoKW8KUOrR5wwQZjdmkOjFfOfTG9eEFIPRRg9KXCQTB3 /F4ivUL+gDvsqdW67ao7XXrhqgsuIeAz11WkkYprznlP5EbrfWWMFD66o7+WHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3KRb5YSVz13gK for ; Sat, 31 Jan 2026 17:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c90e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:21:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 4c822dd4a15c - main - libkern: Add libcalls for ffs and __ffsdi2 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: 4c822dd4a15c533c08271b2286da949fffafc89e Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:21:31 +0000 Message-Id: <697e3a1b.1c90e.7866f183@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4c822dd4a15c533c08271b2286da949fffafc89e commit 4c822dd4a15c533c08271b2286da949fffafc89e Author: John Baldwin AuthorDate: 2026-01-31 17:20:50 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:20:50 +0000 libkern: Add libcalls for ffs and __ffsdi2 These are needed when compiling a RISC-V kernel with GCC which does not inline __builtin_ffs*. The __ffsdi2 is adapated from the previous ffsl.c. This partially reverts commit f4db342d44198973c1c7b9005d0c5683a582707e. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D54967 --- sys/libkern/ffs.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ sys/libkern/ffsdi2.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ sys/libkern/quad.h | 1 + 3 files changed, 95 insertions(+) diff --git a/sys/libkern/ffs.c b/sys/libkern/ffs.c new file mode 100644 index 000000000000..e0308ef76bae --- /dev/null +++ b/sys/libkern/ffs.c @@ -0,0 +1,47 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + */ + +int ffs(int mask); + +/* + * Find First Set bit + */ +int +ffs(int mask) +{ + int bit; + + if (mask == 0) + return (0); + for (bit = 1; !(mask & 1); bit++) + mask = (unsigned int)mask >> 1; + return (bit); +} diff --git a/sys/libkern/ffsdi2.c b/sys/libkern/ffsdi2.c new file mode 100644 index 000000000000..33e255a26dc6 --- /dev/null +++ b/sys/libkern/ffsdi2.c @@ -0,0 +1,47 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 + +/* + * Find First Set bit + */ +int +__ffsdi2(quad_t mask) +{ + int bit; + + if (mask == 0) + return (0); + for (bit = 1; !(mask & 1); bit++) + mask = (quad_t)mask >> 1; + return (bit); +} diff --git a/sys/libkern/quad.h b/sys/libkern/quad.h index 59b3da44dbaa..cbb94ab98828 100644 --- a/sys/libkern/quad.h +++ b/sys/libkern/quad.h @@ -102,6 +102,7 @@ quad_t __ashrdi3(quad_t, qshift_t); int __cmpdi2(quad_t a, quad_t b); quad_t __divdi3(quad_t a, quad_t b); quad_t __divmoddi4(quad_t a, quad_t b, quad_t *rem); +int __ffsdi2(quad_t a); quad_t __lshrdi3(quad_t, qshift_t); quad_t __moddi3(quad_t a, quad_t b); u_quad_t __qdivrem(u_quad_t u, u_quad_t v, u_quad_t *rem); From nobody Sat Jan 31 17:21: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 4f3KRd26B7z6QYDl for ; Sat, 31 Jan 2026 17:21: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 4f3KRc6jDJz3kWv for ; Sat, 31 Jan 2026 17:21:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zSrUtClvq9ZnVAHeB0UCFYyNE0uQ6T+/wmmtwcTzWxI=; b=sRmTGN6mvFH8Uhn3uKgusPW+LXRG9gZda5lBJz2Y1l4NcEaM+EFhKqRHr4/1Qyy9V3sZZQ Kn2DMa+DtXSCDs+mdf5RIaY+eGvyzTmYfjKFk0AFuQGTUPgjkVzLIiCuBSVzWcyyeKg3uA I9R6U3uiq60EMLTOvp5kEc19rn9zjSGc7ELCUbA8lMyJdPNct2/DKPnFQyjpyByunshVww 5NNvzDXouMvRPq8UnVAVm4jlsx2b4IFY3bmU7s++PWhN3EH8YVRPSCOt1RHSzTit3Ad53H B/dn6AmeKuwGY52IxU00VBOMEFqym7HyEngHHAeSAF19/W5Vpb3UmXfehL12XQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769880093; a=rsa-sha256; cv=none; b=u2Cr2mbM9uBZ5K74UuEIwdVD52kyWlihxqopMcj5aYxa/4iiaYKMkrsNfXzH49q6Rvkp26 JeWbFP+Ms4hWA912f0HnZQWuFmqQdjejRWblf7GDb1L1Whm8bPf25OR32ZXKiNYDnNq6Hh bdfXuPs3zKTTeEMpQRIdnoDbBnSD5i0MMbY9MYpVqfQOxMhgkqfDS5jNyXrYyY+CmSwpif YtDGhgMNSp0JkSfoYHByNIEWYPw5pVZNyY4KuK7GkTSEqmjoqT7+rUQ5E4GyoqMqe7EC4J IUwFmCcjl/SUKlwol2AKwNN8bP2ILGTqy1Jn861uGWkZ1YzOP4xIwA4L4CChuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769880093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zSrUtClvq9ZnVAHeB0UCFYyNE0uQ6T+/wmmtwcTzWxI=; b=xtj7jlADdLYLPxSoZ9OCLFUjhWS6JRH7Cjmen8u0BYqZxHnwZHSp6XGyrThbIhWV4+BjJR 5dU+GqBqV0brwOoLgThViayhBm5oxiTQIsGzT6pieYairK69wRSDyTR17pFIo7SRu7EBFt OFfR5bAbT9UuD7LqoJK8xBcCXaDK3toTLVno4vGgCbaZWdrImVVs3Ubr6iyh4DCDuAAmnY GQgtIDWl3C605aU6/g3Ua58r9OZ9xx1iPqNCfNKInghejqZfl3VfSeyn3bI6RDTI8A/6O0 M3g3O2Zfnt6yD12+GPCgurTtxFsc9CUWMe+sMViYaRK7kpeDN1OC/XOsFP0lmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3KRc6GjWz13ll for ; Sat, 31 Jan 2026 17:21:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a64b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:21:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: f4c40a5acb16 - main - riscv: Add ffs.c and ffsdi2.c 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: f4c40a5acb16e542934ed17ee475183b87420eae Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:21:32 +0000 Message-Id: <697e3a1c.1a64b.497164db@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f4c40a5acb16e542934ed17ee475183b87420eae commit f4c40a5acb16e542934ed17ee475183b87420eae Author: John Baldwin AuthorDate: 2026-01-31 17:21:11 +0000 Commit: John Baldwin CommitDate: 2026-01-31 17:21:11 +0000 riscv: Add ffs.c and ffsdi2.c These are only needed for GCC, but it doesn't hurt to include these always. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D54968 --- sys/conf/files.riscv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/conf/files.riscv b/sys/conf/files.riscv index 2a80064e88ba..90a74367a54f 100644 --- a/sys/conf/files.riscv +++ b/sys/conf/files.riscv @@ -34,6 +34,8 @@ kern/subr_dummy_vdso_tc.c standard kern/subr_efi_map.c standard kern/subr_intr.c standard kern/subr_physmem.c standard +libkern/ffs.c standard +libkern/ffsdi2.c standard libkern/bcopy.c standard libkern/memcmp.c standard libkern/memset.c standard From nobody Sat Jan 31 17:53: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 4f3L8H1gGyz6QcPG for ; Sat, 31 Jan 2026 17:53: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 4f3L8H0zpZz3tsf for ; Sat, 31 Jan 2026 17:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769881999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AOdzW04ouR1xTUKKxnoF/mkVxl3UuHNYc/CUELTVG8E=; b=G169rqjG6dTySvKsl66XrVI4EdOT4e9v7+Nky9kJt/oxRX+3qvkBtbu9MMSUWIjwkViFco EHrVz7I53AA7v/CmvbOEqjBDj0duFc4tLDI/AJ0jKjWztM9EmIJ5YRPo5ihivdEUtLwAMJ En5j8gqB/Z5pHx2I5Nj4WUK3NL2Hw/1t5k2X+cZXcBkfrfhWWdrimv8b8E2qHR97EGraS0 971c1tCPfyu8z1g50CEJ58+JcsjwXSwJy91StCJ6FRMZQa/AKFSMUIzc/hykGVtBjyra1z 8SJ0Q+0IIUpSHuUCoVDNumUH6hnKho4lW1H7eMwvKRX6gTmepDoF2Gw7W2gkLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769881999; a=rsa-sha256; cv=none; b=HGGcgIuqt8OS3L9hHp6PlngITu5mYmFw5HIJXXv6dcZbLIxAQo3RFuBnTjcoqz0sBzIBW0 AmecoBVYuhFwRo6X9/IoQXOAENyJL7WHD0jAD65NqkrjmMztOwRrVQrL7ElgyuVIy/p3gP eQq/VJS3A+xm7veyDGYmHLsrMtboL5jIriiSd5Er1OZIu2vKrKptt2nFonhDpXVqOSz6G6 MeOBMDfnhPI3CuDYx5hYEoQWCljzg54pb3l+MjTGvdTSDCTCSiETL1s0ZLK3xPuYMxULtA AOLEvSsqxN+f5dhukabHnslqDRT3ZomoOzkSEXX2EXtT2S/nxys6nugQwdI5WQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769881999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AOdzW04ouR1xTUKKxnoF/mkVxl3UuHNYc/CUELTVG8E=; b=yCAKfaE+3kJ2i+iwoDNLmJuLxh+F1jILBCcqJwDdb/R9EQg6K90X1+794dq7yJqeEKDXnw aLyuIDHuL/J+Idn1dr1KjoABURCzk7jJc+tgMJ9lxoTcl7cuQuPZT9DB6FCOLSMiCeeC3t 2uUpCahgA8WJrligdzNAxx6xF56ovaMis315/wpd+l5oE0FIEeofdE26OJgINiCcvG8jv/ 9wrP4Z2D1p/fAOpT0xAHRgkJyhhnbIXlegArQGHHwQmKLdzTzE3avQ0YJobDcp4Fu8O6iJ OQdUPPfnAncB7dvHIIr1gvGqlcwt9nO6xDrleYiSZGyVs3+gh/gLRHQ4mVTaBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3L8H0ZLHz14n6 for ; Sat, 31 Jan 2026 17:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fa7b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 17:53:19 +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: 1538284a5fdd - main - libc/resolv: Switch default to loopback address 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: 1538284a5fddfce546db678cb873b7edc6adb9ed Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 17:53:19 +0000 Message-Id: <697e418f.1fa7b.498b958e@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1538284a5fddfce546db678cb873b7edc6adb9ed commit 1538284a5fddfce546db678cb873b7edc6adb9ed Author: Dag-Erling Smørgrav AuthorDate: 2026-01-31 17:52:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-31 17:52:53 +0000 libc/resolv: Switch default to loopback address If no resolver configuration was found, we would fall back to INADDR_ANY and IN6ADDR_ANY. This made sense when it was first written thirty or forty years ago but not today, especially since connecting to INADDR_ANY or IN6ADDR_ANY is no longer supported. Switch to the loopback address and simplify the code. Note that (as the pre-existing comment in the code states) running without a resolver configuration is not really supported. Still, if we're going to have a hardcoded fallback, it might as well work. PR: 291790 MFC after: 1 week Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55011 --- lib/libc/resolv/res_init.c | 67 ++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 41 deletions(-) diff --git a/lib/libc/resolv/res_init.c b/lib/libc/resolv/res_init.c index 5a2fce013c8c..b21a3fa1670f 100644 --- a/lib/libc/resolv/res_init.c +++ b/lib/libc/resolv/res_init.c @@ -118,21 +118,12 @@ static u_int32_t net_mask(struct in_addr); /*% * Set up default settings. If the configuration file exist, the values * there will have precedence. Otherwise, the server address is set to - * INADDR_ANY and the default domain name comes from the gethostname(). - * - * An interim version of this code (BIND 4.9, pre-4.4BSD) used 127.0.0.1 - * rather than INADDR_ANY ("0.0.0.0") as the default name server address - * since it was noted that INADDR_ANY actually meant ``the first interface - * you "ifconfig"'d at boot time'' and if this was a SLIP or PPP interface, - * it had to be "up" in order for you to reach your own name server. It - * was later decided that since the recommended practice is to always - * install local static routes through 127.0.0.1 for all your network - * interfaces, that we could solve this problem without a code change. + * the loopback address the default domain name comes from gethostname(). * * The configuration file should always be used, since it is the only way - * to specify a default domain. If you are running a server on your local - * machine, you should say "nameserver 0.0.0.0" or "nameserver 127.0.0.1" - * in the configuration file. + * to specify options and a default domain. If you are running a server + * on your local machine, you should say "nameserver 127.0.0.1" or + * "nameserver ::1" in the configuration file. * * Return 0 if completes successfully, -1 on error */ @@ -146,6 +137,26 @@ res_ninit(res_state statp) { /*% This function has to be reachable by res_data.c but not publicly. */ int __res_vinit(res_state statp, int preinit) { + union res_sockaddr_union u[] = { + { .sin = { + .sin_family = AF_INET, +#ifdef HAVE_SA_LEN + .sin_len = sizeof(struct sockaddr_in), +#endif + .sin_port = htons(NAMESERVER_PORT), + .sin_addr = { htonl(INADDR_LOOPBACK) }, + } }, +#ifdef HAS_INET6_STRUCTS + { .sin6 = { + .sin6_family = AF_INET6, +#ifdef HAVE_SA_LEN + .sin6_len = sizeof(struct sockaddr_in6), +#endif + .sin6_port = htons(NAMESERVER_PORT), + .sin6_addr = IN6ADDR_LOOPBACK_INIT, + } }, +#endif + }; FILE *fp; char *cp, **pp; int n; @@ -158,7 +169,6 @@ __res_vinit(res_state statp, int preinit) { char *net; #endif int dots; - union res_sockaddr_union u[2]; int maxns = MAXNS; RES_SET_H_ERRNO(statp, 0); @@ -173,23 +183,6 @@ __res_vinit(res_state statp, int preinit) { statp->id = res_nrandomid(statp); - memset(u, 0, sizeof(u)); - u[nserv].sin.sin_addr.s_addr = INADDR_ANY; - u[nserv].sin.sin_family = AF_INET; - u[nserv].sin.sin_port = htons(NAMESERVER_PORT); -#ifdef HAVE_SA_LEN - u[nserv].sin.sin_len = sizeof(struct sockaddr_in); -#endif - nserv++; -#ifdef HAS_INET6_STRUCTS - u[nserv].sin6.sin6_addr = in6addr_any; - u[nserv].sin6.sin6_family = AF_INET6; - u[nserv].sin6.sin6_port = htons(NAMESERVER_PORT); -#ifdef HAVE_SA_LEN - u[nserv].sin6.sin6_len = sizeof(struct sockaddr_in6); -#endif - nserv++; -#endif statp->nscount = 0; statp->ndots = 1; statp->pfcode = 0; @@ -224,7 +217,7 @@ __res_vinit(res_state statp, int preinit) { #ifdef RESOLVSORT statp->nsort = 0; #endif - res_setservers(statp, u, nserv); + res_setservers(statp, u, nitems(u)); #ifdef SOLARIS2 /* @@ -288,7 +281,6 @@ __res_vinit(res_state statp, int preinit) { (line[sizeof(name) - 1] == ' ' || \ line[sizeof(name) - 1] == '\t')) - nserv = 0; if ((fp = fopen(_PATH_RESCONF, "re")) != NULL) { struct stat sb; struct timespec now; @@ -507,15 +499,8 @@ __res_vinit(res_state statp, int preinit) { #endif (void) fclose(fp); } -/* - * Last chance to get a nameserver. This should not normally - * be necessary - */ -#ifdef NO_RESOLV_CONF - if(nserv == 0) - nserv = get_nameservers(statp); -#endif + /* guess default domain if not set */ if (statp->defdname[0] == 0 && gethostname(buf, sizeof(statp->defdname) - 1) == 0 && (cp = strchr(buf, '.')) != NULL) From nobody Sat Jan 31 18:16: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 4f3Lff13YWz6Qdjj for ; Sat, 31 Jan 2026 18:16: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 4f3Lfd5cFpz3xRc for ; Sat, 31 Jan 2026 18:16:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769883369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ytt/+1XWqmHHLBllIYl+gSKUFRfD0bcLzeVY94daLKI=; b=r7iK2RABQDQ4NpUilEtnKVdDWGNyx4f1jkZD6cGS3/2VdSd22djAuYL0lZFQp7sHp5/yZi HK6Q/rXq+65iPc96O36t8LIqiN9I83fdqHkTD8JCRrGdOAKhFcHUrKyqGM9qbR8v67Gp96 pBINpQjmZZMpFDUfkM8lxbl+vIUzDRfbR9gIqOCJQwUfM2tdFTellGoeFYNG/38Xk+fIQZ jgA4cBRna3tYfmCyoPwMqmuX/5o1BAElerOqOTD1zxvgn9dCIgwGRpQvKYGMU+S0DjJeau yVoVo7e/OFk8xDDMHANvTSYOhfPpGsW8QkBTlURJ5DoGnF7iDMfTXt9qlVw7LA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769883369; a=rsa-sha256; cv=none; b=c+lhB9s3oVcTIjzA55qKdGYgr7w+tgEgRgAvrLQg55o4Sg3aOvi39xFt32GTY5opIxUK3M wa/8T3RzJpU/tyqGn5pjZ2LrXLxc3+RiPduPuO+OwgrxkvjFTl8aQl0lHUB/80GQ8FIovP 4gwFsnOD48Q4FgBLNxWNOY6LP82pcAR1PH5CIeATe6m2PnbFT4xA6hy+YIRhok1Je/5R+P P2RMD8d05RwV9GfW3xdRcACdqi1Q36UAe9DxRguEGlAEuiMKsiPJppbtFdk5fGx/tC8zGa o/FNVwA5ryR1yRRTmpiCnb2N+i8dovmHgZMX8vISK06dv8S0ANjK7GA96FshJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769883369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ytt/+1XWqmHHLBllIYl+gSKUFRfD0bcLzeVY94daLKI=; b=b7bAxOi6hgFCWfxHTGH6C33HorBo+mADpUxv6qtysmwPaJhHVsXQlv3A40Ced11KqEyVys fYIx1QA7ayh75Fae8rya85vc3hwpS7tKXNcU20gUaHgJf93T+fzfpHtqYxYa6cOlNqaayC OOYI5ravaasLvg7rJKYxSfI22qEiTWB2Q1Z+YFqYf2BM6Cdcy8iDkI9k9H/98NrnQFK0hG NcvkkYMpWIrJYVN9KyAsebbKELcpTyIbrX3INFygKfUFaufUbpgE5JeknZeS2IzvPpcke0 dkgWEebn0TD3osardD0FvRogStU9pEeqovJ8nLF+ip06nMN6W01xIurVHJC8RQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3Lfd4XcHz14xX for ; Sat, 31 Jan 2026 18:16:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2271d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 18:16:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: d195b3783fa4 - main - sctp: fix socket type created by sctp_peeloff() 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: d195b3783fa4de5c1a95f6d95eb9444abce6778b Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 18:16:09 +0000 Message-Id: <697e46e9.2271d.66b41ecf@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d195b3783fa4de5c1a95f6d95eb9444abce6778b commit d195b3783fa4de5c1a95f6d95eb9444abce6778b Author: Michael Tuexen AuthorDate: 2026-01-31 18:11:08 +0000 Commit: Michael Tuexen CommitDate: 2026-01-31 18:11:08 +0000 sctp: fix socket type created by sctp_peeloff() When calling sctp_peeloff() on a SOCK_SEQPACKET socket, the created and returned socket has the type SOCK_STREAM. This is specified in section 9.2 of RFC 6458. Reported by: Xin Long MFC after: 3 days --- sys/kern/uipc_socket.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index efc8ebfcece2..4014006ce2e5 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -1292,7 +1292,7 @@ solisten_enqueue(struct socket *so, int connstatus) #if defined(SCTP) || defined(SCTP_SUPPORT) /* - * Socket part of sctp_peeloff(). Detach a new socket from an + * Socket part of sctp_peeloff(). Create a new socket for an * association. The new socket is returned with a reference. * * XXXGL: reduce copy-paste with solisten_clone(). @@ -1304,6 +1304,8 @@ sopeeloff(struct socket *head) VNET_ASSERT(head->so_vnet != NULL, ("%s:%d so_vnet is NULL, head=%p", __func__, __LINE__, head)); + KASSERT(head->so_type == SOCK_SEQPACKET, + ("%s: unexpecte so_type: %d", __func__, head->so_type)); so = soalloc(head->so_vnet); if (so == NULL) { log(LOG_DEBUG, "%s: pcb %p: New socket allocation failure: " @@ -1311,7 +1313,7 @@ sopeeloff(struct socket *head) __func__, head->so_pcb); return (NULL); } - so->so_type = head->so_type; + so->so_type = SOCK_STREAM; so->so_options = head->so_options; so->so_linger = head->so_linger; so->so_state = (head->so_state & SS_NBIO) | SS_ISCONNECTED; From nobody Sat Jan 31 20:49: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 4f3Q3F6PhPz6QQTc for ; Sat, 31 Jan 2026 20:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f3Q3F2LJ1z3Jr0 for ; Sat, 31 Jan 2026 20:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769892553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZhtsLj4x5IvE5DJ0xY0xRN+UzBfqFOMchMeRJkPzzsk=; b=IQaVea7tCksJh79q+CuVGsNCjwq0X1jrYzjJvXGxS5V3gP4Bzmee5BDUoW5TQkK4Bj8OIv W8gU5t3V8pnOYPkU4x0qk/MmuNw30ERmNyn2ktj16XOyKciHTbKf5RdJgIAsnfsy6tnX/4 J8VZNj87MILg3oJmmMpZxM0gNWZQEIa6vFgr57T4kPqb6cmCVby5AGMwM2arv268JX7Vc2 vqHfMNM1kIy8z7YkufRjYa+3mDdqx1sjREyrBfB783nF4mS0b+jtoX2j368WB2wQs+HBJS MP3kCTHmjYWbPiyYCKyvn1+pq/ixRKMSjL3L2TR7GRykf0UzlxVUU86/KyXwbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769892553; a=rsa-sha256; cv=none; b=DwnvvMAPbiXltMxfYf5Bbg+W38kqjSU26MI3yVET0+y58zS7OBALDrM7lDXcJK7UEUK1xA KvlqGeL8AVUb1zsMN8EMaHFmaZHzdLRwMEDrSGS2RLJ2MRKDWUgFK4vCgKiTF/6RDOw7PV unyfmvCFKZ10QuoLd3wMYke3/0E6nUf0wv27NCGN4IhqErM7jHd3Js7k873ED3qdzDshba OdVjg6pwmS504I7+hIXyc+kaHLqXZti7FU7U0wp/I1xYs4HLsL6+Oy/8SOeCIPWgS7K1WT YpD84bj/rU45Fube5X7aiB49Qnq4R+KejqetYbRlAxmzcKbkI65BaZ6glFMatA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769892553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZhtsLj4x5IvE5DJ0xY0xRN+UzBfqFOMchMeRJkPzzsk=; b=f6wAWBdtoyDIG1UlMU6667ho07ZwDEjwADUTNslexuzr5OgCLeHamvVsW1YhSmY2Gp5hDC 7LQhfyHZ1c4yhXA51g5LHHS3DfbnPV/Q7w66/KyAbfYSazCsGXRem7aZ2Ss6g4AoSbuOoF GHdJlAA9KC88GQwIY2zPqyBBMnSkZGs6vkHAA3MwyopFIye7WR5TKG/LNqtzPvsoS0XDI+ PCWy4+p1Q4twU+DjHgj3UCcss8fwd5egvUu70q9gqdnXUTf5vZXZfHC5hGEFINTBu+7kJT 5H17mqMb7eZZIXul59foPWrHQQn3Dns/tFGXQYgDwaxClw74RPjsRuL3xvLx+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3Q3F1tFqz189J for ; Sat, 31 Jan 2026 20:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38cfe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 20:49:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: fe81e3944c08 - main - sockstat: Surround explicit IPv6 addresses with brackets 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: fe81e3944c085e765c83c4f78941d7529ceb556e Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 20:49:13 +0000 Message-Id: <697e6ac9.38cfe.181ba57c@gitrepo.freebsd.org> The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=fe81e3944c085e765c83c4f78941d7529ceb556e commit fe81e3944c085e765c83c4f78941d7529ceb556e Author: Michael Osipov AuthorDate: 2025-12-26 17:27:12 +0000 Commit: Michael Osipov CommitDate: 2026-01-31 20:48:56 +0000 sockstat: Surround explicit IPv6 addresses with brackets PR: 254611 Approved by: otis, tuexen, des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54375 --- usr.bin/sockstat/main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index 32b1ac1a8d20..ea4449300866 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -928,6 +928,7 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) struct sockaddr_un *sun; int error, off, port = 0; char addrstr[NI_MAXHOST] = ""; + bool needs_ipv6_brackets = false; switch (ss->ss_family) { case AF_INET: @@ -938,6 +939,8 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) case AF_INET6: if (IN6_IS_ADDR_UNSPECIFIED(&sstosin6(ss)->sin6_addr)) addrstr[0] = '*'; + else + needs_ipv6_brackets = true; port = ntohs(sstosin6(ss)->sin6_port); break; case AF_UNIX: @@ -946,7 +949,7 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) if (is_xo_style_encoding) { xo_emit("{:path/%.*s}", sun->sun_len - off, sun->sun_path); - return 0; + return (0); } return snprintf(buf, bufsize, "%.*s", sun->sun_len - off, sun->sun_path); @@ -962,6 +965,11 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) xo_emit("{:port/%d}", port); return (0); } + if (needs_ipv6_brackets) { + if (port == 0) + return (snprintf(buf, bufsize, "[%s]:*", addrstr)); + return (snprintf(buf, bufsize, "[%s]:%d", addrstr, port)); + } if (port == 0) return (snprintf(buf, bufsize, "%s:*", addrstr)); return (snprintf(buf, bufsize, "%s:%d", addrstr, port)); From nobody Sat Jan 31 22:10:42 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 4f3RsH6NmWz6QYsp for ; Sat, 31 Jan 2026 22:10: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 4f3RsH5hT4z3Y2d for ; Sat, 31 Jan 2026 22:10:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769897443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HR+C1m6qUPDoQwk5FvkHlB2RpRP3os3HCD2KPPYZSOk=; b=KzAjB5cGDdCmkPcZJY+1vlLyW4KFNdQu9wpDUr4b7Qa1EJtSi75XqjYqbNYrnZs6qPyWVW V+R4DG8s9ZGYEVCRgVh2AWyx/Mc2gU9Mx+6xmZ0Md+PFvBLvf7ULY1yyV2pZtDTGgba5GI BY+y0gKdkYCOIU1wUqqj0F4pRaJu8jAgTR1wltNIR24deMyLNfUDrj4Js/WAt8un1nJtKa OHcFX+fUfTzw0KrTj+wWRje14O4c7nQXwaVi4iFxdqNs+YV7Ew1OB+53C30ijshHmTgdpy a5gGPKOGrgkYd5djW294AXCpfVD4XkhEovFCLU1TB4iEisgNWjYoWb4dYPlFhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769897443; a=rsa-sha256; cv=none; b=ARbmFijYhLkEMZc9nqfuvvz7kiJcweexyyFsK1CoKqIDhjSGqwmQo+MB7vCHduR8zfKdw+ 3gpL3vnGB917uKR+s0biXoZy54tqdrY7Gd/hqGwT2my1wDpGjtOEY+RjwfqkUOIuvj6p4A MFox84GRLdTWba8pw3J2C0M4Pj+J1TrY53oK8HMOvOqe/QfmMynKP6sVuC3wtWotOgV+Ug 20xkswbMmZuR7giBHWYNobDba/AyDaMsg4hpH3iTUKSntWhxsL5VLOCAapXxm6JgkEGhYZ Ec4jJ1U20F5UwTzsJRJ8IOYQPrd/LWnNG30hwn9q9KpYwlOOQTSN0ddGUwjd9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769897443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HR+C1m6qUPDoQwk5FvkHlB2RpRP3os3HCD2KPPYZSOk=; b=A1b9qWCtJFUt7FLCyTywLn9jggk1FlINcn5Ezkvas22dqtVTqOq1tRnL2gVbzzuuRt/5tX kOpXxq2cIk8ETLZTosCCJej2E3qL2Jr5tKtZ7aNAvYQmuj7YuxByeEoNlfvytD7/xOcCG+ GVjuMawb/TNC/Xy+EEubIFMcr8mW4PGc8L2XTx8mh5M1pLk0o8eJv1TDzRgwMzW3PgRq7x ZR5agt7SLohPSpoosQfN3G17Q/HAjJ0D4cxz82ZC4cv/6AEi+FYimmax6WN0/n8vvF/BJr hjX05+ui+rz/S3nSI0xixg176EqVAnE5i/8lFIGdsirDmKEJIJSd47nqtRd3NA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3RsH5Gj2z1BHt for ; Sat, 31 Jan 2026 22:10:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42768 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 22:10:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: f25b8c9fb4f5 - main - openssl: import 3.5.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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f25b8c9fb4f58cf61adb47d7570abe7caa6d385d Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 22:10:42 +0000 Message-Id: <697e7de2.42768.a2d8647@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=f25b8c9fb4f58cf61adb47d7570abe7caa6d385d commit f25b8c9fb4f58cf61adb47d7570abe7caa6d385d Merge: fe81e3944c08 808413da28df Author: Enji Cooper AuthorDate: 2026-01-31 22:00:39 +0000 Commit: Enji Cooper CommitDate: 2026-01-31 22:00:39 +0000 openssl: import 3.5.5 This change adds OpenSSL 3.5.5 from upstream [1]. The 3.5.5 artifact was been verified via PGP key [2] and by SHA256 checksum [3]. This is a security release, but also contains several bugfixes. All of the CVE-worthy issues have already been addressed on the target branch(es), so the net-result is that this is a bugfix release. More information about the release (from a high level) can be found in the release notes [4]. MFC after: 1 week 1. https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz 2. https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz.asc 3. https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz.sha256 4. https://github.com/openssl/openssl/blob/openssl-3.5.5/NEWS.md Merge commit '808413da28df9fb93e1f304e6016b15e660f54c8' crypto/openssl/.ctags.d/exclude.ctags | 3 +- crypto/openssl/CHANGES.md | 269 + crypto/openssl/CONTRIBUTING.md | 8 + crypto/openssl/Configurations/50-nonstop.conf | 2 + crypto/openssl/Configurations/unix-Makefile.tmpl | 17 +- crypto/openssl/NEWS.md | 62 +- crypto/openssl/NOTES-NONSTOP.md | 12 +- crypto/openssl/README.md | 2 +- crypto/openssl/VERSION.dat | 4 +- crypto/openssl/apps/asn1parse.c | 72 +- crypto/openssl/apps/ca.c | 765 +- crypto/openssl/apps/ciphers.c | 55 +- crypto/openssl/apps/cmp.c | 1439 +- crypto/openssl/apps/cms.c | 509 +- crypto/openssl/apps/crl.c | 126 +- crypto/openssl/apps/crl2pkcs7.c | 36 +- crypto/openssl/apps/dgst.c | 163 +- crypto/openssl/apps/dhparam.c | 159 +- crypto/openssl/apps/dsa.c | 78 +- crypto/openssl/apps/dsaparam.c | 71 +- crypto/openssl/apps/ec.c | 78 +- crypto/openssl/apps/ecparam.c | 117 +- crypto/openssl/apps/enc.c | 216 +- crypto/openssl/apps/engine.c | 112 +- crypto/openssl/apps/errstr.c | 17 +- crypto/openssl/apps/fipsinstall.c | 524 +- crypto/openssl/apps/gendsa.c | 42 +- crypto/openssl/apps/genpkey.c | 97 +- crypto/openssl/apps/genrsa.c | 61 +- crypto/openssl/apps/include/app_libctx.h | 4 +- crypto/openssl/apps/include/app_params.h | 1 - crypto/openssl/apps/include/apps.h | 252 +- crypto/openssl/apps/include/apps_ui.h | 5 +- crypto/openssl/apps/include/cmp_mock_srv.h | 18 +- crypto/openssl/apps/include/engine_loader.h | 8 +- crypto/openssl/apps/include/fmt.h | 32 +- crypto/openssl/apps/include/function.h | 17 +- crypto/openssl/apps/include/http_server.h | 64 +- crypto/openssl/apps/include/log.h | 34 +- crypto/openssl/apps/include/names.h | 2 +- crypto/openssl/apps/include/opt.h | 585 +- crypto/openssl/apps/include/platform.h | 12 +- crypto/openssl/apps/include/s_apps.h | 60 +- crypto/openssl/apps/include/vms_term_sock.h | 12 +- crypto/openssl/apps/info.c | 39 +- crypto/openssl/apps/kdf.c | 45 +- crypto/openssl/apps/lib/app_libctx.c | 1 - crypto/openssl/apps/lib/app_params.c | 7 +- crypto/openssl/apps/lib/app_provider.c | 12 +- crypto/openssl/apps/lib/app_rand.c | 5 +- crypto/openssl/apps/lib/app_x509.c | 54 +- crypto/openssl/apps/lib/apps.c | 686 +- crypto/openssl/apps/lib/apps_opt_printf.c | 1 - crypto/openssl/apps/lib/apps_ui.c | 39 +- crypto/openssl/apps/lib/cmp_mock_srv.c | 331 +- crypto/openssl/apps/lib/columns.c | 1 - crypto/openssl/apps/lib/engine.c | 15 +- crypto/openssl/apps/lib/engine_loader.c | 38 +- crypto/openssl/apps/lib/http_server.c | 125 +- crypto/openssl/apps/lib/log.c | 8 +- crypto/openssl/apps/lib/names.c | 2 +- crypto/openssl/apps/lib/opt.c | 202 +- crypto/openssl/apps/lib/s_cb.c | 650 +- crypto/openssl/apps/lib/s_socket.c | 115 +- crypto/openssl/apps/lib/tlssrp_depr.c | 47 +- crypto/openssl/apps/lib/vms_decc_argv.c | 2 +- crypto/openssl/apps/lib/vms_term_sock.c | 501 +- crypto/openssl/apps/lib/win32_init.c | 28 +- crypto/openssl/apps/list.c | 610 +- crypto/openssl/apps/mac.c | 40 +- crypto/openssl/apps/nseq.c | 22 +- crypto/openssl/apps/ocsp.c | 462 +- crypto/openssl/apps/openssl.c | 66 +- crypto/openssl/apps/passwd.c | 250 +- crypto/openssl/apps/pkcs12.c | 369 +- crypto/openssl/apps/pkcs7.c | 46 +- crypto/openssl/apps/pkcs8.c | 92 +- crypto/openssl/apps/pkey.c | 100 +- crypto/openssl/apps/pkeyparam.c | 32 +- crypto/openssl/apps/pkeyutl.c | 257 +- crypto/openssl/apps/prime.c | 45 +- crypto/openssl/apps/progs.pl | 7 +- crypto/openssl/apps/rand.c | 36 +- crypto/openssl/apps/rehash.c | 172 +- crypto/openssl/apps/req.c | 479 +- crypto/openssl/apps/rsa.c | 103 +- crypto/openssl/apps/rsautl.c | 91 +- crypto/openssl/apps/s_client.c | 1863 +- crypto/openssl/apps/s_server.c | 929 +- crypto/openssl/apps/s_time.c | 158 +- crypto/openssl/apps/sess_id.c | 42 +- crypto/openssl/apps/skeyutl.c | 38 +- crypto/openssl/apps/smime.c | 225 +- crypto/openssl/apps/speed.c | 1648 +- crypto/openssl/apps/spkac.c | 56 +- crypto/openssl/apps/srp.c | 196 +- crypto/openssl/apps/storeutl.c | 159 +- crypto/openssl/apps/testdsa.h | 1490 +- crypto/openssl/apps/testrsa.h | 4912 +++- crypto/openssl/apps/timeouts.h | 8 +- crypto/openssl/apps/ts.c | 264 +- crypto/openssl/apps/verify.c | 137 +- crypto/openssl/apps/version.c | 58 +- crypto/openssl/apps/vms_decc_init.c | 73 +- crypto/openssl/apps/x509.c | 417 +- crypto/openssl/crypto/LPdir_nyi.c | 2 +- crypto/openssl/crypto/LPdir_unix.c | 23 +- crypto/openssl/crypto/LPdir_vms.c | 24 +- crypto/openssl/crypto/LPdir_win.c | 35 +- crypto/openssl/crypto/LPdir_win32.c | 2 + crypto/openssl/crypto/LPdir_wince.c | 2 + crypto/openssl/crypto/aes/aes_cbc.c | 8 +- crypto/openssl/crypto/aes/aes_cfb.c | 18 +- crypto/openssl/crypto/aes/aes_core.c | 3589 ++- crypto/openssl/crypto/aes/aes_ecb.c | 2 +- crypto/openssl/crypto/aes/aes_ige.c | 56 +- crypto/openssl/crypto/aes/aes_local.h | 51 +- crypto/openssl/crypto/aes/aes_misc.c | 6 +- crypto/openssl/crypto/aes/aes_ofb.c | 6 +- crypto/openssl/crypto/aes/aes_wrap.c | 12 +- crypto/openssl/crypto/aes/aes_x86core.c | 591 +- crypto/openssl/crypto/aes/asm/aesni-xts-avx512.pl | 14 +- crypto/openssl/crypto/aria/aria.c | 335 +- crypto/openssl/crypto/arm_arch.h | 369 +- crypto/openssl/crypto/armcap.c | 241 +- crypto/openssl/crypto/asn1/a_bitstr.c | 12 +- crypto/openssl/crypto/asn1/a_d2i_fp.c | 40 +- crypto/openssl/crypto/asn1/a_digest.c | 9 +- crypto/openssl/crypto/asn1/a_dup.c | 6 +- crypto/openssl/crypto/asn1/a_gentm.c | 8 +- crypto/openssl/crypto/asn1/a_i2d_fp.c | 4 +- crypto/openssl/crypto/asn1/a_int.c | 33 +- crypto/openssl/crypto/asn1/a_mbstr.c | 58 +- crypto/openssl/crypto/asn1/a_object.c | 32 +- crypto/openssl/crypto/asn1/a_octet.c | 4 +- crypto/openssl/crypto/asn1/a_print.c | 3 +- crypto/openssl/crypto/asn1/a_sign.c | 45 +- crypto/openssl/crypto/asn1/a_strex.c | 91 +- crypto/openssl/crypto/asn1/a_strnid.c | 16 +- crypto/openssl/crypto/asn1/a_time.c | 53 +- crypto/openssl/crypto/asn1/a_type.c | 12 +- crypto/openssl/crypto/asn1/a_utctm.c | 2 +- crypto/openssl/crypto/asn1/a_utf8.c | 4 +- crypto/openssl/crypto/asn1/a_verify.c | 29 +- crypto/openssl/crypto/asn1/ameth_lib.c | 172 +- crypto/openssl/crypto/asn1/asn1_err.c | 374 +- crypto/openssl/crypto/asn1/asn1_gen.c | 103 +- crypto/openssl/crypto/asn1/asn1_item_list.h | 4 +- crypto/openssl/crypto/asn1/asn1_lib.c | 12 +- crypto/openssl/crypto/asn1/asn1_local.h | 28 +- crypto/openssl/crypto/asn1/asn1_parse.c | 74 +- crypto/openssl/crypto/asn1/asn_mime.c | 99 +- crypto/openssl/crypto/asn1/asn_mstbl.c | 12 +- crypto/openssl/crypto/asn1/asn_pack.c | 9 +- crypto/openssl/crypto/asn1/bio_asn1.c | 44 +- crypto/openssl/crypto/asn1/bio_ndef.c | 17 +- crypto/openssl/crypto/asn1/d2i_param.c | 2 +- crypto/openssl/crypto/asn1/d2i_pr.c | 43 +- crypto/openssl/crypto/asn1/d2i_pu.c | 4 +- crypto/openssl/crypto/asn1/evp_asn1.c | 30 +- crypto/openssl/crypto/asn1/f_int.c | 4 +- crypto/openssl/crypto/asn1/f_string.c | 4 +- crypto/openssl/crypto/asn1/i2d_evp.c | 34 +- crypto/openssl/crypto/asn1/n_pkey.c | 23 +- crypto/openssl/crypto/asn1/nsseq.c | 6 +- crypto/openssl/crypto/asn1/p5_pbe.c | 19 +- crypto/openssl/crypto/asn1/p5_pbev2.c | 50 +- crypto/openssl/crypto/asn1/p5_scrypt.c | 52 +- crypto/openssl/crypto/asn1/p8_pkey.c | 24 +- crypto/openssl/crypto/asn1/t_bitst.c | 4 +- crypto/openssl/crypto/asn1/t_pkey.c | 19 +- crypto/openssl/crypto/asn1/t_spki.c | 6 +- crypto/openssl/crypto/asn1/tasn_dec.c | 227 +- crypto/openssl/crypto/asn1/tasn_enc.c | 51 +- crypto/openssl/crypto/asn1/tasn_new.c | 30 +- crypto/openssl/crypto/asn1/tasn_prn.c | 92 +- crypto/openssl/crypto/asn1/tasn_scn.c | 2 +- crypto/openssl/crypto/asn1/tasn_typ.c | 26 +- crypto/openssl/crypto/asn1/tasn_utl.c | 22 +- crypto/openssl/crypto/asn1/tbl_standard.h | 85 +- crypto/openssl/crypto/asn1/x_algor.c | 24 +- crypto/openssl/crypto/asn1/x_bignum.c | 29 +- crypto/openssl/crypto/asn1/x_int64.c | 87 +- crypto/openssl/crypto/asn1/x_long.c | 25 +- crypto/openssl/crypto/asn1/x_sig.c | 8 +- crypto/openssl/crypto/asn1/x_spki.c | 10 +- crypto/openssl/crypto/asn1/x_val.c | 4 +- crypto/openssl/crypto/asn1_dsa.c | 61 +- crypto/openssl/crypto/async/arch/async_null.c | 5 +- crypto/openssl/crypto/async/arch/async_null.h | 17 +- crypto/openssl/crypto/async/arch/async_posix.c | 14 +- crypto/openssl/crypto/async/arch/async_posix.h | 53 +- crypto/openssl/crypto/async/arch/async_win.c | 14 +- crypto/openssl/crypto/async/arch/async_win.h | 38 +- crypto/openssl/crypto/async/async.c | 29 +- crypto/openssl/crypto/async/async_err.c | 16 +- crypto/openssl/crypto/async/async_local.h | 9 +- crypto/openssl/crypto/async/async_wait.c | 48 +- crypto/openssl/crypto/bf/bf_cfb64.c | 4 +- crypto/openssl/crypto/bf/bf_ecb.c | 2 +- crypto/openssl/crypto/bf/bf_enc.c | 12 +- crypto/openssl/crypto/bf/bf_local.h | 134 +- crypto/openssl/crypto/bf/bf_ofb64.c | 4 +- crypto/openssl/crypto/bf/bf_pi.h | 1548 +- crypto/openssl/crypto/bio/bf_buff.c | 21 +- crypto/openssl/crypto/bio/bf_lbuf.c | 18 +- crypto/openssl/crypto/bio/bf_prefix.c | 14 +- crypto/openssl/crypto/bio/bf_readbuff.c | 64 +- crypto/openssl/crypto/bio/bio_addr.c | 145 +- crypto/openssl/crypto/bio/bio_cb.c | 26 +- crypto/openssl/crypto/bio/bio_dump.c | 22 +- crypto/openssl/crypto/bio/bio_err.c | 142 +- crypto/openssl/crypto/bio/bio_lib.c | 78 +- crypto/openssl/crypto/bio/bio_local.h | 145 +- crypto/openssl/crypto/bio/bio_meth.c | 56 +- crypto/openssl/crypto/bio/bio_print.c | 148 +- crypto/openssl/crypto/bio/bio_sock.c | 243 +- crypto/openssl/crypto/bio/bio_sock2.c | 140 +- crypto/openssl/crypto/bio/bss_acpt.c | 140 +- crypto/openssl/crypto/bio/bss_bio.c | 68 +- crypto/openssl/crypto/bio/bss_conn.c | 236 +- crypto/openssl/crypto/bio/bss_core.c | 6 +- crypto/openssl/crypto/bio/bss_dgram.c | 1475 +- crypto/openssl/crypto/bio/bss_dgram_pair.c | 110 +- crypto/openssl/crypto/bio/bss_fd.c | 46 +- crypto/openssl/crypto/bio/bss_file.c | 73 +- crypto/openssl/crypto/bio/bss_log.c | 208 +- crypto/openssl/crypto/bio/bss_mem.c | 12 +- crypto/openssl/crypto/bio/bss_null.c | 2 +- crypto/openssl/crypto/bio/bss_sock.c | 135 +- crypto/openssl/crypto/bio/ossl_core_bio.c | 4 +- crypto/openssl/crypto/bn/asm/rsaz-2k-avx512.pl | 10 +- crypto/openssl/crypto/bn/asm/rsaz-2k-avxifma.pl | 10 +- crypto/openssl/crypto/bn/asm/rsaz-3k-avx512.pl | 10 +- crypto/openssl/crypto/bn/asm/rsaz-4k-avx512.pl | 10 +- crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl | 10 +- crypto/openssl/crypto/bn/asm/x86_64-gcc.c | 306 +- crypto/openssl/crypto/bn/asm/x86_64-mont5.pl | 10 +- crypto/openssl/crypto/bn/bn_add.c | 3 +- crypto/openssl/crypto/bn/bn_asm.c | 445 +- crypto/openssl/crypto/bn/bn_blind.c | 35 +- crypto/openssl/crypto/bn/bn_const.c | 253 +- crypto/openssl/crypto/bn/bn_conv.c | 14 +- crypto/openssl/crypto/bn/bn_ctx.c | 37 +- crypto/openssl/crypto/bn/bn_depr.c | 16 +- crypto/openssl/crypto/bn/bn_dh.c | 1193 +- crypto/openssl/crypto/bn/bn_div.c | 160 +- crypto/openssl/crypto/bn/bn_err.c | 54 +- crypto/openssl/crypto/bn/bn_exp.c | 378 +- crypto/openssl/crypto/bn/bn_exp2.c | 29 +- crypto/openssl/crypto/bn/bn_gcd.c | 37 +- crypto/openssl/crypto/bn/bn_gf2m.c | 158 +- crypto/openssl/crypto/bn/bn_intern.c | 14 +- crypto/openssl/crypto/bn/bn_kron.c | 6 +- crypto/openssl/crypto/bn/bn_lib.c | 71 +- crypto/openssl/crypto/bn/bn_local.h | 824 +- crypto/openssl/crypto/bn/bn_mod.c | 20 +- crypto/openssl/crypto/bn/bn_mont.c | 64 +- crypto/openssl/crypto/bn/bn_mpi.c | 3 +- crypto/openssl/crypto/bn/bn_mul.c | 69 +- crypto/openssl/crypto/bn/bn_nist.c | 422 +- crypto/openssl/crypto/bn/bn_ppc.c | 26 +- crypto/openssl/crypto/bn/bn_prime.c | 70 +- crypto/openssl/crypto/bn/bn_print.c | 6 +- crypto/openssl/crypto/bn/bn_rand.c | 78 +- crypto/openssl/crypto/bn/bn_recp.c | 12 +- crypto/openssl/crypto/bn/bn_rsa_fips186_4.c | 43 +- crypto/openssl/crypto/bn/bn_s390x.c | 28 +- crypto/openssl/crypto/bn/bn_shift.c | 8 +- crypto/openssl/crypto/bn/bn_sparc.c | 77 +- crypto/openssl/crypto/bn/bn_sqr.c | 16 +- crypto/openssl/crypto/bn/bn_sqrt.c | 13 +- crypto/openssl/crypto/bn/bn_srp.c | 26 +- crypto/openssl/crypto/bn/bn_word.c | 3 +- crypto/openssl/crypto/bn/bn_x931p.c | 25 +- crypto/openssl/crypto/bn/rsaz_exp.c | 32 +- crypto/openssl/crypto/bn/rsaz_exp.h | 67 +- crypto/openssl/crypto/bn/rsaz_exp_x2.c | 269 +- crypto/openssl/crypto/bsearch.c | 8 +- crypto/openssl/crypto/buffer/buf_err.c | 2 +- crypto/openssl/crypto/camellia/camellia.c | 426 +- crypto/openssl/crypto/camellia/cmll_cbc.c | 8 +- crypto/openssl/crypto/camellia/cmll_cfb.c | 18 +- crypto/openssl/crypto/camellia/cmll_ctr.c | 10 +- crypto/openssl/crypto/camellia/cmll_ecb.c | 2 +- crypto/openssl/crypto/camellia/cmll_local.h | 18 +- crypto/openssl/crypto/camellia/cmll_misc.c | 6 +- crypto/openssl/crypto/camellia/cmll_ofb.c | 6 +- crypto/openssl/crypto/cast/c_cfb64.c | 4 +- crypto/openssl/crypto/cast/c_ecb.c | 2 +- crypto/openssl/crypto/cast/c_enc.c | 4 +- crypto/openssl/crypto/cast/c_ofb64.c | 4 +- crypto/openssl/crypto/cast/c_skey.c | 15 +- crypto/openssl/crypto/cast/cast_local.h | 233 +- crypto/openssl/crypto/cast/cast_s.h | 2560 +- crypto/openssl/crypto/chacha/asm/chacha-x86.pl | 8 +- crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl | 11 +- crypto/openssl/crypto/chacha/chacha_enc.c | 82 +- crypto/openssl/crypto/chacha/chacha_ppc.c | 35 +- crypto/openssl/crypto/chacha/chacha_riscv.c | 14 +- crypto/openssl/crypto/cmac/cmac.c | 7 +- crypto/openssl/crypto/cmp/cmp_asn.c | 291 +- crypto/openssl/crypto/cmp/cmp_client.c | 241 +- crypto/openssl/crypto/cmp/cmp_ctx.c | 580 +- crypto/openssl/crypto/cmp/cmp_err.c | 356 +- crypto/openssl/crypto/cmp/cmp_genm.c | 124 +- crypto/openssl/crypto/cmp/cmp_hdr.c | 50 +- crypto/openssl/crypto/cmp/cmp_http.c | 46 +- crypto/openssl/crypto/cmp/cmp_local.h | 224 +- crypto/openssl/crypto/cmp/cmp_msg.c | 272 +- crypto/openssl/crypto/cmp/cmp_protect.c | 42 +- crypto/openssl/crypto/cmp/cmp_server.c | 142 +- crypto/openssl/crypto/cmp/cmp_status.c | 59 +- crypto/openssl/crypto/cmp/cmp_util.c | 73 +- crypto/openssl/crypto/cmp/cmp_vfy.c | 221 +- crypto/openssl/crypto/cms/cms_asn1.c | 303 +- crypto/openssl/crypto/cms/cms_att.c | 88 +- crypto/openssl/crypto/cms/cms_cd.c | 10 +- crypto/openssl/crypto/cms/cms_dd.c | 13 +- crypto/openssl/crypto/cms/cms_dh.c | 26 +- crypto/openssl/crypto/cms/cms_ec.c | 26 +- crypto/openssl/crypto/cms/cms_enc.c | 36 +- crypto/openssl/crypto/cms/cms_env.c | 198 +- crypto/openssl/crypto/cms/cms_err.c | 310 +- crypto/openssl/crypto/cms/cms_ess.c | 57 +- crypto/openssl/crypto/cms/cms_io.c | 30 +- crypto/openssl/crypto/cms/cms_kari.c | 110 +- crypto/openssl/crypto/cms/cms_lib.c | 56 +- crypto/openssl/crypto/cms/cms_local.h | 89 +- crypto/openssl/crypto/cms/cms_pwri.c | 60 +- crypto/openssl/crypto/cms/cms_rsa.c | 14 +- crypto/openssl/crypto/cms/cms_sd.c | 181 +- crypto/openssl/crypto/cms/cms_smime.c | 140 +- crypto/openssl/crypto/comp/c_brotli.c | 139 +- crypto/openssl/crypto/comp/c_zlib.c | 190 +- crypto/openssl/crypto/comp/c_zstd.c | 206 +- crypto/openssl/crypto/comp/comp_err.c | 48 +- crypto/openssl/crypto/comp/comp_lib.c | 6 +- crypto/openssl/crypto/comp/comp_local.h | 22 +- crypto/openssl/crypto/comp_methods.c | 6 +- crypto/openssl/crypto/conf/conf_api.c | 6 +- crypto/openssl/crypto/conf/conf_def.c | 72 +- crypto/openssl/crypto/conf/conf_err.c | 90 +- crypto/openssl/crypto/conf/conf_lib.c | 25 +- crypto/openssl/crypto/conf/conf_mod.c | 64 +- crypto/openssl/crypto/conf/conf_sap.c | 6 +- crypto/openssl/crypto/conf/conf_ssl.c | 13 +- crypto/openssl/crypto/context.c | 8 +- crypto/openssl/crypto/core_algorithm.c | 52 +- crypto/openssl/crypto/core_fetch.c | 36 +- crypto/openssl/crypto/core_namemap.c | 54 +- crypto/openssl/crypto/cpt_err.c | 120 +- crypto/openssl/crypto/cpuid.c | 39 +- crypto/openssl/crypto/crmf/crmf_asn.c | 75 +- crypto/openssl/crypto/crmf/crmf_err.c | 114 +- crypto/openssl/crypto/crmf/crmf_lib.c | 269 +- crypto/openssl/crypto/crmf/crmf_local.h | 34 +- crypto/openssl/crypto/crmf/crmf_pbm.c | 28 +- crypto/openssl/crypto/cryptlib.c | 112 +- crypto/openssl/crypto/ct/ct_b64.c | 16 +- crypto/openssl/crypto/ct/ct_err.c | 62 +- crypto/openssl/crypto/ct/ct_local.h | 97 +- crypto/openssl/crypto/ct/ct_log.c | 27 +- crypto/openssl/crypto/ct/ct_oct.c | 22 +- crypto/openssl/crypto/ct/ct_policy.c | 12 +- crypto/openssl/crypto/ct/ct_prn.c | 16 +- crypto/openssl/crypto/ct/ct_sct.c | 11 +- crypto/openssl/crypto/ct/ct_sct_ctx.c | 13 +- crypto/openssl/crypto/ct/ct_vfy.c | 9 +- crypto/openssl/crypto/ct/ct_x509v3.c | 62 +- crypto/openssl/crypto/ctype.c | 410 +- crypto/openssl/crypto/cversion.c | 28 +- crypto/openssl/crypto/defaults.c | 36 +- crypto/openssl/crypto/der_writer.c | 23 +- crypto/openssl/crypto/des/cbc_cksm.c | 4 +- crypto/openssl/crypto/des/cbc_enc.c | 2 + crypto/openssl/crypto/des/cfb64ede.c | 12 +- crypto/openssl/crypto/des/cfb64enc.c | 4 +- crypto/openssl/crypto/des/cfb_enc.c | 13 +- crypto/openssl/crypto/des/des_enc.c | 144 +- crypto/openssl/crypto/des/des_local.h | 379 +- crypto/openssl/crypto/des/ecb3_enc.c | 4 +- crypto/openssl/crypto/des/ecb_enc.c | 3 +- crypto/openssl/crypto/des/fcrypt.c | 154 +- crypto/openssl/crypto/des/fcrypt_b.c | 52 +- crypto/openssl/crypto/des/ncbc_enc.c | 6 +- crypto/openssl/crypto/des/ofb64ede.c | 6 +- crypto/openssl/crypto/des/ofb64enc.c | 4 +- crypto/openssl/crypto/des/ofb_enc.c | 8 +- crypto/openssl/crypto/des/pcbc_enc.c | 4 +- crypto/openssl/crypto/des/qud_cksm.c | 22 +- crypto/openssl/crypto/des/set_key.c | 726 +- crypto/openssl/crypto/des/spr.h | 640 +- crypto/openssl/crypto/des/xcbc_enc.c | 6 +- crypto/openssl/crypto/deterministic_nonce.c | 62 +- crypto/openssl/crypto/dh/dh_ameth.c | 48 +- crypto/openssl/crypto/dh/dh_asn1.c | 39 +- crypto/openssl/crypto/dh/dh_backend.c | 21 +- crypto/openssl/crypto/dh/dh_check.c | 14 +- crypto/openssl/crypto/dh/dh_depr.c | 2 +- crypto/openssl/crypto/dh/dh_err.c | 94 +- crypto/openssl/crypto/dh/dh_gen.c | 21 +- crypto/openssl/crypto/dh/dh_group_params.c | 5 +- crypto/openssl/crypto/dh/dh_kdf.c | 26 +- crypto/openssl/crypto/dh/dh_key.c | 45 +- crypto/openssl/crypto/dh/dh_lib.c | 16 +- crypto/openssl/crypto/dh/dh_local.h | 24 +- crypto/openssl/crypto/dh/dh_meth.c | 28 +- crypto/openssl/crypto/dh/dh_pmeth.c | 47 +- crypto/openssl/crypto/dh/dh_rfc5114.c | 36 +- crypto/openssl/crypto/dllmain.c | 7 +- crypto/openssl/crypto/dsa/dsa_ameth.c | 141 +- crypto/openssl/crypto/dsa/dsa_asn1.c | 34 +- crypto/openssl/crypto/dsa/dsa_backend.c | 24 +- crypto/openssl/crypto/dsa/dsa_check.c | 8 +- crypto/openssl/crypto/dsa/dsa_depr.c | 10 +- crypto/openssl/crypto/dsa/dsa_err.c | 50 +- crypto/openssl/crypto/dsa/dsa_gen.c | 24 +- crypto/openssl/crypto/dsa/dsa_key.c | 26 +- crypto/openssl/crypto/dsa/dsa_lib.c | 19 +- crypto/openssl/crypto/dsa/dsa_local.h | 42 +- crypto/openssl/crypto/dsa/dsa_meth.c | 52 +- crypto/openssl/crypto/dsa/dsa_ossl.c | 96 +- crypto/openssl/crypto/dsa/dsa_pmeth.c | 39 +- crypto/openssl/crypto/dsa/dsa_sign.c | 22 +- crypto/openssl/crypto/dsa/dsa_vrf.c | 2 +- crypto/openssl/crypto/dso/dso_dl.c | 59 +- crypto/openssl/crypto/dso/dso_dlfcn.c | 132 +- crypto/openssl/crypto/dso/dso_err.c | 56 +- crypto/openssl/crypto/dso/dso_lib.c | 8 +- crypto/openssl/crypto/dso/dso_local.h | 16 +- crypto/openssl/crypto/dso/dso_vms.c | 172 +- crypto/openssl/crypto/dso/dso_win32.c | 160 +- crypto/openssl/crypto/ebcdic.c | 110 +- crypto/openssl/crypto/ec/curve25519.c | 5161 ++-- .../crypto/ec/curve448/arch_32/arch_intrinsics.h | 8 +- crypto/openssl/crypto/ec/curve448/arch_32/f_impl.h | 18 +- .../openssl/crypto/ec/curve448/arch_32/f_impl32.c | 10 +- .../crypto/ec/curve448/arch_64/arch_intrinsics.h | 12 +- crypto/openssl/crypto/ec/curve448/arch_64/f_impl.h | 15 +- .../openssl/crypto/ec/curve448/arch_64/f_impl64.c | 8 +- crypto/openssl/crypto/ec/curve448/curve448.c | 217 +- crypto/openssl/crypto/ec/curve448/curve448_local.h | 6 +- .../openssl/crypto/ec/curve448/curve448_tables.c | 3028 +-- crypto/openssl/crypto/ec/curve448/curve448utils.h | 44 +- crypto/openssl/crypto/ec/curve448/ed448.h | 102 +- crypto/openssl/crypto/ec/curve448/eddsa.c | 211 +- crypto/openssl/crypto/ec/curve448/f_generic.c | 25 +- crypto/openssl/crypto/ec/curve448/field.h | 87 +- crypto/openssl/crypto/ec/curve448/point_448.h | 101 +- crypto/openssl/crypto/ec/curve448/scalar.c | 82 +- crypto/openssl/crypto/ec/curve448/word.h | 48 +- crypto/openssl/crypto/ec/ec2_oct.c | 30 +- crypto/openssl/crypto/ec/ec2_smpl.c | 122 +- crypto/openssl/crypto/ec/ec_ameth.c | 87 +- crypto/openssl/crypto/ec/ec_asn1.c | 154 +- crypto/openssl/crypto/ec/ec_backend.c | 88 +- crypto/openssl/crypto/ec/ec_check.c | 10 +- crypto/openssl/crypto/ec/ec_curve.c | 1575 +- crypto/openssl/crypto/ec/ec_cvt.c | 4 +- crypto/openssl/crypto/ec/ec_deprecated.c | 8 +- crypto/openssl/crypto/ec/ec_err.c | 212 +- crypto/openssl/crypto/ec/ec_key.c | 56 +- crypto/openssl/crypto/ec/ec_kmeth.c | 147 +- crypto/openssl/crypto/ec/ec_lib.c | 188 +- crypto/openssl/crypto/ec/ec_local.h | 519 +- crypto/openssl/crypto/ec/ec_mult.c | 113 +- crypto/openssl/crypto/ec/ec_oct.c | 34 +- crypto/openssl/crypto/ec/ec_pmeth.c | 29 +- crypto/openssl/crypto/ec/ec_print.c | 8 +- crypto/openssl/crypto/ec/ecdh_kdf.c | 22 +- crypto/openssl/crypto/ec/ecdh_ossl.c | 6 +- crypto/openssl/crypto/ec/ecdsa_ossl.c | 85 +- crypto/openssl/crypto/ec/ecdsa_sign.c | 13 +- crypto/openssl/crypto/ec/ecdsa_vrf.c | 6 +- crypto/openssl/crypto/ec/eck_prn.c | 23 +- crypto/openssl/crypto/ec/ecp_mont.c | 32 +- crypto/openssl/crypto/ec/ecp_nist.c | 28 +- crypto/openssl/crypto/ec/ecp_nistp224.c | 603 +- crypto/openssl/crypto/ec/ecp_nistp256.c | 783 +- crypto/openssl/crypto/ec/ecp_nistp384.c | 929 +- crypto/openssl/crypto/ec/ecp_nistp521.c | 940 +- crypto/openssl/crypto/ec/ecp_nistputil.c | 62 +- crypto/openssl/crypto/ec/ecp_nistz256.c | 376 +- crypto/openssl/crypto/ec/ecp_nistz256_table.c | 24407 +++++++++++-------- crypto/openssl/crypto/ec/ecp_oct.c | 31 +- crypto/openssl/crypto/ec/ecp_ppc.c | 8 +- crypto/openssl/crypto/ec/ecp_s390x_nistp.c | 323 +- crypto/openssl/crypto/ec/ecp_sm2p256.c | 100 +- crypto/openssl/crypto/ec/ecp_sm2p256_table.c | 2 +- crypto/openssl/crypto/ec/ecp_smpl.c | 169 +- crypto/openssl/crypto/ec/ecx_backend.c | 32 +- crypto/openssl/crypto/ec/ecx_backend.h | 18 +- crypto/openssl/crypto/ec/ecx_key.c | 18 +- crypto/openssl/crypto/ec/ecx_meth.c | 235 +- crypto/openssl/crypto/ec/ecx_s390x.c | 28 +- crypto/openssl/crypto/encode_decode/decoder_err.c | 14 +- crypto/openssl/crypto/encode_decode/decoder_lib.c | 388 +- crypto/openssl/crypto/encode_decode/decoder_meth.c | 85 +- crypto/openssl/crypto/encode_decode/decoder_pkey.c | 226 +- crypto/openssl/crypto/encode_decode/encoder_err.c | 14 +- crypto/openssl/crypto/encode_decode/encoder_lib.c | 254 +- .../openssl/crypto/encode_decode/encoder_local.h | 18 +- crypto/openssl/crypto/encode_decode/encoder_meth.c | 95 +- crypto/openssl/crypto/encode_decode/encoder_pkey.c | 95 +- crypto/openssl/crypto/engine/eng_all.c | 4 +- crypto/openssl/crypto/engine/eng_cnf.c | 13 +- crypto/openssl/crypto/engine/eng_ctrl.c | 28 +- crypto/openssl/crypto/engine/eng_dyn.c | 116 +- crypto/openssl/crypto/engine/eng_err.c | 128 +- crypto/openssl/crypto/engine/eng_fat.c | 2 +- crypto/openssl/crypto/engine/eng_lib.c | 4 +- crypto/openssl/crypto/engine/eng_list.c | 17 +- crypto/openssl/crypto/engine/eng_local.h | 48 +- crypto/openssl/crypto/engine/eng_openssl.c | 132 +- crypto/openssl/crypto/engine/eng_pkey.c | 20 +- crypto/openssl/crypto/engine/eng_rdrand.c | 44 +- crypto/openssl/crypto/engine/eng_table.c | 46 +- crypto/openssl/crypto/engine/tb_asnmth.c | 22 +- crypto/openssl/crypto/engine/tb_cipher.c | 10 +- crypto/openssl/crypto/engine/tb_dh.c | 10 +- crypto/openssl/crypto/engine/tb_digest.c | 10 +- crypto/openssl/crypto/engine/tb_dsa.c | 10 +- crypto/openssl/crypto/engine/tb_eckey.c | 10 +- crypto/openssl/crypto/engine/tb_pkmeth.c | 10 +- crypto/openssl/crypto/engine/tb_rand.c | 10 +- crypto/openssl/crypto/engine/tb_rsa.c | 10 +- crypto/openssl/crypto/err/err.c | 238 +- crypto/openssl/crypto/err/err_all.c | 46 +- crypto/openssl/crypto/err/err_all_legacy.c | 112 +- crypto/openssl/crypto/err/err_local.h | 21 +- crypto/openssl/crypto/err/err_mark.c | 7 +- crypto/openssl/crypto/err/err_prn.c | 12 +- crypto/openssl/crypto/err/err_save.c | 48 +- crypto/openssl/crypto/err/openssl.txt | 1 + crypto/openssl/crypto/ess/ess_asn1.c | 28 +- crypto/openssl/crypto/ess/ess_err.c | 38 +- crypto/openssl/crypto/ess/ess_lib.c | 51 +- crypto/openssl/crypto/evp/asymcipher.c | 106 +- crypto/openssl/crypto/evp/bio_b64.c | 42 +- crypto/openssl/crypto/evp/bio_enc.c | 53 +- crypto/openssl/crypto/evp/bio_md.c | 8 +- crypto/openssl/crypto/evp/bio_ok.c | 51 +- crypto/openssl/crypto/evp/c_allc.c | 8 +- crypto/openssl/crypto/evp/cmeth_lib.c | 57 +- crypto/openssl/crypto/evp/ctrl_params_translate.c | 1365 +- crypto/openssl/crypto/evp/dh_ctrl.c | 46 +- crypto/openssl/crypto/evp/dh_support.c | 10 +- crypto/openssl/crypto/evp/digest.c | 211 +- crypto/openssl/crypto/evp/dsa_ctrl.c | 18 +- crypto/openssl/crypto/evp/e_aes.c | 1563 +- crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c | 439 +- crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c | 440 +- crypto/openssl/crypto/evp/e_aria.c | 352 +- crypto/openssl/crypto/evp/e_bf.c | 20 +- crypto/openssl/crypto/evp/e_camellia.c | 220 +- crypto/openssl/crypto/evp/e_cast.c | 22 +- crypto/openssl/crypto/evp/e_chacha20_poly1305.c | 265 +- crypto/openssl/crypto/evp/e_des.c | 128 +- crypto/openssl/crypto/evp/e_des3.c | 183 +- crypto/openssl/crypto/evp/e_idea.c | 28 +- crypto/openssl/crypto/evp/e_null.c | 8 +- crypto/openssl/crypto/evp/e_old.c | 16 +- crypto/openssl/crypto/evp/e_rc2.c | 53 +- crypto/openssl/crypto/evp/e_rc4.c | 22 +- crypto/openssl/crypto/evp/e_rc4_hmac_md5.c | 161 +- crypto/openssl/crypto/evp/e_rc5.c | 26 +- crypto/openssl/crypto/evp/e_seed.c | 8 +- crypto/openssl/crypto/evp/e_sm4.c | 173 +- crypto/openssl/crypto/evp/e_xcbc_d.c | 34 +- crypto/openssl/crypto/evp/ec_ctrl.c | 39 +- crypto/openssl/crypto/evp/ec_support.c | 194 +- crypto/openssl/crypto/evp/encode.c | 348 +- crypto/openssl/crypto/evp/evp_cnf.c | 7 +- crypto/openssl/crypto/evp/evp_enc.c | 366 +- crypto/openssl/crypto/evp/evp_err.c | 408 +- crypto/openssl/crypto/evp/evp_fetch.c | 164 +- crypto/openssl/crypto/evp/evp_key.c | 22 +- crypto/openssl/crypto/evp/evp_lib.c | 187 +- crypto/openssl/crypto/evp/evp_local.h | 183 +- crypto/openssl/crypto/evp/evp_pbe.c | 133 +- crypto/openssl/crypto/evp/evp_pkey.c | 46 +- crypto/openssl/crypto/evp/evp_rand.c | 143 +- crypto/openssl/crypto/evp/evp_utils.c | 70 +- crypto/openssl/crypto/evp/exchange.c | 107 +- crypto/openssl/crypto/evp/kdf_lib.c | 10 +- crypto/openssl/crypto/evp/kdf_meth.c | 27 +- crypto/openssl/crypto/evp/kem.c | 79 +- crypto/openssl/crypto/evp/keymgmt_lib.c | 72 +- crypto/openssl/crypto/evp/keymgmt_meth.c | 108 +- crypto/openssl/crypto/evp/legacy_blake2.c | 6 +- crypto/openssl/crypto/evp/legacy_md5_sha1.c | 6 +- crypto/openssl/crypto/evp/legacy_mdc2.c | 2 +- crypto/openssl/crypto/evp/legacy_meth.h | 55 +- crypto/openssl/crypto/evp/legacy_ripemd.c | 2 +- crypto/openssl/crypto/evp/legacy_sha.c | 130 +- crypto/openssl/crypto/evp/legacy_wp.c | 2 +- crypto/openssl/crypto/evp/m_sigver.c | 164 +- crypto/openssl/crypto/evp/mac_lib.c | 37 +- crypto/openssl/crypto/evp/mac_meth.c | 39 +- crypto/openssl/crypto/evp/names.c | 50 +- crypto/openssl/crypto/evp/p5_crpt.c | 24 +- crypto/openssl/crypto/evp/p5_crpt2.c | 69 +- crypto/openssl/crypto/evp/p_dec.c | 7 +- crypto/openssl/crypto/evp/p_enc.c | 7 +- crypto/openssl/crypto/evp/p_lib.c | 589 +- crypto/openssl/crypto/evp/p_open.c | 6 +- crypto/openssl/crypto/evp/p_seal.c | 6 +- crypto/openssl/crypto/evp/p_sign.c | 8 +- crypto/openssl/crypto/evp/p_verify.c | 8 +- crypto/openssl/crypto/evp/pbe_scrypt.c | 32 +- crypto/openssl/crypto/evp/pmeth_check.c | 25 +- crypto/openssl/crypto/evp/pmeth_gn.c | 57 +- crypto/openssl/crypto/evp/pmeth_lib.c | 692 +- crypto/openssl/crypto/evp/s_lib.c | 39 +- crypto/openssl/crypto/evp/signature.c | 286 +- crypto/openssl/crypto/evp/skeymgmt_meth.c | 44 +- crypto/openssl/crypto/ex_data.c | 47 +- crypto/openssl/crypto/ffc/ffc_backend.c | 16 +- crypto/openssl/crypto/ffc/ffc_dh.c | 64 +- crypto/openssl/crypto/ffc/ffc_key_generate.c | 2 +- crypto/openssl/crypto/ffc/ffc_key_validate.c | 10 +- crypto/openssl/crypto/ffc/ffc_params.c | 62 +- crypto/openssl/crypto/ffc/ffc_params_generate.c | 174 +- crypto/openssl/crypto/ffc/ffc_params_validate.c | 46 +- crypto/openssl/crypto/getenv.c | 18 +- crypto/openssl/crypto/hashtable/hashtable.c | 75 +- crypto/openssl/crypto/hmac/hmac.c | 32 +- crypto/openssl/crypto/hmac/hmac_local.h | 20 +- crypto/openssl/crypto/hmac/hmac_s390x.c | 33 +- crypto/openssl/crypto/hpke/hpke.c | 241 +- crypto/openssl/crypto/hpke/hpke_util.c | 185 +- crypto/openssl/crypto/http/http_client.c | 357 +- crypto/openssl/crypto/http/http_err.c | 118 +- crypto/openssl/crypto/http/http_lib.c | 38 +- crypto/openssl/crypto/idea/i_cbc.c | 4 +- crypto/openssl/crypto/idea/i_cfb64.c | 4 +- crypto/openssl/crypto/idea/i_ecb.c | 2 +- crypto/openssl/crypto/idea/i_ofb64.c | 4 +- crypto/openssl/crypto/idea/idea_local.h | 179 +- crypto/openssl/crypto/indicator_core.c | 7 +- crypto/openssl/crypto/info.c | 251 +- crypto/openssl/crypto/init.c | 159 +- crypto/openssl/crypto/initthread.c | 32 +- crypto/openssl/crypto/lhash/lh_stats.c | 22 +- crypto/openssl/crypto/lhash/lhash.c | 47 +- crypto/openssl/crypto/lhash/lhash_local.h | 4 +- crypto/openssl/crypto/loongarch_arch.h | 10 +- crypto/openssl/crypto/loongarchcap.c | 2 +- crypto/openssl/crypto/md2/md2_dgst.c | 296 +- crypto/openssl/crypto/md4/md4_dgst.c | 16 +- crypto/openssl/crypto/md4/md4_local.h | 63 +- crypto/openssl/crypto/md4/md4_one.c | 2 +- crypto/openssl/crypto/md5/md5_dgst.c | 16 +- crypto/openssl/crypto/md5/md5_local.h | 98 +- crypto/openssl/crypto/md5/md5_one.c | 2 +- crypto/openssl/crypto/mdc2/mdc2dgst.c | 16 +- crypto/openssl/crypto/mem.c | 99 +- crypto/openssl/crypto/mem_sec.c | 141 +- crypto/openssl/crypto/mips_arch.h | 48 +- crypto/openssl/crypto/ml_dsa/ml_dsa_encoders.c | 76 +- crypto/openssl/crypto/ml_dsa/ml_dsa_hash.h | 12 +- crypto/openssl/crypto/ml_dsa/ml_dsa_key.c | 52 +- crypto/openssl/crypto/ml_dsa/ml_dsa_key.h | 6 +- crypto/openssl/crypto/ml_dsa/ml_dsa_key_compress.c | 12 +- crypto/openssl/crypto/ml_dsa/ml_dsa_local.h | 86 +- crypto/openssl/crypto/ml_dsa/ml_dsa_matrix.c | 2 +- crypto/openssl/crypto/ml_dsa/ml_dsa_matrix.h | 2 +- crypto/openssl/crypto/ml_dsa/ml_dsa_ntt.c | 49 +- crypto/openssl/crypto/ml_dsa/ml_dsa_params.c | 89 +- crypto/openssl/crypto/ml_dsa/ml_dsa_poly.h | 14 +- crypto/openssl/crypto/ml_dsa/ml_dsa_sample.c | 34 +- crypto/openssl/crypto/ml_dsa/ml_dsa_sign.c | 72 +- crypto/openssl/crypto/ml_dsa/ml_dsa_vector.h | 24 +- crypto/openssl/crypto/ml_kem/ml_kem.c | 807 +- crypto/openssl/crypto/modes/asm/aes-gcm-avx512.pl | 4 +- crypto/openssl/crypto/modes/asm/aes-gcm-ppc.pl | 2061 +- .../openssl/crypto/modes/asm/aesni-gcm-x86_64.pl | 10 +- crypto/openssl/crypto/modes/cbc128.c | 38 +- crypto/openssl/crypto/modes/ccm128.c | 108 +- crypto/openssl/crypto/modes/cfb128.c | 64 +- crypto/openssl/crypto/modes/ctr128.c | 38 +- crypto/openssl/crypto/modes/cts128.c | 86 +- crypto/openssl/crypto/modes/gcm128.c | 500 +- crypto/openssl/crypto/modes/ocb128.c | 67 +- crypto/openssl/crypto/modes/ofb128.c | 20 +- crypto/openssl/crypto/modes/siv128.c | 56 +- crypto/openssl/crypto/modes/wrap128.c | 49 +- crypto/openssl/crypto/modes/xts128.c | 22 +- crypto/openssl/crypto/modes/xts128gb.c | 22 +- crypto/openssl/crypto/o_dir.c | 2 + crypto/openssl/crypto/o_fopen.c | 50 +- crypto/openssl/crypto/o_str.c | 79 +- crypto/openssl/crypto/o_time.c | 20 +- crypto/openssl/crypto/objects/o_names.c | 44 +- crypto/openssl/crypto/objects/obj_compat.h | 62 +- crypto/openssl/crypto/objects/obj_dat.c | 49 +- crypto/openssl/crypto/objects/obj_err.c | 10 +- crypto/openssl/crypto/objects/obj_lib.c | 6 +- crypto/openssl/crypto/objects/obj_xref.c | 6 +- crypto/openssl/crypto/ocsp/ocsp_asn.c | 90 +- crypto/openssl/crypto/ocsp/ocsp_cl.c | 42 +- crypto/openssl/crypto/ocsp/ocsp_err.c | 90 +- crypto/openssl/crypto/ocsp/ocsp_ext.c | 77 +- crypto/openssl/crypto/ocsp/ocsp_http.c | 16 +- crypto/openssl/crypto/ocsp/ocsp_lib.c | 12 +- crypto/openssl/crypto/ocsp/ocsp_local.h | 94 +- crypto/openssl/crypto/ocsp/ocsp_prn.c | 65 +- crypto/openssl/crypto/ocsp/ocsp_srv.c | 61 +- crypto/openssl/crypto/ocsp/ocsp_vfy.c | 50 +- crypto/openssl/crypto/ocsp/v3_ocsp.c | 60 +- crypto/openssl/crypto/packet.c | 49 +- crypto/openssl/crypto/param_build.c | 70 +- crypto/openssl/crypto/param_build_set.c | 20 +- crypto/openssl/crypto/params.c | 162 +- crypto/openssl/crypto/params_dup.c | 26 +- crypto/openssl/crypto/params_from_text.c | 28 +- crypto/openssl/crypto/params_idx.c.in | 4 + crypto/openssl/crypto/passphrase.c | 73 +- crypto/openssl/crypto/pem/pem_all.c | 35 +- crypto/openssl/crypto/pem/pem_err.c | 94 +- crypto/openssl/crypto/pem/pem_info.c | 61 +- crypto/openssl/crypto/pem/pem_lib.c | 130 +- crypto/openssl/crypto/pem/pem_local.h | 145 +- crypto/openssl/crypto/pem/pem_oth.c | 2 +- crypto/openssl/crypto/pem/pem_pk8.c | 74 +- crypto/openssl/crypto/pem/pem_pkey.c | 113 +- crypto/openssl/crypto/pem/pem_sign.c | 6 +- crypto/openssl/crypto/pem/pvkfmt.c | 123 +- crypto/openssl/crypto/pkcs12/p12_add.c | 53 +- crypto/openssl/crypto/pkcs12/p12_asn.c | 46 +- crypto/openssl/crypto/pkcs12/p12_attr.c | 35 +- crypto/openssl/crypto/pkcs12/p12_crpt.c | 25 +- crypto/openssl/crypto/pkcs12/p12_crt.c | 107 +- crypto/openssl/crypto/pkcs12/p12_decr.c | 83 +- crypto/openssl/crypto/pkcs12/p12_init.c | 2 +- crypto/openssl/crypto/pkcs12/p12_key.c | 58 +- crypto/openssl/crypto/pkcs12/p12_kiss.c | 48 +- crypto/openssl/crypto/pkcs12/p12_local.h | 6 +- crypto/openssl/crypto/pkcs12/p12_mutl.c | 111 +- crypto/openssl/crypto/pkcs12/p12_npas.c | 37 +- crypto/openssl/crypto/pkcs12/p12_p8d.c | 11 +- crypto/openssl/crypto/pkcs12/p12_p8e.c | 31 +- crypto/openssl/crypto/pkcs12/p12_sbag.c | 101 +- crypto/openssl/crypto/pkcs12/p12_utl.c | 79 +- crypto/openssl/crypto/pkcs12/pk12err.c | 66 +- crypto/openssl/crypto/pkcs7/pk7_asn1.c | 125 +- crypto/openssl/crypto/pkcs7/pk7_attr.c | 16 +- crypto/openssl/crypto/pkcs7/pk7_doit.c | 104 +- crypto/openssl/crypto/pkcs7/pk7_lib.c | 53 +- crypto/openssl/crypto/pkcs7/pk7_mime.c | 12 +- crypto/openssl/crypto/pkcs7/pk7_smime.c | 52 +- crypto/openssl/crypto/pkcs7/pkcs7err.c | 138 +- crypto/openssl/crypto/poly1305/poly1305.c | 102 +- crypto/openssl/crypto/poly1305/poly1305_base2_44.c | 29 +- crypto/openssl/crypto/poly1305/poly1305_ieee754.c | 279 +- crypto/openssl/crypto/poly1305/poly1305_ppc.c | 24 +- crypto/openssl/crypto/ppccap.c | 103 +- crypto/openssl/crypto/property/defn_cache.c | 15 +- crypto/openssl/crypto/property/property.c | 111 +- crypto/openssl/crypto/property/property_err.c | 36 +- crypto/openssl/crypto/property/property_local.h | 18 +- crypto/openssl/crypto/property/property_parse.c | 135 +- crypto/openssl/crypto/property/property_query.c | 22 +- crypto/openssl/crypto/property/property_string.c | 30 +- crypto/openssl/crypto/provider.c | 26 +- crypto/openssl/crypto/provider_child.c | 41 +- crypto/openssl/crypto/provider_conf.c | 86 +- crypto/openssl/crypto/provider_core.c | 454 +- crypto/openssl/crypto/provider_local.h | 8 +- crypto/openssl/crypto/provider_predefined.c | 4 +- crypto/openssl/crypto/punycode.c | 13 +- crypto/openssl/crypto/quic_vlint.c | 26 +- crypto/openssl/crypto/rand/prov_seed.c | 36 +- crypto/openssl/crypto/rand/rand_deprecated.c | 8 +- crypto/openssl/crypto/rand/rand_egd.c | 72 +- crypto/openssl/crypto/rand/rand_err.c | 164 +- crypto/openssl/crypto/rand/rand_lib.c | 228 +- crypto/openssl/crypto/rand/rand_local.h | 30 +- crypto/openssl/crypto/rand/rand_meth.c | 2 +- crypto/openssl/crypto/rand/rand_pool.c | 25 +- crypto/openssl/crypto/rand/rand_uniform.c | 10 +- crypto/openssl/crypto/rand/randfile.c | 87 +- crypto/openssl/crypto/rc2/rc2_cbc.c | 30 +- crypto/openssl/crypto/rc2/rc2_ecb.c | 2 +- crypto/openssl/crypto/rc2/rc2_local.h | 117 +- crypto/openssl/crypto/rc2/rc2_skey.c | 284 +- crypto/openssl/crypto/rc2/rc2cfb64.c | 4 +- crypto/openssl/crypto/rc2/rc2ofb64.c | 4 +- crypto/openssl/crypto/rc4/rc4_enc.c | 19 +- crypto/openssl/crypto/rc4/rc4_local.h | 6 +- crypto/openssl/crypto/rc4/rc4_skey.c | 15 +- crypto/openssl/crypto/rc5/rc5_ecb.c | 2 +- crypto/openssl/crypto/rc5/rc5_enc.c | 4 +- crypto/openssl/crypto/rc5/rc5_local.h | 206 +- crypto/openssl/crypto/rc5/rc5_skey.c | 5 +- crypto/openssl/crypto/rc5/rc5cfb64.c | 4 +- crypto/openssl/crypto/rc5/rc5ofb64.c | 4 +- crypto/openssl/crypto/rcu_internal.h | 4 +- crypto/openssl/crypto/ripemd/rmd_dgst.c | 19 +- crypto/openssl/crypto/ripemd/rmd_local.h | 112 +- crypto/openssl/crypto/ripemd/rmdconst.h | 360 +- crypto/openssl/crypto/riscvcap.c | 28 +- crypto/openssl/crypto/rsa/rsa_acvp_test_params.c | 29 +- crypto/openssl/crypto/rsa/rsa_ameth.c | 272 +- crypto/openssl/crypto/rsa/rsa_asn1.c | 51 +- crypto/openssl/crypto/rsa/rsa_backend.c | 134 +- crypto/openssl/crypto/rsa/rsa_chk.c | 12 +- crypto/openssl/crypto/rsa/rsa_crpt.c | 18 +- crypto/openssl/crypto/rsa/rsa_depr.c | 4 +- crypto/openssl/crypto/rsa/rsa_err.c | 274 +- crypto/openssl/crypto/rsa/rsa_gen.c | 64 +- crypto/openssl/crypto/rsa/rsa_lib.c | 157 +- crypto/openssl/crypto/rsa/rsa_local.h | 78 +- crypto/openssl/crypto/rsa/rsa_meth.c | 132 +- crypto/openssl/crypto/rsa/rsa_mp.c | 4 +- crypto/openssl/crypto/rsa/rsa_none.c | 4 +- crypto/openssl/crypto/rsa/rsa_oaep.c | 52 +- crypto/openssl/crypto/rsa/rsa_ossl.c | 160 +- crypto/openssl/crypto/rsa/rsa_pk1.c | 97 +- crypto/openssl/crypto/rsa/rsa_pmeth.c | 105 +- crypto/openssl/crypto/rsa/rsa_pss.c | 78 +- crypto/openssl/crypto/rsa/rsa_saos.c | 17 +- crypto/openssl/crypto/rsa/rsa_schemes.c | 20 +- crypto/openssl/crypto/rsa/rsa_sign.c | 267 +- crypto/openssl/crypto/rsa/rsa_sp800_56b_check.c | 121 +- crypto/openssl/crypto/rsa/rsa_sp800_56b_gen.c | 22 +- crypto/openssl/crypto/rsa/rsa_x931.c | 5 +- crypto/openssl/crypto/rsa/rsa_x931g.c | 31 +- crypto/openssl/crypto/s390x_arch.h | 228 +- crypto/openssl/crypto/s390xcap.c | 720 +- crypto/openssl/crypto/s390xcpuid.pl | 8 +- crypto/openssl/crypto/seed/seed.c | 752 +- crypto/openssl/crypto/seed/seed_cbc.c | 8 +- crypto/openssl/crypto/seed/seed_cfb.c | 8 +- crypto/openssl/crypto/seed/seed_ecb.c | 2 +- crypto/openssl/crypto/seed/seed_local.h | 123 +- crypto/openssl/crypto/seed/seed_ofb.c | 6 +- crypto/openssl/crypto/self_test_core.c | 24 +- crypto/openssl/crypto/sha/keccak1600.c | 267 +- crypto/openssl/crypto/sha/sha256.c | 197 +- crypto/openssl/crypto/sha/sha3.c | 4 +- crypto/openssl/crypto/sha/sha512.c | 319 +- crypto/openssl/crypto/sha/sha_local.h | 251 +- crypto/openssl/crypto/sha/sha_ppc.c | 6 +- crypto/openssl/crypto/sha/sha_riscv.c | 5 +- crypto/openssl/crypto/siphash/siphash.c | 61 +- crypto/openssl/crypto/sleep.c | 26 +- crypto/openssl/crypto/slh_dsa/slh_adrs.c | 42 +- crypto/openssl/crypto/slh_dsa/slh_adrs.h | 38 +- crypto/openssl/crypto/slh_dsa/slh_dsa.c | 74 +- crypto/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c | 8 +- crypto/openssl/crypto/slh_dsa/slh_dsa_key.c | 45 +- crypto/openssl/crypto/slh_dsa/slh_dsa_key.h | 2 +- crypto/openssl/crypto/slh_dsa/slh_dsa_local.h | 60 +- crypto/openssl/crypto/slh_dsa/slh_fors.c | 44 +- crypto/openssl/crypto/slh_dsa/slh_hash.c | 126 +- crypto/openssl/crypto/slh_dsa/slh_hash.h | 62 +- crypto/openssl/crypto/slh_dsa/slh_hypertree.c | 18 +- crypto/openssl/crypto/slh_dsa/slh_params.c | 49 +- crypto/openssl/crypto/slh_dsa/slh_params.h | 12 +- crypto/openssl/crypto/slh_dsa/slh_wots.c | 38 +- crypto/openssl/crypto/slh_dsa/slh_xmss.c | 30 +- crypto/openssl/crypto/sm2/sm2_crypt.c | 74 +- crypto/openssl/crypto/sm2/sm2_err.c | 42 +- crypto/openssl/crypto/sm2/sm2_key.c | 8 +- crypto/openssl/crypto/sm2/sm2_sign.c | 136 +- crypto/openssl/crypto/sm3/legacy_sm3.c | 3 +- crypto/openssl/crypto/sm3/sm3.c | 6 +- crypto/openssl/crypto/sm3/sm3_local.h | 141 +- crypto/openssl/crypto/sm4/asm/vpsm4_ex-armv8.pl | 14 +- crypto/openssl/crypto/sm4/sm4.c | 50 +- crypto/openssl/crypto/sparcv9cap.c | 85 +- crypto/openssl/crypto/sparse_array.c | 28 +- crypto/openssl/crypto/srp/srp_lib.c | 71 +- crypto/openssl/crypto/srp/srp_vfy.c | 115 +- crypto/openssl/crypto/ssl_err.c | 1212 +- crypto/openssl/crypto/sslerr.h | 16 +- crypto/openssl/crypto/stack/stack.c | 25 +- crypto/openssl/crypto/store/store_err.c | 92 +- crypto/openssl/crypto/store/store_lib.c | 208 +- crypto/openssl/crypto/store/store_local.h | 20 +- crypto/openssl/crypto/store/store_meth.c | 67 +- crypto/openssl/crypto/store/store_register.c | 52 +- crypto/openssl/crypto/store/store_result.c | 118 +- crypto/openssl/crypto/store/store_strings.c | 12 +- crypto/openssl/crypto/thread/arch.c | 2 +- crypto/openssl/crypto/thread/arch/thread_none.c | 2 +- crypto/openssl/crypto/thread/arch/thread_posix.c | 14 +- crypto/openssl/crypto/thread/arch/thread_win.c | 48 +- crypto/openssl/crypto/thread/internal.c | 8 +- crypto/openssl/crypto/threads_lib.c | 4 +- crypto/openssl/crypto/threads_none.c | 43 +- crypto/openssl/crypto/threads_pthread.c | 266 +- crypto/openssl/crypto/threads_win.c | 144 +- crypto/openssl/crypto/time.c | 12 +- crypto/openssl/crypto/trace.c | 142 +- crypto/openssl/crypto/ts/ts_asn1.c | 74 +- crypto/openssl/crypto/ts/ts_conf.c | 108 +- crypto/openssl/crypto/ts/ts_err.c | 122 +- crypto/openssl/crypto/ts/ts_lib.c | 4 +- crypto/openssl/crypto/ts/ts_local.h | 18 +- crypto/openssl/crypto/ts/ts_req_print.c | 2 +- crypto/openssl/crypto/ts/ts_rsp_print.c | 41 +- crypto/openssl/crypto/ts/ts_rsp_sign.c | 154 +- crypto/openssl/crypto/ts/ts_rsp_verify.c | 104 +- crypto/openssl/crypto/ts/ts_verify_ctx.c | 8 +- crypto/openssl/crypto/txt_db/txt_db.c | 22 +- crypto/openssl/crypto/ui/ui_err.c | 36 +- crypto/openssl/crypto/ui/ui_lib.c | 224 +- crypto/openssl/crypto/ui/ui_local.h | 56 +- crypto/openssl/crypto/ui/ui_null.c | 10 +- crypto/openssl/crypto/ui/ui_openssl.c | 536 +- crypto/openssl/crypto/ui/ui_util.c | 65 +- crypto/openssl/crypto/uid.c | 34 +- crypto/openssl/crypto/vms_rms.h | 86 +- crypto/openssl/crypto/whrlpool/wp_block.c | 811 +- crypto/openssl/crypto/whrlpool/wp_dgst.c | 20 +- crypto/openssl/crypto/x509/by_dir.c | 76 +- crypto/openssl/crypto/x509/by_file.c | 66 +- crypto/openssl/crypto/x509/by_store.c | 50 +- crypto/openssl/crypto/x509/pcy_cache.c | 24 +- crypto/openssl/crypto/x509/pcy_data.c | 2 +- crypto/openssl/crypto/x509/pcy_lib.c | 19 +- crypto/openssl/crypto/x509/pcy_local.h | 34 +- crypto/openssl/crypto/x509/pcy_map.c | 10 +- crypto/openssl/crypto/x509/pcy_node.c | 26 +- crypto/openssl/crypto/x509/pcy_tree.c | 93 +- crypto/openssl/crypto/x509/standard_exts.h | 5 - crypto/openssl/crypto/x509/t_acert.c | 10 +- crypto/openssl/crypto/x509/t_crl.c | 7 +- crypto/openssl/crypto/x509/t_req.c | 18 +- crypto/openssl/crypto/x509/t_x509.c | 60 +- crypto/openssl/crypto/x509/v3_aaa.c | 23 +- crypto/openssl/crypto/x509/v3_ac_tgt.c | 91 +- crypto/openssl/crypto/x509/v3_addr.c | 296 +- crypto/openssl/crypto/x509/v3_admis.c | 48 +- crypto/openssl/crypto/x509/v3_admis.h | 28 +- crypto/openssl/crypto/x509/v3_akeya.c | 6 +- crypto/openssl/crypto/x509/v3_akid.c | 38 +- crypto/openssl/crypto/x509/v3_asid.c | 213 +- crypto/openssl/crypto/x509/v3_attrdesc.c | 29 +- crypto/openssl/crypto/x509/v3_attrmap.c | 15 +- crypto/openssl/crypto/x509/v3_authattid.c | 11 +- crypto/openssl/crypto/x509/v3_battcons.c | 6 +- crypto/openssl/crypto/x509/v3_bcons.c | 28 +- crypto/openssl/crypto/x509/v3_bitst.c | 54 +- crypto/openssl/crypto/x509/v3_conf.c | 77 +- crypto/openssl/crypto/x509/v3_cpols.c | 81 +- crypto/openssl/crypto/x509/v3_crld.c | 149 +- crypto/openssl/crypto/x509/v3_enum.c | 30 +- crypto/openssl/crypto/x509/v3_extku.c | 23 +- crypto/openssl/crypto/x509/v3_genn.c | 47 +- crypto/openssl/crypto/x509/v3_group_ac.c | 6 +- *** 1781 LINES SKIPPED *** From nobody Sat Jan 31 22:10: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 4f3RsL1LZjz6QZ6T for ; Sat, 31 Jan 2026 22:10: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 4f3RsK6nZ8z3Y2k for ; Sat, 31 Jan 2026 22:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769897445; h=from:from:reply-to:subject:subject: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/zIAETuvVdZMOLAyxsWCE79rtylvUTYhqF5uPwAerI=; b=LmhfGLXp9DXaj8e0gikN5FEnrBlt1x/w2tdSMHAllVHRRBm6bKPDrNPXA84yvbi1hlmCxN l1s5chOsx7mrokl5hK/cCo5+CJEpvFRUXdkEelfVgdMdgmtgal0cRHYgGMPKIWJPbeIPd3 RV1CwhsM76jdaJ8gsI3uDYTt9xNsGQHBw5tXtt1Y4TB3jX+hUEb5KPTYE+VFhzK08vYufR x4wgTJgUudq6JuDNBSe2oENQzFqdn50KNkjiXk8zoY9sVXVSsjYodc6WO0ZifurSLyd60F JHuhLJjOPN1HiRFePUFKGGz28krBWIZx3+vY4nRSV5KT2Pnmd61fG89DO4YJ0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769897445; a=rsa-sha256; cv=none; b=DFHivxybDsRJJXbrzbgymyJbULJBFXwAPxXikM/g310rGJ7SrRBljg8hA5DP3dG+SfrboG u7AQG6ySRr700JUMQ4sUlgjJv1K34a2ttvADuGzV7lpToPUKYJh+ssSslskzd7xbA3XNpU i35/V/UNKyrkYy5KkE4nXG/zaSzSVjH/F+48T5r4rrIbSGI2hYwinUJYlW/8iuA2P493VF k1g3Dawt6u22+xEomPzctLtPgdXiJwSCMx1kUHLohCzJGKYNdmg0dxLDk9ZpmvwuGRsAJz bMdaGp1XtU4UFMw15G2uIW47Uf6IEO0IL467NNg7XRm4BgytH6ljEip3VVpqHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769897445; h=from:from:reply-to:subject:subject: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/zIAETuvVdZMOLAyxsWCE79rtylvUTYhqF5uPwAerI=; b=Jgmb0nNck1dLog5y2+v9OYIAckACyDgfELzpgqH2p1VhXsWbUsbUHvwROmgbtkUE1fg/1G NjXJA99gRI9BLRwNahnuMy4F79/iMhp+/IBAAYK8VaNx09uUydYf5v+F2utZ+yKQr/fJRU 3o6Jed43mkpyPCaelIQBh/UrQsQZ5FQG0U7P+MV80vJwI997M1J9YjMyhvSmOkzxlXeM7t bfdFkzcHORXm2UeovIRNl2BYwBn2sQcFquSkVMzyCU9B635fVYWGB4rOdtfkB0Pr7RPeEG ys6tDVh8Rcvdfwv2iBOitsGc450iVhQvAoRvwVXfmnTLgyB2gV4hRdItTpvE8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3RsK5Lm3z1BjT for ; Sat, 31 Jan 2026 22:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42098 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Jan 2026 22:10:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 1731fc70f734 - main - OpenSSL: update vendor sources to match 3.5.5 content 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1731fc70f7344af08db49b06c63c963fa12ee354 Auto-Submitted: auto-generated Date: Sat, 31 Jan 2026 22:10:44 +0000 Message-Id: <697e7de4.42098.6a77b6bc@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=1731fc70f7344af08db49b06c63c963fa12ee354 commit 1731fc70f7344af08db49b06c63c963fa12ee354 Author: Enji Cooper AuthorDate: 2026-01-31 22:06:28 +0000 Commit: Enji Cooper CommitDate: 2026-01-31 22:07:17 +0000 OpenSSL: update vendor sources to match 3.5.5 content MFC with: f25b8c9fb4f58cf61adb47d7570abe7caa6d385d MFC after: 1 week --- crypto/openssl/apps/progs.c | 2 +- crypto/openssl/apps/progs.h | 2 +- crypto/openssl/crypto/params_idx.c | 4 + crypto/openssl/exporters/libcrypto.pc | 2 +- crypto/openssl/exporters/libssl.pc | 2 +- crypto/openssl/exporters/openssl.pc | 2 +- crypto/openssl/include/crypto/bn_conf.h | 12 +- crypto/openssl/include/crypto/dso_conf.h | 10 +- crypto/openssl/include/internal/param_names.h | 4 + crypto/openssl/include/openssl/asn1.h | 671 +++-- crypto/openssl/include/openssl/asn1t.h | 993 ++++--- crypto/openssl/include/openssl/bio.h | 1106 ++++---- crypto/openssl/include/openssl/cmp.h | 450 +-- crypto/openssl/include/openssl/cms.h | 350 +-- crypto/openssl/include/openssl/comp.h | 55 +- crypto/openssl/include/openssl/conf.h | 109 +- crypto/openssl/include/openssl/configuration.h | 50 +- crypto/openssl/include/openssl/core_names.h | 160 +- crypto/openssl/include/openssl/crmf.h | 169 +- crypto/openssl/include/openssl/crypto.h | 523 ++-- crypto/openssl/include/openssl/ct.h | 99 +- crypto/openssl/include/openssl/err.h | 509 ++-- crypto/openssl/include/openssl/ess.h | 45 +- crypto/openssl/include/openssl/fipskey.h | 18 +- crypto/openssl/include/openssl/lhash.h | 559 ++-- crypto/openssl/include/openssl/ocsp.h | 316 +-- crypto/openssl/include/openssl/opensslv.h | 56 +- crypto/openssl/include/openssl/pkcs12.h | 334 +-- crypto/openssl/include/openssl/pkcs7.h | 227 +- crypto/openssl/include/openssl/safestack.h | 308 ++- crypto/openssl/include/openssl/srp.h | 130 +- crypto/openssl/include/openssl/ssl.h | 2909 ++++++++++---------- crypto/openssl/include/openssl/ui.h | 154 +- crypto/openssl/include/openssl/x509.h | 702 +++-- crypto/openssl/include/openssl/x509_acert.h | 90 +- crypto/openssl/include/openssl/x509_vfy.h | 679 ++--- crypto/openssl/include/openssl/x509v3.h | 777 +++--- .../openssl/providers/common/der/der_digests_gen.c | 2 + crypto/openssl/providers/common/der/der_dsa_gen.c | 2 + crypto/openssl/providers/common/der/der_ec_gen.c | 2 + crypto/openssl/providers/common/der/der_ecx_gen.c | 2 + .../openssl/providers/common/der/der_ml_dsa_gen.c | 2 + crypto/openssl/providers/common/der/der_rsa_gen.c | 2 + .../openssl/providers/common/der/der_slh_dsa_gen.c | 2 + crypto/openssl/providers/common/der/der_wrap_gen.c | 2 + .../providers/common/include/prov/der_digests.h | 2 + .../providers/common/include/prov/der_dsa.h | 4 +- .../openssl/providers/common/include/prov/der_ec.h | 4 +- .../providers/common/include/prov/der_ecx.h | 2 + .../providers/common/include/prov/der_ml_dsa.h | 2 + .../providers/common/include/prov/der_rsa.h | 10 +- .../providers/common/include/prov/der_slh_dsa.h | 2 + .../providers/common/include/prov/der_wrap.h | 2 + crypto/openssl/tools/c_rehash | 1 + secure/lib/libcrypto/man/man3/ADMISSIONS.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_EXTERN_FUNCS.3 | 11 +- .../libcrypto/man/man3/ASN1_INTEGER_get_int64.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_INTEGER_new.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 | 7 +- .../lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 | 9 +- secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 | 7 +- .../lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 | 15 +- secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 | 9 +- secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_aux_cb.3 | 11 +- .../lib/libcrypto/man/man3/ASN1_generate_nconf.3 | 9 +- secure/lib/libcrypto/man/man3/ASN1_item_d2i_bio.3 | 15 +- secure/lib/libcrypto/man/man3/ASN1_item_new.3 | 7 +- secure/lib/libcrypto/man/man3/ASN1_item_sign.3 | 11 +- secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 | 13 +- secure/lib/libcrypto/man/man3/ASYNC_start_job.3 | 19 +- secure/lib/libcrypto/man/man3/BF_encrypt.3 | 15 +- secure/lib/libcrypto/man/man3/BIO_ADDR.3 | 17 +- secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_connect.3 | 13 +- secure/lib/libcrypto/man/man3/BIO_ctrl.3 | 19 +- secure/lib/libcrypto/man/man3/BIO_f_base64.3 | 13 +- secure/lib/libcrypto/man/man3/BIO_f_buffer.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_f_cipher.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_f_md.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_f_null.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_f_prefix.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_f_readbuffer.3 | 11 +- secure/lib/libcrypto/man/man3/BIO_f_ssl.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_find_type.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_get_data.3 | 15 +- .../lib/libcrypto/man/man3/BIO_get_ex_new_index.3 | 9 +- .../libcrypto/man/man3/BIO_get_rpoll_descriptor.3 | 11 +- secure/lib/libcrypto/man/man3/BIO_meth_new.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_new.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_new_CMS.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 | 11 +- secure/lib/libcrypto/man/man3/BIO_printf.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_push.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_read.3 | 19 +- secure/lib/libcrypto/man/man3/BIO_s_accept.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_s_bio.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_s_connect.3 | 13 +- secure/lib/libcrypto/man/man3/BIO_s_core.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_s_datagram.3 | 19 +- secure/lib/libcrypto/man/man3/BIO_s_dgram_pair.3 | 21 +- secure/lib/libcrypto/man/man3/BIO_s_fd.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_s_file.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_s_mem.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_s_null.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_s_socket.3 | 9 +- secure/lib/libcrypto/man/man3/BIO_sendmmsg.3 | 53 +- secure/lib/libcrypto/man/man3/BIO_set_callback.3 | 15 +- secure/lib/libcrypto/man/man3/BIO_set_flags.3 | 236 ++ secure/lib/libcrypto/man/man3/BIO_should_retry.3 | 7 +- secure/lib/libcrypto/man/man3/BIO_socket_wait.3 | 11 +- secure/lib/libcrypto/man/man3/BN_BLINDING_new.3 | 15 +- secure/lib/libcrypto/man/man3/BN_CTX_new.3 | 7 +- secure/lib/libcrypto/man/man3/BN_CTX_start.3 | 7 +- secure/lib/libcrypto/man/man3/BN_add.3 | 7 +- secure/lib/libcrypto/man/man3/BN_add_word.3 | 7 +- secure/lib/libcrypto/man/man3/BN_bn2bin.3 | 37 +- secure/lib/libcrypto/man/man3/BN_cmp.3 | 9 +- secure/lib/libcrypto/man/man3/BN_copy.3 | 9 +- secure/lib/libcrypto/man/man3/BN_generate_prime.3 | 23 +- secure/lib/libcrypto/man/man3/BN_mod_exp_mont.3 | 9 +- secure/lib/libcrypto/man/man3/BN_mod_inverse.3 | 7 +- .../lib/libcrypto/man/man3/BN_mod_mul_montgomery.3 | 7 +- .../lib/libcrypto/man/man3/BN_mod_mul_reciprocal.3 | 7 +- secure/lib/libcrypto/man/man3/BN_new.3 | 7 +- secure/lib/libcrypto/man/man3/BN_num_bytes.3 | 13 +- secure/lib/libcrypto/man/man3/BN_rand.3 | 11 +- secure/lib/libcrypto/man/man3/BN_security_bits.3 | 9 +- secure/lib/libcrypto/man/man3/BN_set_bit.3 | 9 +- secure/lib/libcrypto/man/man3/BN_swap.3 | 7 +- secure/lib/libcrypto/man/man3/BN_zero.3 | 11 +- secure/lib/libcrypto/man/man3/BUF_MEM_new.3 | 13 +- secure/lib/libcrypto/man/man3/CMAC_CTX.3 | 13 +- .../libcrypto/man/man3/CMS_EncryptedData_decrypt.3 | 15 +- .../libcrypto/man/man3/CMS_EncryptedData_encrypt.3 | 9 +- .../man/man3/CMS_EncryptedData_set1_key.3 | 96 + .../libcrypto/man/man3/CMS_EnvelopedData_create.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_add0_cert.3 | 9 +- .../libcrypto/man/man3/CMS_add1_recipient_cert.3 | 9 +- secure/lib/libcrypto/man/man3/CMS_add1_signer.3 | 13 +- secure/lib/libcrypto/man/man3/CMS_compress.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_data_create.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_decrypt.3 | 9 +- secure/lib/libcrypto/man/man3/CMS_digest_create.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_encrypt.3 | 9 +- secure/lib/libcrypto/man/man3/CMS_final.3 | 13 +- .../libcrypto/man/man3/CMS_get0_RecipientInfos.3 | 7 +- .../lib/libcrypto/man/man3/CMS_get0_SignerInfos.3 | 9 +- secure/lib/libcrypto/man/man3/CMS_get0_type.3 | 7 +- .../libcrypto/man/man3/CMS_get1_ReceiptRequest.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_sign.3 | 11 +- secure/lib/libcrypto/man/man3/CMS_sign_receipt.3 | 7 +- .../lib/libcrypto/man/man3/CMS_signed_get_attr.3 | 13 +- secure/lib/libcrypto/man/man3/CMS_uncompress.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_verify.3 | 7 +- secure/lib/libcrypto/man/man3/CMS_verify_receipt.3 | 7 +- secure/lib/libcrypto/man/man3/COMP_CTX_new.3 | 25 +- secure/lib/libcrypto/man/man3/CONF_modules_free.3 | 9 +- .../libcrypto/man/man3/CONF_modules_load_file.3 | 9 +- .../libcrypto/man/man3/CRYPTO_THREAD_run_once.3 | 23 +- .../libcrypto/man/man3/CRYPTO_get_ex_new_index.3 | 27 +- secure/lib/libcrypto/man/man3/CRYPTO_memcmp.3 | 7 +- .../man/man3/CTLOG_STORE_get0_log_by_id.3 | 9 +- secure/lib/libcrypto/man/man3/CTLOG_STORE_new.3 | 9 +- secure/lib/libcrypto/man/man3/CTLOG_new.3 | 11 +- .../libcrypto/man/man3/CT_POLICY_EVAL_CTX_new.3 | 13 +- secure/lib/libcrypto/man/man3/DEFINE_STACK_OF.3 | 13 +- secure/lib/libcrypto/man/man3/DES_random_key.3 | 43 +- secure/lib/libcrypto/man/man3/DH_generate_key.3 | 13 +- .../libcrypto/man/man3/DH_generate_parameters.3 | 25 +- secure/lib/libcrypto/man/man3/DH_get0_pqg.3 | 7 +- secure/lib/libcrypto/man/man3/DH_get_1024_160.3 | 7 +- secure/lib/libcrypto/man/man3/DH_meth_new.3 | 9 +- secure/lib/libcrypto/man/man3/DH_new.3 | 7 +- secure/lib/libcrypto/man/man3/DH_new_by_nid.3 | 7 +- secure/lib/libcrypto/man/man3/DH_set_method.3 | 13 +- secure/lib/libcrypto/man/man3/DH_size.3 | 17 +- secure/lib/libcrypto/man/man3/DSA_SIG_new.3 | 7 +- secure/lib/libcrypto/man/man3/DSA_do_sign.3 | 11 +- secure/lib/libcrypto/man/man3/DSA_dup_DH.3 | 9 +- secure/lib/libcrypto/man/man3/DSA_generate_key.3 | 7 +- .../libcrypto/man/man3/DSA_generate_parameters.3 | 15 +- secure/lib/libcrypto/man/man3/DSA_get0_pqg.3 | 9 +- secure/lib/libcrypto/man/man3/DSA_meth_new.3 | 9 +- secure/lib/libcrypto/man/man3/DSA_new.3 | 7 +- secure/lib/libcrypto/man/man3/DSA_set_method.3 | 11 +- secure/lib/libcrypto/man/man3/DSA_sign.3 | 9 +- secure/lib/libcrypto/man/man3/DSA_size.3 | 13 +- secure/lib/libcrypto/man/man3/DTLS_get_data_mtu.3 | 7 +- secure/lib/libcrypto/man/man3/DTLS_set_timer_cb.3 | 7 +- secure/lib/libcrypto/man/man3/DTLSv1_get_timeout.3 | 7 +- .../lib/libcrypto/man/man3/DTLSv1_handle_timeout.3 | 7 +- secure/lib/libcrypto/man/man3/DTLSv1_listen.3 | 25 +- secure/lib/libcrypto/man/man3/ECDSA_SIG_new.3 | 9 +- secure/lib/libcrypto/man/man3/ECDSA_sign.3 | 9 +- .../lib/libcrypto/man/man3/ECPKParameters_print.3 | 9 +- .../lib/libcrypto/man/man3/EC_GFp_simple_method.3 | 7 +- secure/lib/libcrypto/man/man3/EC_GROUP_copy.3 | 19 +- secure/lib/libcrypto/man/man3/EC_GROUP_new.3 | 13 +- .../lib/libcrypto/man/man3/EC_KEY_get_enc_flags.3 | 7 +- secure/lib/libcrypto/man/man3/EC_KEY_new.3 | 9 +- secure/lib/libcrypto/man/man3/EC_POINT_add.3 | 11 +- secure/lib/libcrypto/man/man3/EC_POINT_new.3 | 9 +- secure/lib/libcrypto/man/man3/ENGINE_add.3 | 95 +- secure/lib/libcrypto/man/man3/ERR_GET_LIB.3 | 13 +- secure/lib/libcrypto/man/man3/ERR_clear_error.3 | 9 +- secure/lib/libcrypto/man/man3/ERR_error_string.3 | 11 +- secure/lib/libcrypto/man/man3/ERR_get_error.3 | 15 +- .../libcrypto/man/man3/ERR_load_crypto_strings.3 | 7 +- secure/lib/libcrypto/man/man3/ERR_load_strings.3 | 7 +- secure/lib/libcrypto/man/man3/ERR_new.3 | 11 +- secure/lib/libcrypto/man/man3/ERR_print_errors.3 | 7 +- secure/lib/libcrypto/man/man3/ERR_put_error.3 | 23 +- secure/lib/libcrypto/man/man3/ERR_remove_state.3 | 7 +- secure/lib/libcrypto/man/man3/ERR_set_mark.3 | 7 +- .../lib/libcrypto/man/man3/EVP_ASYM_CIPHER_free.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_BytesToKey.3 | 7 +- .../man/man3/EVP_CIPHER_CTX_get_app_data.3 | 96 + .../man/man3/EVP_CIPHER_CTX_get_cipher_data.3 | 7 +- .../man/man3/EVP_CIPHER_CTX_get_original_iv.3 | 9 +- .../lib/libcrypto/man/man3/EVP_CIPHER_meth_new.3 | 25 +- secure/lib/libcrypto/man/man3/EVP_DigestInit.3 | 39 +- secure/lib/libcrypto/man/man3/EVP_DigestSignInit.3 | 15 +- .../lib/libcrypto/man/man3/EVP_DigestVerifyInit.3 | 13 +- secure/lib/libcrypto/man/man3/EVP_EncodeInit.3 | 25 +- secure/lib/libcrypto/man/man3/EVP_EncryptInit.3 | 123 +- secure/lib/libcrypto/man/man3/EVP_KDF.3 | 33 +- secure/lib/libcrypto/man/man3/EVP_KEM_free.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_KEYEXCH_free.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_KEYMGMT.3 | 13 +- secure/lib/libcrypto/man/man3/EVP_MAC.3 | 49 +- secure/lib/libcrypto/man/man3/EVP_MD_meth_new.3 | 17 +- secure/lib/libcrypto/man/man3/EVP_OpenInit.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_PBE_CipherInit.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_PKEY2PKCS8.3 | 7 +- .../lib/libcrypto/man/man3/EVP_PKEY_ASN1_METHOD.3 | 59 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_ctrl.3 | 25 +- .../libcrypto/man/man3/EVP_PKEY_CTX_get0_libctx.3 | 7 +- .../libcrypto/man/man3/EVP_PKEY_CTX_get0_pkey.3 | 7 +- .../libcrypto/man/man3/EVP_PKEY_CTX_get_algor.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_new.3 | 11 +- .../man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 | 7 +- .../libcrypto/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 | 17 +- .../libcrypto/man/man3/EVP_PKEY_CTX_set_params.3 | 9 +- .../man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 | 11 +- .../libcrypto/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 | 7 +- .../man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 | 7 +- .../libcrypto/man/man3/EVP_PKEY_asn1_get_count.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_PKEY_check.3 | 7 +- .../libcrypto/man/man3/EVP_PKEY_copy_parameters.3 | 15 +- .../lib/libcrypto/man/man3/EVP_PKEY_decapsulate.3 | 15 +- secure/lib/libcrypto/man/man3/EVP_PKEY_decrypt.3 | 21 +- secure/lib/libcrypto/man/man3/EVP_PKEY_derive.3 | 7 +- .../man/man3/EVP_PKEY_digestsign_supports_digest.3 | 7 +- .../lib/libcrypto/man/man3/EVP_PKEY_encapsulate.3 | 17 +- secure/lib/libcrypto/man/man3/EVP_PKEY_encrypt.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_PKEY_fromdata.3 | 13 +- secure/lib/libcrypto/man/man3/EVP_PKEY_get_attr.3 | 11 +- .../man/man3/EVP_PKEY_get_default_digest_nid.3 | 7 +- .../libcrypto/man/man3/EVP_PKEY_get_field_type.3 | 13 +- .../libcrypto/man/man3/EVP_PKEY_get_group_name.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_PKEY_get_size.3 | 23 +- .../libcrypto/man/man3/EVP_PKEY_gettable_params.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_PKEY_is_a.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_PKEY_keygen.3 | 25 +- .../libcrypto/man/man3/EVP_PKEY_meth_get_count.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_PKEY_meth_new.3 | 27 +- secure/lib/libcrypto/man/man3/EVP_PKEY_new.3 | 19 +- .../libcrypto/man/man3/EVP_PKEY_print_private.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_PKEY_set1_RSA.3 | 23 +- .../man/man3/EVP_PKEY_set1_encoded_public_key.3 | 17 +- secure/lib/libcrypto/man/man3/EVP_PKEY_set_type.3 | 9 +- .../libcrypto/man/man3/EVP_PKEY_settable_params.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_PKEY_sign.3 | 47 +- secure/lib/libcrypto/man/man3/EVP_PKEY_todata.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_PKEY_verify.3 | 43 +- .../libcrypto/man/man3/EVP_PKEY_verify_recover.3 | 13 +- secure/lib/libcrypto/man/man3/EVP_RAND.3 | 35 +- secure/lib/libcrypto/man/man3/EVP_SIGNATURE.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_SKEY.3 | 27 +- secure/lib/libcrypto/man/man3/EVP_SKEYMGMT.3 | 13 +- secure/lib/libcrypto/man/man3/EVP_SealInit.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_SignInit.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_VerifyInit.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_aes_128_gcm.3 | 17 +- secure/lib/libcrypto/man/man3/EVP_aria_128_gcm.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_bf_cbc.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_blake2b512.3 | 9 +- .../lib/libcrypto/man/man3/EVP_camellia_128_ecb.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_cast5_cbc.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_chacha20.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_des_cbc.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_desx_cbc.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_idea_cbc.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_md2.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_md4.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_md5.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_mdc2.3 | 11 +- secure/lib/libcrypto/man/man3/EVP_rc2_cbc.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_rc4.3 | 7 +- .../lib/libcrypto/man/man3/EVP_rc5_32_12_16_cbc.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_ripemd160.3 | 9 +- secure/lib/libcrypto/man/man3/EVP_seed_cbc.3 | 7 +- .../man/man3/EVP_set_default_properties.3 | 17 +- secure/lib/libcrypto/man/man3/EVP_sha1.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_sha224.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_sha3_224.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_sm3.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_sm4_cbc.3 | 7 +- secure/lib/libcrypto/man/man3/EVP_whirlpool.3 | 7 +- secure/lib/libcrypto/man/man3/GENERAL_NAME.3 | 7 +- secure/lib/libcrypto/man/man3/HMAC.3 | 9 +- secure/lib/libcrypto/man/man3/MD5.3 | 7 +- secure/lib/libcrypto/man/man3/MDC2_Init.3 | 9 +- secure/lib/libcrypto/man/man3/Makefile | 4 + secure/lib/libcrypto/man/man3/NCONF_new_ex.3 | 7 +- secure/lib/libcrypto/man/man3/OBJ_nid2obj.3 | 13 +- secure/lib/libcrypto/man/man3/OCSP_REQUEST_new.3 | 7 +- secure/lib/libcrypto/man/man3/OCSP_cert_to_id.3 | 7 +- .../libcrypto/man/man3/OCSP_request_add1_nonce.3 | 9 +- .../lib/libcrypto/man/man3/OCSP_resp_find_status.3 | 11 +- .../lib/libcrypto/man/man3/OCSP_response_status.3 | 7 +- secure/lib/libcrypto/man/man3/OCSP_sendreq_new.3 | 7 +- secure/lib/libcrypto/man/man3/OPENSSL_Applink.3 | 13 +- secure/lib/libcrypto/man/man3/OPENSSL_FILE.3 | 7 +- .../lib/libcrypto/man/man3/OPENSSL_LH_COMPFUNC.3 | 33 +- secure/lib/libcrypto/man/man3/OPENSSL_LH_stats.3 | 19 +- secure/lib/libcrypto/man/man3/OPENSSL_config.3 | 11 +- .../lib/libcrypto/man/man3/OPENSSL_fork_prepare.3 | 7 +- secure/lib/libcrypto/man/man3/OPENSSL_gmtime.3 | 7 +- .../lib/libcrypto/man/man3/OPENSSL_hexchar2int.3 | 17 +- secure/lib/libcrypto/man/man3/OPENSSL_ia32cap.3 | 27 +- .../lib/libcrypto/man/man3/OPENSSL_init_crypto.3 | 17 +- secure/lib/libcrypto/man/man3/OPENSSL_init_ssl.3 | 9 +- .../libcrypto/man/man3/OPENSSL_instrument_bus.3 | 19 +- .../man/man3/OPENSSL_load_builtin_modules.3 | 7 +- .../lib/libcrypto/man/man3/OPENSSL_load_u16_le.3 | 15 +- secure/lib/libcrypto/man/man3/OPENSSL_malloc.3 | 37 +- secure/lib/libcrypto/man/man3/OPENSSL_ppccap.3 | 206 ++ secure/lib/libcrypto/man/man3/OPENSSL_riscvcap.3 | 41 +- secure/lib/libcrypto/man/man3/OPENSSL_s390xcap.3 | 19 +- .../lib/libcrypto/man/man3/OPENSSL_secure_malloc.3 | 15 +- secure/lib/libcrypto/man/man3/OPENSSL_strcasecmp.3 | 15 +- secure/lib/libcrypto/man/man3/OSSL_ALGORITHM.3 | 23 +- secure/lib/libcrypto/man/man3/OSSL_CALLBACK.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_CMP_ATAV_set0.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_CMP_CTX_new.3 | 99 +- .../man/man3/OSSL_CMP_HDR_get0_transactionID.3 | 9 +- .../libcrypto/man/man3/OSSL_CMP_ITAV_new_caCerts.3 | 19 +- secure/lib/libcrypto/man/man3/OSSL_CMP_ITAV_set0.3 | 15 +- .../libcrypto/man/man3/OSSL_CMP_MSG_get0_header.3 | 19 +- .../libcrypto/man/man3/OSSL_CMP_MSG_http_perform.3 | 17 +- .../lib/libcrypto/man/man3/OSSL_CMP_SRV_CTX_new.3 | 12 +- .../libcrypto/man/man3/OSSL_CMP_STATUSINFO_new.3 | 13 +- .../lib/libcrypto/man/man3/OSSL_CMP_exec_certreq.3 | 29 +- secure/lib/libcrypto/man/man3/OSSL_CMP_log_open.3 | 17 +- .../lib/libcrypto/man/man3/OSSL_CMP_validate_msg.3 | 19 +- .../lib/libcrypto/man/man3/OSSL_CORE_MAKE_FUNC.3 | 7 +- .../libcrypto/man/man3/OSSL_CRMF_MSG_get0_tmpl.3 | 15 +- .../man/man3/OSSL_CRMF_MSG_set0_validity.3 | 19 +- .../man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3 | 7 +- .../man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3 | 7 +- secure/lib/libcrypto/man/man3/OSSL_CRMF_pbmp_new.3 | 18 +- secure/lib/libcrypto/man/man3/OSSL_DECODER.3 | 15 +- secure/lib/libcrypto/man/man3/OSSL_DECODER_CTX.3 | 32 +- .../man/man3/OSSL_DECODER_CTX_new_for_pkey.3 | 13 +- .../lib/libcrypto/man/man3/OSSL_DECODER_from_bio.3 | 11 +- secure/lib/libcrypto/man/man3/OSSL_DISPATCH.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_ENCODER.3 | 15 +- secure/lib/libcrypto/man/man3/OSSL_ENCODER_CTX.3 | 33 +- .../man/man3/OSSL_ENCODER_CTX_new_for_pkey.3 | 19 +- .../lib/libcrypto/man/man3/OSSL_ENCODER_to_bio.3 | 9 +- .../lib/libcrypto/man/man3/OSSL_ERR_STATE_save.3 | 7 +- .../man/man3/OSSL_ESS_check_signing_certs.3 | 9 +- .../libcrypto/man/man3/OSSL_GENERAL_NAMES_print.3 | 7 +- secure/lib/libcrypto/man/man3/OSSL_HPKE_CTX_new.3 | 57 +- secure/lib/libcrypto/man/man3/OSSL_HTTP_REQ_CTX.3 | 27 +- .../lib/libcrypto/man/man3/OSSL_HTTP_parse_url.3 | 11 +- secure/lib/libcrypto/man/man3/OSSL_HTTP_transfer.3 | 23 +- .../lib/libcrypto/man/man3/OSSL_IETF_ATTR_SYNTAX.3 | 7 +- .../man/man3/OSSL_IETF_ATTR_SYNTAX_print.3 | 7 +- .../man/man3/OSSL_INDICATOR_set_callback.3 | 13 +- secure/lib/libcrypto/man/man3/OSSL_ITEM.3 | 13 +- secure/lib/libcrypto/man/man3/OSSL_LIB_CTX.3 | 19 +- .../man/man3/OSSL_LIB_CTX_set_conf_diagnostics.3 | 7 +- secure/lib/libcrypto/man/man3/OSSL_PARAM.3 | 29 +- secure/lib/libcrypto/man/man3/OSSL_PARAM_BLD.3 | 7 +- .../man/man3/OSSL_PARAM_allocate_from_text.3 | 21 +- secure/lib/libcrypto/man/man3/OSSL_PARAM_dup.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_PARAM_int.3 | 31 +- .../libcrypto/man/man3/OSSL_PARAM_print_to_bio.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_PROVIDER.3 | 29 +- .../libcrypto/man/man3/OSSL_QUIC_client_method.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_SELF_TEST_new.3 | 19 +- .../man/man3/OSSL_SELF_TEST_set_callback.3 | 7 +- secure/lib/libcrypto/man/man3/OSSL_STORE_INFO.3 | 17 +- secure/lib/libcrypto/man/man3/OSSL_STORE_LOADER.3 | 15 +- secure/lib/libcrypto/man/man3/OSSL_STORE_SEARCH.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_STORE_attach.3 | 7 +- secure/lib/libcrypto/man/man3/OSSL_STORE_expect.3 | 9 +- secure/lib/libcrypto/man/man3/OSSL_STORE_open.3 | 17 +- secure/lib/libcrypto/man/man3/OSSL_sleep.3 | 7 +- secure/lib/libcrypto/man/man3/OSSL_trace_enabled.3 | 23 +- .../man/man3/OSSL_trace_get_category_num.3 | 7 +- .../libcrypto/man/man3/OSSL_trace_set_channel.3 | 25 +- .../man/man3/OpenSSL_add_all_algorithms.3 | 7 +- secure/lib/libcrypto/man/man3/OpenSSL_version.3 | 15 +- .../libcrypto/man/man3/PBMAC1_get1_pbkdf2_param.3 | 7 +- .../libcrypto/man/man3/PEM_X509_INFO_read_bio_ex.3 | 7 +- secure/lib/libcrypto/man/man3/PEM_bytes_read_bio.3 | 19 +- secure/lib/libcrypto/man/man3/PEM_read.3 | 15 +- secure/lib/libcrypto/man/man3/PEM_read_CMS.3 | 11 +- .../libcrypto/man/man3/PEM_read_bio_PrivateKey.3 | 19 +- secure/lib/libcrypto/man/man3/PEM_read_bio_ex.3 | 7 +- .../libcrypto/man/man3/PEM_write_bio_CMS_stream.3 | 7 +- .../man/man3/PEM_write_bio_PKCS7_stream.3 | 7 +- .../lib/libcrypto/man/man3/PKCS12_PBE_keyivgen.3 | 9 +- .../man/man3/PKCS12_SAFEBAG_create_cert.3 | 7 +- .../libcrypto/man/man3/PKCS12_SAFEBAG_get0_attrs.3 | 7 +- .../libcrypto/man/man3/PKCS12_SAFEBAG_get1_cert.3 | 7 +- .../libcrypto/man/man3/PKCS12_SAFEBAG_set0_attrs.3 | 7 +- .../libcrypto/man/man3/PKCS12_add1_attr_by_NID.3 | 7 +- .../libcrypto/man/man3/PKCS12_add_CSPName_asc.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS12_add_cert.3 | 7 +- .../man/man3/PKCS12_add_friendlyname_asc.3 | 7 +- .../lib/libcrypto/man/man3/PKCS12_add_localkeyid.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS12_add_safe.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS12_create.3 | 7 +- .../lib/libcrypto/man/man3/PKCS12_decrypt_skey.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS12_gen_mac.3 | 9 +- .../libcrypto/man/man3/PKCS12_get_friendlyname.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS12_init.3 | 7 +- .../libcrypto/man/man3/PKCS12_item_decrypt_d2i.3 | 7 +- .../libcrypto/man/man3/PKCS12_key_gen_utf8_ex.3 | 11 +- secure/lib/libcrypto/man/man3/PKCS12_newpass.3 | 7 +- .../lib/libcrypto/man/man3/PKCS12_pack_p7encdata.3 | 9 +- secure/lib/libcrypto/man/man3/PKCS12_parse.3 | 13 +- secure/lib/libcrypto/man/man3/PKCS5_PBE_keyivgen.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS7_decrypt.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS7_encrypt.3 | 7 +- .../libcrypto/man/man3/PKCS7_get_octet_string.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS7_sign.3 | 13 +- .../lib/libcrypto/man/man3/PKCS7_sign_add_signer.3 | 15 +- .../lib/libcrypto/man/man3/PKCS7_type_is_other.3 | 7 +- secure/lib/libcrypto/man/man3/PKCS7_verify.3 | 29 +- secure/lib/libcrypto/man/man3/PKCS8_encrypt.3 | 7 +- .../lib/libcrypto/man/man3/PKCS8_pkey_add1_attr.3 | 7 +- secure/lib/libcrypto/man/man3/RAND_add.3 | 9 +- secure/lib/libcrypto/man/man3/RAND_bytes.3 | 19 +- secure/lib/libcrypto/man/man3/RAND_cleanup.3 | 9 +- secure/lib/libcrypto/man/man3/RAND_egd.3 | 7 +- secure/lib/libcrypto/man/man3/RAND_get0_primary.3 | 13 +- secure/lib/libcrypto/man/man3/RAND_load_file.3 | 13 +- secure/lib/libcrypto/man/man3/RAND_set_DRBG_type.3 | 11 +- .../lib/libcrypto/man/man3/RAND_set_rand_method.3 | 7 +- secure/lib/libcrypto/man/man3/RC4_set_key.3 | 9 +- secure/lib/libcrypto/man/man3/RIPEMD160_Init.3 | 9 +- secure/lib/libcrypto/man/man3/RSA_blinding_on.3 | 7 +- secure/lib/libcrypto/man/man3/RSA_check_key.3 | 11 +- secure/lib/libcrypto/man/man3/RSA_generate_key.3 | 13 +- secure/lib/libcrypto/man/man3/RSA_get0_key.3 | 29 +- secure/lib/libcrypto/man/man3/RSA_meth_new.3 | 11 +- secure/lib/libcrypto/man/man3/RSA_new.3 | 7 +- .../man/man3/RSA_padding_add_PKCS1_type_1.3 | 11 +- secure/lib/libcrypto/man/man3/RSA_print.3 | 9 +- .../lib/libcrypto/man/man3/RSA_private_encrypt.3 | 11 +- secure/lib/libcrypto/man/man3/RSA_public_encrypt.3 | 21 +- secure/lib/libcrypto/man/man3/RSA_set_method.3 | 17 +- secure/lib/libcrypto/man/man3/RSA_sign.3 | 13 +- .../man/man3/RSA_sign_ASN1_OCTET_STRING.3 | 9 +- secure/lib/libcrypto/man/man3/RSA_size.3 | 7 +- secure/lib/libcrypto/man/man3/SCT_new.3 | 13 +- secure/lib/libcrypto/man/man3/SCT_print.3 | 13 +- secure/lib/libcrypto/man/man3/SCT_validate.3 | 11 +- secure/lib/libcrypto/man/man3/SHA256_Init.3 | 9 +- secure/lib/libcrypto/man/man3/SMIME_read_ASN1.3 | 7 +- secure/lib/libcrypto/man/man3/SMIME_read_CMS.3 | 7 +- secure/lib/libcrypto/man/man3/SMIME_read_PKCS7.3 | 7 +- secure/lib/libcrypto/man/man3/SMIME_write_ASN1.3 | 7 +- secure/lib/libcrypto/man/man3/SMIME_write_CMS.3 | 7 +- secure/lib/libcrypto/man/man3/SMIME_write_PKCS7.3 | 7 +- secure/lib/libcrypto/man/man3/SRP_Calc_B.3 | 9 +- secure/lib/libcrypto/man/man3/SRP_VBASE_new.3 | 17 +- .../lib/libcrypto/man/man3/SRP_create_verifier.3 | 11 +- secure/lib/libcrypto/man/man3/SRP_user_pwd_new.3 | 7 +- .../lib/libcrypto/man/man3/SSL_CIPHER_get_name.3 | 23 +- .../man/man3/SSL_COMP_add_compression_method.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_CONF_CTX_new.3 | 7 +- .../libcrypto/man/man3/SSL_CONF_CTX_set1_prefix.3 | 7 +- .../libcrypto/man/man3/SSL_CONF_CTX_set_flags.3 | 9 +- .../libcrypto/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_CONF_cmd.3 | 80 +- secure/lib/libcrypto/man/man3/SSL_CONF_cmd_argv.3 | 9 +- .../libcrypto/man/man3/SSL_CTX_add1_chain_cert.3 | 7 +- .../man/man3/SSL_CTX_add_extra_chain_cert.3 | 7 +- .../lib/libcrypto/man/man3/SSL_CTX_add_session.3 | 13 +- secure/lib/libcrypto/man/man3/SSL_CTX_config.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_CTX_ctrl.3 | 7 +- .../lib/libcrypto/man/man3/SSL_CTX_dane_enable.3 | 45 +- .../libcrypto/man/man3/SSL_CTX_flush_sessions.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_CTX_free.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_CTX_get0_param.3 | 7 +- .../libcrypto/man/man3/SSL_CTX_get_verify_mode.3 | 7 +- .../man/man3/SSL_CTX_has_client_custom_ext.3 | 7 +- .../man/man3/SSL_CTX_load_verify_locations.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_CTX_new.3 | 25 +- .../lib/libcrypto/man/man3/SSL_CTX_sess_number.3 | 7 +- .../man/man3/SSL_CTX_sess_set_cache_size.3 | 7 +- .../libcrypto/man/man3/SSL_CTX_sess_set_get_cb.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_CTX_sessions.3 | 7 +- .../lib/libcrypto/man/man3/SSL_CTX_set0_CA_list.3 | 13 +- .../man/man3/SSL_CTX_set1_cert_comp_preference.3 | 29 +- .../lib/libcrypto/man/man3/SSL_CTX_set1_curves.3 | 53 +- .../lib/libcrypto/man/man3/SSL_CTX_set1_sigalgs.3 | 11 +- .../man/man3/SSL_CTX_set1_verify_cert_store.3 | 9 +- .../man/man3/SSL_CTX_set_alpn_select_cb.3 | 35 +- .../lib/libcrypto/man/man3/SSL_CTX_set_cert_cb.3 | 7 +- .../libcrypto/man/man3/SSL_CTX_set_cert_store.3 | 11 +- .../man/man3/SSL_CTX_set_cert_verify_callback.3 | 18 +- .../libcrypto/man/man3/SSL_CTX_set_cipher_list.3 | 17 +- .../man/man3/SSL_CTX_set_client_cert_cb.3 | 7 +- .../man/man3/SSL_CTX_set_client_hello_cb.3 | 30 +- .../man/man3/SSL_CTX_set_ct_validation_callback.3 | 21 +- .../man/man3/SSL_CTX_set_ctlog_list_file.3 | 7 +- .../man/man3/SSL_CTX_set_default_passwd_cb.3 | 9 +- .../libcrypto/man/man3/SSL_CTX_set_domain_flags.3 | 15 +- .../man/man3/SSL_CTX_set_generate_session_id.3 | 7 +- .../libcrypto/man/man3/SSL_CTX_set_info_callback.3 | 9 +- .../man/man3/SSL_CTX_set_keylog_callback.3 | 9 +- .../libcrypto/man/man3/SSL_CTX_set_max_cert_list.3 | 15 +- .../man/man3/SSL_CTX_set_min_proto_version.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_mode.3 | 31 +- .../libcrypto/man/man3/SSL_CTX_set_msg_callback.3 | 13 +- .../man/man3/SSL_CTX_set_new_pending_conn_cb.3 | 9 +- .../libcrypto/man/man3/SSL_CTX_set_num_tickets.3 | 13 +- .../lib/libcrypto/man/man3/SSL_CTX_set_options.3 | 59 +- .../man/man3/SSL_CTX_set_psk_client_callback.3 | 17 +- .../man/man3/SSL_CTX_set_quiet_shutdown.3 | 7 +- .../libcrypto/man/man3/SSL_CTX_set_read_ahead.3 | 17 +- .../man/man3/SSL_CTX_set_record_padding_callback.3 | 13 +- .../man/man3/SSL_CTX_set_security_level.3 | 11 +- .../man/man3/SSL_CTX_set_session_cache_mode.3 | 13 +- .../man/man3/SSL_CTX_set_session_id_context.3 | 9 +- .../man/man3/SSL_CTX_set_session_ticket_cb.3 | 9 +- .../man/man3/SSL_CTX_set_split_send_fragment.3 | 17 +- .../libcrypto/man/man3/SSL_CTX_set_srp_password.3 | 7 +- .../libcrypto/man/man3/SSL_CTX_set_ssl_version.3 | 11 +- .../SSL_CTX_set_stateless_cookie_generate_cb.3 | 13 +- .../lib/libcrypto/man/man3/SSL_CTX_set_timeout.3 | 7 +- .../man3/SSL_CTX_set_tlsext_servername_callback.3 | 9 +- .../man/man3/SSL_CTX_set_tlsext_status_cb.3 | 7 +- .../man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 | 11 +- .../man/man3/SSL_CTX_set_tlsext_use_srtp.3 | 11 +- .../man/man3/SSL_CTX_set_tmp_dh_callback.3 | 21 +- .../lib/libcrypto/man/man3/SSL_CTX_set_tmp_ecdh.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_verify.3 | 37 +- .../libcrypto/man/man3/SSL_CTX_use_certificate.3 | 9 +- .../man/man3/SSL_CTX_use_psk_identity_hint.3 | 13 +- .../libcrypto/man/man3/SSL_CTX_use_serverinfo.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_SESSION_free.3 | 7 +- .../libcrypto/man/man3/SSL_SESSION_get0_cipher.3 | 7 +- .../libcrypto/man/man3/SSL_SESSION_get0_hostname.3 | 13 +- .../man/man3/SSL_SESSION_get0_id_context.3 | 7 +- .../lib/libcrypto/man/man3/SSL_SESSION_get0_peer.3 | 9 +- .../man/man3/SSL_SESSION_get_compress_id.3 | 9 +- .../man/man3/SSL_SESSION_get_protocol_version.3 | 7 +- .../lib/libcrypto/man/man3/SSL_SESSION_get_time.3 | 7 +- .../libcrypto/man/man3/SSL_SESSION_has_ticket.3 | 7 +- .../libcrypto/man/man3/SSL_SESSION_is_resumable.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_SESSION_print.3 | 7 +- .../lib/libcrypto/man/man3/SSL_SESSION_set1_id.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_accept.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_accept_stream.3 | 7 +- .../lib/libcrypto/man/man3/SSL_alert_type_string.3 | 17 +- secure/lib/libcrypto/man/man3/SSL_alloc_buffers.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_check_chain.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_clear.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_connect.3 | 13 +- secure/lib/libcrypto/man/man3/SSL_do_handshake.3 | 7 +- .../man/man3/SSL_export_keying_material.3 | 7 +- .../libcrypto/man/man3/SSL_extension_supported.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_free.3 | 11 +- .../lib/libcrypto/man/man3/SSL_get0_connection.3 | 13 +- .../lib/libcrypto/man/man3/SSL_get0_group_name.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_get0_peer_rpk.3 | 21 +- secure/lib/libcrypto/man/man3/SSL_get0_peer_scts.3 | 9 +- .../libcrypto/man/man3/SSL_get1_builtin_sigalgs.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_get_SSL_CTX.3 | 7 +- .../lib/libcrypto/man/man3/SSL_get_all_async_fds.3 | 9 +- .../lib/libcrypto/man/man3/SSL_get_certificate.3 | 13 +- secure/lib/libcrypto/man/man3/SSL_get_ciphers.3 | 13 +- .../lib/libcrypto/man/man3/SSL_get_client_random.3 | 13 +- .../libcrypto/man/man3/SSL_get_conn_close_info.3 | 17 +- .../libcrypto/man/man3/SSL_get_current_cipher.3 | 9 +- .../libcrypto/man/man3/SSL_get_default_timeout.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_get_error.3 | 28 +- .../lib/libcrypto/man/man3/SSL_get_event_timeout.3 | 9 +- .../lib/libcrypto/man/man3/SSL_get_extms_support.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_get_fd.3 | 7 +- .../lib/libcrypto/man/man3/SSL_get_handshake_rtt.3 | 15 +- .../libcrypto/man/man3/SSL_get_peer_cert_chain.3 | 13 +- .../libcrypto/man/man3/SSL_get_peer_certificate.3 | 7 +- .../man/man3/SSL_get_peer_signature_nid.3 | 11 +- .../lib/libcrypto/man/man3/SSL_get_peer_tmp_key.3 | 13 +- .../lib/libcrypto/man/man3/SSL_get_psk_identity.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_get_rbio.3 | 7 +- .../libcrypto/man/man3/SSL_get_rpoll_descriptor.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_get_session.3 | 13 +- .../libcrypto/man/man3/SSL_get_shared_sigalgs.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_get_stream_id.3 | 9 +- .../libcrypto/man/man3/SSL_get_stream_read_state.3 | 23 +- secure/lib/libcrypto/man/man3/SSL_get_value_uint.3 | 39 +- .../lib/libcrypto/man/man3/SSL_get_verify_result.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_get_version.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_group_to_name.3 | 13 +- secure/lib/libcrypto/man/man3/SSL_handle_events.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_in_init.3 | 7 +- .../lib/libcrypto/man/man3/SSL_inject_net_dgram.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_key_update.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_library_init.3 | 7 +- .../libcrypto/man/man3/SSL_load_client_CA_file.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_new.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_new_domain.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_new_listener.3 | 21 +- secure/lib/libcrypto/man/man3/SSL_new_stream.3 | 15 +- secure/lib/libcrypto/man/man3/SSL_pending.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_poll.3 | 25 +- secure/lib/libcrypto/man/man3/SSL_read.3 | 21 +- .../lib/libcrypto/man/man3/SSL_read_early_data.3 | 23 +- secure/lib/libcrypto/man/man3/SSL_rstate_string.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_session_reused.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_set1_host.3 | 11 +- .../man/man3/SSL_set1_initial_peer_addr.3 | 7 +- .../libcrypto/man/man3/SSL_set1_server_cert_type.3 | 9 +- .../libcrypto/man/man3/SSL_set_async_callback.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_set_bio.3 | 9 +- .../lib/libcrypto/man/man3/SSL_set_blocking_mode.3 | 9 +- .../lib/libcrypto/man/man3/SSL_set_connect_state.3 | 7 +- .../man/man3/SSL_set_default_stream_mode.3 | 21 +- secure/lib/libcrypto/man/man3/SSL_set_fd.3 | 9 +- .../man/man3/SSL_set_incoming_stream_policy.3 | 13 +- .../lib/libcrypto/man/man3/SSL_set_quic_tls_cbs.3 | 12 +- .../lib/libcrypto/man/man3/SSL_set_retry_verify.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_set_session.3 | 9 +- .../libcrypto/man/man3/SSL_set_session_secret_cb.3 | 11 +- secure/lib/libcrypto/man/man3/SSL_set_shutdown.3 | 11 +- .../lib/libcrypto/man/man3/SSL_set_verify_result.3 | 7 +- secure/lib/libcrypto/man/man3/SSL_shutdown.3 | 61 +- secure/lib/libcrypto/man/man3/SSL_state_string.3 | 9 +- .../lib/libcrypto/man/man3/SSL_stream_conclude.3 | 15 +- secure/lib/libcrypto/man/man3/SSL_stream_reset.3 | 13 +- secure/lib/libcrypto/man/man3/SSL_want.3 | 9 +- secure/lib/libcrypto/man/man3/SSL_write.3 | 21 +- secure/lib/libcrypto/man/man3/TS_RESP_CTX_new.3 | 7 +- secure/lib/libcrypto/man/man3/TS_VERIFY_CTX.3 | 19 +- secure/lib/libcrypto/man/man3/UI_STRING.3 | 13 +- secure/lib/libcrypto/man/man3/UI_UTIL_read_pw.3 | 7 +- secure/lib/libcrypto/man/man3/UI_create_method.3 | 33 +- secure/lib/libcrypto/man/man3/UI_new.3 | 47 +- secure/lib/libcrypto/man/man3/X509V3_get_d2i.3 | 9 +- secure/lib/libcrypto/man/man3/X509V3_set_ctx.3 | 11 +- .../lib/libcrypto/man/man3/X509_ACERT_add1_attr.3 | 7 +- .../libcrypto/man/man3/X509_ACERT_add_attr_nconf.3 | 7 +- .../man/man3/X509_ACERT_get0_holder_baseCertId.3 | 11 +- .../lib/libcrypto/man/man3/X509_ACERT_get_attr.3 | 9 +- .../lib/libcrypto/man/man3/X509_ACERT_print_ex.3 | 9 +- secure/lib/libcrypto/man/man3/X509_ALGOR_dup.3 | 7 +- secure/lib/libcrypto/man/man3/X509_ATTRIBUTE.3 | 9 +- .../libcrypto/man/man3/X509_CRL_get0_by_serial.3 | 7 +- .../libcrypto/man/man3/X509_EXTENSION_set_object.3 | 13 +- secure/lib/libcrypto/man/man3/X509_LOOKUP.3 | 15 +- .../lib/libcrypto/man/man3/X509_LOOKUP_hash_dir.3 | 11 +- .../lib/libcrypto/man/man3/X509_LOOKUP_meth_new.3 | 13 +- .../man/man3/X509_NAME_ENTRY_get_object.3 | 7 +- .../man/man3/X509_NAME_add_entry_by_txt.3 | 11 +- secure/lib/libcrypto/man/man3/X509_NAME_get0_der.3 | 7 +- .../man/man3/X509_NAME_get_index_by_NID.3 | 9 +- secure/lib/libcrypto/man/man3/X509_NAME_print_ex.3 | 19 +- secure/lib/libcrypto/man/man3/X509_PUBKEY_new.3 | 15 +- secure/lib/libcrypto/man/man3/X509_REQ_get_attr.3 | 13 +- .../libcrypto/man/man3/X509_REQ_get_extensions.3 | 9 +- secure/lib/libcrypto/man/man3/X509_SIG_get0.3 | 7 +- .../man/man3/X509_STORE_CTX_get_by_subject.3 | 7 +- .../libcrypto/man/man3/X509_STORE_CTX_get_error.3 | 45 +- secure/lib/libcrypto/man/man3/X509_STORE_CTX_new.3 | 19 +- .../man/man3/X509_STORE_CTX_set_verify_cb.3 | 9 +- .../lib/libcrypto/man/man3/X509_STORE_add_cert.3 | 17 +- .../lib/libcrypto/man/man3/X509_STORE_get0_param.3 | 20 +- secure/lib/libcrypto/man/man3/X509_STORE_new.3 | 7 +- .../man/man3/X509_STORE_set_verify_cb_func.3 | 15 +- .../man/man3/X509_VERIFY_PARAM_set_flags.3 | 47 +- secure/lib/libcrypto/man/man3/X509_add_cert.3 | 9 +- secure/lib/libcrypto/man/man3/X509_check_ca.3 | 9 +- secure/lib/libcrypto/man/man3/X509_check_host.3 | 17 +- secure/lib/libcrypto/man/man3/X509_check_issued.3 | 9 +- .../libcrypto/man/man3/X509_check_private_key.3 | 7 +- secure/lib/libcrypto/man/man3/X509_check_purpose.3 | 17 +- secure/lib/libcrypto/man/man3/X509_cmp.3 | 9 +- secure/lib/libcrypto/man/man3/X509_cmp_time.3 | 7 +- secure/lib/libcrypto/man/man3/X509_digest.3 | 7 +- secure/lib/libcrypto/man/man3/X509_dup.3 | 15 +- .../man/man3/X509_get0_distinguishing_id.3 | 7 +- .../lib/libcrypto/man/man3/X509_get0_notBefore.3 | 9 +- .../lib/libcrypto/man/man3/X509_get0_signature.3 | 7 +- secure/lib/libcrypto/man/man3/X509_get0_uids.3 | 7 +- .../man/man3/X509_get_default_cert_file.3 | 13 +- .../libcrypto/man/man3/X509_get_extension_flags.3 | 17 +- secure/lib/libcrypto/man/man3/X509_get_pubkey.3 | 7 +- .../lib/libcrypto/man/man3/X509_get_serialNumber.3 | 7 +- .../lib/libcrypto/man/man3/X509_get_subject_name.3 | 7 +- secure/lib/libcrypto/man/man3/X509_get_version.3 | 7 +- secure/lib/libcrypto/man/man3/X509_load_http.3 | 7 +- secure/lib/libcrypto/man/man3/X509_new.3 | 9 +- secure/lib/libcrypto/man/man3/X509_sign.3 | 9 +- secure/lib/libcrypto/man/man3/X509_verify.3 | 11 +- secure/lib/libcrypto/man/man3/X509_verify_cert.3 | 15 +- .../lib/libcrypto/man/man3/X509v3_get_ext_by_NID.3 | 13 +- secure/lib/libcrypto/man/man3/b2i_PVK_bio_ex.3 | 7 +- .../libcrypto/man/man3/d2i_PKCS8PrivateKey_bio.3 | 7 +- secure/lib/libcrypto/man/man3/d2i_PrivateKey.3 | 11 +- secure/lib/libcrypto/man/man3/d2i_RSAPrivateKey.3 | 15 +- secure/lib/libcrypto/man/man3/d2i_SSL_SESSION.3 | 11 +- secure/lib/libcrypto/man/man3/d2i_X509.3 | 18 +- secure/lib/libcrypto/man/man3/i2d_CMS_bio_stream.3 | 7 +- .../lib/libcrypto/man/man3/i2d_PKCS7_bio_stream.3 | 7 +- secure/lib/libcrypto/man/man3/i2d_re_X509_tbs.3 | 15 +- secure/lib/libcrypto/man/man3/o2i_SCT_LIST.3 | 7 +- secure/lib/libcrypto/man/man3/s2i_ASN1_IA5STRING.3 | 9 +- secure/lib/libcrypto/man/man5/config.5 | 65 +- secure/lib/libcrypto/man/man5/fips_config.5 | 63 +- secure/lib/libcrypto/man/man5/x509v3_config.5 | 61 +- .../lib/libcrypto/man/man7/EVP_ASYM_CIPHER-RSA.7 | 31 +- .../lib/libcrypto/man/man7/EVP_ASYM_CIPHER-SM2.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-AES.7 | 13 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-ARIA.7 | 7 +- .../lib/libcrypto/man/man7/EVP_CIPHER-BLOWFISH.7 | 15 +- .../lib/libcrypto/man/man7/EVP_CIPHER-CAMELLIA.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-CAST.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-CHACHA.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-DES.7 | 27 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-IDEA.7 | 15 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-NULL.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-RC2.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-RC4.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-RC5.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-SEED.7 | 15 +- secure/lib/libcrypto/man/man7/EVP_CIPHER-SM4.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_KDF-ARGON2.7 | 29 +- secure/lib/libcrypto/man/man7/EVP_KDF-HKDF.7 | 31 +- secure/lib/libcrypto/man/man7/EVP_KDF-HMAC-DRBG.7 | 13 +- secure/lib/libcrypto/man/man7/EVP_KDF-KB.7 | 31 +- secure/lib/libcrypto/man/man7/EVP_KDF-KRB5KDF.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_KDF-PBKDF1.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_KDF-PBKDF2.7 | 17 +- secure/lib/libcrypto/man/man7/EVP_KDF-PKCS12KDF.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_KDF-PVKKDF.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_KDF-SCRYPT.7 | 15 +- secure/lib/libcrypto/man/man7/EVP_KDF-SS.7 | 23 +- secure/lib/libcrypto/man/man7/EVP_KDF-SSHKDF.7 | 35 +- secure/lib/libcrypto/man/man7/EVP_KDF-TLS13_KDF.7 | 29 +- secure/lib/libcrypto/man/man7/EVP_KDF-TLS1_PRF.7 | 27 +- secure/lib/libcrypto/man/man7/EVP_KDF-X942-ASN1.7 | 49 +- .../lib/libcrypto/man/man7/EVP_KDF-X942-CONCAT.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_KDF-X963.7 | 23 +- secure/lib/libcrypto/man/man7/EVP_KEM-EC.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_KEM-ML-KEM.7 | 13 +- secure/lib/libcrypto/man/man7/EVP_KEM-RSA.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_KEM-X25519.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_KEYEXCH-DH.7 | 31 +- secure/lib/libcrypto/man/man7/EVP_KEYEXCH-ECDH.7 | 41 +- secure/lib/libcrypto/man/man7/EVP_KEYEXCH-X25519.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_MAC-BLAKE2.7 | 13 +- secure/lib/libcrypto/man/man7/EVP_MAC-CMAC.7 | 23 +- secure/lib/libcrypto/man/man7/EVP_MAC-GMAC.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MAC-HMAC.7 | 23 +- secure/lib/libcrypto/man/man7/EVP_MAC-KMAC.7 | 23 +- secure/lib/libcrypto/man/man7/EVP_MAC-Poly1305.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MAC-Siphash.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-BLAKE2.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-KECCAK.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-MD2.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-MD4.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-MD5-SHA1.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_MD-MD5.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-MDC2.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_MD-NULL.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-RIPEMD160.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-SHA1.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-SHA2.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-SHA3.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-SHAKE.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_MD-SM3.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-WHIRLPOOL.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_MD-common.7 | 7 +- secure/lib/libcrypto/man/man7/EVP_PKEY-DH.7 | 35 +- secure/lib/libcrypto/man/man7/EVP_PKEY-DSA.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_PKEY-EC.7 | 65 +- secure/lib/libcrypto/man/man7/EVP_PKEY-FFC.7 | 33 +- secure/lib/libcrypto/man/man7/EVP_PKEY-HMAC.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_PKEY-ML-DSA.7 | 25 +- secure/lib/libcrypto/man/man7/EVP_PKEY-ML-KEM.7 | 33 +- secure/lib/libcrypto/man/man7/EVP_PKEY-RSA.7 | 17 +- secure/lib/libcrypto/man/man7/EVP_PKEY-SLH-DSA.7 | 21 +- secure/lib/libcrypto/man/man7/EVP_PKEY-SM2.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_PKEY-X25519.7 | 17 +- secure/lib/libcrypto/man/man7/EVP_RAND-CRNG-TEST.7 | 13 +- secure/lib/libcrypto/man/man7/EVP_RAND-CTR-DRBG.7 | 11 +- secure/lib/libcrypto/man/man7/EVP_RAND-HASH-DRBG.7 | 15 +- secure/lib/libcrypto/man/man7/EVP_RAND-HMAC-DRBG.7 | 15 +- secure/lib/libcrypto/man/man7/EVP_RAND-JITTER.7 | 15 +- secure/lib/libcrypto/man/man7/EVP_RAND-SEED-SRC.7 | 9 +- secure/lib/libcrypto/man/man7/EVP_RAND-TEST-RAND.7 | 13 +- secure/lib/libcrypto/man/man7/EVP_RAND.7 | 39 +- secure/lib/libcrypto/man/man7/EVP_SIGNATURE-DSA.7 | 23 +- .../lib/libcrypto/man/man7/EVP_SIGNATURE-ECDSA.7 | 23 +- .../lib/libcrypto/man/man7/EVP_SIGNATURE-ED25519.7 | 32 +- secure/lib/libcrypto/man/man7/EVP_SIGNATURE-HMAC.7 | 7 +- .../lib/libcrypto/man/man7/EVP_SIGNATURE-ML-DSA.7 | 35 +- secure/lib/libcrypto/man/man7/EVP_SIGNATURE-RSA.7 | 35 +- .../lib/libcrypto/man/man7/EVP_SIGNATURE-SLH-DSA.7 | 37 +- secure/lib/libcrypto/man/man7/OSSL_PROVIDER-FIPS.7 | 51 +- secure/lib/libcrypto/man/man7/OSSL_PROVIDER-base.7 | 21 +- .../lib/libcrypto/man/man7/OSSL_PROVIDER-default.7 | 37 +- .../lib/libcrypto/man/man7/OSSL_PROVIDER-legacy.7 | 11 +- secure/lib/libcrypto/man/man7/OSSL_PROVIDER-null.7 | 7 +- .../lib/libcrypto/man/man7/OSSL_STORE-winstore.7 | 11 +- secure/lib/libcrypto/man/man7/RAND.7 | 17 +- secure/lib/libcrypto/man/man7/RSA-PSS.7 | 13 +- secure/lib/libcrypto/man/man7/X25519.7 | 7 +- secure/lib/libcrypto/man/man7/bio.7 | 9 +- secure/lib/libcrypto/man/man7/ct.7 | 7 +- secure/lib/libcrypto/man/man7/des_modes.7 | 17 +- secure/lib/libcrypto/man/man7/evp.7 | 19 +- secure/lib/libcrypto/man/man7/fips_module.7 | 41 +- secure/lib/libcrypto/man/man7/life_cycle-cipher.7 | 23 +- secure/lib/libcrypto/man/man7/life_cycle-digest.7 | 21 +- secure/lib/libcrypto/man/man7/life_cycle-kdf.7 | 17 +- secure/lib/libcrypto/man/man7/life_cycle-mac.7 | 15 +- secure/lib/libcrypto/man/man7/life_cycle-pkey.7 | 21 +- secure/lib/libcrypto/man/man7/life_cycle-rand.7 | 25 +- secure/lib/libcrypto/man/man7/openssl-core.h.7 | 7 +- .../libcrypto/man/man7/openssl-core_dispatch.h.7 | 7 +- .../lib/libcrypto/man/man7/openssl-core_names.h.7 | 11 +- secure/lib/libcrypto/man/man7/openssl-env.7 | 22 +- secure/lib/libcrypto/man/man7/openssl-glossary.7 | 11 +- secure/lib/libcrypto/man/man7/openssl-qlog.7 | 23 +- .../libcrypto/man/man7/openssl-quic-concurrency.7 | 67 +- secure/lib/libcrypto/man/man7/openssl-quic.7 | 134 +- secure/lib/libcrypto/man/man7/openssl-threads.7 | 43 +- .../lib/libcrypto/man/man7/openssl_user_macros.7 | 15 +- .../libcrypto/man/man7/ossl-guide-introduction.7 | 23 +- .../man/man7/ossl-guide-libcrypto-introduction.7 | 9 +- .../man/man7/ossl-guide-libraries-introduction.7 | 31 +- .../man/man7/ossl-guide-libssl-introduction.7 | 13 +- .../lib/libcrypto/man/man7/ossl-guide-migration.7 | 335 +-- .../man/man7/ossl-guide-quic-client-block.7 | 21 +- .../man/man7/ossl-guide-quic-client-non-block.7 | 33 +- .../man/man7/ossl-guide-quic-introduction.7 | 31 +- .../man/man7/ossl-guide-quic-multi-stream.7 | 53 +- .../man/man7/ossl-guide-quic-server-block.7 | 17 +- .../man/man7/ossl-guide-quic-server-non-block.7 | 21 +- .../man/man7/ossl-guide-tls-client-block.7 | 33 +- .../man/man7/ossl-guide-tls-client-non-block.7 | 41 +- .../man/man7/ossl-guide-tls-introduction.7 | 23 +- .../man/man7/ossl-guide-tls-server-block.7 | 13 +- secure/lib/libcrypto/man/man7/ossl_store-file.7 | 27 +- secure/lib/libcrypto/man/man7/ossl_store.7 | 9 +- .../lib/libcrypto/man/man7/passphrase-encoding.7 | 31 +- secure/lib/libcrypto/man/man7/property.7 | 19 +- .../lib/libcrypto/man/man7/provider-asym_cipher.7 | 41 +- secure/lib/libcrypto/man/man7/provider-base.7 | 159 +- secure/lib/libcrypto/man/man7/provider-cipher.7 | 19 +- secure/lib/libcrypto/man/man7/provider-decoder.7 | 43 +- secure/lib/libcrypto/man/man7/provider-digest.7 | 13 +- secure/lib/libcrypto/man/man7/provider-encoder.7 | 45 +- secure/lib/libcrypto/man/man7/provider-kdf.7 | 29 +- secure/lib/libcrypto/man/man7/provider-kem.7 | 23 +- secure/lib/libcrypto/man/man7/provider-keyexch.7 | 45 +- secure/lib/libcrypto/man/man7/provider-keymgmt.7 | 55 +- secure/lib/libcrypto/man/man7/provider-mac.7 | 31 +- secure/lib/libcrypto/man/man7/provider-object.7 | 43 +- secure/lib/libcrypto/man/man7/provider-rand.7 | 27 +- secure/lib/libcrypto/man/man7/provider-signature.7 | 126 +- secure/lib/libcrypto/man/man7/provider-skeymgmt.7 | 23 +- secure/lib/libcrypto/man/man7/provider-storemgmt.7 | 19 +- secure/lib/libcrypto/man/man7/provider.7 | 13 +- secure/lib/libcrypto/man/man7/proxy-certificates.7 | 9 +- secure/lib/libcrypto/man/man7/x509.7 | 11 +- secure/usr.bin/openssl/man/CA.pl.1 | 15 +- secure/usr.bin/openssl/man/openssl-asn1parse.1 | 15 +- secure/usr.bin/openssl/man/openssl-ca.1 | 53 +- secure/usr.bin/openssl/man/openssl-ciphers.1 | 37 +- secure/usr.bin/openssl/man/openssl-cmds.1 | 11 +- secure/usr.bin/openssl/man/openssl-cmp.1 | 161 +- secure/usr.bin/openssl/man/openssl-cms.1 | 71 +- secure/usr.bin/openssl/man/openssl-crl.1 | 9 +- secure/usr.bin/openssl/man/openssl-crl2pkcs7.1 | 7 +- secure/usr.bin/openssl/man/openssl-dgst.1 | 31 +- secure/usr.bin/openssl/man/openssl-dhparam.1 | 11 +- secure/usr.bin/openssl/man/openssl-dsa.1 | 13 +- secure/usr.bin/openssl/man/openssl-dsaparam.1 | 9 +- secure/usr.bin/openssl/man/openssl-ec.1 | 9 +- secure/usr.bin/openssl/man/openssl-ecparam.1 | 17 +- secure/usr.bin/openssl/man/openssl-enc.1 | 33 +- secure/usr.bin/openssl/man/openssl-engine.1 | 13 +- secure/usr.bin/openssl/man/openssl-errstr.1 | 7 +- secure/usr.bin/openssl/man/openssl-fipsinstall.1 | 79 +- .../usr.bin/openssl/man/openssl-format-options.1 | 13 +- secure/usr.bin/openssl/man/openssl-gendsa.1 | 7 +- secure/usr.bin/openssl/man/openssl-genpkey.1 | 41 +- secure/usr.bin/openssl/man/openssl-genrsa.1 | 11 +- secure/usr.bin/openssl/man/openssl-info.1 | 7 +- secure/usr.bin/openssl/man/openssl-kdf.1 | 29 +- secure/usr.bin/openssl/man/openssl-list.1 | 27 +- secure/usr.bin/openssl/man/openssl-mac.1 | 21 +- .../openssl/man/openssl-namedisplay-options.1 | 15 +- secure/usr.bin/openssl/man/openssl-nseq.1 | 9 +- secure/usr.bin/openssl/man/openssl-ocsp.1 | 39 +- .../openssl/man/openssl-passphrase-options.1 | 9 +- secure/usr.bin/openssl/man/openssl-passwd.1 | 13 +- secure/usr.bin/openssl/man/openssl-pkcs12.1 | 31 +- secure/usr.bin/openssl/man/openssl-pkcs7.1 | 11 +- secure/usr.bin/openssl/man/openssl-pkcs8.1 | 17 +- secure/usr.bin/openssl/man/openssl-pkey.1 | 9 +- secure/usr.bin/openssl/man/openssl-pkeyparam.1 | 7 +- secure/usr.bin/openssl/man/openssl-pkeyutl.1 | 97 +- secure/usr.bin/openssl/man/openssl-prime.1 | 7 +- secure/usr.bin/openssl/man/openssl-rand.1 | 9 +- secure/usr.bin/openssl/man/openssl-rehash.1 | 27 +- secure/usr.bin/openssl/man/openssl-req.1 | 57 +- secure/usr.bin/openssl/man/openssl-rsa.1 | 13 +- secure/usr.bin/openssl/man/openssl-rsautl.1 | 9 +- secure/usr.bin/openssl/man/openssl-s_client.1 | 63 +- secure/usr.bin/openssl/man/openssl-s_server.1 | 29 +- secure/usr.bin/openssl/man/openssl-s_time.1 | 9 +- secure/usr.bin/openssl/man/openssl-sess_id.1 | 15 +- secure/usr.bin/openssl/man/openssl-skeyutl.1 | 9 +- secure/usr.bin/openssl/man/openssl-smime.1 | 25 +- secure/usr.bin/openssl/man/openssl-speed.1 | 23 +- secure/usr.bin/openssl/man/openssl-spkac.1 | 9 +- secure/usr.bin/openssl/man/openssl-srp.1 | 7 +- secure/usr.bin/openssl/man/openssl-storeutl.1 | 11 +- secure/usr.bin/openssl/man/openssl-ts.1 | 33 +- .../openssl/man/openssl-verification-options.1 | 99 +- secure/usr.bin/openssl/man/openssl-verify.1 | 9 +- secure/usr.bin/openssl/man/openssl-version.1 | 11 +- secure/usr.bin/openssl/man/openssl-x509.1 | 69 +- secure/usr.bin/openssl/man/openssl.1 | 48 +- secure/usr.bin/openssl/man/tsget.1 | 23 +- 952 files changed, 15618 insertions(+), 11925 deletions(-) diff --git a/crypto/openssl/apps/progs.c b/crypto/openssl/apps/progs.c index acc204a3e6e7..317acf5bc8b2 100644 --- a/crypto/openssl/apps/progs.c +++ b/crypto/openssl/apps/progs.c @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/crypto/openssl/apps/progs.h b/crypto/openssl/apps/progs.h index 1b62ec37dec1..2214340fa813 100644 --- a/crypto/openssl/apps/progs.h +++ b/crypto/openssl/apps/progs.h @@ -2,7 +2,7 @@ *** 70668 LINES SKIPPED *** From nobody Sun Feb 1 00:34: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 4f3W3D10x2z6Qq2r for ; Sun, 01 Feb 2026 00:34: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 4f3W3D06ZZz3vSZ for ; Sun, 01 Feb 2026 00:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769906072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRw7AeMJHxQc+OxsImYcZidcn1YLl2UUe7VfNpZPeFc=; b=P70IDdOn+OztE8DqcJx8rsCb3HGdU27OcVxxvrNiOuXgnhWXIEZ7BJ1Arydn5NoXNJOSR+ upcJSBaJg7HZMOfC40OQrM1LiNfbPq1mc4O2BR9/8GEAvgHqoBg06wzeG0QvgKt9T6Udat rFv9FfCDwG4drxnEq4embwZqxZaGA6dr17jK4eUjJsjLUAQvF23npQ4RmqNPHIMzdSJmXD E1Spc7E0Nt2iscvYwCwlv5GsLh+PuFjzLaRrX7rod6VWxaLjCHH5BpK1t920r2vNW/0uBm 7xopGLRXi+M/co5/4GCoTvczt33ElvjquIESnNmlkwFvYfpDEbAu3JYi9Jsucw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769906072; a=rsa-sha256; cv=none; b=BEeW/gi0V07L7i4WQaRP0i6l0Ar/+xOR6pgAXbu8T8+kXageY8Di8fE7rHP+VHhXgS6q3H OvZhQ6b0bR5esPRNPVxC1TFUkYos+juoBBF2A1k3cNFas61xkGk9tde82G7P4Xn27oDh7k MZaEZJDSa0P9pxNg1M5v9IpJkfMSJMoijdbYALnr3iTS4W7QsCT+FeHa5Ufxe6w2RkIrTC zrg5Zo8JnMsjTGy0MLz/F8tMQAmSkzXiLOSSKrWzglGm71IIHc9Ct5UOl/m8ze3gMQSAaf ATB0fkRwSZJo3UCzPAGIgD+Y749PHlLegCkqM6iy1t0Kl0w8doR7CsxFB/tEog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769906072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRw7AeMJHxQc+OxsImYcZidcn1YLl2UUe7VfNpZPeFc=; b=nLtxIjkhxsiHiDUgpAsVXAz6nWIDWvAWU13TkHufxur9VlozH8Rdxszdslreu8O+BbCNx3 K1zCTqOODO9+/VxmYKM2OziOZJyzkGPf4JXRZodv4n2xdQ0LYvERI65TQ5HNOug3pFWKZa AFZFvRJU37tH+BqY+6ymHlqDj976HCgKnCirvWl8h/+g9vHwtnp5sOOoCkJVAzOAwp0SXA 73tC3ieiY3DCmU2q04CaQln4E/2yJ+dgAyVIwctZzHzi043uJIOjQmZgziFe/BWRMCsxsL rBZXk4JYHy0EIXK6OJ3v+sZ6rhX05Z8u+JH/QK90ErP8OV8fwep4bsaygW66hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3W3C6PvCz2hN for ; Sun, 01 Feb 2026 00:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2248d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 00:34:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 1f5795b6422a - main - INDEX.fonts: Minor maintenance 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: 1f5795b6422a1c6e4b71fd7e93717522ccb822f9 Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 00:34:31 +0000 Message-Id: <697e9f97.2248d.47c46024@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=1f5795b6422a1c6e4b71fd7e93717522ccb822f9 commit 1f5795b6422a1c6e4b71fd7e93717522ccb822f9 Author: Alexander Ziaee AuthorDate: 2026-02-01 00:24:22 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-01 00:27:37 +0000 INDEX.fonts: Minor maintenance + Mention relevance of this file in the vt manual screen.font entry + The vidfont manual is in section one, not eight + Remove leftover blank line from freebsd tag removal MFC after: 3 days --- share/man/man4/vt.4 | 3 +++ share/syscons/fonts/INDEX.fonts | 3 +-- share/vt/fonts/INDEX.fonts | 3 +-- stand/fonts/INDEX.fonts | 3 +-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4 index 71682d23221c..1acd4e7c63e0 100644 --- a/share/man/man4/vt.4 +++ b/share/man/man4/vt.4 @@ -285,6 +285,9 @@ to the number. .It Va screen.font Set this value to the base name of the desired font file located in .Pa /boot/fonts . +The font must be specified in the +.Pa INDEX.fonts +file located there. Fonts can be converted for use with .Xr vtfontcvt 8 . .El diff --git a/share/syscons/fonts/INDEX.fonts b/share/syscons/fonts/INDEX.fonts index 3dc1f74f2bb0..104c260485f3 100644 --- a/share/syscons/fonts/INDEX.fonts +++ b/share/syscons/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # diff --git a/share/vt/fonts/INDEX.fonts b/share/vt/fonts/INDEX.fonts index dee9e855c42e..d398358299a3 100644 --- a/share/vt/fonts/INDEX.fonts +++ b/share/vt/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # diff --git a/stand/fonts/INDEX.fonts b/stand/fonts/INDEX.fonts index fc035c6b2e4e..d4287a570863 100644 --- a/stand/fonts/INDEX.fonts +++ b/stand/fonts/INDEX.fonts @@ -1,6 +1,5 @@ # -# -# database for vidfont(8) +# database for vidfont(1) # # Format :: # From nobody Sun Feb 1 05:31: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 4f3ddz2fhrz6RHSX; Sun, 01 Feb 2026 05:31:35 +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 4f3ddy3HxPz3S48; Sun, 01 Feb 2026 05:31:34 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com 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 6115VKVU089573; Sun, 1 Feb 2026 07:31:23 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 6115VKVU089573 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 6115VKsK089572; Sun, 1 Feb 2026 07:31:20 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 1 Feb 2026 07:31:20 +0200 From: Konstantin Belousov To: Marius Strobl Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: e769bc771843 - main - sym(4): Employ memory barriers also on x86 Message-ID: References: <69778ef9.39b4d.5c480abe@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: 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-Result: default: False [-1.77 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_SPAM_MEDIUM(0.23)[0.226]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; RCVD_TLS_LAST(0.00)[]; HAS_XAW(0.00)[] X-Rspamd-Queue-Id: 4f3ddy3HxPz3S48 X-Spamd-Bar: - On Thu, Jan 29, 2026 at 10:32:14PM +0100, Marius Strobl wrote: > On Wed, Jan 28, 2026 at 11:35:09PM +0200, Konstantin Belousov wrote: > > On Tue, Jan 27, 2026 at 10:56:04PM +0100, Marius Strobl wrote: > > > On Tue, Jan 27, 2026 at 01:13:04AM +0200, Konstantin Belousov wrote: > > > > On Mon, Jan 26, 2026 at 09:30:58PM +0100, Marius Strobl wrote: > > > > > On Mon, Jan 26, 2026 at 06:34:49PM +0200, Konstantin Belousov wrote: > > > > > > On Mon, Jan 26, 2026 at 03:57:45PM +0000, Marius Strobl wrote: > > > > > > > The branch main has been updated by marius: > > > > > > > > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > > > > > > > > > commit e769bc77184312b6137a9b180c97b87c0760b849 > > > > > > > Author: Marius Strobl > > > > > > > AuthorDate: 2026-01-26 13:58:57 +0000 > > > > > > > Commit: Marius Strobl > > > > > > > CommitDate: 2026-01-26 15:54:48 +0000 > > > > > > > > > > > > > > sym(4): Employ memory barriers also on x86 > > > > > > > > > > > > > > In an MP world, it doesn't hold that x86 requires no memory barriers. > > > > > > It does hold. x86 is much more strongly ordered than all other arches > > > > > > we currently support. > > > > > > > > > > If it does hold, then why is atomic_thread_fence_seq_cst() employing > > > > > a StoreLoad barrier even on amd64? > > > > > I agree that x86 is more strongly ordered than the other supported > > > > > architectures, though. > > > > Well, it depends on the purpose. > > > > > > > > Can you please explain what is the purpose of this specific barrier, and > > > > where is the reciprocal barrier for it? > > > > > > > > Often drivers for advanced devices do need fences. For instance, from > > > > my experience with the Mellanox networking cards, there are some structures > > > > that are located in regular cacheable memory. The readiness of the structure > > > > for the card is indicated by a write to some location. If this location is > > > > BAR, then at least on x86 we do not need any barriers. But if it is also > > > > in the regular memory, the visibility of writes to the structure before > > > > the write to a signalling variable must be enforced. > > > > > > > > This is done normally by atomic_thread_fence_rel(), which on x86 becomes > > > > just compiler barrier, since the ordering is guaranteed by CPU (but not > > > > compiler). > > > > > > > > In this situation, using rmb() (which is fence) really degrades > > > > the performance on high rates. > > > > > > The problem at hand is reads from different memory locations (neither > > > in BAR) apparently getting reordered after having kicked the chip. As > > > a result, data read doesn't match its flag. > > Nice description, thanks. > > So writes are to the WB memory, and they are ordered by hardware. > > And then, reads needs to be correctly ordered. Did I correctly understand? > > Well, as part of making this mix and match work as expected, the > intent is to map the HCB memory uncacheable. Prior to the advent of > VM_MEMATTR_*, the !x86 way of indicating this to bus_dmamem_alloc(9) > was BUS_DMA_COHERENT. Then later in 2db99100, BUS_DMA_NOCACHE was > hooked up to VM_MEMATTR_UNCACHEABLE for x86. > As it turns out, this still differs across architectures today; arm > still supports BUS_DMA_COHERENT only for requesting uncacheable DMA > memory and x86 still uses BUS_DMA_NOCACHE only. On arm64 and riscv, > BUS_DMA_COHERENT seems to effectively be an alias for BUS_DMA_NOCACHE. There was a recent proposal by Michal Meloun (mmel) to fix this architecturally, but I did not see a recent progress. > > So in short, the intent is to map the HCB memory uncacheable, but it > happens to end up as write-back on x86 currently. > > What is the expected effect of VM_MEMATTR_UNCACHEABLE on load/store > re-ording on x86? In your Mellanox MAC example you indicate that at > least stores to bus space memory, which presumably is also mapped > VM_MEMATTR_UNCACHEABLE, are executed in program order (but stores > to VM_MEMATTR_WRITE_BACK mapped memory may get re-ordered). In, > general, load/store re-ordering isn't only a factor of uncacheable > memory, though. On AMD: Loads and stores to any UC memory locations are guaranteed to happen in the program order. More, any access to UC memory flushes the CPU write buffers. The manual explicitly allows reads from cacheable memory to bypass UC accesses. On Intel: SDM says that 'I/O instructions' cannot be reordered with any other reads and writes, and I assume that 'I/O instructions' include UC accesses. > > If VM_MEMATTR_UNCACHEABLE on x86 guarantees that loads and stores > to different locations of the same uncacheable memory are executed > in program order It certainly is, both for Intel and AMD, according to their manuals. > allocating the HCB memory with BUS_DMA_NOCACHE > may be an alternate approach to using barriers. In a quick test with > e769bc77 reverted but BUS_DMA_NOCACHE passed in addition, this at > least doesn't have a measurable impact on performance with real > amd64 hardware. > > > This is endorced by atomic_thread_fence_acq(). On x86, due to the TSO > > model, it only uses compiler membar. > > That doesn't mean that atomic_thread_fence_acq() is a portable > approach for DMA and bus space across architectures, though. Sure. > > > > Several factors contribute to this scenario. First off, this hardware > > > doesn't have shiny doorbell registers but is a rather convoluted design > > > dating back to the early days of PCI, using a heavy mix of registers > > > in BAR space and DMAed control data, with addresses being patched into > > > programs that are transferred to the controller RAM by the driver or > > > may reside in host memory etc. Additional things also doesn't work > > > equally across all supported chips as only newer ones provide load/ > > > store instructions for example. > > > As such, the operations of these chips might very well escape the bus > > > snooping of more modern machines and optimizations therein. There are > > > PCI bridges which only synchronize DMA themselves on interrupts for > > > example. > > I do not quite follow the part of 'escaping the bus snooping'. > > I have no idea about this part for !x86, but on x86 hardware cannot > > access RAM without routing the transactions through the memory controller > > of CPU. > > In theory, yes; I think to remember a talk about a 2017 paper by > UoC people presenting that DMA snooping turned out to not work as > advertised by Intel, though. That was an unexpected discovery, > however, the paper actually had a networking topic, not sure what > it was. > > > > For drivers, we generally would want to express DMA synchronization > > > and bus space access ordering needs in terms of bus_dmamap_sync(9) > > > and bus_space_barrier(9) as there may be buffers, caches, IOMMUs etc. > > > involved on/in the bus. These later are not taken into account by > > > atomic_thread_fence_*(9). Apparently, this is also of relevance for > > > x86, as otherwise BUS_SPACE_BARRIER_READ would be a compiler barrier > > > there at most. > > For WB memory, caches are always coherent (on x86), and IOMMUs do not > > change that. It is interesting that IOMMUs on x86 might use non-coherent > > access to the main memory itself for things like page tables reads or > > updates, or fault log entries writes. But they definitely do not cause > > non-coherence of the DMA. > > What's needed in this case is consistency across different memory > locations, not just coherency in a single one. > > > > With things like index or bank switching registers, it's generally > > > also not the case that there are pairs of bus space barriers, i. e. > > > also reciprocal ones, see e. g. the example in the BARRIERS section > > > of bus_space.9. > > > > > > Due to the mess with these chips and depending on architecture, > > > actually barriers for both, DMAed memory and bus space, might be > > > required. That's why already before this change, powerpc already > > > used both sync and eieio as well as the comment above the macros > > > was already previously talking about using I/O barriers, too. > > > > > > Actually, I would have expected this hardware to have aged out by > > > now. However, apparently it still is a thing with OpenStack, so it > > > makes sense to keep this driver working, with performance not being > > > of great concern. > > > I can change the driver back to duplicate *mb(9) as it was before > > > this change or back this change out completely it you absolutely > > > dislike it. I won't waste time with working on an alternate approach > > > to what the Linux version does, though, especially not given that > > > the Linux version presumably gets considerably more exposure and > > > testing. > > > > What I would like is removing global rmb/wmb/mb definitions. I doubt > > that there is common semantic for them on different FreeBSD arches, they > > are only similar by name. > > Apparently, *mb(9) initially were brought over from Linux as-is > as far as the instructions used go, with these macros having > common semantic across architectures in Linux. The only exception > where FreeBSD differs now is powerpc64, there rmb(9)/wmb(9) uses > the weaker lwsync, while Linux uses sync. Depending on the store > order the kernel is executed in, this may be correct. > Anyway, some other drivers already provide their own copies of > *mb(9), so removing them from atomic.h may lead to even more > (possibly incorrect) diversity. Point is that the use of *mb() is typically blindly copied from the Linux sources, where it hopefully matches the Linux kernel memory model, based on barriers. FreeBSD uses C11-like model, and *mb() really do not match the semantic of the Linux counterpair, because the reciprocal barriers/fences must be aligned. From nobody Sun Feb 1 08:18: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 4f3jL82LRVz6PXNG for ; Sun, 01 Feb 2026 08:18: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 4f3jL773xyz3jmn for ; Sun, 01 Feb 2026 08:18:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769933888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VQ+xSM2z0sU7wonhR1s08gCCZlsMvkRm/XjqavCIDFs=; b=rm5u3rM5nyCCGPWh1W0dKZ3EiXaGzsdrCGpjNUSgS3Pmrgr/gtLxCM0A1UWajskD0mH1V9 HhmmTPj5GYaXKtfT7nkBpabJX2GB04KtNQQYvuI0lJG8BGLN43cd2SdKXxMVplFhQrah0Y BOOfzfUG0e+1r8gp53a2/YBBMuRyotrK/hO9pVMKS2/wP44tZX9MGGfnB6uC/rP8u4/WQv heMqdn+wI9uaijldJiX7EHTLsI0JJtbsUmJeWl4YLAQ28gvDawwLikOdxaT+knD6lGHZqO KN/3hnorW9o097xJwWESltCK4xScZuyalVqD1w9r1p5jkvHgSohvZ3WA9aFUaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769933888; a=rsa-sha256; cv=none; b=FqjTgr1FqoGKGFtksfS4KeNzsqDOnKeTZJqN7azIQ8w7S5Uvq9n6LQZS6CQsdMo/9xQqka l7pWheblePjyb98oYuzWTz5Qm1A0ekv1AsHi28zVXISeJ+SeN+31BiZSJuPllGqHE/RNCo kwxm395NeZkFAD/mJzXgB9nJSiDEZRcGn/3GvOidskMP82OeHDA6rsR340fxMyNgXWAUab qSD3sO0QkrrbuVUb2V0BIzmcmdbZP+AXNsqOt1OxiRuLInd4/0IIzm/Aa9/hvM5tBWdjkv ItRkDVpmm0KYP3G+dNUi2u8XHswovCM0gK7EdXFZC6Bn/CK8oeFf/C+kukKcGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769933888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VQ+xSM2z0sU7wonhR1s08gCCZlsMvkRm/XjqavCIDFs=; b=KYt3eGtKTffOsT9Pt9ZVZCPBWEK64AzS8UYReXfUZki09tDzQDlP6vVhbitf0qncM8eazn /Q2ggRBB3qcaZq/XYYfRxNC1vRuXdd90b3SdjIQ4E7SyX6Xexmst3h2EnHJqc8B69EZfD3 oGj87HjuU6yTcsBEtCRg+VACTvZoBuxYTZNl4iwCqe767R2rbwjb91/n4f7gQ3fTcAV7Dk 6IxO+4xyWwUrADH53k0Dr9HFen4DCO/TXCI6Th2f+BXCdb6qlZd1PUwGakcRA40vLMBwrv nYdefbibUIU1eavuNiaS1p5SRk9W9zKNLVcibtjTfb5+aiDCt25KsMESzYjd+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3jL75N1ZzXqZ for ; Sun, 01 Feb 2026 08:18:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3893b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 08:18:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michal Meloun Subject: git: d78cbf483fe7 - main - arm: Implement kernel ifunc 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: mmel X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d78cbf483fe73c987573967042f57f15bf590629 Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 08:18:07 +0000 Message-Id: <697f0c3f.3893b.1a40f89@gitrepo.freebsd.org> The branch main has been updated by mmel: URL: https://cgit.FreeBSD.org/src/commit/?id=d78cbf483fe73c987573967042f57f15bf590629 commit d78cbf483fe73c987573967042f57f15bf590629 Author: Michal Meloun AuthorDate: 2026-01-24 10:41:10 +0000 Commit: Michal Meloun CommitDate: 2026-02-01 08:17:43 +0000 arm: Implement kernel ifunc Add kernel ifunc support on arm. MFC after : 3 weeks Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D54970 --- sys/arm/arm/elf_machdep.c | 8 +++++++- sys/arm/arm/machdep.c | 5 ++--- sys/arm/include/ifunc.h | 24 +++++++++++++++++++++--- sys/conf/kern.pre.mk | 5 ++--- sys/kern/link_elf.c | 2 +- sys/sys/elf_common.h | 1 + 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/sys/arm/arm/elf_machdep.c b/sys/arm/arm/elf_machdep.c index 881c4fcff475..cf2add0c367c 100644 --- a/sys/arm/arm/elf_machdep.c +++ b/sys/arm/arm/elf_machdep.c @@ -150,7 +150,7 @@ bool elf_is_ifunc_reloc(Elf_Size r_info __unused) { - return (false); + return (ELF_R_TYPE(r_info) == R_ARM_IRELATIVE); } /* @@ -253,6 +253,12 @@ elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, case R_ARM_RELATIVE: break; + case R_ARM_IRELATIVE: + addr = relocbase + addend; + addr = ((Elf_Addr (*)(void))addr)(); + if (*where != addr) + *where = addr; + break; default: printf("kldload: unexpected relocation type %d, " "symbol index %d\n", rtype, symidx); diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index 0b395d42fc4a..dc2205023820 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -447,6 +447,8 @@ initarm(struct arm_boot_params *abp) set_cpufuncs(); cpuinfo_init(); + sched_instance_select(); + link_elf_ireloc(); /* * Find the dtb passed in by the boot loader. @@ -523,9 +525,6 @@ initarm(struct arm_boot_params *abp) /* Do basic tuning, hz etc */ init_param1(); - sched_instance_select(); - /* link_elf_ireloc(); */ - /* * Allocate a page for the system page mapped to 0xffff0000 * This page will just contain the system vectors and can be diff --git a/sys/arm/include/ifunc.h b/sys/arm/include/ifunc.h index 6b7cf20c720f..98cc354ae6ca 100644 --- a/sys/arm/include/ifunc.h +++ b/sys/arm/include/ifunc.h @@ -1,10 +1,28 @@ -/* - * This file is in the public domain. +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025, Michal Meloun + * */ #ifndef __ARM_IFUNC_H #define __ARM_IFUNC_H -#define __DO_NOT_HAVE_SYS_IFUNCS 1 +#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 + +#ifdef __not_yet__ +#define DEFINE_UIFUNC(qual, ret_type, name, args) \ + static ret_type (*name##_resolver(uint32_t, uint32_t, uint32_t, \ + uint32_t))args __used; \ + qual ret_type name args __attribute__((ifunc(#name "_resolver"))); \ + static ret_type (*name##_resolver( \ + uint32_t elf_hwcap __unused, \ + uint32_t elf_hwcap2 __unused, \ + uint32_t arg3 __unused, \ + uint32_t arg4 __unused))args +#endif #endif diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 440ed2df5644..93e291b45bb6 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -119,11 +119,10 @@ CFLAGS+= ${CONF_CFLAGS} LDFLAGS+= --build-id=sha1 .endif -.if (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ - ${MACHINE_CPUARCH} == "i386" || ${MACHINE} == "powerpc") && \ +.if ${MACHINE_CPUARCH} != "riscv" && \ defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mifunc} == "" && \ !make(install) -.error amd64/arm64/i386/ppc* kernel requires linker ifunc support +.error amd64/arm/arm64/i386/ppc* kernel requires linker ifunc support .endif .if ${MACHINE_CPUARCH} == "amd64" LDFLAGS+= -z max-page-size=2097152 diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 45edd186e6ce..2a9e2a02709d 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -2041,7 +2041,7 @@ link_elf_propagate_vnets(linker_file_t lf) } #endif -#if defined(__i386__) || defined(__amd64__) || defined(__aarch64__) || defined(__powerpc__) +#if !defined(__riscv) /* * Use this lookup routine when performing relocations early during boot. * The generic lookup routine depends on kobj, which is not initialized diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index efda38279848..3782bfc2df9c 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -1122,6 +1122,7 @@ typedef struct { #define R_ARM_PLT32 27 /* Add PC-relative PLT offset. */ #define R_ARM_GNU_VTENTRY 100 #define R_ARM_GNU_VTINHERIT 101 +#define R_ARM_IRELATIVE 160 #define R_ARM_RSBREL32 250 #define R_ARM_THM_RPC22 251 #define R_ARM_RREL32 252 From nobody Sun Feb 1 15:42: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 4f3vBx4s5Zz6QYXq for ; Sun, 01 Feb 2026 15:42: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 4f3vBx3xllz3c0f for ; Sun, 01 Feb 2026 15:42:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769960553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=piM0Tt8JgoByMhdeTyuwMRZrv821OPUJ4Ds24C9U5SU=; b=s+1IYR56s73lXQhT78vKnZc0NsvffvVSOkwHe2Q+s4MG4hAhgj5hYgbFl0Ht6qPADioFnV JXV+LehCOg92vuxJNabPR93TdjlmLl/Cr3bae2qlQg5Lug8rsdI/yOUW/brsRXCUnE2F1U FClSrelIMNkc8QgfIYINZ6qS55m9ge3jWCFDYel4gbmGSRDEpU1NZNL5asmKpkl7nSs2yo 11PmGpUoXxHstQdmbP2n9VhEUqcaHqQRUb1L8Zs2AGtlwf1WkncYMz+1OCz2EwtIholG+B tiWyZBzjf3eqhyosK6SrvoTmjTamzIpypChLRUBWkvfK8TasjC7eCmhC71NSLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769960553; a=rsa-sha256; cv=none; b=V53jRKv5p3yyR5VBGh1bwo6vtjfJXHWin3ZUXdbvJz7yngQ9PGzZ1C3QzWwXv9eHgtdlt9 rBxV7QySK4kcI7lx0p7x+bF6HuMc1SKcKMecDkE72txHkirfHk9wOv8e7hjeuAnxYkHi88 GTIaGVP6MkKcp/0Jqpe5Rc/Mj8SJ1N1EN4uN3a+CufyLPXUW7E9gRFgYUZ9evr5TMZ9iOJ YZUU8DUJ+i9ohOct0Tr2gPgLLy//KeuZVZjAQdgnx9NZSwEuGqGFsepTWnAFCkrUUvOnjQ bvjhFancXV1XYRZnYJF8bW1XND7ojD9gwuoIaG/ETi9qJzCULwg4K3i6N4hfxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769960553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=piM0Tt8JgoByMhdeTyuwMRZrv821OPUJ4Ds24C9U5SU=; b=J5llFuL/V2/P8teNdBLnuzSgVzsLNb5MLbYdnHzx7q5q/7kP+Yw1nirnrc7uLNknC4szgR Ogn+9REBShivTaRHOmYWAnXFl81quOmDb0chigfBO4TT5t679jzxBd54c/KBI8zC9EhtSQ CGoMt641rOL+iAWPy4za/HdnP02yA+DenwVkDg9/eaYUn8edNZwmK3qlIB3FKSfbshTAEm TfUWFT8kKbo3thh03sq9h4aYR6eXGyGqGiWkj68hf/aJpJ10+zwO/0oZphBqfJV2M6jsqP LUyp+ox3GU55F681zwIm0PNDH+1cuf52/vis7ycH2HyJUQ98Tlr20SZ8yKDYiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3vBx3WyNzm2t for ; Sun, 01 Feb 2026 15:42:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40833 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 15:42:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 0d602f923ed8 - main - contrib/spleen: Update to 2.2.O 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: 0d602f923ed8a889c3a848ab9f19aa52f917f6ee Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 15:42:33 +0000 Message-Id: <697f7469.40833.49c08d3f@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=0d602f923ed8a889c3a848ab9f19aa52f917f6ee commit 0d602f923ed8a889c3a848ab9f19aa52f917f6ee Merge: d78cbf483fe7 147eec579c87 Author: Alexander Ziaee AuthorDate: 2026-02-01 15:25:11 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-01 15:36:15 +0000 contrib/spleen: Update to 2.2.O This release adds several new characters critical to the manual pages that were previously missing on high-dpi displays: em-dash, en-dash, hyphen, angle brackets, white square, dagger, and double dagger. It also features improved alignment for numerous characters in different sizes. Thanks: Fredric Cambus MFC after: 3 days Discussed with: emaste contrib/spleen/ChangeLog | 24 + contrib/spleen/LICENSE | 2 +- contrib/spleen/README.md | 15 +- contrib/spleen/spleen-12x24.bdf | 364 ++++++++++++-- contrib/spleen/spleen-16x32.bdf | 391 ++++++++++++++- contrib/spleen/spleen-32x64.bdf | 1003 ++++++++++++++++++++++++++++++++------- contrib/spleen/spleen-5x8.bdf | 8 +- contrib/spleen/spleen-6x12.bdf | 8 +- contrib/spleen/spleen-8x16.bdf | 219 ++++++++- 9 files changed, 1787 insertions(+), 247 deletions(-) diff --cc contrib/spleen/README.md index a80773ec8420,000000000000..12771f96019e mode 100644,000000..100644 --- a/contrib/spleen/README.md +++ b/contrib/spleen/README.md @@@ -1,270 -1,0 +1,279 @@@ +``` + + :::::::::::::::::::: + ::: ::: + _____ _______ __. ________ ________ ________. ::: + _) _//__ __/ __ / |.\ __ /.\ __ /.\ _. | ::: + .\____ /.\ )/ / || )/ | )/ | \| | ::: + | )/ | __/| \ _____| _____| | |_ ::: + |____ |_____| |_____/____\\ |____\\ | |____/ ::: + - -- -- \_____| -H7--------------------------- `----' ----- ::: - - + ::: ::: + :::::::::::::::::::: + +``` + +# Spleen + +Spleen is a monospaced bitmap font available in 6 sizes: + +- 5x8 +- 6x12 +- 8x16 +- 12x24 +- 16x32 +- 32x64 + +Each size is provided in the Glyph Bitmap Distribution Format (BDF), and +release tarballs contain the fonts in the following formats: `PCF`, `PSF` - (for the Linux console), `OTB`, `OTF`, `.dfont` for macOS users, and `FON` - for Windows users. ++(for the Linux console), `OTB`, `OTF`, `WOFF`, `WOFF2`, `.dfont` for macOS ++users, and `FON` for Windows users. + +All font sizes contain all ISO/IEC 8859-1 characters (Basic Latin and Latin-1 +Supplement Unicode block), Latin Extended-A characters, as well as Box Drawing, +Block Elements, and Braille Patterns Unicode blocks, except for the 5x8 and the +6x12 versions. + +Due to character size constraints, the 5x8 version only contains printable +ASCII characters, the Braille Patterns Unicode block, and light Box Drawing +characters. Please also note that there is no OpenType version for this size. + +As of Spleen 1.8.0, there is now a 6x12 version containing the same Unicode +blocks as the 5x8 version and the Latin-1 Supplement Unicode block. + +As of Spleen 2.0.0, the 8x16, 16x32 and 32x64 versions have full support for +Code page 437 (IBM PC). + +Spleen also has support for Powerline symbols out of the box. + +The font name is a reference to Baudelaire. + +## Screenshots + +The following screenshots show Spleen 16x32 displaying code and prose. + +![Spleen - Hello][1] + +![Spleen - L'etranger][2] + +ASCII characters for all sizes: + +Spleen 5x8: + +![Spleen - ASCII characters - 5x8][3] + +Spleen 6x12: + +![Spleen - ASCII characters - 6x12][4] + +Spleen 8x16: + +![Spleen - ASCII characters - 8x16][5] + +Spleen 12x24: + +![Spleen - ASCII characters - 12x24][6] + +Spleen 16x32: +![Spleen - ASCII characters - 16x32][7] + +Spleen 32x64: +![Spleen - ASCII characters - 32x64][8] + +## XLFD font names + +``` +-misc-spleen-medium-r-normal--8-80-72-72-c-50-iso10646-1 +-misc-spleen-medium-r-normal--12-120-72-72-c-60-iso10646-1 +-misc-spleen-medium-r-normal--16-160-72-72-c-80-iso10646-1 +-misc-spleen-medium-r-normal--24-240-72-72-c-120-iso10646-1 +-misc-spleen-medium-r-normal--32-320-72-72-c-160-iso10646-1 +-misc-spleen-medium-r-normal--64-640-72-72-c-320-iso10646-1 +``` + +## Packages + +Spleen packages are available for: + +- [OpenBSD][9] +- [NetBSD][10] +- [FreeBSD][11] +- [Arch Linux][12] +- [Void Linux][13] +- [Nix][14] +- [Debian][15] +- [Ubuntu][16] +- [MacPorts][17] +- [Guix][18] +- [Gentoo][19] +- [Alpine Linux][20] + +## Manual installation + +### *BSD and Linux + +Clone the repository, convert the files to the Portable Compiled Format +(PCF) using **bdftopcf** and run **mkfontdir** in the directory. + +Alternatively, release tarballs provide PCF files for each size. + +OTB versions are also available. + +### macOS + +macOS users should use the `.dfont` files provided in the release tarballs. + +### DOS + +DOS users should run the **SPLEEN.COM** executable provided in the release +tarballs to enable the font. + +This has been tested in DOSBox and FreeDOS on real hardware. + +### Windows + +Windows users should use the `.fon` or `.otf` files provided in the release +tarballs. + +## Usage + +### *BSD and Linux + +Update the font path to include **Spleen**: + + xset +fp /usr/local/share/fonts/spleen/ + +Update **.Xdefaults** and add one of the following directives: + + xterm*faceName: spleen:pixelsize=8:antialias=false + xterm*faceName: spleen:pixelsize=12:antialias=false + xterm*faceName: spleen:pixelsize=16:antialias=false + xterm*faceName: spleen:pixelsize=24:antialias=false + xterm*faceName: spleen:pixelsize=32:antialias=false + xterm*faceName: spleen:pixelsize=64:antialias=false + +Launch **xterm**. + +Ubuntu has bitmap fonts support disabled by default, instructions to enable +it are available [here][21]. + +### Linux console + +Release tarballs provide PSF files for each size, `setfont` can be used +to load and set the desired font. + +### NetBSD console + +NetBSD has .fnt files for each size which can be loaded using wsfontload(8). + +For example, to load Spleen 16x32: + + wsfontload -N spleen-16x32 -w 16 -h 32 /usr/share/wscons/fonts/spleen-16x32.fnt + wsconsctl -dw font=spleen-16x32 + +### FreeBSD console + +The FreeBSD package contains .fnt files which can be loaded using +vidcontrol(1). + +For example, to load Spleen 16x32: + + vidcontrol -f /usr/local/share/fonts/spleen/spleen-16x32.fnt + +### OpenType versions + +Spleen release tarballs now contains OTF versions generated automatically +from the BDF files, using [bdf2sfd][22]. Each font has a different name, +allowing them to be installed alongside. + +Please note that OTF versions should be used as last resort, always prefer +bitmap versions if they are supported on your platform. + +They should be used in the exact size specified below, with anti-aliasing +disabled. + +- Spleen 6x12: 9 Pt (12 pixels) +- Spleen 8x16: 12 Pt (16 pixels) +- Spleen 12x24: 18 Pt (24 pixels) +- Spleen 16x32: 24 Pt (32 pixels) +- Spleen 32x64: 48 Pt (64 pixels) + ++### Web Fonts ++ ++Release tarballs provide WOFF and WOFF2 versions suitable for use on the Web. ++ ++As with the OpenType versions from which they are generated, WOFF and WOFF2 ++fonts should be used at their native pixel sizes, with font smoothing and ++anti-aliasing disabled when possible, to preserve the original bitmap ++appearance. ++ +## License + +Spleen is released under the BSD 2-Clause license. See `LICENSE` file for +details. + +## Author + +Spleen is developed by Frederic Cambus. + +- Site: https://www.cambus.net + +## Resources + +- [Spleen - Monospaced bitmap fonts][23] (2018) +- [New console font Spleen made default][24] (2019) +- [NetBSD, CTWM, and Spleen][25] (2021) +- [Spleen 2.0.0 released with full CP437 support][26] (2023) + +GitHub: https://github.com/fcambus/spleen + +## Trivia + +- Spleen was imported in the OpenBSD src tree in [September 2018][27] +- Spleen is the default font for OpenBSD consoles since [January 2019][28] +- Spleen was imported in the NetBSD src tree in [March 2019][29] +- Spleen 12x24 was used in the Haiku [kernel debugger][30] (on high resolution + displays) from May 2021 to June 2022 +- Spleen was imported in the FreeBSD base system in [May 2023][31] +- [msTERM][32], a Terminal program for MailStation devices uses Spleen 5x8 +- [FBInk][33], a library to print text & images to an eInk Linux framebuffer + embeds Spleen 16x32 +- [U8g2][34], a monochrome graphics library for embedded devices includes + all Spleen sizes +- [Ansilove][35], an ANSI and ASCII art to PNG converter includes Spleen + +[1]: https://www.cambus.net/content/2018/09/spleen-hello.png +[2]: https://www.cambus.net/content/2018/09/spleen-etranger.png +[3]: https://www.cambus.net/files/spleen/spleen-5x8.png +[4]: https://www.cambus.net/files/spleen/spleen-6x12.png +[5]: https://www.cambus.net/files/spleen/spleen-8x16.png +[6]: https://www.cambus.net/files/spleen/spleen-12x24.png +[7]: https://www.cambus.net/files/spleen/spleen-16x32.png +[8]: https://www.cambus.net/files/spleen/spleen-32x64.png +[9]: https://openports.pl/path/fonts/spleen +[10]: https://pkgsrc.se/fonts/spleen +[11]: https://www.freshports.org/x11-fonts/spleen/ +[12]: https://aur.archlinux.org/packages/spleen-font/ +[13]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/font-spleen - [14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/data/fonts/spleen ++[14]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/sp/spleen +[15]: https://packages.debian.org/search?keywords=spleen +[16]: https://packages.ubuntu.com/search?keywords=spleen +[17]: https://ports.macports.org/port/font-spleen/ +[18]: https://packages.guix.gnu.org/packages/font-spleen/ +[19]: https://packages.gentoo.org/packages/media-fonts/spleen +[20]: https://pkgs.alpinelinux.org/packages?name=font-spleen +[21]: https://wiki.ubuntu.com/Fonts#Enabling_Bitmapped_Fonts +[22]: https://github.com/fcambus/bdf2sfd +[23]: https://www.cambus.net/spleen-monospaced-bitmap-fonts/ +[24]: https://undeadly.org/cgi?action=article;sid=20190110064857 +[25]: https://www.cambus.net/netbsd-ctwm-and-spleen/ +[26]: https://www.cambus.net/spleen-2.0.0-released-with-full-cp437-support/ +[27]: https://freshbsd.org/openbsd/src/commit/5raMrDMpYlPYW01H +[28]: https://freshbsd.org/openbsd/src/commit/MoBCxKiAlFajRvSm +[29]: https://freshbsd.org/netbsd/src/commit/TAJuMl9caBpVjGfB +[30]: https://git.haiku-os.org/haiku/commit/?id=29a109bd6c01ce71bb61177ee9ff0417e74c1e18 +[31]: https://cgit.freebsd.org/src/commit/?id=0d66206fff44 +[32]: https://github.com/jcs/msTERM +[33]: https://github.com/NiLuJe/FBInk +[34]: https://github.com/olikraus/u8g2/wiki/fntgrpspleen +[35]: https://www.ansilove.org From nobody Sun Feb 1 15:54: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 4f3vSb1689z6QZhZ for ; Sun, 01 Feb 2026 15:54: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 4f3vSb04XLz3dJd for ; Sun, 01 Feb 2026 15:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769961263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xoky8uN/GU5ldyGNkVJdfMPk7xU+vW/WSf4WKMYvzxs=; b=vqOYfENedXnIlwTTbWc9bNVbC//wgvysNlryk1bFEwgGt6CcYk9kRAFwHPrNOU8rK4NB5X ncGyFddXBCJA0wHWK1gCUdhvKml07hCpaVbp+X8H2qKryY2VNd0oOgWvQ0ytdTtsUMEDge i+S/8ni3w6oBAHMgOlO6QH+ZzOV75LsQkKxKchkevXBoquM4nP3xhTMvMXvBZ7Jj6Wc9SY Ogu97sETNfC0/k3zZ0VC3Rfw1LH2LjCjTHvQe525IpNrwUevNPH3KXj6ZDSwjCyKjIQdm8 WSzw48aa34/ptK7sLk5KQOztGkfAbotU+kgI3q78E4SqOPsT87ykrDkFNuFtxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769961263; a=rsa-sha256; cv=none; b=QnGEs8ETXFVo9gzXJvcs5CgyVQeN8HYvTi2Oy8YwABCejs3+TyQuxq5SvIGVT0ucAC52BD 1kO4AOM6drBKkKlU3oaahRP82OksMSIJSICiT68vgq7wKvlp2w+e1FnTcWdoiRRll4ex1Z wVXFqppwdil67UV3IRb/bAJhioilfJH6udZp6hFHP5e9YZJHIGDkh/2VQ1WsHC3Vu5zklz y76mvyf7VlyxioxwBrrpWZdKAUuM25wu+uWVh4di9lgkPzef2J9BYM1q0g3Ozta98ikEn9 LEVTOJUdYZenfnME6KBIgJZW34CggjA/OaYq+y/KMoYtNBdJw2s+8aHJpi8Tyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769961263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xoky8uN/GU5ldyGNkVJdfMPk7xU+vW/WSf4WKMYvzxs=; b=IUW+c5tQ/g1+SCS9jvbC5bBoxZ9dPqUxCKzIQwkc/vI3dgzYAJi1RBhKl3h2OxSranXqyf 5LqPDqJrjUJY3osggnzU17K3ou29D2k9HU9mcFsVPS11P2o8zHSWwNnvnp6xZay4TpkhWc w4foRhx44RUfN7qPNQ8aFm9/Huv1StK82q4l1S5e30KAa6Eoc9BWMnS+4FeG0N6uzCE8Qj s0Dry5GeLKju7D67mZ98l/LqxBQ9uYIi+ZuUa+liRMvKlk4dHCN8Kf1hcrfr2Jq44KofH6 kRCL1D5ZNXLYoRvMSYkIjA8kkTuFbkXEkLdiAJJHvkXPh5zQ24lbxZVFFbUBbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3vSZ6ly4zmYq for ; Sun, 01 Feb 2026 15:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fbd7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 15:54:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: a97ed3a39c10 - main - vt.4: Sprinkle mdoc macros 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: a97ed3a39c1044dd1b8056d68a76de74821f2bff Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 15:54:22 +0000 Message-Id: <697f772e.3fbd7.31b3f523@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=a97ed3a39c1044dd1b8056d68a76de74821f2bff commit a97ed3a39c1044dd1b8056d68a76de74821f2bff Author: Alexander Ziaee AuthorDate: 2026-02-01 00:16:34 +0000 Commit: Alexander Ziaee CommitDate: 2026-02-01 15:52:54 +0000 vt.4: Sprinkle mdoc macros Now that we have angle bracket characters for all common display sizes, sprinkle in the correct macros for the structures in this page. While here, fix a mdoc typo, a linter warning, and switch a parenthetical to a much smoother appositive. MFC after: 3 days Fixes: 7cd6da268a8f (vt.4: Style pass) --- share/man/man4/vt.4 | 70 ++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4 index 1acd4e7c63e0..5454fe0a48e6 100644 --- a/share/man/man4/vt.4 +++ b/share/man/man4/vt.4 @@ -32,38 +32,38 @@ .Nm vt .Nd virtual terminal system video console driver .Sh SYNOPSIS -.Cd "options TERMINAL_KERN_ATTR=" -.Cd "options TERMINAL_NORM_ATTR=" -.Cd "options VT_MAXWINDOWS=" -.Cd "options VT_ALT_TO_ESC_HACK=1" -.Cd "options VT_TWOBUTTON_MOUSE" -.Cd "options VT_FB_MAX_WIDTH=" -.Cd "options VT_FB_MAX_HEIGHT=" -.Cd "options SC_NO_CUTPASTE" -.Cd "device vt" +.Cd options TERMINAL_KERN_ATTR= Ns Ao Ar attribute Ac +.Cd options TERMINAL_NORM_ATTR= Ns Ao Ar attribute Ac +.Cd options VT_MAXWINDOWS= Ns Ao Ar N Ac +.Cd options VT_ALT_TO_ESC_HACK= Ns Ar 1 +.Cd options VT_TWOBUTTON_MOUSE +.Cd options VT_FB_MAX_WIDTH= Ns Ao Ar X Ac +.Cd options VT_FB_MAX_HEIGHT= Ns Ao Ar Y Ac +.Cd options SC_NO_CUTPASTE +.Cd device vt .Pp In .Xr loader.conf 5 : -.Cd "hw.vga.textmode=1" -.Cd "hw.vga.acpi_ignore_no_vga=1" -.Cd "kern.vty=vt" -.Cd "kern.vt.color..rgb=" -.Cd "kern.vt.fb.default_mode=x" -.Cd "kern.vt.fb.modes.=x" -.Cd "kern.vt.slow_down=" -.Cd "screen.font=x" +.Cd hw.vga.textmode= Ns Ar 1 +.Cd hw.vga.acpi_ignore_no_vga= Ns Ar 1 +.Cd kern.vty= Ns Ar vt +.Cd kern.vt.color. Ns Ao Ar colornum Ac Ns .rgb= Ns Ao Ar colorspec Ac +.Cd kern.vt.fb.default_mode= Ns Ao Ar X Ac Ns x Ns Ao Ar Y Ac +.Cd kern.vt.fb.modes. Ns Ao Ar connector Ac Ns = Ns Ao Ar X Ac Ns x Ns Ao Ar Y Ac +.Cd kern.vt.slow_down= Ns Ao Ar delay Ac +.Cd screen.font= Ns Ao Ar X Ac Ns x Ns Ao Ar Y Ac .Pp In .Xr loader.conf 5 or .Xr sysctl.conf 5 : -.Cd kern.consmute=1 -.Cd kern.vt.kbd_halt=1 -.Cd kern.vt.kbd_poweroff=1 -.Cd kern.vt.kbd_reboot=1 -.Cd kern.vt.kbd_debug=1 -.Cd kern.vt.kbd_panic=0 -.Cd kern.vt.enable_altgr=0 -.Cd kern.vt.enable_bell=1 +.Cd kern.consmute= Ns Ar 1 +.Cd kern.vt.kbd_halt= Ns Ar 1 +.Cd kern.vt.kbd_poweroff= Ns Ar 1 +.Cd kern.vt.kbd_reboot= Ns Ar 1 +.Cd kern.vt.kbd_debug= Ns Ar 1 +.Cd kern.vt.kbd_panic= Ns Ar 0 +.Cd kern.vt.enable_altgr= Ns Ar 0 +.Cd kern.vt.enable_bell= Ns Ar 1 .Sh DESCRIPTION The .Nm @@ -130,8 +130,8 @@ These kernel options control the .Nm driver. .Bl -tag -width MAXCONS -.It Dv TERMINAL_NORM_ATTR= -.It Dv TERMINAL_KERN_ATTR= +.It Dv TERMINAL_NORM_ATTR= Ns Ao Ar attribute Ac +.It Dv TERMINAL_KERN_ATTR= Ns Ao Ar attribute Ac These options change the default colors used for normal and kernel text. Available colors are defined in @@ -139,11 +139,11 @@ Available colors are defined in See .Sx EXAMPLES below. -.It Dv VT_MAXWINDOWS= +.It Dv VT_MAXWINDOWS= Ns Ao Ar N Ac Set the number of virtual terminals to be created to .Fa N . The value defaults to 12. -.It Dv VT_ALT_TO_ESC_HACK=1 +.It Dv VT_ALT_TO_ESC_HACK= Ns Ar 1 When the Alt key is held down while pressing another key, send an ESC sequence instead of the Alt key. .It Dv VT_TWOBUTTON_MOUSE @@ -152,10 +152,10 @@ In effect, this makes the right-hand mouse button perform a paste. These options are checked in the order shown. .It Dv SC_NO_CUTPASTE Disable mouse support. -.It VT_FB_MAX_WIDTH= +.It VT_FB_MAX_WIDTH= Ns Ao Ar X Ac Set the maximum width to .Fa X . -.It VT_FB_MAX_HEIGHT= +.It VT_FB_MAX_HEIGHT= Ns Ao Ar Y Ac Set the maximum height to .Fa Y . .El @@ -206,7 +206,7 @@ BIOS boot. Features that require graphics mode, like loadable fonts, will be disabled. .Pp -If a KMS driver is loaded the console will switch to (and remain in) +If a KMS driver is loaded the console will switch to, and remain in, graphics mode. Moreover this tunable has no effect with .Xr UEFI 8 @@ -234,9 +234,9 @@ Note that is not compatible with .Xr UEFI 8 boot. -.It Va kern.vt.color. Ns Ar colornum Ns . Ns Va rgb +.It Va kern.vt.color . Ns Ar colornum . Ns Va rgb Set this value to override default palette entry for color -.Pa colornum +.Ar colornum which should be in a range from 0 to 15 inclusive. The value should be either a comma-separated triplet of red, green, and blue values in a range from 0 to 255 or @@ -256,7 +256,7 @@ The mode is applied to all output connectors. This is currently only supported by the .Cm vt_fb backend when it is paired with a KMS video driver. -.It Va kern.vt.fb.modes. +.It Va kern.vt.fb.modes . Ns Ao Ar connector_name Ac Set this value to a graphic mode to override the default picked by the .Nm backend. From nobody Sun Feb 1 17:16: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 4f3xGn6fkNz6QjfZ for ; Sun, 01 Feb 2026 17:16: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 4f3xGn6PWGz3n49 for ; Sun, 01 Feb 2026 17:16:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769966161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+aNQMbcbtlFqQNX/HpeRH5MhhjajvabINujvav6EfM=; b=Irksia8BaKV4gExArKSuyESe1KQi8ZZZAktFKLO4BitC4kHnm8pOm2iWg+eis9GFwYLbgo c0Wyp0YmKzL9LY6DdFy0Qb1C5w3nIW3nhjXc4PiapIpln874m10/u06xMsVfu4TXocHpqQ wPVCrKR1Cd/Y8218BxEkWqMM/13NsEzv6E3PSJidYamyoNLx4yn9QRAZvdsqDCkIrBHVe2 MGkR1vkQ2AXTJEj2kwCsQ1tDfEA4wWD6Uw53hWVbCZV/6iP8LRSGjsOFj1/2EvQl+EddFj c5wDUJ+JLngSBS7jvw1JP1cGNAurXX55oV6gFaRu7XoLLCWhsXoKOA5GM9Srtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769966161; a=rsa-sha256; cv=none; b=rCNZolXpWpyB9VWToB6+TPA66633Tu/jzrLusB7YCj3OXKVtIlKBLpP+0qMZz7IL08rZPB qWbfSLBl7sM2tyAA/fWAZ/IQc7GiN3fnCkA8wakJsehD/uX5y9HzO9Wsar1viyf/D6A+eP c5ZQY51RNUqNbzhuoNH2GpFcyLZGH2afxFchO4fNcjh/ZRJdPMj5mU/WM+8syMG5e02bGP OLmTs4fzMvTv+3Ixh6E+sq5Ur7BnAjqGGkndrX4sLW8WzWo/Pb1GV74CSm9oYaEluuou/n gj9LCud7YkmNCBSZwxsUlO1sy4JazRp6XstcNIFt9vUXwsbYxIChOeue2Pfoqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769966161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+aNQMbcbtlFqQNX/HpeRH5MhhjajvabINujvav6EfM=; b=n1uY4wT3HNFoRUIoWh8BLaLJbWCyOFCAkq/ZecJqXbVPOwj5UVlFm6bL7OvDx3aj/6MC/K 0v+GnxxXA/KBAQeb+yvTr+dVX87uAST+2r2u0USE/8m2HZtM2zbePaTbFwoySQEf6qHgY4 fLzN50Qine3nsR06g2y2gc7LjyAacxeAs/BND3f6/j3q13D41vXAKFrLUl2NyyQLVXd3kN IdVxk9EygfYauPL9XaHf1NG+DcqPPi4qmKrywuSiqOfhPOTn3sr4Dh6fzWeVVoVsW/Al6t DynWuL29J23wQB+OXq1PM3n0KcBQR/hb4AJ6acH6P00UsizMo7KKElKovZkAbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3xGn5jNTzpss for ; Sun, 01 Feb 2026 17:16:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18dbd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 17:16:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: e6c8997a8958 - main - OpenSSL: commit sys/crypto changes for 3.5.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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6c8997a8958c7aaec8e266d2eeefbfaa137e218 Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 17:16:01 +0000 Message-Id: <697f8a51.18dbd.557cd81e@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=e6c8997a8958c7aaec8e266d2eeefbfaa137e218 commit e6c8997a8958c7aaec8e266d2eeefbfaa137e218 Author: Enji Cooper AuthorDate: 2026-02-01 17:05:55 +0000 Commit: Enji Cooper CommitDate: 2026-02-01 17:05:55 +0000 OpenSSL: commit sys/crypto changes for 3.5.5 These files were changed as part of the 3.5.4 -> 3.5.5 upgrade. Please see the upstream release notes linked in 1731fc70f7344af08db49b06c63c963fa12ee354, et al, for more details. MFC after: 6 days MFC with: 1731fc70f7344af08db49b06c63c963fa12ee354 Fixes: 1731fc70f7344af08d ("OpenSSL: update vendor sources to match 3.5.5 content") --- sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S | 14 +- sys/crypto/openssl/arm_arch.h | 369 +++-- sys/crypto/openssl/powerpc/aes-gcm-ppc.S | 2118 +++++++++++-------------- sys/crypto/openssl/powerpc64/aes-gcm-ppc.S | 2119 +++++++++++--------------- sys/crypto/openssl/powerpc64le/aes-gcm-ppc.S | 2119 +++++++++++--------------- 5 files changed, 2850 insertions(+), 3889 deletions(-) diff --git a/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S b/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S index 5627d6d1c6b4..b8c728e68683 100644 --- a/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S +++ b/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S @@ -1,5 +1,5 @@ /* Do not modify. This file is auto-generated from vpsm4_ex-armv8.pl. */ -// Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. +// Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. // // Licensed under the Apache License 2.0 (the "License"). You may not use // this file except in compliance with the License. You can obtain a copy @@ -35,13 +35,25 @@ _vpsm4_ex_consts: .Lshuffles: .quad 0x0B0A090807060504,0x030201000F0E0D0C .Lxts_magic: +#ifndef __AARCH64EB__ .quad 0x0101010101010187,0x0101010101010101 +#else +.quad 0x0101010101010101,0x0101010101010187 +#endif .Lsbox_magic: +#ifndef __AARCH64EB__ .quad 0x0b0e0104070a0d00,0x0306090c0f020508 .quad 0x62185a2042387a00,0x22581a6002783a40 .quad 0x15df62a89e54e923,0xc10bb67c4a803df7 .quad 0xb9aa6b78c1d21300,0x1407c6d56c7fbead .quad 0x6404462679195b3b,0xe383c1a1fe9edcbc +#else +.quad 0x0306090c0f020508,0x0b0e0104070a0d00 +.quad 0x22581a6002783a40,0x62185a2042387a00 +.quad 0xc10bb67c4a803df7,0x15df62a89e54e923 +.quad 0x1407c6d56c7fbead,0xb9aa6b78c1d21300 +.quad 0xe383c1a1fe9edcbc,0x6404462679195b3b +#endif .quad 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f .size _vpsm4_ex_consts,.-_vpsm4_ex_consts diff --git a/sys/crypto/openssl/arm_arch.h b/sys/crypto/openssl/arm_arch.h index acd8aee4d519..d570d1eba6c1 100644 --- a/sys/crypto/openssl/arm_arch.h +++ b/sys/crypto/openssl/arm_arch.h @@ -8,87 +8,80 @@ */ #ifndef OSSL_CRYPTO_ARM_ARCH_H -# define OSSL_CRYPTO_ARM_ARCH_H - -# if !defined(__ARM_ARCH__) -# if defined(__CC_ARM) -# define __ARM_ARCH__ __TARGET_ARCH_ARM -# if defined(__BIG_ENDIAN) -# define __ARMEB__ -# else -# define __ARMEL__ -# endif -# elif defined(__GNUC__) -# if defined(__aarch64__) -# define __ARM_ARCH__ 8 - /* - * Why doesn't gcc define __ARM_ARCH__? Instead it defines - * bunch of below macros. See all_architectures[] table in - * gcc/config/arm/arm.c. On a side note it defines - * __ARMEL__/__ARMEB__ for little-/big-endian. - */ -# elif defined(__ARM_ARCH) -# define __ARM_ARCH__ __ARM_ARCH -# elif defined(__ARM_ARCH_8A__) -# define __ARM_ARCH__ 8 -# elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ - defined(__ARM_ARCH_7R__)|| defined(__ARM_ARCH_7M__) || \ - defined(__ARM_ARCH_7EM__) -# define __ARM_ARCH__ 7 -# elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ - defined(__ARM_ARCH_6K__)|| defined(__ARM_ARCH_6M__) || \ - defined(__ARM_ARCH_6Z__)|| defined(__ARM_ARCH_6ZK__) || \ - defined(__ARM_ARCH_6T2__) -# define __ARM_ARCH__ 6 -# elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \ - defined(__ARM_ARCH_5E__)|| defined(__ARM_ARCH_5TE__) || \ - defined(__ARM_ARCH_5TEJ__) -# define __ARM_ARCH__ 5 -# elif defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) -# define __ARM_ARCH__ 4 -# else -# error "unsupported ARM architecture" -# endif -# elif defined(__ARM_ARCH) -# define __ARM_ARCH__ __ARM_ARCH -# endif -# endif - -# if !defined(__ARM_MAX_ARCH__) -# define __ARM_MAX_ARCH__ __ARM_ARCH__ -# endif - -# if __ARM_MAX_ARCH__<__ARM_ARCH__ -# error "__ARM_MAX_ARCH__ can't be less than __ARM_ARCH__" -# elif __ARM_MAX_ARCH__!=__ARM_ARCH__ -# if __ARM_ARCH__<7 && __ARM_MAX_ARCH__>=7 && defined(__ARMEB__) -# error "can't build universal big-endian binary" -# endif -# endif - -# ifndef __ASSEMBLER__ +#define OSSL_CRYPTO_ARM_ARCH_H + +#if !defined(__ARM_ARCH__) +#if defined(__CC_ARM) +#define __ARM_ARCH__ __TARGET_ARCH_ARM +#if defined(__BIG_ENDIAN) +#define __ARMEB__ +#else +#define __ARMEL__ +#endif +#elif defined(__GNUC__) +#if defined(__aarch64__) +#define __ARM_ARCH__ 8 +/* + * Why doesn't gcc define __ARM_ARCH__? Instead it defines + * bunch of below macros. See all_architectures[] table in + * gcc/config/arm/arm.c. On a side note it defines + * __ARMEL__/__ARMEB__ for little-/big-endian. + */ +#elif defined(__ARM_ARCH) +#define __ARM_ARCH__ __ARM_ARCH +#elif defined(__ARM_ARCH_8A__) +#define __ARM_ARCH__ 8 +#elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) +#define __ARM_ARCH__ 7 +#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) +#define __ARM_ARCH__ 6 +#elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) +#define __ARM_ARCH__ 5 +#elif defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) +#define __ARM_ARCH__ 4 +#else +#error "unsupported ARM architecture" +#endif +#elif defined(__ARM_ARCH) +#define __ARM_ARCH__ __ARM_ARCH +#endif +#endif + +#if !defined(__ARM_MAX_ARCH__) +#define __ARM_MAX_ARCH__ __ARM_ARCH__ +#endif + +#if __ARM_MAX_ARCH__ < __ARM_ARCH__ +#error "__ARM_MAX_ARCH__ can't be less than __ARM_ARCH__" +#elif __ARM_MAX_ARCH__ != __ARM_ARCH__ +#if __ARM_ARCH__ < 7 && __ARM_MAX_ARCH__ >= 7 && defined(__ARMEB__) +#error "can't build universal big-endian binary" +#endif +#endif + +#ifndef __ASSEMBLER__ extern unsigned int OPENSSL_armcap_P; extern unsigned int OPENSSL_arm_midr; extern unsigned int OPENSSL_armv8_rsa_neonized; -# endif - -# define ARMV7_NEON (1<<0) -# define ARMV7_TICK (1<<1) -# define ARMV8_AES (1<<2) -# define ARMV8_SHA1 (1<<3) -# define ARMV8_SHA256 (1<<4) -# define ARMV8_PMULL (1<<5) -# define ARMV8_SHA512 (1<<6) -# define ARMV8_CPUID (1<<7) -# define ARMV8_RNG (1<<8) -# define ARMV8_SM3 (1<<9) -# define ARMV8_SM4 (1<<10) -# define ARMV8_SHA3 (1<<11) -# define ARMV8_UNROLL8_EOR3 (1<<12) -# define ARMV8_SVE (1<<13) -# define ARMV8_SVE2 (1<<14) -# define ARMV8_HAVE_SHA3_AND_WORTH_USING (1<<15) -# define ARMV8_UNROLL12_EOR3 (1<<16) +#endif + +#define ARMV7_NEON (1 << 0) +#define ARMV7_TICK (1 << 1) +#define ARMV8_AES (1 << 2) +#define ARMV8_SHA1 (1 << 3) +#define ARMV8_SHA256 (1 << 4) +#define ARMV8_PMULL (1 << 5) +#define ARMV8_SHA512 (1 << 6) +#define ARMV8_CPUID (1 << 7) +#define ARMV8_RNG (1 << 8) +#define ARMV8_SM3 (1 << 9) +#define ARMV8_SM4 (1 << 10) +#define ARMV8_SHA3 (1 << 11) +#define ARMV8_UNROLL8_EOR3 (1 << 12) +#define ARMV8_SVE (1 << 13) +#define ARMV8_SVE2 (1 << 14) +#define ARMV8_HAVE_SHA3_AND_WORTH_USING (1 << 15) +#define ARMV8_UNROLL12_EOR3 (1 << 16) /* * MIDR_EL1 system register @@ -100,120 +93,116 @@ extern unsigned int OPENSSL_armv8_rsa_neonized; * */ -# define ARM_CPU_IMP_ARM 0x41 -# define HISI_CPU_IMP 0x48 -# define ARM_CPU_IMP_APPLE 0x61 -# define ARM_CPU_IMP_MICROSOFT 0x6D -# define ARM_CPU_IMP_AMPERE 0xC0 - -# define ARM_CPU_PART_CORTEX_A72 0xD08 -# define ARM_CPU_PART_N1 0xD0C -# define ARM_CPU_PART_V1 0xD40 -# define ARM_CPU_PART_N2 0xD49 -# define HISI_CPU_PART_KP920 0xD01 -# define ARM_CPU_PART_V2 0xD4F - -# define APPLE_CPU_PART_M1_ICESTORM 0x022 -# define APPLE_CPU_PART_M1_FIRESTORM 0x023 -# define APPLE_CPU_PART_M1_ICESTORM_PRO 0x024 -# define APPLE_CPU_PART_M1_FIRESTORM_PRO 0x025 -# define APPLE_CPU_PART_M1_ICESTORM_MAX 0x028 -# define APPLE_CPU_PART_M1_FIRESTORM_MAX 0x029 -# define APPLE_CPU_PART_M2_BLIZZARD 0x032 -# define APPLE_CPU_PART_M2_AVALANCHE 0x033 -# define APPLE_CPU_PART_M2_BLIZZARD_PRO 0x034 -# define APPLE_CPU_PART_M2_AVALANCHE_PRO 0x035 -# define APPLE_CPU_PART_M2_BLIZZARD_MAX 0x038 -# define APPLE_CPU_PART_M2_AVALANCHE_MAX 0x039 - -# define MICROSOFT_CPU_PART_COBALT_100 0xD49 - -# define MIDR_PARTNUM_SHIFT 4 -# define MIDR_PARTNUM_MASK (0xfffU << MIDR_PARTNUM_SHIFT) -# define MIDR_PARTNUM(midr) \ - (((midr) & MIDR_PARTNUM_MASK) >> MIDR_PARTNUM_SHIFT) - -# define MIDR_IMPLEMENTER_SHIFT 24 -# define MIDR_IMPLEMENTER_MASK (0xffU << MIDR_IMPLEMENTER_SHIFT) -# define MIDR_IMPLEMENTER(midr) \ - (((midr) & MIDR_IMPLEMENTER_MASK) >> MIDR_IMPLEMENTER_SHIFT) - -# define MIDR_ARCHITECTURE_SHIFT 16 -# define MIDR_ARCHITECTURE_MASK (0xfU << MIDR_ARCHITECTURE_SHIFT) -# define MIDR_ARCHITECTURE(midr) \ - (((midr) & MIDR_ARCHITECTURE_MASK) >> MIDR_ARCHITECTURE_SHIFT) - -# define MIDR_CPU_MODEL_MASK \ - (MIDR_IMPLEMENTER_MASK | \ - MIDR_PARTNUM_MASK | \ - MIDR_ARCHITECTURE_MASK) - -# define MIDR_CPU_MODEL(imp, partnum) \ - (((imp) << MIDR_IMPLEMENTER_SHIFT) | \ - (0xfU << MIDR_ARCHITECTURE_SHIFT) | \ - ((partnum) << MIDR_PARTNUM_SHIFT)) - -# define MIDR_IS_CPU_MODEL(midr, imp, partnum) \ - (((midr) & MIDR_CPU_MODEL_MASK) == MIDR_CPU_MODEL(imp, partnum)) +#define ARM_CPU_IMP_ARM 0x41 +#define HISI_CPU_IMP 0x48 +#define ARM_CPU_IMP_APPLE 0x61 +#define ARM_CPU_IMP_MICROSOFT 0x6D +#define ARM_CPU_IMP_AMPERE 0xC0 + +#define ARM_CPU_PART_CORTEX_A72 0xD08 +#define ARM_CPU_PART_N1 0xD0C +#define ARM_CPU_PART_V1 0xD40 +#define ARM_CPU_PART_N2 0xD49 +#define HISI_CPU_PART_KP920 0xD01 +#define ARM_CPU_PART_V2 0xD4F + +#define APPLE_CPU_PART_M1_ICESTORM 0x022 +#define APPLE_CPU_PART_M1_FIRESTORM 0x023 +#define APPLE_CPU_PART_M1_ICESTORM_PRO 0x024 +#define APPLE_CPU_PART_M1_FIRESTORM_PRO 0x025 +#define APPLE_CPU_PART_M1_ICESTORM_MAX 0x028 +#define APPLE_CPU_PART_M1_FIRESTORM_MAX 0x029 +#define APPLE_CPU_PART_M2_BLIZZARD 0x032 +#define APPLE_CPU_PART_M2_AVALANCHE 0x033 +#define APPLE_CPU_PART_M2_BLIZZARD_PRO 0x034 +#define APPLE_CPU_PART_M2_AVALANCHE_PRO 0x035 +#define APPLE_CPU_PART_M2_BLIZZARD_MAX 0x038 +#define APPLE_CPU_PART_M2_AVALANCHE_MAX 0x039 + +#define MICROSOFT_CPU_PART_COBALT_100 0xD49 + +#define MIDR_PARTNUM_SHIFT 4 +#define MIDR_PARTNUM_MASK (0xfffU << MIDR_PARTNUM_SHIFT) +#define MIDR_PARTNUM(midr) \ + (((midr) & MIDR_PARTNUM_MASK) >> MIDR_PARTNUM_SHIFT) + +#define MIDR_IMPLEMENTER_SHIFT 24 +#define MIDR_IMPLEMENTER_MASK (0xffU << MIDR_IMPLEMENTER_SHIFT) +#define MIDR_IMPLEMENTER(midr) \ + (((midr) & MIDR_IMPLEMENTER_MASK) >> MIDR_IMPLEMENTER_SHIFT) + +#define MIDR_ARCHITECTURE_SHIFT 16 +#define MIDR_ARCHITECTURE_MASK (0xfU << MIDR_ARCHITECTURE_SHIFT) +#define MIDR_ARCHITECTURE(midr) \ + (((midr) & MIDR_ARCHITECTURE_MASK) >> MIDR_ARCHITECTURE_SHIFT) + +#define MIDR_CPU_MODEL_MASK \ + (MIDR_IMPLEMENTER_MASK | MIDR_PARTNUM_MASK | MIDR_ARCHITECTURE_MASK) + +#define MIDR_CPU_MODEL(imp, partnum) \ + (((imp) << MIDR_IMPLEMENTER_SHIFT) | (0xfU << MIDR_ARCHITECTURE_SHIFT) | ((partnum) << MIDR_PARTNUM_SHIFT)) + +#define MIDR_IS_CPU_MODEL(midr, imp, partnum) \ + (((midr) & MIDR_CPU_MODEL_MASK) == MIDR_CPU_MODEL(imp, partnum)) #if defined(__ASSEMBLER__) - /* - * Support macros for - * - Armv8.3-A Pointer Authentication and - * - Armv8.5-A Branch Target Identification - * features which require emitting a .note.gnu.property section with the - * appropriate architecture-dependent feature bits set. - * Read more: "ELF for the Arm® 64-bit Architecture" - */ - -# if defined(__ARM_FEATURE_BTI_DEFAULT) && __ARM_FEATURE_BTI_DEFAULT == 1 -# define GNU_PROPERTY_AARCH64_BTI (1 << 0) /* Has Branch Target Identification */ -# define AARCH64_VALID_CALL_TARGET hint #34 /* BTI 'c' */ -# else -# define GNU_PROPERTY_AARCH64_BTI 0 /* No Branch Target Identification */ -# define AARCH64_VALID_CALL_TARGET -# endif - -# if defined(__ARM_FEATURE_PAC_DEFAULT) && \ - (__ARM_FEATURE_PAC_DEFAULT & 1) == 1 /* Signed with A-key */ -# define GNU_PROPERTY_AARCH64_POINTER_AUTH \ - (1 << 1) /* Has Pointer Authentication */ -# define AARCH64_SIGN_LINK_REGISTER hint #25 /* PACIASP */ -# define AARCH64_VALIDATE_LINK_REGISTER hint #29 /* AUTIASP */ -# elif defined(__ARM_FEATURE_PAC_DEFAULT) && \ - (__ARM_FEATURE_PAC_DEFAULT & 2) == 2 /* Signed with B-key */ -# define GNU_PROPERTY_AARCH64_POINTER_AUTH \ - (1 << 1) /* Has Pointer Authentication */ -# define AARCH64_SIGN_LINK_REGISTER hint #27 /* PACIBSP */ -# define AARCH64_VALIDATE_LINK_REGISTER hint #31 /* AUTIBSP */ -# else -# define GNU_PROPERTY_AARCH64_POINTER_AUTH 0 /* No Pointer Authentication */ -# if GNU_PROPERTY_AARCH64_BTI != 0 -# define AARCH64_SIGN_LINK_REGISTER AARCH64_VALID_CALL_TARGET -# else -# define AARCH64_SIGN_LINK_REGISTER -# endif -# define AARCH64_VALIDATE_LINK_REGISTER -# endif - -# if GNU_PROPERTY_AARCH64_POINTER_AUTH != 0 || GNU_PROPERTY_AARCH64_BTI != 0 - .pushsection .note.gnu.property, "a"; - .balign 8; - .long 4; - .long 0x10; - .long 0x5; - .asciz "GNU"; - .long 0xc0000000; /* GNU_PROPERTY_AARCH64_FEATURE_1_AND */ - .long 4; - .long (GNU_PROPERTY_AARCH64_POINTER_AUTH | GNU_PROPERTY_AARCH64_BTI); - .long 0; - .popsection; -# endif - -# endif /* defined __ASSEMBLER__ */ - -# define IS_CPU_SUPPORT_UNROLL8_EOR3() \ - (OPENSSL_armcap_P & ARMV8_UNROLL8_EOR3) +/* + * Support macros for + * - Armv8.3-A Pointer Authentication and + * - Armv8.5-A Branch Target Identification + * features which require emitting a .note.gnu.property section with the + * appropriate architecture-dependent feature bits set. + * Read more: "ELF for the Arm® 64-bit Architecture" + */ + +#if defined(__ARM_FEATURE_BTI_DEFAULT) && __ARM_FEATURE_BTI_DEFAULT == 1 +#define GNU_PROPERTY_AARCH64_BTI (1 << 0) /* Has Branch Target Identification */ +#define AARCH64_VALID_CALL_TARGET hint #34 /* BTI 'c' */ +#else +#define GNU_PROPERTY_AARCH64_BTI 0 /* No Branch Target Identification */ +#define AARCH64_VALID_CALL_TARGET +#endif + +#if defined(__ARM_FEATURE_PAC_DEFAULT) && (__ARM_FEATURE_PAC_DEFAULT & 1) == 1 /* Signed with A-key */ +#define GNU_PROPERTY_AARCH64_POINTER_AUTH \ + (1 << 1) /* Has Pointer Authentication */ +#define AARCH64_SIGN_LINK_REGISTER hint #25 /* PACIASP */ +#define AARCH64_VALIDATE_LINK_REGISTER hint #29 /* AUTIASP */ +#elif defined(__ARM_FEATURE_PAC_DEFAULT) && (__ARM_FEATURE_PAC_DEFAULT & 2) == 2 /* Signed with B-key */ +#define GNU_PROPERTY_AARCH64_POINTER_AUTH \ + (1 << 1) /* Has Pointer Authentication */ +#define AARCH64_SIGN_LINK_REGISTER hint #27 /* PACIBSP */ +#define AARCH64_VALIDATE_LINK_REGISTER hint #31 /* AUTIBSP */ +#else +#define GNU_PROPERTY_AARCH64_POINTER_AUTH 0 /* No Pointer Authentication */ +#if GNU_PROPERTY_AARCH64_BTI != 0 +#define AARCH64_SIGN_LINK_REGISTER AARCH64_VALID_CALL_TARGET +#else +#define AARCH64_SIGN_LINK_REGISTER +#endif +#define AARCH64_VALIDATE_LINK_REGISTER +#endif + +#if GNU_PROPERTY_AARCH64_POINTER_AUTH != 0 || GNU_PROPERTY_AARCH64_BTI != 0 +/* clang-format off */ +.pushsection .note.gnu.property, "a"; +/* clang-format on */ +.balign 8; +.long 4; +.long 0x10; +.long 0x5; +.asciz "GNU"; +.long 0xc0000000; /* GNU_PROPERTY_AARCH64_FEATURE_1_AND */ +.long 4; +.long(GNU_PROPERTY_AARCH64_POINTER_AUTH | GNU_PROPERTY_AARCH64_BTI); +.long 0; +.popsection; +#endif + +#endif /* defined __ASSEMBLER__ */ + +#define IS_CPU_SUPPORT_UNROLL8_EOR3() \ + (OPENSSL_armcap_P & ARMV8_UNROLL8_EOR3) #endif diff --git a/sys/crypto/openssl/powerpc/aes-gcm-ppc.S b/sys/crypto/openssl/powerpc/aes-gcm-ppc.S index 23a8feb24745..51cfac7e45fc 100644 --- a/sys/crypto/openssl/powerpc/aes-gcm-ppc.S +++ b/sys/crypto/openssl/powerpc/aes-gcm-ppc.S @@ -1,531 +1,587 @@ /* Do not modify. This file is auto-generated from aes-gcm-ppc.pl. */ -.machine "any" +.machine "any" .text - - - - -.macro .Loop_aes_middle4x - xxlor 19+32, 1, 1 - xxlor 20+32, 2, 2 - xxlor 21+32, 3, 3 - xxlor 22+32, 4, 4 - - .long 0x11EF9D08 - .long 0x12109D08 - .long 0x12319D08 - .long 0x12529D08 - - .long 0x11EFA508 - .long 0x1210A508 - .long 0x1231A508 - .long 0x1252A508 - - .long 0x11EFAD08 - .long 0x1210AD08 - .long 0x1231AD08 - .long 0x1252AD08 - - .long 0x11EFB508 - .long 0x1210B508 - .long 0x1231B508 - .long 0x1252B508 - - xxlor 19+32, 5, 5 - xxlor 20+32, 6, 6 - xxlor 21+32, 7, 7 - xxlor 22+32, 8, 8 - - .long 0x11EF9D08 - .long 0x12109D08 - .long 0x12319D08 - .long 0x12529D08 - - .long 0x11EFA508 - .long 0x1210A508 - .long 0x1231A508 - .long 0x1252A508 - - .long 0x11EFAD08 - .long 0x1210AD08 - .long 0x1231AD08 - .long 0x1252AD08 - - .long 0x11EFB508 - .long 0x1210B508 - .long 0x1231B508 - .long 0x1252B508 - - xxlor 23+32, 9, 9 - .long 0x11EFBD08 - .long 0x1210BD08 - .long 0x1231BD08 - .long 0x1252BD08 -.endm - - - - - -.macro .Loop_aes_middle8x - xxlor 23+32, 1, 1 - xxlor 24+32, 2, 2 - xxlor 25+32, 3, 3 - xxlor 26+32, 4, 4 - - .long 0x11EFBD08 - .long 0x1210BD08 - .long 0x1231BD08 - .long 0x1252BD08 - .long 0x1273BD08 - .long 0x1294BD08 - .long 0x12B5BD08 - .long 0x12D6BD08 - - .long 0x11EFC508 - .long 0x1210C508 - .long 0x1231C508 - .long 0x1252C508 - .long 0x1273C508 - .long 0x1294C508 - .long 0x12B5C508 - .long 0x12D6C508 - - .long 0x11EFCD08 - .long 0x1210CD08 - .long 0x1231CD08 - .long 0x1252CD08 - .long 0x1273CD08 - .long 0x1294CD08 - .long 0x12B5CD08 - .long 0x12D6CD08 - - .long 0x11EFD508 - .long 0x1210D508 - .long 0x1231D508 - .long 0x1252D508 - .long 0x1273D508 - .long 0x1294D508 - .long 0x12B5D508 - .long 0x12D6D508 - - xxlor 23+32, 5, 5 - xxlor 24+32, 6, 6 - xxlor 25+32, 7, 7 - xxlor 26+32, 8, 8 - - .long 0x11EFBD08 - .long 0x1210BD08 - .long 0x1231BD08 - .long 0x1252BD08 - .long 0x1273BD08 - .long 0x1294BD08 - .long 0x12B5BD08 - .long 0x12D6BD08 - - .long 0x11EFC508 - .long 0x1210C508 - .long 0x1231C508 - .long 0x1252C508 - .long 0x1273C508 - .long 0x1294C508 - .long 0x12B5C508 - .long 0x12D6C508 - - .long 0x11EFCD08 - .long 0x1210CD08 - .long 0x1231CD08 - .long 0x1252CD08 - .long 0x1273CD08 - .long 0x1294CD08 - .long 0x12B5CD08 - .long 0x12D6CD08 - - .long 0x11EFD508 - .long 0x1210D508 - .long 0x1231D508 - .long 0x1252D508 - .long 0x1273D508 - .long 0x1294D508 - .long 0x12B5D508 - .long 0x12D6D508 - - xxlor 23+32, 9, 9 - .long 0x11EFBD08 - .long 0x1210BD08 - .long 0x1231BD08 - .long 0x1252BD08 - .long 0x1273BD08 - .long 0x1294BD08 - .long 0x12B5BD08 - .long 0x12D6BD08 -.endm - - - - -ppc_aes_gcm_ghash: - vxor 15, 15, 0 - - xxlxor 29, 29, 29 - - .long 0x12EC7CC8 - .long 0x130984C8 - .long 0x13268CC8 - .long 0x134394C8 - - vxor 23, 23, 24 - vxor 23, 23, 25 - vxor 23, 23, 26 - - .long 0x130D7CC8 - .long 0x132A84C8 - .long 0x13478CC8 - .long 0x136494C8 - - vxor 24, 24, 25 - vxor 24, 24, 26 - vxor 24, 24, 27 - - - .long 0x139714C8 - - xxlor 29+32, 29, 29 - vsldoi 26, 24, 29, 8 - vsldoi 29, 29, 24, 8 - vxor 23, 23, 26 - - vsldoi 23, 23, 23, 8 - vxor 23, 23, 28 - - .long 0x130E7CC8 - .long 0x132B84C8 - .long 0x13488CC8 - .long 0x136594C8 - - vxor 24, 24, 25 - vxor 24, 24, 26 - vxor 24, 24, 27 - - vxor 24, 24, 29 - - - vsldoi 27, 23, 23, 8 - .long 0x12F714C8 - vxor 27, 27, 24 - vxor 23, 23, 27 - - xxlor 32, 23+32, 23+32 - - blr - - - - - -.macro ppc_aes_gcm_ghash2_4x - - vxor 15, 15, 0 - - xxlxor 29, 29, 29 - - .long 0x12EC7CC8 - .long 0x130984C8 - .long 0x13268CC8 - .long 0x134394C8 +.macro SAVE_REGS + mflr 0 + std 0, 16(1) + stdu 1,-512(1) + + std 14, 112(1) + std 15, 120(1) + std 16, 128(1) + std 17, 136(1) + std 18, 144(1) + std 19, 152(1) + std 20, 160(1) + std 21, 168(1) + std 22, 176(1) + std 23, 184(1) + std 24, 192(1) + + stxv 32+20, 256(1) + stxv 32+21, 256+16(1) + stxv 32+22, 256+32(1) + stxv 32+23, 256+48(1) + stxv 32+24, 256+64(1) + stxv 32+25, 256+80(1) + stxv 32+26, 256+96(1) + stxv 32+27, 256+112(1) + stxv 32+28, 256+128(1) + stxv 32+29, 256+144(1) + stxv 32+30, 256+160(1) + stxv 32+31, 256+176(1) +.endm # SAVE_REGS + +.macro RESTORE_REGS + lxv 32+20, 256(1) + lxv 32+21, 256+16(1) + lxv 32+22, 256+32(1) + lxv 32+23, 256+48(1) + lxv 32+24, 256+64(1) + lxv 32+25, 256+80(1) + lxv 32+26, 256+96(1) + lxv 32+27, 256+112(1) + lxv 32+28, 256+128(1) + lxv 32+29, 256+144(1) + lxv 32+30, 256+160(1) + lxv 32+31, 256+176(1) + + ld 14, 112(1) + ld 15, 120(1) + ld 16, 128(1) + ld 17, 136(1) + ld 18, 144(1) + ld 19, 152(1) + ld 20, 160(1) + ld 21, 168(1) + ld 22, 176(1) + ld 23, 184(1) + ld 24, 192(1) + + addi 1, 1, 512 + ld 0, 16(1) + mtlr 0 +.endm # RESTORE_REGS + +# 4x loops +.macro AES_CIPHER_4x r + vcipher 15, 15, \r + vcipher 16, 16, \r + vcipher 17, 17, \r + vcipher 18, 18, \r +.endm + +# 8x loops +.macro AES_CIPHER_8x r + vcipher 15, 15, \r + vcipher 16, 16, \r + vcipher 17, 17, \r + vcipher 18, 18, \r + vcipher 19, 19, \r + vcipher 20, 20, \r + vcipher 21, 21, \r + vcipher 22, 22, \r +.endm + +.macro LOOP_8AES_STATE + AES_CIPHER_8x 23 + AES_CIPHER_8x 24 + AES_CIPHER_8x 25 + AES_CIPHER_8x 26 + AES_CIPHER_8x 27 + AES_CIPHER_8x 28 + AES_CIPHER_8x 29 + AES_CIPHER_8x 1 +.endm + +# +# PPC_GFMUL128_8x: Compute hash values of 8 blocks based on Karatsuba method. +# +# S1 should xor with the previous digest +# +# Xi = v0 +# H Poly = v2 +# Hash keys = v3 - v14 +# vs10: vpermxor vector +# Scratch: v23 - v29 +# +.macro PPC_GFMUL128_8x + + vpmsumd 23, 12, 15 # H4.L * X.L + vpmsumd 24, 9, 16 + vpmsumd 25, 6, 17 + vpmsumd 26, 3, 18 vxor 23, 23, 24 vxor 23, 23, 25 - vxor 23, 23, 26 - - .long 0x130D7CC8 - .long 0x132A84C8 - .long 0x13478CC8 - .long 0x136494C8 - - vxor 24, 24, 25 - vxor 24, 24, 26 - - - .long 0x139714C8 - - xxlor 29+32, 29, 29 - - vxor 24, 24, 27 - vsldoi 26, 24, 29, 8 - vsldoi 29, 29, 24, 8 - vxor 23, 23, 26 - - vsldoi 23, 23, 23, 8 - vxor 23, 23, 28 + vxor 23, 23, 26 # L - .long 0x130E7CC8 - .long 0x132B84C8 - .long 0x13488CC8 - .long 0x136594C8 + vpmsumd 27, 13, 15 # H4.L * X.H + H4.H * X.L + vpmsumd 28, 10, 16 # H3.L * X1.H + H3.H * X1.L + vpmsumd 25, 7, 17 + vpmsumd 26, 4, 18 + vxor 24, 27, 28 vxor 24, 24, 25 - vxor 24, 24, 26 - vxor 24, 24, 27 - - vxor 24, 24, 29 - - - vsldoi 27, 23, 23, 8 - .long 0x12F714C8 - vxor 27, 27, 24 - vxor 27, 23, 27 - - - .long 0x1309A4C8 - .long 0x1326ACC8 - .long 0x1343B4C8 - vxor 19, 19, 27 - .long 0x12EC9CC8 + vxor 24, 24, 26 # M + + vpmsumd 26, 14, 15 # H4.H * X.H + vpmsumd 27, 11, 16 + vpmsumd 28, 8, 17 + vpmsumd 29, 5, 18 + + vxor 26, 26, 27 + vxor 26, 26, 28 + vxor 26, 26, 29 + + # sum hash and reduction with H Poly + vpmsumd 28, 23, 2 # reduction + + vxor 1, 1, 1 + vsldoi 25, 24, 1, 8 # mL + vsldoi 1, 1, 24, 8 # mH + vxor 23, 23, 25 # mL + L + + # This performs swap and xor like, + # vsldoi 23, 23, 23, 8 # swap + # vxor 23, 23, 28 + xxlor 32+29, 10, 10 + vpermxor 23, 23, 28, 29 + + vxor 24, 26, 1 # H + + # sum hash and reduction with H Poly + # + # vsldoi 25, 23, 23, 8 # swap + # vpmsumd 23, 23, 2 + # vxor 27, 25, 24 + # + vpermxor 27, 23, 24, 29 + vpmsumd 23, 23, 2 + vxor 0, 23, 27 # Digest of 4 blocks + + vxor 19, 19, 0 + + # Compute digest for the next 4 blocks + vpmsumd 24, 9, 20 + vpmsumd 25, 6, 21 + vpmsumd 26, 3, 22 + vpmsumd 23, 12, 19 # H4.L * X.L vxor 23, 23, 24 vxor 23, 23, 25 - vxor 23, 23, 26 + vxor 23, 23, 26 # L - .long 0x130D9CC8 - .long 0x132AA4C8 - .long 0x1347ACC8 - .long 0x1364B4C8 + vpmsumd 27, 13, 19 # H4.L * X.H + H4.H * X.L + vpmsumd 28, 10, 20 # H3.L * X1.H + H3.H * X1.L + vpmsumd 25, 7, 21 + vpmsumd 26, 4, 22 + vxor 24, 27, 28 vxor 24, 24, 25 - vxor 24, 24, 26 - - - .long 0x139714C8 - - xxlor 29+32, 29, 29 - - vxor 24, 24, 27 - vsldoi 26, 24, 29, 8 - vsldoi 29, 29, 24, 8 - vxor 23, 23, 26 - - vsldoi 23, 23, 23, 8 - vxor 23, 23, 28 - - .long 0x130E9CC8 - .long 0x132BA4C8 - .long 0x1348ACC8 - .long 0x1365B4C8 - - vxor 24, 24, 25 - vxor 24, 24, 26 - vxor 24, 24, 27 - - vxor 24, 24, 29 - - - vsldoi 27, 23, 23, 8 - .long 0x12F714C8 - vxor 27, 27, 24 - vxor 23, 23, 27 - - xxlor 32, 23+32, 23+32 - -.endm - - - - -.macro ppc_update_hash_1x - vxor 28, 28, 0 - - vxor 19, 19, 19 - - .long 0x12C3E4C8 - .long 0x12E4E4C8 - .long 0x1305E4C8 - - .long 0x137614C8 - - vsldoi 25, 23, 19, 8 - vsldoi 26, 19, 23, 8 - vxor 22, 22, 25 - vxor 24, 24, 26 - - vsldoi 22, 22, 22, 8 - vxor 22, 22, 27 - - vsldoi 20, 22, 22, 8 - .long 0x12D614C8 - vxor 20, 20, 24 - vxor 22, 22, 20 - *** 6149 LINES SKIPPED *** From nobody Sun Feb 1 17:16: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 4f3xGq1hrKz6QjYH for ; Sun, 01 Feb 2026 17:16: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 4f3xGp6vW9z3mmY for ; Sun, 01 Feb 2026 17:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769966163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFnjVMcXYoHsYfYhhyqJmXEz9xjAj85JGkHNKG5hjqs=; b=mrv4xDbtx3fx6Z0Ezi/71g8dTJFcC0SqOs/6JePNZOMbzhPan8ltqwFNyNtVMACHxAwoEu Z7jCNYYCR3iRei6XIcx+g4wV8G60ZMcQXtMI47oGg715aGEFGAo8v2SMGVIMNZ3MFDG1cj tDJI6geTk2CEin3og+Img4A8kzRQgdoRpX8UHD6Sn3+JfC0Met0cQFrXHMeFF/S4fXcboC 21M9GdB89k12X7e8mp54M2qkD4GtIOm6ShoTaFuBSbJUzAQ4sO+sDSJFnClTziW8TF2Stl M/M0MA74vwqdJJy8V/D3w5Ipgbbsu41HiCYeTqaq8Cj+ep1JHc+Udt05x8Naog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769966163; a=rsa-sha256; cv=none; b=J6jSA4jiQuooCXoeKaUsAEHfO4cohVTLhk1y2nbHvqIcFJzEXfh20ukmMDMASNY2Rtovqi eIahIX55Zf8W2p6v3hM0QBeW/h3qwWFkSdmERzT/7lLVgATjx2rV0poNoBFalFOTptCGBK otxTj9eR1zhyUGk3nzXa6wKfkrLQeNRMX/pQGDQwLUrklsxVKQizRIM2GIyHW49b9kzme9 +1motKyF0Igk5JY1i5aD88LVxrF1d7OnkGhmD0c/FzmKcbp+96tDzXVMYFS52HR+cHTsV3 dbSVG3Hm5lZ7Koc951cX9zBUJvzIg9esOVepWTzZuoVO0OmWANjksTdUDGpPnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769966163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFnjVMcXYoHsYfYhhyqJmXEz9xjAj85JGkHNKG5hjqs=; b=DABjYf6buM8UdXYYSmdZ+clqwWaC+GJlTmCJSDvIxnRD/zXfxLCgahL6MubaeHG4S7Y+88 US1t8K7EPTXsIqipQs+xaxWk6bj7V7RhUKMRoEq8AQ6eqVJt7RB8HxELMVsU4hzzSUqnoG m4bO1OY3o+7G+cUQqIHaHGVof6P5lyNHOgGOFkT5oSR+4Aof+/2s59aCmBoBrsLj92AvRn N61ruNB86Vy4QS8NYlBjNGVLE7wp5H8kX+22G5eh3OLQlc8Ee4RcCcQVrMfNboqC6AiOWP A9tNlHfnmqYjsIkhknJeOhhMQiOStv80/kmDKVcNm+ayBK1002rGcROtVM9kTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3xGp6SFlzq9p for ; Sun, 01 Feb 2026 17:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18cae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 17:16:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: cea2683bb691 - main - Remove example tests when MK_EXAMPLES=no 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cea2683bb691d6cbcfb7e342c497d018bba712c2 Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 17:16:02 +0000 Message-Id: <697f8a52.18cae.1266539d@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=cea2683bb691d6cbcfb7e342c497d018bba712c2 commit cea2683bb691d6cbcfb7e342c497d018bba712c2 Author: Enji Cooper AuthorDate: 2026-02-01 17:12:44 +0000 Commit: Enji Cooper CommitDate: 2026-02-01 17:12:44 +0000 Remove example tests when MK_EXAMPLES=no This change cleans up example tests for atf, googletest, plain, and TAP when MK_EXAMPLES=no. Not having this in results `kyua test -k /usr/tests/share/examples/Kyuafile` being broken on a host where the content in that directory tree is stale. I ran into that case because at some point in time in the past I had specified `MK_GOOGLETEST=no` one of my dev instances. MFC after: 1 week --- tools/build/mk/OptionalObsoleteFiles.inc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 1cf8b44eaca3..a0d3cf902337 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -1922,6 +1922,26 @@ OLD_FILES+=usr/share/examples/sunrpc/sort/Makefile OLD_FILES+=usr/share/examples/sunrpc/sort/rsort.c OLD_FILES+=usr/share/examples/sunrpc/sort/sort.x OLD_FILES+=usr/share/examples/sunrpc/sort/sort_proc.c +OLD_FILES+=usr/tests/share/examples/tests/atf/Kyuafile +OLD_FILES+=usr/tests/share/examples/tests/atf/cp_test +OLD_FILES+=usr/tests/share/examples/tests/atf/printf_test +OLD_FILES+=usr/tests/share/examples/tests/googletest/Kyuafile +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample10_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample1_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample2_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample3_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample4_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample5_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample6_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample7_unittest +OLD_FILES+=usr/tests/share/examples/tests/googletest/sample8_unittest +OLD_FILES+=usr/tests/share/examples/tests/plain/Kyuafile +OLD_FILES+=usr/tests/share/examples/tests/plain/cp_test +OLD_FILES+=usr/tests/share/examples/tests/plain/printf_test +OLD_FILES+=usr/tests/share/examples/tests/tap/Kyuafile +OLD_FILES+=usr/tests/share/examples/tests/tap/cp_test +OLD_FILES+=usr/tests/share/examples/tests/tap/printf_test +OLD_FILES+=usr/tests/share/examples/tests/Kyuafile OLD_FILES+=usr/share/examples/tcsh/complete.tcsh OLD_FILES+=usr/share/examples/tcsh/csh-mode.el OLD_FILES+=usr/share/examples/uefisign/uefikeys @@ -1989,6 +2009,12 @@ OLD_DIRS+=usr/share/examples/sunrpc/sort OLD_DIRS+=usr/share/examples/tcsh OLD_DIRS+=usr/share/examples/uefisign OLD_DIRS+=usr/share/examples/ypldap +OLD_DIRS+=usr/tests/share/examples/tests/atf +OLD_DIRS+=usr/tests/share/examples/tests/plain +OLD_DIRS+=usr/tests/share/examples/tests/googletest +OLD_DIRS+=usr/tests/share/examples/tests/tap +OLD_DIRS+=usr/tests/share/examples/tests +OLD_DIRS+=usr/tests/share/examples .endif .if ${MK_FDT} == no From nobody Sun Feb 1 17:29: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 4f3xZQ2sSdz6QkcW for ; Sun, 01 Feb 2026 17:29: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 4f3xZQ1mcVz3pys for ; Sun, 01 Feb 2026 17:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769966974; 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=wetwb6BhInk+AxIJbhw5GrtxX5cU2w6tTKRTHbtRnNw=; b=AFkv+l/Oyu/JH89p+Nzyu/DnxXfbanT4b6dkjxV9CPI1EZ/p3deY06vCRF+mnhxQi5GJ71 d53kfZ0KcgWWhidifeonseRIyo2SBHXtrN94R+Y0jGTUC0XxPtYeby+ewHhxEm2Oqt5iCy GK+y2YlMdXfah2KPQWibpGE1utjZVd2V1moUCfydNnZbRabI92AZM2MEfAS+YH8sy7O3cp UwzAz8WR12ut2BGjMwnr7n9ed+/ybMB2uaWNuDx+REttjyGhDFw4b7ScNzoisGCKc3rV2u ui9sh/m46xvZl40YtTr0fzMHAawcvpL1/OO2DfnmqUdZfQ4lXv+1hTlrV2ruXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769966974; a=rsa-sha256; cv=none; b=Vg6kCCJSGrWjpt3zXLltrLf9MPwvNQcSQzhsP9UDMK4A/xEUFPC7V/rtohDk5AwcgX9Jdw XnnSe34TPfF5CEpufmwg1gMwBTAuF5o/U8GjbE6IubDb2+0Sx35Yb/ATcqEcuaDDLgs75K rFH/YSG9isLiSNmWEltz+U1QJn7BqgDEr5uRPU1edJq66TWp/2nvpcuYI2MeSBXxLmbBrM NssQERVcsXFpevdgHOZgi1ltqtFJu4P2LCog48bHGqEoeZ1QN2CTvXAHDNBBNrfFjvgeBc 59pzYnbtCd2leCs0jvkrpGvLSg4gqmYuJXWkNCZqVMs3enzrLWEjFEsZHOjncA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769966974; 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=wetwb6BhInk+AxIJbhw5GrtxX5cU2w6tTKRTHbtRnNw=; b=hnJVzsLPL7PrnJ0wJ4qKpl40+FBqyP2T6ULTTBWvkGbEZ/8RII0wD0eSnTRvFyJWDeLF+C QTLHeYhUOYff/NXeiIwpPaKXr9rTCEvNZNrKr9OJYrG2uJIhaYc4xDwPG2h9nMnGMNoOP5 i5x2Uw61K/eV1s3HTPadMlUwzabGalJpmzSUVsXWU22NdB8svki9FvscNLwBdkXbSACY/e gZAjJCCX2LcFrhL8iZ0zKmkn+1yTyN4dxJYyTT4t/NMHJPbF8huHr6nhRG4tBC4LkCGU/o Y4pDmfJkgjz9n0vRqt/w4wkNryphQZ5vU8K6tpVSk2Qb1+afepentM75/ese2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f3xZQ12T7zqZl for ; Sun, 01 Feb 2026 17:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 194a9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Feb 2026 17:29:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Yogesh Bhosale From: Kevin Bowling Subject: git: 98bdf63f6e94 - main - ice(4): Handle allmulti flag in ice_if_promisc_set 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98bdf63f6e94be42a1787de73608de15bcb3419a Auto-Submitted: auto-generated Date: Sun, 01 Feb 2026 17:29:34 +0000 Message-Id: <697f8d7e.194a9.6742a8dc@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=98bdf63f6e94be42a1787de73608de15bcb3419a commit 98bdf63f6e94be42a1787de73608de15bcb3419a Author: Yogesh Bhosale AuthorDate: 2026-02-01 17:27:36 +0000 Commit: Kevin Bowling CommitDate: 2026-02-01 17:27:36 +0000 ice(4): Handle allmulti flag in ice_if_promisc_set function In the ice_if_promisc_set function, the driver currently disables the IFF_ALLMULTI flag, thereby preventing the activation of multicast mode. To address this issue, implement appropriate handling to ensure the flag is managed correctly. Signed-off-by: Yogesh Bhosale Tested by: Gowthamkumar K S MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54186 --- sys/dev/ice/if_ice_iflib.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/sys/dev/ice/if_ice_iflib.c b/sys/dev/ice/if_ice_iflib.c index 1469d2916465..6ea539d52e02 100644 --- a/sys/dev/ice/if_ice_iflib.c +++ b/sys/dev/ice/if_ice_iflib.c @@ -1907,15 +1907,13 @@ ice_if_promisc_set(if_ctx_t ctx, int flags) ice_set_default_promisc_mask(promisc_mask); - if (multi_enable) - return (EOPNOTSUPP); - if (promisc_enable) { status = ice_set_vsi_promisc(hw, sc->pf_vsi.idx, promisc_mask, 0); if (status && status != ICE_ERR_ALREADY_EXISTS) { device_printf(dev, - "Failed to enable promiscuous mode for PF VSI, err %s aq_err %s\n", + "Failed to enable promiscuous mode for " + "PF VSI, err %s aq_err %s\n", ice_status_str(status), ice_aq_str(hw->adminq.sq_last_status)); return (EIO); @@ -1925,11 +1923,28 @@ ice_if_promisc_set(if_ctx_t ctx, int flags) promisc_mask, 0); if (status) { device_printf(dev, - "Failed to disable promiscuous mode for PF VSI, err %s aq_err %s\n", + "Failed to disable promiscuous mode for" + " PF VSI, err %s aq_err %s\n", ice_status_str(status), ice_aq_str(hw->adminq.sq_last_status)); return (EIO); } + + if (multi_enable) { + ice_clear_bit(ICE_PROMISC_UCAST_TX, promisc_mask); + ice_clear_bit(ICE_PROMISC_UCAST_RX, promisc_mask); + status = ice_set_vsi_promisc(hw, sc->pf_vsi.idx, + promisc_mask, 0); + if (status && status != ICE_ERR_ALREADY_EXISTS) { + device_printf(dev, + "Failed to enable allmulti mode " + "for PF VSI, err %s aq_err %s\n", + ice_status_str(status), + ice_aq_str( + hw->adminq.sq_last_status)); + return (EIO); + } + } } return (0); From nobody Sun Feb 1 19:27: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 4f40CG0TQxz6QTG4 for ; Sun, 01 Feb 2026 19:28:10 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yx1-f46.google.com (mail-yx1-f46.google.com [74.125.224.46]) (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 4f40CF1y71z45dT for ; Sun, 01 Feb 2026 19:28:09 +0000 (UTC) (envelope-from 6yearold@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 6yearold@gmail.com designates 74.125.224.46 as permitted sender) smtp.mailfrom=6yearold@gmail.com Received: by mail-yx1-f46.google.com with SMTP id 956f58d0204a3-649b31e9010so1156281d50.3 for ; Sun, 01 Feb 2026 11:28:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769974088; x=1770578888; 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=Q+vVUfZiBpDqnIzq6HtFVDcN9V4ZYZnI4hl6ZlUfE40=; b=O5ssmFz3MS9IvJ4XqLvea/UDjkKs6/xWAVSuEdjkX1NeCIHvF3TytzJbPK5d30QG07 0hO6aQjMt6Cj0BEvP/GCsVOl17NUrPMxM7qHTFKEwpuzausz7fQzNS8CJCt3vySbJCcq tvM7+El7+oGhOKW6oDM6gm48545tvpL/iRpXsgxBSj4shS/R7FALXvR61RuzwVIas7xP hfnBYc6eTnbquRIdNcnI7tsNdPZP/H7pph6GJFRE/QIsi/in6F6kAZWF7q552HhXOmmw 0SZjU4HXR1EhP/j208v04TCwHbt7OpBZWiUXbBf272jrH49nyfooCq6Al75Jw1FY8OiX spNA== X-Forwarded-Encrypted: i=1; AJvYcCWTS9LgPMPenFVpMe7Jfe691Af299O2zGYOCnYT2iFI0VbL3wpS8ymOZFPjdba4XE4O8/o3Jirl7XQC9ZnVJWjoMU6yLA==@freebsd.org X-Gm-Message-State: AOJu0Yx+CBpz5UQGnGH0iwXBybyI3nssc+ouAcxwc1KaEC+/XylnDkPA 2dqv73PP/CVjwU04DfLQ41tybfIFFa5WYGF8H8yFZFDVgMbL+tmSjKS7RW0MYA== X-Gm-Gg: AZuq6aIEiuXsepcibPClWX9Xwn6gAq62UrGcTHtG+bLMMZNV2uk13yS7s0Us/l/8h3D p637DeRjAGaULjNoMKz6qg30nG6dsqphkk/+v6zLR5Nk7y9L6HKuUPCPL6vMJdcCrUQ1syqkS52 gGvhzH6UqXYzX/BDW7ELCWSSWFzzW3dYglaH2DMS3pBPa5G2gj0gifJP+WqnvL+6r97LuavFfhF 17Jp0TOUVrIiM5NZpu++y8FYLO5jejyHcySYcB6+MUPw9aX3AA4La1zwFSCzk9BFLu8l7SdVS8h 4z3PXWQLOONsqjF3Qv5OnMIu7iZdz67RvrrBvjDfVdJWElwdqHO12vge/bJme5SK2PS6mO4i5S9 fKI3Ec+v5fjOnFV2k+YqDZaTgvHbCTHePQDk/NMoXurd3uF1Pc4ud3cCRQ6xGJUPTj1eak0nqCX 1auLT+UQFuHNobkX0nzWRE4n0/GR72h2+8M4Ow71tYyrwzULWX/yYbLw4KzeN89pkcqsUKse03Y 5NYI0/DRNAQx3cUxuWbKljQfp0rUJumQCebwIWdwmGpfEAWMd0npDYZ0+0dva0DvB5CxCs= X-Received: by 2002:a53:de44:0:b0:649:5ed9:fb73 with SMTP id 956f58d0204a3-649a847354bmr5606357d50.50.1769974088320; Sun, 01 Feb 2026 11:28:08 -0800 (PST) Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com. [209.85.128.173]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-649c195cd7fsm1770672d50.15.2026.02.01.11.28.07 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 01 Feb 2026 11:28:07 -0800 (PST) Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-79492a2a57bso35411007b3.2 for ; Sun, 01 Feb 2026 11:28:07 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUW++NoCdhFXfdQB+1qg6ABsi192o250ct89hSYy6KAprialp5eDxr7/GOKD22uAguo/hdOtF/RMRU/Qm06SvNBJon7vA==@freebsd.org X-Received: by 2002:a05:690c:84d:b0:794:7131:3dc3 with SMTP id 00721157ae682-7949df9bc20mr56288667b3.41.1769974086949; Sun, 01 Feb 2026 11:28:06 -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: <697499a8.335a0.2e12eda1@gitrepo.freebsd.org> In-Reply-To: From: Gleb Popov Date: Sun, 1 Feb 2026 22:27:41 +0300 X-Gmail-Original-Message-ID: X-Gm-Features: AZwV_Qg_xwXKX9aVs8JMQiZ2NQWJKcODdaHiykXihQ8rd0ykkgq8IRG36Z2t42A Message-ID: Subject: Re: git: 10037d0978f8 - main - fusefs: Implement support for the auto_unmount option kernel-side To: Konstantin Belousov , Alan Somers 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-Result: default: False [-2.85 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.988]; NEURAL_HAM_MEDIUM(-0.96)[-0.957]; FORGED_SENDER(0.30)[arrowd@freebsd.org,6yearold@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:74.125.0.0/16:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; RCVD_COUNT_THREE(0.00)[3]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FREEMAIL_TO(0.00)[gmail.com,freebsd.org]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:15169, ipnet:74.125.0.0/16, country:US]; RCVD_IN_DNSWL_NONE(0.00)[74.125.224.46:from,209.85.128.173:received]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[arrowd@freebsd.org,6yearold@gmail.com]; MISSING_XM_UA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[74.125.224.46:from]; R_DKIM_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Rspamd-Queue-Id: 4f40CF1y71z45dT X-Spamd-Bar: -- On Sun, Jan 25, 2026 at 10:39=E2=80=AFPM Konstantin Belousov wrote: > > > > + vfs_ref(fdata->mp); > Don't you need to take the reference when the fdata is created and mp mem= ber > is initialized, and not here? > > What guarantees that the mp is still ours? > In fact, I think that you should use vfs_busy() and not vfs_ref(), > since what prevents mp from being unmounted under us? Using vfs_busy() before dounmount() results in a soft hang: - vfs_busy increments mp->mnt_lockref in https://github.com/freebsd/freebsd-src/blob/98bdf63f6e94be42a1787de73608de1= 5bcb3419a/sys/kern/vfs_subr.c#L929 - dounmount spins until mp->mnt_lockref becomes 0 in https://github.com/freebsd/freebsd-src/blob/98bdf63f6e94be42a1787de73608de1= 5bcb3419a/sys/kern/vfs_mount.c#L2318-L2322 This results in a FUSE process to hang in the "mount drain" state. From nobody Sun Feb 1 21:18: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 4f42gH73l2z6QglQ; Sun, 01 Feb 2026 21:19:07 +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 4f42gH39FWz4QRf; Sun, 01 Feb 2026 21:19:07 +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 611LIr71035387; Sun, 1 Feb 2026 23:18:56 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 611LIr71035387 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 611LIrsR035386; Sun, 1 Feb 2026 23:18:53 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 1 Feb 2026 23:18:53 +0200 From: Konstantin Belousov To: Gleb Popov Cc: Alan Somers , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 10037d0978f8 - main - fusefs: Implement support for the auto_unmount option kernel-side Message-ID: References: <697499a8.335a0.2e12eda1@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=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: 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-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4f42gH39FWz4QRf X-Spamd-Bar: ---- On Sun, Feb 01, 2026 at 10:27:41PM +0300, Gleb Popov wrote: > On Sun, Jan 25, 2026 at 10:39 PM Konstantin Belousov > wrote: > > > > > > > + vfs_ref(fdata->mp); > > Don't you need to take the reference when the fdata is created and mp member > > is initialized, and not here? > > > > What guarantees that the mp is still ours? > > In fact, I think that you should use vfs_busy() and not vfs_ref(), > > since what prevents mp from being unmounted under us? > > Using vfs_busy() before dounmount() results in a soft hang: > - vfs_busy increments mp->mnt_lockref in > https://github.com/freebsd/freebsd-src/blob/98bdf63f6e94be42a1787de73608de15bcb3419a/sys/kern/vfs_subr.c#L929 > - dounmount spins until mp->mnt_lockref becomes 0 in > https://github.com/freebsd/freebsd-src/blob/98bdf63f6e94be42a1787de73608de15bcb3419a/sys/kern/vfs_mount.c#L2318-L2322 > > This results in a FUSE process to hang in the "mount drain" state. Ok, change it to the mnt_ref() done when assigning to fdata->mp for now, please.