From nobody Mon May 19 02:04:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b11Gc1hhnz5wGZx; Mon, 19 May 2025 02:04: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b11Gc15WMz3fwd; Mon, 19 May 2025 02:04:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747620296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zm9qExMcwSsfhdMdZvTOfBtNsUt3AP0dzpAVXM+0OBo=; b=aDbGPgA60D7Dir36CkES6OCZpZefEF2vCphUUVYwNIOQsVTAo/H9K1X1CjHAxe5i/roqfx tt9/KtY0ffQgIanh/VotEvK61eLuyj8ALZxji9rX0FBv/6MU47pDijtYKvQKY/+l8Vo6ie DtiRIFwFw2/t4PcqAmFAb5f3yufMU2ub2TQwcxykOhfPGP0gKZKloQ9lJx3+O4ahF9EVpA 2x31hwj345DI3mP5cJBrLiRzaJaTKlqsrYu85PplwR/k4h44oEDidc+fbcpRYWI46AF1r6 l8T+8xRgmpG+JW7BMXWrf8n4k/eibDQWk1Ucwdjrii+QVKOTsZrx8CkajUvi7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747620296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zm9qExMcwSsfhdMdZvTOfBtNsUt3AP0dzpAVXM+0OBo=; b=vM+mflWEjbGRui/4npvcTCzwTn3DoZeDGmG0cx9o0WTsZOxvbxHKK1qW2JPhvSYMao+5kL 3R7WlTtnalh1Cth783m5V7liPtp5Y/fpZxpc99rgUBem8bqdzmPhm7+DsC1he1oMOUEQjN AOP249p4C4jjOJMDkth3q0Dw1n53iUcSOq7OqkQTFdks+6Mfs0rvxFKv1rsOFL6VMzNKPZ cZCFBBRaktomEg7VInYJ8XjyEvFjIkz4Dro0wuDGvD0CkBnL1+835NB18rdOAmUzWsnOR4 Rq58h61f9TVS7TF+oBxjkDh35zrnYWlb5cJbIjLdcv21orOjOSzoNc5LPgd+3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747620296; a=rsa-sha256; cv=none; b=P4Y5d4Iauhk0hcswwbJOR13+LyA8jQRuLTG8kE75ORXqbvlWaRvNSHKclzttx5RKi3wZz2 HRPVhgVEQEoVkxEmivz0Of13rQRmIaFWmtA0TB2Tdm25aOI9Zr5FoT7/xbirxkOcvAuzFW gI5zHdKAvMmoXJR6YnhZMGN2tN18dDIjINl29sqkVhdQZ/Atodhxld6g8PyIMZb/HKotsd 4VNWH1+7lWTKGkOfUeZv9akwwZ0xVott2dwdJNk4lKHhaG1y0Mj0kMabsIa4oaU2nLtx74 RbKDgaD0/H5VoaxLu+68bdXxmzpu/TbgftTwmeREecYzC3+x0i5DXGD3IOPxVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b11Gc0D2hzl9H; Mon, 19 May 2025 02:04:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J24twn085380; Mon, 19 May 2025 02:04:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J24t9E085377; Mon, 19 May 2025 02:04:55 GMT (envelope-from git) Date: Mon, 19 May 2025 02:04:55 GMT Message-Id: <202505190204.54J24t9E085377@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 802edf230793 - stable/14 - qat.4: Cleanup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 802edf23079388447659136805d97b95b0f90899 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=802edf23079388447659136805d97b95b0f90899 commit 802edf23079388447659136805d97b95b0f90899 Author: Alexander Ziaee AuthorDate: 2025-05-16 17:19:00 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-19 02:03:56 +0000 qat.4: Cleanup + copyright symbols do not belong in Nd's (apropos results) + move hardware to HARDWARE for inclusion in the hw release notes + improve sysctls + lines which say nothing removed + links moved to see also + spacing and markup corrections MFC after: 3 days Reviewed by: markj, mhorne Differential Revision: https://reviews.freebsd.org/D50381 (cherry picked from commit c1d9b2c9b03cade19cb4f94d3e29fba7179ac11a) --- share/man/man4/qat.4 | 181 +++++++++++++++++++++++++-------------------------- 1 file changed, 89 insertions(+), 92 deletions(-) diff --git a/share/man/man4/qat.4 b/share/man/man4/qat.4 index 3d8c0cd32664..e7907c7c6331 100644 --- a/share/man/man4/qat.4 +++ b/share/man/man4/qat.4 @@ -1,11 +1,11 @@ .\" SPDX-License-Identifier: BSD-3-Clause .\" Copyright(c) 2007-2022 Intel Corporation -.Dd May 4, 2023 +.Dd May 16, 2025 .Dt QAT 4 .Os .Sh NAME .Nm qat -.Nd Intel (R) QuickAssist Technology (QAT) driver +.Nd Intel QuickAssist Technology driver .Sh SYNOPSIS To load the driver call: .Pp @@ -39,9 +39,20 @@ The driver supports cryptography and compression acceleration of the Intel (R) QuickAssist Technology (QAT) devices. .Pp +A complete API for offloading these operations is exposed in the kernel +and may be used by any other entity directly. +In addition to exposing a complete kernel API for +offloading cryptography and compression operations, the +.Nm +driver also integrates with +.Xr crypto 4 , +allowing offloading supported operations to Intel QuickAssist Technology +devices. +.Sh HARDWARE The .Nm -driver is intended for platforms that contain: +driver supports the following Intel QuickAssist Technology Engines: +.Pp .Bl -bullet -compact .It Intel (R) C62x Chipset @@ -57,78 +68,45 @@ Intel (R) Atom P5300 processor product family .It Intel (R) QAT 4xxx Series .El -.Pp -The -.Nm -driver supports cryptography and compression acceleration. -A complete API for offloading these operations is exposed in the kernel and may -be used by any other entity directly. -For details of usage and supported operations and algorithms refer to the -following documentation available from Intel Download Center -.Lk https://downloadcenter.intel.com : -.Bl -bullet -compact -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology API Programmer's Guide -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Cryptographic API Reference Manual -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Data Compression API Reference Manual -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Performance Optimization Guide -.Re -.El -.Pp -In addition to exposing complete kernel API for offloading cryptography and -compression operations, the -.Nm -driver also integrates with -.Xr crypto 4 , -allowing offloading supported cryptography operations to Intel (R) QuickAssist -Technology (QAT) devices. -For details of usage and supported operations and algorithms refer to the -documentation mentioned above and -.Sx SEE ALSO -section. .Sh SYSCTL_VARIABLES -Following variables may be used to reconfigure the QAT device.\& -For configuration persistence those variables may be set before loading the driver, either via +The following +.Xr sysctl 8 +variables may be used to reconfigure the +.Nm +device. +For configuration persistence those variables may be set before loading +the driver, either via .Xr kenv 1 or .Xr loader.conf 5 . -The device specific configuration options are prefixed with -.Va dev.qat.X\&. -where X is the device number. -The specific device needs to be in "down" state before changing the configuration. +.Pp +The specific device needs to be in the "down" state +before changing the configuration. .Bl -tag -width indent -.It Va state -Show current state of the device. Override the device state. Possible values: "down", "up". - -NOTE: If the symmetric services are used for device the qat_ocf driver needs to be disabled prior the device -reconfiguration. -Following variable may be used to enable/disable the QAT cryptographic framework connectivity -.Va dev.qat_ocf.0.enable\&. +.It Va dev.qat.X.state +Show or set current state of the device. +Possible values: "down", "up". +.Pp +NOTE: If the symmetric services are used for device the +.Sy qat_ocf +driver needs to be disabled prior the device reconfiguration. +.It Va dev.qat_ocf.0.enable +Enable/disable the QAT cryptographic framework connectivity. Enabled by default. -.It Va cfg_services -Override the device services enabled: symmetric, asymmetric, data compression. +.It Va dev.qat.X.cfg_services +Override the device services enabled, may be one of: +symmetric, asymmetric, data compression. Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym". -Default services configured are "sym;asym" for even and "dc" for odd devices. -.It Va cfg_mode -Override the device mode configuration for kernel space and user space instances. +Default services configured +are "sym;asym" for even and "dc" for odd devices. +.It Va dev.qat.X.cfg_mode +Override the device mode configuration +for kernel space and user space instances. Possible values: "ks", "us", "ks;us". Default value "ks;us". -.It Va num_user_processes -Override the number of uio user space processes that can connect to the QAT device. +.It Va dev.qat.X.num_user_processes +Override the number of uio user space processes +that can connect to the QAT device. Default: 2 .El .Pp @@ -136,48 +114,67 @@ The following .Xr sysctl 8 variables are read-only: .Bl -tag -width indent -.It Va frequency +.It Va dev.qat.X.frequency QAT device frequency value. -.It Va mmp_version +.It Va dev.qat.X.mmp_version QAT MMP Library revision number. -.It Va hw_version +.It Va dev.qat.X.hw_version QAT hardware revision number. -.It Va fw_version +.It Va dev.qat.X.fw_version QAT firmware revision number. -.It Va dev_cfg +.It Va dev.qat.X.dev_cfg Summary of device specific configuration. -.It Va heartbeat -QAT device heartbeat status. Value '1' indicates that the device is operational. -Value '0' means that the device is not responsive. Device requires restart. -.It Va heartbeat_failed +.It Va dev.qat.X.heartbeat +QAT device heartbeat status. +Value '1' indicates that the device is operational. +Value '0' means that the device is not responsive. +Device requires restart. +.It Va dev.qat.X.heartbeat_failed Number of QAT heartbeat failures received. -.It Va heartbeat_sent +.It Va dev.qat.X.heartbeat_sent Number of QAT heartbeat requests sent. .El - -.Sh COMPATIBILITY -The -.Nm -driver replaced previous implementation introduced in -.Fx 13.0 . -Current version, in addition to -.Xr crypto 4 -integration, supports also data compression and exposes a complete API for -offloading data compression and cryptography operations. .Sh SEE ALSO .Xr crypto 4 , .Xr ipsec 4 , .Xr pci 4 , .Xr crypto 7 , .Xr crypto 9 +.Pp +For details of usage and supported operations and algorithms refer to +the following documentation available from Intel Download Center +.Lk https://downloadcenter.intel.com : +.Pp +.Bl -bullet -compact +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology API Programmer's Guide +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Cryptographic API Reference Manual +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Data Compression API Reference Manual +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Performance Optimization Guide +.Re +.El .Sh HISTORY -This +A .Nm -driver was introduced in -.Fx 14.0 . -.Fx 13.0 included a different version of -.Nm -driver. +driver appeared in +.Fx 13.0 . +It was superseded in +.Fx 14.0 +by the upstream driver. .Sh AUTHORS The .Nm From nobody Mon May 19 02:45:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b12942k7Fz5wKYj; Mon, 19 May 2025 02:45: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b129429F8z47fC; Mon, 19 May 2025 02:45:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747622712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2dgZuJrS8S1ROIpQ44CekEv1MzBhERjTkJFRthafdo4=; b=VkZKbwHlaoeQeJPEnomrTtVfbzGqHmrg/wdG6/gC4vAazWnab9xLDgM741RaJGU3Hnpi2l pF88BjdFj0wfijckHAhn4SVAyapXipUJwMto4c//Nn+ZUzIm1qlCR+TWP50J8WItis3wNx 5CBAPnPEXcX0f3sPbuY9/AJGgBAW+rSLRCq3oWgShpYeeAVINEgDzvBNxt39941Ca1b+Xi HHdMoS683U5SjGXNv6JB5TZjby7w6kOomgCjS20dOhPuNyo5XNMkWlentBusg0E7Flv/1/ 6NmaisC9/dQLsdByOHw85SWEdIXHbQDR3ZYuD/d/EIxrc+LHxvvc2QbxlfGNhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747622712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2dgZuJrS8S1ROIpQ44CekEv1MzBhERjTkJFRthafdo4=; b=l5zW0YcfKdOEwNAY6Tx+yp8qJreM3GwaQTERonYMBNPU6cz+h7S3zCuQeoH8/Djcv1FGR4 s0NtSEQXToyTsoHG92ZMefSmfSnUzJ1BPwUF0RRru3lwUwHqhEsbc+UcSLmCypWuLqsUoN hzUZO/0ygoo9ySCt7xVVO7NgqqtXDjEmJPs4KAMWlML6P4TKEOj4+cR0Gq1TgvhF4phRNC unaW2sBqjI2gxILYRGmqpTEzbSwqiPjycHv0TD47N7ALsXrstACJBIT/d4rafG9K6awLXX pFIGq9qmB2HkJbiUeeAZKrOGcK1+VL5E9DtD55qNTib2GRZMbHA85L8ZrNWBIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747622712; a=rsa-sha256; cv=none; b=hYZrZ31jJGuS6yXMddiKRYkvFLdy3H+J/CN28b/PKI2Kf2gtZ2jfMx9BbEtBh/+JWYtDEY VEU7w1a8iD4owTE0SHwjhb6HO8XpnZ3qR/EL/Jsk1CRmw15IRdJeIdjzG8jqDRtOMIFlAz RmCi4AWMF5eY1BhS1HRPsgWOlEpYqbwKaxdz7VPNCJWZOOXpjFdE5kr8mA1oKqluB+hNgN A4GT9/ChYsWaJB/rtlHFyNSgiINdB2sOiK1H0cX+uHikmhBWgROklXnc6VskeryGsWDtNg dHdbZW50qdHOrp4s+wehRQki1ka3DdmD84XXQQJd3jmvQJoW/ll+h+rtAY80Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b12941DzrzmCF; Mon, 19 May 2025 02:45:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J2jC8Y059550; Mon, 19 May 2025 02:45:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J2jCJh059547; Mon, 19 May 2025 02:45:12 GMT (envelope-from git) Date: Mon, 19 May 2025 02:45:12 GMT Message-Id: <202505190245.54J2jCJh059547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 33597164cd8b - stable/14 - sys/net: add a new ether_vlanid_t type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 33597164cd8b9c28afa44be725e164c660489c03 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=33597164cd8b9c28afa44be725e164c660489c03 commit 33597164cd8b9c28afa44be725e164c660489c03 Author: Lexi Winter AuthorDate: 2025-04-15 16:13:23 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 02:38:13 +0000 sys/net: add a new ether_vlanid_t type ether_vlanid_t is a type to represent a VLAN ID, for example inside a .1q tag. since this is specific to Ethernet, put it in net/ethernet.h. change bridge to use the new type instead of uint{16,32}_t. Reviewed by: adrian, kp Differential Revision: https://reviews.freebsd.org/D49836 (cherry picked from commit 96f830456fd449c4cb5a7df8a2f6c3c96993b43e) --- sys/net/ethernet.h | 5 +++++ sys/net/if_bridge.c | 28 ++++++++++++++++------------ sys/net/if_bridgevar.h | 2 +- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index e7313e78c5bb..bb4c241db95a 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -81,6 +81,11 @@ struct ether_addr { (((addr)[0] | (addr)[1] | (addr)[2] | \ (addr)[3] | (addr)[4] | (addr)[5]) == 0x00) +/* + * This is the type of the VLAN ID inside the tag, not the tag itself. + */ +typedef uint16_t ether_vlanid_t; + /* * 802.1q Virtual LAN header. */ diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 79561bc4c9cd..3e562aae9056 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -263,7 +263,7 @@ struct bridge_rtnode { unsigned long brt_expire; /* expiration time */ uint8_t brt_flags; /* address flags */ uint8_t brt_addr[ETHER_ADDR_LEN]; - uint16_t brt_vlan; /* vlan id */ + ether_vlanid_t brt_vlan; /* vlan id */ struct vnet *brt_vnet; struct epoch_context brt_epoch_ctx; }; @@ -339,21 +339,21 @@ static void bridge_broadcast(struct bridge_softc *, struct ifnet *, static void bridge_span(struct bridge_softc *, struct mbuf *); static int bridge_rtupdate(struct bridge_softc *, const uint8_t *, - uint16_t, struct bridge_iflist *, int, uint8_t); + ether_vlanid_t, struct bridge_iflist *, int, uint8_t); static struct ifnet *bridge_rtlookup(struct bridge_softc *, const uint8_t *, - uint16_t); + ether_vlanid_t); static void bridge_rttrim(struct bridge_softc *); static void bridge_rtage(struct bridge_softc *); static void bridge_rtflush(struct bridge_softc *, int); static int bridge_rtdaddr(struct bridge_softc *, const uint8_t *, - uint16_t); + ether_vlanid_t); static void bridge_rtable_init(struct bridge_softc *); static void bridge_rtable_fini(struct bridge_softc *); static int bridge_rtnode_addr_cmp(const uint8_t *, const uint8_t *); static struct bridge_rtnode *bridge_rtnode_lookup(struct bridge_softc *, - const uint8_t *, uint16_t); + const uint8_t *, ether_vlanid_t); static int bridge_rtnode_insert(struct bridge_softc *, struct bridge_rtnode *); static void bridge_rtnode_destroy(struct bridge_softc *, @@ -2177,7 +2177,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, struct ether_header *eh; struct ifnet *bifp, *dst_if; struct bridge_softc *sc; - uint16_t vlan; + ether_vlanid_t vlan; NET_EPOCH_ASSERT(); @@ -2508,7 +2508,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) struct ifnet *bifp; struct ether_header *eh; struct mbuf *mc, *mc2; - uint16_t vlan; + ether_vlanid_t vlan; int error; NET_EPOCH_ASSERT(); @@ -2873,8 +2873,9 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) * Add a bridge routing entry. */ static int -bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, - struct bridge_iflist *bif, int setflags, uint8_t flags) +bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, + ether_vlanid_t vlan, struct bridge_iflist *bif, + int setflags, uint8_t flags) { struct bridge_rtnode *brt; struct bridge_iflist *obif; @@ -2981,7 +2982,8 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, * Lookup the destination interface for an address. */ static struct ifnet * -bridge_rtlookup(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtlookup(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; @@ -3092,7 +3094,8 @@ bridge_rtflush(struct bridge_softc *sc, int full) * Remove an address from the table. */ static int -bridge_rtdaddr(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtdaddr(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; int found = 0; @@ -3221,7 +3224,8 @@ bridge_rtnode_addr_cmp(const uint8_t *a, const uint8_t *b) * vlan id or if zero then just return the first match. */ static struct bridge_rtnode * -bridge_rtnode_lookup(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtnode_lookup(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; uint32_t hash; diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 01ac96e8d5b0..27815cd37c83 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -185,7 +185,7 @@ struct ifbareq { unsigned long ifba_expire; /* address expire time */ uint8_t ifba_flags; /* address flags */ uint8_t ifba_dst[ETHER_ADDR_LEN];/* destination address */ - uint16_t ifba_vlan; /* vlan id */ + ether_vlanid_t ifba_vlan; /* vlan id */ }; #define IFBAF_TYPEMASK 0x03 /* address type mask */ From nobody Mon May 19 02:54:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b12Mw3V2kz5wKqb; Mon, 19 May 2025 02:54: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b12Mw0l2Mz4G3G; Mon, 19 May 2025 02:54:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747623276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zzhZqsY0f0OYTcKMUqLPPz1MXrSSs6yrtVK63aVmeLg=; b=ap6twl1gEwt8VxD/yVeJIAdXru2nQfR0Ro4LFjbNlTdoIoOIGs5xK4tM6TzdjVRLez0KhJ 426Bgl/PGoznYeTLkz6NubXm7d95C5xcis5Ka6KoY9T73a+O5UblNNrbNbgqLjsJdPQUBv 58jCqouci3i0fgmF3BMlFoLg89Y8YvhB8v+yJ0IxFl5+tAGzKH0s0GtoetmI4W28KEw1tl in73uIOm/qIqtY9CK1Kc2fQI63Nd5VEKyTsbB16Xjl189QZY7YAvZ07UzgpoMR5QJ0JEKq wVPlFnsbB+8g/kGZzNvE2ILtTx1Wj4vPjHCd7YMtbLOpLIfASqmzRS3VGGIz3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747623276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zzhZqsY0f0OYTcKMUqLPPz1MXrSSs6yrtVK63aVmeLg=; b=Uws6dYWPWNryjWgvpNeijRpFYATV2zXXexoJj9LnM8gt8chblYOoyIjSu9NAWdLR/sSeZ6 90vz9p97zFdblD6vMZ+B6LW6bE07QJYA8+7aG7U5XitGlzO6WIywkmNuTQ9unh2JwXUw5S UOPDIz6/tOU14OctjeX7sdTc7lhudAL70nP/jBdP/IRNYDOjAu8RXFuJ8ZDxMdmjQD84iu nBQpUKFhUPqoyRHMtMVivV3dLEVnQVofzyvTyrjH6upJYSNd4ldmpZb1UCAu93Ssa0eEj9 AhqFRPhMG+vbaEcEiR5KcmfNhmXSwvudslqePtcboMU89/mQCGsX86/e8sR76w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747623276; a=rsa-sha256; cv=none; b=PDPKp5g+GhuV5jXeIdvCy+vWhPkO1g6nFim68+2gk4A77auwYjadqANtdnglkjhdOKSxWd 1yRhqefdVIBAzxk2+FWFktbOYEYUnMd2HIF1IhUqS1rem+v4u0hgxaTWPSuHEjHkqo2IAm Okwa9ZZcd4mkKibF6AsZc4b1h7/ETVPjFSL06JPxWSwus1r0zLpKPfhy3u/PosmT5BOAdL fkvLkjaqDR22mJOQ3ScAwpZCJGom6JlUDmlqt59piILj+qevcxWPi+maFH9cuE/9g24zvE taiTFN01YKrBoTk9tQuGY0HhjNZjY9Pc6f/yH46tvVm158OdTbF6Xwc2IiEM+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b12Mw05nKzmZ0; Mon, 19 May 2025 02:54:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J2sZPk077780; Mon, 19 May 2025 02:54:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J2sZkd077777; Mon, 19 May 2025 02:54:35 GMT (envelope-from git) Date: Mon, 19 May 2025 02:54:35 GMT Message-Id: <202505190254.54J2sZkd077777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 9523a569fc02 - stable/13 - sys/net: add a new ether_vlanid_t type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9523a569fc02cf7d61e30016d2eb5e562981fe57 Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=9523a569fc02cf7d61e30016d2eb5e562981fe57 commit 9523a569fc02cf7d61e30016d2eb5e562981fe57 Author: Lexi Winter AuthorDate: 2025-04-15 16:13:23 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 02:49:20 +0000 sys/net: add a new ether_vlanid_t type ether_vlanid_t is a type to represent a VLAN ID, for example inside a .1q tag. since this is specific to Ethernet, put it in net/ethernet.h. change bridge to use the new type instead of uint{16,32}_t. Reviewed by: adrian, kp Differential Revision: https://reviews.freebsd.org/D49836 (cherry picked from commit 96f830456fd449c4cb5a7df8a2f6c3c96993b43e) --- sys/net/ethernet.h | 5 +++++ sys/net/if_bridge.c | 28 ++++++++++++++++------------ sys/net/if_bridgevar.h | 2 +- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index 6a16f6f92b57..8822602d33e4 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -78,6 +78,11 @@ struct ether_addr { (((addr)[0] | (addr)[1] | (addr)[2] | \ (addr)[3] | (addr)[4] | (addr)[5]) == 0x00) +/* + * This is the type of the VLAN ID inside the tag, not the tag itself. + */ +typedef uint16_t ether_vlanid_t; + /* * 802.1q Virtual LAN header. */ diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index dd506d558c99..b385772bdf73 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -270,7 +270,7 @@ struct bridge_rtnode { unsigned long brt_expire; /* expiration time */ uint8_t brt_flags; /* address flags */ uint8_t brt_addr[ETHER_ADDR_LEN]; - uint16_t brt_vlan; /* vlan id */ + ether_vlanid_t brt_vlan; /* vlan id */ struct vnet *brt_vnet; struct epoch_context brt_epoch_ctx; }; @@ -343,21 +343,21 @@ static void bridge_broadcast(struct bridge_softc *, struct ifnet *, static void bridge_span(struct bridge_softc *, struct mbuf *); static int bridge_rtupdate(struct bridge_softc *, const uint8_t *, - uint16_t, struct bridge_iflist *, int, uint8_t); + ether_vlanid_t, struct bridge_iflist *, int, uint8_t); static struct ifnet *bridge_rtlookup(struct bridge_softc *, const uint8_t *, - uint16_t); + ether_vlanid_t); static void bridge_rttrim(struct bridge_softc *); static void bridge_rtage(struct bridge_softc *); static void bridge_rtflush(struct bridge_softc *, int); static int bridge_rtdaddr(struct bridge_softc *, const uint8_t *, - uint16_t); + ether_vlanid_t); static void bridge_rtable_init(struct bridge_softc *); static void bridge_rtable_fini(struct bridge_softc *); static int bridge_rtnode_addr_cmp(const uint8_t *, const uint8_t *); static struct bridge_rtnode *bridge_rtnode_lookup(struct bridge_softc *, - const uint8_t *, uint16_t); + const uint8_t *, ether_vlanid_t); static int bridge_rtnode_insert(struct bridge_softc *, struct bridge_rtnode *); static void bridge_rtnode_destroy(struct bridge_softc *, @@ -2147,7 +2147,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, struct ether_header *eh; struct ifnet *bifp, *dst_if; struct bridge_softc *sc; - uint16_t vlan; + ether_vlanid_t vlan; NET_EPOCH_ASSERT(); @@ -2464,7 +2464,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) struct ifnet *bifp; struct ether_header *eh; struct mbuf *mc, *mc2; - uint16_t vlan; + ether_vlanid_t vlan; int error; NET_EPOCH_ASSERT(); @@ -2761,8 +2761,9 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) * Add a bridge routing entry. */ static int -bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, - struct bridge_iflist *bif, int setflags, uint8_t flags) +bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, + ether_vlanid_t vlan, struct bridge_iflist *bif, + int setflags, uint8_t flags) { struct bridge_rtnode *brt; struct bridge_iflist *obif; @@ -2873,7 +2874,8 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, * Lookup the destination interface for an address. */ static struct ifnet * -bridge_rtlookup(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtlookup(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; @@ -2984,7 +2986,8 @@ bridge_rtflush(struct bridge_softc *sc, int full) * Remove an address from the table. */ static int -bridge_rtdaddr(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtdaddr(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; int found = 0; @@ -3113,7 +3116,8 @@ bridge_rtnode_addr_cmp(const uint8_t *a, const uint8_t *b) * vlan id or if zero then just return the first match. */ static struct bridge_rtnode * -bridge_rtnode_lookup(struct bridge_softc *sc, const uint8_t *addr, uint16_t vlan) +bridge_rtnode_lookup(struct bridge_softc *sc, const uint8_t *addr, + ether_vlanid_t vlan) { struct bridge_rtnode *brt; uint32_t hash; diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 3b96a997f052..8f1de6793340 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -181,7 +181,7 @@ struct ifbareq { unsigned long ifba_expire; /* address expire time */ uint8_t ifba_flags; /* address flags */ uint8_t ifba_dst[ETHER_ADDR_LEN];/* destination address */ - uint16_t ifba_vlan; /* vlan id */ + ether_vlanid_t ifba_vlan; /* vlan id */ }; #define IFBAF_TYPEMASK 0x03 /* address type mask */ From nobody Mon May 19 02:58:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b12Rv46kMz5wLPc; Mon, 19 May 2025 02:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b12Rv2Lk7z4HZd; Mon, 19 May 2025 02:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747623483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kopBknXxxyyUt8L9+AE/T7UmombvmVosbQkJMRaNoZc=; b=u8qorqH05ZL23IHgW5Rz5aGerwSov5C9Y/YUMIQCKCCIufyKlcjDX8rKAIA466DtjJ86WV XiL/+YF8W1Bf2a1B7RZkYqRwL2hWDpZI+PNwt3iDtzGmYUu2UcZydhc+Uph+RdYGdaNTTY OG1UfqQfg4YW7dHJw2BbxuwwYQC7xjBm7DscxlSUZxCvuFqL5Xzcnk5maL6MWbi5q4ViUk +9FQt7xvkSXsLLwbTxkhZJ4FDyv2EVmfMUISIeNNYg1qTpRew2lE5cTacEDZSvq3ocIRGg OsG71Uus++vxt1eWCWJGsi8fSLzobOExaf+eA3IHFBZtF3ITkL9Y8RsEIc66Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747623483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kopBknXxxyyUt8L9+AE/T7UmombvmVosbQkJMRaNoZc=; b=GFuyr5lUdc8kXPxuPtkXaECBzVNlHS3QGhHkuJ6HR0PEIm9dXWUlXK+y2GEH1EKXMvod0D sRczJx88U75ETM441qme+SGZVEp1FDXrLJey32OBWvHn/1n+Gistx9XNWuu6Mg3Cs18PNE RdlxvzGbCVUySOJCwpUtznDJ0qtjaDfVjjBr0CS78eobBu06Ki6EEaJBsF1m8QyZn8m5ix 5kzQHn+/pXiBptynzNqEvkxqS6SVuzYZQlmYGQCxZMOxN7n03xIgsYZuSnOokz3X0pyMZH PzNtzeiyKdJ4q36COEo3/vcw6bOqVwpvJsKdycfkh5iR+GVzNeItlzFQrzI1tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747623483; a=rsa-sha256; cv=none; b=BEg2a29i6/RZyIjnDfh8IFjTI1JR/UVfUYO1YSQUhLDTtCdOT9YT+yN3/FXxb6vZe1ESEx X+j8FZKbqW+mxGg/XnYCbZtysqrdq1+yb3M1j45G3Q94aNF3Wy0HAHOEXg61W4gMpQgHzE BRpvSYcmRdvqE33CRX4qmlNGGM5iy57qxfMSE4SHD+tq6NR/LftZRxYnHJEzgOY8WspuT2 sdc6YS5Yi+DYy0oHfCTDZNLoggVC3ZDL6eSu59mZje/jhT7FjZTXzMv7MWXTmdnrJXpMwf z8yztNjr8HN2gItdVS3HYzHPR1kfKhQ/dPF1XaKN5xWmwbZR0KfGlleBNXBTpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b12Rv1gP2zmZ2; Mon, 19 May 2025 02:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J2w3gh078939; Mon, 19 May 2025 02:58:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J2w3kw078936; Mon, 19 May 2025 02:58:03 GMT (envelope-from git) Date: Mon, 19 May 2025 02:58:03 GMT Message-Id: <202505190258.54J2w3kw078936@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 8f25fac9ce23 - main - cxgbetool.8: Fix some minor mechanical issues List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f25fac9ce2339ab5599e3af0ef7c6a1ea098aab Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8f25fac9ce2339ab5599e3af0ef7c6a1ea098aab commit 8f25fac9ce2339ab5599e3af0ef7c6a1ea098aab Author: Alexander Ziaee AuthorDate: 2025-05-13 00:37:38 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-19 02:56:12 +0000 cxgbetool.8: Fix some minor mechanical issues + Tag SPDX + Macros should not appear in titles, write a hopefully better title + Nm needs to be on it's own line in SYNOPSIS, fold it so this page does not appear in unrelated search results (test case `apropos fw`) + Remove Ns's that do nothing and generate linter errors + Move list initializers to where they render, correcting linter errors Unresolved: This page produces an error when rendered due to the macros table. I don't know how to fix that yet, but I'm interested in learning! Reviewed by: mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50320 --- usr.sbin/cxgbetool/cxgbetool.8 | 177 ++++++++++++++++++++++++----------------- 1 file changed, 103 insertions(+), 74 deletions(-) diff --git a/usr.sbin/cxgbetool/cxgbetool.8 b/usr.sbin/cxgbetool/cxgbetool.8 index a5f345c6b781..f0dee1830a5a 100644 --- a/usr.sbin/cxgbetool/cxgbetool.8 +++ b/usr.sbin/cxgbetool/cxgbetool.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2015, 2018 Chelsio Inc .\" All rights reserved. .\" @@ -29,68 +32,93 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.Dd December 10, 2024 +.Dd May 11, 2025 .Dt CXGBETOOL 8 .Os .Sh NAME .Nm cxgbetool -.Nd Userspace companion to -.Xr cxgbe 4 +.Nd userspace companion to Chelsio cxgbe Ethernet driver .Sh SYNOPSIS .Bl -item -compact .It -.Nm Ar nexus command Op Ar parameter ... +.Nm +.Ar nexus command Op Ar parameter ... .Pp .It -.Nm Ar nexus Cm clearstats Ar port_id +.Nm +.Ar nexus Cm clearstats Ar port_id .It -.Nm Ar nexus Cm clip Bro Cm hold | release Brc Ar ipv6-address +.Nm +.Ar nexus Cm clip Bro Cm hold | release Brc Ar ipv6-address .It -.Nm Ar nexus Cm clip Cm list +.Nm +.Ar nexus Cm clip Cm list .It -.Nm Ar nexus Cm context Bro Cm ingress | egress | fl | cong Brc Ar cntxt_id +.Nm +.Ar nexus Cm context Bro Cm ingress | egress | fl | cong Brc Ar cntxt_id .It -.Nm Ar nexus Cm hashfilter mode +.Nm +.Ar nexus Cm hashfilter mode .It -.Nm Ar nexus Cm hashfilter Ar filter-specification +.Nm +.Ar nexus Cm hashfilter Ar filter-specification .It -.Nm Ar nexus Cm hashfilter Ar idx Cm delete +.Nm +.Ar nexus Cm hashfilter Ar idx Cm delete .It -.Nm Ar nexus Cm hashfilter list +.Nm +.Ar nexus Cm hashfilter list .It -.Nm Ar nexus Cm filter mode +.Nm +.Ar nexus Cm filter mode .It -.Nm Ar nexus Cm filter Ar idx Ar filter-specification +.Nm +.Ar nexus Cm filter Ar idx Ar filter-specification .It -.Nm Ar nexus Cm filter Ar idx Cm delete Op Cm prio Bro Cm 0 | 1 Brc +.Nm +.Ar nexus Cm filter Ar idx Cm delete Op Cm prio Bro Cm 0 | 1 Brc .It -.Nm Ar nexus Cm filter list +.Nm +.Ar nexus Cm filter list .It -.Nm Ar nexus Cm i2c Ar port_id devaddr addr Op Ar len +.Nm +.Ar nexus Cm i2c Ar port_id devaddr addr Op Ar len .It -.Nm Ar nexus Cm loadcfg Ar fw-config.txt +.Nm +.Ar nexus Cm loadcfg Ar fw-config.txt .It -.Nm Ar nexus Cm loadcfg clear +.Nm +.Ar nexus Cm loadcfg clear .It -.Nm Ar nexus Cm loadfw Ar fw-image.bin +.Nm +.Ar nexus Cm loadfw Ar fw-image.bin .It -.Nm Ar nexus Cm memdump Ar addr len +.Nm +.Ar nexus Cm memdump Ar addr len .It -.Nm Ar nexus Cm policy Ar cop.txt +.Nm +.Ar nexus Cm policy Ar cop.txt .It -.Nm Ar nexus Cm policy clear +.Nm +.Ar nexus Cm policy clear .It -.Nm Ar nexus Bro Cm reg | reg64 Brc Ar addr Ns Op Ar =val +.Nm +.Ar nexus Bro Cm reg | reg64 Brc Ar addr Ns Op Ar =val .It -.Nm Ar nexus Cm regdump Op Ar register-block ... +.Nm +.Ar nexus Cm regdump Op Ar register-block ... .It -.Nm Ar nexus Cm sched-class Ar sub-command Op Ar param Ar value +.Nm +.Ar nexus Cm sched-class Ar sub-command Op Ar param Ar value .It -.Nm Ar nexus Cm sched-queue Ar port Ar queue Ar class +.Nm +.Ar nexus Cm sched-queue Ar port Ar queue Ar class .It -.Nm Ar nexus Cm stdio +.Nm +.Ar nexus Cm stdio .It -.Nm Ar nexus Cm tcb Ar tid +.Nm +.Ar nexus Cm tcb Ar tid .El .Sh DESCRIPTION .Nm @@ -155,22 +183,22 @@ A reference on the address must have been acquired previously. .El Display hardware context for an ingress queue, congestion manager, egress queue, or freelist manager. -.Bl -tag -width ingress_cntxt_id -compact +.Bl -tag -width "ingress_cntxt_id" -compact .It Ar ingress_cntxt_id context id of an ingress queue -- the value listed in one of -.Va dev.t4nex.%d.fwq.cntxt_id Ns , -.Va dev.cxgbe.%d.rxq.%d.cntxt_id Ns , +.Va dev.t4nex.%d.fwq.cntxt_id , +.Va dev.cxgbe.%d.rxq.%d.cntxt_id , or -.Va dev.cxgbe.%d.ofld_rxq.%d.cntxt_id Ns . +.Va dev.cxgbe.%d.ofld_rxq.%d.cntxt_id . .It Ar egress_cntxt_id context id of an egress queue -- the value listed in one of -.Va dev.t4nex.%d.mgmtq.cntxt_id Ns , -.Va dev.cxgbe.%d.txq.%d.cntxt_id Ns , -.Va dev.cxgbe.%d.ctrlq.%d.cntxt_id Ns , -.Va dev.cxgbe.%d.ofld_txq.%d.cntxt_id Ns , -.Va dev.cxgbe.%d.rxq.%d.fl.cntxt_id Ns , +.Va dev.t4nex.%d.mgmtq.cntxt_id , +.Va dev.cxgbe.%d.txq.%d.cntxt_id , +.Va dev.cxgbe.%d.ctrlq.%d.cntxt_id , +.Va dev.cxgbe.%d.ofld_txq.%d.cntxt_id , +.Va dev.cxgbe.%d.rxq.%d.fl.cntxt_id , or -.Va dev.cxgbe.%d.ofld_rxq.%d.fl.cntxt_id Ns . +.Va dev.cxgbe.%d.ofld_rxq.%d.fl.cntxt_id . Note that freelists are egress queues too. .It Ar flm_cntxt_id context id of a freelist manager. @@ -227,7 +255,7 @@ T} T{ bitwise and of the source address in an incoming IP datagram with .Ar mask equals -.Ar addr Ns . +.Ar addr . .Ar addr can be an IPv4 or IPv6 address. T} @@ -238,7 +266,7 @@ T} T{ bitwise and of the destination address in an incoming IP datagram with .Ar mask equals -.Ar addr Ns . +.Ar addr . .Ar addr can be an IPv4 or IPv6 address. T} @@ -249,7 +277,7 @@ T} T{ bitwise and of the source port in an incoming TCP or UDP datagram with .Ar mask equals -.Ar port Ns . +.Ar port . T} _ dport T{ @@ -258,7 +286,7 @@ T} T{ bitwise and of the destination port in an incoming TCP or UDP datagram with .Ar mask equals -.Ar port Ns . +.Ar port . T} _ fcoe T{ @@ -273,7 +301,7 @@ T} T{ bitwise and of the ingress port with .Ar mask equals -.Ar val Ns . +.Ar val . The ingress port is a 3 bit number that identifies the port on which a frame arrived. Physical ports are numbered 0-3 and 4-7 are internal loopback paths @@ -288,7 +316,7 @@ T} T{ bitwise and of the 16-bit outer VLAN tag of an incoming frame with .Ar mask equals -.Ar tag Ns . +.Ar tag . T} _ vlan T{ @@ -297,7 +325,7 @@ T} T{ bitwise and of the 16-bit VLAN tag of an incoming QinQ frame with .Ar mask equals -.Ar tag Ns . +.Ar tag . The inner VLAN tag is used if the incoming frame is QinQ. T} _ @@ -308,7 +336,7 @@ bitwise and of the 8-bit IP Type of Service/IPv6 Traffic Class in an incoming packet with .Ar mask equals -.Ar val Ns . +.Ar val . T} _ proto T{ @@ -317,7 +345,7 @@ T} T{ bitwise and of the 8-bit IP protocol in an incoming packet with .Ar mask equals -.Ar ipproto Ns . +.Ar ipproto . T} _ ethtype T{ @@ -326,7 +354,7 @@ T} T{ bitwise and of the 16-bit Ethernet type field of an incoming frame with .Ar mask equals -.Ar type Ns . +.Ar type . T} _ macidx T{ @@ -335,7 +363,7 @@ T} T{ bitwise and of the MAC Address Match Index of an incoming frame with .Ar mask equals -.Ar idx Ns . +.Ar idx . The MAC Address Match Index refers to an entry in the MPS TCAM or in the MPS hash. See .Cm matchtype @@ -348,7 +376,7 @@ T} T{ bitwise and of the Match Type of an incoming frame with .Ar mask equals -.Ar idx Ns . +.Ar idx . Match Type is one of the following: .Bl -tag -width "n" -compact .It 0 @@ -428,21 +456,21 @@ additional operational parameters. Hashfilters require an exact value for the 5-tuple (sip, dip, sport, dport, proto) and for any other match-criteria listed in "hashfilter mode". Possible filter actions are -.Cm drop Ns , -.Cm pass Ns , or -.Cm switch Ns . +.Cm drop , +.Cm pass , or +.Cm switch . .Pp -.Bl -tag -width nat_dport -offset indent -compact Operational parameters that can be used with all filters: +.Bl -tag -width "nat_dport" -offset indent -compact .It Cm hitcnts Count filter hits: 0 or 1 (default). .It Cm prio Filter has priority over active and server regions of TCAM: 0 (default) or 1. .El .Pp -.Bl -tag -width nat_dport -offset indent -compact Operational parameters that can be used with filters with -.Cm action pass Ns : +.Cm action pass : +.Bl -tag -width "nat_dport" -offset indent -compact .It Cm queue Context id of an ingress queue to which to deliver the packet. The context id is available in @@ -458,9 +486,9 @@ Select TCB hash information in rx descriptor. 0 (default) or 1 .El .Pp -.Bl -tag -width nat_dport -offset indent -compact Operational parameters that can be used with filters with -.Cm action switch Ns : +.Cm action switch : +.Bl -tag -width "nat_dport" -offset indent -compact .It Cm eport Egress port number on which to send the packet matching the filter. 0 to dev...nports - 1. @@ -483,8 +511,9 @@ replaces the existing tag with the one provided, and .Cm + Ns Ar tag inserts the given tag into the frame. .It Cm nat -Specify the desired NAT mode. Valid NAT modes values are: -.Bl -tag -width dip-dp-sip -compact +Specify the desired NAT mode. +Valid NAT modes values are: +.Bl -tag -width "dip-dp-sip" -compact .It Cm dip Perform NAT on destination IP. .It Cm dip-dp @@ -546,12 +575,12 @@ to the card. Display .Ar len bytes of data of the card's memory starting at -.Ar addr Ns . +.Ar addr . The card's memory map is available in -.Va dev.t4nex.%d.misc.meminfo Ns . +.Va dev.t4nex.%d.misc.meminfo . .It Cm policy Ar cop.txt Install the Connection Offload Policy (COP) in -.Ar cop.txt Ns . +.Ar cop.txt . A COP offers fine-grained control over which connections get offloaded and with what parameters. Set @@ -645,7 +674,7 @@ Set ULP mode to ULP_MODE_TLS. Use the specified congestion control algorithm. .Ar algo must be one of -.Cm reno Ns , Cm tahoe Ns , Cm newreno Ns , or Cm highspeed Ns . +.Cm reno , Cm tahoe , Cm newreno , or Cm highspeed . .It Cm class Ar sc Bind the connection to the specified tx scheduling class. Valid range is 0 to 14 (for T4) and 0 to 15 (T5 onwards). @@ -653,17 +682,17 @@ Valid range is 0 to 14 (for T4) and 0 to 15 (T5 onwards). Use the specified offload rx queue. .Ar qnum should be -.Cm random Ns , Cm roundrobin Ns , +.Cm random , Cm roundrobin , or a number between 0 and nofldrxq for the ifnet. .It Cm txq Ar qnum Use the specified offload tx queue. .Ar qnum should be -.Cm random Ns , Cm roundrobin Ns , +.Cm random , Cm roundrobin , or a number between 0 and nofldtxq for the ifnet. .It Cm bind Ar qnum Shorthand for -.Cm rxq Ar qnum Cm txq Ar qnum Ns . +.Cm rxq Ar qnum Cm txq Ar qnum . Use when nofldrxq is the same as nofldtxq. .It Cm mss Ar val Set the advertised TCP MSS in the SYN for this connection to @@ -671,10 +700,10 @@ Set the advertised TCP MSS in the SYN for this connection to (in bytes). The hardware MTU table must already have an entry that is suitable for the MSS. .El -.Pp .It Example of a COP. Note that hardware listener for port 22 will be IPv4 only because the rule -before it will prevent any IPv6 servers other than the first two. Also note +before it will prevent any IPv6 servers other than the first two. +Also note that outgoing connections to 192.168/16 are the only outgoing connections that will get offloaded. .Bd -literal @@ -704,7 +733,7 @@ operation. .Ar register-block can be .Cm sge pci dbg mc ma edc0 edc1 cim tp ulp_rx ulp_tx pmrx pmtx mps cplsw -.Cm smb i2c mi uart pmu sf pl le ncsi xgmac Ns . +.Cm smb i2c mi uart pmu sf pl le ncsi xgmac . .It Cm sched-class config Op Ar param Ar value Configure optional feature capabilities for the TX scheduler. .Bl -ohang -offset indent @@ -794,14 +823,14 @@ Consult the adapter documentation for specific information on any limitations. Bind the indicated port's NIC TX .Ar queue to the specified TX Scheduler -.Ar class. +.Ar class . If the TX .Ar queue is .Cm all, * or any negative value, the binding will apply to all of the TX queues associated with the -.Ar interface. +.Ar interface . If the class is .Cm unbind, clear or any negative value, the TX queue(s) will be unbound from @@ -811,7 +840,7 @@ Switch to interactive mode. .It Cm tcb Ar tid Display contents of the hardware TCB (TCP Control Block) for the connection identfied by -.Ar tid Ns . +.Ar tid . .El .Sh FILES /sys/dev/cxgbe/t4_ioctl.h From nobody Mon May 19 03:59:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b13pT2SJgz5wQFh; Mon, 19 May 2025 03:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b13pS4gfDz3dxX; Mon, 19 May 2025 03:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747627152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K30A9f/MOwjc/PT/vht6QsJMBH8LKCwaTH8WqHDaKnY=; b=hUVsW3SUpsZRxmLe5ctFpVPel2/F8ESM5w6j+hCysZgVIKUpKkECpqPfRVhKyDaWDuI6kZ LBsFucSPA5/j1nk6eolEuWlFLmxUN2XrQdNZKF+GFEIdwIWbJFgE9R0OeXiyaCSnwzXgcC ZwUCYAIW1KQt1ZgXr7gtVRJbszC7Z3pMfcJvJEJ5sorEEVE0rN16MNn2dFQokh/0ICiU33 om5X+Fdl7/TwMc5AvK0tiRZee68DxHEKX4Z1MxjlY/FCZBL41FGjGYKfaNP2aJL8c8k12d UwMPioQynLU4IL7a6JRH+DCs71H7azpJiZykE7gYb3uui9S8e9ZTyu3xazwF2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747627152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K30A9f/MOwjc/PT/vht6QsJMBH8LKCwaTH8WqHDaKnY=; b=OsvZBNZCPvNg+JLPlWCeK/qAGtwgDP1Y552DcC7qJ+fVXldPyElBMIsNFLEwLGHACQebaW QB71r/8EtdMzpD3ODUyir6Hf2ZwgrlAVnVlMsJxylvMAut8ihxQbyaEJ8+m2x20MXWLrIi MZwIZt+2mvqEi0hEYAdFUlRFqIVQ7FLQiM+cr4skuepqhZGLS991mF7swKeEoFDDq7ypB6 si2oS8g2CKkNSlJcJQ0ATUiIpL/FNv/42KoKhVvSt5KNS27mZfDBJiWuSIch0zTNfDzfpl 0RfcPA5+OcS4EZD3Ehp8AJC9ojinK+2FzBI/mM8fE4VMUZUeJJ5uVayRAKv/bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747627152; a=rsa-sha256; cv=none; b=JdFMUagwDMn5jvq7AJXsPjVtTtqkIgMUzAMbSnSbDLK9kOZNKAoVQc6TPx33EPrqWc587k 5IRGADusr2kXqHmBZOQJpR2qqOBb97IcBNUf7oXXQWGn8tztoWf4zfwNR09YFdaXz11V+P s+9z+NfCCBE5vmkTFrEzQ6JA0+JrSMObWsVV6fMkA8fzqDMOOVeyn0nE/SdVYch/9tkpB1 UgrpK16zpaWqPlVpS4Jh8NmXaxBOVWKVF4CyZW1v2lnqx5zmnFM4IrGi8LvtlKi4bPDPB1 BCfmbqDOjU/J1O0itK1YgL96chZHK12QG7DWiUxL1yuT9tDkpl0QZh6cul4u4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b13pS3rPKzp1w; Mon, 19 May 2025 03:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J3xCPA093695; Mon, 19 May 2025 03:59:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J3xCGi093692; Mon, 19 May 2025 03:59:12 GMT (envelope-from git) Date: Mon, 19 May 2025 03:59:12 GMT Message-Id: <202505190359.54J3xCGi093692@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 26b3641f97d9 - main - vm_page_grab_pages: avoid doomed range lookups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26b3641f97d9025a7c12b70935098892ae26ca0c Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=26b3641f97d9025a7c12b70935098892ae26ca0c commit 26b3641f97d9025a7c12b70935098892ae26ca0c Author: Doug Moore AuthorDate: 2025-05-19 03:58:00 +0000 Commit: Doug Moore CommitDate: 2025-05-19 03:58:00 +0000 vm_page_grab_pages: avoid doomed range lookups In vm_page_grab_pages, if a range of grabbed pages has just been exhausted, then an immediate request for a new range is futile; we know there's no page there. So only try to lookup more ranges after allocating a page. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D50394 --- sys/vm/vm_page.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index eec85a5eb6f4..ea6fbdbc6386 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -5164,14 +5164,13 @@ vm_page_grab_pages(vm_object_t object, vm_pindex_t pindex, int allocflags, i = 0; vm_page_iter_init(&pages, object); retrylookup: - ahead = 0; + ahead = -1; for (; i < count; i++) { - if (ahead == 0) { + if (ahead < 0) { ahead = vm_radix_iter_lookup_range( &pages, pindex + i, &ma[i], count - i); } - if (ahead > 0) { - --ahead; + if (ahead-- > 0) { m = ma[i]; if (!vm_page_tryacquire(m, allocflags)) { if (vm_page_grab_sleep(object, m, pindex + i, From nobody Mon May 19 04:30:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b14VR5dhdz5wRtF; Mon, 19 May 2025 04:30: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b14VR3NWnz3v2Q; Mon, 19 May 2025 04:30:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747629023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DYO50RzQwrXGaBBDZXRGd3GxftNlL9Mio71SXboFGdg=; b=vx5zk5FYSATV1Q/Kz0kAWuw+cam1CeoyVmTDLg/p/LFyWSYJ/OAtqOZjwxvqU8cpHv3upf IOOumVnU9YFbfuXfWAi2QKXfhg1bRUdMpuvlXguivBexKbj1BDfhPZJZ99ocGRUkdJ4HD9 FeydJIFI3Rbt5kjMq4FcIw0+GeMT1KC0EAplRaANFYc1sBoIyGHJROzpymOszxady07DsR ycdQtRqq+m9D4QIeFxjgfYqnEb7PsI0CFtkJ+1SXYq9+aqSx3+UT64RJaobEw/1wN5943l yyHtkIb69fwJ+bj7YWqHQhQ9wP3a8PkXEZbOs3kTJ9UDRZoBe4Xe8EBgIw+FkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747629023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DYO50RzQwrXGaBBDZXRGd3GxftNlL9Mio71SXboFGdg=; b=T74otjhAY7IBy53y/6H7tF4pmSLRj8zQPGJ6BmhAVI+A9TdxVhlUwfVKdZCdcnFJZMxhDn EiQvNRNyQXkfKkT9bZGwuU+e7KDR4cIOdsK/24nQnhkZoLPvDOUoEmejfj/7yFVkDUtKHO FsTiO9b7wpZvU+Ndn1j3n4U+akuKazDbNQ3Q7GsVoHlnxYBiRFUfQeJUjv0MbYh8ekie9R oUGdQv+6LczHhp9EXPGLz6XHx0QZFwrx068zBWJ1dwYJxtA/NGwqCjyBKM8GoeyGs3khPs wg3uKgDdmeSlYMomDKbDy2AT5jjr2RFH+qVwwW7Y9yA2ukXjW0CSelIXVPeAiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747629023; a=rsa-sha256; cv=none; b=u2uFQiJIQbQXOu3WWZzcin6w9MLMy9HzDUh+rxdOOfhVRww2DeL1Cf0TF38t0LeKVRfFGx ApMnHAp10VSnAciZIRJHN5f/tcMp9JyF3Ql+EfUgQjV+xKDKTMUcxmPPE4TAIObnyaZWC1 htGoag0V9fzqAE20vv0mRjIst14O4/WbkNXIryL4KR6uAAgAtCIPiW12lVj1ZkWeckQhKB RNc/xiu7GpYxIH8Qi/ExGdu0TDa0QFM1UheKXlgqqsyeLEaeYAko1Lzlq/myVL/P3U5O4T prXEr21ORE2AA4SRwjTcfjDAThl8L8vtw6NobuBdrhzkFZ8/eycP5usW5AJ18A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b14VR1dNJzptx; Mon, 19 May 2025 04:30:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J4UN76059576; Mon, 19 May 2025 04:30:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J4UNKh059573; Mon, 19 May 2025 04:30:23 GMT (envelope-from git) Date: Mon, 19 May 2025 04:30:23 GMT Message-Id: <202505190430.54J4UNKh059573@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: cf47e6d4e14a - stable/14 - sys/cdefs.h: add __nodiscard annotation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cf47e6d4e14ab97d42317cb653926a0b6f9a21e9 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=cf47e6d4e14ab97d42317cb653926a0b6f9a21e9 commit cf47e6d4e14ab97d42317cb653926a0b6f9a21e9 Author: Lexi Winter AuthorDate: 2025-05-09 21:28:14 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 03:04:26 +0000 sys/cdefs.h: add __nodiscard annotation __nodiscard adds the [[nodiscard]] attribute to a function, type or constructor in C or C++, causing a value so marked to issue a compiler warning if it is discarded (i.e., not used or assigned) other than by casting it to void. this replaces the existing __result_use_or_ignore_check, which has a similar purpose but different semantics. since __nodiscard provides more functionality (at least in GCC) and __result_use_or_ignore_check only had a single user, remove __result_use_or_ignore_check. [[nodiscard]] has been supported in C++ since C++17, but only in C since C23; however, both LLVM and GCC implement it even in older language versions, so it should always be available with a relatively modern compiler. for Clang, [[nodiscard]] in C is only available since LLVM 17, but we can fall back to __attribute__((__warn_unused_result__)) which has the same semantics and provides support back to (at least) LLVM 11. GCC supports [[nodiscard]] in both C and C++ since at least GCC 11. for GCC, we can't provide a fallback as the semantics of its warn_unused_result are different, but since __result_use_or_ignore_check isn't defined for GCC anyway, we don't lose anything here. MFC after: 2 weeks Reviewed by: des, emaste Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50217 (cherry picked from commit 7e0c5e0128c43bbae78190911aead8e1d9475ba5) --- sys/sys/cdefs.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index dc5221343dc3..209acc842839 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -393,6 +393,44 @@ #endif #endif +/* + * nodiscard attribute added in C++17 and C23, but supported by both LLVM and + * GCC in earlier language versions, so we use __has_c{,pp}_attribute to test + * for it. + * + * __nodiscard may be used on a function: + * __nodiscard int f(); + * + * or on a struct, union or enum: + * struct __nodiscard S{}; + * struct S f(); + * + * or in C++, on an object constructor. + */ + +#if defined(__cplusplus) && defined(__has_cpp_attribute) +#if __has_cpp_attribute(nodiscard) +#define __nodiscard [[nodiscard]] +#endif +#elif defined(__STDC_VERSION__) && defined(__has_c_attribute) +#if __has_c_attribute(__nodiscard__) +#define __nodiscard [[__nodiscard__]] +#endif +#endif + +#ifndef __nodiscard +/* + * LLVM 16 and earlier don't support [[nodiscard]] in C, but they do support + * __warn_unused_result__ with the same semantics, so fall back to that. + * We can't do this for GCC because the semantics are different. + */ +#ifdef __clang__ +#define __nodiscard __attribute__((__warn_unused_result__)) +#else +#define __nodiscard +#endif +#endif + /* * We use `__restrict' as a way to define the `restrict' type qualifier * without disturbing older software that is unaware of C99 keywords. From nobody Mon May 19 04:36:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b14f44wkqz5wSNY; Mon, 19 May 2025 04:37:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b14f35M28z3ws7; Mon, 19 May 2025 04:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747629419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjtXP54HpVIgGb5hXfRVE0RcclddrAipPFqOD3F002A=; b=S8RItbjqlU7kEJJtFvrpaF0W3GI3tZB1TiQthHUMREBim4GSYiZCxGhmnNgs6nG6mo0IL8 uCtc2P4WFIrSbcHMIPnBpfR2KArF+H7bxbdJurqofBovSVm7cB7wUlCkg+jwF759mSbsjC heCbYu8xyqqwA/5JjYOXDBUm9nzbSn8r5Ac8WSUClfNMGyj4OT0OpF9knMbv4zfeb1VUvm A1I9J+pmP9FRJJM5CnVwgwXwMmQb7hSKw/i9sEUTjlfS6tzvmTuK0VggzcECq+fI+3IT+B 2GQr6RhJfeeJ4GpeEuX1xq11ZyJTBQgLtSfr40AxwCGPEtgDedJbgZ+jtAFB2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747629419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjtXP54HpVIgGb5hXfRVE0RcclddrAipPFqOD3F002A=; b=B1uJj7gIv8e0q5MfpRVI1F5rtu4zRlM2isM4fGolUFgCYxZ6AHj8/D23Wz61pKKzJ9U5yH NqQdun+D4ErP2kPdgPOkurfPTs7C/Fg+Cx8M4l/4iYEUhSOYTj7BPCc902UR90p6RKXaCr Nx2gp+e+9cukolCiGNYAbrnPAPJslZNgaAYMZwmeEhhEqCEApY65iCNt7kOTwUiVV7wJfL n4s3msKdYJ9+o4QxOXLQ3Zau9YVqsBCd5F0MDmmnEJmZav/xstu085x4k8u9LTAAKFrets O+5HmybTKs11oQS4B4jhe0kD+8H8IficVnRpFOHet2u/zO4frZdrWjUzBGuNPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747629419; a=rsa-sha256; cv=none; b=ySno066eW0hp45IS7CKFFHiW2QKG04a+DnUSW183muWvq5zXmcxe72GFKAT3rPjxz3qNBf aRnKK7v7OQbF7MgJJJFSIX7Vl3V5fyDq67Vtf6HLCrBuklLf9BWw1GvFF7xgdVULa8sPQl MXO5laY1JgzDsYUREd6e6/triSXZP7NyGoolPCGetVD1ruQl1GeQPX508IdJr3mF9neY7U vnn+KQkf2jQf6/KylVXorAQ4QcBrtmUrGHmTqIcxFqHhSg9EVoUU7Gh23+bEOPgW3CvChD dbc4mbzzA14jtoAR66tFZfaeAELK0Jz7Xq+ewgg6rn1LFwU/vuP5VjWTpAnwYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b14f34ZRMzqBF; Mon, 19 May 2025 04:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J4axWS068114; Mon, 19 May 2025 04:36:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J4axmX068111; Mon, 19 May 2025 04:36:59 GMT (envelope-from git) Date: Mon, 19 May 2025 04:36:59 GMT Message-Id: <202505190436.54J4axmX068111@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: ad2d7e594f6d - main - ifnet: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad2d7e594f6d519be6e9674c8048a406a453fef9 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ad2d7e594f6d519be6e9674c8048a406a453fef9 commit ad2d7e594f6d519be6e9674c8048a406a453fef9 Author: Zhenlei Huang AuthorDate: 2025-05-19 04:35:55 +0000 Commit: Zhenlei Huang CommitDate: 2025-05-19 04:35:55 +0000 ifnet: Fix a typo in a source code comment - s/possiable/possible MFC after: 3 days --- sys/net/if.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if.c b/sys/net/if.c index 21e3b1a8576a..974ff3af4f61 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -871,7 +871,7 @@ if_attach_internal(struct ifnet *ifp, bool vmove) */ namelen = strlen(ifp->if_xname); /* - * Always save enough space for any possiable name so we + * Always save enough space for any possible name so we * can do a rename in place later. */ masklen = offsetof(struct sockaddr_dl, sdl_data[0]) + IFNAMSIZ; From nobody Mon May 19 05:24:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b15hX4wjdz5wWRS; Mon, 19 May 2025 05:24:12 +0000 (UTC) (envelope-from ivy@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b15hX1lJzz3RNW; Mon, 19 May 2025 05:24:12 +0000 (UTC) (envelope-from ivy@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747632252; 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=mCkOsJDH5glgcEBiD4MmWH93tv0wLegghs7cY9VZwPE=; b=jrKAdrefTu72DHWEWp/ac5e81lvAD2VpYWJ09xNXIQWZVGXRD47OhtHNiZaC7eeiNkJqKJ u3RHnVeLHYXiSUQ3yfSvNrOx7Tkj2ynImWoARf0yF3/xKUuKZEzAo+lSRMXgXqVlR1FfSq h5UhLBAk0IXyb1Xmu7PofTFxQdW0GpU962KQLYEHzTzV5+fTB812m57cQlHQtnEJR1cDTr gzqDzRx3X3QbPNim4lRhH8NMvnFiQcAEu+TC24S6oRvAKWhzRTnHeAX3l3WW1oGjzmnQ97 59DDJk5s5/znyX1pTFe06px5J0+Smm8+EGFycioT3G3V8Eq+9mmRaUrZIdsZXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747632252; 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=mCkOsJDH5glgcEBiD4MmWH93tv0wLegghs7cY9VZwPE=; b=WymQYNKQG161PChC/coGOOy3htfcUAsyZh4mGLQ2uJPz4SnqpHxCoAimhRaty1ggqLeGyi glP+8DpVQnSHnPqFHuNFVLnTKdaBZDPKPIRauQgy7kF3Mj7dHjXtUyDdAr2RxkjBBxqAyH H0k5Y+LuLBIhDqcemw2Y5ouSuZbJDyn5mtV9eP4n0mLW7YoW9tAihCAXsT+92yopD58AIQ LKMqW18gaOvyQfmdARFSOlS82xQeb1M649XXLQgw2j/8TgOYZ5BWrXUQB5q6MNtRkHJMin C72eVm+35RrmQgXC4RXbd4Le+5YW4bgLQnnzkD3Qx7q1AaUc59Dm7IC1tV/czQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747632252; a=rsa-sha256; cv=none; b=WmsAsHnGJGyS2xXwBTnoPw9T39/Su+XLM/rusyB0Nw20zZ7vmgwlwNyc/+YhuVVdMOClmz FAMKreQoepquLOTdsweVS+PPK1f/whAWkiNTxY4if+/Qeh87gnKhxl9r+/xZHk7E/Elgpy qGUt6tvMO1I2Y4AQd27hiEcOdrbCMp0/AqpbC034sgA46oBf6gAgQM+dA/0WC5QooXOrWx Wcx17v+QOIBa4d4jzdWQXmzYa12PFtItei7tNri4EdYGQ76Xfei0Ad+NeX0YYoccU9hpeb tvgG2VygKSWS8J3B8pWz07U8K+0CA6yKA8MTujOT/Hwcc+xgExj6pCraToHxdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ragweed.eden.le-fay.org (ragweed.eden.le-fay.org [IPv6:2001:8b0:aab5:c401: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) (Authenticated sender: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b15hW3W5Tz5dZ; Mon, 19 May 2025 05:24:11 +0000 (UTC) (envelope-from ivy@FreeBSD.org) Date: Mon, 19 May 2025 06:24:07 +0100 From: Lexi Winter To: Jessica Clarke Cc: Mark Johnston , Mitchell Horne , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Message-ID: Mail-Followup-To: Jessica Clarke , Mark Johnston , Mitchell Horne , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <82C39393-F26D-4E7B-B62A-5CC9C85BAD1A@freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="4gevwjlrXrj/OKlk" Content-Disposition: inline In-Reply-To: <82C39393-F26D-4E7B-B62A-5CC9C85BAD1A@freebsd.org> --4gevwjlrXrj/OKlk Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Jessica Clarke: > That would go some way to helping, but I really do not want =E2=80=9CI wa= nt a > tap interface for a VM=E2=80=9D and =E2=80=9CI want devd+dhclient to mana= ge DHCP for me > automatically=E2=80=9D to be incompatible, which based on the thread here= it > sounds like they are. this is not supposed to be broken, or at least, i think we want to continue supporting this even if it requires configuration changes. if i understand your use-case correctly, you are relying on devd to start dhclient on an interface when the link comes up, when this interface is also a member of a bridge, is that correct? if so, are you able to modify your devd event script to run dhclient on the bridge instead? --4gevwjlrXrj/OKlk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaCrAdgAKCRD1nT63mIK/ YBbZAP9A1famfrlm7CJEVNRYVpUN8Cdn67PKfFw4bpwNrBr6twEA60Wf409cRPsQ TaSjbVYbx14dQyH4SfDBcvhTirvewQ0= =IQSS -----END PGP SIGNATURE----- --4gevwjlrXrj/OKlk-- From nobody Mon May 19 05:29:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b15qH54j0z5wWjM for ; Mon, 19 May 2025 05:30:03 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b15qH2b55z3V3C for ; Mon, 19 May 2025 05:30:03 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso25662605e9.3 for ; Sun, 18 May 2025 22:30:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747632602; x=1748237402; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jVcM1OA/sllDzGKIS0bCWj1li1tDp2zdxT5c+3UyrBk=; b=uM4PCvZANHIu+E7+wbWXiPkaag2EExTQQnu6JsESo2mA+j1I/NRAwD1SxqjAsTE/X1 nR65I3WeJv7nBt7UM0VJbb1O1S2Leh1I9WOB28VrRYvZHl//3xcS78xbZenYvF71E1bp VcLOO0q2L2KnwLChYxjKEHBm1uAiiZpDQ2DM0mjWUCxtL/AncmtnXkowVGmZUks7poEW 03iEtbEOV6TY1Rah1TFLAYQDrQ2uHARcjMU788mCoJFCd27F+cM2VkFhDmiBaSOkkbE0 25BKZ56tbc5ImqPtVO85GZyihFezyX0DtaGaoBoG2zQv2hOrxSjmSTDgpVzRs5/Pd4QM XG6g== X-Forwarded-Encrypted: i=1; AJvYcCUQoa6did6U+S1umXsi4yuQAwNZD547Dpk7D6RCI+vkwU9jTXvRst7yl6vEC1IRY9SGPHEEA+zjYqV9bS8ovJTuwTqN@freebsd.org X-Gm-Message-State: AOJu0Ywk1o1+z68OeF4HQvg+2qrvRMEunoQCP9EvWkZClpIoExpH2Hcq Ki4UB/2ZL5wgVM3bLJT0b1Mro9hUvhygq7OeA0reBx5afkPpYaiqPiIIhnh3V33bI3kxUZrwMyZ UESlI X-Gm-Gg: ASbGncteeJ/IX5ObH4ZB6mjkOJ608HIN20gUJP+LpOkgk4h4H7qCo8OP2ja31EFnmEH M7HKabsMiahfq6oAjvtIRH7QksYGd1XXci0oH90ldolQ0yZnGnUALG2XQJmtNkHzO1vb2UFLqUB ku+m+d6hsIbxvlP1QgkEfpfzhYfqMMEv7j8kCCFluD0atIcBp1htlTQX3EWCEN9ZvsAk4IP7LCR I1zow+wKOrjKLPoTMUQXwtsqg/0MViNY+1j/AZLINryMZ/x8h0Tbvuzn2cBgq7AvZCkgpirkrOr zFuJXrjUtOIXRT8wnT2VcPKBusoCf7Qd0ro0Tuf931txplIYExIlSVkJT6lEMyu9/g== X-Google-Smtp-Source: AGHT+IGkbK1Vtds7IjJ6v6x25md7coGT4fmDc/JVCN22hDk96MlNkeP4nwOCDy9hwynqdBPA3lcMPw== X-Received: by 2002:a05:600c:4449:b0:441:ac58:ead5 with SMTP id 5b1f17b1804b1-442fd67591fmr119452165e9.31.1747632601542; Sun, 18 May 2025 22:30:01 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442f33691f2sm195758305e9.3.2025.05.18.22.30.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 18 May 2025 22:30:01 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false From: Jessica Clarke In-Reply-To: Date: Mon, 19 May 2025 06:29:50 +0100 Cc: Mark Johnston , Mitchell Horne , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <972DBF16-1E5D-4679-B378-76B14AEFF4FD@freebsd.org> References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <82C39393-F26D-4E7B-B62A-5CC9C85BAD1A@freebsd.org> To: Lexi Winter X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Rspamd-Queue-Id: 4b15qH2b55z3V3C 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-Spamd-Bar: ---- On 19 May 2025, at 06:24, Lexi Winter wrote: >=20 > Jessica Clarke: >> That would go some way to helping, but I really do not want =E2=80=9CI = want a >> tap interface for a VM=E2=80=9D and =E2=80=9CI want devd+dhclient to = manage DHCP for me >> automatically=E2=80=9D to be incompatible, which based on the thread = here it >> sounds like they are. >=20 > this is not supposed to be broken, or at least, i think we want to > continue supporting this even if it requires configuration changes. >=20 > if i understand your use-case correctly, you are relying on devd to > start dhclient on an interface when the link comes up, when this > interface is also a member of a bridge, is that correct? >=20 > if so, are you able to modify your devd event script to run dhclient = on > the bridge instead? This is just devd=E2=80=99s default rules, /etc/devd/dhclient.conf. Jess From nobody Mon May 19 06:03:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b16YY0r4Jz5wYq0; Mon, 19 May 2025 06:03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b16YY0C6Bz3k1y; Mon, 19 May 2025 06:03:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aJYb7FgFdW3aguxH11ajHaXZeuBW+C2cqVR9yx5KZ0M=; b=gSf81e2hWLCKNBET8qPHcmOiuMLsivjKGUdsLSePIiZadoTG35720BLVlCnND5pdz5iIUR LOZHbs2glQbO42sum4LPV6uPRe3AJVHMf4Umio2qKW8Y00bCVJNzACVXheBOIKBfAo1TrB wUGISDUNFCh1vtKsklxFXlqNiMMwUqmzH3HM6R66Z67TRhQ/bKAkKn6lTthIJxEV/mQpFQ 5oRm6KJVDyQ2ozf2oS6OTAdNx9TbWStMhbj3LthVuGdktp5U6pIjrbcUTScMAAkaInV8Be wc7PKUJsRJQT132dEXMs6HxM9heHaw1eYzVMLu1+W4BWLZZYtFBxuxI6/MRaPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aJYb7FgFdW3aguxH11ajHaXZeuBW+C2cqVR9yx5KZ0M=; b=Vtyd0oJynl8++Y7a9lKPAJkV2fPzxL68XOLrtE9I2aDl7+COflOqKPj5Zny5No5qtm5Qur T8gOADPsvpjqOeIQK4stKu+BmvMchFFU8EEEKmAuP7goH/PUX2hhMYGk12gW54ydLgEzo9 vlTIIhK0IjSvB/HVuXMSJMm6f06yn+v4Z45HILpprcY9hs/NBRWQeRAD5W/V18RPa9k62R pqOZJr4VBi2KDys7Kp+XeUOZXiSD3f2z+hokg7wKTaS/rkw173tX6yW3Sx35ItUBlf44ML Mc7Qu54f5goM7WsiJZKBPIYY/IrP0VTi4ObuxaXYhTADBoyf0ehbYFfli8fS3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747634593; a=rsa-sha256; cv=none; b=CoVGL3vDegr7EGN0rH+/dN6wiJ8GP/F/SIqJdcpeVMr+1tGygf+Lt7s4duU9AabnmZnmAI yfpAu53rkgew8AWDHyoEh783L3pWawbYxA/VR4PWEJiw8HWBd7/tKQgE0a80Mby9cnMYRs F2fy0dcknPuDylB48qdWQ1FvysE7n5TVR9gqYr5UMYDdzkpZgEFhA8AcJfkxD7OMe4GAnL jtaCot+DuG6IP7z6oRybwVwRFpfUgKCGqYP8EhZ80p4exjcfMgpduuA9mh3mJ4oR+tbqLA /MBTSx7Dzkq0ZH/wOhAZTvATPHtJ9tiBAk2qCiXk8Kipv6LITRognZXMpUZYGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b16YX6tStzsK5; Mon, 19 May 2025 06:03:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J63CZJ036357; Mon, 19 May 2025 06:03:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J63C6e036354; Mon, 19 May 2025 06:03:12 GMT (envelope-from git) Date: Mon, 19 May 2025 06:03:12 GMT Message-Id: <202505190603.54J63C6e036354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 6a4a86c2664c - main - namei.9: minor editing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a4a86c2664c368e31f71c41206685d02543a237 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6a4a86c2664c368e31f71c41206685d02543a237 commit 6a4a86c2664c368e31f71c41206685d02543a237 Author: Konstantin Belousov AuthorDate: 2025-05-19 05:59:53 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-19 05:59:53 +0000 namei.9: minor editing Noted by: des Sponsored by: The FreeBSD Foundation --- share/man/man9/namei.9 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index 63e1a5de02ea..3f2f43e94cd1 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -323,7 +323,9 @@ mount point indicates extended shared lock support. .It Dv NOCROSSMOUNT Do not cross mount points during lookup. .Pp -For .. lookups leading to mount roots, returns the root vnode of +For +.Dq .. +lookup leading to mount root, returns the root vnode of the mount instead of the covered vnode of the filesystem where the mount was placed. .Pp @@ -370,9 +372,10 @@ or flags. .It Dv ISLASTCN This is last component of pathname. -It is handled specially, many flags augments its processing. +It is handled specially, many flags augment its processing. .It Dv ISDOTDOT -Current component name is .. . +Current component name is +.Dq .. . Usually implies a need to specially handle the vnode locking for instantiation of the target vnode. The generic From nobody Mon May 19 06:07:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b16g33cRvz5wYgM; Mon, 19 May 2025 06:07: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b16g339WYz3m8T; Mon, 19 May 2025 06:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P4IAZLVbXJkJOMqUVpMyEE8sm+pGQ0rouanmkb5MNIQ=; b=UNTmiYKoI47Ap8tz2F2Wb8v/8EVsc8vSj8q2nXxvUsYHg7EVjhne9Wg/GMjpvUIj8nkEgq JJxOge1JdsQxiVC63V5TC4Ear/XLAvWhFDnAKE6/TT/1WVwNYt3Vv+4APrZY6+p2GSddAF LNX3QIEEf67iBxFSggOwcM+YTw/1t944VrkcndNLgPcTbi8Cgzv/YLhCSzyeA7LYQR6LBQ tGL8LwAhBWGHNC9wnd8WufS9Z9OEkfwPQdWk350TCepD//YlMuyL0OEa9yAlKOhAQkn2eK vNsDVrUTh13a3TzsDngiTuWjDAAtYBKSDbz90fhDVz7BDJw6ySE333GS9HoMVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P4IAZLVbXJkJOMqUVpMyEE8sm+pGQ0rouanmkb5MNIQ=; b=Eiu5vFS7QOS30BFMSi/nqNVYJ3RzJOTwAlAWPJAQeGMn+hhOKE8XzmthSW5FJiQjUnjEE8 ENB7snbJEN4AmlzWqlKNGnXD9wkXLfhr1Osz9XQIaf4SZrpIgmvNoKdqdM4X2primEumEH ICgxi5OGN9RzjZUy44GsRpAeRlDo2DUCK1yWrME+tvsBjAC8EsbGjAgvg5S5bj7Rp9wqGW DJsxoDZ9lzr3KlxHbGTU8gWfjDbQodvzefq98dEjIpFGc5DoIcjmzGZ6v7TN+DFixPGwIe in2cUmgQ1JkF/YZ300++szd2Bj7hiLQMG3vl5m1S3FyfRnXFub3167b+tyJZWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747634879; a=rsa-sha256; cv=none; b=RhscC/kYiGKfsdHfUaoYVYks7AC5lWqoTzGgC0SEBCT1OLBWPhw4DmfIGHl7odYXiUbocW pGi/sT0qO8m8ExO2W7rDwOQWqKFsgG2BIy5Arkoxf/0lnqIgN2+wAO2Au6hvS4NJrBlcT6 SXDemwnwqvGiATAufB+aEHdWTdlxKc98MpUf87aLV6pf9ZUiL/HezvtqzucCHlXqzlhA4k 8Xo6+8km7uNi/PfhKRfwwqvwj1oIBMMhAw8XFYMMyKnSvuG8cMH7BzhyOGVGZaDJIJuQoR bjRy2Brcv0eFKqd1KylQ8Mhzg9Q59ukb7mdD0L003Nn/J+6MtCfgAuf7WjVsQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b16g32ZKZzrnY; Mon, 19 May 2025 06:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J67xcC037848; Mon, 19 May 2025 06:07:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J67xVg037844; Mon, 19 May 2025 06:07:59 GMT (envelope-from git) Date: Mon, 19 May 2025 06:07:59 GMT Message-Id: <202505190607.54J67xVg037844@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: c0fdd2bf944b - main - pthread_switch_add_np(3): remove List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0fdd2bf944bb646116c6cd9879560579ebaa563 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c0fdd2bf944bb646116c6cd9879560579ebaa563 commit c0fdd2bf944bb646116c6cd9879560579ebaa563 Author: Konstantin Belousov AuthorDate: 2025-05-16 13:25:34 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-19 06:07:43 +0000 pthread_switch_add_np(3): remove The interface is not functional with libthr and returns not supported error always. There is no point in providing it to userspace or document. The symbols are kept for ABI compatibility, of course. Reviewed by: emaste, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50376 --- include/pthread_np.h | 7 --- lib/libthr/thread/thr_switch_np.c | 5 +- share/man/man3/Makefile | 2 - share/man/man3/pthread_np.3 | 10 ---- share/man/man3/pthread_switch_add_np.3 | 86 ---------------------------------- 5 files changed, 4 insertions(+), 106 deletions(-) diff --git a/include/pthread_np.h b/include/pthread_np.h index 8f0180d4bd04..dcc762156a67 100644 --- a/include/pthread_np.h +++ b/include/pthread_np.h @@ -34,11 +34,6 @@ #include #include -/* - * Non-POSIX type definitions: - */ -typedef void (*pthread_switch_routine_t)(pthread_t, pthread_t); - /* * Non-POSIX thread function prototype definitions: */ @@ -67,8 +62,6 @@ int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); -int pthread_switch_add_np(pthread_switch_routine_t); -int pthread_switch_delete_np(pthread_switch_routine_t); int pthread_timedjoin_np(pthread_t, void **, const struct timespec *); __END_DECLS diff --git a/lib/libthr/thread/thr_switch_np.c b/lib/libthr/thread/thr_switch_np.c index 80cd34c15650..59a9a4c7e1a3 100644 --- a/lib/libthr/thread/thr_switch_np.c +++ b/lib/libthr/thread/thr_switch_np.c @@ -40,10 +40,13 @@ #include "thr_private.h" - __weak_reference(_pthread_switch_add_np, pthread_switch_add_np); __weak_reference(_pthread_switch_delete_np, pthread_switch_delete_np); +typedef void (*pthread_switch_routine_t)(pthread_t, pthread_t); +int _pthread_switch_add_np(pthread_switch_routine_t routine); +int _pthread_switch_delete_np(pthread_switch_routine_t routine); + int _pthread_switch_add_np(pthread_switch_routine_t routine __unused) { diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index a1a5febb2bf8..5469a69ab265 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -462,7 +462,6 @@ PTHREAD_MAN= pthread.3 \ pthread_spin_lock.3 \ pthread_suspend_all_np.3 \ pthread_suspend_np.3 \ - pthread_switch_add_np.3 \ pthread_testcancel.3 \ pthread_yield.3 @@ -527,7 +526,6 @@ PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3 \ PTHREAD_MLINKS+=pthread_spin_init.3 pthread_spin_destroy.3 \ pthread_spin_lock.3 pthread_spin_trylock.3 \ pthread_spin_lock.3 pthread_spin_unlock.3 -PTHREAD_MLINKS+=pthread_switch_add_np.3 pthread_switch_delete_np.3 PTHREAD_MLINKS+=pthread_testcancel.3 pthread_setcancelstate.3 \ pthread_testcancel.3 pthread_setcanceltype.3 PTHREAD_MLINKS+=pthread_join.3 pthread_peekjoin_np.3 \ diff --git a/share/man/man3/pthread_np.3 b/share/man/man3/pthread_np.3 index caab8cc13209..9fb2544dd3c9 100644 --- a/share/man/man3/pthread_np.3 +++ b/share/man/man3/pthread_np.3 @@ -132,16 +132,6 @@ Suspend the specified thread. Suspend all active threads. .It Xo .Ft int -.Fn pthread_switch_add_np "pthread_switch_routine_t routine" -.Xc -Install a routine that is called every time a thread context switches. -.It Xo -.Ft int -.Fn pthread_switch_delete_np "pthread_switch_routine_t routine" -.Xc -Remove a routine that is called every time a thread context switches. -.It Xo -.Ft int .Fo pthread_timedjoin_np .Fa "pthread_t thread" "void **value_ptr" "const struct timespec *abstime" .Fc diff --git a/share/man/man3/pthread_switch_add_np.3 b/share/man/man3/pthread_switch_add_np.3 deleted file mode 100644 index f02ff15eedc3..000000000000 --- a/share/man/man3/pthread_switch_add_np.3 +++ /dev/null @@ -1,86 +0,0 @@ -.\" Copyright (c) 2003 Alexey Zelkin -.\" 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. -.\" -.\" 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. -.\" -.Dd October 12, 2021 -.Dt PTHREAD_SWITCH_ADD_NP 3 -.Os -.Sh NAME -.Nm pthread_switch_add_np , -.Nm pthread_switch_delete_np -.Nd thread context switches debugging primitives -.Sh LIBRARY -.Lb libpthread -.Sh SYNOPSIS -.In pthread_np.h -.Ft int -.Fn pthread_switch_add_np "pthread_switch_routine_t routine" -.Ft int -.Fn pthread_switch_delete_np "pthread_switch_routine_t routine" -.Sh DESCRIPTION -An application is allowed to monitor the thread context switches inside -the threading library. -An application can install a routine that gets called every time a thread -(explicitly created by an application with the -.Xr pthread_create 3 -function) gets the context switched. -The routine is passed the thread IDs of the threads that are -being switched in and out. -Installation and removal of these hooks may be done using the -.Fn pthread_switch_add_np -and -.Fn pthread_switch_delete_np -functions respectively. -.Sh RETURN VALUES -If successful, -these functions return 0. -Otherwise, an error number is returned to indicate the error. -.Sh ERRORS -The -.Fn pthread_switch_add_np -may fail if: -.Bl -tag -width Er -.It Bq Er EINVAL -.Dv NULL -pointer was passed in the -.Fa routine -argument. -.El -.Pp -The -.Fn pthread_switch_delete_np -may fail if: -.Bl -tag -width Er -.It Bq Er EINVAL -The -.Fa routine -argument is different from the argument previously passed to the -.Fn pthread_switch_add_np -function. -.El -.Sh SEE ALSO -.Xr pthread_create 3 , -.Xr pthread_np 3 -.Sh AUTHORS -This manual page was written by -.An Alexey Zelkin Aq Mt phantom@FreeBSD.org . From nobody Mon May 19 06:08:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b16g46zwxz5wYjL; Mon, 19 May 2025 06:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b16g448d1z3mBq; Mon, 19 May 2025 06:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNTeyeNLBugHMQAoC1sRrGkGTEFnRHAnFTSG1smfVeI=; b=Mfo3W+rSZOhL4ylxHmDXWaJ8JYpfmAe5y9D2LPHWygAA31fkYqQkenGU3ro1v1vm+25WUW jv4GDVSv27+uf/ijMsAjZy2j695L60jynPaip20VoVAYLEc19yjKsK5Lisb+E/aePqUboG 3lzcrl6w53m8/nhK+VQ7rclh5yV0omXveezFYVdNJ+vuyEea3Dr0cnqMizJR7o0PgRJDFg s33by/uYdI/zXtyZhj78o+Sg9IfA5Y+lljYDEFcuigJe89BsOrJtrUD91o+THGQv0Wrv9l NxJS6jChb1M4jb/IkEpsyKjgXEv3uGp1CmsMhPv8lT4vWNOroWWuQbjCwyGHoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNTeyeNLBugHMQAoC1sRrGkGTEFnRHAnFTSG1smfVeI=; b=tqX3KLH8QHzAIYahTcRATEnLsMS/hxhvrtIawr4Nj9o6S0YoOeWmNcrOWxmwNItbX1QTUT QGmAUXprfY6H5EK8ycGHuVisiymBlenDUUTJtY71t7yVm97ShwJ8ZIM1I+Vlkktd3nEEln Sw1jr4wesTQ0I7fPa7jrCaQmI/z2asW/jNLvTkZA3cE9S4UQ42wXXXCNOBvVdx9CyCt7Ps 4GBSG23bljfTbII2uWxmNWd1876yxtHZ/LNx6xqGjrpSig7nMXSOzcyFG91lL2vd8K7Zq1 OdEHRzEexIPNu2KnpCvk6SwnQiurbzJlobDjefWd1VZ+PAKS58n2cwyZ44ytmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747634880; a=rsa-sha256; cv=none; b=ie6dPfzNz3JzGUnynGlx+LV2b2PaUcfIbAdnkDUMLEjQmCkQOR2ZdPu/6kdojNysQrcx0F nirq+ELhiJYRapVpdJqkU+uoz7whn/Sey5XpgQohC4sUjo2TG+4uCW8DpJiHfyWLFrvn6W Xk3P4MXPPJkJSCeTc8hJzCtz9P8V1U+nBXQ4LiQ4KH9MD06m2dkxSbaIEvjdVMXezhlNRT on9SwMjayaG7zleX4KNlUSTjSkAv89Ln4ShFSk8oAhakanxrA+estf82DW195MyVRp2FT6 0Eyl3oECSG39IJ2A4Z5aIFDO2UogJ6x3yUeWmaN9/8XZWJ0IWb6ZcR2sZNEMpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b16g432xhzs89; Mon, 19 May 2025 06:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J680Ap037896; Mon, 19 May 2025 06:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J680oL037893; Mon, 19 May 2025 06:08:00 GMT (envelope-from git) Date: Mon, 19 May 2025 06:08:00 GMT Message-Id: <202505190608.54J680oL037893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 31760ee65ae3 - main - libthr: add stable user interface for sigfastblock(2) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 31760ee65ae3e79434fb257d93e17a6de6021f48 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=31760ee65ae3e79434fb257d93e17a6de6021f48 commit 31760ee65ae3e79434fb257d93e17a6de6021f48 Author: Konstantin Belousov AuthorDate: 2025-05-16 13:18:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-19 06:07:43 +0000 libthr: add stable user interface for sigfastblock(2) Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50377 --- include/pthread_np.h | 2 ++ lib/libthr/pthread.map | 2 ++ lib/libthr/thread/thr_sig.c | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/include/pthread_np.h b/include/pthread_np.h index dcc762156a67..a9e738540db4 100644 --- a/include/pthread_np.h +++ b/include/pthread_np.h @@ -59,6 +59,8 @@ int pthread_resume_np(pthread_t); int pthread_peekjoin_np(pthread_t, void **); void pthread_set_name_np(pthread_t, const char *); int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); +void pthread_signals_block_np(void); +void pthread_signals_unblock_np(void); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); diff --git a/lib/libthr/pthread.map b/lib/libthr/pthread.map index f75ef4c9135e..1c8dde03367b 100644 --- a/lib/libthr/pthread.map +++ b/lib/libthr/pthread.map @@ -339,5 +339,7 @@ FBSD_1.6 { }; FBSD_1.8 { + pthread_signals_block_np; + pthread_signals_unblock_np; pthread_sigqueue; }; diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index c5ee5aa8423b..2cd3de512d1c 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "un-namespace.h" #include "libc_private.h" @@ -163,6 +164,24 @@ _thr_signal_block_setup(struct pthread *curthread) __sys_sigfastblock(SIGFASTBLOCK_SETPTR, &curthread->fsigblock); } +void +pthread_signals_block_np(void) +{ + struct pthread *curthread; + + curthread = _get_curthread(); + _thr_signal_block(curthread); +} + +void +pthread_signals_unblock_np(void) +{ + struct pthread *curthread; + + curthread = _get_curthread(); + _thr_signal_unblock(curthread); +} + int _thr_send_sig(struct pthread *thread, int sig) { From nobody Mon May 19 06:08:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b16g60LrYz5wZ5G; Mon, 19 May 2025 06:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b16g54jdJz3m4N; Mon, 19 May 2025 06: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=1747634881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AXkZf0ZJXoDfoOGhzXlmGHRuTsQ8GJ/UGu8V/xLZsNE=; b=Hm7CT49Nc3x/7FM2iAKFKMnHtTSjRz9BjA1aOjhZNfLDLltO1CmC9/kdQwLkRMW9AXG66f pVkpRjRJ+Csb5ACcVEqzVtEA3Rt+6dJfblzAjC+bPJTtKnqIgFljuaVkpQ6aliCgklz421 UWrFak6amnByW8jeAuDNlSnrk6I3WSgs4JLJTDEE+18dhDoF4WXVlaVunefVljmBrGBTNH QHT1prTObnrcf+YtQ3m/vVbnkdyMobG75mMv2Bbt8lEbEt4L/YnqozC0WKpFftbwlJ5nOS 66YPwDTSLapBF0QxqP992U+uvgfC/2O2vo9UJadYVpMvpsQK5n5JnpNRgF4S+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AXkZf0ZJXoDfoOGhzXlmGHRuTsQ8GJ/UGu8V/xLZsNE=; b=GVETx/iXk48Wep1D4zzpclSI83JUCfIpor2Ri8uIxnH2nreLskDWlze9BHz7UUXd9akza1 X+Odjx2P0+F0eBeaghV7KKZQ+AN9KVTHnI19O7q7/deZs/zweLcKmHflv3Eu9RR6ZIzfML 4sMb9WKQBIz+TiRdMY5rg0izHfYIqaPSbF/BqJQDWU+O1U/Dv0flg3xHBzx1zRKCXyarwC kVQzWpN8mB+gbo/o1wRSwzgBUFbufM4E/SmDr2uVLXWCRvu6ptakpoCP+68tkCDrMH32+6 KwkVtQWJ4tJpKiXdnWP6VsqwSUbt2mQlsdlo1wZJUw7yVYp48ntat5taBWW52g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747634881; a=rsa-sha256; cv=none; b=LRMmTqDkJigitTLvymQMwa8QcjIneurSI2fNRaMPZuSaoWwKIRRyZAD3miBcpNsscM6MKr Tb4CJSHqWdXspP+pQj6YrrLhl8SMLls085Ue5Qy2S8sWK5JCUQPMK9KLRIPobm+1m9xh4V KCJAspFEjnUJRncibFu7EZPu8tr840gzh7hL9x6D5EW+9PzxkTUPHURhkUoOl9ak4wIMqy QS+5dDUBSR6Z2cdQ9dvtBZUQUzB91CFt47t1rIULguW1wPrTZ/NnaA83hFU83/Yrv2VYcq KFckZPN+BtMOdUDRH7jUUcXy2TRQ9tQ3A1VPwHgzokBPd1cv5TkDBKM409T7MQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b16g543CXzsGY; Mon, 19 May 2025 06:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J681A4037932; Mon, 19 May 2025 06:08:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J681l7037929; Mon, 19 May 2025 06:08:01 GMT (envelope-from git) Date: Mon, 19 May 2025 06:08:01 GMT Message-Id: <202505190608.54J681l7037929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 1393f9a36b9c - main - pthread_signals_block_np(3): document List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1393f9a36b9c471d4af3518a3d3bb56c2a6adc58 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1393f9a36b9c471d4af3518a3d3bb56c2a6adc58 commit 1393f9a36b9c471d4af3518a3d3bb56c2a6adc58 Author: Konstantin Belousov AuthorDate: 2025-05-16 13:24:27 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-19 06:07:43 +0000 pthread_signals_block_np(3): document Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50377 --- share/man/man3/Makefile | 3 ++ share/man/man3/pthread_np.3 | 6 +++ share/man/man3/pthread_signals_block_np.3 | 81 +++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 5469a69ab265..6cdd443ec067 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -458,6 +458,7 @@ PTHREAD_MAN= pthread.3 \ pthread_setspecific.3 \ pthread_sigmask.3 \ pthread_sigqueue.3 \ + pthread_signals_block_np.3 \ pthread_spin_init.3 \ pthread_spin_lock.3 \ pthread_suspend_all_np.3 \ @@ -523,6 +524,8 @@ PTHREAD_MLINKS+=pthread_schedparam.3 pthread_getschedparam.3 \ PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3 \ pthread_set_name_np.3 pthread_getname_np.3 \ pthread_set_name_np.3 pthread_setname_np.3 +PTHREAD_MLINKS+=pthread_signals_block_np.3 \ + pthread_signals_unblock_np.3 PTHREAD_MLINKS+=pthread_spin_init.3 pthread_spin_destroy.3 \ pthread_spin_lock.3 pthread_spin_trylock.3 \ pthread_spin_lock.3 pthread_spin_unlock.3 diff --git a/share/man/man3/pthread_np.3 b/share/man/man3/pthread_np.3 index 9fb2544dd3c9..c6f0efac7415 100644 --- a/share/man/man3/pthread_np.3 +++ b/share/man/man3/pthread_np.3 @@ -116,6 +116,11 @@ Sets the specified thread's name. .Xc Sets the specified thread's name. .It Xo +.Ft void +.Fn pthread_signals_block_np void +.Xc +Blocks all asynchronous signals, quickly. +.It Xo .Ft int .Fn pthread_single_np void .Xc @@ -213,6 +218,7 @@ instead. .Xr pthread_resume_all_np 3 , .Xr pthread_resume_np 3 , .Xr pthread_set_name_np 3 , +.Xr pthread_signals_block_np 3 , .Xr pthread_suspend_all_np 3 , .Xr pthread_suspend_np 3 , .Xr pthread_switch_add_np 3 diff --git a/share/man/man3/pthread_signals_block_np.3 b/share/man/man3/pthread_signals_block_np.3 new file mode 100644 index 000000000000..de33f4e6189e --- /dev/null +++ b/share/man/man3/pthread_signals_block_np.3 @@ -0,0 +1,81 @@ +.\" Copyright (c) 2025 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" This documentation was written by +.\" Konstantin Belousov under sponsorship +.\" from the FreeBSD Foundation. +.\" +.Dd May 16, 2025 +.Dt PTHREAD_SIGNALS_BLOCK_NP 3 +.Os +.Sh NAME +.Nm pthread_signals_block_np , +.Nm pthread_signals_unblock_np +.Nd fast asynchronous signals blocking and unblocking +.Sh LIBRARY +.Lb libpthread +.Sh SYNOPSIS +.In pthread_np.h +.Ft void +.Fn pthread_signals_block_np "void" +.Ft void +.Fn pthread_signals_unblock_np "void" +.Sh DESCRIPTION +The +.Fn pthread_signals_block_np +and +.Fn pthread_signals_unblock_np +functions provide user programs an interface to the fast asynchronous +signals blocking facility +.Xr sigfastblock 2 . +.Pp +Blocking signals with +.Fn pthread_signals_block_np +disables delivery of any asynchronous signal, until unblocked. +Signal blocking establishes a critical section where the execution +flow of the thread cannot be diverted into a signal handler. +Blocking signals is fast, it is performed by a single memory write into +a location established with the kernel. +.Pp +Synchronous signal delivery cannot be blocked in general, including with +these functions. +.Pp +The blocked state established by the +.Fn pthread_signals_block_np +is not completely POSIX-compliant. +Specifically, system calls executed while in a blocked section, +might abort sleep and return +.Er EINTR +upon queuing of an asynchronous signal to the thread, +but the signal handler is not called until the last unblock is done. +.Pp +Calls to +.Nm pthread_signals_block_np +can be nested, and must be complemented by an equal count of +calls to +.Nm pthread_signals_unblock_np +to return the calling thread to the standard mode of signal receiving. +.Pp +An example use of these function might be the construction of the CPU +state that cannot be done atomically, and which includes stages where +the state of the thread is not ABI compliant. +If a signal is delivered while such state is not yet finished, signal +handlers would misbehave. +Using standard functions +.Pq Fn sigprocmask +to establish critical section might be much slower, because +.Fn sigprocmask +is system call, while +.Fn pthread_signals_block_np +consists of a single atomic memory write. +.Sh RETURN VALUES +The functions do not return a value. +.Sh ERRORS +There are no errors reported by the functions. +.Sh SEE ALSO +.Xr sigfastblock 2 , +.Xr sigprocmask 2 , +.Xr pthread_sigmask 3 , +.Xr pthread_np 3 From nobody Mon May 19 08:11:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b19PC4VvMz5wjJH; Mon, 19 May 2025 08:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b19PC3qLWz3g1k; Mon, 19 May 2025 08:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747642271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XNVb2JI0VMvVfvXvLHIahuwGEr9y6a2suH9I8wLwbpU=; b=I8Wanu14ueAD9yrWcJZDb/VekcXRJ1v2tBKpAs/DgVu6JeNkbwxrRRlhJR+a4pHGqkjbwS lFVLzf7XhN8bfqWgYLGw8lgZKPgk51yPTjCRDbU0OI/qn+eRztwaq3T5z+LWf6F9h45nKh ws02DJRW1IBML2z3RyJfW0eU/B2+XxGHhvh8+GZ0KgYmCY5kpq0qQokVQD1I/i7zuOv0jS 91beRDBMIBc//pwMtyI7XUE+Tot1HvocIwVOpp8+B3CYuPon+JYrsJ5PDitNGJy1rqmpmV JxdPxg4Lc7wp5quFljDIu3bQGco5tGVt9cb922/qB3MUHxglvrfx6B7QWELIRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747642271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XNVb2JI0VMvVfvXvLHIahuwGEr9y6a2suH9I8wLwbpU=; b=BcLVIGq8Vgl+7x1mJIdwfmx2VqjQOk9bKpZdRO0MpyqeBc63ReyBt8271wb79+oecctwIk ui3BCWXtF9p6PPb7J3cObiRh+yTxmmVeryfLU+0on4kUHiyZKvFYm0Xmdj39s1kpy2uF7h it7yA6mHR2BAkZ2Z35yK/xDJlMbx2csKrpWnynOa11u41B2qk68h34Z67625ln+gNiK4HG t7MO8ZBkrv0OPZYCsi+7YvWcLTVY55EWZuC7jEwu/aups2bfTxXff07OiZz63vtM4TVNRT XlAPmGMq8LPJ11RklpvDN8rIWmveVsaZw94fEv6cun+Z2HatuPKpkTG2BIu4hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747642271; a=rsa-sha256; cv=none; b=L+pxJcPRvxZR9VFsS2XimiTXLDdiFlzQJykPcodTGtVC2bYNbeKdwy+9CIoDaL57PaMLBs t4M/bysHJfX3momt0wdEPBx+Hu4Em+RXrHF1oXUEvkCR6Evmw3EyoVJgOhzsguGoUJJB1n 2liQDn8gV7aR1HDv7BbitOi4hDWvL0b1qh5DgD5f+iY2GjH0aod/d6Q/wHvEl9dOXZG0ZS zRs6tgwk2G4lMFcl2gTLcP8MBzOeXwbxxPgkJZ2A+PRS+odRL4JAEDpSCFeSgjJQJ626vf 3UeqoxiYAG1WLEN7r8rGcOydYPQpsiUI+b7kgp6XmZmKMJ3e7HDzRXpdbYqzgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b19PC3CzvzvSq; Mon, 19 May 2025 08:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J8BBIO074625; Mon, 19 May 2025 08:11:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J8BBtP074622; Mon, 19 May 2025 08:11:11 GMT (envelope-from git) Date: Mon, 19 May 2025 08:11:11 GMT Message-Id: <202505190811.54J8BBtP074622@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: f69afe4201ff - main - zfsboot: fix misuse of the phrase zpool List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f69afe4201ff33da0b3c3ca464a92e2e0b07ac43 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=f69afe4201ff33da0b3c3ca464a92e2e0b07ac43 commit f69afe4201ff33da0b3c3ca464a92e2e0b07ac43 Author: Graham Perrin AuthorDate: 2025-01-10 18:02:25 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 08:10:29 +0000 zfsboot: fix misuse of the phrase zpool A pool is not a zpool. Reviewed by: jbh, ivy Approved by: des (mentor) MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/1569 --- usr.sbin/bsdinstall/scripts/zfsboot | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index f4670e0d272c..493f137092ec 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -121,7 +121,7 @@ f_include $BSDCFG_SHARE/variable.subr : ${ZFSBOOT_BOOT_TYPE:=} # -# How much swap to put on each block device in the boot zpool +# How much swap to put on each block device in the boot pool # NOTE: Value passed to gpart(8); which supports SI unit suffixes. # : ${ZFSBOOT_SWAP_SIZE:=2g} @@ -137,7 +137,7 @@ f_include $BSDCFG_SHARE/variable.subr : ${ZFSBOOT_SWAP_MIRROR=} # -# Default ZFS datasets for root zpool +# Default ZFS datasets for root pool # # NOTE: Requires /tmp, /var/tmp, /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME # NOTE: Anything after pound/hash character [#] is ignored as a comment. @@ -285,12 +285,12 @@ msg_odd_disk_selected="An even number of disks must be selected to create a RAID msg_ok="OK" msg_partition_scheme="Partition Scheme" msg_partition_scheme_help="Select partitioning scheme. GPT is recommended." -msg_please_enter_a_name_for_your_zpool="Please enter a name for your zpool:" +msg_please_enter_a_name_for_your_pool="Please enter a name for your pool:" msg_please_enter_amount_of_swap_space="Please enter amount of swap space (SI-Unit suffixes\nrecommended; e.g., \`2g' for 2 Gigabytes):" -msg_please_select_one_or_more_disks="Please select one or more disks to create a zpool:" +msg_please_select_one_or_more_disks="Please select one or more disks to create a pool:" msg_pool_name="Pool Name" msg_pool_name_cannot_be_empty="Pool name cannot be empty." -msg_pool_name_help="Customize the name of the zpool to be created (Required)" +msg_pool_name_help="Customize the name of the pool to be created (Required)" msg_pool_type_disks="Pool Type/Disks:" msg_pool_type_disks_help="Choose type of ZFS Virtual Device and disks to use (Required)" msg_processing_selection="Processing selection..." @@ -323,9 +323,9 @@ msg_unsupported_partition_scheme="%s is an unsupported partition scheme" msg_user_cancelled="User Cancelled." msg_yes="YES" msg_zfs_configuration="ZFS Configuration" -msg_please_enter_options_for_your_zpool="Please enter options for your zpool" +msg_please_enter_options_for_your_pool="Please enter options for your pool" msg_zfs_options_name="ZFS Pool Options" -msg_zfs_options_name_help="Customize ZFS options for the zpool to be created" +msg_zfs_options_name_help="Customize ZFS options for the pool to be created" ############################################################ FUNCTIONS @@ -748,8 +748,8 @@ dialog_menu_layout() # zfs_create_diskpart $disk $index # -# For each block device to be used in the zpool, rather than just create the -# zpool with the raw block devices (e.g., da0, da1, etc.) we create partitions +# For each block device to be used in the pool, rather than just create the +# pool with the raw block devices (e.g., da0, da1, etc.) we create partitions # so we can have some real swap. This also provides wiggle room incase your # replacement drivers do not have the exact same sector counts. # @@ -905,7 +905,7 @@ zfs_create_diskpart() fi fi - # NB: zpool will use the `zfs#' GPT labels + # NB: ZFS pools will use `zfs#' GPT labels if [ "$ZFSBOOT_BOOT_TYPE" = "BIOS+UEFI" ]; then if [ "$ZFSBOOT_BOOT_POOL" ]; then bootpart=p3 swappart=p4 targetpart=p4 @@ -1006,7 +1006,7 @@ zfs_create_diskpart() f_eval_catch $funcname gpart "$GPART_CREATE" BSD ${disk}s1 || return $FAILURE - # NB: zpool will use s1a (no labels) + # NB: ZFS pools will use s1a (no labels) bootpart=s1a swappart=s1b targetpart=s1d mbrindex=4 # @@ -1594,7 +1594,7 @@ dialog_menu_diskinfo() return $SUCCESS } -dialog_zpool_name() +dialog_pool_name() { local prompt="$* is already taken, please enter a name for the ZFS pool \ (Or confirm using the same name by just pressing enter)" @@ -1639,7 +1639,7 @@ for pool in ${pools}; do f_dprintf "Checking ${pool} against ${ZFSBOOT_POOL_NAME}" if [ "${pool}" = "${ZFSBOOT_POOL_NAME}" ]; then f_dprintf "Pool ${pool} already taken" - ZFSBOOT_POOL_NAME=$(dialog_zpool_name "${ZFSBOOT_POOL_NAME}") + ZFSBOOT_POOL_NAME=$(dialog_pool_name "${ZFSBOOT_POOL_NAME}") break fi done @@ -1771,7 +1771,7 @@ while :; do ?" $msg_pool_name") # Prompt the user to input/change the name for the new pool f_dialog_input input \ - "$msg_please_enter_a_name_for_your_zpool" \ + "$msg_please_enter_a_name_for_your_pool" \ "$ZFSBOOT_POOL_NAME" && ZFSBOOT_POOL_NAME="$input" ;; @@ -1860,7 +1860,7 @@ while :; do ?" $msg_zfs_options_name") # Prompt the user to input/change the pool options f_dialog_input input \ - "$msg_please_enter_options_for_your_zpool" \ + "$msg_please_enter_options_for_your_pool" \ "$ZFSBOOT_POOL_CREATE_OPTIONS" && ZFSBOOT_POOL_CREATE_OPTIONS="$input" ;; From nobody Mon May 19 08:24:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b19hN6H8Vz5wks4; Mon, 19 May 2025 08:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b19hN1vXHz3ntb; Mon, 19 May 2025 08:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747643060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uCKkS71WVND73aNS1o9aeH7JNidkvlGUMAPd08aVfPg=; b=XrND96+QHS6+JogMWyJo8NczwAgB27vD1+TyDeoj3w5sC8TzfKxHg+szWotkLYF2tos7WI AIncN/fCnkt+lbktwrFRZb6YIC+aZPxY3bTnSWo686qGh2o6BRR/zUqT+7IBwT1MRKWgI6 mO8vrGhrN57szn0iXEr3GBJ8vhM26Ots1Yq3N+NJpLUEFZYjuYDqZS1sYRYQSZg53e+BRh MM+6iyljvgD0XycoHFPn+uT5oQS8fKSarfOX9veu9bwQfZU92w0wOLkNMbuoSicENFp5WM /W1p5OG6P1cH0ZAFcn6q20TsQhuFqUCRiO/jSd69+ghqSCBBFa9bgFdBW5u2qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747643060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uCKkS71WVND73aNS1o9aeH7JNidkvlGUMAPd08aVfPg=; b=drfMrlAKZeFu6qMv+KbCvZai1hAjeM5QrMPX3BmMeGVaksOwY9kEX7bZrQKWOh+QEixaPW zjq8vzNZ5HR+Z13/rGeCPNjJwV6SlfOMQmUMnpqmLc4Gpow8EMbBz0aszZMRvRYVKRWq77 e5TOJ8fXwkLduw+RX8ONC1aV2lJ8ZwC6PfpQTYviRl3jOfI1RhguREEFqEffZ6GUhWGV4k GBLfzXU1Uwn1H1XXbQrwa5jitdnZAXdztMC54B24oRc2a1xtG4KfymvzGMTflaUwju61Y6 fzetmJTOfc+iuxqYM8sA25e1GjPBA+Dy1QN8veGc8AfxKjkCNmx8gaGwEmy9Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747643060; a=rsa-sha256; cv=none; b=FGL5inAlmCs2OVDIHdWxHqCKADPyPQCvr8tbmBSnGIByGNmIQOg7aZudTHGCUT6qqYXF33 m1cQRDijM0750DdKriuFrwYiwOuShW315DCPPn3vV/rs17Doo3fWjGDdvjZZdqDQhcZjcN UX3wImPQ4RYBoV9EOLCewhkHon9v51SP2WwQA1I6P5otAmr2bXg2MZ3a97NBsusJJTJHNW EU3b0qQtatHjl2pTFUspMGyjzjafFAgzi2jC/Xuau3nNbdV3RfdgriO7sOweKCnKEaCNH7 qO4tJj4p2dA0/mkFGr1Io0uExbQUaf8y1IVTgzjQXtZ1tcT1k8hORXmIfA20+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b19hN16bJzwpT; Mon, 19 May 2025 08:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J8OKNa098036; Mon, 19 May 2025 08:24:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J8OKWF098033; Mon, 19 May 2025 08:24:20 GMT (envelope-from git) Date: Mon, 19 May 2025 08:24:20 GMT Message-Id: <202505190824.54J8OKWF098033@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 7dc0a9fa76a8 - stable/14 - xen: improve man (4) page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7dc0a9fa76a8df6dfaf26ff36a11aa9fe060a201 Auto-Submitted: auto-generated The branch stable/14 has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=7dc0a9fa76a8df6dfaf26ff36a11aa9fe060a201 commit 7dc0a9fa76a8df6dfaf26ff36a11aa9fe060a201 Author: Roger Pau Monné AuthorDate: 2024-01-09 09:26:06 +0000 Commit: Roger Pau Monné CommitDate: 2025-05-19 08:23:04 +0000 xen: improve man (4) page Update the xen(4) man page to reflect the current support status. Reported by: kevans Reviewed by: bcr kevans imp Differential revision: https://reviews.freebsd.org/D43373 (cherry picked from commit 82126ef92fdb3c13a67ad44d33c0fe6ea479c01a) --- share/man/man4/xen.4 | 74 +++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/share/man/man4/xen.4 b/share/man/man4/xen.4 index 6660ab3c268b..15312866dae6 100644 --- a/share/man/man4/xen.4 +++ b/share/man/man4/xen.4 @@ -26,19 +26,19 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 30, 2015 +.Dd January 8, 2024 .Dt XEN 4 .Os .Sh NAME .Nm xen -.Nd Xen Hypervisor Guest (DomU) Support +.Nd Xen Hypervisor Support .Sh SYNOPSIS -To compile hardware-assisted virtualization (HVM) Xen guest support with -para-virtualized drivers into an amd64 or i386 kernel, -place the following lines in your kernel configuration file: -.Bd -ragged -offset indent -.Cd "options XENHVM" -.Cd "device xenpci" +FreeBSD supports running both as a Xen guest and host on amd64 hardware. +Guest support is limited to HVM and PVH modes, while host support is limited to +PVH mode only. +.Pp +Xen support is built by default in the i386 and amd64 GENERIC kernels; note +however that host mode is only available on amd64. .Ed .Sh DESCRIPTION The Xen Hypervisor allows multiple virtual machines to be run on a single @@ -52,20 +52,18 @@ to access resources such as virtual network interfaces and disk devices. .Pp With later instruction set extensions from AMD and Intel to support fully virtualizable instructions, unmodified virtual memory systems can also be -supported; this is referred to as hardware-assisted virtualization (HVM). +supported; this is referred to as hardware-assisted virtualization (HVM and PVH). HVM configurations may either rely on transparently emulated hardware peripherals, or para-virtualized drivers, which are aware of virtualization, and hence able to optimize certain behaviors to improve performance or semantics. +PVH configurations rely on para-virtualized drivers exclusively for IO. .Pp .Fx -supports hardware-assisted virtualization (HVM) on both i386 and amd64 -kernels. -.Pp Para-virtualized device drivers are required in order to support certain functionality, such as processing management requests, returning idle physical memory pages to the hypervisor, etc. -.Ss Xen DomU device drivers +.Ss Xen device drivers These para-virtualized drivers are supported: .Bl -hang -offset indent -width blkfront .It Nm balloon @@ -87,6 +85,10 @@ suspend, crash, and halt requests. Expose Xen events via the .Pa /dev/xen/evtchn special device. +.It Nm gntdev +Allow access to the grant table interface via the +.Pa /dev/xen/gntdev +special device. .It Nm netback Export local network interfaces to other Xen domains where they can be imported via @@ -94,35 +96,30 @@ imported via .It Nm netfront Import network interfaces from other Xen domains as local network interfaces, which may be used for IPv4, IPv6, etc. -.It Nm pcifront -Allow physical PCI devices to be passed through into a PV domain. +.It Nm privcmd +Allow issuing hypercalls via the +.Pa /dev/xen/privcmd +special device. +.It Nm timer +Implementation of a one-shot high resolution per-CPU timer using the hypercall +interface. +.It Nm acpi cpu +When running as a host forwards power management related information from ACPI +to the hypervisor for better performance management. .It Nm xenpci Represents the Xen PCI device, an emulated PCI device that is exposed to HVM domains. This device allows detection of the Xen hypervisor, and provides interrupt and shared memory services required to interact with the hypervisor. +.It Nm xenstore +Information storage space shared between domains. .El -.Ss Performance considerations -In general, PV drivers will perform better than emulated hardware, and are -the recommended configuration for HVM installations. -.Pp -Using a hypervisor introduces a second layer of scheduling that may limit the -effectiveness of certain -.Fx -scheduling optimisations. -Among these is adaptive locking, which is no longer able to determine whether -a thread holding a lock is in execution. -It is recommended that adaptive locking be disabled when using Xen: -.Bd -unfilled -offset indent -.Cd "options NO_ADAPTIVE_MUTEXES" -.Cd "options NO_ADAPTIVE_RWLOCKS" -.Cd "options NO_ADAPTIVE_SX" -.Ed .Sh HISTORY Support for .Nm first appeared in .Fx 8.1 . +Support for host mode was added in 11.0 . .Sh AUTHORS .An -nosplit .Fx @@ -133,15 +130,10 @@ and Further refinements were made by .An Justin Gibbs Aq Mt gibbs@FreeBSD.org , .An Adrian Chadd Aq Mt adrian@FreeBSD.org , +.An Colin Percival Aq Mt cperciva@FreeBSD.org , and -.An Colin Percival Aq Mt cperciva@FreeBSD.org . +.An Roger Pau Monné Aq Mt royger@FreeBSD.org . This manual page was written by -.An Robert Watson Aq Mt rwatson@FreeBSD.org . -.Sh BUGS -.Fx -is only able to run as a Xen guest (DomU) and not as a Xen host (Dom0). -.Pp -As of this release, Xen PV DomU support is not heavily tested; instability -has been reported during VM migration of PV kernels. -.Pp -Certain PV driver features, such as the balloon driver, are under-exercised. +.An Robert Watson Aq Mt rwatson@FreeBSD.org , +and +.An Roger Pau Monné Aq Mt royger@FreeBSD.org . From nobody Mon May 19 08:27:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b19mK5b4Jz5wkxR; Mon, 19 May 2025 08:27: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b19mK4zbnz3qLy; Mon, 19 May 2025 08:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747643265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+tmxkSrDCGqysm0BFT/CLiKLm4Jm1ZM8Zg5FcHsHza8=; b=opliJPt7Yf4L9OCxwY6/nQFG8s8PBHuSmYSg0EYjfs7KQ+yEnD/k04UT5BUt1GgLROGVtE 5ytI6i+McITxDQY3wDjc41AGcOrylhkX75TPmaLTWgUyKDTZbC5uJSzFXjR2wb9SXNGBjf bIFKDofsDffiiaQ1JE8K5QKFtoK6LoMBIp6xVqLuBcG8FGkMapFUqgQS1w/JQ3M9YrX5Yx GwhyGBWl6RAHDxPzjdPeD2Td0xakQ60SP3dgL36TrQoh1qkA6UiCoSAMD7LkHo15g8AdI+ 4SKGc0m4tjVbhNuaRvC9sL3nrqRk1336fzY6mTFuSPcV2VyVMS9abGX+Q0qrug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747643265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+tmxkSrDCGqysm0BFT/CLiKLm4Jm1ZM8Zg5FcHsHza8=; b=Nw8gppjTLOjkWwrGYqMz4Sbww/XnyWuQFW9PcI/KM6hfQPV+vCO8ibM9Q1fjh8HF9lzxV+ i+aiBM/0TJ/eHGQelZONxNpnToadJJam9stC/Q3SE5+co0ajicE7Hgbnm9T8OVvPoolh0G 9JplZFjw8pCeMtvfvy2BahMLfHPKQbKK2HPdK1RkbBKfy9vRMsB10ThAXVVeORQnqpeaFo 4zihYqAOdwER5N6v9lAE8I+/HTSxWGujfcV/qsWLEAokRVszN2W1zKAqBvs32YAkxa/NS5 o5K0F/G+NaUbJQk5JIN/3jKo+FDbgXPywpgNcETbEdohLRJ6XCfhWHjpY/2qMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747643265; a=rsa-sha256; cv=none; b=nJcRjdqisjPTcu01dqBxwgZQlvdpc/PtOnhOawLVUjWbEDqdIbdE7JW+huC28QPlGOew0t bYEDASURY2RrlEqh9TET5Wl501i8aTmiPJPj3QLSP5joB/6/wdMbp8SUCP6TFhkN17hz3T Osz7KqDJJVK9107j38GBEtmmlkp59vDfAsin/HBmZ6TO2XkAfZMRuAfR/dxq56u8hgLRnb PJ++9iNWET2RCK7DhhwaS8nbDc98NW0bL6S9L9WtTFxXK/pl+Xh/gbmxhGqL1VRPhDFdWL 1P9Uurtsm8PVFJ4YxH4N6AKealHpWWDttf56iT9nCFoPBC6aBv1OmhMHeW8Xlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b19mK41KyzwpV; Mon, 19 May 2025 08:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J8Rjlc099188; Mon, 19 May 2025 08:27:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J8RjFK099185; Mon, 19 May 2025 08:27:45 GMT (envelope-from git) Date: Mon, 19 May 2025 08:27:45 GMT Message-Id: <202505190827.54J8RjFK099185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: ca7778575215 - stable/13 - xen: improve man (4) page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: royger X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ca7778575215a740ed7575203e75e99dc0bd8a1a Auto-Submitted: auto-generated The branch stable/13 has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=ca7778575215a740ed7575203e75e99dc0bd8a1a commit ca7778575215a740ed7575203e75e99dc0bd8a1a Author: Roger Pau Monné AuthorDate: 2024-01-09 09:26:06 +0000 Commit: Roger Pau Monné CommitDate: 2025-05-19 08:25:08 +0000 xen: improve man (4) page Update the xen(4) man page to reflect the current support status. Reported by: kevans Reviewed by: bcr kevans imp Differential revision: https://reviews.freebsd.org/D43373 (cherry picked from commit 82126ef92fdb3c13a67ad44d33c0fe6ea479c01a) --- share/man/man4/xen.4 | 74 +++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/share/man/man4/xen.4 b/share/man/man4/xen.4 index 6660ab3c268b..15312866dae6 100644 --- a/share/man/man4/xen.4 +++ b/share/man/man4/xen.4 @@ -26,19 +26,19 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 30, 2015 +.Dd January 8, 2024 .Dt XEN 4 .Os .Sh NAME .Nm xen -.Nd Xen Hypervisor Guest (DomU) Support +.Nd Xen Hypervisor Support .Sh SYNOPSIS -To compile hardware-assisted virtualization (HVM) Xen guest support with -para-virtualized drivers into an amd64 or i386 kernel, -place the following lines in your kernel configuration file: -.Bd -ragged -offset indent -.Cd "options XENHVM" -.Cd "device xenpci" +FreeBSD supports running both as a Xen guest and host on amd64 hardware. +Guest support is limited to HVM and PVH modes, while host support is limited to +PVH mode only. +.Pp +Xen support is built by default in the i386 and amd64 GENERIC kernels; note +however that host mode is only available on amd64. .Ed .Sh DESCRIPTION The Xen Hypervisor allows multiple virtual machines to be run on a single @@ -52,20 +52,18 @@ to access resources such as virtual network interfaces and disk devices. .Pp With later instruction set extensions from AMD and Intel to support fully virtualizable instructions, unmodified virtual memory systems can also be -supported; this is referred to as hardware-assisted virtualization (HVM). +supported; this is referred to as hardware-assisted virtualization (HVM and PVH). HVM configurations may either rely on transparently emulated hardware peripherals, or para-virtualized drivers, which are aware of virtualization, and hence able to optimize certain behaviors to improve performance or semantics. +PVH configurations rely on para-virtualized drivers exclusively for IO. .Pp .Fx -supports hardware-assisted virtualization (HVM) on both i386 and amd64 -kernels. -.Pp Para-virtualized device drivers are required in order to support certain functionality, such as processing management requests, returning idle physical memory pages to the hypervisor, etc. -.Ss Xen DomU device drivers +.Ss Xen device drivers These para-virtualized drivers are supported: .Bl -hang -offset indent -width blkfront .It Nm balloon @@ -87,6 +85,10 @@ suspend, crash, and halt requests. Expose Xen events via the .Pa /dev/xen/evtchn special device. +.It Nm gntdev +Allow access to the grant table interface via the +.Pa /dev/xen/gntdev +special device. .It Nm netback Export local network interfaces to other Xen domains where they can be imported via @@ -94,35 +96,30 @@ imported via .It Nm netfront Import network interfaces from other Xen domains as local network interfaces, which may be used for IPv4, IPv6, etc. -.It Nm pcifront -Allow physical PCI devices to be passed through into a PV domain. +.It Nm privcmd +Allow issuing hypercalls via the +.Pa /dev/xen/privcmd +special device. +.It Nm timer +Implementation of a one-shot high resolution per-CPU timer using the hypercall +interface. +.It Nm acpi cpu +When running as a host forwards power management related information from ACPI +to the hypervisor for better performance management. .It Nm xenpci Represents the Xen PCI device, an emulated PCI device that is exposed to HVM domains. This device allows detection of the Xen hypervisor, and provides interrupt and shared memory services required to interact with the hypervisor. +.It Nm xenstore +Information storage space shared between domains. .El -.Ss Performance considerations -In general, PV drivers will perform better than emulated hardware, and are -the recommended configuration for HVM installations. -.Pp -Using a hypervisor introduces a second layer of scheduling that may limit the -effectiveness of certain -.Fx -scheduling optimisations. -Among these is adaptive locking, which is no longer able to determine whether -a thread holding a lock is in execution. -It is recommended that adaptive locking be disabled when using Xen: -.Bd -unfilled -offset indent -.Cd "options NO_ADAPTIVE_MUTEXES" -.Cd "options NO_ADAPTIVE_RWLOCKS" -.Cd "options NO_ADAPTIVE_SX" -.Ed .Sh HISTORY Support for .Nm first appeared in .Fx 8.1 . +Support for host mode was added in 11.0 . .Sh AUTHORS .An -nosplit .Fx @@ -133,15 +130,10 @@ and Further refinements were made by .An Justin Gibbs Aq Mt gibbs@FreeBSD.org , .An Adrian Chadd Aq Mt adrian@FreeBSD.org , +.An Colin Percival Aq Mt cperciva@FreeBSD.org , and -.An Colin Percival Aq Mt cperciva@FreeBSD.org . +.An Roger Pau Monné Aq Mt royger@FreeBSD.org . This manual page was written by -.An Robert Watson Aq Mt rwatson@FreeBSD.org . -.Sh BUGS -.Fx -is only able to run as a Xen guest (DomU) and not as a Xen host (Dom0). -.Pp -As of this release, Xen PV DomU support is not heavily tested; instability -has been reported during VM migration of PV kernels. -.Pp -Certain PV driver features, such as the balloon driver, are under-exercised. +.An Robert Watson Aq Mt rwatson@FreeBSD.org , +and +.An Roger Pau Monné Aq Mt royger@FreeBSD.org . From nobody Mon May 19 08:34:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b19wm3SVmz5wlCf; Mon, 19 May 2025 08:35:04 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b19wm2x20z3rwP; Mon, 19 May 2025 08:35:04 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747643704; 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=JiXsd09DeP4oxLiwrfswDfr8A4CJHVqVEq8YxLr7yRA=; b=g2+hOtgSRiGThh8b3+9sqI5BbjHAljkbfxL3ETNGxS5zN3dltyXR8C3tnLKs9BJKRZhQhV 7sFhvvHpjn7S7RcrMnVcf6hMvhLPPNXmXi+oIcmZFGZaEA2QoAJ3JNcIgdTxvT393t4uDD A00pqr8NXMP4LSYnGRwgZgBMszGYWC35I6xJkMiQDIaNhCylvMtYwSyU73VoeDSaNl8EXv lUlYDJQmuOdFq/px8ksSUYHC1YUER90bGJvpIuCPcvSaCCp6dlt4JLOeXmELk17/i3VkuW intuRISllYNAHjWrJdP7w5NBNYHW1RSUa1p5LdXh5cL3N+uya+HN6pszZud5kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747643704; 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=JiXsd09DeP4oxLiwrfswDfr8A4CJHVqVEq8YxLr7yRA=; b=IbMwaK+yf+AcC9iur9btNn4eC4/gieKLNUgir1CixvWphnF39yzqz3NpvSahZv8sP/PKns y31F5QcJ8VzKliFsqtFucd8EoO+brgZbcuIvz/kxN0+MEw2iWC7aXR9SojcOp6SJnbmmiD zoNH7psfrHO9KFoK1eACP1XlHkxyz47laIXqcpYoxJ+DARbYZmhHVd3LUvdFKZU+QeV3iQ TUgJAN5yqaYDj3gexSBAWLeyZd00fliK2O9RhvtIn26+lEmBaKDRZSSwpWPAVxmK9T8gIy q+0g2YewKbxqOi0xtWCIxRgUE9kzNN/rcP1sdYWj4cbLzTOWjYTqrNHRJASJlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747643704; a=rsa-sha256; cv=none; b=iigEsPAzCOnUkWVxRqZDpwX/w0hpObOLv2bABLvmZyKP0o0pM9nHjmbv+gZErL/QFF5M42 ND0puyIiyCoKr9yZMwwsO9YHspttXF7BDccpXBXJOpHd9uYtyEkyfvhb3TvjUuNKiFeVzI iViaPXtir8S8B7LA3o3SEGtbMsdgCi5/BhwJqNlrcP2Rjs5qvBdhYhXx+cp374uSapzBv4 3DUpXvxmVQacXXY28cUrM4768ZjmMbXRlDHeSZuld1rWgCedwLDEqMkPTHH+PDdJgmk4Ep AQyE9DcHOzUmo/LLIMxjZvy55LpPxXaJxp3To6SyVG7FrwFuySHuJTFT0hGQWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R11" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b19wm1Vsjz7km; Mon, 19 May 2025 08:35:04 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id 972FD1EE95; Mon, 19 May 2025 10:35:00 +0200 (CEST) From: Kristof Provost To: Shawn Webb Cc: Mitchell Horne , Lexi Winter , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Date: Mon, 19 May 2025 10:34:56 +0200 X-Mailer: MailMate (2.0r6255) Message-ID: In-Reply-To: References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <94441836-bb03-4c80-b603-aaa2997c4d29@freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; markup=markdown Content-Transfer-Encoding: quoted-printable On 18 May 2025, at 22:39, Shawn Webb wrote: > I wonder if there is any security difference between DHCP on the > physical interface versus the bridge. Having the bridge grab an IP via > DHCP (or IPv6 SLAAC/DHCPv6) means that VMs much be trusted. If a VM is > compromised, a threat actor could redirect traffic on the host by > running their own DHCP service in the compromised VM. > > The question I have, though, is: is this an issue when the physical > interface is used instead of the bridge for grabbing a dynamic IP? > > So, I guess I'm asking, is there any security difference between the > following two configs: > > =3D=3D=3D=3D BEGIN CONFIG 1 =3D=3D=3D=3D > ifconfig_re0=3D"DHCP" > cloned_interfaces=3D"bridge0 tap0" > ifconfig_bridge0=3D"addm re0 addm tap0" > =3D=3D=3D=3D END CONFIG 1 =3D=3D=3D=3D > > =3D=3D=3D=3D BEGIN CONFIG 2 =3D=3D=3D=3D > ifconfig_re0=3D"up" > cloned_interfaces=3D"bridge0 tap0" > ifconfig_bridge0=3D"DHCP addm re0 addm tap0" > synchronous_dhclient=3D"YES" > =3D=3D=3D=3D END CONFIG 2 =3D=3D=3D=3D > I=E2=80=99ve not actually tested it, but given that ether_output() (which= is going to be the ifp->if_output for most interfaces) does this: https:= //cgit.freebsd.org/src/tree/sys/net/if_ethersubr.c#n417 (i.e. it outputs via if_bridge=E2=80=99s code rather than directly) I bel= ieve this doesn=E2=80=99t make any difference at all. =E2=80=94 Kristof From nobody Mon May 19 08:51:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1BHf5dP7z5wmSd; Mon, 19 May 2025 08:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1BHf5C15z41bn; Mon, 19 May 2025 08:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747644686; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=igYd0dW0nkB0za3IoA94I2e/DHc3wBOMU8XATZ80iS8=; b=AfJ77l2Qusdr9JdcM06OBZoRgk50sZuz+QWMaIrdJ5T2tl6OnN5xUSlNxm8ELDKwsK7RLA ZUmHVZYqDVyrUgdMmti42pG2g4g6HxTUdWOtD4yfQjuSkBum+MTAqPLnkovOiw1wjqfwPB /2nNBBz0flGS96Jrlh6+AuPjnW/tjEihT6Ag7Hl9/sHq6HiOkcNHfRAIj3Bwimt+P+RQje vbK7jNRoWMy93KOu9qn9yALjQtHO0BqO0oyHQnchhzcWE2PiPQjL/Du+6D6NH9KOZ/74h7 d0pS0uSmPP3UVUUVtDcYuuPuA2kXArY68K7YaXbqKwTKWuKgnbZlHNtQIEKgdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747644686; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=igYd0dW0nkB0za3IoA94I2e/DHc3wBOMU8XATZ80iS8=; b=uuocsb/EvVMqN07H+Qj8SZJm1AZqHeY1BHrwwYlqhsjBp1foutgQTnEQtb02qr6ZxRFhbH +JoxjZ5zbhGQpEBJoj8my9XE3htxXatA8auvIzKQK3ZhOOSmf5fA1Jvr+NTmc0L/44Ry9W juSFZ332NTWs4hvVnuZ5wia2RagnkJLf47GwaQdkLOS4meRCUno39eYy42cZIV7pMGql15 Z5zl5ha66Ar6AJ/RI9aFZpHhF0n/wEfI8ZnG7V847hpxtCDj6s34p0Czcg56DKwKVXgL1G sb5ctyGeHXgZvb3ppIsGn/X3AzJyKHDIPGGqr8qJhxO05+Mr2Cok70q8Rwycvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747644686; a=rsa-sha256; cv=none; b=r8pldy4zNBZEbHcg7YFStf+nuVb6jvGgX3yzpfjtQXioVZ9jFqbeFUxfHikx/Hz5PwUNKD M3c8rRIK7DUYYnBIQcned9qv3S2RYOJhdKFqLvyMjF5gXR1dFDdJumZeSnKMIPSJuzK/D8 qpzBspNF0t5mvePSXv9ge4S2+RlC3m3VFVEFSRn2tHNyLNMQJHcks7UOiwFBjcEei4ryNB yBdZefEw7vUWy2aQwrboRjghg6/91gLtaZaRmFut8PVTPMKEL3yVJf/AIV1tjtf73ro2BJ zOWRjwUCUYE05C3QCnMUGHCTd94mT2NEWX776qWro2fLV1quQ/6G/M/7x5qRbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1BHf4hPDzxbJ; Mon, 19 May 2025 08:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J8pQtg047878; Mon, 19 May 2025 08:51:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J8pQgN047875; Mon, 19 May 2025 08:51:26 GMT (envelope-from git) Date: Mon, 19 May 2025 08:51:26 GMT Message-Id: <202505190851.54J8pQgN047875@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 4ae64bd33f24 - stable/14 - iwlwifi.4: Update modes for recent 802.11ac List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ae64bd33f24cff90ff75efe67176a6df1c3af62 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4ae64bd33f24cff90ff75efe67176a6df1c3af62 commit 4ae64bd33f24cff90ff75efe67176a6df1c3af62 Author: Bjoern A. Zeeb AuthorDate: 2025-04-21 00:34:15 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-19 08:51:01 +0000 iwlwifi.4: Update modes for recent 802.11ac By: ziaee Reported by: Pat Maddox Reviewed by: bz (previous version), emaste, mhorne Differential Revision: https://reviews.freebsd.org/D49937 iwlwifi: update man pages for generations, firmware. and 11n/11ac Put Intel's iwlwifi better in context to iwm, iwx and iwn. Document the important tunables so users know where to go. Document the port/package for firmware where firmware is now maintained. Adjust wording and table for the firmware and a flavor column. Update History sections for 11n/11ac support as well as firmware module removal from base. Sponsored by: The FreeBSD Foundation Reviewed by: ziaee, emaste (comments) Differential Revision: https://reviews.freebsd.org/D50319 (cherry picked from commit c33945a112c84795c7bd87a8e94d0cf322ef5000) (cherry picked from commit a7e183c0c9a5579cdaa3e2ff9597e5e3d41dbdb4) --- share/man/man4/iwlwifi.4 | 96 ++- share/man/man4/iwlwififw.4 | 2029 ++++++++++++++++++++++---------------------- 2 files changed, 1106 insertions(+), 1019 deletions(-) diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index 04317c22936f..3da4e68ad805 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -1,7 +1,7 @@ -.\"- +.\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.\" Copyright (c) 2021-2024 The FreeBSD Foundation +.\" Copyright (c) 2021-2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -27,12 +27,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 10, 2024 +.Dd May 12, 2025 .Dt IWLWIFI 4 .Os .Sh NAME .Nm iwlwifi -.Nd Intel IEEE 802.11a/b/g/n/ac/ax wireless network driver +.Nd Intel IEEE 802.11a/b/g/n/ac/ax/be wireless network driver .Sh SYNOPSIS The driver will auto-load without any user interaction using .Xr devmatch 8 @@ -50,6 +50,9 @@ kld_list="${kld_list} if_iwlwifi" The driver should automatically load any .Xr iwlwififw 4 firmware needed for the particular chipset. +See section +.Sx "FILES" +below for how to install the firmware. .Pp It is discouraged to load the driver from .Xr loader 8 . @@ -59,12 +62,25 @@ The driver provides support for Intel Wireless network devices. .Pp .Nm -is derived from Intel's Linux iwlwifi driver, will be a successor to -.Xr iwm 4 , -and may supersede that driver in the future. -It still complements the +is derived from Intel's Linux iwlwifi driver. +The +.Xr iwm 4 +and +.Xr iwx 4 +drivers together are approximately equivalent to Intel's Linux iwlwifi/mvm +driver. +.Pp +In addition +.Nm +already supports Intel's Linux iwlwifi/mld chipsets. +.Pp +.Nm +still complements the .Xr iwn 4 -driver which supports older chipsets. +driver which supports older chipsets and would be equivalent to +Intel's Linux iwlwifi/dvm, which +.Nm +does not support. .Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. @@ -98,6 +114,15 @@ sub-driver with the following chipset generations: 22000 .It AX210 +.El +.Pp +The +.Nm +driver supports PCIe devices from the +.Sy mld +sub-driver with the following chipset generations: +.Pp +.Bl -bullet -compact .It BZ .It @@ -235,10 +260,53 @@ Intel(R) TBD Sc2 device Intel(R) TBD Sc2f device .\" -------------------------------------------------------------------- .El +.Sh LOADER TUNABLES +The +.Nm +driver supports the following +.Xr loader 8 +tunable and read-only +.Xr sysctl 8 +variables: +.Bl -tag -width "compat.linuxkpi.iwlwifi_disable_11ac" +.It Va compat.linuxkpi.iwlwifi_11n_disable +Turn off 802.11n support in the driver. +Default +.Ql 1 . +.It Va compat.linuxkpi.iwlwifi_disable_11ac +Turn off 802.11ac support in the driver. +Default +.Ql 1 . +.El +.Pp +The names of the tunables are derived from the Linux iwlwifi driver +module parameters and are mapped automatically by +.Sy linuxkpi . +They were not adjusted so that they stay consistent with upstream +Linux, e.g., for documentation available and problem investigations. +This left their names inconsistent between themselves and incosistent to +.Fx +style. +.Pp +The tunables are automatically adjusted by the firmware package for +chipsets which can enable 11n and 11ac. +In case of problems a user may want to override the provided values +in +.Pa /boot/loader.conf.local +with the above defaults. +.Sh FILES +The +.Nm +driver requires firmware from +.Pa ports/net/wifi-firmware-iwlwifi-kmod . +This firmware package will be installed automatically with +.Xr fwget 8 +if the appropriate hardware is detected at installation or runtime. .Sh SEE ALSO .Xr iwlwififw 4 , .Xr iwm 4 , .Xr iwn 4 , +.Xr iwx 4 , .Xr wlan 4 , .Xr networking 7 , .Xr fwget 8 , @@ -249,12 +317,14 @@ The .Nm driver first appeared in .Fx 13.1 . +802.11n and 802.11ac support for the 22000 and later chipsets first appeared in +.Fx 14.3 . .Sh BUGS Certainly. .Pp While .Nm -supports 802.11a/b/g/n/ac/ax modes, -the compatibility code currently only supports 802.11a/b/g modes. -Support for 802.11n/ac/ax is yet to come. -802.11ax and 6Ghz support are planned. +supports 802.11a/b/g/n/ac/ax/be modes, +the compatibility code currently only supports 802.11a/b/g/n/ac modes. +802.11n/ac is only available on the 22000 and later chipset generations. +802.11ax/be and 6Ghz support are planned. diff --git a/share/man/man4/iwlwififw.4 b/share/man/man4/iwlwififw.4 index 491a634e70b5..45ee0e757c07 100644 --- a/share/man/man4/iwlwififw.4 +++ b/share/man/man4/iwlwififw.4 @@ -1,5 +1,7 @@ -.\"- -.\" Copyright (c) 2021-2024 The FreeBSD Foundation +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2021-2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -25,12 +27,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 12, 2024 -.Dt iwlwififw 4 +.Dd May 12, 2025 +.Dt IWLWIFIFW 4 .Os .Sh NAME .Nm iwlwififw -.Nd Firmware modules for Intel iwlwifi wireless network driver +.Nd Firmware for Intel iwlwifi wireless network driver .Sh SYNOPSIS The .Xr iwlwifi 4 @@ -38,1512 +40,1522 @@ driver should auto-load any firmware needed. It is discouraged to load the driver or firmware manually from .Xr loader 8 . .Sh DESCRIPTION -Multiple modules provide access to firmware for the various chipset -models supported by the +Firmware files are available from +.Xr ports 7 +for the various chipset models supported +by the .Xr iwlwifi 4 driver. +Modern chipsets often require a +.Pa .ucode +and an accompanying +.Pa .pnvm +file. .Pp One can use .Xr fwget 8 to install the correct firmware package. .Pp -.Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Firmware-Prefix" +The list is provided as a reference as to with file prefix is needed for +a specific card as far as it can be determined and the port flavor. +.Pp +.Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Flavor" "Firmware-Prefix" .It Ar Name -.It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Firmware-Prefix -.% --------------------------------------------------------------------- -.% This list is manually generated from a sysctl and post-processing -.% by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. -.% Edits will be overwritten on next update. -.% --------------------------------------------------------------------- +.It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Flavor Ta Ar Firmware-Prefix +.\" --------------------------------------------------------------------- +.\" This list is manually generated from a sysctl and post-processing +.\" by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. +.\" Edits will be overwritten on next update. +.\" --------------------------------------------------------------------- .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c60 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c60 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4060 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4060 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x406a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x406a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4160 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4160 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4062 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4062 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4162 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4162 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4270 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4270 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4272 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4272 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4260 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4260 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x426a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x426a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4262 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4262 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4470 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4470 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4472 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4472 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4460 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4460 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x446a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x446a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4462 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4462 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4870 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4870 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x486e Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x486e Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6e Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6e Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6c Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6c Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4570 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4570 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4560 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4560 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4370 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4370 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4360 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4360 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5770 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5770 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4020 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4020 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x402a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x402a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4220 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4220 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4420 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4420 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc060 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc060 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc06a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc06a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc160 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc160 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc062 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc062 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc162 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc162 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc770 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc770 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc760 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc760 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc270 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc270 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc60 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc60 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc272 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc272 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc260 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc260 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc26a Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc26a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc262 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc262 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc470 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc470 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc472 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc472 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc460 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc460 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc462 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc462 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc570 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc570 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc560 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc560 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc370 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc370 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc360 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc360 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc020 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc020 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc02a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc02a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc220 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc220 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc420 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc420 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0072 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0072 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0172 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0172 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0060 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0060 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0062 Ta iwlwifi-3160 +.It Intel(R) Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0062 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0270 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0270 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0272 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0272 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0470 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0470 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0472 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0472 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0370 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0370 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8072 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8072 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8172 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8172 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8060 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8060 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8062 Ta iwlwifi-3160 +.It Intel(R) Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8062 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8270 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8270 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8370 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8370 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8272 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8272 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8470 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8470 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8570 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8570 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x1070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x1070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x1170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x1170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4010 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4010 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4012 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4012 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4212 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4212 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4410 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4410 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4510 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4510 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4110 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4110 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4310 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4310 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4210 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4210 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x8010 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x8010 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x8110 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x8110 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2010 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2010 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2110 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2110 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2050 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2050 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2150 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2150 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 000000 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 000000 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5110 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5110 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5100 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5100 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5310 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5310 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5302 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5302 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5210 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5210 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5c10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5c10 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5012 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5012 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5412 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5412 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5410 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5410 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5510 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5510 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5400 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5400 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x1010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x1010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5000 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5000 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x500a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x500a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5200 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5200 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5002 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5002 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5102 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5102 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5202 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5202 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9012 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9012 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x900a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x900a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9110 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9110 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9112 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9112 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9210 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9210 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9200 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9200 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9510 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9510 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9310 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9310 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9410 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9410 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5020 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5020 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x502a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x502a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5420 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5420 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5090 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5090 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5190 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5190 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5590 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5590 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5290 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5290 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5490 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5490 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5f10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5f10 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5212 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta *** 1775 LINES SKIPPED *** From nobody Mon May 19 09:14:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1Bnr5tQMz5wnn6; Mon, 19 May 2025 09:14: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1Bnr525Vz47Pb; Mon, 19 May 2025 09:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uoQHHc9xkSaAklEYNljVn3YCdPIK8vBt34dNCnH1meg=; b=gYu6Mccj9cKILiPoES1EVNDQX3rRhA1kPHh/W4g9JNOrcSjHL1TVM258ITes3gt9DxQ7AF ml2HF83vPHHyPvEylThZ2hvtgcQ5PUOjoMsfutTZDCW3RvUJ9aIzuo8Iy2Yev8HisIDJKF XqhkcZUWZOhHC/3DcdTcBvADY3o6X7x24izLJZFACqq1/nQ6XtURIoXWXtpgj03axh7DNO h1AbV17UAuYseZAdJR37DjhiLh9mXC4CCZ3QpfzLp115Phu2BV0jEdOEPWiMGFsFyxIY+7 gkGHe1SsdksCeksVKLfiQbOlhFanWqi7n+pyuAYvqFNaz5Eo6Cwu7nONAjXfdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uoQHHc9xkSaAklEYNljVn3YCdPIK8vBt34dNCnH1meg=; b=Uywt9ao1iiK2tV24nShFXWb4s4FNqNykkgtGLeV93zHX/zMq3inEN+CMwmm5NYX47zpFZa wpmGITh7SLiQxUrk30/vfB/0QrXI0Yt02ak+V+I7TdkIiVMtaQHPcRVewnE1aK6emq9lsg +aMOGHwvy79cOgxy+XiGnr9je/+MND2+r5pGNhfZlNXlxORxvugMTDiTJVxFzH9bCRocwZ Bn3DaqTU+18olpItCT/v84561Ef4PYrzprkrEKGf0RksE4SS2bXH4inY4It/kUEHit0PDr eAyJZlPBMIJxpmGRVNlcIS5s6ZVuPo8wjCJxLk2g1ruZGpcyyaGDBZ3p7gaeNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747646048; a=rsa-sha256; cv=none; b=GzvYi3rN1ul9unl7DNoEaR3XeCdY0tt/pyuCtkkNTTA1hG34N0ixfcvklszxkUxYswsa8X hzIoP5/hWkqfwFrFM1j7tG3Nto7Np8ILsXVkPvHR1C37U1J6S+TOzPMqnTUFz+LHirS2xG u/y3mcrjkkw4AeZT5p8onFdA51/rZt0uluyNHj44aKp/nACBMMXB2tOInInE1Vh0UYPeAy IAE3tOuHz7MEk/soprITgifHI3djkGIebT1sahIbb7lbV9DFT1EJCqG74BmSi8gkPQcPQf 7BmTy03bQ3IEYZrNnxBTLfKeixQ3rrJLZ+9cvH/ebNVzuIvN61xEo5jSHHtaKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1Bnr4RtZzy9Z; Mon, 19 May 2025 09:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J9E8NJ093115; Mon, 19 May 2025 09:14:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J9E8DN093112; Mon, 19 May 2025 09:14:08 GMT (envelope-from git) Date: Mon, 19 May 2025 09:14:08 GMT Message-Id: <202505190914.54J9E8DN093112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: 97c799661a76 - main - dwc_otg_fdt: do not create and leak extra usbus child List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97c799661a76b78963fd9f92a7e6bb452ebba999 Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=97c799661a76b78963fd9f92a7e6bb452ebba999 commit 97c799661a76b78963fd9f92a7e6bb452ebba999 Author: Andriy Gapon AuthorDate: 2025-05-19 09:06:55 +0000 Commit: Andriy Gapon CommitDate: 2025-05-19 09:08:43 +0000 dwc_otg_fdt: do not create and leak extra usbus child dwc_otg_init() already takes care of creating the bus and setting up sc to point to it. Fixes: 518da7ace813e MFC after: 1 week --- sys/dev/usb/controller/dwc_otg_fdt.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/usb/controller/dwc_otg_fdt.c b/sys/dev/usb/controller/dwc_otg_fdt.c index 3d5dcb9e9a7b..2ed94b23212c 100644 --- a/sys/dev/usb/controller/dwc_otg_fdt.c +++ b/sys/dev/usb/controller/dwc_otg_fdt.c @@ -140,10 +140,6 @@ dwc_otg_attach(device_t dev) if (sc->sc_otg.sc_irq_res == NULL) goto error; - sc->sc_otg.sc_bus.bdev = device_add_child(dev, "usbus", DEVICE_UNIT_ANY); - if (sc->sc_otg.sc_bus.bdev == NULL) - goto error; - err = dwc_otg_init(&sc->sc_otg); if (err == 0) { err = device_probe_and_attach(sc->sc_otg.sc_bus.bdev); From nobody Mon May 19 09:15:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1Bqv20fnz5wnxc; Mon, 19 May 2025 09:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1Bqv1Xs3z47xc; Mon, 19 May 2025 09:15:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4WI8cHhYNBOLIc4PVgYS5gFNbML6bgEQeB0oIAJqq9s=; b=gzy5bEgZ/yi3qnfPfNkI4fKZ0CMmkreDeVvhYnPZOuHfN8UvsC80KyZGO12sbDMalow304 NaXMcNgZDooXc22kOkIo6czS9ziIRssb/xP7pLGT89PsjQU3lfhgbC8qWFwN9LEzx/gBAg ItneVoT1yk+ZXkIxehxw4y1eZJiJXAuSoijWFLbZuOWQ27eNBxl/8Q+Up2sh76i5zVejtG ECMpm8kVAO6uvPQ0IQ68u/Og1TMyIOlhkQZJSil/nMq4cDx41rM74wyEgeo5KHDyPYw1Vh sZoHdkrVw+eWpdG8NyqzcZiFJE6ROkfXcs2W1H8nE8o83wuYcTvr0wcJDiF7Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4WI8cHhYNBOLIc4PVgYS5gFNbML6bgEQeB0oIAJqq9s=; b=kjrBjz2IEN0SyF0ecMEVOQIYyh7Vj92tC1bYWAlDJoRhDdX8ZZ48Tqc/2LKJ3EbKbkQftJ luA6qh54vTW9zoqAUI4QYejvw2Ks89nOmNmxoSnvoMjXyhAxYbHjkww+H3WT8tA90ye+zJ 9Q8UZJoiTug63Na8NjlNqcIzNGWTFLu4LlEjK7HJSJ+MyGSloWm5hYqdiaOlfkQMwheDTm KBYzyF0k5MLyUfaCf1Bp1YN6ABKpsSR9ILpqaxP2fjyP7qEWbTcZi2jS+1HDbpfUzYKZE6 Qk3WzfdSVKqko0hhDXnv5RZMohBZp8RwuMi8h7ldMrKlb8zC6HrujQdxrZ8YDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747646155; a=rsa-sha256; cv=none; b=JyH/U54NWzgh+QsZFU2THe0Jrp/bfVsfPu+MOe55cTti+glvnZOzcnhEGunalhflHtOG9R zlEQ+mIdNKc9R6vkdENQ/H7GRlwW0j6MeWSUdMWChQoKbZVw9YBzF5QtQzrA5AqwYkDc1x R1rcDTxDjx5tIhGtMcHmjSMafflO6Y+PzV1egmLcrKs5mLCCsv0k2Mzn9Rle10CA0svAad MfpaEBHXoP9YyEMS+jY1YVkqnf+b/Q1XmDxHtMx43G3voNgeS3zJpheaYjkpqYj/ssyO36 yd/dGdFmjJ0RH9GLOAqUVWcMaNevGhs05TOJVq1iz3jFnN+7SvILHAhISSHKAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1Bqv13YGzxdG; Mon, 19 May 2025 09:15:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J9FtWl093750; Mon, 19 May 2025 09:15:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J9Fta5093747; Mon, 19 May 2025 09:15:55 GMT (envelope-from git) Date: Mon, 19 May 2025 09:15:55 GMT Message-Id: <202505190915.54J9Fta5093747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: eda3a7ac755c - main - ads111x: initialize the lock earlier, before it's used List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eda3a7ac755c5e02f92ff971db63d0a702963d66 Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=eda3a7ac755c5e02f92ff971db63d0a702963d66 commit eda3a7ac755c5e02f92ff971db63d0a702963d66 Author: Andriy Gapon AuthorDate: 2025-03-30 19:47:50 +0000 Commit: Andriy Gapon CommitDate: 2025-05-19 09:15:03 +0000 ads111x: initialize the lock earlier, before it's used The first use can be in ads111x_add_channels. MFC after: 1 week --- sys/dev/iicbus/adc/ads111x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/iicbus/adc/ads111x.c b/sys/dev/iicbus/adc/ads111x.c index dd223f69bb5f..21924627cc68 100644 --- a/sys/dev/iicbus/adc/ads111x.c +++ b/sys/dev/iicbus/adc/ads111x.c @@ -559,6 +559,8 @@ ads111x_attach(device_t dev) return (err); } + sx_init(&sc->lock, "ads111x"); + /* Add the sysctl handler to set the chip configuration register. */ ctx = device_get_sysctl_ctx(dev); tree = device_get_sysctl_tree(dev); @@ -575,8 +577,6 @@ ads111x_attach(device_t dev) /* Set up channels based on metadata or default config. */ ads111x_add_channels(sc); - sx_init(&sc->lock, "ads111x"); - return (0); } From nobody Mon May 19 09:19:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1Bvx4nXZz5wpC2; Mon, 19 May 2025 09:19: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1Bvx4DrVz49Rt; Mon, 19 May 2025 09:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jzTMmLwIYxa7xavhrsEEbuhAUErMHtNyRI4gaFTVIRs=; b=LbgCDsxcQwfKUOslOJMYXvxsg4ONG4aMp3g75DKOZPk3ErFIhWMJ5ZYExdMxnlaMjISQn4 I/1TSlaGaT7dq0oWW9gs5QFqS8gspjmVSUD5NEKhDrmUJnrpS99SAccqEvkNB9GhElIL/F oLmEKKQ9cL2P1HLUig2/ItKQXeoOrD14cktUrpWCF71bfQoWpnwPxEabW7ZucFHHN+Qc2r nAg7xMTb3+K3r2BIR5m7tYpCY7NoKy2eRsz+20C96T+10hisxRU+FJRedLJTdyRYlyOGCh lqiIB5MN6w1/w8ZuHP0LZGqFSjyXM7nC0aRUdpwELFCy3CtER/wLTur2GP4qDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jzTMmLwIYxa7xavhrsEEbuhAUErMHtNyRI4gaFTVIRs=; b=XjgUH/U5Ive2a0xB2Eb2offkxrx0yL0NaPY8DAWzKP70447sHt/NC5NADDXMyHc7YtsLCb VkBtFf+VOhNA8+K9eAGiHbd9PaC7gMG9jdcgQ/HnES8xW/KVCOfkAwvKG/WMn7kCJSBMFf 3Y1y+5FU+QQ2WX8E1QqXInsSJuRooKPkHVbuSv0jIJN4AUvQG2kZseyP3kYkfG4zwoW1yw g/o+FScOtADpnUAZfvAlIO+fGVxE2Xu0qjI8nkjpvOWZKyxFHt+zUvji5PczLRIMS2qRtT argCZz3Xmm7WNaagajIzLKpdlsHTqbuZKgd01J/UWgw2RJJzYj3vtP5dpgDdhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747646365; a=rsa-sha256; cv=none; b=ibFlv6Lfddv3CW7YpG7o/53l8wH3ZAuKQMRa0bTG1vVfhtVZy8JvcM8dDKDizpHcbmww0l Xgas6SmylUq43dJkKrQX8Ze5J/JdzWlRDEXPzl1on6qpRLW2XPCSJeCHIauC6jRRntUXGF NhprPbQVKDKTj9KYWQezmXTOrDAVvPSKLq+xv/nehlBifz0kGI4HQANx0CkvIw99EqeVSp o35YwJ8atKmI51gVWiuIbYb8jNhMBbyov9/gqtFNZlVLatUEKRVBDYP1lV0G4c2Rl2P1hc k/EzUnqcYd/q29kio1Eeu09U8utivQT7N/g8YtLrtVXFo1AkQcKQFP6eJ3x1PA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1Bvx3bFZzy9c; Mon, 19 May 2025 09:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J9JPWc094864; Mon, 19 May 2025 09:19:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J9JPa3094861; Mon, 19 May 2025 09:19:25 GMT (envelope-from git) Date: Mon, 19 May 2025 09:19:25 GMT Message-Id: <202505190919.54J9JPa3094861@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: 3fc4ddb0151d - main - rk_i2s: correct some bit-field definitions, add more bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3fc4ddb0151d1a4fec5ba6c878f4b8afc6aa83b8 Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=3fc4ddb0151d1a4fec5ba6c878f4b8afc6aa83b8 commit 3fc4ddb0151d1a4fec5ba6c878f4b8afc6aa83b8 Author: Andriy Gapon AuthorDate: 2021-09-24 17:05:22 +0000 Commit: Andriy Gapon CommitDate: 2025-05-19 09:19:03 +0000 rk_i2s: correct some bit-field definitions, add more bits MFC after: 2 weeks --- sys/arm64/rockchip/rk_i2s.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/arm64/rockchip/rk_i2s.c b/sys/arm64/rockchip/rk_i2s.c index 3d6aaf523c4a..5f1b6bbdeabf 100644 --- a/sys/arm64/rockchip/rk_i2s.c +++ b/sys/arm64/rockchip/rk_i2s.c @@ -91,16 +91,20 @@ #define TXFIFO0LR_MASK 0x3f #define I2S_DMACR 0x0010 #define I2S_DMACR_RDE_ENABLE (1 << 24) -#define I2S_DMACR_RDL(n) ((n) << 16) +#define I2S_DMACR_RDL(n) (((n) - 1) << 16) #define I2S_DMACR_TDE_ENABLE (1 << 8) #define I2S_DMACR_TDL(n) ((n) << 0) #define I2S_INTCR 0x0014 #define I2S_INTCR_RFT(n) (((n) - 1) << 20) -#define I2S_INTCR_TFT(n) (((n) - 1) << 4) +#define I2S_INTCR_TFT(n) ((n) << 4) +#define I2S_INTCR_RXOIC (1 << 18) +#define I2S_INTCR_RXOIE (1 << 17) #define I2S_INTCR_RXFIE (1 << 16) #define I2S_INTCR_TXUIC (1 << 2) +#define I2S_INTCR_TXUIE (1 << 1) #define I2S_INTCR_TXEIE (1 << 0) #define I2S_INTSR 0x0018 +#define I2S_INTSR_RXOI (1 << 17) #define I2S_INTSR_RXFI (1 << 16) #define I2S_INTSR_TXUI (1 << 1) #define I2S_INTSR_TXEI (1 << 0) From nobody Mon May 19 09:29:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1C7Y3BVtz5wpxp; Mon, 19 May 2025 09:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1C7Y2HXKz3J1Y; Mon, 19 May 2025 09:29:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FZDKxIuoTwCeP86zR8pzFfl26HxD9VypXDkKQvYtajQ=; b=Gr+hLmQ3YY7RYAKkI8nS6FHRichMz8KH/W01G5hjpgV8ZR7DCdfbqRfpnUUCTCJzWScb3l 8TLAYA5z4k7jpCv+DFRel0XrXUTjeazn1DCiyAFAB/B5gVgSyP27qePJWCuq3sN5ew34Ta EtI9Ip5i3Y6B8t4fcYIlTMkuHJ6hjVfu2sptzJoP3ENkApJyR9JAlQ2xI4CIH8u+9qMHhb cXymu7fVLwkJkljAwgBA4k756EUAeQUSvj2bf8Ix1kLVyHrb/oY1ZkrIpqk92DA32mBNRU MO4R88NpypDq9PH4em2sAt+EMVtbHczHqOL+FL1Hubkheaf9jauTENFPlE/3gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747646969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FZDKxIuoTwCeP86zR8pzFfl26HxD9VypXDkKQvYtajQ=; b=RNRZiKeQ++yaXhfUeneIm/0CatfcMzBf/t4rxRgqt34Xhd6HIhGQda2MUffrMa8utJ92DA M3ZMYPwvTJRyEipKKexD3D2+qyC2QNDhxcBNN+0364tmtRinqR43IqAk7n+/RVfpp7DQdY 6XRniAlNwr1Lzy0TMoD5X8MzBhKQ6FuhDBz9PkyHGiheDcccLy30LKbTzSj35MQxJOcu2j wBdiEWzWYLPNmE6cUYCN4XWJzdBISEi5A0vSdMn4V+1QNdQeekUNfN2r9Nn0vDoAzcwty0 3i/SH1x6t3baQxY7zsiVCJTWDGxhnb3tKBvd20/DcOvQd837uqtPYFgteXLJLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747646969; a=rsa-sha256; cv=none; b=A0gbmXbQE/6DoMZGpjsL2D3102o1X/eZ9t5CJjZAIg4uA59UfE+D1xqu4stOP78lmsR5rV vkLnGSw546INyJd5zptDGLZF0nX5NN0HMMGTo5BouxUAr70RDXPPf0SU8y9oeZHkdpH0r4 i6rOfOIp21EqTvR609LRFJNtZyBwFm9c5NL3Is7b/qY6LuAUjywvg0ZzTvgoBqjc7pXXVi kg3TGdyhNHha63JN4VMQj/BtwkzV3/M5GLdEFZsh/eqzDbpwBic9WfKV9PLDhLfdy7ZLej SWsS8dXT40gs8jwd8cFIhF37SOpGsO2mUfC0ywmM3E7oV47APNjdW1+olDlY3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1C7Y1s15zyNg; Mon, 19 May 2025 09:29:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J9TTaL013040; Mon, 19 May 2025 09:29:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J9TT4D013037; Mon, 19 May 2025 09:29:29 GMT (envelope-from git) Date: Mon, 19 May 2025 09:29:29 GMT Message-Id: <202505190929.54J9TT4D013037@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: 28d74f18f1c2 - main - OptionalObsoleteFiles: etc/rc.d/powerd is used/useful without ACPI/APM List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28d74f18f1c222022ee4e9a2cdc63b1c21037392 Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=28d74f18f1c222022ee4e9a2cdc63b1c21037392 commit 28d74f18f1c222022ee4e9a2cdc63b1c21037392 Author: Andriy Gapon AuthorDate: 2025-05-19 09:23:29 +0000 Commit: Andriy Gapon CommitDate: 2025-05-19 09:29:06 +0000 OptionalObsoleteFiles: etc/rc.d/powerd is used/useful without ACPI/APM Just like powerd daemon does not depend on ACPI/APM, its rc script does not either. Fixes: 20eb6bd8c598f MFC after: 1 week --- tools/build/mk/OptionalObsoleteFiles.inc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 6de8f1c5a0f6..5c598306e152 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -55,10 +55,6 @@ OLD_FILES+=usr/share/man/man8/acpidump.8.gz OLD_FILES+=usr/share/man/man8/iasl.8.gz .endif -.if ${MK_ACPI} == no && ${MK_APM} == no -OLD_FILES+=etc/rc.d/powerd -.endif - .if ${MK_APM} == no OLD_FILES+=etc/rc.d/apm OLD_FILES+=etc/rc.d/apmd From nobody Mon May 19 09:30:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1C936YkGz5wpTP; Mon, 19 May 2025 09:30: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1C935G0Nz3K2D; Mon, 19 May 2025 09:30:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747647047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=blXlaVSOTta4wfhQiXLGV78od2IFfohzs7OHJqmXkxc=; b=xBY/nJmW7xLS2acDC5SEKRAu2DwoI5fUVxXlZKNrNVsoOUfQKuGrdQEnsKDjfz6VHzyeOu qbtfAdIEHnTuJyHKUITh3gI1BfEumhWUNgNk9OjWtJRxczZ//Az1g06U4wQWX260sD67tN I9PFwo+NsczG9HgNDLHwVq0bDA4TrVLA1kJ0jrh4a03Z/7i2oHgE6Bu5mICg58GXAHwqwT 6j+sLZZAq7Yd+e0lfQOpguUIlaBuoHvh63Dl7oWZtBI7ZHX4sIWsIMSrFCZ6ChJZ8QmBhv HDmR/+1xo5amvmNETr0qqPntrzfYAcxnY5ucUyWC2oueR5ex51zC90cc8wR10Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747647047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=blXlaVSOTta4wfhQiXLGV78od2IFfohzs7OHJqmXkxc=; b=oICvsD4sC137E72njxISmnuEDSfn22REJJ7g9X4fA4fxlxbDeT7r4VCZP5coKX8QwRqIrB M3ZzmlN5FbrxTGOLb/aFr0HnnL6SwqOllLvgaBFWrRC8Rs0vbR/Y8G8LFzAjnSILyieKyt AHO+b/46LRJMQQP+App7O+Ykbi3ihXUciCvhGF3spqzTxUP1LZ24UvFHaWEx8J7x4obRhq UPdqDZjDIBMoInN6V5+LxN7zDynpbCNK73liMpNiJ2Foa63F1gIEdPKjQva2U2leKoZSUm yvdxO3LOB9IhEpGzqPKszW0VuBsNTFQW6M3QV0v0v6Y4Yjk1TpdlfdtjHzOHSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747647047; a=rsa-sha256; cv=none; b=yfRnZ5r4/igqNOhQrFEQreYXcxy6fS6aZAd2WWxP8VZGYGXW4A5BbCLmXONoC45EfTS1CN AHcahy+PasI2p0L2OKzUCYOilTQYUhk7r+BYszKwLmkr2/6A0O2i27KJ9lDrZonQ9zmwHq Z3fu+eQqQf6u36X3O6x7Wjd4S8gVMOOuoc6LRpgyZUh7ckmAUpZ73EgvOVuUFHQ915+EZl eZSvgGKzbziG23XIQH0Z1OROi/dGCDx19hIowvfhrNzNK2zUbT8wn6GTQ0ouoD+Qg/ZG7u A+E+svVV8St36xUYbOZSMGWEJD4KanhTFAcDdR3aWOeQkz/ObTMZ0KWavw/69Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1C934jzBzyJy; Mon, 19 May 2025 09:30:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J9Ulwo023119; Mon, 19 May 2025 09:30:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J9Ul0P023116; Mon, 19 May 2025 09:30:47 GMT (envelope-from git) Date: Mon, 19 May 2025 09:30:47 GMT Message-Id: <202505190930.54J9Ul0P023116@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 49d9f344f67e - stable/14 - ng_sample: fix style nits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 49d9f344f67efcce5aebe033577907e8230237f0 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=49d9f344f67efcce5aebe033577907e8230237f0 commit 49d9f344f67efcce5aebe033577907e8230237f0 Author: Seyed Pouria Mousavizadeh Tehrani AuthorDate: 2025-05-16 16:19:56 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 09:29:55 +0000 ng_sample: fix style nits MFC after: 3 days Reviewed by: ivy, kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50343 (cherry picked from commit 95c414dd27c26285cdd6ed4288832b3db0ea6628) --- sys/netgraph/ng_sample.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netgraph/ng_sample.c b/sys/netgraph/ng_sample.c index 54b7f2026fa1..06c6785e6103 100644 --- a/sys/netgraph/ng_sample.c +++ b/sys/netgraph/ng_sample.c @@ -271,7 +271,7 @@ ng_xxx_rcvmsg(node_p node, item_p item, hook_p lasthook) struct ngxxxstat *stats; NG_MKRESPONSE(resp, msg, sizeof(*stats), M_NOWAIT); - if (!resp) { + if (resp == NULL) { error = ENOMEM; break; } @@ -320,7 +320,7 @@ ng_xxx_rcvmsg(node_p node, item_p item, hook_p lasthook) * in the connect() method. */ static int -ng_xxx_rcvdata(hook_p hook, item_p item ) +ng_xxx_rcvdata(hook_p hook, item_p item) { const xxx_p xxxp = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); int chan = -2; From nobody Mon May 19 09:30:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1C951b9lz5wqFf; Mon, 19 May 2025 09:30: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1C945zmyz3K2G; Mon, 19 May 2025 09:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747647048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OTTJNygpler3+lvfmI53ALZpUW8/OhxBEbiyJrch3+I=; b=gce0LChZ9OWwsJGZ3pnFJKMwhUVyGyAmvTLdfsxTFWew+SZRWUPZ0VkAtNp5fvxmynTANN q3+WRxHb8xItMFlx7Sh3DOmzPJxc/08QzZ4vSaUe4Ihnc/SLO8D+I632HbM1gF6hZ250CF i+ygwnzS5DYWGVroXHa2U2o1HxQWG5xdROOxMw1hmrCo2wtSTx+FC8otVU7uJkBY8AVP/p lobUCQc2/PgEupr5GXz4zpnZpfMJsziKKl8iO23GNivaij7pqWiJZIsaiEJ7kLdy0GB5I2 FQbkAhkzFJ13jxN1a20V9yZHo+EONwsnu4NSsBfPhmnCCwgMHAbqFIdw+k2esQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747647048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OTTJNygpler3+lvfmI53ALZpUW8/OhxBEbiyJrch3+I=; b=nGJx5jNAqSJZiPYr/iPfzMAQMGDGioFCSpl1RwtUJT8jDcDKY0kEMdTgdvZghMeUNxyQwv 4d6FdDSgTXx9aT6Kyqn0Y8M/2b7dEWUeY5u36dJRfm3gSmUl/nExA6c8DqUBD2O41/0CU+ kEXF8+aUlAREfiHjrMeAg1AeK57qT0DF6/XYGrTXjYlVNxCEevM8CGrCXdCGRuxgPbAaCa sDt2Zy62/EuiGyFm2eAK6pb1gzhuNcVpJWX7hcoJEEVyWvlUy4QqB2jCQrm9am/M0uBNr/ wGIfDJOwA5eDeOJvKY7nZoEVRQZHMcxCc+YzxNsqGmQYR9+q4uvsmnlgwtDu5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747647048; a=rsa-sha256; cv=none; b=lCYmiYXJD0rFQcoHsxcae7xdtahUPkDTBNnBLW3vYy1Zc055ZC7NBu2toPxyTC1nuf/Bpp oA2RbmQem3OKCX3cJrPwQX4hcGHFNnwKjFiBPa4+0oXeJpY0DjuVfI5pbaVtNRH2efv4Yk +amtTC6so+iT22Ua4mN5VSr6mXpmAJoUD8w/rLwais/U24nG7UYVXMV3qn3+IKklosY7rZ ovtVD5S4U67otODaM0DG8uQEfOdbOk754EI3eLSOVTWjZFyiSrRxynm93LwvuyyZnWirzS SHWQZc3hrHx3rpyY/OdOET6OyaHUdL9lKzPDbR4uYP/Ccodr/cdYzxcUHvzmDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1C945b1wzyK0; Mon, 19 May 2025 09:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J9Um8X023152; Mon, 19 May 2025 09:30:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J9Umo8023149; Mon, 19 May 2025 09:30:48 GMT (envelope-from git) Date: Mon, 19 May 2025 09:30:48 GMT Message-Id: <202505190930.54J9Umo8023149@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: e5081477e6b3 - stable/14 - column(1): add tests and -l flag List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e5081477e6b3a7f9533c57b2bf68b6ee305614b2 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=e5081477e6b3a7f9533c57b2bf68b6ee305614b2 commit e5081477e6b3a7f9533c57b2bf68b6ee305614b2 Author: Lexi Winter AuthorDate: 2025-05-07 09:27:20 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 09:29:55 +0000 column(1): add tests and -l flag column(1): add tests Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49911 (cherry picked from commit 6f2b1b56ac3dd154bd98f5a7ea075abcb4356560) column(1): add -l flag the '-l ' flag limits the number of columns that column(1) will produce in -t mode. this is syntax-compatible with the same option in util-linux's column(1), but due to existing differences between the two implementations, it's not semantically compatible. as a side-effect, fix a pre-existing bug where empty fields could cause incorrect output: % echo ':' | column -ts: (null) while here, also fix a couple of minor existing issues. Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50290 (cherry picked from commit 313713b24c6d2a3061972c4f431515c4f1b01c77) --- etc/mtree/BSD.tests.dist | 2 + usr.bin/column/Makefile | 4 + usr.bin/column/column.1 | 11 ++- usr.bin/column/column.c | 45 +++++++--- usr.bin/column/tests/Makefile | 3 + usr.bin/column/tests/column.sh | 200 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 254 insertions(+), 11 deletions(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index a6b2eed725b8..2159b24978c0 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1041,6 +1041,8 @@ .. cmp .. + column + .. compress .. cpio diff --git a/usr.bin/column/Makefile b/usr.bin/column/Makefile index 1c304e2b3927..23933d9ef96f 100644 --- a/usr.bin/column/Makefile +++ b/usr.bin/column/Makefile @@ -1,5 +1,9 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 +.include PROG= column +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests + .include diff --git a/usr.bin/column/column.1 b/usr.bin/column/column.1 index f9b05ccf2210..c9dff361cc9c 100644 --- a/usr.bin/column/column.1 +++ b/usr.bin/column/column.1 @@ -27,7 +27,7 @@ .\" .\" @(#)column.1 8.1 (Berkeley) 6/6/93 .\" -.Dd July 29, 2004 +.Dd May 13, 2025 .Dt COLUMN 1 .Os .Sh NAME @@ -37,6 +37,7 @@ .Nm .Op Fl tx .Op Fl c Ar columns +.Op Fl l Ar tblcols .Op Fl s Ar sep .Op Ar .Sh DESCRIPTION @@ -55,6 +56,14 @@ The options are as follows: Output is formatted for a display .Ar columns wide. +.It Fl l +When used with +.Fl t , +limit the table to +.Ar tblcols +columns in width. +The last column will contain the rest of the line, +including any delimiters. .It Fl s Specify a set of characters to be used to delimit columns for the .Fl t diff --git a/usr.bin/column/column.c b/usr.bin/column/column.c index a808113649bc..97fc83e6b589 100644 --- a/usr.bin/column/column.c +++ b/usr.bin/column/column.c @@ -67,6 +67,7 @@ static void usage(void); static int width(const wchar_t *); static int termwidth = 80; /* default terminal width */ +static int tblcols; /* number of table columns for -t */ static int entries; /* number of records */ static int eval; /* exit value */ @@ -81,7 +82,7 @@ main(int argc, char **argv) FILE *fp; int ch, tflag, xflag; char *p; - const char *src; + const char *errstr, *src; wchar_t *newsep; size_t seplen; @@ -94,17 +95,26 @@ main(int argc, char **argv) termwidth = win.ws_col; tflag = xflag = 0; - while ((ch = getopt(argc, argv, "c:s:tx")) != -1) + while ((ch = getopt(argc, argv, "c:l:s:tx")) != -1) switch(ch) { case 'c': - termwidth = atoi(optarg); + termwidth = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr != NULL) + errx(1, "invalid terminal width \"%s\": %s", + optarg, errstr); + break; + case 'l': + tblcols = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr != NULL) + errx(1, "invalid max width \"%s\": %s", + optarg, errstr); break; case 's': src = optarg; seplen = mbsrtowcs(NULL, &src, 0, NULL); if (seplen == (size_t)-1) err(1, "bad separator"); - newsep = malloc((seplen + 1) * sizeof(wchar_t)); + newsep = calloc(seplen + 1, sizeof(wchar_t)); if (newsep == NULL) err(1, NULL); mbsrtowcs(newsep, &src, seplen + 1, NULL); @@ -123,6 +133,9 @@ main(int argc, char **argv) argc -= optind; argv += optind; + if (tblcols && !tflag) + errx(1, "the -l flag cannot be used without the -t flag"); + if (!*argv) input(stdin); else for (; *argv; ++argv) @@ -230,7 +243,7 @@ maketbl(void) int *lens, maxcols; TBL *tbl; wchar_t **cols; - wchar_t *last; + wchar_t *s; if ((t = tbl = calloc(entries, sizeof(TBL))) == NULL) err(1, NULL); @@ -239,9 +252,11 @@ maketbl(void) if ((lens = calloc(maxcols, sizeof(int))) == NULL) err(1, NULL); for (cnt = 0, lp = list; cnt < entries; ++cnt, ++lp, ++t) { - for (coloff = 0, p = *lp; - (cols[coloff] = wcstok(p, separator, &last)); - p = NULL) + for (p = *lp; wcschr(separator, *p); ++p) + /* nothing */ ; + for (coloff = 0; *p;) { + cols[coloff] = p; + if (++coloff == maxcols) { if (!(cols = realloc(cols, ((u_int)maxcols + DEFCOLS) * sizeof(wchar_t *))) || @@ -252,6 +267,16 @@ maketbl(void) 0, DEFCOLS * sizeof(int)); maxcols += DEFCOLS; } + + if ((!tblcols || coloff < tblcols) && + (s = wcspbrk(p, separator))) { + *s++ = L'\0'; + while (*s && wcschr(separator, *s)) + ++s; + p = s; + } else + break; + } if ((t->list = calloc(coloff, sizeof(*t->list))) == NULL) err(1, NULL); if ((t->len = calloc(coloff, sizeof(int))) == NULL) @@ -332,8 +357,8 @@ width(const wchar_t *wcs) static void usage(void) { - (void)fprintf(stderr, - "usage: column [-tx] [-c columns] [-s sep] [file ...]\n"); + "usage: column [-tx] [-c columns] [-l tblcols]" + " [-s sep] [file ...]\n"); exit(1); } diff --git a/usr.bin/column/tests/Makefile b/usr.bin/column/tests/Makefile new file mode 100644 index 000000000000..40a7767f0dc0 --- /dev/null +++ b/usr.bin/column/tests/Makefile @@ -0,0 +1,3 @@ +ATF_TESTS_SH= column + +.include diff --git a/usr.bin/column/tests/column.sh b/usr.bin/column/tests/column.sh new file mode 100644 index 000000000000..283dc88bff1a --- /dev/null +++ b/usr.bin/column/tests/column.sh @@ -0,0 +1,200 @@ +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +atf_test_case "basic" +basic_head() +{ + atf_set descr "Basic column(1) with default options" +} + +basic_body() +{ + cat >input.1 <input.2 <input.3 <expected <input.1 <input.2 <input.3 <expected <input.1 <input.2 <input.3 <expected <input <expected <input <expected < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 29a062108405 - main - tcp: allow connections to IPv6 anycast address List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29a062108405cf97e16d9a82635ddc9cfd89ae06 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=29a062108405cf97e16d9a82635ddc9cfd89ae06 commit 29a062108405cf97e16d9a82635ddc9cfd89ae06 Author: Lexi Winter AuthorDate: 2025-05-19 12:33:45 +0000 Commit: Lexi Winter CommitDate: 2025-05-19 12:40:26 +0000 tcp: allow connections to IPv6 anycast address currently, we reject incoming TCP connections to an IPv6 anycast address based on IETF I-D "draft-itojun-ipv6-tcp-to-anycast-01"[0]. the rationale is that since RFC2373 prohibits sending IPv6 packets with an anycast address as the source address, it would be impossible to establish a TCP connection to such an address since the destination host could not send any replies. however, this restriction was lifted in RFC4291 and it is no longer forbidden to send packets from an anycast address; therefore, it's both possible and permitted to establish a TCP connection using an anycast address as src or dst address (or both). based on the above, delete this restriction and allow people to do this. while there are certain operational reasons to avoid TCP anycast (such as the risk of the route changing while the connection is open), these also apply to IPv4 anycast and are specific to the local environment; for example, it's perfectly valid to have an anycast address which is only ever assigned to one node. [0] https://www.ietf.org/archive/id/draft-itojun-ipv6-tcp-to-anycast-01.txt Reviewed by: tuexen, kevans, adrian Approved by: kevans (mentor), des (mentor) Differential Revision: https://reviews.freebsd.org/D50019 --- sys/netinet/tcp_input.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 817079dfe6c8..c00a102e8520 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -567,8 +567,6 @@ int tcp6_input_with_port(struct mbuf **mp, int *offp, int proto, uint16_t port) { struct mbuf *m; - struct in6_ifaddr *ia6; - struct ip6_hdr *ip6; m = *mp; if (m->m_len < *offp + sizeof(struct tcphdr)) { @@ -580,19 +578,6 @@ tcp6_input_with_port(struct mbuf **mp, int *offp, int proto, uint16_t port) } } - /* - * draft-itojun-ipv6-tcp-to-anycast - * better place to put this in? - */ - ip6 = mtod(m, struct ip6_hdr *); - ia6 = in6ifa_ifwithaddr(&ip6->ip6_dst, 0 /* XXX */, false); - if (ia6 && (ia6->ia6_flags & IN6_IFF_ANYCAST)) { - icmp6_error(m, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_ADDR, - (caddr_t)&ip6->ip6_dst - (caddr_t)ip6); - *mp = NULL; - return (IPPROTO_DONE); - } - *mp = m; return (tcp_input_with_port(mp, offp, proto, port)); } From nobody Mon May 19 12:53:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1Hg42Lghz5x3G7; Mon, 19 May 2025 12:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1Hg41bf2z3K1L; Mon, 19 May 2025 12:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747659216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=APrC2rCvWYzNP+Cp79WKhHTNxJyls0A/nguhJQLJzqw=; b=SSq3DQqUAjwaiayU5Tm9WXXyOkF9DCf034vbok3MQ6GZHehDNpA9fCa3uLZzw7nXxyJT3D uIK5xeE+5WX9eGgH3H/pL79pCityZf2+cKwEkJAJLJuxlYs47odxFfArwfS+6j9Ndv7r3z A5kUSEv/rX0jexhC8hid9SoC20bYEmYfTtdKyWWLxljU/F1BvwhGoMoGlwS6qLNjWMJV73 pUZlF96qku8DCod9ASNxAfaPfjIncRzY9/R2FW2jzaPXrr4u7PU/ZEHo2h4a+EtJK31gC4 jLn+yxzZagxTcR7W/YAs0GqUcvBjZyJWIckNn4qhdRgThB7CMF47DighQEADpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747659216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=APrC2rCvWYzNP+Cp79WKhHTNxJyls0A/nguhJQLJzqw=; b=pu720HD2zFVCEnCj3HuqXLU+CagOPvif43+aa3AA3xAviep7WZux06CedIv3O2iIvddn9V bjTL3kxh10yg3pUH14xT4mlTiYE/ZaKIhaFsV3P9ZHB31NR69Wc/Y2xpQvR5Kj2zR0CKD/ F0TDhHFH4bUAMbawQi6UZ+avVx3K/iEq2eZywDjV1DPrhNA9NuneCx+8NqH4rVTc1/eZex XuMNLPlM+ioBD7byHiFtBckcJdVcKH5J0r4SjvB3IV0okkk4PjylhGsv+f6uTgUTF/dmeE bmHhJ7Y0zWkCxGd/95RcFfFxCYQYOt0UnQpnIY83Y0AFmUWV7QdGqcWMZ40Org== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747659216; a=rsa-sha256; cv=none; b=U/ea/dCiA8HkMb9sYf11YEKUt2YriOHkwU3dVgwK+XiL2TH7U9m3i6FyhBZo3cUCxnCsaE 8E/w/z+Ze5pp6JHDWcAXkptUeGVwocz7rO2mIolS5V429v373f2noKXmvN7BghdzB6vz3K 4w3AXhzNLHQOU07qqQlXgBnrE+j8qumjEgWpAylS4x1uZFr5njsMXseLy3nEe4i40MHN1e aTnA+H5LBuR3MlHFy12hUHMOqhISlI4eHqw5ztoSysvBcjpbEi+cxf9rKZaVUI2tzYO/yv wNkzh9rHGOjqSueCz+fNLVDCNQlWVqwXSWqKgIqhKCitnIVmaBo5BzSE/6qHrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1Hg41B1Qz14Vg; Mon, 19 May 2025 12:53:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JCraFY003574; Mon, 19 May 2025 12:53:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JCraox003571; Mon, 19 May 2025 12:53:36 GMT (envelope-from git) Date: Mon, 19 May 2025 12:53:36 GMT Message-Id: <202505191253.54JCraox003571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Corvin =?utf-8?Q?K=C3=B6hne?= Subject: git: e9fe7b08eb2e - stable/14 - sys/intpm: fix SMBus Read Block List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e9fe7b08eb2e33112187250795dc3cb0881bf71a Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=e9fe7b08eb2e33112187250795dc3cb0881bf71a commit e9fe7b08eb2e33112187250795dc3cb0881bf71a Author: Corvin Köhne AuthorDate: 2025-05-05 09:23:18 +0000 Commit: Corvin Köhne CommitDate: 2025-05-19 12:53:00 +0000 sys/intpm: fix SMBus Read Block The Read Block function missed saving the data into the preallocated buffer. This causes it to return some garbage when called. Reviewed by: avg MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Pull Request: https://github.com/freebsd/freebsd-src/pull/1691 (cherry picked from commit 691833ad3776c17ba3267049ac36bc3461c66799) --- sys/dev/intpm/intpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/intpm/intpm.c b/sys/dev/intpm/intpm.c index 92fd4dcebb03..bcc7ac06e975 100644 --- a/sys/dev/intpm/intpm.c +++ b/sys/dev/intpm/intpm.c @@ -859,7 +859,7 @@ intsmb_bread(device_t dev, u_char slave, char cmd, u_char *count, char *buf) if (nread != 0 && nread <= SMBBLOCKTRANS_MAX) { *count = nread; for (i = 0; i < nread; i++) - bus_read_1(sc->io_res, PIIX4_SMBBLKDAT); + buf[i] = bus_read_1(sc->io_res, PIIX4_SMBBLKDAT); } else error = SMB_EBUSERR; } From nobody Mon May 19 15:01:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1LW7582Zz5vyNw; Mon, 19 May 2025 15:01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1LW74BhRz41Cm; Mon, 19 May 2025 15:01:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747666915; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bABTzyeH/R+Soj82su6xW3Denzm8a9VLpoZV993VHKs=; b=HIQ93xlWp7ZfLA7IwUyjGjzjyaM1HDEjC6NCZ0ECmYFdiFeiHc48+vzjeQtTm9b8ltAlBG u1HCOmV9iTgPklWXmC9BkXK8cAH1Lq0p8KJPo3vA+fyk+egcXcNHB4WlmYbpLet63lKw37 jqlAnFzp0Fc3pIqgs6S3m7RqUF58+3ovvqJ3+fO7X5K2bO7WJ+dJZvK5A9bFPbKeUGN0Vb oYQ4r4V5gUwf6leudfNuq6FAJNiVXGIsvELKou3JEMcP/E66s6uMRZRnAFj009lE6zRn5H ip0F0xrM8dHbuzk/gWch87MB362ZvrYQ2qHL2r2W4IkMsxb1q6lOug0EylfVtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747666915; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bABTzyeH/R+Soj82su6xW3Denzm8a9VLpoZV993VHKs=; b=DhKIF4icMZPGXTEgiJ5IPnHx+xOHD+7I1LlbO/CywDC1PQBzagAA94A4PxhqiLFw065zAF TfaEJkSFEEkiccAO0R1/RGye+bYGKBQaCta7D2+X74Bj+NENUM6SkDe/LkAcrBMWIHimLK diG2l5QjxJhe5eCX5SygTmZ15PgOetR4+sA737doodoWEYG3cb+ZehsGDNYHJbmadDCBal pJ71/9SfMJRVBB2AWy0YmbzLVHRvqOwW5Rz9KUATYzcQKzhl/oU/c6mFstrSIgkjyJJ/CD jwcm3bkYrC9KejKyAdG7um6SdiRF2yO5QkFEq405lyKu+Q9HaPY/R+DeNqUkYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747666915; a=rsa-sha256; cv=none; b=uOX5tz1jJ5H4JNJN0LvMZw9DNacoDKXlKlaYSkZqNwR3sJRmfCJQrzSN0BBkgMShRWsP6t +EO9hMOIdQee8yw/gb94J6pT8aN0V8WDPXVq4ipjCB5MIjzfGBiTvuGaaksCIr9B5r+FLR WNgeaDg29cLoMvCDYTZ27mnFiv1F8wLgduh9SwEoGou7T7fj5NB1jaZZ1w8WrPgWKv6SH9 VZLZCqmvhk6MJpTEzc1zp2dHfvAsNRzCTw7vRVHoplPvCYjxCFmKc++XJAYlpW4Z7MYPfJ 0UnhZXcNeu74ET2j0xX67QXtfe/F5KCV4axB5NRlttxMfn+BE0oruuqUrHUwEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1LW73CJKz16x5; Mon, 19 May 2025 15:01:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JF1tWs050613; Mon, 19 May 2025 15:01:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JF1tHG050610; Mon, 19 May 2025 15:01:55 GMT (envelope-from git) Date: Mon, 19 May 2025 15:01:55 GMT Message-Id: <202505191501.54JF1tHG050610@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 19419d36cf2a - main - libc: Give __thr_jtable protected visibility List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19419d36cf2a132a325c0a66f49c3a66043072ba Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=19419d36cf2a132a325c0a66f49c3a66043072ba commit 19419d36cf2a132a325c0a66f49c3a66043072ba Author: Mark Johnston AuthorDate: 2025-05-19 14:29:12 +0000 Commit: Mark Johnston CommitDate: 2025-05-19 14:29:12 +0000 libc: Give __thr_jtable protected visibility This function pointer table is overwritten by libthr when it's loaded. libc's pthread stubs are implemented by looking up an entry in this table and invoking the function pointer contained in the entry. pthread calls are fairly expensive even when libthr is not loaded: each call involves indirection through the PLT, then through the GOT to look up __thr_jtable, then the function pointer itself. We can however eliminate one level of indirection by disallowing preemption of the __thr_jtable symbol, and since the existence table is an internal implementation detail, disabling preemption is unlikely to break anything. This gives a modest improvement in some microbenchmarks which call libc's pthread stubs. Reviewed by: kib MFC after: 1 month Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D50354 --- lib/libc/gen/_pthread_stubs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/gen/_pthread_stubs.c b/lib/libc/gen/_pthread_stubs.c index 2a0cebadd5fd..d867ee4db51e 100644 --- a/lib/libc/gen/_pthread_stubs.c +++ b/lib/libc/gen/_pthread_stubs.c @@ -63,6 +63,7 @@ static int stub_getname_np(pthread_t, char *, size_t); #define PJT_DUAL_ENTRY(entry) \ (pthread_func_t)entry, (pthread_func_t)entry +__attribute__((visibility("protected"))) pthread_func_entry_t __thr_jtable[PJT_MAX] = { [PJT_ATFORK] = {PJT_DUAL_ENTRY(stub_zero)}, [PJT_ATTR_DESTROY] = {PJT_DUAL_ENTRY(stub_zero)}, From nobody Mon May 19 17:01:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1P9R4qjVz5w7WX; Mon, 19 May 2025 17:01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1P9R43pGz3ZKQ; Mon, 19 May 2025 17:01:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747674107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dWxOZOkEZXRdGxhmcAbj6gssLmy4RmMb6pT54hauLU=; b=Lm5DhDyLbQvMftM354qNS0u0r3IB5lAlphR4W5dC8vcOXuI3XsbCFAWGw+GO6wLAj+soE+ ZGn+HI7/XGFJynPvcxxWqekuRswBHRUJtBEW4qdVPrUl5fr7M8zUK6yJNN7lDyg5ze061h 6kDXk9s9jTKSeoNZPeEqQmvFi2aaQ62MJjpLYcWM8tR21LJsPlJpvtf5S9L4oo59PnMU4d FFAgZ0nCObaUG7dWOUvgLbLOI/nlljjjR/xuYYqfhzTYF8uv40zTJdnh9gX6fvSiW4gDxK NQX6FlfNDlSRgpCmviuMmFf9CBCbqGlVTPjE6Zfjtw80oXOcM2c6dO6YRZrl7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747674107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dWxOZOkEZXRdGxhmcAbj6gssLmy4RmMb6pT54hauLU=; b=W82MoLR9MAlou42m/cZwzj1vDk5HTDi6H/ng362dJ5qsiDZ6EXcLPfvp8FNNgraviaKOWW GCGPk/VIx/jUp+7VHB3nYUUyFV1/pnqJ/UDfsEI2dBNyHIEDjp/29Mfqv5NfTt2ssrRt59 6jpkVk4QjjcZntTUiIQU9N1QdLjkPoFuzvcFQp1dK11Ki7WJgvKqXMrn2njtQ0yNg2NiTC 28w29mOh5QrspeGmVUjbETyLFVBuHWj/Bcr6R1E25tqvWXEM6s/UcW4VtgQBCJ5S55omUV 1GuauGh5JIy421uOZxbRKkrsQ2ntPTSeKhSJDe3a7fTcrxcACooChZ+iqRnb0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747674107; a=rsa-sha256; cv=none; b=FoBlS45+N19igpm2/5IDpcwocJ+xpwfLG/60H0PNkj7wKANTk1nXfBsRucShrAk1Doo8Q4 zOlQ4cARN1OUHkJUpBpCfpU2f4zn1ZZ0r+yeT9FLfnEgQSQwqf3E88O4VDtpYaK9wEYZSo BAAx07VX46CVMw7XTm946N9bSf7wqgoOMzOGQ+D7jJtvH/aMt8rIEB2pxLcTYtDBCRNsJu goiL1imDWugSpHrxIps3ZpjXnv/geebRtokkDf9lKSyRoEp+5K7EgvmH82T/yN0TUU3b8Z XvaQuJnwSpc/LWu0Gk1cegOB5R6oxQueD/IlIGG0W6u5UEPaaxvlAJtWfLIe+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1P9R3gLbz1Bk7; Mon, 19 May 2025 17:01:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JH1lin074022; Mon, 19 May 2025 17:01:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JH1lPu074019; Mon, 19 May 2025 17:01:47 GMT (envelope-from git) Date: Mon, 19 May 2025 17:01:47 GMT Message-Id: <202505191701.54JH1lPu074019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: a7277b98b86a - releng/14.3 - xen: improve man (4) page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: a7277b98b86a93132c515b15f4c1716c25034f6d Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a7277b98b86a93132c515b15f4c1716c25034f6d commit a7277b98b86a93132c515b15f4c1716c25034f6d Author: Roger Pau Monné AuthorDate: 2024-01-09 09:26:06 +0000 Commit: Colin Percival CommitDate: 2025-05-19 17:01:30 +0000 xen: improve man (4) page Update the xen(4) man page to reflect the current support status. Approved by: re (cperciva) Reported by: kevans Reviewed by: bcr kevans imp Differential revision: https://reviews.freebsd.org/D43373 (cherry picked from commit 82126ef92fdb3c13a67ad44d33c0fe6ea479c01a) (cherry picked from commit 7dc0a9fa76a8df6dfaf26ff36a11aa9fe060a201) --- share/man/man4/xen.4 | 74 +++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/share/man/man4/xen.4 b/share/man/man4/xen.4 index 6660ab3c268b..15312866dae6 100644 --- a/share/man/man4/xen.4 +++ b/share/man/man4/xen.4 @@ -26,19 +26,19 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 30, 2015 +.Dd January 8, 2024 .Dt XEN 4 .Os .Sh NAME .Nm xen -.Nd Xen Hypervisor Guest (DomU) Support +.Nd Xen Hypervisor Support .Sh SYNOPSIS -To compile hardware-assisted virtualization (HVM) Xen guest support with -para-virtualized drivers into an amd64 or i386 kernel, -place the following lines in your kernel configuration file: -.Bd -ragged -offset indent -.Cd "options XENHVM" -.Cd "device xenpci" +FreeBSD supports running both as a Xen guest and host on amd64 hardware. +Guest support is limited to HVM and PVH modes, while host support is limited to +PVH mode only. +.Pp +Xen support is built by default in the i386 and amd64 GENERIC kernels; note +however that host mode is only available on amd64. .Ed .Sh DESCRIPTION The Xen Hypervisor allows multiple virtual machines to be run on a single @@ -52,20 +52,18 @@ to access resources such as virtual network interfaces and disk devices. .Pp With later instruction set extensions from AMD and Intel to support fully virtualizable instructions, unmodified virtual memory systems can also be -supported; this is referred to as hardware-assisted virtualization (HVM). +supported; this is referred to as hardware-assisted virtualization (HVM and PVH). HVM configurations may either rely on transparently emulated hardware peripherals, or para-virtualized drivers, which are aware of virtualization, and hence able to optimize certain behaviors to improve performance or semantics. +PVH configurations rely on para-virtualized drivers exclusively for IO. .Pp .Fx -supports hardware-assisted virtualization (HVM) on both i386 and amd64 -kernels. -.Pp Para-virtualized device drivers are required in order to support certain functionality, such as processing management requests, returning idle physical memory pages to the hypervisor, etc. -.Ss Xen DomU device drivers +.Ss Xen device drivers These para-virtualized drivers are supported: .Bl -hang -offset indent -width blkfront .It Nm balloon @@ -87,6 +85,10 @@ suspend, crash, and halt requests. Expose Xen events via the .Pa /dev/xen/evtchn special device. +.It Nm gntdev +Allow access to the grant table interface via the +.Pa /dev/xen/gntdev +special device. .It Nm netback Export local network interfaces to other Xen domains where they can be imported via @@ -94,35 +96,30 @@ imported via .It Nm netfront Import network interfaces from other Xen domains as local network interfaces, which may be used for IPv4, IPv6, etc. -.It Nm pcifront -Allow physical PCI devices to be passed through into a PV domain. +.It Nm privcmd +Allow issuing hypercalls via the +.Pa /dev/xen/privcmd +special device. +.It Nm timer +Implementation of a one-shot high resolution per-CPU timer using the hypercall +interface. +.It Nm acpi cpu +When running as a host forwards power management related information from ACPI +to the hypervisor for better performance management. .It Nm xenpci Represents the Xen PCI device, an emulated PCI device that is exposed to HVM domains. This device allows detection of the Xen hypervisor, and provides interrupt and shared memory services required to interact with the hypervisor. +.It Nm xenstore +Information storage space shared between domains. .El -.Ss Performance considerations -In general, PV drivers will perform better than emulated hardware, and are -the recommended configuration for HVM installations. -.Pp -Using a hypervisor introduces a second layer of scheduling that may limit the -effectiveness of certain -.Fx -scheduling optimisations. -Among these is adaptive locking, which is no longer able to determine whether -a thread holding a lock is in execution. -It is recommended that adaptive locking be disabled when using Xen: -.Bd -unfilled -offset indent -.Cd "options NO_ADAPTIVE_MUTEXES" -.Cd "options NO_ADAPTIVE_RWLOCKS" -.Cd "options NO_ADAPTIVE_SX" -.Ed .Sh HISTORY Support for .Nm first appeared in .Fx 8.1 . +Support for host mode was added in 11.0 . .Sh AUTHORS .An -nosplit .Fx @@ -133,15 +130,10 @@ and Further refinements were made by .An Justin Gibbs Aq Mt gibbs@FreeBSD.org , .An Adrian Chadd Aq Mt adrian@FreeBSD.org , +.An Colin Percival Aq Mt cperciva@FreeBSD.org , and -.An Colin Percival Aq Mt cperciva@FreeBSD.org . +.An Roger Pau Monné Aq Mt royger@FreeBSD.org . This manual page was written by -.An Robert Watson Aq Mt rwatson@FreeBSD.org . -.Sh BUGS -.Fx -is only able to run as a Xen guest (DomU) and not as a Xen host (Dom0). -.Pp -As of this release, Xen PV DomU support is not heavily tested; instability -has been reported during VM migration of PV kernels. -.Pp -Certain PV driver features, such as the balloon driver, are under-exercised. +.An Robert Watson Aq Mt rwatson@FreeBSD.org , +and +.An Roger Pau Monné Aq Mt royger@FreeBSD.org . From nobody Mon May 19 19:29:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1SS2040wz5wJY1; Mon, 19 May 2025 19:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1SS15NKlz3d91; Mon, 19 May 2025 19:29:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747682977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HCV0EEa5Qk4EK14s4p62bNs5qPXHGTcaG5/6ZrmZIok=; b=Cb0QaTJJj4mcuRDyNrM711yrLKQjt9pfLIN6QvlwMwXAadIBVZD/4PywvWcPAtgWhpb6Ir VpWYU5XkcJVLM69nZk8cBpVSXJqeAgJcvDIrTHusP4Hbhy2R4UQIpbURZPBUJXfcQ9fthv VsMWOLKJkDfIH9NTSL0AkmyCY+XRNkVHXbPuho8KT3jbY3Rl6PV/V35t0RThIK1guiG7u1 YW6y79i+Z39y3v6pHguozuz0bxnEY6hO2mltgrTGpjvYDMPgoFPXE/tlkwGqJc4E56hmv7 +OS3goM6Yq3/i6QzpypbnLYoVbsg7afWSglUPlCCmSQskSi/GW6KQgPxaGfZxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747682977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HCV0EEa5Qk4EK14s4p62bNs5qPXHGTcaG5/6ZrmZIok=; b=Sh3SD/oL5TFsjhV8RLGcH0NtmEnxK7e0aSJMkb0aWJKtY4a/T+4RyroCbGCLIQrxALO4dl 2scd2eTHPoPWR0l9jWR3YUhc8Ov8fcAhqy4Ch0QVhbhVNDk4WckDmcswoXTmWxPA0+NVlB ZOJU8plose1Jp2RfTDnpxB/0DXq/NFBpB1xfFFqYfr6XP7EzITeZGxsOYg2hds5T9iiwsO VGNa7SnqchLyDq4HEFMefbBharoXt/5stfqfHhE9dkgI6XU9MedMVjfm4xoj9k2GMzzLKS Isu5hKvRniHwd81izW568JAX8wV/F1jWZZkWBbLy5yUk2OPrnbhwqEEBI1+KUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747682977; a=rsa-sha256; cv=none; b=NK5KsvrcO4puPdn4XFrI/0946NgSL6JtUSW1yTZXHVA9H4zw7F4gVnUTth1eE5gcDssDEJ SGDAULVy0fscHhe6w1z5lmQLjtVh0vd2nmWeniIFkHgzjn3EJS8tQ83WgXUuL1iGQL8k21 5Rh2RGOLQaG8ZHBOmDtU1jdQJ8dRqklAs28iwAoN5Qu8vC0fwH8YjLdal/gj4/inlvNmmB vXQDqjnEX5/YR7dMHuQnfpkBc+pBZYqIUcx8lek65FOK8eDuydkxzU8jQD6W9r9C48dICy zGwpwlpXSAuQ9gAcR7LXJ+mc7HtAOFMBY970ipHSewPk0qTODfjKc7fSm1bceg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1SS143xYz2Pb; Mon, 19 May 2025 19:29:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JJTbAM039929; Mon, 19 May 2025 19:29:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JJTbx6039926; Mon, 19 May 2025 19:29:37 GMT (envelope-from git) Date: Mon, 19 May 2025 19:29:37 GMT Message-Id: <202505191929.54JJTbx6039926@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 361a8fdefac7 - releng/14.3 - iwlwifi.4: Update modes for recent 802.11ac List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 361a8fdefac70e0e5ff19473c952e5d0c0ff274f Auto-Submitted: auto-generated The branch releng/14.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=361a8fdefac70e0e5ff19473c952e5d0c0ff274f commit 361a8fdefac70e0e5ff19473c952e5d0c0ff274f Author: Bjoern A. Zeeb AuthorDate: 2025-04-21 00:34:15 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-19 19:28:40 +0000 iwlwifi.4: Update modes for recent 802.11ac By: ziaee Reported by: Pat Maddox Reviewed by: bz (previous version), emaste, mhorne Differential Revision: https://reviews.freebsd.org/D49937 iwlwifi: update man pages for generations, firmware. and 11n/11ac Put Intel's iwlwifi better in context to iwm, iwx and iwn. Document the important tunables so users know where to go. Document the port/package for firmware where firmware is now maintained. Adjust wording and table for the firmware and a flavor column. Update History sections for 11n/11ac support as well as firmware module removal from base. Sponsored by: The FreeBSD Foundation Reviewed by: ziaee, emaste (comments) Differential Revision: https://reviews.freebsd.org/D50319 Approved by: re (cperciva) (cherry picked from commit c33945a112c84795c7bd87a8e94d0cf322ef5000) (cherry picked from commit a7e183c0c9a5579cdaa3e2ff9597e5e3d41dbdb4) (cherry picked from commit 4ae64bd33f24cff90ff75efe67176a6df1c3af62) --- share/man/man4/iwlwifi.4 | 96 ++- share/man/man4/iwlwififw.4 | 2029 ++++++++++++++++++++++---------------------- 2 files changed, 1106 insertions(+), 1019 deletions(-) diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index 04317c22936f..3da4e68ad805 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -1,7 +1,7 @@ -.\"- +.\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.\" Copyright (c) 2021-2024 The FreeBSD Foundation +.\" Copyright (c) 2021-2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -27,12 +27,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 10, 2024 +.Dd May 12, 2025 .Dt IWLWIFI 4 .Os .Sh NAME .Nm iwlwifi -.Nd Intel IEEE 802.11a/b/g/n/ac/ax wireless network driver +.Nd Intel IEEE 802.11a/b/g/n/ac/ax/be wireless network driver .Sh SYNOPSIS The driver will auto-load without any user interaction using .Xr devmatch 8 @@ -50,6 +50,9 @@ kld_list="${kld_list} if_iwlwifi" The driver should automatically load any .Xr iwlwififw 4 firmware needed for the particular chipset. +See section +.Sx "FILES" +below for how to install the firmware. .Pp It is discouraged to load the driver from .Xr loader 8 . @@ -59,12 +62,25 @@ The driver provides support for Intel Wireless network devices. .Pp .Nm -is derived from Intel's Linux iwlwifi driver, will be a successor to -.Xr iwm 4 , -and may supersede that driver in the future. -It still complements the +is derived from Intel's Linux iwlwifi driver. +The +.Xr iwm 4 +and +.Xr iwx 4 +drivers together are approximately equivalent to Intel's Linux iwlwifi/mvm +driver. +.Pp +In addition +.Nm +already supports Intel's Linux iwlwifi/mld chipsets. +.Pp +.Nm +still complements the .Xr iwn 4 -driver which supports older chipsets. +driver which supports older chipsets and would be equivalent to +Intel's Linux iwlwifi/dvm, which +.Nm +does not support. .Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. @@ -98,6 +114,15 @@ sub-driver with the following chipset generations: 22000 .It AX210 +.El +.Pp +The +.Nm +driver supports PCIe devices from the +.Sy mld +sub-driver with the following chipset generations: +.Pp +.Bl -bullet -compact .It BZ .It @@ -235,10 +260,53 @@ Intel(R) TBD Sc2 device Intel(R) TBD Sc2f device .\" -------------------------------------------------------------------- .El +.Sh LOADER TUNABLES +The +.Nm +driver supports the following +.Xr loader 8 +tunable and read-only +.Xr sysctl 8 +variables: +.Bl -tag -width "compat.linuxkpi.iwlwifi_disable_11ac" +.It Va compat.linuxkpi.iwlwifi_11n_disable +Turn off 802.11n support in the driver. +Default +.Ql 1 . +.It Va compat.linuxkpi.iwlwifi_disable_11ac +Turn off 802.11ac support in the driver. +Default +.Ql 1 . +.El +.Pp +The names of the tunables are derived from the Linux iwlwifi driver +module parameters and are mapped automatically by +.Sy linuxkpi . +They were not adjusted so that they stay consistent with upstream +Linux, e.g., for documentation available and problem investigations. +This left their names inconsistent between themselves and incosistent to +.Fx +style. +.Pp +The tunables are automatically adjusted by the firmware package for +chipsets which can enable 11n and 11ac. +In case of problems a user may want to override the provided values +in +.Pa /boot/loader.conf.local +with the above defaults. +.Sh FILES +The +.Nm +driver requires firmware from +.Pa ports/net/wifi-firmware-iwlwifi-kmod . +This firmware package will be installed automatically with +.Xr fwget 8 +if the appropriate hardware is detected at installation or runtime. .Sh SEE ALSO .Xr iwlwififw 4 , .Xr iwm 4 , .Xr iwn 4 , +.Xr iwx 4 , .Xr wlan 4 , .Xr networking 7 , .Xr fwget 8 , @@ -249,12 +317,14 @@ The .Nm driver first appeared in .Fx 13.1 . +802.11n and 802.11ac support for the 22000 and later chipsets first appeared in +.Fx 14.3 . .Sh BUGS Certainly. .Pp While .Nm -supports 802.11a/b/g/n/ac/ax modes, -the compatibility code currently only supports 802.11a/b/g modes. -Support for 802.11n/ac/ax is yet to come. -802.11ax and 6Ghz support are planned. +supports 802.11a/b/g/n/ac/ax/be modes, +the compatibility code currently only supports 802.11a/b/g/n/ac modes. +802.11n/ac is only available on the 22000 and later chipset generations. +802.11ax/be and 6Ghz support are planned. diff --git a/share/man/man4/iwlwififw.4 b/share/man/man4/iwlwififw.4 index 491a634e70b5..45ee0e757c07 100644 --- a/share/man/man4/iwlwififw.4 +++ b/share/man/man4/iwlwififw.4 @@ -1,5 +1,7 @@ -.\"- -.\" Copyright (c) 2021-2024 The FreeBSD Foundation +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2021-2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -25,12 +27,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 12, 2024 -.Dt iwlwififw 4 +.Dd May 12, 2025 +.Dt IWLWIFIFW 4 .Os .Sh NAME .Nm iwlwififw -.Nd Firmware modules for Intel iwlwifi wireless network driver +.Nd Firmware for Intel iwlwifi wireless network driver .Sh SYNOPSIS The .Xr iwlwifi 4 @@ -38,1512 +40,1522 @@ driver should auto-load any firmware needed. It is discouraged to load the driver or firmware manually from .Xr loader 8 . .Sh DESCRIPTION -Multiple modules provide access to firmware for the various chipset -models supported by the +Firmware files are available from +.Xr ports 7 +for the various chipset models supported +by the .Xr iwlwifi 4 driver. +Modern chipsets often require a +.Pa .ucode +and an accompanying +.Pa .pnvm +file. .Pp One can use .Xr fwget 8 to install the correct firmware package. .Pp -.Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Firmware-Prefix" +The list is provided as a reference as to with file prefix is needed for +a specific card as far as it can be determined and the port flavor. +.Pp +.Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Flavor" "Firmware-Prefix" .It Ar Name -.It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Firmware-Prefix -.% --------------------------------------------------------------------- -.% This list is manually generated from a sysctl and post-processing -.% by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. -.% Edits will be overwritten on next update. -.% --------------------------------------------------------------------- +.It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Flavor Ta Ar Firmware-Prefix +.\" --------------------------------------------------------------------- +.\" This list is manually generated from a sysctl and post-processing +.\" by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. +.\" Edits will be overwritten on next update. +.\" --------------------------------------------------------------------- .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c60 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c60 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4060 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4060 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x406a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x406a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4160 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4160 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4062 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4062 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4162 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4162 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4270 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4270 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4272 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4272 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4260 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4260 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x426a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x426a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4262 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4262 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4470 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4470 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4472 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4472 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4460 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4460 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x446a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x446a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4462 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4462 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4870 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4870 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x486e Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x486e Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6e Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6e Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6c Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6c Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4570 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4570 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4560 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4560 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4370 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4370 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4360 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4360 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5770 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5770 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4020 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4020 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x402a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x402a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4220 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4220 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4420 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4420 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc060 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc060 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc06a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc06a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc160 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc160 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc062 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc062 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc162 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc162 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc770 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc770 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc760 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc760 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc270 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc270 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc60 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc60 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc272 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc272 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc260 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc260 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc26a Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc26a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc262 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc262 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc470 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc470 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc472 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc472 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc460 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc460 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc462 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc462 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc570 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc570 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc560 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc560 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc370 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc370 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc360 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc360 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc020 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc020 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc02a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc02a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc220 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc220 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc420 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc420 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0072 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0072 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0172 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0172 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0060 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0060 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0062 Ta iwlwifi-3160 +.It Intel(R) Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0062 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0270 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0270 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0272 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0272 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0470 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0470 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0472 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0472 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0370 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0370 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8072 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8072 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8172 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8172 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8060 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8060 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8062 Ta iwlwifi-3160 +.It Intel(R) Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8062 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8270 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8270 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8370 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8370 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8272 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8272 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8470 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8470 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8570 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8570 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x1070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x1070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x1170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x1170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4010 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4010 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4012 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4012 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4212 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4212 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4410 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4410 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4510 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4510 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4110 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4110 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4310 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4310 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4210 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4210 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x8010 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x8010 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x8110 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x8110 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2010 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2010 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2110 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2110 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2050 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2050 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2150 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2150 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 000000 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 000000 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5110 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5110 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5100 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5100 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5310 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5310 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5302 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5302 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5210 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5210 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5c10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5c10 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5012 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5012 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5412 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5412 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5410 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5410 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5510 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5510 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5400 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5400 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x1010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x1010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5000 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5000 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x500a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x500a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5200 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5200 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5002 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5002 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5102 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5102 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5202 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5202 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9012 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9012 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x900a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x900a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9110 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9110 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9112 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9112 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9210 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9210 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9200 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9200 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9510 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9510 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9310 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9310 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9410 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9410 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5020 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5020 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x502a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x502a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5420 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5420 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5090 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5090 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5190 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5190 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5590 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5590 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5290 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5290 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5490 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5490 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5f10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5f10 Ta 7000 Ta iwlwifi-7265 .It "" *** 1778 LINES SKIPPED *** From nobody Mon May 19 19:43:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1SmM69Rzz5wKFd; Mon, 19 May 2025 19:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1SmM5gjlz3jDS; Mon, 19 May 2025 19:43:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747683827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PkzQLB+oRFnH0yGlgA78tVshriyNmvg9VXs/Sn0ts2s=; b=IqON/T123TKAGqX0Dt6C/48gLkRf+TQq0hgrMYIjsQnl5umbMoyV3j6JsCpTdgKFA3R71O JZZ1ICsa3uXP6jK4v7asgHCSKO8UJxaYfbqbsAumOQIfDJT2c0p96oYL0x6N5GUE5oJMIk xYDNX0MgfXZMP+8hVci04MEuCvBSihan8GfXwkv+KKAXEdADVIASPCxuJE7asFqe0Ev3YY q7gnG0vtjRbjmLNBaOs+6g3aUMqWXGNL8QfSosHl1CPJWciC78ihlM5GTyH3Z+DD85goNp 5n7Zuk8gfkS41Ch4tAVistc+ZErtukEmgQNE8K9wZN+l6civgMZjyYj967o0qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747683827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PkzQLB+oRFnH0yGlgA78tVshriyNmvg9VXs/Sn0ts2s=; b=aL5Q2uYySQXltTc3IMrWxEGnzsqjANHAZr28AKNv7RyZcn88JmCZP/3UQV+PEULPFWvfRB TtE7OeHaHLO3ilKmzXDaDoorDE7uITdm+RaMyZb8PFILcZTqacCLFWvt4NDGKPxUgz9dEN V8ofeMnr/8LET8l8dYGs92A88k6NPkTId6uYHRZheK94rgrvJvf4dN2OcGOs/fzNovm0ut 5QX/uJk+68+jqxbqtPdOqbNbs2a288o8ZLgxr+ihRcB9Qi+s6cN0kPy9lYAZWJYykPzDaH bo6GiGmNCBIdsdUhbLBzQFwFi5qvEzYqsdkuRfFgGt+6qQr84xqv/qi9hKmi8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747683827; a=rsa-sha256; cv=none; b=rs8fn+AOGx9D7ipkl33emn5c3USkBx5uggVb+nnoxG2yuO9CGRmiN48qgSehlxK3e+U6jA pWvsSUztjoW2cQUgR813b1CMxm8E+aX1h2GvrF5QHDbzl/JKcn+qB/3i8sTCV4RaRCKPy2 IfLLidMc+mWphaJHoVz9tJog3CWLEkEdOehqAfE0NEpml1eciVivho9qHdGt3p2Ux/CoUT /IfUMoFOr72nINxsslHE0FtFwb8hw+WsVPpwPbO+WfQMCcFEiOLkkHu7/JmYDYJY8q0DqB ZqzBh2nDoo0qiKEeB3G8HvauPY/tzjoKPGZf87GRqFQGoCAIqzpEDqntrWhqJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1SmM5BG8z2j7; Mon, 19 May 2025 19:43:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JJhldi075759; Mon, 19 May 2025 19:43:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JJhlUd075756; Mon, 19 May 2025 19:43:47 GMT (envelope-from git) Date: Mon, 19 May 2025 19:43:47 GMT Message-Id: <202505191943.54JJhlUd075756@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: f750a114d2c5 - main - ip17x.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f750a114d2c50c4d25d304dbf1dabfd3ae3aa013 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=f750a114d2c50c4d25d304dbf1dabfd3ae3aa013 commit f750a114d2c50c4d25d304dbf1dabfd3ae3aa013 Author: Alexander Ziaee AuthorDate: 2025-05-19 19:40:02 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-19 19:40:07 +0000 ip17x.4: Initial manual page Add a stub manual only saying what it is, how to include it, what is supported, and since when. This plugs the ip17x driver into the manual subsystem and the release hardware notes. MFC to: 14.3 MFC after: 3 days Reviewed by: adrian, carlavilla Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50411 --- share/man/man4/Makefile | 1 + share/man/man4/ip17x.4 | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 2b042455a357..2f997c68c55a 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -244,6 +244,7 @@ MAN= aac.4 \ ${_io.4} \ ${_ioat.4} \ ip.4 \ + ip17x.4 \ ip6.4 \ ipfirewall.4 \ ipheth.4 \ diff --git a/share/man/man4/ip17x.4 b/share/man/man4/ip17x.4 new file mode 100644 index 000000000000..ac5c989020a5 --- /dev/null +++ b/share/man/man4/ip17x.4 @@ -0,0 +1,42 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 18, 2025 +.Dt IP17X 4 +.Sh NAME +.Nm ip17x +.Nd IC Plus IP17x series Fast Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd device etherswitch +.Cd device ip17x +.Sh DESCRIPTION +The +.Nm +driver supports the +IC Plus IP17X series Fast Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Fast Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +IC Plus IP178C +.It +IC Plus IP175D +.It +IC Plus IP175C +.It +IC Plus IP175A +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 10.0 . From nobody Mon May 19 19:43:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1SmP0Fn5z5wKgk; Mon, 19 May 2025 19:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1SmN6PT3z3jYQ; Mon, 19 May 2025 19:43:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747683828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hsMfSPBUY6I2uoHGFLZZvlQA7zZyI5kHaiAib3/e4K8=; b=D6a/WRslSqgY1BiDH3XSj4dPsAYzuP/KY/J76+QLl4k9aSAfC/S8Y/SwM2jOV9l1k1kj8f TufYueYdApaFiWAUYaczpXEfkfI8VyTdr6kS3k8r9fGLMAIyK8m5mFaN/ZOXhfhdreVtsS nyGXlpCu5Sm+xAf3/FQCpUjlAoD2G52gVSoVA4fj+V3PTUDheA9tR8caJK7hJV9NIhWkdL o86NsHWTiMcC3bUMBET5pNc3WXVkyisdfaQFmYNgiRut3gBSBjty/2jPdWdD1qCV2a7cW4 9udlEiQveqq/DpY7o9tHTvVsumoJG7kRwZcZh6kNvvgm8yHKuZVQia6vHZbWMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747683828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hsMfSPBUY6I2uoHGFLZZvlQA7zZyI5kHaiAib3/e4K8=; b=AXg3qMIIe/NwaTGvA3olJh16nGRITYS7Z8Vq0vbkaCqubQ5AV4q6sfojNikE25AZ6GP1A8 ijxaJC+tNDPVG6V7wxhEAS8rkdVm3+6ma6Ihg85iFU75bTeteROCh/8ER8KzzLuxDxa+1L mNRZYOhxxjYlcQVJyVsL0u6uA4YINEvYg7rk7jIZDaM7OFI7TsG5XIm471qw3dHUQyzBLO 4oM0zDz3+jcQWNttldq5U8EHe0oT59PJIt8kBO/rvrjPPUCFA/NEcAsTSaC8dMjsbPzn0t zG0EoBjSmzAstvKDDrDhNIWYCdCh/pqUiGpZj+leTHS7PI2O+U7yfhvZpoDMZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747683828; a=rsa-sha256; cv=none; b=WTCPDz1FKD7Lj2eRhlfLvejQea2R23jOvgpjs+UnKdxsnsdP4elz4wrUsihCcwni1y7FlN UQNbKzIDTxX/q+n6s79DyTo0qgM3T0caPgLtdcmbL3Jjg8DctigFS7KXccux4toBK4qqkE P9L7wX9Z+xmPK6RnpG07xnSR21NS3VWOKfJJsz8WYYMpcfNhvb+nZGW8HyND76E/iQ2Zmi vx5G4bbh/AzXvVtDQ2OSGHkm9vgPhnxE0LYz63Vn+j5Xxsx2d9Lm7UQHqBWVJusW5ae4Bj 4Vj8+2E2MOgE/tzYfvb85EVzLWq00TX1LpL128N8P8BdFnn208FGJtfPBjgGxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1SmN5vDJz2j8; Mon, 19 May 2025 19:43:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JJhmJB075795; Mon, 19 May 2025 19:43:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JJhmJX075792; Mon, 19 May 2025 19:43:48 GMT (envelope-from git) Date: Mon, 19 May 2025 19:43:48 GMT Message-Id: <202505191943.54JJhmJX075792@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 37f00bc257d0 - main - mtkswitch.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37f00bc257d0e785fad1d0ffbd7dcbf09e863417 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=37f00bc257d0e785fad1d0ffbd7dcbf09e863417 commit 37f00bc257d0e785fad1d0ffbd7dcbf09e863417 Author: Alexander Ziaee AuthorDate: 2025-05-19 19:42:01 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-19 19:42:47 +0000 mtkswitch.4: Initial manual page Add a stub manual only saying what it is, how to include it, what is supported, and since when. This plugs the mtkswitch driver into the manual subsystem and the release hardware notes. MFC to: 14.3 MFC after: 3 days Reviewed by: adrian, carlavilla Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50412 --- share/man/man4/Makefile | 1 + share/man/man4/mtkswitch.4 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 2f997c68c55a..ed39aafebbc3 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -341,6 +341,7 @@ MAN= aac.4 \ msdosfs.4 \ msk.4 \ mtio.4 \ + mtkswitch.4 \ multicast.4 \ muge.4 \ mvs.4 \ diff --git a/share/man/man4/mtkswitch.4 b/share/man/man4/mtkswitch.4 new file mode 100644 index 000000000000..c879df161791 --- /dev/null +++ b/share/man/man4/mtkswitch.4 @@ -0,0 +1,45 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 19, 2025 +.Dt MTKSWITCH 4 +.Sh NAME +.Nm mtkswitch +.Nd MediaTek/Ralink Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd device etherswitch +.Cd device mtkswitch +.Sh DESCRIPTION +The +.Nm +driver supports MediaTek/Ralink Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +MediaTek MT7628 (5 port Fast Ethernet) +.It +MediaTek MT7621 (5 port Gigabit Ethernet) +.It +MediaTek MT7620 (5 port Fast Ethernet) +.It +Ralink RT5350 (5 port Fast Ethernet) +.It +Ralink RT3352 (5 port Fast Ethernet) +.It +Ralink RT3050 (5 port Fast Ethernet) +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 11.0 . From nobody Mon May 19 21:40:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1WMB44Ykz5wW7r; Mon, 19 May 2025 21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1WMB3CDFz42M4; Mon, 19 May 2025 21: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=1747690838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZCd1ZZppVaVjXOl+D/9wU9xYAmoHNunhCiK027hIlKo=; b=kFVuQmB0e7ZG/C71BuZ/jfxX5S71KskXcjOLf9AQj113HqLwhmxTqGAF/NQ9N2ZxWdxat2 wq6vMv4NppV86k1YRdzeSXxCGrbFONCuJJ/04ayfwG5MQ9PHE87RR1CRM//nNkPkBbBtbQ 9JCskCt1+hEJtjcvJiXckJi8MH5sHetlFog37x0fAzhhWbv+LDxIeejUy5dCC8tHvo7/8D 56eYVtaC86v89LXNF9SVf0QSNmy/8iNIfVLFxF/0s2pK62UlnFImL5yUVDTBo40Rn4XN6V n98RSxynhsi35HcdP81PxQ1sduWXbdhsWacpzHgSHnQXcPmfl51EP6ym95pj2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747690838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZCd1ZZppVaVjXOl+D/9wU9xYAmoHNunhCiK027hIlKo=; b=CiaZIuKSHVMltuMvFe0saJYD1jHHQWJ2Y3xjGnmllXVvq7BPyzbGwvZUFVqEmaudLWDm+G wfrlYVUarYn+uNhAv3EwU1RX01mwGXh+8y4Igz7cn+fnNvSXje96VpsO5Udn+JomGM0+nM sDwfkLlExfGPs7WNSYwhkRZUGg0uol9P08Febs3SBwszvzHzHp2ynxYhherH/u2gg9DnNB L9jrX5k1jGhx7rt3nkEO6a7/xjt+QYgpzGOAT5cHmgQ0rYqU786Ievx4GP1E7dBTb7ReFR X6eSQ8+RvRrQKfmHbMl2HRL0nJnWE5wQEE5Xjd3fBkR+o4nI3X5DAB7g7MSLwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747690838; a=rsa-sha256; cv=none; b=i4UZ9A+g7p7n2qtc9W9xSsT0PgsbTTM3XH3oAxTNIKJl3d/nhYaFs6r1uF3xXk/MiBfOxY SzWqbtKsIdi7ytZLof4WS+rRqV8rqk31cMjMinI6qFU3gzgDe0vZ4B7DQRj48lry7j9W0L X0bvNVy3mtJycbCSJ5Uf2rylBYNvEZjX6J1NLtf4cOvpEz2lK9jLClOAF5RBGbk0Om+gEg o0wCjICpfRNmpiYV4nrN2A+BxsyISrnf8686kGJ6GaPHb/cK0es5NWhw77iCQ5wMSaNoN/ 9O39s2PsSUPDTWGjbT9s27ZxLbPwZJXArLXsj5dyr9ccqOVmdeV/QplKdBSYcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1WMB2XxHz6CN; Mon, 19 May 2025 21:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JLecuA018391; Mon, 19 May 2025 21:40:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JLecFi018388; Mon, 19 May 2025 21:40:38 GMT (envelope-from git) Date: Mon, 19 May 2025 21:40:38 GMT Message-Id: <202505192140.54JLecFi018388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 79aba7a0ca84 - main - pciconf(8): Fix the -x option and its documentation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79aba7a0ca8468da36551e66d24e0b3385d8e328 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=79aba7a0ca8468da36551e66d24e0b3385d8e328 commit 79aba7a0ca8468da36551e66d24e0b3385d8e328 Author: Navdeep Parhar AuthorDate: 2025-05-19 06:16:18 +0000 Commit: Navdeep Parhar CommitDate: 2025-05-19 19:49:27 +0000 pciconf(8): Fix the -x option and its documentation Reviewed by: kib MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D50421 --- usr.sbin/pciconf/pciconf.8 | 4 ++-- usr.sbin/pciconf/pciconf.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.8 b/usr.sbin/pciconf/pciconf.8 index 4e46d502887a..6c67e9e50df6 100644 --- a/usr.sbin/pciconf/pciconf.8 +++ b/usr.sbin/pciconf/pciconf.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 14, 2018 +.Dd May 19, 2025 .Dt PCICONF 8 .Os .Sh NAME @@ -39,7 +39,7 @@ .Nm .Fl w Oo Fl b | h Oc Ar device addr value .Nm -.Fl D Oo Fl b | h | x Oc Ar device addr Op start Ns Op : Ns Ar count +.Fl D Oo Fl b | h | x Oc Ar device bar Op Ar start Op Ns Ar count .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index 83ea50efb183..ef75a8fa2341 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -110,7 +110,7 @@ main(int argc, char **argv) bars = bridge = caps = errors = verbose = vpd= 0; width = 4; - while ((c = getopt(argc, argv, "aBbcDehlrwVv")) != -1) { + while ((c = getopt(argc, argv, "aBbcDehlrwVvx")) != -1) { switch(c) { case 'a': attachedmode = 1; From nobody Mon May 19 21:40:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1WMC6Jx9z5wWFv; Mon, 19 May 2025 21:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1WMC3xv1z42Tn; Mon, 19 May 2025 21:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747690839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pydT7G5Vv89G8bxnmUK966qJahB8/Z0to35jtwcVYGY=; b=exp9tZ5GFeivWsbcXRpRN/qTMSUvt54V+uIkGv321v8rgkRx+Q36Z3dfsajlDdcEM2dxHL B3K0aX7dM2kxcKVhbAdfXC8WI+/LskGLl23lAqAdWhGgPsWsmqCMKDvvCA28yvtGHW/CVh r+XEaDi95jYj4ddGRKfWJPTcDWhnvUDHFMogzUUC0egqg/my18kDhOiQITP2PHAkneZZLw fcSjzDoJEK+cBGThP8futmQNLGEW/MeOFvXBAENGaDw9wdUDuNxttoXbPlOe5f/R1lveaF p9vMRhpJVC/j/5LWzXc2zw3fYUZmCDqH/2CX4qhyw6VyzF48CPF41+lIp0FFCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747690839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pydT7G5Vv89G8bxnmUK966qJahB8/Z0to35jtwcVYGY=; b=wi8pCugA3tMZyCCaZ4KAU87vcYvpnbAgVGzc3z92964seRVI0kW3meFCMiyhajIoReDXSr rVzTkyeW/nUFBWga4YjciLxrB8syEvhkC9uxpJ4r96SucMPJ5vuQGk6pnjhgsY97r0zPeA ubbPJa+Ec6CHveTPPKAUY753iq4413X9O6SiJQU/hQN6XSRsAwF9blAHy2WIJ2dswFhotE uc29ozWyMpFNHOpcK1gY56yj1OovkiTCs5TE7H0D2NOPhHTHPnDVlx2d69RwUwKw8znjsI w8Ul2BospE+lryRBSVtajDDZpMMiRNvF0V97Gu4RGy9+iuH1ls6BmznWhYq8xQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747690839; a=rsa-sha256; cv=none; b=gd2/gkvyMFLio1sjh6bU3kC84/xlYFFVbWYSR2lWm9PBMePo75xywZ6fqSImFBU5/9ESWD 4iaUDzLmI8Mk9Phhn5shjwR4VZX8qoauJ1nXSCsA6hfDpNkT76ex6hteNh6a+sEbuctkWw kOARMc96ICRL/utYYVAHcoxbiMQjgPFx9Qui8zAF6v1JEtUkAkM3U7qseqHIJfeImyBQhb 7VySXajBh12yQM2leM70poQy25A3jwXudNq+TDuvsJ0MM/BUdBmAZQl4g008aoKmxv0JRq slEBkMydq7kUtTuirtLcFkfCLY4vFNGOiwFRah0XukhYYKec8cIDOTnabu1yUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1WMC3RGQz5Wb; Mon, 19 May 2025 21:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54JLedD8018426; Mon, 19 May 2025 21:40:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54JLedF2018423; Mon, 19 May 2025 21:40:39 GMT (envelope-from git) Date: Mon, 19 May 2025 21:40:39 GMT Message-Id: <202505192140.54JLedF2018423@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 9fb60477fe26 - main - pciconf(8): Dump the correct number of bytes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9fb60477fe260da2db029baebe63331d0f584a3d Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=9fb60477fe260da2db029baebe63331d0f584a3d commit 9fb60477fe260da2db029baebe63331d0f584a3d Author: Navdeep Parhar AuthorDate: 2025-05-19 06:26:46 +0000 Commit: Navdeep Parhar CommitDate: 2025-05-19 19:49:27 +0000 pciconf(8): Dump the correct number of bytes The loop variable should be incremented by 1 and not the width. Reviewed by: kib MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D50422 --- usr.sbin/pciconf/pciconf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index ef75a8fa2341..4d3941131858 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -1153,7 +1153,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 1: db = (uint8_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, db++) { + for (a = 0; a < count; a++, db++) { res = fwrite(db, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); @@ -1164,7 +1164,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 2: dh = (uint16_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, dh++) { + for (a = 0; a < count; a++, dh++) { res = fwrite(dh, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); @@ -1175,7 +1175,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 4: dd = (uint32_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, dd++) { + for (a = 0; a < count; a ++, dd++) { res = fwrite(dd, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); @@ -1186,7 +1186,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 8: dx = (uint64_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, dx++) { + for (a = 0; a < count; a++, dx++) { res = fwrite(dx, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); From nobody Tue May 20 01:45:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1cp35y5jz5wpkN; Tue, 20 May 2025 01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1cp35Mn5z420b; Tue, 20 May 2025 01: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=1747705547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y0wX5FtYh2lKoOqnpasdjRZxxAx8oujWrSI71+1I/Ak=; b=Mv+7A0izs/lW000toagCw0iQqGgjGKuCD4OGDaoALvaBeEIJjdZ4t5k+dXZqIA5M/KL4Ua AT7ppPGw04mUXCx3G0jgJjQ3asnqKNCkdm5NhjboN3QchGK88VDdiFWKpZMkrThzTk608F Y66zVuBmtnXR2ZbYAUsTYAZkY/ZNs7waLeMKBQnNVB/TdkQHEWP6jlLyPCz4665IKH/zH7 eYPQrty/ewnsR5uZdDSp8j/mYxZUUcxgn+cszq/SaRAQ/bftX2igYj1fP65gjfoxpLzBnL sprVpokPIzlBe0/Y2O48jS1hQyO13YC4zmb/IJSNJEmGCKuQ78RRgAielflrWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747705547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y0wX5FtYh2lKoOqnpasdjRZxxAx8oujWrSI71+1I/Ak=; b=oaqJGckT+4LTg4UqKqrMS792pP/qG+fYwIuf7/bJj5D1+1x2gvun+aDM8UGpquBFfOF+Rl sE0DHOs+zrHbghNJ6fKen5r2gw+mXCkNzEMJUIRZKWr6f7ZsVfL/sdXx7IPmD9JgxIKKY3 g5KrPtz/Eha/FcGP7ouRJ/U1MHV+4uMC9RQHxzA6v5zPULg+7y9ThrhkXNjZ5aAmAuj3ty txoFZ7FSGhIwD3JuWlr4Tz2Fgr2HO0ldFwPW/Y7IMx1quSH9E/kyxkP3QMQHnZ2rk5i4PX 2awiKplK5bobnjS4wi86JPSduDuB2ZYd8vlHAgMaft0JAFt0dNZvHWHUbtD5Hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747705547; a=rsa-sha256; cv=none; b=AyvOe+pxEmyaPQMcA9nF8I3nHBy6JioICua1QoLJq9ND/lth1evRdjay+3T1bxfVqVjJNn snHV9gGFxT3Hr00yH8hiy7yhqfuqOvuI+NRg1NNp5xGRpCeKgf4QhnqYZ+v2IDFh+gng88 gHZ8Fia6xXxw7Byx2ZyMMoHlZff1/vXSGvHHfHpsCjJfcH1m/6iKFggYNINkD2G8sv0H4K NHUBKkpj9Mv89o5oQaypkF15BTI+9flKKIoNgO2ZzZmJ8M5BIVW+h7Ljgz3iSiUUK68uV7 vc6F962VA9y6o0ehBlytcyo0dti82lJbye3MAmQCxpEzpWBR9UceRBES9Gtdwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1cp34zX6zDXv; Tue, 20 May 2025 01:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K1jlus074571; Tue, 20 May 2025 01:45:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K1jlWA074568; Tue, 20 May 2025 01:45:47 GMT (envelope-from git) Date: Tue, 20 May 2025 01:45:47 GMT Message-Id: <202505200145.54K1jlWA074568@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 0bab69859b32 - main - wtap(4): Fix build List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0bab69859b325583d3465043dc7c8ea81ef8e0c5 Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=0bab69859b325583d3465043dc7c8ea81ef8e0c5 commit 0bab69859b325583d3465043dc7c8ea81ef8e0c5 Author: Farhan Khan AuthorDate: 2025-05-20 01:43:21 +0000 Commit: Li-Wen Hsu CommitDate: 2025-05-20 01:45:24 +0000 wtap(4): Fix build Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50264 --- sys/dev/wtap/if_wtap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/wtap/if_wtap.c b/sys/dev/wtap/if_wtap.c index 3aa3831e72c2..2b098bcc3dda 100644 --- a/sys/dev/wtap/if_wtap.c +++ b/sys/dev/wtap/if_wtap.c @@ -33,7 +33,7 @@ */ #include "if_wtapvar.h" #include /* uio struct */ -#include +#include #include #include @@ -395,7 +395,7 @@ wtap_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], ieee80211_vap_attach(vap, ieee80211_media_change, ieee80211_media_status, mac); avp->av_dev = make_dev(&wtap_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "%s", (const char *)vap->iv_ifp->if_xname); + "%s", if_name(vap->iv_ifp)); avp->av_dev->si_drv1 = sc; callout_init(&avp->av_swba, 0); From nobody Tue May 20 02:05:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1dF73SWqz5wr5v; Tue, 20 May 2025 02:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1dF71qb4z49H4; Tue, 20 May 2025 02:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747706747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hczKNrDcoQM9EKlWSc3p1InPYFx7ULBQR5M6gd+3sjU=; b=D4kQ4+B8U/KL+3v/KiHoPq0TXfVXmn4++UTqD0+EGN1sYjfwcL086bMLmTKN5delVUb8hg G0vIqSnrVbVWBXqbQBaFS/z9E/atKkBn917A2y3p4DwIHkFMP2fm5krE8RDwVsUjdZf77x DcrDqw30JjPQCAbftw4dt3vC2zsuL50dOAb7aTH8ozRA5KsvWCWjOeOyHWkceITqxqjoWf /iLfrvJPmoGl5M8adXKa3macr760MqBtRoJwHguaT3B+ObFCiiEZ5ZUMVJTGGoWFL6ygPD 7oFc7a6YrylOn+2ediHF4IUpaNEy8F194hKNx/iSVAynO3ue1IU2USV6zGGmUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747706747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hczKNrDcoQM9EKlWSc3p1InPYFx7ULBQR5M6gd+3sjU=; b=KnL4izWIDfFxadRC2PCt4nfmw7Gk1xTj8MvL3E/7rW9EgpmN3hXZuvcQb3xRU4513njaRP hcq+2K8NFY5B6pI1M+Hcq6hqBnbfBttG95cuZ1w7QCcaMXTnTgv3LSI5HEur9eWDVZpXoc tpHOuyKS+81dyx1a2bTrCAAmgI8DaH9jVcYN2danC458zPys7V1BPMsrfeayhyJorqtdot r+4fJemeKf9sErACfxoMGCgRM8UCMhZjnsiiXqQVGBC/AO0NXjL3qzedFlh3UXXlloDiF0 NlHKuBuP8IzFgtXlzApOuCNOQd7+3M3DVfe7al71XSLC0UdIEIuqqjTCxVKSdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747706747; a=rsa-sha256; cv=none; b=X41BqPAnX5sCKguTHWxUZ0gJukOHGJ3prxWOPgIMbFyuzB2CUBiGVlBrDXGtEvQRoJnwqb vsCJcmXn0Y84kX5nQIv0CazXcQegBceHGR0OG0GAA/V/VcOO7r2RtcTeseZhlxaHPXsdgu ZbXSy305e/jQiAxwmjq+b0VMH5UqBP9193p/XCVN/heSagqME3WdwEMAHQlnRmBHcFrI30 4yEowfeR2VntLtVYABafOj0XBiPugu+DqFqPyYiZGFyQsMXIrE2MQuNuGlT5K5yyECkWWY yHlCt64X4jYbn0P9EDV7uUmZ+GWOYs4K8c0x5i+i7wropBhtdmMnvVd9vLUY7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1dF71Fc4zVF9; Tue, 20 May 2025 02:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K25lTo012557; Tue, 20 May 2025 02:05:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K25lWO012554; Tue, 20 May 2025 02:05:47 GMT (envelope-from git) Date: Tue, 20 May 2025 02:05:47 GMT Message-Id: <202505200205.54K25lWO012554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 9b5ddb2accfc - main - wtap(4): Connect to build List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b5ddb2accfc80f70a0da52444008ebabef2a9ee Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=9b5ddb2accfc80f70a0da52444008ebabef2a9ee commit 9b5ddb2accfc80f70a0da52444008ebabef2a9ee Author: Li-Wen Hsu AuthorDate: 2025-05-20 02:04:18 +0000 Commit: Li-Wen Hsu CommitDate: 2025-05-20 02:04:18 +0000 wtap(4): Connect to build Sponsored by: The FreeBSD Foundation --- sys/modules/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 369cd47c6c8f..bc6fc7ae1a25 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -429,6 +429,7 @@ SUBDIR= \ wlan_xauth \ ${_wpi} \ ${_wpifw} \ + wtap \ ${_x86bios} \ xdr \ xl \ From nobody Tue May 20 03:45:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1gSX3dKmz5wxJ7 for ; Tue, 20 May 2025 03:45:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1gSX1MJvz41hk; Tue, 20 May 2025 03:45:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747712748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8L6gOyn3LLolv8yihKNO38MvE6AZ1eYfOaMik8tEu2k=; b=kFBkhGWd8I7akFlY29hHbqtZWUakwLAV3+NvjtWt4IMv3IUYc6tgrHgiJ3BqlvA8WIu4na 9xUCc4i3SF7og7FOWjCTNmFaNIxkqSIoPolnm1sPu2nIKRJBS5iC+1S/7U+ER2kGiSXOfN eYtpgQFsvvs9/NalU+H+lr9k9SnFI8T/2PB2DwVv7uLod70qc36h3z8qHGIJb/WbYwdhaD tF5Zw1RbWovDtd8aHxUTlJvnUv7JTdwV1rVYPx6hMS3t6D5y47XNISCjE8PIe3Hhj8Bp/V WfgsMnUQQgEGFmJePYrFb/2vPZDXSaRbJzGOcjrv/kfvT/5d7mJyrbqgJnNYVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747712748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8L6gOyn3LLolv8yihKNO38MvE6AZ1eYfOaMik8tEu2k=; b=X40EbeEdv8Lgr8NiZtR06bZ2De6/9cLzDZeDKGXrM53P0883z9CTj54lOoBrkXkDsjLUHG U7Ng6TraIdz3fKHBYX9KMZMXrg9P7WlxfqPES4MmFQWArE0hSYUxFsDRQijhx1vd8nytVg T/jOtXV4qph56wtCt1xhWEsiDS3O14YZBW+UVJofcRgNO1rr4kFdEiX2UwPD68G+YeUOWR w53SIw5503u+vUbAyu/40qowfTbXQoJLkkj85wl8qdV27ru8Jv0EroRA3UcaZNXlVQHU8T CHlhEmgsfkcv4rr6BIWYlxXRrbVncoU9sde+pajnE8P+DwwzC7Gf6kMmvyXG1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747712748; a=rsa-sha256; cv=none; b=TlXKn92nESG7K4GZCBTbbprGvIRwXMg3FDJCSGTklcLtK6Q/8rxFsTgz4F9CesDwSXP/dr ovYez4yvFIn7srX8jF9d+Kzk8aAY+CMUYHlPA3UAiOf8idHjm3b3ciu5QC/AOPdct7cAQO I1vg8Lpna3H4TAbSbO9JwgV1Cj+e6AMIdmm+Xo9MHz/LHm0kxkfWRK3q8LWeWZXCkH2+++ iXVooViGtS3LxKBkUPNQkSiQuTsQztveP9S+1FgJAAMmphYZg9ua8LjZuH05V3kkxv0UvI 2kP9DFji5kUgF3B6Q7aHVI1jVlQdq0p/4zRq0B8FWtW9pLwT18nSQxsFGgDJ2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1gSW74C3zZPP; Tue, 20 May 2025 03:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K3jldN001007; Tue, 20 May 2025 03:45:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K3jlud001006; Tue, 20 May 2025 03:45:47 GMT (envelope-from git) Date: Tue, 20 May 2025 03:45:47 GMT Message-Id: <202505200345.54K3jlud001006@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Xin LI Subject: git: 8c9fd1007159..48b0a08b8724 - vendor/less - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/vendor/less X-Git-Reftype: branch X-Git-Commit: 48b0a08b8724e7d5671dac2abf17ddb6d4e2a8f8 X-Git-Oldrev: 8c9fd1007159a1cfe994ccf7021688a679a0a39c X-Git-Newrev: 48b0a08b8724e7d5671dac2abf17ddb6d4e2a8f8 Auto-Submitted: auto-generated The branch vendor/less has been updated by delphij: URL: https://cgit.FreeBSD.org/src/log/?id=8c9fd1007159..48b0a08b8724 48b0a08b8724 Vendor import of less v678. From nobody Tue May 20 03:47:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1gVj1sb7z5wxLC; Tue, 20 May 2025 03:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1gVj1Lkkz42Ml; Tue, 20 May 2025 03:47:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747712861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=808wUJI7kFE+mYAcoVKhEAPY3NyqrtYY8h8gu8/5Dcs=; b=siyoIwSI2p3PJ6GhFXNTt6DKXwAHTWvZl8S2cfh34CN4KcDUGw7rpiLvhpKr9gox75lCKP VD/H1Ick51GVSfGFi8VKGwKq8kNmUGKQ9EyGuZjV5yAywFpzrdAUDg0pv6dtZ2DyZ/NWbT G6Efyl06rtyPphPNbCcWAxVbt6ilnvA/QDYRCn2CUDBMLRkQiwc7ehyNAx+9998ItyxBjs gaa5xC1uWH6uPK3lk5Q+lpdOFH3D3Mm2lJ6WQB/R1/I87qzQ8t9EGDf7KWuBm/03RP6AA4 C2EXcSkgDEU7IIV/h+4L2ExyQ6TiC47zror96ZISfp/39Iz4e36WAlurGfgZjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747712861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=808wUJI7kFE+mYAcoVKhEAPY3NyqrtYY8h8gu8/5Dcs=; b=W2J1s9kbKFI8P3uBnlXpnMsQLCpYMg3ZBn2MKz4nWkvuUklf6WQdm2ZRIeXPonA5+1y7WK dNOxUo/WywdtSl+KeFq+jEKwWMwysJBxj4VSguBmewMPZ/xW0jffCBqhfGTYflYe6hdE7Z xynVDbY82C0rrXSucXaA+lRB6AqUPHQh+qkpkvV2jagLPdDrT6vAZkR3gKDgvAZOuE1ub7 Yyvp/t227Sa79DDYcSKnOP4M+GaTl9TeFqrJITPZ2DXKRycNXKvZSQjFFyOkZVeOmFFz6Y lxE67CflUIwfoLg4ma8WNIEO2CMJea04DhA1ukM00bgkHsV+A3YHsGKdm/tm4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747712861; a=rsa-sha256; cv=none; b=brwR0VYHoO9VQrBsOIfeZR1oVFJuWWli4fIYzA1UBtm6Nd6ecBCJynTxtu19KusXVnlssY JkKftWTwEdnuIjPLCNgww9LhxqBV4g11YsQuKobcC2Srn2aToTi0irOfaejVku/B6HCjCh +b5immeUvO14AZY0mrdsWY0OCQFKHH79hEB61o9x3oiT4ZsZG53BI+HRIn3vqtSRaXo8/1 8WegzoscmLEkJ8dJ6GZAiTWxhPppG2p2j2jWSOBkmeukO2WO7gwGTmR/dliAGA5Ck1Qhfw jA0XrtCkRP0Nhr8GP4ujCiIwARyGETMcESMP2q7q+blk3RrnLeWdFoPvs+nk7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1gVj0qZ1zZVB; Tue, 20 May 2025 03:47:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K3lfoS001820; Tue, 20 May 2025 03:47:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K3leUi001817; Tue, 20 May 2025 03:47:40 GMT (envelope-from git) Date: Tue, 20 May 2025 03:47:40 GMT Message-Id: <202505200347.54K3leUi001817@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 252d6dde57d5 - main - MFV: less v678. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 252d6dde57d5dd0184929d1f8fb65e7713f51c6d Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=252d6dde57d5dd0184929d1f8fb65e7713f51c6d commit 252d6dde57d5dd0184929d1f8fb65e7713f51c6d Merge: 9b5ddb2accfc 48b0a08b8724 Author: Xin LI AuthorDate: 2025-05-20 03:44:02 +0000 Commit: Xin LI CommitDate: 2025-05-20 03:44:02 +0000 MFV: less v678. MFC after: 2 weeks contrib/less/LICENSE | 2 +- contrib/less/NEWS | 73 ++++++++++ contrib/less/brac.c | 2 +- contrib/less/ch.c | 55 ++++++-- contrib/less/charset.c | 36 +++-- contrib/less/charset.h | 2 +- contrib/less/cmd.h | 9 +- contrib/less/cmdbuf.c | 189 +++++++++++++++++++------- contrib/less/command.c | 206 ++++++++++++++++++++-------- contrib/less/compose.uni | 19 ++- contrib/less/cvt.c | 2 +- contrib/less/decode.c | 315 ++++++++++++++++++++++++------------------- contrib/less/edit.c | 7 +- contrib/less/evar.c | 6 +- contrib/less/filename.c | 6 +- contrib/less/fmt.uni | 2 +- contrib/less/forwback.c | 163 +++++++++++----------- contrib/less/funcs.h | 51 ++++--- contrib/less/help.c | 12 +- contrib/less/ifile.c | 2 +- contrib/less/input.c | 48 ++++--- contrib/less/jump.c | 27 ++-- contrib/less/lang.h | 2 +- contrib/less/less.h | 41 +++--- contrib/less/less.hlp | 10 ++ contrib/less/less.nro | 212 +++++++++++++++++++---------- contrib/less/lessecho.c | 2 +- contrib/less/lessecho.nro | 6 +- contrib/less/lesskey.c | 2 +- contrib/less/lesskey.h | 2 +- contrib/less/lesskey.nro | 23 +++- contrib/less/lesskey_parse.c | 9 +- contrib/less/lglob.h | 2 +- contrib/less/line.c | 279 +++++++++++++++++++++++++++++--------- contrib/less/linenum.c | 24 ++-- contrib/less/lsystem.c | 2 +- contrib/less/main.c | 33 +++-- contrib/less/mark.c | 2 +- contrib/less/mkutable | 7 +- contrib/less/optfunc.c | 25 +++- contrib/less/option.c | 80 +++++------ contrib/less/option.h | 26 ++-- contrib/less/opttbl.c | 231 ++++++++++++++++++++----------- contrib/less/os.c | 115 ++++++++++++---- contrib/less/output.c | 19 +-- contrib/less/pattern.c | 52 ++++--- contrib/less/pattern.h | 2 +- contrib/less/pckeys.h | 2 +- contrib/less/position.c | 15 ++- contrib/less/position.h | 3 +- contrib/less/prompt.c | 11 +- contrib/less/screen.c | 120 +++++++++++------ contrib/less/scrsize.c | 2 +- contrib/less/search.c | 184 ++++++++++--------------- contrib/less/signal.c | 55 ++++++-- contrib/less/tags.c | 2 +- contrib/less/ttyin.c | 8 +- contrib/less/ubin.uni | 2 +- contrib/less/version.c | 19 ++- contrib/less/wide.uni | 22 +-- usr.bin/less/defines.h | 15 ++- 61 files changed, 1903 insertions(+), 999 deletions(-) diff --cc contrib/less/command.c index 27eba082e520,000000000000..3ec1f9b48358 mode 100644,000000..100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@@ -1,2226 -1,0 +1,2320 @@@ - /* $FreeBSD$ */ +/* - * Copyright (C) 1984-2024 Mark Nudelman ++ * Copyright (C) 1984-2025 Mark Nudelman + * + * You may distribute under the terms of either the GNU General Public + * License or the Less License, as specified in the README file. + * + * For more information, see the README file. + */ + + +/* + * User-level command processor. + */ + +#include "less.h" +#if MSDOS_COMPILER==WIN32C +#include +#endif +#include "position.h" +#include "option.h" +#include "cmd.h" + +extern int erase_char, erase2_char, kill_char; +extern int sigs; +extern int quit_if_one_screen; +extern int one_screen; +extern int sc_width; +extern int sc_height; +extern char *kent; +extern int swindow; +extern int jump_sline; - extern int quitting; ++extern lbool quitting; +extern int wscroll; +extern int top_scroll; +extern int ignore_eoi; +extern int hshift; +extern int bs_mode; +extern int proc_backspace; +extern int show_attn; +extern int less_is_more; ++extern int chopline; +extern POSITION highest_hilite; +extern char *every_first_cmd; +extern char version[]; +extern struct scrpos initial_scrpos; +extern IFILE curr_ifile; +extern void *ml_search; +extern void *ml_examine; +extern int wheel_lines; +extern int def_search_type; +extern lbool search_wrapped; ++extern int no_paste; ++extern lbool pasting; ++extern int no_edit_warn; ++extern POSITION soft_eof; +#if SHELL_ESCAPE || PIPEC +extern void *ml_shell; +#endif +#if EDITOR +extern constant char *editproto; +#endif +#if OSC8_LINK +extern char *osc8_uri; +#endif +extern int shift_count; +extern int forw_prompt; +extern int incr_search; +extern int full_screen; +#if MSDOS_COMPILER==WIN32C +extern int utf_mode; +extern unsigned less_acp; +#endif + +#if SHELL_ESCAPE +static char *shellcmd = NULL; /* For holding last shell command for "!!" */ +#endif +static int mca; /* The multicharacter command (action) */ +static int search_type; /* The previous type of search */ +static int last_search_type; /* Type of last executed search */ +static LINENUM number; /* The number typed by the user */ +static long fraction; /* The fractional part of the number */ +static struct loption *curropt; - static int opt_lower; ++static lbool opt_lower; +static int optflag; +static lbool optgetname; +static POSITION bottompos; +static int save_hshift; +static int save_bs_mode; +static int save_proc_backspace; +static int screen_trashed_value = 0; +static lbool literal_char = FALSE; ++static lbool ignoring_input = FALSE; ++#if HAVE_TIME ++static time_type ignoring_input_time; ++#endif +#if PIPEC +static char pipec; +#endif + +/* Stack of ungotten chars (via ungetcc) */ +struct ungot { + struct ungot *ug_next; + char ug_char; + lbool ug_end_command; +}; +static struct ungot* ungot = NULL; + +static void multi_search(constant char *pattern, int n, int silent); + +/* + * Move the cursor to start of prompt line before executing a command. + * This looks nicer if the command takes a long time before + * updating the screen. + */ - static void cmd_exec(void) ++public void cmd_exec(void) +{ + clear_attn(); + clear_bot(); + flush(); +} + +/* + * Indicate we are reading a multi-character command. + */ +static void set_mca(int action) +{ + mca = action; + clear_bot(); + clear_cmd(); +} + +/* + * Indicate we are not reading a multi-character command. + */ +static void clear_mca(void) +{ + if (mca == 0) + return; + mca = 0; +} + +/* + * Set up the display to start a new multi-character command. + */ +static void start_mca(int action, constant char *prompt, void *mlist, int cmdflags) +{ + set_mca(action); + cmd_putstr(prompt); + set_mlist(mlist, cmdflags); +} + +public int in_mca(void) +{ + return (mca != 0 && mca != A_PREFIX); +} + +/* + * Set up the display to start a new search command. + */ +static void mca_search1(void) +{ + int i; + +#if HILITE_SEARCH + if (search_type & SRCH_FILTER) + set_mca(A_FILTER); + else +#endif + if (search_type & SRCH_FORW) + set_mca(A_F_SEARCH); + else + set_mca(A_B_SEARCH); + + if (search_type & SRCH_NO_MATCH) + cmd_putstr("Non-match "); + if (search_type & SRCH_FIRST_FILE) + cmd_putstr("First-file "); + if (search_type & SRCH_PAST_EOF) + cmd_putstr("EOF-ignore "); + if (search_type & SRCH_NO_MOVE) + cmd_putstr("Keep-pos "); + if (search_type & SRCH_NO_REGEX) + cmd_putstr("Regex-off "); + if (search_type & SRCH_WRAP) + cmd_putstr("Wrap "); + for (i = 1; i <= NUM_SEARCH_COLORS; i++) + { + if (search_type & SRCH_SUBSEARCH(i)) + { + char buf[INT_STRLEN_BOUND(int)+8]; + SNPRINTF1(buf, sizeof(buf), "Sub-%d ", i); + cmd_putstr(buf); + } + } + if (literal_char) + cmd_putstr("Lit "); + +#if HILITE_SEARCH + if (search_type & SRCH_FILTER) + cmd_putstr("&/"); + else +#endif + if (search_type & SRCH_FORW) + cmd_putstr("/"); + else + cmd_putstr("?"); + forw_prompt = 0; +} + +static void mca_search(void) +{ + mca_search1(); + set_mlist(ml_search, 0); +} + +/* + * Set up the display to start a new toggle-option command. + */ +static void mca_opt_toggle(void) +{ + int no_prompt = (optflag & OPT_NO_PROMPT); + int flag = (optflag & ~OPT_NO_PROMPT); + constant char *dash = (flag == OPT_NO_TOGGLE) ? "_" : "-"; + + set_mca(A_OPT_TOGGLE); + cmd_putstr(dash); + if (optgetname) + cmd_putstr(dash); + if (no_prompt) + cmd_putstr("(P)"); + switch (flag) + { + case OPT_UNSET: + cmd_putstr("+"); + break; + case OPT_SET: + cmd_putstr("!"); + break; + } + forw_prompt = 0; - set_mlist(NULL, 0); ++ set_mlist(NULL, CF_OPTION); +} + +/* + * Execute a multicharacter command. + */ +static void exec_mca(void) +{ + constant char *cbuf; - char *p; + + cmd_exec(); + cbuf = get_cmdbuf(); + if (cbuf == NULL) + return; + + switch (mca) + { + case A_F_SEARCH: + case A_B_SEARCH: + multi_search(cbuf, (int) number, 0); + break; +#if HILITE_SEARCH + case A_FILTER: + search_type ^= SRCH_NO_MATCH; + set_filter_pattern(cbuf, search_type); ++ soft_eof = NULL_POSITION; + break; +#endif + case A_FIRSTCMD: + /* + * Skip leading spaces or + signs in the string. + */ + while (*cbuf == '+' || *cbuf == ' ') + cbuf++; + if (every_first_cmd != NULL) + free(every_first_cmd); + if (*cbuf == '\0') + every_first_cmd = NULL; + else + every_first_cmd = save(cbuf); + break; + case A_OPT_TOGGLE: + toggle_option(curropt, opt_lower, cbuf, optflag); + curropt = NULL; + break; + case A_F_BRACKET: + match_brac(cbuf[0], cbuf[1], 1, (int) number); + break; + case A_B_BRACKET: + match_brac(cbuf[1], cbuf[0], 0, (int) number); + break; +#if EXAMINE - case A_EXAMINE: ++ case A_EXAMINE: { ++ char *p; + if (!secure_allow(SF_EXAMINE)) + break; + p = save(cbuf); + edit_list(p); + free(p); +#if TAGS + /* If tag structure is loaded then clean it up. */ + cleantags(); +#endif - break; ++ break; } +#endif +#if SHELL_ESCAPE + case A_SHELL: { + /* + * !! just uses whatever is in shellcmd. + * Otherwise, copy cmdbuf to shellcmd, + * expanding any special characters ("%" or "#"). + */ + constant char *done_msg = (*cbuf == CONTROL('P')) ? NULL : "!done"; + if (done_msg == NULL) + ++cbuf; + if (*cbuf != '!') + { + if (shellcmd != NULL) + free(shellcmd); + shellcmd = fexpand(cbuf); + } + if (!secure_allow(SF_SHELL)) + break; + if (shellcmd == NULL) + shellcmd = ""; + lsystem(shellcmd, done_msg); + break; } + case A_PSHELL: { + constant char *done_msg = (*cbuf == CONTROL('P')) ? NULL : "#done"; + if (done_msg == NULL) + ++cbuf; + if (!secure_allow(SF_SHELL)) + break; + lsystem(pr_expand(cbuf), done_msg); + break; } +#endif +#if PIPEC + case A_PIPE: { + constant char *done_msg = (*cbuf == CONTROL('P')) ? NULL : "|done"; + if (done_msg == NULL) + ++cbuf; + if (!secure_allow(SF_PIPE)) + break; + (void) pipe_mark(pipec, cbuf); + if (done_msg != NULL) + error(done_msg, NULL_PARG); + break; } +#endif + } +} + +/* + * Is a character an erase or kill char? + */ +static lbool is_erase_char(char c) +{ + return (c == erase_char || c == erase2_char || c == kill_char); +} + +/* + * Is a character a carriage return or newline? + */ +static lbool is_newline_char(char c) +{ + return (c == '\n' || c == '\r'); +} + +/* + * Handle the first char of an option (after the initial dash). + */ +static int mca_opt_first_char(char c) +{ + int no_prompt = (optflag & OPT_NO_PROMPT); + int flag = (optflag & ~OPT_NO_PROMPT); + if (flag == OPT_NO_TOGGLE) + { + switch (c) + { + case '_': + /* "__" = long option name. */ + optgetname = TRUE; + mca_opt_toggle(); + return (MCA_MORE); + } + } else + { + switch (c) + { + case '+': + /* "-+" = UNSET. */ + optflag = no_prompt | ((flag == OPT_UNSET) ? + OPT_TOGGLE : OPT_UNSET); + mca_opt_toggle(); + return (MCA_MORE); + case '!': + /* "-!" = SET */ + optflag = no_prompt | ((flag == OPT_SET) ? + OPT_TOGGLE : OPT_SET); + mca_opt_toggle(); + return (MCA_MORE); + case CONTROL('P'): + optflag ^= OPT_NO_PROMPT; + mca_opt_toggle(); + return (MCA_MORE); + case '-': + /* "--" = long option name. */ + optgetname = TRUE; + mca_opt_toggle(); + return (MCA_MORE); + } + } + /* Char was not handled here. */ + return (NO_MCA); +} + +/* + * Add a char to a long option name. + * See if we've got a match for an option name yet. + * If so, display the complete name and stop + * accepting chars until user hits RETURN. + */ +static int mca_opt_nonfirst_char(char c) +{ + constant char *p; + constant char *oname; + lbool ambig; ++ struct loption *was_curropt; + + if (curropt != NULL) + { - /* - * Already have a match for the name. - * Don't accept anything but erase/kill. - */ ++ /* Already have a match for the name. */ + if (is_erase_char(c)) + return (MCA_DONE); - return (MCA_MORE); ++ /* {{ Checking for TAB here is ugly. ++ * Also doesn't extend well -- can't do BACKTAB this way ++ * because it's a multichar sequence. }} */ ++ if (c != '\t') ++ return (MCA_MORE); + } + /* + * Add char to cmd buffer and try to match + * the option name. + */ + if (cmd_char(c) == CC_QUIT) + return (MCA_DONE); + p = get_cmdbuf(); - if (p == NULL) ++ if (p == NULL || p[0] == '\0') + return (MCA_MORE); + opt_lower = ASCII_IS_LOWER(p[0]); ++ was_curropt = curropt; + curropt = findopt_name(&p, &oname, &ambig); + if (curropt != NULL) + { - /* - * Got a match. - * Remember the option and - * display the full option name. - */ - cmd_reset(); - mca_opt_toggle(); - for (p = oname; *p != '\0'; p++) ++ if (was_curropt == NULL) + { - c = *p; - if (!opt_lower && ASCII_IS_LOWER(c)) - c = ASCII_TO_UPPER(c); - if (cmd_char(c) != CC_OK) - return (MCA_DONE); ++ /* ++ * Got a match. ++ * Remember the option and ++ * display the full option name. ++ */ ++ cmd_reset(); ++ mca_opt_toggle(); ++ cmd_setstring(oname, !opt_lower); + } + } else if (!ambig) + { + bell(); + } + return (MCA_MORE); +} + +/* + * Handle a char of an option toggle command. + */ +static int mca_opt_char(char c) +{ + PARG parg; + + /* + * This may be a short option (single char), + * or one char of a long option name, + * or one char of the option parameter. + */ - if (curropt == NULL && len_cmdbuf() == 0) ++ if (curropt == NULL && cmdbuf_empty()) + { + int ret = mca_opt_first_char(c); + if (ret != NO_MCA) + return (ret); + } + if (optgetname) + { + /* We're getting a long option name. */ + if (!is_newline_char(c) && c != '=') + return (mca_opt_nonfirst_char(c)); + if (curropt == NULL) + { + parg.p_string = get_cmdbuf(); + if (parg.p_string == NULL) + return (MCA_MORE); + error("There is no --%s option", &parg); + return (MCA_DONE); + } + optgetname = FALSE; + cmd_reset(); + } else + { + if (is_erase_char(c)) + return (NO_MCA); + if (curropt != NULL) + /* We're getting the option parameter. */ + return (NO_MCA); + curropt = findopt(c); + if (curropt == NULL) + { + parg.p_string = propt(c); + error("There is no %s option", &parg); + return (MCA_DONE); + } + opt_lower = ASCII_IS_LOWER(c); + } + /* + * If the option which was entered does not take a + * parameter, toggle the option immediately, + * so user doesn't have to hit RETURN. + */ + if ((optflag & ~OPT_NO_PROMPT) != OPT_TOGGLE || + !opt_has_param(curropt)) + { + toggle_option(curropt, opt_lower, "", optflag); + return (MCA_DONE); + } + /* + * Display a prompt appropriate for the option parameter. + */ - start_mca(A_OPT_TOGGLE, opt_prompt(curropt), NULL, 0); ++ start_mca(A_OPT_TOGGLE, opt_prompt(curropt), NULL, CF_OPTION); + return (MCA_MORE); +} + +/* + * Normalize search type. + */ +public int norm_search_type(int st) +{ + /* WRAP and PAST_EOF are mutually exclusive. */ + if ((st & (SRCH_PAST_EOF|SRCH_WRAP)) == (SRCH_PAST_EOF|SRCH_WRAP)) + st ^= SRCH_PAST_EOF; + return st; +} + +/* + * Handle a char of a search command. + */ +static int mca_search_char(char c) +{ + int flag = 0; + + /* + * Certain characters as the first char of + * the pattern have special meaning: + * ! Toggle the NO_MATCH flag + * * Toggle the PAST_EOF flag + * @ Toggle the FIRST_FILE flag + */ - if (len_cmdbuf() > 0 || literal_char) ++ if (!cmdbuf_empty() || literal_char) + { + literal_char = FALSE; + return (NO_MCA); + } + + switch (c) + { + case '*': + if (less_is_more) + break; + case CONTROL('E'): /* ignore END of file */ + if (mca != A_FILTER) + flag = SRCH_PAST_EOF; + search_type &= ~SRCH_WRAP; + break; + case '@': + if (less_is_more) + break; + case CONTROL('F'): /* FIRST file */ + if (mca != A_FILTER) + flag = SRCH_FIRST_FILE; + break; + case CONTROL('K'): /* KEEP position */ + if (mca != A_FILTER) + flag = SRCH_NO_MOVE; + break; + case CONTROL('S'): { /* SUBSEARCH */ + char buf[INT_STRLEN_BOUND(int)+24]; + SNPRINTF1(buf, sizeof(buf), "Sub-pattern (1-%d):", NUM_SEARCH_COLORS); + clear_bot(); + cmd_putstr(buf); + flush(); + c = getcc(); + if (c >= '1' && c <= '0'+NUM_SEARCH_COLORS) + flag = SRCH_SUBSEARCH(c-'0'); + else + flag = -1; /* calls mca_search() below to repaint */ + break; } + case CONTROL('W'): /* WRAP around */ + if (mca != A_FILTER) + flag = SRCH_WRAP; + break; + case CONTROL('R'): /* Don't use REGULAR EXPRESSIONS */ + flag = SRCH_NO_REGEX; + break; + case CONTROL('N'): /* NOT match */ + case '!': + flag = SRCH_NO_MATCH; + break; + case CONTROL('L'): + literal_char = TRUE; + flag = -1; + break; + } + + if (flag != 0) + { + if (flag != -1) + search_type = norm_search_type(search_type ^ flag); + mca_search(); + return (MCA_MORE); + } + return (NO_MCA); +} + +/* + * Handle a character of a multi-character command. + */ +static int mca_char(char c) +{ + int ret; + + switch (mca) + { + case 0: + /* + * We're not in a multicharacter command. + */ + return (NO_MCA); + + case A_PREFIX: + /* + * In the prefix of a command. + * This not considered a multichar command + * (even tho it uses cmdbuf, etc.). + * It is handled in the commands() switch. + */ + return (NO_MCA); + + case A_DIGIT: + /* + * Entering digits of a number. + * Terminated by a non-digit. + */ + if ((c >= '0' && c <= '9') || c == '.') + break; + switch (editchar(c, ECF_PEEK|ECF_NOHISTORY|ECF_NOCOMPLETE|ECF_NORIGHTLEFT)) + { + case A_NOACTION: + /* + * Ignore this char and get another one. + */ + return (MCA_MORE); + case A_INVALID: + /* + * Not part of the number. + * End the number and treat this char + * as a normal command character. + */ + number = cmd_int(&fraction); + clear_mca(); + cmd_accept(); + return (NO_MCA); + } + break; + + case A_OPT_TOGGLE: + ret = mca_opt_char(c); + if (ret != NO_MCA) + return (ret); + break; + + case A_F_SEARCH: + case A_B_SEARCH: + case A_FILTER: + ret = mca_search_char(c); + if (ret != NO_MCA) + return (ret); + break; + + default: + /* Other multicharacter command. */ + break; + } + + /* + * The multichar command is terminated by a newline. + */ + if (is_newline_char(c)) + { - /* - * Execute the command. - */ ++ if (pasting && no_paste) ++ { ++ /* Ignore pasted input after (and including) the first newline */ ++ start_ignoring_input(); ++ return (MCA_MORE); ++ } ++ /* Execute the command. */ + exec_mca(); + return (MCA_DONE); + } + + /* + * Append the char to the command buffer. + */ + if (cmd_char(c) == CC_QUIT) + /* + * Abort the multi-char command. + */ + return (MCA_DONE); + + switch (mca) + { + case A_F_BRACKET: + case A_B_BRACKET: + if (len_cmdbuf() >= 2) + { + /* + * Special case for the bracket-matching commands. + * Execute the command after getting exactly two + * characters from the user. + */ + exec_mca(); + return (MCA_DONE); + } + break; + case A_F_SEARCH: + case A_B_SEARCH: + if (incr_search) + { + /* Incremental search: do a search after every input char. */ + int st = (search_type & (SRCH_FORW|SRCH_BACK|SRCH_NO_MATCH|SRCH_NO_REGEX|SRCH_NO_MOVE|SRCH_WRAP|SRCH_SUBSEARCH_ALL)); + ssize_t save_updown; + constant char *pattern = get_cmdbuf(); + if (pattern == NULL) + return (MCA_MORE); + /* + * Must save updown_match because mca_search + * reinits it. That breaks history scrolling. + * {{ This is ugly. mca_search probably shouldn't call set_mlist. }} + */ + save_updown = save_updown_match(); + cmd_exec(); + if (*pattern == '\0') + { + /* User has backspaced to an empty pattern. */ + undo_search(1); + } else + { + if (search(st | SRCH_INCR, pattern, 1) != 0) + /* No match, invalid pattern, etc. */ + undo_search(1); + } + /* Redraw the search prompt and search string. */ + if (is_screen_trashed() || !full_screen) + { + clear(); + repaint(); + } + mca_search1(); + restore_updown_match(save_updown); + cmd_repaint(NULL); + } + break; + } + + /* + * Need another character. + */ + return (MCA_MORE); +} + +/* + * Discard any buffered file data. + */ +static void clear_buffers(void) +{ + if (!(ch_getflags() & CH_CANSEEK)) + return; + ch_flush(); + clr_linenum(); +#if HILITE_SEARCH + clr_hilite(); +#endif +} + +public void screen_trashed_num(int trashed) +{ + screen_trashed_value = trashed; +} + +public void screen_trashed(void) +{ + screen_trashed_num(1); +} + +public int is_screen_trashed(void) +{ + return screen_trashed_value; +} + +/* + * Make sure the screen is displayed. + */ +static void make_display(void) +{ + /* + * If not full_screen, we can't rely on scrolling to fill the screen. + * We need to clear and repaint screen before any change. + */ + if (!full_screen && !(quit_if_one_screen && one_screen)) + clear(); + /* + * If nothing is displayed yet, display starting from initial_scrpos. + */ + if (empty_screen()) + { + if (initial_scrpos.pos == NULL_POSITION) + jump_loc(ch_zero(), 1); + else + jump_loc(initial_scrpos.pos, initial_scrpos.ln); + } else if (is_screen_trashed() || !full_screen) + { + int save_top_scroll = top_scroll; + int save_ignore_eoi = ignore_eoi; + top_scroll = 1; + ignore_eoi = 0; + if (is_screen_trashed() == 2) + { + /* Special case used by ignore_eoi: re-open the input file + * and jump to the end of the file. */ + reopen_curr_ifile(); + jump_forw(); + } + repaint(); + top_scroll = save_top_scroll; + ignore_eoi = save_ignore_eoi; + } +} + +/* + * Display the appropriate prompt. + */ +static void prompt(void) +{ + constant char *p; + + if (ungot != NULL && !ungot->ug_end_command) + { + /* + * No prompt necessary if commands are from + * ungotten chars rather than from the user. + */ + return; + } + *** 2968 LINES SKIPPED *** From nobody Tue May 20 04:09:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1h0C4GQGz5wytQ; Tue, 20 May 2025 04:09: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1h0C36SVz4DRd; Tue, 20 May 2025 04:09:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747714187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vKemjkBRYDh2nWUVvADyp3wu+N7/acjug342961O+4=; b=Yi2CRBipLlXA0Y0c+7j1Xj54Ycwzr65EXt9tJA1aPjXJzT8d2OSZTtqEnZ53587cMgYife YSuRbLseHAVFcavsImg4wyuBBJq6YxE8ORBnvlL9lrL7rNqotV32rcZSDZxMAJB8JKjUVV OvmeX6F4FylzFYDAF+l305NE0Vet6wWJB2Z20zdCkP1oLNxZOeRWou32/F8FMH12CRPqCA 5fXT4ypqQ0FloxHnS8eKTU4rz/Xmf/YxbfbggF/PNjjf3TmUUFnX+FKhHok/3at8X3oaNX xjZ+Qng+Iw84gKqW2GHKCmX/XkFqarOsum0BDN4VStBc8plBjJknVCtHfXdFzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747714187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vKemjkBRYDh2nWUVvADyp3wu+N7/acjug342961O+4=; b=n5uiVfNFZ39/zcIz6ZggrlrkLxzxEgjg/N0nRs/5sI9H+MMlsXZn5NsERHFTa+4BSY9IUk 8msI413iKdpQpgKvvkoRARqtan+34nmiaezu+9xMxnhKdavfKDdIR4JFruSxATjQ87Z+ql pIiRPZHi7pJX50BaVCeCA71051qVPuu5ZgPTC2ac+RCWzSdft47zfF72nyJEpmxaa8B6YO 6NnKCHQR9zrPOtDU3BmWpfX+AHe65rmJlyj+rhwf6NMotWRSdU8a2bNIEOUgvnuKA3pnOc nrJo2gMjbmS1bgINbjCamUInm5V2D7VgxqOg4L4Bj3pcPclBuUfw8k2bh0us5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747714187; a=rsa-sha256; cv=none; b=OI6cpcUqVQf8lg1WlPsi3hGt7ahhjPRyIz8L0n/IfwXXQvfTmI90Mc295NfsXVh+Zg7hoZ xcmJGlYkfdfZPRjpdBnK9HHS86vCxiTUmXtTn5Hu4+uajzi/qVKrTpbdwoGfg741roWzjV 3SRkAZdJLuhvwCfbMgFk6VG5dllsUaQi3cVsdRYGUM31Z5tzFlY4GSyT6xTqzVtdWUgltK LsdTO/L0pHGgbFOFmBlcHuscepv4Fqr3vPvSJa7aftl+Y+qUWff3YznHacLFjbl2n+u4on GFwVlYBZhHlGgClcl+dXI02NcfsjyfJruvwnrsYp/6JuopjhKD01LiCBUYCSaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1h0C2hYgzZth; Tue, 20 May 2025 04:09:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K49lt0039902; Tue, 20 May 2025 04:09:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K49l4v039899; Tue, 20 May 2025 04:09:47 GMT (envelope-from git) Date: Tue, 20 May 2025 04:09:47 GMT Message-Id: <202505200409.54K49l4v039899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 4ae2a46b1663 - main - powerpc: Enable VIMAGE on more kernel configs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ae2a46b1663ce4983210e00f158049c2301ab7b Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=4ae2a46b1663ce4983210e00f158049c2301ab7b commit 4ae2a46b1663ce4983210e00f158049c2301ab7b Author: Li-Wen Hsu AuthorDate: 2025-05-20 04:09:29 +0000 Commit: Li-Wen Hsu CommitDate: 2025-05-20 04:09:29 +0000 powerpc: Enable VIMAGE on more kernel configs Sponsored by: The FreeBSD Foundation --- sys/powerpc/conf/MPC85XX | 1 + sys/powerpc/conf/MPC85XXSPE | 1 + sys/powerpc/conf/QORIQ64 | 1 + 3 files changed, 3 insertions(+) diff --git a/sys/powerpc/conf/MPC85XX b/sys/powerpc/conf/MPC85XX index 674e8cb23d4e..c74819c7fee0 100644 --- a/sys/powerpc/conf/MPC85XX +++ b/sys/powerpc/conf/MPC85XX @@ -34,6 +34,7 @@ options FFS options GDB options GEOM_PART_GPT options GEOM_LABEL # Provides labelization +options VIMAGE options INET options INET6 options TCP_HHOOK # hhook(9) framework for TCP diff --git a/sys/powerpc/conf/MPC85XXSPE b/sys/powerpc/conf/MPC85XXSPE index 207533c32559..ca828137ed72 100644 --- a/sys/powerpc/conf/MPC85XXSPE +++ b/sys/powerpc/conf/MPC85XXSPE @@ -34,6 +34,7 @@ options FFS options GDB options GEOM_PART_GPT options GEOM_LABEL # Provides labelization +options VIMAGE options INET options INET6 options TCP_HHOOK # hhook(9) framework for TCP diff --git a/sys/powerpc/conf/QORIQ64 b/sys/powerpc/conf/QORIQ64 index e72d967dd895..c64d015c37d1 100644 --- a/sys/powerpc/conf/QORIQ64 +++ b/sys/powerpc/conf/QORIQ64 @@ -42,6 +42,7 @@ options QUOTA #Enable disk quotas for UFS options GDB options GEOM_PART_GPT options GEOM_LABEL #Provides labelization +options VIMAGE options INET options INET6 options TCP_HHOOK # hhook(9) framework for TCP From nobody Tue May 20 04:31:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1hT01Rn5z5x0y4; Tue, 20 May 2025 04:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1hSz73ywz4N10; Tue, 20 May 2025 04:31:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747715476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CbFpu0QwwW3/0JW8sHcim8Hpl+YcPDO59B4QpAQUBiU=; b=La/3ZYr8N9Ys4YE8btVt3jQLnQG0A5sGHFx2oPwFk3cUDD+6pyaVLtVl8Iikl+lHtrT+gz YNpdl33yns5Sg+Q0dWctien9hcaxDuKF85MYRv3Zejwf4zm1qMZupiaiGz56NBdQeAiUXb hqgQwjKd4Va6d+IYDU+wauhLcLtnuw7pSQ1ltL9hfEaBW4KNlFWt7SXF3nKItlYqpAjLPM FAcDTAqDok7G/tunFhR3jU79n+fi7O/jG3g6h+o4sG3dqpX3BIfkPVlYMY60fOvlmXnw8J usE4vS6IFHrvmTRdTfozGtIGuefMo9KzoHL646sP1tDt0tvFfzqdES00mWPp2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747715476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CbFpu0QwwW3/0JW8sHcim8Hpl+YcPDO59B4QpAQUBiU=; b=YBvFshl1lnGw9+obVwOBTL4jkdVSq2iS87RBMbAkNETCmF0QqDuz/Wb7sMCVaiufPQPNfz hY0O6oYXs2KcWVoJfvzeAIkjuBTDpXwRQDXjpgCzTkWSZhyqSBF0ip4dji2cIeH/E+gZv1 XWaPKB4c0mq/SlrI8HX47Q7MV+slGdnlIyrLzRReKtk5L/sQqh8XadrG9xSOjJjvx9Jg1D VOWKhY3mQbcxrcnktBMribsV+nl4ktQLSjFzO0DqJ/yYRNylxVD2uzkXEY1KLn/8KofEm3 1Tx/uav1kC+Rvs0jo+ENW9u4nJ8XUuqMsFrCpcgEtW1GNVAcPSyzss7bYzDdrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747715476; a=rsa-sha256; cv=none; b=AbCvXuO3W7xxr+H9XlGLVyYS9IjJE8YYRqla1qNXMErEyHWgOqRLOGk00pITtlWaZiL6zs kXh2cQ0CTHonc4yK5uLzk0JX5btVIoeqiiMNTDC3JJf5D8xlJzrbKN/GHUZxfUmFl1MWzg ukcxRps6rDZ9p5QLQQowtKOhS6nx51n2skpraJk4/duK1JRWsCbLJ0dYh2xlSNgzCPpWic DQhQksifs5kwj6wthlkqW+9XsP3G9FGiyAkos/Wp2oHQ0d/3+RwzB99D0Fz6iXuCLncJ68 S4d4iSYF706eU08wsZ1UOQI+th+byEna405klwMLwmxpESv+ie4Os4E04lUeww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1hSz6YVGzbKj; Tue, 20 May 2025 04:31:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K4VFHg090001; Tue, 20 May 2025 04:31:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K4VFxb089998; Tue, 20 May 2025 04:31:15 GMT (envelope-from git) Date: Tue, 20 May 2025 04:31:15 GMT Message-Id: <202505200431.54K4VFxb089998@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 20bdc89bffd9 - main - primes: respect the precalculated primes table boundary List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 20bdc89bffd9daa1909f4b006ce68099c92bfda7 Auto-Submitted: auto-generated The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=20bdc89bffd9daa1909f4b006ce68099c92bfda7 commit 20bdc89bffd9daa1909f4b006ce68099c92bfda7 Author: Maxim Konovalov AuthorDate: 2025-05-20 04:16:19 +0000 Commit: Maxim Konovalov CommitDate: 2025-05-20 04:29:49 +0000 primes: respect the precalculated primes table boundary PR: 285658 --- usr.bin/primes/primes.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/usr.bin/primes/primes.c b/usr.bin/primes/primes.c index d556a19a1553..7ad7d44d408c 100644 --- a/usr.bin/primes/primes.c +++ b/usr.bin/primes/primes.c @@ -289,6 +289,9 @@ primes(ubig start, ubig stop) for ( ; q < tab_lim; q += factor) { *q = '\0'; /* sieve out a spot */ } + if (p > pr_limit) { + break; + } factor = *p++; } while (factor <= fact_lim); From nobody Tue May 20 04:31:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1hT13RJ7z5x1Cg; Tue, 20 May 2025 04:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1hT10m3Kz4My0; Tue, 20 May 2025 04:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747715477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KoDx+WlB+dsj8DN5zEbx3hefg0IWDqQLkFQ3EqUNibY=; b=LVP/cSAkuCZxWxBWoIhtTChzf11khXdk4Qs3jQFTaOPBjROXi+mGJeXZnOLvl7zh0+aZPf ckTa/knqkTdAQwJqSAaYxqN+fr6veZgyQpt+CDyy7/f7+wP79oU4h5xPA54u6sFJ9htuPo 1Keit/6QtldqR7AqQOTHe4g6PAnUdmpieatX4FlQvTnHMhSEueo46gFAZWhLtOSOygLwcR gL3draotUIsQfK+1QPqrocds1DjVLVAj96l8IhEaxlBEs71aedCQgX2mWLYFmo1sBAh+HH 68h4NvORAbnsTg0wHTXEIApmTj6jlW15/02O0m4meHQ06oMbqm/QvluKbmrizA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747715477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KoDx+WlB+dsj8DN5zEbx3hefg0IWDqQLkFQ3EqUNibY=; b=KgyMwYxSonil/SULfsN+HDFIQ8OsQeJZlQx0sjuSVOwa+DpoCwth15CWSXQcB1A9LzuDqq pi4y/yMBvT/vyOWSla0UjXH+EHyZNJEIf3PFpKyOs78pMknL193Kaz8VjZLOTEX0eEQjJ/ bw8FoTKhDLwqPqSkNGOsT5hmpS+OI6/IuxTJlQf6a7uJ9SMAbE+uPu1a+jUXVthmtDxboN GCFyyIpGWNtFebtbPFaRioHdTXKmQ7VpEg/eMweSD/A1kTKJF5sZSEwGYN+JGPIgC0vVm6 EiPRwwzrnD4UtSSN2mtOYsp5VditS08UlAoD3mq56QYdcW033WzkNy9nby+apQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747715477; a=rsa-sha256; cv=none; b=dgchm2jPuI1yJkfC5S3puPmXx3DUDx+/4UQJUzCKOQeyynY+GHOD4BvIreUk+F9/LurIgj EdC0AzPAVvTeppAQeqvzMXO5ECfxrXGN3d1ZMeICB6Ewjs60R/lXSwW2dI43d3T4n/LY3b sP0/uNaHO9f5+7O43uv/9a3PZ/V34DFJU6iZfrUWGCc2wBzxgvRic+7Ok3+qD031D8IRWA jHKODNe7e88inI/phYHT3f6yJL0pdy572Im9vB8qw7NyaqhRQNEcFOrJG92WyxMT4kM8X5 8qappI2BwAkLH9fae5+jBI5+WvIjzoC8nOu40fovo4hXfLHR4qkq/L7KULcPxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1hT10Mv7zbWs; Tue, 20 May 2025 04:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K4VG4A090040; Tue, 20 May 2025 04:31:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K4VGtS090037; Tue, 20 May 2025 04:31:16 GMT (envelope-from git) Date: Tue, 20 May 2025 04:31:16 GMT Message-Id: <202505200431.54K4VGtS090037@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 6d10d6311356 - main - primes: fix a typo in the comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d10d63113564242d5af6d7818dc8f7916be0903 Auto-Submitted: auto-generated The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=6d10d63113564242d5af6d7818dc8f7916be0903 commit 6d10d63113564242d5af6d7818dc8f7916be0903 Author: Maxim Konovalov AuthorDate: 2025-05-20 04:26:10 +0000 Commit: Maxim Konovalov CommitDate: 2025-05-20 04:29:49 +0000 primes: fix a typo in the comment --- usr.bin/primes/primes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/primes/primes.c b/usr.bin/primes/primes.c index 7ad7d44d408c..76d166e9bdab 100644 --- a/usr.bin/primes/primes.c +++ b/usr.bin/primes/primes.c @@ -285,7 +285,7 @@ primes(ubig start, ubig stop) } else { q = &table[mod ? factor-(mod/2) : 0]; } - /* sive for our current factor */ + /* sieve for our current factor */ for ( ; q < tab_lim; q += factor) { *q = '\0'; /* sieve out a spot */ } From nobody Tue May 20 04:31:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1hT23Qw5z5x0y7; Tue, 20 May 2025 04:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1hT2207Nz4Mrq; Tue, 20 May 2025 04:31:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747715478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFoM2yM0YfZSGHGjgCLCse2ByzzpAWuzENO4zIfh9lI=; b=MQjMRFiHtrTPoCM4TlGV5fAtcTajYwVFXuPiTvgT1nc59jh9FH5SU4v6gnzFdEjyUM/uHt kEZIxEiG89dXsqEiFdwuETWkWUQlqxGYXL9fPpG0JIJjOs81dilttpSuITZ3r2QvO6imIH SPuLUrSZiqUzGppdH1/A1WCKn8Q5wy21lHevAdU2ozYBMfzk79EstimiFnXtR2SJRbdO3+ XMFaou6gW0SUUGF93RspSVnrty0fYUBfhfnqZ945uAU3icvCONdTXCW4bfAY82AjJv0MMO uSDKWTSPoNrHGuXLCtQnmhrexiW2Ujf25nVj8S7AA/05LJX4YrOkFIjn7oFeSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747715478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFoM2yM0YfZSGHGjgCLCse2ByzzpAWuzENO4zIfh9lI=; b=FSullZWfNqes+qGWtVn+3KmKLG3Je/thtX3qROK/tcam/k8OVAFwVgtRsLIHTqTuUeurG9 TPzCgF8idSy1VE4fZ8Mx672GJlZJ/iNy05wAuylHCPG1s7yq2p0LgkPWIPUGS8yglr68aJ vfU69BK49u/rbHkzkVsIrpVHyB2J66aJHL5jqhgqo7Ef4J5+MKEJDPhSpNfv9S4SSdj137 RrIOq8wInzSk5lh0K8kPLpCT07LQs3KA9Mqni/L9v93VOeAo/QcNOnfYbLCW9lB4BiZgvM S0rUxAXqbSTMMDbwbOQV1U00QvKZRQlOJh4ReyrlAgdMguL69Q+yiPjSKXHnIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747715478; a=rsa-sha256; cv=none; b=msVpDmcobIwtAMN0uy6NNpXJ1YoGWqE2BFYoG6/U2XbJn0xfUPz0jCV/Nr+Yw6xKLBLd9b sGhghJdn8RGMpo3UyIIfVXDe+kSwXD6EmAoy1tby9QNgvCcJodYxk3RpJrV0l+u/G3Q5jo MFDVOsWUXgHpV9KCQRwNzfbn0R2rlIL1YaBOEhRSZn+VrvMOdXPBCvGSre4sdSzgF4zna1 nFr+hIwrYJiSv3raPfVtXSku55iaWyqkfZmSLjvRBDKQ8HrEpt3mgon0Bf/g1gSND+T5HR vPzkG5VtCLZRFxU/iJl9W5vvl4i+XHSxUDGv6W34JRP0za0xvn7cM0fOHemgFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1hT21J1TzbWt; Tue, 20 May 2025 04:31:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K4VIEr090072; Tue, 20 May 2025 04:31:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K4VIuZ090069; Tue, 20 May 2025 04:31:18 GMT (envelope-from git) Date: Tue, 20 May 2025 04:31:18 GMT Message-Id: <202505200431.54K4VIuZ090069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: 64c8e9fc32df - main - primes: put an additional comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64c8e9fc32dfe4391cdef948c05dc67e90596dc8 Auto-Submitted: auto-generated The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=64c8e9fc32dfe4391cdef948c05dc67e90596dc8 commit 64c8e9fc32dfe4391cdef948c05dc67e90596dc8 Author: Maxim Konovalov AuthorDate: 2025-05-20 04:28:14 +0000 Commit: Maxim Konovalov CommitDate: 2025-05-20 04:29:49 +0000 primes: put an additional comment --- usr.bin/primes/primes.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.bin/primes/primes.c b/usr.bin/primes/primes.c index 76d166e9bdab..1ce96d912012 100644 --- a/usr.bin/primes/primes.c +++ b/usr.bin/primes/primes.c @@ -241,6 +241,10 @@ primes(ubig start, ubig stop) if (p <= pr_limit) { return; } + /* + * the next odd number after the largest prime in the + * precomputed list + */ start = *pr_limit+2; } From nobody Tue May 20 07:15:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1m6G5dTHz5vxNs; Tue, 20 May 2025 07:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1m6G4sCrz3vK7; Tue, 20 May 2025 07:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747725318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5o2JseuOUqRIlTvvjb+fF/QJ7yQXB+bTzsyMjmLJsE=; b=s1sj0UI7hDSLGIfIX3aVpxD3xwplAQyFFTkDjCf8vDm+s++JnMiMiwtUUwGL3UrmjgwXS1 58AkjVbbLG8pPzho12hH0C3A7cpIwC5KX0JW9WNmAnkg18pf/qcMiSBfxTDmcbUVx/IfgP 1VR4mEdDmZjX8Igt6qAaIwIAbUO67iic+ADGYiwgUuDvgCn8FMLiBbbbqt+SA4XXZKa+aX wD4YyFvXeyIBuq0SWNimVxOYeRlBYlTH6vXkhxslIm7H19qWCYr2mF9kpq0v6r0m1n9TLQ 7dJzYaepxJhi0ew4pDgVfnyqv+/yxvtexwDU15XE7CNJ0gzMCVjDRGH3v0ZRUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747725318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5o2JseuOUqRIlTvvjb+fF/QJ7yQXB+bTzsyMjmLJsE=; b=UV5PZMi6SNqbuFNurqGtRk33+p0EMIMcmpgj2EKgOr2uuFYpIvC7xOJjKpMQA32+VbrPMQ 4Wmx35meuPT8IcDuEWPE7aGYwPqGWMSMqz0ewURDOltzPagWKVloD/JgMJ5/o9W+YeF4FC +6z2M1Gz2ZlYpw4EfQxmO6e/V9MbKyVpdnQuVHpzCBeG1Msd5XvZmEOR65/nHSRYjvzkIF JgzaJkL0RsOOaWEyzicbItkQ3yXBX5j0EuVlOkV26rAdHW8+CZNVxJHM7QVLim12EjJzSG 6aCE0hZVMQbaPConT8eZ7rX671RSPdwY4r3A9WCsCHu2KbSquJal/ONuE+uwqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747725318; a=rsa-sha256; cv=none; b=kqrzwlqL43VxZ+U8iCbPthVsdKvtljR6hQ0pKKiSNpHgQ8Pb5D774Tj7fVMzS5EV2qkLKV 2R2fvdA1k1dVc+tWdjgmnb4FUV0P95UnrD6cO1b+GUCT/n9VTpTkMN5HseuDBL0IoQyhtY lL7wRL7ulmQELBvmGs49LGqbvPtSCSJiktsWpKnnpTSFVTRzEaGfhPI/JCJ/B9tk9biI+W dLfVdO4vjnvXZ10yj9a6N40aXYXzcScdjPVOW1xwuN9MukuvhLEjGqxqf0aDR0b5AarvHX UHpZYE5dwJNKap81cV82tETYUhmF0qJZyLALKdkMnA9Zn6o+h2697hAWNoY6lA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1m6G4K9BzgXV; Tue, 20 May 2025 07:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K7FIgg094334; Tue, 20 May 2025 07:15:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K7FIi8094331; Tue, 20 May 2025 07:15:18 GMT (envelope-from git) Date: Tue, 20 May 2025 07:15:18 GMT Message-Id: <202505200715.54K7FIi8094331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 0f941203ac51 - main - vm_page: drop mpred from grab_valid_iter() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f941203ac513f5ed3cf30038ac9e7a062acf1b7 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=0f941203ac513f5ed3cf30038ac9e7a062acf1b7 commit 0f941203ac513f5ed3cf30038ac9e7a062acf1b7 Author: Doug Moore AuthorDate: 2025-05-20 07:11:40 +0000 Commit: Doug Moore CommitDate: 2025-05-20 07:14:49 +0000 vm_page: drop mpred from grab_valid_iter() Variable mpred in vm_page_grab_valid_iter() has become a write-only variable. Drop it. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D50424 --- sys/vm/vm_page.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index ea6fbdbc6386..85a39aa8c22e 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -4880,7 +4880,7 @@ int vm_page_grab_valid_iter(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags, struct pctrie_iter *pages) { - vm_page_t m, mpred; + vm_page_t m; vm_page_t ma[VM_INITIAL_PAGEIN]; int after, i, pflags, rv; @@ -4924,7 +4924,6 @@ retrylookup: *mp = NULL; return (VM_PAGER_FAIL); } else { - mpred = vm_radix_iter_lookup_lt(pages, pindex); m = vm_page_alloc_iter(object, pindex, pflags, pages); if (m == NULL) { if (!vm_pager_can_alloc_page(object, pindex)) { @@ -4941,7 +4940,7 @@ retrylookup: after = MIN(after, VM_INITIAL_PAGEIN); after = MIN(after, allocflags >> VM_ALLOC_COUNT_SHIFT); after = MAX(after, 1); - ma[0] = mpred = m; + ma[0] = m; pctrie_iter_reset(pages); for (i = 1; i < after; i++) { m = vm_radix_iter_lookup(pages, pindex + i); @@ -4952,7 +4951,6 @@ retrylookup: break; } else if (vm_page_any_valid(m) || !vm_page_tryxbusy(m)) break; - mpred = ma[i] = m; } after = i; vm_object_pip_add(object, after); From nobody Tue May 20 08:09:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1nKK3qZ3z5w1jy; Tue, 20 May 2025 08:09: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1nKK37wNz3yfh; Tue, 20 May 2025 08:09:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747728597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BjmZtH4JpxpXMJkLQBAnhtR/C3vmqtCB2MM01c8uzB0=; b=e9OXm6PO/p0rfJKp+ymzJ7CnLPUx8/hGrW+qsd6GKD8f4Y6Ppvgr4u66W3/XlIvL19oJZh qNjJo0BqQz4LMuctbJgRCb5c9Bl3y92m/SEu20IuR6XYHr9qhrJTbsSC9R5XMerYkxTZ0o Xydrjsaa7/FC0k8P3n1189TbQX3dWwjWm3oefYb6XjFpUHrZO4CFQejbaZRYR9bMrwFSR2 b82DKJ/hmcyLAsIpVjKkzrWfQIYFSpFSZjZfYf3HNpcjY5e96QS5OE4Vu183PaqFvA7eaU C8m287pe9Q3elU+xwHDHr/76JToYx1mn4Q3vE0uIBqgfJ8XuIpRI9wwf7lDjqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747728597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BjmZtH4JpxpXMJkLQBAnhtR/C3vmqtCB2MM01c8uzB0=; b=WXLVspG1jTwNP9UijSXFo0+Bi59U5Yo5qc9hLXQRWYmesvpsGYxsIXMX/IAGr97TzpLPGO Z8HJ8PNAzTWsKj0EGguhVJGzisODDvmXgsERICdl9C8rDY9tct4E4Tzq4UO31wUV8ZjuJL edUpgrnFd4vjZT7sdbdx+gw+xxWlm5eODMEnPAsEcqMq9na/kIeDX0OabfWCFs+5fbsXWs SWToed6tFHLkyisXIJo1yYl7syAGduFHY5Pd8xulk2es6q2oNGkQUo+Dp4CDI7MTqsBziF G5oCymp0Ta2Z68cQHsQkeN/fjrpg17MrLoy0iDACIWpLT1zFtt37gQlymMTq7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747728597; a=rsa-sha256; cv=none; b=YBqtEmUvv0GIf9ZyKd2j0VZnJLilbRMaU8RQAR0M00B8Z9m8+Dto76F7AEonc829sA5lWD BzgWBDeUaURuCfkcXM8vBWoVdi3BCxw4auQc8Bsv0wdDjEr36NpivXfHMh8F1cJMbLrfsi N7JUUarSttORmO6+EeNBzHLTUjavBoKfmOkuSh9G+mruKaXAaqqQE0P+tA8nJXQnwd9Rhw mJ0TQYA8LE2afILLGv5zPH4lRaENS3k+iSx0Tpid/4a1AuJ0B79El/PPrQPyhtl9zZcXWl x/N09FKZrJ2prmxhARKGijxPTc88jU79ACdfT9sAYnijUiSkgiJY6qpculhmhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1nKK2XLszj1R; Tue, 20 May 2025 08:09:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K89vOt088561; Tue, 20 May 2025 08:09:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K89vuZ088558; Tue, 20 May 2025 08:09:57 GMT (envelope-from git) Date: Tue, 20 May 2025 08:09:57 GMT Message-Id: <202505200809.54K89vuZ088558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: c8ffb90b1dd3 - main - Revert "vm_page: drop mpred from grab_valid_iter()" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8ffb90b1dd391b88b67f66028833876497d5d78 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=c8ffb90b1dd391b88b67f66028833876497d5d78 commit c8ffb90b1dd391b88b67f66028833876497d5d78 Author: Doug Moore AuthorDate: 2025-05-20 08:08:43 +0000 Commit: Doug Moore CommitDate: 2025-05-20 08:08:43 +0000 Revert "vm_page: drop mpred from grab_valid_iter()" This reverts commit 0f941203ac513f5ed3cf30038ac9e7a062acf1b7. Removing the unread variable also removed a side-effect of computing a value to assign to that variable, and that side-effect was critical. --- sys/vm/vm_page.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 85a39aa8c22e..ea6fbdbc6386 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -4880,7 +4880,7 @@ int vm_page_grab_valid_iter(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags, struct pctrie_iter *pages) { - vm_page_t m; + vm_page_t m, mpred; vm_page_t ma[VM_INITIAL_PAGEIN]; int after, i, pflags, rv; @@ -4924,6 +4924,7 @@ retrylookup: *mp = NULL; return (VM_PAGER_FAIL); } else { + mpred = vm_radix_iter_lookup_lt(pages, pindex); m = vm_page_alloc_iter(object, pindex, pflags, pages); if (m == NULL) { if (!vm_pager_can_alloc_page(object, pindex)) { @@ -4940,7 +4941,7 @@ retrylookup: after = MIN(after, VM_INITIAL_PAGEIN); after = MIN(after, allocflags >> VM_ALLOC_COUNT_SHIFT); after = MAX(after, 1); - ma[0] = m; + ma[0] = mpred = m; pctrie_iter_reset(pages); for (i = 1; i < after; i++) { m = vm_radix_iter_lookup(pages, pindex + i); @@ -4951,6 +4952,7 @@ retrylookup: break; } else if (vm_page_any_valid(m) || !vm_page_tryxbusy(m)) break; + mpred = ma[i] = m; } after = i; vm_object_pip_add(object, after); From nobody Tue May 20 09:08:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1pd14vDxz5w54g; Tue, 20 May 2025 09:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1pd12vjmz43XN; Tue, 20 May 2025 09:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mq3rXbjkA/g788ToV+bG4/Cb0ww7gWnzNhHjP/J4twU=; b=SQXqPbtNs005W/onyRgu55VmfCZVEwTQcEQ8GzqjceLpimFIs5GFDuRRQLJ/aepF6VU3Hi FJZMEo0dT2ml0PkuVZpwWxiXKNzJsw8B50WFZ60p+lnC9t4MHuw5NuD2SatZaI/LHFLhya f35YxFnU6TQg9GQKDbfChqVEKNO6cRdhKOy7O+uaCyJbw82CDn4vlAyBIe0udmSCsvqoyD FWS+3qvarkSHi1fZi2gIu7Uqki5CvFOHvbdB0ZvsN8E2rrE/yIQ3wz0gmn4JQ2zQZnUxga LqvoFUj0YfnV1OC38FJDvHhRTVf3nARwOnPDxAk1PKErYsaUYWzvzJoTB29cMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mq3rXbjkA/g788ToV+bG4/Cb0ww7gWnzNhHjP/J4twU=; b=tVV/rXtYK8/twIWfO+EVj7kLTp8RHRrpQBkdKIpkC1/8AgvRVctOSqNjoDQ8Y2fHjqYphK x45HHYTmeEsYI8jQuDtYufn28iI7N43FCu2w1a87/lnzmZAfMkdmouLyIHeaCFcLF79THl Z/nRg6aro48KsAernhpFfKlPNFaHmH7yfY4+ES28UIdhZUzwuKHsD33BzcgHSswYPw2+Ay 7MBu/YD5pal+lHOe8o0YBxWvmfCZdxVd5lN4aeKuEZtrwYbRc9439HS2cu5s6TQCR7r7n+ ur7c5G1bFwdOUvBPFXnF3NK+Tlbbox58M+MxcE49mvZk3QtQtGOspOjcO3O49Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747732117; a=rsa-sha256; cv=none; b=lbUo4hFzHbdCAqEMqZs86y31+Wdl5AFwtp58F5ICaGrDgLDE8qU3NTVnhZWkxuWS78xU+1 UWeRpt349y0MPlYGinrWY546P9RQ8NnVV0mF914a2tZBJc8UquwEfClibPriNJ53vwa7Ow W1DN8wk+cguUKjRK/u65go0gZQExccEqHe/SfDsfjtJDpDI0++mUCHQ3LG4n6aIPu9obp3 UE6TX6C6Y9Z2qFE0BGJwRLMePFsApmjGdSvx4dw5C1FBv651hD7HV9b+FAgou6mv8iBpwv 9ctx+mmTm6dc9UswiS/c7G+UqH6re+atue2s803u/A36R9Wl1d0XwK0xu93yeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1pd12RcyzkZ7; Tue, 20 May 2025 09:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K98bkr000780; Tue, 20 May 2025 09:08:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K98btR000777; Tue, 20 May 2025 09:08:37 GMT (envelope-from git) Date: Tue, 20 May 2025 09:08:37 GMT Message-Id: <202505200908.54K98btR000777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ce6b7a5919da - stable/14 - vfs: vn_alloc(): Stop always calling vn_alloc_hard() and direct reclaiming List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ce6b7a5919da518715d6163baa42035d6d2c1bd0 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ce6b7a5919da518715d6163baa42035d6d2c1bd0 commit ce6b7a5919da518715d6163baa42035d6d2c1bd0 Author: Olivier Certner AuthorDate: 2025-05-13 13:47:42 +0000 Commit: Olivier Certner CommitDate: 2025-05-20 09:05:27 +0000 vfs: vn_alloc(): Stop always calling vn_alloc_hard() and direct reclaiming Commit ab05a1cf321aca0f intended to revert commit 8733bc277a383cf5 ("vfs: don't provoke recycling non-free vnodes without a good reason"), but due to intervening changes in commit 054f45e026d898bd ("vfs: further speed up continuous free vnode recycle"), it also had to revert part of it. In particular, while removing the whole 'if (vn_alloc_cyclecount != 0)' block, it inadvertantly removed the code block resetting 'vn_alloc_cyclecount' to 0 and skipping direct vnode reclamation (done further below through vnlru_free_locked_direct()), which had been outside the 'if' before the intervening commit. Removing this block instead of reinstating it in practice causes 'vn_alloc_cyclecount' to (almost) never be 0, making vn_alloc() always call vn_alloc_hard(), which takes the 'vnode_list_mtx' mutex. In other words, this disables the fast path. [The reverted commit, which introduced the 'if (vn_alloc_cyclecount != 0)' guarding this block, actually never executed it because it also had the bug that 'vn_alloc_cyclecount' would always stay at 0, hiding its usefulness.] Additionally, not skipping direct vnode reclamation even when there are less vnodes than 'kern.maxvnodes' not only causes unnecessary contention but also plain livelocks as vnlru_free_locked_direct() does not itself check whether there are actually "free" (not referenced) vnodes to be deallocated, and will blindly browse all the vnode list until it finds one (which it may not, or only a few ones at the end). As the fast path was disabled, all threads in the system would soon be competing for the vnode list lock, outpacing the vnlru process that could never actually recycle vnodes in a more agressive manner (i.e., even if they have a non-zero hold count). And we could more easily get into this situation, as each vnode allocation was reducing the count of "free" vnodes, even if entirely new vnodes could be allocated instead. This part was mitigated by the vnlru process (before the tipping point described above), which explains why the mechanism would not always livelock. Not skipping direct vnode reclamation was arguably a bug introduced by the intervening commit (054f45e026d898bd), but was mitigated by vn_alloc_hard() not being called in the fast path. The revert commit, by disabling the fast path, made it significantly annoying (to the point of getting a few livelocks a week in some of my workloads). Restore the reset of 'vn_alloc_cyclecount' to 0 and skip direct reclamation when the current number of vnodes is below the 'kern.maxvnodes' limit, indicating we can start allocating a new 'struct vnode' right away. While here, fix the comparison with the limit when 'bumped' is true. Reviewed by: kib (older version), avg Tested by: avg, olce Fixes: ab05a1cf321aca0f (revert of "vfs: don't provoke recycling non-free vnodes without a good reason") Fixes: 054f45e026d898bd ("vfs: further speed up continuous free vnode recycle") MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50338 (cherry picked from commit d90c9c24e2c3701949c47061b5ad198eedeebfb9) --- sys/kern/vfs_subr.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 009d305b8c1f..a640bede85b9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1964,11 +1964,24 @@ vn_alloc_hard(struct mount *mp, u_long rnumvnodes, bool bumped) mtx_lock(&vnode_list_mtx); + /* + * Reload 'numvnodes', as since we acquired the lock, it may have + * changed significantly if we waited, and 'rnumvnodes' above was only + * actually passed if 'bumped' is true (else it is 0). + */ + rnumvnodes = atomic_load_long(&numvnodes); + if (rnumvnodes + !bumped < desiredvnodes) { + vn_alloc_cyclecount = 0; + mtx_unlock(&vnode_list_mtx); + goto alloc; + } + rfreevnodes = vnlru_read_freevnodes(); if (vn_alloc_cyclecount++ >= rfreevnodes) { vn_alloc_cyclecount = 0; vstir = true; } + /* * Grow the vnode cache if it will not be above its target max * after growing. Otherwise, if the free list is nonempty, try From nobody Tue May 20 09:08:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1pd24lh2z5w4c3; Tue, 20 May 2025 09:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1pd241tPz43cH; Tue, 20 May 2025 09:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/12tAPEYj8k5ZLBO5mbS+8MePBEFiyNDEi/SD4qFWM=; b=bR20VYgeo/OoMboz1EgQnKnuzn7HO5EQAn0fBxa00Sw+q7+1pyGmYIJUGRpcaz3rLC1xuA xcZ4+ZfFrhBF3pKUV79VWefxrquwebNlG3jI3LW+RoWLnIiYcjX+VqQFhCpGY+a1Bo/mEc N5ARdGEs3axMp9j926mk3/GuPHCb4tLe65MZYQRy6+81FFBM5u3GQbdra0geJtAvzR+Kg8 pXBUN6JVZJEXQbjXyw7P0hp2ARC4kqsYVrX4QkV2BuYaJPv4x30nHMhjBOeW7TlD6ta8MX +tv1qUBKCDRzN+R2ZKLls+XqrmrB64pO90sIWCvkxRd5gSiy2AGgtE/vaE58KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/12tAPEYj8k5ZLBO5mbS+8MePBEFiyNDEi/SD4qFWM=; b=LXJ5O1aV1dWxqf6c7QjWS09P9wHJPrVfEhz7SOQlFNRFqi7IEl/FcXmOOsFoort5PevJ5Y bzMR5TCLbJY1oq1hFu9cTKCgMibjDSlvZ047ztfZC8XDgT5zmI/LxnKRlnKsCRnK3RQvMQ PGFy/gKp53gqqRgQjCTQpq1di+OvVWAEek07xBig3bOmQXI75qDx/t/x4QTDYHmwCv0nsR PWzlguu0xO/hOKGwAK+8wQbecVin2S0RI7ax1r1WjTmaCOZAAijppTNkHWUPbGB2aRw536 uPFVz7VDUMqbVNFMGL2QBGWzvxsrmi6q2Y8rQ3lydIgVDRYW2CZXK1g6hixYfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747732118; a=rsa-sha256; cv=none; b=A75bhPeoULabzGBq55siXfFGP7oajpnQtSgMWV4pCcq3YUGBH7YYxFPGUHauO16pwkt1Ii XmsicXw9US+L7GUqaZPah1hfHCn9m/pf2Bs7bhpJMiF8Nzca4onNs//nCP5yo0I4f7gUyO 16Q09OB6Pk6hRf5CWMC58yQrEQfd5KNKEJ3YjY+Q2Vrocz51Z0GcuNqbYEm4gf5apZcwok QwuuIgaXpKW0zuXb5RmSIdnkHUdgHoZAAvTrcl160prat4rHgxJEp0o3nnyVmZMzciKCGn OihP3ShhCaj+ybj52Jg0kvhXiDB83/EVcmPJpa4+rCsES0YHcMp2mUv5mRLDFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1pd23LhSzkZ8; Tue, 20 May 2025 09:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K98ccw000814; Tue, 20 May 2025 09:08:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K98cSs000811; Tue, 20 May 2025 09:08:38 GMT (envelope-from git) Date: Tue, 20 May 2025 09:08:38 GMT Message-Id: <202505200908.54K98cSs000811@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: e7d4e52eafb0 - stable/14 - Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7d4e52eafb016707ef3dd3b778d76db280c06a4 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e7d4e52eafb016707ef3dd3b778d76db280c06a4 commit e7d4e52eafb016707ef3dd3b778d76db280c06a4 Author: Olivier Certner AuthorDate: 2025-05-02 12:47:32 +0000 Commit: Olivier Certner CommitDate: 2025-05-20 09:05:33 +0000 Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments Change the formulae so that 'maxproc' and 'maxfiles' are computed based on the physical memory amount, and not the corresponding number of pages. Make sure that the practical results are unchanged for all architectures (which is possible since all have 4096 as their PAGE_SIZE). Despite this, we do this change to make it clearer how many units of these values are computed per MB, which is easier on readers. Change the comments accordingly and expand them to indicate which parts of the computations are actually not used by default. In passing, fix the comments about default values and limits for 'maxfiles' (they were off). No functional change (intended). MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50124 (cherry picked from commit 73f9251c0b52ac0bfb2f2baff27493d6bae216f6) --- sys/kern/subr_param.c | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index 67dc10213a70..36009a5c1be1 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -70,13 +70,14 @@ # define HZ_VM HZ # endif #endif +/* See the comments in init_param2() for these. */ #define NPROC (20 + 16 * maxusers) -#ifndef NBUF -#define NBUF 0 -#endif #ifndef MAXFILES #define MAXFILES (40 + 32 * maxusers) #endif +#ifndef NBUF +#define NBUF 0 +#endif static int sysctl_kern_vm_guest(SYSCTL_HANDLER_ARGS); @@ -276,13 +277,14 @@ init_param1(void) void init_param2(long physpages) { + long maxproc_clamp, maxfiles_clamp; TSENTER(); /* Base parameters */ maxusers = MAXUSERS; TUNABLE_INT_FETCH("kern.maxusers", &maxusers); if (maxusers == 0) { - maxusers = physpages / (2 * 1024 * 1024 / PAGE_SIZE); + maxusers = pgtok(physpages) / (2 * 1024); if (maxusers < 32) maxusers = 32; #ifdef VM_MAX_AUTOTUNE_MAXUSERS @@ -291,35 +293,43 @@ init_param2(long physpages) #endif /* * Scales down the function in which maxusers grows once - * we hit 384. + * we hit 384 (16MB to get a new "user"). */ if (maxusers > 384) maxusers = 384 + ((maxusers - 384) / 8); } /* - * The following can be overridden after boot via sysctl. Note: - * unless overridden, these macros are ultimately based on maxusers. - * Limit maxproc so that kmap entries cannot be exhausted by - * processes. + * The following can be overridden after boot via sysctl. Note: unless + * overridden, these macros are ultimately based on 'maxusers'. Limit + * maxproc so that kmap entries cannot be exhausted by processes. The + * default for 'maxproc' linearly scales as 16 times 'maxusers' (so, + * linearly with 8 processes per MB up to 768MB, then 1 process per MB; + * overridable by a tunable), and is then clamped at 21 + 1/3 processes + * per MB (which never happens by default as long as physical memory is + * > ~1.5MB). */ maxproc = NPROC; TUNABLE_INT_FETCH("kern.maxproc", &maxproc); - if (maxproc > (physpages / 12)) - maxproc = physpages / 12; + maxproc_clamp = pgtok(physpages) / (3 * 1024 / 64); + if (maxproc > maxproc_clamp) + maxproc = maxproc_clamp; if (maxproc > pid_max) maxproc = pid_max; maxprocperuid = (maxproc * 9) / 10; /* - * The default limit for maxfiles is 1/12 of the number of - * physical page but not less than 16 times maxusers. - * At most it can be 1/6 the number of physical pages. + * 'maxfiles' by default is set to 32 files per MB (overridable by + * a tunable), and is then clamped at 64 files per MB (which thus never + * happens by default). (The default MAXFILES is for all practical + * purposes not used, as it gives a lower value than 32 files per MB as + * soon as there is more than ~2.5MB of memory.) */ - maxfiles = imax(MAXFILES, physpages / 8); + maxfiles = imax(MAXFILES, pgtok(physpages) / (1024 / 32)); TUNABLE_INT_FETCH("kern.maxfiles", &maxfiles); - if (maxfiles > (physpages / 4)) - maxfiles = physpages / 4; + maxfiles_clamp = pgtok(physpages) / (1024 / 64); + if (maxfiles > maxfiles_clamp) + maxfiles = maxfiles_clamp; maxfilesperproc = (maxfiles / 10) * 9; TUNABLE_INT_FETCH("kern.maxfilesperproc", &maxfilesperproc); From nobody Tue May 20 09:08:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1pd40Xhfz5w4c4; Tue, 20 May 2025 09:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1pd35Wtbz43FY; Tue, 20 May 2025 09:08:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5VRxaU7V5oLehxlEn33++Z0ozgAih6LckM6BdiO40w=; b=UpFoCB9TQXUmGDEvc7FMJSciK2cOY5igmbHgsOagtkRsuq/XX90eGrbjAAjhDI3zzihIkT x9tHyUYfwfJkfqsxT/x8b/lYx48oIh5vUPf6wByZohcDu3H8ogMTdDmt6l2yGoTnCUIIeJ Nj36HBJmUvCkrSD0XShYETe7DjgJNrqD3GbgB1qPjaBiL8rQNabrbxXq2NdH2jrQjo66wS Y4DE6f1/aUcJDEldPWvwQl2A2bSIgSEW/TAV6afD3/QYxib0P8EwnbxLzoVhwxdlOlUgJA 9U2K+65u6jaMq5r4kf/kqDzL7q2w/gH6U1l8soC2Ijg8hUkszFg6tJkT799h5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5VRxaU7V5oLehxlEn33++Z0ozgAih6LckM6BdiO40w=; b=je4BLPfJa9stZBYyV8N5uu57nMw14RVrs1JBdBX3CnOlzwFzR4DyAPsq44EXjSAZ23pk6p riEKkvpfpLpcjX4IU8L9og8NRWY1c55rEoCtZ2QXrxt10qCLDAPhs4cplmVlvy4GJQxbtJ 7XhLi7Bp0MeIsS/amfmHn4UfYQEizMrudiDIFfmA6mL6KCre7x77d14apFHgqfcvv7Xvqf hFygWO9kt85s3NgwKNSbILgyktwEs7d4/RQwU1Lm4qhR26xEgTtG5raPwyr3r0wgd8j2D1 rPNXS4MRrPMNLQoO5xXfmRtKazeGvv3flAcTQaJfP0kVIOXyutDEg6vLN49TZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747732119; a=rsa-sha256; cv=none; b=QPsBkQivkX+maez3SDFC9Tl0T1O0JkVcRQCG5ejhWNjgo76A73WuAATrf7hvHFYOpGZrEu Y3fOB4RjyCejpGI58539oKRRuJdjZBmbbtlVq+7xCwBPMMWH0qWuiD2go1ZDSb7K4HcMEd HrmbTwSrmwGngH9lB3UVGWw57OwtKE5E54mZqYThQcZhXHZ8mwwqA5scTCG8UZp1wDMNX3 bJ1QbVcFYni6yXwzD0hT7v32YYnqHLaz4QPOVqkSsbDtR1tYzKIOPd39cFrp5lo8ovwue0 +TxIguMBG/7hZsNhg6sgX7ZU9nCXqTFTdkkzIpZC+WP8gl6sGtR/lO+osNYheQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1pd343nFzkHY; Tue, 20 May 2025 09:08:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K98dvY000848; Tue, 20 May 2025 09:08:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K98d13000845; Tue, 20 May 2025 09:08:39 GMT (envelope-from git) Date: Tue, 20 May 2025 09:08:39 GMT Message-Id: <202505200908.54K98d13000845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 5b07152f3ec3 - stable/14 - vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b07152f3ec3eea78958796b45594c5bd96c0bfb Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5b07152f3ec3eea78958796b45594c5bd96c0bfb commit 5b07152f3ec3eea78958796b45594c5bd96c0bfb Author: Olivier Certner AuthorDate: 2025-05-12 11:20:01 +0000 Commit: Olivier Certner CommitDate: 2025-05-20 09:05:33 +0000 vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' Remove the parts that describe what is already in the code formula. Add hints about which of 'physvnodes'/'virtvnodes' takes precedence, and when 'desiredvnodes' becomes smaller than 'maxfiles'. These were both computed analytically and verified experimentally. Reviewed by: kib (older version) MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50310 (cherry picked from commit bf8890c84bacd8b1acebb2cb9a0944b1bb102b68) --- sys/kern/vfs_subr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index a640bede85b9..62ae987a3084 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -722,15 +722,15 @@ vntblinit(void *dummy __unused) int cpu, physvnodes, virtvnodes; /* - * Desiredvnodes is a function of the physical memory size and the - * kernel's heap size. Generally speaking, it scales with the - * physical memory size. The ratio of desiredvnodes to the physical - * memory size is 1:16 until desiredvnodes exceeds 98,304. - * Thereafter, the - * marginal ratio of desiredvnodes to the physical memory size is - * 1:64. However, desiredvnodes is limited by the kernel's heap - * size. The memory required by desiredvnodes vnodes and vm objects - * must not exceed 1/10th of the kernel's heap size. + * 'desiredvnodes' is the minimum of a function of the physical memory + * size and another of the kernel heap size (UMA limit, a portion of the + * KVA). + * + * Currently, on 64-bit platforms, 'desiredvnodes' is set to + * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'physvnodes' applies instead. With the current automatic tuning for + * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at + * ~5136MB. */ physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; From nobody Tue May 20 09:08:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1pd50rCKz5w54h; Tue, 20 May 2025 09:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1pd45shdz43Fm; Tue, 20 May 2025 09:08:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TRpKQkhSSMx0M7cYOtbQE9XBa9jHQjsXjhKwv8ueEv4=; b=CMbdCb8nenVUjoC8YCOC7oyewGbSjZas7DL69IVYsmZL4yT7WF1jIJdx3SoN7bZV/Rb1Iw jPQ8JNg1lOsh4itZ9ZuPt3SUJzqJ3XmizJaDkSFmJTW53CfhT5fk8RZfzDQ2zrEmkVWzx3 saLTYxlqreduhGo/dubNKaxOIFSRjzJzgSQ9ti0TDLj+jPwDTBejluA+s4gvQbIAOGln7O MqeHcwNGz8w7QhR2Flh9HO3431CWN2AhDwTsz3p/a3ZOVF2pYAkVVMX22igDx+8zG2ow12 XY/0GW9uLTqikuOeeph8xwFG7yyM9p5ZVTk+apHvYbnySVFriKmJsA0KkS8mjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747732120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TRpKQkhSSMx0M7cYOtbQE9XBa9jHQjsXjhKwv8ueEv4=; b=K0pEftR7J5cdBJIragvboCXq8GDeSThFjoj2+U4ZfPNo+eNWSzmMLWvtbmFN5Q3ZYWXWYb rrd1MyIGX0gUBMNBXjgSVX6yGaNItBWyTdVSGIp15VV2wFHjTEpKQJxqsjQ4BijSWPAfsb aL7apvZRi+eqJONi69k7qQvj6zazIEUlrBzQ3+bsbD5rukAfa9S1W+OVSPLVsyVTgvu+uo D2/6dFMqS+BD2uGU/KyJUMWm895MHiXazz/j7IXi+j/7HkzonDwgvjHjckjAvg9HnppAXy Tav1Z2PxkFRQWT0ltNTYGqkidcVAPv/jfvLCBTijmpj6d8o6PjoxZchRyfcvlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747732120; a=rsa-sha256; cv=none; b=bFiNIRaXDp6UJ5ixtNJ57e12ihb2qQEAVsgx0C7nj6eIU2ZVUMM1kYLtEDAntd+zeJjH1f fqkuZPQsjplJbWXjpHMkpiEGoh76K4PxTcxFcmBHurvDlHozjSv9QJt0hyXPXROrnN8nJ7 HaLz1ReemcoSDQNkTJGgQiyK7djnxCIla8GVqumH0JC20WIombD2pPqJZhujXwdikSFfEx KfAlidq+hhuA4F1wmOrPIw7OECFureWd/spBbboygJYGxlEIavb1n0UnmvhHmP0JRe0FjT HeiDDJBmtChSGxCTKJ/iDwuhvoRY5TaZi2UWfHgW0jG20k9EToz3SFHls/JuFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1pd453cpzkHZ; Tue, 20 May 2025 09:08:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K98eVS000887; Tue, 20 May 2025 09:08:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K98eXU000883; Tue, 20 May 2025 09:08:40 GMT (envelope-from git) Date: Tue, 20 May 2025 09:08:40 GMT Message-Id: <202505200908.54K98eXU000883@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: a6b05a35ce3c - stable/14 - vfs: vntblinit(): Raise default 'kern.maxvnodes' higher than 'kern.maxfiles' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a6b05a35ce3c516cadfca49c310dffaabbe40440 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a6b05a35ce3c516cadfca49c310dffaabbe40440 commit a6b05a35ce3c516cadfca49c310dffaabbe40440 Author: Olivier Certner AuthorDate: 2025-05-12 12:19:56 +0000 Commit: Olivier Certner CommitDate: 2025-05-20 09:05:33 +0000 vfs: vntblinit(): Raise default 'kern.maxvnodes' higher than 'kern.maxfiles' Having 'kern.maxvnodes' higher than 'kern.maxfiles' mitigates a scenario where some processes can eat up all vnodes in the system, causing a deadlock, as long as the kernel itself does not create too many vnodes without creating some file descriptor in some process' FD table. A very small percentage (~0.6%) of excess vnodes at infinity, coupled with a large difference near the origin, should cover basic cases more than enough. Note however that this measure can be defeated, e.g., by using nullfs mounts with non-trivial file hierarchies. MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50314 (cherry picked from commit e9baf472a6d228a16be19a11150d41cff29affe8) --- sys/kern/vfs_subr.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 62ae987a3084..7ff6ac5f5b44 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -727,13 +727,12 @@ vntblinit(void *dummy __unused) * KVA). * * Currently, on 64-bit platforms, 'desiredvnodes' is set to - * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'virtvnodes' up to a physical memory cutoff of ~1722MB, after which * 'physvnodes' applies instead. With the current automatic tuning for - * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at - * ~5136MB. + * 'maxfiles' (32 files/MB), 'desiredvnodes' is always greater than it. */ - physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + - 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; + physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 32 + + min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 32; virtvnodes = vm_kmem_size / (10 * (sizeof(struct vm_object) + sizeof(struct vnode) + NC_SZ * ncsizefactor + NFS_NCLNODE_SZ)); desiredvnodes = min(physvnodes, virtvnodes); From nobody Tue May 20 09:50:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1qYm3Bmsz5w87j; Tue, 20 May 2025 09:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1qYm2gVHz3D8n; Tue, 20 May 2025 09:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747734652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xPPKJvaooddnVWkTVGE6ihazAQoQtjzGr6gs6HY+v9c=; b=U9q/KCJMKxhFUL5zlGqjV0Dzp6uG5psfVXRB9xWq/HdD7AEbamOC9uyrSu8SEZ+hZlH2FE i9c/Y30Dti7m0voZ2bhc8k7PNJFqq7f2LUVmc/gBDFrYbeBeGnMsDmOo4HjjjHupwfXwyA IGcfnHOM8U1x6MObABXLvRUg6SnJ2bHyg0RKdOwzcK7ZF9+8hTnX18gQikx+avhYQzLawO gV9QJayjLWObUpFqMksXJEPch9VgKP6LfoGG4EmCYDghPRqoxvb3o7eAWw2lEPhJpHigTD 6SrT0kTjPYnlczA/lvEOjHH+GGSlM/aCRDr4U2xu6UDGaXFFr6c4t6X9GxTwLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747734652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xPPKJvaooddnVWkTVGE6ihazAQoQtjzGr6gs6HY+v9c=; b=N5TYzfHt7gfIUIBiDRh7RM9QNrVCwhTFAwhFP9s4/LM6ICZ/cAkchSDFDQBHIGdDWdABVR gC/tIciTmnRHY6wB3b4FOey1uLhYbafdEEpUWWE2DMESK+4ye/di+FoefbNL5RZcumbag9 1v56eWu4owe5oJfm1Onwj0MjUjeQj2h/0ZMp+NBALtMkUw7+0V+Pc4R5URG50jlttKz0K2 5OYASyOIXfMd3M2tfZkvnyV6UwshlZvtzuu7RKUGf2RoSJ99jNjOFtO2VT89dbkMVuZB+x e01BZQ2XC01d1+/rtLcQI2DLaq4Ob/0VXzGb3Hv/m9BuiV4y0Cqg4eB+88weJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747734652; a=rsa-sha256; cv=none; b=LhMWxSyPW47gD36nKnfFnFXQ8n5FRleWKnArlXqnXbTZnc0FRwMWkPsoh6UX1ZcRi1stys TKNAqKv4XUxNaxqVjfwjfSdoUKyeXux4RkkajSGs+xf75RYJNu/ka+DEniWEZUt2ulngBy DnhCdXoSq3XUWGEemeM+NySxxxRexA/oE1EgdWng50w5mfDg5XsLVs8VRy/4tPTGoAhpek jnutrBr3z/ZpQXPnKlHJry4nIJTaUi8MRpt4mPGaPGGCO3anXY74EGmjTER4+JF3llZFgv kdhE+wtYFFTeiRrGopiH/wksq5KN5rYrlm+a3i7kEAzY79f0bjYQTs5OtYhWJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1qYm2Ft2zlRY; Tue, 20 May 2025 09:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K9oqjH085664; Tue, 20 May 2025 09:50:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K9oqon085661; Tue, 20 May 2025 09:50:52 GMT (envelope-from git) Date: Tue, 20 May 2025 09:50:52 GMT Message-Id: <202505200950.54K9oqon085661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: fba91af3b09b - main - makefs: Honor -T timestamps when creating images from mtree manifests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fba91af3b09b0cb021a50da2bc78e44dfd49b69a Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=fba91af3b09b0cb021a50da2bc78e44dfd49b69a commit fba91af3b09b0cb021a50da2bc78e44dfd49b69a Author: Bojan Novković AuthorDate: 2025-03-24 15:47:35 +0000 Commit: Bojan Novković CommitDate: 2025-05-20 09:50:22 +0000 makefs: Honor -T timestamps when creating images from mtree manifests makefs backends rely on the fsnode structure to derive most of the information about the underlying filesystem objects. Depending on how the image is built, the fsnode structures are initialized in the walk_dir or read_mtree functions. However, read_mtree fails to take timestamps passed by -T into account, leading to nonreproducible images in backends that do not check for -T. Fix this and make -T backend-agnostic by adding an appropriate check in read_mtree_keywords while making sure that mtree entries can still override -T timestamps. PR: 285630 Sponsored by: Klara, Inc. Sponsored by: The FreeBSD Foundation Reviewed by: markj, emaste Differential Revision: https://reviews.freebsd.org/D49531 --- usr.sbin/makefs/makefs.8 | 8 ++++++-- usr.sbin/makefs/makefs.c | 16 ++++++++++++++++ usr.sbin/makefs/makefs.h | 1 + usr.sbin/makefs/mtree.c | 19 ++++++++++++++++--- usr.sbin/makefs/walk.c | 16 ++-------------- 5 files changed, 41 insertions(+), 19 deletions(-) diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8 index ae11309953e4..a11eaf8206e9 100644 --- a/usr.sbin/makefs/makefs.8 +++ b/usr.sbin/makefs/makefs.8 @@ -259,9 +259,13 @@ can be a .Pa pathname , where the timestamps are derived from that file, or an integer value interpreted as the number of seconds from the Epoch. -Note that timestamps specified in an +Timestamps in a .Xr mtree 5 -spec file, override the default timestamp. +specfile (specified with +.Fl F ) +are used even if a default timestamp is specified. +However, the timestamps in an mtree manifest are ignored +if a default timestamp is specified. .It Fl t Ar fs-type Create an .Ar fs-type diff --git a/usr.sbin/makefs/makefs.c b/usr.sbin/makefs/makefs.c index d85b9c2668e7..46e513e22b25 100644 --- a/usr.sbin/makefs/makefs.c +++ b/usr.sbin/makefs/makefs.c @@ -436,6 +436,22 @@ set_option_var(const option_t *options, const char *var, const char *val, return -1; } +void +set_tstamp(fsnode *cur) +{ + cur->inode->st.st_atime = stampst.st_atime; + cur->inode->st.st_mtime = stampst.st_mtime; + cur->inode->st.st_ctime = stampst.st_ctime; +#if HAVE_STRUCT_STAT_ST_MTIMENSEC + cur->inode->st.st_atimensec = stampst.st_atimensec; + cur->inode->st.st_mtimensec = stampst.st_mtimensec; + cur->inode->st.st_ctimensec = stampst.st_ctimensec; +#endif +#if HAVE_STRUCT_STAT_BIRTHTIME + cur->inode->st.st_birthtime = stampst.st_birthtime; + cur->inode->st.st_birthtimensec = stampst.st_birthtimensec; +#endif +} static fstype_t * get_fstype(const char *type) diff --git a/usr.sbin/makefs/makefs.h b/usr.sbin/makefs/makefs.h index 62c7e430a00c..3cd56a036670 100644 --- a/usr.sbin/makefs/makefs.h +++ b/usr.sbin/makefs/makefs.h @@ -188,6 +188,7 @@ fsnode * read_mtree(const char *, fsnode *); int set_option(const option_t *, const char *, char *, size_t); int set_option_var(const option_t *, const char *, const char *, char *, size_t); +void set_tstamp(fsnode *); fsnode * walk_dir(const char *, const char *, fsnode *, fsnode *); void free_fsnodes(fsnode *); option_t * copy_opts(const option_t *); diff --git a/usr.sbin/makefs/mtree.c b/usr.sbin/makefs/mtree.c index 83e207b07402..4f3c3f85dcc3 100644 --- a/usr.sbin/makefs/mtree.c +++ b/usr.sbin/makefs/mtree.c @@ -631,6 +631,9 @@ read_mtree_keywords(FILE *fp, fsnode *node) } /* Ignore. */ } else if (strcmp(keyword, "time") == 0) { + /* Ignore if a default timestamp is present. */ + if (stampst.st_ino != 0) + break; if (value == NULL) { error = ENOATTR; break; @@ -720,7 +723,9 @@ read_mtree_keywords(FILE *fp, fsnode *node) return (error); st->st_mode = (st->st_mode & ~S_IFMT) | node->type; - + /* Store default timestamp, if present. */ + if (stampst.st_ino != 0) + set_tstamp(node); /* Nothing more to do for the global defaults. */ if (node->name == NULL) return (0); @@ -1051,8 +1056,16 @@ read_mtree(const char *fname, fsnode *node) mtree_global.inode = &mtree_global_inode; mtree_global_inode.nlink = 1; mtree_global_inode.st.st_nlink = 1; - mtree_global_inode.st.st_atime = mtree_global_inode.st.st_ctime = - mtree_global_inode.st.st_mtime = time(NULL); + if (stampst.st_ino != 0) { + set_tstamp(&mtree_global); + } else { +#if HAVE_STRUCT_STAT_BIRTHTIME + mtree_global_inode.st.st_birthtime = +#endif + mtree_global_inode.st.st_atime = + mtree_global_inode.st.st_ctime = + mtree_global_inode.st.st_mtime = time(NULL); + } errors = warnings = 0; setgroupent(1); diff --git a/usr.sbin/makefs/walk.c b/usr.sbin/makefs/walk.c index dc03a16cf2c6..65ba3f41fe02 100644 --- a/usr.sbin/makefs/walk.c +++ b/usr.sbin/makefs/walk.c @@ -248,20 +248,8 @@ create_fsnode(const char *root, const char *path, const char *name, cur->type = stbuf->st_mode & S_IFMT; cur->inode->nlink = 1; cur->inode->st = *stbuf; - if (stampst.st_ino) { - cur->inode->st.st_atime = stampst.st_atime; - cur->inode->st.st_mtime = stampst.st_mtime; - cur->inode->st.st_ctime = stampst.st_ctime; -#if HAVE_STRUCT_STAT_ST_MTIMENSEC - cur->inode->st.st_atimensec = stampst.st_atimensec; - cur->inode->st.st_mtimensec = stampst.st_mtimensec; - cur->inode->st.st_ctimensec = stampst.st_ctimensec; -#endif -#if HAVE_STRUCT_STAT_BIRTHTIME - cur->inode->st.st_birthtime = stampst.st_birthtime; - cur->inode->st.st_birthtimensec = stampst.st_birthtimensec; -#endif - } + if (stampst.st_ino != 0) + set_tstamp(cur); return (cur); } From nobody Tue May 20 09:50:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1qYn4ny3z5w7wg; Tue, 20 May 2025 09:50:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1qYn3JG6z3DBt; Tue, 20 May 2025 09:50:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747734653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FxLCIXJWbedEFzhC5ywdCLZIIsMfT4EuKsKCE+NhJVE=; b=Xk/V002gZmaR+rLpJORC/EKPfNwdr5/9j5OQNtyifwBgxHqPGF7raeesAdVPn8SHhAaVth vl4Uryom7eFAjP8RvwMRqaoz47LW1l6578kC0vAdQzRuRzaTwf9yUyyUmsgVF0E9GGA94d stMSwEUXiH0sjSxFvOHIzf2I02ac4Wm6DYY31jRVkDOfd9pZcr8/gyQJIoJmXQa70KaYoH 5XVS7Hav4bxX45H1MVnE8IdsEG6Xk1HcFSgrZW/WpqD5FuyLPQHfrnZSl2xIIjOnneQncV jvb6OB1pU5xvgPx+k4WwNaYbiXlcui0HBdnDj1KpVq8OU38oNDbaGjHe9HDZpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747734653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FxLCIXJWbedEFzhC5ywdCLZIIsMfT4EuKsKCE+NhJVE=; b=mveER/b6HKPij/09Mfxnx7nusi06JHcS360X07X7t40rifmwF+rLHTPMbwbEp6xOxGOl4Z aTUz/XQLTqtiPGHX5H+soITEa6KyIdPu07YDoxDVTCnoxNLHiRCTMtcFio+Y/v/Fah2GUI gInbdhg6Y1fz2BH598oZ/MBS68A2ihw840QUpGGfo6griP5ao18RzMzJ9PC3gQViAYLbBW BRmKY87sqpzEJmz6T3oqStWae67eqWXgn7WGpYgqJoOtBEXoyUrS8h2CA9LypRotMav6yg JRygMJAr+KzSY/RPAybcMQP/iGpDSyNvw5iWYdmYtOeuAWwNgA5FbTywTMjYVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747734653; a=rsa-sha256; cv=none; b=C01MtJFa97bzyi9GOgTJydI24VJCPhCmx3MH+rgU8PT5+oyn01EBnL9ozB+eX/Iso/P8UJ 6IuTdZKxVyXnuA2LYwHtNs11MfiNpt+FweUlgLAE+3YWlUajQ1/ieA/JWv3TKIQJIrlsYI tCo78rd37/XomVI+CjfBhkbRnSBcGzRzZq5hiNt+jxGTB/SaSpLmvv8kw+LM04qpG030P9 9Ji9M8NP1cNAqnKyWIQ/oTXK2Fn4nY7oULzkcOSrqasXXzvj66yzf1zZqleiCfxBha28/2 lGWN4cDjpD/Kzdpl99+kJHja0Se6+PmZABMZnkCikPDeng9hsnZiWlSJ0QL9MQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1qYn2vnSzlXs; Tue, 20 May 2025 09:50:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K9orqI085702; Tue, 20 May 2025 09:50:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K9orwO085699; Tue, 20 May 2025 09:50:53 GMT (envelope-from git) Date: Tue, 20 May 2025 09:50:53 GMT Message-Id: <202505200950.54K9orwO085699@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 1e904d6742bb - main - makefs: Remove redundant 'stampst' checks in several backends List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e904d6742bbed99387cc6bcb00dc088192f65df Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=1e904d6742bbed99387cc6bcb00dc088192f65df commit 1e904d6742bbed99387cc6bcb00dc088192f65df Author: Bojan Novković AuthorDate: 2025-04-01 11:12:39 +0000 Commit: Bojan Novković CommitDate: 2025-05-20 09:50:27 +0000 makefs: Remove redundant 'stampst' checks in several backends PR: 285630 Sponsored by: Klara, Inc. Sponsored by: The FreeBSD Foundation Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49601 --- usr.sbin/makefs/ffs.c | 6 ++++-- usr.sbin/makefs/msdos/msdosfs_vnops.c | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c index 34a0f8a67497..4efcd20ad91a 100644 --- a/usr.sbin/makefs/ffs.c +++ b/usr.sbin/makefs/ffs.c @@ -679,8 +679,9 @@ ffs_build_dinode1(struct ufs1_dinode *dinp, dirbuf_t *dbufp, fsnode *cur, { size_t slen; void *membuf; - struct stat *st = stampst.st_ino != 0 ? &stampst : &cur->inode->st; + struct stat *st; + st = &cur->inode->st; memset(dinp, 0, sizeof(*dinp)); dinp->di_mode = cur->inode->st.st_mode; dinp->di_nlink = cur->inode->nlink; @@ -725,8 +726,9 @@ ffs_build_dinode2(struct ufs2_dinode *dinp, dirbuf_t *dbufp, fsnode *cur, { size_t slen; void *membuf; - struct stat *st = stampst.st_ino != 0 ? &stampst : &cur->inode->st; + struct stat *st; + st = &cur->inode->st; memset(dinp, 0, sizeof(*dinp)); dinp->di_mode = cur->inode->st.st_mode; dinp->di_nlink = cur->inode->nlink; diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c index 441af0cae86a..b104f419a86a 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vnops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c @@ -94,8 +94,6 @@ static void unix2fattime(const struct timespec *tsp, uint16_t *ddp, static void msdosfs_times(struct denode *dep, const struct stat *st) { - if (stampst.st_ino) - st = &stampst; #if HAVE_STRUCT_STAT_BIRTHTIME unix2fattime(&st->st_birthtim, &dep->de_CDate, &dep->de_CTime); From nobody Tue May 20 09:50:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1qYq0K8fz5w89s; Tue, 20 May 2025 09:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1qYp4dnDz3DDv; Tue, 20 May 2025 09:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747734654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Egf4MwKMh3r8K0ostdH/WkWQSkoRYDxTaa6USeCbFF0=; b=oqZp8m1CMwPMED1eIoTO3DkI1hnECOrOtCdDYjqEDUNPzsa9y5KnCQp0X62PcR42VhkoSt j2QTOj/eW1F1Zbk8oad69QIClxzlhGiYb5PwX2i60rT7yh5JsE/YQpv43i6H2H1aBPMPiC pqZEUHUfYhZLPWlDzw2sM1WTF/ROOBK/Bjo7EpMwTq+uiBCOl9ETj/bmt6kE9fhYOxNS7d isefHpQnfDxicCI4I1EOa9ryiXr1KX9ofoTTIIJLGcnSYQyTKPCbERFUmVYlqqX5j6nzFO 9EmY6FWhzoKvPfYuGC0U4IgZUuGHcpbnW/11HA6/BZWoRGiVrR8jGlhWYwmf0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747734654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Egf4MwKMh3r8K0ostdH/WkWQSkoRYDxTaa6USeCbFF0=; b=YO+Li3IvpTesM/sEF6ThM7X4FP0FIOQufS3P0FfHat74JM+qoFGzrHZqN0E3dd+jCOdI3u E84lW/zRy1KcRdygffeKBmmojuRCgkNMrvK/wTtXU/74N8BFaqZvWkY231R0FIcrskdLFa LwG7YduP70vGxspmrR/SqN5b3Q297RkLjPSAdGNO4zgHn0NDDWVi1kpTzcyP5NIku0iTF5 PEykNIA8jmzVRid6P6o2XDvWroaqNAwXuEFvyRv1IOWL1venhAkSxnbTWV9zI1Cgup03RA 0RuOjB/ClaMdwWcZNFfnZxdVyI4jZApfGdhdd0SpEgsdbWh5VXM8DE4HM77Zjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747734654; a=rsa-sha256; cv=none; b=JO+pJ1C/1dp2fzgcdJXHlI7UlLWWliQm94OQUfOMMaQnoTUyWAUhF/LNhN3pTrDoOAQuFt m2GVbXhhsWztsq4cLKEYy57J6XmkY+p0WvC9tQnG10IR1Z2DorL0fYlcmBeNI1rtNRMMAa 1bz7cNSVuiEoUaNt+zDQ+bKjpndm0efSK+5U3IozHabAJKPMlkpizvRSLsY0tAu7CpADWy fEwMmzidcggR0SEi7TskuCR6cVErRrUyNG57nvTFeG27CUDrh0Wwj3VllwJkFTE7gy6yyz lOYDWSeO1gzl3P/+++6LwVSp2lcaWdcIUvWNFaQohmCYHlg/GR0knJEnJ3qorw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1qYp49NVzlRb; Tue, 20 May 2025 09:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54K9osXR085751; Tue, 20 May 2025 09:50:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54K9osXp085747; Tue, 20 May 2025 09:50:54 GMT (envelope-from git) Date: Tue, 20 May 2025 09:50:54 GMT Message-Id: <202505200950.54K9osXp085747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 964b0ece795a - main - makefs: Add tests for the -T flag List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 964b0ece795a4e2c811753873bf6883ffb160af8 Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=964b0ece795a4e2c811753873bf6883ffb160af8 commit 964b0ece795a4e2c811753873bf6883ffb160af8 Author: Bojan Novković AuthorDate: 2025-03-25 12:54:17 +0000 Commit: Bojan Novković CommitDate: 2025-05-20 09:50:31 +0000 makefs: Add tests for the -T flag Add tests for the -T flag to each makefs backend. This includes tests for both mtree and directory scan options. PR: 285630 Sponsored by: Klara, Inc. Sponsored by: The FreeBSD Foundation Reviewed by: markj, emaste, kevans, jlduran Differential Revision: https://reviews.freebsd.org/D49492 --- usr.sbin/makefs/tests/Makefile | 2 + usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 78 +++++++++++++++ usr.sbin/makefs/tests/makefs_ffs_tests.sh | 77 +++++++++++++++ usr.sbin/makefs/tests/makefs_msdos_tests.sh | 136 +++++++++++++++++++++++++++ usr.sbin/makefs/tests/makefs_tests_common.sh | 7 ++ usr.sbin/makefs/tests/makefs_zfs_tests.sh | 80 ++++++++++++++++ 6 files changed, 380 insertions(+) diff --git a/usr.sbin/makefs/tests/Makefile b/usr.sbin/makefs/tests/Makefile index 39844827f999..345b728651d6 100644 --- a/usr.sbin/makefs/tests/Makefile +++ b/usr.sbin/makefs/tests/Makefile @@ -3,6 +3,8 @@ ATF_TESTS_SH+= makefs_cd9660_tests TEST_METADATA.makefs_cd9660_tests+= required_files="/sbin/mount_cd9660" ATF_TESTS_SH+= makefs_ffs_tests +ATF_TESTS_SH+= makefs_msdos_tests +TEST_METADATA.makefs_msdos_tests+= required_files="/sbin/mount_msdosfs" .if ${MK_ZFS} != "no" ATF_TESTS_SH+= makefs_zfs_tests # ZFS pools created by makefs always have the same GUID, so OpenZFS diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index 066a9d6ec0e0..e058dfc57b7b 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -374,6 +374,81 @@ o_flag_rockridge_dev_nodes_cleanup() common_cleanup } +atf_test_case T_flag_dir cleanup +T_flag_dir_body() +{ + timestamp=1742574909 + check_cd9660_support + create_test_dirs + + mkdir -p $TEST_INPUTS_DIR/dir1 + atf_check -e empty -o empty -s exit:0 \ + $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_dir_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_F_flag cleanup +T_flag_F_flag_body() +{ + atf_expect_fail "-F doesn't take precedence over -T" + timestamp_F=1742574909 + timestamp_T=1742574910 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type,time" -p $TEST_INPUTS_DIR + change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp_F + atf_check_equal $st_mtime $timestamp_F + atf_check_equal $st_ctime $timestamp_F +} + +T_flag_F_flag_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_mtree cleanup +T_flag_mtree_body() +{ + timestamp=1742574909 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -e empty -o empty -s exit:0 \ + $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_SPEC_FILE + + check_cd9660_support + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_mtree_cleanup() +{ + common_cleanup +} + atf_test_case duplicate_names cleanup duplicate_names_head() { @@ -425,6 +500,9 @@ atf_init_test_cases() atf_add_test_case o_flag_publisher atf_add_test_case o_flag_rockridge atf_add_test_case o_flag_rockridge_dev_nodes + atf_add_test_case T_flag_dir + atf_add_test_case T_flag_F_flag + atf_add_test_case T_flag_mtree atf_add_test_case duplicate_names } diff --git a/usr.sbin/makefs/tests/makefs_ffs_tests.sh b/usr.sbin/makefs/tests/makefs_ffs_tests.sh index 2505b2e24d72..f828f632b06e 100644 --- a/usr.sbin/makefs/tests/makefs_ffs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_ffs_tests.sh @@ -241,6 +241,80 @@ o_flag_version_2_cleanup() common_cleanup } + +atf_test_case T_flag_dir cleanup +T_flag_dir_body() +{ + timestamp=1742574909 + create_test_dirs + + mkdir -p $TEST_INPUTS_DIR/dir1 + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -M 1m -T $timestamp $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_dir_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_F_flag cleanup +T_flag_F_flag_body() +{ + atf_expect_fail "-F doesn't take precedence over -T" + timestamp_F=1742574909 + timestamp_T=1742574910 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type,time" -p $TEST_INPUTS_DIR + change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp_F + atf_check_equal $st_mtime $timestamp_F + atf_check_equal $st_ctime $timestamp_F +} + +T_flag_F_flag_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_mtree cleanup +T_flag_mtree_body() +{ + timestamp=1742574909 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -M 1m -T $timestamp $TEST_IMAGE $TEST_SPEC_FILE + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_mtree_cleanup() +{ + common_cleanup +} + atf_init_test_cases() { @@ -255,4 +329,7 @@ atf_init_test_cases() atf_add_test_case o_flag_version_1 atf_add_test_case o_flag_version_2 + atf_add_test_case T_flag_dir + atf_add_test_case T_flag_F_flag + atf_add_test_case T_flag_mtree } diff --git a/usr.sbin/makefs/tests/makefs_msdos_tests.sh b/usr.sbin/makefs/tests/makefs_msdos_tests.sh new file mode 100644 index 000000000000..b36b43b3abf6 --- /dev/null +++ b/usr.sbin/makefs/tests/makefs_msdos_tests.sh @@ -0,0 +1,136 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 The FreeBSD Foundation +# +# This software was developed by Klara, Inc. +# under sponsorship from the FreeBSD Foundation and the Sovereign Tech Agency. +# +# 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. +# + +MAKEFS="makefs -t msdos" +MOUNT="mount_msdosfs" +. "$(dirname "$0")/makefs_tests_common.sh" + +common_cleanup() +{ + if ! test_md_device=$(cat $TEST_MD_DEVICE_FILE); then + echo "$TEST_MD_DEVICE_FILE could not be opened; has an md(4) device been attached?" + return + fi + + umount -f /dev/$test_md_device || : + mdconfig -d -u $test_md_device || : +} + +check_msdosfs_support() +{ + kldstat -m msdosfs || \ + atf_skip "Requires msdosfs filesystem support to be present in the kernel" +} + +atf_test_case T_flag_dir cleanup +T_flag_dir_body() +{ + atf_expect_fail \ + "The msdos backend saves the wrong timestamp value" \ + "(possibly due to the 2s resolution for FAT timestamp)" + timestamp=1742574909 + check_msdosfs_support + + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -T $timestamp -s 1m $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_dir_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_F_flag cleanup +T_flag_F_flag_body() +{ + atf_expect_fail "-F doesn't take precedence over -T" + timestamp_F=1742574909 + timestamp_T=1742574910 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type,time" -p $TEST_INPUTS_DIR + change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -s 1m $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp_F + atf_check_equal $st_mtime $timestamp_F + atf_check_equal $st_ctime $timestamp_F +} + +T_flag_F_flag_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_mtree cleanup +T_flag_mtree_body() +{ + timestamp=1742574908 # Even value, timestamp precision is 2s. + check_msdosfs_support + + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -T $timestamp -s 1m $TEST_IMAGE $TEST_SPEC_FILE + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + # FAT directory entries don't have an access time, just a date. + #atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_mtree_cleanup() +{ + common_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case T_flag_dir + atf_add_test_case T_flag_F_flag + atf_add_test_case T_flag_mtree +} diff --git a/usr.sbin/makefs/tests/makefs_tests_common.sh b/usr.sbin/makefs/tests/makefs_tests_common.sh index b418cafc90a6..edb79bc811e1 100644 --- a/usr.sbin/makefs/tests/makefs_tests_common.sh +++ b/usr.sbin/makefs/tests/makefs_tests_common.sh @@ -141,3 +141,10 @@ mount_image() $MOUNT ${1} /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR } +change_mtree_timestamp() +{ + filename="$1" + timestamp="$2" + + sed -i "" "s/time=.*$/time=${timestamp}.0/g" "$filename" +} diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index 3d5819439a73..520d1f211ac3 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -858,6 +858,83 @@ perms_cleanup() common_cleanup } +# +# Verify that -T timestamps are honored. +# +atf_test_case T_flag_dir cleanup +T_flag_dir_body() +{ + timestamp=1742574909 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check $MAKEFS -T $timestamp -s 10g -o rootpath=/ -o poolname=$ZFS_POOL_NAME \ + $TEST_IMAGE $TEST_INPUTS_DIR + + import_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_dir_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_F_flag cleanup +T_flag_F_flag_body() +{ + atf_expect_fail "-F doesn't take precedence over -T" + timestamp_F=1742574909 + timestamp_T=1742574910 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type,time" -p $TEST_INPUTS_DIR + change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F + atf_check -e empty -o not-empty -s exit:0 \ + $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -s 10g -o rootpath=/ \ + -o poolname=$ZFS_POOL_NAME $TEST_IMAGE $TEST_INPUTS_DIR + + mount_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp_F + atf_check_equal $st_mtime $timestamp_F + atf_check_equal $st_ctime $timestamp_F +} + +T_flag_F_flag_cleanup() +{ + common_cleanup +} + +atf_test_case T_flag_mtree cleanup +T_flag_mtree_body() +{ + timestamp=1742574909 + create_test_dirs + mkdir -p $TEST_INPUTS_DIR/dir1 + + atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check $MAKEFS -T $timestamp -s 10g -o rootpath=/ -o poolname=$ZFS_POOL_NAME \ + $TEST_IMAGE $TEST_SPEC_FILE + + import_image + eval $(stat -s $TEST_MOUNT_DIR/dir1) + atf_check_equal $st_atime $timestamp + atf_check_equal $st_mtime $timestamp + atf_check_equal $st_ctime $timestamp +} + +T_flag_mtree_cleanup() +{ + common_cleanup +} + atf_init_test_cases() { atf_add_test_case autoexpand @@ -883,6 +960,9 @@ atf_init_test_cases() atf_add_test_case root_props atf_add_test_case used_space_props atf_add_test_case perms + atf_add_test_case T_flag_dir + atf_add_test_case T_flag_F_flag + atf_add_test_case T_flag_mtree # XXXMJ tests: # - test with different ashifts (at least, 9 and 12), different image sizes From nobody Tue May 20 10:57:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1s2J4qpjz5wD2c for ; Tue, 20 May 2025 10:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1s2J3sd0z3KZ0; Tue, 20 May 2025 10:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747738632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ihn6aOL41/S7fvvUl7wQdttuLo7StTWdeUMZhjq5wCc=; b=oR/zLc6LRI3a5QUTyoo9mZPMwJWi1MD8xSLNgfxJzsZdKbWRqVgTjzUEE3AQRyl9WJap3s /s7N0+CxqLw1OFKaDIghANH+9eoXN+gYnmPlAolzFaz0mjIlJP/5hVEOI3gkHVmkncRwP1 bydmYDV3KSPDkfAZlWikfyjvpgwEPd4aGVMf3PZd2ogb34HsZ+ArLwxA6xA6GgJMDLmPhS gQLrVJyfhzVYmjl6b2CIHeRxmz+36rj0WDi0YoHYzNOkyCJKtHF9gyhLvBArjJhBzZx5wP wpFjrRryxsNxzNV+OFBa1bmq+6i9w93QcKTAD3RAPUoLMd5w/iFt6kkFQoo1WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747738632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ihn6aOL41/S7fvvUl7wQdttuLo7StTWdeUMZhjq5wCc=; b=VfbblA9KAvVtdBrBaCtiw7ZBSAWAgBTMu5+0yIM7ep97dfzYWFGgzoWJ9mcG7YIgPoIrs9 TIK3eYMbOSsgTm+0gfSfV8KyKHq530g27AIF7ImFTCcoGRcRTwNQBW7U+SNq6Oiax9oJR0 +xlb59mQTql4+RJ+tEOfNJbsncfVbGFLnk0nMEYLdrrQfbxb42sr4TEsZIcjNSJeowavGy o1jweRFGZFUWh5NaYum0//kgfWI9zijxPyrMjcZBkKsmCwX1oSD9j1VY5ihIGc2RZ3B6vi ZqUVbxcd9ad/C7Yu1NKy6ZQ9xxAdFMYiE3GcZaUitCna9cb9i0jq2/welbK1iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747738632; a=rsa-sha256; cv=none; b=U0hOTEpCyzJM6yB8dTblTzBI8m5QhNVzpkq9NpwgAszbmogRAFkzWsuplQ/pRvXgba0H6x IPrPgH8ThD2DnyYphPMSDPUbC9R2Wkp8SHKdbsc/eSA59S+s9+PbiqdNdCXljOttsFKv0S pIbb7efBtJjrF6fxtsn+yR2m0coPEoxX5Y64mQynzsM8VKj5h9P78uZ/nHfuL5HxyzFhEe 2vsYXRG3XNkiKIWicfk1GglJjhcrJCWExgdfqAHEr9EHH88Wx8Nac63Zu6LOa0IWc4fi0E LztQAgW7v8lako1+zLA6kn9HCrpA1r7HdCEElkmuZcxExSeUlfWefUOahR2iBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1s2J39zzzmk0; Tue, 20 May 2025 10:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KAvCZr005677; Tue, 20 May 2025 10:57:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KAvCgB005676; Tue, 20 May 2025 10:57:12 GMT (envelope-from git) Date: Tue, 20 May 2025 10:57:12 GMT Message-Id: <202505201057.54KAvCgB005676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: eff4ff4791c8..b0ea71a8555c - vendor/libarchive - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/libarchive X-Git-Reftype: branch X-Git-Commit: b0ea71a8555c0b726319dc2a618cc6d17a4fa4f1 X-Git-Oldrev: eff4ff4791c83686dfc7251c9ab3fe8ab9e60f0e X-Git-Newrev: b0ea71a8555c0b726319dc2a618cc6d17a4fa4f1 Auto-Submitted: auto-generated The branch vendor/libarchive has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=eff4ff4791c8..b0ea71a8555c b0ea71a8555c Update vendor/libarchive to 3.8.0 From nobody Tue May 20 14:57:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1yMF4H32z5wW99; Tue, 20 May 2025 14:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1yMF3kf3z3kfl; Tue, 20 May 2025 14:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747753033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZ6fVzxGFtvF1KSAQbzB/kTLDwKisNMl25lxWW7xsmc=; b=FBiHm9bmVqdMVZxCFdKQtiHCphoguKm0DSEdjRmXITlPaPtsySgvXGg37lpMQ5QohWIBJk pK6Y5jX7H6p6kimRMMfBNzZYr/flrlMyojSA7kr7WpJxiStkx3HzvsuycHEYUrxCYHoKCy s5rgw66VUw671cLtq+yVJtLOoyjjum0Qc1hSxHwCuZQrdMKUYZQnIL8y8fQP/+fLbotBve x4dRjfdEdUIKHuL0OpghOpQbCOkTFai/1IjFYtrIXVrn/2ZEJIAyJtHVJgUf4GBnO6trkG ZQKcK2S+SJlR3dnBzfI/fVuTkYOGzvi9z4UjkX9hHw17bjs6VSsgWs/QV2cOOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747753033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZ6fVzxGFtvF1KSAQbzB/kTLDwKisNMl25lxWW7xsmc=; b=ok5IuOTMNYrYp/yJA4Va+PutgmhKU+DfwudyYNgCEZ+Afb+cGCQaKmX8kXPQ3h2zddeJV0 TuNiTAgRr76q7CHObvbftkOxx0MNsa4DD2RQVs5KK5iJJaAzDH4pCtU/croaUGzMRNSiiK ptUzbLHZ/I6JnC6XJXb+qLiXFUmB4DrjnJCIlpyYRcxyC6gYFI4LrN4PRvP9CvNB4wn1ux TCCoTRHE0yu7YCaAOLfciTPWqkTHUxYePJJrkw4O7YiexagscQbjtVYAi/IlxwYHUA5sP0 iecHQjAdiS9MaYl2v+7WANdweWJWsSwziDxSVyLgO1EoMETfvNaCGVup80EKeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747753033; a=rsa-sha256; cv=none; b=KAxba/NzE7qgTXHzSvd2010OJXb4ssDigJho1GoSFC/CtvnSi1FmQkPpTog2bxL/cYhMKU PF5Wo1zFNcUWwt5tYanwTgZkEi0aOBsjBzwOYye7wsMXs1OOizvDRlx4DSSDDug9xc2QBe YIC3l+EBlq6qEhTr39r567un4/uuy701CSRD6yLIPHDOeOFVrg/aGdIY9BTqH2/itJJtvl xeHbMd/K0gWjqLf7PZTzupLULYsfGdm/PIr4d0TKV7HnqO1wj6Z2dMH6Hs9/t8Wpr4Hf4o ZIlPNzgbyU1nhRx+rx6HtnvJEWrLO5WGE7A8E6Pq2ayBWAon5UPh9U2vOMbb5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1yMF3K0Kzv7t; Tue, 20 May 2025 14:57:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KEvDMn053954; Tue, 20 May 2025 14:57:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KEvD1r053951; Tue, 20 May 2025 14:57:13 GMT (envelope-from git) Date: Tue, 20 May 2025 14:57:13 GMT Message-Id: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d2fd5b99c95329085d0700a4dd38507a054a50d Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=0d2fd5b99c95329085d0700a4dd38507a054a50d commit 0d2fd5b99c95329085d0700a4dd38507a054a50d Author: Andriy Gapon AuthorDate: 2024-11-10 11:15:30 +0000 Commit: Andriy Gapon CommitDate: 2025-05-20 14:55:18 +0000 ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush LSR_TEMT bit is set if both transmit hold and shift registers are empty, but the flush command flushes only the hold register. While here, update the diagnostic message to report which registers could not be flushed. MFC after: 2 weeks --- sys/dev/uart/uart_dev_ns8250.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index 1df39b499539..0f19ede6d9df 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -265,12 +265,12 @@ ns8250_flush(struct uart_bas *bas, int what) * https://github.com/rust-vmm/vm-superio/issues/83 */ lsr = uart_getreg(bas, REG_LSR); - if (((lsr & LSR_TEMT) == 0) && (what & UART_FLUSH_TRANSMITTER)) + if (((lsr & LSR_THRE) == 0) && (what & UART_FLUSH_TRANSMITTER)) drain |= UART_DRAIN_TRANSMITTER; if ((lsr & LSR_RXRDY) && (what & UART_FLUSH_RECEIVER)) drain |= UART_DRAIN_RECEIVER; if (drain != 0) { - printf("uart: ns8250: UART FCR is broken\n"); + printf("uart: ns8250: UART FCR is broken (%#x)\n", drain); ns8250_drain(bas, drain); } } From nobody Tue May 20 15:47:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b1zSh4XW8z5wYnL; Tue, 20 May 2025 15:47:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b1zSh3dNYz3q2n; Tue, 20 May 2025 15:47:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747756020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KKe3pFOBlUfTL9IuMGPLfW9oZE0bHlnzfRGzKDqIrDU=; b=UDSBHjgjVswe5B2mkQBGcPTtR8MD9VesINgbPoHS2P+REkyyYhM1prtaC+okURxDmMhVo4 BX2UEYyaP9tq/ylPNixWmtKb3zFOj5PXMiTxXgb4EXliuyTVrjfcY/XLqHu1D/qTIapojo UGrv+G+AYDF2r2DyNKOIleVmslnZULkoHroJaEkJiSIhIVzZE7bzDbDbI/mj8ulFFRTs35 XqOSltN7IgRrA14jkIWyIuFlpqd9h9rUkplWlkGZPvpe2fIHq59FfcdQCpsNTX8gv6M+9j hVQ/RWqjhg9ECv8hTw3gxjLUUFoztiL95gUoU6HvEF3olROGuQGtO8/tt6a34g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747756020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KKe3pFOBlUfTL9IuMGPLfW9oZE0bHlnzfRGzKDqIrDU=; b=i/Px4UxUxm8o2VYnVLAq0OUOfO9ui1SbIuHx4IP94kwfu+Eayzbkb6SGyJDL9bhRNDjCae brGnyV1ujsnOmr/Zi9Oxi+KE5yXIzkzSWgQwxO30EuA0LtwYDCGjcAUi8U72JBNrNZYxWE O7eZ+7faBFegyTjUi6jGB7Kv0AcA9clpfX79CO7LPQKIs2n3E/jaKAuFeJ7G4bPd8M/XcL qmJbo9zA7L7Tk8OvdlN+Y/yra07DJB40Osf41zvSb6Wtmuye/zCUGleVwtAbkNIJ4/Gyrm ldjILzXrI7kS4m+FRNwgKCrhvfnoMMIGBWfyJCqnTDjQ0gFkuWZmsAkrLxUlyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747756020; a=rsa-sha256; cv=none; b=ZxjkAbUVwmij8tHfvDjxu6suPXycl8HTGuMTws8nI8dkSld7CtqSQEilCK9eNCosnvNOi+ ioWupsLMFovyzVBQ0m9A0Bp+blBc1HEB7WLw2ByyOCA4KqXzSciYSgDO0FzztYyibrrxAI jFAhCqXX/BZl3ux31uQ6KEKabprMrh0SS0bA+Pb3SqCZTkN8wq6z3f5YcT59fvcQ9lNYW6 BhbiJsxvdhMBUtGpXGhK30glOKj5O4aarOuHy0lhAryyoz6+gp6YHUncvpa/ZIzCrWq0Mc hNht1XmSuvH6PLFAuyZ9sEH7A5cEs2yNwJFVPUCuo5GD+a0mDygKi7gEB+YuqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b1zSh2WbtzwKD; Tue, 20 May 2025 15:47:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KFl0Z1047416; Tue, 20 May 2025 15:47:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KFl01Q047413; Tue, 20 May 2025 15:47:00 GMT (envelope-from git) Date: Tue, 20 May 2025 15:47:00 GMT Message-Id: <202505201547.54KFl01Q047413@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 0693c3f7cb3d - main - ifnet: Integrate if_unroute() into if_down() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0693c3f7cb3d9e5389863a0c131ddef799c77091 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0693c3f7cb3d9e5389863a0c131ddef799c77091 commit 0693c3f7cb3d9e5389863a0c131ddef799c77091 Author: Zhenlei Huang AuthorDate: 2025-05-20 15:45:20 +0000 Commit: Zhenlei Huang CommitDate: 2025-05-20 15:45:20 +0000 ifnet: Integrate if_unroute() into if_down() if_unroute() is static since 2004 and is not used anywhere except for if_down(). This also makes it easier to grep by the pattern `if_flags &= ~IFF_UP`. No functional change intended. Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49356 --- sys/net/if.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 974ff3af4f61..853fc3c78fce 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -278,7 +278,6 @@ static void if_input_default(struct ifnet *, struct mbuf *); static int if_requestencap_default(struct ifnet *, struct if_encap_req *); static int if_setflag(struct ifnet *, int, int, int *, int); static int if_transmit_default(struct ifnet *ifp, struct mbuf *m); -static void if_unroute(struct ifnet *, int flag, int fam); static int if_delmulti_locked(struct ifnet *, struct ifmultiaddr *, int); static void do_link_state_change(void *, int); static int if_getgroup(struct ifgroupreq *, struct ifnet *); @@ -2097,25 +2096,6 @@ link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, u_char iftype) return (sdl); } -/* - * Mark an interface down and notify protocols of - * the transition. - */ -static void -if_unroute(struct ifnet *ifp, int flag, int fam) -{ - - KASSERT(flag == IFF_UP, ("if_unroute: flag != IFF_UP")); - - ifp->if_flags &= ~flag; - getmicrotime(&ifp->if_lastchange); - ifp->if_qflush(ifp); - - if (ifp->if_carp) - (*carp_linkstate_p)(ifp); - rt_ifmsg(ifp, IFF_UP); -} - void (*vlan_link_state_p)(struct ifnet *); /* XXX: private from if_vlan */ void (*vlan_trunk_cap_p)(struct ifnet *); /* XXX: private from if_vlan */ struct ifnet *(*vlan_trunkdev_p)(struct ifnet *); @@ -2190,7 +2170,14 @@ if_down(struct ifnet *ifp) { EVENTHANDLER_INVOKE(ifnet_event, ifp, IFNET_EVENT_DOWN); - if_unroute(ifp, IFF_UP, AF_UNSPEC); + + ifp->if_flags &= ~IFF_UP; + getmicrotime(&ifp->if_lastchange); + ifp->if_qflush(ifp); + + if (ifp->if_carp) + (*carp_linkstate_p)(ifp); + rt_ifmsg(ifp, IFF_UP); } /* From nobody Tue May 20 16:12:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b201x1KQGz5wbNM; Tue, 20 May 2025 16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b201x0hXcz3sVR; Tue, 20 May 2025 16: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=1747757541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLdLxWOghTzi3Cwt9xeeeC933fhI8IhaIOBgV1rZd7o=; b=lyihud5UaH7WPkt4kllZGA6PQRSwpKGn84mJeV1ucofMi7wzmYKqajhWrHzkZWcpdzD5PO MT2L7H/E7w/4SQuLWrR2yWU/Kc9HuXQ36wFTVhCIE0N3lyQYP/22IJ5vl5+5yhtr84DOxk 9QnZEEI69MnyRkwwOg3EcWrU3wpMJN0YcoZhAqeAY+Lo+rh76K7wSYF5x8FyylxaVNjIKQ /Tu2k7yT37VhCTiM/md2tWS8e1SRS9ViETt0+3w8AarhHsAk1+nF9QuqzZdhMKkTB7EKJv 3LZaZkkhqEtn4EuzCC+TgOuqrGr1rJ6QrFxn54mD2rCQAdj8QKMPjlD1mPq/BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747757541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLdLxWOghTzi3Cwt9xeeeC933fhI8IhaIOBgV1rZd7o=; b=K9wcvWdxDhbQZ19W3X7AMoKCUfEd15l6ESXXAIHqzuYr02XOEg8yWswEl/MpbQ5ZxAmf7a cKxFdYWErNitLEXa1VLfwLE3UQV/67wxZYVYi4/hpVL6m0rZBc7Qb27WgXtmD1aY51V5XQ cE60bQvDE4R4tszlrg5S+bh0xm7m3fGytQSZDfmE/Oj0ayorxBtTMuw4W3qO+vy0LVfxDi rcW/sXnrW6Z+Ap/onxgSyvLD2e24b+q/+4+SlGCwfn81qRu5b1FxZk3Km01NJwsqgJsEMM JWIOHPvk6AFsjd/Be41W0TjUWBHxWiy6gDRcj2/+VmZ9pwgmgn1tGkSoxKYyjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747757541; a=rsa-sha256; cv=none; b=NtYv99WXOrmI1YB72yD1rRy9RPSUi7J+GWdxAcK1i4VGNSvFpKAys4K/oodLlYj4oN2JqS +HUH1l87JwKR2y5LNabzao867VeIXuwRLuHPlcPVJwyXH6foDjdjnkUK0my8kiyJrJhp4H HsvF0pN36/qci/QLxKDpses08kejJa9A1VRmF7OvXL2QFIZhr8ua6WVC0zLuTiZZi3Sfhe UTBemelMhIF1dNqStixQznCjFzc7/1fpAsAE9Auplng1HCFYV9ijkju6VecgMeNwIAcZd1 zv9TsqHCzDRV6JRf7L56tcvFoLDh+OxzNvSEiNJrfCIyIhSBgc+q+M0wDjwd8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b201x09Cjzwdn; Tue, 20 May 2025 16:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KGCKr1003841; Tue, 20 May 2025 16:12:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KGCKGu003838; Tue, 20 May 2025 16:12:20 GMT (envelope-from git) Date: Tue, 20 May 2025 16:12:20 GMT Message-Id: <202505201612.54KGCKGu003838@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 41cf74fe8ce5 - main - loader - guard against empty rootdev List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41cf74fe8ce5c6f8f10aa074e9405043a242a2b1 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=41cf74fe8ce5c6f8f10aa074e9405043a242a2b1 commit 41cf74fe8ce5c6f8f10aa074e9405043a242a2b1 Author: Simon J. Gerraty AuthorDate: 2025-05-20 16:10:50 +0000 Commit: Simon J. Gerraty CommitDate: 2025-05-20 16:10:50 +0000 loader - guard against empty rootdev At least one instance of u-boot pretending to be EFI is passing empty rootdev to loader which does not end well. A simple precaution is harmless. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D50334 --- stand/common/metadata.c | 2 +- stand/efi/loader/main.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/common/metadata.c b/stand/common/metadata.c index 22df6f175791..715354aedd04 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -111,7 +111,7 @@ md_load_dual(char *args, vm_offset_t *modulep, vm_offset_t *dtb, int kern64) * tested/set by MI code before launching the kernel. */ rootdevname = getenv("rootdev"); - if (rootdevname == NULL) + if (rootdevname == NULL || *rootdevname == '\0') rootdevname = getenv("currdev"); /* Try reading the /etc/fstab file to select the root device */ getrootmount(rootdevname); diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 2384fd08b964..c9a842afb06d 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -513,7 +513,7 @@ find_currdev(bool do_bootmgr, bool is_last, * it's wrong. */ rootdev = getenv("rootdev"); - if (rootdev != NULL) { + if (rootdev != NULL && *rootdev != '\0') { printf(" Setting currdev to configured rootdev %s\n", rootdev); set_currdev(rootdev); From nobody Tue May 20 16:40:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b20dx6V0gz5wd5Q; Tue, 20 May 2025 16:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b20dx5gBlz3wyK; Tue, 20 May 2025 16:40:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747759205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xFxnkXrCkj4osYzFT4m/W/11/PEwRncSovImQSLAWXE=; b=hJU69iSadwEn5bqRxXUwROY/0JvB+ZJYLFD87tEQNaKzxFArGb7rgalV+J7+4aPU3u/B2n OlyiJk3E5TKIJQrslObolYvnadAlksGg6svCweYRi0pEKKr4gwXQ//B8J9XVwZ8p0hJEvZ 2yiJBjp6PyKhPCMX+jjy7K7PbrIrG8fN9OF0Q67IDxWFsAYwMVOn3VWL8RQE+STizJwPd/ nBsxkDEMTVraWUwybrkma/dDj0C6mhUH7Xl2DA26IeNaMGHX4NGPILARTvp2YsPhhmSFRF atMVLoMhhSv1i7oYuos4KHIvUgT0rWnLijD7VDMz1IgHk4UxLv7z8CPIKpOI/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747759205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xFxnkXrCkj4osYzFT4m/W/11/PEwRncSovImQSLAWXE=; b=N28usIpqQMs8lM0XRe9z6dBFnwvvtqDnZAdNTHZvoM8D583lCkFUawhEozKMMEF4oHIdHJ A+N8hRc2V2evRA/tjVDzeLSlgV/emcDiMU5q9UwAf/MJH+NVNSruGQzkpluMzaI9S2N/Md VLhPZzQLstaugFcSaYWHCCc3zAVIYDPF/M2gNH4Sjce2PUS7xQS6B4miuZG+uoluisdOnl 8CK3DzkBc8Seg/RlJbLtOHDIi9KeGSj/jj0Ti9fkIjoXUWij+1d3PSGXSjx1GQjS8LzGnX b2fWJh0oMlsQBKYdYpW6xnS3ddK6C3pswQ8E9k7jMKS7OYOiurFKoyYg1iSCRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747759205; a=rsa-sha256; cv=none; b=jcb92DELIAVVDocB4Kx+Zy3vvbGHe6AYafdMTxk5HIdnIo/cytgXMfl3Ogs8Y8O3ceo40J bFGntufec4MXvCx5QDyjqi2bk7JVLwWj8Kho5fHNoE66imCWnGOOpV22dj6GXzQTMlXEC2 l6Wfz5Kgd9bCITJPEqcFAV0ZEOiukabScM0lZBvzyCrSprgtp6ZYNZqM0tBZgHIa0DCCwj 2m+tuMFHBjld75UYZbtDiq8uVLUPiMt5QUYOB2oyFq2xGkR1TFFMWq8e7/a8T9IOnSEboq eWADlsjLjQ+aWkXX5HnOzndUeR8xOvnM2J3IIs1QWbbnlks32uq4Ms2aFY277w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b20dx57cPzxJn; Tue, 20 May 2025 16:40:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KGe58C045649; Tue, 20 May 2025 16:40:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KGe5xB045644; Tue, 20 May 2025 16:40:05 GMT (envelope-from git) Date: Tue, 20 May 2025 16:40:05 GMT Message-Id: <202505201640.54KGe5xB045644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 084046ad8f85 - main - usbhid.4: Add cross-references to "other USB HID drivers" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 084046ad8f859d270a3cf900a82c5254153afcac Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=084046ad8f859d270a3cf900a82c5254153afcac commit 084046ad8f859d270a3cf900a82c5254153afcac Author: Ed Maste AuthorDate: 2025-05-20 15:45:50 +0000 Commit: Ed Maste CommitDate: 2025-05-20 16:38:41 +0000 usbhid.4: Add cross-references to "other USB HID drivers" Reviewed by: ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50437 --- share/man/man4/usbhid.4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/man/man4/usbhid.4 b/share/man/man4/usbhid.4 index c47afaff3534..5109bbe72de6 100644 --- a/share/man/man4/usbhid.4 +++ b/share/man/man4/usbhid.4 @@ -55,7 +55,11 @@ tunables: .It Va hw.usb.usbhid.enable Enable .Nm -and make its priority greater than other USB HID drivers have. +and make its priority greater than other USB HID drivers, such as +.Xr ukbd 4 , +.Xr ums 4 , +and +.Xr uhid 4 . Default is 0. .El .Bl -tag -width indent From nobody Tue May 20 18:28:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b233h35rxz5wmBS; Tue, 20 May 2025 18:29:04 +0000 (UTC) (envelope-from mmel@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b233h2S8tz46Rj; Tue, 20 May 2025 18:29:04 +0000 (UTC) (envelope-from mmel@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747765744; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KDnatz8kIA0M+FRimjh1ZIHjMl4k95+3yqtrX1mXNxQ=; b=qTSYiiUBk2xZPDHxKpdpuEJu52q3sELzcQBDpJa2UeA7IEp1iu229+BO5APHxAwqnoGgBR +NfISlatcj2dD1bFb+bB4/Kn+ouFvkR+Z3VbNH3uHwyEmzYIMa1rfd789pa4n/BFqzQc2/ +b+UujkxDaECCkuRK4OkocT9EdoAt0a9qCyCpAqQHng8h+sE1jhKdvZmQQXoqzt1d4H60X pWCbz/89frphEwukbZekQICvHiLrcDudfrPkqAackx3B+A+hYjfSF9pfVFYAwT203eSAme Ezsm5sXjRUR9zMSlAI4vWYzAswQFuoICtoT9Ac3hgjoq9m4pqcC4EF8L66qIGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747765744; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KDnatz8kIA0M+FRimjh1ZIHjMl4k95+3yqtrX1mXNxQ=; b=tYS+94/e6JKCwOWdTXAJ/Hd/BhqPlw4Ltit4vMtaK3ZAPbhDBHKyE93/ll2Dt7QCEhY2aJ g9C+y71tRaNba9g5vvwKI1YCaLZ/oO1o4oT7SV20EE8kCVOMi/YUCcjcRi91gYKJoZW8be 7EUDR4DgtoUtsfWX3chxkO5rjhqT9kbTJmwfwkukbd8BT1ZZS7NFjrQnH0hELYPNOE9R8j ccdhO+50RravfnHrp8fc34LjXD3LsCv8/NN4CIC9H19YWywSjE0HIUI2gjoCybxKJLIvAb P/qOOa6r/3fhcyTxMi8Z2fiqoTxkmctdJUsuAVpJSY0bfzZX7TEelqQEiLmCog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747765744; a=rsa-sha256; cv=none; b=wX7v/jg1xlqD7S5D7E2HkeKDFnsoDhzKFUvzFglIFYYwGtIGCMje3aXFCbsb7rDDBKudFO ALZfZXgkofXICfWWwqYBmCDsDjPbsJyzPNY1kVCGDp4CUZjDXISJ+2e7i+qQ0BvPYgD+Cl mxkuij28dvNViCOAQm78+Y1BXqvFCfxJavACuxIcSKyBBOS67wCBLDnQGTRBWIHnWdMgbD JZGBkE5ncx3jFUH1bWflhGcgw9n/zl0hsNB75xnJVsPm8Wyl3nsqzb3NlD18T5DBvaZiXt BtK0E+SzIcra13ZfXbQK5tufi9luf+Lhw0XPIdj3hIiXl2mPmgCl/ztcp4g7/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2001:67c:14a0:5fe0:2485:80fb:e080:1b9a] (unknown [IPv6:2001:67c:14a0:5fe0:2485:80fb:e080:1b9a]) (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: mmel/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b233g4PX1z18Q2; Tue, 20 May 2025 18:29:03 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Message-ID: <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> Date: Tue, 20 May 2025 20:28:57 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Reply-To: mmel@FreeBSD.org Subject: Re: git: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush To: Andriy Gapon , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> Content-Language: cs, en-US From: Michal Meloun In-Reply-To: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 20.05.2025 16:57, Andriy Gapon wrote: > The branch main has been updated by avg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=0d2fd5b99c95329085d0700a4dd38507a054a50d > > commit 0d2fd5b99c95329085d0700a4dd38507a054a50d > Author: Andriy Gapon > AuthorDate: 2024-11-10 11:15:30 +0000 > Commit: Andriy Gapon > CommitDate: 2025-05-20 14:55:18 +0000 > > ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush > > LSR_TEMT bit is set if both transmit hold and shift registers are > empty, but the flush command flushes only the hold register. I don't think that's true. Imho, ns8250_flush() is used also before changing baud rate, so we need to ensure that all bits are flushed, including the transmit register. Michal > > While here, update the diagnostic message to report which registers > could not be flushed. > > MFC after: 2 weeks > --- > sys/dev/uart/uart_dev_ns8250.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c > index 1df39b499539..0f19ede6d9df 100644 > --- a/sys/dev/uart/uart_dev_ns8250.c > +++ b/sys/dev/uart/uart_dev_ns8250.c > @@ -265,12 +265,12 @@ ns8250_flush(struct uart_bas *bas, int what) > * https://github.com/rust-vmm/vm-superio/issues/83 > */ > lsr = uart_getreg(bas, REG_LSR); > - if (((lsr & LSR_TEMT) == 0) && (what & UART_FLUSH_TRANSMITTER)) > + if (((lsr & LSR_THRE) == 0) && (what & UART_FLUSH_TRANSMITTER)) > drain |= UART_DRAIN_TRANSMITTER; > if ((lsr & LSR_RXRDY) && (what & UART_FLUSH_RECEIVER)) > drain |= UART_DRAIN_RECEIVER; > if (drain != 0) { > - printf("uart: ns8250: UART FCR is broken\n"); > + printf("uart: ns8250: UART FCR is broken (%#x)\n", drain); > ns8250_drain(bas, drain); > } > } From nobody Tue May 20 20:25:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b25fS3BN3z5vvhH; Tue, 20 May 2025 20:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b25fS2tgcz3KgY; Tue, 20 May 2025 20:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747772752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dhU0C8bUGAvt+jRmpApJj8PnUaOxYVfyixu9/DTl3NQ=; b=IwiMn4HCz2DXj/y1ja67k9RgJg8ofUyJ0wEJRMtRC6vZ6g9qNiwJHsZ4ZQ5IGrnPrce1zL JXYcDzz9XpcpO9rkx9hrqpih9pA/C4FJWH9o1gS7RedXHmqr16ui1aDuO5TtniKKCA+oIU 4vb20K9V5bO8tH+jPsvN47IgfJMrVAWVDpkB14DCBfdK5+pJHg80Pzezxl0HS6rtJtU1hy 8rR6T/P0Qdrxm8epdiMQXOlBmxIR0K1zVcpFlTYK/mRnAi+xusp6gWhxSRwmfKUiwt7otI ZYqN3Uojjhcj9lSJjfXMVSX3bdquy7JXla1D2Fj6ZqfbTs1K47VMnEKWYBeKGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747772752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dhU0C8bUGAvt+jRmpApJj8PnUaOxYVfyixu9/DTl3NQ=; b=U67o+wEnj02sj1bYyOyVFujppPGgMcHHXkq1cQxUc288evunM0RZN/okkMTKB6YnnLBcNG A1VooEEEdBpUACG/QFgOr2UawA1RGkXs35XT/dUwAYXjMbowTSMVPrWmciyD436IFAzuAS 1kndt6+sZ0Csl+52fY4xIH+r4Pz2h1ozK4+RtqnUf3l6I6Gc9lM2nkomgnQYooXOezFku0 V+h14E+ApfySfyTzVyUQl1DHcZLNjGcRdQltkeLF8JRai3VIMjguaUZkteHDa5cqDEnkjC A8elmCLrBzLKzR8uCBFtCKgX50tkbJ6eq/cGjlQsmI0Q38QAqgKoRXIsRXA+TQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747772752; a=rsa-sha256; cv=none; b=LXhfp25OhI01cGPFtxfA5TP6/YBkmCaG2iaKMBfkpQtldFhBJxYK052Jq1B0w4A2Q+hVDB ue8J6PAfHKC10+tl3CpWeG4vjdTQgOYwRwwN2qiYE5eQbzo6zl9cgk6UtMAL7Zcj13NicJ mNsgRZH8Iu4din8h9nJV3SDiAl52ahpmZrJpL3sJIVMvm0nz14F3WbcnAKs8G0jftWA1uX 0buDnVtch02dl0poVDRVJ6kUNVC1NWVLYCKQueclURuMUbYiyKn9NUN5FxBlmp382z549p dJII5pmnXEQb+ebQ1XXkf2UAR5D+IRTxs0o4jgGvDh0nrTpkpuSJbAuEcGF1sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b25fS2Kc9z14M0; Tue, 20 May 2025 20:25:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KKPqbk073336; Tue, 20 May 2025 20:25:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KKPqfp073333; Tue, 20 May 2025 20:25:52 GMT (envelope-from git) Date: Tue, 20 May 2025 20:25:52 GMT Message-Id: <202505202025.54KKPqfp073333@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 5319cb21610a - main - file: Qualify pointers to capsicum rights as const List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5319cb21610ad947c56fd0cd4f18ef5b58bc8db7 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5319cb21610ad947c56fd0cd4f18ef5b58bc8db7 commit 5319cb21610ad947c56fd0cd4f18ef5b58bc8db7 Author: Mark Johnston AuthorDate: 2025-05-20 20:19:30 +0000 Commit: Mark Johnston CommitDate: 2025-05-20 20:19:30 +0000 file: Qualify pointers to capsicum rights as const File descriptor lookup routines typically take a set of capsicum rights as input to the lookup, so that the fd's rights can be atomically checked. This set should be qualified with const. No functional change intended. Reviewed by: olce, oshogbo, brooks, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50419 --- sys/kern/kern_descrip.c | 52 +++++++++++++++++++++++++++--------------------- sys/kern/sys_procdesc.c | 5 +++-- sys/kern/uipc_mqueue.c | 5 +++-- sys/kern/uipc_sem.c | 6 +++--- sys/kern/uipc_syscalls.c | 7 ++++--- sys/kern/vfs_syscalls.c | 5 +++-- sys/sys/file.h | 21 +++++++++---------- sys/sys/filedesc.h | 19 +++++++++--------- sys/sys/namei.h | 4 ++-- sys/sys/procdesc.h | 6 ++++-- sys/sys/socketvar.h | 4 ++-- 11 files changed, 74 insertions(+), 60 deletions(-) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index cbffe592554d..e70f2d248365 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -109,7 +109,8 @@ static void fdgrowtable_exp(struct filedesc *fdp, int nfd); static void fdunused(struct filedesc *fdp, int fd); static void fdused(struct filedesc *fdp, int fd); static int fget_unlocked_seq(struct thread *td, int fd, - cap_rights_t *needrightsp, struct file **fpp, seqc_t *seqp); + const cap_rights_t *needrightsp, struct file **fpp, + seqc_t *seqp); static int getmaxfd(struct thread *td); static u_long *filecaps_copy_prep(const struct filecaps *src); static void filecaps_copy_finish(const struct filecaps *src, @@ -2877,7 +2878,7 @@ finit_vnode(struct file *fp, u_int flag, void *data, const struct fileops *ops) } int -fget_cap_noref(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, +fget_cap_noref(struct filedesc *fdp, int fd, const cap_rights_t *needrightsp, struct file **fpp, struct filecaps *havecapsp) { struct filedescent *fde; @@ -2910,7 +2911,7 @@ out: #ifdef CAPABILITIES int -fget_cap(struct thread *td, int fd, cap_rights_t *needrightsp, +fget_cap(struct thread *td, int fd, const cap_rights_t *needrightsp, struct file **fpp, struct filecaps *havecapsp) { struct filedesc *fdp = td->td_proc->p_fd; @@ -2950,7 +2951,7 @@ get_locked: } #else int -fget_cap(struct thread *td, int fd, cap_rights_t *needrightsp, +fget_cap(struct thread *td, int fd, const cap_rights_t *needrightsp, struct file **fpp, struct filecaps *havecapsp) { int error; @@ -3221,7 +3222,7 @@ out_free: */ #ifdef CAPABILITIES static int -fget_unlocked_seq(struct thread *td, int fd, cap_rights_t *needrightsp, +fget_unlocked_seq(struct thread *td, int fd, const cap_rights_t *needrightsp, struct file **fpp, seqc_t *seqp) { struct filedesc *fdp; @@ -3277,7 +3278,7 @@ fget_unlocked_seq(struct thread *td, int fd, cap_rights_t *needrightsp, } #else static int -fget_unlocked_seq(struct thread *td, int fd, cap_rights_t *needrightsp, +fget_unlocked_seq(struct thread *td, int fd, const cap_rights_t *needrightsp, struct file **fpp, seqc_t *seqp __unused) { struct filedesc *fdp; @@ -3320,7 +3321,7 @@ fget_unlocked_seq(struct thread *td, int fd, cap_rights_t *needrightsp, * racing with itself. */ int -fget_unlocked(struct thread *td, int fd, cap_rights_t *needrightsp, +fget_unlocked(struct thread *td, int fd, const cap_rights_t *needrightsp, struct file **fpp) { struct filedesc *fdp; @@ -3389,7 +3390,7 @@ out_fallback: */ #ifdef CAPABILITIES int -fget_only_user(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, +fget_only_user(struct filedesc *fdp, int fd, const cap_rights_t *needrightsp, struct file **fpp) { const struct filedescent *fde; @@ -3419,7 +3420,7 @@ fget_only_user(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, } #else int -fget_only_user(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, +fget_only_user(struct filedesc *fdp, int fd, const cap_rights_t *needrightsp, struct file **fpp) { struct file *fp; @@ -3455,7 +3456,7 @@ fget_only_user(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, */ static __inline int _fget(struct thread *td, int fd, struct file **fpp, int flags, - cap_rights_t *needrightsp) + const cap_rights_t *needrightsp) { struct file *fp; int error; @@ -3501,15 +3502,15 @@ _fget(struct thread *td, int fd, struct file **fpp, int flags, } int -fget(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp) +fget(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp) { return (_fget(td, fd, fpp, 0, rightsp)); } int -fget_mmap(struct thread *td, int fd, cap_rights_t *rightsp, vm_prot_t *maxprotp, - struct file **fpp) +fget_mmap(struct thread *td, int fd, const cap_rights_t *rightsp, + vm_prot_t *maxprotp, struct file **fpp) { int error; #ifndef CAPABILITIES @@ -3552,22 +3553,24 @@ fget_mmap(struct thread *td, int fd, cap_rights_t *rightsp, vm_prot_t *maxprotp, } int -fget_read(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp) +fget_read(struct thread *td, int fd, const cap_rights_t *rightsp, + struct file **fpp) { return (_fget(td, fd, fpp, FREAD, rightsp)); } int -fget_write(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp) +fget_write(struct thread *td, int fd, const cap_rights_t *rightsp, + struct file **fpp) { return (_fget(td, fd, fpp, FWRITE, rightsp)); } int -fget_fcntl(struct thread *td, int fd, cap_rights_t *rightsp, int needfcntl, - struct file **fpp) +fget_fcntl(struct thread *td, int fd, const cap_rights_t *rightsp, + int needfcntl, struct file **fpp) { #ifndef CAPABILITIES return (fget_unlocked(td, fd, rightsp, fpp)); @@ -3605,7 +3608,7 @@ fget_fcntl(struct thread *td, int fd, cap_rights_t *rightsp, int needfcntl, * XXX: what about the unused flags ? */ static __inline int -_fgetvp(struct thread *td, int fd, int flags, cap_rights_t *needrightsp, +_fgetvp(struct thread *td, int fd, int flags, const cap_rights_t *needrightsp, struct vnode **vpp) { struct file *fp; @@ -3627,14 +3630,15 @@ _fgetvp(struct thread *td, int fd, int flags, cap_rights_t *needrightsp, } int -fgetvp(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp) +fgetvp(struct thread *td, int fd, const cap_rights_t *rightsp, + struct vnode **vpp) { return (_fgetvp(td, fd, 0, rightsp, vpp)); } int -fgetvp_rights(struct thread *td, int fd, cap_rights_t *needrightsp, +fgetvp_rights(struct thread *td, int fd, const cap_rights_t *needrightsp, struct filecaps *havecaps, struct vnode **vpp) { struct filecaps caps; @@ -3666,14 +3670,16 @@ out: } int -fgetvp_read(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp) +fgetvp_read(struct thread *td, int fd, const cap_rights_t *rightsp, + struct vnode **vpp) { return (_fgetvp(td, fd, FREAD, rightsp, vpp)); } int -fgetvp_exec(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp) +fgetvp_exec(struct thread *td, int fd, const cap_rights_t *rightsp, + struct vnode **vpp) { return (_fgetvp(td, fd, FEXEC, rightsp, vpp)); @@ -3681,7 +3687,7 @@ fgetvp_exec(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp #ifdef notyet int -fgetvp_write(struct thread *td, int fd, cap_rights_t *rightsp, +fgetvp_write(struct thread *td, int fd, const cap_rights_t *rightsp, struct vnode **vpp) { diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index 6acaef9d394d..11bd1b6f30e1 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -118,7 +118,7 @@ static const struct fileops procdesc_ops = { * died. */ int -procdesc_find(struct thread *td, int fd, cap_rights_t *rightsp, +procdesc_find(struct thread *td, int fd, const cap_rights_t *rightsp, struct proc **p) { struct procdesc *pd; @@ -165,7 +165,8 @@ procdesc_pid(struct file *fp_procdesc) * Retrieve the PID associated with a process descriptor. */ int -kern_pdgetpid(struct thread *td, int fd, cap_rights_t *rightsp, pid_t *pidp) +kern_pdgetpid(struct thread *td, int fd, const cap_rights_t *rightsp, + pid_t *pidp) { struct file *fp; int error; diff --git a/sys/kern/uipc_mqueue.c b/sys/kern/uipc_mqueue.c index 54a9eda5a7a7..d647c7b991f4 100644 --- a/sys/kern/uipc_mqueue.c +++ b/sys/kern/uipc_mqueue.c @@ -2169,13 +2169,14 @@ sys_kmq_unlink(struct thread *td, struct kmq_unlink_args *uap) return (error); } -typedef int (*_fgetf)(struct thread *, int, cap_rights_t *, struct file **); +typedef int (*_fgetf)(struct thread *, int, const cap_rights_t *, + struct file **); /* * Get message queue by giving file slot */ static int -_getmq(struct thread *td, int fd, cap_rights_t *rightsp, _fgetf func, +_getmq(struct thread *td, int fd, const cap_rights_t *rightsp, _fgetf func, struct file **fpp, struct mqfs_node **ppn, struct mqueue **pmq) { struct mqfs_node *pn; diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c index 35ca9a9fb06e..2fc4d3e9cfb3 100644 --- a/sys/kern/uipc_sem.c +++ b/sys/kern/uipc_sem.c @@ -123,8 +123,8 @@ static int ksem_create(struct thread *td, const char *path, semid_t *semidp, mode_t mode, unsigned int value, int flags, int compat32); static void ksem_drop(struct ksem *ks); -static int ksem_get(struct thread *td, semid_t id, cap_rights_t *rightsp, - struct file **fpp); +static int ksem_get(struct thread *td, semid_t id, + const cap_rights_t *rightsp, struct file **fpp); static struct ksem *ksem_hold(struct ksem *ks); static void ksem_insert(char *path, Fnv32_t fnv, struct ksem *ks); static struct ksem *ksem_lookup(char *path, Fnv32_t fnv); @@ -587,7 +587,7 @@ ksem_create(struct thread *td, const char *name, semid_t *semidp, mode_t mode, } static int -ksem_get(struct thread *td, semid_t id, cap_rights_t *rightsp, +ksem_get(struct thread *td, semid_t id, const cap_rights_t *rightsp, struct file **fpp) { struct ksem *ks; diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index 91fcdf9a7a9d..0bbf13936bf9 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -85,7 +85,7 @@ static int sockargs(struct mbuf **, char *, socklen_t, int); * A reference on the file entry is held upon returning. */ int -getsock_cap(struct thread *td, int fd, cap_rights_t *rightsp, +getsock_cap(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp, struct filecaps *havecapsp) { struct file *fp; @@ -105,7 +105,8 @@ getsock_cap(struct thread *td, int fd, cap_rights_t *rightsp, } int -getsock(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp) +getsock(struct thread *td, int fd, const cap_rights_t *rightsp, + struct file **fpp) { struct file *fp; int error; @@ -718,7 +719,7 @@ kern_sendit(struct thread *td, int s, struct msghdr *mp, int flags, struct uio auio; struct iovec *iov; struct socket *so; - cap_rights_t *rights; + const cap_rights_t *rights; #ifdef KTRACE struct uio *ktruio = NULL; #endif diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index f992eccf567f..ac906c6286f4 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -4409,7 +4409,7 @@ out: * semantics. */ int -getvnode_path(struct thread *td, int fd, cap_rights_t *rightsp, +getvnode_path(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp) { struct file *fp; @@ -4447,7 +4447,8 @@ getvnode_path(struct thread *td, int fd, cap_rights_t *rightsp, * A reference on the file entry is held upon returning. */ int -getvnode(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp) +getvnode(struct thread *td, int fd, const cap_rights_t *rightsp, + struct file **fpp) { int error; diff --git a/sys/sys/file.h b/sys/sys/file.h index 0c025fde475c..c79759a3f966 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -258,14 +258,15 @@ extern const struct fileops socketops; extern int maxfiles; /* kernel limit on number of open files */ extern int maxfilesperproc; /* per process limit on number of open files */ -int fget(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp); -int fget_mmap(struct thread *td, int fd, cap_rights_t *rightsp, +int fget(struct thread *td, int fd, const cap_rights_t *rightsp, + struct file **fpp); +int fget_mmap(struct thread *td, int fd, const cap_rights_t *rightsp, vm_prot_t *maxprotp, struct file **fpp); -int fget_read(struct thread *td, int fd, cap_rights_t *rightsp, +int fget_read(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp); -int fget_write(struct thread *td, int fd, cap_rights_t *rightsp, +int fget_write(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp); -int fget_fcntl(struct thread *td, int fd, cap_rights_t *rightsp, +int fget_fcntl(struct thread *td, int fd, const cap_rights_t *rightsp, int needfcntl, struct file **fpp); int _fdrop(struct file *fp, struct thread *td); int fget_remote(struct thread *td, struct proc *p, int fd, struct file **fpp); @@ -290,15 +291,15 @@ int file_kcmp_generic(struct file *fp1, struct file *fp2, struct thread *td); void finit(struct file *, u_int, short, void *, const struct fileops *); void finit_vnode(struct file *, u_int, void *, const struct fileops *); -int fgetvp(struct thread *td, int fd, cap_rights_t *rightsp, +int fgetvp(struct thread *td, int fd, const cap_rights_t *rightsp, struct vnode **vpp); -int fgetvp_exec(struct thread *td, int fd, cap_rights_t *rightsp, +int fgetvp_exec(struct thread *td, int fd, const cap_rights_t *rightsp, struct vnode **vpp); -int fgetvp_rights(struct thread *td, int fd, cap_rights_t *needrightsp, +int fgetvp_rights(struct thread *td, int fd, const cap_rights_t *needrightsp, struct filecaps *havecaps, struct vnode **vpp); -int fgetvp_read(struct thread *td, int fd, cap_rights_t *rightsp, +int fgetvp_read(struct thread *td, int fd, const cap_rights_t *rightsp, struct vnode **vpp); -int fgetvp_write(struct thread *td, int fd, cap_rights_t *rightsp, +int fgetvp_write(struct thread *td, int fd, const cap_rights_t *rightsp, struct vnode **vpp); int fgetvp_lookup_smr(struct nameidata *ndp, struct vnode **vpp, bool *fsearch); int fgetvp_lookup(struct nameidata *ndp, struct vnode **vpp); diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h index 242f5b8831fd..602d236ff853 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -275,22 +275,23 @@ struct filedesc_to_leader * struct filedesc_to_leader * filedesc_to_leader_share(struct filedesc_to_leader *fdtol, struct filedesc *fdp); -int getvnode(struct thread *td, int fd, cap_rights_t *rightsp, +int getvnode(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp); -int getvnode_path(struct thread *td, int fd, cap_rights_t *rightsp, +int getvnode_path(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp); void mountcheckdirs(struct vnode *olddp, struct vnode *newdp); -int fget_cap_noref(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, - struct file **fpp, struct filecaps *havecapsp); -int fget_cap(struct thread *td, int fd, cap_rights_t *needrightsp, +int fget_cap_noref(struct filedesc *fdp, int fd, + const cap_rights_t *needrightsp, struct file **fpp, + struct filecaps *havecapsp); +int fget_cap(struct thread *td, int fd, const cap_rights_t *needrightsp, struct file **fpp, struct filecaps *havecapsp); /* Return a referenced file from an unlocked descriptor. */ -int fget_unlocked(struct thread *td, int fd, cap_rights_t *needrightsp, - struct file **fpp); +int fget_unlocked(struct thread *td, int fd, + const cap_rights_t *needrightsp, struct file **fpp); /* Return a file pointer without a ref. FILEDESC_IS_ONLY_USER must be true. */ -int fget_only_user(struct filedesc *fdp, int fd, cap_rights_t *needrightsp, - struct file **fpp); +int fget_only_user(struct filedesc *fdp, int fd, + const cap_rights_t *needrightsp, struct file **fpp); #define fput_only_user(fdp, fp) ({ \ MPASS(FILEDESC_IS_ONLY_USER(fdp)); \ MPASS(refcount_load(&fp->f_count) > 0); \ diff --git a/sys/sys/namei.h b/sys/sys/namei.h index 20c4f4c34dc0..bbaa71f629e6 100644 --- a/sys/sys/namei.h +++ b/sys/sys/namei.h @@ -70,7 +70,7 @@ struct nameidata { */ const char *ni_dirp; /* pathname pointer */ enum uio_seg ni_segflg; /* location of pathname */ - cap_rights_t *ni_rightsneeded; /* rights required to look up vnode */ + const cap_rights_t *ni_rightsneeded; /* rights needed to look up vnode */ /* * Arguments to lookup. */ @@ -244,7 +244,7 @@ int cache_fplookup(struct nameidata *ndp, enum cache_fpl_status *status, #define NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, startdir, rightsp) \ do { \ struct nameidata *_ndp = (ndp); \ - cap_rights_t *_rightsp = (rightsp); \ + const cap_rights_t *_rightsp = (rightsp); \ MPASS(_rightsp != NULL); \ NDINIT_PREFILL(_ndp); \ NDINIT_DBG(_ndp); \ diff --git a/sys/sys/procdesc.h b/sys/sys/procdesc.h index ca26d65d5417..4e8b06fb7377 100644 --- a/sys/sys/procdesc.h +++ b/sys/sys/procdesc.h @@ -94,8 +94,10 @@ struct procdesc { * In-kernel interfaces to process descriptors. */ int procdesc_exit(struct proc *); -int procdesc_find(struct thread *, int fd, cap_rights_t *, struct proc **); -int kern_pdgetpid(struct thread *, int fd, cap_rights_t *, pid_t *pidp); +int procdesc_find(struct thread *, int fd, const cap_rights_t *, + struct proc **); +int kern_pdgetpid(struct thread *, int fd, const cap_rights_t *, + pid_t *pidp); void procdesc_new(struct proc *, int); void procdesc_finit(struct procdesc *, struct file *); pid_t procdesc_pid(struct file *); diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index 9e3a59433f2b..6512a2d69fd5 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -488,9 +488,9 @@ enum shutdown_how; */ int getsockaddr(struct sockaddr **namp, const struct sockaddr *uaddr, size_t len); -int getsock_cap(struct thread *td, int fd, cap_rights_t *rightsp, +int getsock_cap(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp, struct filecaps *havecaps); -int getsock(struct thread *td, int fd, cap_rights_t *rightsp, +int getsock(struct thread *td, int fd, const cap_rights_t *rightsp, struct file **fpp); void soabort(struct socket *so); int soaccept(struct socket *so, struct sockaddr *sa); From nobody Tue May 20 20:25:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b25fT3w7yz5vw5C; Tue, 20 May 2025 20:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b25fT37rKz3L3p; Tue, 20 May 2025 20: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=1747772753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cDB8FRDZFeANPK7pQas/1V8HMsa6Ex5228oHda7sv9o=; b=n05dMQE8L7hHqg8EywEn2qH/hKSuBGAV4s7oPdu78iQL7BT2ZmWPQH6pX/k2UE9IJNmmAL SxREIAnym1U7JfBdOyNGDiyaPpaYuNSERXxauw9rDVb6zYBxEAOPnTFaKfxRJHeoToTTUW /eZX2/oeZb8//ag3CTVye6KHatep+68e4jFzoaOhs5GKC1bIY6ak6A4iPF6x6o5AP6lhvM rrsuSGA05E0tdW/jn+mwNy72qXSExGajVTqU4wKUqB9TxiUJJ+XKM3b0VQp2odq460TRbD nHYEmj89yigzYKe7/PCVU/S/LNvFi85G8NdH87wgZTKDncfLMbGXaMhjstInjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747772753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cDB8FRDZFeANPK7pQas/1V8HMsa6Ex5228oHda7sv9o=; b=o6XmQv5In9PQ/5sBiNPSgyt3Ah2sx8stu9rG1KNAQxEGi1b570nUd1oKcFQo99Yj7kLXUR uVYShe9YIwksmXLYNU9YStj17WjI0mAyb5SSw0CrOSB4LTgNbkZ1zpg+5En2Rk9mwUOgIe r3i5j3e8ZylVo33U5b34q/yagfxa7xeqAIRC0CPEjkW3eEyJJmU6AkPMlwJMr2f/LqiBKE 2woB7oQhE/y0bHqra5SNAhWKG/pOORhU8fvGdMIFJQSYJwW0u9TilFElIu4UUu9I5NOz85 J0qqPUeijmxXaNvldxpV3jS0UErrGaoH2T5oliXnNQW+3zrK+OV7HIRzTP2QFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747772753; a=rsa-sha256; cv=none; b=dQdKHHajuWsa+TL2ApH/E0ENoe87kO4P9MtTeOKLcYdYM64QC9DZYjPX3A3QS8ed0CZvUa E05XUc4Qx2B2XaEaSMmZjSEOivewyIEwD2xGEsJ/wbc8Gv8GuzGE+fxUxSpWm1focrnGH2 dDGcLyIrmTtgQJ+8bQ4M2oGJMB0zRNjNp/tfXl4vZYCZRVd7wM85piGWGh3+AYK/pm1ugK tjZo/wKkK+mBWz+kKfpOdye8sE8zK2vkbw5oGdX9l54LNaoI5Aq/YQBQcQ7tbFNDq8pCrl XhILELD0OH+fZo6XkEwhdlwNBT9RPlmRvVKQ+JdTDuFeQhqTTvvjbbSYWTnXGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b25fT2jsWz13fB; Tue, 20 May 2025 20:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KKPrLN073371; Tue, 20 May 2025 20:25:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KKPr9a073368; Tue, 20 May 2025 20:25:53 GMT (envelope-from git) Date: Tue, 20 May 2025 20:25:53 GMT Message-Id: <202505202025.54KKPr9a073368@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1f922483cc99 - main - capsicum: Statically initialize commonly used capability rights List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1f922483cc993e282329ffed9096f437799b630e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1f922483cc993e282329ffed9096f437799b630e commit 1f922483cc993e282329ffed9096f437799b630e Author: Mark Johnston AuthorDate: 2025-05-20 20:19:47 +0000 Commit: Mark Johnston CommitDate: 2025-05-20 20:19:47 +0000 capsicum: Statically initialize commonly used capability rights Rather than initializing all of these sets during boot, define a macro which can do so at compile-time. This lets us get rid of the silly sysinit and furthermore allows the sets to live in .rodata, where they ought to be anyway. The CAP_RIGHTS_INITIALIZER2 macro can create a set out of up to two capsicum rights. This could be made more general, but we currently don't have any use for a more abstract implementation, so just keep it simple for now. Also remove the unused cap_chflags_rights symbol. No functional change intended. Reviewed by: olce, oshogbo, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50420 --- sys/kern/subr_capability.c | 156 ++++++++++++++++----------------------------- sys/sys/caprights.h | 92 +++++++++++++------------- sys/sys/capsicum.h | 18 ++++++ 3 files changed, 119 insertions(+), 147 deletions(-) diff --git a/sys/kern/subr_capability.c b/sys/kern/subr_capability.c index a97c16d6d7df..a6175a2944ae 100644 --- a/sys/kern/subr_capability.c +++ b/sys/kern/subr_capability.c @@ -50,107 +50,61 @@ #ifdef _KERNEL #define assert(exp) KASSERT((exp), ("%s:%u", __func__, __LINE__)) -__read_mostly cap_rights_t cap_accept_rights; -__read_mostly cap_rights_t cap_bind_rights; -__read_mostly cap_rights_t cap_chflags_rights; -__read_mostly cap_rights_t cap_connect_rights; -__read_mostly cap_rights_t cap_event_rights; -__read_mostly cap_rights_t cap_fchdir_rights; -__read_mostly cap_rights_t cap_fchflags_rights; -__read_mostly cap_rights_t cap_fchmod_rights; -__read_mostly cap_rights_t cap_fchown_rights; -__read_mostly cap_rights_t cap_fchroot_rights; -__read_mostly cap_rights_t cap_fcntl_rights; -__read_mostly cap_rights_t cap_fexecve_rights; -__read_mostly cap_rights_t cap_flock_rights; -__read_mostly cap_rights_t cap_fpathconf_rights; -__read_mostly cap_rights_t cap_fstat_rights; -__read_mostly cap_rights_t cap_fstatfs_rights; -__read_mostly cap_rights_t cap_fsync_rights; -__read_mostly cap_rights_t cap_ftruncate_rights; -__read_mostly cap_rights_t cap_futimes_rights; -__read_mostly cap_rights_t cap_getpeername_rights; -__read_mostly cap_rights_t cap_getsockopt_rights; -__read_mostly cap_rights_t cap_getsockname_rights; -__read_mostly cap_rights_t cap_ioctl_rights; -__read_mostly cap_rights_t cap_listen_rights; -__read_mostly cap_rights_t cap_linkat_source_rights; -__read_mostly cap_rights_t cap_linkat_target_rights; -__read_mostly cap_rights_t cap_mmap_rights; -__read_mostly cap_rights_t cap_mkdirat_rights; -__read_mostly cap_rights_t cap_mkfifoat_rights; -__read_mostly cap_rights_t cap_mknodat_rights; -__read_mostly cap_rights_t cap_pdgetpid_rights; -__read_mostly cap_rights_t cap_pdkill_rights; -__read_mostly cap_rights_t cap_pread_rights; -__read_mostly cap_rights_t cap_pwrite_rights; -__read_mostly cap_rights_t cap_read_rights; -__read_mostly cap_rights_t cap_recv_rights; -__read_mostly cap_rights_t cap_renameat_source_rights; -__read_mostly cap_rights_t cap_renameat_target_rights; -__read_mostly cap_rights_t cap_seek_rights; -__read_mostly cap_rights_t cap_send_rights; -__read_mostly cap_rights_t cap_send_connect_rights; -__read_mostly cap_rights_t cap_setsockopt_rights; -__read_mostly cap_rights_t cap_shutdown_rights; -__read_mostly cap_rights_t cap_symlinkat_rights; -__read_mostly cap_rights_t cap_unlinkat_rights; -__read_mostly cap_rights_t cap_write_rights; -__read_mostly cap_rights_t cap_no_rights; - -static void -cap_rights_sysinit(void *arg) -{ - cap_rights_init_one(&cap_accept_rights, CAP_ACCEPT); - cap_rights_init_one(&cap_bind_rights, CAP_BIND); - cap_rights_init_one(&cap_connect_rights, CAP_CONNECT); - cap_rights_init_one(&cap_event_rights, CAP_EVENT); - cap_rights_init_one(&cap_fchdir_rights, CAP_FCHDIR); - cap_rights_init_one(&cap_fchflags_rights, CAP_FCHFLAGS); - cap_rights_init_one(&cap_fchmod_rights, CAP_FCHMOD); - cap_rights_init_one(&cap_fchown_rights, CAP_FCHOWN); - cap_rights_init_one(&cap_fchroot_rights, CAP_FCHROOT); - cap_rights_init_one(&cap_fcntl_rights, CAP_FCNTL); - cap_rights_init_one(&cap_fexecve_rights, CAP_FEXECVE); - cap_rights_init_one(&cap_flock_rights, CAP_FLOCK); - cap_rights_init_one(&cap_fpathconf_rights, CAP_FPATHCONF); - cap_rights_init_one(&cap_fstat_rights, CAP_FSTAT); - cap_rights_init_one(&cap_fstatfs_rights, CAP_FSTATFS); - cap_rights_init_one(&cap_fsync_rights, CAP_FSYNC); - cap_rights_init_one(&cap_ftruncate_rights, CAP_FTRUNCATE); - cap_rights_init_one(&cap_futimes_rights, CAP_FUTIMES); - cap_rights_init_one(&cap_getpeername_rights, CAP_GETPEERNAME); - cap_rights_init_one(&cap_getsockname_rights, CAP_GETSOCKNAME); - cap_rights_init_one(&cap_getsockopt_rights, CAP_GETSOCKOPT); - cap_rights_init_one(&cap_ioctl_rights, CAP_IOCTL); - cap_rights_init_one(&cap_linkat_source_rights, CAP_LINKAT_SOURCE); - cap_rights_init_one(&cap_linkat_target_rights, CAP_LINKAT_TARGET); - cap_rights_init_one(&cap_listen_rights, CAP_LISTEN); - cap_rights_init_one(&cap_mkdirat_rights, CAP_MKDIRAT); - cap_rights_init_one(&cap_mkfifoat_rights, CAP_MKFIFOAT); - cap_rights_init_one(&cap_mknodat_rights, CAP_MKNODAT); - cap_rights_init_one(&cap_mmap_rights, CAP_MMAP); - cap_rights_init_one(&cap_pdgetpid_rights, CAP_PDGETPID); - cap_rights_init_one(&cap_pdkill_rights, CAP_PDKILL); - cap_rights_init_one(&cap_pread_rights, CAP_PREAD); - cap_rights_init_one(&cap_pwrite_rights, CAP_PWRITE); - cap_rights_init_one(&cap_read_rights, CAP_READ); - cap_rights_init_one(&cap_recv_rights, CAP_RECV); - cap_rights_init_one(&cap_renameat_source_rights, CAP_RENAMEAT_SOURCE); - cap_rights_init_one(&cap_renameat_target_rights, CAP_RENAMEAT_TARGET); - cap_rights_init_one(&cap_seek_rights, CAP_SEEK); - cap_rights_init_one(&cap_send_rights, CAP_SEND); - cap_rights_init(&cap_send_connect_rights, CAP_SEND, CAP_CONNECT); - cap_rights_init_one(&cap_setsockopt_rights, CAP_SETSOCKOPT); - cap_rights_init_one(&cap_shutdown_rights, CAP_SHUTDOWN); - cap_rights_init_one(&cap_symlinkat_rights, CAP_SYMLINKAT); - cap_rights_init_one(&cap_unlinkat_rights, CAP_UNLINKAT); - cap_rights_init_one(&cap_write_rights, CAP_WRITE); - cap_rights_init(&cap_no_rights); -} -SYSINIT(cap_rights_sysinit, SI_SUB_COPYRIGHT, SI_ORDER_ANY, cap_rights_sysinit, - NULL); - +const cap_rights_t cap_accept_rights = CAP_RIGHTS_INITIALIZER(CAP_ACCEPT); +const cap_rights_t cap_bind_rights = CAP_RIGHTS_INITIALIZER(CAP_BIND); +const cap_rights_t cap_connect_rights = CAP_RIGHTS_INITIALIZER(CAP_CONNECT); +const cap_rights_t cap_event_rights = CAP_RIGHTS_INITIALIZER(CAP_EVENT); +const cap_rights_t cap_fchdir_rights = CAP_RIGHTS_INITIALIZER(CAP_FCHDIR); +const cap_rights_t cap_fchflags_rights = CAP_RIGHTS_INITIALIZER(CAP_FCHFLAGS); +const cap_rights_t cap_fchmod_rights = CAP_RIGHTS_INITIALIZER(CAP_FCHMOD); +const cap_rights_t cap_fchown_rights = CAP_RIGHTS_INITIALIZER(CAP_FCHOWN); +const cap_rights_t cap_fchroot_rights = CAP_RIGHTS_INITIALIZER(CAP_FCHROOT); +const cap_rights_t cap_fcntl_rights = CAP_RIGHTS_INITIALIZER(CAP_FCNTL); +const cap_rights_t cap_fexecve_rights = CAP_RIGHTS_INITIALIZER(CAP_FEXECVE); +const cap_rights_t cap_flock_rights = CAP_RIGHTS_INITIALIZER(CAP_FLOCK); +const cap_rights_t cap_fpathconf_rights = CAP_RIGHTS_INITIALIZER(CAP_FPATHCONF); +const cap_rights_t cap_fstat_rights = CAP_RIGHTS_INITIALIZER(CAP_FSTAT); +const cap_rights_t cap_fstatfs_rights = CAP_RIGHTS_INITIALIZER(CAP_FSTATFS); +const cap_rights_t cap_fsync_rights = CAP_RIGHTS_INITIALIZER(CAP_FSYNC); +const cap_rights_t cap_ftruncate_rights = CAP_RIGHTS_INITIALIZER(CAP_FTRUNCATE); +const cap_rights_t cap_futimes_rights = CAP_RIGHTS_INITIALIZER(CAP_FUTIMES); +const cap_rights_t cap_getpeername_rights = + CAP_RIGHTS_INITIALIZER(CAP_GETPEERNAME); +const cap_rights_t cap_getsockopt_rights = + CAP_RIGHTS_INITIALIZER(CAP_GETSOCKOPT); +const cap_rights_t cap_getsockname_rights = + CAP_RIGHTS_INITIALIZER(CAP_GETSOCKNAME); +const cap_rights_t cap_ioctl_rights = CAP_RIGHTS_INITIALIZER(CAP_IOCTL); +const cap_rights_t cap_listen_rights = CAP_RIGHTS_INITIALIZER(CAP_LISTEN); +const cap_rights_t cap_linkat_source_rights = + CAP_RIGHTS_INITIALIZER(CAP_LINKAT_SOURCE); +const cap_rights_t cap_linkat_target_rights = + CAP_RIGHTS_INITIALIZER(CAP_LINKAT_TARGET); +const cap_rights_t cap_mmap_rights = CAP_RIGHTS_INITIALIZER(CAP_MMAP); +const cap_rights_t cap_mkdirat_rights = CAP_RIGHTS_INITIALIZER(CAP_MKDIRAT); +const cap_rights_t cap_mkfifoat_rights = CAP_RIGHTS_INITIALIZER(CAP_MKFIFOAT); +const cap_rights_t cap_mknodat_rights = CAP_RIGHTS_INITIALIZER(CAP_MKNODAT); +const cap_rights_t cap_pdgetpid_rights = CAP_RIGHTS_INITIALIZER(CAP_PDGETPID); +const cap_rights_t cap_pdkill_rights = CAP_RIGHTS_INITIALIZER(CAP_PDKILL); +const cap_rights_t cap_pread_rights = CAP_RIGHTS_INITIALIZER(CAP_PREAD); +const cap_rights_t cap_pwrite_rights = CAP_RIGHTS_INITIALIZER(CAP_PWRITE); +const cap_rights_t cap_read_rights = CAP_RIGHTS_INITIALIZER(CAP_READ); +const cap_rights_t cap_recv_rights = CAP_RIGHTS_INITIALIZER(CAP_RECV); +const cap_rights_t cap_renameat_source_rights = + CAP_RIGHTS_INITIALIZER(CAP_RENAMEAT_SOURCE); +const cap_rights_t cap_renameat_target_rights = + CAP_RIGHTS_INITIALIZER(CAP_RENAMEAT_TARGET); +const cap_rights_t cap_seek_rights = CAP_RIGHTS_INITIALIZER(CAP_SEEK); +const cap_rights_t cap_send_rights = CAP_RIGHTS_INITIALIZER(CAP_SEND); +const cap_rights_t cap_send_connect_rights = + CAP_RIGHTS_INITIALIZER2(CAP_SEND, CAP_CONNECT); +const cap_rights_t cap_setsockopt_rights = + CAP_RIGHTS_INITIALIZER(CAP_SETSOCKOPT); +const cap_rights_t cap_shutdown_rights = CAP_RIGHTS_INITIALIZER(CAP_SHUTDOWN); +const cap_rights_t cap_symlinkat_rights = CAP_RIGHTS_INITIALIZER(CAP_SYMLINKAT); +const cap_rights_t cap_unlinkat_rights = CAP_RIGHTS_INITIALIZER(CAP_UNLINKAT); +const cap_rights_t cap_write_rights = CAP_RIGHTS_INITIALIZER(CAP_WRITE); +const cap_rights_t cap_no_rights = CAP_RIGHTS_INITIALIZER(0ULL); #endif #define CAPARSIZE_MIN (CAP_RIGHTS_VERSION_00 + 2) diff --git a/sys/sys/caprights.h b/sys/sys/caprights.h index 62711545114d..48c75afc62a0 100644 --- a/sys/sys/caprights.h +++ b/sys/sys/caprights.h @@ -58,52 +58,52 @@ typedef struct cap_rights cap_rights_t; #endif #ifdef _KERNEL -extern cap_rights_t cap_accept_rights; -extern cap_rights_t cap_bind_rights; -extern cap_rights_t cap_connect_rights; -extern cap_rights_t cap_event_rights; -extern cap_rights_t cap_fchdir_rights; -extern cap_rights_t cap_fchflags_rights; -extern cap_rights_t cap_fchmod_rights; -extern cap_rights_t cap_fchown_rights; -extern cap_rights_t cap_fchroot_rights; -extern cap_rights_t cap_fcntl_rights; -extern cap_rights_t cap_fexecve_rights; -extern cap_rights_t cap_flock_rights; -extern cap_rights_t cap_fpathconf_rights; -extern cap_rights_t cap_fstat_rights; -extern cap_rights_t cap_fstatfs_rights; -extern cap_rights_t cap_fsync_rights; -extern cap_rights_t cap_ftruncate_rights; -extern cap_rights_t cap_futimes_rights; -extern cap_rights_t cap_getpeername_rights; -extern cap_rights_t cap_getsockopt_rights; -extern cap_rights_t cap_getsockname_rights; -extern cap_rights_t cap_ioctl_rights; -extern cap_rights_t cap_linkat_source_rights; -extern cap_rights_t cap_linkat_target_rights; -extern cap_rights_t cap_listen_rights; -extern cap_rights_t cap_mkdirat_rights; -extern cap_rights_t cap_mkfifoat_rights; -extern cap_rights_t cap_mknodat_rights; -extern cap_rights_t cap_mmap_rights; -extern cap_rights_t cap_no_rights; -extern cap_rights_t cap_pdgetpid_rights; -extern cap_rights_t cap_pdkill_rights; -extern cap_rights_t cap_pread_rights; -extern cap_rights_t cap_pwrite_rights; -extern cap_rights_t cap_read_rights; -extern cap_rights_t cap_recv_rights; -extern cap_rights_t cap_renameat_source_rights; -extern cap_rights_t cap_renameat_target_rights; -extern cap_rights_t cap_seek_rights; -extern cap_rights_t cap_send_rights; -extern cap_rights_t cap_send_connect_rights; -extern cap_rights_t cap_setsockopt_rights; -extern cap_rights_t cap_shutdown_rights; -extern cap_rights_t cap_symlinkat_rights; -extern cap_rights_t cap_unlinkat_rights; -extern cap_rights_t cap_write_rights; +extern const cap_rights_t cap_accept_rights; +extern const cap_rights_t cap_bind_rights; +extern const cap_rights_t cap_connect_rights; +extern const cap_rights_t cap_event_rights; +extern const cap_rights_t cap_fchdir_rights; +extern const cap_rights_t cap_fchflags_rights; +extern const cap_rights_t cap_fchmod_rights; +extern const cap_rights_t cap_fchown_rights; +extern const cap_rights_t cap_fchroot_rights; +extern const cap_rights_t cap_fcntl_rights; +extern const cap_rights_t cap_fexecve_rights; +extern const cap_rights_t cap_flock_rights; +extern const cap_rights_t cap_fpathconf_rights; +extern const cap_rights_t cap_fstat_rights; +extern const cap_rights_t cap_fstatfs_rights; +extern const cap_rights_t cap_fsync_rights; +extern const cap_rights_t cap_ftruncate_rights; +extern const cap_rights_t cap_futimes_rights; +extern const cap_rights_t cap_getpeername_rights; +extern const cap_rights_t cap_getsockopt_rights; +extern const cap_rights_t cap_getsockname_rights; +extern const cap_rights_t cap_ioctl_rights; +extern const cap_rights_t cap_linkat_source_rights; +extern const cap_rights_t cap_linkat_target_rights; +extern const cap_rights_t cap_listen_rights; +extern const cap_rights_t cap_mkdirat_rights; +extern const cap_rights_t cap_mkfifoat_rights; +extern const cap_rights_t cap_mknodat_rights; +extern const cap_rights_t cap_mmap_rights; +extern const cap_rights_t cap_no_rights; +extern const cap_rights_t cap_pdgetpid_rights; +extern const cap_rights_t cap_pdkill_rights; +extern const cap_rights_t cap_pread_rights; +extern const cap_rights_t cap_pwrite_rights; +extern const cap_rights_t cap_read_rights; +extern const cap_rights_t cap_recv_rights; +extern const cap_rights_t cap_renameat_source_rights; +extern const cap_rights_t cap_renameat_target_rights; +extern const cap_rights_t cap_seek_rights; +extern const cap_rights_t cap_send_rights; +extern const cap_rights_t cap_send_connect_rights; +extern const cap_rights_t cap_setsockopt_rights; +extern const cap_rights_t cap_shutdown_rights; +extern const cap_rights_t cap_symlinkat_rights; +extern const cap_rights_t cap_unlinkat_rights; +extern const cap_rights_t cap_write_rights; #endif #endif /* !_SYS_CAPRIGHTS_H_ */ diff --git a/sys/sys/capsicum.h b/sys/sys/capsicum.h index 9b50986ede0a..d493535454e9 100644 --- a/sys/sys/capsicum.h +++ b/sys/sys/capsicum.h @@ -371,6 +371,24 @@ _Static_assert(CAP_RIGHTS_VERSION == CAP_RIGHTS_VERSION_00, _r; \ }) +#define _CAP_RIGHTS_WORD_INITIALIZER(i, r) \ + (CAPIDXBIT(r) == (i) + 1 ? (r) : 0ULL) + +/* + * Define a set of up to two rights at compile time. + */ +#define CAP_RIGHTS_INITIALIZER2(r1, r2) ((struct cap_rights){ \ + .cr_rights = { \ + [0] = ((uint64_t)CAP_RIGHTS_VERSION << 62) | \ + _CAP_RIGHTS_WORD_INITIALIZER(0, r1) | \ + _CAP_RIGHTS_WORD_INITIALIZER(0, r2), \ + [1] = _CAP_RIGHTS_WORD_INITIALIZER(1, r1) | \ + _CAP_RIGHTS_WORD_INITIALIZER(1, r2), \ + }, \ +}) +#define CAP_RIGHTS_INITIALIZER(r) \ + CAP_RIGHTS_INITIALIZER2(r, 0ULL) + /* * Allow checking caps which are possibly getting modified at the same time. * The caller is expected to determine whether the result is legitimate via From nobody Tue May 20 20:34:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b25qx5Hshz5vwlc; Tue, 20 May 2025 20:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b25qx4WPYz3MFt; Tue, 20 May 2025 20:34:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747773245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7na5+JeIbqW/0YlreqYRhzFVQYiMst0Cbg2tRwUM8o=; b=Tv3XLx6OERZblUcOmjo2TFblHONVLKfskJrAP99MIqf3rDPf5TeuiCzkTb1T/5IAU8/kkJ +le/VvjbiGPoWDD4CD9wjYAf3pSO1iHmGN8QYzp2J+v3ieIm+y3lLz+ak6eY4B+PpyEfRd +OscBjmV/RkaJcrZJHHervOX9xnChoVgO8X0PNbcVk/r3HW3a8HPn+cdxdVv7VAnGLlVlm olY2IMoj9Hnf6Wy8EMtDyLqtU1RVWOnHUEb0LXqP9VozBz3uoYLD3ztiC3E4SoKwSY58XN N5nvdUPJjDVZom79ig8S8iWyB2x8LDzSSoAJaMppgftlXub7C3DIpaWEByGuCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747773245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7na5+JeIbqW/0YlreqYRhzFVQYiMst0Cbg2tRwUM8o=; b=UtA2w0ImcYTJ6SriD3Dk5Ef+oqkFaQssPyknFCoiobamhkMC5LpUb/bbyYJqclJGrOaEKy ZNk+6yMSNAwIDxuHnmXsLA5D9plffbixjqAFf5y7FrNky7IgjgqpZ2LRwdALFcSs5J4wX8 8gIl4cvleo4bMR7R0DShZCRKmDqtB08eBpNz0LsVNNjHmbtt8CJckus3EeWEUIsIOkUW9t WXlfUiwgwKzbfvLEp6Rvo4+ptF8ZphrayqR7hy9E5fcJk86C702x6oF4MJpqBwYPGpskwh hpxiBk8ghvLjEbtUbThkjV5JgPIU4AnxlxD7jmLOsFuwjU8JyUaMLnfWS4nEgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747773245; a=rsa-sha256; cv=none; b=coEt/FT3VnlHW/J4j7jCRVtIp1F05ozQ6RcLx/QFIha3fY3AdcFsEOhO8RqyvAYgt6f67D szCRdtahFxIkPX6t9q6pcrGZ4+2TBmzFrwmN3IS/qy2EdzS4lmsc7C1O/4C09vucehrNTz 01RWjodkqhoenA1WcsIXJKN/OtSaqXTbIRM5YEBic7zpmXMik6f0B2FMXfjl88J7pVxH0x Pveg8ZBucEVKzpO2hUI5Vv2vsKHuH4at4I8jScsIWgYreHgjJ7A1k/sMQi2K4OTYA3Jat8 HKmuxKRuDDAYBeyo7EHZqqKzN7M/0omGvXiCIoEWX/jvQB0O/N8cF4duiyQZKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b25qx46b2z14YD; Tue, 20 May 2025 20:34:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KKY51G091173; Tue, 20 May 2025 20:34:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KKY5Sd091170; Tue, 20 May 2025 20:34:05 GMT (envelope-from git) Date: Tue, 20 May 2025 20:34:05 GMT Message-Id: <202505202034.54KKY5Sd091170@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 62d18f8c4c10 - main - release: Add -DPKGBASE option to include pkgbase packages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 62d18f8c4c10a5e680b0b795040abffc7964977e Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=62d18f8c4c10a5e680b0b795040abffc7964977e commit 62d18f8c4c10a5e680b0b795040abffc7964977e Author: Isaac Freund AuthorDate: 2025-05-10 21:36:53 +0000 Commit: Ed Maste CommitDate: 2025-05-20 20:30:12 +0000 release: Add -DPKGBASE option to include pkgbase packages If this option is set, an offline repo of pkgbase packages corresponding to base.txz and kernel.txz will be included in the disc1 release media rather than the base.txz and kernel.txz tarballs. Reviewed by: bapt Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50346 --- release/Makefile | 53 +++++++++++- release/scripts/FreeBSD-base-offline.conf | 4 + release/scripts/pkgbase-stage.lua | 138 ++++++++++++++++++++++++++++++ 3 files changed, 193 insertions(+), 2 deletions(-) diff --git a/release/Makefile b/release/Makefile index 1a64c51d3400..578df226ff49 100644 --- a/release/Makefile +++ b/release/Makefile @@ -21,6 +21,8 @@ # Variables affecting the build process: # WORLDDIR: location of src tree -- must have built world and default kernel # (by default, the directory above this one) +# PKGBASE: if set, include pkgbase packages rather than dist tarballs in +# disc1 and dvd1 installation media # PORTSDIR: location of ports tree to distribute (default: /usr/ports) # XTRADIR: xtra-bits-dir argument for /mkisoimages.sh # NOPKG: if set, do not distribute third-party packages @@ -124,7 +126,7 @@ CLEANFILES+= ${I}.xz .if defined(WITH_DVD) && !empty(WITH_DVD) CLEANFILES+= pkg-stage .endif -CLEANDIRS= dist ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd +CLEANDIRS= dist pkgbase-repo pkgbase-repo-conf ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd beforeclean: chflags -R noschg . .include @@ -170,7 +172,16 @@ ports.txz: --exclude 'usr/ports/INDEX*' --exclude work usr/ports | \ ${XZ_CMD} > ${.OBJDIR}/ports.txz ) -disc1: packagesystem +.if defined(PKGBASE) +PKGBASE_REPO= pkgbase-repo +PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${.TARGET}/usr/bin/uname config ABI) +.endif + +pkgbase-repo: + mkdir -p pkgbase-repo + ( ${IMAKE} -C ${WORLDDIR} packages REPODIR=${.OBJDIR}/pkgbase-repo ) + +disc1: packagesystem ${PKGBASE_REPO} # Install system mkdir -p ${.TARGET} ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ @@ -181,6 +192,24 @@ disc1: packagesystem MK_RESCUE=no MK_DICT=no \ MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no \ -DDB_FROM_SRC -DNO_ROOT) +.if defined(PKGBASE) +# Create offline pkgbase repo on release media + mkdir -p ${.TARGET}/usr/freebsd-packages/repos/ + ${.CURDIR}/scripts/pkgbase-stage.lua disc \ + ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ + ${.TARGET}/usr/freebsd-packages/offline \ + "${_ALL_libcompats}" + cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \ + ${.TARGET}/usr/freebsd-packages/repos/ + mtree -c -p ${.TARGET}/usr/freebsd-packages | \ + mtree -C -k type,mode,link,size | \ + sed 's|^\.|./usr/freebsd-packages|g' >> ${.TARGET}/METALOG +# Copy manifest only (no distfiles) to get checksums + mkdir -p ${.TARGET}/usr/freebsd-dist + cp MANIFEST ${.TARGET}/usr/freebsd-dist + echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG + echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG +.else # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ @@ -190,6 +219,7 @@ disc1: packagesystem for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done +.endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. ${PKG_INSTALL} pkg || true @@ -256,6 +286,24 @@ dvd: packagesystem DESTDIR=${.OBJDIR}/${.TARGET} MK_RESCUE=no MK_KERNEL_SYMBOLS=no \ MK_TESTS=no MK_DEBUG_FILES=no \ -DDB_FROM_SRC -DNO_ROOT) +.if defined(PKGBASE) +# Create offline pkgbase repo on release media + mkdir -p ${.TARGET}/usr/freebsd-packages/repos/ + ${.CURDIR}/scripts/pkgbase-stage.lua dvd \ + ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ + ${.TARGET}/usr/freebsd-packages/offline \ + "${_ALL_libcompats}" + cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \ + ${.TARGET}/usr/freebsd-packages/repos/ + mtree -c -p ${.TARGET}/usr/freebsd-packages | \ + mtree -C -k type,mode,link,size | \ + sed 's|^\.|./usr/freebsd-packages|g' >> ${.TARGET}/METALOG +# Copy manifest only (no distfiles) to get checksums + mkdir -p ${.TARGET}/usr/freebsd-dist + cp MANIFEST ${.TARGET}/usr/freebsd-dist + echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG + echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG +.else # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist for dist in MANIFEST $$(ls *.txz | grep -v container); \ @@ -265,6 +313,7 @@ dvd: packagesystem for dist in MANIFEST $$(ls *.txz | grep -v container); \ do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done +.endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. ${PKG_INSTALL} pkg || true diff --git a/release/scripts/FreeBSD-base-offline.conf b/release/scripts/FreeBSD-base-offline.conf new file mode 100644 index 000000000000..b77334e7a4aa --- /dev/null +++ b/release/scripts/FreeBSD-base-offline.conf @@ -0,0 +1,4 @@ +FreeBSD-base: { + url: "file:///usr/freebsd-packages/offline", + enabled: yes +} diff --git a/release/scripts/pkgbase-stage.lua b/release/scripts/pkgbase-stage.lua new file mode 100755 index 000000000000..01eec8c44e49 --- /dev/null +++ b/release/scripts/pkgbase-stage.lua @@ -0,0 +1,138 @@ +#!/usr/libexec/flua + +-- SPDX-License-Identifier: BSD-2-Clause +-- +-- Copyright(c) 2025 The FreeBSD Foundation. +-- +-- This software was developed by Isaac Freund +-- under sponsorship from the FreeBSD Foundation. + +-- Run a command using the OS shell and capture the stdout +-- Strips exactly one trailing newline if present, does not strip any other whitespace. +-- Asserts that the command exits cleanly +local function capture(command) + local p = io.popen(command) + local output = p:read("*a") + assert(p:close()) + -- Strip exactly one trailing newline from the output, if there is one + return output:match("(.-)\n$") or output +end + +local function append_list(list, other) + for _, item in ipairs(other) do + table.insert(list, item) + end +end + +-- Returns a list of packages to be included in the given media +local function select_packages(pkg, media, all_libcompats) + local components = { + kernel = {}, + kernel_dbg = {}, + base = {}, + base_dbg = {}, + src = {}, + tests = {}, + } + + for compat in all_libcompats:gmatch("%S+") do + components["lib" .. compat] = {} + components["lib" .. compat .. "_dbg"] = {} + end + + local rquery = capture(pkg .. "rquery -U -r FreeBSD-base %n") + for package in rquery:gmatch("[^\n]+") do + if package == "FreeBSD-src" or package:match("^FreeBSD%-src%-.*") then + table.insert(components["src"], package) + elseif package == "FreeBSD-tests" or package:match("^FreeBSD%-tests%-.*") then + table.insert(components["tests"], package) + elseif package:match("^FreeBSD%-kernel%-.*") then + -- Kernels other than FreeBSD-kernel-generic are ignored + if package == "FreeBSD-kernel-generic" then + table.insert(components["kernel"], package) + elseif package == "FreeBSD-kernel-generic-dbg" then + table.insert(components["kernel_dbg"], package) + end + elseif package:match(".*%-dbg$") then + table.insert(components["base_dbg"], package) + else + local found = false + for compat in all_libcompats:gmatch("%S+") do + if package:match(".*%-dbg%-lib" .. compat .. "$") then + table.insert(components["lib" .. compat .. "_dbg"], package) + found = true + break + elseif package:match(".*%-lib" .. compat .. "$") then + table.insert(components["lib" .. compat], package) + found = true + break + end + end + if not found then + table.insert(components["base"], package) + end + end + end + assert(#components["kernel"] == 1) + assert(#components["base"] > 0) + + local selected = {} + if media == "disc" then + append_list(selected, components["base"]) + append_list(selected, components["kernel"]) + append_list(selected, components["kernel_dbg"]) + append_list(selected, components["src"]) + append_list(selected, components["tests"]) + for compat in all_libcompats:gmatch("%S+") do + append_list(selected, components["lib" .. compat]) + end + else + assert(media == "dvd") + append_list(selected, components["base"]) + append_list(selected, components["base_dbg"]) + append_list(selected, components["kernel"]) + append_list(selected, components["kernel_dbg"]) + append_list(selected, components["src"]) + append_list(selected, components["tests"]) + for compat in all_libcompats:gmatch("%S+") do + append_list(selected, components["lib" .. compat]) + append_list(selected, components["lib" .. compat .. "_dbg"]) + end + end + + return selected +end + +local function main() + -- Determines package subset selected + local media = assert(arg[1]) + assert(media == "disc" or media == "dvd") + -- Local repository to fetch from + local source = assert(arg[2]) + -- Directory to create new repository + local target = assert(arg[3]) + -- =hitespace separated list of all libcompat names (e.g. "32") + local all_libcompats = assert(arg[4]) + + assert(os.execute("mkdir -p pkgbase-repo-conf")) + local f = assert(io.open("pkgbase-repo-conf/FreeBSD-base.conf", "w")) + assert(f:write(string.format([[ + FreeBSD-base: { + url: "file://%s", + enabled: yes + } + ]], source))) + assert(f:close()) + + local pkg = "pkg -o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes " .. + "-o INSTALL_AS_USER=1 -o PKG_DBDIR=./pkgdb -R ./pkgbase-repo-conf " + + assert(os.execute(pkg .. "update")) + + local packages = select_packages(pkg, media, all_libcompats) + + assert(os.execute(pkg .. "fetch -o " .. target .. " " .. table.concat(packages, " "))) + assert(os.execute(pkg .. "repo " .. target)) +end + +main() From nobody Tue May 20 20:34:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b25qy6NnGz5vx5H; Tue, 20 May 2025 20:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b25qy5WC7z3MJC; Tue, 20 May 2025 20:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747773246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bOJQJ/8j/Q5aTbhn8DedXZ36hxpQdawnmqX4AcphcCw=; b=lPQZC151IEs7BpBc4CfH9p9FQD36Xtbyb/qOMwCFajWY12cYRZCVnuMBQQ72HlpmBcWZti 8v37PP833sGq/UJMmqMDAi16qr9bimiMSRpl4mTahRMxMBQFpmazlQZgJRl5en24WlZrJ4 YbARKoyrbDrGD6LDlwLmgDtwhTRLNMb+t7RmB9+EqJNymLP+dvjAUEcfwdlINIEQHjg6Ta VQoleobbBztVm+QxdL0pl4+2MoODbe45hpwzH4ae7iXg5BgB/EqVXExJRW3/HEJDXNHimV chOwiAnA5MTm2lrimFFdCDQ4tWqkwHi3nNuoqda2ZBU9+eJ+guIKDCwcZ0CP3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747773246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bOJQJ/8j/Q5aTbhn8DedXZ36hxpQdawnmqX4AcphcCw=; b=K0USKZJdKOLs2utMTE6pkN72WocBUvdBQJg68GcFur5BMQ1vCLxWBi/sQQC+FuXOd4Bs6X iGRVhFn2sm0YRhhfDy5X1NDChY3bEYfJkNREIdlUcqHvGN3+QpQGj01RHXQOXFJOsluwwV pidYap7YEHSVysKvJ9oHnXvNoKF3FUZoi01gtwRAIl6wwolYa7NgN2vyQ6Z9T7TU7DNkvb Js5N1Ac/jfv0fk7uHBMHi5ZoSpWnLY95leS23uADl0BCfV3RlMFxU+BjWywU2dlebrADB+ XluSUl8pwlzxFU7BLYF4uAUarZ9KjX3WPwRkAwBvE1p3aihB8jpEMppoUyMqSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747773246; a=rsa-sha256; cv=none; b=KaUhcz3sXBwVTDiweZTM9eggrfVQoKzAmrsw3QVCd1I6kU4lnjaLA26CAmRz9gn1DJUT/R twVbRaID0+feyIA9CxIfC6z0sghf8m49fVPEF9cmV5bn+apV1nxnoutc6pNv3mP67MVbLf g+1xs6c9dHKK7PC9sHeFP9rxYWF6Tw2LP8ILmnA5LON91G3etVJxZi5O+96IEeg7IzItrZ iZ2D8Y8foDrASZyK/GmeyVI3VadbuKtU7vcUEhu0NoolfcxlO+r/4vw4eNMxAz7GdDqo1M HAn47qSUy08sI4zaIEYjBls9aQwa76fs53KiVBJRrAyvlVhvgsUqGFTMG8lh2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b25qy4lpPz14rB; Tue, 20 May 2025 20:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KKY6YR091209; Tue, 20 May 2025 20:34:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KKY6Ap091206; Tue, 20 May 2025 20:34:06 GMT (envelope-from git) Date: Tue, 20 May 2025 20:34:06 GMT Message-Id: <202505202034.54KKY6Ap091206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 5b29ffe61469 - main - release.7: Document PKGBASE option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b29ffe61469e601c5e53f65d2a115b0c43e3f13 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5b29ffe61469e601c5e53f65d2a115b0c43e3f13 commit 5b29ffe61469e601c5e53f65d2a115b0c43e3f13 Author: Ed Maste AuthorDate: 2025-05-16 18:47:34 +0000 Commit: Ed Maste CommitDate: 2025-05-20 20:33:22 +0000 release.7: Document PKGBASE option Reviewed by: ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50382 --- share/man/man7/release.7 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/man/man7/release.7 b/share/man/man7/release.7 index 5c5c11efd0fb..36c14afe0bf1 100644 --- a/share/man/man7/release.7 +++ b/share/man/man7/release.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 26, 2024 +.Dd May 20, 2025 .Dt RELEASE 7 .Os .Sh NAME @@ -282,6 +282,10 @@ within the This is intended for use only when .Fa /usr/ports is expected to exist by alternative means. +.It Va PKGBASE +Include base system packages for use with +.Xr pkg 8 +on the install media, instead of legacy tarball distribution sets. .El .Sh EMBEDDED BUILDS The following From nobody Tue May 20 21:12:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b26h065bqz5w0TV; Tue, 20 May 2025 21:12:16 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b26h03dZ1z3QTd; Tue, 20 May 2025 21:12:16 +0000 (UTC) (envelope-from avg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747775536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=PVv5faAY2JlPevI0BJBEXsjhHF8QG0TO2Es0Goi0kyU=; b=akK8lmuEDpqeQLmkeSBVt3aGK6y6hYbeWfMuQnBbqjMd7Lw3fx2mzU1nJmQbt0yoWgpYB/ SPgXSy0HuG26MrlMc6gJCcZM28j2OjfJU6c7M1tv4kKmF6h6a2tN/yn5AGxNDZyiqbMu4O BBjejESO0o4KAuyr+1UOZMel7WK0I30qT5EdP5/t4MGm6ZaDCYFypVAsYim2fLqfdiHSPy WjYQFJoMD+pN0mVA93ZE5uGfO9F1Am8kKVZXK7jupzOtlQzyvON6zSu6oEMMsbdlwU39nH OoRYj1sNgzPk4GJgZi9Py2Y6wYq7a2W/Uygd6OWG/YCejjAzksYfdTCkAMQp9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747775536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=PVv5faAY2JlPevI0BJBEXsjhHF8QG0TO2Es0Goi0kyU=; b=ylrlmPUJuLtSf+JJacgZxgAag9Ecw/j4C23ZDT0q3WH9jDjWaMHX+ShBWBqzI4xJec5POF f5cla6xRR0PfaRVfZIrpb8rYZhEoTAeXd0Oq4zrMOGJXVyUGwhhTHNiBf8IOh1AWZVM+UP B8yeVdapZ/JZZAKIrJoRtDeEJ61NQmQ6NJaEs8aEdi2AurdxF+2nicPftiDkuzGCIxQ4gm Kqho1+gs8/1pmOSIQVS8G3uJRUsmmsy9UZOO3hbOUhdiy/s6X24vqM63FT/E4Vq+YQrika slLpPqg6PxFVeBpO4wh8Bet4zsscNQja3o8VQR2xTnLZi1KuzoM6YAxdDwC0mQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747775536; a=rsa-sha256; cv=none; b=YpUtr7/+mAQgA12T3knWSApCPpo6DQr+1qdcXmp5g2zyu2hqm2Jb7yldu3WSmgAxGiXt22 45LlDgk2gpKoqPpl0V7lXMhA4UDQESZcIsMRESoqdRUbZG6mjZsTWOpGF9Ua2WSo6jQBX3 eip4h3Liorqkpb/l3E/5hzlQ/QmamvAcJ1FmNPKivOsnl5SeyICgRKxsR4XaUCkrvlEUBi psDiBky58VvUIfEfEsODKA2TAGgT5g3CC9PC3ZK22NfGiwwkGtu5uKQ+TDC4tSOMjwhro1 damDmaZVQKMBlxee0iU5Qy5yrihgpyjWxKDksBWQZJBvhDeZZyQvW8EAnPGBbA== 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 4b26gz66gCz1CyZ; Tue, 20 May 2025 21:12:15 +0000 (UTC) (envelope-from avg@FreeBSD.org) Message-ID: Date: Wed, 21 May 2025 00:12:11 +0300 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Andriy Gapon Subject: Re: git: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush To: mmel@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> Content-Language: en-US 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: <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 20/05/2025 21:28, Michal Meloun wrote: > > > On 20.05.2025 16:57, Andriy Gapon wrote: >> The branch main has been updated by avg: >> >> URL: https://cgit.FreeBSD.org/src/commit/? >> id=0d2fd5b99c95329085d0700a4dd38507a054a50d >> >> commit 0d2fd5b99c95329085d0700a4dd38507a054a50d >> Author:     Andriy Gapon >> AuthorDate: 2024-11-10 11:15:30 +0000 >> Commit:     Andriy Gapon >> CommitDate: 2025-05-20 14:55:18 +0000 >> >>      ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush >>      LSR_TEMT bit is set if both transmit hold and shift registers are >>      empty, but the flush command flushes only the hold register. > I don't think that's true. I am not sure to which part of the commit message your "that" refers to, so I'll try to justify everything. T_H_R_E - transmitter holding register empty T_EMPT - transmitter empty All hardware documentation that I have around describes those bits like that. We do not have direct control over the shift register, hardware clears it after sending. > Imho, ns8250_flush() is used also before changing > baud rate, so we need to ensure that all bits are flushed, including the > transmit register. That's an interesting point. My intention was actually to avoid bogus "FCR is broken" message which can happen because of a race between the UART transmission and code execution. I think that LSR_THRE is proper for checking that FCR works. But to actually detect and ensure that all transmission has completed we should use LSR_TEMT like you say. At the same time, this UART flush is not like stdout flush, of course, where we ensure that all buffered data is transmitted. For UART, we just clear the FIFO and the holding register. So, I am not sure if polling for empty transmitter is important. Besides, I do not see the code which would flush transmitter when parameters are changing. I can find only two places where UART_FLUSH_TRANSMITTER is passed: - ns8250_bus_attach - ns8250_bus_probe Additionally, ns8250_bus_transmit uses ns8250_drain(UART_DRAIN_TRANSMITTER) in broken_txfifo case. P.S. Maybe I don't understand the code, but UART_FLUSH_RECEIVER in ns8250_bus_attach looks strange to me. It's one thing to flush data while in the loop-back mode, but I think that in ns8250_bus_attach the hardware is fully set up to receive data from the outside world. So, how can we hope to drain all of it and to reliably detect whether FIFO flushing works. I mean that something on the other end could be continuously transmitting. -- Andriy Gapon From nobody Tue May 20 21:52:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b27Zx25qBz5w3PV; Tue, 20 May 2025 21:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b27Zx1JwRz3X33; Tue, 20 May 2025 21:52:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Os1tiwZjVLo9s2DveUmuCzNmPkXiSmbirk8pYk2zWIY=; b=QNV6QeMQf/gVHzDqc6n8qi626Mcpub0OolAs61JrXOtxQF32FEtIlyNmIqO9cd07yVcBQz RFPDxIWzatuPp8YAl+IzEyUQFTtyyRq9Puren85KJGXJ9iFt5qhc11UOcujAB54u4oVrhY sIi0Niqgx/kr3O+X2RY898o1RngVJeNugC+ahNAaLm6XPiAqlFY+A3+eKZDu1x1O2dplgg F8Wz2/EY9v9llrbxG7ZDB8hPVSTssFZ6ttH6lgsOrnF3EKO5vf5SRdpkesa6gmiMhgdXT2 twsIzKfMctDUqJ2vvFWL3E2Lov6i+Qgp/JSzKRTFZwlcseMCP/4HcXYVJydJAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Os1tiwZjVLo9s2DveUmuCzNmPkXiSmbirk8pYk2zWIY=; b=p4DN17O2daQNVhK9oVNhCtQDR1/Lv8N1qZIme+W4uQpK4LnNOZ9/n7r2YkUyRUYeidrTBC a8WAH9XToml1SB2S1Mf0wfIIELYBVYqHzA/5BwYFx0MFVPNFktQtxou0emQjCowpqjCDBB 14mlFu6SxUKGLV18Rz4maAT5h7ynUDXZzTmcob1Wme67fibKyvk+CkwN5pSqYJg3/LdVfZ VKOKhslkPd7G7+qZN2mAdIc1sni4NS6XJzYynBLHO/mbcnSxrhfRT2dRUtf66K0vUMlaQr xvqSyg0EPOCnfvzTYoH44RyQtefD9pfMhFALWRFAJSQLLswU3uu9cJjuOBxjkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747777977; a=rsa-sha256; cv=none; b=N+b2R0kkuAEuGG7qC49Cvhu7wmoAW6Ok70Bqdrjh2pkYjSvFxxi25Ay7Fd52H0dBluWs3L RLbUK2scVABv/RUEaeTkhiTmo35hMJY2X6G1USBiXNKVtrdsklO5nPXaeWbpgvKVCXNlZZ W6IQLDo86gOGTLnwpsbZgg2pg1TfzS4iV3Sq6hDksYUzESMpe7teTyXitZhoirR+BFTam2 KHV7H7Mp8foDVjxQG/dUEYrFhkJ1tDLuTmvLZz4Al1FEuyIr16ZcNEhnhPEU4+nYlnjgQn au0/gLNieiGoaTdJgbP2/6HLJy7N/23DfKuAZqiNr+ITOfLxt97ydJT2nh7r6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b27Zx0gcRz16Rq; Tue, 20 May 2025 21:52:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KLqunq039709; Tue, 20 May 2025 21:52:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KLqulA039706; Tue, 20 May 2025 21:52:56 GMT (envelope-from git) Date: Tue, 20 May 2025 21:52:56 GMT Message-Id: <202505202152.54KLqulA039706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 2f8ba2e5b93e - stable/14 - libc tests: add tests for link_addr(3) and link_ntoa(3) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2f8ba2e5b93eec8b51e6bf18a8e480ee5e1769cf Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=2f8ba2e5b93eec8b51e6bf18a8e480ee5e1769cf commit 2f8ba2e5b93eec8b51e6bf18a8e480ee5e1769cf Author: Lexi Winter AuthorDate: 2025-05-05 17:25:03 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:49:34 +0000 libc tests: add tests for link_addr(3) and link_ntoa(3) for now, since link_addr() has no way to indicate an error, these are only positive tests which check the outcome of valid inputs. Reviewed by: ngie, des, adrian Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50062 (cherry picked from commit 757e973fb2112ea442aa8990d991f406d407b6f7) link_addr_test: use , not is the correct header; this fixes the GCC build. while here, sort the headers. Fixes: 757e973fb211 ("libc tests: add tests for link_addr(3) and link_ntoa(3)") Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50189 (cherry picked from commit bbffdfef3bf04b2f89027cb20e2019fdc74c4b1b) --- lib/libc/tests/net/Makefile | 3 + lib/libc/tests/net/link_addr_test.cc | 271 +++++++++++++++++++++++++++++++++++ 2 files changed, 274 insertions(+) diff --git a/lib/libc/tests/net/Makefile b/lib/libc/tests/net/Makefile index 6e90f22b98f5..d939edeeb00d 100644 --- a/lib/libc/tests/net/Makefile +++ b/lib/libc/tests/net/Makefile @@ -4,6 +4,9 @@ PACKAGE= tests ATF_TESTS_C+= ether_test ATF_TESTS_C+= eui64_aton_test ATF_TESTS_C+= eui64_ntoa_test +ATF_TESTS_CXX+= link_addr_test + +CXXSTD.link_addr_test= c++20 CFLAGS+= -I${.CURDIR} diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc new file mode 100644 index 000000000000..6b9f5a841ef7 --- /dev/null +++ b/lib/libc/tests/net/link_addr_test.cc @@ -0,0 +1,271 @@ +/* + * Copyright (c) 2025 Lexi Winter + * + * SPDX-License-Identifier: ISC + */ + +/* + * Tests for link_addr() and link_ntoa(). + * + * link_addr converts a string representing an (optionally null) interface name + * followed by an Ethernet address into a sockaddr_dl. The expected format is + * "[ifname]:lladdr". This means if ifname is not specified, the leading colon + * is still required. + * + * link_ntoa does the inverse of link_addr, returning a string representation + * of the address. + * + * Note that the output format of link_ntoa is not valid input for link_addr + * since the leading colon may be omitted. This is by design. + */ + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include + +using namespace std::literals; + +/* + * Define operator== and operator<< for ether_addr so we can use them in + * ATF_EXPECT_EQ expressions. + */ + +bool +operator==(ether_addr a, ether_addr b) +{ + return (std::ranges::equal(a.octet, b.octet)); +} + +std::ostream & +operator<<(std::ostream &s, ether_addr a) +{ + for (unsigned i = 0; i < ETHER_ADDR_LEN; ++i) { + if (i > 0) + s << ":"; + + s << std::format("{:02x}", static_cast(a.octet[i])); + } + + return (s); +} + +/* + * Create a sockaddr_dl from a string using link_addr(), and ensure the + * returned struct looks valid. + */ +sockaddr_dl +make_linkaddr(const std::string &addr) +{ + auto sdl = sockaddr_dl{}; + + sdl.sdl_len = sizeof(sdl); + ::link_addr(addr.c_str(), &sdl); + + ATF_REQUIRE_EQ(AF_LINK, static_cast(sdl.sdl_family)); + ATF_REQUIRE_EQ(true, sdl.sdl_len > 0); + ATF_REQUIRE_EQ(true, sdl.sdl_nlen >= 0); + + return (sdl); +} + +/* + * Return the data stored in a sockaddr_dl as a span. + */ +std::span +data(const sockaddr_dl &sdl) +{ + // sdl_len is the entire structure, but we only want the length of the + // data area. + auto dlen = sdl.sdl_len - offsetof(sockaddr_dl, sdl_data); + return {&sdl.sdl_data[0], dlen}; +} + +/* + * Return the interface name stored in a sockaddr_dl as a string. + */ +std::string_view +ifname(const sockaddr_dl &sdl) +{ + auto name = data(sdl).subspan(0, sdl.sdl_nlen); + return {name.begin(), name.end()}; +} + +/* + * Return the Ethernet address stored in a sockaddr_dl as an ether_addr. + */ +ether_addr +addr(const sockaddr_dl &sdl) +{ + ether_addr ret{}; + ATF_REQUIRE_EQ(ETHER_ADDR_LEN, sdl.sdl_alen); + std::ranges::copy(data(sdl).subspan(sdl.sdl_nlen, ETHER_ADDR_LEN), + &ret.octet[0]); + return (ret); +} + +/* + * Return the link address stored in a sockaddr_dl as a span of octets. + */ +std::span +lladdr(const sockaddr_dl &sdl) +{ + auto data = reinterpret_cast(LLADDR(&sdl)); + return {data, data + sdl.sdl_alen}; +} + + +/* + * Some sample addresses we use for testing. Include at least one address for + * each format we want to support. + */ + +struct test_address { + std::string input; /* value passed to link_addr */ + std::string ntoa; /* expected return from link_ntoa */ + ether_addr addr{}; /* expected return from link_addr */ +}; + +std::vector test_addresses{ + // No delimiter + {"001122334455"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Colon delimiter + {"00:11:22:33:44:55"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Dash delimiter + {"00-11-22-33-44-55"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Period delimiter (link_ntoa format) + {"00.11.22.33.44.55"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Period delimiter (Cisco format) + {"0011.2233.4455"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // An addresses without leading zeroes. + {"0:1:02:30:4:55"s, "0.1.2.30.4.55", + ether_addr{0x00, 0x01, 0x02, 0x30, 0x04, 0x55}}, + + // An address with some uppercase letters. + {"AA:B:cC:Dd:e0:1f"s, "aa.b.cc.dd.e0.1f", + ether_addr{0xaa, 0x0b, 0xcc, 0xdd, 0xe0, 0x1f}}, + + // Addresses composed only of letters, to make sure they're not + // confused with an interface name. + + {"aabbccddeeff"s, "aa.bb.cc.dd.ee.ff", + ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, + + {"aa:bb:cc:dd:ee:ff"s, "aa.bb.cc.dd.ee.ff", + ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, +}; + +/* + * Test without an interface name. + */ +ATF_TEST_CASE_WITHOUT_HEAD(basic) +ATF_TEST_CASE_BODY(basic) +{ + for (const auto &ta : test_addresses) { + // This does basic tests on the returned value. + auto sdl = make_linkaddr(":" + ta.input); + + // Check the ifname and address. + ATF_REQUIRE_EQ(""s, ifname(sdl)); + ATF_REQUIRE_EQ(ETHER_ADDR_LEN, static_cast(sdl.sdl_alen)); + ATF_REQUIRE_EQ(ta.addr, addr(sdl)); + + // Check link_ntoa returns the expected value. + auto ntoa = std::string(::link_ntoa(&sdl)); + ATF_REQUIRE_EQ(ta.ntoa, ntoa); + } + +} + +/* + * Test with an interface name. + */ +ATF_TEST_CASE_WITHOUT_HEAD(ifname) +ATF_TEST_CASE_BODY(ifname) +{ + for (const auto &ta : test_addresses) { + auto sdl = make_linkaddr("ix0:" + ta.input); + + ATF_REQUIRE_EQ("ix0", ifname(sdl)); + ATF_REQUIRE_EQ(ETHER_ADDR_LEN, static_cast(sdl.sdl_alen)); + ATF_REQUIRE_EQ(ta.addr, addr(sdl)); + + auto ntoa = std::string(::link_ntoa(&sdl)); + ATF_REQUIRE_EQ("ix0:" + ta.ntoa, ntoa); + } + +} + +/* + * Test some non-Ethernet addresses. + */ +ATF_TEST_CASE_WITHOUT_HEAD(nonether) +ATF_TEST_CASE_BODY(nonether) +{ + sockaddr_dl sdl; + + /* A short address */ + sdl = make_linkaddr(":1:23:cc"); + ATF_REQUIRE_EQ("", ifname(sdl)); + ATF_REQUIRE_EQ("1.23.cc"s, ::link_ntoa(&sdl)); + ATF_REQUIRE_EQ(3, sdl.sdl_alen); + ATF_REQUIRE_EQ(true, + std::ranges::equal(std::vector{0x01u, 0x23u, 0xccu}, lladdr(sdl))); + + /* A long address */ + sdl = make_linkaddr(":1:23:cc:a:b:c:d:e:f"); + ATF_REQUIRE_EQ("", ifname(sdl)); + ATF_REQUIRE_EQ("1.23.cc.a.b.c.d.e.f"s, ::link_ntoa(&sdl)); + ATF_REQUIRE_EQ(9, sdl.sdl_alen); + ATF_REQUIRE_EQ(true, std::ranges::equal( + std::vector{0x01u, 0x23u, 0xccu, 0xau, 0xbu, 0xcu, 0xdu, 0xeu, 0xfu}, + lladdr(sdl))); +} + +/* + * Test an extremely long address which would overflow link_ntoa's internal + * buffer. It should handle this by truncating the output. + * (Test for SA-16:37.libc / CVE-2016-6559.) + */ +ATF_TEST_CASE_WITHOUT_HEAD(overlong) +ATF_TEST_CASE_BODY(overlong) +{ + auto sdl = make_linkaddr( + ":01.02.03.04.05.06.07.08.09.0a.0b.0c.0d.0e.0f." + "11.12.13.14.15.16.17.18.19.1a.1b.1c.1d.1e.1f." + "22.22.23.24.25.26.27.28.29.2a.2b.2c.2d.2e.2f"); + + ATF_REQUIRE_EQ( + "1.2.3.4.5.6.7.8.9.a.b.c.d.e.f.11.12.13.14.15.16.17.18.19.1a.1b."s, + ::link_ntoa(&sdl)); +} + +ATF_INIT_TEST_CASES(tcs) +{ + ATF_ADD_TEST_CASE(tcs, basic); + ATF_ADD_TEST_CASE(tcs, ifname); + ATF_ADD_TEST_CASE(tcs, nonether); + ATF_ADD_TEST_CASE(tcs, overlong); +} From nobody Tue May 20 21:52:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b27Zy3DKSz5w38P; Tue, 20 May 2025 21:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b27Zy1mSkz3Ws8; Tue, 20 May 2025 21:52:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VQVosGq5QLX7BsiqwLDOVX1845RSx6hwBpvykOcE17g=; b=VVmfHupXu6OedFVNxN1zB2B3F1PGLOsabTU6DG86fHFQdhYE4R31aEU3tD4b2U/jkNHDVa MLnNwTAeaFro0OxbauiIzhY0A0frxdiHUUJLRzqsghYVwwfS1FsNu9rymAcD2pa+85Gher GRLAY02rP55mYFyQEeAuH34+oGuMtO9kVVYv500eBQ1T0uy0wtViTkXlXyV+v44intGBRf 2Vlg7i4aJcc6fUnDA6DlD58NoKEoXzzg/LWniN4FohynrC7OIjIpVNSVGGU4W2hkEWOEEL jKb012L5iuKImv95f3/tqxfEOg3a0hsYh3nqe2J4n8mlMYoir7CR/0NFVLp8Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VQVosGq5QLX7BsiqwLDOVX1845RSx6hwBpvykOcE17g=; b=cSCwuLKv8XkUSrYM7V/VAuUr7fhkY2nKCr+2fsUbkxJMdvAI4KBNQKV8hesYwooX/13t/f RTz3unj1i60wiRf+JddJCOx4AOWC6TZxWogSZKCZObs4re9Ad+93plnvLe4Ub+p32VY5JS lN0Fi27yOGZJST2vEOnz8RErSfQEFHeqg2HLuhASKT3HJubg5D2nB3cQaOumYSb210ztAa XRDAWQUPIBWiuTCOwmtEQzHkXZlSZXPNVO0IPyjwTlBYrNCmQTMPXDHb+eAeVDlwWhzzZL 8kGi+cfKkhl4MbnFyl87ZdhacTqnrZLdKpnZVABBLgFIiiO+w5K8Nnu4U4kGgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747777978; a=rsa-sha256; cv=none; b=C5cHLK0j3ukqc53AeJVY9JLWR0MlmeYnvSj/XhGFH9PFZzFk5N3ymiUS6vptKWRSg1Ck7p ahCFc3ydaKJ9HWFwOokyzPJlawRCVeVhrhjlRp3zSp8a+lelCRm74uB1fJaCA5bI9zL12g GWGYJrc/NeMXTPbSUZ95KcbENTztgMIe9W6kbvvk6x10N6PDx7taMruS5HRxDlZsFNV2/I SD8p7imR+yTnIyn12aIaT6n+zzjTpe+yUWHEkMp7zaIsMBPI+60O1K0Z1La7C/og4KSY8m UyAy+P2u44asqrOhm3XmtmStNHKBJQOoWb/WmGyHtPnaohPwPSG0UHJ4dHT6Kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b27Zy1FWrz16Rr; Tue, 20 May 2025 21:52:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KLqwxu039743; Tue, 20 May 2025 21:52:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KLqwmw039740; Tue, 20 May 2025 21:52:58 GMT (envelope-from git) Date: Tue, 20 May 2025 21:52:58 GMT Message-Id: <202505202152.54KLqwmw039740@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 02a07676c382 - stable/14 - libc: add link_ntoa_r() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 02a07676c382836917b711d2b523b49b9a879183 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=02a07676c382836917b711d2b523b49b9a879183 commit 02a07676c382836917b711d2b523b49b9a879183 Author: Lexi Winter AuthorDate: 2025-05-07 09:34:08 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:49:52 +0000 libc: add link_ntoa_r() this is a re-entrant version of link_ntoa. use an in-out parameter for the buffer size, so the user requires at most two calls to determine the needed size. reimplement link_ntoa using link_ntoa_r with a static buffer. Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50202 (cherry picked from commit da509c29089ab169b667ebdf82aa903987ba9c6d) --- lib/libc/net/Makefile.inc | 7 ++- lib/libc/net/Symbol.map | 4 ++ lib/libc/net/linkaddr.3 | 45 +++++++++++++- lib/libc/net/linkaddr.c | 110 ++++++++++++++++++++++++++-------- lib/libc/tests/net/link_addr_test.cc | 111 +++++++++++++++++++++++++++++++++++ sys/net/if_dl.h | 1 + 6 files changed, 249 insertions(+), 29 deletions(-) diff --git a/lib/libc/net/Makefile.inc b/lib/libc/net/Makefile.inc index ea5ddf875151..18ca2c3b8df1 100644 --- a/lib/libc/net/Makefile.inc +++ b/lib/libc/net/Makefile.inc @@ -108,8 +108,11 @@ MLINKS+=inet6_opt_init.3 inet6_opt_append.3 \ inet6_rthdr_space.3 inet6_rthdr_lasthop.3 \ inet6_rthdr_space.3 inet6_rthdr_reverse.3 \ inet6_rthdr_space.3 inet6_rthdr_segments.3 -MLINKS+=linkaddr.3 link_addr.3 linkaddr.3 link_ntoa.3 -MLINKS+=rcmd.3 iruserok.3 rcmd.3 iruserok_sa.3 \ +MLINKS+=linkaddr.3 link_addr.3 \ + linkaddr.3 link_ntoa.3 \ + linkaddr.3 link_ntoa_r.3 +MLINKS+=rcmd.3 iruserok.3 \ + rcmd.3 iruserok_sa.3 \ rcmd.3 rcmd_af.3 \ rcmd.3 rresvport.3 rcmd.3 rresvport_af.3 \ rcmd.3 ruserok.3 diff --git a/lib/libc/net/Symbol.map b/lib/libc/net/Symbol.map index 4831868c0e55..784f83a90bb9 100644 --- a/lib/libc/net/Symbol.map +++ b/lib/libc/net/Symbol.map @@ -149,6 +149,10 @@ FBSD_1.3 { sctp_sendv; }; +FBSD_1.8 { + link_ntoa_r; +}; + FBSDprivate_1.0 { _nsdispatch; _nsyyerror; /* generated from nslexer.l */ diff --git a/lib/libc/net/linkaddr.3 b/lib/libc/net/linkaddr.3 index 6c2fb6ccfdc3..c91a50c9b5b9 100644 --- a/lib/libc/net/linkaddr.3 +++ b/lib/libc/net/linkaddr.3 @@ -30,12 +30,13 @@ .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 .\" -.Dd February 28, 2007 +.Dd May 7, 2025 .Dt LINK_ADDR 3 .Os .Sh NAME .Nm link_addr , -.Nm link_ntoa +.Nm link_ntoa , +.Nm link_ntoa_r .Nd elementary address specification routines for link level access .Sh LIBRARY .Lb libc @@ -47,12 +48,15 @@ .Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" .Ft char * .Fn link_ntoa "const struct sockaddr_dl *sdl" +.Ft int +.Fn link_ntoa_r "const struct sockaddr_dl *sdl" "char *obuf" "size_t *buflen" .Sh DESCRIPTION The routine .Fn link_addr interprets character strings representing link-level addresses, returning binary information suitable for use in system calls. +.Pp The routine .Fn link_ntoa takes @@ -62,9 +66,34 @@ address and returns an string representing some of the information present, including the link level address itself, and the interface name or number, if present. +The returned string is stored in a static buffer. This facility is experimental and is still subject to change. .Pp +The routine +.Fn link_ntoa_r +behaves like +.Fn link_ntoa , +except the string is placed in the provided buffer instead of a static +buffer. +The caller should initialize +.Fa buflen +to the number of bytes available in +.Fa obuf . +On return, +.Fa buflen +is set to the actual number of bytes required for the output buffer, +including the NUL terminator. +If +.Fa obuf +is NULL, then +.Fa buflen +is set as described, but nothing is written. +This may be used to determine the required length of the buffer before +calling +.Fn link_ntoa_r +a second time. +.Pp For .Fn link_addr , the string @@ -96,6 +125,14 @@ The .Fn link_ntoa function always returns a null terminated string. +.Pp +The +.Fn link_ntoa_r +function returns 0 on success, or -1 if the provided buffer was not +large enough; in the latter case, the contents of the buffer are +indeterminate, but a trailing NUL will always be written if the buffer +was at least one byte in size. +.Pp The .Fn link_addr function @@ -111,6 +148,10 @@ and .Fn link_ntoa functions appeared in .Bx 4.3 Reno . +The +.Fn link_ntoa_r +function appeared in +.Fx 15.0 . .Sh BUGS The returned values for link_ntoa reside in a static memory area. diff --git a/lib/libc/net/linkaddr.c b/lib/libc/net/linkaddr.c index 5cff503331db..47ec378d5fd8 100644 --- a/lib/libc/net/linkaddr.c +++ b/lib/libc/net/linkaddr.c @@ -34,8 +34,12 @@ static char sccsid[] = "@(#)linkaddr.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include #include + #include #include + +#include +#include #include /* States*/ @@ -116,53 +120,109 @@ link_addr(const char *addr, struct sockaddr_dl *sdl) return; } -static const char hexlist[] = "0123456789abcdef"; - char * link_ntoa(const struct sockaddr_dl *sdl) { static char obuf[64]; + size_t buflen; _Static_assert(sizeof(obuf) >= IFNAMSIZ + 20, "obuf is too small"); + + /* + * Ignoring the return value of link_ntoa_r() is safe here because it + * always writes the terminating NUL. This preserves the traditional + * behaviour of link_ntoa(). + */ + buflen = sizeof(obuf); + (void)link_ntoa_r(sdl, obuf, &buflen); + return obuf; +} + +int +link_ntoa_r(const struct sockaddr_dl *sdl, char *obuf, size_t *buflen) +{ + static const char hexlist[] = "0123456789abcdef"; char *out; const u_char *in, *inlim; int namelen, i, rem; + size_t needed; - namelen = (sdl->sdl_nlen <= IFNAMSIZ) ? sdl->sdl_nlen : IFNAMSIZ; + assert(sdl); + assert(buflen); + /* obuf may be null */ + needed = 1; /* 1 for the NUL */ out = obuf; - rem = sizeof(obuf); + if (obuf) + rem = *buflen; + else + rem = 0; + +/* + * Check if at least n bytes are available in the output buffer, plus 1 for the + * trailing NUL. If not, set rem = 0 so we stop writing. + * Either way, increment needed by the amount we would have written. + */ +#define CHECK(n) do { \ + if ((SIZE_MAX - (n)) >= needed) \ + needed += (n); \ + if (rem >= ((n) + 1)) \ + rem -= (n); \ + else \ + rem = 0; \ + } while (0) + +/* + * Write the char c to the output buffer, unless the buffer is full. + * Note that if obuf is NULL, rem is always zero. + */ +#define OUT(c) do { \ + if (rem > 0) \ + *out++ = (c); \ + } while (0) + + namelen = (sdl->sdl_nlen <= IFNAMSIZ) ? sdl->sdl_nlen : IFNAMSIZ; if (namelen > 0) { - bcopy(sdl->sdl_data, out, namelen); - out += namelen; - rem -= namelen; + CHECK(namelen); + if (rem > 0) { + bcopy(sdl->sdl_data, out, namelen); + out += namelen; + } + if (sdl->sdl_alen > 0) { - *out++ = ':'; - rem--; + CHECK(1); + OUT(':'); } } - in = (const u_char *)sdl->sdl_data + sdl->sdl_nlen; + in = (const u_char *)LLADDR(sdl); inlim = in + sdl->sdl_alen; - while (in < inlim && rem > 1) { - if (in != (const u_char *)sdl->sdl_data + sdl->sdl_nlen) { - *out++ = '.'; - rem--; + while (in < inlim) { + if (in != (const u_char *)LLADDR(sdl)) { + CHECK(1); + OUT('.'); } i = *in++; if (i > 0xf) { - if (rem < 3) - break; - *out++ = hexlist[i >> 4]; - *out++ = hexlist[i & 0xf]; - rem -= 2; + CHECK(2); + OUT(hexlist[i >> 4]); + OUT(hexlist[i & 0xf]); } else { - if (rem < 2) - break; - *out++ = hexlist[i]; - rem--; + CHECK(1); + OUT(hexlist[i]); } } - *out = 0; - return (obuf); + +#undef CHECK +#undef OUT + + /* + * We always leave enough room for the NUL if possible, but the user + * might have passed a NULL or zero-length buffer. + */ + if (out && *buflen) + *out = '\0'; + + *buflen = needed; + return ((rem > 0) ? 0 : -1); } diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc index 6b9f5a841ef7..ea8f64c6723b 100644 --- a/lib/libc/tests/net/link_addr_test.cc +++ b/lib/libc/tests/net/link_addr_test.cc @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -262,10 +263,120 @@ ATF_TEST_CASE_BODY(overlong) ::link_ntoa(&sdl)); } +/* + * Test link_ntoa_r, the re-entrant version of link_ntoa(). + */ +ATF_TEST_CASE_WITHOUT_HEAD(link_ntoa_r) +ATF_TEST_CASE_BODY(link_ntoa_r) +{ + static constexpr char garbage = 0x41; + std::vector buf; + sockaddr_dl sdl; + size_t len; + int ret; + + // Return the contents of buf as a string, using the NUL terminator to + // determine length. This is to ensure we're using the return value in + // the same way C code would, but we do a bit more verification to + // elicit a test failure rather than a SEGV if it's broken. + auto bufstr = [&buf]() -> std::string_view { + // Find the NUL. + auto end = std::ranges::find(buf, '\0'); + ATF_REQUIRE(end != buf.end()); + + // Intentionally chopping the NUL off. + return {begin(buf), end}; + }; + + // Resize the buffer and set the contents to a known garbage value, so + // we don't accidentally have a NUL in the right place when link_ntoa_r + // didn't put it there. + auto resetbuf = [&buf, &len](std::size_t size) { + len = size; + buf.resize(len); + std::ranges::fill(buf, garbage); + }; + + // Test a short address with a large buffer. + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(64); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ(10, len); + ATF_REQUIRE_EQ("ix0:1.2.3"s, bufstr()); + + // Test a buffer which is exactly the right size. + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(10); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ(10, len); + ATF_REQUIRE_EQ("ix0:1.2.3"sv, bufstr()); + + // Test various short buffers, using a table of buffer length and the + // output we expect. All of these should produce valid but truncated + // strings, with a trailing NUL and with buflen set correctly. + + auto buftests = std::vector>{ + {1u, ""sv}, + {2u, ""sv}, + {3u, ""sv}, + {4u, "ix0"sv}, + {5u, "ix0:"sv}, + {6u, "ix0:1"sv}, + {7u, "ix0:1."sv}, + {8u, "ix0:1.2"sv}, + {9u, "ix0:1.2."sv}, + }; + + for (auto const &[buflen, expected] : buftests) { + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(buflen); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + ATF_REQUIRE_EQ(expected, bufstr()); + } + + // Test a NULL buffer, which should just set buflen. + sdl = make_linkaddr("ix0:1.2.3"); + len = 0; + ret = ::link_ntoa_r(&sdl, NULL, &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + + // A NULL buffer with a non-zero length should also be accepted. + sdl = make_linkaddr("ix0:1.2.3"); + len = 64; + ret = ::link_ntoa_r(&sdl, NULL, &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + + // Test a non-NULL buffer, but with a length of zero. + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(1); + len = 0; + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + // Check we really didn't write anything. + ATF_REQUIRE_EQ(garbage, buf[0]); + + // Test a buffer which would be truncated in the middle of a two-digit + // hex octet, which should not write the truncated octet at all. + sdl = make_linkaddr("ix0:1.22.3"); + resetbuf(8); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(11, len); + ATF_REQUIRE_EQ("ix0:1."sv, bufstr()); +} + ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, basic); ATF_ADD_TEST_CASE(tcs, ifname); ATF_ADD_TEST_CASE(tcs, nonether); ATF_ADD_TEST_CASE(tcs, overlong); + ATF_ADD_TEST_CASE(tcs, link_ntoa_r); } diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index 31579efdeda4..80a5f452f024 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -87,6 +87,7 @@ struct sockaddr_dl *link_init_sdl(struct ifnet *, struct sockaddr *, u_char); __BEGIN_DECLS void link_addr(const char *, struct sockaddr_dl *); char *link_ntoa(const struct sockaddr_dl *); +int link_ntoa_r(const struct sockaddr_dl *, char *, size_t *); __END_DECLS #endif /* !_KERNEL */ From nobody Tue May 20 21:52:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b27Zz5FsNz5w34p; Tue, 20 May 2025 21:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b27Zz2cbKz3XH9; Tue, 20 May 2025 21:52:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7K7dj5EO0OwK3oQGPJkvsFTuTY0EyBwBzrP2T3dqUwI=; b=YIIJZdqEZwOxlQu7x6olk0Xg3suAhcarxTV/UNGnnlhaApuBcxYcfobx5HuB1cAHWZBYHn tAfoxagUrNH95HpOMlAn+8jlBSzCVdKl14tBOoHf1Ahdb+Km1TSruI1dDysUYIzmawrI8T spUIrYcUoByMlNUrlSeOqHdMZVEtAf4dSgXHA9URxi/7Qghl+BTiMsdphkkRyXS7TsueFk tru8SWGp6sGkxb1mcJ02EdAiqLMHMt3KgPDWEEAA34VXp0hCj7cBEZBG/6YW2UoiYtZMyv LhPJoFtZWCvI8rn6XlteHWJrosaYuW5kt6K60Z0VAG/KjGSkV9l8wvPBdOg/AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7K7dj5EO0OwK3oQGPJkvsFTuTY0EyBwBzrP2T3dqUwI=; b=Yqn3WkRsbA5sl8cEOWiBLtvvQ5B0Iy7zEsMkprC7OpeJzEDghUmQX2jQ+5PDjXWvo7nEd5 DOG95S4DfjkJZ524WkBLwBCNE3sw+ViNO1Ei6iKWdJBAMDvPHg1Hgq/jVLu9ViIUKTOAi9 Isi5G1LbcEG8a4dtP6zxdBQVnrR9P/mi1I/kyEHEc2ahyfYOIgPsJSiJqUZezeZ1Ymn0+v 03MQChy80cQ7nm+3xg06EB7soyzcctDg6qF8/EtiD9EP95zx8GW0O2PyOVSyrsUUnU7uc0 GursIZZmFqcLpCbo6II5dLGEaXA3fBGVGdda3vH2bp+GtTTBFWTACgpAOkEbhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747777979; a=rsa-sha256; cv=none; b=BbHMOnYiV+kyCRuUFsZQusW6zRtM+5wFUGv0R8rr0yVd+whqfjxGo3JV+33OJmGpTK5ZSb TQGKEJcdOsN4uvjzyfpNVFvWVyLxCYSuBS7iQoMY5sZnSowXDoRvdGXJOjn8FXQkfPuB7q 38Qf2MNxwqNySphjBY7OA11YpXibc6s2wXuYKsDrJ+96Qq2C5rTOG+sRlU5+bZIqZxTzO7 6aRa3WpJ3QPpH8cLCnDbqmcQgBHdWqirpHcWXi1QgtJdVv8bl3ajhizCe/g6/uPjwAqZQa px0UzZeZO5DvexkkNp7NpDRWFvDpzgjtvHGq+f/7YAna3mE8Jr1PcwAb2VdWmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b27Zz2C3Gz16Rs; Tue, 20 May 2025 21:52:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KLqxT1039777; Tue, 20 May 2025 21:52:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KLqxqf039774; Tue, 20 May 2025 21:52:59 GMT (envelope-from git) Date: Tue, 20 May 2025 21:52:59 GMT Message-Id: <202505202152.54KLqxqf039774@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 904876790cc5 - stable/14 - net/if_dl.h: add param names in prototypes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 904876790cc5cf86cdce3a2ca11541bae244d73b Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=904876790cc5cf86cdce3a2ca11541bae244d73b commit 904876790cc5cf86cdce3a2ca11541bae244d73b Author: Lexi Winter AuthorDate: 2025-05-09 21:34:16 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:49:52 +0000 net/if_dl.h: add param names in prototypes previously these _KERNEL functions were inconsistent, with some having parameter names and some not. fix this by giving them all names, per style(9). Reviewed by: thj, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50219 (cherry picked from commit 8c7d193e3cbe3d1c9a7f7869f1748bebefabaccf) --- sys/net/if_dl.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index 80a5f452f024..5338f3a228d5 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -76,9 +76,10 @@ struct sockaddr_dl { #ifdef _KERNEL struct ifnet; -struct sockaddr_dl *link_alloc_sdl(size_t, int); +struct sockaddr_dl *link_alloc_sdl(size_t size, int flags); void link_free_sdl(struct sockaddr *sa); -struct sockaddr_dl *link_init_sdl(struct ifnet *, struct sockaddr *, u_char); +struct sockaddr_dl *link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, + u_char iftypes); #else /* !_KERNEL */ From nobody Tue May 20 21:53:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b27b06hJ8z5w34q; Tue, 20 May 2025 21:53:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b27b03VlXz3XHM; Tue, 20 May 2025 21:53:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HSzPBpNeLU7pUDzhqNtucP6Sr270EIBGi8u3K6uSaSQ=; b=cUOjQu7X1MnfKrKVrAhVVGTLRX4fXhKBSTxUS8drLgXCoRt677vA7t0Ahw0nfMuekYJq5r QtfIduWQNEe59jLVdIoP3WR1A7F9Sy8bo4z3UAkwjzku4vR5xuVVxE4afTm8HxqKl19tPx 94ZBg78KthA/n/VPyP6We3eYDYRUSdtIavDaSjxGSPPXNWN87fd5VjL1Wn3/2G6d/SBq00 HZheBLRRmakgS/6s/NQ6d8+P2tHDNThCSMNQIuE3T++3lO/5QfEGtdD5Wjob0eUA4cp2mL GKgz7LDjFjcHQre1cWPve6kUwYK/knAyOSryF6EWdgPC2Y+Do0ViEAzA4hD1eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747777980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HSzPBpNeLU7pUDzhqNtucP6Sr270EIBGi8u3K6uSaSQ=; b=uRaScD6UiP23Jpqzsw31Xuao12halKeZV2yKrh9ymCDOEmcxiVgooow+8q5FA9TmHOntQD eupZADJprSWseqiIjGok5dyO/Vzo5KDBOR0Z1yVEfRorc1Lcl1xoozdep1gFI68Sj28s3P NAdFs4UL4/w4Dw8wTMDEwRBwv4OSPRa2WV954cmYCQagN0SpgeS+7AV+/UUiaOPPf6n3SY WM8mOJTHPFrt4DxtmjKCYYshaTDNXvKhWxDcURarsIAyeETpjDP0sliFZqAm6FG/jqGgiW qKViO1Rec0idOOI8RsQYNjYwbfHZF6qDbFQ7fBt/OmvPnEI5754gT0CCwpJtHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747777980; a=rsa-sha256; cv=none; b=lD5ZQW4I4ZlvR/Xt38QHfJbcf6TFbwNcaosWfc3lxAefb5TjkbnFb9y3hhBcn+3f0TKwRf LhtLxqmfMdnAi/xk4P2jxPsNxU42zQwnXgQzYB1SoPk6tGzDBPGFfu0z97iz33WTz9873x 3qo/M52ezcHo4e70nH1FN1wdYoh4sQ7BoAM+12+0sQhJO/8VzbtQWPCzcHBsU7twoTaZl8 S0qIeB8D7HbMX4oAZXEED0WbdTpRmwXMdBwJ5VXv5iu2Q5cRP0jpHg+ZuVU0gnsa4Wu4jx RlqLG0TYHjDR1ib6ghaLOMrjGmfFzi4JIvpGOGh2VSTZOwSgwXCodCq8bRg6kA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b27b02zKHz16Hx; Tue, 20 May 2025 21:53:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KLr0jT039818; Tue, 20 May 2025 21:53:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KLr0ww039815; Tue, 20 May 2025 21:53:00 GMT (envelope-from git) Date: Tue, 20 May 2025 21:53:00 GMT Message-Id: <202505202153.54KLr0ww039815@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 37303e96528e - stable/14 - link_addr: be more strict about address formats List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 37303e96528e3c4662a464cfc778ddaa5194a3d1 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=37303e96528e3c4662a464cfc778ddaa5194a3d1 commit 37303e96528e3c4662a464cfc778ddaa5194a3d1 Author: Lexi Winter AuthorDate: 2025-05-14 22:02:59 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:49:52 +0000 link_addr: be more strict about address formats instead of accepting any character as a delimiter, only accept ':', '.' and '-', and only permit a single delimiter in an address. this prevents accepting bizarre addresses like: ifconfig epair2a link 10.1.2.200/28 ... which is particularly problematic on an INET6-only system, in which case ifconfig defaults to the 'link' family, meaning that: ifconfig epair2a 10.1.2.200/28 ... changes the Ethernet address of the interface. bump __FreeBSD_version so link_addr() consumers can detect the change. Reviewed by: kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49936 (cherry picked from commit a1215090416b8afb346fb2ff5b38f25ba0134a3a) --- lib/libc/net/linkaddr.3 | 34 +++--- lib/libc/net/linkaddr.c | 198 +++++++++++++++++++++++------------ lib/libc/tests/net/link_addr_test.cc | 152 ++++++++++++++++++++++++++- sbin/ifconfig/af_link.c | 3 +- sys/net/if_dl.h | 2 +- sys/sys/param.h | 2 +- 6 files changed, 307 insertions(+), 84 deletions(-) diff --git a/lib/libc/net/linkaddr.3 b/lib/libc/net/linkaddr.3 index c91a50c9b5b9..ceb5c4a79e9a 100644 --- a/lib/libc/net/linkaddr.3 +++ b/lib/libc/net/linkaddr.3 @@ -30,7 +30,7 @@ .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 .\" -.Dd May 7, 2025 +.Dd May 9, 2025 .Dt LINK_ADDR 3 .Os .Sh NAME @@ -44,7 +44,7 @@ .In sys/types.h .In sys/socket.h .In net/if_dl.h -.Ft void +.Ft int .Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" .Ft char * .Fn link_ntoa "const struct sockaddr_dl *sdl" @@ -53,9 +53,19 @@ .Sh DESCRIPTION The routine .Fn link_addr -interprets character strings representing -link-level addresses, returning binary information suitable -for use in system calls. +parses a character string +.Fa addr +representing a link-level address, +and stores the resulting address in the structure pointed to by +.Fa sdl . +A link-level address consists of an optional interface name, followed by +a colon (which is required in all cases), followed by an address +consisting of either a string of hexadecimal digits, or a series of +hexadecimal octets separated by one of the characters +.Sq "." , +.Sq ":" , +or +.Sq - . .Pp The routine .Fn link_ntoa @@ -135,10 +145,11 @@ was at least one byte in size. .Pp The .Fn link_addr -function -has no return value. -(See -.Sx BUGS . ) +function returns 0 on success. +If the address did not appear to be a valid link-level address, -1 is +returned and +.Va errno +is set to indicate the error. .Sh SEE ALSO .Xr getnameinfo 3 .Sh HISTORY @@ -156,11 +167,6 @@ function appeared in The returned values for link_ntoa reside in a static memory area. .Pp -The function -.Fn link_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. -.Pp If the .Va sdl_len field of the link socket address diff --git a/lib/libc/net/linkaddr.c b/lib/libc/net/linkaddr.c index 47ec378d5fd8..44986bd6aa99 100644 --- a/lib/libc/net/linkaddr.c +++ b/lib/libc/net/linkaddr.c @@ -39,87 +39,153 @@ static char sccsid[] = "@(#)linkaddr.c 8.1 (Berkeley) 6/4/93"; #include #include +#include #include #include -/* States*/ -#define NAMING 0 -#define GOTONE 1 -#define GOTTWO 2 -#define RESET 3 -/* Inputs */ -#define DIGIT (4*0) -#define END (4*1) -#define DELIM (4*2) -#define LETTER (4*3) - -void +int link_addr(const char *addr, struct sockaddr_dl *sdl) { char *cp = sdl->sdl_data; char *cplim = sdl->sdl_len + (char *)sdl; - int byte = 0, state = NAMING, new; + const char *nptr; + size_t newsize; + int error = 0; + char delim = 0; + /* Initialise the sdl to zero, except for sdl_len. */ bzero((char *)&sdl->sdl_family, sdl->sdl_len - 1); sdl->sdl_family = AF_LINK; - do { - state &= ~LETTER; - if ((*addr >= '0') && (*addr <= '9')) { - new = *addr - '0'; - } else if ((*addr >= 'a') && (*addr <= 'f')) { - new = *addr - 'a' + 10; - } else if ((*addr >= 'A') && (*addr <= 'F')) { - new = *addr - 'A' + 10; - } else if (*addr == 0) { - state |= END; - } else if (state == NAMING && - (((*addr >= 'A') && (*addr <= 'Z')) || - ((*addr >= 'a') && (*addr <= 'z')))) - state |= LETTER; - else - state |= DELIM; - addr++; - switch (state /* | INPUT */) { - case NAMING | DIGIT: - case NAMING | LETTER: - *cp++ = addr[-1]; - continue; - case NAMING | DELIM: - state = RESET; - sdl->sdl_nlen = cp - sdl->sdl_data; - continue; - case GOTTWO | DIGIT: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | DIGIT: - state = GOTONE; - byte = new; - continue; - case GOTONE | DIGIT: - state = GOTTWO; - byte = new + (byte << 4); - continue; - default: /* | DELIM */ - state = RESET; - *cp++ = byte; - byte = 0; - continue; - case GOTONE | END: - case GOTTWO | END: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | END: + + /* + * Everything up to the first ':' is the interface name. Usually the + * ':' should always be present even if there's no interface name, but + * since this interface was poorly specified in the past, accept a + * missing colon as meaning no interface name. + */ + if ((nptr = strchr(addr, ':')) != NULL) { + size_t namelen = nptr - addr; + + /* Ensure the sdl is large enough to store the name. */ + if (namelen > cplim - cp) { + errno = ENOSPC; + return (-1); + } + + memcpy(cp, addr, namelen); + cp += namelen; + sdl->sdl_nlen = namelen; + /* Skip the interface name and the colon. */ + addr += namelen + 1; + } + + /* + * The remainder of the string should be hex digits representing the + * address, with optional delimiters. Each two hex digits form one + * octet, but octet output can be forced using a delimiter, so we accept + * a long string of hex digits, or a mix of delimited and undelimited + * digits like "1122.3344.5566", or delimited one- or two-digit octets + * like "1.22.3". + * + * If anything fails at this point, exit the loop so we set sdl_alen and + * sdl_len based on whatever we did manage to parse. This preserves + * compatibility with the 4.3BSD version of link_addr, which had no way + * to indicate an error and would just return. + */ +#define DIGIT(c) \ + (((c) >= '0' && (c) <= '9') ? ((c) - '0') \ + : ((c) >= 'a' && (c) <= 'f') ? ((c) - 'a' + 10) \ + : ((c) >= 'A' && (c) <= 'F') ? ((c) - 'A' + 10) \ + : (-1)) +#define ISDELIM(c) (((c) == '.' || (c) == ':' || (c) == '-') && \ + (delim == 0 || delim == (c))) + + for (;;) { + int digit, digit2; + + /* + * Treat any leading delimiters as empty bytes. This supports + * the (somewhat obsolete) form of Ethernet addresses with empty + * octets, e.g. "1::3:4:5:6". + */ + while (ISDELIM(*addr) && cp < cplim) { + delim = *addr++; + *cp++ = 0; + } + + /* Did we reach the end of the string? */ + if (*addr == '\0') + break; + + /* + * If not, the next character must be a digit, so make sure we + * have room for at least one more octet. + */ + + if (cp >= cplim) { + error = ENOSPC; break; } - break; - } while (cp < cplim); + + if ((digit = DIGIT(*addr)) == -1) { + error = EINVAL; + break; + } + + ++addr; + + /* If the next character is another digit, consume it. */ + if ((digit2 = DIGIT(*addr)) != -1) { + digit = (digit << 4) | digit2; + ++addr; + } + + if (ISDELIM(*addr)) { + /* + * If the digit is followed by a delimiter, write it + * and consume the delimiter. + */ + delim = *addr++; + *cp++ = digit; + } else if (DIGIT(*addr) != -1) { + /* + * If two digits are followed by a third digit, treat + * the two digits we have as a single octet and + * continue. + */ + *cp++ = digit; + } else if (*addr == '\0') { + /* If the digit is followed by EOS, we're done. */ + *cp++ = digit; + break; + } else { + /* Otherwise, the input was invalid. */ + error = EINVAL; + break; + } + } +#undef DIGIT +#undef ISDELIM + + /* How many bytes did we write to the address? */ sdl->sdl_alen = cp - LLADDR(sdl); - new = cp - (char *)sdl; - if (new > sizeof(*sdl)) - sdl->sdl_len = new; - return; + + /* + * The user might have given us an sdl which is larger than sizeof(sdl); + * in that case, record the actual size of the new sdl. + */ + newsize = cp - (char *)sdl; + if (newsize > sizeof(*sdl)) + sdl->sdl_len = (u_char)newsize; + + if (error == 0) + return (0); + + errno = error; + return (-1); } + char * link_ntoa(const struct sockaddr_dl *sdl) { diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc index ea8f64c6723b..b973b924dc13 100644 --- a/lib/libc/tests/net/link_addr_test.cc +++ b/lib/libc/tests/net/link_addr_test.cc @@ -71,10 +71,12 @@ sockaddr_dl make_linkaddr(const std::string &addr) { auto sdl = sockaddr_dl{}; + int ret; sdl.sdl_len = sizeof(sdl); - ::link_addr(addr.c_str(), &sdl); + ret = ::link_addr(addr.c_str(), &sdl); + ATF_REQUIRE_EQ(0, ret); ATF_REQUIRE_EQ(AF_LINK, static_cast(sdl.sdl_family)); ATF_REQUIRE_EQ(true, sdl.sdl_len > 0); ATF_REQUIRE_EQ(true, sdl.sdl_nlen >= 0); @@ -176,6 +178,10 @@ std::vector test_addresses{ {"aa:bb:cc:dd:ee:ff"s, "aa.bb.cc.dd.ee.ff", ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, + + // Address with a blank octet; this is an old form of Ethernet address. + {"00:11::33:44:55"s, "0.11.0.33.44.55", + ether_addr{0x00, 0x11, 0x00, 0x33, 0x44, 0x55}}, }; /* @@ -219,6 +225,43 @@ ATF_TEST_CASE_BODY(ifname) } +/* + * Test with some invalid addresses. + */ +ATF_TEST_CASE_WITHOUT_HEAD(invalid) +ATF_TEST_CASE_BODY(invalid) +{ + auto const invalid_addresses = std::vector{ + // Invalid separator + ":1/2/3"s, + "ix0:1/2/3"s, + + // Multiple different separators + ":1.2-3"s, + "ix0:1.2-3"s, + + // An IP address + ":10.1.2.200/28"s, + "ix0:10.1.2.200/28"s, + + // Valid address followed by garbage + ":1.2.3xxx"s, + ":1.2.3.xxx"s, + "ix0:1.2.3xxx"s, + "ix0:1.2.3.xxx"s, + }; + + for (auto const &addr : invalid_addresses) { + int ret; + + auto sdl = sockaddr_dl{}; + sdl.sdl_len = sizeof(sdl); + + ret = link_addr(addr.c_str(), &sdl); + ATF_REQUIRE_EQ(-1, ret); + } +} + /* * Test some non-Ethernet addresses. */ @@ -245,6 +288,111 @@ ATF_TEST_CASE_BODY(nonether) lladdr(sdl))); } +/* + * Test link_addr behaviour with undersized buffers. + */ +ATF_TEST_CASE_WITHOUT_HEAD(smallbuf) +ATF_TEST_CASE_BODY(smallbuf) +{ + static constexpr auto garbage = std::byte{0xcc}; + auto buf = std::vector(); + sockaddr_dl *sdl; + int ret; + + /* + * Make an sdl with an sdl_data member of the appropriate size, and + * place it in buf. Ensure it's followed by a trailing byte of garbage + * so we can test that link_addr doesn't write past the end. + */ + auto mksdl = [&buf](std::size_t datalen) -> sockaddr_dl * { + auto actual_size = datalen + offsetof(sockaddr_dl, sdl_data); + + buf.resize(actual_size + 1); + std::ranges::fill(buf, garbage); + + auto *sdl = new(reinterpret_cast(&buf[0])) + sockaddr_dl; + sdl->sdl_len = actual_size; + return (sdl); + }; + + /* An sdl large enough to store the interface name */ + sdl = mksdl(3); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(3, sdl->sdl_nlen); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + /* + * For these tests, test both with and without an interface name, since + * that will overflow the buffer in different places. + */ + + /* An empty sdl. Nothing may grow on this cursed ground. */ + + sdl = mksdl(0); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(0, sdl->sdl_nlen); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + sdl = mksdl(0); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(0, sdl->sdl_nlen); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + /* + * An sdl large enough to store the interface name and two octets of the + * address. + */ + + sdl = mksdl(5); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02 }, lladdr(*sdl))); + + sdl = mksdl(2); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ("", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02 }, lladdr(*sdl))); + + /* + * An sdl large enough to store the entire address. + */ + + sdl = mksdl(6); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02, 0x03 }, lladdr(*sdl))); + + sdl = mksdl(3); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ("", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02, 0x03 }, lladdr(*sdl))); +} + /* * Test an extremely long address which would overflow link_ntoa's internal * buffer. It should handle this by truncating the output. @@ -376,6 +524,8 @@ ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, basic); ATF_ADD_TEST_CASE(tcs, ifname); + ATF_ADD_TEST_CASE(tcs, smallbuf); + ATF_ADD_TEST_CASE(tcs, invalid); ATF_ADD_TEST_CASE(tcs, nonether); ATF_ADD_TEST_CASE(tcs, overlong); ATF_ADD_TEST_CASE(tcs, link_ntoa_r); diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index 6c23f7016806..be58a22c0e66 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -221,7 +221,8 @@ link_getaddr(const char *addr, int which) temp[0] = ':'; strcpy(temp + 1, addr); sdl.sdl_len = sizeof(sdl); - link_addr(temp, &sdl); + if (link_addr(temp, &sdl) == -1) + errx(1, "malformed link-level address"); free(temp); } if (sdl.sdl_alen > sizeof(sa->sa_data)) diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index 5338f3a228d5..411592a696df 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -86,7 +86,7 @@ struct sockaddr_dl *link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, #include __BEGIN_DECLS -void link_addr(const char *, struct sockaddr_dl *); +int link_addr(const char *, struct sockaddr_dl *); char *link_ntoa(const struct sockaddr_dl *); int link_ntoa_r(const struct sockaddr_dl *, char *, size_t *); __END_DECLS diff --git a/sys/sys/param.h b/sys/sys/param.h index 6d83f378d318..fc418aac90a5 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1403500 +#define __FreeBSD_version 1403501 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Tue May 20 22:59:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b293z4tbcz5w7mX; Tue, 20 May 2025 22:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b293z4BfQz3dgb; Tue, 20 May 2025 22:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747781983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liTqlFx+Ee6C/bhc+7viwzsRmSKkMEnt7iB38eE9XTg=; b=E2FGYQF0DRAFsDEclrOPlC5gWBi60YXHjEL8T7KPw7EFEaEh/Hd+3Pf+T1PIfy9Cc/YSzE BZq9zrwHtcmLVfxvKTVTc1yLNPJjKJfVV6mJddmv7+Me3iSS0iSHWv7MR7S2GYLeb6oJTg C3i6NKxxgLy7F6yKFV/sK+sfysxWfRfVbIShRzgRgJlsTeRlh8xB3Zq6mMYfj97knfgEB0 dzPxgCAhhrYdetOAMZIst0jjo/lWfrXEVj4e3p4PJsJaOk0t9CPhM8cFDr5ecfWI3/35Ej pysCfCUxvuCJNOgY0281ABaHPXVdXxJT1Rop2Ag47GiIyc15Qx5T+MGv6Gu8/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747781983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liTqlFx+Ee6C/bhc+7viwzsRmSKkMEnt7iB38eE9XTg=; b=k9eS+n1LM/YfnzmLWAIVd+nOKfLA+G/DnJw2GwEehYpEtwUoIEHTgu4WG2Auoamc+yS+qt LmlWfCk9arN+b/OgBsG1dR9gjxnjKlL480/raPu4O2Kds91sbVrW8YkXuBbFU4HCiRcZLo Qk3x+ECZ8/Pmxg9+0Wd14KQOGThb9/ktxNc3YtA+uMovFOXtJ464qT4hpi5dQ/Z9WvvxZf kHYJUFnC9yXzRUZBw/Fq3fmwRtnRmNVFEyxB2D6hY9ZDJyXKMX/VnXbmWuakZHNh0n+0e/ Lg+Lp4D7F4v4gzu65OucthOQ2ZhBLBqXlEE9EQB0rn7cDloAWk94tajiGYPO0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747781983; a=rsa-sha256; cv=none; b=FUo0Mv0Bq1gF3WStqB/hcSct/KzEdHT3KR7qe7GnDfW/EiiFKsGbnZqgADJjNC94NiT/QS PGNRN9PouKHgWEmVUd8ncJ2XXdFLISBxd8RdF0H6ClVRqBSOL78S9mrpqWcfhinzbNI89O xuCg72nD8LNvHr6PGokEdF6EekeNoGmMpCXnLLw/Rfm8m94M5FV806OQWLl7Krjdr9yGhl B1UsY4SMK486d7ZCQnZgHzxyue8PtgmC7PCWeegqHeumg0r31AF7hjIvLqcmaJII5n9QK7 xi0pnUYo/kGJ0CIoKYeNSLtgcyxiDOJnLKdat5Ls6KoqDBNxNydrBJeqBKg5+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b293z3R9Pz17y0; Tue, 20 May 2025 22:59:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KMxhjo053601; Tue, 20 May 2025 22:59:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KMxhl1053598; Tue, 20 May 2025 22:59:43 GMT (envelope-from git) Date: Tue, 20 May 2025 22:59:43 GMT Message-Id: <202505202259.54KMxhl1053598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: ac62b97951c2 - main - openssh: Add ${SKSRCS} to libssh List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac62b97951c25a33ec0880e574ccff31be7452f7 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=ac62b97951c25a33ec0880e574ccff31be7452f7 commit ac62b97951c25a33ec0880e574ccff31be7452f7 Author: Jose Luis Duran AuthorDate: 2025-05-20 22:58:23 +0000 Commit: Jose Luis Duran CommitDate: 2025-05-20 22:58:23 +0000 openssh: Add ${SKSRCS} to libssh sshkey.c references sshsk_sign(), which is defined in ${SKSRCS}. Due to how FreeBSD builds libssh, or put differently, due to upstream not building a shared libssh.so, we need to partially revert 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client everywhere"), and add ${SKSRCS} back, to avoid linking problems, especially when building with GCC: /usr/local/bin/ld: /usr/obj/usr/src/amd64.amd64/secure/lib/libssh/libprivatessh.so: undefined reference to `sshsk_sign' collect2: error: ld returned 1 exit status` Put the sources in a separate line, to maintain line-by-line compatibility with upstream Makefile.in PR: 286580 Reviewed by: emaste Approved by: emaste (mentor) Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client everywhere") Differential Revision: https://reviews.freebsd.org/D50020 --- secure/lib/libssh/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/secure/lib/libssh/Makefile b/secure/lib/libssh/Makefile index 39083d007675..35883d4a9d42 100644 --- a/secure/lib/libssh/Makefile +++ b/secure/lib/libssh/Makefile @@ -39,6 +39,9 @@ SRCS= ${LIBOPENSSH_SRCS} \ sftp-realpath.c platform-pledge.c platform-tracing.c platform-misc.c \ sshbuf-io.c +# Add ${SKSRCS} to avoid linking problems. +SRCS+= ${SKSRCS} + PACKAGE= ssh # Portability layer From nobody Tue May 20 23:51:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2BCR4wFjz5wC22; Tue, 20 May 2025 23:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2BCR2J0mz3k4r; Tue, 20 May 2025 23:51:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747785075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ScWVt/IvU1F6ibs3DkfxMdWPGtEBHEkf+8a8GaQprVg=; b=CrhsH5jljgDG1kaNJjBESEICITRI8qggVQC7R3Y48fnrgsoSp8U5bhQ/yYlyu/nn4yQt3c Jl5bSav3Jx9Tp9ZKYo1Tif+VgOdex67+hJl7iG3GSKSGxN0oofUfU6WCBSlRHPL4jjxG30 qn7NwysHJ5veSZdP4Up1m9PPkzaLj9kZ0UAJepLgp9Oa0+2FhNTCAIXB5l3KyEo+Yr2DWP tGrMgURW+ak2MTF29xNHpRsAfU34z3fdABstRQyVb6TS/7VURSKV9wDBPRE9CmTBDLojrC x7Hmk6X4u6R5qmCogzfMC7ik2AfopRjn2S+dyYuLQ8GuBlNXkuOSff9le3RVww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747785075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ScWVt/IvU1F6ibs3DkfxMdWPGtEBHEkf+8a8GaQprVg=; b=xZA9AG7ZQLdG1UmiU27Lyv8FqN4NN5ZC6CBgm3b7nUQjFfguMX//v0r+70Tbc+Mo0Lo8ts QiwL4VW8TBFxp//WrfQ6GDgIvBpCBx4Qpe1QICwnZIJvyCNzlYluLKdpB+7zrB6r6qnVKJ UJIa1St6BYMbrSTh7WHi5oY5eR+E62uZ4h3szzsNidxhR81oF2eTluFBqaNQrkj2su4SMS TtPK8KWUxuz7WCm9wiy2rLOhRm2L/jLzoeXKGavdL60HAWz3b80DFYtuxx+OEDS44CKhCB 4gjxcYNr45uw5SSmiSe3xqHHMJKtq5M0uJjNI1O5hXxSxQ8qYX6BGO02bSLRZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747785075; a=rsa-sha256; cv=none; b=ZHXLZR0PlUx5Og8mjcUV+GCsCY35k9woXQvUI2gARhTVdkBJAtRin/v9AE4CbOsG0Tvxcx RlQ1QoryXWdnaAAbV1sYaaUkpWOWb0ELPgSrQY9Qhw3pw7GHPWcL3rheK4zwSvQSZkFL6Z sf9Ou3UCLsy9cjT5q+fAHFMoysPUf0fMUgDKRM1ih9mrAWwNI1lTLsND2Qmb91ilO2xEGe 6vdjyCEK+mtji6VRv7gDu+FyiX0bYUWJo9o+pX3yDYLWhD3JOyMHh+ggYXGLOiI689T+yb Buo58PbFdjnJW92OHndR1iqgG1fFoy5HFVv4jcVYCzk/h6jfOtgQRJ7ZQA7Z8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2BCR1ktjz19f7; Tue, 20 May 2025 23:51:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KNpF2q058708; Tue, 20 May 2025 23:51:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KNpFWE058687; Tue, 20 May 2025 23:51:15 GMT (envelope-from git) Date: Tue, 20 May 2025 23:51:15 GMT Message-Id: <202505202351.54KNpFWE058687@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b044f125373e - main - gve: Use load-acquire to fetch generation bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b044f125373e05c20ca16edfd29cccad1f4025bd Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b044f125373e05c20ca16edfd29cccad1f4025bd commit b044f125373e05c20ca16edfd29cccad1f4025bd Author: Jasper Tran O'Leary AuthorDate: 2025-05-20 23:34:44 +0000 Commit: Mark Johnston CommitDate: 2025-05-20 23:50:59 +0000 gve: Use load-acquire to fetch generation bits When running the driver using the DQO queue format, we must load the generation bit and check it before possibly reading the rest of the descriptor's fields. Previously, we guarded against reordering of reads using an explicit thread fence. This commit changes the thread fence to a load with acquire semantics. Because the tx and rx generation fields are in a bitfield, we cannot explicitly address them in an atomic load. Instead we load the respective containing bytes in the descriptor and mask them appropriately. Signed-off-by: Jasper Tran O'Leary Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50384 --- sys/dev/gve/gve_adminq.h | 3 ++- sys/dev/gve/gve_dqo.h | 20 ++++++++++++++++---- sys/dev/gve/gve_rx_dqo.c | 24 +++++++++++++++++------- sys/dev/gve/gve_tx_dqo.c | 25 +++++++++++++++++-------- 4 files changed, 52 insertions(+), 20 deletions(-) diff --git a/sys/dev/gve/gve_adminq.h b/sys/dev/gve/gve_adminq.h index bc51046a3037..531a844f7d90 100644 --- a/sys/dev/gve/gve_adminq.h +++ b/sys/dev/gve/gve_adminq.h @@ -377,7 +377,8 @@ struct stats { _Static_assert(sizeof(struct stats) == 16, "gve: bad admin queue struct length"); -/* These are control path types for PTYPE which are the same as the data path +/* + * These are control path types for PTYPE which are the same as the data path * types. */ struct gve_ptype_entry { diff --git a/sys/dev/gve/gve_dqo.h b/sys/dev/gve/gve_dqo.h index 214138303a77..212bfa1a6ad3 100644 --- a/sys/dev/gve/gve_dqo.h +++ b/sys/dev/gve/gve_dqo.h @@ -208,9 +208,14 @@ _Static_assert(sizeof(struct gve_tx_metadata_dqo) == 12, #define GVE_TX_METADATA_VERSION_DQO 0 +/* Used to access the generation bit within a TX completion descriptor. */ +#define GVE_TX_DESC_DQO_GEN_BYTE_OFFSET 1 +#define GVE_TX_DESC_DQO_GEN_BIT_MASK 0x80 + /* TX completion descriptor */ struct gve_tx_compl_desc_dqo { - /* For types 0-4 this is the TX queue ID associated with this + /* + * For types 0-4 this is the TX queue ID associated with this * completion. */ uint16_t id:11; @@ -222,12 +227,14 @@ struct gve_tx_compl_desc_dqo { /* Flipped by HW to notify the descriptor is populated. */ uint16_t generation:1; union { - /* For descriptor completions, this is the last index fetched + /* + * For descriptor completions, this is the last index fetched * by HW + 1. */ __le16 tx_head; - /* For packet completions, this is the completion tag set on the + /* + * For packet completions, this is the completion tag set on the * TX packet descriptors. */ __le16 completion_tag; @@ -258,6 +265,10 @@ struct gve_rx_desc_dqo { _Static_assert(sizeof(struct gve_rx_desc_dqo) == 32, "gve: bad dqo desc struct length"); +/* Used to access the generation bit within an RX completion descriptor. */ +#define GVE_RX_DESC_DQO_GEN_BYTE_OFFSET 5 +#define GVE_RX_DESC_DQO_GEN_BIT_MASK 0x40 + /* Descriptor for HW to notify SW of new packets received on RX queue. */ struct gve_rx_compl_desc_dqo { /* Must be 1 */ @@ -266,7 +277,8 @@ struct gve_rx_compl_desc_dqo { /* Packet originated from this system rather than the network. */ uint8_t loopback:1; - /* Set when IPv6 packet contains a destination options header or routing + /* + * Set when IPv6 packet contains a destination options header or routing * header. */ uint8_t ipv6_ex_add:1; diff --git a/sys/dev/gve/gve_rx_dqo.c b/sys/dev/gve/gve_rx_dqo.c index a499ac9d3c6a..11b2c7ea0c55 100644 --- a/sys/dev/gve/gve_rx_dqo.c +++ b/sys/dev/gve/gve_rx_dqo.c @@ -962,6 +962,19 @@ drop_frag_clear_ctx: rx->ctx = (struct gve_rx_ctx){}; } +static uint8_t +gve_rx_get_gen_bit(uint8_t *desc) +{ + uint8_t byte; + + /* + * Prevent generation bit from being read after the rest of the + * descriptor. + */ + byte = atomic_load_acq_8(desc + GVE_RX_DESC_DQO_GEN_BYTE_OFFSET); + return ((byte & GVE_RX_DESC_DQO_GEN_BIT_MASK) != 0); +} + static bool gve_rx_cleanup_dqo(struct gve_priv *priv, struct gve_rx_ring *rx, int budget) { @@ -971,17 +984,14 @@ gve_rx_cleanup_dqo(struct gve_priv *priv, struct gve_rx_ring *rx, int budget) NET_EPOCH_ASSERT(); while (work_done < budget) { - bus_dmamap_sync(rx->dqo.compl_ring_mem.tag, rx->dqo.compl_ring_mem.map, + bus_dmamap_sync(rx->dqo.compl_ring_mem.tag, + rx->dqo.compl_ring_mem.map, BUS_DMASYNC_POSTREAD); compl_desc = &rx->dqo.compl_ring[rx->dqo.tail]; - if (compl_desc->generation == rx->dqo.cur_gen_bit) + if (gve_rx_get_gen_bit((uint8_t *)compl_desc) == + rx->dqo.cur_gen_bit) break; - /* - * Prevent generation bit from being read after the rest of the - * descriptor. - */ - atomic_thread_fence_acq(); rx->cnt++; rx->dqo.tail = (rx->dqo.tail + 1) & rx->dqo.mask; diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index 7361d47b8ce6..8a1993c3e712 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -1029,6 +1029,19 @@ gve_clear_tx_ring_dqo(struct gve_priv *priv, int i) gve_tx_clear_compl_ring_dqo(tx); } +static uint8_t +gve_tx_get_gen_bit(uint8_t *desc) +{ + uint8_t byte; + + /* + * Prevent generation bit from being read after the rest of the + * descriptor. + */ + byte = atomic_load_acq_8(desc + GVE_TX_DESC_DQO_GEN_BYTE_OFFSET); + return ((byte & GVE_TX_DESC_DQO_GEN_BIT_MASK) != 0); +} + static bool gve_tx_cleanup_dqo(struct gve_priv *priv, struct gve_tx_ring *tx, int budget) { @@ -1041,20 +1054,16 @@ gve_tx_cleanup_dqo(struct gve_priv *priv, struct gve_tx_ring *tx, int budget) uint16_t type; while (work_done < budget) { - bus_dmamap_sync(tx->dqo.compl_ring_mem.tag, tx->dqo.compl_ring_mem.map, + bus_dmamap_sync(tx->dqo.compl_ring_mem.tag, + tx->dqo.compl_ring_mem.map, BUS_DMASYNC_POSTREAD); compl_desc = &tx->dqo.compl_ring[tx->dqo.compl_head]; - if (compl_desc->generation == tx->dqo.cur_gen_bit) + if (gve_tx_get_gen_bit((uint8_t *)compl_desc) == + tx->dqo.cur_gen_bit) break; - /* - * Prevent generation bit from being read after the rest of the - * descriptor. - */ - atomic_thread_fence_acq(); type = compl_desc->type; - if (type == GVE_COMPL_TYPE_DQO_DESC) { /* This is the last descriptor fetched by HW plus one */ tx_head = le16toh(compl_desc->tx_head); From nobody Tue May 20 23:51:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2BCS4Hq6z5wBnn; Tue, 20 May 2025 23:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2BCS2s6kz3k4s; Tue, 20 May 2025 23:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747785076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4vn5IkqkuqpIZSRWtydWiLE5e1zHHNb4n07JOU0rtWQ=; b=kO53stSzvAImQqzfQOsfSTS3pOiF/tXOOj6Rzc1gErChNVYPYbW61Wi7UGWL0rr4AESAuk R5R1sDJAhwpYMM7sAP/2OPaKaHyWDJldxodzP9xFSLKiAwRIHwpZXmDLCspt/4osEj9I+t 3/8dN/fUWrjXGy38WG8brM04BnMen2a/drfdv2O3lnDhAYOgGcsmYLFj+Vkr7/ry6VIRf5 VKlojFkM0/2m+yFwdcQNNXsLV/JdHoBo8BfKEnBU1ofctUuWzR9uymuYuqGoJTi+KBjkRd IKCbnb6q+qmpsSBNqxIZ7hfxpKFr0/P/1YoJ6c7PBN1odNpmHnKD9YC2InUSrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747785076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4vn5IkqkuqpIZSRWtydWiLE5e1zHHNb4n07JOU0rtWQ=; b=bE9yUsjkPRKCSC8eOt8zSQlDbAhSmI1c/X55bqrqYnTFL7jkSMOaqyMbqdjDbAs+6u8dtP JjMZxS+jI09ZCrBbUK+4eWZQFakZ9kP+o+Ot3LTNhu4QU5YZ7498+a2zKWp0JYZxyTTsWm 6QA+0vRLimuaXIQHbvk6+rlwO+dj8jNRMxWQ/z1CttMt7lpnY0o7ltNTiRLc7XUCXIf+EN WhLwfo02ITdk+2nFjB/4F67xNqrMeVGrmcfbQL3WGePfaq1ipzmBrEjYVZ7g7T0YhtqkCN HTcz8Z/ovBTPzM58IZSzd9dkAbFgP/HY8UoDPDsYn+qauO6ExDfuaEpi7j9AOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747785076; a=rsa-sha256; cv=none; b=Y4B72yHWiKRvhTIEmqQr+w3xNhvmbuhzyPcWacK5Vq1cQZK2qOwqaDp2T07L4EV20q6d+a s3kfYXaQpTWNv8v215Cqzztuq41SBVXf+uw75/ZXtrAGWG9d4RloP8k9oIfuMKI7XQCYE9 0Fs3IzPfTHywzgQprwzyfeY/clI7UzMvOcJ9gYiuuLSdjxc1pPm614Mp/Hk3xnT032WY0b /L5aMgve2hXoevqfOukrGRni3yFzzSrrIz7ozK+stJVGoQ+LdX6XTrpy7+Zk70ERFWGMCy BBtZ8R1xrVNHtvfweYJYIGI1RW3zEQlBfyDoASuW5lVodoQtx9GNUJ4ZbspO3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2BCS2PHXz19N8; Tue, 20 May 2025 23:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54KNpGgE059129; Tue, 20 May 2025 23:51:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54KNpGV4059126; Tue, 20 May 2025 23:51:16 GMT (envelope-from git) Date: Tue, 20 May 2025 23:51:16 GMT Message-Id: <202505202351.54KNpGV4059126@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 3d2957336c7d - main - gve: Add callout to detect and handle TX timeouts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d2957336c7ddaa0a29cf60cfd458c07df1f5be9 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3d2957336c7ddaa0a29cf60cfd458c07df1f5be9 commit 3d2957336c7ddaa0a29cf60cfd458c07df1f5be9 Author: Jasper Tran O'Leary AuthorDate: 2025-05-20 23:34:45 +0000 Commit: Mark Johnston CommitDate: 2025-05-20 23:50:59 +0000 gve: Add callout to detect and handle TX timeouts A TX timeout occurs when the driver allocates resources on a TX queue for a packet to be sent, prompts the hardware to send the packet, but does not receive a completion for the packet within a given timeout period. An accumulation of TX timeouts can cause one or more queues to run out of space and cause the entire driver to become stuck. This commit adds a lockless timer service that runs periodically and checks queues for timed out packets. In the event we detect a timeout, we prompt the completion phase taskqueue to process completions. Upon the next inspection of the queue we still detect timed out packets, if the last "kick" occurred within a fixed cooldown window, we opt to reset the driver, even if the prior kick successfully freed timed out packets. Signed-off-by: Jasper Tran O'Leary Reviewed by: markj, ziaee MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50385 --- share/man/man4/gve.4 | 8 ++++- sys/dev/gve/gve.h | 47 +++++++++++++++++++++++++++++ sys/dev/gve/gve_main.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++-- sys/dev/gve/gve_sysctl.c | 6 +++- sys/dev/gve/gve_tx.c | 32 ++++++++++++++++++++ sys/dev/gve/gve_tx_dqo.c | 32 +++++++++++++++++++- sys/dev/gve/gve_utils.c | 43 ++++++++++++++++++++++++++ 7 files changed, 241 insertions(+), 5 deletions(-) diff --git a/share/man/man4/gve.4 b/share/man/man4/gve.4 index 754071e2fad8..924a01a06d08 100644 --- a/share/man/man4/gve.4 +++ b/share/man/man4/gve.4 @@ -26,7 +26,7 @@ .\" ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS .\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.Dd October 14, 2024 +.Dd May 20, 2025 .Dt GVE 4 .Os .Sh NAME @@ -180,6 +180,12 @@ These messages are seen if any admin queue command fails: .It "Unknown AQ command opcode %d" .El .Pp +These messages appear if a TX timeout is detected: +.Bl -diag +.It "Found %d timed out packet(s) on txq%d, kicking it for completions" +.It "Found %d timed out packet(s) on txq%d with its last kick %ld sec ago which is less than the cooldown period %d. Resetting device" +.El +.Pp These messages are recorded when the device is being reset due to an error: .Bl -diag .It "Scheduling reset task!" diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index 5b298b889ed6..48e9a371df21 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -47,6 +47,21 @@ #define GVE_TX_MAX_DESCS 4 #define GVE_TX_BUFRING_ENTRIES 4096 +#define GVE_TX_TIMEOUT_PKT_SEC 5 +#define GVE_TX_TIMEOUT_CHECK_CADENCE_SEC 5 +/* + * If the driver finds timed out packets on a tx queue it first kicks it and + * records the time. If the driver again finds a timeout on the same queue + * before the end of the cooldown period, only then will it reset. Thus, for a + * reset to be able to occur at all, the cooldown must be at least as long + * as the tx timeout checking cadence multiplied by the number of queues. + */ +#define GVE_TX_TIMEOUT_MAX_TX_QUEUES 16 +#define GVE_TX_TIMEOUT_KICK_COOLDOWN_SEC \ + (2 * GVE_TX_TIMEOUT_CHECK_CADENCE_SEC * GVE_TX_TIMEOUT_MAX_TX_QUEUES) + +#define GVE_TIMESTAMP_INVALID -1 + #define ADMINQ_SIZE PAGE_SIZE #define GVE_DEFAULT_RX_BUFFER_SIZE 2048 @@ -337,6 +352,14 @@ struct gve_tx_fifo { struct gve_tx_buffer_state { struct mbuf *mbuf; + + /* + * Time at which the xmit tq places descriptors for mbuf's payload on a + * tx queue. This timestamp is invalidated when the mbuf is freed and + * must be checked for validity when read. + */ + int64_t enqueue_time_sec; + struct gve_tx_iovec iov[GVE_TX_MAX_DESCS]; }; @@ -357,12 +380,21 @@ struct gve_txq_stats { counter_u64_t tx_mbuf_defrag_err; counter_u64_t tx_mbuf_dmamap_enomem_err; counter_u64_t tx_mbuf_dmamap_err; + counter_u64_t tx_timeout; }; #define NUM_TX_STATS (sizeof(struct gve_txq_stats) / sizeof(counter_u64_t)) struct gve_tx_pending_pkt_dqo { struct mbuf *mbuf; + + /* + * Time at which the xmit tq places descriptors for mbuf's payload on a + * tx queue. This timestamp is invalidated when the mbuf is freed and + * must be checked for validity when read. + */ + int64_t enqueue_time_sec; + union { /* RDA */ bus_dmamap_t dmamap; @@ -396,6 +428,8 @@ struct gve_tx_ring { uint32_t req; /* free-running total number of packets written to the nic */ uint32_t done; /* free-running total number of completed packets */ + int64_t last_kicked; /* always-valid timestamp in seconds for the last queue kick */ + union { /* GQI specific stuff */ struct { @@ -594,6 +628,11 @@ struct gve_priv { struct gve_state_flags state_flags; struct sx gve_iface_lock; + + struct callout tx_timeout_service; + /* The index of tx queue that the timer service will check on its next invocation */ + uint16_t check_tx_queue_idx; + }; static inline bool @@ -652,6 +691,7 @@ int gve_alloc_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_ void gve_free_tx_rings(struct gve_priv *priv, uint16_t start_idx, uint16_t stop_idx); int gve_create_tx_rings(struct gve_priv *priv); int gve_destroy_tx_rings(struct gve_priv *priv); +int gve_check_tx_timeout_gqi(struct gve_priv *priv, struct gve_tx_ring *tx); int gve_tx_intr(void *arg); int gve_xmit_ifp(if_t ifp, struct mbuf *mbuf); void gve_qflush(if_t ifp); @@ -662,6 +702,7 @@ void gve_tx_cleanup_tq(void *arg, int pending); int gve_tx_alloc_ring_dqo(struct gve_priv *priv, int i); void gve_tx_free_ring_dqo(struct gve_priv *priv, int i); void gve_clear_tx_ring_dqo(struct gve_priv *priv, int i); +int gve_check_tx_timeout_dqo(struct gve_priv *priv, struct gve_tx_ring *tx); int gve_tx_intr_dqo(void *arg); int gve_xmit_dqo(struct gve_tx_ring *tx, struct mbuf **mbuf_ptr); int gve_xmit_dqo_qpl(struct gve_tx_ring *tx, struct mbuf *mbuf); @@ -697,6 +738,12 @@ int gve_alloc_irqs(struct gve_priv *priv); void gve_unmask_all_queue_irqs(struct gve_priv *priv); void gve_mask_all_queue_irqs(struct gve_priv *priv); +/* Miscellaneous functions defined in gve_utils.c */ +void gve_invalidate_timestamp(int64_t *timestamp_sec); +int64_t gve_seconds_since(int64_t *timestamp_sec); +void gve_set_timestamp(int64_t *timestamp_sec); +bool gve_timestamp_valid(int64_t *timestamp_sec); + /* Systcl functions defined in gve_sysctl.c */ extern bool gve_disable_hw_lro; extern char gve_queue_format[8]; diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index 8a00deedef36..2abd9d1aa698 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -32,10 +32,10 @@ #include "gve_adminq.h" #include "gve_dqo.h" -#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.3\n" +#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.4\n" #define GVE_VERSION_MAJOR 1 #define GVE_VERSION_MINOR 3 -#define GVE_VERSION_SUB 3 +#define GVE_VERSION_SUB 4 #define GVE_DEFAULT_RX_COPYBREAK 256 @@ -50,6 +50,9 @@ static struct gve_dev { struct sx gve_global_lock; +static void gve_start_tx_timeout_service(struct gve_priv *priv); +static void gve_stop_tx_timeout_service(struct gve_priv *priv); + static int gve_verify_driver_compatibility(struct gve_priv *priv) { @@ -99,6 +102,72 @@ gve_verify_driver_compatibility(struct gve_priv *priv) return (err); } +static void +gve_handle_tx_timeout(struct gve_priv *priv, struct gve_tx_ring *tx, + int num_timeout_pkts) +{ + int64_t time_since_last_kick; + + counter_u64_add_protected(tx->stats.tx_timeout, 1); + + /* last_kicked is never GVE_TIMESTAMP_INVALID so we can skip checking */ + time_since_last_kick = gve_seconds_since(&tx->last_kicked); + + /* Try kicking first in case the timeout is due to a missed interrupt */ + if (time_since_last_kick > GVE_TX_TIMEOUT_KICK_COOLDOWN_SEC) { + device_printf(priv->dev, + "Found %d timed out packet(s) on txq%d, kicking it for completions\n", + num_timeout_pkts, tx->com.id); + gve_set_timestamp(&tx->last_kicked); + taskqueue_enqueue(tx->com.cleanup_tq, &tx->com.cleanup_task); + } else { + device_printf(priv->dev, + "Found %d timed out packet(s) on txq%d with its last kick %jd sec ago which is less than the cooldown period %d. Resetting device\n", + num_timeout_pkts, tx->com.id, + (intmax_t)time_since_last_kick, + GVE_TX_TIMEOUT_KICK_COOLDOWN_SEC); + gve_schedule_reset(priv); + } +} + +static void +gve_tx_timeout_service_callback(void *data) +{ + struct gve_priv *priv = (struct gve_priv *)data; + struct gve_tx_ring *tx; + uint16_t num_timeout_pkts; + + tx = &priv->tx[priv->check_tx_queue_idx]; + + num_timeout_pkts = gve_is_gqi(priv) ? + gve_check_tx_timeout_gqi(priv, tx) : + gve_check_tx_timeout_dqo(priv, tx); + if (num_timeout_pkts) + gve_handle_tx_timeout(priv, tx, num_timeout_pkts); + + priv->check_tx_queue_idx = (priv->check_tx_queue_idx + 1) % + priv->tx_cfg.num_queues; + callout_reset_sbt(&priv->tx_timeout_service, + SBT_1S * GVE_TX_TIMEOUT_CHECK_CADENCE_SEC, 0, + gve_tx_timeout_service_callback, (void *)priv, 0); +} + +static void +gve_start_tx_timeout_service(struct gve_priv *priv) +{ + priv->check_tx_queue_idx = 0; + callout_init(&priv->tx_timeout_service, true); + callout_reset_sbt(&priv->tx_timeout_service, + SBT_1S * GVE_TX_TIMEOUT_CHECK_CADENCE_SEC, 0, + gve_tx_timeout_service_callback, (void *)priv, 0); +} + +static void +gve_stop_tx_timeout_service(struct gve_priv *priv) +{ + callout_drain(&priv->tx_timeout_service); +} + static int gve_up(struct gve_priv *priv) { @@ -149,6 +218,9 @@ gve_up(struct gve_priv *priv) gve_unmask_all_queue_irqs(priv); gve_set_state_flag(priv, GVE_STATE_FLAG_QUEUES_UP); priv->interface_up_cnt++; + + gve_start_tx_timeout_service(priv); + return (0); reset: @@ -164,6 +236,8 @@ gve_down(struct gve_priv *priv) if (!gve_get_state_flag(priv, GVE_STATE_FLAG_QUEUES_UP)) return; + gve_stop_tx_timeout_service(priv); + if (gve_get_state_flag(priv, GVE_STATE_FLAG_LINK_UP)) { if_link_state_change(priv->ifp, LINK_STATE_DOWN); gve_clear_state_flag(priv, GVE_STATE_FLAG_LINK_UP); diff --git a/sys/dev/gve/gve_sysctl.c b/sys/dev/gve/gve_sysctl.c index f7c7b5803865..661f61918853 100644 --- a/sys/dev/gve/gve_sysctl.c +++ b/sys/dev/gve/gve_sysctl.c @@ -168,7 +168,7 @@ gve_setup_txq_sysctl(struct sysctl_ctx_list *ctx, &stats->tx_delayed_pkt_tsoerr, "TSO packets delayed due to err in prep errors"); SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, - "tx_mbuf_collpase", CTLFLAG_RD, + "tx_mbuf_collapse", CTLFLAG_RD, &stats->tx_mbuf_collapse, "tx mbufs that had to be collapsed"); SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, @@ -187,6 +187,10 @@ gve_setup_txq_sysctl(struct sysctl_ctx_list *ctx, "tx_mbuf_dmamap_err", CTLFLAG_RD, &stats->tx_mbuf_dmamap_err, "tx mbufs that could not be dma-mapped"); + SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, + "tx_timeout", CTLFLAG_RD, + &stats->tx_timeout, + "detections of timed out packets on tx queues"); } static void diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c index b667df4ca06e..84e3a4c4eb9f 100644 --- a/sys/dev/gve/gve_tx.c +++ b/sys/dev/gve/gve_tx.c @@ -173,6 +173,8 @@ gve_tx_alloc_ring(struct gve_priv *priv, int i) } com->q_resources = com->q_resources_mem.cpu_addr; + tx->last_kicked = 0; + return (0); abort: @@ -218,6 +220,7 @@ gve_tx_clear_desc_ring(struct gve_tx_ring *tx) for (i = 0; i < com->priv->tx_desc_cnt; i++) { tx->desc_ring[i] = (union gve_tx_desc){}; tx->info[i] = (struct gve_tx_buffer_state){}; + gve_invalidate_timestamp(&tx->info[i].enqueue_time_sec); } bus_dmamap_sync(tx->desc_ring_mem.tag, tx->desc_ring_mem.map, @@ -344,6 +347,30 @@ gve_destroy_tx_rings(struct gve_priv *priv) return (0); } +int +gve_check_tx_timeout_gqi(struct gve_priv *priv, struct gve_tx_ring *tx) +{ + struct gve_tx_buffer_state *info; + uint32_t pkt_idx; + int num_timeouts; + + num_timeouts = 0; + + for (pkt_idx = 0; pkt_idx < priv->tx_desc_cnt; pkt_idx++) { + info = &tx->info[pkt_idx]; + + if (!gve_timestamp_valid(&info->enqueue_time_sec)) + continue; + + if (__predict_false( + gve_seconds_since(&info->enqueue_time_sec) > + GVE_TX_TIMEOUT_PKT_SEC)) + num_timeouts += 1; + } + + return (num_timeouts); +} + int gve_tx_intr(void *arg) { @@ -396,7 +423,10 @@ gve_tx_cleanup_tq(void *arg, int pending) if (mbuf == NULL) continue; + gve_invalidate_timestamp(&info->enqueue_time_sec); + info->mbuf = NULL; + counter_enter(); counter_u64_add_protected(tx->stats.tbytes, mbuf->m_pkthdr.len); counter_u64_add_protected(tx->stats.tpackets, 1); @@ -685,6 +715,8 @@ gve_xmit(struct gve_tx_ring *tx, struct mbuf *mbuf) /* So that the cleanup taskqueue can free the mbuf eventually. */ info->mbuf = mbuf; + gve_set_timestamp(&info->enqueue_time_sec); + /* * We don't want to split the header, so if necessary, pad to the end * of the fifo and then put the header at the beginning of the fifo. diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index 8a1993c3e712..bbf2ee1b0324 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -527,6 +527,8 @@ gve_alloc_pending_packet(struct gve_tx_ring *tx) tx->dqo.free_pending_pkts_csm = pending_pkt->next; pending_pkt->state = GVE_PACKET_STATE_PENDING_DATA_COMPL; + gve_set_timestamp(&pending_pkt->enqueue_time_sec); + return (pending_pkt); } @@ -539,6 +541,8 @@ gve_free_pending_packet(struct gve_tx_ring *tx, pending_pkt->state = GVE_PACKET_STATE_FREE; + gve_invalidate_timestamp(&pending_pkt->enqueue_time_sec); + /* Add pending_pkt to the producer list */ while (true) { old_head = atomic_load_acq_32(&tx->dqo.free_pending_pkts_prd); @@ -939,6 +943,29 @@ gve_handle_packet_completion(struct gve_priv *priv, return (pkt_len); } +int +gve_check_tx_timeout_dqo(struct gve_priv *priv, struct gve_tx_ring *tx) +{ + struct gve_tx_pending_pkt_dqo *pending_pkt; + int num_timeouts; + uint16_t pkt_idx; + + num_timeouts = 0; + for (pkt_idx = 0; pkt_idx < tx->dqo.num_pending_pkts; pkt_idx++) { + pending_pkt = &tx->dqo.pending_pkts[pkt_idx]; + + if (!gve_timestamp_valid(&pending_pkt->enqueue_time_sec)) + continue; + + if (__predict_false( + gve_seconds_since(&pending_pkt->enqueue_time_sec) > + GVE_TX_TIMEOUT_PKT_SEC)) + num_timeouts += 1; + } + + return (num_timeouts); +} + int gve_tx_intr_dqo(void *arg) { @@ -960,8 +987,11 @@ gve_tx_clear_desc_ring_dqo(struct gve_tx_ring *tx) struct gve_ring_com *com = &tx->com; int i; - for (i = 0; i < com->priv->tx_desc_cnt; i++) + for (i = 0; i < com->priv->tx_desc_cnt; i++) { tx->dqo.desc_ring[i] = (union gve_tx_desc_dqo){}; + gve_invalidate_timestamp( + &tx->dqo.pending_pkts[i].enqueue_time_sec); + } bus_dmamap_sync(tx->desc_ring_mem.tag, tx->desc_ring_mem.map, BUS_DMASYNC_PREWRITE); diff --git a/sys/dev/gve/gve_utils.c b/sys/dev/gve/gve_utils.c index 4e9dd4625e2f..707b8f039d88 100644 --- a/sys/dev/gve/gve_utils.c +++ b/sys/dev/gve/gve_utils.c @@ -439,3 +439,46 @@ gve_mask_all_queue_irqs(struct gve_priv *priv) gve_db_bar_write_4(priv, rx->com.irq_db_offset, GVE_IRQ_MASK); } } + +/* + * In some cases, such as tracking timeout events, we must mark a timestamp as + * invalid when we do not want to consider its value. Such timestamps must be + * checked for validity before reading them. + */ +void +gve_invalidate_timestamp(int64_t *timestamp_sec) +{ + atomic_store_64(timestamp_sec, GVE_TIMESTAMP_INVALID); +} + +/* + * Returns 0 if the timestamp is invalid, otherwise returns the elapsed seconds + * since the timestamp was set. + */ +int64_t +gve_seconds_since(int64_t *timestamp_sec) +{ + struct bintime curr_time; + int64_t enqueued_time; + + getbintime(&curr_time); + enqueued_time = atomic_load_64(timestamp_sec); + if (enqueued_time == GVE_TIMESTAMP_INVALID) + return (0); + return ((int64_t)(curr_time.sec - enqueued_time)); +} + +void +gve_set_timestamp(int64_t *timestamp_sec) +{ + struct bintime curr_time; + + getbintime(&curr_time); + atomic_store_64(timestamp_sec, curr_time.sec); +} + +bool +gve_timestamp_valid(int64_t *timestamp_sec) +{ + return (atomic_load_64(timestamp_sec) != GVE_TIMESTAMP_INVALID); +} From nobody Wed May 21 00:30:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2C4H0rJpz5wFQ8; Wed, 21 May 2025 00:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2C4G5tqvz3mXx; Wed, 21 May 2025 00:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dw6a0JcaoeKUiQ76xyrffUfyPlqrAwis6TlWW4NXgoQ=; b=k84f6OPFWBsynQfSougelTixyTM2tGqpBf3/ZOHUPLEZeF/d4V0/veu98F+5Tn4LLdxRKh /OZiczEckHqj5we+JtWICsNnDBxhsYazKi0YVGdMqfIhEozKPJc2ASXOZCarBr0eBYVOk6 huh7BU/ScvsABg5oNq/vTUg3IuvUZez5DUoh6/dmC990meq3knqKyWzCIIN6vkq0qTG0ns a5zAD1Z3XonSHSVqL2jWdi3H6+zMDoCB0yfCT66Ml05d7y6MEzTZz+6pVMC38D38hrgZqc 2tKrY372xt6rpjdQ4HnOWU+vkjSBAecPHFhuWX78qAiPvjRUuzi9hbODJ75Bng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dw6a0JcaoeKUiQ76xyrffUfyPlqrAwis6TlWW4NXgoQ=; b=Zziv0fqUcbHZisp2bJCpF0wggMBz4CrKz96fEh8GRlmsnzLaWsBb0rtq06Z4fCqPaDSUaa rtMJsWmzs3RpUiR5pYxzka2wlq2kQ6dnEpg+qge+5CGrjUxPTnd6ATqYs0HSpVwtDdfslv iHM19mHt0uhkESWsChIFgUNl103d2Ux5xBTaFu6tRzk+QyT8ckhMPDRXJ+3ABAYm1w5MVn 8HQdCDl5zv3iEJdlCI9eDFLiDG0yhXwJR/oEZA+Lph6RUb2ifwIeOah7jYUcWfR+iwerdB 9zmKDaQl0cRkfmEIIZpI2/+1rgw3cEZH2FmyQ2Y3+tI6WktpWoLSTzoXdMOZCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747787406; a=rsa-sha256; cv=none; b=afmhLWXmtM5r1yUuA3WQXQ0uaUKGxAj9DFZkGhUWad6a3crKdpLyoaVMDBbHUbKZZh9qVT /NkKZBVsHvrjIXoIedKYASERqkwa0yjIU8E84+q5xDh89eNi/+HA2AF7xWtrk8sE3BFzpK pGrRTSqS3qgRT9AhlOGY19qdGcYfgFikeUMNcy7tVFmANdEm1ZorKB2w6xzkIEjHTtHcpr jji90YExGK4xXbS5SgZBKAT31YQJ7nKj1Ic+D0uMdF/WPncYoP1kMhXz0yVhSXoxWqjqHa CtNcRWZXilNwnvOvgPHRRLWaMrV434xsvnWUs6/pfHjpFOEKAzUsVF6mBKUL7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2C4G5VP3z19r6; Wed, 21 May 2025 00:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L0U6IN025799; Wed, 21 May 2025 00:30:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L0U6tF025794; Wed, 21 May 2025 00:30:06 GMT (envelope-from git) Date: Wed, 21 May 2025 00:30:06 GMT Message-Id: <202505210030.54L0U6tF025794@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 513df87288d0 - stable/13 - sys/cdefs.h: add __nodiscard annotation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 513df87288d0ac09cb378b40eeb1abd3ee79bee9 Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=513df87288d0ac09cb378b40eeb1abd3ee79bee9 commit 513df87288d0ac09cb378b40eeb1abd3ee79bee9 Author: Lexi Winter AuthorDate: 2025-05-09 21:28:14 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:03:29 +0000 sys/cdefs.h: add __nodiscard annotation __nodiscard adds the [[nodiscard]] attribute to a function, type or constructor in C or C++, causing a value so marked to issue a compiler warning if it is discarded (i.e., not used or assigned) other than by casting it to void. this replaces the existing __result_use_or_ignore_check, which has a similar purpose but different semantics. since __nodiscard provides more functionality (at least in GCC) and __result_use_or_ignore_check only had a single user, remove __result_use_or_ignore_check. [[nodiscard]] has been supported in C++ since C++17, but only in C since C23; however, both LLVM and GCC implement it even in older language versions, so it should always be available with a relatively modern compiler. for Clang, [[nodiscard]] in C is only available since LLVM 17, but we can fall back to __attribute__((__warn_unused_result__)) which has the same semantics and provides support back to (at least) LLVM 11. GCC supports [[nodiscard]] in both C and C++ since at least GCC 11. for GCC, we can't provide a fallback as the semantics of its warn_unused_result are different, but since __result_use_or_ignore_check isn't defined for GCC anyway, we don't lose anything here. MFC after: 2 weeks Reviewed by: des, emaste Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50217 (cherry picked from commit 7e0c5e0128c43bbae78190911aead8e1d9475ba5) --- sys/sys/cdefs.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 080ae0912210..c549bfc3c2f3 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -394,6 +394,44 @@ #endif #endif +/* + * nodiscard attribute added in C++17 and C23, but supported by both LLVM and + * GCC in earlier language versions, so we use __has_c{,pp}_attribute to test + * for it. + * + * __nodiscard may be used on a function: + * __nodiscard int f(); + * + * or on a struct, union or enum: + * struct __nodiscard S{}; + * struct S f(); + * + * or in C++, on an object constructor. + */ + +#if defined(__cplusplus) && defined(__has_cpp_attribute) +#if __has_cpp_attribute(nodiscard) +#define __nodiscard [[nodiscard]] +#endif +#elif defined(__STDC_VERSION__) && defined(__has_c_attribute) +#if __has_c_attribute(__nodiscard__) +#define __nodiscard [[__nodiscard__]] +#endif +#endif + +#ifndef __nodiscard +/* + * LLVM 16 and earlier don't support [[nodiscard]] in C, but they do support + * __warn_unused_result__ with the same semantics, so fall back to that. + * We can't do this for GCC because the semantics are different. + */ +#ifdef __clang__ +#define __nodiscard __attribute__((__warn_unused_result__)) +#else +#define __nodiscard +#endif +#endif + /* * We use `__restrict' as a way to define the `restrict' type qualifier * without disturbing older software that is unaware of C99 keywords. From nobody Wed May 21 00:30:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2C4J0GN3z5wFdG; Wed, 21 May 2025 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2C4H6WCCz3mVL; Wed, 21 May 2025 00:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C4fSTnhz2Px6ed0fpxC349c3apTa1JMKhPqQT0MC6Eg=; b=XeJNK6F8MUjsmBhbPpMbocA80ZVlszstgrFXXPp7GPHyK+j1/VRozkAAKYOrMi5E9gfRZ3 HVNOi6AAD7oRx9SvcYA0RkelusUjpatwl4zzj5HikROPuGzjK6rBqRnI9LYHyGrkdURbcF 8exrqznJ4ehsI0ncsSzlMO4NmrO5VjcLcfER5EGWCxehmIwBIAv9sPcuV7ln5/j+MJEatF BxCKcsAkL4uzMYb6UX1dDaWibT7ZZiEo+CBBmegYs78T9DXRHoUXUL+oRbZZ71h1v68oBG y+EZZ8bixVMpP6D4ZU7iyDx5AuF7QEX9xqQKattC88kc7uMzBfNdvXEWE0sJxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C4fSTnhz2Px6ed0fpxC349c3apTa1JMKhPqQT0MC6Eg=; b=ouJrpPGUbVnd2E0JNbEl2/Ycs3RJvUINLtNcEp/I3Uq1+EW58ES1cf3MAnhJ2J3qscf1Bc YPS+6LEnkTWF0UamVnL31hLqPbUFLJ9FY31B7m4nc1nl9iEjpDg98s13Qc+h9WfZIdaZqL ZWypMcelrXsgv/ltRr5qPKJM15qwKu2uABhpumSiZ4M9HUyieGpzRZCmRNFTqczZRQiRTf y2jYc9QqdaXElwvOMcH9AmhkYO/kBfSyOd/Rvvhd5nZbh+3VJvPJL/5XX335XfWD7DUf4W +7sqJxuDxfWv+puRT0uN8YKfFLPWz/cdZN6bCHTCwmrjZpd+f4sKh0ryzUUHPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747787407; a=rsa-sha256; cv=none; b=dj4xNC2B/ifC/Yarcj7VacQMWRTByy5YH8MY/LHcWz6Jx3vyZUkm7BSRVf9fUo+xGSJsWL PIHVFZstkCaK5ZQogauE80QYNjUwZjt0sVFO1hO7GG4yH89U98o9Mx5x73XE+qzQ3CkNg7 7jySITS1A8RFEaPaPO5tReMgLrKEL1Gv59wHnB3Gb30vPHZZZbn0KJEIJdqXoH2vKEkYfk iOKzPm5zVrJ8DG7y9Mtulxo6QYG2aGL0YFLTWxcyNWnHvAdnfL4EsAePEr4/vDbLVsiDiO to6IQ5hn4xiu72WWvibayimYPIEevH7mgIzL4WDryp9fAMtQKqMDr8KTvQ+87Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2C4H5zx9z19r7; Wed, 21 May 2025 00:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L0U7Sc026062; Wed, 21 May 2025 00:30:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L0U7tr026057; Wed, 21 May 2025 00:30:07 GMT (envelope-from git) Date: Wed, 21 May 2025 00:30:07 GMT Message-Id: <202505210030.54L0U7tr026057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 9f290050a6cd - stable/13 - ng_sample: fix style nits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9f290050a6cda849783d4d58e8f9a3307dc3792e Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=9f290050a6cda849783d4d58e8f9a3307dc3792e commit 9f290050a6cda849783d4d58e8f9a3307dc3792e Author: Seyed Pouria Mousavizadeh Tehrani AuthorDate: 2025-05-16 16:19:56 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:03:29 +0000 ng_sample: fix style nits MFC after: 3 days Reviewed by: ivy, kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50343 (cherry picked from commit 95c414dd27c26285cdd6ed4288832b3db0ea6628) --- sys/netgraph/ng_sample.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netgraph/ng_sample.c b/sys/netgraph/ng_sample.c index 54b7f2026fa1..06c6785e6103 100644 --- a/sys/netgraph/ng_sample.c +++ b/sys/netgraph/ng_sample.c @@ -271,7 +271,7 @@ ng_xxx_rcvmsg(node_p node, item_p item, hook_p lasthook) struct ngxxxstat *stats; NG_MKRESPONSE(resp, msg, sizeof(*stats), M_NOWAIT); - if (!resp) { + if (resp == NULL) { error = ENOMEM; break; } @@ -320,7 +320,7 @@ ng_xxx_rcvmsg(node_p node, item_p item, hook_p lasthook) * in the connect() method. */ static int -ng_xxx_rcvdata(hook_p hook, item_p item ) +ng_xxx_rcvdata(hook_p hook, item_p item) { const xxx_p xxxp = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); int chan = -2; From nobody Wed May 21 00:30:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2C4K3b65z5wFbq; Wed, 21 May 2025 00:30:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2C4J74nKz3mbb; Wed, 21 May 2025 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YwszrmKP09VSu6NpmUOoFVSM4lRXGCcEskUteUHf3S8=; b=NukmVt5oyHp7+rPSTynqSxkPQivubf7PwEqFPw/PwSAKsWChlpGqGLmlDLmRacq9dV+yOR K3TDiD9L/HoUs4hlIe1I1/cl1U2b5Uf2xCL0p+rWbTQ3cA11aB2NpGs/dRibXdLeh4hLo2 cNZ/QHgFBrPczb7Xea6hBdwn11jeSBPRDnOYZ5IBQ5Xyu8tC/aaX1gxU0hF+chl5LEb/bn I4u5e2uK1ef9VsZ96UM5MocAvNRbMfvIWqbyTaSePurE17wXb1FPygkrgH3WjGVcYxHE0Y Oe4vaN16cWm5sBU9xO/a9rrIAz8lVWlwMUjP3of45UntPXAKXTuWaLYjib5aZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YwszrmKP09VSu6NpmUOoFVSM4lRXGCcEskUteUHf3S8=; b=nQtqViandkAN6enwjlLU32aygkoKDnSBwVYZpidQ/8f+3FTZW0jVIowUx0vEY1U8/eOfd2 uiBY5wF3TEiTSsP7zwCyE0RY4EgaPYzbomSZevhJs6WVwJrqinnj6ry4N/qcUvWqKVkFr2 ESAEiFdm3rJM6BeKCsCvGc6yicVL7G9EIAbQM4RShD3ehYTdBoYXpDu0P5yPffhAkGmJ0L gVM/8GVH+D+aqDd+rA4EgqJ83afZgsKh5sQ9K9L07i9ntSThmuMg73BJaL9eRX+0e7pMPv CWY0CdxEkULNcShu38LugI3Rf0Lc2zkxAv02ylggmJgZRiXRFqYIeU0M6h+e1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747787409; a=rsa-sha256; cv=none; b=lSDR24X/Aij43zxVs1XZRqt1+NVB9OxDUDbBfrqQ64jDM/MSituwLqOMnM0G2hhOPX6Yxg NdWp5tYsqJRaURBQxQY8vPhNNi2pR9SJv2kpSaEvl6M9QQz1+sFqWBHmrcCkhaQt2F07ab NJbGw66ScAKK4QqaVFNuZXYpqyNIlRP0MuRp5QqAjEnIPcOs4R0VN0bhbwsttMCZia91Gi In3yIHMb3INHGDxGAtXBlE2+COqYE1ke/h/kk0r5TjyETu/Ed+DxXnVIINl20YZD5cDRtq K1YfOJD4sEjmwACRqf45XhCrnJ8YMnz2pSbHIi+g4rXOuon++BkhI6KJWf/5WA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2C4J6VmXz1BS1; Wed, 21 May 2025 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L0U8Gg026332; Wed, 21 May 2025 00:30:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L0U8tf026327; Wed, 21 May 2025 00:30:08 GMT (envelope-from git) Date: Wed, 21 May 2025 00:30:08 GMT Message-Id: <202505210030.54L0U8tf026327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: c82e2174150a - stable/13 - column(1): add tests and -l flag List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c82e2174150a47cdc5bfa61e6383cfc6343c5389 Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=c82e2174150a47cdc5bfa61e6383cfc6343c5389 commit c82e2174150a47cdc5bfa61e6383cfc6343c5389 Author: Lexi Winter AuthorDate: 2025-05-07 09:27:20 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 21:03:29 +0000 column(1): add tests and -l flag column(1): add tests Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49911 (cherry picked from commit 6f2b1b56ac3dd154bd98f5a7ea075abcb4356560) column(1): add -l flag the '-l ' flag limits the number of columns that column(1) will produce in -t mode. this is syntax-compatible with the same option in util-linux's column(1), but due to existing differences between the two implementations, it's not semantically compatible. as a side-effect, fix a pre-existing bug where empty fields could cause incorrect output: % echo ':' | column -ts: (null) while here, also fix a couple of minor existing issues. Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50290 (cherry picked from commit 313713b24c6d2a3061972c4f431515c4f1b01c77) --- etc/mtree/BSD.tests.dist | 2 + usr.bin/column/Makefile | 4 + usr.bin/column/column.1 | 11 ++- usr.bin/column/column.c | 45 +++++++--- usr.bin/column/tests/Makefile | 3 + usr.bin/column/tests/column.sh | 200 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 254 insertions(+), 11 deletions(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 4315fe9657c9..fa5c9e910049 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1009,6 +1009,8 @@ .. cmp .. + column + .. compress .. cpio diff --git a/usr.bin/column/Makefile b/usr.bin/column/Makefile index 1c304e2b3927..23933d9ef96f 100644 --- a/usr.bin/column/Makefile +++ b/usr.bin/column/Makefile @@ -1,5 +1,9 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 +.include PROG= column +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests + .include diff --git a/usr.bin/column/column.1 b/usr.bin/column/column.1 index f9b05ccf2210..c9dff361cc9c 100644 --- a/usr.bin/column/column.1 +++ b/usr.bin/column/column.1 @@ -27,7 +27,7 @@ .\" .\" @(#)column.1 8.1 (Berkeley) 6/6/93 .\" -.Dd July 29, 2004 +.Dd May 13, 2025 .Dt COLUMN 1 .Os .Sh NAME @@ -37,6 +37,7 @@ .Nm .Op Fl tx .Op Fl c Ar columns +.Op Fl l Ar tblcols .Op Fl s Ar sep .Op Ar .Sh DESCRIPTION @@ -55,6 +56,14 @@ The options are as follows: Output is formatted for a display .Ar columns wide. +.It Fl l +When used with +.Fl t , +limit the table to +.Ar tblcols +columns in width. +The last column will contain the rest of the line, +including any delimiters. .It Fl s Specify a set of characters to be used to delimit columns for the .Fl t diff --git a/usr.bin/column/column.c b/usr.bin/column/column.c index a808113649bc..97fc83e6b589 100644 --- a/usr.bin/column/column.c +++ b/usr.bin/column/column.c @@ -67,6 +67,7 @@ static void usage(void); static int width(const wchar_t *); static int termwidth = 80; /* default terminal width */ +static int tblcols; /* number of table columns for -t */ static int entries; /* number of records */ static int eval; /* exit value */ @@ -81,7 +82,7 @@ main(int argc, char **argv) FILE *fp; int ch, tflag, xflag; char *p; - const char *src; + const char *errstr, *src; wchar_t *newsep; size_t seplen; @@ -94,17 +95,26 @@ main(int argc, char **argv) termwidth = win.ws_col; tflag = xflag = 0; - while ((ch = getopt(argc, argv, "c:s:tx")) != -1) + while ((ch = getopt(argc, argv, "c:l:s:tx")) != -1) switch(ch) { case 'c': - termwidth = atoi(optarg); + termwidth = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr != NULL) + errx(1, "invalid terminal width \"%s\": %s", + optarg, errstr); + break; + case 'l': + tblcols = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr != NULL) + errx(1, "invalid max width \"%s\": %s", + optarg, errstr); break; case 's': src = optarg; seplen = mbsrtowcs(NULL, &src, 0, NULL); if (seplen == (size_t)-1) err(1, "bad separator"); - newsep = malloc((seplen + 1) * sizeof(wchar_t)); + newsep = calloc(seplen + 1, sizeof(wchar_t)); if (newsep == NULL) err(1, NULL); mbsrtowcs(newsep, &src, seplen + 1, NULL); @@ -123,6 +133,9 @@ main(int argc, char **argv) argc -= optind; argv += optind; + if (tblcols && !tflag) + errx(1, "the -l flag cannot be used without the -t flag"); + if (!*argv) input(stdin); else for (; *argv; ++argv) @@ -230,7 +243,7 @@ maketbl(void) int *lens, maxcols; TBL *tbl; wchar_t **cols; - wchar_t *last; + wchar_t *s; if ((t = tbl = calloc(entries, sizeof(TBL))) == NULL) err(1, NULL); @@ -239,9 +252,11 @@ maketbl(void) if ((lens = calloc(maxcols, sizeof(int))) == NULL) err(1, NULL); for (cnt = 0, lp = list; cnt < entries; ++cnt, ++lp, ++t) { - for (coloff = 0, p = *lp; - (cols[coloff] = wcstok(p, separator, &last)); - p = NULL) + for (p = *lp; wcschr(separator, *p); ++p) + /* nothing */ ; + for (coloff = 0; *p;) { + cols[coloff] = p; + if (++coloff == maxcols) { if (!(cols = realloc(cols, ((u_int)maxcols + DEFCOLS) * sizeof(wchar_t *))) || @@ -252,6 +267,16 @@ maketbl(void) 0, DEFCOLS * sizeof(int)); maxcols += DEFCOLS; } + + if ((!tblcols || coloff < tblcols) && + (s = wcspbrk(p, separator))) { + *s++ = L'\0'; + while (*s && wcschr(separator, *s)) + ++s; + p = s; + } else + break; + } if ((t->list = calloc(coloff, sizeof(*t->list))) == NULL) err(1, NULL); if ((t->len = calloc(coloff, sizeof(int))) == NULL) @@ -332,8 +357,8 @@ width(const wchar_t *wcs) static void usage(void) { - (void)fprintf(stderr, - "usage: column [-tx] [-c columns] [-s sep] [file ...]\n"); + "usage: column [-tx] [-c columns] [-l tblcols]" + " [-s sep] [file ...]\n"); exit(1); } diff --git a/usr.bin/column/tests/Makefile b/usr.bin/column/tests/Makefile new file mode 100644 index 000000000000..40a7767f0dc0 --- /dev/null +++ b/usr.bin/column/tests/Makefile @@ -0,0 +1,3 @@ +ATF_TESTS_SH= column + +.include diff --git a/usr.bin/column/tests/column.sh b/usr.bin/column/tests/column.sh new file mode 100644 index 000000000000..283dc88bff1a --- /dev/null +++ b/usr.bin/column/tests/column.sh @@ -0,0 +1,200 @@ +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +atf_test_case "basic" +basic_head() +{ + atf_set descr "Basic column(1) with default options" +} + +basic_body() +{ + cat >input.1 <input.2 <input.3 <expected <input.1 <input.2 <input.3 <expected <input.1 <input.2 <input.3 <expected <input <expected <input <expected < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 55f0de279306 - stable/13 - libc tests: add tests for link_addr(3) and link_ntoa(3) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 55f0de27930678dbd0b5d6e627e5dd5eee3d11f8 Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=55f0de27930678dbd0b5d6e627e5dd5eee3d11f8 commit 55f0de27930678dbd0b5d6e627e5dd5eee3d11f8 Author: Lexi Winter AuthorDate: 2025-05-05 17:25:03 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 22:11:46 +0000 libc tests: add tests for link_addr(3) and link_ntoa(3) for now, since link_addr() has no way to indicate an error, these are only positive tests which check the outcome of valid inputs. Reviewed by: ngie, des, adrian Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50062 (cherry picked from commit 757e973fb2112ea442aa8990d991f406d407b6f7) link_addr_test: use , not is the correct header; this fixes the GCC build. while here, sort the headers. Fixes: 757e973fb211 ("libc tests: add tests for link_addr(3) and link_ntoa(3)") Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50189 (cherry picked from commit bbffdfef3bf04b2f89027cb20e2019fdc74c4b1b) --- lib/libc/tests/net/Makefile | 3 + lib/libc/tests/net/link_addr_test.cc | 271 +++++++++++++++++++++++++++++++++++ 2 files changed, 274 insertions(+) diff --git a/lib/libc/tests/net/Makefile b/lib/libc/tests/net/Makefile index 6e90f22b98f5..d939edeeb00d 100644 --- a/lib/libc/tests/net/Makefile +++ b/lib/libc/tests/net/Makefile @@ -4,6 +4,9 @@ PACKAGE= tests ATF_TESTS_C+= ether_test ATF_TESTS_C+= eui64_aton_test ATF_TESTS_C+= eui64_ntoa_test +ATF_TESTS_CXX+= link_addr_test + +CXXSTD.link_addr_test= c++20 CFLAGS+= -I${.CURDIR} diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc new file mode 100644 index 000000000000..6b9f5a841ef7 --- /dev/null +++ b/lib/libc/tests/net/link_addr_test.cc @@ -0,0 +1,271 @@ +/* + * Copyright (c) 2025 Lexi Winter + * + * SPDX-License-Identifier: ISC + */ + +/* + * Tests for link_addr() and link_ntoa(). + * + * link_addr converts a string representing an (optionally null) interface name + * followed by an Ethernet address into a sockaddr_dl. The expected format is + * "[ifname]:lladdr". This means if ifname is not specified, the leading colon + * is still required. + * + * link_ntoa does the inverse of link_addr, returning a string representation + * of the address. + * + * Note that the output format of link_ntoa is not valid input for link_addr + * since the leading colon may be omitted. This is by design. + */ + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include + +using namespace std::literals; + +/* + * Define operator== and operator<< for ether_addr so we can use them in + * ATF_EXPECT_EQ expressions. + */ + +bool +operator==(ether_addr a, ether_addr b) +{ + return (std::ranges::equal(a.octet, b.octet)); +} + +std::ostream & +operator<<(std::ostream &s, ether_addr a) +{ + for (unsigned i = 0; i < ETHER_ADDR_LEN; ++i) { + if (i > 0) + s << ":"; + + s << std::format("{:02x}", static_cast(a.octet[i])); + } + + return (s); +} + +/* + * Create a sockaddr_dl from a string using link_addr(), and ensure the + * returned struct looks valid. + */ +sockaddr_dl +make_linkaddr(const std::string &addr) +{ + auto sdl = sockaddr_dl{}; + + sdl.sdl_len = sizeof(sdl); + ::link_addr(addr.c_str(), &sdl); + + ATF_REQUIRE_EQ(AF_LINK, static_cast(sdl.sdl_family)); + ATF_REQUIRE_EQ(true, sdl.sdl_len > 0); + ATF_REQUIRE_EQ(true, sdl.sdl_nlen >= 0); + + return (sdl); +} + +/* + * Return the data stored in a sockaddr_dl as a span. + */ +std::span +data(const sockaddr_dl &sdl) +{ + // sdl_len is the entire structure, but we only want the length of the + // data area. + auto dlen = sdl.sdl_len - offsetof(sockaddr_dl, sdl_data); + return {&sdl.sdl_data[0], dlen}; +} + +/* + * Return the interface name stored in a sockaddr_dl as a string. + */ +std::string_view +ifname(const sockaddr_dl &sdl) +{ + auto name = data(sdl).subspan(0, sdl.sdl_nlen); + return {name.begin(), name.end()}; +} + +/* + * Return the Ethernet address stored in a sockaddr_dl as an ether_addr. + */ +ether_addr +addr(const sockaddr_dl &sdl) +{ + ether_addr ret{}; + ATF_REQUIRE_EQ(ETHER_ADDR_LEN, sdl.sdl_alen); + std::ranges::copy(data(sdl).subspan(sdl.sdl_nlen, ETHER_ADDR_LEN), + &ret.octet[0]); + return (ret); +} + +/* + * Return the link address stored in a sockaddr_dl as a span of octets. + */ +std::span +lladdr(const sockaddr_dl &sdl) +{ + auto data = reinterpret_cast(LLADDR(&sdl)); + return {data, data + sdl.sdl_alen}; +} + + +/* + * Some sample addresses we use for testing. Include at least one address for + * each format we want to support. + */ + +struct test_address { + std::string input; /* value passed to link_addr */ + std::string ntoa; /* expected return from link_ntoa */ + ether_addr addr{}; /* expected return from link_addr */ +}; + +std::vector test_addresses{ + // No delimiter + {"001122334455"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Colon delimiter + {"00:11:22:33:44:55"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Dash delimiter + {"00-11-22-33-44-55"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Period delimiter (link_ntoa format) + {"00.11.22.33.44.55"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // Period delimiter (Cisco format) + {"0011.2233.4455"s, "0.11.22.33.44.55", + ether_addr{0x00, 0x11, 0x22, 0x33, 0x44, 0x55}}, + + // An addresses without leading zeroes. + {"0:1:02:30:4:55"s, "0.1.2.30.4.55", + ether_addr{0x00, 0x01, 0x02, 0x30, 0x04, 0x55}}, + + // An address with some uppercase letters. + {"AA:B:cC:Dd:e0:1f"s, "aa.b.cc.dd.e0.1f", + ether_addr{0xaa, 0x0b, 0xcc, 0xdd, 0xe0, 0x1f}}, + + // Addresses composed only of letters, to make sure they're not + // confused with an interface name. + + {"aabbccddeeff"s, "aa.bb.cc.dd.ee.ff", + ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, + + {"aa:bb:cc:dd:ee:ff"s, "aa.bb.cc.dd.ee.ff", + ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, +}; + +/* + * Test without an interface name. + */ +ATF_TEST_CASE_WITHOUT_HEAD(basic) +ATF_TEST_CASE_BODY(basic) +{ + for (const auto &ta : test_addresses) { + // This does basic tests on the returned value. + auto sdl = make_linkaddr(":" + ta.input); + + // Check the ifname and address. + ATF_REQUIRE_EQ(""s, ifname(sdl)); + ATF_REQUIRE_EQ(ETHER_ADDR_LEN, static_cast(sdl.sdl_alen)); + ATF_REQUIRE_EQ(ta.addr, addr(sdl)); + + // Check link_ntoa returns the expected value. + auto ntoa = std::string(::link_ntoa(&sdl)); + ATF_REQUIRE_EQ(ta.ntoa, ntoa); + } + +} + +/* + * Test with an interface name. + */ +ATF_TEST_CASE_WITHOUT_HEAD(ifname) +ATF_TEST_CASE_BODY(ifname) +{ + for (const auto &ta : test_addresses) { + auto sdl = make_linkaddr("ix0:" + ta.input); + + ATF_REQUIRE_EQ("ix0", ifname(sdl)); + ATF_REQUIRE_EQ(ETHER_ADDR_LEN, static_cast(sdl.sdl_alen)); + ATF_REQUIRE_EQ(ta.addr, addr(sdl)); + + auto ntoa = std::string(::link_ntoa(&sdl)); + ATF_REQUIRE_EQ("ix0:" + ta.ntoa, ntoa); + } + +} + +/* + * Test some non-Ethernet addresses. + */ +ATF_TEST_CASE_WITHOUT_HEAD(nonether) +ATF_TEST_CASE_BODY(nonether) +{ + sockaddr_dl sdl; + + /* A short address */ + sdl = make_linkaddr(":1:23:cc"); + ATF_REQUIRE_EQ("", ifname(sdl)); + ATF_REQUIRE_EQ("1.23.cc"s, ::link_ntoa(&sdl)); + ATF_REQUIRE_EQ(3, sdl.sdl_alen); + ATF_REQUIRE_EQ(true, + std::ranges::equal(std::vector{0x01u, 0x23u, 0xccu}, lladdr(sdl))); + + /* A long address */ + sdl = make_linkaddr(":1:23:cc:a:b:c:d:e:f"); + ATF_REQUIRE_EQ("", ifname(sdl)); + ATF_REQUIRE_EQ("1.23.cc.a.b.c.d.e.f"s, ::link_ntoa(&sdl)); + ATF_REQUIRE_EQ(9, sdl.sdl_alen); + ATF_REQUIRE_EQ(true, std::ranges::equal( + std::vector{0x01u, 0x23u, 0xccu, 0xau, 0xbu, 0xcu, 0xdu, 0xeu, 0xfu}, + lladdr(sdl))); +} + +/* + * Test an extremely long address which would overflow link_ntoa's internal + * buffer. It should handle this by truncating the output. + * (Test for SA-16:37.libc / CVE-2016-6559.) + */ +ATF_TEST_CASE_WITHOUT_HEAD(overlong) +ATF_TEST_CASE_BODY(overlong) +{ + auto sdl = make_linkaddr( + ":01.02.03.04.05.06.07.08.09.0a.0b.0c.0d.0e.0f." + "11.12.13.14.15.16.17.18.19.1a.1b.1c.1d.1e.1f." + "22.22.23.24.25.26.27.28.29.2a.2b.2c.2d.2e.2f"); + + ATF_REQUIRE_EQ( + "1.2.3.4.5.6.7.8.9.a.b.c.d.e.f.11.12.13.14.15.16.17.18.19.1a.1b."s, + ::link_ntoa(&sdl)); +} + +ATF_INIT_TEST_CASES(tcs) +{ + ATF_ADD_TEST_CASE(tcs, basic); + ATF_ADD_TEST_CASE(tcs, ifname); + ATF_ADD_TEST_CASE(tcs, nonether); + ATF_ADD_TEST_CASE(tcs, overlong); +} From nobody Wed May 21 00:30:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2C4M3hW3z5wFSh; Wed, 21 May 2025 00:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2C4M1bXbz3mhh; Wed, 21 May 2025 00:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2IFkg154ESkT2nKUmUdgtFpQLwA9qDdzlEM+Vg9Qso0=; b=GeJapXVIqX+1zpyAkgHX6zpZAFZ+lU3RmfsTeZ1HKmosWdpDzWeOPM0jwKMM4WOta/ti/9 oAE5ffLNj5xVb7AUcORXfWPzuX5HPmToU/WJCVWwh8pGV1m232KL2BNAWowl2rMOg1O6dQ wnT/Zy+juPvjiWoxC2N7eQRcbeXGJ803uMSBlUKRczDj8WrJSqD1yteZVtzz8t2wneobIs F0vXXxgRp78gtyRJgg903lofm98lkJnp9/zOhB2m8oFivK3onHs9q04rx21HAOMJG/LF1d s7WzeVSpibW9KdCPwzYuqcxtgkbod5NnsQR4unbzB8D8I56Azi1imm5eM44PLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2IFkg154ESkT2nKUmUdgtFpQLwA9qDdzlEM+Vg9Qso0=; b=ftLsg3OnXJULmDKRz6WzftiE9VK0CVAjy375Ja+KphH3SsvHJrXXjtyxW8HHuhy+ZbnLvk An2we5vlTvYPREtK50XLaoKydZ6I5cFERUZ6bDaa7Ws8CnRMVNX2zowyiJq6mK0S+cMfFj Fty4AE024HWJX9e4ieoXPcVeeIo3fVWIZ6l6+LuwQyIAILgZbqd9y6JaOFYtozmQaCSA6k 6iSEEEpBbYC30qA/448+p0YwuxY/CM85XenTRNlgKxm1feRAp7QFMUdRjR7rfUaA3KLj5p aDFiKYqQVO/BzDSioKT9gpfWBvWjHUGj+cFy5lEONPhjfJhIyxMz0sAAusfjWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747787411; a=rsa-sha256; cv=none; b=v8VohavOKBSLFwB+z7vAIaAmrqHIZC63nfLQotwm0+fQ4ydExskJtUD0zIQHChFn6PRC40 LBynjdh8tE4akmfYhP75HjB2RQVZvfxAh/JJ0HSfhrCFx7vIosbR4eZ954dY+3bo2+JN4C fvRMxVG+hXsH+w9llsL6t/oyqV3tmeAQDYl/dlHAsmXSXg0hsnOHYeSuOOZsba/mXLSEwU ltE8VkC/KoYBL5JRF9IzZlvM9WiDt6WGIwIDnMYXpCWUXZYZNItE3vUxaMVz9Kq31jKfXZ HkdAq3nYtx4KkMzhjRCihLCoMQT1ojSkr/YtL9Vgb92kpgdAbNBXxmpRnj88fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2C4M0WGlz19r9; Wed, 21 May 2025 00:30:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L0UAJr027487; Wed, 21 May 2025 00:30:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L0UA9t027478; Wed, 21 May 2025 00:30:10 GMT (envelope-from git) Date: Wed, 21 May 2025 00:30:10 GMT Message-Id: <202505210030.54L0UA9t027478@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 838c75f8699f - stable/13 - libc: add link_ntoa_r() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 838c75f8699fbbb54dd4ab545632bbe950b37d8c Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=838c75f8699fbbb54dd4ab545632bbe950b37d8c commit 838c75f8699fbbb54dd4ab545632bbe950b37d8c Author: Lexi Winter AuthorDate: 2025-05-07 09:34:08 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 22:11:52 +0000 libc: add link_ntoa_r() this is a re-entrant version of link_ntoa. use an in-out parameter for the buffer size, so the user requires at most two calls to determine the needed size. reimplement link_ntoa using link_ntoa_r with a static buffer. Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50202 (cherry picked from commit da509c29089ab169b667ebdf82aa903987ba9c6d) --- lib/libc/net/Makefile.inc | 7 ++- lib/libc/net/Symbol.map | 4 ++ lib/libc/net/linkaddr.3 | 45 +++++++++++++- lib/libc/net/linkaddr.c | 110 ++++++++++++++++++++++++++-------- lib/libc/tests/net/link_addr_test.cc | 111 +++++++++++++++++++++++++++++++++++ sys/net/if_dl.h | 1 + 6 files changed, 249 insertions(+), 29 deletions(-) diff --git a/lib/libc/net/Makefile.inc b/lib/libc/net/Makefile.inc index 42a089f97d74..e0dc44eb7e23 100644 --- a/lib/libc/net/Makefile.inc +++ b/lib/libc/net/Makefile.inc @@ -106,8 +106,11 @@ MLINKS+=inet6_opt_init.3 inet6_opt_append.3 \ inet6_rthdr_space.3 inet6_rthdr_lasthop.3 \ inet6_rthdr_space.3 inet6_rthdr_reverse.3 \ inet6_rthdr_space.3 inet6_rthdr_segments.3 -MLINKS+=linkaddr.3 link_addr.3 linkaddr.3 link_ntoa.3 -MLINKS+=rcmd.3 iruserok.3 rcmd.3 iruserok_sa.3 \ +MLINKS+=linkaddr.3 link_addr.3 \ + linkaddr.3 link_ntoa.3 \ + linkaddr.3 link_ntoa_r.3 +MLINKS+=rcmd.3 iruserok.3 \ + rcmd.3 iruserok_sa.3 \ rcmd.3 rcmd_af.3 \ rcmd.3 rresvport.3 rcmd.3 rresvport_af.3 \ rcmd.3 ruserok.3 diff --git a/lib/libc/net/Symbol.map b/lib/libc/net/Symbol.map index b2ecd4f08735..093987d8c5af 100644 --- a/lib/libc/net/Symbol.map +++ b/lib/libc/net/Symbol.map @@ -148,6 +148,10 @@ FBSD_1.3 { sctp_sendv; }; +FBSD_1.8 { + link_ntoa_r; +}; + FBSDprivate_1.0 { _nsdispatch; _nsyyerror; /* generated from nslexer.l */ diff --git a/lib/libc/net/linkaddr.3 b/lib/libc/net/linkaddr.3 index 6c2fb6ccfdc3..c91a50c9b5b9 100644 --- a/lib/libc/net/linkaddr.3 +++ b/lib/libc/net/linkaddr.3 @@ -30,12 +30,13 @@ .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 .\" -.Dd February 28, 2007 +.Dd May 7, 2025 .Dt LINK_ADDR 3 .Os .Sh NAME .Nm link_addr , -.Nm link_ntoa +.Nm link_ntoa , +.Nm link_ntoa_r .Nd elementary address specification routines for link level access .Sh LIBRARY .Lb libc @@ -47,12 +48,15 @@ .Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" .Ft char * .Fn link_ntoa "const struct sockaddr_dl *sdl" +.Ft int +.Fn link_ntoa_r "const struct sockaddr_dl *sdl" "char *obuf" "size_t *buflen" .Sh DESCRIPTION The routine .Fn link_addr interprets character strings representing link-level addresses, returning binary information suitable for use in system calls. +.Pp The routine .Fn link_ntoa takes @@ -62,9 +66,34 @@ address and returns an string representing some of the information present, including the link level address itself, and the interface name or number, if present. +The returned string is stored in a static buffer. This facility is experimental and is still subject to change. .Pp +The routine +.Fn link_ntoa_r +behaves like +.Fn link_ntoa , +except the string is placed in the provided buffer instead of a static +buffer. +The caller should initialize +.Fa buflen +to the number of bytes available in +.Fa obuf . +On return, +.Fa buflen +is set to the actual number of bytes required for the output buffer, +including the NUL terminator. +If +.Fa obuf +is NULL, then +.Fa buflen +is set as described, but nothing is written. +This may be used to determine the required length of the buffer before +calling +.Fn link_ntoa_r +a second time. +.Pp For .Fn link_addr , the string @@ -96,6 +125,14 @@ The .Fn link_ntoa function always returns a null terminated string. +.Pp +The +.Fn link_ntoa_r +function returns 0 on success, or -1 if the provided buffer was not +large enough; in the latter case, the contents of the buffer are +indeterminate, but a trailing NUL will always be written if the buffer +was at least one byte in size. +.Pp The .Fn link_addr function @@ -111,6 +148,10 @@ and .Fn link_ntoa functions appeared in .Bx 4.3 Reno . +The +.Fn link_ntoa_r +function appeared in +.Fx 15.0 . .Sh BUGS The returned values for link_ntoa reside in a static memory area. diff --git a/lib/libc/net/linkaddr.c b/lib/libc/net/linkaddr.c index df1b7b94276e..d67d2599b2b7 100644 --- a/lib/libc/net/linkaddr.c +++ b/lib/libc/net/linkaddr.c @@ -35,8 +35,12 @@ static char sccsid[] = "@(#)linkaddr.c 8.1 (Berkeley) 6/4/93"; #include #include #include + #include #include + +#include +#include #include /* States*/ @@ -117,53 +121,109 @@ link_addr(const char *addr, struct sockaddr_dl *sdl) return; } -static const char hexlist[] = "0123456789abcdef"; - char * link_ntoa(const struct sockaddr_dl *sdl) { static char obuf[64]; + size_t buflen; _Static_assert(sizeof(obuf) >= IFNAMSIZ + 20, "obuf is too small"); + + /* + * Ignoring the return value of link_ntoa_r() is safe here because it + * always writes the terminating NUL. This preserves the traditional + * behaviour of link_ntoa(). + */ + buflen = sizeof(obuf); + (void)link_ntoa_r(sdl, obuf, &buflen); + return obuf; +} + +int +link_ntoa_r(const struct sockaddr_dl *sdl, char *obuf, size_t *buflen) +{ + static const char hexlist[] = "0123456789abcdef"; char *out; const u_char *in, *inlim; int namelen, i, rem; + size_t needed; - namelen = (sdl->sdl_nlen <= IFNAMSIZ) ? sdl->sdl_nlen : IFNAMSIZ; + assert(sdl); + assert(buflen); + /* obuf may be null */ + needed = 1; /* 1 for the NUL */ out = obuf; - rem = sizeof(obuf); + if (obuf) + rem = *buflen; + else + rem = 0; + +/* + * Check if at least n bytes are available in the output buffer, plus 1 for the + * trailing NUL. If not, set rem = 0 so we stop writing. + * Either way, increment needed by the amount we would have written. + */ +#define CHECK(n) do { \ + if ((SIZE_MAX - (n)) >= needed) \ + needed += (n); \ + if (rem >= ((n) + 1)) \ + rem -= (n); \ + else \ + rem = 0; \ + } while (0) + +/* + * Write the char c to the output buffer, unless the buffer is full. + * Note that if obuf is NULL, rem is always zero. + */ +#define OUT(c) do { \ + if (rem > 0) \ + *out++ = (c); \ + } while (0) + + namelen = (sdl->sdl_nlen <= IFNAMSIZ) ? sdl->sdl_nlen : IFNAMSIZ; if (namelen > 0) { - bcopy(sdl->sdl_data, out, namelen); - out += namelen; - rem -= namelen; + CHECK(namelen); + if (rem > 0) { + bcopy(sdl->sdl_data, out, namelen); + out += namelen; + } + if (sdl->sdl_alen > 0) { - *out++ = ':'; - rem--; + CHECK(1); + OUT(':'); } } - in = (const u_char *)sdl->sdl_data + sdl->sdl_nlen; + in = (const u_char *)LLADDR(sdl); inlim = in + sdl->sdl_alen; - while (in < inlim && rem > 1) { - if (in != (const u_char *)sdl->sdl_data + sdl->sdl_nlen) { - *out++ = '.'; - rem--; + while (in < inlim) { + if (in != (const u_char *)LLADDR(sdl)) { + CHECK(1); + OUT('.'); } i = *in++; if (i > 0xf) { - if (rem < 3) - break; - *out++ = hexlist[i >> 4]; - *out++ = hexlist[i & 0xf]; - rem -= 2; + CHECK(2); + OUT(hexlist[i >> 4]); + OUT(hexlist[i & 0xf]); } else { - if (rem < 2) - break; - *out++ = hexlist[i]; - rem--; + CHECK(1); + OUT(hexlist[i]); } } - *out = 0; - return (obuf); + +#undef CHECK +#undef OUT + + /* + * We always leave enough room for the NUL if possible, but the user + * might have passed a NULL or zero-length buffer. + */ + if (out && *buflen) + *out = '\0'; + + *buflen = needed; + return ((rem > 0) ? 0 : -1); } diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc index 6b9f5a841ef7..ea8f64c6723b 100644 --- a/lib/libc/tests/net/link_addr_test.cc +++ b/lib/libc/tests/net/link_addr_test.cc @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -262,10 +263,120 @@ ATF_TEST_CASE_BODY(overlong) ::link_ntoa(&sdl)); } +/* + * Test link_ntoa_r, the re-entrant version of link_ntoa(). + */ +ATF_TEST_CASE_WITHOUT_HEAD(link_ntoa_r) +ATF_TEST_CASE_BODY(link_ntoa_r) +{ + static constexpr char garbage = 0x41; + std::vector buf; + sockaddr_dl sdl; + size_t len; + int ret; + + // Return the contents of buf as a string, using the NUL terminator to + // determine length. This is to ensure we're using the return value in + // the same way C code would, but we do a bit more verification to + // elicit a test failure rather than a SEGV if it's broken. + auto bufstr = [&buf]() -> std::string_view { + // Find the NUL. + auto end = std::ranges::find(buf, '\0'); + ATF_REQUIRE(end != buf.end()); + + // Intentionally chopping the NUL off. + return {begin(buf), end}; + }; + + // Resize the buffer and set the contents to a known garbage value, so + // we don't accidentally have a NUL in the right place when link_ntoa_r + // didn't put it there. + auto resetbuf = [&buf, &len](std::size_t size) { + len = size; + buf.resize(len); + std::ranges::fill(buf, garbage); + }; + + // Test a short address with a large buffer. + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(64); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ(10, len); + ATF_REQUIRE_EQ("ix0:1.2.3"s, bufstr()); + + // Test a buffer which is exactly the right size. + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(10); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ(10, len); + ATF_REQUIRE_EQ("ix0:1.2.3"sv, bufstr()); + + // Test various short buffers, using a table of buffer length and the + // output we expect. All of these should produce valid but truncated + // strings, with a trailing NUL and with buflen set correctly. + + auto buftests = std::vector>{ + {1u, ""sv}, + {2u, ""sv}, + {3u, ""sv}, + {4u, "ix0"sv}, + {5u, "ix0:"sv}, + {6u, "ix0:1"sv}, + {7u, "ix0:1."sv}, + {8u, "ix0:1.2"sv}, + {9u, "ix0:1.2."sv}, + }; + + for (auto const &[buflen, expected] : buftests) { + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(buflen); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + ATF_REQUIRE_EQ(expected, bufstr()); + } + + // Test a NULL buffer, which should just set buflen. + sdl = make_linkaddr("ix0:1.2.3"); + len = 0; + ret = ::link_ntoa_r(&sdl, NULL, &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + + // A NULL buffer with a non-zero length should also be accepted. + sdl = make_linkaddr("ix0:1.2.3"); + len = 64; + ret = ::link_ntoa_r(&sdl, NULL, &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + + // Test a non-NULL buffer, but with a length of zero. + sdl = make_linkaddr("ix0:1.2.3"); + resetbuf(1); + len = 0; + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(10, len); + // Check we really didn't write anything. + ATF_REQUIRE_EQ(garbage, buf[0]); + + // Test a buffer which would be truncated in the middle of a two-digit + // hex octet, which should not write the truncated octet at all. + sdl = make_linkaddr("ix0:1.22.3"); + resetbuf(8); + ret = ::link_ntoa_r(&sdl, &buf[0], &len); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(11, len); + ATF_REQUIRE_EQ("ix0:1."sv, bufstr()); +} + ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, basic); ATF_ADD_TEST_CASE(tcs, ifname); ATF_ADD_TEST_CASE(tcs, nonether); ATF_ADD_TEST_CASE(tcs, overlong); + ATF_ADD_TEST_CASE(tcs, link_ntoa_r); } diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index ee9ace3803f0..bdbefa39ade1 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -87,6 +87,7 @@ struct sockaddr_dl *link_init_sdl(struct ifnet *, struct sockaddr *, u_char); __BEGIN_DECLS void link_addr(const char *, struct sockaddr_dl *); char *link_ntoa(const struct sockaddr_dl *); +int link_ntoa_r(const struct sockaddr_dl *, char *, size_t *); __END_DECLS #endif /* !_KERNEL */ From nobody Wed May 21 00:30:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2C4N2bVqz5wFQD; Wed, 21 May 2025 00:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2C4N1D4Fz3mj1; Wed, 21 May 2025 00:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TsmP15/FRb91+mt1/VTEdQH2oAXFHOCuS7fIWfIUino=; b=UrD8dXc86DsOPvheRMn+WlhqJ2UrkEDlVxUAHUlZDILECYzM5pBKZm+c/1OnHzLX+QeU57 gc6HOZT+BKLV7Eojcv0+8XTKXSUxgfYLDCRzcwefbpirPJvXaq9N9WoIh0eg476BDBqHQv qxMrWNAuDcBt/2uHb3/d6YMeugqi0YPdcb512nKfkFAr9Rd6973yLn1Negl+C6HgXNZTWI zAfBue94m8D8SFdaAK90Wwi8m3GhlVKohyawL76n07FDIoQ1h/Q2/S1v/Z6njpNfW2Seqq qdcDAIo1fIDzHznbsV28tz9B3lNQSD354OLelhWGZt8BAlT6YIWg034mEfkVMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TsmP15/FRb91+mt1/VTEdQH2oAXFHOCuS7fIWfIUino=; b=LnTXGmNmtf1KdtUQu3B1lh+6vxiSdlaYRr0C4MDGnqT0RTAwRF8XQhPcHBGU9pwAsack0Q LUaahZ25EeQLn35KOWhxxS12fEBJzklPfcB/7wq/XzT3D0CTc+gMEEsnUwrUfeDTFSQBFG YG/J/qEiGnNQxthOxneMhPaotITfHZM1YSOdFWaziHqtxCnAmK+LOYO8q9poDyGWSIAZfj 3JwPfSU/h+62fl1KrbZZpMGRmTvIZgvANYQff2AlAkxR7lc8n2JH/SAOR0c8VtCiiT0l8y 3/MiY3XHGe0wYvouVQG1RreYv3TbsGcg4mmacPEl0LwhL4pVetlZpEUQECrwbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747787412; a=rsa-sha256; cv=none; b=pMUky5GBqzWeSx/jU9owv726xTktEOMTlv92I6DSSvFwvbKg3MqgXQpg+bJWtscxXJ7M66 +LzPTeRhR7gShwfppeO3bNU3SJ5/4rKFj+6kI17L6VhvG33Txx4BmAlA8XL65f5EpxbTnP SJUq1JVB2UeDiqQdBVHbGt4sL5Ixknko1epVQwiIxmfV5n8soNF0C7n/ayxfBcArPO7WdB dyILttlpiQWeXG92t8pU+Jhwy0+MCk3tr/AjvH7iuWmnRdyXJFmMkTK6oiQc0EMP75/HRa kGTIawTY5LmDkY8JE83VCFmtdgK+u19xEjErXNO+9Te0D4+PuNTcywQ5+L0zEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2C4N0n7pz1B9L; Wed, 21 May 2025 00:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L0UCBb028129; Wed, 21 May 2025 00:30:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L0UCwJ028121; Wed, 21 May 2025 00:30:12 GMT (envelope-from git) Date: Wed, 21 May 2025 00:30:12 GMT Message-Id: <202505210030.54L0UCwJ028121@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 054468aa45d0 - stable/13 - net/if_dl.h: add param names in prototypes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 054468aa45d0327f85832a7b3c13c083de0537fc Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=054468aa45d0327f85832a7b3c13c083de0537fc commit 054468aa45d0327f85832a7b3c13c083de0537fc Author: Lexi Winter AuthorDate: 2025-05-09 21:34:16 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 22:11:59 +0000 net/if_dl.h: add param names in prototypes previously these _KERNEL functions were inconsistent, with some having parameter names and some not. fix this by giving them all names, per style(9). Reviewed by: thj, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50219 (cherry picked from commit 8c7d193e3cbe3d1c9a7f7869f1748bebefabaccf) --- sys/net/if_dl.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index bdbefa39ade1..2c1e9bd9dd87 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -76,9 +76,10 @@ struct sockaddr_dl { #ifdef _KERNEL struct ifnet; -struct sockaddr_dl *link_alloc_sdl(size_t, int); +struct sockaddr_dl *link_alloc_sdl(size_t size, int flags); void link_free_sdl(struct sockaddr *sa); -struct sockaddr_dl *link_init_sdl(struct ifnet *, struct sockaddr *, u_char); +struct sockaddr_dl *link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, + u_char iftypes); #else /* !_KERNEL */ From nobody Wed May 21 00:30:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2C4P55dyz5wFdZ; Wed, 21 May 2025 00:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2C4P2ST2z3mW5; Wed, 21 May 2025 00:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NNdmRWIXoGdS5KwipJ3rgAN0lTFrmJXvGeucmwryNTE=; b=TWsHoBYCDrKjVBrhCaK20gWa0E7Jfjn7388fhNvyZ21IU4hVPPR9k8+M6sTeGMgg2cMlwy wXrLlitx2t96unhLUoMdnNXpkctpN18lik0rXgC9ThbQcMX7YI0aOvxwfgdO0aFAO1l8PX bSgaTDPWOrr8B7FF3dhIv6E3GD8m8fZHzBK9dncy5/c29gbEYrVJkRjiLHDf29fKqNigsr n9Z0paBP/sVDVvRrTMa/mrK/XeeTACCgejOk6M6ZNJEwbROScwWjcL3V+ymHZ0QHAHWy28 BCv3QwoBuUkLxuoSB+P5JC3TnHhyDMjC04VIzBGHaQY+O0Or3g9d1Hn/aHJY/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747787413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NNdmRWIXoGdS5KwipJ3rgAN0lTFrmJXvGeucmwryNTE=; b=FXtzHsMiXGBi1KfuIYzpXDcyQhek9yc69eiG0X09JsNbZarbJmd8YJWMCG2P0peLyZulWc 8/8WZ0o9OJVmAQ9FX2TpoyPo1/WYNxb4NVpALypBGKkjX/rQRYOI7a1jh2IP7suqqr5nl6 lWzzDn1dEOIUFlxrC28JZokaWLMR4I0yDGIZNt4YBKrKOKyJ9MFZE6vRh+IViLOYkSvCeK RRkpDolMiqoKgA3mdC/4I1y6vG0rZDHucFmqQHijENFeurj/DBMXcuvjy8/8LNDS1L9BiA +da3kvgxXPXx5a7XXIkspp57XLprLIOtBRNSFvUStmrq8eDaURLtqOrqy3yVRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747787413; a=rsa-sha256; cv=none; b=bMrgBayReUNGSXgPl8sPaOKJYi4sbAg1+BCzljaNNScimkojOEV3SnbrkD8nFe31YhLfUd wyrjmzbK7yMMMHH2lNeqYPATsLLdMTYZv3FY1FtSsdn1CmmVNJyH5sLQN0vKMaJg92mFCB ijkDo0/IXAYu5WJoq/SHZ8+Atbd5MSA/23lEQ4KeMNHEWaevSIXHeDaXQ8SFrtrc7zZXz9 VsWPcL41IE1kWPrth7bNgulxEm6sOAXlLJl2W0Lp3kL/p7Bh/JdXmfXvuWrJ8E8pMSACh7 L/F1Km8vzBNYiM5Vu+WUut1tJnjzI1qVtFwfjK/7hRU0YHJNhRzY64rmlvGIGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2C4P1hp7z1B1y; Wed, 21 May 2025 00:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L0UDja028788; Wed, 21 May 2025 00:30:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L0UDps028783; Wed, 21 May 2025 00:30:13 GMT (envelope-from git) Date: Wed, 21 May 2025 00:30:13 GMT Message-Id: <202505210030.54L0UDps028783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 3214a7958563 - stable/13 - link_addr: be more strict about address formats List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3214a7958563e02df3c53c26f090ce958ce8eda0 Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=3214a7958563e02df3c53c26f090ce958ce8eda0 commit 3214a7958563e02df3c53c26f090ce958ce8eda0 Author: Lexi Winter AuthorDate: 2025-05-14 22:02:59 +0000 Commit: Lexi Winter CommitDate: 2025-05-20 23:17:06 +0000 link_addr: be more strict about address formats instead of accepting any character as a delimiter, only accept ':', '.' and '-', and only permit a single delimiter in an address. this prevents accepting bizarre addresses like: ifconfig epair2a link 10.1.2.200/28 ... which is particularly problematic on an INET6-only system, in which case ifconfig defaults to the 'link' family, meaning that: ifconfig epair2a 10.1.2.200/28 ... changes the Ethernet address of the interface. bump __FreeBSD_version so link_addr() consumers can detect the change. Reviewed by: kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49936 (cherry picked from commit a1215090416b8afb346fb2ff5b38f25ba0134a3a) --- lib/libc/net/linkaddr.3 | 34 +++--- lib/libc/net/linkaddr.c | 198 +++++++++++++++++++++++------------ lib/libc/tests/net/link_addr_test.cc | 152 ++++++++++++++++++++++++++- sbin/ifconfig/af_link.c | 3 +- sys/net/if_dl.h | 2 +- sys/sys/param.h | 2 +- 6 files changed, 307 insertions(+), 84 deletions(-) diff --git a/lib/libc/net/linkaddr.3 b/lib/libc/net/linkaddr.3 index c91a50c9b5b9..ceb5c4a79e9a 100644 --- a/lib/libc/net/linkaddr.3 +++ b/lib/libc/net/linkaddr.3 @@ -30,7 +30,7 @@ .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 .\" -.Dd May 7, 2025 +.Dd May 9, 2025 .Dt LINK_ADDR 3 .Os .Sh NAME @@ -44,7 +44,7 @@ .In sys/types.h .In sys/socket.h .In net/if_dl.h -.Ft void +.Ft int .Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" .Ft char * .Fn link_ntoa "const struct sockaddr_dl *sdl" @@ -53,9 +53,19 @@ .Sh DESCRIPTION The routine .Fn link_addr -interprets character strings representing -link-level addresses, returning binary information suitable -for use in system calls. +parses a character string +.Fa addr +representing a link-level address, +and stores the resulting address in the structure pointed to by +.Fa sdl . +A link-level address consists of an optional interface name, followed by +a colon (which is required in all cases), followed by an address +consisting of either a string of hexadecimal digits, or a series of +hexadecimal octets separated by one of the characters +.Sq "." , +.Sq ":" , +or +.Sq - . .Pp The routine .Fn link_ntoa @@ -135,10 +145,11 @@ was at least one byte in size. .Pp The .Fn link_addr -function -has no return value. -(See -.Sx BUGS . ) +function returns 0 on success. +If the address did not appear to be a valid link-level address, -1 is +returned and +.Va errno +is set to indicate the error. .Sh SEE ALSO .Xr getnameinfo 3 .Sh HISTORY @@ -156,11 +167,6 @@ function appeared in The returned values for link_ntoa reside in a static memory area. .Pp -The function -.Fn link_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. -.Pp If the .Va sdl_len field of the link socket address diff --git a/lib/libc/net/linkaddr.c b/lib/libc/net/linkaddr.c index d67d2599b2b7..c20f989143eb 100644 --- a/lib/libc/net/linkaddr.c +++ b/lib/libc/net/linkaddr.c @@ -40,87 +40,153 @@ static char sccsid[] = "@(#)linkaddr.c 8.1 (Berkeley) 6/4/93"; #include #include +#include #include #include -/* States*/ -#define NAMING 0 -#define GOTONE 1 -#define GOTTWO 2 -#define RESET 3 -/* Inputs */ -#define DIGIT (4*0) -#define END (4*1) -#define DELIM (4*2) -#define LETTER (4*3) - -void +int link_addr(const char *addr, struct sockaddr_dl *sdl) { char *cp = sdl->sdl_data; char *cplim = sdl->sdl_len + (char *)sdl; - int byte = 0, state = NAMING, new; + const char *nptr; + size_t newsize; + int error = 0; + char delim = 0; + /* Initialise the sdl to zero, except for sdl_len. */ bzero((char *)&sdl->sdl_family, sdl->sdl_len - 1); sdl->sdl_family = AF_LINK; - do { - state &= ~LETTER; - if ((*addr >= '0') && (*addr <= '9')) { - new = *addr - '0'; - } else if ((*addr >= 'a') && (*addr <= 'f')) { - new = *addr - 'a' + 10; - } else if ((*addr >= 'A') && (*addr <= 'F')) { - new = *addr - 'A' + 10; - } else if (*addr == 0) { - state |= END; - } else if (state == NAMING && - (((*addr >= 'A') && (*addr <= 'Z')) || - ((*addr >= 'a') && (*addr <= 'z')))) - state |= LETTER; - else - state |= DELIM; - addr++; - switch (state /* | INPUT */) { - case NAMING | DIGIT: - case NAMING | LETTER: - *cp++ = addr[-1]; - continue; - case NAMING | DELIM: - state = RESET; - sdl->sdl_nlen = cp - sdl->sdl_data; - continue; - case GOTTWO | DIGIT: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | DIGIT: - state = GOTONE; - byte = new; - continue; - case GOTONE | DIGIT: - state = GOTTWO; - byte = new + (byte << 4); - continue; - default: /* | DELIM */ - state = RESET; - *cp++ = byte; - byte = 0; - continue; - case GOTONE | END: - case GOTTWO | END: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | END: + + /* + * Everything up to the first ':' is the interface name. Usually the + * ':' should always be present even if there's no interface name, but + * since this interface was poorly specified in the past, accept a + * missing colon as meaning no interface name. + */ + if ((nptr = strchr(addr, ':')) != NULL) { + size_t namelen = nptr - addr; + + /* Ensure the sdl is large enough to store the name. */ + if (namelen > cplim - cp) { + errno = ENOSPC; + return (-1); + } + + memcpy(cp, addr, namelen); + cp += namelen; + sdl->sdl_nlen = namelen; + /* Skip the interface name and the colon. */ + addr += namelen + 1; + } + + /* + * The remainder of the string should be hex digits representing the + * address, with optional delimiters. Each two hex digits form one + * octet, but octet output can be forced using a delimiter, so we accept + * a long string of hex digits, or a mix of delimited and undelimited + * digits like "1122.3344.5566", or delimited one- or two-digit octets + * like "1.22.3". + * + * If anything fails at this point, exit the loop so we set sdl_alen and + * sdl_len based on whatever we did manage to parse. This preserves + * compatibility with the 4.3BSD version of link_addr, which had no way + * to indicate an error and would just return. + */ +#define DIGIT(c) \ + (((c) >= '0' && (c) <= '9') ? ((c) - '0') \ + : ((c) >= 'a' && (c) <= 'f') ? ((c) - 'a' + 10) \ + : ((c) >= 'A' && (c) <= 'F') ? ((c) - 'A' + 10) \ + : (-1)) +#define ISDELIM(c) (((c) == '.' || (c) == ':' || (c) == '-') && \ + (delim == 0 || delim == (c))) + + for (;;) { + int digit, digit2; + + /* + * Treat any leading delimiters as empty bytes. This supports + * the (somewhat obsolete) form of Ethernet addresses with empty + * octets, e.g. "1::3:4:5:6". + */ + while (ISDELIM(*addr) && cp < cplim) { + delim = *addr++; + *cp++ = 0; + } + + /* Did we reach the end of the string? */ + if (*addr == '\0') + break; + + /* + * If not, the next character must be a digit, so make sure we + * have room for at least one more octet. + */ + + if (cp >= cplim) { + error = ENOSPC; break; } - break; - } while (cp < cplim); + + if ((digit = DIGIT(*addr)) == -1) { + error = EINVAL; + break; + } + + ++addr; + + /* If the next character is another digit, consume it. */ + if ((digit2 = DIGIT(*addr)) != -1) { + digit = (digit << 4) | digit2; + ++addr; + } + + if (ISDELIM(*addr)) { + /* + * If the digit is followed by a delimiter, write it + * and consume the delimiter. + */ + delim = *addr++; + *cp++ = digit; + } else if (DIGIT(*addr) != -1) { + /* + * If two digits are followed by a third digit, treat + * the two digits we have as a single octet and + * continue. + */ + *cp++ = digit; + } else if (*addr == '\0') { + /* If the digit is followed by EOS, we're done. */ + *cp++ = digit; + break; + } else { + /* Otherwise, the input was invalid. */ + error = EINVAL; + break; + } + } +#undef DIGIT +#undef ISDELIM + + /* How many bytes did we write to the address? */ sdl->sdl_alen = cp - LLADDR(sdl); - new = cp - (char *)sdl; - if (new > sizeof(*sdl)) - sdl->sdl_len = new; - return; + + /* + * The user might have given us an sdl which is larger than sizeof(sdl); + * in that case, record the actual size of the new sdl. + */ + newsize = cp - (char *)sdl; + if (newsize > sizeof(*sdl)) + sdl->sdl_len = (u_char)newsize; + + if (error == 0) + return (0); + + errno = error; + return (-1); } + char * link_ntoa(const struct sockaddr_dl *sdl) { diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc index ea8f64c6723b..b973b924dc13 100644 --- a/lib/libc/tests/net/link_addr_test.cc +++ b/lib/libc/tests/net/link_addr_test.cc @@ -71,10 +71,12 @@ sockaddr_dl make_linkaddr(const std::string &addr) { auto sdl = sockaddr_dl{}; + int ret; sdl.sdl_len = sizeof(sdl); - ::link_addr(addr.c_str(), &sdl); + ret = ::link_addr(addr.c_str(), &sdl); + ATF_REQUIRE_EQ(0, ret); ATF_REQUIRE_EQ(AF_LINK, static_cast(sdl.sdl_family)); ATF_REQUIRE_EQ(true, sdl.sdl_len > 0); ATF_REQUIRE_EQ(true, sdl.sdl_nlen >= 0); @@ -176,6 +178,10 @@ std::vector test_addresses{ {"aa:bb:cc:dd:ee:ff"s, "aa.bb.cc.dd.ee.ff", ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, + + // Address with a blank octet; this is an old form of Ethernet address. + {"00:11::33:44:55"s, "0.11.0.33.44.55", + ether_addr{0x00, 0x11, 0x00, 0x33, 0x44, 0x55}}, }; /* @@ -219,6 +225,43 @@ ATF_TEST_CASE_BODY(ifname) } +/* + * Test with some invalid addresses. + */ +ATF_TEST_CASE_WITHOUT_HEAD(invalid) +ATF_TEST_CASE_BODY(invalid) +{ + auto const invalid_addresses = std::vector{ + // Invalid separator + ":1/2/3"s, + "ix0:1/2/3"s, + + // Multiple different separators + ":1.2-3"s, + "ix0:1.2-3"s, + + // An IP address + ":10.1.2.200/28"s, + "ix0:10.1.2.200/28"s, + + // Valid address followed by garbage + ":1.2.3xxx"s, + ":1.2.3.xxx"s, + "ix0:1.2.3xxx"s, + "ix0:1.2.3.xxx"s, + }; + + for (auto const &addr : invalid_addresses) { + int ret; + + auto sdl = sockaddr_dl{}; + sdl.sdl_len = sizeof(sdl); + + ret = link_addr(addr.c_str(), &sdl); + ATF_REQUIRE_EQ(-1, ret); + } +} + /* * Test some non-Ethernet addresses. */ @@ -245,6 +288,111 @@ ATF_TEST_CASE_BODY(nonether) lladdr(sdl))); } +/* + * Test link_addr behaviour with undersized buffers. + */ +ATF_TEST_CASE_WITHOUT_HEAD(smallbuf) +ATF_TEST_CASE_BODY(smallbuf) +{ + static constexpr auto garbage = std::byte{0xcc}; + auto buf = std::vector(); + sockaddr_dl *sdl; + int ret; + + /* + * Make an sdl with an sdl_data member of the appropriate size, and + * place it in buf. Ensure it's followed by a trailing byte of garbage + * so we can test that link_addr doesn't write past the end. + */ + auto mksdl = [&buf](std::size_t datalen) -> sockaddr_dl * { + auto actual_size = datalen + offsetof(sockaddr_dl, sdl_data); + + buf.resize(actual_size + 1); + std::ranges::fill(buf, garbage); + + auto *sdl = new(reinterpret_cast(&buf[0])) + sockaddr_dl; + sdl->sdl_len = actual_size; + return (sdl); + }; + + /* An sdl large enough to store the interface name */ + sdl = mksdl(3); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(3, sdl->sdl_nlen); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + /* + * For these tests, test both with and without an interface name, since + * that will overflow the buffer in different places. + */ + + /* An empty sdl. Nothing may grow on this cursed ground. */ + + sdl = mksdl(0); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(0, sdl->sdl_nlen); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + sdl = mksdl(0); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(0, sdl->sdl_nlen); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + /* + * An sdl large enough to store the interface name and two octets of the + * address. + */ + + sdl = mksdl(5); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02 }, lladdr(*sdl))); + + sdl = mksdl(2); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ("", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02 }, lladdr(*sdl))); + + /* + * An sdl large enough to store the entire address. + */ + + sdl = mksdl(6); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02, 0x03 }, lladdr(*sdl))); + + sdl = mksdl(3); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ("", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02, 0x03 }, lladdr(*sdl))); +} + /* * Test an extremely long address which would overflow link_ntoa's internal * buffer. It should handle this by truncating the output. @@ -376,6 +524,8 @@ ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, basic); ATF_ADD_TEST_CASE(tcs, ifname); + ATF_ADD_TEST_CASE(tcs, smallbuf); + ATF_ADD_TEST_CASE(tcs, invalid); ATF_ADD_TEST_CASE(tcs, nonether); ATF_ADD_TEST_CASE(tcs, overlong); ATF_ADD_TEST_CASE(tcs, link_ntoa_r); diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index cd5422c5541c..990226abd435 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -153,7 +153,8 @@ link_getaddr(const char *addr, int which) temp[0] = ':'; strcpy(temp + 1, addr); sdl.sdl_len = sizeof(sdl); - link_addr(temp, &sdl); + if (link_addr(temp, &sdl) == -1) + errx(1, "malformed link-level address"); free(temp); } if (sdl.sdl_alen > sizeof(sa->sa_data)) diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index 2c1e9bd9dd87..082ea63f3ff3 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -86,7 +86,7 @@ struct sockaddr_dl *link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, #include __BEGIN_DECLS -void link_addr(const char *, struct sockaddr_dl *); +int link_addr(const char *, struct sockaddr_dl *); char *link_ntoa(const struct sockaddr_dl *); int link_ntoa_r(const struct sockaddr_dl *, char *, size_t *); __END_DECLS diff --git a/sys/sys/param.h b/sys/sys/param.h index 119af606d1d5..c3da339aa15d 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -59,7 +59,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1305501 /* Master, propagated to newvers */ +#define __FreeBSD_version 1305502 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Wed May 21 01:35:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2DWH2ngDz5wKL0 for ; Wed, 21 May 2025 01:35: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2DWH1xSyz3snD; Wed, 21 May 2025 01:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747791307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JEpD/MB7HjnqB+YptLN645I7/ii2QYcDC779NigbL4w=; b=gL9/8JDzDJuz4AxngIBAqwe53W0vaVVT61XMwgXeDc2PzXllAbF38R041cE1GEgCQpkfrV UwJDf7qq+YujdGtOvYy3qsaXaJZ2ElHopspHh2X5DRzXxbypfgSgAjOTpkyNWm4lUbWHmp YWTBkzftslo1iQnJ2U8biCDHu1afWeZV55BJ+LHM8E2n+yUFB5JkiSTqZCWPyOFh4anEnh Pc2CfTUPYapyi0hIKcA+gEkl++PxZKIqVi9PPyGlQ0Fp528UuDv1CXMwsZwGfNO6j/rdtg RJuToy/cAReiJhSGXCQJ2xF4ZuFO1zDKA/TQtpavNpClYUvC6fwt/OynRKOk2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747791307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JEpD/MB7HjnqB+YptLN645I7/ii2QYcDC779NigbL4w=; b=nBSs4kX5ViIsZvRsgvs5r0Q1ejBBONZRWAH5uH21z/aVoK6LwV0BraCG5qaaOmkCd+bpeA k3oIfjgKzDedkDN/PzaCAp1dbpT+Dukwy1xdk3iLZete2uOL6KFNLaSE8RbuhCF3gKP7A/ 7pyAyAgmg3M7d1Doa9hlx9LpsmvqNMiVI1olqUBuNenR2ah66NgzMG3t02cg19BRjA66PR V0pNi3OOy9wXsmSDiThznzDL7ofoyttvTYInor5Mhz5gT9LZRM9ezJT326+RBpDj3Narf1 GP3MJI1bSTxCD+v+AN1mV/22BvBohhq4WaH3/4haaHNqoglBn7xk1aFhN2JKiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747791307; a=rsa-sha256; cv=none; b=cx88zcFmSiO30Fm7F2b+hGG0E0+uxusK0nS7/8MWq9WKDh84vpYclWNCIWarfxl5tABr/e 0Vr7VfaIsiHyqKFCVsxjLArQ+VZ2p6XUdlzC8R49i3w1y1F6QHavfqLsp1e/4tN7xN5hlK bdRwgp5LVDhW06VP2w97E1DZiIeqvgpAbULMvZM7+mxZLxIie/O6Z03946CRBxtIhb8Vvh bHoq6Ivrd8UDTLoGn2Mb2MQG6NkioAgCUesufrIkMm8PwC5kUxFKSsC3/qDaJqZFgQfcCz /Nwd11LL6KBp9A/w5othR/AgzxzBrFlfBQU2dOZbfBDnSq+miuczGJ6ERObbQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2DWH1Q7Cz1T; Wed, 21 May 2025 01:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L1Z76E051774; Wed, 21 May 2025 01:35:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L1Z7X9051773; Wed, 21 May 2025 01:35:07 GMT (envelope-from git) Date: Wed, 21 May 2025 01:35:07 GMT Message-Id: <202505210135.54L1Z7X9051773@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Kyle Evans Subject: git: b32d4521b7b1 - Create tag vendor/wireguard-tools/v1.0.20250521 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/tags/vendor/wireguard-tools/v1.0.20250521 X-Git-Reftype: annotated tag X-Git-Commit: b32d4521b7b120e5aecadb2f97f1a99cb6c3c27b Auto-Submitted: auto-generated The annotated tag vendor/wireguard-tools/v1.0.20250521 has been created by kevans: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/wireguard-tools/v1.0.20250521 tag vendor/wireguard-tools/v1.0.20250521 Tagger: Kyle Evans TaggerDate: 2025-05-21 01:34:44 +0000 Tag v1.0.20250521 commit 2a7e45eef31292cf9dd82caf3346eb2acb5b6225 Author: Kyle Evans AuthorDate: 2025-05-21 01:31:03 +0000 Commit: Kyle Evans CommitDate: 2025-05-21 01:34:11 +0000 wireguard-tools: update to v1.0.20250521 This includes the following notable changes: - Fix for "wg show all endpoints" - Fix for INET6-only FreeBSD kernels rolled in - Some stubs for incremental updates of AllowedIPs - Handling of strdup(3) failure in config bits From nobody Wed May 21 01:37:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2DZN4j84z5wZGG; Wed, 21 May 2025 01:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2DZN3vR5z3tMn; Wed, 21 May 2025 01:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747791468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ihMzx579138MppWs15Z1Bttqs//6eDbuG/ukU0BweYg=; b=GxyJ7dch8VSBGSwbGN/vfiQSaqKxYNUvrSuiIhN0Y94VYjYdOSifTIUpsZmU6qIsGbDVOj iSm+V2m4QN75jsCo6CZTM1QtKrqQBntg16/XyZND+u9xXDTGaQRufL8FHSmAd4LWuHRu8E qyCHY8hReV6YBJCwp/m/17aOr7xiR9oB8kJWS1U5Otjg20p3+wzRgDANmNPiVUimUuP8TJ k9YPYcAmWSL4AYCQ6qYYnNkiTgHvLAVIV5LDF7EvGfyrjHFb4X+Bkmz+euQ7DB44Prt6aQ hADJAx6GTQfpKhgHnFngToNScfkX/2njdqp4iFyMrP2WrXSc4cbPzM5GVnfsKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747791468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ihMzx579138MppWs15Z1Bttqs//6eDbuG/ukU0BweYg=; b=PI3vFO9hfml5c+Ng/5qhoGU7ObjQcnmorZYIgyaJuukd+AyTktk/wBU9DpclXt6tXwx5u2 7SeV9OrqpBMlly6Fp8qmX6pZmzMlgKvWZzrCZcmEEzWTobptQQDJk7J9aa137UwX4Qf/Zj rEB6/dyWSwYXp6J5QdnbB5aCu5G/jH6yTC3LF3wUp5uFmdNzEzPuYRRLARgUZNe5S+sB1+ fnJ3JwUMUynxrLQkvY0dMypM0lCL5waj8C3SiQGRWIU/XYo/TZXFF0DAgGlksuQgJCM92t XNABRFWt/HWV0OWyN4huswDwot5VOHuqKycK6Gk/FCo0Dg8tGrP1pfijJhRzzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747791468; a=rsa-sha256; cv=none; b=Hy5WdWF8BvmV2aLa2N9a9a0FZrUmW9LzEljOqFNhkLfyDJ6emVixB+7vov8s0BUdziuAn7 F/DVHYrEXoYyNGlpxtuaYkDTusH/ULzJHiOY89rUJXuA98BLYBOavLyci+cOz9NBaBSwL/ 6fB1v77Tx2ATEtyBO9utxYUVmqXiF0SJdcqpV6JHe9a5+mtGqoE7FO9dj+1wa7ZFKEBVz/ 5IaIGqPDXor8FXGmOqTPTfYygAt8TE7zG8aaU35WUJGl1X6dcgPv8p8I63FQ6URiTX7ufs IdXlaHqlvi6XSGE42I5hJbsIZ/UnYgUk64fBkO9L4P3yLm+miRu9eI7CRXdM+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2DZN3Vcnz1V; Wed, 21 May 2025 01:37:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L1bmUi052623; Wed, 21 May 2025 01:37:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L1bmpr052620; Wed, 21 May 2025 01:37:48 GMT (envelope-from git) Date: Wed, 21 May 2025 01:37:48 GMT Message-Id: <202505210137.54L1bmpr052620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 137de4b34d45 - main - Merge commit '2a7e45eef31292cf9dd82caf3346eb2acb5b6225' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 137de4b34d45192985e21f6d6163533da547fbac Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=137de4b34d45192985e21f6d6163533da547fbac commit 137de4b34d45192985e21f6d6163533da547fbac Merge: 3d2957336c7d 2a7e45eef312 Author: Kyle Evans AuthorDate: 2025-05-21 01:36:07 +0000 Commit: Kyle Evans CommitDate: 2025-05-21 01:36:07 +0000 Merge commit '2a7e45eef31292cf9dd82caf3346eb2acb5b6225' Update wireguard-tools to the latest version, which has some stubbed out support for incremental Allowed-IPs updates that we would need to add kernel support for. contrib/wireguard-tools/config.c | 23 +++++++++++++++++++++++ contrib/wireguard-tools/containers.h | 5 +++++ contrib/wireguard-tools/ipc-freebsd.h | 5 +++++ contrib/wireguard-tools/ipc-uapi.h | 2 +- contrib/wireguard-tools/man/wg.8 | 8 ++++++-- contrib/wireguard-tools/set.c | 2 +- contrib/wireguard-tools/show.c | 4 ++-- contrib/wireguard-tools/version.h | 2 +- 8 files changed, 44 insertions(+), 7 deletions(-) From nobody Wed May 21 02:55:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2GJB5gN4z5wftW; Wed, 21 May 2025 02:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2GJB59KBz40T9; Wed, 21 May 2025 02:55:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747796138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YfeTr5MeRJIgbGaZHyl4hwo9K0AzFCC4o8fupWxdcdo=; b=kXF+3ZD95PXlkuH02/IIBXaERN6tHRseTf3SrDawIwb/bbfZiuPv5hfHvZTNkYgxiZW+/s lGfhe1ox71R1y7ZjQ+7FYs0NXxTp4TCngUncXKqz9GCzlibZjfcNPqwoIurIM/aP5AjJif HAAecczxrwgTyEO9kAZVSBLY+dxTLpJyIBEnwqNTu8LDywLSJEZb9FXuXmpBcl3W9lRSZS q2L5cgCnBv4D33oJAR1kQpJs/69CMz6OoFwT/wdMmOQFo0K18Vi2A8O4P0tv9QpMx2RneT NSZPgN9+i6gTyhzqzwHJH1EgM6JfepLX47vtHuRPftpAI1J+L/KBbyRNCBq63Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747796138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YfeTr5MeRJIgbGaZHyl4hwo9K0AzFCC4o8fupWxdcdo=; b=tEs/LWGCwGiPtQukPOt9DP3NAFCVhsh7TpfDAwGzMW/QwnPYa9PACY+TUXBSa0eaogt3mR AYvyQeohgczubLGbKIT73xr0igvWKjL5f708ES+4DErPc/yhsYlQJPPvPAH3CnTLqu8Vje f23zek/oOrmItBaqd0YO2VYay9lM8uLBTGEriJj0R4eO0ZvZaTJs+rji9/eb3XMwN8d6Ik IvH6gCi7ZqQW+de4vNXmX1rtY1pBFALabPsqDJS3RJDTB0kQqknaiKvck8KLxj8AYOkkjF CqHRgiaL9qgID2f91eXydIFZzI/ze9lfgqDafbuJPdtwHApaXl2ahCzwrxqZoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747796138; a=rsa-sha256; cv=none; b=Sf86F8Lkr9c6gGhrP5M4rgzICwvFEz0O9bLCAOVr7LryPkrVRf0BmVhFc8f4/c5jHiRENR lJ4TFgxo690WVnevidpqk5QkvHb4N8zW6X6c+8IhNMYzm1+r7UaOqJGTMKEAbmf8jqmy5l MxfiCIBjtlVfly0ybRVaBEiSJ8vNMxc9cKj/CnSwdBxvgqTn3bnt9FeeW8755B3Vn5otDo 33fO/Sk0K6Zwp9C8W8A9rgXyaVfaL1qKid/8WlZRZtYzls1ZIf5VPwH4Zh9D0O80EnNuoC t5TEDnFmwsT2szar1fjtZS61hJTbfhBKegkvBZXDk2hGlcarZooLY8WQf1nVmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2GJB4Q3Xz2Fk; Wed, 21 May 2025 02:55:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L2tcE5001539; Wed, 21 May 2025 02:55:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L2tcGP001536; Wed, 21 May 2025 02:55:38 GMT (envelope-from git) Date: Wed, 21 May 2025 02:55:38 GMT Message-Id: <202505210255.54L2tcGP001536@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: d5566d755694 - main - rpc.tlsservd: fix on a machine with just one CPU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5566d755694b0efeef9b0e0ff839ee5b3ef43bd Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d5566d755694b0efeef9b0e0ff839ee5b3ef43bd commit d5566d755694b0efeef9b0e0ff839ee5b3ef43bd Author: Gleb Smirnoff AuthorDate: 2025-05-21 00:52:44 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-21 02:54:38 +0000 rpc.tlsservd: fix on a machine with just one CPU Reported by: rmacklem Fixes: 8e5f80da89d74a5ef429b34bb9c3f8b589f8da9a --- usr.sbin/rpc.tlsservd/rpc.tlsservd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c index 438b745fb5de..f07385a2baa7 100644 --- a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c +++ b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c @@ -167,7 +167,8 @@ main(int argc, char **argv) } rpctls_verbose = false; - rpctls_maxthreads = (ncpu = (u_int)sysconf(_SC_NPROCESSORS_ONLN)) / 2; + ncpu = (u_int)sysconf(_SC_NPROCESSORS_ONLN); + rpctls_maxthreads = ncpu > 1 ? ncpu / 2 : 1; while ((ch = getopt_long(argc, argv, "2C:D:dhl:N:n:mp:r:uvWw", longopts, NULL)) != -1) { From nobody Wed May 21 02:55:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2GJD5Hdbz5wg2X; Wed, 21 May 2025 02:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2GJD3qGhz40FB; Wed, 21 May 2025 02:55:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747796140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+pjl2gWKg5dIfDD2oDdWe2yOtCkY7QvkW/8xB3zG444=; b=mXfEsh+Lw2MeZKw3a5p5tTGZvPj60b27RWxNp+GjZudy4ER4tUFHMsDRfmx9FRDEGcfevh fZXRVbyFn/3hsxvDB5cQnBVsre5Qv0u7HU8Hg3J3IYE55cmLaK9FFbjC9pLtNbmrCbNZM0 CM6hLxKb8EfJ40xxUy18VMo02GnbdHHI37EFmZyrmALOCFQmAtJdzwdfe1HMEUep0IlT32 1FGteHLhB5RMwYJEt344IuJgm1f0xSzLvi819w9Hpb7SAT+D2nxmjLvgDKm22ljavIDpRH gl9SGQ2gVat7L5JR4dWJEIW8DKPyXsWU8aGvtk+Prr1x8PDkk2jPV0qYgtUZlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747796140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+pjl2gWKg5dIfDD2oDdWe2yOtCkY7QvkW/8xB3zG444=; b=UZC7E6SOL9nJyCoqbKRd1aJiq2s5cW0Keg/+Hk9MB6qnY399VVDZVZjpYQ1skGNR2ZSaQi hOPkxApdMmaIQYV7RV5wG8pj3rqHQT7M0B8CrQFRA1gJwCUmohHksvJ3w8p8OZlg5q+SbZ 92bCkvQqOdoi5fJpCXZDrIrDyMzMPVvpEyo5BPR85oroPwHK8PTr4PmRo70+gDMI5iYhAa JaR1jiObdOl7iJT0AEvxd054zu0xd6TzMH9PpT4tE5R7xVHmTYDHaW7L6rcD+e3xRA4bMM PoQpXP6H4/9GE/AnI9jJrqWiQvd6fTN9BhIiCnqEQxdZRjwPvxGn0i7IZgB2QA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747796140; a=rsa-sha256; cv=none; b=xpumTerJKXpSQwQvqRSbaZ3lnaSBRvXy9zzLyhnGAzrz5qKMPyyvi9YVfE20itv74VF0Iu MZuzW2h/ao68T3/SxAI/K0z0sJmVIYHFE3MdCcJR32p8RygWjyeb50M5Rjv3F61RMr0BcU TKB4xH4ZlptJLOOAZ7YZQKjNvjRVvEyUV5R5pW0Ive7wyFwWp+nPflkW90rtWGuHIQDLkq k0EYUVi+JaycJu86AuEC0ra1iRWepso2JIWxFLy3R0DHBCmTjP9VEDsjbcbDNPeyyhJKhL SOBkS2IrEwqhxUWF8Tfy7UnXeWVZQn8mD05PPRz8sGIufcZL6+PMomfC7Cvqzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2GJC4k5xz2Fl; Wed, 21 May 2025 02:55:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L2tdeS001574; Wed, 21 May 2025 02:55:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L2tdkb001571; Wed, 21 May 2025 02:55:39 GMT (envelope-from git) Date: Wed, 21 May 2025 02:55:39 GMT Message-Id: <202505210255.54L2tdkb001571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: eafe5967ac55 - main - unix: fix EVFILT_WRITE when peer close(2)s and shutdown(2)s List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eafe5967ac558de142d91660e18e9238289890e3 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=eafe5967ac558de142d91660e18e9238289890e3 commit eafe5967ac558de142d91660e18e9238289890e3 Author: Gleb Smirnoff AuthorDate: 2025-05-21 00:30:57 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-21 02:54:51 +0000 unix: fix EVFILT_WRITE when peer close(2)s and shutdown(2)s For the close(2) case restore reporting the event with EV_EOF set. This fixes bug 286692. For the shutdown(2) case restore original behavior, but leave comment that we may want to change that. The d15792780760 was not intended to bring in functional API changes. Provide tests for both cases. PR: 286692 Fixes: d15792780760ef94647af9b377b5f0a80e1826bc --- sys/kern/uipc_usrreq.c | 16 ++++++++++++--- tests/sys/kern/unix_stream.c | 48 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 0836652b6a24..164030eec7ab 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1767,16 +1767,26 @@ uipc_filt_sowrite(struct knote *kn, long hint) struct socket *so = kn->kn_fp->f_data, *so2; struct unpcb *unp = sotounpcb(so), *unp2 = unp->unp_conn; - if (SOLISTENING(so) || unp2 == NULL) + if (SOLISTENING(so)) return (0); + if (unp2 == NULL) { + if (so->so_state & SS_ISDISCONNECTED) { + kn->kn_flags |= EV_EOF; + kn->kn_fflags = so->so_error; + return (1); + } else + return (0); + } + so2 = unp2->unp_socket; SOCK_RECVBUF_LOCK_ASSERT(so2); kn->kn_data = uipc_stream_sbspace(&so2->so_rcv); if (so2->so_rcv.sb_state & SBS_CANTRCVMORE) { - kn->kn_flags |= EV_EOF; - kn->kn_fflags = so->so_error; + /* + * XXXGL: maybe kn->kn_flags |= EV_EOF ? + */ return (1); } else if (kn->kn_sfflags & NOTE_LOWAT) return (kn->kn_data >= kn->kn_sdata); diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 7aedf462dcce..9f750967ebf8 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -279,6 +279,52 @@ ATF_TC_BODY(unconnected_writability, tc) close(s); } +ATF_TC_WITHOUT_HEAD(peerclosed_writability); +ATF_TC_BODY(peerclosed_writability, tc) +{ + struct kevent kev; + int sv[2], kq; + + do_socketpair(sv); + close(sv[1]); + + check_writable_select(sv[0], 1, false); + check_writable_poll(sv[0], 1, false); + + ATF_REQUIRE(kq = kqueue()); + EV_SET(&kev, sv[0], EVFILT_WRITE, EV_ADD, 0, 0, NULL); + ATF_REQUIRE(kevent(kq, &kev, 1, &kev, 1, NULL) == 1); + ATF_REQUIRE(kev.ident == (uintptr_t)sv[0] && + kev.filter == EVFILT_WRITE && + kev.flags == EV_EOF); + + close(sv[0]); +} + +ATF_TC_WITHOUT_HEAD(peershutdown_writability); +ATF_TC_BODY(peershutdown_writability, tc) +{ + int sv[2]; + + do_socketpair(sv); + shutdown(sv[1], SHUT_RD); + + check_writable_select(sv[0], 1, false); + check_writable_poll(sv[0], 1, false); + /* + * XXXGL: historically unix(4) sockets were not reporting peer's + * shutdown(SHUT_RD) as our EV_EOF. The kevent(2) manual page says + * "filter will set EV_EOF when the reader disconnects", which is hard + * to interpret unambigously. For now leave the historic behavior, + * but we may want to change that in uipc_usrreq.c:uipc_filt_sowrite(), + * and then this test will look like the peerclosed_writability test. + */ + check_writable_kevent(sv[0], 1, false); + + close(sv[0]); + close(sv[1]); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, getpeereid); @@ -288,6 +334,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, full_writability_select); ATF_TP_ADD_TC(tp, full_writability_poll); ATF_TP_ADD_TC(tp, full_writability_kevent); + ATF_TP_ADD_TC(tp, peerclosed_writability); + ATF_TP_ADD_TC(tp, peershutdown_writability); return atf_no_error(); } From nobody Wed May 21 03:19:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2Gr539xlz5wh7y; Wed, 21 May 2025 03:19: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2Gr51wY8z42Gr; Wed, 21 May 2025 03:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747797589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3CxJY82KmTnBJx1wfwnmh3Upbkv2O2yB9aDdoLgWUHQ=; b=xGhqxGyCtLg/miMYRvLZgl9nRhqnTlmuD7hJzCiPmABREJ6LTTFsWzqCxxUOzsTLHwZh1N llWcSth/eKZfoEjVS1K1HtIG4UCRPtF02Bg/Vj8SPgJ7y7b0anS2X/O+n2hxkVB6fwTfk6 s3SEkYRspxy+nGaw6qDg+JOJ/BQUVoi6+osfXIOHeNuGlARlujd+pAN47qolHT/JAmLKyK 85uxNnIrZg8ZtGIZh5z3ZPJHk6wsn4zCCYGTGClzLdLI4d1OUi6sXBmiwOQFM10sf4Ryv2 CqBRBHypfxfsE13IO/BcXbodO2cDkBsR2flohpwMD/hmtm+tckHRG9t0KM4FnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747797589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3CxJY82KmTnBJx1wfwnmh3Upbkv2O2yB9aDdoLgWUHQ=; b=oirkI+nGjFBKyW9VGAtmDYK1v4+q662DG6f+criFQdKtB24fsLoRWhHejVa+Oo0/0ustIg OqF17JZlBpZJfbWrlmAJ4T7nf3HoMHQmWrI7HWBC1oA5S84LCs6jA3C/YKp8QgsUv2AB9B BOavFEpB6f5Qkq0iGviXHvSTGtJ32rJIrrgC/oqTrQ/FNnHAWWmJcGGtedAmJ+YcVfpGXA ocDrP484mpIF8C7rZvRdEkrO95SV4zHROpz01gtLPxvhNcZki2ZpCsVB44GCEdCuLP+pSn LLHfeiliqodZBd6asH9dZzHj3KSIdUAi1ZT3j/8J1Bc3JAUDc+uHM8qjh/Oeag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747797589; a=rsa-sha256; cv=none; b=JxyYMWvRDb8dhWtx2Sn7tbQINV5Aw6+1BFyAlZ6bmTnkwjDA3NG62xI0y6w02r7Gp+llg7 nR6ZKZZW/s2K0q2di49yDIIeqwkqzdUXMCW+Modg8FC0ztg86mdlmMRO8Bht7eOah+zf5x KC1obb7I7/Jq0WNHWdqcNhuyXzZX7+TDLr56Dr6qB6hyx0mVhGkg/Aua2zpMlpxWnfZKUn kX8DGRhZ0UXZPxaUIqAKo1ObqVZ7QbMEg8mO3TJcFnP3p/X/MpcAPisFyJqVloYShWPlmR E8Bx39PQundUA64j9tjjR5zrZ2i2FRitxLGQPn8stfhZZ9A6cwbiv4BfrDDNdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2Gr50ybXz237; Wed, 21 May 2025 03:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L3Jmu2043405; Wed, 21 May 2025 03:19:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L3JmhL043402; Wed, 21 May 2025 03:19:48 GMT (envelope-from git) Date: Wed, 21 May 2025 03:19:48 GMT Message-Id: <202505210319.54L3JmhL043402@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 059fbe9a716d - main - elf.5: Add NT_FREEBSD_FCTL_LA48 and NT_FREEBSD_FCTL_LA57 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 059fbe9a716d5023d559424bf2ab2aa62eae6ec8 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=059fbe9a716d5023d559424bf2ab2aa62eae6ec8 commit 059fbe9a716d5023d559424bf2ab2aa62eae6ec8 Author: Ed Maste AuthorDate: 2025-05-21 01:42:15 +0000 Commit: Ed Maste CommitDate: 2025-05-21 03:19:29 +0000 elf.5: Add NT_FREEBSD_FCTL_LA48 and NT_FREEBSD_FCTL_LA57 Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50443 --- share/man/man5/elf.5 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index 5bd71efcb56c..bd12f5e52df0 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 25, 2022 +.Dd May 20, 2025 .Dt ELF 5 .Os .Sh NAME @@ -1384,6 +1384,10 @@ Disable stack gap. .It NT_FREEBSD_FCTL_WXNEEDED Pq Value: 0x08 Indicate that the binary requires mappings that are simultaneously writeable and executable. +.It NT_FREEBSD_FCTL_LA48 Pq Value: 0x10 +Request 48-bit linear address space on amd64. +.It NT_FREEBSD_FCTL_LA57 Pq Value: 0x40 +Accept 57-bit linear address space on amd64. .El .El .Sh SEE ALSO From nobody Wed May 21 03:40:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2HHm3Hrfz5wjRS; Wed, 21 May 2025 03:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2HHm0nw6z43WS; Wed, 21 May 2025 03:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q1jP0DEnJrx736QJivkJADFzK1TYOl5uKyvQ3LJqU/k=; b=ResAnhLhtDmmu6O3I1KnrZ0yYie7lUXK5cL+sCXxWE0YY9qBhfc1pG6NkFjXpK9YaYXSIY n2132ktl2Njw4C+GrXGSNp8QZEntj8MZQ0tUegRHc09A9TTl2GS41Hm1mbQPbi43fjO0cH CJSE38+8f4u17Kvd93jWxwBOPa+OXMGUCEB+sMDbk0fBAO+UuKrVNNmCiLC6Y+EuaVg5l7 IqkCmmSLAa+9ufsOmBTcU/IpMGPUb6lVWKdS3kPpLU73Aj5+2Y/Jed4vpvVy8qxwYGYDTt f8QPVA/1AFVgzQIwGZfwSjf24ZFvBVw83vdkkF1g7/AJ/Odvfyd1SHXiD+lldg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q1jP0DEnJrx736QJivkJADFzK1TYOl5uKyvQ3LJqU/k=; b=fQzOW+Dp9+lSfV3Rb828KFrRFFUTPiI/cqlFkf9joZHry1Tpjg3pqbFVQhLwJLA4JX6nl8 G0ElvjvzLSJZCC3Pc31NBgx/vi3Jl0q4MrP5qiJn7H/RuloFVWlC1e3TscUBV6BtpPQ3vz 5ecudN8Kg4M/GosPK6ypsfMFxy6xTbYQyiIUqa/KvyY7jRIDyrRR4kLHSypOhPgnRjeekr Wv3U9HUOiOiHM1ZbWvUCzWZHkCwwyWcf0yG0b/aN4Fdq7aOpku0ZVuIGG6I4j4t95/ihMj vRoqXsFkplfpBNJz40Ck3PcbtNDx+VwwTdC4M/nO7cVtj3tQTHFJ0OuDNdwY/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747798820; a=rsa-sha256; cv=none; b=v2AkFv6Oze6rrZbwb2YdqrpOJdUDvx7nZu/wuO6Ni4gXyTPOSqP6OKUIkNqJPXj2fIwWEz iULRME+GTuOynhfBcLAd1SISrqGeWgpBoVcHvNtdrkcFZioF41xXNdmGN7765ISAFwDt7R cOUfCDHJQtl1j21kodmuBBcqNVSdSWvaSfPkaWBgnOGX9KcZBK1NO+nAJc5dmfJdjnVF5k 83E7IfXMTqDZ7OTr6lYqaQWhUoatAgqxxyZQvtULplQMOLt5SqdlSEHpTk/Xrq0xK7UH/2 kth6WgYQkevt6qvxbUVixVnfEwg7rLiVz7V8OAyka8CLa60MLDa4A0KLy7UfaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2HHm0GR6z3Qp; Wed, 21 May 2025 03:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L3eJPC088439; Wed, 21 May 2025 03:40:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L3eJE1088436; Wed, 21 May 2025 03:40:19 GMT (envelope-from git) Date: Wed, 21 May 2025 03:40:19 GMT Message-Id: <202505210340.54L3eJE1088436@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 22fc5d7b222c - stable/14 - in6_control_ioctl: correctly report errors from SIOCAIFADDR_IN6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 22fc5d7b222c815fe1a6c81780efd230c749ed1d Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=22fc5d7b222c815fe1a6c81780efd230c749ed1d commit 22fc5d7b222c815fe1a6c81780efd230c749ed1d Author: Lexi Winter AuthorDate: 2025-04-07 12:40:07 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 02:55:42 +0000 in6_control_ioctl: correctly report errors from SIOCAIFADDR_IN6 we have to use 'goto out' here rather than 'break' because otherwise error is set to 0, which means the error is not propagated back to the caller. Reviewed by: kp (cherry picked from commit 1408670c90ae38fd51ea6aaabe46757bc880608e) --- sys/netinet6/in6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 54b9d598b961..326153b1d2f6 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -589,7 +589,7 @@ in6_control_ioctl(u_long cmd, void *data, #endif error = in6_addifaddr(ifp, ifra, ia); ia = NULL; - break; + goto out; case SIOCDIFADDR_IN6: in6_purgeifaddr(ia); From nobody Wed May 21 03:40:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2HHn3Tcyz5wjWK; Wed, 21 May 2025 03:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2HHn1XT4z43m2; Wed, 21 May 2025 03:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZ2jXptxu3qYp0E1ya3V8KPPa0Ov1TZ7jd7Nn4+sVcM=; b=G0z91b/NDe5QnlaGJjuZ5u6WR50yVkN78WyyFuKIytnmgqIsmeKJfP3Q2AtFOQCWDy/Qmk RCDJsk5XcEEYFK+1mUtA1jr35P+nq9w51pvm1+/hgRAav5wvDFGAMRYOpv9HrTZQULzSJI YVcCb7MIaaKHMVAJvS7Q1X/93idqdbHfdYzTFak4/xGd5es0Oe+Os70SwmKL4A355BOa2q 4hqGSvYL4swjziYo/4B8CwkcxonULhMHBp4BR1IIFKN9kZt8Diz0e8CtINtLJqYBiQM4g0 id7wRlE9+mE2yGQoPAhpVHukjxHeIBV1VtDGmD1cv2B2F5nF5ZD0wXIog7m3VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZ2jXptxu3qYp0E1ya3V8KPPa0Ov1TZ7jd7Nn4+sVcM=; b=ul3IDdvM9RCZlFMNClhV2Z17AoDPfvFZNwxFd0XbyJSMdD2vs40e2sOchfRq/Wh2DKDT5Z CGe0TZpCXR3WjDfllUX+2BiDxqGIY2k7MtsbNKBWbthcwlCavl5dU82V8jJIw/zbB5ffMq KJQp03aWY8T7UiEBTWS3Ua7QjKkszArALEkoeyUaFLtLDAihahdWkuQvdcCDGSBDvBn8Pw Hykf9r5tB/fVTmYF7Op+bh7j+5JmaT9/q78P7tSD+gpFsT6M6+uJ1RQBYV6/uLH/GXu6Su B1ZugPMMaLM45fvV//9+Y9aI4QYCXTUmf+RmZGXtVfS8O4mw5OpTeHfRVjzKJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747798821; a=rsa-sha256; cv=none; b=vHCV/JgaV9oDlErIeCv6FyvoPli3En3VH5BV+ekXBJdTqwEhycjqhlKozZ4tblgbFHHRmY i4TbGBz/MolkDpNmp071Qj17hFLoRBS68jMzexy7noJpTNP50pqRGYBoqJXIRVrxDeGaVz ++5Ec5McplBTTdC5VlcKXatLFCPml5CjBpmsi9lpGQjmZWVvxGl0eLxJB6s4XlFPXNrTnW GiVqZhdeucqR+ZTXvieikSHsNWRFU+XPCzXIaZIw/C6GhVnJacRhPPioxeV+eUybses/DI e4W9HULlwfeCAfNFmwGWWhPDFaOvZOqRVNNi1YvwsqhA5QUWfqPrXWd0avANdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2HHn18ZWz30m; Wed, 21 May 2025 03:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L3eL7t088475; Wed, 21 May 2025 03:40:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L3eLgK088472; Wed, 21 May 2025 03:40:21 GMT (envelope-from git) Date: Wed, 21 May 2025 03:40:21 GMT Message-Id: <202505210340.54L3eLgK088472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: b8771c2c9a5f - stable/14 - netinet6 tests: add a test for SIOCAIFADDRing an invalid IPv6 address List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b8771c2c9a5f6fda7ea3d101d6378e10f9c5fcc0 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=b8771c2c9a5f6fda7ea3d101d6378e10f9c5fcc0 commit b8771c2c9a5f6fda7ea3d101d6378e10f9c5fcc0 Author: Lexi Winter AuthorDate: 2025-04-07 16:47:23 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 02:55:42 +0000 netinet6 tests: add a test for SIOCAIFADDRing an invalid IPv6 address Reviewed by: kp (cherry picked from commit 50725e585de77c20f7c96b836dd68ba954756ce7) --- tests/sys/netinet6/Makefile | 5 ++++- tests/sys/netinet6/addr6.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/tests/sys/netinet6/Makefile b/tests/sys/netinet6/Makefile index 6af0d13c5f03..d06e8069a7fd 100644 --- a/tests/sys/netinet6/Makefile +++ b/tests/sys/netinet6/Makefile @@ -15,7 +15,8 @@ ATF_TESTS_SH= exthdr \ lpm6 \ fibs6 \ ndp \ - proxy_ndp + proxy_ndp \ + addr6 TEST_METADATA.divert+= execenv="jail" \ execenv_jail_params="vnet allow.raw_sockets" @@ -34,6 +35,8 @@ TEST_METADATA.redirect+= execenv="jail" \ execenv_jail_params="vnet allow.raw_sockets" TEST_METADATA.scapyi386+= execenv="jail" \ execenv_jail_params="vnet allow.raw_sockets" +TEST_METADATA.addr6+= execenv="jail" \ + execenv_jail_params="vnet allow.raw_sockets" ${PACKAGE}FILES+= exthdr.py \ mld.py \ diff --git a/tests/sys/netinet6/addr6.sh b/tests/sys/netinet6/addr6.sh new file mode 100755 index 000000000000..38e4bb152240 --- /dev/null +++ b/tests/sys/netinet6/addr6.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env atf-sh +#- +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter. +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +. $(atf_get_srcdir)/../common/vnet.subr + +atf_test_case "addr6_invalid_addr" "cleanup" +addr6_invalid_addr_head() +{ + atf_set descr "adding an invalid IPv6 address returns an error" + atf_set require.user root +} + +addr6_invalid_addr_body() +{ + vnet_init + + ep=$(vnet_mkepair) + atf_check -s exit:0 ifconfig ${ep}a inet6 2001:db8::1/128 + atf_check -s exit:1 -e ignore ifconfig ${ep}a inet6 2001:db8::1/127 alias +} + +addr6_invalid_addr_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "addr6_invalid_addr" +} From nobody Wed May 21 03:40:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2HHp5W1Xz5wjh4; Wed, 21 May 2025 03:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2HHp3rXVz43Wj; Wed, 21 May 2025 03:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jitpSsIDbrEM4QMrcXSiuhd+cXp50QCcGPhfVMRV66Y=; b=p1IA8bvgzMlhGrcFRYfXcI7bCXiixfjDgSt7+zm6TZ4kTGx3h9T18e/Src/b5FnzkDY2dX sXVa5MnzX8PB3wTyCppW0CuPCxdq0upBjxh9yN8u4HOxeMDIZQqHu+Dm6PT7hgeNmTCHkx H8aRn6DQbVLsLbJx5BY2qrr9mThPxgAa+UWiiIWQlitnULa7N0PCWnyoryTwf9Q+gkyqdY 5Al+L5bJzaVabOj7JGQmQxPbgM377WldYpP1Qg7ezCNMB8zIEiyGj1bx5+3bD7DSEg0Q97 FkkHD7zgKdL7BpGdA8Dw9oEDS5hKhlC2d1rdHs6XHHyaccuDK2PRGNVFqt7gng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jitpSsIDbrEM4QMrcXSiuhd+cXp50QCcGPhfVMRV66Y=; b=e+GFalUWdzT++yZld14tp96hrmneDmMzEYj8NxQ/cKd6F+v1r/20NQJ1ea+bbfFdmRVRam E3dx3fRc4wtyMP2W3PbBhd1guazdcn0QhoFmUZIvzWqhG8rxs2A8m0yrvjNOGTRZVNIRGb qQVi6nuH8tqp1/MeFvjXyI2SC4mO7gIiKn88WLGjOjOMvbfDwhtKCt1ZPS847HSb8I3A00 oiTTewszDPnpvyJ+90vWDNMb3kFGjjmoN9JOIBMp9u0Ls860pMi5OTaoQD+JKwth3i8/g7 Nev9NYXXXbdDwdJzePrENlIzC/SN2IwVatSK6SCVzFjdaP8AK9gnfzyXpN0ueg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747798822; a=rsa-sha256; cv=none; b=BMSc+SEUHJhP9/mKQdPeoqU39cjGNNLiTX1zKZoD4NkLDlF+8P3yQr6s1tfiW6NZRj07nt +mFBfKU4f3AUyVmoo1Bf/8xdC3yofDlP/qztAwBTfgRVWxYcD79566QpSH60p7wrt6hV0o 8Qk5ALdk2iBk68q9Y7aWUu2dkvR6xpvfokUZ0qP7+mGDcVO9vbGr4hLXrePjhgceQjFGE0 GCTQh/hJMUKhzXQkjICBG++JRcIy3S1zxLMrpofeFk2mTJpgjZ7Ni4JDPDjgdR6kWqUaG7 q4u6WXFpausixheFE7xoHDqNf5WT0Un6g8X4JVFn1T7CKQ2u9o1XregGG/NWoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2HHp2D7Fz3FB; Wed, 21 May 2025 03:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L3eMQX088511; Wed, 21 May 2025 03:40:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L3eMKO088508; Wed, 21 May 2025 03:40:22 GMT (envelope-from git) Date: Wed, 21 May 2025 03:40:22 GMT Message-Id: <202505210340.54L3eMKO088508@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: ff1980d569c8 - stable/14 - bridge: allow IP addresses on members to be disabled List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ff1980d569c8167d38cda5f2713664866d9802bc Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=ff1980d569c8167d38cda5f2713664866d9802bc commit ff1980d569c8167d38cda5f2713664866d9802bc Author: Lexi Winter AuthorDate: 2025-05-05 21:44:44 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 02:55:42 +0000 bridge: allow IP addresses on members to be disabled add a new sysctl, net.link.bridge.member_ifaddrs, which defaults to 1. if it is set to 1, bridge behaviour is unchanged. if it is set to 0: - an interface which has AF_INET6 or AF_INET addresses assigned cannot be added to a bridge. - an interface in a bridge cannot have an AF_INET6 or AF_INET address assigned to it. - the bridge will no longer consider the lladdrs on bridge members to be local addresses, i.e. frames sent to member lladdrs will not be processed by the host. update bridge.4 to document this behaviour, as well as the existing recommendation that IP addresses should not be configured on bridge members anyway, even if it currently partially works. in testing, setting this to 0 on a bridge with 50 member interfaces improved throughput by 22% (4.61Gb/s -> 5.67Gb/s) across two member epairs due to eliding the bridge member list walk in GRAB_OUR_PACKETS. Reviewed by: kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49995 (cherry picked from commit 0a1294f6c610948d7447ae276df74a6d5269b62e) --- share/man/man4/bridge.4 | 15 +++++++- sys/net/if_bridge.c | 61 +++++++++++++++++++++++++++----- sys/net/if_bridgevar.h | 1 + sys/net/if_ethersubr.c | 1 + sys/netinet/in.c | 8 +++++ sys/netinet6/in6.c | 8 +++++ tests/sys/net/if_bridge_test.sh | 78 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 162 insertions(+), 10 deletions(-) diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 index b741ec0b73c8..2c3bfd6aedfa 100644 --- a/share/man/man4/bridge.4 +++ b/share/man/man4/bridge.4 @@ -36,7 +36,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 10, 2024 +.Dd May 5, 2025 .Dt IF_BRIDGE 4 .Os .Sh NAME @@ -158,6 +158,19 @@ This can be used to multiplex the input of two or more interfaces into a single stream. This is useful for reconstructing the traffic for network taps that transmit the RX/TX signals out through two separate interfaces. +.Pp +To allow the host to communicate with bridge members, IP addresses +should be assigned to the +.Nm +interface itself, not to the bridge's member interfaces. +Assigning IP addresses to bridge member interfaces is unsupported, but +for backward compatibility, it is permitted if the +.Xr sysctl 8 +variable +.Va net.link.bridge.member_ifaddrs +is set to 1, which is the default. +In a future release, this sysctl may be set to 0 by default, or may be +removed entirely. .Sh IPV6 SUPPORT .Nm supports the diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 3e562aae9056..b4e4c5fb2f4c 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -331,6 +331,7 @@ static void bridge_rtdelete(struct bridge_softc *, struct ifnet *ifp, int); static void bridge_forward(struct bridge_softc *, struct bridge_iflist *, struct mbuf *m); +static bool bridge_member_ifaddrs(void); static void bridge_timer(void *); @@ -497,6 +498,19 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, log_mac_flap, CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(log_mac_flap), true, "Log MAC address port flapping"); +/* allow IP addresses on bridge members */ +VNET_DEFINE_STATIC(bool, member_ifaddrs) = true; +#define V_member_ifaddrs VNET(member_ifaddrs) +SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, + CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), true, + "Allow layer 3 addresses on bridge members"); + +static bool +bridge_member_ifaddrs(void) +{ + return (V_member_ifaddrs); +} + VNET_DEFINE_STATIC(int, log_interval) = 5; VNET_DEFINE_STATIC(int, log_count) = 0; VNET_DEFINE_STATIC(struct timeval, log_last) = { 0 }; @@ -658,6 +672,7 @@ bridge_modevent(module_t mod, int type, void *data) switch (type) { case MOD_LOAD: bridge_dn_p = bridge_dummynet; + bridge_member_ifaddrs_p = bridge_member_ifaddrs; bridge_detach_cookie = EVENTHANDLER_REGISTER( ifnet_departure_event, bridge_ifdetach, NULL, EVENTHANDLER_PRI_ANY); @@ -666,6 +681,7 @@ bridge_modevent(module_t mod, int type, void *data) EVENTHANDLER_DEREGISTER(ifnet_departure_event, bridge_detach_cookie); bridge_dn_p = NULL; + bridge_member_ifaddrs_p = NULL; break; default: return (EOPNOTSUPP); @@ -1273,6 +1289,25 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) return (EINVAL); } + /* + * If member_ifaddrs is disabled, do not allow an interface with + * assigned IP addresses to be added to a bridge. + */ + if (!V_member_ifaddrs) { + struct ifaddr *ifa; + + CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { +#ifdef INET + if (ifa->ifa_addr->sa_family == AF_INET) + return (EINVAL); +#endif +#ifdef INET6 + if (ifa->ifa_addr->sa_family == AF_INET6) + return (EINVAL); +#endif + } + } + #ifdef INET6 /* * Two valid inet6 addresses with link-local scope must not be @@ -2699,17 +2734,25 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) do { GRAB_OUR_PACKETS(bifp) } while (0); /* - * Give a chance for ifp at first priority. This will help when the - * packet comes through the interface like VLAN's with the same MACs - * on several interfaces from the same bridge. This also will save - * some CPU cycles in case the destination interface and the input - * interface (eq ifp) are the same. + * We only need to check members interfaces if member_ifaddrs is + * enabled; otherwise we should have never traffic destined for a + * member's lladdr. */ - do { GRAB_OUR_PACKETS(ifp) } while (0); - /* Now check the all bridge members. */ - CK_LIST_FOREACH(bif2, &sc->sc_iflist, bif_next) { - GRAB_OUR_PACKETS(bif2->bif_ifp) + if (V_member_ifaddrs) { + /* + * Give a chance for ifp at first priority. This will help when + * the packet comes through the interface like VLAN's with the + * same MACs on several interfaces from the same bridge. This + * also will save some CPU cycles in case the destination + * interface and the input interface (eq ifp) are the same. + */ + do { GRAB_OUR_PACKETS(ifp) } while (0); + + /* Now check the all bridge members. */ + CK_LIST_FOREACH(bif2, &sc->sc_iflist, bif_next) { + GRAB_OUR_PACKETS(bif2->bif_ifp) + } } #undef CARP_CHECK_WE_ARE_DST diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 27815cd37c83..4eed6ec07ade 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -320,5 +320,6 @@ struct ifbpstpconf { } while (0) extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); +extern bool (*bridge_member_ifaddrs_p)(void); #endif /* _KERNEL */ diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 4d82bb0cfdca..9210f1378666 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -112,6 +112,7 @@ void (*vlan_input_p)(struct ifnet *, struct mbuf *); /* if_bridge(4) support */ void (*bridge_dn_p)(struct mbuf *, struct ifnet *); +bool (*bridge_member_ifaddrs_p)(void); /* if_lagg(4) support */ struct mbuf *(*lagg_input_ethernet_p)(struct ifnet *, struct mbuf *); diff --git a/sys/netinet/in.c b/sys/netinet/in.c index bafd1b549848..21555a0714b6 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -59,6 +59,7 @@ #include #include #include +#include #include #include #include @@ -499,6 +500,13 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, struct ucred *cred return (error); #endif + /* + * Check if bridge wants to allow adding addrs to member interfaces. + */ + if (ifp->if_bridge && bridge_member_ifaddrs_p && + !bridge_member_ifaddrs_p()) + return (EINVAL); + /* * See whether address already exist. */ diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 326153b1d2f6..60497ae29852 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -88,6 +88,7 @@ #include #include #include +#include #include #include #include @@ -1236,6 +1237,13 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i int carp_attached = 0; int error; + /* Check if this interface is a bridge member */ + if (ifp->if_bridge && bridge_member_ifaddrs_p && + !bridge_member_ifaddrs_p()) { + error = EINVAL; + goto out; + } + /* * first, make or update the interface address structure, * and link it to the list. diff --git a/tests/sys/net/if_bridge_test.sh b/tests/sys/net/if_bridge_test.sh index 66656be1d84f..715c8810f11d 100755 --- a/tests/sys/net/if_bridge_test.sh +++ b/tests/sys/net/if_bridge_test.sh @@ -703,6 +703,82 @@ many_bridge_members_cleanup() vnet_cleanup } +atf_test_case "member_ifaddrs_enabled" "cleanup" +member_ifaddrs_enabled_head() +{ + atf_set descr 'bridge with member_ifaddrs=1' + atf_set require.user root +} + +member_ifaddrs_enabled_body() +{ + vnet_init + vnet_init_bridge + + ep=$(vnet_mkepair) + ifconfig ${ep}a inet 192.0.2.1/24 up + + vnet_mkjail one ${ep}b + jexec one sysctl net.link.bridge.member_ifaddrs=1 + jexec one ifconfig ${ep}b inet 192.0.2.2/24 up + jexec one ifconfig bridge0 create addm ${ep}b + + atf_check -s exit:0 -o ignore ping -c3 -t1 192.0.2.2 +} + +member_ifaddrs_enabled_cleanup() +{ + vnet_cleanup +} + +atf_test_case "member_ifaddrs_disabled" "cleanup" +member_ifaddrs_disabled_head() +{ + atf_set descr 'bridge with member_ifaddrs=0' + atf_set require.user root +} + +member_ifaddrs_disabled_body() +{ + vnet_init + vnet_init_bridge + + vnet_mkjail one + jexec one sysctl net.link.bridge.member_ifaddrs=0 + + bridge=$(jexec one ifconfig bridge create) + + # adding an interface with an IPv4 address + ep=$(jexec one ifconfig epair create) + jexec one ifconfig ${ep} 192.0.2.1/32 + atf_check -s exit:1 -e ignore jexec one ifconfig ${bridge} addm ${ep} + + # adding an interface with an IPv6 address + ep=$(jexec one ifconfig epair create) + jexec one ifconfig ${ep} inet6 2001:db8::1/128 + atf_check -s exit:1 -e ignore jexec one ifconfig ${bridge} addm ${ep} + + # adding an interface with an IPv6 link-local address + ep=$(jexec one ifconfig epair create) + jexec one ifconfig ${ep} inet6 -ifdisabled auto_linklocal up + atf_check -s exit:1 -e ignore jexec one ifconfig ${bridge} addm ${ep} + + # adding an IPv4 address to a member + ep=$(jexec one ifconfig epair create) + jexec one ifconfig ${bridge} addm ${ep} + atf_check -s exit:1 -e ignore jexec one ifconfig ${ep} inet 192.0.2.2/32 + + # adding an IPv6 address to a member + ep=$(jexec one ifconfig epair create) + jexec one ifconfig ${bridge} addm ${ep} + atf_check -s exit:1 -e ignore jexec one ifconfig ${ep} inet6 2001:db8::1/128 +} + +member_ifaddrs_disabled_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case "bridge_transmit_ipv4_unicast" @@ -718,4 +794,6 @@ atf_init_test_cases() atf_add_test_case "mtu" atf_add_test_case "vlan" atf_add_test_case "many_bridge_members" + atf_add_test_case "member_ifaddrs_enabled" + atf_add_test_case "member_ifaddrs_disabled" } From nobody Wed May 21 03:40:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2HHr3l46z5wjJb; Wed, 21 May 2025 03:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2HHq4Ff2z43Ny; Wed, 21 May 2025 03:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xHknzoHqGK2/7jHDCRzSNvwoLknrfvRVf4e7JhSHenQ=; b=smXmdxQAA0cMr5MwwwDXl84J6mF9nUpDX26fKyXSA2af7AZBJ07ZlNXI708jBPMWX1LQo/ qfNxKhnUgA7cNcL8XOtJExsPah3h3qx7ovVp4InDJMlFx7vOjQRXJAWT2PF4VZ2GAWHMH4 WciW/rbUtC1imzj/I8zsfT8GvDeZSA5J4lmSINwmDuZna6tuUmCNTHd1gRO4UBK/L4T5Yz DWW3B7OkDNC6nCVpAdCnQNBdiqxpDCqHjN+isQ2+bLi29Zp5Z4eW3Uyh2YgJjTWXSomER1 BdjEjou2qJ2pbIuRtVSPLMI/sqFNNHjBqeADqQn5mmJT03t70Ukewkylk1VFww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747798823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xHknzoHqGK2/7jHDCRzSNvwoLknrfvRVf4e7JhSHenQ=; b=HiJEgkwuujHzf/qsNbqqcrA9HqgxFbMjqIpDHcdCaSFV/OQQpQt7GwGdGlutT6QO4FYIy1 gWqTDS7zVU5lLK7DZ4wpxZY9DvTc5ejkL7YreMHwU+8ARlyH8HJGVaLsj/PUHoAK3JAdda rT12MPZCBAZ57AKD4zxkVd1toHPa2wHkQn17qYgkofVKd2aXVfrrKUPr8aHyVsQX1IkFb8 PBv5LqKIN3hTM+J6k2GcfxD+Li6LQphBx0Y3KuWcho8lGhpaVZzlIYtQjeP/2VRLXGwl7I ZIpcG1/irxDfBlWB5zsLx2kPoj7qxDuH+F7ahX/ZqDEMv7+8brpu6VlX+ndiyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747798823; a=rsa-sha256; cv=none; b=fwyfLKx/I4cW8UV8eFO5Wo3TMf06S3pETueIyJuHm9gW2Y6uQ9FGRTp8PJjB8BV32jdre1 9Eg9EzlfSxfHLVpHchUfbMWWPGLnX+Wi6k95yQxN37bhpNtBfDeIM3QKxHGMPgIyYZOKA8 /xi6MJicML5GcrsphOCQTZPboXXn/9Lo/cIP/quicH5+fuA/uMyEjGeffDdaFKpm0w/usP GlYtBewLeIUMnhkIOACRjoyS+jGtxI+9pGssrx96/4+0c7Ffria5W3PZUrmtWpyOK6UUrQ lL+pnPLoWGlz1Ptan8Vw6Ql8pheLfaLiHPt6/We0/X4WMWGDKF9s6fDvQRWEwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2HHq2zjhz3Bq; Wed, 21 May 2025 03:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L3eNSS088547; Wed, 21 May 2025 03:40:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L3eNef088544; Wed, 21 May 2025 03:40:23 GMT (envelope-from git) Date: Wed, 21 May 2025 03:40:23 GMT Message-Id: <202505210340.54L3eNef088544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 4b147fd312d5 - stable/14 - jail: add allow.routing jail permission List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4b147fd312d5b007bd15563fdaed74f5b9f74c56 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=4b147fd312d5b007bd15563fdaed74f5b9f74c56 commit 4b147fd312d5b007bd15563fdaed74f5b9f74c56 Author: Lexi Winter AuthorDate: 2025-05-11 02:01:25 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 02:55:42 +0000 jail: add allow.routing jail permission if allow.routing is set, the jail can modify the system routing table even if it's not a VNET jail. Reviewed by: kevans, des, adrian Approved by: kevans (mentor), des (mentor) Differential Revision: https://reviews.freebsd.org/D49843 (cherry picked from commit 3a53fe2cc4b7076003163376a7db65e432f6283e) --- sys/kern/kern_jail.c | 13 +++++++++++++ sys/netlink/route/rt.c | 2 ++ sys/sys/jail.h | 3 ++- usr.sbin/jail/jail.8 | 5 ++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 99cf8f731c48..b14b3218ebb7 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -226,6 +226,7 @@ static struct bool_flags pr_flag_allow[NBBY * NBPW] = { #ifdef VIMAGE {"allow.nfsd", "allow.nonfsd", PR_ALLOW_NFSD}, #endif + {"allow.routing", "allow.norouting", PR_ALLOW_ROUTING}, }; static unsigned pr_allow_all = PR_ALLOW_ALL_STATIC; const size_t pr_flag_allow_size = sizeof(pr_flag_allow); @@ -4142,6 +4143,16 @@ prison_priv_check(struct ucred *cred, int priv) return (0); return (EPERM); + /* + * Conditionally allow privileged process in the jail to modify + * the routing table. + */ + case PRIV_NET_ROUTE: + if (cred->cr_prison->pr_allow & PR_ALLOW_ROUTING) + return (0); + else + return (EPERM); + default: /* * In all remaining cases, deny the privilege request. This @@ -4604,6 +4615,8 @@ SYSCTL_JAIL_PARAM(_allow, suser, CTLTYPE_INT | CTLFLAG_RW, SYSCTL_JAIL_PARAM(_allow, nfsd, CTLTYPE_INT | CTLFLAG_RW, "B", "Mountd/nfsd may run in the jail"); #endif +SYSCTL_JAIL_PARAM(_allow, routing, CTLTYPE_INT | CTLFLAG_RW, + "B", "Jail may modify routing table"); SYSCTL_JAIL_PARAM_SUBNODE(allow, mount, "Jail mount/unmount permission flags"); SYSCTL_JAIL_PARAM(_allow_mount, , CTLTYPE_INT | CTLFLAG_RW, diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index 7cd6e0045f01..7a6ba6ef27c5 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -1118,12 +1118,14 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { .name = "RTM_DELROUTE", .cb = &rtnl_handle_delroute, .priv = PRIV_NET_ROUTE, + .flags = RTNL_F_ALLOW_NONVNET_JAIL, }, { .cmd = NL_RTM_NEWROUTE, .name = "RTM_NEWROUTE", .cb = &rtnl_handle_newroute, .priv = PRIV_NET_ROUTE, + .flags = RTNL_F_ALLOW_NONVNET_JAIL, } }; diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 0b0ee9cdde0f..7fbb71ee31f8 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -253,7 +253,8 @@ struct prison_racct { #define PR_ALLOW_RESERVED_PORTS 0x00008000 #define PR_ALLOW_KMEM_ACCESS 0x00010000 /* reserved, not used yet */ #define PR_ALLOW_NFSD 0x00020000 -#define PR_ALLOW_ALL_STATIC 0x000387ff +#define PR_ALLOW_ROUTING 0x00040000 +#define PR_ALLOW_ALL_STATIC 0x000787ff /* * PR_ALLOW_DIFFERENCES determines which flags are able to be diff --git a/usr.sbin/jail/jail.8 b/usr.sbin/jail/jail.8 index 7fc5357adfd3..73014315012b 100644 --- a/usr.sbin/jail/jail.8 +++ b/usr.sbin/jail/jail.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 19, 2024 +.Dd May 11, 2025 .Dt JAIL 8 .Os .Sh NAME @@ -642,6 +642,9 @@ sysctl. The super-user will be disabled automatically if its parent system has it disabled. The super-user is enabled by default. +.It Va allow.routing +Allow privileged process in the non-VNET jail to modify the system routing +table. .El .El .Pp From nobody Wed May 21 05:48:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2L7k2kxWz5wsl9; Wed, 21 May 2025 05:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2L7k21Nrz4JJP; Wed, 21 May 2025 05:48:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747806514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hv6Sq6O6sbcJS8h8rle/JCwnf6UJ5z0b69JJVR+OArQ=; b=Dx/mzNg6sQXqIXUrfbagw9xUFGOSRpKJK3yovwO9Z00f562vAwKYGV4fN8VYHay13UtksA eKyv8hGjVJmEgnSP8LI3yT4KLeZLb37DHXT9Ve2q5ot1jPSCfL0uRLeLLkDWDhUJ6PPFFN J1rzBG//oQF64d571+zHn2UkOZFkFDa6zaUJTkWlHVV15+ttL3c6go1/39YXZjR7RFfU8E EqIFObwjomECYGFCkaGjcQH2SLYTRgtADrSR97W09ot3Rr0joaGHQ7dYLncAsKxbM07VMk wO4wYAsLE3/8b2CK4vopIzj5CruIyiyTo18lzVyJXfIzYfOQToFQLKxCmxL9nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747806514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hv6Sq6O6sbcJS8h8rle/JCwnf6UJ5z0b69JJVR+OArQ=; b=Nv7AlkeplpbWGYEcZhl+wcWk4VYFG3qLI66/mPcqMY1ruy8tgn8btTQBJE6lLYqZL75cv5 7zLBFkL1I4+p8Sph/9byTf3+/XffWxVFybeoOklZBzynFHu4BXfKF1x2Z2tmkRFJKXTo95 GRPV+Sm8mOXLFY87GJhwMdo/uRXoe5NiQSI8jgri3CdrWBp716npqifwPts9XVskhAuuAH UIQlj6tF7EW2NtWHxWL9yJnG7H/3gpInrfhYNGmUMAgHc/fbpKaJi0EGlk3BunCWhUI+48 RBgEIPHOVtg+R61U/AvPpVzykZpYo3W45mEPSVwX6vTE5+MXo0L/CYn85LvTQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747806514; a=rsa-sha256; cv=none; b=Zat6k5LHrf+y5+YG7CVVzFqcF6qYwOVAcSDMqqnKh+Zn6+eCRsrESyv0NXY3e0izBa+RH5 P/x4gr4flu9Sor09EshietN3V/ikl48q63OCzBSwfOJnu+dhv5kHSa2kUpZlPNz1OlU9XH F65l9hoAmwTqAJlk+Hhv6r8Nqj/+nVR8bqwNKuzNVU2DiPZ7LiWTD0S5u6wTYmTmt4qrQk 5XaIfyRveNqlnJYKBAwqPMmhi0FfE9AnSy5jRWJ4mv3OgjbgpF/yNTN5m0UGOgrPWISbGQ xxKroQvi8d5WD3arVhJ/+GBB2uLC/0CO/KYsP/8dae8AF5jtHjy8hPALMpTa3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2L7k1cScz6hF; Wed, 21 May 2025 05:48:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L5mYTA022944; Wed, 21 May 2025 05:48:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L5mYMs022941; Wed, 21 May 2025 05:48:34 GMT (envelope-from git) Date: Wed, 21 May 2025 05:48:34 GMT Message-Id: <202505210548.54L5mYMs022941@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 59ee9260e6bb - main - ifconfig: reject netmask and broadcast for inet6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59ee9260e6bbcc3b5654126eed6e9490315c81f1 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=59ee9260e6bbcc3b5654126eed6e9490315c81f1 commit 59ee9260e6bbcc3b5654126eed6e9490315c81f1 Author: Lexi Winter AuthorDate: 2025-05-21 03:59:59 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 05:46:17 +0000 ifconfig: reject netmask and broadcast for inet6 We don't support setting netmask or broadcast address for INET6 addresses, and trying to do crashes ifconfig. Handle this the same way as af_link, by rejecting attempts to configure these parameters. PR: 286910 Reported by: Hayzam Sherif MFC after: 3 days Reviewed by: zlei, kevans, des, cy Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D50413 --- sbin/ifconfig/af_inet6.c | 5 +++ sbin/ifconfig/tests/Makefile | 7 ++-- sbin/ifconfig/tests/inet6.sh | 84 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index fcd04139a8c1..17dc068ee875 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -428,6 +428,11 @@ in6_getaddr(const char *addr_str, int which) { struct in6_px *px = sin6tab_nl[which]; + if (which == MASK) + errx(1, "netmask: invalid option for inet6"); + if (which == BRDADDR) + errx(1, "broadcast: invalid option for inet6"); + px->set = true; px->plen = 128; if (which == ADDR) { diff --git a/sbin/ifconfig/tests/Makefile b/sbin/ifconfig/tests/Makefile index ff545f603085..e902f262552a 100644 --- a/sbin/ifconfig/tests/Makefile +++ b/sbin/ifconfig/tests/Makefile @@ -1,5 +1,8 @@ -NETBSD_ATF_TESTS_SH= nonexistent_test +NETBSD_ATF_TESTS_SH= nonexistent_test +ATF_TESTS_SH+= inet6 -.include +TEST_METADATA+= execenv="jail" +TEST_METADATA+= execenv_jail_params="vnet allow.raw_sockets" +.include .include diff --git a/sbin/ifconfig/tests/inet6.sh b/sbin/ifconfig/tests/inet6.sh new file mode 100644 index 000000000000..cf7f97e01d79 --- /dev/null +++ b/sbin/ifconfig/tests/inet6.sh @@ -0,0 +1,84 @@ +#! /bin/sh +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter + +. $(atf_get_srcdir)/../../sys/common/vnet.subr + +# Bug 286910: adding 'netmask' or 'broadcast' to an IPv6 address crashed +# ifconfig. + +atf_test_case "netmask" "cleanup" +netmask_head() +{ + atf_set descr "Test invalid 'netmask' option" + atf_set require.user root +} + +netmask_body() +{ + vnet_init + + ep=$(vnet_mkepair) + vnet_mkjail ifcjail ${ep}a + + # Add the address the wrong way + atf_check -s exit:1 \ + -e match:"ifconfig: netmask: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1 netmask 64 + + # Add the address the correct way + atf_check -s exit:0 \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1/64 + atf_check -s exit:0 -o match:"2001:db8:1::1 prefixlen 64" \ + jexec ifcjail ifconfig ${ep}a + + # Remove the address the wrong way + atf_check -s exit:1 \ + -e match:"ifconfig: netmask: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1 netmask 64 -alias +} + +netmask_cleanup() +{ + vnet_cleanup +} + +atf_test_case "broadcast" "cleanup" +broadcast_head() +{ + atf_set descr "Test invalid 'broadcast' option" + atf_set require.user root +} + +broadcast_body() +{ + vnet_init + + ep=$(vnet_mkepair) + vnet_mkjail ifcjail ${ep}a + + atf_check -s exit:1 \ + -e match:"ifconfig: broadcast: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a \ + inet6 2001:db8:1::1 broadcast 2001:db8:1::ffff + + atf_check -s exit:0 \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1/64 + + atf_check -s exit:1 \ + -e match:"ifconfig: broadcast: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a \ + inet6 2001:db8:1::1 broadcast 2001:db:1::ffff -alias +} + +broadcast_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case netmask + atf_add_test_case broadcast +} From nobody Wed May 21 06:44:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2MNc1PNjz5wwbg; Wed, 21 May 2025 06:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2MNc10pXz4NMM; Wed, 21 May 2025 06:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4DvKe9nJ1k5/UIEld1NMHAp3eHzwOJLfFFVYrdHvgDI=; b=Sl92vIFFljg19T148hrwU0ha3//89/u0bG4Kq60/OpCuiIEmxVOGPzoem6qXT38BKGfo2M a1rb7t3NukdQLDl5NV1J5dL82zBkrBMcmQnfUGEcnQOLpO1Gl/DPme3kl/3j5TsmLZsj3K kNBUDcU28Q2380Fm0pMwGXoHZwcJbE5XdiwR1GZ7CNUtW03cvlXZT66MtNWxrEE9knpGVV JMyzftBAHNzndjceD70pa1ys2h+pEYkpmfc8FhcWS1e/CPbi95GtEW7kRW+iZB94nh7Ilu txbwQzXDlYYdJewoWlF2oL133UsAw1e+y5qFi8DoL/tvow94cRYg/jVaZNX1MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4DvKe9nJ1k5/UIEld1NMHAp3eHzwOJLfFFVYrdHvgDI=; b=SeVeCzUQAvwUABQuAcwqAGzxCbGyXzusWrueSqnJhskZ/TXyvYZlTs0TOEVrS176tpJlWi 7pfK+att33B3JbUpvwg5Z0T95T4go8xi7LgqTz9CNUf+jJ4plSo5TW8vYCLqt8vqHfNtNc 8O9ybBdouy5EQzt7jBDPaS0gvxHc0zVl+DCFx/m1nxYORpVkDQBMSyuMoA7/JMkUsAfRkS 9/eRbgVplfAYYnA42Mfhk28TQ4b6NCOhcr6UD4iMyRjdFQwWiV/dPq5A95tQBmlNw86iUU W2Zy8ugP4pU2Tnojt2TVWfI7E/HVKOXJAosN+OYqwdfOCUoNhVQvlaYLKzJOjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747809888; a=rsa-sha256; cv=none; b=kpPyA3zdjZ3GplH86vxPve6X1ddiSWsya6V4Mugehy2T5uti9KVoLM4Ht99iFNkOBTYnq7 g5NXHWio2T7Jds0d/vm96aFDsYuhvH2j+EvgUCcdgJ6cFOQhwlUxddv+LR8DR7akTbRZNv hwPEOWku4hiePw6EkE3SEudlc9Sy1w3aTtUJiYRHTBVVtBrD9uHmGrZuFYy8f43UuVcjCv CjuMvhOpKBg21gN8LVPFSM7pPRIzpLv609ii2/osomgeW/YrN8BhQAeOBRNV3DBzkMAYMc 7mkVJS0rg7kP3JmScRaTN2udOfySJgp+v6HU/RKHEPq2JysWx1gE9TwrYDjfcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2MNc0MNTz8Jk; Wed, 21 May 2025 06:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L6ildW034463; Wed, 21 May 2025 06:44:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L6iljo034460; Wed, 21 May 2025 06:44:47 GMT (envelope-from git) Date: Wed, 21 May 2025 06:44:47 GMT Message-Id: <202505210644.54L6iljo034460@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 4003f5d4c12e - stable/14 - traceroute: move from contrib to usr.sbin List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4003f5d4c12e0b753e2d8c34fbbcbd13ef4be257 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=4003f5d4c12e0b753e2d8c34fbbcbd13ef4be257 commit 4003f5d4c12e0b753e2d8c34fbbcbd13ef4be257 Author: Lexi Winter AuthorDate: 2024-02-03 13:10:09 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 06:27:42 +0000 traceroute: move from contrib to usr.sbin traceroute hasn't had a vendor import since 2002, while since then it's had several significant FreeBSD-specific commits. Since it's unlikely another vendor import will happen, and to make the merge of traceroute6 into traceroute easier, import traceroute into usr.sbin. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1100 (cherry picked from commit 9b7a920a12a9377b9c8227f72748ab32fbbb4822) --- contrib/traceroute/CHANGES | 148 --------------------- contrib/traceroute/FILES | 37 ------ contrib/traceroute/FREEBSD-upgrade | 38 ------ contrib/traceroute/INSTALL | 105 --------------- contrib/traceroute/README | 29 ---- contrib/traceroute/VERSION | 2 - contrib/traceroute/mean.awk | 12 -- contrib/traceroute/median.awk | 29 ---- contrib/traceroute/rip_output.c | 73 ---------- usr.sbin/traceroute/Makefile | 14 +- {contrib => usr.sbin}/traceroute/as.c | 0 {contrib => usr.sbin}/traceroute/as.h | 0 .../traceroute/findsaddr-socket.c | 0 {contrib => usr.sbin}/traceroute/findsaddr.h | 0 {contrib => usr.sbin}/traceroute/ifaddrlist.c | 0 {contrib => usr.sbin}/traceroute/ifaddrlist.h | 0 {contrib => usr.sbin}/traceroute/traceroute.8 | 0 {contrib => usr.sbin}/traceroute/traceroute.c | 3 - {contrib => usr.sbin}/traceroute/traceroute.h | 0 usr.sbin/traceroute6/Makefile | 5 +- 20 files changed, 3 insertions(+), 492 deletions(-) diff --git a/contrib/traceroute/CHANGES b/contrib/traceroute/CHANGES deleted file mode 100644 index 25ef7bedc43f..000000000000 --- a/contrib/traceroute/CHANGES +++ /dev/null @@ -1,148 +0,0 @@ -@(#) $Id: CHANGES,v 1.23 2000/12/14 06:53:11 leres Exp $ (LBL) - -v1.4 Wed Dec 13 22:50:35 PST 2000 - -- Add an option to use icmp echo instead of udp datagrams. - -- Add HPUX and Linux support. - -- Handle hex argument values as suggested by John Hawkinson - (jhawk@mit.edu) - -- Added flags to set the first ttl and to set the don't fragment bit. - -- Add a local autoconf macro to check for routines in libraries; the - autoconf version is broken (it only puts the library name in the - cache variable name). Thanks to John Hawkinson. - -- Add a local autoconf macro to check for types; the autoconf version - is broken (it uses grep instead of actually compiling a code fragment). - -- Attempt to detect "egcs" versions of gcc. - -- Fix problems caused by savestr(). - -- Detect when there are more interfaces than we can deal with. Thanks - to Guy Harris guy@netapp.com. - -- Accommodate changes made to FreeBSD 3.2-RELEASE network headers files. - -- The ip header offset needs to be byte swapped under Solaris on the - intel as well. Reported by John McDermott (jjm@jkintl.com) Also byte - ip length and offset for linux. - -- In wait_for_reply(), use passed socket instead of global one. Thanks - to Richard Kettlewell (richard.kettlewell@kewill.com) - -- Check for IFF_LOOPBACK as a define or an enum (concession to linux). - Reported by Robert Bihlmeyer (robbe@orcus.priv.at) - -- Increase size of SIOCGIFCONF buffer to accommodate systems with lots - of virtual interfaces. Ignore sun virtual interfaces. Suggested by - Ian Donaldson (iand@aone.com.au) - -- Always calculate icmp checksums when using -I. Reported by Soumen - (sbiswas@novell.com) - -- Documentation fix for description of -p. Thanks to Jeffrey C Honig - (jch@bsdi.com) - -- Enable ip checksums for Solaris 2.6 and higher (since they seem to - work correctly now). - -- Avoid problems when broken routers return 0.0.0.0 as their source - address. Thanks to John Hawkinson (jhawk@bbnplanet.com) - -- Canonicalize hostname if gethostname() doesn't return a domain. - -- Add -z flag (pause msecs) to allow optional pause between probes. - Suggested by Dave Morrison (drmorris@uplanet.com) - -- Fix max packet length test. - -- Use "/dev/null" instead of "." for file descriptor fodder. - Suggested by Tim Robbins (fyre@box3n.gumbynet.org) - -- Watch for a NULL argv[0]. Suggested by Tim Robbins. - -- Be careful with hostname legnths. - -- Print RFC1191 Path MTU Discovery value on "needfrag" unreachables. - -- Limit port size to 16 bits. Suggested by Tim Robbins. - -- Limit wait time to 24 hours. - -- Modified linux specific struct ipovly definition to avoid problems - with 64 bit systems. Problem reported by Uros Prestor - (uros@turbolinux.com) - -- Use kernel routing tables to determine correct source address. - Three styles are supported: bsd/socket, solaris/mib and linux. - -- Fix configure to recognize older versions of Solaris. - -v1.3.2 Thu Sep 26 18:06:16 PDT 1996 - -- Rewrite source routing code to eliminate a number of problems on - systems using raw ip options. Also pad options with a noop so gateway - addresses are aligned. - -- Don't call inet_ntoa() twice in the same printf(). Thanks to NetBSD - via Bill Fenner (fenner@parc.xerox.com) - -- Decode "administratively prohibited filter" icmp code and print - numeric value for unknown codes. Thanks to Bill Fenner. - -v1.3.1 Wed Sep 18 21:08:16 PDT 1996 - -- Some systems (e.g. AIX) need sys/select.h. Thanks to Brett Hogden - (hogden@rge.com) - -- Byte swap ip header length under Solaris. (This has no effect on the - sparc but is required on the i386.) - -- Made optional packet length control total size of packet. - -v1.3 Mon Sep 16 14:55:44 PDT 1996 - -- Overrun buffer security fixes. Thanks to Bill Fenner - (fenner@parc.xerox.com) - -- Wait for response packet relative to start of probe. Thanks to Bill - Fenner. - -- Fix bug that prevented changing the packet size. Thanks to Gregory - Decker (gdecker@nate.dcrt.nih.gov) - -- Add support for RAW_OPTIONS (e.g. 4.4 BSD systems such as BSD/OS and - FreeBSD) thanks to Jeffrey C Honig (jch@bsdi.com) - -- Remove ip header byte swap fix from v1.2; most kernels swap the ip - header length in the kernel (and it causes OSF3 to crash). - -- Fix to not exit when the number of probes is set to 1 (i.e. "-q 1") - -- Improve autoconf configuration. - -v1.2 Tue Oct 17 23:50:05 PDT 1995 - -- Convert to autoconf and ansify. - -- Byte swap ip header length for little endian machines. Fix thanks to - Y Badri (yb@greybox.demon.co.uk). - -v1.1 Thu Jun 15 02:32:55 PDT 1995 - -- Check for too many arguments. - -- Recode to make timing of packet's round trip more obvious and to - tighten up code. - -- Ifdef IP_OPTIONS code. - -- Display time in microseconds. - -v1.0 Tue Feb 28 23:50:05 PDT 1989 - -- Initial public release. diff --git a/contrib/traceroute/FILES b/contrib/traceroute/FILES deleted file mode 100644 index 7a585ba9cedc..000000000000 --- a/contrib/traceroute/FILES +++ /dev/null @@ -1,37 +0,0 @@ -CHANGES -FILES -INSTALL -Makefile.in -README -VERSION -aclocal.m4 -config.guess -config.sub -configure -configure.in -findsaddr-generic.c -findsaddr-linux.c -findsaddr-mib.c -findsaddr-socket.c -findsaddr.h -ifaddrlist.c -ifaddrlist.h -install-sh -lbl/gnuc.h -lbl/os-solaris2.h -lbl/os-sunos4.h -linux-include/netinet/in_systm.h -linux-include/netinet/ip.h -linux-include/netinet/ip_icmp.h -linux-include/netinet/ip_var.h -linux-include/netinet/udp.h -linux-include/netinet/udp_var.h -mean.awk -median.awk -mkdep -rip_output.c -strerror.c -traceroute.8 -traceroute.c -traceroute.h -usleep.c diff --git a/contrib/traceroute/FREEBSD-upgrade b/contrib/traceroute/FREEBSD-upgrade deleted file mode 100644 index bc4918eb146f..000000000000 --- a/contrib/traceroute/FREEBSD-upgrade +++ /dev/null @@ -1,38 +0,0 @@ -$FreeBSD$ - -This directory contains virgin copies of the original distribution files -on a "vendor" branch. Do not, under any circumstances, attempt to upgrade -the files in this directory via patches and a cvs commit. - -To upgrade to a newer version of traceroute, when it is available: - - 1. Unpack the new version into an empty directory. - [Do not make ANY changes to the files.] - - 2. Use the command: - cvs import -I linux-include \ - -m 'Virgin import of LBL traceroute v' \ - src/contrib/traceroute LBL v - - For example, to do the import of version 1.3.2, I might have typed: - cvs import -I linux-include \ - -m 'Virgin import of LBL traceroute v1.3.2' \ - src/contrib/traceroute LBL v1_3_2 - - 3. Follow the instructions printed out in step 2 to resolve any - conflicts between local FreeBSD changes and the newer version. - -Do not, under any circumstances, deviate from this procedure. - -To make local changes to traceroute, simply patch and commit to the main -branch (aka HEAD). Never make local changes on the LBL branch. - -All local changes should be submitted to "traceroute@ee.lbl.gov" for -inclusion in the next vendor release of traceroute. - -(The "SANE_PRECISION" patch has been submitted and rejected.) - -(The extensive modifications for TCP and GRE probes have not been -submitted.) - -fenner@freebsd.org - 30 Sep 1996 diff --git a/contrib/traceroute/INSTALL b/contrib/traceroute/INSTALL deleted file mode 100644 index 45d361dc4a0e..000000000000 --- a/contrib/traceroute/INSTALL +++ /dev/null @@ -1,105 +0,0 @@ -@(#) $Id: INSTALL,v 1.13 2000/11/23 20:07:29 leres Exp $ (LBL) - -Traceroute is known to build and run under SunOS 4.1.4 and Solaris 5.4. -If you are running a really old kernel, see the instructions under the -title "KERNEL MODIFICATIONS" further down. - -To build traceroute, first customize any paths in Makefile.in, then run -"./configure" (a shell script). The configure script will determine -your system attributes and generate an appropriate Makefile from -Makefile.in. Next run "make". If everything goes well you can su to -root and run "make install" and "make install-man". Note that traceroute -must be installed setuid to root or run as root. - -If configure fails for some reason and decide to submit a bug report to -traceroute@ee.lbl.gov, please include a copy of config.log. - -You will need an ANSI C compiler to build libpcap. The configure script -will abort if your compiler is not ANSI compliant. If this happens, use -the GNU C compiler, available via anonymous ftp: - - ftp://prep.ai.mit.edu/pub/gnu/gcc-*.tar.gz - -If you get the error message: - - traceroute: unknown protocol icmp - -it usually means you're missing the icmp line in /etc/protocols. - -If you are using Solaris 2.5.1 (and possibly higher), traceroute cannot -calculate checksums; configure automatically changes the default to -reflect this. The kernel updates the ip_id field with some unknown -value and the ip_off field with the IP_DF bit. Also, if the the udp -uh_sum field is non-zero, it gets updated with the value of the uh_ulen -field... This means that the icmp echo option (-I flag) is not as -useful. - -KERNEL MODIFICATIONS --------------------- -If yor have a really old system, it may be necessary to modify your -kernel before traceroute will work. If you want to hack on your kernel, -a modified version of the routine rip_output (normally found in the -file /sys/netinet/raw_ip.c) can be found in rip_output.c. This code may -or may not resemble the code in your kernel. It may offer you a place -to start but we make no promises. If you do hack your kernel, remember -to test everything that uses raw ip sockets (e.g., ping and -egpup/gated) & make sure they still work. We wish you the best of luck -and you're on your own. - -Some older kernels forward icmp packets that have a ttl of zero. If -your system has this bug, you might want to fix it while you're in the -kernel. (This bug appears in all releases of BSD up to but not -including 4.3tahoe. If your version of netinet/ip_icmp.c is any earlier -than 7.3 (April, '87), it has the bug.) The fix is just to add the -line: - - ip->ip_ttl = MAXTTL; - -after the line: - - ip->ip_src = t; - -(or anywhere before the call to icmp_send) in routine icmp_reflect. - -If you're running this on a pre-4.3bsd system (e.g., SunOS 3) that -strips ip headers from icmp messages, add -DARCHAIC to CFLAGS in the -Makefile. Also note that rip_output contains a conditional for a -4.2/4.3 change in the location of a raw socket's protocol number. I've -checked this under 4.3 & SunOS 3 but you should double-check your -system to make sure the appropriate branch of the #if is taken (check -the line that assigned to ip->ip_p in your system's original -rip_output). - - -FILES ------ -CHANGES - description of differences between releases -FILES - list of files exported as part of the distribution -INSTALL - this file -Makefile.in - compilation rules (input to the configure script) -README - description of distribution -VERSION - version of this release -aclocal.m4 - autoconf macros -config.guess - autoconf support -config.sub - autoconf support -configure - configure script (run this first) -configure.in - configure script source -findsaddr-generic.c - generic source address code -findsaddr-linux.c - linux source address code -findsaddr-socket.c - socket based soruce address code -findsaddr.h - source address prototypes -ifaddrlist.c - inet address routines -ifaddrlist.h - inet address prototypes -install-sh - BSD style install script -lbl/gnuc.h - gcc macros and defines -lbl/os-*.h - os dependent defines and prototypes -linux-include/* - network include files missing on Linux -mean.awk - awk script to print out the mean time along a route -median.awk - awk script to print out the median time along a route -mkdep - construct Makefile dependency list -rip_output.c - sample rip_output() from /sys/netinet/raw_ip.c -strerror.c - emulation routine -traceroute.8 - manual entry -traceroute.c - main program -traceroute.h - global prototypes -usleep.c - missing system call emulation diff --git a/contrib/traceroute/README b/contrib/traceroute/README deleted file mode 100644 index bd4df4cb8295..000000000000 --- a/contrib/traceroute/README +++ /dev/null @@ -1,29 +0,0 @@ -@(#) $Id: README,v 1.9 2000/09/16 05:32:01 leres Exp $ (LBL) - -TRACEROUTE 1.4 -Lawrence Berkeley National Laboratory -Network Research Group -traceroute@ee.lbl.gov -ftp://ftp.ee.lbl.gov/traceroute.tar.gz - -Traceroute is a system administrators utility to trace the route -ip packets from the current system take in getting to some -destination system. See the comments at the front of the -program for a description of its use. - -This program uses raw ip sockets and must be run as root (or installed -setuid to root). - -A couple of awk programs to massage the traceroute output are -included. "mean.awk" and "median.awk" compute the mean and median time -to each hop, respectively. I've found that something like - - traceroute -q 7 foo.somewhere >t - awk -f median.awk t | xgraph - -can give you a quick picture of the bad spots on a long path (median is -usually a better noise filter than mean). - -Problems, bugs, questions, desirable enhancements, source code -contributions, etc., should be sent to the email address -"traceroute@ee.lbl.gov". diff --git a/contrib/traceroute/VERSION b/contrib/traceroute/VERSION deleted file mode 100644 index 26e2f7609197..000000000000 --- a/contrib/traceroute/VERSION +++ /dev/null @@ -1,2 +0,0 @@ -1.4a12+FreeBSD -$FreeBSD$ diff --git a/contrib/traceroute/mean.awk b/contrib/traceroute/mean.awk deleted file mode 100644 index 2d5e37820694..000000000000 --- a/contrib/traceroute/mean.awk +++ /dev/null @@ -1,12 +0,0 @@ -/^ *[0-9]/ { - # print out the average time to each hop along a route. - tottime = 0; n = 0; - for (f = 5; f <= NF; ++f) { - if ($f == "ms") { - tottime += $(f - 1) - ++n - } - } - if (n > 0) - print $1, tottime/n, median -} diff --git a/contrib/traceroute/median.awk b/contrib/traceroute/median.awk deleted file mode 100644 index 5935bad4ff4b..000000000000 --- a/contrib/traceroute/median.awk +++ /dev/null @@ -1,29 +0,0 @@ -/^ *[0-9]/ { - # print out the median time to each hop along a route. - tottime = 0; n = 0; - for (f = 5; f <= NF; ++f) { - if ($f == "ms") { - ++n - time[n] = $(f - 1) - } - } - if (n > 0) { - # insertion sort the times to find the median - for (i = 2; i <= n; ++i) { - v = time[i]; j = i - 1; - while (time[j] > v) { - time[j+1] = time[j]; - j = j - 1; - if (j < 0) - break; - } - time[j+1] = v; - } - if (n > 1 && (n % 2) == 0) - median = (time[n/2] + time[(n/2) + 1]) / 2 - else - median = time[(n+1)/2] - - print $1, median - } -} diff --git a/contrib/traceroute/rip_output.c b/contrib/traceroute/rip_output.c deleted file mode 100644 index 0b092b1e8e2f..000000000000 --- a/contrib/traceroute/rip_output.c +++ /dev/null @@ -1,73 +0,0 @@ -/* A sample version of rip_output() from /sys/netinet/raw_ip.c */ - -rip_output(m, so) - register struct mbuf *m; - struct socket *so; -{ - register struct ip *ip; - int error; - struct rawcb *rp = sotorawcb(so); - struct sockaddr_in *sin; -#if BSD>=43 - short proto = rp->rcb_proto.sp_protocol; -#else - short proto = so->so_proto->pr_protocol; -#endif - /* - * if the protocol is IPPROTO_RAW, the user handed us a - * complete IP packet. Otherwise, allocate an mbuf for a - * header and fill it in as needed. - */ - if (proto != IPPROTO_RAW) { - /* - * Calculate data length and get an mbuf - * for IP header. - */ - int len = 0; - struct mbuf *m0; - - for (m0 = m; m; m = m->m_next) - len += m->m_len; - - m = m_get(M_DONTWAIT, MT_HEADER); - if (m == 0) { - m = m0; - error = ENOBUFS; - goto bad; - } - m->m_off = MMAXOFF - sizeof(struct ip); - m->m_len = sizeof(struct ip); - m->m_next = m0; - - ip = mtod(m, struct ip *); - ip->ip_tos = 0; - ip->ip_off = 0; - ip->ip_p = proto; - ip->ip_len = sizeof(struct ip) + len; - ip->ip_ttl = MAXTTL; - } else - ip = mtod(m, struct ip *); - - if (rp->rcb_flags & RAW_LADDR) { - sin = (struct sockaddr_in *)&rp->rcb_laddr; - if (sin->sin_family != AF_INET) { - error = EAFNOSUPPORT; - goto bad; - } - ip->ip_src.s_addr = sin->sin_addr.s_addr; - } else - ip->ip_src.s_addr = 0; - - ip->ip_dst = ((struct sockaddr_in *)&rp->rcb_faddr)->sin_addr; - -#if BSD>=43 - return (ip_output(m, rp->rcb_options, &rp->rcb_route, - (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST)); -#else - return (ip_output(m, (struct mbuf *)0, &rp->rcb_route, - (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST)); -#endif -bad: - m_freem(m); - return (error); -} diff --git a/usr.sbin/traceroute/Makefile b/usr.sbin/traceroute/Makefile index 8ea7ee22d19a..fd013be9ba9a 100644 --- a/usr.sbin/traceroute/Makefile +++ b/usr.sbin/traceroute/Makefile @@ -1,16 +1,12 @@ .include -TRACEROUTE_DISTDIR?= ${SRCTOP}/contrib/traceroute -.PATH: ${TRACEROUTE_DISTDIR} - PACKAGE= runtime PROG= traceroute MAN= traceroute.8 -SRCS= as.c version.c traceroute.c ifaddrlist.c findsaddr-udp.c +SRCS= as.c traceroute.c ifaddrlist.c findsaddr-udp.c BINOWN= root BINMODE=4555 -CLEANFILES= version.c CFLAGS+= -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SOCKIO_H=1 \ -DHAVE_NET_ROUTE_H=1 -DHAVE_NET_IF_DL_H=1 \ @@ -36,14 +32,6 @@ LIBADD+= cap_dns CFLAGS+=-DWITH_CASPER .endif -CFLAGS+= -I${TRACEROUTE_DISTDIR} - WARNS?= 3 -version.c: ${TRACEROUTE_DISTDIR}/VERSION - @rm -f ${.TARGET} - head -1 ${TRACEROUTE_DISTDIR}/VERSION | \ - sed -e 's/.*/char version[] = "&";/' \ - > ${.TARGET} - .include diff --git a/contrib/traceroute/as.c b/usr.sbin/traceroute/as.c similarity index 100% rename from contrib/traceroute/as.c rename to usr.sbin/traceroute/as.c diff --git a/contrib/traceroute/as.h b/usr.sbin/traceroute/as.h similarity index 100% rename from contrib/traceroute/as.h rename to usr.sbin/traceroute/as.h diff --git a/contrib/traceroute/findsaddr-socket.c b/usr.sbin/traceroute/findsaddr-socket.c similarity index 100% rename from contrib/traceroute/findsaddr-socket.c rename to usr.sbin/traceroute/findsaddr-socket.c diff --git a/contrib/traceroute/findsaddr.h b/usr.sbin/traceroute/findsaddr.h similarity index 100% rename from contrib/traceroute/findsaddr.h rename to usr.sbin/traceroute/findsaddr.h diff --git a/contrib/traceroute/ifaddrlist.c b/usr.sbin/traceroute/ifaddrlist.c similarity index 100% rename from contrib/traceroute/ifaddrlist.c rename to usr.sbin/traceroute/ifaddrlist.c diff --git a/contrib/traceroute/ifaddrlist.h b/usr.sbin/traceroute/ifaddrlist.h similarity index 100% rename from contrib/traceroute/ifaddrlist.h rename to usr.sbin/traceroute/ifaddrlist.h diff --git a/contrib/traceroute/traceroute.8 b/usr.sbin/traceroute/traceroute.8 similarity index 100% rename from contrib/traceroute/traceroute.8 rename to usr.sbin/traceroute/traceroute.8 diff --git a/contrib/traceroute/traceroute.c b/usr.sbin/traceroute/traceroute.c similarity index 99% rename from contrib/traceroute/traceroute.c rename to usr.sbin/traceroute/traceroute.c index 6f2350150bd8..abc96ce5b139 100644 --- a/contrib/traceroute/traceroute.c +++ b/usr.sbin/traceroute/traceroute.c @@ -2148,9 +2148,6 @@ pkt_compare(const u_char *a, int la, const u_char *b, int lb) { void usage(void) { - extern char version[]; - - Fprintf(stderr, "Version %s\n", version); Fprintf(stderr, "Usage: %s [-adDeEFInrSvx] [-f first_ttl] [-g gateway] [-i iface]\n" "\t[-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]\n" diff --git a/contrib/traceroute/traceroute.h b/usr.sbin/traceroute/traceroute.h similarity index 100% rename from contrib/traceroute/traceroute.h rename to usr.sbin/traceroute/traceroute.h diff --git a/usr.sbin/traceroute6/Makefile b/usr.sbin/traceroute6/Makefile index 5086b3c08706..3b979841a106 100644 --- a/usr.sbin/traceroute6/Makefile +++ b/usr.sbin/traceroute6/Makefile @@ -14,8 +14,7 @@ .include -TRACEROUTE_DISTDIR?= ${SRCTOP}/contrib/traceroute -.PATH: ${TRACEROUTE_DISTDIR} +.PATH: ${SRCTOP}/usr.sbin/traceroute PACKAGE= runtime PROG= traceroute6 @@ -25,7 +24,7 @@ BINOWN= root BINMODE= 4555 CFLAGS+= -DIPSEC -DHAVE_POLL -CFLAGS+= -I${.CURDIR} -I${TRACEROUTE_DISTDIR} -I. +CFLAGS+= -I${.CURDIR} -I${SRCTOP}/usr.sbin/traceroute -I. .if ${MK_CASPER} != "no" LIBADD+= casper From nobody Wed May 21 06:44:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2MNf594Fz5wx10; Wed, 21 May 2025 06:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2MNf2f09z4NMN; Wed, 21 May 2025 06:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MFmG4VPx0lRlbxUnu8THBGh8hyD4Qcv7901qRkFxKCE=; b=Z3t6Ei/X+bNTw92M0OGeZSKr78vP7vX2+hmbJRNFxMpIEuE4lILsV9dMYt20vzURHUlTjc lxH4yInnZxi4P2qCbVYZyrsMiMBUtygKZ8y5FM5Hgepy/DYmYXXfwf7lVN1UBUPfD+OIhO htZlU4/FC/07sImElptUwNvp6MnxSW8wyAo7VPGvXIEZtvk6fFJyf+k6Dhf2DXnz+hVLmo 0NkCwgEfL6iQnFkIFCU4r5Gbvz2mOg4qgSO1Ebgsl28IMY8KCw0e3rHBt3An3zZuqmZGiI jFmRSZV1JXQ9JEkkaX/UyPQhvTJJmLm/v/cV+oQ+bvV8yY3UO4O4OIZMvdtQgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MFmG4VPx0lRlbxUnu8THBGh8hyD4Qcv7901qRkFxKCE=; b=f1rmAK0owQIAcoWwDSePHVKbaJxrOAztQqL2nD9DrD9xYl46NncoeZZytM7YsE2aNDwnC8 zgX1svzhMOg0t0W+yZGE5cizCPtML5SXYnXj9036kDVqw9j4Y1GrHti4RNNAawqB/JqqPB +eiRm054aQwm8b6dCBYrb9rbZpMy51qMCYGKRyy+Er7wKntDKbPqWXzaGxexPr3ArYS2xC ijyVKa6iY2Ea4T3Uj7oOHNbfUI+O+uXDPLnMGl9tblkZdVj2j6g/ln/ZkeWSYBekemsp85 KZ8iofzMsIFmHYpFTYJ8gtYBU3XzBRuOKsSgrZ8m2qw+TEWQewZp1RvOLtl3BQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747809890; a=rsa-sha256; cv=none; b=Pqm0lMQu/c8d6Sep/f1/SkCysSpfSQ3LVoinmyb6fVVUN4bK7/bSQ8gJBhPtk2huAXX2+I PTBxxBC3pZ2UhrnoRtcPWknAtIu0vrVkRGVMxX2cRqW7zhMUoUUQGdU0901id584Utl5e1 LB7zTwEUNjHKaZE5IZIfLGzIP/3ruO/WWU/H7kR4zHYtNWClwoJtg2vc2bf4fezckJKhlR gXC8EXTsGoNtW2vLHmq0wCCHNUTxl3vQ9JQmKadhO1ClwKzbJePJJZli6wdLyIsOLE315o WoqrCCGio3fovuKILVW4TVUAzmLMyxd1/Z2x77fmJKQC0qVGnDnjZt+NrmbstA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2MNf2Fg1z8MY; Wed, 21 May 2025 06:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L6iodK034530; Wed, 21 May 2025 06:44:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L6iogO034527; Wed, 21 May 2025 06:44:50 GMT (envelope-from git) Date: Wed, 21 May 2025 06:44:50 GMT Message-Id: <202505210644.54L6iogO034527@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 437569e7ac25 - stable/14 - traceroute: remove configuration #defines List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 437569e7ac254314d3b89372b461fd1bb4641ec3 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=437569e7ac254314d3b89372b461fd1bb4641ec3 commit 437569e7ac254314d3b89372b461fd1bb4641ec3 Author: Lexi Winter AuthorDate: 2024-02-03 13:19:03 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 06:27:46 +0000 traceroute: remove configuration #defines traceroute used a series of #defines to specify what features are available on the host platform. As traceroute is now in source, these are unnecessary and complicate the code, so remove them. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1100 (cherry picked from commit 6a6c5572c3411d3b4d5a423d3bb8d53026cb4355) --- usr.sbin/traceroute/Makefile | 6 --- usr.sbin/traceroute/findsaddr-socket.c | 30 --------------- usr.sbin/traceroute/ifaddrlist.c | 8 ---- usr.sbin/traceroute/traceroute.c | 67 ---------------------------------- 4 files changed, 111 deletions(-) diff --git a/usr.sbin/traceroute/Makefile b/usr.sbin/traceroute/Makefile index fd013be9ba9a..45a80174f5ab 100644 --- a/usr.sbin/traceroute/Makefile +++ b/usr.sbin/traceroute/Makefile @@ -8,12 +8,6 @@ SRCS= as.c traceroute.c ifaddrlist.c findsaddr-udp.c BINOWN= root BINMODE=4555 -CFLAGS+= -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SOCKIO_H=1 \ - -DHAVE_NET_ROUTE_H=1 -DHAVE_NET_IF_DL_H=1 \ - -DHAVE_STRERROR=1 -DHAVE_USLEEP=1 \ - -DHAVE_SYS_SYSCTL_H=1 -DBYTESWAP_IP_HDR=1 \ - -DHAVE_SETLINEBUF=1 -DHAVE_RAW_OPTIONS=1 \ - -DHAVE_SOCKADDR_SA_LEN=1 -DHAVE_ICMP_NEXTMTU=1 .if !defined(TRACEROUTE_NO_IPSEC) CFLAGS+= -DIPSEC .endif diff --git a/usr.sbin/traceroute/findsaddr-socket.c b/usr.sbin/traceroute/findsaddr-socket.c index 8a25c4641349..b73668146be6 100644 --- a/usr.sbin/traceroute/findsaddr-socket.c +++ b/usr.sbin/traceroute/findsaddr-socket.c @@ -39,9 +39,7 @@ #include #include #include -#ifdef HAVE_SYS_SOCKIO_H #include -#endif #include /* concession to AIX */ #if __STDC__ @@ -61,17 +59,11 @@ struct rtentry; #include #include "gnuc.h" -#ifdef HAVE_OS_PROTO_H #include "os-proto.h" -#endif #include "findsaddr.h" -#ifdef HAVE_SOCKADDR_SA_LEN #define SALEN(sa) ((sa)->sa_len) -#else -#define SALEN(sa) salen(sa) -#endif #ifndef roundup #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) /* to any y */ @@ -89,10 +81,6 @@ static struct rtmsg rtmsg = { { 0 } }; -#ifndef HAVE_SOCKADDR_SA_LEN -static int salen(struct sockaddr *); -#endif - /* * Return the source address for the given destination address */ @@ -196,21 +184,3 @@ findsaddr(register const struct sockaddr_in *to, return ("failed!"); } - -#ifndef HAVE_SOCKADDR_SA_LEN -static int -salen(struct sockaddr *sa) -{ - switch (sa->sa_family) { - - case AF_INET: - return (sizeof(struct sockaddr_in)); - - case AF_LINK: - return (sizeof(struct sockaddr_dl)); - - default: - return (sizeof(struct sockaddr)); - } -} -#endif diff --git a/usr.sbin/traceroute/ifaddrlist.c b/usr.sbin/traceroute/ifaddrlist.c index 796986c9d5b4..b38d0c5f244a 100644 --- a/usr.sbin/traceroute/ifaddrlist.c +++ b/usr.sbin/traceroute/ifaddrlist.c @@ -35,9 +35,7 @@ #include #include #include -#ifdef HAVE_SYS_SOCKIO_H #include -#endif #include /* concession to AIX */ #if __STDC__ @@ -65,9 +63,7 @@ int ifaddrlist(register struct ifaddrlist **ipaddrp, register char *errbuf) { register int fd, nipaddr; -#ifdef HAVE_SOCKADDR_SA_LEN size_t n; -#endif register struct ifreq *ifrp, *ifend, *ifnext; register struct sockaddr_in *sin; register struct ifaddrlist *al; @@ -103,7 +99,6 @@ ifaddrlist(register struct ifaddrlist **ipaddrp, register char *errbuf) al = ifaddrlist; nipaddr = 0; for (; ifrp < ifend; ifrp = ifnext) { -#ifdef HAVE_SOCKADDR_SA_LEN n = ifrp->ifr_addr.sa_len + sizeof(ifrp->ifr_name); if (n < sizeof(*ifrp)) ifnext = ifrp + 1; @@ -111,9 +106,6 @@ ifaddrlist(register struct ifaddrlist **ipaddrp, register char *errbuf) ifnext = (struct ifreq *)((char *)ifrp + n); if (ifrp->ifr_addr.sa_family != AF_INET) continue; -#else - ifnext = ifrp + 1; -#endif /* * Need a template to preserve address info that is * used below to locate the next entry. (Otherwise, diff --git a/usr.sbin/traceroute/traceroute.c b/usr.sbin/traceroute/traceroute.c index 49c9e030fc1e..2f9358689c90 100644 --- a/usr.sbin/traceroute/traceroute.c +++ b/usr.sbin/traceroute/traceroute.c @@ -194,13 +194,9 @@ #include #include #include -#ifdef HAVE_SYS_SELECT_H #include -#endif #include -#ifdef HAVE_SYS_SYSCTL_H #include -#endif #include #include @@ -231,9 +227,7 @@ #include #include #include -#ifdef HAVE_MALLOC_H #include -#endif #include #include #include @@ -295,14 +289,6 @@ struct outdata { struct timeval tv; /* time packet left */ }; -#ifndef HAVE_ICMP_NEXTMTU -/* Path MTU Discovery (RFC1191) */ -struct my_pmtu { - u_short ipm_void; - u_short ipm_nextmtu; -}; -#endif - u_char packet[512]; /* last inbound (icmp) packet */ struct ip *outip; /* last output ip packet */ @@ -386,9 +372,6 @@ void tvsub(struct timeval *, struct timeval *); void usage(void); int wait_for_reply(int, struct sockaddr_in *, const struct timeval *); void pkt_compare(const u_char *, int, const u_char *, int); -#ifndef HAVE_USLEEP -int usleep(u_int); -#endif void udp_prep(struct outdata *); int udp_check(const u_char *, int); @@ -754,11 +737,7 @@ main(int argc, char **argv) usage(); } -#ifdef HAVE_SETLINEBUF setlinebuf(stdout); -#else - setvbuf(stdout, NULL, _IOLBF, 0); -#endif protlen = packlen - sizeof(*outip) - optlen; if ((proto->num == IPPROTO_SCTP) && (packlen & 3)) { @@ -781,16 +760,10 @@ main(int argc, char **argv) outip->ip_tos &= ~IPTOS_ECN_MASK; outip->ip_tos |= IPTOS_ECN_ECT1; } -#ifdef BYTESWAP_IP_HDR outip->ip_len = htons(packlen); outip->ip_off = htons(off); -#else - outip->ip_len = packlen; - outip->ip_off = off; -#endif outip->ip_p = proto->num; outp = (u_char *)(outip + 1); -#ifdef HAVE_RAW_OPTIONS if (lsrr > 0) { register u_char *optlist; @@ -812,7 +785,6 @@ main(int argc, char **argv) optlist[3] = IPOPT_MINOFF; memcpy(optlist + 4, gwlist + 1, i); } else -#endif outip->ip_dst = to->sin_addr; outip->ip_hl = (outp - (u_char *)outip) >> 2; @@ -848,39 +820,6 @@ main(int argc, char **argv) exit(1); } -#if defined(IP_OPTIONS) && !defined(HAVE_RAW_OPTIONS) - if (lsrr > 0) { - u_char optlist[MAX_IPOPTLEN]; - - cp = "ip"; - if ((pe = getprotobyname(cp)) == NULL) { - Fprintf(stderr, "%s: unknown protocol %s\n", prog, cp); - exit(1); - } - - /* final hop */ - gwlist[lsrr] = to->sin_addr.s_addr; - ++lsrr; - - /* force 4 byte alignment */ - optlist[0] = IPOPT_NOP; - /* loose source route option */ - optlist[1] = IPOPT_LSRR; - i = lsrr * sizeof(gwlist[0]); - optlist[2] = i + 3; - /* Pointer to LSRR addresses */ - optlist[3] = IPOPT_MINOFF; - memcpy(optlist + 4, gwlist, i); - - if ((setsockopt(sndsock, pe->p_proto, IP_OPTIONS, - (char *)optlist, i + sizeof(gwlist[0]))) < 0) { - Fprintf(stderr, "%s: IP_OPTIONS: %s\n", - prog, strerror(errno)); - exit(1); - } - } -#endif - #ifdef SO_SNDBUF if (setsockopt(sndsock, SOL_SOCKET, SO_SNDBUF, (char *)&packlen, sizeof(packlen)) < 0) { @@ -1439,11 +1378,7 @@ packet_ok(register u_char *buf, int cc, register struct sockaddr_in *from, if (code != ICMP_UNREACH_NEEDFRAG) pmtu = 0; else { -#ifdef HAVE_ICMP_NEXTMTU pmtu = ntohs(icp->icmp_nextmtu); -#else - pmtu = ntohs(((struct my_pmtu *)&icp->icmp_void)->ipm_nextmtu); -#endif } if (type == ICMP_ECHOREPLY && proto->num == IPPROTO_ICMP @@ -2045,9 +1980,7 @@ setsin(register struct sockaddr_in *sin, register u_int32_t addr) { memset(sin, 0, sizeof(*sin)); -#ifdef HAVE_SOCKADDR_SA_LEN sin->sin_len = sizeof(*sin); -#endif sin->sin_family = AF_INET; sin->sin_addr.s_addr = addr; } From nobody Wed May 21 06:44:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2MNg5WmMz5wx20; Wed, 21 May 2025 06:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2MNg3bnHz4N9k; Wed, 21 May 2025 06:44:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzcG8/ONo1JJ7c2x/W5wXdZ6d0djScChGUc/rF+OpkA=; b=mh0G3k+dnFKYbUSjtBpe6sWmhLkKW0s6c1rFmydqIYGRhAkx1Om6g3Uo1I4rrrXVFXOYKw w30K5B7XGIy57BrS4BXux4MJkDFsy9MaKvOkqSYtJEMq7jWKFS2Mdv/q48PX3Gp0H2BjdP 06yxnPjjp4k74cNpA1+23iPniuBq2qwjx10NW//tu5yNbm9y3wB82DpyvWkK/j6TR91ACo quwq+VGt+3KvKLN7u+cKNufOotlMAOkpB1HxGBiAaOmMXueBpcyJFeJjH05pOO1Qv/wwZr 6ZWr/JnPOVmWloRy5EM38en05ppnhh0MYgMm3Nwc/3Tq2/DLQRdtIYw2r5fZpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzcG8/ONo1JJ7c2x/W5wXdZ6d0djScChGUc/rF+OpkA=; b=MEfL0a5dJePwD+fTDA+a2bXfKmvw3MT8DP1ZCCslnvbZkV9PTuCcsFkqefNBOCPuOq2xk+ lA1dbgtXdPeyenf+lePSwSI02mfCD40sB22CHpqZpcCuF6c6jn100KTItfnnBCBtWn+4IP p2X1BDe3WTKBdDrE7YDGvR9QaeWIh049mGczf76vIKltDeLL8c3fD7lb/49VDpnbBmL/lc ORULcBwlTQIgn5pbyQQrI3cTmf7PJknNJfYv6lflMfB5ZPAL+5to31LZA3tH43OKcGbFKf 2zZ8L7isqFlJb09okaSiebtbUXAKXMv2UhGDTkDov7oZINoXi9MCGVLYQkNULQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747809891; a=rsa-sha256; cv=none; b=TElzZEHMlhe/ezpdPGtgbrtT8J98AaJLx2RiAlrbIeloA2qcrFNdU+d1MldkhEEAtE/hDQ NpFuD3T6XNpH6qLAw9TCVXTBRmRSXghVsyl5BQmiEjNtziTDJXeAP7cwwyuw4GL4ogAE6V oyd5WRr5mQHQAv+9X2X4cJx5fhvji+xTKM9H8n5aVDLAtp78jz5d6kIumFzp4a8Y3V4dac 9gzxJPCUtwv0ulUk7PNx3Cwdue/zj+Hupgquw0m0yUDjofn3T9UjADEiF8v7ZN7tuatrR6 a/T9uGQtALhwp84Ybs4dJGDw/XvyhFwUkSFVJP4mLYRGgq0ZE/lGx0lQE5WGUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2MNg2zZDz7mx; Wed, 21 May 2025 06:44:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L6ipLT034564; Wed, 21 May 2025 06:44:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L6ipMV034561; Wed, 21 May 2025 06:44:51 GMT (envelope-from git) Date: Wed, 21 May 2025 06:44:51 GMT Message-Id: <202505210644.54L6ipMV034561@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: dd60e309af24 - stable/14 - traceroute: add tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: dd60e309af24409f0f756b13814926ea7570ce17 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=dd60e309af24409f0f756b13814926ea7570ce17 commit dd60e309af24409f0f756b13814926ea7570ce17 Author: Lexi Winter AuthorDate: 2025-05-05 21:47:58 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 06:29:13 +0000 traceroute: add tests add some basic tests for traceroute. this covers most of the flags we can easily test; in some cases we use tcpdump to ensure the correct packets are actually being sent. to run the tests, we create three jails: one for the source host, one for the destination host, and one to route packets betweem them. this ensures we're actually testing traceroute across a routed network and not just sending probe packets to a directly connected host. no tests for traceroute6 are in this commit since the traceroute6 merge into traceroute is in progress elsewhere. Reviewed by: des, adrian Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49838 (cherry picked from commit ff8200f9b8d464d6b4cbdeaaacdc2b78d339111b) traceroute tests: fix the test when SCTP is supported The SCTP test assumes a default system configuration where SCTP is not supported, so the probe packet returns an ICMP error which is displayed as a !P response. If SCTP is supported, then something else is returned instead (depending on exactly what probe we sent, but not an ICMP error) and the test fails. Since we already check the correct probes are sent using tcpdump, remove the match for the second hop entirely. Reported by: Jenkins Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50336 (cherry picked from commit 4dbe268d2e7ad4f1172a174a3c55f0fdff3aaa99) --- etc/mtree/BSD.tests.dist | 2 + usr.sbin/traceroute/Makefile | 3 + usr.sbin/traceroute/tests/Makefile | 7 + usr.sbin/traceroute/tests/traceroute_test.sh | 874 +++++++++++++++++++++++++++ 4 files changed, 886 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 2159b24978c0..a909ea3714d3 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1217,6 +1217,8 @@ .. syslogd .. + traceroute + .. .. .. diff --git a/usr.sbin/traceroute/Makefile b/usr.sbin/traceroute/Makefile index 45a80174f5ab..b47e0e2bd55f 100644 --- a/usr.sbin/traceroute/Makefile +++ b/usr.sbin/traceroute/Makefile @@ -8,6 +8,9 @@ SRCS= as.c traceroute.c ifaddrlist.c findsaddr-udp.c BINOWN= root BINMODE=4555 +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .if !defined(TRACEROUTE_NO_IPSEC) CFLAGS+= -DIPSEC .endif diff --git a/usr.sbin/traceroute/tests/Makefile b/usr.sbin/traceroute/tests/Makefile new file mode 100644 index 000000000000..7c3d6f777582 --- /dev/null +++ b/usr.sbin/traceroute/tests/Makefile @@ -0,0 +1,7 @@ +ATF_TESTS_SH+= traceroute_test + +# Allow tests to run in parallel in their own jails +TEST_METADATA+= execenv="jail" +TEST_METADATA+= execenv_jail_params="vnet allow.raw_sockets" + +.include diff --git a/usr.sbin/traceroute/tests/traceroute_test.sh b/usr.sbin/traceroute/tests/traceroute_test.sh new file mode 100755 index 000000000000..268e0bd58b5b --- /dev/null +++ b/usr.sbin/traceroute/tests/traceroute_test.sh @@ -0,0 +1,874 @@ +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +# We are missing tests for the following flags: +# +# -a (turn on ASN lookups) +# -A (specify ASN lookup server) +# -d (enable SO_DEBUG) +# -D (print the diff between our packet and the quote in the ICMP error) +# -E (detect ECN bleaching) +# -n (or rather, we enable -n by default and don't test without it) +# -S (print per-hop packet loss) +# -v (verbose output) +# -w (how long to wait for an error response) +# -x (toggle IP checksums) +# -z (how long to wait between each probe) + +. $(atf_get_srcdir)/../../sys/common/vnet.subr + +# These are the default flags we use for most test cases: +# - only send a single probe packet to reduce the risk of kernel ICMP +# rate-limiting breaking the test. +# - only trace up to 5 hops and only wait 1 second for a response so the test +# fails quicker if something goes wrong. +# - disable DNS resolution as we don't usually care about this. +TR_FLAGS="-w 1 -q 1 -m 5 -n" + +# The prefix our test networks are in. +TEST_PREFIX="192.0.2.0/24" + +# The IPv4 addresses of the first link net between trsrc and trrtr. +LINK_TRSRC_TRSRC="192.0.2.5" +LINK_TRSRC_TRRTR="192.0.2.6" +LINK_TRSRC_PREFIXLEN="30" + +# The IPv4 addresses of the second link net between trsrc and trrtr. +LINK_TRSRC2_TRSRC="192.0.2.13" +LINK_TRSRC2_TRRTR="192.0.2.14" +LINK_TRSRC2_PREFIXLEN="30" + +# The IPv4 addresses of the link net between trdst and trrtr. +LINK_TRDST_TRDST="192.0.2.9" +LINK_TRDST_TRRTR="192.0.2.10" +LINK_TRDST_PREFIXLEN="30" + +# This is an address inside $TEST_PREFIX which is not routed anywhere. +UNREACHABLE_ADDR="192.0.2.255" + +setup_network() +{ + # Create 3 jails: one to be the source host, one to be the router, + # and one to be the destination host. + + vnet_init + + # src jail + epsrc=$(vnet_mkepair) + epsrc2=$(vnet_mkepair) + vnet_mkjail trsrc ${epsrc}a ${epsrc2}a + + # dst jail + epdst=$(vnet_mkepair) + vnet_mkjail trdst ${epdst}a + + # router jail + vnet_mkjail trrtr ${epsrc}b ${epsrc2}b ${epdst}b + + # Configure IPv4 addresses and routes on each jail. + + # trsrc + jexec trsrc ifconfig ${epsrc}a inet \ + ${LINK_TRSRC_TRSRC}/${LINK_TRSRC_PREFIXLEN} + jexec trrtr ifconfig ${epsrc}b inet \ + ${LINK_TRSRC_TRRTR}/${LINK_TRSRC_PREFIXLEN} + jexec trsrc route add -inet ${TEST_PREFIX} ${LINK_TRSRC_TRRTR} + + # trsrc2 + jexec trsrc ifconfig ${epsrc2}a inet \ + ${LINK_TRSRC2_TRSRC}/${LINK_TRSRC2_PREFIXLEN} + jexec trrtr ifconfig ${epsrc2}b inet \ + ${LINK_TRSRC2_TRRTR}/${LINK_TRSRC2_PREFIXLEN} + + # trdst + jexec trdst ifconfig ${epdst}a inet \ + ${LINK_TRDST_TRDST}/${LINK_TRDST_PREFIXLEN} + jexec trrtr ifconfig ${epdst}b inet \ + ${LINK_TRDST_TRRTR}/${LINK_TRDST_PREFIXLEN} + jexec trdst route add -inet ${TEST_PREFIX} ${LINK_TRDST_TRRTR} + + # The router jail (only) needs IP forwarding enabled. + jexec trrtr sysctl net.inet.ip.forwarding=1 +} + +## +# +# start_tcpdump, stop_tcpdump: used to capture packets during the test so we +# can verify we actually sent the expected packets. + +start_tcpdump() +{ + # Run tcpdump on trrtr, either on the given interface or on + # ${epsrc}b, which is trsrc's default route interface. + + interface="$1" + if [ -z "$interface" ]; then + interface="${epsrc}b" + fi + + rm -f "${PWD}/traceroute.pcap" + + jexec trrtr daemon -p "${PWD}/tcpdump.pid" \ + tcpdump --immediate-mode -w "${PWD}/traceroute.pcap" -nv \ + -i $interface + + # Give tcpdump time to start + sleep 1 +} + +stop_tcpdump() +{ + # Sleep to give tcpdump a chance to finish flushing + jexec trrtr kill -USR2 $(cat "${PWD}/tcpdump.pid") + sleep 1 + jexec trrtr kill $(cat "${PWD}/tcpdump.pid") + + # Format the packet capture and merge continued lines (starting with + # whitespace) into a single line; this makes it easier to match in + # atf_check. Append a blank line since the N command exits on EOF. + (tcpdump -nv -r "${PWD}/traceroute.pcap"; echo) | \ + sed -E -e :a -e N -e 's/\n +/ /' -e ta -e P -e D \ + > tcpdump.output +} + +## +# test: ipv4_basic +# + +atf_test_case "ipv4_basic" "cleanup" +ipv4_basic_head() +{ + atf_set descr "Basic IPv4 traceroute across a router" + atf_set require.user root +} + +ipv4_basic_body() +{ + setup_network + + # Use a more detailed set of regexp here than the rest of the tests to + # make sure the basic output format is correct. + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST} \\(${LINK_TRDST_TRDST}\\), 5 hops max, 40 byte packets$" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR} [0-9.]+ ms$" \ + -o match:"^ 2 ${LINK_TRDST_TRDST} [0-9.]+ ms$" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS ${LINK_TRDST_TRDST} +} + +ipv4_basic_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_icmp +# + +atf_test_case "ipv4_icmp" "cleanup" +ipv4_icmp_head() +{ + atf_set descr "Basic IPv4 ICMP traceroute across a router" + atf_set require.user root +} + +ipv4_icmp_body() +{ + setup_network + + # -I and -Picmp should mean the same thing, so test both. + + for icmp_flag in -Picmp -I; do + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS $icmp_flag \ + ${LINK_TRDST_TRDST} + + stop_tcpdump + + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto ICMP.*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: ICMP echo request" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto ICMP.*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: ICMP echo request" \ + cat tcpdump.output + done +} + +ipv4_icmp_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_udp +# + +atf_test_case "ipv4_udp" "cleanup" +ipv4_udp_head() +{ + atf_set descr "IPv4 UDP traceroute" + atf_set require.user root +} + +ipv4_udp_body() +{ + setup_network + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS -Pudp ${LINK_TRDST_TRDST} + + stop_tcpdump + + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: UDP" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: UDP" \ + cat tcpdump.output + + # Test with -e, the destination port should not increment. + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS -Pudp -e -p 40000 ${LINK_TRDST_TRDST} + + stop_tcpdump + + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40000: UDP" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40000: UDP" \ + cat tcpdump.output +} + +ipv4_udp_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_sctp +# + +atf_test_case "ipv4_sctp" "cleanup" +ipv4_sctp_head() +{ + atf_set descr "IPv4 SCTP traceroute" + atf_set require.user root +} + +ipv4_sctp_body() +{ + setup_network + + # For the default packet size, we should sent a SHUTDOWN ACK packet. + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + jexec trsrc traceroute $TR_FLAGS -Psctp ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: sctp \(1\) \[SHUTDOWN ACK\]" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: sctp \(1\) \[SHUTDOWN ACK\]" \ + cat tcpdump.output + + # For a larger packet size we should send INIT packets. + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + jexec trsrc traceroute $TR_FLAGS -Psctp ${LINK_TRDST_TRDST} 128 + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: sctp \(1\) \[INIT\]" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: sctp \(1\) \[INIT\]" \ + cat tcpdump.output + + # Test with -e, the destination port should not increment. + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + jexec trsrc traceroute $TR_FLAGS -Psctp -e -p 40000 ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40000: sctp \(1\) \[SHUTDOWN ACK\]" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto SCTP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40000: sctp \(1\) \[SHUTDOWN ACK\]" \ + cat tcpdump.output +} + +ipv4_sctp_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_tcp +# + +atf_test_case "ipv4_tcp" "cleanup" +ipv4_tcp_head() +{ + atf_set descr "IPv4 TCP traceroute" + atf_set require.user root +} + +ipv4_tcp_body() +{ + setup_network + + start_tcpdump + + # We expect the second hop to be a failure since traceroute doesn't + # know how to capture the RST packet. + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 \\*" \ + jexec trsrc traceroute $TR_FLAGS -Ptcp ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: Flags \[S\]" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: Flags \[S\]" \ + cat tcpdump.output + + # Test with -e, the destination port should not increment. + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 \\*" \ + jexec trsrc traceroute $TR_FLAGS -Ptcp -e -p 40000 ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40000: Flags \[S\]" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto TCP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40000: Flags \[S\]" \ + cat tcpdump.output +} + +ipv4_tcp_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_srcaddr +# + +atf_test_case "ipv4_srcaddr" "cleanup" +ipv4_srcaddr_head() +{ + atf_set descr "IPv4 traceroute with explicit source address" + atf_set require.user root +} + +ipv4_srcaddr_body() +{ + setup_network + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST} \\($LINK_TRDST_TRDST\\) from ${LINK_TRSRC2_TRSRC}" \ + -o match:"^ 1 ${LINK_TRSRC2_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS \ + -s ${LINK_TRSRC2_TRSRC} ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: UDP" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: UDP" \ + cat tcpdump.output +} + +ipv4_srcaddr_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_srcinterface +# + +atf_test_case "ipv4_srcinterface" "cleanup" +ipv4_srcinterface_head() +{ + atf_set descr "IPv4 traceroute with explicit source interface" + atf_set require.user root +} + +ipv4_srcinterface_body() +{ + setup_network + + start_tcpdump + + # Unlike -s, traceroute doesn't print 'from ...' when using -i. + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC2_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS \ + -i ${epsrc2}a ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: UDP" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC2_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: UDP" \ + cat tcpdump.output +} + +ipv4_srcinterface_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_maxhops +# + +atf_test_case "ipv4_maxhops" "cleanup" +ipv4_maxhops_head() +{ + atf_set descr "IPv4 traceroute with -m" + atf_set require.user root +} + +ipv4_maxhops_body() +{ + setup_network + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o not-match:"^ 2" \ + jexec trsrc traceroute -w1 -q1 -m1 ${LINK_TRDST_TRDST} +} + +ipv4_maxhops_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_unreachable +# + +atf_test_case "ipv4_unreachable" "cleanup" +ipv4_unreachable_head() +{ + atf_set descr "IPv4 traceroute to an unreachable destination" + atf_set require.user root +} + +ipv4_unreachable_body() +{ + setup_network + + atf_check -s exit:0 \ + -e match:"^traceroute to ${UNREACHABLE_ADDR}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRSRC_TRRTR} [0-9.]+ ms !H" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS $UNREACHABLE_ADDR +} + +ipv4_unreachable_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_hugepacket +# + +atf_test_case "ipv4_hugepacket" "cleanup" +ipv4_hugepacket_head() +{ + atf_set descr "IPv4 traceroute with a huge packet" + atf_set require.user root +} + +ipv4_hugepacket_body() +{ + setup_network + + # We expect this to fail since we specified -F (don't fragment) and the + # 2000-byte packet is too large to fit through our tiny epair. Make + # sure traceroute reports the error. + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST} \\(${LINK_TRDST_TRDST}\\), 5 hops max, 2000 byte packets$" \ + -o match:"^ 1 traceroute: wrote ${LINK_TRDST_TRDST} 2000 chars, ret=-1" \ + -e match:"^traceroute: sendto: Message too long" \ + jexec trsrc traceroute -F $TR_FLAGS ${LINK_TRDST_TRDST} 2000 +} + +ipv4_hugepacket_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_firsthop +# + +atf_test_case "ipv4_firsthop" "cleanup" +ipv4_firsthop_head() +{ + atf_set descr "IPv4 traceroute with one hop skipped" + atf_set require.user root +} + +ipv4_firsthop_body() +{ + setup_network + + # -f 2 means we skip the first hop. For backward compatibility, -M is + # the same as -f, so test that too. + + for flag in -f2 -M2; do + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 1" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $flag $TR_FLAGS ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o not-match:"^..:..:..\....... IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\)" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: UDP" \ + cat tcpdump.output + done +} + +ipv4_firsthop_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_nprobes +# + +atf_test_case "ipv4_nprobes" "cleanup" +ipv4_nprobes_head() +{ + atf_set descr "IPv4 traceroute with varying number of probes" + atf_set require.user root +} + +ipv4_nprobes_body() +{ + setup_network + + # By default we should send 3 probes. + atf_check -s exit:0 -e ignore \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR} \(${LINK_TRSRC_TRRTR}\)( [0-9.]+ ms){3}$" \ + jexec trsrc traceroute -w1 -m1 ${LINK_TRDST_TRDST} + + # Also test 1 and 2 (below the default) and 5 (above the default) + for nprobes in 1 2 5; do + atf_check -s exit:0 -e ignore \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR} \(${LINK_TRSRC_TRRTR}\)( [0-9.]+ ms){$nprobes}$" \ + jexec trsrc traceroute -q$nprobes -w1 -m1 ${LINK_TRDST_TRDST} + done +} + +ipv4_nprobes_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_baseport +# + +atf_test_case "ipv4_baseport" "cleanup" +ipv4_baseport_head() +{ + atf_set descr "IPv4 traceroute with non-default base port" + atf_set require.user root +} + +ipv4_baseport_body() +{ + setup_network + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS -p 40000 \ + ${LINK_TRDST_TRDST} + + stop_tcpdump + + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40001: UDP" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP.*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.40002: UDP" \ + cat tcpdump.output +} + +ipv4_baseport_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_gre +# + +atf_test_case "ipv4_gre" "cleanup" +ipv4_gre_head() +{ + atf_set descr "IPv4 GRE traceroute" + atf_set require.user root +} + +ipv4_gre_body() +{ + setup_network + + start_tcpdump + + # We expect the second hop to be a failure since the remote host will + # ignore the GRE packet. + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 \\*" \ + jexec trsrc traceroute $TR_FLAGS -Pgre ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto GRE .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: GREv1" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto GRE .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: GREv1" \ + cat tcpdump.output +} + +ipv4_gre_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_udplite +# + +atf_test_case "ipv4_udplite" "cleanup" +ipv4_udplite_head() +{ + atf_set descr "IPv4 UDP-Lite traceroute" + atf_set require.user root +} + +ipv4_udplite_body() +{ + setup_network + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS -Pudplite ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto unknown \(136\), .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: ip-proto-136" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto unknown \(136\), .*\\).* ${LINK_TRSRC_TRSRC} > ${LINK_TRDST_TRDST}: ip-proto-136" \ + cat tcpdump.output +} + +ipv4_udplite_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_iptos +# + +atf_test_case "ipv4_iptos" "cleanup" +ipv4_iptos_head() +{ + atf_set descr "IPv4 traceroute with explicit ToS" + atf_set require.user root +} + +ipv4_iptos_body() +{ + setup_network + + start_tcpdump + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST}" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS -t 4 ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x4, ttl 1, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33435: UDP" \ + -o match:"IP \\(tos 0x4, ttl 2, .*, proto UDP .*\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRDST_TRDST}.33436: UDP" \ + cat tcpdump.output +} + +ipv4_iptos_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_srcroute +# + +atf_test_case "ipv4_srcroute" "cleanup" +ipv4_srcroute_head() +{ + atf_set descr "IPv4 traceroute with explicit source routing" + atf_set require.user root +} + +ipv4_srcroute_body() +{ + setup_network + jexec trsrc sysctl net.inet.ip.sourceroute=1 + jexec trsrc sysctl net.inet.ip.accept_sourceroute=1 + jexec trrtr sysctl net.inet.ip.sourceroute=1 + + start_tcpdump + + # As we don't enable source routing on trdst, we should get an ICMP + # source routing failed error (!S). + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 2 ${LINK_TRDST_TRDST} [0-9.]+ ms !S" \ + -o not-match:"^ 3" \ + jexec trsrc traceroute $TR_FLAGS \ + -g ${LINK_TRSRC_TRRTR} ${LINK_TRDST_TRDST} + + stop_tcpdump + atf_check -s exit:0 -e ignore \ + -o match:"IP \\(tos 0x0, ttl 1, .*, proto UDP .*, options \\(NOP,LSRR ${LINK_TRDST_TRDST}\\)\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRSRC_TRRTR}.33435: UDP" \ + -o match:"IP \\(tos 0x0, ttl 2, .*, proto UDP .*, options \\(NOP,LSRR ${LINK_TRDST_TRDST}\\)\\).* ${LINK_TRSRC_TRSRC}.[0-9]+ > ${LINK_TRSRC_TRRTR}.33436: UDP" \ + cat tcpdump.output +} + +ipv4_srcroute_cleanup() +{ + vnet_cleanup +} + +## +# test: ipv4_dontroute +# + +atf_test_case "ipv4_dontroute" "cleanup" +ipv4_dontroute_head() +{ + atf_set descr "IPv4 traceroute with -r" + atf_set require.user root +} + +ipv4_dontroute_body() +{ + setup_network + + # This one should work as trrtr is directly connected. + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRSRC_TRRTR}" \ + -o match:"^ 1 ${LINK_TRSRC_TRRTR} [0-9.]+ ms$" \ + -o not-match:"^ 2" \ + jexec trsrc traceroute -r $TR_FLAGS ${LINK_TRSRC_TRRTR} + + # This one should fail. + + atf_check -s exit:0 \ + -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ + -o match:"^ 1 traceroute: wrote ${LINK_TRDST_TRDST} 40 chars, ret=-1" \ + jexec trsrc traceroute -r $TR_FLAGS ${LINK_TRDST_TRDST} +} + +ipv4_dontroute_cleanup() +{ + vnet_cleanup +} + +## +# test case declarations + +atf_init_test_cases() +{ + atf_add_test_case ipv4_basic + atf_add_test_case ipv4_udp + atf_add_test_case ipv4_icmp + atf_add_test_case ipv4_tcp + atf_add_test_case ipv4_sctp + atf_add_test_case ipv4_gre + atf_add_test_case ipv4_udplite + atf_add_test_case ipv4_srcaddr + atf_add_test_case ipv4_srcinterface + atf_add_test_case ipv4_maxhops + atf_add_test_case ipv4_unreachable + atf_add_test_case ipv4_hugepacket + atf_add_test_case ipv4_firsthop + atf_add_test_case ipv4_nprobes + atf_add_test_case ipv4_baseport + atf_add_test_case ipv4_iptos + atf_add_test_case ipv4_srcroute + atf_add_test_case ipv4_dontroute +} From nobody Wed May 21 06:44:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2MNj0vlGz5wx24; Wed, 21 May 2025 06:44:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2MNh5PQGz4NVG; Wed, 21 May 2025 06:44:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WSXJjPf403oOfr3d7m8Uo6m+YarDPdHI/2GhoDQcoQA=; b=GYHZkPLr/dhMLqb0Er4kB4oEEVh9U0A7LIx3snEXCoc2se1sGTQmy6uhXhvCN9PXc9VYMb rngjDIGSqgYBriWjQUSamah62STe46q69UzV0oIIshy8S5cWZUXgijnL4EI44LUHzQMbj3 nnGdGpc8PzFc7/SVHfhDuP6+oyaqA4X8NXxEYbuHVS/+OPHH3Wet61MBA0RICYocZJ7P9Q qmkXIt+j4QLtZAG03U2e/bmDED8pCsrr7bjn2WrqXw8l20rF1nYTJmcn6KjtgM9ZGzZpPr GI01lZixyGz34dCcJZez23Fml1h7pQi3OC5fzsceRT4dQfyJLB+auobfw3C+AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747809892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WSXJjPf403oOfr3d7m8Uo6m+YarDPdHI/2GhoDQcoQA=; b=THtERWtHDeaJqmic7fxDPKaDRGN4hLCu+tae4UbAOmdMVWnUUgEroXtLbI7ko5DTSEwToH kUXxjbfYJLWYH+go8IUHqCV5Ad/ra1SZXDR8dfD7Pf3117MNP0ZbWwNHzJNg+cusYK/0Un dHIqH45sENSw/AuuZwOmtHZTVIw9DQiD9uqmrYg32HxfWxo3f2PNLabAmKGviUFs1gcrUO kdncgpJtKqHSdrRyvLSM6mkAaBm5BqbfrW9A1WCUGlDbF4WpD1RCfsGUcNAqy2LiwZb89b Tf5Rzeg7d78V42GXH4X9FhTCSkwV+VmmbUbe33/4JPutIKe3+WwxAV6pEvvNXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747809892; a=rsa-sha256; cv=none; b=bg5nRbmx5kqvYlN5SAhf7TgXpizl63ZIyAXK5/LSh6iSm5C1pr+vXy8kKDzjCgzt0uUgxt SPGysKuul9Y2eanUGdSkn8ilbkS3M8afmPTiIXSGE7RrmRAdXnVwTG78qzaYvYMu3vIpuV p9vvOtU0lLW1zVZ63FzCCuni/B9QD8diFxNVvI6gNVrfuY2d/o8JPzMCdY5kNX7ThdkVVY 0mlydKktUgrdSuA0oH1rp/dGfwI7yytl7fnoQXIO+0SJgeyl0UalW5XfAyOPOipMuFvH6O 1y9Fv/aYcftsv1RpW1amORWGTfZXATnjLLjF4xozUhWeam/+7tGoG6FdXUoXqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2MNh3wFsz7my; Wed, 21 May 2025 06:44:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54L6iqZr034603; Wed, 21 May 2025 06:44:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54L6iq4P034600; Wed, 21 May 2025 06:44:52 GMT (envelope-from git) Date: Wed, 21 May 2025 06:44:52 GMT Message-Id: <202505210644.54L6iq4P034600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: a02915589dff - stable/14 - traceroute.8: improve the documentation of -P List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a02915589dffa4b2eb93a686e430b35f7cbb10cc Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=a02915589dffa4b2eb93a686e430b35f7cbb10cc commit a02915589dffa4b2eb93a686e430b35f7cbb10cc Author: Lexi Winter AuthorDate: 2025-05-14 16:05:02 +0000 Commit: Lexi Winter CommitDate: 2025-05-21 06:29:17 +0000 traceroute.8: improve the documentation of -P 1. -P didn't say what the argument is supposed to be; in the case of udplite(4), "-Pudp-lite" is not valid, one must use "-Pudplite". 2. be more explicit about what sort of packets we generate, particularly for -Psctp and -Pgre. Reviewed by: imp, tuexen, des Approved by: des (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1657 (cherry picked from commit 0829839fd0cd6046fbb5c0b6c6432b5ffe0d91e8) --- usr.sbin/traceroute/traceroute.8 | 64 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/usr.sbin/traceroute/traceroute.8 b/usr.sbin/traceroute/traceroute.8 index 21427ef6e97c..6b46ec05a1c9 100644 --- a/usr.sbin/traceroute/traceroute.8 +++ b/usr.sbin/traceroute/traceroute.8 @@ -16,7 +16,7 @@ .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ .\" $FreeBSD$ .\" -.Dd October 25, 2023 +.Dd May 14, 2025 .Dt TRACEROUTE 8 .Os .Sh NAME @@ -148,6 +148,68 @@ at the destination host (so an ICMP PORT_UNREACHABLE message will be returned to terminate the route tracing). If something is listening on a port in the default range, this option can be used to pick an unused port range. +.It Fl P Ar proto +Use packets of specified IP protocol when sending probes. +The +.Ar proto +argument may be one of the following: +.Bl -tag -width Ar udplite +.It Ar udp +Use +.Xr udp 4 +packets. +This is the default. +.It Ar icmp +Use +.Xr icmp 4 +.Dq echo request +packets. +.It Ar udplite +Use +.Xr udplite 4 +packets. +.It Ar tcp +Use +.Xr tcp 4 +.Dq SYN +packets. +This will cause a successful traceroute to end with no response (i.e., a +.Dq * +response) since +.Nm +does not know how to detect the RST or SYN+ACK response from the +destination host. +.It Ar sctp +Use +.Xr sctp 4 +packets. +The +.Ar packetlen +argument must be a multiple of 4. +SCTP probes will be constructed as SCTP +.Dq INIT +chunks, unless the packet length is too small, in which case the probes +will be SCTP +.Dq SHUTDOWN-ACK +chunks followed by zero or one +.Dq PAD +chunks. +.It Ar gre +Use +.Xr gre 4 +packets. +The GRE packets will be constructed as if they contain a PPTP +(Point-to-Point Tunneling Protocol) payload. +.El +.Pp +Other protocols may also be specified, either by number or by name (see +.Xr protocols 5 ) , +though +.Nm +does not implement any special knowledge of their packet formats. +This option is useful for determining which router along a path may be blocking +packets based on IP protocol number. +But see BUGS below. .It Fl q Ar nprobes Set the number of probes per hop (default is 3, unless From nobody Wed May 21 10:08:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2Rvd1JZtz5x8Zs; Wed, 21 May 2025 10:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2Rvd0CJwz3DTh; Wed, 21 May 2025 10:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/u0GjZEWTs65rgvTAhatbvusOncvaMjh0ae7fpon0qc=; b=H58g1MYv48L3z9q87l0LRPac7UJQTRXxdnY/xpsQDNW6bxyY4Y0JLmK/oEuLCi2u5f+dNn cBsnJLit7PaNS2VI3EwF1WBWs6upc0E46bQP95NCSi3ApK3JtjWL32bZDw17PW+E/G6gIO OutkGcr0R4fqAbAWsDB9bJdokCrFBogwx6qhkXzRnNIjRGeHgUk8Vm3kTMN/EAO1Jv2/zg VksgvGTkGFLQwb/VG/N2nnnGRLmlmuKz3jgMfhkfQWRopWeJdmnj9/hqVGdybugBcR6oiu Q3iqD+lcoaR70Pyab5MaRVNXP8Yahg9tQtfHaoQbbQjcCgxwixq9FOUovyn05A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/u0GjZEWTs65rgvTAhatbvusOncvaMjh0ae7fpon0qc=; b=M0X3NOhvwrSnCG55j37bQLA9t3fFo/wLCQOkzTh1MgjI2laNvQv9VLtKFjXv+kpBxGtjOa zC3gmiqvuqBOP7Ki4jb8alWg9lKRCR5w+69gbVJdBVAl6fzNfNZmBVB/H8qSMzZgNvyh2m g4HPMWsnaFmcMoFVR+7rQJFvU+x5BYxBzkf+2+VxptmP+9IqAVB3vhAnAchwUCVo467969 5pE/gGZMLLZl3DSukBrFKEWqImbOghhgKVl8Ovwp5CQ2199JXHRckzVrsm0wZUNRkTNMpk lGBCVPAJ4ef8RztQdO684dxgpD1yHfcbpFITHiC9TLz2RPsdz0pyT4gizXn9+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747822109; a=rsa-sha256; cv=none; b=SgS9vcqfk/eN2LIgh5GM5LEA4nVr7DSid0P5uim7AngQpFDSQFVH4ssaoiB2f7QYA1wPP6 zjaO9xDQsRZw/sq9deyQ+8Y++f6KEQLjDHJgzo/iTnT5SHBzY8ESKD/XeffFOiO3vXLSf5 +cD6A4NtIN3HzSxC4NRRJYy8+R3drWiQmSh86Mn7i37D6lPnUxwnQv960v1F9nXFwS90mQ z6xjHPyzQJcDcJBQzp/bXulw4PkFQfOa9E1XQ1+JxSCU9qBxik3HJ2Da/9Pa9vAthUrVX7 25D1fwsshH59qloHBV5wsF+2TDuX6bb3Wh1RV9kqafTRj99LCWHnu3qFSY45qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2Rvc6wH8zVS7; Wed, 21 May 2025 10:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LA8S9f011762; Wed, 21 May 2025 10:08:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LA8SYx011758; Wed, 21 May 2025 10:08:28 GMT (envelope-from git) Date: Wed, 21 May 2025 10:08:28 GMT Message-Id: <202505211008.54LA8SYx011758@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 7a9ea03e4bbf - releng/14.3 - vfs: vn_alloc(): Stop always calling vn_alloc_hard() and direct reclaiming List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 7a9ea03e4bbfee1b2192d9a5b4da89a53d3a2c14 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7a9ea03e4bbfee1b2192d9a5b4da89a53d3a2c14 commit 7a9ea03e4bbfee1b2192d9a5b4da89a53d3a2c14 Author: Olivier Certner AuthorDate: 2025-05-13 13:47:42 +0000 Commit: Olivier Certner CommitDate: 2025-05-21 10:07:15 +0000 vfs: vn_alloc(): Stop always calling vn_alloc_hard() and direct reclaiming Commit ab05a1cf321aca0f intended to revert commit 8733bc277a383cf5 ("vfs: don't provoke recycling non-free vnodes without a good reason"), but due to intervening changes in commit 054f45e026d898bd ("vfs: further speed up continuous free vnode recycle"), it also had to revert part of it. In particular, while removing the whole 'if (vn_alloc_cyclecount != 0)' block, it inadvertantly removed the code block resetting 'vn_alloc_cyclecount' to 0 and skipping direct vnode reclamation (done further below through vnlru_free_locked_direct()), which had been outside the 'if' before the intervening commit. Removing this block instead of reinstating it in practice causes 'vn_alloc_cyclecount' to (almost) never be 0, making vn_alloc() always call vn_alloc_hard(), which takes the 'vnode_list_mtx' mutex. In other words, this disables the fast path. [The reverted commit, which introduced the 'if (vn_alloc_cyclecount != 0)' guarding this block, actually never executed it because it also had the bug that 'vn_alloc_cyclecount' would always stay at 0, hiding its usefulness.] Additionally, not skipping direct vnode reclamation even when there are less vnodes than 'kern.maxvnodes' not only causes unnecessary contention but also plain livelocks as vnlru_free_locked_direct() does not itself check whether there are actually "free" (not referenced) vnodes to be deallocated, and will blindly browse all the vnode list until it finds one (which it may not, or only a few ones at the end). As the fast path was disabled, all threads in the system would soon be competing for the vnode list lock, outpacing the vnlru process that could never actually recycle vnodes in a more agressive manner (i.e., even if they have a non-zero hold count). And we could more easily get into this situation, as each vnode allocation was reducing the count of "free" vnodes, even if entirely new vnodes could be allocated instead. This part was mitigated by the vnlru process (before the tipping point described above), which explains why the mechanism would not always livelock. Not skipping direct vnode reclamation was arguably a bug introduced by the intervening commit (054f45e026d898bd), but was mitigated by vn_alloc_hard() not being called in the fast path. The revert commit, by disabling the fast path, made it significantly annoying (to the point of getting a few livelocks a week in some of my workloads). Restore the reset of 'vn_alloc_cyclecount' to 0 and skip direct reclamation when the current number of vnodes is below the 'kern.maxvnodes' limit, indicating we can start allocating a new 'struct vnode' right away. While here, fix the comparison with the limit when 'bumped' is true. Reviewed by: kib (older version), avg Tested by: avg, olce Fixes: ab05a1cf321aca0f (revert of "vfs: don't provoke recycling non-free vnodes without a good reason") Fixes: 054f45e026d898bd ("vfs: further speed up continuous free vnode recycle") MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50338 (cherry picked from commit d90c9c24e2c3701949c47061b5ad198eedeebfb9) (cherry picked from commit ce6b7a5919da518715d6163baa42035d6d2c1bd0) Approved by: re (cperciva) --- sys/kern/vfs_subr.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 009d305b8c1f..a640bede85b9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1964,11 +1964,24 @@ vn_alloc_hard(struct mount *mp, u_long rnumvnodes, bool bumped) mtx_lock(&vnode_list_mtx); + /* + * Reload 'numvnodes', as since we acquired the lock, it may have + * changed significantly if we waited, and 'rnumvnodes' above was only + * actually passed if 'bumped' is true (else it is 0). + */ + rnumvnodes = atomic_load_long(&numvnodes); + if (rnumvnodes + !bumped < desiredvnodes) { + vn_alloc_cyclecount = 0; + mtx_unlock(&vnode_list_mtx); + goto alloc; + } + rfreevnodes = vnlru_read_freevnodes(); if (vn_alloc_cyclecount++ >= rfreevnodes) { vn_alloc_cyclecount = 0; vstir = true; } + /* * Grow the vnode cache if it will not be above its target max * after growing. Otherwise, if the free list is nonempty, try From nobody Wed May 21 10:08:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2Rvf2scfz5x8kM; Wed, 21 May 2025 10:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2Rvf17m9z3DTk; Wed, 21 May 2025 10:08:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AI0FRyVn83XWZDlW/O2BrG67fMCg+xpqoB91syUtV6s=; b=fOj2P9GYotf6Pbtv3bDWrK0kL9AyCO2I1ji24SEkj1428amnpYZLsKA304/0vLDMIKHVlB iiwbJbAwlFGUQYCVwA+LL1wNuOsJwuxQVgkX8IPd1ku9/OjVAqfauY320Kelp3GxjXqVU/ B1QbSePMvdkrXMY4NTuCySGlb65MlsdWSsPd/48v+wjrEVLHLjZHW+wlXzKC3h7DoVqD6z PWLPwx6e4mmkohFTOZj9k6+dqQmO//7nldFbFaSKlj8Mi9oKjmwDv79zACc8hHnkAmsk8u VzntbanCvS2kIwNnZahodPceXbN5VU3U6mUPvLwVAY6m6+vk0oI9zR59oZhrOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AI0FRyVn83XWZDlW/O2BrG67fMCg+xpqoB91syUtV6s=; b=SEL+tSGDVVFoK7/0LCJk71kGhMRLPIdDNBjLjHAfDIzk+gTgtEgXNDWypDJFOxO/+gfVfb i7+JeUV4FBjGt0p0g78u/jKyOq7xVLOafw/gllfPWO+rfD76IYtvH1l2LZTnvIRqRxICDX 3dBwb2duAWB/rHU82OSgD5QgLY0YAue8DN5gE3GWz7tIX4kVAG6Y0GbzS+b9ealJR3/6aU 4plXpJgWfB+gy4QW67fmHwoyq8lNFWQTud513nVbKgK2EOMYhzqxvGwXxkc8aQ+r/6jZHI g25jApnFtB0As0qwdmTQMm+pRSBXbg4Xx0SYr7/+j0gCEUv/G0sSaKnf3oxvSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747822110; a=rsa-sha256; cv=none; b=xuCQvoqb1TBEJgdtU5l7lPDTItTdoxTN6hvksCYp5UonftflFW3moaJv0r7OuUhZ5QeIaD edFXR3R6b/8RyFK5NWOW99Ba2RSeswKUSPRaXeUfnyXL+FeRFrqk2Lqlq3ZdGG+jJ+o3ng VuY6jU1O7Y3uc35RVfKiZWKaI1DCSbZZ08tNRAQsb+eSpGaN3hTKwgvrZikCT4CyC0UWa2 FRwcbDWfbgPVO5IEVEBAvG09z6OCphWAFa+Qh6qSvSJMrTiDbFB2ysVPlHb8H7luDDuyxv Lh1nSCUqlwNx4RQbey2A+GloHfuKcorB27HWxpHTbQcYXNoGwRUcBWY6x1usFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2Rvf0kvGzVXp; Wed, 21 May 2025 10:08:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LA8UHD011797; Wed, 21 May 2025 10:08:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LA8U1v011794; Wed, 21 May 2025 10:08:30 GMT (envelope-from git) Date: Wed, 21 May 2025 10:08:30 GMT Message-Id: <202505211008.54LA8U1v011794@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: fbc73f17ba17 - releng/14.3 - Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: fbc73f17ba172e74c5b5a1b0d85a53fbc61b2402 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fbc73f17ba172e74c5b5a1b0d85a53fbc61b2402 commit fbc73f17ba172e74c5b5a1b0d85a53fbc61b2402 Author: Olivier Certner AuthorDate: 2025-05-02 12:47:32 +0000 Commit: Olivier Certner CommitDate: 2025-05-21 10:07:36 +0000 Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments Change the formulae so that 'maxproc' and 'maxfiles' are computed based on the physical memory amount, and not the corresponding number of pages. Make sure that the practical results are unchanged for all architectures (which is possible since all have 4096 as their PAGE_SIZE). Despite this, we do this change to make it clearer how many units of these values are computed per MB, which is easier on readers. Change the comments accordingly and expand them to indicate which parts of the computations are actually not used by default. In passing, fix the comments about default values and limits for 'maxfiles' (they were off). No functional change (intended). MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50124 (cherry picked from commit 73f9251c0b52ac0bfb2f2baff27493d6bae216f6) (cherry picked from commit e7d4e52eafb016707ef3dd3b778d76db280c06a4) Approved by: re (cperciva) --- sys/kern/subr_param.c | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index 67dc10213a70..36009a5c1be1 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -70,13 +70,14 @@ # define HZ_VM HZ # endif #endif +/* See the comments in init_param2() for these. */ #define NPROC (20 + 16 * maxusers) -#ifndef NBUF -#define NBUF 0 -#endif #ifndef MAXFILES #define MAXFILES (40 + 32 * maxusers) #endif +#ifndef NBUF +#define NBUF 0 +#endif static int sysctl_kern_vm_guest(SYSCTL_HANDLER_ARGS); @@ -276,13 +277,14 @@ init_param1(void) void init_param2(long physpages) { + long maxproc_clamp, maxfiles_clamp; TSENTER(); /* Base parameters */ maxusers = MAXUSERS; TUNABLE_INT_FETCH("kern.maxusers", &maxusers); if (maxusers == 0) { - maxusers = physpages / (2 * 1024 * 1024 / PAGE_SIZE); + maxusers = pgtok(physpages) / (2 * 1024); if (maxusers < 32) maxusers = 32; #ifdef VM_MAX_AUTOTUNE_MAXUSERS @@ -291,35 +293,43 @@ init_param2(long physpages) #endif /* * Scales down the function in which maxusers grows once - * we hit 384. + * we hit 384 (16MB to get a new "user"). */ if (maxusers > 384) maxusers = 384 + ((maxusers - 384) / 8); } /* - * The following can be overridden after boot via sysctl. Note: - * unless overridden, these macros are ultimately based on maxusers. - * Limit maxproc so that kmap entries cannot be exhausted by - * processes. + * The following can be overridden after boot via sysctl. Note: unless + * overridden, these macros are ultimately based on 'maxusers'. Limit + * maxproc so that kmap entries cannot be exhausted by processes. The + * default for 'maxproc' linearly scales as 16 times 'maxusers' (so, + * linearly with 8 processes per MB up to 768MB, then 1 process per MB; + * overridable by a tunable), and is then clamped at 21 + 1/3 processes + * per MB (which never happens by default as long as physical memory is + * > ~1.5MB). */ maxproc = NPROC; TUNABLE_INT_FETCH("kern.maxproc", &maxproc); - if (maxproc > (physpages / 12)) - maxproc = physpages / 12; + maxproc_clamp = pgtok(physpages) / (3 * 1024 / 64); + if (maxproc > maxproc_clamp) + maxproc = maxproc_clamp; if (maxproc > pid_max) maxproc = pid_max; maxprocperuid = (maxproc * 9) / 10; /* - * The default limit for maxfiles is 1/12 of the number of - * physical page but not less than 16 times maxusers. - * At most it can be 1/6 the number of physical pages. + * 'maxfiles' by default is set to 32 files per MB (overridable by + * a tunable), and is then clamped at 64 files per MB (which thus never + * happens by default). (The default MAXFILES is for all practical + * purposes not used, as it gives a lower value than 32 files per MB as + * soon as there is more than ~2.5MB of memory.) */ - maxfiles = imax(MAXFILES, physpages / 8); + maxfiles = imax(MAXFILES, pgtok(physpages) / (1024 / 32)); TUNABLE_INT_FETCH("kern.maxfiles", &maxfiles); - if (maxfiles > (physpages / 4)) - maxfiles = physpages / 4; + maxfiles_clamp = pgtok(physpages) / (1024 / 64); + if (maxfiles > maxfiles_clamp) + maxfiles = maxfiles_clamp; maxfilesperproc = (maxfiles / 10) * 9; TUNABLE_INT_FETCH("kern.maxfilesperproc", &maxfilesperproc); From nobody Wed May 21 10:08:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2Rvg3JzPz5x8pm; Wed, 21 May 2025 10:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2Rvg2B6lz3DRG; Wed, 21 May 2025 10:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DnZnrBzqVztaPyPox3uUVQc/ehHg+U0SanNf1xZdVRc=; b=MzznQ6BGYT5Zu2bxjaU9Jei+vUgFl/fBqsy7nyNOIPVUI/QMURO9znuNsXfqxzsD4HWt31 WI1pEvrDFZyLKgnhYkSNg37qJn1A7G7GzfrfthjXlXsqcw9ztLNhM8XXhw3TzoJySsO4zA fidJ490Z+/4jQNJuUcQhsCXBSbFiYMEIbzxVZMkhGi+l7qe8YWIs685J8kxQypZG6LmdxX cmgFquumr1g/ELuarZ804HC0XFV8XuNM6vsB9vLtdNZwpaQwRxKeMe7XI15VvbUfDs3ftj Gu0FEE93k1Qiv6A4ca29u9txaCMOno8oX4cmeVW2yLziAOpRrecJFeuXJ62cfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DnZnrBzqVztaPyPox3uUVQc/ehHg+U0SanNf1xZdVRc=; b=n7ihK2HUaOVTh+/XluajoanjTtdh4PfBGUNIyTEbgi1SHmdg7zDuzLXubRKy/cDGoUaeLb Tp9LDx0qZR+hpsX7s8mPFeQEJUc5RwfDrZouYCJd00AZN175O/F006zvRlIbPa05M4BjWU /bu+uNJXOtOSBChCU3LGbnzi+IxEj7KrIlUq68Ft9wISyGaefbrdafKzsMMcEWFkVcJ8SG 6aW6HrD+tBhiFiqbRQvHLBMLk3NgJjrMhaa0TmD9/fjwU4hucECp0QKRMDrTMrZVyLut2k LRFXA/gIfpR8CYshhCkFUYd8GZfxT3uNcnC1rL+JenBOepFMgX2qwDDjr79dlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747822111; a=rsa-sha256; cv=none; b=w1zwmdAxyCYMJQtTmxR6H5apaXX1nRGV3Enm4ZmCi88/nRqQRmwXZDz0vnIM1LVN+QJ9gO kR7KMX0tMNTt/ab54RZF4+28sqUNs078I/AcTqmJyAT5RoCJZRLbRsHkY46V7ntVbXa/AJ ZkhChR7VVzb/5OqYFmyXO1hJ6kviV6dDIy9oBUyH2zDpoV7bJTmR5nS7YY9KWZrGTsVEFf KJxgG0nSYZAlflmZCl6rn1PMrAh/dHQtZ33d672ugt5wctDKNJ71J2Anq+YWgIQFywF1ez sFkz382p6ZqgZJq/TC7fYYeTPQaCbJdab0mKZCzjjR+8wUhDUqf5HnvdLoBF0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2Rvg1k7LzVY4; Wed, 21 May 2025 10:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LA8Vf3011830; Wed, 21 May 2025 10:08:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LA8VDS011827; Wed, 21 May 2025 10:08:31 GMT (envelope-from git) Date: Wed, 21 May 2025 10:08:31 GMT Message-Id: <202505211008.54LA8VDS011827@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 0b4d5c560abe - releng/14.3 - vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 0b4d5c560abe6848d70a488d7cf6ea7fa7897ade Auto-Submitted: auto-generated The branch releng/14.3 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0b4d5c560abe6848d70a488d7cf6ea7fa7897ade commit 0b4d5c560abe6848d70a488d7cf6ea7fa7897ade Author: Olivier Certner AuthorDate: 2025-05-12 11:20:01 +0000 Commit: Olivier Certner CommitDate: 2025-05-21 10:07:45 +0000 vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' Remove the parts that describe what is already in the code formula. Add hints about which of 'physvnodes'/'virtvnodes' takes precedence, and when 'desiredvnodes' becomes smaller than 'maxfiles'. These were both computed analytically and verified experimentally. Reviewed by: kib (older version) MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50310 (cherry picked from commit bf8890c84bacd8b1acebb2cb9a0944b1bb102b68) (cherry picked from commit 5b07152f3ec3eea78958796b45594c5bd96c0bfb) Approved by: re (cperciva) --- sys/kern/vfs_subr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index a640bede85b9..62ae987a3084 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -722,15 +722,15 @@ vntblinit(void *dummy __unused) int cpu, physvnodes, virtvnodes; /* - * Desiredvnodes is a function of the physical memory size and the - * kernel's heap size. Generally speaking, it scales with the - * physical memory size. The ratio of desiredvnodes to the physical - * memory size is 1:16 until desiredvnodes exceeds 98,304. - * Thereafter, the - * marginal ratio of desiredvnodes to the physical memory size is - * 1:64. However, desiredvnodes is limited by the kernel's heap - * size. The memory required by desiredvnodes vnodes and vm objects - * must not exceed 1/10th of the kernel's heap size. + * 'desiredvnodes' is the minimum of a function of the physical memory + * size and another of the kernel heap size (UMA limit, a portion of the + * KVA). + * + * Currently, on 64-bit platforms, 'desiredvnodes' is set to + * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'physvnodes' applies instead. With the current automatic tuning for + * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at + * ~5136MB. */ physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; From nobody Wed May 21 10:08:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2Rvh4Mb5z5x9B6; Wed, 21 May 2025 10:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2Rvh32ZLz3DZT; Wed, 21 May 2025 10:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rt+zudFvqoqt4kBX9fPWd0AIZu/QUiM6fgllP8BKEC8=; b=V42D4IgNRoV8KtNfrvataNNQlEt6o5J38Xg+sy4cLn8aUyB91eEKUoRbMB/m7mU/6J5RlK Gb8n7EofkQlS5zG2fad0qVviEREyIwCi8r2y3Qvv9P+i5Kxlym0HL2erocbWq+S+lJ1Kyo WbtjSPnK7VC5GyITOKrjENiD3GodhtISqEO3vmxNxZy+TFAQ5GtmoGfRsmv2nFZj8+EU0T WUMhCgpGRR7N7HhZNyr8Qv47FXIAJ7CnwRMPMXDYHYVa0VqPppGpaquzkmSLU9TpRXM7sy 5CX2G6dJTovyDwvhsjHqkOxVgev4mpE/hWoKZXNXZZeJw7Fq3Lk7fkgMxc3CEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rt+zudFvqoqt4kBX9fPWd0AIZu/QUiM6fgllP8BKEC8=; b=PFKyXApUhHkKQfQPnoz0iUtjQl8mXTLExmW/gq2I/P0OHLlN6qpIqVFTtcBI8gxsJtvxWM JVnu8h/buBf/ncTMEF3EgL8O3ymoYCwMIZFNyIZTvjyv8awBsZPbURjz0gmvpjUpSKYOMd mXzPD+5EtGHtwZYm30/tV0L2c7w3rJCO/NGbxL3MMfG9DGTXVEPr7wx/sFGPbVoT4yPatW WhTJVfHeJZrFhFUR1M5QhuDA5pJCXgfYh9/oeCyuePDZ/70/soJkbzFMpqFMUAeAvaDNJu ODnXYNVF9z6Xzpu4MiYban2gnD7G7xm3vtJ1QH6dlmjxWxRqBCGBPFrOesVYww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747822112; a=rsa-sha256; cv=none; b=g6qFSX/62ZSiVBv3rD7glybRBpFVx68ivKbf18U0asdPINfJz/zNKSYBEMin2KYopTk7iP 2gc8DC9alPoELSulaQfvdwEDSD+saG157GOu+6/yPxYvCiyj15iJNtks9NAgM35RxcMCEB OaEEdvRRzZLGJOuROVLaieDnvC+I6UnMGcjj1cQNvud99PhATTjVw7SLKf2+fW9vWoE5Ib Ke4KdVsXSuuQ0zLprHeSAu7DDfT5aBPGAX9XrYFnPBk23o+/gX4LIIgPiUa1w+/R9biEvW 3LXDOa+Cw5haIxnU+fWyzPdLhBZD8+xESnUGEByAogPAsZhutetxuq5eTFqFgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2Rvh2WLgzVQx; Wed, 21 May 2025 10:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LA8WHp011871; Wed, 21 May 2025 10:08:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LA8WPS011868; Wed, 21 May 2025 10:08:32 GMT (envelope-from git) Date: Wed, 21 May 2025 10:08:32 GMT Message-Id: <202505211008.54LA8WPS011868@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 6b6d6448feff - releng/14.3 - vfs: vntblinit(): Raise default 'kern.maxvnodes' higher than 'kern.maxfiles' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 6b6d6448feff482a8dc022d1992e7f602522d4fa Auto-Submitted: auto-generated The branch releng/14.3 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=6b6d6448feff482a8dc022d1992e7f602522d4fa commit 6b6d6448feff482a8dc022d1992e7f602522d4fa Author: Olivier Certner AuthorDate: 2025-05-12 12:19:56 +0000 Commit: Olivier Certner CommitDate: 2025-05-21 10:07:52 +0000 vfs: vntblinit(): Raise default 'kern.maxvnodes' higher than 'kern.maxfiles' Having 'kern.maxvnodes' higher than 'kern.maxfiles' mitigates a scenario where some processes can eat up all vnodes in the system, causing a deadlock, as long as the kernel itself does not create too many vnodes without creating some file descriptor in some process' FD table. A very small percentage (~0.6%) of excess vnodes at infinity, coupled with a large difference near the origin, should cover basic cases more than enough. Note however that this measure can be defeated, e.g., by using nullfs mounts with non-trivial file hierarchies. MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50314 (cherry picked from commit e9baf472a6d228a16be19a11150d41cff29affe8) (cherry picked from commit a6b05a35ce3c516cadfca49c310dffaabbe40440) Approved by: re (cperciva) --- sys/kern/vfs_subr.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 62ae987a3084..7ff6ac5f5b44 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -727,13 +727,12 @@ vntblinit(void *dummy __unused) * KVA). * * Currently, on 64-bit platforms, 'desiredvnodes' is set to - * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'virtvnodes' up to a physical memory cutoff of ~1722MB, after which * 'physvnodes' applies instead. With the current automatic tuning for - * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at - * ~5136MB. + * 'maxfiles' (32 files/MB), 'desiredvnodes' is always greater than it. */ - physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + - 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; + physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 32 + + min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 32; virtvnodes = vm_kmem_size / (10 * (sizeof(struct vm_object) + sizeof(struct vnode) + NC_SZ * ncsizefactor + NFS_NCLNODE_SZ)); desiredvnodes = min(physvnodes, virtvnodes); From nobody Wed May 21 10:12:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2S0Q6RgPz5x9GC; Wed, 21 May 2025 10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2S0Q5WhMz3GhW; Wed, 21 May 2025 10: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=1747822358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AG7a5wHmnTI9c9Wh19N1bmNU6dWV771FjsRKzuXW57o=; b=R5B9YbjZCfoBKVVU7zU18fEJ2eN2RxUR9nPmFG3d5PwMc2Kfi/c5Kqy9KfjOyctwCE/LXt tQhR52EHj+IFurXM2A2PzIe1p8WCI41LEpow4HOZU8t8H6NX8PMexfr571qlaz5/gkkplV l7gytxTxVEneJg9UjocMRIkvkKKmC+/O9aAlzSRNuKSvfIJhpMEDkqg11CztPkr3lpYPH6 tFcAXSO1Q8PcLqxRx73fXM4ReT43xNZ+durHlo1RyxlIhIhrz+NQrV95UAexlAg/x8jOYq +o7/JNaKih9EkfHZHNu3X0Nt3i6A92p83ttG6Pj5Y9L4hv4ykq9aYp7gehicHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AG7a5wHmnTI9c9Wh19N1bmNU6dWV771FjsRKzuXW57o=; b=YBe32Zbh++f6PzheZ5R+nnAgTO0ENzB4pHlnstvdN88fYoNFrduJKAD+r8y7yzQDTWLOGi zCi2Fj6a5v1VcwdktEvBqnocOjINYXCSjxFUXu3JXeGkDZwHuzPwECBCfQL6bKQEYm40ZU yXDuFoIUv/56Kr0YXRWdGQJoT4k56rjj1XAjfHXITOv2wIN2cGtpmC/XIo3wCQrX8q0UkC e/P+BHa0pvynAciCPlanQp2dVD4dkA57J/GS4jTX2s2zX8dMru3ZDhsnOXtcLnZm2iw7NO PAa39nGg2FuQEDNXKo1o3uo1nOYP4p6Ak0sXhdIhvf+reBy/z/kFljFtCHNmKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747822358; a=rsa-sha256; cv=none; b=MrasIgaGRdVq3RmHFXOE+NvokZopmpXziMdmrdslA+4c1Rr7HAgbckQaa4JB/bR85WGIoN 75Pmzxb/JId7TeK1DGkYSzHIZULQXgAu5e8aZZJ+5oDFlWG26/hHOCaeDxIbYrwxsuNUA9 47KCSET4nEwJGvbh6/TNHtddUqzqNyzAQ/b4gnG4bFh/jwlNhdjre3uD1dCi8OtdqwqX4R uK/TtmEZaXSxXQcvqD/+uCPc35645XGOsjG/daYwr5a5FEXCQ9b+s6EzRfeTo3H3TQKkcH jBztrZbJbO97kPPMCUmQQSffdkNDAxhzsb6Ty/zbvYcGCO7Vry4oRr7Ov6fbNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2S0Q4xy0zVcr; Wed, 21 May 2025 10:12:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LACcbs028928; Wed, 21 May 2025 10:12:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LACcdT028925; Wed, 21 May 2025 10:12:38 GMT (envelope-from git) Date: Wed, 21 May 2025 10:12:38 GMT Message-Id: <202505211012.54LACcdT028925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: e64fe5ad3a23 - main - netinet6: Remove a set but not used global variable in6_maxmtu List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e64fe5ad3a23a9f471ebf11e04e490588913c7af Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e64fe5ad3a23a9f471ebf11e04e490588913c7af commit e64fe5ad3a23a9f471ebf11e04e490588913c7af Author: Zhenlei Huang AuthorDate: 2025-05-21 10:09:01 +0000 Commit: Zhenlei Huang CommitDate: 2025-05-21 10:09:01 +0000 netinet6: Remove a set but not used global variable in6_maxmtu and its setter in6_setmaxmtu(). This variable was introduced by the KAME projec [1]. It holds the max IPv6 MTU through all the interfaces, but is never used anywhere. [1] 82cd038d51e2 KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP for IPv6 yet) Reviewed by: glebius MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D49357 --- sys/netinet6/in6.c | 25 ------------------------- sys/netinet6/in6_ifattach.c | 6 ------ sys/netinet6/in6_var.h | 4 ---- sys/netinet6/nd6.c | 4 ---- sys/netinet6/nd6_rtr.c | 8 ++------ 5 files changed, 2 insertions(+), 45 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 62d00196e56b..ce0655408a28 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -2112,31 +2112,6 @@ in6if_do_dad(struct ifnet *ifp) return (1); } -/* - * Calculate max IPv6 MTU through all the interfaces and store it - * to in6_maxmtu. - */ -void -in6_setmaxmtu(void) -{ - struct epoch_tracker et; - unsigned long maxmtu = 0; - struct ifnet *ifp; - - NET_EPOCH_ENTER(et); - CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { - /* this function can be called during ifnet initialization */ - if (!ifp->if_afdata[AF_INET6]) - continue; - if ((ifp->if_flags & IFF_LOOPBACK) == 0 && - IN6_LINKMTU(ifp) > maxmtu) - maxmtu = IN6_LINKMTU(ifp); - } - NET_EPOCH_EXIT(et); - if (maxmtu) /* update only when maxmtu is positive */ - V_in6_maxmtu = maxmtu; -} - /* * Provide the length of interface identifiers to be used for the link attached * to the given interface. The length should be defined in "IPv6 over diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index 11e9cba81332..1b5a38ba412a 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -70,8 +70,6 @@ #include #include -VNET_DEFINE(unsigned long, in6_maxmtu) = 0; - #ifdef IP6_AUTO_LINKLOCAL VNET_DEFINE(int, ip6_auto_linklocal) = IP6_AUTO_LINKLOCAL; #else @@ -731,10 +729,6 @@ in6_ifattach(struct ifnet *ifp, struct ifnet *altifp) else ifa_free(&ia->ia_ifa); } - - /* update dynamically. */ - if (V_in6_maxmtu < ifp->if_mtu) - V_in6_maxmtu = ifp->if_mtu; } /* diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index 969625a58934..918a3abe426e 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -549,9 +549,6 @@ do { \ ((ifp)->if_afdata[AF_INET6]))->in6_ifstat[ \ offsetof(struct in6_ifstat, tag) / sizeof(uint64_t)], 1);\ } while (/*CONSTCOND*/ 0) - -VNET_DECLARE(unsigned long, in6_maxmtu); -#define V_in6_maxmtu VNET(in6_maxmtu) #endif /* _KERNEL */ /* @@ -875,7 +872,6 @@ void in6_domifdetach(struct ifnet *, void *); int in6_domifmtu(struct ifnet *); struct rib_head *in6_inithead(uint32_t fibnum); void in6_detachhead(struct rib_head *rh); -void in6_setmaxmtu(void); int in6_if2idlen(struct ifnet *); struct in6_ifaddr *in6ifa_ifpforlinklocal(struct ifnet *, int); struct in6_ifaddr *in6ifa_ifpwithaddr(struct ifnet *, const struct in6_addr *); diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index 887da1ebe21a..6ec5a8b54cf4 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -379,10 +379,6 @@ nd6_setmtu0(struct ifnet *ifp, struct nd_ifinfo *ndi) "new link MTU on %s (%lu) is too small for IPv6\n", if_name(ifp), (unsigned long)ndi->maxmtu); } - - if (ndi->maxmtu > V_in6_maxmtu) - in6_setmaxmtu(); /* check all interfaces just in case */ - } void diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index 845f9094f4c4..c145af7d3ffc 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -553,12 +553,8 @@ nd6_ra_input(struct mbuf *m, int off, int icmp6len) maxmtu = (ndi->maxmtu && ndi->maxmtu < ifp->if_mtu) ? ndi->maxmtu : ifp->if_mtu; if (mtu <= maxmtu) { - int change = (ndi->linkmtu != mtu); - - ndi->linkmtu = mtu; - if (change) { - /* in6_maxmtu may change */ - in6_setmaxmtu(); + if (ndi->linkmtu != mtu) { + ndi->linkmtu = mtu; rt_updatemtu(ifp); } } else { From nobody Wed May 21 10:12:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2S0S2tnCz5x9c9; Wed, 21 May 2025 10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2S0S0MRrz3Gbw; Wed, 21 May 2025 10: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=1747822360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BPdhoCPrQEcOZTImVRLqIj8HT66veCQbK/BC2feL2gU=; b=hQDmL5E2T9wRjxinvwPQT9trjoa7QRlEsqnTVHnuKQbf+7Ib+VVb3h5m8jGqLI7gGmEUkl vvIrPygw8BDVFV9yDZVXE9gVY/LbD9eHiRrdhvOx32vyxl1QFYvVug6kGpfaPcvMpybmWt GzKAQA4vjbWttllu8IM0CeXFtKD4xPlaKTKuI0LlwTnR8qklJK3KcJa5Jr26Ju93TjSWDn k1E6sQIYx7wj1hkVwktQyLJzM6ITjka61Wk43X6427VR2U/V9rguCxRbHdK9XGNKxbGGUG Q48wawU4FVDvcfgozUkAWgoU1WQ6KddDbrLVHYUOMWImjBp+5G1ZvzVkkTETTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747822360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BPdhoCPrQEcOZTImVRLqIj8HT66veCQbK/BC2feL2gU=; b=WeaJA28yvY/uLaRrUAqpWtHYqnnTeH336fqamOnKVShOP62uPyHA+uKgsHPLNOxDekNk3M VE+36kvHNE0S8FHbOnhWY9D3jZe++xC2QyfxtmxelNhTik/xKQH46H5b9W7gS8qWlvHNqK HFsIMHQLy/vnACEfrgGehGz7PaFNXvTOUwdMuoeMq5ojA05gkHzmzawgny8pQOrztQACNH bNZ+NWKvwb15D9n8HV8B7uf4u2uX0C6pc4/ZnDw8TFuqJEouA+W1VE7CXbcFrNJOzTVwj7 aFniJv+SXVjgSwmPOgbNdikyc3Wkkq6mTVmuDz22G2wVfkLMHKs8dQAMcevyyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747822360; a=rsa-sha256; cv=none; b=J/kFlST/bvg/V4ABhX/HbNoe2QVAzaImdq6bOc2Q0qeOajpHC0BaMlSX4qqd9n2iE03kGI 3vMN6JoktR48JaNolaB8zratab5XQP/hzRzhgABkNYHr4cbq7TDAyWCHckn15fxrQ/0KC6 SK6WWyzcQH5Vxl3rk04RjfJ8mOj3cwkBRlPefBl97XTmxSFowPGbhk/DdYVlDHlzry/aet wdzNeX/l6oajJMc/JKLElHWi76WH9Ya1QRgvl90A4ds79Bh6Y7sR4QfGvxz8e5YX2CHjmE Xqz4PupUqGE4Vz0astzUrY/C79xWUPF8fIJ8reYMyUm1mKLEGjGquNeAWn07Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2S0R6XvPzWFM; Wed, 21 May 2025 10:12:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LACdtC028965; Wed, 21 May 2025 10:12:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LACdV4028962; Wed, 21 May 2025 10:12:39 GMT (envelope-from git) Date: Wed, 21 May 2025 10:12:39 GMT Message-Id: <202505211012.54LACdV4028962@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: c485a58f5160 - main - UPDATING: Add an entry for the removal of in6_maxmtu List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c485a58f51608e5473d8580ebd4bf9f4f42fab1a Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c485a58f51608e5473d8580ebd4bf9f4f42fab1a commit c485a58f51608e5473d8580ebd4bf9f4f42fab1a Author: Zhenlei Huang AuthorDate: 2025-05-21 10:11:03 +0000 Commit: Zhenlei Huang CommitDate: 2025-05-21 10:11:03 +0000 UPDATING: Add an entry for the removal of in6_maxmtu --- UPDATING | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/UPDATING b/UPDATING index b6597c2e11a1..c492082383f8 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250521: + Commit e64fe5ad3a23 removed in6_maxmtu and its setter in6_setmaxmtu(). + in6_maxmtu is used to store the max IPv6 MTU of all interfaces, + however it does not have any in-tree consumers since the introduction + from the KAME project. The removal should have little impact, and the + max IPv6 MTU can be easily retrieved by iterating over all the attached + interface if 3rd party modules need it. + 20250515: Commit 772258c89f28 changed the internal API between the nfscommon and nfscl modules. Both need to be built from updated sources. From nobody Wed May 21 12:56:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2Wd446vHz5vsXN; Wed, 21 May 2025 12:56: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2Wd43LqGz43Zy; Wed, 21 May 2025 12:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747832168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4kU58ZCkVODAYxIvN6u1tqlWGLE3GY79lwGEjvc49HE=; b=BP5XdVEcJE4sPbBAMOpEVSNiVtHCpIwIF7BYa5qs8l5w3oRvDdySKRmte6PC47bSH/08Nd lHIhCxdSIs1WNw3T2kYWtZ89l5QnawRfLAbknhYiL4pgJBfKVO6RpcbKsKMh3s15/0g5Mx mHxy31aFuz6+5hPdUJ+4hsW9PgOvgvD4DP2/YdAV2utnSMEVexs2uop5DOuBX5GDGRMMpC KCgEPIHZzi7RLz2ZusTe0qivqNBxpDkrONsanmPUZXRrGeTkOgeoHS9PD0qvkk+m3z1sxP 1VQdxL4oWs2vdRGJVMyfpsohx3R7VXLWbZwBO5RvcN/DSTDLZnZBMXSCmH14xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747832168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4kU58ZCkVODAYxIvN6u1tqlWGLE3GY79lwGEjvc49HE=; b=YmzJS5UPZ2gVRJMr6XkOmYMo6KpUgY+mJX9lvmT/pMzuYGb+Jj6oi/zVquKpZJK6Z/KWlm 4Kwbdmjfhg7J64yImhmfi3ipn2V61ODFTnoDUtbRqb8G3WULU+N2jvB8VXSUcF2C3f+0Il oWLredJYGtCj/6daNtk/hnHP5Ddcig/HeLwJEw5loypSPXsj41Rs7bHN0SphyO9ZtjTfBP dVrEnEZgMZNYds3W8OZDkkNGCRbSyCBAE8RrRvJ3D9s4NHxQBR2jAqTY1cpI7SB257BAMm w+U00dl24RBX+gxr/202isV6KXqG4P9H7/TgSt3J/5KYWWePDq3rphuDbnz4nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747832168; a=rsa-sha256; cv=none; b=vX5cbvfKrcQEx/jSosqutQQmRkTYX/X7VTD40UQ/qvcQeFIHlyPq9NG9Deuk5zQ33mlzQ/ +oTfuBBpj9n3StQhzycVoDbYakXQLdJN4lTbLIzK1YyQ7IShPuJb6ZpQIPMKpVwZsqIZvx zlxtLmAqo4n8temDG7NbtVZf3vVDz8qXfwpoa3a6aJ0MmuY/n7qpku5P0OCo/SLfMYxQyJ gTSxw9il8Js2PwDqBpWhJkZMADa+si86TYseoM+KwecZ5UIaPbYYdaxpoWIQJMTGdFPvvL rHBzwzUFAxocl10dUsvUnvVo82od5yWDyORLoRYjq3wwIlox7I5TpOXZYWEq8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2Wd42wdKzc7f; Wed, 21 May 2025 12:56:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LCu8h9028453; Wed, 21 May 2025 12:56:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LCu80r028450; Wed, 21 May 2025 12:56:08 GMT (envelope-from git) Date: Wed, 21 May 2025 12:56:08 GMT Message-Id: <202505211256.54LCu80r028450@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 366a9fb9e731 - main - release: Add ${PKGBASE_REPO} dependency for dvd List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 366a9fb9e7311ca96eab694e5ee0aee4ad465035 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=366a9fb9e7311ca96eab694e5ee0aee4ad465035 commit 366a9fb9e7311ca96eab694e5ee0aee4ad465035 Author: Ed Maste AuthorDate: 2025-05-20 21:39:30 +0000 Commit: Ed Maste CommitDate: 2025-05-21 12:48:50 +0000 release: Add ${PKGBASE_REPO} dependency for dvd A user may build only dvd1.iso, which would fail if the pkgbase-repo did not already exist. Builds using `make release` build disc1 before dvd1 so that case would work, but it must be possible to build only one artifact. Fixes: 62d18f8c4c10 ("release: Add -DPKGBASE option to include pkgbase packages") Sponsored by: The FreeBSD Foundation --- release/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 578df226ff49..a5f5b65a562e 100644 --- a/release/Makefile +++ b/release/Makefile @@ -279,7 +279,7 @@ bootonly: packagesystem echo "./boot/loader.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/rc.local type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -dvd: packagesystem +dvd: packagesystem ${PKGBASE_REPO} # Install system mkdir -p ${.TARGET} ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ From nobody Wed May 21 16:34:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2cTF74RQz5wB5T; Wed, 21 May 2025 16:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2cTF6HWWz3VTS; Wed, 21 May 2025 16:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UhsXFtwP++9wI+JGJinHX2r6bMlsHZ1tc7bhiAEIGmM=; b=TwXXa4uxE3Tklu3mwKOYsX2PjCx+0/coahRkQrPH2p+anz5vxwcD3112irpXlQ1CpFb4/I wVTSUxOWN1JBJQeO0Mn6+Tw+AiRHGee3mmKQpiFv7grATTX5C/YNSmIwAVPQB3yjBoGzJk CQwcejZbtpWDxY3kjPDWs1j8StWP8IBjj4OC5ceNPwqc2t6tpKQnZKowC39WkU500PBKse rf30hUsNeoTFACoeRce2+2pIwfqO4gf8DCqtUA7PweRO3+I01GOh8CqWsf+Pbam9pxZ3CP GydIITOQA6TPFHq/TX7ge7QlWUf3Zqq0bGLpFaE2XNYkPY1uo0rorjxMQoQKoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UhsXFtwP++9wI+JGJinHX2r6bMlsHZ1tc7bhiAEIGmM=; b=MSzOVIN0ozbBA+xXYw7/uU4NPkcUPqQYOEHpilJ0910Eb97LWINKF0DxwMLBkzDl5skLXs DATnnTHb9DEBLt7epljtwfzLXnotYFgj0JhoeT0GxJQUe+i7kbU0ZaNdwX21cwKEovpv6I 8uaA/X77aAFDARISgfGPcNQevtgV05SooDV3aSARNWFywasbL4fUcy7vkoWYrxiWuVI9ka KYC8saj1c49iwmhLvK4Fkxj1U4ot15Y0iFkAXFdCg0l48LrtiKK81vaNjGZU9eTy84KwO8 XW1KE7dNMN5+olYBo/sbUiVAKH2bNznNME+B8Ky7xyEMd9XXNaJptIRziM6qYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747845281; a=rsa-sha256; cv=none; b=wPRLdFP1NRy7Xq4MY5ZFeEndRw8WdaknFfJQOlZ2lm7k/1IGtclWCxAgxE0128uKWhATbT jmjS2YDUoGBE0QgYD8jjul5rLl1TiS6dH1GhZ+P3ciKLbuea7AEKUxUbEpPXX1NOCy29TI rfFcJ7EtOzdHWKBMTx+qWrfTAPiInnT0yAUuJlGn6x8uRnwsXvi2m5MqKValrrJct8T+j2 K/TuCmeQA8TkzDLAhxC+pXj6S0cof/8Qz80aCZZeNhAXVrozejXnoGB1izq0ssoE50YNCr zxUg9VovwwmQNNwxkhZA+NMbwdRCpP1haDTNK3rAMlUr0vFf8IhOA0Um1JRTMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2cTF5rD7zjYH; Wed, 21 May 2025 16:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LGYfpJ041119; Wed, 21 May 2025 16:34:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LGYfpa041116; Wed, 21 May 2025 16:34:41 GMT (envelope-from git) Date: Wed, 21 May 2025 16:34:41 GMT Message-Id: <202505211634.54LGYfpa041116@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 22348fb99938 - main - bhyvectl.8: Polish List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22348fb999385edaef38ce5e4308f44135f0326c Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=22348fb999385edaef38ce5e4308f44135f0326c commit 22348fb999385edaef38ce5e4308f44135f0326c Author: Alexander Ziaee AuthorDate: 2025-05-21 16:29:39 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-21 16:33:37 +0000 bhyvectl.8: Polish + Add how to find open VMs in the example, linking `apropos Pa=/dev/vmm` + Move note about additional bhyve options after options for flow + Reclaim some space by shortening to + Align options list width, tested at MANWIDTH 59 and 80 + Remove unnecessary roff quoting and tag SPDX MFC after: 3 days Reviewed by: carlavilla, markj, mhorne Approved by: carlavilla, mhorne (mentors) Differential Revision: https://reviews.freebsd.org/D48401 --- usr.sbin/bhyvectl/bhyvectl.8 | 46 ++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.8 b/usr.sbin/bhyvectl/bhyvectl.8 index c5282a98a767..550c4f10d8e6 100644 --- a/usr.sbin/bhyvectl/bhyvectl.8 +++ b/usr.sbin/bhyvectl/bhyvectl.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2015 Christian Brueffer .\" All rights reserved. .\" @@ -22,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 4, 2020 +.Dd May 8, 2025 .Dt BHYVECTL 8 .Os .Sh NAME .Nm bhyvectl -.Nd "control utility for bhyve instances" +.Nd control utility for bhyve instances .Sh SYNOPSIS .Nm .Fl -vm= Ns Ar @@ -37,8 +40,8 @@ .Op Fl -inject-nmi .Op Fl -force-reset .Op Fl -force-poweroff -.Op Fl -checkpoint= Ns Ar -.Op Fl -suspend= Ns Ar +.Op Fl -checkpoint= Ns Ar +.Op Fl -suspend= Ns Ar .Sh DESCRIPTION The .Nm @@ -46,17 +49,8 @@ command is a control utility for active .Xr bhyve 8 virtual machine instances. .Pp -.Em Note : -Most -.Nm -flags are intended for querying and setting the state of an active instance. -These commands are intended for development purposes, and are not documented here. -A complete list can be obtained by executing -.Nm -without any arguments. -.Pp The user-facing options are as follows: -.Bl -tag -width ".Fl d Ar argument" +.Bl -tag -width "--checkpoint=" .It Fl -vm= Ns Ar Operate on the virtual machine .Ar . @@ -72,24 +66,38 @@ Inject a non-maskable interrupt (NMI) into the VM. Force the VM to reset. .It Fl -force-poweroff Force the VM to power off. -.It Fl -checkpoint= Ns Ar +.It Fl -checkpoint= Ns Ar Save a snapshot of a virtual machine. The guest memory contents are saved in the file given in -.Ar . +.Ar . The guest device and vCPU state are saved in the file -.Ar .kern . -.It Fl -suspend= Ns Ar +.Ar .kern . +.It Fl -suspend= Ns Ar Save a snapshot of a virtual machine similar to .Fl -checkpoint . The virtual machine will terminate after the snapshot has been saved. .El +.Pp +.Em Note : +Most +.Nm +flags are intended for querying and setting +the state of an active instance. +These commands are intended for development purposes, +and are not documented here. +A complete list can be obtained by executing +.Nm +without any arguments. .Sh EXIT STATUS .Ex -std .Sh EXAMPLES Destroy the VM called fbsd10: .Pp -.Dl "bhyvectl --vm=fbsd10 --destroy" +.Dl bhyvectl --vm=fbsd10 --destroy +.Pp +Running VMs will be visible in +.Pa /dev/vmm/ . .Sh COMPATIBILITY The snapshot file format is not yet stable and is subject to future changes. Backwards compatibility support for the current snapshot file format is not From nobody Wed May 21 16:37:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2cXX5hxKz5w9sN; Wed, 21 May 2025 16:37: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2cXX4vzkz3Wdh; Wed, 21 May 2025 16: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=1747845452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BAE/C0sX1D2qOZiaoypEnha7ZTuJzrqRmpmA9JRXaOc=; b=VJia4U0XjDdY2pCEs7/WuZ2UsA3MGKhwu2bV2I8+SEPbV1b0yTfqrPcfPZXvO6orFnopgx G1zYjc3a/ZdfFpd2wabEyXlJPeAvLe6PGrXEKt+UcKaIG3ZplvHXpbq+9EJ3ERVtGbjJWY 0ONoUKNZg5bL5Oobt4Sw1qKAQVaSEOQjbXmWUh/9pENQc1DpDUVpw02H0wo/PnPWIn6/KI 4942rOqXsNyc8dD7wOOcmuGpiKi6OK2POZL458/O3H6q3zCFl1FJ6QOemyHhimJCRRN5CJ Aohkwjk9fq6IZ6weIrELIRAfO6KIUYZbPfFDuce8j7FJdfZtfWy8GetI1u7B9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BAE/C0sX1D2qOZiaoypEnha7ZTuJzrqRmpmA9JRXaOc=; b=c58+DTEnC7ESUEPp8Wn7M3ZDBp6haQa0LrqAlaj9vsfCckiBIghi4Y11BccA0QIhdwhkTa /u4Nu6DfJvziz7L6GISCKYLTHBtGeP3TWyd5UmwNdDBB3kNsM1mfHjEA4LUUMdDPqpNJGQ iGq10snQ78Qrfk8YFq9w2DfcatHufHf6wO3ogOG2Qqf6H/gcsyTG7agOEZrql5pvcPz5pE bZiFE3yEj+p0ftTHYBCWNeHrgvKHcclLFuvTG5ivRCei0slVml0VWZIE8Dt/HvkLwWOXOb ZxhB1jmIVgJ8i0tXHgs5tgBWLZqR471ajWbhAodFUQJUlzCkxgnJ/VCk6Fl+/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747845452; a=rsa-sha256; cv=none; b=kyErEv6IWtkY/bUD8p12vVi/qY+CiAN6m7/HI1jUrwTB0HFTdjeo0QgLR9QQaVs27QMzTP fc5AoVEQVlnzyLMh+zfV9IfZO7+MB07aYxoC/G3ZE+VWObYo6UXXcd4s/F8zLNuexB6bi0 zgfdtorWF3ZFRyPjRW2CHNIz5TVqYxmIQv3Os7noAGl7SEa64q5p81r9B3Pvl+61Oj9OAa Ojsq3Kgm2icMzB0ybDA57Jejos3Yt++q/bexWyZejqZWnYmLsdvfAcXm0VWJyBDJFN4JMM a8MG/DbgAaHMquue154LWQA50L45A8IK6XDGrJuI3PsfgfHD7tQH4WNzIWaghQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2cXX4MlMzjM6; Wed, 21 May 2025 16:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LGbWmO042058; Wed, 21 May 2025 16:37:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LGbWuE042055; Wed, 21 May 2025 16:37:32 GMT (envelope-from git) Date: Wed, 21 May 2025 16:37:32 GMT Message-Id: <202505211637.54LGbWuE042055@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 7098712bbfd6 - main - SPDX: Tag BSD-4.3TAHOE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7098712bbfd60df9db324decbc1a5dd8f751356f Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7098712bbfd60df9db324decbc1a5dd8f751356f commit 7098712bbfd60df9db324decbc1a5dd8f751356f Author: Alexander Ziaee AuthorDate: 2025-05-15 13:53:21 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-21 16:37:10 +0000 SPDX: Tag BSD-4.3TAHOE TIL traceroute.8 has one of the oldest liceses, predating BSD-4-Clause! The SPDX tag was not even on Wikipedia. These are all the files I could find in the tree with git grep that look like the license reported on the SPDX website, including one that was misfiled. Ref: https://spdx.org/licenses/BSD-4.3TAHOE.html MFC after: 3 days Reported by: brooks Reviewed by: brooks, carlavilla, imp, ivy Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50362 --- lib/libc/stdtime/strftime.c | 2 ++ usr.sbin/cron/cron/popen.c | 2 ++ usr.sbin/ppp/arp.c | 2 +- usr.sbin/traceroute/traceroute.8 | 3 +++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/libc/stdtime/strftime.c b/lib/libc/stdtime/strftime.c index 5943e6387174..89c9e4cf88ff 100644 --- a/lib/libc/stdtime/strftime.c +++ b/lib/libc/stdtime/strftime.c @@ -1,4 +1,6 @@ /* + * SPDX-License-Identifier: BSD-4.3TAHOE + * * Copyright (c) 1989 The Regents of the University of California. * All rights reserved. * diff --git a/usr.sbin/cron/cron/popen.c b/usr.sbin/cron/cron/popen.c index 72d4afc4d1f3..abd9de198e87 100644 --- a/usr.sbin/cron/cron/popen.c +++ b/usr.sbin/cron/cron/popen.c @@ -1,4 +1,6 @@ /* + * SPDX-License-Identifier: BSD-4.3TAHOE + * * Copyright (c) 1988 The Regents of the University of California. * All rights reserved. * diff --git a/usr.sbin/ppp/arp.c b/usr.sbin/ppp/arp.c index ad623525ad4c..5613b345c116 100644 --- a/usr.sbin/ppp/arp.c +++ b/usr.sbin/ppp/arp.c @@ -2,7 +2,7 @@ * sys-bsd.c - System-dependent procedures for setting up * PPP interfaces on bsd-4.4-ish systems (including 386BSD, NetBSD, etc.) * - * SPDX-License-Identifier: BSD-1-Clause + * SPDX-License-Identifier: BSD-4.3TAHOE * * Copyright (c) 1989 Carnegie Mellon University. * All rights reserved. diff --git a/usr.sbin/traceroute/traceroute.8 b/usr.sbin/traceroute/traceroute.8 index a97395944b2a..f36d473f2727 100644 --- a/usr.sbin/traceroute/traceroute.8 +++ b/usr.sbin/traceroute/traceroute.8 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-4.3TAHOE +.\" .\" Copyright (c) 1989, 1995, 1996, 1997, 1999, 2000 .\" The Regents of the University of California. All rights reserved. .\" From nobody Wed May 21 16:42:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2cfH6S3cz5wBZD; Wed, 21 May 2025 16:42: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2cfH4w0Qz3XcG; Wed, 21 May 2025 16:42:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ghE3+sRkYNoZiXSpjDWgP2aSkFi7hLNw5kycWLacEE=; b=uIsyHTdIGF5XjSKvx/GhN1ncyAPnioKs0BM0KpuK2y4b2ivRIpfNIFnTxasU02rWvAvIJt 0RaiFcYcAnAWPpRSaIgArLMTZl0OXgjXoCTdmyaKjdk2jr+5l+uL1DiuHyKJnn/3Iq1iL2 N7uaiXBxHeyU+RmRGPwjyad9l68e0Bs2z6a8wZUE7U8PdPYQgYngRSf5CwhsqzLV0iIyYu U/0jI4/qG8i4qRqq1TNiRJT6bPRRKn6JCalJ2tsGWJV7WQgPK5GeX0mZXEZszRri63ieRO RXH7EtB/9w6RxLO4RyHR1E3B6hPOxs6YkEjCpMc0leXvhj9PlwaS6DNEgI+q7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ghE3+sRkYNoZiXSpjDWgP2aSkFi7hLNw5kycWLacEE=; b=k0iQBQkPkh4NKrLoY893h38eIcicsCFlQ9z8XVLFkuM0/QvTGNzrlMckTBiBkJ8J9t88+g 9W0W/eTwA9GK5SVZfeG1IgJrvTKFlybAQiZkSQFlMIFg1Km7IKRCus4+K6nCnvdLGbnWbm FkyoO7wWpPuQCNl8hX4m4/Tp3yLHa+oTyMyeivi6mX2MV15kPs88dnpAncWIUOLIC1uiR5 jEui6G7Savh6qLApphV0KA9eW/jB4vnRFBgdr+WeXRDqOFHfedD///NS6WorHHFQ1qZ9E/ a2CJJpPCqlRpnyK1NU3bD/P4iCve+O/JSLUajlG+UXTfEzQ0EB6fjYrQQFGgHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747845751; a=rsa-sha256; cv=none; b=k/ar6aflOSp90oT768fmy60WKZ3FwtEwy9eq1UwN81anat0G/clrGI/oEUdyee2oC9okuc 9gsVYbegFCLo7KXtIPtqUc9hr8lUTH6tk575VAmFdb594O7OSU0KoY5xS/VYpNF3VMFdnn y8vMhAyggY6nMspxKqSjdl4imLDdQmSr22DWgARyVvIlwKJ4S4Vs8mNk4qJ+qqP1ZOPOaZ IrioHTEw8Nc+YDVUW5a7j+QTv0Hz+8AifWX8mAVJta5FJj+oE5+vmqvr4s/A4eVAiK9RaT PTT8wp8jWEaif5Gt2aHTUGgN/S4ZPARybzeGBp1ZH0bSMNqBNTCI5e3pbJuMNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2cfH4WHfzjjc; Wed, 21 May 2025 16:42:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LGgVc1060344; Wed, 21 May 2025 16:42:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LGgVKp060341; Wed, 21 May 2025 16:42:31 GMT (envelope-from git) Date: Wed, 21 May 2025 16:42:31 GMT Message-Id: <202505211642.54LGgVKp060341@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 1a060e4f1ba9 - main - build.7: PORTS_MODULES incompatible with pkgbase List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a060e4f1ba9b9f9363e291aba2134b37b938fae Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=1a060e4f1ba9b9f9363e291aba2134b37b938fae commit 1a060e4f1ba9b9f9363e291aba2134b37b938fae Author: Alexander Ziaee AuthorDate: 2025-05-21 16:40:29 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-21 16:40:29 +0000 build.7: PORTS_MODULES incompatible with pkgbase Add a note until we can fix this. Reviewed by: carlavilla, emaste, ivy Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50355 --- share/man/man7/build.7 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index d66df90365e7..0aae2c42ac04 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -663,6 +663,10 @@ as part of the and .Cm installkernel process. +This is currently incompatible with building +.Pa src +into +.Cm packages . .Bd -literal -offset indent make PORTS_MODULES=emulators/virtualbox-ose-kmod kernel .Ed From nobody Wed May 21 16:45:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2cjC2LFVz5wBPl; Wed, 21 May 2025 16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2cjC0rvtz3YdQ; Wed, 21 May 2025 16:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JT9Yb1zm2js/eIZEMsXYe5RmNEmfcsSWclmOM+ikcvw=; b=U2hO0DL5ZImTK6eWSU3R4KjWz8J/PTO6WUclgcicmNMLDqhTF6XDsl5xlsn04TN9RFFHfT Onq05kqUtLWIbFLrj2c/fkpM0Ss97ceiTVuz31cJECapXASGJ4lt5KGDvZKHPwurfM+cFp ZxUi9dWMt8g6PwtwmnE4KDPVLX7y2Bl7BJglyr09mfPxO5Q3DXpOhj84XgxtN63g0S5Glj F9jvoP4KAKVbuiWf3MtBkeap5iA8oq3GTig8awYiPm7eH2/mEsvpv8it7c/ztvo7Jvk5rn DE9gEikMpYTSSUzPyHVp0Ptk7K4YpUzUXBX8/EVpMd0q5XHmo4UoweikA7ZE0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747845903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JT9Yb1zm2js/eIZEMsXYe5RmNEmfcsSWclmOM+ikcvw=; b=A1RVtzdAyTdut554eCecf8UnI6SJjvmukxUErR9xmDn4JRvEux0Nh5lROc1TE59z7Z9eMJ TNMN4YNIRu3GyoiDAU5DS/k1reNBhUCUs1TcNuP3+qQ4qtCxLG4411Skalx7UC7eQKjvYv OMRllwGS9+2CPGoXNP8ieOGFxD0x5M4Zxt0mQEj32c1PFVfJ0F5OXcsSv5BEaZX2zg3M9w JjphuUFUNqOI6MGaCIZcikREusJw0QIPy5oyr9MC0H7s4SPC9Y9en+aMv5jW5IyrLv+UjX zfzYPdEGu68BaO1LmT0KYELTjJ70gEpwusKQfgpxSoHyWIIfh4gF40l9tRZ1QQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747845903; a=rsa-sha256; cv=none; b=VcPLqjmkhTI0d/iINnYnB693+q0371aG1TthANMiD0BTSq2HNppT8hf1gLQthiv7z8ieSW cONXWWCEzuzoaU+P94wxSXMGcs7zV0Ubf9PYzxIFrb2t7bRsUNe93C9H3AXNpQf7SrvsKX +qUytcv/EsBviHUiJFiTjC1215LLWCONDjGVfQgQ0LRd7ExjEssFFsYl95O/If4apeK9tk twi/103HGf/lIrJJjXPGHbiERLqTAFHhsv1KATL1hlXmhHh0EWlZNeqmkoqHg5KvFTM7NL EEIJaYD5+aPEEzbSiwCYiKyUyh4E6IXIU/owdL21e7b7rEWU0YXwsA3DRRagWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2cjC08FlzjnT; Wed, 21 May 2025 16:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LGj2sL061281; Wed, 21 May 2025 16:45:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LGj2Ga061278; Wed, 21 May 2025 16:45:02 GMT (envelope-from git) Date: Wed, 21 May 2025 16:45:02 GMT Message-Id: <202505211645.54LGj2Ga061278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: bbc0b39ef7df - main - make.conf.5: add CPUTYPE?= note from UPDATING List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbc0b39ef7df3007c78eec8822213fe77aae4d41 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=bbc0b39ef7df3007c78eec8822213fe77aae4d41 commit bbc0b39ef7df3007c78eec8822213fe77aae4d41 Author: Alexander Ziaee AuthorDate: 2025-05-21 16:43:37 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-21 16:43:39 +0000 make.conf.5: add CPUTYPE?= note from UPDATING Cross-compilation needs CPUTYPE to be set with ?= to be overideable via make targets. This has historically been mentioned in the FOOTNOTES of UPDATING. Note that in the CPUTYPE documentation in make.conf(5) for discoverability. Leave it in UPDATING for now to create no regression in the doc there. MFC after: 3 days Reviewed by: carlavilla, ivy Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50277 --- share/man/man5/make.conf.5 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5 index ebf1b8a119f7..46bfa91d36ba 100644 --- a/share/man/man5/make.conf.5 +++ b/share/man/man5/make.conf.5 @@ -158,6 +158,15 @@ and .Va COPTFLAGS to contain the appropriate optimization directive to .Xr cc 1 . +To set the +.Va CPUTYPE +value, use +.Dq Li ?= +instead of +.Dq Li = +so that it can be overridden by +.Xr make 1 +targets. The automatic setting of .Va CFLAGS may be overridden using the From nobody Wed May 21 16:57:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2czl3LZnz5wCLQ; Wed, 21 May 2025 16:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2czl2vlLz3dC8; Wed, 21 May 2025 16:57:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747846659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vfKtJ3J1m+vhNANw5nKfokkENMUCXhL3LJhtJjTifXY=; b=sq8HC45GBKNnVAQwyVYrHMgVqY/UNFfr4RaSFVOYbW5eITPTnW/oj/wuz/7p+WVZIuLLE9 6s1LfS9NOCDfBf75cZgTooBOvyCGObWbI1wAU4M+VmcopxiiOk/4v/6mapkzhJRo5JlPZV 6lC6pnxZls8z4EnRjK+1SNrLYfILyJ+x0YIBfEih7k0UQZbd5iYPx0K7liEbE3116IL8gp Lv7ztLQRq9ZoL0icv+fhuJnWZPF/KUuC6lRSigT1nbpAQb9tz20ictU/e8M//EAoYyUwod yOuvyRGdZvY8SadPFTzg/y2orVw+eQNeyQkeFyvSklVq15A0yo6ucV1+WcoqrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747846659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vfKtJ3J1m+vhNANw5nKfokkENMUCXhL3LJhtJjTifXY=; b=LhLHwBpMr8HGI9j++xSsKNceESd0Bd5dtw+TkS9sGAEMXUaG8W7AeponC6E+IH8Od2F640 DIyObdKVHCt/9dgxc3uCISSDKbN+y+qEZKvS7h/BLuoqRW8L14rAUQaEJ4giIOPknkDBzA Oi9Su+m6GD3bAqEfsSdB+On2ON3Tpzq6F090Z3+Ib1wMifvl6a9gP39GYfD0Z81FhryKRk AHzNhIWZEhoezutqWmwxrbfoUIM/om6q6a8xhfX25W2eNtJ9s3/QrrdP8rtqd9dhUTsss2 DIWXqLFjeCfuBEiwxx7JrLk/pKMv3pzIsPd0IdhAZ5ppqcjRmHHb3KYa0E01fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747846659; a=rsa-sha256; cv=none; b=Xon6V80Yb3yD55Z6iPYyxHfotN5DQM6j5vKnylZ4zpqUlhUymmUfwr0FSFA/RBdR/e9St4 gG2NhSlzhCKuhohMoH/g819zKOscqlpzONs/RVaQaZBuLDguESiPNKf3++oo9b3EY87POD mFgzwFYtjQfeO/OXT1kxpyV1YO4Vz+Lr6dZBItHr6qc7BobYAQO76biIuh/806C8WE/WFD GHg5a4fxtgeXmaz6rgATkz8Ke2YWoeoIsNuKcWbOIL4yaUImI6pI3T9xlQHoI3h6GIuc6u WpZn/rkMbNpKeRysQzYcV0RGBCYECAqr/vepd/Jr91+ynhQWjKstqefVZMBK/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2czl2L6BzjlZ; Wed, 21 May 2025 16:57:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LGvdjC080413; Wed, 21 May 2025 16:57:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LGvdG3080410; Wed, 21 May 2025 16:57:39 GMT (envelope-from git) Date: Wed, 21 May 2025 16:57:39 GMT Message-Id: <202505211657.54LGvdG3080410@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 2f99190a9234 - stable/14 - man: Exit cleanly on SIGPIPE. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2f99190a9234b119bcec1e4645e87d4e6016e5a5 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2f99190a9234b119bcec1e4645e87d4e6016e5a5 commit 2f99190a9234b119bcec1e4645e87d4e6016e5a5 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-16 14:56:13 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 16:55:37 +0000 man: Exit cleanly on SIGPIPE. The first attempt at addressing this simply suppressed SIGPIPE, which resulted in mandoc printing out error messages instead. This was then reverted, but the pipefail was (correctly) left in, so man still returned a nonzero exit code if you quit a page before the end. PR: 223516, 279542 Fixes: 14a5c1068d37, a85d870007e7 MFC after: 1 week Reviewed by: ziaee, kevans Differential Revision: https://reviews.freebsd.org/D50302 (cherry picked from commit fbaba7aa432257a9b787edc6bfdbfbde94f2e0d5) --- usr.bin/man/man.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 341a57c6d7dc..b1cfc6c41752 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -33,7 +33,10 @@ # it is better to terminate it. ulimit -t 20 -# do not ignore the exit status of roff tools +# Do not ignore the exit codes of roff tools, as they may indicate a +# problem with the page being rendered. Note that this also causes a +# nonzero exit when the user quits reading before reaching the end, so +# we need to look out for and deal with that specific case. set -o pipefail # Usage: add_to_manpath path @@ -1055,6 +1058,16 @@ do_man() { man_find_and_display "$page" done + # The user will very commonly quit reading the page before + # reaching the bottom. Depending on the length of the page + # and the pager's buffer size, this may result in a SIGPIPE. + # This is normal, so convert that exit code to zero. + if [ ${ret:-0} -gt 128 ]; then + if [ "$(kill -l "${ret}")" = "PIPE" ]; then + ret=0 + fi + fi + exit ${ret:-0} } From nobody Wed May 21 16:57:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2czm53kkz5wCQg; Wed, 21 May 2025 16:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2czm3c8fz3cx5; Wed, 21 May 2025 16:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747846660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E+JRAxzzrAKp7ONFER2xWDgSndcGi/Vl92abGlGYRCQ=; b=ovsuy8b+JFZGmfjybw1s2vYlpeJ9T29ERf4WiEjOq4t+3I9tQxv1nl0tLzt02oNr8tG7Rw 7ugS+daxIIyQdOwPYZiPjwDF07fmSEvwr1pRThG6t7wqQ1bYMRz5P8Et3eQaQbdPJhlMhn VK+u43PQw5djLrVqIIvuJSYgsS2MrQ5rLpk3PNP6ENgjO1K2RLAdenKRfyv3UtfqsadH+i kx3rZbWzaV3CSvsQRC3LeRz7vlatNzFG2nqsRePy+Tjw5Ipg4wWnnPkEDZ0YO/LaFKntQq rpgkKy8YRwO06OxFsuJ/Rjpt014UemWUOSWcJC92z7Ydno9cK/wEaVMxkz976A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747846660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E+JRAxzzrAKp7ONFER2xWDgSndcGi/Vl92abGlGYRCQ=; b=NG/1qvS9fI6eZZl9TsJh99yA9EixWCUMksAJ+6Zlm7YrJ06q6R58Ck2hKkzZ/4qRpRq9lA md26xHEJGrjXbzMyE+wxU1XAmy60039wTktNNt6hHCobqlVr+B0gkvMshU6bLgFsUtfJGR a5BjJkiKY2YN9wTJoWnGwRFfqI9ElBKeQpx2Pj06Wl9jOiefGyLF5s4hf6Wz7HGuRfCz2Q OBs7JS/EqLgprkk1aHJCiaaWdAyrxJPNt0V+AUXupNJVjuYZVi00EpqUz+q9fMV7Tv9k+O 7FiwUVP46U9hg4KYzvorY0vFK+2tZqlhjAAUgpOWrO4NppgdzMlpXe84Ggoi0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747846660; a=rsa-sha256; cv=none; b=K9jF5KNal25DPQItLS/08Mz+vo9El7W1qvV/87DvmQCQyRZgFbZSKLcYaF5zOWCRuh9JHW dmvi+GKCur3GPNiXHAar2+k4zrafHHc68SMkZrB/XzLLx/hvZN9BEWhIri2NxpMfRPbEt2 FKBI6DHtYdv8TfhfUbbiCcVx9/TSRdmHlj3jwJsZo5NnhrTu8W4xOSRMTnFhgsqDABIJla vFDDm8gyruEfzVCX1MtRpo2ZjjSkeUVL/I+TXuxTZtBRVO30WjHIUN4wTGm2ge9O0mCS0J yL5Kj2smaUG0fBTFBz8k6HcXZG3r+OCtriK6lanDDAJfUGwt6LZsl1JTQ4wfVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2czm3758zkVM; Wed, 21 May 2025 16:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LGvefn080450; Wed, 21 May 2025 16:57:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LGveQk080447; Wed, 21 May 2025 16:57:40 GMT (envelope-from git) Date: Wed, 21 May 2025 16:57:40 GMT Message-Id: <202505211657.54LGveQk080447@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 68bc635cc9b0 - stable/14 - namei: Update documentation. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 68bc635cc9b099fb03cfcd519046c385af0c5355 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=68bc635cc9b099fb03cfcd519046c385af0c5355 commit 68bc635cc9b099fb03cfcd519046c385af0c5355 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-17 07:43:02 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 16:56:51 +0000 namei: Update documentation. This should have been done 2+ years ago when the td argument was dropped from NDINIT() and the NDFREE() macro and the SAVENAME and SAVESTART flags were retired. MFC after: 3 days Fixes: 7e1d3eefd410 ("vfs: remove the unused thread argument from NDINIT*") Fixes: 269c564b90d3 ("vfs: retire NDFREE") Sponsored by: NetApp, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50375 (cherry picked from commit ee84b4e2fdf09f9a6dfa43e0931d8671cc15ebf9) --- ObsoleteFiles.inc | 3 +++ share/man/man9/Makefile | 3 ++- share/man/man9/namei.9 | 69 ++++++++++++++++++++++++++++++++----------------- 3 files changed, 50 insertions(+), 25 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index e1c50607abb4..439df5e89377 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250521: NDFREE(9) -> NDFREE_PNBUF(9) +OLD_FILES+=usr/share/man/man9/NDFREE.9.gz + # 20250419: removal of iwlwifi firmware files OLD_FILES+=usr/share/doc/legal/intel_iwlwifi_firmware.LICENCE diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index 6993b34e5b4a..e424692fbdee 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1630,7 +1630,8 @@ MLINKS+=mutex.9 mtx_assert.9 \ mutex.9 mtx_unlock_flags.9 \ mutex.9 mtx_unlock_spin.9 \ mutex.9 mtx_unlock_spin_flags.9 -MLINKS+=namei.9 NDFREE.9 \ +MLINKS+=namei.9 NDFREE_PNBUF.9 \ + namei.9 NDINIT_AT.9 \ namei.9 NDINIT.9 MLINKS+=netisr.9 netisr_clearqdrops.9 \ netisr.9 netisr_default_flow2cpu.9 \ diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index 63a6d3b11f6f..1703faaeee99 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -31,13 +31,14 @@ .\" If you integrate this manpage in another OS, I'd appreciate a note .\" - eivind@FreeBSD.org .\" -.Dd December 17, 2024 +.Dd May 16, 2025 .Dt NAMEI 9 .Os .Sh NAME .Nm namei , .Nm NDINIT , -.Nm NDFREE +.Nm NDINIT_AT , +.Nm NDFREE_PNBUF .Nd pathname translation and lookup operations .Sh SYNOPSIS .In sys/param.h @@ -47,11 +48,16 @@ .Fn namei "struct nameidata *ndp" .Ft void .Fo NDINIT -.Fa "struct nameidata *ndp" "u_long op" "u_long flags" -.Fa "enum uio_seg segflg" "const char *namep" "struct thread *td" +.Fa "struct nameidata *ndp" "enum nameiop op" "u_int64_t flags" +.Fa "enum uio_seg segflg" "const char *namep" .Fc .Ft void -.Fn NDFREE "struct nameidata *ndp" "const uint flags" +.Fo NDINIT_AT +.Fa "struct nameidata *ndp" "enum nameiop op" "u_int64_t flags" +.Fa "enum uio_seg segflg" "const char *namep" "int dirfd" +.Fc +.Ft void +.Fn NDFREE_PNBUF "struct nameidata *ndp" .Sh DESCRIPTION The .Nm @@ -71,13 +77,13 @@ flag was specified or not. .Pp The .Fn NDINIT -function is used to initialize +macro is used to initialize .Nm components. It takes the following arguments: .Bl -tag -width ".Fa segflg" .It Fa ndp -The +A pointer to the .Vt "struct nameidata" to initialize. .It Fa op @@ -95,7 +101,7 @@ will not result in .Fn VOP_RENAME being called. .It Fa flags -Operation flags. +Operation flags, described in the next section. Several of these can be effective at the same time. .It Fa segflg UIO segment indicator. @@ -106,10 +112,35 @@ or in the kernel address space .It Fa namep Pointer to the component's pathname buffer (the file or directory name that will be looked up). -.It Fa td -The thread context to use for -.Nm -operations and locks. +.El +.Pp +The +.Fn NDINIT_AT +macro is similar to +.Fn NDINIT , +but takes one extra argument: +.Bl -tag -width ".Fa segflg" +.It Fa dirfd +File descriptor referencing a directory, or the special value +.Dv AT_FDCWD +meaning the calling thread's current working directory. +Lookups will be performed relative to this directory. +.El +.Pp +The +.Fn NDFREE_PNBUF +macro is used to free the pathname buffer. +It must be called exactly once for each successful +.Fn namei +call. +It takes the following argument: +.Bl -tag -width ".Fa segflg" +.It Fa ndp +A pointer to a +.Vt "struct nameidata" +that was used in a successful +.Fn namei +call. .El .Sh NAMEI OPERATION FLAGS The @@ -203,17 +234,6 @@ This flag is not looked for by the actual code, which looks for .Dv NOFOLLOW is used to indicate to the source code reader that symlinks are intentionally not followed. -.It Dv SAVENAME -Do not free the pathname buffer at the end of the -.Fn namei -invocation; instead, free it later in -.Fn NDFREE -so that the caller may access the pathname buffer. -See below for details. -.It Dv SAVESTART -Retain an additional reference to the parent directory; do not free -the pathname buffer. -See below for details. .El .Sh ALLOCATED ELEMENTS The @@ -307,7 +327,8 @@ An attempt is made to modify a file or directory on a read-only file system. .Xr VFS 9 , .Xr vnode 9 , .Xr vput 9 , -.Xr vref 9 +.Xr vref 9 , +.Xr vrele 9 .Sh AUTHORS .An -nosplit This manual page was written by From nobody Wed May 21 17:08:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dD81Q5vz5wDCB; Wed, 21 May 2025 17:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dD80CcGz3hRf; Wed, 21 May 2025 17:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6b30fqr/YDz7nzAEWnE2TXkY2lQAPwaGkqNiScUjqkY=; b=pQg/abG8rgsazjsYnCvUUktkGSwGx1LxIEyIu0vFWrGwqxEOUIxecnQK5YXQD1wsUnPBF8 ULGJvjvXCJuKfffL7bOEtsEf0fH92BoeT5RapBGVRoDWT62hjQn8DWfM8VGDZMyeCFZUJG CWZRc9+gKMW9mSV5ozdcjn3r356GQChHso0du1Cv5XEb66YAmuhc/qt6tQah5S5fGBTWYN uc2NRYeO/sk1zl6t5gZfVE8TA41ujX3JT9ZYK8U/pLhIqPETWAcrkNaS8wpIC1ZSL7Q/1F snn3o5npJQdqSknrVx0b4pJ3yGEUBmp8iGfth/GR+3cersr+eCMGTQPpddPrmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6b30fqr/YDz7nzAEWnE2TXkY2lQAPwaGkqNiScUjqkY=; b=FhrDNZv1Z0SdmV3Co0rDudal0I8YJLZMUvkaOSErtbwBgUIH5h1kM9x5EOPpZ7LoBx1Ock crFyAtrZqCR2SzDgFAAF3KEGFKksrFlT0jLnSTLmnLgmAspwUcs0kLrmf+gIZS6auShtbq EKFTixnaFU7PSNVP8Mf++Jk3rnTEDD3VQj1RTcTWkJ2Q7nlAwGri9Bl0VgI/svSLJsXQ9x qFNq3of4scRJbE1OdkpeUfIA9wGNlllQOmtomRKXI9DL3J7UsnK+21uO39omDTkJ18uqJZ RfMDvrIYzPufdB53NAVMJeh1PJ+FHl4RVvMS8JCL5JX4Z4yOTSdhx/OKTpInkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847304; a=rsa-sha256; cv=none; b=M6CfJJ9G7Wtew+kPWkn5p53sFq6qHn7nGXC1Vli53aKmDgBfsxuU39PeNV7LuvEv7kzxrF CdmYcBeU/tSvnm5LBMRUyZ3ghfemiuFkMFB0+6jJQEpLeNfrXuWrYq/D14gbYomf7tmG5E FO0bO/kVsOG9Bj5zx/lAxKRRklFCWj6Qq+evq2AuOs7z7gVnHeii5Xwbo3KgmVM+cSQyKM p58I5GrEBrtmuiKar7OzBM4sHxUnzms6/VmKZ0QASztFQ84Cop/1A2ZSJkokKKLeJH5wJM 5MYYtG3EL4uhpqgxBMwvqsMZkUWAh/KxDEleZnOF3jdeRABIcGtDokqIZLYKYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dD76wTtzkjK; Wed, 21 May 2025 17:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LH8Nvp099866; Wed, 21 May 2025 17:08:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LH8NfG099863; Wed, 21 May 2025 17:08:23 GMT (envelope-from git) Date: Wed, 21 May 2025 17:08:23 GMT Message-Id: <202505211708.54LH8NfG099863@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: d300875d011c - stable/14 - sctp: fix mapping of interface address flags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d300875d011c056f10dd7ef6915d041c7b559fff Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d300875d011c056f10dd7ef6915d041c7b559fff commit d300875d011c056f10dd7ef6915d041c7b559fff Author: Michael Tuexen AuthorDate: 2025-05-04 19:05:48 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:07:57 +0000 sctp: fix mapping of interface address flags Do not clear the SCTP_ADDR_IFA_UNUSEABLE flag, if it was set due to the address being deprecated. Also don't declare tentative addresses as unusable. While there, cleanup the code. PR: 230242 (cherry picked from commit 9639de2a6f7eec8b2158782fbfab3419d507fdc5) --- sys/netinet/sctp_bsd_addr.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/netinet/sctp_bsd_addr.c b/sys/netinet/sctp_bsd_addr.c index a10fbcc5ca40..65b271afd84d 100644 --- a/sys/netinet/sctp_bsd_addr.c +++ b/sys/netinet/sctp_bsd_addr.c @@ -119,23 +119,21 @@ sctp_gather_internal_ifa_flags(struct sctp_ifa *ifa) ifa6 = (struct in6_ifaddr *)ifa->ifa; ifa->flags = ifa6->ia6_flags; - if (!MODULE_GLOBAL(ip6_use_deprecated)) { - if (ifa->flags & - IN6_IFF_DEPRECATED) { + if (MODULE_GLOBAL(ip6_use_deprecated)) { + ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; + } else { + if (ifa->flags & IN6_IFF_DEPRECATED) { ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE; } else { ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; } - } else { - ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; } - if (ifa->flags & - (IN6_IFF_DETACHED | - IN6_IFF_ANYCAST | - IN6_IFF_NOTREADY)) { + if (ifa->flags & (IN6_IFF_DETACHED | IN6_IFF_DUPLICATED)) { + ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE; + } + /* Right now, do not support IPv6 anycast addresses */ + if (ifa->flags & IN6_IFF_ANYCAST) { ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE; - } else { - ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; } } #endif /* INET6 */ From nobody Wed May 21 17:09:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dDz0Qcxz5wCFt; Wed, 21 May 2025 17:09: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dDy5ylXz3j5Z; Wed, 21 May 2025 17:09:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v9n0LW8w35q8DIGhml6SjS4VHZBxC/pMnPGMIt6zloU=; b=rQmn5MdSJ2d1Nz/6NNIz7JBCNZ13Jatz/W8jr/wv82eB7qKApowmxiu6cLykof68dGXEPo S4zcQw+uxHfcL28vp5LJFPZw81j4ty0OvUUG/teFg6yvag+b7SI50KdcsYBvlLeAwg7qmE S8E13YFXjzGgK4h/HUgBR23/8BkFJ9EEpsxmaiEaf+EpTqy9mOZEsKQCLs3YXHDJWFisZU gBfpEXddWx+1GJ0nbNYjXqruZYXQKSJ2MoOh22FcIkaj1REV1xTm9D5hR3TlpAq0nrMYKW k7O3qgVpFuHQ/mfTg8ruhqgsVpheetJk+fKiZ7EBLDp27ywzxHbpkJD3c4eFGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v9n0LW8w35q8DIGhml6SjS4VHZBxC/pMnPGMIt6zloU=; b=Obs3aDmoxM7WYNWafcThr33moNvj/9re1I6Jk2tnlX6PAX6FXdPJDXY1rPSFNdthyHSiqT EVUiwAzHQ9WrcpUfyFev/QcRywzqdut0EJwDgxD0TpjruCz9bmyf7S/3e1bm1cdM33DLyr BAiwan9DFKvRNuMjR771wbc+j/qSFSLwnsVoPjALw6DaiJcCuj0oZzdZ1RhGV0X0+CD26+ 9yQnPnJDz8mfSC7AsH6YjB0AcMmomCew1j+xcHRMOWzfOlYx8qkuqPTmyjLi4FrQae5VIw S7a5weEAG/+OSDvJ6B/Suh8De6bSpBuOq/iA2IJ4TjZbQiFFuCkuIz/G7h/sqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847346; a=rsa-sha256; cv=none; b=dnfxGTuTKmVzoObW+0ZDiTiEqFiJ9iuAn+cacXp6qCFioUbkIVnYIsTm/fGwiAy9F0kkcc I0nIcoroCY7z6ZBhCq2I3YTvG115KG03IRhVToDqRDS1d8Oe7BynxvjFz0Z2lyiZueuoDi T4tZvi6CRKWCuno7ypOmGVt6C0T4C13Hu1EFH6/bKI+4JzvDCkLMHycdZghrmVOBBOBSej 1QKj9UGZujFPlb/7iNeNk7ujeQmKwxvR+GFG+rM3x4fFgb+b4kwUoY/h2aV8tbcBHO+0Kv pDyL/affo4hq3PuYYo+3+YylhnGqj9DE2cVVANXIt4DsR+sPMY6MxCTLqifyUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dDy5PdQzkgS; Wed, 21 May 2025 17:09:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LH96XB000242; Wed, 21 May 2025 17:09:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LH96jW000239; Wed, 21 May 2025 17:09:06 GMT (envelope-from git) Date: Wed, 21 May 2025 17:09:06 GMT Message-Id: <202505211709.54LH96jW000239@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 2c2a8abcd8ed - stable/14 - sctp: report address unavailability consistently List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2c2a8abcd8ed1a887c5a6d46ebcb09e73888b12b Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=2c2a8abcd8ed1a887c5a6d46ebcb09e73888b12b commit 2c2a8abcd8ed1a887c5a6d46ebcb09e73888b12b Author: Michael Tuexen AuthorDate: 2025-05-04 22:20:40 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:08:48 +0000 sctp: report address unavailability consistently When binding to an address, which is not available, use consistently EADDRNOTAVAIL. (cherry picked from commit 79952cd7649b63fa312ecafcffb719f5060929d4) --- sys/netinet/sctp_pcb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 6b4f1ce883d3..b0686180a7af 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -3050,7 +3050,7 @@ continue_anyway: /* GAK, more FIXME IFA lock? */ if (ifa->localifa_flags & SCTP_ADDR_IFA_UNUSEABLE) { /* Can't bind a non-existent addr. */ - error = EINVAL; + error = EADDRNOTAVAIL; SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error); goto out; } From nobody Wed May 21 17:09:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dFd0yc1z5wD6k; Wed, 21 May 2025 17:09: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dFd0Njkz3jgH; Wed, 21 May 2025 17:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xp0UmQMvheRDKjN6qQsjRcamuDGm1ktHNloPNOm3AKA=; b=QcCGq8LA8VHesSE1Pyp0ACi7dzfyVIxlVxPdS0Z5rBe0Y48u/FaPVMA7admz1ucbRvswdq qODZErZEOB+HXNwB/XPmun5F7W63PeosSBJuNYwLArESl/qOVS6M+57GiHYsZpKzW7AzVF UnBgokgKmKqmSv3KA5lVsSHNQGlk6Idg+zaVEXa2KD0cx8JMj0e0oVZNMtwYurASaBzbAY BGw1nVNUTdALE5wt8sc33CVcIcZ09h4sM0XE+fuYJpaioRcDal69h8AEavJ1eT2lPiaFLe I7hZNWrtRqRSnYpCn8AZKRLIpltCuJhLkT/BExMIaB6amK9xOHFdDKRYVyrbhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xp0UmQMvheRDKjN6qQsjRcamuDGm1ktHNloPNOm3AKA=; b=Jx+j1gWhFjrauxX9Zwsp2623m15Y8cp6KAJcuSq0lfjWbQwmfV9zvfXxU7y9hv6hoLO7Bi qcHl39sp8nOCKUGlImFQ6PVemNxRM+i/DXzDqT31qwuMUvSYAcNvUbKHVKbkf0kulvaZJj oCzonWTxcs7rzBRrpaD8gRaAiZq3+Ddskc1S8f8o194FlahgyCL2mcgvoSUh5xDQzSLVyE P/Zvfs7uNR98KVEnA+t4pwyDOIo2MG9YVqmkRpulCealVFzoUaz60IUys35QHzjkTPqSW7 xU10xRR0ZeFkBPgE6RT+3bjtQLIO+1n/NxU6MopxSR/uxCqbhyKVLeYD6IZemQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847381; a=rsa-sha256; cv=none; b=uAVOd7ZO0iKqV/diUWBkRJlvDmrqe6wQ3nsaAKwJi1QDc7mJNzYVgTuoR10huOc0U+iy/7 t2lk1IAuLJG8G8JoR+aPFM+iuioqgmRI88foY30GKoa1vBKKVUQgLlhpDAK1KFnZOS4gtN fU19J+nETS4R5epkcQILzq4keUKJDIXdaUcTB6TfyWCZ4dCdUFr941kW+Rs4SUcNcRuo5u 9wrBkl755GUV9/jNZYSsXnUEKGu7jq7jpCZ4POjI6mKcO32doILGdwd+VSYeO7qJfnDT67 DWXjf6g6uSSLfBAbWTlYUrThAm3iKPygb+ULTTFGP4Ot3arSdiB9uFjv+hgXpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dFc74lhzkgT; Wed, 21 May 2025 17:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LH9eqg000507; Wed, 21 May 2025 17:09:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LH9erZ000504; Wed, 21 May 2025 17:09:40 GMT (envelope-from git) Date: Wed, 21 May 2025 17:09:40 GMT Message-Id: <202505211709.54LH9erZ000504@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 2b457fb62ca1 - stable/14 - sctp: don't report unusable addresses via sysctl interface List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2b457fb62ca15f3ae46043c21a54a6d27da7d8e7 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=2b457fb62ca15f3ae46043c21a54a6d27da7d8e7 commit 2b457fb62ca15f3ae46043c21a54a6d27da7d8e7 Author: Michael Tuexen AuthorDate: 2025-05-04 22:28:52 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:09:22 +0000 sctp: don't report unusable addresses via sysctl interface When reporting the local addresses of an endpoint (inp without stcb), ignore unusable addresses. (cherry picked from commit 8f5f6680efa28135bf37f3def2aa71f35bd30333) --- sys/netinet/sctp_sysctl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netinet/sctp_sysctl.c b/sys/netinet/sctp_sysctl.c index a39429ec046e..bd2f23f40727 100644 --- a/sys/netinet/sctp_sysctl.c +++ b/sys/netinet/sctp_sysctl.c @@ -265,6 +265,10 @@ sctp_sysctl_copy_out_local_addresses(struct sctp_inpcb *inp, struct sctp_tcb *st if (sctp_is_addr_restricted(stcb, sctp_ifa)) { continue; } + } else { + if (sctp_ifa->localifa_flags & SCTP_ADDR_IFA_UNUSEABLE) { + continue; + } } switch (sctp_ifa->address.sa.sa_family) { #ifdef INET From nobody Wed May 21 17:10:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dGb1fQmz5wD9Z; Wed, 21 May 2025 17:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dGb12fZz3kC3; Wed, 21 May 2025 17:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZPN/LaaM06r8VapgKuque+mEYaz+481MIA0HeJRx6V0=; b=InQxjljTrpPJ5d4Cpzb4Mes8ecrftlkHLNz4hhkTxKr7MlnygxU8t5muICjmI/ZfqNgepl 5SkDDoKYsNyNIBVBNd7ERXJKPqssUtqeROwc4BJZQF+eVklqJu5VTMOiN2u4vIw81Q5qvs 8jqBMlVb7p/VgSAhYnlavn7JDlN41JB1S/o6xxu8pBMPBpC9CPJTCnLi5EXzhOfOh1pmKj mUIY0WeLy1bv3Os4XtBknn2ovpXdJyd9Vd1bJGvWtaMBTpdPfPxPIJNqV/Yo60kTdiuEWF qPzQrjgtqrVwZaZLpK+lKAIpp+piGYxkoXfuCoIXi1F7tkPRFm4mimK62hfTtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZPN/LaaM06r8VapgKuque+mEYaz+481MIA0HeJRx6V0=; b=Z6qMuvQgoEjzS2SaXP6iA+gBtN5/qr69KMNJxrtK1pjaUkCOd6B6PEexJoK5qB0U6U+glj klwnXQGoCHsu9oN2J7XBfLOQEdQriN0Mpa3kjBAvl4auTOXa/GKkEBFWZcJzsBs/mJ9a9L n770PE0ahLvVYrmCvch+bHqboUyPiAp5SzD/JiGhlxz+FSgfm2C0j9qRVHm0aIbeCwrksp 5Zkp1pU13laqeOX7De4oHTmLYriB59pHM0ILzRXaXcEm1aQoEElsA6LkrDZEmahAMbfT7D K516QiGHOylZwYxLEiFlLUzjItvmvc5BvYDe0rsk4nkLY+wwUQXOKglF3nMLQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847431; a=rsa-sha256; cv=none; b=gbmLHEPn+alkbxwxI3moBixAwhfX58FlDODoqYoknG+jyJoXm+Rsgz28mIeNSXv8E+EyOn 34xz5Row3BhOlw0q03EhXJqOHbbyAovEa01T+41uGpH0VDeGysTxKAcg24isUeXMHxw3mJ l1IDzJVJHOVY/fPCjtTVKTb8lVzj/5AGZpMQttZhAm1uOcNuCFDiaK2kANV/K0lxH0kJDh V0a+Yns6M2tmwuwlu7wpuKSfs+TCdzrM5DTB3B+wEy5DytFpDV/KHKoki7ZeRckhTeKDLr 8lBpWGy65/dUeGRXsU8R/sf4WVa+ttugqJr2NWL/W8+RQgFeqGaPulhmv62HcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dGb0d72zkgW; Wed, 21 May 2025 17:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHAUY3009599; Wed, 21 May 2025 17:10:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHAUpN009596; Wed, 21 May 2025 17:10:30 GMT (envelope-from git) Date: Wed, 21 May 2025 17:10:30 GMT Message-Id: <202505211710.54LHAUpN009596@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: e6cb445098b1 - stable/14 - sctp: initilize local address flags correctly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e6cb445098b156157f5b1926642ae6f86bf57f34 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e6cb445098b156157f5b1926642ae6f86bf57f34 commit e6cb445098b156157f5b1926642ae6f86bf57f34 Author: Michael Tuexen AuthorDate: 2025-05-04 22:41:49 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:10:09 +0000 sctp: initilize local address flags correctly Use the same routine for initilizing as for updating. (cherry picked from commit 6ab4b0c0df57775fd6c288a0b7d0f5d2cad73481) --- sys/netinet/sctp_pcb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index b0686180a7af..7b155eed896a 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -453,6 +453,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, SCTPDBG(SCTP_DEBUG_PCB4, "Clearing deleted ifa flag\n"); sctp_ifap->localifa_flags = SCTP_ADDR_VALID; + sctp_gather_internal_ifa_flags(sctp_ifap); sctp_ifap->ifn_p = sctp_ifnp; atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); } @@ -475,6 +476,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, } else { /* Repair ifn_p, which was NULL... */ sctp_ifap->localifa_flags = SCTP_ADDR_VALID; + sctp_gather_internal_ifa_flags(sctp_ifap); SCTPDBG(SCTP_DEBUG_PCB4, "Repairing ifn %p for ifa %p\n", (void *)sctp_ifnp, (void *)sctp_ifap); @@ -499,7 +501,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifap->ifa = ifa; memcpy(&sctp_ifap->address, addr, addr->sa_len); sctp_ifap->localifa_flags = SCTP_ADDR_VALID | SCTP_ADDR_DEFER_USE; - sctp_ifap->flags = ifa_flags; + sctp_gather_internal_ifa_flags(sctp_ifap); /* Set scope */ switch (sctp_ifap->address.sa.sa_family) { #ifdef INET From nobody Wed May 21 17:11:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dHZ2svyz5wD8F; Wed, 21 May 2025 17:11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dHZ2G11z3kf2; Wed, 21 May 2025 17:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K6FLRTvoZA4YQHI1YLg6fi8rcyW0ew8aFpz1kqW33kM=; b=fzQRrmzFkBPD8QPPhHWFusAaWa6BpCvjtkN0UEuiZHoGD9t69oPQK0dzpGWna3WBqRHnJ5 N6hWcaYSjtp4WBsOyu7uzHbLWPWMinTOAgJDEwIGk+8oV+MRhbPWwEorHoq3SMCoy/0dpq 1Sbr1RDtAtVoEHT7pEiGY6WL1WGtTq9kF36+vtq4Xx3c1BtINqhblZB1Q6iDS/pJIJLQrR erTecb+j+na0mUp4osf8Ln4eqAgyLpjA2zGpNrFergtpFm7iKwSyOxz3kqa3x+5NWGvX5x S2pDZJbGXBlrHp0Fg/yGFcKSp6vfINV8Z+l+VD9YcenXBLJ65RVQkKhu9q//jA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K6FLRTvoZA4YQHI1YLg6fi8rcyW0ew8aFpz1kqW33kM=; b=XhcIE90faYy9jYkUdhU53g9IILPu8zwjiTVnsowppSvzLcyAxSmvc+4YEffohrNN9Hma0k 2yHWkTOYORTm8bpWeDzWl7dHr1G6J1hFm4oVkzTmysm3P5NkTreaTS6q2FZSXyLRIcCwrF k7EccpaRfUjCcYixb46vJqnGfQgXimFV2eURnaPSYtDIXxg3kSPCoK9XLQkEyl5ctcz55+ yE2Ppcdome9TiX19aOQpjTjk/9koVeMZfdwayriAsSD+00gwALC2G5nV/TeY7kTc/sUbVs eGDO4XnN7YArgUYl7P2oEMnHMFzRnwKAtRQHa0cbI2B4TRl2rhD/cSdZPM+SKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847482; a=rsa-sha256; cv=none; b=dPseY+ID3IYMIQltaTBMXwHUVwTG+c7vUBD1A546yKX5NcNWDlyPQ5QZkw2IFTUfUepr1q I0WtkTnh62T1I2mIxhfdoT6NTfQ9fhVaVsps+QiaGCJgJdRpJ9Mfue3reTn7C4L6nfYskr s3IrQPHrkGbrjhGy1P7360KQsmYcxJsR5/8ax62iHdsCn1E2zS3eKidganrEmJu/A9R1Vk DNHO7ZM8G1+EhUnmreoEb2TjMTku6urz1AWqcjzkryozK3DoFcL6ofINK6V0FadlABNVR+ 5MklyPyrj93sRfHFBaZM3x+JuebSEWBXkE9CBSL94fKYW5vJlpusXdhG81pB/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dHZ1ZnTzkgw; Wed, 21 May 2025 17:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHBM6N011864; Wed, 21 May 2025 17:11:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHBMrt011861; Wed, 21 May 2025 17:11:22 GMT (envelope-from git) Date: Wed, 21 May 2025 17:11:22 GMT Message-Id: <202505211711.54LHBMrt011861@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: ab3daba43e8c - stable/14 - sctp: clear the SCTP_ADDR_VALID flag when removing an address List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ab3daba43e8cef4cf529dd1a6d2a5db7de0a66a0 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ab3daba43e8cef4cf529dd1a6d2a5db7de0a66a0 commit ab3daba43e8cef4cf529dd1a6d2a5db7de0a66a0 Author: Michael Tuexen AuthorDate: 2025-05-04 22:45:01 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:11:03 +0000 sctp: clear the SCTP_ADDR_VALID flag when removing an address This flag is currently not read, therefore the bug had no consequences. (cherry picked from commit 2013c4e0dc73a7c7b05f48726af1a4931686ccef) --- sys/netinet/sctp_pcb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 7b155eed896a..44807733b9e9 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -637,7 +637,7 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, struct sockaddr *addr, } } SCTPDBG(SCTP_DEBUG_PCB4, "Deleting ifa %p\n", (void *)sctp_ifap); - sctp_ifap->localifa_flags &= SCTP_ADDR_VALID; + sctp_ifap->localifa_flags &= ~SCTP_ADDR_VALID; /* * We don't set the flag. This means that the structure will * hang around in EP's that have bound specific to it until From nobody Wed May 21 17:12:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dJL2vyjz5wDh8; Wed, 21 May 2025 17:12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dJL1TyCz3l7p; Wed, 21 May 2025 17:12:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5HyJYUJVeQoP3XJcDTTg4h29hiSLLUe7cbFIFgUUd8k=; b=jFBi/3cKr2HWJqOmqxBYAzkQsoadhVkRn8fgNpLljPF3JwUoMu4if5fVhjoFSQZ7HI0lPh 6Ml8LXAQ2S0EHrr1kPW5DrNh7CdkcsNJc5Q0BCFXkVcRfiHCgWqz/WmtuoRbsegefMuivn /cQWnzxi0R2XplWlhPotXyF31Rhc8NWK+G58fy8ujwcMDf69dweDhmdHwInQsCpEXynuib /G4lqqZCYNHY4ElNXv49JmCE3l8oilRr/II99w8PjwNtE9SXcFczxp7Kl8NeUZ4QrRShzj Bs+zNmjnf5ag59J8H8ETrLRIonj9+ulzx4iEpbQ+qh7Xwssdyxt1mzX4sOzpkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5HyJYUJVeQoP3XJcDTTg4h29hiSLLUe7cbFIFgUUd8k=; b=goroG/mEK/dK+39fDyqCg8RlwJ7UBzgoaQKv2OksvdGQf0KJ0ZgJuteQPZWkadPCHTrinM I94d3ymbz4UDMWeqHS2PA8HU//CVYEgMcXMdF5q5hNNMFfJb+vsNoLB9ELX9KMpPrF9hEV DKQDFhDxtrhVetUBHs2GgvPyqQBh6uTMv0Y5FtSvZeJid8PQvs52G5NnPeCP6/ly1106GN OQqfjVjHjr6i9uR1DzreX1vG5qOSaH7qxQDGEjot4mO9hscQ4DmmdEDMS3anXtV3g+itMG WTnTXNNZ/rMOHxfxrmGiziD2YuLzjxRh5BtGq0Ipa+hh2Wy9evPghi+9n8h+OQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847522; a=rsa-sha256; cv=none; b=Q2zAOwXZRZgk/b9X9DnnzVFdnycsv5asg9yIAhbagMvczkitqUa2rZJe+7dIVhPxlJpBmD FePWkW1P7RKGFFVardwQFbqGzV2dup/WTG9o2bb2zonc32zL8mEspAHBOvKnkOqbI4P4/V iqUJfqgi5u+sWkGW3fUSZQBLtX7NNMPMO2EE8Ay946D/6ksD1uKwnfnVAQiaVSExlbYN9n 0tU7KD02T2RHQJoFjQdgTdWUkO9xBDdD7KIlfvNr+rxnfQd6SwGLClUnNs5jSQDFUlXOw+ PJg/ZnJVrJbWk0uK55laqKW+GeKc2C9O3ElEJUBS1+H54JSqj531rOOCp4L+Vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dJL0x5vzkjq; Wed, 21 May 2025 17:12:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHC2vv012200; Wed, 21 May 2025 17:12:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHC2t9012197; Wed, 21 May 2025 17:12:02 GMT (envelope-from git) Date: Wed, 21 May 2025 17:12:02 GMT Message-Id: <202505211712.54LHC2t9012197@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 5d4ef780ea9f - stable/14 - sctp: compute address flags only for IPv6 addresses List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d4ef780ea9f81b6b5bdd23b9f442eae8c481edb Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5d4ef780ea9f81b6b5bdd23b9f442eae8c481edb commit 5d4ef780ea9f81b6b5bdd23b9f442eae8c481edb Author: Michael Tuexen AuthorDate: 2025-05-05 20:43:50 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:11:43 +0000 sctp: compute address flags only for IPv6 addresses Only call sctp_gather_internal_ifa_flags() for IPv6 addresses and also compile this code only, when IPv6 is supported. This fixes the compilation of IPv4 only kernels. Reported by: bz@ Fixes: 6ab4b0c0df57 ("sctp: initilize local address flags correctly") (cherry picked from commit 99c58ad021b2f7dc0496e16d313c5e28a552f0d0) --- sys/netinet/sctp_pcb.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 44807733b9e9..b5190bdf34d8 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -453,7 +453,11 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, SCTPDBG(SCTP_DEBUG_PCB4, "Clearing deleted ifa flag\n"); sctp_ifap->localifa_flags = SCTP_ADDR_VALID; - sctp_gather_internal_ifa_flags(sctp_ifap); +#ifdef INET6 + if (sctp_ifap->address.sa.sa_family == AF_INET6) { + sctp_gather_internal_ifa_flags(sctp_ifap); + } +#endif sctp_ifap->ifn_p = sctp_ifnp; atomic_add_int(&sctp_ifap->ifn_p->refcount, 1); } @@ -476,7 +480,11 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, } else { /* Repair ifn_p, which was NULL... */ sctp_ifap->localifa_flags = SCTP_ADDR_VALID; - sctp_gather_internal_ifa_flags(sctp_ifap); +#ifdef INET6 + if (sctp_ifap->address.sa.sa_family == AF_INET6) { + sctp_gather_internal_ifa_flags(sctp_ifap); + } +#endif SCTPDBG(SCTP_DEBUG_PCB4, "Repairing ifn %p for ifa %p\n", (void *)sctp_ifnp, (void *)sctp_ifap); @@ -501,7 +509,12 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index, sctp_ifap->ifa = ifa; memcpy(&sctp_ifap->address, addr, addr->sa_len); sctp_ifap->localifa_flags = SCTP_ADDR_VALID | SCTP_ADDR_DEFER_USE; - sctp_gather_internal_ifa_flags(sctp_ifap); + sctp_ifap->flags = ifa_flags; +#ifdef INET6 + if (addr->sa_family == AF_INET6) { + sctp_gather_internal_ifa_flags(sctp_ifap); + } +#endif /* Set scope */ switch (sctp_ifap->address.sa.sa_family) { #ifdef INET From nobody Wed May 21 17:12:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dK04sFKz5wDHr; Wed, 21 May 2025 17: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dK04Bgmz3lNl; Wed, 21 May 2025 17: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=1747847556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N06SWketHZvHIipD3fVZeZecpG5g1d9U8Y6lv3FTqwM=; b=mkAZiJgWy7kyeZaxnrmgQd5Gr2PAziK1yVkccIiMdmdzgySzPQo4z2zMFDeIVTumT3Hh1G Qt3itCMqPakfHF2QQiULPcvxZzFSKqtQwPyK8DUwmM2IYlcZvza7WxEFE0SDYZ2NgWb1Ob 5MAnDDgfrxOkXxDm6OY6XumgORjKay+37Y02V9sC1u06iZgP5JfifvXKXI/kOKBeRXWhU4 OmIP88l4qOJZQwAs+DdGkQnntgFBHAN3X3Be+mgOsvqcymXf1xTRWNO7h/izQ8qku3Bfbm ll3gTdpOdh7QmNOrv7GXppjzvCg94+8eAM6VaPN2Jb5F9GfMSbFjOEKVE/+A3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N06SWketHZvHIipD3fVZeZecpG5g1d9U8Y6lv3FTqwM=; b=Yw1w0dlRr5moPJEPOiLP0IcbaO42E93hiEQtEjWZV5lTv6OcXWa+0HHOQxMm+nTA7q/Hn8 j96X/nziFgIGKl7N7nfcm/x7ZkvXOKy52O5oaBjSw4a7wIIKnTbQt1DeCfZ5Er8t1DFHa2 ggonplLNtjCz14HVl2Omnyvj4bnIxNzhXQVm3bdAP6WpCCA3AcM3bEKUtQRcJkOn5zM6sd H7XFgComOUIczlKRGxzc7ggJ1wz2LI3/WFvCwECfh7Y+x+SQ/IWAOiX0YPbF4oHYArcdEb Cc+lQkXZgoiOTPySheuw+RQ6PgoM6c/koCIAFQWKRvaWjiuOftBSFMGTy8q37Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847556; a=rsa-sha256; cv=none; b=M8CN33/BdTEmYDVtAkghBPJT/uxrDOpld3Pgddg5JSU8ucwEHGyF/XO3OEVIoS2NxhUOGC pkpSr0JNrlkhLfn6iyJqsFcpY91QIQ/VsdsVVFWp7wAeNO0AKybav0V8jhePzK2cv5Jo+x UcO3extllHc/E1A98qqSuHznqtCiQ700tFAHVs2UpygycFZOAG4z+3nu+D0SCXxE9qJtB+ i91f0YsJ3BpQ/OoNm/9SmKZC1fOviXFEbH4FAJlXADiOxDzffiWcM52KkbIGZQGDOf3sgQ +Y71MQfTks1Ph2YUo5xct4yb/kagZk3yg5p05exUeDyGAhYuTKJ/sqHM8zzFzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dK03lrlzkLJ; Wed, 21 May 2025 17:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHCamr017643; Wed, 21 May 2025 17:12:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHCa9X017640; Wed, 21 May 2025 17:12:36 GMT (envelope-from git) Date: Wed, 21 May 2025 17:12:36 GMT Message-Id: <202505211712.54LHCa9X017640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: 604c4840c6be - stable/14 - sctp: ensure correct sctp_gather_internal_ifa_flags usage List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 604c4840c6be709176412ba3bcb3ea53946923f3 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=604c4840c6be709176412ba3bcb3ea53946923f3 commit 604c4840c6be709176412ba3bcb3ea53946923f3 Author: Michael Tuexen AuthorDate: 2025-05-05 20:50:42 +0000 Commit: Michael Tuexen CommitDate: 2025-05-21 17:12:16 +0000 sctp: ensure correct sctp_gather_internal_ifa_flags usage sctp_gather_internal_ifa_flags() expects an IPv6 address. (cherry picked from commit 4ca1395c5a311989fc02ceb7a2d44aa5eb1a7426) --- sys/netinet/sctp_bsd_addr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/sctp_bsd_addr.c b/sys/netinet/sctp_bsd_addr.c index 65b271afd84d..ac715d8298ec 100644 --- a/sys/netinet/sctp_bsd_addr.c +++ b/sys/netinet/sctp_bsd_addr.c @@ -117,6 +117,9 @@ sctp_gather_internal_ifa_flags(struct sctp_ifa *ifa) { struct in6_ifaddr *ifa6; + KASSERT(ifa->address.sa.sa_family == AF_INET6, + ("sctp_gather_internal_ifa_flags() called with address family %u", + ifa->address.sa.sa_family)); ifa6 = (struct in6_ifaddr *)ifa->ifa; ifa->flags = ifa6->ia6_flags; if (MODULE_GLOBAL(ip6_use_deprecated)) { From nobody Wed May 21 17:13:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dKt4HXlz5wDn4; Wed, 21 May 2025 17:13:22 +0000 (UTC) (envelope-from garga@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dKt3P2Jz3mV1; Wed, 21 May 2025 17:13:22 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=9Vx616X59hhpnVS7mqStg+Y+L5H/q9JWr5TjzfkFxAU=; b=JBC9rBXI+cNBm6D1pYVF2lwxNoMaox1lM7grwQbqcSMVDi3KSKiSxdkJdgM6lsGH0c6FnL XLBEgXv6hFIc6Jwj5hdOqtdHgyA+RUXvMb5eOlFdc8Svfcrufa8MjV3ebEjiUg2nXXgCKg JbH7GPqAYPDrHzjxsFHGHSXR95wb/1P+AnrXlcraR4CgH3P1GD+zIIS8pTLrtQxeKhbOf2 mpru30dPO1OtsBLcOi7VP5l/mS3pQ0s/sncByIavqpK/NitqoLShypGSUJnbqnznXZqCjb TWqQDGpKxppc0gcyLzYmEMSklj9cxOvEmVYt/WCkUa7/GoYCyauHFRbdnuNSCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=9Vx616X59hhpnVS7mqStg+Y+L5H/q9JWr5TjzfkFxAU=; b=TmFONoq0kZos6NhBmP60lIQak+VmIN6uyOldAz6eDGJXmhstyFd49NN0/3RCWdCcZaG6fp fKMVQa+oZSTyJKfgpPxZ0IIGlmYKIRpviz/NL5k97xccZRxo6s9tNNJ1ydEbgN2w0TBGhz abSSPy4NHKKEw1V64BSOPZ5brsR6gGbautJLESQ3R2gfrPYNXky7q4uViuPntlsk1gJxhZ HYCXYNRh1vtGOSy8Q2umzbivbtf08X7CVLk/7PrJd8jpGEGCH2vdgbYoRjeVuEXc/FG9hz lUqqqEvZZRkJGUnnF4cuGSkvYMFI7sZ2OZFjlfsWIG3KJhndD7g+3wfMwVwIZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847602; a=rsa-sha256; cv=none; b=A12lRwfS/HmIBrepBGBMmMjjOAU+yfCEBYlirG8Tb9ZrF7sMvJ3H9NQhBd4wMof7heyamN 4bN4XFuiQCbS66HK1kghkLUNFvcRbRw1zSgpfFqwbsuiP/FEfHtVPWV0jMmVOJzwY5uoRh X6vrak/rISEI7u/zesBZaNMsNl+0KFk1pawgveMi2tdlTbZmBv7KyGpOmM/9ThD/ejNzLl 9y4Rl2pNaHAaIVryLmMVNvmSldZNIPX2KfTizT/8ZllzOm12LYJThLTu3LIP9RuIaFtVwY naHI+UIfdY8/8PnIUdpxr0B6T7fYHCJglwBmyTbsBpkunkTD+z06FBnDNadASg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2804:f1c:3c:b01:cd55:904c:d339:c978] (unknown [IPv6:2804:f1c:3c:b01:cd55:904c:d339:c978]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b2dKs4cwLz96f; Wed, 21 May 2025 17:13:21 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: <692b5cb8-be2e-4197-abec-d8889712f2a8@FreeBSD.org> Date: Wed, 21 May 2025 14:13:20 -0300 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 3bcf8e6db8e9 - main - loader: loader can pick too large font (check if one side is larger) To: Toomas Soome , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505130746.54D7khTN010139__37381.4146196068$1747122471$gmane$org@gitrepo.freebsd.org> Content-Language: en-US From: Renato Botelho Autocrypt: addr=garga@FreeBSD.org; keydata= xsBNBGStavwBCACjNlp/9+Y+VFe9ieR2h/WWbdvjz4Mb2z/f22bGoaskzCfvVNbo/v3i34I9 H6OdgZkGqheQEAD2jNfRbmPr4z40xDMUpYGLds+1Mvg7G3Hms3j5Ef8KaLSWUNWIfwKdfSVR Qs35ccSJxAdRW5YdI6J3xZgika+3Bc4eJ05YE/nWW+PNTYevt5rqD50N3zybVYIcLoqVPpBi AZE/sf5SLiLACIJb1t/s4x+pi8vgWevxVVT9u8V1f8zYErmHSLSqjxii0B3eRZphX9NCJOv9 +tfFZhnENInhn9gT7H4e2YumUltEy3jacONHJF3CC1pvvWEa6lEyypclMOkHQwNON7DLABEB AAHNLFJlbmF0byBCb3RlbGhvIChGcmVlQlNEKSA8Z2FyZ2FARnJlZUJTRC5vcmc+wsCXBBMB CgBBAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4FAheAFiEERL7Dxegbnh7xTiQ5Ob6P xxJcZXoFAmSta78CGQEACgkQOb6PxxJcZXrYlggAgaZmr6c1yIWzN8VksHrHpwt/uxONEP+h ljy3yfrMsgfS5wx5Uzgfih1xYZUFC6jiI63CetqBqJpp3g1klRS1UWYKx2NeXphDMYZEdPm/ a6sXh4bKZbk6IE8Yn0/YiRT57d9DtbvswC7Gn7Igj/MSbhl49TvTGyvuB6juaffVoYZViomx 5zMoee8Ml2o2qj3MrCJ+/K8GU54RlpOGqGRsqdwVdr9XEWub6fF2YFwR46cjmbiU3P5urFHH nkJlBGPIwKxHimTW0lZsdx9aCKRDd/D80/WOEzXmk3k8B9lv/GsvOluHmveLhJG1R1tIJ31I f2q8dfTvqsQXnu8CcWRcgc7ATQRkrWr8AQgA1DufoxScA+CWQbUR6zExIu8wXQKrhuRt4DG2 BgynT7EMUvEBadcbQRZXsBpemNfncc9Axyut/+rWiyKJf9BLQuo/9QYmSRvW1U6+0LJUYmdg kMyBeYaPk+vnssv/u9jLuvV7FVgyE0yk1iaWIKOVDD+XrQCOvGw9uSceBrQyCyo3A/eRM/+p vnDCaywR63PKE+3axk6lfNdGK3TnaWmS30/ZDCZlNsXuqprqR4JdT5wXids5o36dsuJ5EZ20 s5hNMD34s4Yr1Y1R9elH6qBsFCpozs0+jwrArxq+UJJCR6hH5W8ZEwJtRC8tzR8mRE1WywzX BXYj0YhfGztQIxZckQARAQABwsB8BBgBCgAmFiEERL7Dxegbnh7xTiQ5Ob6PxxJcZXoFAmSt avwCGwwFCQWjmoAACgkQOb6PxxJcZXr1vgf/SKXhoZcUU5I7TqcbHg0lJz9tICTupCGHWr/s SQgjh9oEM5j1wqW7FlCGP90Tl9K0g3ow9YdbhU7VK470o6pymX9V9eLHzGgkZO/KMEtGBeK1 u+5ePjCJ/MK5B21KODLSU7WrIL1VN5ceXfQPLYt02LMLtPri+oduHD6RNBeA7US1DUzleq5F 9NHGbvV2U7BdDUezpiO8NaFjFZVB11I5d99FxUM5XGVstI3VhsRKZxjY0KnqJzaQgTFsPGmv AUfZVIN1pXgXiedhPXpr8+Y64jP+pHVwpVmh1zYWL6+q3kqFOUVP6c5iiMeoEXZvgJz7x/AC ek3X5gvu8Hpcv+MZIg== In-Reply-To: <202505130746.54D7khTN010139__37381.4146196068$1747122471$gmane$org@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 13/05/25 04:46, Toomas Soome wrote: > The branch main has been updated by tsoome: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3bcf8e6db8e9b30af0a1d445e6e413a332066434 > > commit 3bcf8e6db8e9b30af0a1d445e6e413a332066434 > Author: Toomas Soome > AuthorDate: 2025-05-13 07:40:39 +0000 > Commit: Toomas Soome > CommitDate: 2025-05-13 07:44:35 +0000 > > loader: loader can pick too large font (check if one side is larger) > > The 5e25f7b09977 still allows one side to be too large, fix it. > --- > stand/common/gfx_fb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c > index ad38a657e233..af72ab1a4c99 100644 > --- a/stand/common/gfx_fb.c > +++ b/stand/common/gfx_fb.c > @@ -2082,7 +2082,7 @@ gfx_get_font(teken_unit_t rows, teken_unit_t cols, teken_unit_t height, > * Skip too large fonts. > */ > font = fl->font_data; > - if (height / font->vfbd_height < rows && > + if (height / font->vfbd_height < rows || > width / font->vfbd_width < cols) > continue; I still got huge fonts if I remove screen.font from loader.conf. What kind of data you want me to collect from my system to help you to get it fixed? -- Renato Botelho From nobody Wed May 21 17:18:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dRH3Qfcz5wDs5; Wed, 21 May 2025 17:18: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dRH2fXTz3pwR; Wed, 21 May 2025 17:18:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCHIB0k/bt50QHnKnL+oouxvhZWMiLZJ7eoXEhLxXhI=; b=NkRmz4lRY7hDWNmu4ZS992DWBzXtOjL1OtVNrBCtGUJNWbB01n/7hJyRDh9C/O81T5FCau 3N/9/wyxZrY5KuzdW4BP6GThvhErnggUCDNqFid5vTOJC7ITxSHBVj1FUamnuu+sSxMS+j Ai1gV5IE55kfzEoDT8YRb0GADG3fwfMcLp9vVPDmSCU9jxhiit4tFZ/gk2x2q7I+rMTAlq YtXua/81+DHro2bXpK8At4xDApeulX2GEVrM4ZesBa4SL1/pvZC9+JUgY5bmCzLPlikBC5 vB7aFF9VE+d6IECMGuK4TmcWcFPB7IhZ60T8nmw5Xti9545t7hgYsQ7cJ80OVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747847883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCHIB0k/bt50QHnKnL+oouxvhZWMiLZJ7eoXEhLxXhI=; b=s/WvKd6dahP1ipVN2ElD8eM5oEMdgw5jmGmAZwbAmC33TtHtUtFLeFiiPh5OK15uuElT40 z+NK/P0AkEr4DRqo4D+JNTm3CA+IHEMgKfL0Zs1f+9cRHmN3d/EPyDjDDZRnlXyvJ7J5Tl dClHx2pzwgI5BcL6cZ0vdszQoMFigaN3ptIObNRIoV/OkpK6vw4DlXHsMhQB3M41jxuIrx sw3vEhNfJn6PMzOwS9nyjX9xSO8GPuNAXV9L/L1D4AVlzT28cO+UA9epBsKyyki5dJFwlY HlkJblMkClE+AW8m03/WNG5TgA/e/UC4fzZNeO+UR4nL0PmB4PU0gRL4EVOoaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747847883; a=rsa-sha256; cv=none; b=dqHAG1Ql6y4CDVhVDqHQdrMKRHCLpdaVqjDxOHb/UWf0+l6PxJmBkYrjpvzOUvlrw+KK6H QNlV9MDX150nqGouOYLkf+qV+YIsMdgriI469dni/2Gvr+TBFT9GRFIUhM3xawALi+LOmh wiy0QdfrmPu6O4M/cVO9znKLXn/F32Iyh/bL8owidxawy0i5XgfqWNH+UFMLiU644ziyS+ Y3lFu/NzUrSQXHBWBRebIqtiwYas9AWuygRia+W9tH/scGwrJWwR+NQrztSctBfyii75aQ E6/cPLbr0ZDXeCAcS6EVQjcjxaOqoReg2pC9P1tqIUFJ3XWUMgntzA8ouYgiyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dRH1y9XzkJV; Wed, 21 May 2025 17:18:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHI3d6019354; Wed, 21 May 2025 17:18:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHI3nb019351; Wed, 21 May 2025 17:18:03 GMT (envelope-from git) Date: Wed, 21 May 2025 17:18:03 GMT Message-Id: <202505211718.54LHI3nb019351@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Philip Paeps Subject: git: 23a0c88b0376 - main - zoneinfo: don't install version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 23a0c88b037625745b88d1661b9552f1ebe97ebc Auto-Submitted: auto-generated The branch main has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=23a0c88b037625745b88d1661b9552f1ebe97ebc commit 23a0c88b037625745b88d1661b9552f1ebe97ebc Author: Philip Paeps AuthorDate: 2025-05-21 09:15:50 +0000 Commit: Philip Paeps CommitDate: 2025-05-21 17:17:49 +0000 zoneinfo: don't install version The commit teaching the build to install tzdata.zi for libcxx also instals version. It turns out this makes at least one piece of third party software cry: rubygem-tzinfo expects any file in zoneinfo to be at least 44 bytes long. Clearly this is a bug in rubygem-tzinfo but since nothing actually uses version, we may as well not install it ... as we did previously. Reported by: delphij Fixes: 91506dba7f2e zoneinfo: also install tzdata.zi and version MFC after: 1 day --- ObsoleteFiles.inc | 3 +++ share/zoneinfo/Makefile | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index b90ac11dfc69..8f5da0483a87 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250521: don't install zoneinfo version +OLD_FILES+=usr/share/zoneinfo/version + # 20250516: NDFREE(9) -> NDFREE_PNBUF(9) OLD_FILES+=usr/share/man/man9/NDFREE.9.gz diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index e3111c915a93..993f9abaeeb3 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -127,8 +127,6 @@ install-zoneinfo: ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone1970.tab ${DESTDIR}/usr/share/zoneinfo/ - ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${CONTRIBDIR}/version ${DESTDIR}/usr/share/zoneinfo/ afterinstall: # From nobody Wed May 21 17:37:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dsH1Lqhz5wG11; Wed, 21 May 2025 17:37:07 +0000 (UTC) (envelope-from garga@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dsH0dS1z3y7w; Wed, 21 May 2025 17:37:07 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=XdqhlZIs9CPLKMD5+SjnGljdx9FT0FbL4mtwvwJZAOE=; b=xe05ti4V9QIPa0vsLTm5z76I5TcJ8EME9FA5iu7IVQYfYZKmSjo9A1TzRr3+a7j4YtH1va 7G2z0BUtIhAXqgpXO4IZFVIZt2cDzW/r0oB/4Iev7LMHzUPwD724b6pYlqHeVaWAycsS1h AVpRErT8DvHXGdOCP5aK+DkEyMbqKHNW25x5UjsVLInzHxxqY/yLMqY8N4cZh8YJUHsFTa I9DZUL4f7hvv5qlBaLcFSR3QlGV+7uNWSgsMTX7GzbzLGCjy7zG7q2j+gSR43uE03MP2AN MUUN8dk2JEY6tJJQt2NgwbI+64nXwTKpFNz3xKxRlUq2TVGO2ptW88gs6q5wsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=XdqhlZIs9CPLKMD5+SjnGljdx9FT0FbL4mtwvwJZAOE=; b=n2Xr6XCfuCeZ3Vzfr9DR6GZ+S1NL6RSXSErFwQNv7baEJEfz+nye7Xm+k2VD73LcBJq1oz mYa1CUEYn1wDPoe+8sRTwZGPL/6xlSkFL2bdCfOZl+KyR6dsqrTwoOjuI8x+p6hkRarr8J GICMNTRwp5trKU2r7deZA1fi8wymz5UwKNsRL1PGW3O4o60jQukuoVYWK2gB124i+liRme FPpgMLuJ/1Pf3xv1lvL2vNWI/EC5gj9DV11mqfeYkBDbDPknBAqLb23bH3PRQMNKFv9WXa 1F1RfffgBwE7M7dNZfYa4SbDCU1twpsbJG/6vIVgbUmIz3QjWfJeFr4WRAcrQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849027; a=rsa-sha256; cv=none; b=ZOEgaHdehgTvpzBR4uEcxXiJtgcq7IdXsHnXcg+/tMsSkjd+wHfaucwe7m2TuSTM4s3f78 LxnLDWd443E4VWSzRrqZmXDYBZIEWdOt+e9VikFhr6/ePelWtsixujFHzjst1YzuUNem0t Hdh7goRFAwJQaI1N/ZsN/ADz5D94eVEApSKCTEx1mZuOMPDLXhzLF2hfQNo2jv9XqEqMty BCPLQTJ1etc6LgZiRCxS32Xujd/nlmgQ8jkSwPSyVdim3ZZFi6OzhSTwIRqbY5eZEk1epH 6/6+WF0s1p+3qna5FuJGo3UD539nFXhgvUSRblmW0TAxt9YzsmHZ5wYmRsE/TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2804:f1c:3c:b01:cd55:904c:d339:c978] (unknown [IPv6:2804:f1c:3c:b01:cd55:904c:d339:c978]) (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: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b2dsF38xZz9VP; Wed, 21 May 2025 17:37:05 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: Date: Wed, 21 May 2025 14:37:02 -0300 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 3bcf8e6db8e9 - main - loader: loader can pick too large font (check if one side is larger) From: Renato Botelho To: Toomas Soome , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505130746.54D7khTN010139__37381.4146196068$1747122471$gmane$org@gitrepo.freebsd.org> <692b5cb8-be2e-4197-abec-d8889712f2a8__49356.5424041421$1747847616$gmane$org@FreeBSD.org> Content-Language: en-US Autocrypt: addr=garga@FreeBSD.org; keydata= xsBNBGStavwBCACjNlp/9+Y+VFe9ieR2h/WWbdvjz4Mb2z/f22bGoaskzCfvVNbo/v3i34I9 H6OdgZkGqheQEAD2jNfRbmPr4z40xDMUpYGLds+1Mvg7G3Hms3j5Ef8KaLSWUNWIfwKdfSVR Qs35ccSJxAdRW5YdI6J3xZgika+3Bc4eJ05YE/nWW+PNTYevt5rqD50N3zybVYIcLoqVPpBi AZE/sf5SLiLACIJb1t/s4x+pi8vgWevxVVT9u8V1f8zYErmHSLSqjxii0B3eRZphX9NCJOv9 +tfFZhnENInhn9gT7H4e2YumUltEy3jacONHJF3CC1pvvWEa6lEyypclMOkHQwNON7DLABEB AAHNLFJlbmF0byBCb3RlbGhvIChGcmVlQlNEKSA8Z2FyZ2FARnJlZUJTRC5vcmc+wsCXBBMB CgBBAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4FAheAFiEERL7Dxegbnh7xTiQ5Ob6P xxJcZXoFAmSta78CGQEACgkQOb6PxxJcZXrYlggAgaZmr6c1yIWzN8VksHrHpwt/uxONEP+h ljy3yfrMsgfS5wx5Uzgfih1xYZUFC6jiI63CetqBqJpp3g1klRS1UWYKx2NeXphDMYZEdPm/ a6sXh4bKZbk6IE8Yn0/YiRT57d9DtbvswC7Gn7Igj/MSbhl49TvTGyvuB6juaffVoYZViomx 5zMoee8Ml2o2qj3MrCJ+/K8GU54RlpOGqGRsqdwVdr9XEWub6fF2YFwR46cjmbiU3P5urFHH nkJlBGPIwKxHimTW0lZsdx9aCKRDd/D80/WOEzXmk3k8B9lv/GsvOluHmveLhJG1R1tIJ31I f2q8dfTvqsQXnu8CcWRcgc7ATQRkrWr8AQgA1DufoxScA+CWQbUR6zExIu8wXQKrhuRt4DG2 BgynT7EMUvEBadcbQRZXsBpemNfncc9Axyut/+rWiyKJf9BLQuo/9QYmSRvW1U6+0LJUYmdg kMyBeYaPk+vnssv/u9jLuvV7FVgyE0yk1iaWIKOVDD+XrQCOvGw9uSceBrQyCyo3A/eRM/+p vnDCaywR63PKE+3axk6lfNdGK3TnaWmS30/ZDCZlNsXuqprqR4JdT5wXids5o36dsuJ5EZ20 s5hNMD34s4Yr1Y1R9elH6qBsFCpozs0+jwrArxq+UJJCR6hH5W8ZEwJtRC8tzR8mRE1WywzX BXYj0YhfGztQIxZckQARAQABwsB8BBgBCgAmFiEERL7Dxegbnh7xTiQ5Ob6PxxJcZXoFAmSt avwCGwwFCQWjmoAACgkQOb6PxxJcZXr1vgf/SKXhoZcUU5I7TqcbHg0lJz9tICTupCGHWr/s SQgjh9oEM5j1wqW7FlCGP90Tl9K0g3ow9YdbhU7VK470o6pymX9V9eLHzGgkZO/KMEtGBeK1 u+5ePjCJ/MK5B21KODLSU7WrIL1VN5ceXfQPLYt02LMLtPri+oduHD6RNBeA7US1DUzleq5F 9NHGbvV2U7BdDUezpiO8NaFjFZVB11I5d99FxUM5XGVstI3VhsRKZxjY0KnqJzaQgTFsPGmv AUfZVIN1pXgXiedhPXpr8+Y64jP+pHVwpVmh1zYWL6+q3kqFOUVP6c5iiMeoEXZvgJz7x/AC ek3X5gvu8Hpcv+MZIg== In-Reply-To: <692b5cb8-be2e-4197-abec-d8889712f2a8__49356.5424041421$1747847616$gmane$org@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 21/05/25 14:13, Renato Botelho wrote: > On 13/05/25 04:46, Toomas Soome wrote: >> The branch main has been updated by tsoome: >> >> URL: https://cgit.FreeBSD.org/src/commit/? >> id=3bcf8e6db8e9b30af0a1d445e6e413a332066434 >> >> commit 3bcf8e6db8e9b30af0a1d445e6e413a332066434 >> Author:     Toomas Soome >> AuthorDate: 2025-05-13 07:40:39 +0000 >> Commit:     Toomas Soome >> CommitDate: 2025-05-13 07:44:35 +0000 >> >>      loader: loader can pick too large font (check if one side is larger) >>      The 5e25f7b09977 still allows one side to be too large, fix it. >> --- >>   stand/common/gfx_fb.c | 2 +- >>   1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c >> index ad38a657e233..af72ab1a4c99 100644 >> --- a/stand/common/gfx_fb.c >> +++ b/stand/common/gfx_fb.c >> @@ -2082,7 +2082,7 @@ gfx_get_font(teken_unit_t rows, teken_unit_t >> cols, teken_unit_t height, >>            * Skip too large fonts. >>            */ >>           font = fl->font_data; >> -        if (height / font->vfbd_height < rows && >> +        if (height / font->vfbd_height < rows || >>               width / font->vfbd_width < cols) >>               continue; > I still got huge fonts if I remove screen.font from loader.conf.  What > kind of data you want me to collect from my system to help you to get it > fixed? > My upgrade script had a reverse logic and didn't update loader.efi. It's working as expected. Thank you! -- Renato Botelho From nobody Wed May 21 17:37:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dsd3Ptgz5wG1D; Wed, 21 May 2025 17:37: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dsd2n7Jz40MM; Wed, 21 May 2025 17:37:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W05DzhiaZBLVtGztCxl1HKRpLB0Qncry8X/dtsj1Ao4=; b=nVnRggcbP+RlGTYH8a4MI0S2qwzoCmzKZWG7vOFDVqP/Qq8ZGConWWaqZsgCDUzxRqkaG7 5W2oha6cNccak/RHx7j0eVy9praoJi5wADnoGVthpLGZl0gHSQOewso80s7Cbmd5FMLCYt Px8pQxi3jjzJxmB7zzsdbYpJjNEtwpUidp0WSoewlIyX6PabAW4cK3PZN1qSbbAMds727S iJwC5I7PhAukGFwV0zo3eekLLgmfbrmHM/iSbppla1gOTSVhxWTGpAUl5aTi8VfVbPF3KZ b2MYiiH6D0BDJLYF2y48iF/bbpbjdAZgYhe4EAZEJi5N2+93jn+BzkloQEDfkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W05DzhiaZBLVtGztCxl1HKRpLB0Qncry8X/dtsj1Ao4=; b=VxVdpZBa9AJPe07pwNbcLiSpBdVAminQK2XPltwPGnjia2VyEs9raz0Jy3C0uNNK8BMw9k WUefHxBADEQugcan2QtMTnt9Un2qZTvqaxriklBNiRpeA/gtCWPuI0FyDOf0TinjhS9j25 3FrYNR/yhYEcWBPRfC7Y71iCY5fgA0uSeETFW3MUzVLQGedMDfXOR4l1jZYtXLHXDdg1ra JSDpPcanXIhcuRRBmUCZ+5Z8BwUX0MC6hvW0amIFzUaYydXBA9bVr5M+S6kbqMGbXl7X+c ffeZI0hHs1KW4D065UzqbaaJ4WTNVNAvKpUJRwke5FGv9BfDwEq++gOeO5uxlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849045; a=rsa-sha256; cv=none; b=ULRZSSeuVYjU/gac/7VjG3u1EiWR/VwZXH0eQtjDtt7J97XP1W2f9RsDN2oWXXuhBoyne1 afwgeGsw1fc/meqf3YRrQfe+vAn2oLO5oeZ7PvAwSquihjIwFTa/E8RWFoEtzYnz98bVPP fLzyTlo7gdlp/RRZX6jQAnDjzeFUR9fAeKFEd3kHwWsOtpqxqZrjJoy9pFJJ5Itm3yEYgp bhK1ZehIply+UoX/uRzythRKnU5HGhZ+QqXboCGy0bZsOpC9Vq/DSRUlps1D/6KTgMxyfN 6LyAWWcklmhpuFOHgAbCwbVE9b9MD2DY6zUSFJFqwyKUllmup2ALWg+ZXEZozA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dsd2H99zlDQ; Wed, 21 May 2025 17:37:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHbP1o056479; Wed, 21 May 2025 17:37:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHbPMU056476; Wed, 21 May 2025 17:37:25 GMT (envelope-from git) Date: Wed, 21 May 2025 17:37:25 GMT Message-Id: <202505211737.54LHbPMU056476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 84b971c9186a - releng/14.3 - man: Exit cleanly on SIGPIPE. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 84b971c9186ad241151a84bbbfb9218adc54df6c Auto-Submitted: auto-generated The branch releng/14.3 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=84b971c9186ad241151a84bbbfb9218adc54df6c commit 84b971c9186ad241151a84bbbfb9218adc54df6c Author: Dag-Erling Smørgrav AuthorDate: 2025-05-16 14:56:13 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 17:36:41 +0000 man: Exit cleanly on SIGPIPE. The first attempt at addressing this simply suppressed SIGPIPE, which resulted in mandoc printing out error messages instead. This was then reverted, but the pipefail was (correctly) left in, so man still returned a nonzero exit code if you quit a page before the end. Approved by: re (cperciva) PR: 223516, 279542 Fixes: 14a5c1068d37, a85d870007e7 MFC after: 1 week Reviewed by: ziaee, kevans Differential Revision: https://reviews.freebsd.org/D50302 (cherry picked from commit fbaba7aa432257a9b787edc6bfdbfbde94f2e0d5) (cherry picked from commit 2f99190a9234b119bcec1e4645e87d4e6016e5a5) --- usr.bin/man/man.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 341a57c6d7dc..b1cfc6c41752 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -33,7 +33,10 @@ # it is better to terminate it. ulimit -t 20 -# do not ignore the exit status of roff tools +# Do not ignore the exit codes of roff tools, as they may indicate a +# problem with the page being rendered. Note that this also causes a +# nonzero exit when the user quits reading before reaching the end, so +# we need to look out for and deal with that specific case. set -o pipefail # Usage: add_to_manpath path @@ -1055,6 +1058,16 @@ do_man() { man_find_and_display "$page" done + # The user will very commonly quit reading the page before + # reaching the bottom. Depending on the length of the page + # and the pager's buffer size, this may result in a SIGPIPE. + # This is normal, so convert that exit code to zero. + if [ ${ret:-0} -gt 128 ]; then + if [ "$(kill -l "${ret}")" = "PIPE" ]; then + ret=0 + fi + fi + exit ${ret:-0} } From nobody Wed May 21 17:37:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2dsf5RfJz5wG3r; Wed, 21 May 2025 17:37: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2dsf3y8vz40GV; Wed, 21 May 2025 17:37:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rMqZGr7nH8oCoSFL46x5d44BOXhVhGY5zkbfS/HO1GM=; b=nm4HVSvBz2RognHhR7SmyMOSPyuOYVRhcm/XitWsR7WIXXsxZ6hzTNgq6QqpjvyePEyKKy Sxv+voror9b/csPVk+fKDlA8Yp2RfoVonA5hMWj3TXxCUPyqG7puLLaYTqHDU4j29NNV0A mwAzpr2pKp3IbUuYFz7EwLlV8X4yq6rkZEGNB6b9KI+zk/kPeUFcr5PmPhHCK41DJpGeJj 0GnWJMrEWrAjxs87sf8UpRBiN8ZptDYvc73cV9lFD9zHqDM+T3Ywnao9YMYcWhEp63TbX8 /MPK64OTR1SyZLwBPRyui4xSJgsamN1sJ5hYsQ8xm0HEaSeB95jw41Cg+lFQoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rMqZGr7nH8oCoSFL46x5d44BOXhVhGY5zkbfS/HO1GM=; b=FyaZkBb7OLFNWJOSFkIII0IR74y/1TxzztGMjWtR9085n0F7XPJbQc6rBNFLKMuI7KcaE2 st9pq5cIN3CsAzJYZJ99c5FrPe2t2joNsRB5GaC2dh7nx7JqNb2YeUzXVJyU618fBPSxpS mOZ/cZctbR5W/LGuhdAoPj7LVy0Pyv5WEscjHBs9ZaWxyTvwbjWyQGYV9/ORp6lXPwE7A1 7MH76my8Lyy8xa7FSXiqvqZY0rweI6wKjsbwClo2Jvbvxg+9A2kCP/UEUzcjI6U3MF14g1 AJFReYcYxXf0EUW7oMIJXACswHQQYXzGgpOZzWLsYyKHEDgZCtt+Iz0mKrNPhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849046; a=rsa-sha256; cv=none; b=nFEmDQVihhWUygWBOQDu8Rzq3wNJKs+v+DUO1GkYOIAQFcodJzpXsBnjoDryUs1w3Fq5+O tcngACBJsvzSvxnkXt51JUiIduzJsbdwTym2x5k06U/2DnHWYLLKdWjxeKqLU7Fjz+F/k2 cmxPC1NSI336ET8t0fk9filmuLEmIrBPocV8pfVc6clSgFY4JUeYMAv8SsmazjzfN0WEl/ Vood5M3UiY+01gpciGMViKC8whtwi+HxV1hSoWpr2bMWHlVOf+2RKPRkLStgIxjDrCEEW9 z93TGS3e8H56JECR8eHuoMlygBKB9c9JrCoU4JMCI9goUV5HNY362MtBrRphSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2dsf3GvPzklL; Wed, 21 May 2025 17:37:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHbQC8056522; Wed, 21 May 2025 17:37:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHbQJC056519; Wed, 21 May 2025 17:37:26 GMT (envelope-from git) Date: Wed, 21 May 2025 17:37:26 GMT Message-Id: <202505211737.54LHbQJC056519@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 747efc2aeeab - releng/14.3 - namei: Update documentation. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 747efc2aeeabf5e56716c150ecc5f06d67b0b18a Auto-Submitted: auto-generated The branch releng/14.3 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=747efc2aeeabf5e56716c150ecc5f06d67b0b18a commit 747efc2aeeabf5e56716c150ecc5f06d67b0b18a Author: Dag-Erling Smørgrav AuthorDate: 2025-05-17 07:43:02 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 17:37:10 +0000 namei: Update documentation. This should have been done 2+ years ago when the td argument was dropped from NDINIT() and the NDFREE() macro and the SAVENAME and SAVESTART flags were retired. Approved by: re (cperciva) MFC after: 3 days Fixes: 7e1d3eefd410 ("vfs: remove the unused thread argument from NDINIT*") Fixes: 269c564b90d3 ("vfs: retire NDFREE") Sponsored by: NetApp, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50375 (cherry picked from commit ee84b4e2fdf09f9a6dfa43e0931d8671cc15ebf9) (cherry picked from commit 68bc635cc9b099fb03cfcd519046c385af0c5355) --- ObsoleteFiles.inc | 3 +++ share/man/man9/Makefile | 3 ++- share/man/man9/namei.9 | 69 ++++++++++++++++++++++++++++++++----------------- 3 files changed, 50 insertions(+), 25 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index e1c50607abb4..439df5e89377 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250521: NDFREE(9) -> NDFREE_PNBUF(9) +OLD_FILES+=usr/share/man/man9/NDFREE.9.gz + # 20250419: removal of iwlwifi firmware files OLD_FILES+=usr/share/doc/legal/intel_iwlwifi_firmware.LICENCE diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index 6993b34e5b4a..e424692fbdee 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1630,7 +1630,8 @@ MLINKS+=mutex.9 mtx_assert.9 \ mutex.9 mtx_unlock_flags.9 \ mutex.9 mtx_unlock_spin.9 \ mutex.9 mtx_unlock_spin_flags.9 -MLINKS+=namei.9 NDFREE.9 \ +MLINKS+=namei.9 NDFREE_PNBUF.9 \ + namei.9 NDINIT_AT.9 \ namei.9 NDINIT.9 MLINKS+=netisr.9 netisr_clearqdrops.9 \ netisr.9 netisr_default_flow2cpu.9 \ diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index 63a6d3b11f6f..1703faaeee99 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -31,13 +31,14 @@ .\" If you integrate this manpage in another OS, I'd appreciate a note .\" - eivind@FreeBSD.org .\" -.Dd December 17, 2024 +.Dd May 16, 2025 .Dt NAMEI 9 .Os .Sh NAME .Nm namei , .Nm NDINIT , -.Nm NDFREE +.Nm NDINIT_AT , +.Nm NDFREE_PNBUF .Nd pathname translation and lookup operations .Sh SYNOPSIS .In sys/param.h @@ -47,11 +48,16 @@ .Fn namei "struct nameidata *ndp" .Ft void .Fo NDINIT -.Fa "struct nameidata *ndp" "u_long op" "u_long flags" -.Fa "enum uio_seg segflg" "const char *namep" "struct thread *td" +.Fa "struct nameidata *ndp" "enum nameiop op" "u_int64_t flags" +.Fa "enum uio_seg segflg" "const char *namep" .Fc .Ft void -.Fn NDFREE "struct nameidata *ndp" "const uint flags" +.Fo NDINIT_AT +.Fa "struct nameidata *ndp" "enum nameiop op" "u_int64_t flags" +.Fa "enum uio_seg segflg" "const char *namep" "int dirfd" +.Fc +.Ft void +.Fn NDFREE_PNBUF "struct nameidata *ndp" .Sh DESCRIPTION The .Nm @@ -71,13 +77,13 @@ flag was specified or not. .Pp The .Fn NDINIT -function is used to initialize +macro is used to initialize .Nm components. It takes the following arguments: .Bl -tag -width ".Fa segflg" .It Fa ndp -The +A pointer to the .Vt "struct nameidata" to initialize. .It Fa op @@ -95,7 +101,7 @@ will not result in .Fn VOP_RENAME being called. .It Fa flags -Operation flags. +Operation flags, described in the next section. Several of these can be effective at the same time. .It Fa segflg UIO segment indicator. @@ -106,10 +112,35 @@ or in the kernel address space .It Fa namep Pointer to the component's pathname buffer (the file or directory name that will be looked up). -.It Fa td -The thread context to use for -.Nm -operations and locks. +.El +.Pp +The +.Fn NDINIT_AT +macro is similar to +.Fn NDINIT , +but takes one extra argument: +.Bl -tag -width ".Fa segflg" +.It Fa dirfd +File descriptor referencing a directory, or the special value +.Dv AT_FDCWD +meaning the calling thread's current working directory. +Lookups will be performed relative to this directory. +.El +.Pp +The +.Fn NDFREE_PNBUF +macro is used to free the pathname buffer. +It must be called exactly once for each successful +.Fn namei +call. +It takes the following argument: +.Bl -tag -width ".Fa segflg" +.It Fa ndp +A pointer to a +.Vt "struct nameidata" +that was used in a successful +.Fn namei +call. .El .Sh NAMEI OPERATION FLAGS The @@ -203,17 +234,6 @@ This flag is not looked for by the actual code, which looks for .Dv NOFOLLOW is used to indicate to the source code reader that symlinks are intentionally not followed. -.It Dv SAVENAME -Do not free the pathname buffer at the end of the -.Fn namei -invocation; instead, free it later in -.Fn NDFREE -so that the caller may access the pathname buffer. -See below for details. -.It Dv SAVESTART -Retain an additional reference to the parent directory; do not free -the pathname buffer. -See below for details. .El .Sh ALLOCATED ELEMENTS The @@ -307,7 +327,8 @@ An attempt is made to modify a file or directory on a read-only file system. .Xr VFS 9 , .Xr vnode 9 , .Xr vput 9 , -.Xr vref 9 +.Xr vref 9 , +.Xr vrele 9 .Sh AUTHORS .An -nosplit This manual page was written by From nobody Wed May 21 17:47:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2f5N2NFvz5wGpc; Wed, 21 May 2025 17:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2f5N1Wp9z43Wr; Wed, 21 May 2025 17:47:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cqsRTPlwGZ7chIyCTDXCsdQmJwmtt251nW0oRAX+Eww=; b=KfSTKEUO7dwg+s6FsdcaB7zB86WeefLML3Tb9+Nh20SCbjhVMAzgspJRugzZHq8+OMsE5S mt+NZv4/ct+/mD7wqka9RycxUfC+UJvlBGbSBqvEnqGgb5YvGJD/JVq7HpdRPr5QHzM3wM XbYcVA8gU5kUcCcDV4EWrAx/JthGZD5zStBKfp3v8h8f8805y/RZCPKYz0qe8W+adUsl7G YqZWyd6+MLEDJwriaUlu/Bx5Er+ZsVssRQ/77fU938p2lajfWiCFCSUg1sevmM/WVgBw6y qsBO9EKag9Bm/Mq4kzoXYoQ/oW+y9hDADTUJG0vz80jOq2p1RMXasOi45h0kdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cqsRTPlwGZ7chIyCTDXCsdQmJwmtt251nW0oRAX+Eww=; b=XbcEYQdVqE3WcUb1NGVQLTPPhdhuqhPcZjoC6ijndVg+1QvBjusLjz/dKy6Dt4dz6gYMM2 OxUve7Fn9G7TEJVK9cNTj5nepuiMeRSVpvNemCcGRog7lqczAuyaryZ9opZ2TCwBqLUmu9 4Ps8NPCbl712OW8csQynPtCC2SMilnHV10uM3EDGuQ4IAuNwyLjcBeiN/llQ8bL7TUI3yt nLQiLdalHBXRRm31AEaKLCZxLO9IfPnSt3tzJ8LxxYrwoEQaTj4vNZptXxHvNVjAIdK7Iu 8hYmvjtVVAlK2QdD1LI5LIfwHTWlN826ljjKtCLKybLB2d6Q7yVKClbGu0E6cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849656; a=rsa-sha256; cv=none; b=Of8vxmtNKFmUEDUvgqeDJY1mA8R37StwnWwirBnr33mxYQ7GuM1OHOdFKfaPu7ifJ/w0cs WBSfmlGyxCNcTaFWCx9mYXwFiBLQbl0ytTdnmTOHIKWMaFCUGSWBViS/4sR6zYbjYZrj5q GiwZSYFNHaOkFPWgTUu0P8FE6ihdwhpG2Kjpfrul/DthUgDL8baJqFtGpGDeHZjCgBoDq7 xsczgbEL/TVeZ7DeCv4oNhGRy/Fe0X1DIeig5iJYu8zdeM1LUrQiFUI45x6AadFncU8/aT b8Ekero/bC3B/9NJCygQMhZqb7zxxSnpLhOsjuqG+vY18Uc4Pw3QKClAs7mXhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2f5N174qzll2; Wed, 21 May 2025 17:47:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHlaYH074894; Wed, 21 May 2025 17:47:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHlaZ5074891; Wed, 21 May 2025 17:47:36 GMT (envelope-from git) Date: Wed, 21 May 2025 17:47:36 GMT Message-Id: <202505211747.54LHlaZ5074891@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 12666df00a74 - stable/14 - mail: Don't trap signals we shouldn't. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 12666df00a745c64d65c7248f278001b9dbfd937 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=12666df00a745c64d65c7248f278001b9dbfd937 commit 12666df00a745c64d65c7248f278001b9dbfd937 Author: Dag-Erling Smørgrav AuthorDate: 2025-04-27 06:29:20 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 17:33:08 +0000 mail: Don't trap signals we shouldn't. When in interactive mode, trap SIGINT, SIGHUP, and tty-related signals. Otherwise, leave signals untouched as required by POSIX. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50011 (cherry picked from commit 59597032c948586257f123f57bbcfbad02a2cd1b) mail: Exit non-zero on failure to collect mail. While here, avoid non-portable `pipe2()` in the regression test. Fixes: 59597032c948 MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50069 (cherry picked from commit 09bc6a5d5b3333bc91e5f9fdf1e7bb282c4aea5a) mail: Further refine the SIGINT test. * Wait at least 1-2 s before sending the second SIGINT. * If the child is still running after 15 s, send a SIGKILL. * Improve the exit status checks. Fixes: 59597032c948 MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50092 (cherry picked from commit 42fd47ef81138ae53ba77add5a400f67af8e6263) --- etc/mtree/BSD.tests.dist | 2 + usr.bin/mail/Makefile | 4 + usr.bin/mail/collect.c | 34 +++++--- usr.bin/mail/send.c | 4 +- usr.bin/mail/tests/Makefile | 4 + usr.bin/mail/tests/mail_sigint_test.c | 157 ++++++++++++++++++++++++++++++++++ 6 files changed, 190 insertions(+), 15 deletions(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index a909ea3714d3..bf327b14c306 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1109,6 +1109,8 @@ .. m4 .. + mail + .. mkimg .. mktemp diff --git a/usr.bin/mail/Makefile b/usr.bin/mail/Makefile index e5b0d8b3a3a6..bbbcf6c892b1 100644 --- a/usr.bin/mail/Makefile +++ b/usr.bin/mail/Makefile @@ -1,4 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/25/94 +.include CONFS= misc/mail.rc PROG= mail @@ -19,4 +20,7 @@ etc-mailrc: cd ${.CURDIR}/misc; ${INSTALL} -o root -g wheel \ -m 644 ${EFILES} ${DESTDIR}/etc +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests + .include diff --git a/usr.bin/mail/collect.c b/usr.bin/mail/collect.c index ccb3b60bec2b..e6a6337bcdb0 100644 --- a/usr.bin/mail/collect.c +++ b/usr.bin/mail/collect.c @@ -85,16 +85,20 @@ collect(struct header *hp, int printheaders) * until we're in the main loop. */ (void)sigemptyset(&nset); - (void)sigaddset(&nset, SIGINT); - (void)sigaddset(&nset, SIGHUP); + if (value("interactive") != NULL) { + (void)sigaddset(&nset, SIGINT); + (void)sigaddset(&nset, SIGHUP); + } (void)sigprocmask(SIG_BLOCK, &nset, NULL); - if ((saveint = signal(SIGINT, SIG_IGN)) != SIG_IGN) - (void)signal(SIGINT, collint); - if ((savehup = signal(SIGHUP, SIG_IGN)) != SIG_IGN) - (void)signal(SIGHUP, collhup); - savetstp = signal(SIGTSTP, collstop); - savettou = signal(SIGTTOU, collstop); - savettin = signal(SIGTTIN, collstop); + if (value("interactive") != NULL) { + if ((saveint = signal(SIGINT, SIG_IGN)) != SIG_IGN) + (void)signal(SIGINT, collint); + if ((savehup = signal(SIGHUP, SIG_IGN)) != SIG_IGN) + (void)signal(SIGHUP, collhup); + savetstp = signal(SIGTSTP, collstop); + savettou = signal(SIGTTOU, collstop); + savettin = signal(SIGTTIN, collstop); + } if (setjmp(collabort) || setjmp(colljmp)) { (void)rm(tempname); goto err; @@ -479,11 +483,13 @@ out: rewind(collf); noreset--; (void)sigprocmask(SIG_BLOCK, &nset, NULL); - (void)signal(SIGINT, saveint); - (void)signal(SIGHUP, savehup); - (void)signal(SIGTSTP, savetstp); - (void)signal(SIGTTOU, savettou); - (void)signal(SIGTTIN, savettin); + if (value("interactive") != NULL) { + (void)signal(SIGINT, saveint); + (void)signal(SIGHUP, savehup); + (void)signal(SIGTSTP, savetstp); + (void)signal(SIGTTOU, savettou); + (void)signal(SIGTTIN, savettin); + } (void)sigprocmask(SIG_UNBLOCK, &nset, NULL); return (collf); } diff --git a/usr.bin/mail/send.c b/usr.bin/mail/send.c index 002157ba55cb..395b42c1e749 100644 --- a/usr.bin/mail/send.c +++ b/usr.bin/mail/send.c @@ -299,8 +299,10 @@ mail1(struct header *hp, int printheaders) * Collect user's mail from standard input. * Get the result as mtf. */ - if ((mtf = collect(hp, printheaders)) == NULL) + if ((mtf = collect(hp, printheaders)) == NULL) { + senderr++; return; + } if (value("interactive") != NULL) { if (value("askcc") != NULL || value("askbcc") != NULL) { if (value("askcc") != NULL) diff --git a/usr.bin/mail/tests/Makefile b/usr.bin/mail/tests/Makefile new file mode 100644 index 000000000000..cb194b3da1f1 --- /dev/null +++ b/usr.bin/mail/tests/Makefile @@ -0,0 +1,4 @@ +PACKAGE= tests +ATF_TESTS_C+= mail_sigint_test + +.include diff --git a/usr.bin/mail/tests/mail_sigint_test.c b/usr.bin/mail/tests/mail_sigint_test.c new file mode 100644 index 000000000000..ace5f714c459 --- /dev/null +++ b/usr.bin/mail/tests/mail_sigint_test.c @@ -0,0 +1,157 @@ +/*- + * Copyright (c) 2025 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#define MAILX "mailx" +#define BODY "hello\n" +#define BODYLEN (sizeof(BODY) - 1) + +/* + * When interactive, mailx(1) should print a message on receipt of SIGINT, + * then exit cleanly on receipt of a second. + * + * When not interactive, mailx(1) should terminate on receipt of SIGINT. + */ +static void +mailx_sigint(bool interactive) +{ + char obuf[1024] = ""; + char ebuf[1024] = ""; + struct pollfd fds[2]; + int ipd[2], opd[2], epd[2], spd[2]; + time_t start, now; + size_t olen = 0, elen = 0; + ssize_t rlen; + pid_t pid; + int kc, status; + + /* input, output, error, sync pipes */ + if (pipe(ipd) != 0 || pipe(opd) != 0 || pipe(epd) != 0 || + pipe(spd) != 0 || fcntl(spd[1], F_SETFD, FD_CLOEXEC) != 0) + atf_tc_fail("failed to pipe"); + /* fork child */ + if ((pid = fork()) < 0) + atf_tc_fail("failed to fork"); + if (pid == 0) { + /* child */ + dup2(ipd[0], STDIN_FILENO); + close(ipd[0]); + close(ipd[1]); + dup2(opd[1], STDOUT_FILENO); + close(opd[0]); + close(opd[1]); + dup2(epd[1], STDERR_FILENO); + close(epd[0]); + close(epd[1]); + close(spd[0]); + /* force dead.letter to go to cwd */ + setenv("HOME", ".", 1); + /* exec mailx */ + execlp(MAILX, + MAILX, + interactive ? "-Is" : "-s", + "test", + "test@example.com", + NULL); + _exit(2); + } + /* parent */ + close(ipd[0]); + close(opd[1]); + close(epd[1]); + close(spd[1]); + /* block until child execs or exits */ + (void)read(spd[0], &spd[1], sizeof(spd[1])); + /* send one line of input */ + ATF_REQUIRE_INTEQ(BODYLEN, write(ipd[1], BODY, BODYLEN)); + /* give it a chance to process */ + poll(NULL, 0, 2000); + /* send first SIGINT */ + ATF_CHECK_INTEQ(0, kill(pid, SIGINT)); + kc = 1; + /* receive output until child terminates */ + fds[0].fd = opd[0]; + fds[0].events = POLLIN; + fds[1].fd = epd[0]; + fds[1].events = POLLIN; + time(&start); + for (;;) { + ATF_REQUIRE(poll(fds, 2, 1000) >= 0); + if (fds[0].revents == POLLIN && olen < sizeof(obuf)) { + rlen = read(opd[0], obuf + olen, sizeof(obuf) - olen - 1); + ATF_REQUIRE(rlen >= 0); + olen += rlen; + } + if (fds[1].revents == POLLIN && elen < sizeof(ebuf)) { + rlen = read(epd[0], ebuf + elen, sizeof(ebuf) - elen - 1); + ATF_REQUIRE(rlen >= 0); + elen += rlen; + } + time(&now); + if (now - start > 1 && elen > 0 && kc == 1) { + ATF_CHECK_INTEQ(0, kill(pid, SIGINT)); + kc++; + } + if (now - start > 15 && kc > 0) { + (void)kill(pid, SIGKILL); + kc = -1; + } + if (waitpid(pid, &status, WNOHANG) == pid) + break; + } + close(ipd[1]); + close(opd[0]); + close(epd[0]); + close(spd[0]); + if (interactive) { + ATF_CHECK(WIFEXITED(status)); + if (WIFEXITED(status)) + ATF_CHECK_INTEQ(1, WEXITSTATUS(status)); + ATF_CHECK_INTEQ(2, kc); + ATF_CHECK_STREQ("", obuf); + ATF_CHECK_MATCH("Interrupt -- one more to kill letter", ebuf); + atf_utils_compare_file("dead.letter", BODY); + } else { + ATF_CHECK(WIFSIGNALED(status)); + if (WIFSIGNALED(status)) + ATF_CHECK_INTEQ(SIGINT, WTERMSIG(status)); + ATF_CHECK_INTEQ(1, kc); + ATF_CHECK_STREQ("", obuf); + ATF_CHECK_STREQ("", ebuf); + ATF_CHECK_INTEQ(-1, access("dead.letter", F_OK)); + } +} + + +ATF_TC_WITHOUT_HEAD(mail_sigint_interactive); +ATF_TC_BODY(mail_sigint_interactive, tc) +{ + mailx_sigint(true); +} + +ATF_TC_WITHOUT_HEAD(mail_sigint_noninteractive); +ATF_TC_BODY(mail_sigint_noninteractive, tc) +{ + mailx_sigint(false); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, mail_sigint_interactive); + ATF_TP_ADD_TC(tp, mail_sigint_noninteractive); + return (atf_no_error()); +} From nobody Wed May 21 17:47:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2f5P4HYlz5wGlK; Wed, 21 May 2025 17:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2f5P3cqCz43fN; Wed, 21 May 2025 17:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V9pI5IApZ2AuCfb4xNeOMGTd3EobONZmaHXOC8URaOo=; b=ZueCaRKosGAbelrBtXE+nhnZFa60y6d2pAFM5QnLypQHv/pAlWUYy/IcA++8OP5TmBpshV ClplmZXCfprMFmQPjfUtvl4WRFs4lChv9aBlCa3yE9soS0JEosu0f/h+ry5vt/QtPmuAjX 5909+km9Bx38rJFJZDm/9Ah0ZSXr13h5tLH67r0UETHEyrTSqx9o/JeB69jtR9QTUEo6kw aHxlvDmooA5Buff+xRVrvbp93iLhvPy0vuNE07Ar6NUvC65A0Vl7PUS+eV+HwF9yRtf0j6 mCZ5kRB02Yx5p+53GR2CqdN0Q0RWfR8w/Neh6/Di/EuW0qjOZmepKSnSX7I5pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V9pI5IApZ2AuCfb4xNeOMGTd3EobONZmaHXOC8URaOo=; b=S78rgW/JOqqSjLIXMXUhzxmxFzpYfshFkWhh+dV17M9DVEogygdBP5yodEcOvx/gq2pcKX 4e9x2f0JSOL6RFWMJHj6CKOrztTLzTBorYcNKXbHfmT4GXTfLyu4N6YPhBmqPak/AslRvX PzL7qljvRfyIK3x/brrUlFbJs6DSBx35f0HnKD3gbQEyHhA3v0EBsryz8712XMv3aI1B7u y91I7U5Aj0oYWRg4YT0yDEZW4RMqrG4JFBlYu51Jl0f8jBSY5dA9oRUeKSg7tH76NKUT89 tWy8PHbrZ2yEoqAsefyJshe1nTG6AG5VIhoHb81hzIA0SG3h7EhjieOXgmaVhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849657; a=rsa-sha256; cv=none; b=OKB8g43Qu7sTV+xt7EaDXOZqoNW0D0yYUC5S9orcbY0aI7D0e4Q6pQFhnxxK4TKAfRUdnK ymP46EwyXSnBlV3xXFz+LXZ2u5MMaBZGsVwpmXZC3GaYsZJ69I2Onoq0PP8iRkzwBlZozO ns96jKH8Www2nXRarFrde70vtRJ4WVB8fQmXEuMvXzXm2CcoGFL9AgkOx/LyUQNqKmfLta /DvNPSMeVfJOvfGYmG/V9nYT830kI3zMnYHT80y8F8BkuCZOTg7pIPIbc8/ZWgKPwoiUvf TkGYYxOvlLlFSQlYzRVIe9PAf6GDYIOh05RNyGMOimsh9Z956CvpXiEiNzPWpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2f5P2dCtzlHX; Wed, 21 May 2025 17:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHlbc0074931; Wed, 21 May 2025 17:47:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHlbNM074928; Wed, 21 May 2025 17:47:37 GMT (envelope-from git) Date: Wed, 21 May 2025 17:47:37 GMT Message-Id: <202505211747.54LHlbNM074928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: a7a3eec3fc37 - stable/14 - mail: remove the SIGHUP handler from lex.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a7a3eec3fc37044467551a7e2bb00d9a1388f6b7 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a7a3eec3fc37044467551a7e2bb00d9a1388f6b7 commit a7a3eec3fc37044467551a7e2bb00d9a1388f6b7 Author: Kyle Evans AuthorDate: 2025-05-14 19:20:16 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 17:33:09 +0000 mail: remove the SIGHUP handler from lex.c If the command is simply going to exit without doing any cleanup, then an immediate exit(3) does not add any value and in-fact obscures that the program was terminated by a signal. This is motivated by POSIX conformance requirements, but it's also a little bit of a tidy-up. Some investigation into the history of mail(1) shows that, at one point, hangup() would attempt to save messages into mbox before exiting. It was later transformed into a simple exit() and likely could have been GC'd at that point. Reviewed by: des, emaste, ivy Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50247 (cherry picked from commit df16cbdcf1927200eb910c1874faee6f3d8b9a97) --- usr.bin/mail/extern.h | 1 - usr.bin/mail/lex.c | 13 ------------- 2 files changed, 14 deletions(-) diff --git a/usr.bin/mail/extern.h b/usr.bin/mail/extern.h index 669c10b91beb..24ea67939ff2 100644 --- a/usr.bin/mail/extern.h +++ b/usr.bin/mail/extern.h @@ -133,7 +133,6 @@ int getrawlist(char *, char **, int); uid_t getuserid(char *); int grabh(struct header *, int); int group(void *); -void hangup(int); int hash(const char *); void hdrstop(int); int headers(void *); diff --git a/usr.bin/mail/lex.c b/usr.bin/mail/lex.c index b931d6e16a15..c5f4f26781ef 100644 --- a/usr.bin/mail/lex.c +++ b/usr.bin/mail/lex.c @@ -205,8 +205,6 @@ commands(void) if (!sourcing) { if (signal(SIGINT, SIG_IGN) != SIG_IGN) (void)signal(SIGINT, intr); - if (signal(SIGHUP, SIG_IGN) != SIG_IGN) - (void)signal(SIGHUP, hangup); (void)signal(SIGTSTP, stop); (void)signal(SIGTTOU, stop); (void)signal(SIGTTIN, stop); @@ -573,17 +571,6 @@ stop(int s) } } -/* - * Branch here on hangup signal and simulate "exit". - */ -void -hangup(int s __unused) -{ - - /* nothing to do? */ - exit(1); -} - /* * Announce the presence of the current Mail version, * give the message count, and print a header listing. From nobody Wed May 21 17:47:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2f5Q68Whz5wGPd; Wed, 21 May 2025 17:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2f5Q3vsvz43Ph; Wed, 21 May 2025 17:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oz306/wZSY8JN9a/dmc+9wyTqVqBSY2rZbojO7NJhsw=; b=aH6r72bG6yv04OyivQqiT2scs9EcimzoWgVWymLnd2gZzbAy2mEi+X6RyR59I8CbmDo0VU ET/BlN1taDc1qBwouqtE7h2cIJV8lAbFa+VJxyDqAEKuyaKe9wp2CiBbGDtmnWH1hLGsm3 OSYtOHDLlj4u1Bk4XdulBYGDcTllwk1cntSF/3Tvy9U5ebAnn8qdWog8wg7IOcjH06LCJr XzlDHInjYflDGwqlxgWZhn8KCh6i/nHdsxrVF9GA3aVZepu/UBbkje1X7As3AUX2olDyPW dmw7er+MFxlKtr+xOFXdksniGr4jFQwYDc2GrutfavVCO8s7GbGiseopWEhlnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oz306/wZSY8JN9a/dmc+9wyTqVqBSY2rZbojO7NJhsw=; b=xAfMzFYstuOWY0AJSGKUYUvYtubIV2uMsY26wHiuWJDbef1qAOB1xCdq+qJBPvaETxNHXF aKrJFUt2U097lv777KEFghAeW057GERYqpp1DHt7O4BqHa5NlVqOAk/ZEswWynbLbBmR0c 9eVA6xIUFCnlcPlxQBwGNxGLUq5mRZFcAHSMN7Xd6x/bWQQv5+7XGCri0CYpsYZm5iisHm pTLrovVxu9OSFseeviIyINFMa9wx97WHbro23dCV+YxtBV0LCsY24XScR+udiGkoaFcfw4 epdgSlTfR5QJ3hpSW8QJSIrIytsqjwDbujNMaG4a/uf86VF1WUIC4GGMI/+SgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849658; a=rsa-sha256; cv=none; b=g0cSSKc5J66Pj84sd6lrRHzHkKIHMH1YBIlPtoyhoqYzEFbGCBgfn4jtrnjLrV456gGRSV Z6pmoGwk0jej1cQGKZwg7llEW3oPpXIlAqIVc0pTYDQU+5vzP2g+d2L8Z4dRori0SbWpb/ imIurEwYyx3mc1/Y/FO6x1hvudmkoqohnY/R70am4IwtHvRJrexzKsr1IjlG5eyaLxxEH5 FPFaDLWnrcRvup6tMG7T/j4KEB1Es2wMf9unlinjp3fO9yzzVLH1bbS4zEpJu8d/5YPnTA imM+4gvSUnuaTUs6z/JcYIUI4vWjYDSJRfGgnHAd0d4PbfE/3cHfjJlzKjRKIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2f5Q3Kh2zlHY; Wed, 21 May 2025 17:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHlcDM074972; Wed, 21 May 2025 17:47:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHlcdP074969; Wed, 21 May 2025 17:47:38 GMT (envelope-from git) Date: Wed, 21 May 2025 17:47:38 GMT Message-Id: <202505211747.54LHlcdP074969@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: b71d73af2f68 - stable/14 - mail: exit with the correct exit status on SIGHUP in send mode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b71d73af2f68d473eda5fd7547a2fd7ec92b70d5 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b71d73af2f68d473eda5fd7547a2fd7ec92b70d5 commit b71d73af2f68d473eda5fd7547a2fd7ec92b70d5 Author: Kyle Evans AuthorDate: 2025-05-14 19:20:16 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 17:33:09 +0000 mail: exit with the correct exit status on SIGHUP in send mode Motivated by POSIX conformance requirements: mailx(1) is expected to take the default action for every signal except SIGINT in interactive mode. We still handle other signals that we shouldn't based on the spec (e.g., SIGTSTP), but conforming there is not as straightforward as we do more than just cleanup in response. Note that when the spec says that we must take the default action, it does not mean so strictly. Namely, we *can* do some sensible cleanup if we'd like, but we enter into nonconformant territory if we don't reflect the termination via signal in our exit status. That is why this change doesn't actually remove the handler; we're still conformant as long as the end result is the same as if we took the default action. Reviewed by: des Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50251 (cherry picked from commit 964557fe9807d473ad11182a332b0d1da4f54ef0) --- usr.bin/mail/collect.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.bin/mail/collect.c b/usr.bin/mail/collect.c index e6a6337bcdb0..1155467efcb3 100644 --- a/usr.bin/mail/collect.c +++ b/usr.bin/mail/collect.c @@ -704,7 +704,7 @@ collint(int s __unused) /*ARGSUSED*/ void -collhup(int s __unused) +collhup(int signo) { rewind(collf); savedeadletter(collf); @@ -712,7 +712,8 @@ collhup(int s __unused) * Let's pretend nobody else wants to clean up, * a true statement at this time. */ - exit(1); + signal(signo, SIG_DFL); + raise(signo); } void From nobody Wed May 21 17:47:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2f5R6zB5z5wGpn; Wed, 21 May 2025 17:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2f5R5lt1z43XK; Wed, 21 May 2025 17:47:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4eCwAG3aWIfMELXXMCxMJe0RU5qD44d3Mjx2KB1URo4=; b=PCMcStHA07cZJm7Rqazg3PY9L6JlAItormpVBME/rP7FDUzmnzTOjIVRU+SEKaRktJ/Xip QA/aZNTEu3BE+o4uw7xOfJDWo9OstSE6sZPHVpjAgp5662pd7UpaGpqAuCGmLm3ahgByIM 1bYtoUrgJw7PhXO+2h7u7RtwJmGur15R0+Hua8/a6qeqLP/Z6P7xsSlgin6JdFNEiBi3eo vx2m6SOLfl++/OscP1ezkVM1KDOmQzjADkijfRy96/x3UrP9GwP73Jd5RKxpKz/m2zNORp fXIWvs8P0t+nNjqdyHCmLG5oqAXPQQiPprgTCVWSRSABg3SGIPNxpksswzXWjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747849659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4eCwAG3aWIfMELXXMCxMJe0RU5qD44d3Mjx2KB1URo4=; b=B2o3jfEBLf5pmM+zw7tnRwbeCkco8Gq/nIIFNF2wvlMo9hMfImkdJgvWMoZY/PnKktQB5E BEPkxYa7axPcpipPQViyi5Ui9iOP1h7n25hYTKc4Xvs0uqiqemEEbHNr3EyxkZdQIZPVMB 4QmZz9QAKFX/k0MJZrqD6/PymUaxZKayRQ6blwESYnfnf4AEGyr2yywqdA5c1EO+juOJAw kR59q4reX3FZWBkoWva3YeN1smUG9RGsy94FbDrSdc7/WLLiN0iRwAzt7gdqYDuaR1sg46 re4PXdvRgGIXXeukM4td/WOtk6lm+vpdHUzfuifDOwAz84OYVZLfNn8YB577hQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747849659; a=rsa-sha256; cv=none; b=L5rjOAo9chNVmD1pYY2w+hZaGnw9AFU1Q64n09wXO78Pr4qrTVwSvt+tiplfkYEaEksGMX iZFdwasDlTH1kMvRVUOM88TePCfTgJWgaVQbXxICOADzuMitJtgbEaTIQvSWlTNGylPRTG 9M4Kh9GnuBijEr7XO218eWES8eDvgUPxKdv8PIiyZE9PPje/9BI0PLaTImj+1bqmburLiD zTy5fev7dIWmE5NDbnxpKey+HmZaSqfWk0RYl9a9s6/khbS2MF9iVcC3Byg/V3oBwhtUJo GlSyk+AV2b/dIDqIWvCRCdGnSSI/FAYy4K+z1FR+pzH9XtVIDfedyB82XzIiWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2f5R4JHkzl3Y; Wed, 21 May 2025 17:47:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LHldsv075016; Wed, 21 May 2025 17:47:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LHldYo075013; Wed, 21 May 2025 17:47:39 GMT (envelope-from git) Date: Wed, 21 May 2025 17:47:39 GMT Message-Id: <202505211747.54LHldYo075013@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 5f636d1e9e2e - stable/14 - mail: Add test cases for SIGHUP. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5f636d1e9e2eb69c23a38be4375fbc8a1be16a29 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5f636d1e9e2eb69c23a38be4375fbc8a1be16a29 commit 5f636d1e9e2eb69c23a38be4375fbc8a1be16a29 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-14 19:31:47 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-21 17:33:09 +0000 mail: Add test cases for SIGHUP. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50296 (cherry picked from commit a6bac0a9efa15275ada0f0b0ef784837929fb5c6) --- usr.bin/mail/tests/Makefile | 2 +- .../{mail_sigint_test.c => mailx_signal_test.c} | 58 ++++++++++++++++------ 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/usr.bin/mail/tests/Makefile b/usr.bin/mail/tests/Makefile index cb194b3da1f1..d7c1776f87fc 100644 --- a/usr.bin/mail/tests/Makefile +++ b/usr.bin/mail/tests/Makefile @@ -1,4 +1,4 @@ PACKAGE= tests -ATF_TESTS_C+= mail_sigint_test +ATF_TESTS_C+= mailx_signal_test .include diff --git a/usr.bin/mail/tests/mail_sigint_test.c b/usr.bin/mail/tests/mailx_signal_test.c similarity index 69% rename from usr.bin/mail/tests/mail_sigint_test.c rename to usr.bin/mail/tests/mailx_signal_test.c index ace5f714c459..d4ce1e536935 100644 --- a/usr.bin/mail/tests/mail_sigint_test.c +++ b/usr.bin/mail/tests/mailx_signal_test.c @@ -25,9 +25,11 @@ * then exit cleanly on receipt of a second. * * When not interactive, mailx(1) should terminate on receipt of SIGINT. + * + * In either case, mailx(1) should terminate on receipt of SIGHUP. */ static void -mailx_sigint(bool interactive) +mailx_signal_test(int signo, bool interactive) { char obuf[1024] = ""; char ebuf[1024] = ""; @@ -80,8 +82,8 @@ mailx_sigint(bool interactive) ATF_REQUIRE_INTEQ(BODYLEN, write(ipd[1], BODY, BODYLEN)); /* give it a chance to process */ poll(NULL, 0, 2000); - /* send first SIGINT */ - ATF_CHECK_INTEQ(0, kill(pid, SIGINT)); + /* send first signal */ + ATF_CHECK_INTEQ(0, kill(pid, signo)); kc = 1; /* receive output until child terminates */ fds[0].fd = opd[0]; @@ -103,7 +105,7 @@ mailx_sigint(bool interactive) } time(&now); if (now - start > 1 && elen > 0 && kc == 1) { - ATF_CHECK_INTEQ(0, kill(pid, SIGINT)); + ATF_CHECK_INTEQ(0, kill(pid, signo)); kc++; } if (now - start > 15 && kc > 0) { @@ -117,41 +119,67 @@ mailx_sigint(bool interactive) close(opd[0]); close(epd[0]); close(spd[0]); - if (interactive) { + /* + * In interactive mode, SIGINT results in a prompt, and a second + * SIGINT results in exit(1). In all other cases, we should see + * the signal terminate the process. + */ + if (interactive && signo == SIGINT) { ATF_CHECK(WIFEXITED(status)); if (WIFEXITED(status)) ATF_CHECK_INTEQ(1, WEXITSTATUS(status)); ATF_CHECK_INTEQ(2, kc); ATF_CHECK_STREQ("", obuf); ATF_CHECK_MATCH("Interrupt -- one more to kill letter", ebuf); - atf_utils_compare_file("dead.letter", BODY); } else { ATF_CHECK(WIFSIGNALED(status)); if (WIFSIGNALED(status)) - ATF_CHECK_INTEQ(SIGINT, WTERMSIG(status)); + ATF_CHECK_INTEQ(signo, WTERMSIG(status)); ATF_CHECK_INTEQ(1, kc); ATF_CHECK_STREQ("", obuf); ATF_CHECK_STREQ("", ebuf); + } + /* + * In interactive mode, and only in interactive mode, mailx should + * save whatever was typed before termination in ~/dead.letter. + * This is why we set HOME to "." in the child. + */ + if (interactive) { + atf_utils_compare_file("dead.letter", BODY); + } else { ATF_CHECK_INTEQ(-1, access("dead.letter", F_OK)); } } +ATF_TC_WITHOUT_HEAD(mailx_sighup_interactive); +ATF_TC_BODY(mailx_sighup_interactive, tc) +{ + mailx_signal_test(SIGHUP, true); +} + +ATF_TC_WITHOUT_HEAD(mailx_sighup_noninteractive); +ATF_TC_BODY(mailx_sighup_noninteractive, tc) +{ + mailx_signal_test(SIGHUP, false); +} -ATF_TC_WITHOUT_HEAD(mail_sigint_interactive); -ATF_TC_BODY(mail_sigint_interactive, tc) +ATF_TC_WITHOUT_HEAD(mailx_sigint_interactive); +ATF_TC_BODY(mailx_sigint_interactive, tc) { - mailx_sigint(true); + mailx_signal_test(SIGINT, true); } -ATF_TC_WITHOUT_HEAD(mail_sigint_noninteractive); -ATF_TC_BODY(mail_sigint_noninteractive, tc) +ATF_TC_WITHOUT_HEAD(mailx_sigint_noninteractive); +ATF_TC_BODY(mailx_sigint_noninteractive, tc) { - mailx_sigint(false); + mailx_signal_test(SIGINT, false); } ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, mail_sigint_interactive); - ATF_TP_ADD_TC(tp, mail_sigint_noninteractive); + ATF_TP_ADD_TC(tp, mailx_sighup_interactive); + ATF_TP_ADD_TC(tp, mailx_sighup_noninteractive); + ATF_TP_ADD_TC(tp, mailx_sigint_interactive); + ATF_TP_ADD_TC(tp, mailx_sigint_noninteractive); return (atf_no_error()); } From nobody Wed May 21 19:31:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2hPM5slrz5wPlB; Wed, 21 May 2025 19:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2hPM5RtPz3X2H; Wed, 21 May 2025 19:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747855895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kd2yIEt79rJAbix1z3B8UKy+dX+8FF7QgTmyBXzuhNw=; b=ifK4AKjup1uxESE6EHoMTGcAvbwOJoMfrQBSe7mzFr2kd8ZIhbxUBh9L+U23p1Ns/tpFuj HDkrJXBDHOQDKOYy9wyAHYKqNwIm2MwbS/d66qKwb5Jy7B3L5MMiXfvlJ4qhX36euwa1gB 7WoYnusopfbUBVsZkqw89Z0y9USMwZ69/YHpxnR8cwtVWIvAi4BAiGbBN8lEBaa7TmiHqI HBGa0gHoHMcYH9WvF8ckESuCMMSmqwy9Sc/OtCQdqDLWHj9JhJTHcT1bIm55hHv5jcH4GZ X+3vwAdZLCwSpD7f6LZ6cw6Rnv7n1vlUvkeaj4X14TzqikAShxt1dvTTuKmrXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747855895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kd2yIEt79rJAbix1z3B8UKy+dX+8FF7QgTmyBXzuhNw=; b=IgMH7bqbm+qNJV0PiSy5gS/0PC88dQdDRsPeMX/nRst+4JR4v+UCYqs6vZXUhi2SMxbPjZ gcfuwlKBCJrMUHnTRFfXxkw74enKJrZQaqtY21oTINqQwch//JlNCIYKErAN6lPWdwbkgK c30dgsqoSPmWqoirktqYpAJl88b+3khgXiUJp2FmxFX8oQwCli/wKuKbndt95RF0aZAQFP LHAzCRg3RmlsIGoUQ9XpEc3PDMX1N7mM21Uq4csTB072plPAcB8fBtql370gSTgGrir4Dp OoxhL/7j/81NE0yijnzJD+iB92TDDSOKhNFs+zjxsaDDrINPfUnt95vWotPz9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747855895; a=rsa-sha256; cv=none; b=qaGOka0UnXEkym7PgDlcYYvJVtyeTK5EtJiBB2zk4r/uLglYKsoebxcjnm0R/WXotK1X2v 1DlZUapY2qMASDZUL4IUITgxKUx5W04go1uLCVOhLF1/yOZRvKClrC1OuzeDGrrpiqABl2 MZWKkoSOIOrb+yxhJos4nScTzGr4IgR0dPpJgdXE+ZfrfI0pXHOVfixtyKQHQ/KHtowPPB B2yqb4wbr4+FhtWmBwSx1lIVh1bpxpj9bA/M51GcJ2kq5BswE77FtqtX4hrSeGX3I4uiEM XlmQUavTPR5P+7u/1yfjfmFn8mDzbkWGuOAGFAggr+847e+g2g3AX1Fgdv/hyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2hPM529wzp17; Wed, 21 May 2025 19:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LJVZH4077785; Wed, 21 May 2025 19:31:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LJVZ4H077782; Wed, 21 May 2025 19:31:35 GMT (envelope-from git) Date: Wed, 21 May 2025 19:31:35 GMT Message-Id: <202505211931.54LJVZ4H077782@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: ac86e65e0e25 - main - sndctl(8): Remove unnecessary val variable from sysctl functions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac86e65e0e25a3e3fd6f91b17d2db874cea83c3b Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ac86e65e0e25a3e3fd6f91b17d2db874cea83c3b commit ac86e65e0e25a3e3fd6f91b17d2db874cea83c3b Author: Christos Margiolis AuthorDate: 2025-05-21 19:31:17 +0000 Commit: Christos Margiolis CommitDate: 2025-05-21 19:31:17 +0000 sndctl(8): Remove unnecessary val variable from sysctl functions No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50397 --- usr.sbin/sndctl/sndctl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index f362ce840cf7..412ea33e5adf 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -662,12 +662,11 @@ static int sysctl_int(const char *buf, const char *arg, int *var) { size_t size; - const char *val = arg; int n, prev; - n = strtol(val, NULL, 10); + n = strtol(arg, NULL, 10); if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", val); + warn("strtol(%s)", arg); return (-1); } @@ -699,7 +698,6 @@ static int sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) { size_t size; - const char *val = arg; char prev[BUFSIZ]; char *tmp; @@ -710,10 +708,10 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) return (-1); } - size = strlen(val); + size = strlen(arg); /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, val, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, val); + if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { + warn("sysctlbyname(%s, %s)", buf, arg); return (-1); } /* Get size of new string. */ From nobody Wed May 21 19:31:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2hPP0Zp9z5wPc4; Wed, 21 May 2025 19:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2hPN6d9wz3X4t; Wed, 21 May 2025 19:31:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747855897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bKJ7ajjFFrJspkKkwY5Pva2WbBonO/+t5wLZdfvGjHw=; b=b6rl/orrk0Bm+TNiue8taQLJlzAj3WkVgOuw9OWPPZhIto6Fb4JjsIHQP2NWXQq6bg0W2a OBMAjZ+rpb4Db20xS8mqyCwcXsHlNEB31dhKqg6eMrE+IuuOGSaWUtvJ9r/Ui1fcSNV39g VIpR0wSo5d+T0Su6hqAYBiWMINCcmQk0WB9JgsR4CSEjrcXZ6KwXTMlEMzr/w+j0FAN3aI axXfoIh1UwCRqqWcWMfPU7kTO5X3FAenfqu0M289jqY1KmGi8fz86xX2SqESAC/z5susFR BwlojvcZJG4THoOs27wYwS9aoM1v5TGclRUy8qtSlI4OMLt0RQr0Xo8uSjUkIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747855897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bKJ7ajjFFrJspkKkwY5Pva2WbBonO/+t5wLZdfvGjHw=; b=meCKYRVxMqNos98z61cJz8PO6JosrzIIngaiY8QbMBYkovTQObEM86DjB2pMxBDenHUsv5 4gIpPs8+ChxL+iOXq5u0yeWL8n+9qnYzuoFLmyvEb5SSC/Ym7V/Fr5LgVTgc750g09DzI0 5Jf2D95Z73gJRYBhsNRuv2kGikfAf0l9fX5Vsuf0Q3GjPIqJZ5vQqtFAPyu87BFbyX8+F4 XGD0WeH2OXshVsBcZP99d/trfU0XUYzzmSr7P+DG5MRgbJeFzOqatZyARRybJLy9l7g7Zj IqUO5amy2CzagQOSbLg57MNHD3kCr/a8L/nkVEeBr8hDLRhxw7oJJ/2lyTeafw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747855897; a=rsa-sha256; cv=none; b=OhAmgtjcGvktAGYE+FSLS9Ha5wqsLOLgsMTK2chWj865zYfCZ/UaXfvlZwXvklejtIl509 tZQoSgQ9UwWfeTI+rgWFi1eKSHoQsi0kr+Uj+Gd3Gou2EnTZYPsKh+1QQ8OBpIHgBxu04s pJEE03sJVa9j+FSOhQxszbOLfZZcAfdiPJSBKKg9AoEvrEJXO1I8UqtHrt4N/mVvz6MBUx Kcdns/YPluCtcWoTHNSKV/u28bNUcWe9RXby/iU+OYpdXj/x3/3Q4CGHfmStM+7f3kukob 5iE4v3TUpc7N7fGAALyqof6rwatGV0nxSDVPVXdfxxVw8twONqyQi5p3bqq7VQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2hPN5ylFznxL; Wed, 21 May 2025 19:31:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LJVasN077819; Wed, 21 May 2025 19:31:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LJVa0H077816; Wed, 21 May 2025 19:31:36 GMT (envelope-from git) Date: Wed, 21 May 2025 19:31:36 GMT Message-Id: <202505211931.54LJVa0H077816@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 52c426327403 - main - sndctl(8): Allow read-only sysctls List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52c4263274031d599aebfaed2862ae85b482953a Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=52c4263274031d599aebfaed2862ae85b482953a commit 52c4263274031d599aebfaed2862ae85b482953a Author: Christos Margiolis AuthorDate: 2025-05-21 19:31:23 +0000 Commit: Christos Margiolis CommitDate: 2025-05-21 19:31:23 +0000 sndctl(8): Allow read-only sysctls Needed by follow-up patch. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50398 --- usr.sbin/sndctl/sndctl.c | 56 +++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index 412ea33e5adf..4d3ae0cf526c 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -664,30 +664,37 @@ sysctl_int(const char *buf, const char *arg, int *var) size_t size; int n, prev; - n = strtol(arg, NULL, 10); - if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", arg); - return (-1); - } - size = sizeof(int); /* Read current value. */ if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { warn("sysctlbyname(%s)", buf); return (-1); } - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { - warn("sysctlbyname(%s, %d)", buf, n); - return (-1); + + /* Read-only. */ + if (arg != NULL) { + errno = 0; + n = strtol(arg, NULL, 10); + if (errno == EINVAL || errno == ERANGE) { + warn("strtol(%s)", arg); + return (-1); + } + + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { + warn("sysctlbyname(%s, %d)", buf, n); + return (-1); + } } + /* Read back applied value for good measure. */ if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { warn("sysctlbyname(%s)", buf); return (-1); } - printf("%s: %d -> %d\n", buf, prev, n); + if (arg != NULL) + printf("%s: %d -> %d\n", buf, prev, n); if (var != NULL) *var = n; @@ -708,17 +715,21 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) return (-1); } - size = strlen(arg); - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, arg); - return (-1); - } - /* Get size of new string. */ - if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); + /* Read-only. */ + if (arg != NULL) { + size = strlen(arg); + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { + warn("sysctlbyname(%s, %s)", buf, arg); + return (-1); + } + /* Get size of new string. */ + if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } } + if ((tmp = calloc(1, size)) == NULL) err(1, "calloc"); /* Read back applied value for good measure. */ @@ -728,7 +739,8 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) return (-1); } - printf("%s: %s -> %s\n", buf, prev, tmp); + if (arg != NULL) + printf("%s: %s -> %s\n", buf, prev, tmp); if (var != NULL) strlcpy(var, tmp, varsz); free(tmp); From nobody Wed May 21 19:31:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2hPQ109Nz5wQ00; Wed, 21 May 2025 19:31: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2hPQ020lz3X7D; Wed, 21 May 2025 19:31:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747855898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aVpRgWP+q3bzmQu177tiNyXfnXB6o3Qi1VMgR/lcQ+8=; b=BwiFi8t2YmEgjuFFFIRMKgiEe1yfgjPdZ+el7NkPsVmfpcDIE+m+eYVLILqGzVT0Yvsa0s uEJYHSRj0fNTqcp7DVKVGOejM7x+ItoshkMfRph82ncJ0QN3Lnvu5fuKbppyrFc4mRAZe2 mSR1OWhtuYLf3l9+SxQaZQ4BfoOsVO/0FJ6gLjsktSfBywN8X8LZTT+tCRwVyGxW/vK43L edO+jQ6jUk9o1QlXj24sZ7Za1MwqUqWHblAoIwPG6Hry1WKcBCTHoaArGkBG5A5Veibsjf A4ZIReOlmW/Cza9tg+Aoij6ReOBylxQGr4EhQhxrlJ4Gu040553wQfV8+FhJcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747855898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aVpRgWP+q3bzmQu177tiNyXfnXB6o3Qi1VMgR/lcQ+8=; b=DKucJPCHam7ZoSFOokfkdWSh1x0uuB6t0SpewIZY//T2UgYASVepzLh+iMVIQU8a0DS+F7 Y8mONiJHbABIneOLXu9pghiF0njEeupJWSlja7r799ETQn+YRyUSuwR4lNwYqtyESeZ5bg KbDM2o6IMrAkYKhTnQtZaAkxnfH3SwivmF5Dg15k7IPJWXDpGy+5RvsdiMNR2h9EwVPDkR a+h/YNfeA7ZHHLCZQKU9JNOMN9ogvZMdRpvjbEd39/+9TStOJ48IcYjXhwOZ595yBcwONq h9FLG3GCxkORAywb5vnFoSokeQ2ihsG3wxc8wouy4mIfA4pw0SXuQ2prGXrxuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747855898; a=rsa-sha256; cv=none; b=bp4f4C0tA12IVCRwogcUyC0En06VLKZflhJcy2qubvkHGltKjTgjPAmB2UjqLstaIRZEb5 sNjF1bbQ23kJPx2ASDf4wYCeP9kl9cusVmaLrzeZDWOTJUIMvYpLRdWPLx0IR8/uDA9cnB huq/wX1j3pCR8E1lHGDQMfyiBHIWaqLPX2pPafPBb0QXjmePsy+K+6tmIVQ3PHTxTPVLg/ zm2ekLf6Oj3dWna1SuwlUgAEp9ifYYZUflp7DqSIWzQrcXGvEhm+xlSk840h0HYV5gciAh 7gVgbloqq4n9mAPqkZqhY1YvpM+zST1IjfcMDHu+JHECt36BwbOx8an/obJDnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2hPP6d0NznrK; Wed, 21 May 2025 19:31:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LJVbEx077853; Wed, 21 May 2025 19:31:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LJVbkq077850; Wed, 21 May 2025 19:31:37 GMT (envelope-from git) Date: Wed, 21 May 2025 19:31:37 GMT Message-Id: <202505211931.54LJVbkq077850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 30fd79b0c0a3 - main - sndctl(8): Fix dp->realtime List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30fd79b0c0a328536b166e7fa9170b059e711303 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=30fd79b0c0a328536b166e7fa9170b059e711303 commit 30fd79b0c0a328536b166e7fa9170b059e711303 Author: Christos Margiolis AuthorDate: 2025-05-21 19:31:28 +0000 Commit: Christos Margiolis CommitDate: 2025-05-21 19:31:28 +0000 sndctl(8): Fix dp->realtime Currently it's automatically set to 0 in read_dev() as a result of allocating dp with calloc(). Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50400 --- usr.sbin/sndctl/sndctl.c | 189 ++++++++++++++++++++++++----------------------- 1 file changed, 98 insertions(+), 91 deletions(-) diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index 4d3ae0cf526c..156c845481c5 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -333,6 +333,96 @@ bytes2frames(int bytes, int fmt) return (bytes / (samplesz * ch)); } +static int +sysctl_int(const char *buf, const char *arg, int *var) +{ + size_t size; + int n, prev; + + size = sizeof(int); + /* Read current value. */ + if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + + /* Read-only. */ + if (arg != NULL) { + errno = 0; + n = strtol(arg, NULL, 10); + if (errno == EINVAL || errno == ERANGE) { + warn("strtol(%s)", arg); + return (-1); + } + + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { + warn("sysctlbyname(%s, %d)", buf, n); + return (-1); + } + } + + /* Read back applied value for good measure. */ + if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + + if (arg != NULL) + printf("%s: %d -> %d\n", buf, prev, n); + if (var != NULL) + *var = n; + + return (0); +} + +static int +sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) +{ + size_t size; + char prev[BUFSIZ]; + char *tmp; + + /* Read current value. */ + size = sizeof(prev); + if (sysctlbyname(buf, prev, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + + /* Read-only. */ + if (arg != NULL) { + size = strlen(arg); + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { + warn("sysctlbyname(%s, %s)", buf, arg); + return (-1); + } + /* Get size of new string. */ + if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + } + + if ((tmp = calloc(1, size)) == NULL) + err(1, "calloc"); + /* Read back applied value for good measure. */ + if (sysctlbyname(buf, tmp, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + free(tmp); + return (-1); + } + + if (arg != NULL) + printf("%s: %s -> %s\n", buf, prev, tmp); + if (var != NULL) + strlcpy(var, tmp, varsz); + free(tmp); + + return (0); +} + static struct snd_dev * read_dev(char *path) { @@ -343,7 +433,7 @@ read_dev(char *path) struct snd_dev *dp = NULL; struct snd_chan *ch; size_t nitems, nchans, i, j; - int fd, caps, unit; + int fd, caps, unit, t1, t2, t3; if ((fd = open("/dev/sndstat", O_RDONLY)) < 0) err(1, "open(/dev/sndstat)"); @@ -456,6 +546,13 @@ read_dev(char *path) dp->autoconv = (dp->play.vchans || dp->rec.vchans) && !dp->bitperfect; + if (sysctl_int("hw.snd.latency", NULL, &t1) || + sysctl_int("hw.snd.latency_profile", NULL, &t2) || + sysctl_int("kern.timecounter.alloweddeviation", NULL, &t3)) + err(1, "%s: sysctl", dp->name); + if (t1 == 0 && t2 == 0 && t3 == 0) + dp->realtime = 1; + if (!nvlist_exists(nvlist_get_nvlist(di[i], SNDST_DSPS_PROVIDER_INFO), SNDST_DSPS_SOUND4_CHAN_INFO)) errx(1, "%s: channel info list empty", dp->name); @@ -658,96 +755,6 @@ print_dev(struct snd_dev *dp) } } -static int -sysctl_int(const char *buf, const char *arg, int *var) -{ - size_t size; - int n, prev; - - size = sizeof(int); - /* Read current value. */ - if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - - /* Read-only. */ - if (arg != NULL) { - errno = 0; - n = strtol(arg, NULL, 10); - if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", arg); - return (-1); - } - - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { - warn("sysctlbyname(%s, %d)", buf, n); - return (-1); - } - } - - /* Read back applied value for good measure. */ - if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - - if (arg != NULL) - printf("%s: %d -> %d\n", buf, prev, n); - if (var != NULL) - *var = n; - - return (0); -} - -static int -sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) -{ - size_t size; - char prev[BUFSIZ]; - char *tmp; - - /* Read current value. */ - size = sizeof(prev); - if (sysctlbyname(buf, prev, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - - /* Read-only. */ - if (arg != NULL) { - size = strlen(arg); - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, arg); - return (-1); - } - /* Get size of new string. */ - if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - } - - if ((tmp = calloc(1, size)) == NULL) - err(1, "calloc"); - /* Read back applied value for good measure. */ - if (sysctlbyname(buf, tmp, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - free(tmp); - return (-1); - } - - if (arg != NULL) - printf("%s: %s -> %s\n", buf, prev, tmp); - if (var != NULL) - strlcpy(var, tmp, varsz); - free(tmp); - - return (0); -} - static int mod_bitperfect(struct snd_dev *dp, void *arg) { From nobody Wed May 21 19:45:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2hht0gvcz5wQyt; Wed, 21 May 2025 19:45: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2hhs2G0kz3dXt; Wed, 21 May 2025 19:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747856701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Ufn11GUfaYvglda7o6wvV4m6MhN3CeBSZt4yQ82UxQ=; b=BIVhX9bMY+zlHRoWQg7JVNXbj1X91L3BFZl46PtXWM9kHoiovyLBb86LRWfHuYQ3Q1sdfR BSY6N3KOXJjtl6ZodnujpWPTefSP54g6TedR/iiHaNlAAgv9ETyGMdpC7lMG6mAV9O9tF9 kGBOCZbcxfJmbRh5Y8Yusqs21qGkpOJ8HuwDX7bMfSTYzBlvtywZnHmt/7+KsMLqlJTx5+ lPIPD/BOV/xQiJmMPXSwfPR3HDpbHCRnd6FCNIaMH6uxscTi4ALQfR01GLR+uI/wWSZU4F GChJ6lUrcnIHzt+RusdebzHjxC0CzgzDMwd1lJm/v+850KpMAFdWLCAVW98QAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747856701; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Ufn11GUfaYvglda7o6wvV4m6MhN3CeBSZt4yQ82UxQ=; b=BZu81KTBTHqi9SdixT2Ro5tYSXThgEd15SVnfByu2f3Tw3hpDnGogxw7tgC0KpRawZ3QpE bfiwnRk2nH3+znL/0uOONzDvtbL2LGhz7uA6RdYiHMmDvkxKwh0EhA2LLRVrjOdtIoAFGY ikAjEkEuouRc9M/muf5j4Q5FrNf8cxwp/z5x5RsP65QusxCjYOnehGl5ZhMNgmzzElapcf DQisSFDXzMIVtRlk3+Lx7XqiiDctlK8A0Hi+mTvab6+uKRf6Mx1iCA3q3R8dwzPq/0kXwY zSjVkoVbw4OB5qQM38ofYyVimS8xAHgIGzcaLiaPpmJ5BCVXHkaKCmIsZfIyaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747856701; a=rsa-sha256; cv=none; b=tezgBst2Gl+qfIGX3BBCx9iliezvHf+5xmi8PE4AtwOss8hRJ03GvPJ3UlyyH8Ug4zfX+k V96jEp1yrsixPA85Ma8kMGgOV48JoxfSXqpRPRQ1F0lOde2gGm02flhsmGavdDp9KxR4pk 07tmSsYpdRX6+2kd70Tv3MkAp4y9wZGBDxk7QuU6ytlptJIn1yx+odsKHqV79KEjt2kn9v gsJ7u3q1rwnDqh3LF44UVS/odJg2FFpziu/Zh5rrnmCGwd59a/FYX+5KNBMo84vO4/aC23 1RrgCykbqeeQjAM8v5vmT3bbEFKvKLerPGpAbB+21er2i4QnoYvO+9tnAeOjZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2hhs1s78znlX; Wed, 21 May 2025 19:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LJj1gh000611; Wed, 21 May 2025 19:45:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LJj1ZK000608; Wed, 21 May 2025 19:45:01 GMT (envelope-from git) Date: Wed, 21 May 2025 19:45:01 GMT Message-Id: <202505211945.54LJj1ZK000608@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 77521692f4c7 - stable/14 - snd_hda: Add shutdown method List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 77521692f4c71213c5419268657e696532c28325 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=77521692f4c71213c5419268657e696532c28325 commit 77521692f4c71213c5419268657e696532c28325 Author: Tijl Coosemans AuthorDate: 2025-05-18 13:38:02 +0000 Commit: Christos Margiolis CommitDate: 2025-05-21 19:43:52 +0000 snd_hda: Add shutdown method Power down the device on shutdown similar to what is done in the case of suspend. The device may fail to attach on next boot without this. PR: 286385 Reviewed by: christos, adrian Differential Revision: https://reviews.freebsd.org/D50306 (cherry picked from commit d9900b9ea2b27f7a0c2eda97841b9499e02e3ea7) --- sys/dev/sound/pci/hda/hdac.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index 9a7958449f91..be143ccd54c3 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -1638,6 +1638,35 @@ hdac_attach2(void *arg) sizeof(sc->dev), sysctl_hdac_polling, "I", "Enable polling mode"); } +/**************************************************************************** + * int hdac_shutdown(device_t) + * + * Power down HDA bus and codecs. + ****************************************************************************/ +static int +hdac_shutdown(device_t dev) +{ + struct hdac_softc *sc = device_get_softc(dev); + + HDA_BOOTHVERBOSE( + device_printf(dev, "Shutdown...\n"); + ); + callout_drain(&sc->poll_callout); + taskqueue_drain(taskqueue_thread, &sc->unsolq_task); + bus_generic_shutdown(dev); + + hdac_lock(sc); + HDA_BOOTHVERBOSE( + device_printf(dev, "Reset controller...\n"); + ); + hdac_reset(sc, false); + hdac_unlock(sc); + HDA_BOOTHVERBOSE( + device_printf(dev, "Shutdown done\n"); + ); + return (0); +} + /**************************************************************************** * int hdac_suspend(device_t) * @@ -2157,6 +2186,7 @@ static device_method_t hdac_methods[] = { DEVMETHOD(device_probe, hdac_probe), DEVMETHOD(device_attach, hdac_attach), DEVMETHOD(device_detach, hdac_detach), + DEVMETHOD(device_shutdown, hdac_shutdown), DEVMETHOD(device_suspend, hdac_suspend), DEVMETHOD(device_resume, hdac_resume), /* Bus interface */ From nobody Wed May 21 23:22:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2nX72xPpz5wgxb; Wed, 21 May 2025 23:22: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2nX72H3cz3Jf7; Wed, 21 May 2025 23:22:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747869767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hmWpS6BRn/8mOiAmb//ixeis/88z/boIMJ3ULS/XrEs=; b=jEY2t2NB+6XTsXt2B18a2a9jT47SVtLlWw/k+Jws87DxK4bqF7LMgzEU5xm6MI8ugHzpjd dP8YChUlefSKYd6WRT6FrkZsKJnD7GolCjJvRahNr/ble+06ejqAvKCxwZUxTW9Qt8bgeo 4uvPHmZHst9IG8kaOxW3zGQs0xEaShLXn/4nPW4hdspwgAUq+AqzwTWMsh1cRArRYkvvf7 EPuSG4k+m3qBjPBR1SUbrFJMYE8ExWJrur4w7JxLuX1t8GJCWdKbRsW8qsebbIpmH3aC4U Lstmb35ou2G6pPQiOE5VniLsLcIsKoFWhtxPDwk3Mfl3xGNHrBKB/qnvx1Xoyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747869767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hmWpS6BRn/8mOiAmb//ixeis/88z/boIMJ3ULS/XrEs=; b=id+KWxFxiQ9WHHP+PKJma9UDuFJaKAlNlNh/dK+KXY+K1cxbW57Upmq6Ps61rSuU7Xn3+3 Ef3Ou9eEsyo1DoldrF1wdzC6oGbm8lzQvh8++KzOSMsOYOipaTE8B4A+QRybjLyV5yolQY z5D9t7LCF8cT+C1ZsunHbGsblWPDddN9fBDxLWOvWcMpyILAm6yiST/e3ic5Pmn4Zw0Vlz ZikoL3cM9nVp1JITP6yf4Es6F6D7+j+h4VOV5haUhEVUrH7r69SL6KktOA3o1xKoV43lLM lU/7TekV8Tx2j9Xr9GBgbuQnkZmFrncBAh041DDS5phBaSyhU/wBwyckQCTEAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747869767; a=rsa-sha256; cv=none; b=CRJakEhyR179I+WEXyHQ+riBSllECI7PbOEOInvr8al+KM1EpX7VUrmhdXdhmc9x5WDChG YKZcp8OQDEkf6R7Er5sGf0aGhBnx63bviofatbzD15lndRM26YYeeWZeemCxhdSyYH7TmG j7rfmO3VTs87YjePhcO2Q97oD6mPuwmqp9gzXEqJ7j2o6Mbyxzz4L5GPG6yWaaOjZ7msPX 0Xx+rToEelxgnAGdc9sa5Ca3aO1oAPLD54cLi2N8zUJRFVsO0BeglJoqokzIQhqdEM3LU8 6kf8bTjSIgmRYB6C4I0kBQj/p+gQU4ytb3fg4a+KmiDORyS7ZJ+FTs/2L+WCQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2nX71Msrzvbx; Wed, 21 May 2025 23:22:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54LNMlnF013612; Wed, 21 May 2025 23:22:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54LNMlMH013609; Wed, 21 May 2025 23:22:47 GMT (envelope-from git) Date: Wed, 21 May 2025 23:22:47 GMT Message-Id: <202505212322.54LNMlMH013609@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: adf77cb48e4c - releng/14.3 - snd_hda: Add shutdown method List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: adf77cb48e4c265f366fb0f290b597fdd0dfdc68 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=adf77cb48e4c265f366fb0f290b597fdd0dfdc68 commit adf77cb48e4c265f366fb0f290b597fdd0dfdc68 Author: Tijl Coosemans AuthorDate: 2025-05-18 13:38:02 +0000 Commit: Christos Margiolis CommitDate: 2025-05-21 23:21:42 +0000 snd_hda: Add shutdown method Power down the device on shutdown similar to what is done in the case of suspend. The device may fail to attach on next boot without this. PR: 286385 Reviewed by: christos, adrian Differential Revision: https://reviews.freebsd.org/D50306 (cherry picked from commit d9900b9ea2b27f7a0c2eda97841b9499e02e3ea7) (cherry picked from commit 77521692f4c71213c5419268657e696532c28325) Approved by: re (cperciva) --- sys/dev/sound/pci/hda/hdac.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index 904e3b2001c7..25e320aae3dc 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -1638,6 +1638,35 @@ hdac_attach2(void *arg) sizeof(sc->dev), sysctl_hdac_polling, "I", "Enable polling mode"); } +/**************************************************************************** + * int hdac_shutdown(device_t) + * + * Power down HDA bus and codecs. + ****************************************************************************/ +static int +hdac_shutdown(device_t dev) +{ + struct hdac_softc *sc = device_get_softc(dev); + + HDA_BOOTHVERBOSE( + device_printf(dev, "Shutdown...\n"); + ); + callout_drain(&sc->poll_callout); + taskqueue_drain(taskqueue_thread, &sc->unsolq_task); + bus_generic_shutdown(dev); + + hdac_lock(sc); + HDA_BOOTHVERBOSE( + device_printf(dev, "Reset controller...\n"); + ); + hdac_reset(sc, false); + hdac_unlock(sc); + HDA_BOOTHVERBOSE( + device_printf(dev, "Shutdown done\n"); + ); + return (0); +} + /**************************************************************************** * int hdac_suspend(device_t) * @@ -2155,6 +2184,7 @@ static device_method_t hdac_methods[] = { DEVMETHOD(device_probe, hdac_probe), DEVMETHOD(device_attach, hdac_attach), DEVMETHOD(device_detach, hdac_detach), + DEVMETHOD(device_shutdown, hdac_shutdown), DEVMETHOD(device_suspend, hdac_suspend), DEVMETHOD(device_resume, hdac_resume), /* Bus interface */ From nobody Thu May 22 00:23:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2psz1zJNz5wmHm; Thu, 22 May 2025 00:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2psy6FQpz3qLV; Thu, 22 May 2025 00:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747873398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1hgYVAx7FEiTEOI+n7z0L2qufu8id6z/yMxghTMquY=; b=rvV1s8NrTcc16m9wHVUxDj4nRhRbwbnShItSZ05JjMQCTp5W54nYv+J8mpkKk71fwPYYfn Czr3VxiNuO/WP6Tfx9dfNzdsdQa59gnbNIHScZISwMA5QCG4m+syrobxvRF4jCUVnmezBy gLu+czdE1pkibWTa/aBZD6qsS3rEPdvzK9wLBOMu42hjSwG/Wzxy3wGrPYGOf8dGIAhGqu RhN0DsQigD1d7281KhHySAOn8Ldn26IUncgaDklFJpGCHzT7oMC3yIpwFLFmrbWPxTHuwk GOwyMq35WmUjXRJlAIbdoWVSrgb+lCaJ1bwmHwref9cxQSAbilPRpk6sNIP2tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747873398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1hgYVAx7FEiTEOI+n7z0L2qufu8id6z/yMxghTMquY=; b=ZuwT2WBJ897b03vTRCPY0102PxIFFTGv0VAu109j0gGl/8yB2kvQ10IJKKyM9PnKnceifw 8tfS9iAlulplzKEr3z/PxK+0abfPce2MMOOpt28dzAzSZ8XVgKkxHrsl71HJ2z5q5QM2W2 9fn6XoHh9y1SEhd9banaLt6rcJOXmtEovVCVKvAgge+AhvIUcSAGM2yAmL2dFQPm80hZdF ANqNW8U+UaIP6n5Mvbb7kF5sYFReg1prjhzoPwcVZI9Apg+ZkWjeESV6MixkMLif7rUae/ KSR3J/lB67Ksf1IJVkbz4fkpNX+RS9MQR0QbJAV1+2KCjKiLVhFQlK4zcs3mgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747873398; a=rsa-sha256; cv=none; b=kBzgZulREsuWdTcCFtA9I5vXNoH8cUP7+LnsKu0jQCI0uD2D8vo1diM0GScGfvh6DlEwqz Uzd+K/2lJ2TiEKrlPS+p4J/vkSEKZcc0thkMCN5335TsAHkQ6NRv92fs7g5H5271gPv+G6 EMcH9vGpZUt5acLwB1qGBiJ7O86zkHHMWDo2PSvn1s6mRdyvUiK3LwDr7dYle6DZa5o6+H HSaq8Jeg+xjCSehFXv3Khzxd1qNaCCf0nc+b0cMBxotJJGL/vsBDgKd/5cmZV8mdwdlxWp BIeNw0uZnloBwP1jOQyOY7r/EeKSSHvV3sE64UItaESADKhETLaUXsXgVUlpEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2psy5nxtzxWP; Thu, 22 May 2025 00:23:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M0NIMW025907; Thu, 22 May 2025 00:23:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M0NIh1025905; Thu, 22 May 2025 00:23:18 GMT (envelope-from git) Date: Thu, 22 May 2025 00:23:18 GMT Message-Id: <202505220023.54M0NIh1025905@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: f31ac06711e6 - stable/14 - mtkswitch.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f31ac06711e69aed7cb4b38d8eb2aba2d7149ed8 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=f31ac06711e69aed7cb4b38d8eb2aba2d7149ed8 commit f31ac06711e69aed7cb4b38d8eb2aba2d7149ed8 Author: Alexander Ziaee AuthorDate: 2025-05-19 19:42:01 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 00:22:38 +0000 mtkswitch.4: Initial manual page Add a stub manual only saying what it is, how to include it, what is supported, and since when. This plugs the mtkswitch driver into the manual subsystem and the release hardware notes. MFC to: 14.3 MFC after: 3 days Reviewed by: adrian, carlavilla Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50412 (cherry picked from commit 37f00bc257d0e785fad1d0ffbd7dcbf09e863417) --- share/man/man4/Makefile | 1 + share/man/man4/mtkswitch.4 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 980fde8d3868..304a73f7b6f6 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -328,6 +328,7 @@ MAN= aac.4 \ mrsas.4 \ msk.4 \ mtio.4 \ + mtkswitch.4 \ multicast.4 \ muge.4 \ mvs.4 \ diff --git a/share/man/man4/mtkswitch.4 b/share/man/man4/mtkswitch.4 new file mode 100644 index 000000000000..c879df161791 --- /dev/null +++ b/share/man/man4/mtkswitch.4 @@ -0,0 +1,45 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 19, 2025 +.Dt MTKSWITCH 4 +.Sh NAME +.Nm mtkswitch +.Nd MediaTek/Ralink Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd device etherswitch +.Cd device mtkswitch +.Sh DESCRIPTION +The +.Nm +driver supports MediaTek/Ralink Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +MediaTek MT7628 (5 port Fast Ethernet) +.It +MediaTek MT7621 (5 port Gigabit Ethernet) +.It +MediaTek MT7620 (5 port Fast Ethernet) +.It +Ralink RT5350 (5 port Fast Ethernet) +.It +Ralink RT3352 (5 port Fast Ethernet) +.It +Ralink RT3050 (5 port Fast Ethernet) +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 11.0 . From nobody Thu May 22 00:23:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2pt10831z5wml0; Thu, 22 May 2025 00:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2pt00VXJz3qLk; Thu, 22 May 2025 00: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=1747873400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fXN5yl1Ac05mFyDj++q1d6qAHJw931DzffD6YyKnyVI=; b=ZEdJG7dUZ9WVG4mv8kJQRVbAJLccLCpcbtXVjCFzjb6UT3mvzEv3OgeFKIsXbc11dGlyHX gW+Gc8FdaSOjRPInRNb4FcYXbE9ean6TnZIiTylNNnBPHPMdJfesy7XZ3Gv2E7waOctpEs rXHXUxit8OqSweqFoIrexDWYvEumXzlC4DEWk95x0HSHEWyp/rqB4jxXUBurEZc8P/8PFD A7z7qyLJhpk4nrav4w61kbQU0Naok+WXcHf7KurZlPRkGh62x2DtJdS97HmRCJt/+qdkSh q4uPvdjIx+Ngsqyu41iUT+OaGc4qk0nB2CzqEn2+lllKH/xPOwULviEOKq1Vkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747873400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fXN5yl1Ac05mFyDj++q1d6qAHJw931DzffD6YyKnyVI=; b=mqIGjfbM19ZARWqrdtxk+0W4OPHeE/LZc2CVlW+gdW2wQ1nzkALxkXeCaHanMaZOJhqmmf y+ecAYcKjbWvYEzH1YTR42Giqe/p+eVzDKiz11MlE3cWtoA+ey1hjbaTC4LS1/lmXIDR+b VgsLy2PZrDAbVSdOniQPVUQD6LVkU7GkFSQXpVCRYJh96yvCkiJRKHJSF5vBOTsfkO5/+J D65jaFWQC0qIuWrz2p1YZmJBlbKOJvagB4P2AJq8Ec6OMyAPZsH6e/+LDegc1rgvMOTiGW +KDWk1s5rqKCfs94uYhWXR8jq1bswC9D5QtgBbt6XE/gG15uteIWcmO4VsOEWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747873400; a=rsa-sha256; cv=none; b=kZf0iBk0Fp6IvajRpzFHuJSOAh9W5lSea2cZcocmhF6BW36zYX9UI4JixiO2/tH2tA+Aud dsitpsta/4Kc8ld5Vy81vwq4X/j97Uyd5dmvHobw0IabMOE//Tc6+DX/MCkDstNdetPzLg 3yHJ8mRdXutyKbOQ99cEmr8imkmALWbvlCNm+ZTyQ39KWpG4XemgauJqhURVIwhzwqibL2 PD2xGk2UwGNcss/Znx+DIqJQkFv9mhqkRPgPHZbcpywpH8M8mCNYZ0XE6pEheca+Ul6YkE ocQx7SpEr7jJsENW4KRq7IN2M6eakulO5J8r4CF5k+MJXYpMaIQiXW8ETM/zRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2psz6T2KzxhJ; Thu, 22 May 2025 00:23:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M0NJtf025940; Thu, 22 May 2025 00:23:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M0NJuF025937; Thu, 22 May 2025 00:23:19 GMT (envelope-from git) Date: Thu, 22 May 2025 00:23:19 GMT Message-Id: <202505220023.54M0NJuF025937@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: ded154a1df97 - stable/14 - ip17x.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ded154a1df97e3340f129394cbcaa1a50439d1bf Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ded154a1df97e3340f129394cbcaa1a50439d1bf commit ded154a1df97e3340f129394cbcaa1a50439d1bf Author: Alexander Ziaee AuthorDate: 2025-05-19 19:40:02 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 00:23:03 +0000 ip17x.4: Initial manual page Add a stub manual only saying what it is, how to include it, what is supported, and since when. This plugs the ip17x driver into the manual subsystem and the release hardware notes. MFC to: 14.3 MFC after: 3 days Reviewed by: adrian, carlavilla Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D50411 (cherry picked from commit f750a114d2c50c4d25d304dbf1dabfd3ae3aa013) --- share/man/man4/Makefile | 1 + share/man/man4/ip17x.4 | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 304a73f7b6f6..3521444e29f5 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -238,6 +238,7 @@ MAN= aac.4 \ ${_io.4} \ ${_ioat.4} \ ip.4 \ + ip17x.4 \ ip6.4 \ ipfirewall.4 \ ipheth.4 \ diff --git a/share/man/man4/ip17x.4 b/share/man/man4/ip17x.4 new file mode 100644 index 000000000000..ac5c989020a5 --- /dev/null +++ b/share/man/man4/ip17x.4 @@ -0,0 +1,42 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 18, 2025 +.Dt IP17X 4 +.Sh NAME +.Nm ip17x +.Nd IC Plus IP17x series Fast Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd device etherswitch +.Cd device ip17x +.Sh DESCRIPTION +The +.Nm +driver supports the +IC Plus IP17X series Fast Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Fast Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +IC Plus IP178C +.It +IC Plus IP175D +.It +IC Plus IP175C +.It +IC Plus IP175A +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 10.0 . From nobody Thu May 22 02:42:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2syZ71FLz5wx29; Thu, 22 May 2025 02:42:30 +0000 (UTC) (envelope-from rpokala@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2syZ5r8Sz3mtv; Thu, 22 May 2025 02:42:30 +0000 (UTC) (envelope-from rpokala@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747881750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aLjWoJ6YZbCeFxq88hhkdpmz0a+A0WY9zv6Zw5BL52o=; b=eb2JllwSydiQ0xBRi+LySf82YGtQvCvl/5Q4IdHYYbKYOgNRL/xaQUmz0oBG/5AizUiqnw HMIZZO5BEOV6bN7Zhc2tnx2Na7TumAHUigMDUtAecpO9UebyEpFXBSDYpUKWwrgKmSdC15 JpFNJUXgGSrW87L+YA0rhJLnDE0pCEdv/kl/+UucG9RnvgZHLYCDr0vz0WKBpmDaaoMmf/ mgA3UOAGQDwDCQRZL04CnQTTCf9n3kEhFmGnirvYtPKQL8h3pbLTWfBk611icSv3znIA8e blIc3INwTDy6OhB1lsB9202GdSS0xkFmXNKynqeStqgW6OEnMY99+x7A4ujoKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747881750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aLjWoJ6YZbCeFxq88hhkdpmz0a+A0WY9zv6Zw5BL52o=; b=JPDFqsI2j1l3N6ysHl+eMf+aaYIg8maPUt17qDL2dOGUKNixhWNOzI+849zDAfEtC4FSEI FC14OKn+4Qtr/5I2C6r6pn5TP692rbBZDcPcueiX0S/zEbzVHRELvWYZMyMq5gEHr9WCeq HnkUgQHlQl382UQ62HnmlI4kOLjmnTOALFEJpmNJy+LDTvIl6UchqE1t2hjh05bEu+IpMr iutDtG5QwCCA/hLM73y+pJPZwCL8hLXeCJG25yum4sx27HJU6SQkiW8FMHe9VIKMzMmhpb AdX9TJA+dcuyRWsckUDZiPdkXypevKeoXt6YQRlyQ5jT99mm3O2kxK6bOhA+sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747881750; a=rsa-sha256; cv=none; b=arHE8UkNu2VL6ikUYvaSQQ60VEQH+HAZjfx5tzloCtBmdg3YXbIIiYtzwGOQjFQAhM6UR8 vJAbzkwHMCesGdRYXBq/GlCwla1+GdR2nmjbM/7LNrVAB2Z6wvzrcUOego+qjSf83VzmW9 ZCwLnWtJsJlgzSn/ZAoOFMYBI8bwelAFWxa8DxlEwwPTjbHKw66ZITW4GXwdrBSFIIGp30 fOkem+JMZbZPsxKuf4M1HAjJru/mbRJK3dmUVDLc2ImazWPsZdSlDMg8FsIPA8VXi8O80s ukSrc8Dnn1BPVMRhyj6AIT9KkP+ov+87ts4ZdWu0X3UBYs24LsRmgRegNNxXvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [172.20.3.247] (unknown [50.222.117.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b2syZ4F71zMx5; Thu, 22 May 2025 02:42:30 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.97.25051816 Date: Wed, 21 May 2025 22:42:27 -0400 Subject: Re: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush From: Ravi Pokala To: Andriy Gapon , , , , Message-ID: <37BF51C0-C631-493F-B3AF-3AA9FC32551B@panasas.com> Thread-Topic: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush References: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> In-Reply-To: List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable > Additionally, ns8250_bus_transmit uses ns8250_drain(UART_DRAIN_TRANSMITTE= R) in broken_txfifo case. FWIW, I just had to enable the 'hw.broken_txfifo=3D1' workaround on physical = hardware; see [Bug 286703]. Thanks, Ravi (rpokala@) =EF=BB=BF-----Original Message----- From: > on behalf of Andriy Gapon > Date: Tuesday, May 20, 2025 at 17:12 To: >, >, >, > Subject: Re: git: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR= _TEMT for checking tx flush On 20/05/2025 21:28, Michal Meloun wrote: >=20 >=20 > On 20.05.2025 16:57, Andriy Gapon wrote: >> The branch main has been updated by avg: >> >> URL: https://cgit.FreeBSD.org/src/commit/? =20 >> id=3D0d2fd5b99c95329085d0700a4dd38507a054a50d >> >> commit 0d2fd5b99c95329085d0700a4dd38507a054a50d >> Author: Andriy Gapon > >> AuthorDate: 2024-11-10 11:15:30 +0000 >> Commit: Andriy Gapon > >> CommitDate: 2025-05-20 14:55:18 +0000 >> >> ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush >> LSR_TEMT bit is set if both transmit hold and shift registers are >> empty, but the flush command flushes only the hold register. > I don't think that's true.=20 I am not sure to which part of the commit message your "that" refers to, so= I'll=20 try to justify everything. T_H_R_E - transmitter holding register empty T_EMPT - transmitter empty All hardware documentation that I have around describes those bits like tha= t. We do not have direct control over the shift register, hardware clears it a= fter=20 sending. > Imho, ns8250_flush() is used also before changing > baud rate, so we need to ensure that all bits are flushed, including the > transmit register. That's an interesting point. My intention was actually to avoid bogus "FCR is broken" message which can=20 happen because of a race between the UART transmission and code execution. I think that LSR_THRE is proper for checking that FCR works. But to actually detect and ensure that all transmission has completed we sh= ould=20 use LSR_TEMT like you say. At the same time, this UART flush is not like stdout flush, of course, wher= e we=20 ensure that all buffered data is transmitted. For UART, we just clear the F= IFO=20 and the holding register. So, I am not sure if polling for empty transmitte= r is=20 important. Besides, I do not see the code which would flush transmitter when parameter= s are=20 changing. I can find only two places where UART_FLUSH_TRANSMITTER is passed: - ns8250_bus_attach - ns8250_bus_probe Additionally, ns8250_bus_transmit uses ns8250_drain(UART_DRAIN_TRANSMITTER)= in=20 broken_txfifo case. P.S. Maybe I don't understand the code, but UART_FLUSH_RECEIVER in ns8250_bus_at= tach=20 looks strange to me. It's one thing to flush data while in the loop-back mo= de,=20 but I think that in ns8250_bus_attach the hardware is fully set up to recei= ve=20 data from the outside world. So, how can we hope to drain all of it and to=20 reliably detect whether FIFO flushing works. I mean that something on the o= ther=20 end could be continuously transmitting. --=20 Andriy Gapon From nobody Thu May 22 03:02:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQ75vvTz5wxnt; Thu, 22 May 2025 03:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQ75HZDz40sq; Thu, 22 May 2025 03:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMhn2pXAJRT47cUky081bLWSDRcGR6c6+OsGca0bpWo=; b=WdH40XRiZ6Lut88cxqgb88qHmDcrThzUAZo0gpkQKSZJEMgyE6u5rly650U49nzf7yBlRF an/4ZA0zwKTfoDYuxrhxaocPxYUWQd8P0HZ5arUGpB4frclkv/7HWGpXA/SvAFQbtg3FtZ 8pwNIhqtZ5Bkd4JAIBGor+xOegiEG+tIe10J+ip1utDFJ7tiy+b7E3LddBwGHvGhHgBUZn VqA88CeZbSx66e5OHdOwAiModZKrPmNtSUaVdbm7p2pGKpG8lo4JRKpHAKSzs3FLJKDixw 9qF3xb13UhzgF4yTxntlRC/T0cfC8v+6UJOTm9ijeF81AUXgv2tJmNJ8+nYNiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMhn2pXAJRT47cUky081bLWSDRcGR6c6+OsGca0bpWo=; b=cl80QGsJjfVIExw096bzCq7uHJZ57f1z+21YTQ35YPh+tGfKwpndvBCnaSmmQkw4NjxADY /chfCvPxl1nMlpgdnW+iQFIW5YiqkT6LavdXOj4wMdbs2tkWw8vL/duWS3hzQ2UhZmAYpe 2aMWhF5Q3bePh9NFsKV/PF8meXB3tkevg1F3+Sj2C1GUcLIW2q/Kk3Ct4CbtZuAKvdXE3X aczATZuiyCEszmATU0e+HzLowQp2hm0eP+PgYsrJ2ni7mw9f6ekzoFUe7xwbTpTC1UfXOi 78ThSZVkWR5F1JfAp21teRxVE9/Ulut28eJFkaD/LP1sXJB1vc9z0vjbmCcl7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882975; a=rsa-sha256; cv=none; b=Rq2c3mMvjGki5holKGfxI4lc5l3zcMMzRlrRUwCsiLdKF9M4QJ0joBrGIdf/0XcDmCHleC Z/TEZg/SD5JL+6TcNEYv/EgEL8s2UXaMKFLPi5GCa7okHoiVA7qOBxSqzSdBlJZaLBTl1R sQsUE668620nWBPjddF83ToWihlVgmFqu5Ku0bK3V7f3LNl6y5/0sE9RSd79y1E9Iur1Jt 35yqiGQ3Gce/XWpb5ZnlofLv7vqQTaoiIs6OQYBjI8N5gEjSE01FYBdPVAXMfV5bQ2lSNK 0vZYpWIsT+KGuDE3BBMS/zQoboDh6Y/rAPUAhg4soMF5vTGWFN+cYsQviHHxVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQ74tNnz12Pp; Thu, 22 May 2025 03:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M32tMj026281; Thu, 22 May 2025 03:02:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M32tkl026278; Thu, 22 May 2025 03:02:55 GMT (envelope-from git) Date: Thu, 22 May 2025 03:02:55 GMT Message-Id: <202505220302.54M32tkl026278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 66a6607089d8 - releng/14.3 - e6000sw.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 66a6607089d8fcbd32bd536d93d7d66dd11cd14f Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=66a6607089d8fcbd32bd536d93d7d66dd11cd14f commit 66a6607089d8fcbd32bd536d93d7d66dd11cd14f Author: Alexander Ziaee AuthorDate: 2025-05-12 00:52:19 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 02:56:59 +0000 e6000sw.4: Initial manual page For inclusion in the HW relnotes. MFC after: 3 days, note removed entries which didn't mfc Reviewed by: adrian, ivy, mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50293 (cherry picked from commit 6da793a8caa15ee2cbb984ea39ac87c6cd2fdf63) (cherry picked from commit d0e29f92f7a252b382d76c1e6bac33d8424af5fa) --- share/man/man4/Makefile | 1 + share/man/man4/e6000sw.4 | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 41fd7d36a74d..980fde8d3868 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -148,6 +148,7 @@ MAN= aac.4 \ etherswitch.4 \ eventtimers.4 \ exca.4 \ + e6000sw.4 \ e6060sw.4 \ fd.4 \ fdc.4 \ diff --git a/share/man/man4/e6000sw.4 b/share/man/man4/e6000sw.4 new file mode 100644 index 000000000000..4c10a99b249a --- /dev/null +++ b/share/man/man4/e6000sw.4 @@ -0,0 +1,39 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 10, 2025 +.Dt E6000SW 4 +.Sh NAME +.Nm e6000sw +.Nd Marvell 88E6000 series Gigabit Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd etherswitch +.Cd e6000sw +.Sh DESCRIPTION +The +.Nm +driver supports Marvell Gigabit Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Gigabit Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Marvell 88E6190 +.It +Marvell 88E6176 +.It +Marvell 88E6172 +.It +Marvell 88E6341 +.It +Marvell 88E6141 +.El +.Sh SEE ALSO +.Xr e6060sw 4 , +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 From nobody Thu May 22 03:02:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQ914Xlz5wxdh; Thu, 22 May 2025 03:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQ902gsz40yL; Thu, 22 May 2025 03:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jBNjPeRM99lywF6ZWHywTZYA2sz8+Bk0o95aGHnKwBI=; b=Gs18y7YSXnCxuqLyUvA/1BnrWAStF3M7+C8pR6vSmzo09yR/20g/hY65wdLcCjrS+BSMC/ mK49xOzwOuOczU+fD8Y4B339j0MGFOWdfTJ+XWArxuIPbkJuBtUBizvbm49magd5Gqz8L3 010V/61dA9eY+tW/khgIP6zfj4UIubReQSJNcPoK7a3OPP5E8LY5OkQohiY0u/Bmulq17L Avo5L7O1HkwsmhHUK5AXD0CoNK0hQPwNPU5I+KDi8CDXJIdUHtu0LStG3sagkyt1iPsphJ xMJCB39qcLrBZYr/5xlq9FyLn4hmCBh7L5qBmW79JQPkkpEsXo+oWvNfNwZI2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jBNjPeRM99lywF6ZWHywTZYA2sz8+Bk0o95aGHnKwBI=; b=DGilfa+BlgaZDuueexvuS3E7WMVmjfQJk09Ub3AjBbpGsOldxk+C2Sk/Luq2SfImJaFSNw 535b3HOHVmJKAu5AVNbA9MBo0Eng0d2Ac10+pItgvFdLrIzRLFYnZ8od4vbcieLxr0Sl7F Xz/zwM/gOtgBUPv/xSeu8z7+BNjJvuK6vVr1fehoQVPl6+AJ/b8af689FxF/nwMCUPpdN4 rYnQZViXJa8cHASRtQMMsOyIkZU7Eua5sBgw7kaYnrgQwtojw+QgnT2R8UGcYfh+RSlEF7 VcdqIoMlOUGjWgQuRS2g7Xkgs2ZLVpVKJfcsj/wxfsKwXlQ0QZk2mwV/PAydGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882977; a=rsa-sha256; cv=none; b=eYa+H3llbIuJBYOxs/It6G7n8dC+tJiguh+/zbehkPMgRYwCWyq/ekkAIHdtfgTMT5Q9Ew a5ic+vq5Aui2EB/CT3tXr64eyz12/1BYncSz1us3DBde5upvek05kiXTsXZjPOy16wmnfH 9z6IqUc+i7C9vU5on3AVLOduRjO5FSRBX9q8p3zYg8asN/7Xc9haFcJk8UziPQTvIXkTO3 22r1I2YxfbOFG4QUzXnuDrvzLO8pt4QsPxVFeHn31VzxKjNZ1rh7+4VvCoCr4gkqOcqtme clHj2U2E8Ji6ZWx0+JG53gP2qveyeUBeT+kH0wgKbGGScrmLU92W7j5vyxJnwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQ85PHSz12S9; Thu, 22 May 2025 03:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M32uVK026322; Thu, 22 May 2025 03:02:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M32uZs026319; Thu, 22 May 2025 03:02:56 GMT (envelope-from git) Date: Thu, 22 May 2025 03:02:56 GMT Message-Id: <202505220302.54M32uZs026319@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 5d9e62e1cd4a - releng/14.3 - cdboot.8: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 5d9e62e1cd4a4ca8f7b5c0416707d53fcd6d2955 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=5d9e62e1cd4a4ca8f7b5c0416707d53fcd6d2955 commit 5d9e62e1cd4a4ca8f7b5c0416707d53fcd6d2955 Author: Alexander Ziaee AuthorDate: 2025-05-09 17:38:25 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 02:58:21 +0000 cdboot.8: Initial manual page Add cdboot to the reference manual, fixing an undocumented bug where it is undocumented. There's almost nothing here, but that's better than "only imp and jhb know what this is". MFC after: 3 days Reported by: jhb, imp Reviewed by: mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50274 (cherry picked from commit ecdb0b79bf93a2b8392694bd266c5930ca42bab5) (cherry picked from commit d659366cc62a70b4863bddf226f6209d13ab65c0) --- stand/i386/cdboot/Makefile | 1 + stand/i386/cdboot/cdboot.8 | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/stand/i386/cdboot/Makefile b/stand/i386/cdboot/Makefile index 7923e258fb66..ef6ae3bcb32a 100644 --- a/stand/i386/cdboot/Makefile +++ b/stand/i386/cdboot/Makefile @@ -4,6 +4,7 @@ PROG= cdboot STRIP= BINMODE=${NOBINMODE} +MAN= cdboot.8 SRCS= ${PROG}.S CFLAGS+=-I${BOOTSRC}/i386/common diff --git a/stand/i386/cdboot/cdboot.8 b/stand/i386/cdboot/cdboot.8 new file mode 100644 index 000000000000..6163bd7b4a7a --- /dev/null +++ b/stand/i386/cdboot/cdboot.8 @@ -0,0 +1,21 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 9 2025 +.Dt CDBOOT 8 i386 +.Os +.Sh NAME +.Nm cdboot +.Nd find a bootloader on ISO-9660 +.Sh DESCRIPTION +.Nm +is a small boot block which finds +.Xr loader 8 +on a +.Xr cd9660 4 +file system. +.Sh SEE ALSO +.Xr cd9660 4 , +.Xr loader 8 From nobody Thu May 22 03:02:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQB68Wwz5wxxL; Thu, 22 May 2025 03:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQB0jSZz4194; Thu, 22 May 2025 03:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JL3pzLUIitLcHqA+j9W7KF5vJp/q2zFaC9MO7j1yCmg=; b=ez1JNe33fsnNXUY0VYuPSZqYYigLpb4PS0PqHvGjJaLBOFmi+LN7a6sZqN7sWqCBKjvR8O CWIuhapktu4hcwFOpr1QCOdJqxpYxVnoC8l7WFoBC8tODdsWsu1Qg1V2uaG5PRDmZhvHFc cOV/9T1yFnSSuel/kZrJ8ja0pKVLBbXUW1OBaz8sMr9zoHnUyVLgh495mx11Sy/LaHPTZf c/8IYMHwmBu452EyF3TP7k91SsA0KyYYVUcyjpRymP8OjZ468GroxU5AvqYeww0G8ArU71 bkvcHuoNkWvYcWp7hIZmBEbHQf8Tu/E04jWv4W9akywZEWoLFpUTyJIQ6FcjNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JL3pzLUIitLcHqA+j9W7KF5vJp/q2zFaC9MO7j1yCmg=; b=NRAN/jYbS/atQAOsJQv7bOmfSlonodsEpDr56JWuqdqvZndUsek7oSG7Q5TUgKz8HR/pKe H8FcJnlUjlK0pATTsd5JXQKTCXmPclutZ6ZZlHOfZKOOL7COXxTgdij6LYkQYPBv5nOAap QxsBb1cscAb9BCNqPLzDE0KmiKQKCENBQMXFpDTZuEnZr9Uzkz2UJpFxiZpEXqKxo4+HO0 DzjiJuYPshVQyTpfA4MWUy94cR7TlRr57PS+TAv1aCbdclkWO3jOjyiHV20bIm5IocDnNk NXIPX12LII3QJ8RG2jFq3+zrw0pQiMBDRpmmYQY9wL9v5kxdowqtgNN/EYDZ4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882978; a=rsa-sha256; cv=none; b=Pd0utwzFH7qwvvixnLagxR/drm1xdqlBwq1rJgnYsAups2Qp5em4CeKQOT3FX/Z0wmygj4 tkft73wOsJRR/nAOTNvoHjHCTh9xd4Y0BtvE7dzzQFArKKIEfUsKv7lxaa4wlRIfVA+eoF Pqb11l8kCeV8lSwiLtA81GCegbn3EWH1ITCl1yWNgruxWywyY5eRCafv0mxsLJJ2zy4nV7 Fc9IPmjL99k7G2yIJIR/zz92uBoioRNr+6XBzfa0vUW3xDgt9DYdPasaCF8QTUT2ITC+wn JzaSCudtsZE7FrSKZWmVUrLG66aB8c/ld7+wjqlvasLLwMjIpbCVo5IuXDIRvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQ95xZqz12yJ; Thu, 22 May 2025 03:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M32v1x026357; Thu, 22 May 2025 03:02:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M32vOS026354; Thu, 22 May 2025 03:02:57 GMT (envelope-from git) Date: Thu, 22 May 2025 03:02:57 GMT Message-Id: <202505220302.54M32vOS026354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: f50ca9a01b21 - releng/14.3 - stand/lua manuals: Describe better List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: f50ca9a01b210f018fb562ceb72fe5442fb57d7f Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=f50ca9a01b210f018fb562ceb72fe5442fb57d7f commit f50ca9a01b210f018fb562ceb72fe5442fb57d7f Author: Alexander Ziaee AuthorDate: 2025-03-29 05:14:19 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 02:58:35 +0000 stand/lua manuals: Describe better The lua boot loader module manuals were getting pulled into search results for FreeBSD, but not for "boot" or "loader". Reword them to increase clarity for boot or loader searches, as well as the FreeBSD search term which we've been scoping to system topic overview manuals. MFC after: 3 days Reviewed by: imp, mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Pull Request: https://github.com/freebsd/freebsd-src/pulls/1628 (cherry picked from commit 5d59c1b4f14e2fa6388b1d75ee3243085f1c69f2) (cherry picked from commit 651102873e96174e4e799d4e06538e1d841e182a) --- stand/lua/cli.lua.8 | 4 ++-- stand/lua/color.lua.8 | 4 ++-- stand/lua/config.lua.8 | 4 ++-- stand/lua/core.lua.8 | 4 ++-- stand/lua/drawer.lua.8 | 4 ++-- stand/lua/gfx.lua.8 | 4 ++-- stand/lua/hook.lua.8 | 4 ++-- stand/lua/loader.conf.lua.5 | 2 +- stand/lua/loader.lua.8 | 4 ++-- stand/lua/menu.lua.8 | 4 ++-- stand/lua/password.lua.8 | 4 ++-- stand/lua/screen.lua.8 | 4 ++-- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/stand/lua/cli.lua.8 b/stand/lua/cli.lua.8 index 4077ca6b0b56..aee1d3d53579 100644 --- a/stand/lua/cli.lua.8 +++ b/stand/lua/cli.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 24, 2021 +.Dd March 29, 2025 .Dt CLI.LUA 8 .Os .Sh NAME .Nm cli.lua -.Nd FreeBSD Lua CLI module +.Nd bootloader command line interpreter module .Sh DESCRIPTION .Nm contains the main functionality required to add new CLI commands, which can be diff --git a/stand/lua/color.lua.8 b/stand/lua/color.lua.8 index 8a31d2034a48..9a3b9b1b9385 100644 --- a/stand/lua/color.lua.8 +++ b/stand/lua/color.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt COLOR.LUA 8 .Os .Sh NAME .Nm color.lua -.Nd FreeBSD color module +.Nd bootloader color module .Sh DESCRIPTION .Nm contains functionality for working with colors. diff --git a/stand/lua/config.lua.8 b/stand/lua/config.lua.8 index b2b1122285eb..7e8863203446 100644 --- a/stand/lua/config.lua.8 +++ b/stand/lua/config.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 17, 2020 +.Dd March 29, 2025 .Dt CONFIG.LUA 8 .Os .Sh NAME .Nm config.lua -.Nd FreeBSD config module +.Nd bootloader configuration module .Sh DESCRIPTION .Nm contains configuration and module loading functionality. diff --git a/stand/lua/core.lua.8 b/stand/lua/core.lua.8 index 208dbf5e12c9..de43d3e2b220 100644 --- a/stand/lua/core.lua.8 +++ b/stand/lua/core.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 28, 2023 +.Dd March 29, 2025 .Dt CORE.LUA 8 .Os .Sh NAME .Nm core.lua -.Nd FreeBSD core module +.Nd bootloader core module .Sh DESCRIPTION .Nm contains core functionality that does not have a more fitting module. diff --git a/stand/lua/drawer.lua.8 b/stand/lua/drawer.lua.8 index a3a4865d3efe..91738f4b2434 100644 --- a/stand/lua/drawer.lua.8 +++ b/stand/lua/drawer.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt DRAWER.LUA 8 .Os .Sh NAME .Nm drawer.lua -.Nd FreeBSD menu/screen drawer module +.Nd bootloader menu/screen drawer module .Sh DESCRIPTION .Nm contains functionality for drawing and manipulating the menu, logo, and brand diff --git a/stand/lua/gfx.lua.8 b/stand/lua/gfx.lua.8 index 82d3f90f4af7..75f258026804 100644 --- a/stand/lua/gfx.lua.8 +++ b/stand/lua/gfx.lua.8 @@ -3,12 +3,12 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd February 6, 2024 +.Dd March 29, 2025 .Dt GFX.LUA 8 .Os .Sh NAME .Nm gfx.lua -.Nd Fx Lua gfx module +.Nd bootloader graphics module .Sh DESCRIPTION The built-in graphics related Lua bindings for the .Fx diff --git a/stand/lua/hook.lua.8 b/stand/lua/hook.lua.8 index f0e20153a924..91d5f76b6e1c 100644 --- a/stand/lua/hook.lua.8 +++ b/stand/lua/hook.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 28, 2020 +.Dd March 29, 2025 .Dt HOOK.LUA 8 .Os .Sh NAME .Nm hook.lua -.Nd FreeBSD hook module +.Nd bootloader hook module .Sh DESCRIPTION .Nm contains functionality for defining hook types and attaching hooks. diff --git a/stand/lua/loader.conf.lua.5 b/stand/lua/loader.conf.lua.5 index 7fad7d2f78dd..509944ab6598 100644 --- a/stand/lua/loader.conf.lua.5 +++ b/stand/lua/loader.conf.lua.5 @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm loader.conf.lua -.Nd Lua-based system bootstrap configuration file +.Nd system bootstrap Lua configuration information .Sh DESCRIPTION When the lua-based .Xr loader 8 diff --git a/stand/lua/loader.lua.8 b/stand/lua/loader.lua.8 index e5aee7e8602d..ffee46526c9f 100644 --- a/stand/lua/loader.lua.8 +++ b/stand/lua/loader.lua.8 @@ -3,12 +3,12 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd February 6, 2024 +.Dd March 29, 2025 .Dt LOADER.LUA 8 .Os .Sh NAME .Nm loader.lua -.Nd Fx Lua loader module +.Nd bootloader Lua binding module .Sh DESCRIPTION The built-in Lua bindings for the .Fx diff --git a/stand/lua/menu.lua.8 b/stand/lua/menu.lua.8 index e2a0ff09ffd9..e2e32efdf3b4 100644 --- a/stand/lua/menu.lua.8 +++ b/stand/lua/menu.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 31, 2021 +.Dd March 29, 2025 .Dt MENU.LUA 8 .Os .Sh NAME .Nm menu.lua -.Nd FreeBSD dynamic menu boot module +.Nd bootloader dynamic menu module .Sh DESCRIPTION .Nm contains the main functionality required to build a dynamic menu system. diff --git a/stand/lua/password.lua.8 b/stand/lua/password.lua.8 index 1fbe395ab0db..34623c001206 100644 --- a/stand/lua/password.lua.8 +++ b/stand/lua/password.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt PASSWORD.LUA 8 .Os .Sh NAME .Nm password.lua -.Nd FreeBSD password module +.Nd bootloader password module .Sh DESCRIPTION .Nm contains functionality for prompting for and checking passwords. diff --git a/stand/lua/screen.lua.8 b/stand/lua/screen.lua.8 index 691af5bf0758..a41ce6faf08b 100644 --- a/stand/lua/screen.lua.8 +++ b/stand/lua/screen.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt SCREEN.LUA 8 .Os .Sh NAME .Nm screen.lua -.Nd FreeBSD screen manipulation module +.Nd bootloader screen manipulation module .Sh DESCRIPTION .Nm contains functionality for manipulating the screen. From nobody Thu May 22 03:02:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQC2DxCz5wxhH; Thu, 22 May 2025 03:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQC0Fxyz414m; Thu, 22 May 2025 03:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4Nw3XTIeUUhYT2SHfe+t2Nl3eYQeJ5ojAXY8MICYiw=; b=cyMFyRG35JzY4MXl+WyjAuBvmeP6nzqtENqGJHZegaIGqNj0As7iYslD3O7XVvF3FLiX08 WnNvkP535mbeivStwVUzKj+kvOncoXdXINQjOxZ6SKjIu0lJz4Yd885FlLJE4371eV4SuJ CBjwJDXNzSdfLECunUooAAXCRUz7BIqk5ae+9MMQ7GfWCBWzaZyU4DL8V+7JPc2XvzGrC9 PfArDY5EIrZhhWpxAKvl1qp+uVyJOM+L6gn7gUQ4kO0OfU83aI65rugduNpd85M5FrkgfG Lzi2go7M3nI1UWiW9RSnUgc5vvy4s/ULSkZooOQfKHxDipxICgzuJiw5j40jAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y4Nw3XTIeUUhYT2SHfe+t2Nl3eYQeJ5ojAXY8MICYiw=; b=MbxwTav6X3ZENLmX4lvUm97Wpiso9Asqq+kA/WS5n3gQp+SubXsMdGgeNfgFPGwRmFQwB7 YZQ9MgmU5mhjjAn9FewL9m/Zw/Jq1LF1KdYZc/d2Cud/j1KadTR2PkHBVpH1kPYoG68wu2 c9ZaMuD41uYOv+ECQyxi0Jm37kliSHRbP7oLnupsNOO7FNjKEHHRxRYewABVVBvYugGnA7 0SS0Tc+QOzzGPlj7uUjQvWRas/57aBtqb2bfSBw8m/M03sGzLyeoOZuWzc2cXa6z6ygb7x cgCYWjYKRPj8aWVpnZfNawr0rS/MNELE6wppTN2Hj4Ku/lHjPM6FiIgzsTzsMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882979; a=rsa-sha256; cv=none; b=uh/FkLcBc+uo3S2PKANws2fri7AEKZzCTrPqJlW4aNJl6l/At8m5qFuFjZ6e26pHAtauXO qfAQRGaUdlcDn73naOx4gRDx96xBSL/3jqC78mfETkYEsos750pwFGpzI/La21mAfjE3sb hty4q/Y8/DfTHfhkxjl+5KL0H3kxOHZckRnX3kP+XzoZi6kr+4Ljd1cTkuEm3/hApCqWUm T/Y4fm85mLPxOi2HeIXWq/8RzQE9y6bGtK+XOeBTF4277ZbkZ+LxRxSybXuaeTmZ8WPO55 FvlSXJHHWiHKipM1McdpdzYeAo5pWpOuk18xD+mqemy8xtj3Sjxk+YHq1V623g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQB6xvWz12sq; Thu, 22 May 2025 03:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M32wB8026394; Thu, 22 May 2025 03:02:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M32wda026391; Thu, 22 May 2025 03:02:58 GMT (envelope-from git) Date: Thu, 22 May 2025 03:02:58 GMT Message-Id: <202505220302.54M32wda026391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 5dbcb9bfd02c - releng/14.3 - arswitch.4: Improve title and add HARDWARE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 5dbcb9bfd02ceaedc942ed892488c0c770c213eb Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=5dbcb9bfd02ceaedc942ed892488c0c770c213eb commit 5dbcb9bfd02ceaedc942ed892488c0c770c213eb Author: Alexander Ziaee AuthorDate: 2025-05-12 01:37:17 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 02:58:47 +0000 arswitch.4: Improve title and add HARDWARE For visibility in apropos and inclusion in the hardware release notes. MFC after: 3 days Reviewed by: adrian (previous), mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50322 (cherry picked from commit 9692d5e15e9bd7e628b06d655522477ce8c5b6fe) (cherry picked from commit 1343a5b616ec4e11047c5024bb844e7275f84ddd) --- share/man/man4/arswitch.4 | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/share/man/man4/arswitch.4 b/share/man/man4/arswitch.4 index 3ec7316ae6e7..5bcd6c6810ee 100644 --- a/share/man/man4/arswitch.4 +++ b/share/man/man4/arswitch.4 @@ -22,12 +22,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 8, 2023 +.Dd May 11, 2025 .Dt ARSWITCH 4 .Os .Sh NAME .Nm arswitch -.Nd driver for Atheros Fast Ethernet switch +.Nd Atheros AR8000 series Ethernet switch driver .Sh SYNOPSIS .Cd "device mdio" .Cd "device etherswitch" @@ -35,18 +35,8 @@ .Sh DESCRIPTION The .Nm -device driver provides a management interface to multiple Atheros -fast ethernet switch chips: -.Bl -tag -compact -width "AR8216" -.It AR8216 -Fast Ethernet Switch -.It AR8226 -.It AR8316 -Six-port Gigabit Ethernet Switch -.It AR8327 -Seven-port Gigabit Ethernet Switch -.El -.Pp +driver provides a management interface to Atheros AR8000 series Ethernet +switch controllers. The driver uses an .Xr mdio 4 or @@ -70,6 +60,23 @@ and are mutually exclusive. .Pp Setting the switch MAC address is not supported. +.Sh HARDWARE +The +.Nm +driver supports the following Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Atheros AR8327 Seven-port Gigabit Ethernet Switch +.It +Atheros AR8316 Six-port Gigabit Ethernet Switch +.It +Atheros AR8236 Six-port Fast Ethernet Switch +.It +Atheros AR8226 Six-port Fast Ethernet Switch +.It +Atheros AR8216 Six-port Fast Ethernet Switch +.El .Sh SEE ALSO .Xr etherswitch 4 , .Xr etherswitchcfg 8 From nobody Thu May 22 03:02:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQD4Q1gz5wxxQ; Thu, 22 May 2025 03:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQD14VGz40rC; Thu, 22 May 2025 03:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RRT/vLhlgMfdFybL90x0wXBzIordeACh75wDXg5yWcI=; b=r3+NVOYEzGupNwroZwowuMhY++nhkX3PWAAV/M3anj+Wcl5bPMSb2WnltDLNdapb2jnC8V g7D8ioda09mwA+dDkVNePfZAVgRNOeIYBfu1roxN9NpY3KMFrJERZi6eamNrbNcFrTyH35 Kus5tV/SRaFO+0tL6KvaR2Jc0C1rhN0r1iqVEMwDMf3dwMa4CZ93tSlw62OwclTFbF0zvj C0p/0xmGUAwtdRXQzoCGqL9xhTgjH1NnAq6VJWoESEJXBAGxSAbUBLn2USEUmg/q3XcOyV GTj2sK+/5Wobr0ttYqsjKFs+0LG8ak5i5+4zRCWsZfZza8/fRkKKx+5yb6/t1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RRT/vLhlgMfdFybL90x0wXBzIordeACh75wDXg5yWcI=; b=snqknE5fwULMvUTZvxhPswAzEnkJzzbF1UOyYjmydw/4KMQMY1eQ/eVHIkYnWAv8awYI5Y hSR5bUc1b2bqwkUGVcEPLucEQ/Nhk9/OwEOrRmYF5pM7fy85duq+i73opQ7yNZxiT4DMXz gX83l3c14rTydB1trzfFopZUoJy7WFcve6vqmTqmzaWutK+c0L52tc75Yvs1SVcP/r/RUW Lk5zWcuiLK7lDFYLG221Xn9X8r8hCcp6q2NIra6HE5PWvZ91JCsxJbkgmf68SAPylpCuOO LGTiFVQvvVQCZRz4wORnmZ1jENGjAyKM6u+9rCMjFvIfGaFX2COanZ2Rt6PKGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882980; a=rsa-sha256; cv=none; b=VSxUITUQBFhvMIfv2YNMgpPMPmq1/qc+gjyUiXwjwd1tG4IYXVgpnKbOV9Hiz/1ZjgYgCG 4dk80jG9Q+TOjRCCf6AjNr3trxhWt9eQLCPzU//LTPELGk/1mf0x4YzhVB3LBTPqcs9o4l x1vYQNfZpFbSvh1raoeVnXeB2eiy1X9LDMYW8FSrpYMxFpFWM/hpfvKJZwSakVcNq7kqzN ffPqomof+b/rfFI94l+HEK1zBekqdN8hMEM3RMgolnL0oFC+yyIFxqfMZ1Zd5NhUI89jF8 RHhdpIzz395YYuZ+r4tNAN70Iiv3y2b/nI1CgQ6wMIxESYmJ+XQJQMdAaCaJHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQD0Jrcz12Pq; Thu, 22 May 2025 03:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M32xDb026429; Thu, 22 May 2025 03:02:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M32x08026426; Thu, 22 May 2025 03:02:59 GMT (envelope-from git) Date: Thu, 22 May 2025 03:02:59 GMT Message-Id: <202505220302.54M32x08026426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: fddd2c4d3789 - releng/14.3 - ar40xx.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: fddd2c4d37893dde3391d5c6d837e211483acad5 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=fddd2c4d37893dde3391d5c6d837e211483acad5 commit fddd2c4d37893dde3391d5c6d837e211483acad5 Author: Alexander Ziaee AuthorDate: 2025-05-12 02:22:59 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 03:00:12 +0000 ar40xx.4: Initial manual page For inclusion in apropos and the hardware release notes. While here, add xrefs to this page and the previous e6000sw in etherswitch.4. MFC after: 3 days (but adjusted for 14.3) Reported by: adrian Reviewed by: adrian, mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50324 (cherry picked from commit 91c9751c3913497db2fbad1fcf7491557bbd2a75) (cherry picked from commit 17e9eb1e0eb721e2400232c71f20bc490c416c60) --- share/man/man4/etherswitch.4 | 8 ++++---- share/man/man4/man4.arm/Makefile | 1 + share/man/man4/man4.arm/ar40xx.4 | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/share/man/man4/etherswitch.4 b/share/man/man4/etherswitch.4 index aeb5e484e7cf..928d5a09e49a 100644 --- a/share/man/man4/etherswitch.4 +++ b/share/man/man4/etherswitch.4 @@ -48,12 +48,12 @@ driver provides a framework for Ethernet switch devices. device nodes .El .Sh SEE ALSO +.Xr adm6996fc 4 , +.Xr ar40xx 4 , .Xr arswitch 4 , -.Xr iicbus 4 , -.Xr ip17x 4 , -.Xr rtl8366rb 4 , +.Xr e6000sw 4 , .Xr e6060sw 4 , -.Xr adm6996fc 4 , +.Xr iicbus 4 , .Xr ksz8995ma 4 , .Xr ukswitch 4 , .Xr etherswitchcfg 8 diff --git a/share/man/man4/man4.arm/Makefile b/share/man/man4/man4.arm/Makefile index e2a41559410b..36540f690c5e 100644 --- a/share/man/man4/man4.arm/Makefile +++ b/share/man/man4/man4.arm/Makefile @@ -1,5 +1,6 @@ MAN= \ + ar40xx.4 \ aw_gpio.4 \ aw_mmc.4 \ aw_rtc.4 \ diff --git a/share/man/man4/man4.arm/ar40xx.4 b/share/man/man4/man4.arm/ar40xx.4 new file mode 100644 index 000000000000..e314d30dd4c6 --- /dev/null +++ b/share/man/man4/man4.arm/ar40xx.4 @@ -0,0 +1,35 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 10, 2025 +.Dt AR40XX 4 arm +.Sh NAME +.Nm ar40xx_switch +.Nd Qualcomm IPQ4018/IPQ4019 Gigabit Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd etherswitch +.Cd ar40xx_switch +.Sh DESCRIPTION +The +.Nm +driver supports the Gigabit Ethernet switch inside the +Qualcomm IPQ4018/IPQ4019 SoC. +.Sh HARDWARE +The +.Nm +driver supports the following Gigabit Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Qualcomm IPQ 4019 Five-port Gigabit Ethernet Switch +.It +Qualcomm IPQ 4018 Five-port Gigabit Ethernet Switch +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh CAVEATS +This driver currently only supports L2 port/VLAN mapping modes. From nobody Thu May 22 03:03:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQF56wCz5wxhL; Thu, 22 May 2025 03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQF23m7z410C; Thu, 22 May 2025 03: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=1747882981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=21HVpYGnBXiutZOQ3esORRz8M1YlOP5trFoigfegNjo=; b=qojPq5D5Yazsc+MGIxuoztQ9Fb1Y74VEvRpYynmZ10x74j2AawpJVJ+D0nY3EYWmeuyytz JlIoWS/W1lhhqpsTzNJmZnJMIw6Fb3B9/0Pdy/xAA87EN7l4WPVXia5TFn31Yxi2KDATQu Uruw6CLciGzg5glGOc+64BB9UdeGixXC4A6OqnH9jOhkAXsu87wtXwQ/821bGf1lhZtLfe IBfoCeDtIfFttyp94V/pOQHVE5oJmIQ9Z9XnYMIQAAZUfz+btnYnRQKyOWQDF6fAXdKly0 0hZlKyufBebOnQ54Ilv0oFPwV5kswUm112s/7UNWrW91vR/Y1gQ8DDXoxntSHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=21HVpYGnBXiutZOQ3esORRz8M1YlOP5trFoigfegNjo=; b=sPARTGGePA34lRq7NFarwU/EZ37C23ckpNBOTJvG4hr+ChEJWoKZgNjsJSDPwxtNbQyYAe 6v/KjNHTKtlZtVLZ6LaFFHhG3YpoWOnMx+55kgYD1feVEbqmoYYwQ7JkYFsXk5bOUDuZcW cPnPB3/fuMd44yJ1wYnOjhbf7GKQm4UpyQlQS7MyNZzdqrXly8+JzqYwNlPdA2w+pbEznY 3/XyAJZrDneXlc1HxHMrp0M3p7Uz9b2KHY7Cn1n0x16I7M2puYUIX9+ec/jaYdlXGKb0x1 LXGMMcmWElLlk9Id2FhvjM1/J+YvFniAPqsslFm6pxjU4rjZVDM57YNYVfpGaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882981; a=rsa-sha256; cv=none; b=NAIcJo0h9KpOQ/M9+OH1/LBT8iDrzs1Hbx/dRB1fbwvVlMx0sjf39zvwGhnMrKnuo8/kUC Pel7fdwepgePg/nUtp+tSOiXBHcghKLLGLUIoN2yeLg+gdLsQtJWOfa3SrKvq2caGRU7mT 1YDkPHZCObML1XaTd7qMN8o4AOcHW5ilKAGFCcCxMGE4H/BUDVPbVa3iuGwYRT4SEQHXf+ ylEoADKti9MMaj75GyFWV4vPAkujH2XHANRokF4LNsI5qA+/JoKiwCnmtsIDakrgb+4ZdQ sPcEXm5A6ob2ys96nyMmwXLI8APoTiizJ+rMsgEKEbjnJ5jtYG5cKzTm2chUwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQF1LBMz12VJ; Thu, 22 May 2025 03:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M331Lm026469; Thu, 22 May 2025 03:03:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M33139026466; Thu, 22 May 2025 03:03:01 GMT (envelope-from git) Date: Thu, 22 May 2025 03:03:01 GMT Message-Id: <202505220303.54M33139026466@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: ee743b40aceb - releng/14.3 - e6060sw.4: Improve title and add HARDWARE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: ee743b40acebfbafd37f2a399af5049831a6f9b9 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ee743b40acebfbafd37f2a399af5049831a6f9b9 commit ee743b40acebfbafd37f2a399af5049831a6f9b9 Author: Alexander Ziaee AuthorDate: 2025-05-12 01:08:10 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 03:00:26 +0000 e6060sw.4: Improve title and add HARDWARE For visibility in apropos and inclusion in the hardware release notes. MFC after: 3 days Reviewed by: adrian, mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50321 (cherry picked from commit bef89c155e77dd471af596a43f3914b754cc5155) (cherry picked from commit 5e0e046d95a92aab8bea856fe0008870ee11bfc9) --- share/man/man4/e6060sw.4 | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/share/man/man4/e6060sw.4 b/share/man/man4/e6060sw.4 index 407138abe378..74736f65fe80 100644 --- a/share/man/man4/e6060sw.4 +++ b/share/man/man4/e6060sw.4 @@ -23,12 +23,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 5, 2017 +.Dd May 10, 2025 .Dt E6060SW 4 .Os .Sh NAME .Nm e6060sw -.Nd driver for Marvell 88E6060 and 88E6065 fast ethernet switch chip +.Nd Marvell 88E6060/88E6063/88E6065 Fast Ethernet switch driver .Sh SYNOPSIS .Cd "device mdio" .Cd "device etherswitch" @@ -44,6 +44,19 @@ This driver use smi interface by ethernet interface. 88E6060 support is only port vlan. 88E6065 support is port and dot1q vlan. dot1q support group base tag/untag. +.Sh HARDWARE +The +.Nm +driver supports the following Fast Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Marvell 88E6060 +.It +Marvell 88E6063 +.It +Marvell 88E6065 +.El .Sh EXAMPLES Configure dot1q vlan on 88E6065 by etherswitchcfg command. .Pp From nobody Thu May 22 03:03:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQG4Ksfz5wxxT; Thu, 22 May 2025 03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQG2hWjz41Fh; Thu, 22 May 2025 03: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=1747882982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GsPc75NbwmapLZzyPFcaWw413GT/lvERzbVvPdPTRnE=; b=WF8HSjO/xjOFyY8D3+essO4EnLmVlL2mdPl1pwZmU+z6MpH1VdFLd5dciTgL66/+QY2BhD aVdcVDjKOjlWb4/Y20cRNTBg4YBX4iYXczjIdGczJSSa/duSkiD6QiqYsQAYvAff8RncHX NOMaAK46w8p4idlfqevgyhkXf6pt3tw/5VdNv3Tr2IG6zvrcp0Ohfo4VvFMFjAaiXS2bCr 4bm8cTkdv8TVT7+MaDWQ91dzUdmq9V1macXXwD13qgHGRHKNkPZzeJkcec5YVPwjMCbCtD SxbsQ6cblUow5Bc715XYJmoLMrIHCmp4uaHxjST3eTSHL9Zi8hNRUck/qAnqLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GsPc75NbwmapLZzyPFcaWw413GT/lvERzbVvPdPTRnE=; b=WVFR+Kn1qUdGTHcWzEN7Yu1BQWWoZrcp3diO2sGmFCikCTdmC2fEJyZHI2UC+Ef7q35o2j oi4AvCnPXh3L+hyY4Jfk+iiTCVb9qgT5zerzmnVKT8rpoeIHmuoY5Er19pyoryRZ8hGNWt tXBjM0FmgpvomJeH4oYfndLQqvMf01ElQwbX1jgtrzMbFI19Qmf5UwDVb1e9LPANExXL4T UoTeXecBrbNk1coT2iqOTO5xMhP5nplMgu7MSBFsANhY4UUveqYS9XhPBZSulsYopfyHLH nLcz5TPiwjXWwMvhTGzfKhqnP1gPWZCG2zpn2CVF4bvARo1iHjHAbfLB+UoSzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882982; a=rsa-sha256; cv=none; b=yOx0CcrZgsLALDrQKb1GqIMkc05xg3R/rFdDK0CxOitbuwLprpy79wUgXHsd57vlbX4aIf +69HPoLypvAzsZ5l1ItATeXR5ipt+7dnbnQ3kKEofUoCRODzudNUVZueXTmb2rpEgvdgGS QgKLB2HCnvBsnEc0U6zt84+zVQt2x/hPGlPRYjKq3gYWFAzWXUCNxRuijQJHaGXuMqlAD/ /3D9//mKQzc6XXfTSqwBk6kqrzAPaChHz9PPygNGjn1ywMrvHvbvhx+q7e4pBgTC/sTtgN pWz6OWmL0/ALu5hHR85N2NzqP2Z2twOYVMIYh/pF+eUWvnLKlSvKbDcjWVYP0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQG2F0Jz12sr; Thu, 22 May 2025 03:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M332kD026505; Thu, 22 May 2025 03:03:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M332DI026502; Thu, 22 May 2025 03:03:02 GMT (envelope-from git) Date: Thu, 22 May 2025 03:03:02 GMT Message-Id: <202505220303.54M332DI026502@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: b7fc3fbe3209 - releng/14.3 - e6000sw.4: Add HISTORY List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: b7fc3fbe3209581fe3ead097ce1d00ab52803edc Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=b7fc3fbe3209581fe3ead097ce1d00ab52803edc commit b7fc3fbe3209581fe3ead097ce1d00ab52803edc Author: Alexander Ziaee AuthorDate: 2025-05-15 01:02:25 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 03:00:39 +0000 e6000sw.4: Add HISTORY MFC after: 3 days Reviewed by: mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50358 (cherry picked from commit c808bee35b1129abd9af137204ebd15559b90b5b) (cherry picked from commit 6426b01310122c7563d982ec21c91b98f3f5bd3b) --- share/man/man4/e6000sw.4 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/share/man/man4/e6000sw.4 b/share/man/man4/e6000sw.4 index 4c10a99b249a..c1740b899bc9 100644 --- a/share/man/man4/e6000sw.4 +++ b/share/man/man4/e6000sw.4 @@ -37,3 +37,8 @@ Marvell 88E6141 .Xr e6060sw 4 , .Xr etherswitch 4 , .Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 11.0 . From nobody Thu May 22 03:03:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQJ12Q8z5wyBX; Thu, 22 May 2025 03:03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQH3n2jz40xB; Thu, 22 May 2025 03:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vFih/SftL6rNGgPvLV0MGdbDJzVjua1WdhInOTsE9DI=; b=eOw9PZ6w7jgfiJuBQvT5+fKjr1AFc+GvW/Rk4TPJg5YjvwvPs9b2i9ZBiDnHDP/p1X4ywz DjwszE8Vf1QzW081xi+nKuBF20Q3bBT4dAX/4RV+z9jXgudMPA1FXdJuAyfY1TamzHPl8j 9Jp3swI+zGZAsgHBpozGmlXFa32YyoG1AA4ZGFPW9jJBQr/2pc7papwlGPoan5Vi5CzNEO 1TZYB04BOgZvEzhFWrY+246IbbXLcfikjDR5bfuvZljq2/T4BqqhsmRNoQeRhNLO21IH/u l/2NmoirxEw6WLXTUpFK88ZnHjxsgAafsCZOoKPJkUpvfJnOEdlF5A7+C6HpZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vFih/SftL6rNGgPvLV0MGdbDJzVjua1WdhInOTsE9DI=; b=A9yvCFPfI0R/TzAHVohK9RzBDLJihhBvSvuwUg067n8BwmcQEz8IEhmzWjvdEmk2brtRdB +QZedECD6CqL0ZYrerrVaXzwTxiwcEvyoqQ8vvHZU/zexTKzpVALir4MBo47tYoVtGW5KH Ye8GLh66CL7EJPdSA8pvvAMlX41N552+VzdOq52IQDUtTr+0bspLhtolhzCDsmxiGo1W2a 7uHCuC+YWwBGYw01KxTEV2N/KBfjSUROq2DLntoFMLBK4GLcyN01HecVFIFoFDKHcDdLZG ReVeQZMWXZatwbtDTfm1zm9ICBbqA2uqfxlU4gEo9JyxOK77kJMh48awYYRqYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882983; a=rsa-sha256; cv=none; b=PhpvTA4ODTlUzxB6hKuHlzr0hXIV4zqx15rxI8Mx1SwlHXfnD6iAcC22s7j+Fg4nU2ueqo Bg21WJKtYeWoOsmbD7NFNfBb9wIQxX1Km2wugpEmHsDJvIfW37CL8BXlsh62xdYwPU938B A0bx+ibTkBR7e7dv3Xvcc14RdLRjW40mloF1C9EkvoUqtckYsf2VIkEqx5HAfRcHUcK6a+ hTkV5AP+K/gt5qCzzbLp1rhforpVd4usoOOt5K5nCwyR3NNbMtdCVzpeu+JRnkM1Q2JIU9 nQ+gMNlJVUl74r5rOyfN0njWBA6TfiKkJLVAXbEKmEv6KX8aO7iI63OlshPEZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQH3MhBz12VK; Thu, 22 May 2025 03:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M333Ur026553; Thu, 22 May 2025 03:03:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M333JI026550; Thu, 22 May 2025 03:03:03 GMT (envelope-from git) Date: Thu, 22 May 2025 03:03:03 GMT Message-Id: <202505220303.54M333JI026550@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 86b04d37f012 - releng/14.3 - qat.4: Cleanup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 86b04d37f0128d2e516c03dac3e32d14d10f8fe9 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=86b04d37f0128d2e516c03dac3e32d14d10f8fe9 commit 86b04d37f0128d2e516c03dac3e32d14d10f8fe9 Author: Alexander Ziaee AuthorDate: 2025-05-16 17:19:00 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 03:00:56 +0000 qat.4: Cleanup + copyright symbols do not belong in Nd's (apropos results) + move hardware to HARDWARE for inclusion in the hw release notes + improve sysctls + lines which say nothing removed + links moved to see also + spacing and markup corrections MFC after: 3 days Reviewed by: markj, mhorne Approved by: mhorne (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50381 (cherry picked from commit c1d9b2c9b03cade19cb4f94d3e29fba7179ac11a) (cherry picked from commit 802edf23079388447659136805d97b95b0f90899) --- share/man/man4/qat.4 | 181 +++++++++++++++++++++++++-------------------------- 1 file changed, 89 insertions(+), 92 deletions(-) diff --git a/share/man/man4/qat.4 b/share/man/man4/qat.4 index 3d8c0cd32664..e7907c7c6331 100644 --- a/share/man/man4/qat.4 +++ b/share/man/man4/qat.4 @@ -1,11 +1,11 @@ .\" SPDX-License-Identifier: BSD-3-Clause .\" Copyright(c) 2007-2022 Intel Corporation -.Dd May 4, 2023 +.Dd May 16, 2025 .Dt QAT 4 .Os .Sh NAME .Nm qat -.Nd Intel (R) QuickAssist Technology (QAT) driver +.Nd Intel QuickAssist Technology driver .Sh SYNOPSIS To load the driver call: .Pp @@ -39,9 +39,20 @@ The driver supports cryptography and compression acceleration of the Intel (R) QuickAssist Technology (QAT) devices. .Pp +A complete API for offloading these operations is exposed in the kernel +and may be used by any other entity directly. +In addition to exposing a complete kernel API for +offloading cryptography and compression operations, the +.Nm +driver also integrates with +.Xr crypto 4 , +allowing offloading supported operations to Intel QuickAssist Technology +devices. +.Sh HARDWARE The .Nm -driver is intended for platforms that contain: +driver supports the following Intel QuickAssist Technology Engines: +.Pp .Bl -bullet -compact .It Intel (R) C62x Chipset @@ -57,78 +68,45 @@ Intel (R) Atom P5300 processor product family .It Intel (R) QAT 4xxx Series .El -.Pp -The -.Nm -driver supports cryptography and compression acceleration. -A complete API for offloading these operations is exposed in the kernel and may -be used by any other entity directly. -For details of usage and supported operations and algorithms refer to the -following documentation available from Intel Download Center -.Lk https://downloadcenter.intel.com : -.Bl -bullet -compact -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology API Programmer's Guide -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Cryptographic API Reference Manual -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Data Compression API Reference Manual -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Performance Optimization Guide -.Re -.El -.Pp -In addition to exposing complete kernel API for offloading cryptography and -compression operations, the -.Nm -driver also integrates with -.Xr crypto 4 , -allowing offloading supported cryptography operations to Intel (R) QuickAssist -Technology (QAT) devices. -For details of usage and supported operations and algorithms refer to the -documentation mentioned above and -.Sx SEE ALSO -section. .Sh SYSCTL_VARIABLES -Following variables may be used to reconfigure the QAT device.\& -For configuration persistence those variables may be set before loading the driver, either via +The following +.Xr sysctl 8 +variables may be used to reconfigure the +.Nm +device. +For configuration persistence those variables may be set before loading +the driver, either via .Xr kenv 1 or .Xr loader.conf 5 . -The device specific configuration options are prefixed with -.Va dev.qat.X\&. -where X is the device number. -The specific device needs to be in "down" state before changing the configuration. +.Pp +The specific device needs to be in the "down" state +before changing the configuration. .Bl -tag -width indent -.It Va state -Show current state of the device. Override the device state. Possible values: "down", "up". - -NOTE: If the symmetric services are used for device the qat_ocf driver needs to be disabled prior the device -reconfiguration. -Following variable may be used to enable/disable the QAT cryptographic framework connectivity -.Va dev.qat_ocf.0.enable\&. +.It Va dev.qat.X.state +Show or set current state of the device. +Possible values: "down", "up". +.Pp +NOTE: If the symmetric services are used for device the +.Sy qat_ocf +driver needs to be disabled prior the device reconfiguration. +.It Va dev.qat_ocf.0.enable +Enable/disable the QAT cryptographic framework connectivity. Enabled by default. -.It Va cfg_services -Override the device services enabled: symmetric, asymmetric, data compression. +.It Va dev.qat.X.cfg_services +Override the device services enabled, may be one of: +symmetric, asymmetric, data compression. Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym". -Default services configured are "sym;asym" for even and "dc" for odd devices. -.It Va cfg_mode -Override the device mode configuration for kernel space and user space instances. +Default services configured +are "sym;asym" for even and "dc" for odd devices. +.It Va dev.qat.X.cfg_mode +Override the device mode configuration +for kernel space and user space instances. Possible values: "ks", "us", "ks;us". Default value "ks;us". -.It Va num_user_processes -Override the number of uio user space processes that can connect to the QAT device. +.It Va dev.qat.X.num_user_processes +Override the number of uio user space processes +that can connect to the QAT device. Default: 2 .El .Pp @@ -136,48 +114,67 @@ The following .Xr sysctl 8 variables are read-only: .Bl -tag -width indent -.It Va frequency +.It Va dev.qat.X.frequency QAT device frequency value. -.It Va mmp_version +.It Va dev.qat.X.mmp_version QAT MMP Library revision number. -.It Va hw_version +.It Va dev.qat.X.hw_version QAT hardware revision number. -.It Va fw_version +.It Va dev.qat.X.fw_version QAT firmware revision number. -.It Va dev_cfg +.It Va dev.qat.X.dev_cfg Summary of device specific configuration. -.It Va heartbeat -QAT device heartbeat status. Value '1' indicates that the device is operational. -Value '0' means that the device is not responsive. Device requires restart. -.It Va heartbeat_failed +.It Va dev.qat.X.heartbeat +QAT device heartbeat status. +Value '1' indicates that the device is operational. +Value '0' means that the device is not responsive. +Device requires restart. +.It Va dev.qat.X.heartbeat_failed Number of QAT heartbeat failures received. -.It Va heartbeat_sent +.It Va dev.qat.X.heartbeat_sent Number of QAT heartbeat requests sent. .El - -.Sh COMPATIBILITY -The -.Nm -driver replaced previous implementation introduced in -.Fx 13.0 . -Current version, in addition to -.Xr crypto 4 -integration, supports also data compression and exposes a complete API for -offloading data compression and cryptography operations. .Sh SEE ALSO .Xr crypto 4 , .Xr ipsec 4 , .Xr pci 4 , .Xr crypto 7 , .Xr crypto 9 +.Pp +For details of usage and supported operations and algorithms refer to +the following documentation available from Intel Download Center +.Lk https://downloadcenter.intel.com : +.Pp +.Bl -bullet -compact +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology API Programmer's Guide +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Cryptographic API Reference Manual +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Data Compression API Reference Manual +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Performance Optimization Guide +.Re +.El .Sh HISTORY -This +A .Nm -driver was introduced in -.Fx 14.0 . -.Fx 13.0 included a different version of -.Nm -driver. +driver appeared in +.Fx 13.0 . +It was superseded in +.Fx 14.0 +by the upstream driver. .Sh AUTHORS The .Nm From nobody Thu May 22 03:03:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQK3RvMz5wxkX; Thu, 22 May 2025 03:03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQJ4pPfz413H; Thu, 22 May 2025 03:03:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFDLXiReMN/Mo+PULHEzZedzwrRKnxoItjVU5R/o2SY=; b=TpGl/kgSTj36vTyF203uoYgcWtbFNSBUOCg8DvxewTxY610VMEiKylVypIUPD0cl+0RJX7 VTdDuMUsiABd6SAz1tgMRaYfBoJjyOohy/ub74iacQKImTwEhvqbbrAPEF8SUM2aJcs+4u ofpK+7pZs+zgSDY8nk5zzuIvUz+AcYiDpUxoJRfhlS3yLT2qKXx0gdXbZN3Y0UWJTz6uwZ 6kMCZRt286qpioT0NaU8X7LDfvreRx3uXyYAfjONWtksyrRgL9wotNDpHTnLiscmn+R/oZ Itl88/71DBlYHXVMl/lOoW3IhzebEZHOZ+s/0XuTBpoa/7d/paCurmD/fQ0uag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OFDLXiReMN/Mo+PULHEzZedzwrRKnxoItjVU5R/o2SY=; b=fWe+08PSZApLRycE/W/kz4N8WCp5nZLjGxUGA7gH5WzjTuk6SUW/XM2drGsFYHJldGn/8u waFL9g6stut1zYTDcs1ojIsjQiiuBTjEQUK8KwxlOZbd36xOzRrX34i/P5uetv3F2ZfAIc jLvgYD/VuYCzmZ+qJ4DfwBtpkAE+LUuSt8t6tLN3FUnL1xtnNSh4e9s8yUGL9TG+j0PmtN 6V77qjj6/bH4Fli3wgGBhq7qmIoJ1i3M9Tg/wP0rh48Sn0F/mZI5dgfneT7WtucsBdJaN9 uTgI0KyPcN9pHlKNXvW13XoSaTIO303TsZm01oXZ+Zyi8wbf1EV+wTVD28hRfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882984; a=rsa-sha256; cv=none; b=U1Gl2Cd9Me9sXbavsKxNZajBI++wMPlLele4gR3bj6ouloJHxyL5meiJpVeMF03Ry7HfCZ s/VPdmh741DzK0f1oEXJdMRGQOEoDC2lSmMrq0p2Dp6QRCGYlSwvIN1Oe6jL+acMBwyt9k TZGWVuHc5UFzljZDicYGr3Sk9q8jK3uNHLka5zPZ4fJMV3wU1Y5NxRKJ1cBFmjSsOP8o0b XP3/4C1s//8DkQcH++c0G/ad3gisTsQRU7ayDWCuHPdjrFNNipDAChzODnovDVUqHPpcg8 42Wuu8TL/BPisL3bKV08HB3V6fqOC0Aag+L43IJVCJ9prylkD6XPP3NnwXd3rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQJ43K3z12ss; Thu, 22 May 2025 03:03:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M334eS026586; Thu, 22 May 2025 03:03:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M334Zp026583; Thu, 22 May 2025 03:03:04 GMT (envelope-from git) Date: Thu, 22 May 2025 03:03:04 GMT Message-Id: <202505220303.54M334Zp026583@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: dc8ade18cf38 - releng/14.3 - ip17x.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: dc8ade18cf3879bc050ba9833a99e3a89a8b4382 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=dc8ade18cf3879bc050ba9833a99e3a89a8b4382 commit dc8ade18cf3879bc050ba9833a99e3a89a8b4382 Author: Alexander Ziaee AuthorDate: 2025-05-19 19:40:02 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 03:01:22 +0000 ip17x.4: Initial manual page Add a stub manual only saying what it is, how to include it, what is supported, and since when. This plugs the ip17x driver into the manual subsystem and the release hardware notes. MFC to: 14.3 MFC after: 3 days Reviewed by: adrian, carlavilla Approved by: carlavilla (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50411 (cherry picked from commit f750a114d2c50c4d25d304dbf1dabfd3ae3aa013) (cherry picked from commit ded154a1df97e3340f129394cbcaa1a50439d1bf) --- share/man/man4/Makefile | 1 + share/man/man4/ip17x.4 | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 980fde8d3868..5895442b3d4d 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -238,6 +238,7 @@ MAN= aac.4 \ ${_io.4} \ ${_ioat.4} \ ip.4 \ + ip17x.4 \ ip6.4 \ ipfirewall.4 \ ipheth.4 \ diff --git a/share/man/man4/ip17x.4 b/share/man/man4/ip17x.4 new file mode 100644 index 000000000000..ac5c989020a5 --- /dev/null +++ b/share/man/man4/ip17x.4 @@ -0,0 +1,42 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 18, 2025 +.Dt IP17X 4 +.Sh NAME +.Nm ip17x +.Nd IC Plus IP17x series Fast Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd device etherswitch +.Cd device ip17x +.Sh DESCRIPTION +The +.Nm +driver supports the +IC Plus IP17X series Fast Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Fast Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +IC Plus IP178C +.It +IC Plus IP175D +.It +IC Plus IP175C +.It +IC Plus IP175A +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 10.0 . From nobody Thu May 22 03:03:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2tQL50rFz5wyBc; Thu, 22 May 2025 03:03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2tQK4vCLz41Cp; Thu, 22 May 2025 03:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scCmJF1462rFZ2PXOQyHwlqlyQb0j2D1/kzedO1D24g=; b=l9AyaHFXz3Gxse47FdwFNXjMKR0loBSS0oo4TYKL551c0ImWIGyOs2dlACZ6GJDQITnLM/ mQJzJeKGKqj/aF3Sev1GZIDNHjhrDhGZS/EIgEzoLqJp8vRKREuvZ+HAJWvUjuy1WJVyFg YkYxc9c7zV4g1y/QjURdLrjxtguJVUXbVdYMUbj/dv9IwsAwMXOsn6ijvcxMq7z+gxt/ji D5p4V0V0RQnSh5VB2DByqQxQObha8HkSqL/QzMvpFNPl+BlFriDXLukt0tI4N0nq4eSVPr VO4h0DlmH+O5rXzxrB1OvvDHQF38Mrfe9vB2E41r0ubE+hNmClQi7m9F2S49oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747882985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scCmJF1462rFZ2PXOQyHwlqlyQb0j2D1/kzedO1D24g=; b=Sd9ANe+zRr8bDwDdmA5iAaIPmOlnxzrdbAf66z1CH1utNHnZBj860KNxRtk1WdfMaZuUX3 HMo4nmGBNj0C+902Sfc8nN4vYEXxJVht1W9e5hkgTs/4XeEJx+YICe8oEjhXztz55dfFUJ 4XvN1giwxZSYl2WztzyF/gO/C7RfF+6/tg0kO/Z9F7vwov2+QznLv7ByfQYgbBkIdD/AxM zadN/rDiSEB/ZjOnFppGyTSy1bKLq9i3gNwbJfcEh1QDVDc71XGTqiqt5W3+tQ8+rnizhb BrOxjIGwGqJzE49r+mPPi6WLK214P4zlusKs4Ya80n5noA5fGFUULl7Xr8tk2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747882985; a=rsa-sha256; cv=none; b=vsTBM+/vG/nuDvHIrYxtGdU7HCJ0bft/WIQIVvO3BJtHQDJcbOnfvwfEcHNf7c9rdctrOk Z81C34Xb2Emcy68Ac/ZAYq8l21rLB/3XTJBjTLBtnkHnHqDSGj3W56TORaxd0X0KKjnG9C vT2jBBFrRyMReDiiBVHSaWrSoW/ynw9s/tl8VgVeA/asDiY4H9eco7VGG3GgxBx6DOwC+a QLYNmheU8PEz7hq/aqGFgBavEcAx3UvGxkajUXDk26w/ymnCv3hFpgmjiB/M4klyOhAjZH t1EF70gLg9LXKSL5sWCZ0sAXaB1STVPYIF9UpXv4o7e8bQqgN23wjZKdQrjChg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2tQK4Tjnz12vy; Thu, 22 May 2025 03:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M335Mq026620; Thu, 22 May 2025 03:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M335rP026617; Thu, 22 May 2025 03:03:05 GMT (envelope-from git) Date: Thu, 22 May 2025 03:03:05 GMT Message-Id: <202505220303.54M335rP026617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 5af0942052b8 - releng/14.3 - mtkswitch.4: Initial manual page List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 5af0942052b8ce0ed49eaa056b4a962e518d26ff Auto-Submitted: auto-generated The branch releng/14.3 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=5af0942052b8ce0ed49eaa056b4a962e518d26ff commit 5af0942052b8ce0ed49eaa056b4a962e518d26ff Author: Alexander Ziaee AuthorDate: 2025-05-19 19:42:01 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-22 03:01:36 +0000 mtkswitch.4: Initial manual page Add a stub manual only saying what it is, how to include it, what is supported, and since when. This plugs the mtkswitch driver into the manual subsystem and the release hardware notes. MFC to: 14.3 MFC after: 3 days Reviewed by: adrian, carlavilla Approved by: carlavilla (mentor) Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D50412 (cherry picked from commit 37f00bc257d0e785fad1d0ffbd7dcbf09e863417) (cherry picked from commit f31ac06711e69aed7cb4b38d8eb2aba2d7149ed8) --- share/man/man4/Makefile | 1 + share/man/man4/mtkswitch.4 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 5895442b3d4d..3521444e29f5 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -329,6 +329,7 @@ MAN= aac.4 \ mrsas.4 \ msk.4 \ mtio.4 \ + mtkswitch.4 \ multicast.4 \ muge.4 \ mvs.4 \ diff --git a/share/man/man4/mtkswitch.4 b/share/man/man4/mtkswitch.4 new file mode 100644 index 000000000000..c879df161791 --- /dev/null +++ b/share/man/man4/mtkswitch.4 @@ -0,0 +1,45 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 19, 2025 +.Dt MTKSWITCH 4 +.Sh NAME +.Nm mtkswitch +.Nd MediaTek/Ralink Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd device etherswitch +.Cd device mtkswitch +.Sh DESCRIPTION +The +.Nm +driver supports MediaTek/Ralink Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +MediaTek MT7628 (5 port Fast Ethernet) +.It +MediaTek MT7621 (5 port Gigabit Ethernet) +.It +MediaTek MT7620 (5 port Fast Ethernet) +.It +Ralink RT5350 (5 port Fast Ethernet) +.It +Ralink RT3352 (5 port Fast Ethernet) +.It +Ralink RT3050 (5 port Fast Ethernet) +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 11.0 . From nobody Thu May 22 03:25:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2twV2slPz5wysS; Thu, 22 May 2025 03:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2twV1rmzz3Gw5; Thu, 22 May 2025 03:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747884346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0lcRx0VrcFkAluQrlNWQYI1KVdZf1mj+wdecaNKFL9Q=; b=Pvw1TQpLgx54DWyFbCqKoXckNxcQ5IGwi5lkv84xn4DiEOzw6y4w/2Hsvi3zveDoADPVMO 9akPkYehxCz46M8cTaeU+aAD4oy+C0cYROXg0RQQlvQSFdniMnm8n72l+vUnSSbp8bgIfs 9jb2DzG1/4gADGkkeADWdCMcv5ywqbVetBaCuzxlgrkcKQ7EL2+55yEeARYZTWbXVRGN27 s9Vv8Sqek2OxyTDjhJXMG3uRHtogRmcBABfUkYimUceyiGu09n0cj0ABDz8x7DNPKrWkwu RbJ7WPslga4LEinyH7P/xlZ6W5QgMitWTHF45P9sAiGTuG49A7ROsu+KbgnPBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747884346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0lcRx0VrcFkAluQrlNWQYI1KVdZf1mj+wdecaNKFL9Q=; b=ww1tJkg9jffGjHM4TtDxX4OuYXO3YXErxTmXmlntDignYbaNX3G4GFYFGJlfBmotS3R+Bw FWR9WhjJ5HzBhQ60DCtqB4zpZgFbkKurDu9O6JxKAIWYg9TfxnLoPGc5dh+W4/LIPak6Oy njAx+35kQachQjVy3/IaptaMI+PaOIjUHSeKHFKaazr0toO59sYWVgUCWMWxSlG13EDtVj YtI1OVedFmfF/naYBsIK8TOy+d2AVqHBbDBf87PJm3f09SBHdHv7GKuEb/phPpnkM23e/G aB61zROzzlEf3xxwLBBFCvGBPlF36AFRCt9RWceaeoIVOgEegvhkb8d4P4iHYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747884346; a=rsa-sha256; cv=none; b=sKs2jySkaZvjP0LhTxPfnadOcLBtT9x5yXVAvf82bLMjMH9nEI/KFazI9yQQ+BWeWwDo/u foUUd87VBIkw/WYSdeEi6ip8vfdiDF3qyweRx+NgP0TDmuYO4TcGwiGOxrYaZ3uGKTNEwS 7NqumwESbHbNWKOR/nUO+Jb3cVTDiO2JVljyOIK7y2Uf6I9sHa3pDSorCt1HPufj+W1exm R2z1kRXeFukrznJdpsbctLyLDfbFq7fng3Ch0+syxM8r65i2AlcEhDFN8fMUdkb3SXULcQ iKGceqY4I0WHziouB1G7f1UXGlsNFiKS2IAdb9iPvK/ACipGyBOHPfoM7O/pqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2twV1Lp6z13Q9; Thu, 22 May 2025 03:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M3PkVG064414; Thu, 22 May 2025 03:25:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M3PkdC064411; Thu, 22 May 2025 03:25:46 GMT (envelope-from git) Date: Thu, 22 May 2025 03:25:46 GMT Message-Id: <202505220325.54M3PkdC064411@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e877ef51e2b3 - stable/14 - bhyve: make code to handle non-backed memory accesses MD List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e877ef51e2b3ff351d77e50810413983ec277785 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e877ef51e2b3ff351d77e50810413983ec277785 commit e877ef51e2b3ff351d77e50810413983ec277785 Author: Konstantin Belousov AuthorDate: 2025-05-01 07:11:00 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-22 03:25:30 +0000 bhyve: make code to handle non-backed memory accesses MD PR: 286467 (cherry picked from commit e8b9d839b1fae2913dc861341b9363d41cd45173) --- usr.sbin/bhyve/amd64/Makefile.inc | 1 + usr.sbin/bhyve/mem.c | 26 ++++++++++++++++------- usr.sbin/bhyve/mem.h | 2 ++ usr.sbin/bhyve/mem_md.c | 44 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bhyve/amd64/Makefile.inc b/usr.sbin/bhyve/amd64/Makefile.inc index bc0ffa720d31..f8103ae1be32 100644 --- a/usr.sbin/bhyve/amd64/Makefile.inc +++ b/usr.sbin/bhyve/amd64/Makefile.inc @@ -7,6 +7,7 @@ SRCS+= \ inout.c \ ioapic.c \ kernemu_dev.c \ + mem_md.c \ mptbl.c \ pci_ahci.c \ pci_e82545.c \ diff --git a/usr.sbin/bhyve/mem.c b/usr.sbin/bhyve/mem.c index b4cb93a1cea4..e32d7bd571a8 100644 --- a/usr.sbin/bhyve/mem.c +++ b/usr.sbin/bhyve/mem.c @@ -34,6 +34,7 @@ #include #include +#define _WANT_KERNEL_ERRNO 1 #include #include #include @@ -168,10 +169,13 @@ static int access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) { struct mmio_rb_range *entry; + struct mem_range *mr; int err, perror, immutable, vcpuid; vcpuid = vcpu_id(vcpu); + mr = NULL; pthread_rwlock_rdlock(&mmio_rwlock); + /* * First check the per-vCPU cache */ @@ -186,14 +190,22 @@ access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) if (mmio_rb_lookup(&mmio_rb_root, paddr, &entry) == 0) { /* Update the per-vCPU cache */ mmio_hint[vcpuid] = entry; - } else if (mmio_rb_lookup(&mmio_rb_fallback, paddr, &entry)) { - perror = pthread_rwlock_unlock(&mmio_rwlock); - assert(perror == 0); - return (ESRCH); + } else if (mmio_rb_lookup(&mmio_rb_fallback, paddr, + &entry) == 0) { + } else { + err = mmio_handle_non_backed_mem(vcpu, paddr, &mr); + if (err != 0) { + perror = pthread_rwlock_unlock(&mmio_rwlock); + assert(perror == 0); + return (err == EJUSTRETURN ? 0 : err); + } } } - assert(entry != NULL); + if (mr == NULL) { + assert(entry != NULL); + mr = &entry->mr_param; + } /* * An 'immutable' memory range is guaranteed to be never removed @@ -206,13 +218,13 @@ access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) * deadlock on 'mmio_rwlock'. However by registering the extended * config space window as 'immutable' the deadlock can be avoided. */ - immutable = (entry->mr_param.flags & MEM_F_IMMUTABLE); + immutable = (mr->flags & MEM_F_IMMUTABLE) != 0; if (immutable) { perror = pthread_rwlock_unlock(&mmio_rwlock); assert(perror == 0); } - err = cb(vcpu, paddr, &entry->mr_param, arg); + err = cb(vcpu, paddr, mr, arg); if (!immutable) { perror = pthread_rwlock_unlock(&mmio_rwlock); diff --git a/usr.sbin/bhyve/mem.h b/usr.sbin/bhyve/mem.h index 90172d1c9124..d7544a6bce30 100644 --- a/usr.sbin/bhyve/mem.h +++ b/usr.sbin/bhyve/mem.h @@ -53,6 +53,8 @@ struct mem_range { void init_mem(int ncpu); int emulate_mem(struct vcpu *vcpu, uint64_t paddr, struct vie *vie, struct vm_guest_paging *paging); +int mmio_handle_non_backed_mem(struct vcpu *vcpu __unused, uint64_t paddr, + struct mem_range **mr_paramp); int read_mem(struct vcpu *vpu, uint64_t gpa, uint64_t *rval, int size); int register_mem(struct mem_range *memp); diff --git a/usr.sbin/bhyve/mem_md.c b/usr.sbin/bhyve/mem_md.c new file mode 100644 index 000000000000..0e29ec0a9de9 --- /dev/null +++ b/usr.sbin/bhyve/mem_md.c @@ -0,0 +1,44 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * 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 "mem.h" + +int +mmio_handle_non_backed_mem(struct vcpu *vcpu __unused, uint64_t paddr __unused, + struct mem_range **mr_paramp __unused) +{ + return (ESRCH); +} From nobody Thu May 22 03:25:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2twW5JVSz5x03H; Thu, 22 May 2025 03:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2twW2m6wz3Gw8; Thu, 22 May 2025 03:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747884347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eDP8GnlyoyHpooiLFCR/FeNYf9IxfEelVPy4hFCAmcw=; b=dXff/XCV1vZTso/nCFY51jlCMi5Aa5TtjZek/o3U8k8EShVWPGS+Lt2nVdcBqOMQjBGsWy 0ZbxA8oZDhgiMzcJ18LGi2ECgtL3LQTsspONjA2XcPGwBoxsG2cOXqPblz7lsSq16H2DDt XuERO7VjOYXUXximFLZYm6Q9a9/TtMtTGClnm3pt+MjBkY24YaN5ZUGwav3wUelj7UxzJW 6UXaeB64efRTy/9guvaqnNR3wUlt3P8sPxmteaZptXs7gdS2+No2gIPbP0JhHhTmcK9qE7 sdHNh59cjKQgveb1oDZZRbrlvJWGHE5XfikhzlkbvIrE4FYUYYKcnF4Qw4mHow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747884347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eDP8GnlyoyHpooiLFCR/FeNYf9IxfEelVPy4hFCAmcw=; b=QgNBZEgpgNEum3C+/lWuOldWEQXddWghRQcITDiLvL/1ZJ0E0PHdzpEr30luw6S5lL2jJe thMphTgUX8hZ1ZaWWu/jiHHQX93nSct+SSR2iGCwK5Xhj2FhopIDURbtZCDb7UNh2r6HYc bRs8JUNvS0Wnyeb2rFb4HhneTOjBeehaeKHfrRrQBSv7YJEq9eg30g7z+MOFGiD9QKq1uu scvWRjBTm+bBbPbfZvnby/vfXgmoZCGn9l5HhDHhUoiAIlF65K+mcPoXbnivms3vjKt5l1 zUkdjn/BnOEI1/giyce7k+CvSg381v+tWbDN1QeHM8F84CSYo1VJrhpXfu1pEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747884347; a=rsa-sha256; cv=none; b=p4p5OuebZ/ZmW04Ta85jvwKdaLwGDZWzXGPd9gzNjvWdfE8V/8gbrnlgo4UyqN6rximi0f laposbjxoTjpF6e6s8L21fNT1tfmP7Q/gJC9wzxICWuYetOsL1fuL4A5pY6XOvREAfxHXo P1WLB6/aJ7ArH2uotRX8Smjt03ePgX8Pvl7rFqzaPdVWz1PJX395/C6tjQVjU5hh9ZR1sc h2nGxtpat6cCF/6aR8V5Urk8Ffg+pnqdGi6R6Q7eHSgih1YrZRv0zqZcyZ9V+wFsycM2dR +1cXwuUwauKsxAg+zVg4coFbfFWTNQuTBtbr7jSqXgIZK3QaHDWqehUjjM9Y0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b2twW2Dgpz13QB; Thu, 22 May 2025 03:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54M3PlYn064447; Thu, 22 May 2025 03:25:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54M3PlLh064444; Thu, 22 May 2025 03:25:47 GMT (envelope-from git) Date: Thu, 22 May 2025 03:25:47 GMT Message-Id: <202505220325.54M3PlLh064444@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2919a487021a - stable/14 - bhyve x86: when accessing non-backed gpa, emulate hw List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2919a487021a7785bca1c1b059413a26286fe620 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2919a487021a7785bca1c1b059413a26286fe620 commit 2919a487021a7785bca1c1b059413a26286fe620 Author: Konstantin Belousov AuthorDate: 2025-05-04 17:01:20 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-22 03:25:30 +0000 bhyve x86: when accessing non-backed gpa, emulate hw PR: 286467 (cherry picked from commit d8c4c2ce68eec8bac4e5cd0d133b8342e7a7f05d) --- usr.sbin/bhyve/amd64/Makefile.inc | 2 +- usr.sbin/bhyve/amd64/mem_x86.c | 82 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/amd64/Makefile.inc b/usr.sbin/bhyve/amd64/Makefile.inc index f8103ae1be32..851e64d154fa 100644 --- a/usr.sbin/bhyve/amd64/Makefile.inc +++ b/usr.sbin/bhyve/amd64/Makefile.inc @@ -7,7 +7,7 @@ SRCS+= \ inout.c \ ioapic.c \ kernemu_dev.c \ - mem_md.c \ + mem_x86.c \ mptbl.c \ pci_ahci.c \ pci_e82545.c \ diff --git a/usr.sbin/bhyve/amd64/mem_x86.c b/usr.sbin/bhyve/amd64/mem_x86.c new file mode 100644 index 000000000000..742d827db47f --- /dev/null +++ b/usr.sbin/bhyve/amd64/mem_x86.c @@ -0,0 +1,82 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * 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 "debug.h" +#include "mem.h" + +static int +no_mem_handler(struct vcpu *vcpu __unused, int dir, uint64_t addr __unused, + int size, uint64_t *val, void *arg1 __unused, long arg2 __unused) +{ + if (dir == MEM_F_READ) { + switch (size) { + case 1: + *val = 0xff; + break; + case 2: + *val = 0xffff; + break; + case 4: + *val = 0xffffffff; + break; + case 8: + *val = 0xffffffffffffffff; + break; + } + } + return (0); +} + +static struct mem_range fb_entry = { + .handler = no_mem_handler, + .base = 0, + .size = 0xffffffffffffffff, +}; + +/* + * x86 hardware ignores writes without receiver, and returns all 1's + * from reads without response to transaction. + */ +int +mmio_handle_non_backed_mem(struct vcpu *vcpu __unused, uint64_t paddr, + struct mem_range **mr_paramp) +{ + *mr_paramp = &fb_entry; + EPRINTLN("Emulating access to non-existent address to %#lx\n", + paddr); + return (0); +} From nobody Thu May 22 06:37:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b2zB85T54z5vxf5; Thu, 22 May 2025 06:37:52 +0000 (UTC) (envelope-from mmel@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b2zB850byz3hdq; Thu, 22 May 2025 06:37:52 +0000 (UTC) (envelope-from mmel@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747895872; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lqC3sHaFUOshDTtJKqSjmYx/3tkGLc/Pbri5hy+n2os=; b=I7nhh/HCW1vDefnaSBMZhAvRTlN0WuPguOSZXl1T/9AcOq2P5f1lM4TDt25GnUeSsVG8em 9UZYN5q0o4vJqS9EeCReVqjhDXWG08tJrXE15he6dhEV036bsnkqb8t5cQXeFHbLrZlUV7 NefLInKQ5zQsbLD9cnkNJOVAmJeZHkf3kkt9As4/LJ+sQBMdOqxqZMnYui6tnCvArO4yrs ba+Upt25HWVpIQN5xpugdoFkbvnzU9IP0wE3ErEubJEfOWY96yZ9UBzAiLxZGW8+g5OqP/ qUeB//hUgzZpgGfQkugnzkz34TiEqVMY7G5GAx1VzNa+AMeoHAPDKQ5aVgDpiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747895872; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lqC3sHaFUOshDTtJKqSjmYx/3tkGLc/Pbri5hy+n2os=; b=iqqp/jrFZLGdYa9cpYxg9NUMi1ELrzhrqxj3Iznj0ZHHew4Yh3hoaWQw2yh0XHf1yntwUe lC66QZIRPqn40rYG5F/MBlAYYgnDVlrCmMS8LsCL7fJdq9eZA+E8sv34zc6TNjpzUwegoD cHrkmmAzB7ldYW1vgY6U35SZja4yLj6cmNzJ27USvq3oXNmhvlbF6/M7q5KDofeOp5Rgix U+hQuW2G14+VmoSlrUMmRM5rEkkIR463xKJzNRPbUeteBXjTcHodgQF2V48PWVDosi8JDO 7h0uQIlCOcmEYOiW+/lH4zp4MPHBNk3en0qUt0AqstMlkFMrjsepJlUhSysRMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747895872; a=rsa-sha256; cv=none; b=PYer8OlCsUcMQMuj33/YAzicCzg6gyxtQYcdfRbbfpPrCeq3tHyHqX1nN2QkGs1wsw+rjC CiId1GKoImwbuk5OshJRHiVXiHMQ/XmGfo3cM08zdyFHBM38kCgqowmnibch6Cg+2/cJeD JNT7Un9cxzA6S6C7PlmtCtUMAe6QYEcXzHSMI7BosMJmVQDIJ4wYZnSkHTuPPdJ1jdHasa KgjhizG7zQcFsow2WpR6BlTnoWcfOSyYSS4v+73I21w08MYztIOyGaf7uCFiU4iNid5x+o ULdLydAWJf5E1M+z+rF+SMyDvKkImiej4Gqs6DoK19OkkF8bNXgafeTJF8fTzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2001:67c:14a0:5fe0:74eb:656:ad38:73a0] (unknown [IPv6:2001:67c:14a0:5fe0:74eb:656:ad38:73a0]) (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: mmel/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b2zB76JCpzZKC; Thu, 22 May 2025 06:37:51 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Message-ID: <13b1bbfe-4a60-4c4a-aa4e-ed168cb1286a@FreeBSD.org> Date: Thu, 22 May 2025 08:37:49 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: mmel@FreeBSD.org Reply-To: mmel@FreeBSD.org Subject: Re: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush To: Ravi Pokala , Andriy Gapon , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> <37BF51C0-C631-493F-B3AF-3AA9FC32551B@panasas.com> Content-Language: cs, en-US In-Reply-To: <37BF51C0-C631-493F-B3AF-3AA9FC32551B@panasas.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 22.05.2025 4:42, Ravi Pokala wrote: >> Additionally, ns8250_bus_transmit uses ns8250_drain(UART_DRAIN_TRANSMITTER) in broken_txfifo case. > > FWIW, I just had to enable the 'hw.broken_txfifo=1' workaround on physical hardware; see [Bug 286703]. > > Thanks, > > Ravi (rpokala@) > > -----Original Message----- > From: > on behalf of Andriy Gapon > > Date: Tuesday, May 20, 2025 at 17:12 > To: >, >, >, > > Subject: Re: git: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush > > > On 20/05/2025 21:28, Michal Meloun wrote: >> >> >> On 20.05.2025 16:57, Andriy Gapon wrote: >>> The branch main has been updated by avg: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/? >>> id=0d2fd5b99c95329085d0700a4dd38507a054a50d >>> >>> commit 0d2fd5b99c95329085d0700a4dd38507a054a50d >>> Author: Andriy Gapon > >>> AuthorDate: 2024-11-10 11:15:30 +0000 >>> Commit: Andriy Gapon > >>> CommitDate: 2025-05-20 14:55:18 +0000 >>> >>> ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush > > >>> LSR_TEMT bit is set if both transmit hold and shift registers are >>> empty, but the flush command flushes only the hold register. >> I don't think that's true. > > > I am not sure to which part of the commit message your "that" refers to, so I'll > try to justify everything. > > > T_H_R_E - transmitter holding register empty > T_EMPT - transmitter empty > > > All hardware documentation that I have around describes those bits like that. > We do not have direct control over the shift register, hardware clears it after > sending. > > >> Imho, ns8250_flush() is used also before changing >> baud rate, so we need to ensure that all bits are flushed, including the >> transmit register. > > > That's an interesting point. > > > My intention was actually to avoid bogus "FCR is broken" message which can > happen because of a race between the UART transmission and code execution. > I think that LSR_THRE is proper for checking that FCR works. > > > But to actually detect and ensure that all transmission has completed we should > use LSR_TEMT like you say. > > > At the same time, this UART flush is not like stdout flush, of course, where we > ensure that all buffered data is transmitted. For UART, we just clear the FIFO > and the holding register. So, I am not sure if polling for empty transmitter is > important. > > > Besides, I do not see the code which would flush transmitter when parameters are > changing. > I can find only two places where UART_FLUSH_TRANSMITTER is passed: > - ns8250_bus_attach > - ns8250_bus_probe > > > Additionally, ns8250_bus_transmit uses ns8250_drain(UART_DRAIN_TRANSMITTER) in > broken_txfifo case. > > Oups, I take it back and apologize for the noise. The short story is that I was confused by my local uart driver changes and mistook ns8250_flush() for ns8250_drain(). The long story is that I have several control and measurement devices connected via serial port. These need a dynamic baud rate change because they communicate at a low baud rate (for robustness), but perform bulk transfers of measurement data at a higher baud rate. Because of this, I modified the uart ioctl to handle TIOCSETA/W/F/ ioctls which are, of course, implemented by ns8250_drain() and ns8250_flush(). This allows the control application to send a baud rate change message, wait for all data (including the transmit register) to be sent, and then safely change the baud rate. Again,sorry for the noise. > P.S. > > > Maybe I don't understand the code, but UART_FLUSH_RECEIVER in ns8250_bus_attach > looks strange to me. It's one thing to flush data while in the loop-back mode, > but I think that in ns8250_bus_attach the hardware is fully set up to receive > data from the outside world. So, how can we hope to drain all of it and to > reliably detect whether FIFO flushing works. I mean that something on the other > end could be continuously transmitting. > > I'm not sure if I understand you exactly, but in loop-back mode the RX input is internally connected to the TX output (i.e. disconnected from the outside world). So from that perspective, the FIFO detection and flush seems fine to me. Michal From nobody Thu May 22 08:02:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b313m498Pz5w3fY; Thu, 22 May 2025 08:02:28 +0000 (UTC) (envelope-from avg@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b313m3jZSz497p; Thu, 22 May 2025 08:02:28 +0000 (UTC) (envelope-from avg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747900948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=kDD09aDLo5BjBMd9i+eUXw7e2OWrCxC3M55PrTK7SpM=; b=svxw9v6LILuw9FrWYJk1QR3F7gz/ZFb2PByI49F0HuHyh07oueeyxw24R+9HnDNQfnlfDk uIMGtMZ1tyh5ibG20O8U3UKX031jMTU6S0f9oCMt1MFMp8qmeOVX7rakUlNrzYz5OqRNtV hdYGwgD3bHgDzuquIo9mHmJSWpOmVPj8NsQNMOjmps9OUBfT/V7qPIqhD2ZP5ohoNRVhNV kv0BCNVnQGBWjzcbEjmjBWHFlSXhT6YJb5LUM1cRotRofl03IGKQ/2UEEufl4cTlvrCmfD ZKgkrTUOOfqvTN8NoUlM3BJVsYaRFh6A+LBtPf3iCG0okSuk6hWtRcFCZlFXsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747900948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=kDD09aDLo5BjBMd9i+eUXw7e2OWrCxC3M55PrTK7SpM=; b=HUNIKt1c9zJmpfJf6kOj14JzMsqPRNCDmQx6xmgjpuzB5muZrKj5USUj5OOpGcWHHpzr/i gqxZcYRaGl1cUhZRZcKadk2UVbm9Hg4vQxovufyuKHaeQKrqBmtqtnptJFWlvw17xr5HN0 dXZtk7aJEix+hszizWQ2dYp+1DlEg6rzB67KGSBeI01EXCz6ROGJKa6Whs4fsuj4eJKaC3 za2ZrbBz5gG0mGN5fqLHA6M2dKObiknfv2dKt2MT3ByHD8zhygnunNDBb5IFHavPEUQ/Oa wPGwr9kxBjNtMsY9BwXZ0Fy0aVlbCOxDoy6ioOqakZusSNd/bNXKvYBWXqrvfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747900948; a=rsa-sha256; cv=none; b=MpEdiKmx6yKSJM99nlwIFuSRb6DGSzlWQOfYs4Dyn2dCTQA84U4cCEmW9aTOP0inL9FkX9 ZjJotyN5+F7bu45BjNAaiwZYld+tc6QT/1msye6UrGC10/KKKKtyNC6RT5cS4C+6A4Cd/c WZlnGfWlEWlZv3SMozFvq1E958Y4CuaDJS+sxduUMpMFI5t4Rp34k3Y1doEMneJcY4acRw ik7q8g+KebSQHxgzrx5Ri9YQgyZop7U9dyhYeADELe7YJGzRbfLYOVhTWIav1aoNxeTcZP rN0CqWfpA+9lLeEBfRk7bOep/NFqNpPe6zq/8jBA/JVN+xWliX98dUMXKyA1Eg== 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 4b313l65JGzlBT; Thu, 22 May 2025 08:02:27 +0000 (UTC) (envelope-from avg@FreeBSD.org) Message-ID: Date: Thu, 22 May 2025 11:02:24 +0300 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Andriy Gapon Subject: Re: 0d2fd5b99c95 - main - ns8250: use LSR_THRE instead of LSR_TEMT for checking tx flush To: mmel@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505201457.54KEvD1r053951@gitrepo.freebsd.org> <1a11f640-be62-4f4e-b537-70806ac54831@FreeBSD.org> <37BF51C0-C631-493F-B3AF-3AA9FC32551B@panasas.com> <13b1bbfe-4a60-4c4a-aa4e-ed168cb1286a@FreeBSD.org> Content-Language: en-US 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: <13b1bbfe-4a60-4c4a-aa4e-ed168cb1286a@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 22/05/2025 09:37, mmel@FreeBSD.org wrote: > I wrote: >> Maybe I don't understand the code, but UART_FLUSH_RECEIVER in ns8250_bus_attach >> looks strange to me. It's one thing to flush data while in the loop-back mode, >> but I think that in ns8250_bus_attach the hardware is fully set up to receive >> data from the outside world. So, how can we hope to drain all of it and to >> reliably detect whether FIFO flushing works. I mean that something on the other >> end could be continuously transmitting. >> > I'm not sure if I understand you exactly, but in loop-back mode the RX input is > internally connected to the TX output (i.e. disconnected from the outside > world). So from that perspective, the FIFO detection and flush seems fine to me. Right. Loop-back mode is used in probe, but in attach the UART is in normal mode as far as I can tell. -- Andriy Gapon From nobody Thu May 22 13:47:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b38kC5t40z5wgm7 for ; Thu, 22 May 2025 13:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b38kC50m5z3sxS; Thu, 22 May 2025 13:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747921667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gUYmxU0/6A4ZFyhe7vaOk0/dZsdNPbEZ5v4F2uWx1g0=; b=n1A+87VnEtUB8wxbCNpDFdYlBqQx2CD1eJyXrz35H+NQVfEwWL6aXMVxNgo/+ZA88GxpSZ /zKU8NseccXfxM6KpsGuc5HXqs82B47hOAle06ZNq2/1xyNllwkKwKb3InLH2ddVvjvAs3 JNxznIjgvVcHTDc6fANYNyQ/zMonOT+Y6Rp+u6oThj5TKr23Wbv1Us0Qs8RShFjY+Wx/eB 4bzm6oKopSgSLIubmZpLzhrkJNisRZpAlJOuANYamMsWePrkwnuO7kRUtWbsga89GDofHz RHZZ4B24ua7ZdBCjna+blxHvfn/VkMEEcCNxZeh8BV1ofuErmWo7PLfOsTMyNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747921667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gUYmxU0/6A4ZFyhe7vaOk0/dZsdNPbEZ5v4F2uWx1g0=; b=kE/mr+dsTYHiYzRLuFXRYNJ6xUhaR95+CHXGTm7IdRjk90oV1aB6QKyR2ukIwi9rnGKI1T xrqq5BcRHmqkhLmWywrt3vde2JjpI8I63dBWGEJ2t34Ob3mqPW4vMroa4sdZZANLn4YVUr NlXElUXzwHfKC7b1BY7td3cBOFN72Lex8jRltFL70BY2OtE09PwNRk6asHlLXX9XBI/fPZ ofgXeD7eMdDD9OE9Cxc75mao1IeQ6LPumtJUAhzaZHdPmkiwSmgCSznncwb7LDfRhYzbR/ 4DG6CYgIvMH7necrwvoCZtCCJG/hMtStqxPPZdzO/94fPK8ICEjcc0BUXTYclw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747921667; a=rsa-sha256; cv=none; b=BFi0VgRBF+RQsZyVhYxWSrwgG5l2XGyk1IatQGhPnCGYKp4HbOL2kNuwu3SRH47PSQ1GiY 2o0IR8Jt5QarWttshB9myCxFQTwQGVd7DWa9lm5oxqALZ7SDpBhNPn8EapwcOjlO/1Lxy6 nJ0DyqC8uhA0/YL9M5UjiOJiNszeOCJBG7oX1qTg1BK0jpsPgLWO4GbMy8/dWbXsHXSCaf sFbur4mh3xBZpqlWelLULekW32eLCiEuNaeN7vL11B43nYfY0kpFTsnYXpU3rqYyAkqSKL 7fdbapi9bXSUd8AdY4+RMyfWDZROKexRSa6mY8816McbheHoeRiNs9REOEJr6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b38kC4RXfz79r; Thu, 22 May 2025 13:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MDllsc022423; Thu, 22 May 2025 13:47:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MDllno022422; Thu, 22 May 2025 13:47:47 GMT (envelope-from git) Date: Thu, 22 May 2025 13:47:47 GMT Message-Id: <202505221347.54MDllno022422@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Muhammad Moinur Rahman Subject: git: 5ed9cbfc170b - Create tag vendor/libucl/0.9.2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bofh X-Git-Repository: src X-Git-Refname: refs/tags/vendor/libucl/0.9.2 X-Git-Reftype: annotated tag X-Git-Commit: 5ed9cbfc170b75617261a27a9eb7a2ae74a23ca3 Auto-Submitted: auto-generated The annotated tag vendor/libucl/0.9.2 has been created by bofh: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/libucl/0.9.2 tag vendor/libucl/0.9.2 Tagger: Muhammad Moinur Rahman TaggerDate: 2025-05-22 13:45:27 +0000 Tag vendor/libucl/0.9.2 commit 1e2f270469c61337ef7f5f92ab93f691e5d86492 Author: Muhammad Moinur Rahman AuthorDate: 2025-05-22 13:42:38 +0000 Commit: Muhammad Moinur Rahman CommitDate: 2025-05-22 13:42:38 +0000 libucl: Update to 0.9.2 Approved by: bapt Differential Revision: https://reviews.freebsd.org/D50363 From nobody Thu May 22 13:47:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b38kC5tLYz5wgyB for ; Thu, 22 May 2025 13:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b38kC4yhtz3srf; Thu, 22 May 2025 13:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747921667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HYsCxkUxvECCPn+u2qe3xB+XvQy+1FwuPBqPEN3GkEA=; b=JHrPMkYGcYjqBtUUthjiKK8rG6i+B2ANbCDzFL9RBHyrnnCZGctk1Tx4J4zeRxdoAtT4W3 2V1K2NhWai0RfrBIK8oHNvFgdasIHOonAeBez3r5anlswK8+1QGxGIJ5to4tAdA7NSLbTd zboXGpOYOW7xsl949/o6mGwB00RtSe8ALQPiDOhckRys8fY+2dObKuMsA54N2SMgfzHHeX sKH9OivDoAu6VqI+0mMBUVd//CWvk8mhxR3l9Nq2Wm7Tu6cTTUympe1+XjCw65vVEh8C5K NmXEXiBq+HkCiz2hLUDea4yrFJPgNqrh3AaRlh0e2dyYNaNWwMyXoPX5oYpltQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747921667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HYsCxkUxvECCPn+u2qe3xB+XvQy+1FwuPBqPEN3GkEA=; b=n5GtY4YqpLepaUlHLw4LsCs9fXq4Q6r8dqV7cTPY5/8xC+VJ+eIokSujz65DIx2/+0pFoC 9faIyS7GGJPpf1l41xPwVIzMXOdrF359mq0/OlDlvnBFfevHLfUUY4Twtv8SRR7UQv/nOq D66Y6gilIEeCpQRZRRF0Bf2z1AU2Q3dznWzLAzK8wgRypSTi7DYs47EEwTRd5NcQvzjsyx 5ZD4VGoNxtMdSuwwa6Qi6pVZzUET8xUXj/NYol/8N+U548Q3+kkuJdWZ40S2UybiqUdx+f bi8DuOpTGzddLEqjKHRuvGQ+mVP101x8rGKWJjiAifuHOO9q7Ph+08COdJvaeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747921667; a=rsa-sha256; cv=none; b=KFmRUtkDNiCVZibhMCbATXEiYq9m4PU9S+fzFgydfif2emjNKPxIiV43gVAZ1ZkInLlUQd /JMr1RM9KmOeKfcHrrCPdTd21UV8w3CrIglXgekAugOnBr3Z71mHPWSDod4I8E29xTtbjR 4665XeEVcin4j6nKfo/Y9WPvn8QgCNEdIEJyrFVaKg18AI/Dr6LtJbNNJH3nnRp0y5Pj9k taY+snT/aX2diK0fyZr1Oj3cSq/DkUUMUPgZMZwBCMA70mZ3OSja7dl8eHirLH2h23lWTD ljzjQTo+R0OuRo0A1DQLOc9nmYZUtD3D6CcLTi2vJkvdycqaFa02FV4SK4lXsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b38kC3zR3z6yL; Thu, 22 May 2025 13:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MDllSJ022404; Thu, 22 May 2025 13:47:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MDllmH022403; Thu, 22 May 2025 13:47:47 GMT (envelope-from git) Date: Thu, 22 May 2025 13:47:47 GMT Message-Id: <202505221347.54MDllmH022403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Muhammad Moinur Rahman Subject: git: 76f58d443289..1e2f270469c6 - vendor/libucl - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bofh X-Git-Repository: src X-Git-Refname: refs/heads/vendor/libucl X-Git-Reftype: branch X-Git-Commit: 1e2f270469c61337ef7f5f92ab93f691e5d86492 X-Git-Oldrev: 76f58d4432898b68da2a65237ed6089d0ef90653 X-Git-Newrev: 1e2f270469c61337ef7f5f92ab93f691e5d86492 Auto-Submitted: auto-generated The branch vendor/libucl has been updated by bofh: URL: https://cgit.FreeBSD.org/src/log/?id=76f58d443289..1e2f270469c6 1e2f270469c6 libucl: Update to 0.9.2 From nobody Thu May 22 14:39:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b39tN6qJsz5wlRS; Thu, 22 May 2025 14:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b39tN6Cpfz49xW; Thu, 22 May 2025 14:39:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747924796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MlSEcGWGLQvSx3zHzu4fRpANuM253uAL1R9PYMOf2xM=; b=ixbuVa494rzIqwWRJ166FSZy63fmzW8/jjMIkgVR/NcmV5WRSIcx2Nchny8esW+U8mnpVD Q43BofxwNX+rEuStVnN2aTxichZugb6jN/LIvd6yOxhtij3k1XyUfBwfO2KvopQ/QK6oqS Amx9HLK3bWtJm1qB9JEgoMoZ/gP7riPxkZSZFYkdA5w1IGeBRThwN8QYrjmrMAWziXbyYC //9OnQI9d5dNs0nk/lHFrzytFAmMoQTje4UC4GCSBt7UDu1VhByR95nW0NwoPxC5w5i7Zq FK0v5+Bz0F21UReOUGtwjNLAqMqfvDMNWoAYqPiiU83uI7LseRB4YiK3xbRX6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747924796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MlSEcGWGLQvSx3zHzu4fRpANuM253uAL1R9PYMOf2xM=; b=dT6IrzGVlury1CZVv68DGSA6c3mGSfF3W93tFZudPHmstJT1HzLPh+dtzC5WTibb3loaQW xWwCuoJ4kq4rTz/keQQLeNZn4pODrlFUBYPNQC1TT09TcRFbiXI7AVJ6+gegAlZM9XXjUX BPFu1XjnXBSaPAUf0o5htbQFQoLhcN+GGvp6W0y9hGmr/GhJvC9dZxzZ7P0DtutTA4SAZh hEW4tl96GVt5vlgd2l1tNEb3Gi/fFa/Sm0VskATL1PGhQsbMT0rZBz9yjjMX70VU2LMlVK laoG/vPEdBqdpa7jciBtw1orYhOsLwJhwV7oeNT4HpjB/G7FLKnnm8g98X0Nvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747924796; a=rsa-sha256; cv=none; b=OUoyTfKvJD79ZBFfGHN6rASSrN2VYr9vQ6u0cSWmtTt6xHj7tK7svTuUnULszd62NZA1zW cM95kIP9CuVBMWqWSWaOnfEwz1cI4FoA5mzCK7d12u+AyLcOWqD4ZNJvlt55074jHq71m9 tpKcPZdnULJS1US+uRO+86RB5tCqt4bthlhwkwU1WBsbPLcNLPD5s5gJcXhLfSpaLTDmf4 fjFNxfhhJ3E83SUg8MnKnsQF1TeLbOIBimSaFd2lJcsDUMfCtA1HlobOw+jSglKxwKMMa9 /WYgSK5HhY47nEUPYfuoNWWrZxYeGfwdirdrfQnUuH+Tl3My9QqfqdZFC0hzGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b39tN5DG7z8B7; Thu, 22 May 2025 14:39:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MEduMt016658; Thu, 22 May 2025 14:39:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MEduaR016655; Thu, 22 May 2025 14:39:56 GMT (envelope-from git) Date: Thu, 22 May 2025 14:39:56 GMT Message-Id: <202505221439.54MEduaR016655@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 903d29469ecb - main - vnode_if: Remove some branching around SDT probes in VOP wrappers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 903d29469ecb4212c2eed382dc0c5d4536d413b0 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=903d29469ecb4212c2eed382dc0c5d4536d413b0 commit 903d29469ecb4212c2eed382dc0c5d4536d413b0 Author: Mark Johnston AuthorDate: 2025-05-22 14:37:49 +0000 Commit: Mark Johnston CommitDate: 2025-05-22 14:37:49 +0000 vnode_if: Remove some branching around SDT probes in VOP wrappers Now that SDT is implemented using hot-patching, SDT_PROBE* no longer introduces a branch instruction, so the SDT_PROBES_ENABLED() check in each VOP_*_APV() is not really worth preserving. Reviewed by: olce, kib Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50423 --- sys/tools/vnode_if.awk | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/tools/vnode_if.awk b/sys/tools/vnode_if.awk index 2326d0e28956..d23c2af9bd9a 100644 --- a/sys/tools/vnode_if.awk +++ b/sys/tools/vnode_if.awk @@ -401,13 +401,9 @@ while ((getline < srcfile) > 0) { add_pre(name); for (i = 0; i < numargs; ++i) add_debug_code(name, args[i], "Entry", "\t"); - printc("\tif (!SDT_PROBES_ENABLED()) {"); - printc("\t\trc = vop->"name"(a);") - printc("\t} else {") - printc("\t\tSDT_PROBE2(vfs, vop, " name ", entry, a->a_" args[0] ", a);"); - printc("\t\trc = vop->"name"(a);") - printc("\t\tSDT_PROBE3(vfs, vop, " name ", return, a->a_" args[0] ", a, rc);"); - printc("\t}") + printc("\tSDT_PROBE2(vfs, vop, " name ", entry, a->a_" args[0] ", a);"); + printc("\trc = vop->"name"(a);") + printc("\tSDT_PROBE3(vfs, vop, " name ", return, a->a_" args[0] ", a, rc);"); printc("\tif (rc == 0) {"); for (i = 0; i < numargs; ++i) add_debug_code(name, args[i], "OK", "\t\t"); From nobody Thu May 22 15:01:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3BLy3MyRz5wmwG; Thu, 22 May 2025 15:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3BLy0dQvz3LtQ; Thu, 22 May 2025 15:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747926074; h=from:from:reply-to:subject:subject: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/GtoKQ8E6Gij/ATYPijQc6rAqHr6WME7cWY49S8ZhQ=; b=OTWxLFjif7UgZJnYOVHjw10cxwFE4Ptc+TqRj/fP2/9e6xkHy4EC2kW1zXln+6uJZaI6Nw 7nFg5BjepSBhXYcHX/lHF8GC0hUSU3R0MCj40C4SJL4mh+Xvrz+y4hFgYcg9SBFuKbAToh 21Suvpk/PtqvzJNwTzzECxBPVPDkDadpM2+yJXX7+HyM8ZcrvsOmJahPtyOn6xJNnKJmZf UsvFC16LQCLFNim5F+nSZcSfVtGm4u72NebyRsN8JthXN/4zQhof4at136Tu4G8WsSIVtd u+0gbWoInb7sZKbfiKES5JQWdj+ppuXcTVzCbAruwW3muuLXsaL1YeFQuLSlgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747926074; h=from:from:reply-to:subject:subject: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/GtoKQ8E6Gij/ATYPijQc6rAqHr6WME7cWY49S8ZhQ=; b=g2kkD8C1uTHB75Vmz98fV/4FMjezPUgRQwS4zUDTlmMoG34nF+f1fMVBpKtz0N/grnuHaW /1WdY4w/Rg8CDdpHiVVAn2lrRQIziCFd8A/QikjUssqo5mq+F0rS5UiuGJz+ubIu1GHhb+ Sm4jlWFgds6AhrKgtxILh/LrQiVoB7MLoEo/xRVDDzhHt5Qhg4drHKS91rbrDf2EvP1jdK 7WVoMyJiphUxd0VF3gV5If/NMv2g+6EK1EDEgSOfebk1uKncrQ+7w3YJxsdGK8H8kFmc0C 475WcGbkMnEe73b8VlQq+h49gHO4y1nsu0/TQmm2g89VIW7DMZ3jtHZfywyM5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747926074; a=rsa-sha256; cv=none; b=QvODDmLRZEEgirvUV5BT6ImqyvKfEclxEByH14TCKRFU+zD8HEm5mvc0t+wbGbQVyhYwwt Tm5KjjhyFrratCVrYa4Il0wsp2sCtkrsUnshd+ON37BVFn8Y0vLUGGkyuoOej877apzsqp ZarOPdBZqdq/sv7MooROl1rxWvPwBykbNah+3KbImZ+/yddtAM3jFTAycJDsHn9vMSv5t0 0gLiSGrGphY1saMQduFAaMJyr4HfKcURYod5l1AFHjXzHUspfexqNBSlyMN8AH4GOOe1A1 t9/5jLb57NG/q3ayFa96vqHkUNAWk0mmweRDegF4oblzHCGZTpWB/zxj0YRyVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3BLy0C52z943; Thu, 22 May 2025 15:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MF1DX2064328; Thu, 22 May 2025 15:01:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MF1Dxc064325; Thu, 22 May 2025 15:01:13 GMT (envelope-from git) Date: Thu, 22 May 2025 15:01:13 GMT Message-Id: <202505221501.54MF1Dxc064325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 098b5d4dc744 - main - ifnet: Initialize the address family dependent data region earlier List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 098b5d4dc744283a90b2d80c11395ecc18a84084 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=098b5d4dc744283a90b2d80c11395ecc18a84084 commit 098b5d4dc744283a90b2d80c11395ecc18a84084 Author: Zhenlei Huang AuthorDate: 2025-05-22 15:00:05 +0000 Commit: Zhenlei Huang CommitDate: 2025-05-22 15:00:05 +0000 ifnet: Initialize the address family dependent data region earlier if_link_ifnet() adds the interface to the global network interface list, and it is a natural synchronization point. With this change, any threads that obtain the reference of the interface via ifunit(), ifunit_ref() etc., will be guaranteed to see the address family dependent data rightly. The issue [1] reported by Mike Belanger also hints the potential race. MFC note: this change depends on e64fe5ad3a23, as calculating the max IPv6 MTU through all the interfaces requires the current interface to be added to the global network interface list firstly. [1] https://lists.freebsd.org/archives/freebsd-net/2025-May/006817.html Reviewed by: glebius MFC after: 1 month MFC with: e64fe5ad3a23 netinet6: Remove a set but not used global variable in6_maxmtu Differential Revision: https://reviews.freebsd.org/D49358 --- sys/net/if.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 853fc3c78fce..0255c27a3136 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -946,11 +946,11 @@ if_attach_internal(struct ifnet *ifp, bool vmove) } #endif - if_link_ifnet(ifp); - if (domain_init_status >= 2) if_attachdomain1(ifp); + if_link_ifnet(ifp); + EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp); if (IS_DEFAULT_VNET(curvnet)) devctl_notify("IFNET", ifp->if_xname, "ATTACH", NULL); From nobody Thu May 22 18:24:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3Gsc7278z5x0b2; Thu, 22 May 2025 18:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3Gsc6Hv0z3T9f; Thu, 22 May 2025 18:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sGlONyEN46XHoM9mn8F7200cYkv656eIFogJ+KlVF8w=; b=N4lKhqw4nj5cP4YOFAYtYZPrmhaqF8SLzjY1WIXMoCaadw1+ZFs3FVbNZgi/xx7KbO5BL2 I/g1z6kf7T8J86BNpcMEe1yGYT1F6pALVMI6Gb5wyU1dQG94hUGjsx8p2SHE4QnvuCo3Mw fsTs6f8YScLkmwN681BivpaBgakX0DG0e7jEMhNgeNNuPUNT1goKdZ1K4jwjr3qnLYEqqw Givhvv3l4YZzPGlthvcxRbTGjV5grlZLmiplaXQQDVNjBDKMFZpGXm0DDhg4iIBk1G/nfI 2h76nDBLesRY8ekk9MDlOFOcrsOkOwMvVhpK3/y72j84RZuEAi9lPbiOhnTLSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sGlONyEN46XHoM9mn8F7200cYkv656eIFogJ+KlVF8w=; b=hAQQ5eY6twOSa4D624MPYuky0qPjwqpLQ3BOs0zqjd00oPtL7cAP3k6Phjecp4l5DFH/Wu xl9oB5qJ7ocZNQortclCzmnVGlwlc8ZljNXgZUvsL442Af2IRAgvOfsrvCEiogySdameMp pWSR0dsi1mvC+WMLAZLihiUB2tgbk96TaurMxFCdTndo//e4bsSx3YQezhy3YBGp78Ismt a4gP4gPZ3k3nmpuwmmAGh6FoO77lD5SXDn8dLNMq+v4D+EYk/ZO4I48K1fwA+gq7+8xgz7 9lG7sZvV/X81HAqsTLjYqjNV6f+xWeTdrFbUH0GX/zDaYuV9Pp9IJxD8gcAByQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747938276; a=rsa-sha256; cv=none; b=aQVEoMWp7+sItSp0EowcCrSDCDeWk4/J6RWHCwBKjwbuuSa1VwQAPEi9OjS36l4YPIUn8L 6avD13V5YW5LJhE9SFqJiwQGA8R2CozgIyF2O94Yz6+8Myw546j4ircQjR8Q21wQ6BjbTU 54F0QCTg2ZrBo18WfqUv7mAuUf/rF3ez6amrZ9S6TxvOhjdjrYYrsctxRl21kz7/LTbDiu YD5CiURhrHA5McOx58Ud0U2JTtEHMhrxJlQjpSvTBvMoM8nJY/7UWPZhKTPJuMWRvfuoXj cKl+wi9p0msdOD98DA7K5WtsZKnqAGocUhMQrWojpRYMVxaUamXPzQMX+Yz2FQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3Gsc5vNfzY4K; Thu, 22 May 2025 18:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MIOa9l047187; Thu, 22 May 2025 18:24:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MIOak8047184; Thu, 22 May 2025 18:24:36 GMT (envelope-from git) Date: Thu, 22 May 2025 18:24:36 GMT Message-Id: <202505221824.54MIOak8047184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 0325cd325deb - stable/14 - sndctl(8): Remove unnecessary val variable from sysctl functions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0325cd325debb26b922c26425a3cc6bc4bcc3896 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0325cd325debb26b922c26425a3cc6bc4bcc3896 commit 0325cd325debb26b922c26425a3cc6bc4bcc3896 Author: Christos Margiolis AuthorDate: 2025-05-21 19:31:17 +0000 Commit: Christos Margiolis CommitDate: 2025-05-22 18:24:28 +0000 sndctl(8): Remove unnecessary val variable from sysctl functions No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50397 (cherry picked from commit ac86e65e0e25a3e3fd6f91b17d2db874cea83c3b) --- usr.sbin/sndctl/sndctl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index f362ce840cf7..412ea33e5adf 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -662,12 +662,11 @@ static int sysctl_int(const char *buf, const char *arg, int *var) { size_t size; - const char *val = arg; int n, prev; - n = strtol(val, NULL, 10); + n = strtol(arg, NULL, 10); if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", val); + warn("strtol(%s)", arg); return (-1); } @@ -699,7 +698,6 @@ static int sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) { size_t size; - const char *val = arg; char prev[BUFSIZ]; char *tmp; @@ -710,10 +708,10 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) return (-1); } - size = strlen(val); + size = strlen(arg); /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, val, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, val); + if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { + warn("sysctlbyname(%s, %s)", buf, arg); return (-1); } /* Get size of new string. */ From nobody Thu May 22 18:24:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3Gsf33X7z5x0Vf; Thu, 22 May 2025 18:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3Gsf0HK8z3T73; Thu, 22 May 2025 18:24:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cojidCH6XjgbRxDMjRdPd0ieQ4ttQbmiyCFV3VO3XLA=; b=QXR1fWXFblzLmlj4RDZZOk+NQB+ugpCEdRQ1IVollWXZdCTR06Q9V6t29AoNFqgeeduU+Q d4T3sXLusoA4SqaCOuRDQT+3vbC6r1TNc/nzz8uf0ez/C3QOICeY0cNjy+vfWtA6WTSblO fZTLcVYRe67+KpkdKbETCjbOa2aXK48LTBPudjBjGarPxeOQWNRYn6lDzZ6MKg6eXuynbc kw4Ti4RFY+tom7NXK0CT+1lDU8LKlh3V8ywfih6PrZAH0LqDJdq+oNqAi6hCvTTOu/DW6P p7JVDrNrvqzkrwuUHHbMf3mZuUWv073IYxFEYuCPDB+WzPPKEsodLmNFvzP58Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cojidCH6XjgbRxDMjRdPd0ieQ4ttQbmiyCFV3VO3XLA=; b=sOBZrlCZ/JYFLElkfj+Kqw2K1iqMO0jmqgdRwJguC/DKRt/8O6COG1H1fegRw7DCwYXk9U rUuV3tekbVWh9Gxqu/2NwdebugIyDwZSPdGIYIteaH264xOI3z4MkvoSfz5qDMrdkRLkHM 5UaujEefXABR/Wa/ZD4E9zSCCrPoVQbtNHXNBeCMFzlbzZKseGLhjMBtf5fAVlnfC2iudX 5EjTo0HeocMbLxXK0ojmvb2qx9HjHMOFtTEq7TYaGX0+Gvur6/73gKyvL+/KK+FEhBlCHv YreiLc/EwT1krwL6jKkmHC1dzsEWZaWw9acO7SRwuIBm9j4TV2BxeJHo7/PFtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747938278; a=rsa-sha256; cv=none; b=JWCI4ZV/WEoJ3S2o1DhsndPbBqUopyx0Z8TXSbKLRKyacOQS0uibrc+Dx92XFJ1asGwmaL pyH1jhCAvoa5ttlLAongQAMXmibrPHqpWCW18y0tlyv9ar1V2worPMnfBstrAZLK9Zp7bt RPRHG2CqRpv2glFdUa1K5eUP0Uk1FG16jyQiLU1G/Hts5uvV/Xn00MMRfBtfAFeQr5d5AB Iallih5oIxxUfPgnPPikMEG301i+d+VfCgO4LYvwfK6QY2BXuGoSi8fT5tzighD7VKZD4H kzj5ft2J/qvax2VSwCPo5Xw5FRQ+tIy6FXqg79a1ci5D3pG6OqBFcjVhWiAyKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3Gsd6zSYzY4L; Thu, 22 May 2025 18:24:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MIObrp047226; Thu, 22 May 2025 18:24:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MIObR0047223; Thu, 22 May 2025 18:24:37 GMT (envelope-from git) Date: Thu, 22 May 2025 18:24:37 GMT Message-Id: <202505221824.54MIObR0047223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 2af8f2ad4265 - stable/14 - sndctl(8): Allow read-only sysctls List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2af8f2ad42654291ad1fcefba142bcc93976d7f4 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=2af8f2ad42654291ad1fcefba142bcc93976d7f4 commit 2af8f2ad42654291ad1fcefba142bcc93976d7f4 Author: Christos Margiolis AuthorDate: 2025-05-21 19:31:23 +0000 Commit: Christos Margiolis CommitDate: 2025-05-22 18:24:28 +0000 sndctl(8): Allow read-only sysctls Needed by follow-up patch. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50398 (cherry picked from commit 52c4263274031d599aebfaed2862ae85b482953a) --- usr.sbin/sndctl/sndctl.c | 56 +++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index 412ea33e5adf..4d3ae0cf526c 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -664,30 +664,37 @@ sysctl_int(const char *buf, const char *arg, int *var) size_t size; int n, prev; - n = strtol(arg, NULL, 10); - if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", arg); - return (-1); - } - size = sizeof(int); /* Read current value. */ if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { warn("sysctlbyname(%s)", buf); return (-1); } - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { - warn("sysctlbyname(%s, %d)", buf, n); - return (-1); + + /* Read-only. */ + if (arg != NULL) { + errno = 0; + n = strtol(arg, NULL, 10); + if (errno == EINVAL || errno == ERANGE) { + warn("strtol(%s)", arg); + return (-1); + } + + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { + warn("sysctlbyname(%s, %d)", buf, n); + return (-1); + } } + /* Read back applied value for good measure. */ if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { warn("sysctlbyname(%s)", buf); return (-1); } - printf("%s: %d -> %d\n", buf, prev, n); + if (arg != NULL) + printf("%s: %d -> %d\n", buf, prev, n); if (var != NULL) *var = n; @@ -708,17 +715,21 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) return (-1); } - size = strlen(arg); - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, arg); - return (-1); - } - /* Get size of new string. */ - if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); + /* Read-only. */ + if (arg != NULL) { + size = strlen(arg); + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { + warn("sysctlbyname(%s, %s)", buf, arg); + return (-1); + } + /* Get size of new string. */ + if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } } + if ((tmp = calloc(1, size)) == NULL) err(1, "calloc"); /* Read back applied value for good measure. */ @@ -728,7 +739,8 @@ sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) return (-1); } - printf("%s: %s -> %s\n", buf, prev, tmp); + if (arg != NULL) + printf("%s: %s -> %s\n", buf, prev, tmp); if (var != NULL) strlcpy(var, tmp, varsz); free(tmp); From nobody Thu May 22 18:24:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3Gsg4CjRz5x0gW; Thu, 22 May 2025 18:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3Gsg1Lq7z3T2D; Thu, 22 May 2025 18:24:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ztWjjVtC9X/VDCn/6qCT9HF8W6oznyKjMJ9pgcYDPs=; b=usPouyYl3CJYzGrrOrYdHgrGTEaYFAglkaJB/FTWBtblhrRFUO1B2/vDy9VTKBhyVtlA8V 1QV+zmZRW7JfBI2CvaWI557sFQ9FC5/DEv/24i9V1yDWx4b2jaXVADltMXpp3QfMB+9I2L yuG7RMBUGgPRoz3zDWwFU/9QaMSHlen+6LadFC94oey4vZ4AXITq5aBYM0YAGB7bJvNCAz AA54OEYiI8r5ssFNhlYWFF5/Pf6DJERUbCsmtCnLAzVCQzm0WMsoTVpgS/pXkYf/ssWkXU dIW0rcbaevGYTCQDGA9R7mCZskJQUYt+fFqBrBeDX4pHG6u0b44Nm26341zFSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ztWjjVtC9X/VDCn/6qCT9HF8W6oznyKjMJ9pgcYDPs=; b=XCgqO83KoVSmw11gCFd4VJ3FnCi9go3OcHhQA8gcT6ONOynmsnxQ+SKasKgelUV+VqRt2H 2+QqKCGkQAOU+KecDOOJnzur0EMw5FV/dgBzlkSduNMMWiss0A0r1B/aK01k7VIjeMpi+d rjVzo0FaQYVGWV9SzKU0YpKSgMH/jmeF7FJQn4KKtSI4W7OKGqeruERdSD+QboBxRfKmrU 01wdoezqljGpDSQ4R4rbWT+zlM1UD3ubwTxQOsI9laalx+x+uSWezNIqg2JPibMZihTC25 uC153iGkOveccoOmc5VNk+cw8JCWy5ZhYR8o+dRE2M9LZNjorTHm26nm4Uv6sA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747938279; a=rsa-sha256; cv=none; b=PoUr6y+6shNtgq9+GKxNL8XLscqYSNF2CTr0qE6uy5NgxQB7j7xBu61oViMvLO4yc8+iI/ bF8xJt3wv52AAmvFT8jeU0//5xqrmZbD6SOQT5jXq+TQAhGQWT+i4QPF5KSsrtAH/hINf9 RbEKhfgOWjiAXGM8liY9fOL3nTsP+sXzTH+/d52zNPBNQbinwjEm57iUG7/2bUTFfVkZo9 zNHjowx7DgztB6phNIdxK+xYwMHdb5szpZo/M7F2uBB/hF/KtEa36KIrVZ+oAikNsmX119 rhOHhhVVizD+QF44Fy9Jh87Tw7elNbCEVzfZAfu7DqS4CuUyqLLIv5eFZ7AUIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3Gsg0Mt8zXnC; Thu, 22 May 2025 18:24:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MIOcho047260; Thu, 22 May 2025 18:24:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MIOcqF047257; Thu, 22 May 2025 18:24:38 GMT (envelope-from git) Date: Thu, 22 May 2025 18:24:38 GMT Message-Id: <202505221824.54MIOcqF047257@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 623ccbc4e4f2 - stable/14 - sndctl(8): Fix dp->realtime List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 623ccbc4e4f2ea70b6be7734de7e214b0182b76c Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=623ccbc4e4f2ea70b6be7734de7e214b0182b76c commit 623ccbc4e4f2ea70b6be7734de7e214b0182b76c Author: Christos Margiolis AuthorDate: 2025-05-21 19:31:28 +0000 Commit: Christos Margiolis CommitDate: 2025-05-22 18:24:28 +0000 sndctl(8): Fix dp->realtime Currently it's automatically set to 0 in read_dev() as a result of allocating dp with calloc(). Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50400 (cherry picked from commit 30fd79b0c0a328536b166e7fa9170b059e711303) --- usr.sbin/sndctl/sndctl.c | 189 ++++++++++++++++++++++++----------------------- 1 file changed, 98 insertions(+), 91 deletions(-) diff --git a/usr.sbin/sndctl/sndctl.c b/usr.sbin/sndctl/sndctl.c index 4d3ae0cf526c..156c845481c5 100644 --- a/usr.sbin/sndctl/sndctl.c +++ b/usr.sbin/sndctl/sndctl.c @@ -333,6 +333,96 @@ bytes2frames(int bytes, int fmt) return (bytes / (samplesz * ch)); } +static int +sysctl_int(const char *buf, const char *arg, int *var) +{ + size_t size; + int n, prev; + + size = sizeof(int); + /* Read current value. */ + if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + + /* Read-only. */ + if (arg != NULL) { + errno = 0; + n = strtol(arg, NULL, 10); + if (errno == EINVAL || errno == ERANGE) { + warn("strtol(%s)", arg); + return (-1); + } + + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { + warn("sysctlbyname(%s, %d)", buf, n); + return (-1); + } + } + + /* Read back applied value for good measure. */ + if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + + if (arg != NULL) + printf("%s: %d -> %d\n", buf, prev, n); + if (var != NULL) + *var = n; + + return (0); +} + +static int +sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) +{ + size_t size; + char prev[BUFSIZ]; + char *tmp; + + /* Read current value. */ + size = sizeof(prev); + if (sysctlbyname(buf, prev, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + + /* Read-only. */ + if (arg != NULL) { + size = strlen(arg); + /* Apply new value. */ + if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { + warn("sysctlbyname(%s, %s)", buf, arg); + return (-1); + } + /* Get size of new string. */ + if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + return (-1); + } + } + + if ((tmp = calloc(1, size)) == NULL) + err(1, "calloc"); + /* Read back applied value for good measure. */ + if (sysctlbyname(buf, tmp, &size, NULL, 0) < 0) { + warn("sysctlbyname(%s)", buf); + free(tmp); + return (-1); + } + + if (arg != NULL) + printf("%s: %s -> %s\n", buf, prev, tmp); + if (var != NULL) + strlcpy(var, tmp, varsz); + free(tmp); + + return (0); +} + static struct snd_dev * read_dev(char *path) { @@ -343,7 +433,7 @@ read_dev(char *path) struct snd_dev *dp = NULL; struct snd_chan *ch; size_t nitems, nchans, i, j; - int fd, caps, unit; + int fd, caps, unit, t1, t2, t3; if ((fd = open("/dev/sndstat", O_RDONLY)) < 0) err(1, "open(/dev/sndstat)"); @@ -456,6 +546,13 @@ read_dev(char *path) dp->autoconv = (dp->play.vchans || dp->rec.vchans) && !dp->bitperfect; + if (sysctl_int("hw.snd.latency", NULL, &t1) || + sysctl_int("hw.snd.latency_profile", NULL, &t2) || + sysctl_int("kern.timecounter.alloweddeviation", NULL, &t3)) + err(1, "%s: sysctl", dp->name); + if (t1 == 0 && t2 == 0 && t3 == 0) + dp->realtime = 1; + if (!nvlist_exists(nvlist_get_nvlist(di[i], SNDST_DSPS_PROVIDER_INFO), SNDST_DSPS_SOUND4_CHAN_INFO)) errx(1, "%s: channel info list empty", dp->name); @@ -658,96 +755,6 @@ print_dev(struct snd_dev *dp) } } -static int -sysctl_int(const char *buf, const char *arg, int *var) -{ - size_t size; - int n, prev; - - size = sizeof(int); - /* Read current value. */ - if (sysctlbyname(buf, &prev, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - - /* Read-only. */ - if (arg != NULL) { - errno = 0; - n = strtol(arg, NULL, 10); - if (errno == EINVAL || errno == ERANGE) { - warn("strtol(%s)", arg); - return (-1); - } - - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, &n, size) < 0) { - warn("sysctlbyname(%s, %d)", buf, n); - return (-1); - } - } - - /* Read back applied value for good measure. */ - if (sysctlbyname(buf, &n, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - - if (arg != NULL) - printf("%s: %d -> %d\n", buf, prev, n); - if (var != NULL) - *var = n; - - return (0); -} - -static int -sysctl_str(const char *buf, const char *arg, char *var, size_t varsz) -{ - size_t size; - char prev[BUFSIZ]; - char *tmp; - - /* Read current value. */ - size = sizeof(prev); - if (sysctlbyname(buf, prev, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - - /* Read-only. */ - if (arg != NULL) { - size = strlen(arg); - /* Apply new value. */ - if (sysctlbyname(buf, NULL, 0, arg, size) < 0) { - warn("sysctlbyname(%s, %s)", buf, arg); - return (-1); - } - /* Get size of new string. */ - if (sysctlbyname(buf, NULL, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - return (-1); - } - } - - if ((tmp = calloc(1, size)) == NULL) - err(1, "calloc"); - /* Read back applied value for good measure. */ - if (sysctlbyname(buf, tmp, &size, NULL, 0) < 0) { - warn("sysctlbyname(%s)", buf); - free(tmp); - return (-1); - } - - if (arg != NULL) - printf("%s: %s -> %s\n", buf, prev, tmp); - if (var != NULL) - strlcpy(var, tmp, varsz); - free(tmp); - - return (0); -} - static int mod_bitperfect(struct snd_dev *dp, void *arg) { From nobody Thu May 22 18:26:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3GvL08DCz5x0yR; Thu, 22 May 2025 18:26:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3GvK6Cz5z3Vd0; Thu, 22 May 2025 18:26:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iXdm1wvbypzw97mNPOeT9N/PyoZjyHmeOZcuNa+6EqI=; b=ozo4NKdg5HP/nBH71oWFVM4TcB0qDAevucK54E+uLP31qr+YsaP4v7lxVXJvD/V4QmW8Pu i2279dEu1Tp4d2kmlSO9o0yDpJwJLfah1fdlMoL6XQ8k0AEwNrD4FuQGkcJ3i9oqAtnv4q Qv6AQR5AUzrjIdTPonq0sL0YqEIMHvCP3O6K4iTiUjbU4ig5AZvt0e7rBIK0OgBWs+E/9y LXlOaWvZ914zMjP0GywLWdBlZgqwYdpdfwvFNZcJvz7bbZznEhcNet244a8UUV4F4tQvQE 9tQYa7fEUQOM40pYPRn+KkxqAxIbgS5ukfQG3jJOnM5o+/GfbgOgz99VO5rTZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747938365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iXdm1wvbypzw97mNPOeT9N/PyoZjyHmeOZcuNa+6EqI=; b=Un/KQ28qVgmO2O8TOaUW7qNYXNUyw5c+oGBYmKMYf1+SoeDV60yk29yQ/U/TGMeIfgcUHR usahsLx0hKXSc5RD01VVB6e7ftKL7ifHELL+kDCnx+8q7M5XYTJPrzyB50DOoVhPq4qxPH jL+Kn1LzLOvy0tBT08O2XMA7ifW0CdSPUm2Ks76JIhnuP5H043VXc0CyJkeqJnf8Mx8p/7 68H4LNEmXmlWw/x95zZ3AszO8o5X58EMpcjO5krLm8rzjLCPWoybyNiSwxJKPyMiL4D3Id 7Wc3DDbcSSUhFrt5dni3O23FNGmd3sMP1vwuOt+XSxSlGBihIUR44do0oKsfpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747938365; a=rsa-sha256; cv=none; b=QqpHPUNTVHRTEWcD5U7nTvBJN9lz1kYRkoD1rK0q+dhaK708AfNIlqiXOJuPmANi4GYDqQ BjkDNFDJH8teDS5OQWRumLkLXg8jHvCj7XtdnMOjR5DcoSfLmpa8LVMX+rJETf3hSNSVVI jP7WoyZlllZ3lEsprYsr6ZCH4PB2PzYK38NbVNKWR7vUuT4W5mM8pk9rt5/msK/vxuNoje F9ifbEJxXSosUK1KAgXXnMlGoI5pqmeiQiEVF9ULFqxvQDxP9pvjNTmsnv9lFyYnjeWNxx HiYZfKW64X2Vh7q341tvwisbZ2abtF+6WMEe+YCCzqVQ6DfF7UsZGUBAONtlew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3GvK5q8RzY4M; Thu, 22 May 2025 18:26:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MIQ5XK047829; Thu, 22 May 2025 18:26:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MIQ5SP047826; Thu, 22 May 2025 18:26:05 GMT (envelope-from git) Date: Thu, 22 May 2025 18:26:05 GMT Message-Id: <202505221826.54MIQ5SP047826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: c8d8cac2a847 - main - mac_do(4): allow compiling into kernel List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8d8cac2a8479009bcdca6c0cb9852af514896f2 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=c8d8cac2a8479009bcdca6c0cb9852af514896f2 commit c8d8cac2a8479009bcdca6c0cb9852af514896f2 Author: Lexi Winter AuthorDate: 2025-05-22 16:59:32 +0000 Commit: Lexi Winter CommitDate: 2025-05-22 16:59:32 +0000 mac_do(4): allow compiling into kernel The manual page says this is possible, but it's not. Make it possible. Reviewed by: olce, kevans Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D50451 --- sys/conf/NOTES | 1 + sys/conf/files | 3 ++- sys/conf/options | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index e84fdcb30220..8aa0ed9dda78 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1249,6 +1249,7 @@ options MAC options MAC_BIBA options MAC_BSDEXTENDED options MAC_DDB +options MAC_DO options MAC_IFOFF options MAC_IPACL options MAC_LOMAC diff --git a/sys/conf/files b/sys/conf/files index 6ad3ea21b14e..e54eff8464a7 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -5203,10 +5203,11 @@ security/mac/mac_sysv_sem.c optional mac security/mac/mac_sysv_shm.c optional mac security/mac/mac_vfs.c optional mac security/mac_biba/mac_biba.c optional mac_biba -security/mac_ddb/mac_ddb.c optional mac_ddb security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended security/mac_bsdextended/ugidfw_system.c optional mac_bsdextended security/mac_bsdextended/ugidfw_vnode.c optional mac_bsdextended +security/mac_ddb/mac_ddb.c optional mac_ddb +security/mac_do/mac_do.c optional mac_do security/mac_ifoff/mac_ifoff.c optional mac_ifoff security/mac_ipacl/mac_ipacl.c optional mac_ipacl security/mac_lomac/mac_lomac.c optional mac_lomac diff --git a/sys/conf/options b/sys/conf/options index 92f3c310c77b..48018e3b6adf 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -155,6 +155,7 @@ MAC_BIBA opt_dontuse.h MAC_BSDEXTENDED opt_dontuse.h MAC_DDB opt_dontuse.h MAC_DEBUG opt_mac.h +MAC_DO opt_dontuse.h MAC_IFOFF opt_dontuse.h MAC_IPACL opt_dontuse.h MAC_LOMAC opt_dontuse.h From nobody Thu May 22 19:02:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3Hjj1WvKz5x2vT; Thu, 22 May 2025 19:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3Hjj0FsRz3nLV; Thu, 22 May 2025 19:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747940569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3s1EPihie5sNMsC4Fqa4n/T/xUALUD+tImlKxFL574=; b=RmnMNRSbtNZinHBJT9EAItbyW3P9H6yNgLkUGa5/IB4RAeoDJYFJzKvX2pyiEQ9Nf58m7w /WMmsLqzh9NSeBqGzVslxg7XdjJIq0kMXhiL0A8W8UBI97/bWpqHsYcqNF2bIURA72b2nS t+mwJcZpAt7GL115XTUwxMq60ggx0Ok/GlGSNDTGuOJK/zjYdCh1P9nwttRwBPxqI9w/UN RkBlRE4bt92SnXMTJlknDASOm2sGpN3CBkYPfSmJKgSKUhEZw3L2h6XKp4fS+fCJllii3E U3h8au2FHFXUBBjWS4q+vmXeKYYDcpaohgWVTppF2WdleFJe3/ZeWfeMpSEb+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747940569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3s1EPihie5sNMsC4Fqa4n/T/xUALUD+tImlKxFL574=; b=MXcuNXZuKmpizrM31o3fJpjErYtVpW9Tc81aj1tTr24qGuVKiLzmQDAvEbrGaUusVtjfOI 60obxBch2gWpF+cMChmR3J8pODlI7HEoojzOQtYd/vlE3lUPHQARZ+llME6f+5PC3hKeeG z3I/zaaN6ry8cCQSjlQZB3iV4GcRvPTs96epENLhLBT5G+w8WPpoSNz11r2dvVQ9CBTVjx lXgiCHCE+FjK0YRRhPCHoSYEPey2OacaFZ9gA0MvpMd1QJZ5LapcqFL5fUti0AzbGUwsWX 6ZQwIMUL5ae34kr2S4/ws0NFNSJrnOguxmqU/i7foHse5zlULPLqrNDo9t/Ujg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747940569; a=rsa-sha256; cv=none; b=ar1Otnwi8hrsU4RVlmwZr2d/KGWolC37KfjiGvdj+OmV20NBvhv+vz8q9il0owWCmK93G2 U+aswpr+B8TmufuYAKdMqOIETROvIPtG76Ev7ZGnYqOtuHG8iXiB4XEVKkDUIsirfZc6fG mzDCkAUTUhdfiTFMv261XLg41HzmRVFRWTemK5bmqAPJkdLYKHOg2oGvxgKHmHooNoDBvE Onqzi+KOX+pt/J+XhS8w6SYjAdoW0Qb8Yb/LwX/RkzpNOH+iZ1viCVB3uMjkxI/y5UKwuR TvcV15sv8xpcnG8n/cC7rWbwKQcKVTwNO5KDvJt1eaxo5amsr8ML0RunMPpKSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3Hjh6kMDzZPC; Thu, 22 May 2025 19:02:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MJ2mmR021774; Thu, 22 May 2025 19:02:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MJ2mIH021771; Thu, 22 May 2025 19:02:48 GMT (envelope-from git) Date: Thu, 22 May 2025 19:02:48 GMT Message-Id: <202505221902.54MJ2mIH021771@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 3c3dd6296612 - main - bsdinstall: add pkgbase component selection dialog List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3c3dd62966123b424657983d9a4d173f675ad8c7 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3c3dd62966123b424657983d9a4d173f675ad8c7 commit 3c3dd62966123b424657983d9a4d173f675ad8c7 Author: Isaac Freund AuthorDate: 2025-05-05 17:44:20 +0000 Commit: Ed Maste CommitDate: 2025-05-22 18:59:47 +0000 bsdinstall: add pkgbase component selection dialog This matches the style of the component selection dialog for traditional tarball-based installations. The only difference is that there is currently no ports component offered when using pkgbase. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50178 --- usr.sbin/bsdinstall/scripts/pkgbase.in | 132 +++++++++++++++++++++++++++++---- 1 file changed, 118 insertions(+), 14 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/pkgbase.in b/usr.sbin/bsdinstall/scripts/pkgbase.in index 7faeee40647b..eaed23a19548 100755 --- a/usr.sbin/bsdinstall/scripts/pkgbase.in +++ b/usr.sbin/bsdinstall/scripts/pkgbase.in @@ -7,6 +7,9 @@ -- This software was developed by Isaac Freund -- under sponsorship from the FreeBSD Foundation. +local sys_wait = require("posix.sys.wait") +local unistd = require("posix.unistd") + local all_libcompats = "%%_ALL_libcompats%%" -- Run a command using the OS shell and capture the stdout @@ -38,20 +41,122 @@ local function append_list(list, other) end end --- Returns a list of pkgbase packages equivalent to the default base.txz and kernel.txz +-- Read from the given fd until EOF +-- Returns all the data read as a single string +local function read_all(fd) + local ret = "" + repeat + local buffer = assert(unistd.read(fd, 1024)) + ret = ret .. buffer + until buffer == "" + return ret +end + +-- Run bsddialog with the given argument list +-- Returns the exit code and stderr output of bsddialog +local function bsddialog(args) + local r, w = assert(unistd.pipe()) + + local pid = assert(unistd.fork()) + if pid == 0 then + assert(unistd.close(r)) + assert(unistd.dup2(w, 2)) + assert(unistd.execp("bsddialog", args)) + unistd._exit() + end + assert(unistd.close(w)) + + local output = read_all(r) + assert(unistd.close(r)) + + local _, _, exit_code = assert(sys_wait.wait(pid)) + return exit_code, output +end + +-- Creates a dialog for component selection mirroring the +-- traditional tarball component selection dialog. +local function select_components(components, options) + local descriptions = { + kernel_dbg = "Kernel debug info", + base_dbg = "Base system debug info", + src = "System source tree", + tests = "Test suite", + lib32 = "32-bit compatibility libraries", + lib32_dbg = "32-bit compatibility libraries debug info", + } + local defaults = { + kernel_dbg = "on", + base_dbg = "off", + src = "off", + tests = "off", + lib32 = "on", + lib32_dbg = "off", + } + + -- Sorting the components is necessary to ensure that the ordering is + -- consistent in the UI. + local sorted_components = {} + for component, _ in pairs(components) do + table.insert(sorted_components, component) + end + table.sort(sorted_components) + + local checklist_items = {} + for _, component in ipairs(sorted_components) do + if component ~= "base" and component ~= "kernel" and + not (component == "kernel_dbg" and options.no_kernel) and + #components[component] > 0 then + local description = descriptions[component] or "''" + local default = defaults[component] or "off" + table.insert(checklist_items, component) + table.insert(checklist_items, description) + table.insert(checklist_items, default) + end + end + + local bsddialog_args = { + "--backtitle", "FreeBSD Installer", + "--title", "Select System Components", + "--nocancel", + "--disable-esc", + "--separate-output", + "--checklist", "Choose optional system components to install:", + "0", "0", "0", -- autosize + } + append_list(bsddialog_args, checklist_items) + + local exit_code, output = bsddialog(bsddialog_args) + -- This should only be possible if bsddialog is killed by a signal + -- or buggy, we disable the cancel option and esc key. + -- If this does happen, there's not much we can do except exit with a + -- hopefully useful stack trace. + assert(exit_code == 0) + + local selected = {"base"} + if not options.no_kernel then + table.insert(selected, "kernel") + end + for component in output:gmatch("[^\n]+") do + table.insert(selected, component) + end + + return selected +end + +-- Returns a list of pkgbase packages selected by the user local function select_packages(pkg, options) local components = { - ["kernel"] = {}, - ["kernel-dbg"] = {}, - ["base"] = {}, - ["base-dbg"] = {}, - ["src"] = {}, - ["tests"] = {}, + kernel = {}, + kernel_dbg = {}, + base = {}, + base_dbg = {}, + src = {}, + tests = {}, } for compat in all_libcompats:gmatch("%S+") do components["lib" .. compat] = {} - components["lib" .. compat .. "-dbg"] = {} + components["lib" .. compat .. "_dbg"] = {} end local rquery = capture(pkg .. "rquery -U -r FreeBSD-base %n") @@ -65,15 +170,15 @@ local function select_packages(pkg, options) if package == "FreeBSD-kernel-generic" then table.insert(components["kernel"], package) elseif package == "FreeBSD-kernel-generic-dbg" then - table.insert(components["kernel-dbg"], package) + table.insert(components["kernel_dbg"], package) end elseif package:match(".*%-dbg$") then - table.insert(components["base-dbg"], package) + table.insert(components["base_dbg"], package) else local found = false for compat in all_libcompats:gmatch("%S+") do if package:match(".*%-dbg%-lib" .. compat .. "$") then - table.insert(components["lib" .. compat .. "-dbg"], package) + table.insert(components["lib" .. compat .. "_dbg"], package) found = true break elseif package:match(".*%-lib" .. compat .. "$") then @@ -94,9 +199,8 @@ local function select_packages(pkg, options) assert(#components["base"] > 0) local selected = {} - append_list(selected, components["base"]) - if not options.no_kernel then - append_list(selected, components["kernel"]) + for _, component in ipairs(select_components(components, options)) do + append_list(selected, components[component]) end return selected From nobody Thu May 22 19:29:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3JJR3yR0z5x4DK; Thu, 22 May 2025 19:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3JJR3DC1z43PW; Thu, 22 May 2025 19:29:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747942167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A7AEYs+TFG++h65pF9BYTSlPAGG+4/Ew5gJIU0d+KW0=; b=PO8qF4N5bBqeMVsQl6NiTqKtishSZNZfVXFWFIYuGLZl2Z6u4M9KysbhQW3HFmvBSNivEc bPOeLVQNj9itQU02B1XCcKBDK4RwNBEm+0Qn75x3ZMkAW3pLU+zX9X2dDbrSCWHkV1gkLv 7tv8D1hI52JISxo02cTV7RJaAMhnQGvc+0cCvSJqhkghTYxn39jWTlg4QXHbfudOabFDMH HqIedEsASFtTyCC2Lra+bW68xbrVgEf+Dlf8p7anUXYvvSZ5yBWt13HKs+gSzIjj2dnyf1 eQi5IZUjlElP2+akUVWH7bTBSVy2qclOs5FzBb7hmmCIUu4Zqxi/WxjfBOsbqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747942167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A7AEYs+TFG++h65pF9BYTSlPAGG+4/Ew5gJIU0d+KW0=; b=H15VE9061xaNeSYoQ96aHb7ZeQqObvjX8n0ERB2+W+IEUnjXbjf5ZPE5OqMrGeSo9/DNjg trapP5MSf5MEGnI4/PWwCLlMFhBNrqCJJ/rTGJXCF2j7P0OQ2jC0tk26TjPYMNybvz9sCb GhJUuFGiJ+kBzMqXfUWZHpnqUcINbb82+HezTPhXHo60dVObD5yzNc8IqbfoCk5z8HlXMQ ywwnbNAgs+8EPZFLpncAa0KEUnLewzPg7NEo3WnKC13S1J1yj1vakQMPM93/E8buaCBv4D PEBKOU8Eq/xQLrbyF47TlUoDkzjHRHJmAdUuZY2Ope3/Aua9bctHL6caDjbQnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747942167; a=rsa-sha256; cv=none; b=XRBIo9haHgHcudxPIRz/Yg4io0RdfgzO0wUzuZYN8ArRNJiLUW/NmDj555aExNnymO/ArK fkS4AVXrldpeRrF9MBJBZj16ys3sYw6lksNqyB9brzM/gfEYPONwbcPpW07Bsv2z9/kVbY gIdIrjybrt5xQmZ80Ta6SjGbSEL1aa9ymIsB5Y08bGBlhKOBdxndT37vqmLJvIJELxi0kO EGzL4hhYWJG+gxNR1s39ZAXonOcgmIjXfKXKTz+ZcEiDPm94oQoyTYK6WPDszLQD9sDrOl 4m7pc/uDdxH4XPM9Q0ebXuCPLgLyhW98mnMoCdNmyR6Sqy9MMF3aOLcCN8TCvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3JJR2jwfzZvq; Thu, 22 May 2025 19:29:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MJTRg7061635; Thu, 22 May 2025 19:29:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MJTRwo061632; Thu, 22 May 2025 19:29:27 GMT (envelope-from git) Date: Thu, 22 May 2025 19:29:27 GMT Message-Id: <202505221929.54MJTRwo061632@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: fb6b1a797349 - stable/14 - package: fix dependency generation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fb6b1a797349992d8f166a2724eab2caf59abe28 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=fb6b1a797349992d8f166a2724eab2caf59abe28 commit fb6b1a797349992d8f166a2724eab2caf59abe28 Author: Lexi Winter AuthorDate: 2024-04-29 14:30:46 +0000 Commit: Lexi Winter CommitDate: 2025-05-22 19:28:01 +0000 package: fix dependency generation A bug in release/packages/generate-ucl.sh causes package dependencies (other than shlib depends) to not be generated correctly, meaning packages are missing their dependencies. generate-ucl.sh creates the UCL file by: 1. copying ${uclsource} (template.ucl) to ${uclfile} 2. appending dependencies to ${uclfile} 3. calling generate-ucl.lua on ${uclsource} to create ${uclfile} This breaks because the dependencies added in step 2 are overwritten in step 3. Fix this by calling generate-ucl.lua with ${uclfile} as both the input and output file, so anything we added to ${uclfile} is preserved. PR: 286551 Reviewed by: des, imp Approved by: kevans (mentor, stable/14 mfc) Pull Request: https://github.com/freebsd/freebsd-src/pull/1203 (cherry picked from commit e05b6502f9ca36860236644884f12eff8e3243c4) --- release/packages/generate-ucl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/packages/generate-ucl.sh b/release/packages/generate-ucl.sh index ec9cd0149228..064919cb3174 100755 --- a/release/packages/generate-ucl.sh +++ b/release/packages/generate-ucl.sh @@ -153,7 +153,7 @@ EOF PKG_WWW "${PKG_WWW}" \ PKG_MAINTAINER "${PKG_MAINTAINER}" \ UCLFILES "${srctree}/release/packages/" \ - ${uclsource} ${uclfile} + ${uclfile} ${uclfile} return 0 } From nobody Thu May 22 21:50:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3MQc6Kvcz5vyyw; Thu, 22 May 2025 21:50:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3MQc3XVFz4FLb; Thu, 22 May 2025 21:50:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747950600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jV4sm67KBGC330ohhpoXWs0MbBXm0t2WfK/aqZ8msIU=; b=PY8S1L5p5DwuMcCfSAQ8+amN9bUHj3ZMMweo0Y+s+GevFHFWW0Yu8ZU+nQ+pwHnAJ6xzOG Axb2vDHdOg0H3jbyDz996EkdYFMY7MiYMptnFgEi0QibsDyzP/Mvf8YpF6hv+ZD0bwAIcy ICsNMnLb4qVKxmoR2j5jkzdbxdVJDZi1AU2DdxX4w2iy1847MqwmdfDMrTaL/q/9Oe86pw k6LqT4R6jxNvM/QkG0pTFnvGE2Iclh2J/gjggWWXtW44a6VVVYoMRhcOYStfEkcxo6oyWW uFIqx1A+2OZARqRYjvuohmoutCE0ESTcO+28aWg5PjAriH/lJ5HRIP3gkZ5J2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747950600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jV4sm67KBGC330ohhpoXWs0MbBXm0t2WfK/aqZ8msIU=; b=xRfb1EN8+PSECPCDyAKZG87n11R+cmfhGXCvNETuwrrJAbmGhlqKLpx+rj0dwpcpZ2ZzS2 Sx4Fff5YEIaprnSOImNma6bxolGnN607FOq49CuSPKc4RPhxILozb0XFPBsDgnj10Ssohs eiLgUBmXe3rKEsujmASELuDmKCI+xkqLNsNWe/ITXd4vrqJBRttpqV+PLhQMGfCYh8fbei ooW2CrTwUBG/0N+o6Qt2jW+XzgPcawnKTgg05xQcfiDMHnFpvzPLyJ7BsnH+gF6It/kPAX 1gOKhFXWwaDM+MdXzZYPtFOwntPG4Yh+gE24Cq9jk+aQMqW2XSLpitzQzXnfHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747950600; a=rsa-sha256; cv=none; b=JRM9i6/MGM7bnjjQ+CzoB74PV2BTEwCZq2TFup3lxMDxsmF7/Nf/UKO8CEfwcGYtyYVf+L ZffGTL39kcZ2nqY2fTwbL5cNN1BHWxRCrprdtOH/jgF91loxb7lxhiYWAtWDqesD09wKFN oNTeAtAb+kIUEINDSkzGtLNVRs4mL9u4AqCiXZj0zUibK/orIX1TWO24bBp8r+HIZ0/7Sf OOBQ1SYpiev2o+zVDJ3oAhX9t+X6htt6Ytfkc5IN2ji2BdJJJAif8mx2kUFotDk29waQpF lCr5h869Xc+7O4ZONl9rs4tU8Aj3FapqvDlwDqyM87KBsFzUcbaF12f8pUxJfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3MQc2KZrzf1m; Thu, 22 May 2025 21:50:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MLo0ug023482; Thu, 22 May 2025 21:50:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MLo0Dw023479; Thu, 22 May 2025 21:50:00 GMT (envelope-from git) Date: Thu, 22 May 2025 21:50:00 GMT Message-Id: <202505222150.54MLo0Dw023479@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 4814de3243e0 - main - unix/stream: fix bugs in sendfile(2) operation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4814de3243e091c48453b4fd6c818437ac1985f7 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=4814de3243e091c48453b4fd6c818437ac1985f7 commit 4814de3243e091c48453b4fd6c818437ac1985f7 Author: Gleb Smirnoff AuthorDate: 2025-05-22 21:47:41 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-22 21:49:37 +0000 unix/stream: fix bugs in sendfile(2) operation - In send(2) don't update sb_acc if appending behind uxst_fnrdy - In recv(2) don't read beyond uxst_fnrdy - In the debug code allow ready, but blocked mbufs beyond uxst_fnrdy --- sys/kern/uipc_usrreq.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 164030eec7ab..3181868175a8 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1012,7 +1012,7 @@ uipc_stream_sbcheck(struct sockbuf *sb) if (d == sb->uxst_fnrdy) notready = true; if (notready) - MPASS(d->m_flags & M_NOTREADY); + MPASS(d->m_flags & (M_NOTREADY|M_BLOCKED)); if (d->m_type == MT_CONTROL) dctl += d->m_len; else if (d->m_type == MT_DATA) { @@ -1246,7 +1246,8 @@ restart: cmc.mc_len = 0; } sent += mc.mc_len; - sb->sb_acc += mc.mc_len; + if (sb->uxst_fnrdy == NULL) + sb->sb_acc += mc.mc_len; sb->sb_ccc += mc.mc_len; sb->sb_mbcnt += mc.mc_mlen; STAILQ_CONCAT(&sb->uxst_mbq, &mc.mc_q); @@ -1397,11 +1398,13 @@ restart: * last == NULL - socket to be flushed * last != NULL * lastlen > last->m_len - uio to be filled, last to be adjusted - * lastlen == 0 - MT_CONTROL or M_EOR encountered + * lastlen == 0 - MT_CONTROL, M_EOR or M_NOTREADY encountered */ space = uio->uio_resid; datalen = 0; - for (m = first, last = NULL; m != NULL; m = STAILQ_NEXT(m, m_stailq)) { + for (m = first, last = sb->uxst_fnrdy, lastlen = 0; + m != sb->uxst_fnrdy; + m = STAILQ_NEXT(m, m_stailq)) { if (m->m_type != MT_DATA) { last = m; lastlen = 0; From nobody Thu May 22 22:21:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3N6V2S4Sz5w1nG; Thu, 22 May 2025 22:21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3N6V1tCRz3Ld1; Thu, 22 May 2025 22:21:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747952466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UTZsihK3htR1dGiJH81nvsQvq4Os8/rQJIRvOYFccZM=; b=tvJbVFry+DgL8iKX0sD15eXuvliKlYmL4Dqh8PCHPN9+ZaQDbSu6jqL9Oya78dpuaSPoGs 2srH68a40BRWPnquT89m2xYuaHlrZVarn4G0vlMSJLUK7Mcv5d5yzsNVzWLfahoamOnB6j sHN/vCRPTKU+sdrLPaEFbST8FaHqI6RPYBdwc8R6OgxhzlNhnD/zPQ6+R6ZXpkvg/6tZZ3 1BJJRMP86NmmnqR4jpOuXPle6of5DpeGdF1i0vcRvzPOKk7g8ldgQi40lKP4y9+ISg54f9 01+84Lpj1ME0QEud/oWhLPQ+prsnR4WMbsPVjJ5HfM4aelvoRp75H1KykyvSLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747952466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UTZsihK3htR1dGiJH81nvsQvq4Os8/rQJIRvOYFccZM=; b=LFbmzJsBMU68AgVIxy9798sbCmpBb3HEIwgyxMAUNNvMgFq9RkXippbYHsOs4fsv3hSmPK Tst9fcRyEn4HIHHCuVhF33vEHIimj9Ggm5i8CDUaWsfJ1C2WGNqjrsRVVzdWxwh5XNUc++ t8SNxuTJSGIzcx+HQJHyaWoLUL49oDJfLLLNIkMDlHCzsgTh8g0mAXUSDQawa+W+rUmw2i +ZDdJWDYLidvbt2Q3dwaxf9qmvnu3AEFpuJ9M6SlPkGxmivNUv+P9yn+AInzFQWxB76CA2 IQwSG0rJrN5DYm7rqGVxTdSkZs9MS69qBlIM/11UE/QaYCkrOev5E850sH2qAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747952466; a=rsa-sha256; cv=none; b=YTlhxq77yXHS25ljnDnF0RYEOAarSNc+Q8Efr6lJ1iidEY6RwteUZkJOKEoHl98/YDIDIx nsxSqpVgwPODaDIiAljD9K4xVdHlPwuhi5Lqoid9FthknjJJye2zHrOcBQqktky4yzPSdv GkNs//t50x7r21Yip7m+8R04/57pz7aTAWU/8O6oqc5xY+tdAO6lmSLSFsbohJWJHSAudx tYVevTOw/gAglrcZFbr1NGJK2IG4a3WaTjxl9oVNjPf1m6zMLsj9fZCa5upDf1lUURn22y bEDknwilN6pcDdqdlE0taDDwvX4y6cQJ7ddpv3Wl/TvEZAskSIQmjOGrmvxK/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3N6V1SRRzfN7; Thu, 22 May 2025 22:21:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MML6xs090454; Thu, 22 May 2025 22:21:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MML6SL090451; Thu, 22 May 2025 22:21:06 GMT (envelope-from git) Date: Thu, 22 May 2025 22:21:06 GMT Message-Id: <202505222221.54MML6SL090451@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 63b632417430 - stable/14 - newsyslog.conf.d/opensm.conf: remove leading blank line List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 63b632417430a421d1950ac3c3753cba382fbfc7 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=63b632417430a421d1950ac3c3753cba382fbfc7 commit 63b632417430a421d1950ac3c3753cba382fbfc7 Author: Dan Langille AuthorDate: 2025-02-23 01:42:33 +0000 Commit: Lexi Winter CommitDate: 2025-05-22 21:44:55 +0000 newsyslog.conf.d/opensm.conf: remove leading blank line Reviewed by: jlduran, ivy, kevans Approved by: kevans (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1603 (cherry picked from commit 2d22d54fc4abc1b4901cf62ef3888172df6798cd) --- usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf b/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf index 5c7d1c74fdbf..1b3570c89619 100644 --- a/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf +++ b/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf @@ -1,2 +1 @@ - /var/log/opensm.log 600 7 1000 * J /var/run/opensm.pid 30 From nobody Thu May 22 22:21:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3N7N1JY7z5w1yx; Thu, 22 May 2025 22:21:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3N7M727wz3MQZ; Thu, 22 May 2025 22:21:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747952512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Erzl2DVQNxVf1deDOIEKXcp9Me708OnCJBgTguP8hcI=; b=SoivaCqgakrgFYrFI5XBm/KACH0d2VAATFjANCZIgRNmRNOYqqriui7BTcafChOb90UOKR qrN5jJ26v+qP0lUwL3wAqY5n9p5peMxcVMyO4b6guXbvLf7nCzXMe+ZGRY6uLCJkQSvU1q bGCAHFFJPeNxpXlKnfu31TNgmMAev1/MsJKnAZ4+56hx64pC3e5Ys/xmqj0bk1dcRMdx0b Q35QCmZmV+mB5gVUvBr+25BA97DsClcMwsgZ2HCjplDQN/JvuHlMkIQ10eWoy0iMBvM3Og YoewoSr23XzMd/qTMPHKmiRf6Q4oDP89/58y3d8aT5Kg8NoUg9G7Y3Z0AQalQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747952512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Erzl2DVQNxVf1deDOIEKXcp9Me708OnCJBgTguP8hcI=; b=EDssrcJ+CYD5jeDX+LbcTtjIWujcfcrmIm9oopE4K7FjEJ1lwNCZbZsC10cbHZwSyWLKhK FgdYxVHp0PIWmyfxBVHmiUrlBB8TiUIQwoOtX1HKIzyfX4dd2Do755lKx7HV02m31AxO0A mnlLt0+nOJ5wxaFAGrZW5aD18BTxwUdsKA/V37XBgKGS5ewJtxUvqyLqlRwsQ84Xcl7AP+ vSG1+85fB7CYK6PkR+ceXpR7zeJodFleoNcFbgxjVer2wXjzqgAxPhy2GoQagNeFbOUzts y/Y6rvjleR6if8rpGBpI8PrJAwOgAt5hmo/5UtkHnwYhM9u+/NrpGRdIv23A7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747952512; a=rsa-sha256; cv=none; b=rgQMMrl7Lxg/7/Uqd8aqZCK4vb+VVgofKWiUuMXFmFJPRqbpiqnNsGynFKjhJMx8n5jER/ MXwwGLwroJwqjzfiHGXbu0E0wDD/8EdOJzxT2mUm2RzwQl806htpdF4m50enzPBdGUoe6+ 40nl4uBMqQVsKjyP3ifmnKJaDqjVjhNeOIExCHWKj6wNw0iAf557A2TqDZn/OZmWMwudWv VHbaQ+gNUdsbV8t/n4ft95Zn/XJ6LEzy+vjLgmwJq7zmIEaDbDKInLA89HOPNF85Rgl5vh JyT2ZtCoBKVDEVTi4OsNoZ/1Yfh9IRfleTYm+OwA2ImEHhXdAKIit/yPQdpv2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3N7M6b3vzgS0; Thu, 22 May 2025 22:21:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MMLpVC090810; Thu, 22 May 2025 22:21:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MMLp49090807; Thu, 22 May 2025 22:21:51 GMT (envelope-from git) Date: Thu, 22 May 2025 22:21:51 GMT Message-Id: <202505222221.54MMLp49090807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 5fa8cce7e949 - stable/13 - newsyslog.conf.d/opensm.conf: remove leading blank line List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5fa8cce7e949008c05730934fd23ce8b9b9102be Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=5fa8cce7e949008c05730934fd23ce8b9b9102be commit 5fa8cce7e949008c05730934fd23ce8b9b9102be Author: Dan Langille AuthorDate: 2025-02-23 01:42:33 +0000 Commit: Lexi Winter CommitDate: 2025-05-22 21:45:13 +0000 newsyslog.conf.d/opensm.conf: remove leading blank line Reviewed by: jlduran, ivy, kevans Approved by: kevans (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1603 (cherry picked from commit 2d22d54fc4abc1b4901cf62ef3888172df6798cd) --- usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf b/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf index 5c7d1c74fdbf..1b3570c89619 100644 --- a/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf +++ b/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf @@ -1,2 +1 @@ - /var/log/opensm.log 600 7 1000 * J /var/run/opensm.pid 30 From nobody Thu May 22 22:48:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3NkC2Mx8z5w2ww; Thu, 22 May 2025 22:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3NkC1ll6z3gfw; Thu, 22 May 2025 22:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747954115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kknLfD/6WDMKnyz4iTvyAHMawVIgqSftf20mpkPzye0=; b=GOyR1i2fOIP+BEy6whABYC3wexKHJp/C/C2jIjA3Icw96n0/zigzRu9kUA/IFA/49f2GPM 2zzS/c/xO2w4Sgci5YC5biAk6E45rW6RQHEcOObhgxapNQa20/4GVvu/YuXcQS75EXwAUw uev7pUBAQJAPCDiuu3Aii80hy5iS4gMPn4/pAou7GEmt0CYiBgjnkH64990cjAJvKWUKmB f9DFtvgnZBx5KlQpymvwQKQE9w3nt2g24pHpU8nD7SAsv5RE81+N3lmFNT0mzPZJJf+dnJ Wz3lU9czxQYJRKLZsT5DN/e5QPuCYVX1HU/6xB1FKx5VARLF2/IKY7vawiXyjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747954115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kknLfD/6WDMKnyz4iTvyAHMawVIgqSftf20mpkPzye0=; b=tr2bT1Ab/KLJv0pxUFvjrG3ET9htO7t/v1p10EYscnsnfG6Gs6kqzqOFkxkbNB1AvQdx5+ iYr6dNSce5w2NYcxACu45qsoh3RQs6Qnps9BvArEDIu5ZI7y6EhzGCAe0uIKoBpvqrZwFm mktaPLnFvc/oESKWTIFr+xb7tnRT/6FkXLNn+sjjphrMp3/IIlm4WU0KoRgkVFLwOykFo/ LIMPeqlcwhTYie2lLYT6s5TZeDZKXz6+GE1Qcr4VGOHl9+B128iNAJi9P8Ah/q8tFYTsPN LQWG3J9OEs6d+RVTbfUoxZgE2SoqNYVtdMP4rMVijXNJEgeHAcMGeX5DQvb80Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747954115; a=rsa-sha256; cv=none; b=PbvuxdLwKNxsUQUuRAIIem2ZwbxwaYNJBB0Gxc0HWHB5+WbTm+fknBaBl9hw+sxiY4N8GP ddci22p8b6f/794HuxTWGiuvpn+FhJpfblc98EHBufekduzIeIWcx8cB4Vvi6gu47qNvMM fKWtGBcs48wWJqaD3ta1j6Koe3SI/c3e4CCiJqczZtZcrKtRev0aAPfXU8R/E+WXdttWep wzany88y69gKMyoxIfoLU5L1a6cviU6KeuGYoVKKp/8YVI0gvyzaGO1RQgTy8id24Zbe3T D70CNTpNDzu04iJa10vnD5mjy8rqAHVGaA+gHb2jSQWp6m6uEjKcZ/ffaKXUQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3NkC0Tnpzfxn; Thu, 22 May 2025 22:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54MMmYFI036060; Thu, 22 May 2025 22:48:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54MMmYDc036057; Thu, 22 May 2025 22:48:34 GMT (envelope-from git) Date: Thu, 22 May 2025 22:48:34 GMT Message-Id: <202505222248.54MMmYDc036057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 2982c7085239 - main - stand allow for local.defs.mk List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2982c70852395fad40959072ed90c8676a4b9a1c Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=2982c70852395fad40959072ed90c8676a4b9a1c commit 2982c70852395fad40959072ed90c8676a4b9a1c Author: Simon J. Gerraty AuthorDate: 2025-05-22 22:47:21 +0000 Commit: Simon J. Gerraty CommitDate: 2025-05-22 22:47:21 +0000 stand allow for local.defs.mk This allows us to change the VERSION_FILE used for loaders as well as set NEWVERS_DATE and BUILD_UTC to reflect the publish date of loaders for secure-boot. Sponsored by: Juniper Networks, Inc. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D50478 --- stand/common/newvers.sh | 6 +++++- stand/defs.mk | 2 ++ stand/efi/loader/Makefile | 2 +- stand/i386/loader/Makefile | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/stand/common/newvers.sh b/stand/common/newvers.sh index c244e718c041..8541d61ed76c 100755 --- a/stand/common/newvers.sh +++ b/stand/common/newvers.sh @@ -50,13 +50,17 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then exit 1 fi else - t=`date` + t="${NEWVERS_DATE:-`date`}" fi r=`awk -F: ' /^[0-9]\.[0-9]+:/ { print $1; exit }' $1` bootprog_info="FreeBSD/${3} ${2}, Revision ${r}\\n" if [ -n "${include_metadata}" ]; then bootprog_info="$bootprog_info(${t} ${u}@${h})\\n" + if [ -n "$BUILD_UTC" ]; then + # We can use what(1) to extract BUILD_UTC + bootprog_info="$bootprog_info\\0@(#)BUILD_UTC=$BUILD_UTC" + fi fi cat > $tempfile <" $$path ; \ ln -fns $$path ${.TARGET} .endif # !NO_OBJ + +.-include "local.defs.mk" .endif # __BOOT_DEFS_MK__ diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 2dae035f04a8..ae2ffc475730 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -87,7 +87,7 @@ CFLAGS+= -DEFI_SECUREBOOT .endif NEWVERSWHAT?= "EFI loader" ${MACHINE} -VERSION_FILE= ${.CURDIR}/../loader/version +VERSION_FILE?= ${.CURDIR}/../loader/version HELP_FILENAME= loader.help.efi # Always add MI sources diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index e1f0298403b3..96ad50a75509 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -16,7 +16,7 @@ LOADER?= loader_${LOADER_INTERP} PROG= ${LOADER}.sym INTERNALPROG= NEWVERSWHAT?= "bootstrap loader" x86 -VERSION_FILE= ${.CURDIR}/../loader/version +VERSION_FILE?= ${.CURDIR}/../loader/version # # There's 640k - 40k maximum space, less however much memory the BIOS uses. A # non-random survey suggests that 20k-25k is a good value for 'most' machines. From nobody Fri May 23 00:04:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3QPn244Yz5w7RD; Fri, 23 May 2025 00:04: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3QPn0l5Sz3Sgj; Fri, 23 May 2025 00:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747958669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8LUiBm2VO3EPdXTc7De03V+Mg9Z2wOC+/uttCtQusfw=; b=lhlSuzm04eY5X8zqnxo0oBP68VCUhFHUdMInSbUvMxFsTjGsn8VpKK/2GhoKKdl+izgSI5 DjGxieWyv9HpQHRtM5XU6o88uY1jDbVrCn8fWINejFqrhVwS5GDr1DL6+bFUuHXeU49uvC MJb6cau7nyjkKoezXGJ2aq07R9z8rfLyu7ndz/CTeQWSt1cotuosxice8ECWwnT9Wob8E/ yUvxZDVAEL1IlQs0gADtMLz+LWfa1SVNVbPhqAOWlbsRHyLU2+TuVohqkJJCg8JeNVac9+ B5/Ds88/7CWde/NU9OuDF4vduYBf7okOdmjmvxoM7QMYhcPU6BTJ5YH0AmzTmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747958669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8LUiBm2VO3EPdXTc7De03V+Mg9Z2wOC+/uttCtQusfw=; b=URHLPxBbLTeEAe7q6+MNYS6KXeW0Kd0F2JeCkK0eshIOpmquEzg/yLVBvpWgDyu5RZdbTm mF0vm+QjIA1V2A8pNN1cTvghT2Ys+LLWQxZKW3qmPMZJs8nB8v28nQsDGed4KSoTg6OzEl OeZHIUq+GE9WSu96vz2cdpmZmgXq4sLju1Ob4xGX0K3WJksd8CVqtmkSFI1elN/znMSieC be1lNDoVOHJfcAMmY7swj4bLN3ZST/ENhdaMgFBHXcKfg2YfeoV8m+GoFAcQoco1hUaGHr 2M44zcWA93SF5FhRK/Lnfgzn9cZlv3nslc24+gzqzS5GNG/hOiC1hvCUozwDfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747958669; a=rsa-sha256; cv=none; b=tBprzVcj6HKZ7sBYbDJ/iXebklMR8Y8wjU2FnFQiQXhuK5aY5vYQb9re24jECgwLa5ow5p 6xdRX+IsamRbLM2z9Di+yaLu4iBInRWBeAoMer1YYzQeIlWozrxXYJd8JbgDKPWGFsTmsC 3Gvd6YsZT0omiEcStPfM6HfXYYaj/Q+45zWuiLV376FMF2zkIvG1kOrDXcRSqzPUL6Ah0w wrpS5FMSxtuomdXVDwHC+BggmqUE+oPxXh1nvg6MlqOUHfBMCGLDUzUphltUgEdlb4uk/g Ko1U5XWSIjXnODa6VabSt8UYeqv7UR6GFMLQ0n8v0urcso2ULBeDqeo/4+pFmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3QPn0CjQzjmv; Fri, 23 May 2025 00:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54N04Smg085687; Fri, 23 May 2025 00:04:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54N04S47085684; Fri, 23 May 2025 00:04:28 GMT (envelope-from git) Date: Fri, 23 May 2025 00:04:28 GMT Message-Id: <202505230004.54N04S47085684@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 6e27b15e6aee - releng/14.3 - package: fix dependency generation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 6e27b15e6aee10c72dbf8247a90b87a7c0b3c241 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6e27b15e6aee10c72dbf8247a90b87a7c0b3c241 commit 6e27b15e6aee10c72dbf8247a90b87a7c0b3c241 Author: Lexi Winter AuthorDate: 2024-04-29 14:30:46 +0000 Commit: Colin Percival CommitDate: 2025-05-23 00:04:12 +0000 package: fix dependency generation A bug in release/packages/generate-ucl.sh causes package dependencies (other than shlib depends) to not be generated correctly, meaning packages are missing their dependencies. generate-ucl.sh creates the UCL file by: 1. copying ${uclsource} (template.ucl) to ${uclfile} 2. appending dependencies to ${uclfile} 3. calling generate-ucl.lua on ${uclsource} to create ${uclfile} This breaks because the dependencies added in step 2 are overwritten in step 3. Fix this by calling generate-ucl.lua with ${uclfile} as both the input and output file, so anything we added to ${uclfile} is preserved. PR: 286551 Reviewed by: des, imp Approved by: re (cperciva) Approved by: kevans (mentor, stable/14 mfc) Pull Request: https://github.com/freebsd/freebsd-src/pull/1203 (cherry picked from commit e05b6502f9ca36860236644884f12eff8e3243c4) (cherry picked from commit fb6b1a797349992d8f166a2724eab2caf59abe28) --- release/packages/generate-ucl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/packages/generate-ucl.sh b/release/packages/generate-ucl.sh index ec9cd0149228..064919cb3174 100755 --- a/release/packages/generate-ucl.sh +++ b/release/packages/generate-ucl.sh @@ -153,7 +153,7 @@ EOF PKG_WWW "${PKG_WWW}" \ PKG_MAINTAINER "${PKG_MAINTAINER}" \ UCLFILES "${srctree}/release/packages/" \ - ${uclsource} ${uclfile} + ${uclfile} ${uclfile} return 0 } From nobody Fri May 23 00:04:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3QPp4fC6z5w7Tp; Fri, 23 May 2025 00:04: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3QPp1FfBz3Syy; Fri, 23 May 2025 00:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747958670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWVJKkQmDsu2YrhVQToxEK+a8NDDFuIJ0vFHCrT2Whk=; b=FeSNKee/bN5Pfy2lBnZzWkQq5ZETt0BEKe9wJhpTebl4PYQuCxp78o+fEMcrD3gsWakAOP gLXLctuyfPdnqK9n93WpGJ3qvcUJklpJeVes3wWbEMubTODNvUtNXh1dKdl8/zxFMNPR39 j9XxeP6iNhsJ8BGfITDWxlNDhU68iCwP3QPS3XeG4O8/bqacZXrT3aTIJhf+DhJp8sJUht T3pipC0Q6IKHZmsW3uExljiNj8yrpXOKXKprir/fWAPWECH/jDuQoSxpxZkr7KDKxV6xXq RQsExA6dymR3F/TEll305XcmYCOazV/Z81xryjNxyDNNG6+Y27cjF+S2ZH6UVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747958670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWVJKkQmDsu2YrhVQToxEK+a8NDDFuIJ0vFHCrT2Whk=; b=yeL6g6lY0NXleQP1Z6TDU3Bt9cnGo4rpR4bN2KUOE+atBaIEk1o5SJeLxX2Ifj3OpKHCyJ QfoXvzteijRpU7JICBY5fVizQrx9GnBu+4/bWGbShqQRL2U8FuBgFu/jgJm6s+0Vl/lYlj YCRgU1LSQ4t/i7CITdsBEOSOs9lNk/u0/EJ+hnGNaugRnsVISlpP8CNlIUU0nQtL8bUtMg MVq6pgMatSPPjrSBuDhDbzPKwWPpICiaEZXlb6nE1CUanmPGaBaVpAO71UiENzMGac+BUF lhJ+e08/syT3ES0k6Wp8eAkXl2gRWuHFwFTukMCIKiKtXZ+/e2sdwGJqvwcUkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747958670; a=rsa-sha256; cv=none; b=H/o9y7/3D237400SJCWoNuRGj2FoRa39gQ73rpi4Oi+QB+ulNs8h+N1rwR+9s0ImahgOeP GJQJrwqXkQWGOqiuP1NFFZlI9txrwJLoCisWa9Qt11NZheFK00/MTsljJZcbG/7LNNmXPm tFCUkKq8quYZyuy6oYvN+/DRT+5vaBZiRzqVF8QCmFBsdFXxJKbZGcxOlEIV+1QNhsyKnb XC62diop9VqXjwThg+5FG3Ui/WkgQBtNcYYBsAlM9Bm1izul5/p75IXPkuwuuJeZWmWfub q4Y1t7FiUSeasH2NkzCkddF74zsWtGw8tVPrZb7Hb3me9pLgI7KlXmcvkVazEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3QPp0LZWzjKM; Fri, 23 May 2025 00:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54N04Tmh085721; Fri, 23 May 2025 00:04:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54N04Tha085718; Fri, 23 May 2025 00:04:29 GMT (envelope-from git) Date: Fri, 23 May 2025 00:04:29 GMT Message-Id: <202505230004.54N04Tha085718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c4c990781645 - releng/14.3 - 14.3: Update to BETA4 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: c4c9907816453acf362ac3622e144b4aa6d5c25c Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c4c9907816453acf362ac3622e144b4aa6d5c25c commit c4c9907816453acf362ac3622e144b4aa6d5c25c Author: Colin Percival AuthorDate: 2025-05-23 00:00:00 +0000 Commit: Colin Percival CommitDate: 2025-05-23 00:04:19 +0000 14.3: Update to BETA4 Approved by: re (implicit) Sponsored by: Amazon --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 13c927f499dc..8c988150f902 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.3" -BRANCH="BETA3" +BRANCH="BETA4" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri May 23 07:50:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3clT2HFTz5wvHG; Fri, 23 May 2025 07:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3clT0Nbxz42V1; Fri, 23 May 2025 07:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747986629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ELVMgj9yCh/75bNsoJDxkjIkp5oTENsNcfIfFLrSBOk=; b=ixuJrSF1Z0CzaT0dpwbpCSOrftWEJWwYIz+CEovYifbbucqcRd3ZmuMe130jbTDIizar1U fsZyxX0nxj5+BCpg8PrzXNoDu3FX8PHfPxY/LVqr4uh62hnVBcuhuHi/5I+WPm+bUqG9N3 pNymqJVQSUoRBqZqdXwQhpW7ign2TMb09Gg5Z41wtwWVMHNK+WFPIYW7rCn+1RI04M2i2H d+TgOCHHW7NYiVpkYbYAcVO0UHHvegjPFlkKh/hf2ZG+yHCBwYw40CdBTUf4M/ry0VHzAn lm9y3Yl51pZTVXPiUtSpYlSCoSOxzXLo/xZy1nBwynOJONKTkkstP0eaQLy4AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747986629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ELVMgj9yCh/75bNsoJDxkjIkp5oTENsNcfIfFLrSBOk=; b=B9hHjaENLUBXPzUX8g2S66KO/eL78I+2eFSOKA+AWhxpfaDHEcItI41YYN6TxMrKbMhdHW W24RuP0+M8xWk2rsYl3Xj+Bbex1A+0C95s6hWmS7v3x07lbVSeq3yLY4qduE0KhMYhnbZx oyr0+VlhenluR0K66FzD2M7G1tRpnsGTOBfjcxWHCRnYqEklnu4m9MOHArW7M/ZPwh6htp rixvKV+Zgd8XR0X4EtorDLGXU/vkruG+3uM8C75OYuFiNKJHhnvSKhSQh6WWJsc3QrDwrc fe2Hm4/73MWO9FG3H7VrE73kl9tyG56Uu9U/MSprXrwkCAhaGECqrWy9Pmwalw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747986629; a=rsa-sha256; cv=none; b=ALq+NaExNcxK0QXoty89rJPENxNwU/AEyPjSkIq+6Rhe3jWp4Xmd14x2IKvk/J09LX0Dx3 ZVqCacLX3giYk8MMwoAusXLxdDUC/MRN6vvRD6gXv7szVm/IMU0UNYlQVKSFxQcBTAt+W4 RNrOyGhRuzwRR6b1RKw8WoXm8b2tOVEqrubtSTQGCA3dO5TB+Lnj6dtOiP+4YaRxk658OB a8KGU+PO8gadWKWweUsYtHgtq3qGPIa/4sGqy6W1970AGKZsjfuWusJKuaAx9kfZaPkUkq NPkmAvUtlWBSLghLkx3rerFQbA5xWsVVkP8XS6alhm5h/Ue0LICcquRW5bzkkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3clS75ZhzxXR; Fri, 23 May 2025 07:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54N7oSmn055612; Fri, 23 May 2025 07:50:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54N7oS5J055609; Fri, 23 May 2025 07:50:28 GMT (envelope-from git) Date: Fri, 23 May 2025 07:50:28 GMT Message-Id: <202505230750.54N7oS5J055609@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: fb1749cc6468 - main - wtap(4): Clean up includes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb1749cc6468220a69a8fdc7a2d0aac51ada598a Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=fb1749cc6468220a69a8fdc7a2d0aac51ada598a commit fb1749cc6468220a69a8fdc7a2d0aac51ada598a Author: Li-Wen Hsu AuthorDate: 2025-05-23 07:48:12 +0000 Commit: Li-Wen Hsu CommitDate: 2025-05-23 07:49:50 +0000 wtap(4): Clean up includes Sponsored by: The FreeBSD Foundation --- sys/dev/wtap/if_wtap.c | 3 --- sys/dev/wtap/if_wtap_module.c | 35 +---------------------------- sys/dev/wtap/if_wtapioctl.h | 2 +- sys/dev/wtap/if_wtapvar.h | 28 ----------------------- sys/dev/wtap/plugins/visibility.c | 40 +-------------------------------- sys/dev/wtap/plugins/visibility_ioctl.h | 2 -- 6 files changed, 3 insertions(+), 107 deletions(-) diff --git a/sys/dev/wtap/if_wtap.c b/sys/dev/wtap/if_wtap.c index 2b098bcc3dda..dd332c538c8f 100644 --- a/sys/dev/wtap/if_wtap.c +++ b/sys/dev/wtap/if_wtap.c @@ -33,11 +33,8 @@ */ #include "if_wtapvar.h" #include /* uio struct */ -#include #include -#include -#include #include "if_medium.h" #include "wtap_hal/hal.h" diff --git a/sys/dev/wtap/if_wtap_module.c b/sys/dev/wtap/if_wtap_module.c index 52a371fd4b8f..6b5f8502bd08 100644 --- a/sys/dev/wtap/if_wtap_module.c +++ b/sys/dev/wtap/if_wtap_module.c @@ -28,52 +28,19 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. */ + #include #include -#include -#include -#include -#include #include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include - -#include #include -#include #include -#include -#include #include -#include -#include - -#include -#include - -#include - -#include -#include /* cdevsw struct */ -#include /* uio struct */ #include -#include #include "if_wtapvar.h" #include "if_wtapioctl.h" diff --git a/sys/dev/wtap/if_wtapioctl.h b/sys/dev/wtap/if_wtapioctl.h index 6cde392ab7c1..05f88a5dcb81 100644 --- a/sys/dev/wtap/if_wtapioctl.h +++ b/sys/dev/wtap/if_wtapioctl.h @@ -40,7 +40,7 @@ #ifndef _DEV_WTAP_WTAPIOCTL_H #define _DEV_WTAP_WTAPIOCTL_H -#include +#include #include #define SIOCGATHSTATS _IOWR('i', 137, struct ifreq) diff --git a/sys/dev/wtap/if_wtapvar.h b/sys/dev/wtap/if_wtapvar.h index 4a7336368843..0cc0fd487a1c 100644 --- a/sys/dev/wtap/if_wtapvar.h +++ b/sys/dev/wtap/if_wtapvar.h @@ -34,46 +34,18 @@ #include #include -#include -#include -#include -#include -#include #include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include - -#include #include -#include #include -#include -#include #include -#include #include #include -#include - -#include - -#include -#include - #if 0 #define DWTAP_PRINTF(...) printf(__VA_ARGS__) #else diff --git a/sys/dev/wtap/plugins/visibility.c b/sys/dev/wtap/plugins/visibility.c index 2ff695fba5f1..1e6a9057728f 100644 --- a/sys/dev/wtap/plugins/visibility.c +++ b/sys/dev/wtap/plugins/visibility.c @@ -28,52 +28,14 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. */ + #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include - -#include #include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include /* cdevsw struct */ -#include /* uio struct */ - #include -#include #include "visibility.h" diff --git a/sys/dev/wtap/plugins/visibility_ioctl.h b/sys/dev/wtap/plugins/visibility_ioctl.h index b9c43984b4f5..a5c09e6af22a 100644 --- a/sys/dev/wtap/plugins/visibility_ioctl.h +++ b/sys/dev/wtap/plugins/visibility_ioctl.h @@ -36,8 +36,6 @@ #ifndef _VISIBILITY_IOCTL_H #define _VISIBILITY_IOCTL_H -#include - struct link { int op; //0 remove, 1 link int id1; From nobody Fri May 23 08:42:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3dvN4qVQz5wxqN; Fri, 23 May 2025 08:42: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3dvM51FXz3J8s; Fri, 23 May 2025 08:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747989743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y95zPBLgL85Pm+jU7j8Fz5Kc3geVX8md/iKtFCWAXgE=; b=TrXbDiYTv8N9MgCeszh4r6U8/PzEBm0ZkZi1Uumuao1H53Ccc4bACIyLxrQ7jYckpVvPAx BFJpSsoStGqcY76m4MLLIq1fIYHvoFx1AKGz8dwq0rvI7gM3CNwSYiBAnKkYOE4J3Zvvtd cB0MtAlAEUDktkLKXmx3s8SHjVoQ/TcAKHv+KhrkmWwH/2RQol+6q4bjS0Fmf8VzdS4cDB ydOHv64yrLFm/RjWn/dViXzRvgElV7Aj6iQeX2zuGbfWm5g23JS+S9zbxfEqLjecyG/oXv CMrf+ClAzEsx/dj02igg48m0YNJ3JB9eprqZsp6Yy/2uUTq7EC8Fk1W+NDBJYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747989743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y95zPBLgL85Pm+jU7j8Fz5Kc3geVX8md/iKtFCWAXgE=; b=acKRCnQnXMbtpkEH9Vw+hWrOVnMC3bGd5RPytyRSCftvA0jYkr/GTFUAdpCsAKQySQog5u HvZtfn1dCD5xgyXMJFt9h4JRHm77x0V5IpJHC/Frq1xZvLgJ4Z75OLSzff57lgchQps6EU UnsCnFXhYo2EMA0ZVJku/+bqtfxJsqOc3X1roqUW35sjNwZOXgBYxIw7m3fQoTv392VyP0 6QctzkEfxSRVOmW+oQSIWm9TFokyve/MurtKnMJFcGpGDOl6TuENQjmZi7Jo6FP6O7Jn9a OruD5UNMuLFd1uRlBIJs/eWhLzbEsnJYT+tPW8/rnfWcpAIxeBnR/GPmN5wGhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747989743; a=rsa-sha256; cv=none; b=Xjx13LnmB38msoSgnOMr1CtUA6gweDkn7YYCbB0vKihg/6ChWFTgAW1sdu82r8mlQ4iubi zVZTrynbSmwrpSLae9ZdkussA/RgBvsZN8kaLChFV7zN1dEA9NpntzFttrFGiBcF2XHtw1 RJDycdQqOJV6mBHyiB0Osi7Y45VXAATrHmio2tI3FwaJozizUdEtGhzLfxMxHFbQQEEW1E gABF6cC8tGKMefE9FhJS+X0Zk/oY1Uhmzzn+tfV8SmSkdG8cnAC4pQ+0pxUhKIWY+y5CDC 8tbq4YDfI1sy7zY2LywuHUNViNmdVl6BsCehLA4EJGZ2XOBFD+ZpVCk4xw6j5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3dvM4Zw1zylR; Fri, 23 May 2025 08:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54N8gNZ8054651; Fri, 23 May 2025 08:42:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54N8gNCK054648; Fri, 23 May 2025 08:42:23 GMT (envelope-from git) Date: Fri, 23 May 2025 08:42:23 GMT Message-Id: <202505230842.54N8gNCK054648@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 4e0a5fd7b608 - stable/14 - service(8): Allow for passing no arguments to the service script List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4e0a5fd7b608d823767ad239db68cb961455ba6b Auto-Submitted: auto-generated The branch stable/14 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=4e0a5fd7b608d823767ad239db68cb961455ba6b commit 4e0a5fd7b608d823767ad239db68cb961455ba6b Author: sd@mostnet.ru AuthorDate: 2025-05-09 14:48:27 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2025-05-23 08:41:58 +0000 service(8): Allow for passing no arguments to the service script Currently, service(8) requires the user to provide a command to the rc service script. For example, service cron does not even run the cron rc service script but instead shows the usage message of service(8). This patch makes it so running the rc service script with no arguments via service(8) is closer to running the rc service script directly (e.g., /etc/rc.d/cron). Long story short, for most of the rc service scripts this change means that running "service FOO" now shows the usage message of FOO instead of the usage message of service(8). PR: 255115 Reviewed by: bnovkov, christos, imp, lme, markj Approved by: bnovkov (mentor), christos (mentor), markj (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47328 (cherry picked from commit 7ffedfe14ca85aa3474980092a732d4e49309c62) --- usr.sbin/service/service.8 | 4 ++-- usr.sbin/service/service.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/service/service.8 b/usr.sbin/service/service.8 index 380fbc8c1269..7528fa04b0f1 100644 --- a/usr.sbin/service/service.8 +++ b/usr.sbin/service/service.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 29, 2024 +.Dd May 9, 2025 .Dt SERVICE 8 .Os .Sh NAME @@ -48,7 +48,7 @@ .Op Fl v .Op Fl E Ar var=value .Ar script -.Ar command +.Op Ar command .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/service/service.sh b/usr.sbin/service/service.sh index 245430107277..8b7aa937967b 100755 --- a/usr.sbin/service/service.sh +++ b/usr.sbin/service/service.sh @@ -162,7 +162,7 @@ if [ -n "$RCORDER" ]; then exit 0 fi -if [ $# -gt 1 ]; then +if [ $# -gt 0 ]; then script=$1 shift else From nobody Fri May 23 08:45:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3dyk47Vjz5wyR4; Fri, 23 May 2025 08:45: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3dyk3ZKCz3KcN; Fri, 23 May 2025 08:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747989918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wWA6j8yr7CebURdZUmf3g1FKE1hmKbNtFNbPJ+JroU=; b=QUuhlx+X3OzHCyyNT1bRtKMkPkn+oJSrT0YA9GTRtYmhfyt7qmAkp3EZmC1bgZjw0af6eZ egeReW8ZSxEb24gBL3w0n1UEUrBe+mDVFxC9hN8vVHjPAHrDHcgt05EVXYIBr6UOKGo55d zujZFXRchwR/Y8pKx4PnZTL4nofkjDNaW0LCvlhactU/f6/cvN5L9R0TJc4hkVFPwKjpj3 WmQ6McOXwpK2FJsJuPo6VUBjXUCJ7dUM3xWw/EOsmyYRfoO3PFi9gQzCbpLr9sPUDN+r+V jUVTeurEiIfkbwnIyZPKr0Rh7dqssjETzLNiFHNPMHhD6WMTwPCjesXzwh9TTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747989918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wWA6j8yr7CebURdZUmf3g1FKE1hmKbNtFNbPJ+JroU=; b=ZR6ucrvatj+SQFjn3hT6qDxNngvr95QMv3P0B9Le+XApS0vb47naRx4bvYWYzRKgxc87aj IrIFdNgO0MUjX5qdZk5LBV8GRXL7qVGgJjpho6E6PAj5Za4KhILNLP/tzfSjz0IdPflxMG FCr0gVRncevUvhMotwb6bERR+AWz3LGuAdHUZpZIB984awn48iTopCIpxVKR+CFhgL8EZc Ukq5WHF51Dtgu3IyPJzTV4S2vF/PktQlB4WRtli2wVzHzwhTnWHbIiyKFqCZ4f1IS+ZXFA Vk1ImQjp+Yuw51sejFrHqYHpMWA8KTV3tgg2jtkDULi+FK8mz3RaUIIrZTaF3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747989918; a=rsa-sha256; cv=none; b=H+/G6/nfH5LL9MrQJZYvlAGd9y7rCj/Q4L1WXRct8hTBTEr+2qKjQ8Rrb8+yYeRkh+EQUy 6dWBFvCnrqXNptSf1A20lWTcRhGh3v23U9yzl6SRlqBQMGjOv2UTcfT64CMKhQHIqi3mjN I11HZsg+8zKntA/5auRQoeD4J21tIVcTEVDGDcBxc606lXJ3FJS6QUyuGEyA9ki4dGhEtQ kwzjZg4iENhMFWWbffZr3wtSKIHzlSjCkwzxpkOLuLC9KrS/18vjcz9tErlh/MJBnqSeCr Mb1wL1YAqWQquc7SUo7RL+g0GkRlUx8WTa5x01Jct4oHU31kPSg0R3CsHYgd7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3dyk2KvRzyLy; Fri, 23 May 2025 08:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54N8jIX8058249; Fri, 23 May 2025 08:45:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54N8jIJG058246; Fri, 23 May 2025 08:45:18 GMT (envelope-from git) Date: Fri, 23 May 2025 08:45:18 GMT Message-Id: <202505230845.54N8jIJG058246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 50cf49f6011f - stable/13 - service(8): Allow for passing no arguments to the service script List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 50cf49f6011f861c1824303e26fff1655fc3e54a Auto-Submitted: auto-generated The branch stable/13 has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=50cf49f6011f861c1824303e26fff1655fc3e54a commit 50cf49f6011f861c1824303e26fff1655fc3e54a Author: sd@mostnet.ru AuthorDate: 2025-05-09 14:48:27 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2025-05-23 08:43:58 +0000 service(8): Allow for passing no arguments to the service script Currently, service(8) requires the user to provide a command to the rc service script. For example, service cron does not even run the cron rc service script but instead shows the usage message of service(8). This patch makes it so running the rc service script with no arguments via service(8) is closer to running the rc service script directly (e.g., /etc/rc.d/cron). Long story short, for most of the rc service scripts this change means that running "service FOO" now shows the usage message of FOO instead of the usage message of service(8). PR: 255115 Reviewed by: bnovkov, christos, imp, lme, markj Approved by: bnovkov (mentor), christos (mentor), markj (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47328 (cherry picked from commit 7ffedfe14ca85aa3474980092a732d4e49309c62) --- usr.sbin/service/service.8 | 4 ++-- usr.sbin/service/service.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/service/service.8 b/usr.sbin/service/service.8 index c367f3bc12a6..51a5ec665cbd 100644 --- a/usr.sbin/service/service.8 +++ b/usr.sbin/service/service.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 9, 2021 +.Dd May 9, 2025 .Dt SERVICE 8 .Os .Sh NAME @@ -47,7 +47,7 @@ .Op Fl j Ar jail .Op Fl v .Ar script -.Ar command +.Op Ar command .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/service/service.sh b/usr.sbin/service/service.sh index ca08e08ecd62..63f8eb006ad6 100755 --- a/usr.sbin/service/service.sh +++ b/usr.sbin/service/service.sh @@ -151,7 +151,7 @@ if [ -n "$RCORDER" ]; then exit 0 fi -if [ $# -gt 1 ]; then +if [ $# -gt 0 ]; then script=$1 shift else From nobody Fri May 23 13:04:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3lk63k10z5xDMJ; Fri, 23 May 2025 13:04: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3lk62Hkcz47nN; Fri, 23 May 2025 13:04:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748005486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wJbtihOrTT02LOg2BKpl/Mw4LYr5gip1jYi36Vv0zSA=; b=bW9vGMadoqXjaP7r6RWAr5cpUwF+qhLaA5wcmntiEznB3I46FSjiMyvBGDtQsVUVth7o5e 2wBmqOvSaNYH4KMh6o17fdoaagN0qS+mFveZMP+WHJTYj3QLrPegn+fSsuVAxVv75APiu3 DzrntruxvyqTAgI5okdDYny9g3ZqVdXGr5xgOiuoELqv4ob14+St71lMLeqHEdv7zvFIqo aFeM/Y7HPecuDSL+3whMsNf9luG21/Im6WhYPMVndFjZQ0Vp+g1uro34cV/NdBGSsSCEvc jUvvH8/SDCDjOyaOv3fvtXE0MNhE6YO7Na9JT/JQer+V0BvmJIIww3xAXKNzdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748005486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wJbtihOrTT02LOg2BKpl/Mw4LYr5gip1jYi36Vv0zSA=; b=RA2dxWsSxi1Yn9H9PXiHlxyAeOXN9zS6fHTwV/1Rmj28wlXFqTcyWiLg/KGh68VBT2NpBi zD4smaU2rL2bRHtBhKJCtOzgRbxq4wvi2THPS4/6nvk8MhH00FypyLtygRxJLrcxNiN/6E 8VUlm77qU1kTcATQJGlwxgTQFTLyym2/vTCUvGOJ5Qa5GWf/h8PmVRoyMUmRiA0+rU9fex 3us8Wfg0M0MThbWO397BQq0cu2Uj1PE/ulyKK7CEmhYsevbpQO6802feASDf1koySgHJfK XoRMztCCSNPxDzGy1Wnoai+WWsURWCTaeipaXBFXD1mEHZbzT0l/5EyKX8jE4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748005486; a=rsa-sha256; cv=none; b=xpq7zfKtGVwGVuLpWzLxzznXKXeYnHDQuVezhgQxhCr7TGxiCrxDYvw+1M1ooMVfDdo9/9 E/WKqvgu3lLYNkHU66OnpY7PZujyzhaf0otRE7nq5z6Q7Ou677y6im9Aoidfdf5HM1rixE xLKLcTZRHd2wUobta3JNUS74LNSmRsYFalCJeQn0S4SHQSJQ4/fU8oPXpime7DxLGtsql7 3ToBRke9LX4Bed/5b5HPNsLmcXhN/zvFoCK4gR4wcwwmiNZmbDARzWs15Vq3yuI38atlPH 0TtGxRTvbO//RQBBARmM983qAjGxbM/YnHbpR78TU9FdL+usCwEWeWP6nQa4Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3lk61BHHz16ST; Fri, 23 May 2025 13:04:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54ND4jv8044849; Fri, 23 May 2025 13:04:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ND4jMD044846; Fri, 23 May 2025 13:04:45 GMT (envelope-from git) Date: Fri, 23 May 2025 13:04:45 GMT Message-Id: <202505231304.54ND4jMD044846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 7587f6d4840f - main - namei: Make stackable filesystems check harder for jail roots List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7587f6d4840f8d363e457cddc14c184cf1fe7cc1 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7587f6d4840f8d363e457cddc14c184cf1fe7cc1 commit 7587f6d4840f8d363e457cddc14c184cf1fe7cc1 Author: Mark Johnston AuthorDate: 2025-05-23 12:52:24 +0000 Commit: Mark Johnston CommitDate: 2025-05-23 13:03:38 +0000 namei: Make stackable filesystems check harder for jail roots Suppose a process has its cwd pointing to a nullfs directory, where the lower directory is also visible in the jail's filesystem namespace. Suppose that the lower directory vnode is moved out from under the nullfs mount. The nullfs vnode still shadows the lower vnode, and dotdot lookups relative to that directory will instantiate new nullfs vnodes outside of the nullfs mountpoint, effectively shadowing the lower filesystem. This phenomenon can be abused to escape a chroot, since the nullfs vnodes instantiated by these dotdot lookups defeat the root vnode check in vfs_lookup(), which uses vnode pointer equality to test for the process root. Fix this by extending nullfs and unionfs to perform the same check, exploiting the fact that the passed componentname is embedded in a nameidata structure to avoid changing the VOP_LOOKUP interface. That is, add a flag to indicate that containerof can be used to get the full nameidata structure, and perform the root vnode check on the lower vnode when performing a dotdot lookup. PR: 262180 Reviewed by: olce, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50418 --- share/man/man9/namei.9 | 9 +++++++++ sys/fs/nullfs/null_vnops.c | 28 ++++++++++++++++++---------- sys/fs/unionfs/union_vnops.c | 21 +++++++++++++++++++++ sys/kern/vfs_cache.c | 11 +---------- sys/kern/vfs_lookup.c | 41 ++++++++++++++++++++++++++++++----------- sys/sys/namei.h | 5 ++++- 6 files changed, 83 insertions(+), 32 deletions(-) diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index 3f2f43e94cd1..5bdffce8c360 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -281,6 +281,15 @@ The flag is used to implement .Dv O_RESOLVE_BENEATH flag for .Xr openat 2 . +.It Dv NAMEILOOKUP +The component is embedded in a +.Nm +lookup structure, and the +.Fn vfs_lookup_nameidata +function can be used to obtain that structure. +This can be useful in +.Xr VOP_LOOKUP 9 +implementations which need to obtain extra lookup metadata. .El .Sh PARAMETERS DESCRIPTORS FLAGS These flags are used for several purposes. diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index a6b15c1dfa78..8608216e10e5 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -403,17 +403,25 @@ null_lookup(struct vop_lookup_args *ap) /* * Renames in the lower mounts might create an inconsistent - * configuration where lower vnode is moved out of the - * directory tree remounted by our null mount. Do not try to - * handle it fancy, just avoid VOP_LOOKUP() with DOTDOT name - * which cannot be handled by VOP, at least passing over lower - * root. + * configuration where lower vnode is moved out of the directory tree + * remounted by our null mount. + * + * Do not try to handle it fancy, just avoid VOP_LOOKUP() with DOTDOT + * name which cannot be handled by the VOP. */ - if ((ldvp->v_vflag & VV_ROOT) != 0 && (flags & ISDOTDOT) != 0) { - KASSERT((dvp->v_vflag & VV_ROOT) == 0, - ("ldvp %p fl %#x dvp %p fl %#x flags %#jx", - ldvp, ldvp->v_vflag, dvp, dvp->v_vflag, (uintmax_t)flags)); - return (ENOENT); + if ((flags & ISDOTDOT) != 0) { + struct nameidata *ndp; + + if ((ldvp->v_vflag & VV_ROOT) != 0) { + KASSERT((dvp->v_vflag & VV_ROOT) == 0, + ("ldvp %p fl %#x dvp %p fl %#x flags %#jx", + ldvp, ldvp->v_vflag, dvp, dvp->v_vflag, + (uintmax_t)flags)); + return (ENOENT); + } + ndp = vfs_lookup_nameidata(cnp); + if (ndp != NULL && vfs_lookup_isroot(ndp, ldvp)) + return (ENOENT); } /* diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index e1048e4ba7ab..a930e3921ab3 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -76,6 +76,21 @@ VNASSERT(((vp)->v_op == &unionfs_vnodeops), vp, \ ("%s: non-unionfs vnode", __func__)) +static bool +unionfs_lookup_isroot(struct componentname *cnp, struct vnode *dvp) +{ + struct nameidata *ndp; + + if (dvp == NULL) + return (false); + if ((dvp->v_vflag & VV_ROOT) != 0) + return (true); + ndp = vfs_lookup_nameidata(cnp); + if (ndp == NULL) + return (false); + return (vfs_lookup_isroot(ndp, dvp)); +} + static int unionfs_lookup(struct vop_cachedlookup_args *ap) { @@ -149,6 +164,12 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) goto unionfs_lookup_return; } + if (unionfs_lookup_isroot(cnp, udvp) || + unionfs_lookup_isroot(cnp, ldvp)) { + error = ENOENT; + goto unionfs_lookup_return; + } + if (udvp != NULLVP) dtmpvp = udvp; else diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index ff671e80b803..f2368877ec93 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -5276,7 +5276,6 @@ cache_fplookup_dotdot(struct cache_fpl *fpl) struct componentname *cnp; struct namecache *ncp; struct vnode *dvp; - struct prison *pr; u_char nc_flag; ndp = fpl->ndp; @@ -5288,15 +5287,7 @@ cache_fplookup_dotdot(struct cache_fpl *fpl) /* * XXX this is racy the same way regular lookup is */ - for (pr = cnp->cn_cred->cr_prison; pr != NULL; - pr = pr->pr_parent) - if (dvp == pr->pr_root) - break; - - if (dvp == ndp->ni_rootdir || - dvp == ndp->ni_topdir || - dvp == rootvnode || - pr != NULL) { + if (vfs_lookup_isroot(ndp, dvp)) { fpl->tvp = dvp; fpl->tvp_seqc = vn_seqc_read_any(dvp); if (seqc_in_modify(fpl->tvp_seqc)) { diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 127d068f1fff..86c7bdaa02c0 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -611,12 +611,12 @@ namei(struct nameidata *ndp) } #endif ndp->ni_cnd.cn_cred = td->td_ucred; - KASSERT(ndp->ni_resflags == 0, ("%s: garbage in ni_resflags: %x\n", + KASSERT(ndp->ni_resflags == 0, ("%s: garbage in ni_resflags: %x", __func__, ndp->ni_resflags)); KASSERT(cnp->cn_cred && td->td_proc, ("namei: bad cred/proc")); KASSERT((cnp->cn_flags & NAMEI_INTERNAL_FLAGS) == 0, - ("namei: unexpected flags: %" PRIx64 "\n", - cnp->cn_flags & NAMEI_INTERNAL_FLAGS)); + ("namei: unexpected flags: %#jx", + (uintmax_t)(cnp->cn_flags & NAMEI_INTERNAL_FLAGS))); if (cnp->cn_flags & NOCACHE) KASSERT(cnp->cn_nameiop != LOOKUP, ("%s: NOCACHE passed with LOOKUP", __func__)); @@ -862,6 +862,30 @@ bad: return (error); } +struct nameidata * +vfs_lookup_nameidata(struct componentname *cnp) +{ + if ((cnp->cn_flags & NAMEILOOKUP) == 0) + return (NULL); + return (__containerof(cnp, struct nameidata, ni_cnd)); +} + +/* + * Would a dotdot lookup relative to dvp cause this lookup to cross a jail or + * chroot boundary? + */ +bool +vfs_lookup_isroot(struct nameidata *ndp, struct vnode *dvp) +{ + for (struct prison *pr = ndp->ni_cnd.cn_cred->cr_prison; pr != NULL; + pr = pr->pr_parent) { + if (dvp == pr->pr_root) + return (true); + } + return (dvp == ndp->ni_rootdir || dvp == ndp->ni_topdir || + dvp == rootvnode); +} + /* * FAILIFEXISTS handling. * @@ -1020,7 +1044,6 @@ vfs_lookup(struct nameidata *ndp) char *lastchar; /* location of the last character */ struct vnode *dp = NULL; /* the directory we are searching */ struct vnode *tdp; /* saved dp */ - struct prison *pr; size_t prev_ni_pathlen; /* saved ndp->ni_pathlen */ int docache; /* == 0 do not cache last component */ int wantparent; /* 1 => wantparent or lockparent flag */ @@ -1206,13 +1229,9 @@ dirloop: goto bad; } for (;;) { - for (pr = cnp->cn_cred->cr_prison; pr != NULL; - pr = pr->pr_parent) - if (dp == pr->pr_root) - break; - bool isroot = dp == ndp->ni_rootdir || - dp == ndp->ni_topdir || dp == rootvnode || - pr != NULL; + bool isroot; + + isroot = vfs_lookup_isroot(ndp, dp); if (__predict_false(isroot && (ndp->ni_lcf & (NI_LCF_STRICTREL | NI_LCF_STRICTREL_KTR)) != 0)) { if ((ndp->ni_lcf & NI_LCF_STRICTREL_KTR) != 0) diff --git a/sys/sys/namei.h b/sys/sys/namei.h index bbaa71f629e6..4a16ec923bd8 100644 --- a/sys/sys/namei.h +++ b/sys/sys/namei.h @@ -152,6 +152,7 @@ int cache_fplookup(struct nameidata *ndp, enum cache_fpl_status *status, #define LOCKSHARED 0x0100 /* Shared lock leaf */ #define NOFOLLOW 0x0000 /* do not follow symbolic links (pseudo) */ #define RBENEATH 0x100000000ULL /* No escape, even tmp, from start dir */ +#define NAMEILOOKUP 0x200000000ULL /* cnp is embedded in nameidata */ #define MODMASK 0xf000001ffULL /* mask of operational modifiers */ /* @@ -249,7 +250,7 @@ do { \ NDINIT_PREFILL(_ndp); \ NDINIT_DBG(_ndp); \ _ndp->ni_cnd.cn_nameiop = op; \ - _ndp->ni_cnd.cn_flags = flags; \ + _ndp->ni_cnd.cn_flags = (flags) | NAMEILOOKUP; \ _ndp->ni_segflg = segflg; \ _ndp->ni_dirp = namep; \ _ndp->ni_dirfd = dirfd; \ @@ -286,6 +287,8 @@ do { \ int namei(struct nameidata *ndp); int vfs_lookup(struct nameidata *ndp); +bool vfs_lookup_isroot(struct nameidata *ndp, struct vnode *dvp); +struct nameidata *vfs_lookup_nameidata(struct componentname *cnp); int vfs_relookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, bool refstart); From nobody Fri May 23 13:06:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3lmg40Fdz5xD9p; Fri, 23 May 2025 13:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3lmg1N2Nz48ld; Fri, 23 May 2025 13:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748005619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Um5cdMCERLdTjN0m+jcDjx087vdtTglCVStatOk3Hbg=; b=BAIhnnQ0zJ7mjpnLmUbbbfAFVb6YQl5hDzwFfl6ID7sC6rxkfN6swczvghzXUd7VJB9aF2 P1S+69ew3dedYpzyUIBNyco7Xpj7SZrAExeHlDpg2/jiiBdGIeEqsXiFmuzaEolz9JYHl4 2/9xTkVU1vLltG/r+dp0TnZ+YYuZZYv3CJgNKKvtPX6S3hZUHVpfu3s0QZ8rrwYQZ6Iw+9 uFSfzf5YrKO5QRFCkL6cg+GBBEK/Yrtb3D3F08IoT9fZB7zTCWQl9Kvj4zw2BbUw2GisNz 6BoTtDdoXx678/6XF997RMk6WfucDJivUz2j2mKn4fR2YMffovskrY8k4Pi3Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748005619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Um5cdMCERLdTjN0m+jcDjx087vdtTglCVStatOk3Hbg=; b=EHVM5O/TVQfCgVl6bMwq62dE+IPbP9LANZgC8eaUiiS+X6UC0ATyBrS04XiK1nhlWqv1mr 6r8XM/WCA358KHx/aUKHfH3a3u3KXUfJLOrqDezxQls/HWsK158X7yVL1U3g41YiN56nST XClQc1uQc5JiunVyFY/8S5cTxqAdevO/OFeKt03Z3m6bLyESdR8MD8FMLjth0qcazrGcur 3FDsdjw/eYskes9ZirAFvsa2UducYpamChqYtRkUnkbF+4752Wyy6p5wjnOk4LOObYzyKf IRKc7WCYkSh8r9sw+f3IXCwts+/Uye/svI/M5WOdbN0GvFRHsP9uXivRQHLEWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748005619; a=rsa-sha256; cv=none; b=IYIYiCaknmOH+2xSUUsYvi3fNlqSO7+uEaadCD/+f2tgRZwFl2yRg0uRvpOXno7iFSPxXJ tD+nllUwYQNLBspfccg+0TmXJ0gm9caVZ9ofjbClQ3JuHncTTX66SmbioJfpF38jvN+POW x/uUj92/B8W5kM0t1oNo7gb/L/EY0Dl1IMF6U6zGdWDbuBhtaxPGZE0rHJ6uhcFaeBmeZE FD4mgrcQvQGORKNJ9hBJKdFSSnnfUeFWAtzcLm9MjEpPk74jLjsMT7CFJ7Rdvh94Sy7cQ8 DWU9bEyd/w4Dx0lWtY1vTi/KVToiOxr77t2icMVnTiSwyCKVBh03QsN8v6C9Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3lmg0yzWz16YZ; Fri, 23 May 2025 13:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54ND6x7J045738; Fri, 23 May 2025 13:06:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ND6xFU045735; Fri, 23 May 2025 13:06:59 GMT (envelope-from git) Date: Fri, 23 May 2025 13:06:59 GMT Message-Id: <202505231306.54ND6xFU045735@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0a16f62701f1 - main - icmp6: zero out pad space List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a16f62701f163f85449ad6c6dcf742b5247e8d2 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0a16f62701f163f85449ad6c6dcf742b5247e8d2 commit 0a16f62701f163f85449ad6c6dcf742b5247e8d2 Author: Kristof Provost AuthorDate: 2025-05-22 09:23:59 +0000 Commit: Kristof Provost CommitDate: 2025-05-23 13:06:33 +0000 icmp6: zero out pad space In icmp6_redirect_output() we potentially add padding, but failed to clear this memory. This triggered a KMSAN panic during the sys/netinet/carp:unicast_v6 test. Reviewed by: zlei Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D50461 --- sys/netinet6/icmp6.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 764e57ef9b76..eaf8514fd5cf 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2605,6 +2605,7 @@ nolladdropt: /* pad if easy enough, truncate if not */ if (8 - extra <= M_TRAILINGSPACE(m0)) { /* pad */ + bzero(m0->m_data + m0->m_len, 8 - extra); m0->m_len += (8 - extra); m0->m_pkthdr.len += (8 - extra); } else { From nobody Fri May 23 13:40:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3mWM4HVGz5xGLm; Fri, 23 May 2025 13:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3mWM3lGLz4NBJ; Fri, 23 May 2025 13:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748007631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FToX3JidRlQpYUtAF4ruujcO+5VyZUlJb6R6Dlcz6Y=; b=GuGHtEdHi5S+TYv2UvUikQOVHeMJAUUKZfNqidQy0LtbYOhG1VHq3KHIXWHutx1Hp/BRT5 qlXlhJQ7WQYy9aqcgRwIGxxwkf/SW0DNbv4AjsOf0JFGz7I5pCg3Y88WjiR/az3WngjAKt h2yo/B6NwEOKmPJugTt375XppMXlun0RdHGIvhBewR2euLXRVLFEVC+tVk4VywbGcd8lBY Y48dMR2bbTLHay2Oaj9zLql4jpouT7JwLztP9kkeN4hMaShmp8uEo+YvCHDtfh85ZpYjbQ e1cZaNmv87rW3jbZEkClinXrD3QCeiIpyykRdsSuHWJB3e7YNlzn79kPm8rfjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748007631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FToX3JidRlQpYUtAF4ruujcO+5VyZUlJb6R6Dlcz6Y=; b=PWnlpyF7VoO4ZMf5I5EXpFJi6y2hjVx7PYlH0y03TXpJLEJ91UcgQyVRCwhr0lDQN8MZYj ZQSjUia90xJtGyuyEhupEgEpAcgxS+VByrODpyA+yusGKg9IWfLk99mWMbk5AXRyiTaedj STW+soJB8Lt6ayt1Tgsuoq0zadbMLqC7QwgthZGozRlwdEHui6FSQ2//SEO6XjjYEE/tRK Jg0s0RPMQhY2rvWcxqnoql2GzxhvDMUre8KeoV3I17GmrW27FnQmrIp6woPMpNotwZW2mQ 4xkU61eU0ORxwqoeRXccav2F0yIZlzP6L9IjFq5o3qZ9A0ow998ydIuynmxlnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748007631; a=rsa-sha256; cv=none; b=XSqrdYAkHmrKXtvpXq1gPILeim+PB1aMuT5C7vsjKJ/146osRHijml6bRiTDfc0PERhY5p AfSYzhDIjfHmsx85mZhis2xrQNxtk21YFH/Scb0dE1zhX9Z6hzwpTR+wP3lwve0zfZN3ii T4AJ/UMlEgH7cZZctCeSX1vv2zaEtvfiOAPkhvuQEBU4UJSj26p5fzGICw1T01rJwwczUm 55wrZznwvJUlz7kTeCRwbhemdh+s/4o0DrXiAgZz7/DgNkvE+ZqiwOvmPf+8PXA848xPX1 rcPL48Aas/nF8zpO9gIKMFuvH6zSii4BHH1Z49fV6KvHBo0Z76fROgIXdD2uHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3mWM3GYYz173X; Fri, 23 May 2025 13:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NDeV2p011022; Fri, 23 May 2025 13:40:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NDeVXQ011019; Fri, 23 May 2025 13:40:31 GMT (envelope-from git) Date: Fri, 23 May 2025 13:40:31 GMT Message-Id: <202505231340.54NDeVXQ011019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 0bfa8a459626 - main - bsdinstall: improve pkgbase target retry prompts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0bfa8a45962644947e17b5262c5d0efa36d3f4d9 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0bfa8a45962644947e17b5262c5d0efa36d3f4d9 commit 0bfa8a45962644947e17b5262c5d0efa36d3f4d9 Author: Isaac Freund AuthorDate: 2025-05-09 12:21:01 +0000 Commit: Ed Maste CommitDate: 2025-05-23 13:40:12 +0000 bsdinstall: improve pkgbase target retry prompts These now use bsddialog rather than prompting the user for input on the console. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50270 --- usr.sbin/bsdinstall/scripts/pkgbase.in | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/pkgbase.in b/usr.sbin/bsdinstall/scripts/pkgbase.in index eaed23a19548..1ff93afe817b 100755 --- a/usr.sbin/bsdinstall/scripts/pkgbase.in +++ b/usr.sbin/bsdinstall/scripts/pkgbase.in @@ -23,18 +23,6 @@ local function capture(command) return output:match("(.-)\n$") or output end -local function prompt_yn(question) - while true do - io.write(question .. " (y/n) ") - local input = io.read() - if input == "y" or input == "Y" then - return true - elseif input == "n" or input == "N" then - return false - end - end -end - local function append_list(list, other) for _, item in ipairs(other) do table.insert(list, item) @@ -73,6 +61,18 @@ local function bsddialog(args) return exit_code, output end +-- Prompts the user for a yes/no answer to the given question using bsddialog +-- Returns true if the user answers yes and false if the user answers no. +local function prompt_yn(question) + local exit_code = bsddialog({ + "--yesno", + "--disable-esc", + question, + 0, 0, -- autosize + }) + return exit_code == 0 +end + -- Creates a dialog for component selection mirroring the -- traditional tarball component selection dialog. local function select_components(components, options) @@ -254,7 +254,6 @@ local function pkgbase() while not os.execute(pkg .. "update") do if not prompt_yn("Updating repositories failed, try again?") then - print("Canceled") os.exit(1) end end @@ -263,7 +262,6 @@ local function pkgbase() while not os.execute(pkg .. "install -U -F -y -r FreeBSD-base " .. packages) do if not prompt_yn("Fetching packages failed, try again?") then - print("Canceled") os.exit(1) end end From nobody Fri May 23 13:42:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3mYk28n6z5xGBP; Fri, 23 May 2025 13:42: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3mYk18LQz4PJm; Fri, 23 May 2025 13:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748007754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xApy3CWU0UailbHTXiSaPNkVPKWdI00eDj1cYcMYNaQ=; b=xJztcu0+EiSGbWNoy6yqBXGWmtu0tW2flDaXlPHTJaWROrDz1Kj/dRQe0YKqZYlNEPNli5 Z39NobMjzY/dC2BYahvLJqLDk9Dvvar9oFu26i6LkXJigWUojuB9TRDfVVGnqh2eziIZLh fe+UKZ47NndAlKb/220RweV5o6GQRH6BQGMbXO+ZjuLUrlqtlmT3ZzLrhsEYp4/0HAwAUc eSXBzMsk2vgkQXOm8fT5DXHrMjZDye173C8w1GM0/WWk1N1Fkes11GNVscciGMdp3Nxfs6 T1smSnX5aHdglpcMwWSJSUG0KaSCTBN7baMcHaeqcJMOx06v1DhMT+V3Hp2OXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748007754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xApy3CWU0UailbHTXiSaPNkVPKWdI00eDj1cYcMYNaQ=; b=YFOzLQPC4sHaq8F6/ik5GuYimAvThzzQ3okKukCuDkZeSEvQIMCJOQyi7KBgJl3sHkJPZA ch1be2i0KybmPvoQw2rRKJndY3FNvm695Z2iHVm6yNwWsl+aK+X+Lq6zUfk9KPkc1RPHD9 mocNx5vNr9yACGGDq214kUWv52b87LxRKNVeFrfpN0S4UjknKlfLSbCrP4OA49KvPHrSr/ voQh1m8FupeVI/chUW34nqGDDqBKlsGyhc4ik91tG59NTmNg4/5eTlAO/URJ1F5BB7Y61Z FehTuNPUb/qaCb4eaENKHPdHehZR0iG6/6WvTal0UvCgKS399LZS9qbMiiM/Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748007754; a=rsa-sha256; cv=none; b=Vga5+y2ROza3mNiHWpCbBDLz9W2OHm1HFCuFeVruLUCyHJNI5aQP7GWb5jiMDFZGpdORy+ lixmkRwwFzzjqW7rpeZPyW8qnkSVrmLqGZZNb7flbV1T92ikedciEhWU7rtaF0jMgLTA/x HvDaHxhfvWXJLCZTZ3UKKIFceoKaTTzx2x96ZmRepgikQpqpK7HaMpPmszBnC/JK1XsFq0 TottvsKhKv1IWKSzDJkrUDcRZbVRf54MtWZg9DOjMcpZ1RowNaTBur8VmES4Q9Hnpq0DT4 kNYiCtv2oS4I+FbEgsRFtqNQUNJpvgA9ay9vtdHMCIgY34PEN2B3gFap8FbYQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3mYk0kHYz16tk; Fri, 23 May 2025 13:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NDgXoq018584; Fri, 23 May 2025 13:42:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NDgXKt018582; Fri, 23 May 2025 13:42:33 GMT (envelope-from git) Date: Fri, 23 May 2025 13:42:33 GMT Message-Id: <202505231342.54NDgXKt018582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 0a86a8ace333 - main - bsdinstall: support offline pkgbase installation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a86a8ace33374b1dcf7b43eab85db2f76537522 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0a86a8ace33374b1dcf7b43eab85db2f76537522 commit 0a86a8ace33374b1dcf7b43eab85db2f76537522 Author: Isaac Freund AuthorDate: 2025-05-10 22:51:06 +0000 Commit: Ed Maste CommitDate: 2025-05-23 13:41:49 +0000 bsdinstall: support offline pkgbase installation Reviewed by: bapt, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50347 --- usr.sbin/bsdinstall/scripts/auto | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto index 75bff522a63f..fa67dbf671cc 100755 --- a/usr.sbin/bsdinstall/scripts/auto +++ b/usr.sbin/bsdinstall/scripts/auto @@ -161,10 +161,22 @@ if [ $? -eq 1 ]; then fi if [ "$PKGBASE" == yes ]; then - bsddialog --backtitle "$OSNAME Installer" --title "Network Installation" \ - --msgbox "Installation of base system packages currently requires internet access. The next few screens will allow you to configure networking." 0 0 - bsdinstall netconfig || error - NETCONFIG_DONE=yes + if [ -f /usr/freebsd-packages/repos/FreeBSD-base-offline.conf ]; then + bsddialog --backtitle "$OSNAME Installer" --title "Network or Offline Installation" \ + --yes-label "Network" --no-label "Offline (Limited Packages)" --yesno \ + "Would you like to fetch packages from the internet or use the limited set of packages included in this installation media?" 0 0 + if [ $? -eq 1 ]; then + export BSDINSTALL_PKG_REPOS_DIR=/usr/freebsd-packages/repos/ + else + bsdinstall netconfig || error + NETCONFIG_DONE=yes + fi + else + bsddialog --backtitle "$OSNAME Installer" --title "Network Installation" \ + --msgbox "No base system packages are included in this installation media. The next few screens will allow you to configure networking." 0 0 + bsdinstall netconfig || error + NETCONFIG_DONE=yes + fi else export DISTRIBUTIONS="${DISTRIBUTIONS:-base.txz kernel.txz}" if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then From nobody Fri May 23 14:30:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3ndQ2H5mz5xJRw; Fri, 23 May 2025 14:30:50 +0000 (UTC) (envelope-from bapt@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3ndQ05bkz3WlV; Fri, 23 May 2025 14:30:50 +0000 (UTC) (envelope-from bapt@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748010650; 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=xXQiZabMc2DwMtLBsbmyN9Lqz/ilH3r4grkU9MAUO2g=; b=BDBw1D42oHYmITKm7/FzCsuR7+I44ABVqBv5N4WxeYSUEvGSGLN7roS2MzBxMu+06hFsPX V7UPwYSr2ACymtRbc4JgN5sz7jUQE5lyh9Susgr9UmzS5ytqg1O2Mz6BDWchRPZ3UeirDP PYzCwq+ELuj8B1zrzZM71kOcf+cFHvVytucb48PWkX2/OuUzbtswmDefZDyhbzkOcfcw4U vbykCoPXeGcIiAxS8fBf025S1ys9wiG+Y3PFQh0YghI/vdxu97V5FYS19kSQViwT4jw3C8 qg+5OXcQnJmX5WuInypKuFwluc1gN702cVziBKHFxbyKwCIE2HNSaro6JZXeUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748010650; 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=xXQiZabMc2DwMtLBsbmyN9Lqz/ilH3r4grkU9MAUO2g=; b=MYLN9gZXNfAEv/NBw13GeK2IAb/UK82edRHtlrfbnfgDAHEUjLLyWP+pl1YxUiSpfu+Oq6 JOhuHhez9HvEmVV+9p9mR1XkbcXwxXG72or8I+CO/pcTM0pO24JCv1XgDtbKV6uneYczN0 SyyaReeE1yW1wW5BL8U0EMHd31Tx2B/TEKdYNjyxRTzBNxzDtIf3RrQJNViwksxPT3HXPo ET0EjuP3xn0ICimSb15foyTH7FUfteDmznYs6q51alR4SI9jQd1b/j1RHzSNHy86JFhSNh z2BC+NH0SwVOKyxDmlz02Hs/WZnvY4E7IGzxl9xPFToyJbB2+NLaWGLOKBDemw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748010650; a=rsa-sha256; cv=none; b=CqXPEsL1zkkXDKK2Tu/UpVkIS/pwRt4Kh0pd5+L+uFpjgraljgO/JWSvBQ9E++vgcE7Rt7 pq6KMDweQfA/vA6fR9397U0MfwBA7CzJfZMXAw/ra2zxMimDWp5zlYcazN6G5sTiJrnTUc L5dw09aZVl+LCoBR89hXE2Licn7BgfQwlHZBqD6j2yfQJ7YlTG+8bpTe02f0aO9m5gQutB ZNG49hQx+riBljGTRXVmp6N1ckBVaQUWHJNRWoq8c3RGpX3ZkdClLtXVedXPP7iaSr8/3b YQMFfn5QzFZTpPKI0FB8cYvQB/+jH3BadyBJiLIHgacrutdzkAlVAkQ8qhg6AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from b.nours.eu (b.nours.eu [IPv6:2001:41d0:303:5e39::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) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b3ndP66tnz8mW; Fri, 23 May 2025 14:30:49 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: by b.nours.eu (Postfix, from userid 1001) id A8C53D11C9; Fri, 23 May 2025 16:30:46 +0200 (CEST) Date: Fri, 23 May 2025 16:30:46 +0200 From: Baptiste Daroussin To: Mark Johnston Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 7587f6d4840f - main - namei: Make stackable filesystems check harder for jail roots Message-ID: References: <202505231304.54ND4jMD044846@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202505231304.54ND4jMD044846@gitrepo.freebsd.org> On Fri 23 May 13:04, Mark Johnston wrote: > The branch main has been updated by markj: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7587f6d4840f8d363e457cddc14c184cf1fe7cc1 > > commit 7587f6d4840f8d363e457cddc14c184cf1fe7cc1 > Author: Mark Johnston > AuthorDate: 2025-05-23 12:52:24 +0000 > Commit: Mark Johnston > CommitDate: 2025-05-23 13:03:38 +0000 > > namei: Make stackable filesystems check harder for jail roots > > Suppose a process has its cwd pointing to a nullfs directory, where the > lower directory is also visible in the jail's filesystem namespace. > Suppose that the lower directory vnode is moved out from under the > nullfs mount. The nullfs vnode still shadows the lower vnode, and > dotdot lookups relative to that directory will instantiate new nullfs > vnodes outside of the nullfs mountpoint, effectively shadowing the lower > filesystem. > > This phenomenon can be abused to escape a chroot, since the nullfs > vnodes instantiated by these dotdot lookups defeat the root vnode check > in vfs_lookup(), which uses vnode pointer equality to test for the > process root. > > Fix this by extending nullfs and unionfs to perform the same check, > exploiting the fact that the passed componentname is embedded in a > nameidata structure to avoid changing the VOP_LOOKUP interface. That > is, add a flag to indicate that containerof can be used to get the full > nameidata structure, and perform the root vnode check on the lower vnode > when performing a dotdot lookup. /home/pkgbuild/worktrees/main/sys/kern/vfs_cache.c:5276:24: error: variable 'cnp' set but not used [-Werror,-Wunused-but-set-variable] it breaks the build, Best regards, Bapt From nobody Fri May 23 16:08:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3qp43kszz5vxBD; Fri, 23 May 2025 16:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3qp435XCz3Hkx; Fri, 23 May 2025 16:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748016508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rPm1fehvjTz30GhhbWzyMTdkZ0rLfsxEY/f92mS0OYs=; b=FJd1R/2keZJhoYpTRorp2XKCD/4oShERV+9RWVODiXSZmgqKUxs+z25ulbtESzkQD+FI8G fKPhmMfsYyPY+OV1mOjpP1YhNl0ToKWvdhxPoWCst6EFaSe6cKqCCeVSQ+sRL8xkBHrTJv GPKiYFqnogUwSvGS0SkiOVEB7OvgUGCKFgcfdjVCj6pKBpXP++6nPdd5ji6d3m4EjyYwXj WCnTvigxG/oRXlLcTTHlkSLFTqTRiRzpK0OAanhnVKUbAv3OaqQjmFHyPJr57Iu8EliWK1 6d/m3effWwEbw7HpJedX1uXqZS/kpeAoJ3nEVbvdqImZR5ZztxqDw5t60qhEAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748016508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rPm1fehvjTz30GhhbWzyMTdkZ0rLfsxEY/f92mS0OYs=; b=Y+SQxCOrBJrYi4JDXS6ft7vKid3iEh8NWhDJ8eRLjZUv6Yt4r1B1+CdwkwlctlG1ine82F OJ4dF9De6jdXCtF9xM5shRHAh8orZSCTB4ztV29j6c9cl4I/CCCO/Zjg7YwVC3NJiB6wr5 Oi/eoGbkeYkpKuvCREAV5J2KMg3w9epiejCHb7EaBbIh8Uc9w8P1ZkXhHlcb/7cQ3Q7K4n eiIMl3vMX60D4reddjJX3kUTJdaIPRvtn1SjTTYU6maZqmZHo02SVZgjr0l6hLOov6T9tP U8Je8t6zCDid9Z+MgY8JUHHNVeSjugK0EoR7cUgjuHeOhrtxKTESvENHaUQNXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748016508; a=rsa-sha256; cv=none; b=EFsSLv/RVtPwj/O4JwHt0KdcpfAmqe6tIlIctPsBlXoBJyXCF7+F7D32vQsJz1wFTSwxdO LVayF2VB+InOzVLGha5YS+kSjw0ql7g5wBMU37tFoNnM8uR92Cw0CwZnzG1XwS9sj4JCeF VTdMmWPoLn8DdTx78GHGzWeKLIAbg/2cjp4tMWX41oa+Rvp8UUKk0mF6IUh21hwgvWclh7 v8wux538mPrEcsvGwbqyVuOx2sBWF6OiJPY8w0K7DhalyBhm5FIzZp4CDcg6RfNXN/wfUm WkBITOxpgwlRlMEQ3c/+h2xYxB8UqlggpmMhF4fdEcFZ30LKNomX+Bg03QiOdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3qp42SGdz1Bfw; Fri, 23 May 2025 16:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NG8SKd084135; Fri, 23 May 2025 16:08:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NG8SlC084132; Fri, 23 May 2025 16:08:28 GMT (envelope-from git) Date: Fri, 23 May 2025 16:08:28 GMT Message-Id: <202505231608.54NG8SlC084132@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 14ec281a09d7 - main - namei: Remove a now-unused variable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14ec281a09d7818def2083ef0c3e28f8101f4268 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=14ec281a09d7818def2083ef0c3e28f8101f4268 commit 14ec281a09d7818def2083ef0c3e28f8101f4268 Author: Mark Johnston AuthorDate: 2025-05-23 15:35:05 +0000 Commit: Mark Johnston CommitDate: 2025-05-23 16:08:21 +0000 namei: Remove a now-unused variable Reported by: bapt Fixes: 7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots") --- sys/kern/vfs_cache.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index f2368877ec93..69de06cff193 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -5273,16 +5273,14 @@ static int __noinline cache_fplookup_dotdot(struct cache_fpl *fpl) { struct nameidata *ndp; - struct componentname *cnp; struct namecache *ncp; struct vnode *dvp; u_char nc_flag; ndp = fpl->ndp; - cnp = fpl->cnp; dvp = fpl->dvp; - MPASS(cache_fpl_isdotdot(cnp)); + MPASS(cache_fpl_isdotdot(fpl->cnp)); /* * XXX this is racy the same way regular lookup is From nobody Fri May 23 17:06:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3s4X1NMJz5w2CH; Fri, 23 May 2025 17:06:04 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3s4W6c2Rz3kFl; Fri, 23 May 2025 17:06:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748019963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sRsfBWe66dI7Fmh5Ne6H/01bGLV9fJXNyyMInT31PDU=; b=uQCAGGFAqL5plKZEf/xrdxBQlwPjSZ7N0RCRYNiD3hi9EVKu1D8SptlBxAMRsaaizhPnTS WdLOBaoxYAJPDIUkh0QIdn0ob8UKHoZzYEbol5r1Nnjnt20hYYj+jmI+Z3woF48kuLj0s5 wZvPaJqjxTGQrLgoYLgJf4kQWvtcwfDoMBFADBrBCrDaSMEfaAXdcrqIamUfwNTzFZ/Yg5 lwfqAXc3lpeIihr0KPdCoh97qM9yXeLIhmVfPqFExcPR3GO/DC/vPREOTWNxQsCtfvSwT4 mCHZyjz7JRVNUT5M/qJIHXavb7jkiEDrAc0pmbaam4NHY8i/moWv5iaDW4fqSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748019963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sRsfBWe66dI7Fmh5Ne6H/01bGLV9fJXNyyMInT31PDU=; b=LzoyaHo1WuWDK3D+JZdQJ6fRcia7hVjQ0gcS86WsBfg3OEoiWv0UBso46ac+s0G2KivC8o +u+o5hfYLOUOG00eBJJt1DWGU0snnB0QkmsQBl4YA4mLI4pbAD4lExoXN2bAZf1csTHCF9 1bxFRT5aN0XjUNgquQ57EcpxKByVSt8m+Li7Kpos25G0ctjcvkHWzhLOnCzJYsAiPf4nhe bhkcDmodDv9tTUkLoWHMuViQziZ3YXMKbuEbkaJjWhIPk2ftFT5Sa2ZbqIyx2Ujr9l4YbW jQ/TJc7Ibh+n5Burbr4tcPVogwMg8U5ZVQuUXUitiGzplSu8YDmccMRNRbrGHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748019963; a=rsa-sha256; cv=none; b=KBblxmgeQgMp4L0dVtPMwNF1Z7FewKMLDWouRkuI5GMoC8MmYwK8yZ7u6/WPmCcubsEOMv 3vTTNR4k9s88UfC30UXnZ1OTW7HHTpO/sYZSgcAJw6FMH7JcPqbHPMei8waHt5gTJX7+j/ hzn/SniLa/kxqfXwwNSMat323/Oc886SIC+NAShLOJZEzW+duPRLiweEzCO/k0FIydzkeM x1p2KpIPNK3j3H+tvFxEyUOvBT/pXl3SyHIeVRHPuinTBSj6C/iVk3EQnuPnbibDMnm1jA acNIHfZJ8wbQBQ+g77jN2ejaNsCn0oMC9L+FO0aq2EhcXlEhscviQEFchZRtWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [172.16.15.198] (astound-64-85-238-171.ca.astound.net [64.85.238.171]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b3s4W2MbRzDHF; Fri, 23 May 2025 17:06:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <4e0ac4ad-58cf-4ba2-828f-53d5e8179b08@FreeBSD.org> Date: Fri, 23 May 2025 10:06:01 -0700 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: ac62b97951c2 - main - openssh: Add ${SKSRCS} to libssh Content-Language: en-US To: Jose Luis Duran , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505202259.54KMxhl1053598@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202505202259.54KMxhl1053598@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/20/25 18:59, Jose Luis Duran wrote: > The branch main has been updated by jlduran: > > URL: https://cgit.FreeBSD.org/src/commit/?id=ac62b97951c25a33ec0880e574ccff31be7452f7 > > commit ac62b97951c25a33ec0880e574ccff31be7452f7 > Author: Jose Luis Duran > AuthorDate: 2025-05-20 22:58:23 +0000 > Commit: Jose Luis Duran > CommitDate: 2025-05-20 22:58:23 +0000 > > openssh: Add ${SKSRCS} to libssh > > sshkey.c references sshsk_sign(), which is defined in ${SKSRCS}. > > Due to how FreeBSD builds libssh, or put differently, due to upstream > not building a shared libssh.so, we need to partially revert > 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client everywhere"), and > add ${SKSRCS} back, to avoid linking problems, especially when building > with GCC: > > /usr/local/bin/ld: > /usr/obj/usr/src/amd64.amd64/secure/lib/libssh/libprivatessh.so: > undefined reference to `sshsk_sign' > collect2: error: ld returned 1 exit status` > > Put the sources in a separate line, to maintain line-by-line > compatibility with upstream Makefile.in > > PR: 286580 > Reviewed by: emaste > Approved by: emaste (mentor) > Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client everywhere") > Differential Revision: https://reviews.freebsd.org/D50020 Shouldn't we revert all the other Makefile changes that added SKSRCS in the consumers of libssh? -- John Baldwin From nobody Fri May 23 17:16:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3sK36Sgcz5w2xV; Fri, 23 May 2025 17:16:55 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) (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 4b3sK330L0z3pFJ; Fri, 23 May 2025 17:16:55 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-70b684670e7so110967b3.2; Fri, 23 May 2025 10:16:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748020614; x=1748625414; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Sjaq06qjLIpwspsrMrSWbV6h41r+Oc2+IoZMXixDHFU=; b=ORJR6jiAPTExRA/DTYazOAPnx0AzrqOu1Qn9ensvPS6g9JZSenHcD7NyJRpiF18SOq zDau0GDR2yeZqd1va80L8yKXet7SEsP28WrgY99NYxKo3OeaDl4XzAzkps+1deZwqY3s 2wJcftHHfCfjm9Xd8QnvHKIm59UmdUrhWrZGTWJ2RGHtYpVbZJTUHDLS7R5aKds7PBDH UFjvf284Oi9bHEqr68c0YYDitoNIMYnHdr76sXbRpm0ThzlpWQXVbvRB8k1cdAeRkk6A vM8OSlNf4Qp2LBtxhAXVl4zSkWM81cCOJS78bOflj1bpb7zFAXlreUgYWnETz05RwkOZ Kjhw== X-Forwarded-Encrypted: i=1; AJvYcCUDFRwySZIy429C2/iT5J3opwCVoACS5KjWEGuiOuLDDjcOaGDUA9AYIbeyX/V4UPnMZHbZ/pA0w5jsuctqZ7vwm1lM@freebsd.org, AJvYcCVgNo3WSr9XLrRYPn6GP6s8ZBbOmEUyyCZk5X/IIG9oaQH34G/eALUtGAlNxVfrDAiYMgz0QfQFf3IwdNbJvRdYaxt+3Hw=@freebsd.org X-Gm-Message-State: AOJu0YxKr8KIxDjGidi8OjZaaOn5uzMg6o/vPb/NTGzd7lJuXuIzfXv4 b5aWVSY5IJdos1veBNcYeKv4A2lDRt+nNdXbhPD0mBOhLQqXtMeJCf5VtByH/w== X-Gm-Gg: ASbGnctvSAXWBfCYov8qAXqx2B6e5aRj+vAc0GmzjdagdtrvJNKj9ogUmLC7MQ63G8d XHw9aiUBB/jy/8XMMy4OJK5TOSfM/WF4XJqlyufbqoUZr30kVCfiRxyxezOvzQxMHPGOx6hC7CI ETfLoEskmE6+IgpbXHRrxBMcq050AUYhH6bRqChDJPHeYYCdW95RG9+CF5entTNlr16Fbnewlij fRITLc0F+3v1cGSxwFaP4TCLusJa1CAdBDLod9jo00E76BRdBhphVgdhU1v0tl8j/WG47axFBw3 ynRmDvn402+h/AVDss3rbjT35PBI7rm6Ik4lcBXReB0eue4bFDIg2EuSaiXi9mGuHS9QL8Xad6H ZWXb7k8qku66QQarM X-Google-Smtp-Source: AGHT+IEJ/CaroW3YVlYUw7y6WhAWJU3Fs42GEBLBJGtxaS5EP6CPyeaLFkMdLktREdsB2smIDfVquA== X-Received: by 2002:a05:690c:386:b0:70e:d35:fbf7 with SMTP id 00721157ae682-70e1b5c3092mr17409867b3.5.1748020613898; Fri, 23 May 2025 10:16:53 -0700 (PDT) Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com. [209.85.219.179]) by smtp.gmail.com with ESMTPSA id 00721157ae682-70e1d423473sm3307877b3.22.2025.05.23.10.16.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 May 2025 10:16:53 -0700 (PDT) Received: by mail-yb1-f179.google.com with SMTP id 3f1490d57ef6-e7d8f68d5eeso13633276.0; Fri, 23 May 2025 10:16:53 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCVlJuka8cioQbohYSNVXkixquARrAUhTijyKL9ez7RseFLEYdSAjUs+zKVUQmYw9y80C/h6fsrdHt6PXMmn5eglPsZD@freebsd.org, AJvYcCWECZ0cXJo6GFnewL2lBKbwZ05x1RgCm3lGoFJSr01Cb9ni48U9RZyEJOfNI9MracxSWh8k8zRSNv5vHP1k65OxEnQwdvk=@freebsd.org X-Received: by 2002:a05:6902:10c2:b0:e7d:763c:a19f with SMTP id 3f1490d57ef6-e7d91a1b019mr188623276.2.1748020613228; Fri, 23 May 2025 10:16:53 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202505202259.54KMxhl1053598@gitrepo.freebsd.org> <4e0ac4ad-58cf-4ba2-828f-53d5e8179b08@FreeBSD.org> In-Reply-To: <4e0ac4ad-58cf-4ba2-828f-53d5e8179b08@FreeBSD.org> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Fri, 23 May 2025 12:16:41 -0500 X-Gmail-Original-Message-ID: X-Gm-Features: AX0GCFssxRzRAE3DILjg3xR5vJ20lOzoc4ECZZvoKzAL_3cVdubM26sSFaiHpls Message-ID: Subject: Re: git: ac62b97951c2 - main - openssh: Add ${SKSRCS} to libssh To: John Baldwin 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-Rspamd-Queue-Id: 4b3sK330L0z3pFJ 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-Spamd-Bar: ---- On Fri, May 23, 2025 at 12:06=E2=80=AFPM John Baldwin wro= te: > > On 5/20/25 18:59, Jose Luis Duran wrote: > > The branch main has been updated by jlduran: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dac62b97951c25a33ec0880e5= 74ccff31be7452f7 > > > > commit ac62b97951c25a33ec0880e574ccff31be7452f7 > > Author: Jose Luis Duran > > AuthorDate: 2025-05-20 22:58:23 +0000 > > Commit: Jose Luis Duran > > CommitDate: 2025-05-20 22:58:23 +0000 > > > > openssh: Add ${SKSRCS} to libssh > > > > sshkey.c references sshsk_sign(), which is defined in ${SKSRCS}. > > > > Due to how FreeBSD builds libssh, or put differently, due to upstr= eam > > not building a shared libssh.so, we need to partially revert > > 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client everywhere"= ), and > > add ${SKSRCS} back, to avoid linking problems, especially when bui= lding > > with GCC: > > > > /usr/local/bin/ld: > > /usr/obj/usr/src/amd64.amd64/secure/lib/libssh/libprivatessh.s= o: > > undefined reference to `sshsk_sign' > > collect2: error: ld returned 1 exit status` > > > > Put the sources in a separate line, to maintain line-by-line > > compatibility with upstream Makefile.in > > > > PR: 286580 > > Reviewed by: emaste > > Approved by: emaste (mentor) > > Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client eve= rywhere") > > Differential Revision: https://reviews.freebsd.org/D50020 > > Shouldn't we revert all the other Makefile changes that added SKSRCS in t= he > consumers of libssh? I would be inclined to just revert a098111a28ed, and leave the others "as is", just to "match" the SRCS line, which was the underlying original motivation. > -- > John Baldwin > --=20 Jose Luis Duran From nobody Fri May 23 20:03:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3x1J2YVlz5wFbj; Fri, 23 May 2025 20:03: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3x1J20mNz3LDj; Fri, 23 May 2025 20:03:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748030612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ogF1/uNumgOgDPpKSmjF52jSx/C7maFKY7C5AZirUyw=; b=eLY/uSj8DjkfR2JxPa8GakpHYGDTn0bdymWJuDAS0nRemz2JeLb9WnfAOQBa3XW+i/BNud L4RZiZMajs8vv0ujCiGRCHEv9NllzFVPDV598VxcFb2LphUm08MYfCBi1oJH0o+UzOU+de 0w4kTRM9sCghDTsFxQczBuij2vKjnWgaLElm3lwpiUs0UmwfZRRw6PE67TaxufRI5PsOVf 6/UDV1CS1LHtAPMQa93DObYt2Cb0exSN0Ci7ungt6WEdZikCxHEV19bylQoLtnkrrqn9VP 1jYpKxEWh+XcdDQB5IdeJtFTYJXLvfgneqRM7CJXoywGS+/nGdhGt2V6veZ/nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748030612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ogF1/uNumgOgDPpKSmjF52jSx/C7maFKY7C5AZirUyw=; b=DsvQGw+cjHOv3awVwMNaOtb0OIBSsWLWKTZQtC7N2Ohj6YUECa/ko0zgGJ3e2Gw5kkljtG eKiOgjnrR/C/bkoSEdoTCLRZYidCI4wkfhXP6OpT/g361AZvBJgG+UFrRXEBDjBfUU1+kO +21M85VlS6HgJiJxSYct7KNMjLk91e3Gp1Io50aqY7nL0sDdcP34e7OWdPMBmCYjvTG2yu XqEA8TSX9+mEfzbq0CTALSCetz8PWr9QZlB9IG5SU2BsPMDUXvYrn1FszCS1FV9eKA+vso JS4813073CyXYTOExK8odCEluX8vTRQ06UF4Rtt7KFrNsFZRNBI52EEY1e31kA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748030612; a=rsa-sha256; cv=none; b=ldzYk2W5V8GqGIH11QP7zd/1qqijqwDRzue55iXvJXUFbkW9PthHmC4+UFIHOW0qvCeVVx MJWBSjK6cS60i0IYKZkLsYw0oBv1LnsdgJl9roZM0DMnTzIT/GVgV3+wmiYiffqKDBmYDy bg7LZbUtrKd8Pkc51px2zK+YesOoe5Nv0GQaynvelFntaOxSjc/lM3fHvp3q9T2rFEfGgK f6C/WxSiXSC6Y1156LOMXpp8C/rTwnPtfScgjzU91vHq+CcE2KUitzpSdSNqIRssze0A2L NLyNoWaILdfqmazzVa/gVltrBhfgbqrxDEI1AT2euUIApMkVpnx3WsRcUbidFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3x1J1Yrxz1Jrt; Fri, 23 May 2025 20:03:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NK3WuQ031519; Fri, 23 May 2025 20:03:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NK3WUN031516; Fri, 23 May 2025 20:03:32 GMT (envelope-from git) Date: Fri, 23 May 2025 20:03:32 GMT Message-Id: <202505232003.54NK3WUN031516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: da2dbdc297c9 - main - bridge: check allow_llz_overlap before member_ifaddrs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da2dbdc297c948d5923812e3d3b777b790d3bf43 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=da2dbdc297c948d5923812e3d3b777b790d3bf43 commit da2dbdc297c948d5923812e3d3b777b790d3bf43 Author: Lexi Winter AuthorDate: 2025-05-23 18:08:14 +0000 Commit: Lexi Winter CommitDate: 2025-05-23 18:08:14 +0000 bridge: check allow_llz_overlap before member_ifaddrs When adding a new interface to a bridge and allow_llz_overlap=0, which is the default value, if_bridge checks if the interface has IPv6 link local addresses assigned, and if it does, it calls in6_ifdetach() to remove all IPv6 addresses from the interface. This means it was possible to do this: % ifconfig bridge1 create inet6 -ifdisabled auto_linklocal up % ifconfig epair20 create inet6 -ifdisabled auto_linklocal up % ifconfig bridge1 addm epair20a ... with the result that the link-local address on epair20a would be removed, then the interface would be added to the bridge. If member_ifaddrs=0, which is also the default value, this no longer works: % ifconfig bridge1 addm epair20a ifconfig: BRDGADD epair20a: Invalid argument This is because the member_ifaddrs check runs before allow_llz_overlap does its thing, and returns EINVAL since the new interface has IP addresses on it. To restore the previous behaviour, reverse the order of these two checks, so the IPv6 addresses are removed before we check whether the interface has IPv6 addresses. MFC after: 1 week Reviewed by: kevans, kp Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D50477 --- sys/net/if_bridge.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 475977adf68a..9338d28437d0 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -1329,25 +1329,6 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) return (EINVAL); } - /* - * If member_ifaddrs is disabled, do not allow an interface with - * assigned IP addresses to be added to a bridge. - */ - if (!V_member_ifaddrs) { - struct ifaddr *ifa; - - CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { -#ifdef INET - if (ifa->ifa_addr->sa_family == AF_INET) - return (EINVAL); -#endif -#ifdef INET6 - if (ifa->ifa_addr->sa_family == AF_INET6) - return (EINVAL); -#endif - } - } - #ifdef INET6 /* * Two valid inet6 addresses with link-local scope must not be @@ -1386,6 +1367,26 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) } } #endif + + /* + * If member_ifaddrs is disabled, do not allow an interface with + * assigned IP addresses to be added to a bridge. + */ + if (!V_member_ifaddrs) { + struct ifaddr *ifa; + + CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { +#ifdef INET + if (ifa->ifa_addr->sa_family == AF_INET) + return (EINVAL); +#endif +#ifdef INET6 + if (ifa->ifa_addr->sa_family == AF_INET6) + return (EINVAL); +#endif + } + } + /* Allow the first Ethernet member to define the MTU */ if (CK_LIST_EMPTY(&sc->sc_iflist)) sc->sc_ifp->if_mtu = ifs->if_mtu; From nobody Fri May 23 21:50:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3zP84QY6z5wdZt; Fri, 23 May 2025 21:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3zP83LDCz3CST; Fri, 23 May 2025 21:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748037052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6knaCGSrnI6TYbJGYu9C0KGPBttwV82+tm1rvl38jSo=; b=DygYJGVV/rj3y2oDlmByh8jOGHniXhlgMF4TvgzhfM7rLr+ufkQBX01jVMV1GyWwpUJeWx BhfnDmFh2TDkSWIiixG4lg9vHvR6NCXnwy90iSB2TPEnbUx2m/IqZ+OOFJ95m/GghehvJH 3vxO6ByMPmsKS6mgsqZYqLseMP+Qi3lRW7BDu1ipDsR3OPfI2Ncosqb3OcTA385gzbne1H EkfcYNZBKOnw2TpU4Sn2+0jyPlOIXnANfXIl0zqktFgR1cSeHDyuRW+S0dleVXTmQ2zrMm Xd0exOj86mv6B/Y61ANXbZ2yBo7TmRvZxSp7nkaCZk63m9cJCBDgSX77nnBeJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748037052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6knaCGSrnI6TYbJGYu9C0KGPBttwV82+tm1rvl38jSo=; b=Scts7pxe/V6OHuDFPfSYdddGiOCbG45gNuAiqHekmeVEQ2vE8twwvpFpEX0Yyv6VnQyklb 5QqWBHLxiTu/Zm87XoocM26PJpuXFKWj1GPBzG2WqNVNzD8V+IvbOkSsIVwoPS7ixpq12q 5QO3iqoc9Qch9A4bbGadjsIU8qDnrH+8VdkianYOL07Xi3r82jQA8+75WTGNubez7NE4xp HHd2TBFj/r3+KculXu5WhJxEP68gdotPmVIYm+94Xf/bCghVxubEnYtbp63j35ARql2O6Y Su6oQT6WFMf1nTtOVLHATItlbhUxXiEun4bNJ3mVNqdZz3PUwNrqhwg3N0ebWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748037052; a=rsa-sha256; cv=none; b=p0T/4ZJ52PA04h8iD2vwAYNtb/beYFJX28VrLkh4Wgw2lppag1SBOp0nXIwHme85r2V8Th 7NbrmQjOfRGnPX+gt8mu2U5KpNBwe+1bl4v9cm5Oxz2j2eGYFmi9PMAR2NAESbXjuioiit 6Nctj3iXik/C3BHqaphnPDDVADnOvlrp5hNaLnbG9v7clTMy0N6UQEN4dQKdLHZkh2hNuQ k70w1mZz/PjflmA9AhH7LcPQMNQMuAQa4OlwLjdq3axtZfw6dXT0uUjLJGM5yxJK0YwHZe jFcVPGuKX+Ya1kCBnyFr/IGTdoimy5Jdu7bTjoTE67D7jOHIfpMyaI1Pko75LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3zP82x3Rz1MY8; Fri, 23 May 2025 21:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NLoqE7031147; Fri, 23 May 2025 21:50:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NLoq4m031144; Fri, 23 May 2025 21:50:52 GMT (envelope-from git) Date: Fri, 23 May 2025 21:50:52 GMT Message-Id: <202505232150.54NLoq4m031144@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 26064d3e7463 - main - Makefile.inc1: Remove unused non-NO_ROOT support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26064d3e74639fbaa5b2b1cef7ea9c344db4caeb Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=26064d3e74639fbaa5b2b1cef7ea9c344db4caeb commit 26064d3e74639fbaa5b2b1cef7ea9c344db4caeb Author: Ed Maste AuthorDate: 2025-05-15 13:36:48 +0000 Commit: Ed Maste CommitDate: 2025-05-23 21:50:38 +0000 Makefile.inc1: Remove unused non-NO_ROOT support As of commit 41adc5f29ba6 ("release: Always use NO_ROOT for distribute* and package*") this packagekernel code path is never used, so remove it. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50361 --- Makefile.inc1 | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index ebba0ccd9f5e..60010da6ad50 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1938,7 +1938,6 @@ distributekernel distributekernel.debug: .PHONY .endif packagekernel: .PHONY -.if defined(NO_ROOT) .if !defined(NO_INSTALLKERNEL) cd ${DESTDIR}/${DISTDIR}/kernel; \ ${TAR_CMD} cvf - --exclude '*.debug' \ @@ -1965,30 +1964,6 @@ packagekernel: .PHONY .endif .endfor .endif -.else -.if !defined(NO_INSTALLKERNEL) - cd ${DESTDIR}/${DISTDIR}/kernel; \ - ${TAR_CMD} cvf - --exclude '*.debug' . | \ - ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz -.endif -.if ${MK_DEBUG_FILES} != "no" - cd ${DESTDIR}/${DISTDIR}/kernel; \ - ${TAR_CMD} cvf - --include '*/*/*.debug' $$(eval find .) | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz -.endif -.if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes" -.for _kernel in ${BUILDKERNELS:[2..-1]} - cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - ${TAR_CMD} cvf - --exclude '*.debug' . | \ - ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz -.if ${MK_DEBUG_FILES} != "no" - cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - ${TAR_CMD} cvf - --include '*/*/*.debug' $$(eval find .) | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz -.endif -.endfor -.endif -.endif stagekernel: .PHONY ${_+_}${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} DISTDIR=. distributekernel From nobody Fri May 23 21:59:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b3zbP4Dgsz5wdts; Fri, 23 May 2025 21:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b3zbP0sQnz3Js0; Fri, 23 May 2025 21:59:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748037585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d74ojpSJ2X4SIKRs8c0UNfG6ouecaqZzQSrfNT0ThDU=; b=yBTA4l1b+3YWW/JmjDMngmTnJcBdckfxbB1w0xrdTYMAhValtKM3Vo2I3FOKpVZlgj9ZKW FvL+RcLmm0jtHW8ArJk9m3IWRSUZ2lo7UqrCI0Fjg/rtBvjnPyyK8m8CmmGnBH1AmSpBpE 14juIh+mRVuPYOa7MGa/1aJmytfEq1Sc8wpMXVryxiaqz9IzO89i1FKJi645TEmvsuPHqD tu2ngLcbE/idsF1Erct2BwA33T6O3kiU1myAA8lCBd7MAYfqe/3fcPsMF0XJS1z9Jzy3OB BvYIF6WUKfOqU0PmZ6X5d2o/jJRWgT9NO1O01thUNg6VXActqfEc1ji7rh4o4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748037585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d74ojpSJ2X4SIKRs8c0UNfG6ouecaqZzQSrfNT0ThDU=; b=NjDR3qtZrEeXjEobBoBVpztZDCYidWx0hZLAoPfaGa4WbZwPh42ki5mAkYQda1JAr+cztz fmmxwRztjeHAA8H5L5uEjmV+qnkSkvV7JdTFr4o/e/C6dTCep4FIjHgDEgAjJV1JHWDJ9B x9o/+bGX3V8RcbBZhUO1nbb4YEnMyUfOUUeomYBuowprn5Ks3PNrbZLP/M5+OUyvu0JAFT UBQl/sPLj3L6tFlZ9qJVhWNvueKgW5dBLS4+mqyoy+eIzl1CIHHX3mYGxmreyGD6Dx5fDb bpjQATEza15PR6wYhRDwKipx9kzUuo5LRxy9ysGiosV9jQDA6LFF7LMgJ+oyoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748037585; a=rsa-sha256; cv=none; b=uWj4YwMywoNfLG/yzNwJHXT9EHgSDsg7gbmoqLj85uxLH2vF0WJMDwe0h7vezoGbjGTbhl bKUoCOypAvzmytdY+/d5dAUUlr0XOusIovVPuM3R0Vq9s6enfizlsQ+xIARyOenlS8Vp7f +dOX5Wv+AYvB/hEkidTANvk80Fi1yij7zX2iAdS4TzLHJFdOE9Kc6+wYWakHWrMuJ1FLbG lXLxfe2dPrIdtm0dv+3KDbqLQq/iaUP5chxW+YJgQ4F6eCe8wSi+DQGO76t3XOtE4+f1rJ IJZBUtSdQN3UPzvBGywE/EwjYNXmD/9NThisTbhP5uEiQeJz4BAzTqdKAFflBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b3zbP05Ncz1Mng; Fri, 23 May 2025 21:59:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NLximQ039543; Fri, 23 May 2025 21:59:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NLxi2X039540; Fri, 23 May 2025 21:59:44 GMT (envelope-from git) Date: Fri, 23 May 2025 21:59:44 GMT Message-Id: <202505232159.54NLxi2X039540@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 9a79f1b8c342 - main - Remove vestiges of keyserv(8) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a79f1b8c342730653030c1df177b24a144c53b7 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=9a79f1b8c342730653030c1df177b24a144c53b7 commit 9a79f1b8c342730653030c1df177b24a144c53b7 Author: Lexi Winter AuthorDate: 2025-05-23 21:58:28 +0000 Commit: Lexi Winter CommitDate: 2025-05-23 21:59:33 +0000 Remove vestiges of keyserv(8) This daemon has been removed; also remove things which reference it. Reviewed by: manu, des, emaste Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50441 --- lib/libc/rpc/rpc_secure.3 | 3 +-- libexec/rc/rc.conf | 2 -- share/man/man5/rc.conf.5 | 18 +----------------- targets/pseudo/userland/Makefile.depend | 1 - 4 files changed, 2 insertions(+), 22 deletions(-) diff --git a/lib/libc/rpc/rpc_secure.3 b/lib/libc/rpc/rpc_secure.3 index 11b871b5c99d..ce59bba7115f 100644 --- a/lib/libc/rpc/rpc_secure.3 +++ b/lib/libc/rpc/rpc_secure.3 @@ -266,8 +266,7 @@ Inverse of .Fn netname2user . .Sh SEE ALSO .Xr rpc 3 , -.Xr xdr 3 , -.Xr keyserv 8 +.Xr xdr 3 .Pp The following manuals: .Rs diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index cfb4fa09b1c1..f88bd3919f8b 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -396,8 +396,6 @@ rpcbind_enable="NO" # Run the portmapper service (YES/NO). rpcbind_program="/usr/sbin/rpcbind" # path to rpcbind, if you want a different one. rpcbind_flags="" # Flags to rpcbind (if enabled). rpc_ypupdated_enable="NO" # Run if NIS master and SecureRPC (or NO). -keyserv_enable="NO" # Run the SecureRPC keyserver (or NO). -keyserv_flags="" # Flags to keyserv (if enabled). nfsv4_server_enable="NO" # Enable support for NFSv4 nfsv4_server_only="NO" # Set NFS server to NFSv4 only nfscbd_enable="NO" # NFSv4 client side callback daemon diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 4b15db07a129..2fd63e4f743d 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 11, 2025 +.Dd May 21, 2025 .Dt RC.CONF 5 .Os .Sh NAME @@ -2713,22 +2713,6 @@ is set to these are the flags to pass to the .Xr rpcbind 8 daemon. -.It Va keyserv_enable -.Pq Vt bool -If set to -.Dq Li YES , -run the -.Xr keyserv 8 -daemon on boot for running Secure RPC. -.It Va keyserv_flags -.Pq Vt str -If -.Va keyserv_enable -is set to -.Dq Li YES , -these are the flags to pass to -.Xr keyserv 8 -daemon. .It Va pppoed_enable .Pq Vt bool If set to diff --git a/targets/pseudo/userland/Makefile.depend b/targets/pseudo/userland/Makefile.depend index 080dcf46eb1f..5f72461ab12e 100644 --- a/targets/pseudo/userland/Makefile.depend +++ b/targets/pseudo/userland/Makefile.depend @@ -566,7 +566,6 @@ DIRDEPS+= \ usr.sbin/jls \ usr.sbin/kbdcontrol \ usr.sbin/kbdmap \ - usr.sbin/keyserv \ usr.sbin/kldxref \ usr.sbin/lastlogin \ usr.sbin/lmcconfig \ From nobody Fri May 23 22:52:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b40mf6FF1z5whLx; Fri, 23 May 2025 22:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b40mf5LNjz3ssw; Fri, 23 May 2025 22:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IA8e1PcoElAy27jc+TTul5I7zSDeCFJniDdJ6sAFHqw=; b=YcH8fsDc51bF3pEGATUNGj1bZNDyA2Hf5by/9WKkxzYv3bUr3LjGN6whk2x/ri8S9Z9csk Ydc3GkQUCMIJrpIfo3GVxvse3S3IrQ+IWnsS/mQoRCUHlyYdU46Dg9nabbTHDbyONdJe7A NXMawY7z097iovLnCQuRtcYtg019qE/of0eKjhkXU+ZVvOYHEIU7rmXxdyqY0+05xaHJBD 9cfL5ZXrrctjoC+2vS8suadqSClamDu1ButVFnEnxFZ9CTSYlJ+1dkZlHEMLOR9OXCLVh1 bWfdPVZzb/Q5mQmUPf5rwflXRoV2qmxvHB8Hj+ohG6FZsPqesTrnFGLL/B6KKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IA8e1PcoElAy27jc+TTul5I7zSDeCFJniDdJ6sAFHqw=; b=sx4q9uox4o2GjLGznOSwcFhFjL2+WNLPQaV6tcon+xaL+HmSlxRLcVSsX/pbTqmrhoOJ+0 4MeuOApsMlyxMCtSOl6fIX+cLVN4Cunj+2UKjc+I4x2yNhnKrehjhkP10jUG2Lb60RPkAC SSmq/wVKccCVYcZ3wnrFWocpQPqD/5N/pdbVDyw8dFVBjtjpJPJ2w7JEaDrAYeI0ripHyz HS6umxU8BpSPOAMLlJEaAegEWrgBDiwE1cX4/kQC2gV39NhR4gfBeEIScqy5FaYK7uYnCn K9SYgEadxANH/IaPFjXt785gJG8efVBdHBFLDO8zC25wS/9d2hjTUYRsByVjKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748040770; a=rsa-sha256; cv=none; b=ci3I8KwSjciTeoGxYZ1PC/eoaG+GTEJW40DFBf73Nwb0yNuwhOZtP7o92lPt7yyrjRNFVu tXx6XmW9XChi+rrhNnUkfr7WsTApmefPjDv+cPk3fBV8nxlEkY3yVz0NJIUdoHWtb5Gsvs Rfo3ncy46vvDrcnSG4xEA3krYYyVs/j+mLL9ptGbm/5T0C4wyIgHLw7/TH5Xsj446aeY4j vKw9AHUyRb3EXblgEKQkQ0Sc0x3xHbnWjolKWlY14osgHmda1pCyJH/PN0q7prbDQBt3uU Reggk2bdLltVIPmytUsES+ZMREhKlkWDFtfouwd9QkaeYIu7fgnaTKdABpkunA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b40mf4rpmz1NxC; Fri, 23 May 2025 22:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NMqoI3050656; Fri, 23 May 2025 22:52:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NMqoI9050653; Fri, 23 May 2025 22:52:50 GMT (envelope-from git) Date: Fri, 23 May 2025 22:52:50 GMT Message-Id: <202505232252.54NMqoI9050653@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 0b52d6c6cc4a - main - unix/stream: factor out uipc_wakeup() from pr_soreceive method List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b52d6c6cc4a0b3c6e04d114c57df2b1c1e098ae Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0b52d6c6cc4a0b3c6e04d114c57df2b1c1e098ae commit 0b52d6c6cc4a0b3c6e04d114c57df2b1c1e098ae Author: Gleb Smirnoff AuthorDate: 2025-05-23 20:19:09 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-23 22:04:38 +0000 unix/stream: factor out uipc_wakeup() from pr_soreceive method It is also needed for shutdown(2). No functional change. --- sys/kern/uipc_usrreq.c | 62 +++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 3181868175a8..a855c47d2e5a 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1304,6 +1304,43 @@ out: return (error); } +/* + * Our version of sowakeup(), used by recv(2) and shutdown(2). + * + * @param so Points to a connected stream socket with receive buffer locked + * + * In a blocking mode peer is sleeping on our receive buffer, and we need just + * wakeup(9) on it. But to wake up various event engines, we need to reach + * over to peer's selinfo. This can be safely done as the socket buffer + * receive lock is protecting us from the peer going away. + */ +static void +uipc_wakeup(struct socket *so) +{ + struct sockbuf *sb = &so->so_rcv; + struct selinfo *sel; + + SOCK_RECVBUF_LOCK_ASSERT(so); + MPASS(sb->uxst_peer != NULL); + + sel = &sb->uxst_peer->so_wrsel; + + if (sb->uxst_flags & UXST_PEER_SEL) { + selwakeuppri(sel, PSOCK); + /* + * XXXGL: sowakeup() does SEL_WAITING() without locks. + */ + if (!SEL_WAITING(sel)) + sb->uxst_flags &= ~UXST_PEER_SEL; + } + if (sb->sb_flags & SB_WAIT) { + sb->sb_flags &= ~SB_WAIT; + wakeup(&sb->sb_acc); + } + KNOTE_LOCKED(&sel->si_note, 0); + SOCK_RECVBUF_UNLOCK(so); +} + static int uipc_soreceive_stream_or_seqpacket(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) @@ -1448,35 +1485,14 @@ restart: MPASS(sb->sb_mbcnt >= mbcnt); sb->sb_mbcnt -= mbcnt; UIPC_STREAM_SBCHECK(sb); - /* - * In a blocking mode peer is sleeping on our receive buffer, - * and we need just wakeup(9) on it. But to wake up various - * event engines, we need to reach over to peer's selinfo. - * This can be safely done as the socket buffer receive lock - * is protecting us from the peer going away. - */ if (__predict_true(sb->uxst_peer != NULL)) { - struct selinfo *sel = &sb->uxst_peer->so_wrsel; struct unpcb *unp2; bool aio; if ((aio = sb->uxst_flags & UXST_PEER_AIO)) sb->uxst_flags &= ~UXST_PEER_AIO; - if (sb->uxst_flags & UXST_PEER_SEL) { - selwakeuppri(sel, PSOCK); - /* - * XXXGL: sowakeup() does SEL_WAITING() without - * locks. - */ - if (!SEL_WAITING(sel)) - sb->uxst_flags &= ~UXST_PEER_SEL; - } - if (sb->sb_flags & SB_WAIT) { - sb->sb_flags &= ~SB_WAIT; - wakeup(&sb->sb_acc); - } - KNOTE_LOCKED(&sel->si_note, 0); - SOCK_RECVBUF_UNLOCK(so); + + uipc_wakeup(so); /* * XXXGL: need to go through uipc_lock_peer() after * the receive buffer lock dropped, it was protecting From nobody Fri May 23 22:52:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b40mh0l4Nz5whkp; Fri, 23 May 2025 22:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b40mg6CXFz3tBs; Fri, 23 May 2025 22:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o4fD5/iE5Op1CpTPwI989fOzIfw3QD+bHyAnDLGrCOc=; b=Gy4lajzQSUdTXPTS8VOD3v4Z35BKSfTzZ5vwo3Ulk+e+v5waXikPSTgxGTUUZ2gVVwG4lZ yunL5KFILi2qF0K6vD5dpA8kP2ecPgI1x0/5ndzpvYhtTtFHOXn6YdpJ87AJbyZH8ojcAQ YXygQWRWZ1uI8wys326Cxzw12DDttx+NQNT0MoiDezN36l2A48/oVfbsIAqcR85JbULwKB CG69Dyb1mSg3CbWrk4JpW8PZFT4jB/AbzXjaBZjF7L1H+6mfYo1S1pT0oki7I3hpOvtmuF oUXfflkx6MPhRs3LT/zQJafI4TaQwNVKRyjpUoosHpefRm66V5maOeQ6rN7whA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o4fD5/iE5Op1CpTPwI989fOzIfw3QD+bHyAnDLGrCOc=; b=CToX19xRCRg78MLwb2eA6Xc8ajwToOYHzfxLWhkph0E3rcO5yLYSgEC4B82eRMzX6rjZWR 57mUztdJpQo9gQ1EqgCtnwYmNvD7Vb5UEMDO6lHvxNnRpozkBaTAvvblAEiJvx5rRRaao8 ZEWZhiIVWodMkE+AXvlomDh3PTZQnEMkDK3+3BOCPUquvE0l2WR9tupwvny9v6tGYurCTP yi6S6rraKqFEKY0MObkV1tlMTMntIWaMN7QWEgHeAexF3TGuNtQqWabgeU1L4GL2Vpgeu2 cMK7zoWfnM6dlOdZQz9Kkee0FUngxVOWCA2+A90eWMnFiOaZi+uiEZ6x6zLu+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748040771; a=rsa-sha256; cv=none; b=gHBb2N34emUoy9LzBQPQDzgge7Eb9wlJ3ctrHZ8E0cCG07Vt1LSjAqK/kGVWJNGxNp2aou UePQ7s5A7HYxiVmnwCqzONyF4CyVCmeitqvD+HxrZKqdPvenegvBCzAuorM/Z9suHztOMp Re8gj/g9ouJldaLAhFPDp+E8gwDFryJ4mWckcJraC00BbJSEd9KQU7PsE6dLsV92dkbC6n xqBtw68pVqUgyAX8jomk3G8i64iRBH0U+EudVLPLnE0Hkl30ZhvEQZKhjO54g5Qg8HQirW XLavGaoFXjYstS4PJWqVyeB1uL6NI3vL54UReNSEWZOUT5eBp3YXs/SvSHVuEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b40mg5pDxz1Ntb; Fri, 23 May 2025 22:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NMqpoC050692; Fri, 23 May 2025 22:52:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NMqp9f050688; Fri, 23 May 2025 22:52:51 GMT (envelope-from git) Date: Fri, 23 May 2025 22:52:51 GMT Message-Id: <202505232252.54NMqp9f050688@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c44d6f43a68f - main - unix/stream: provide uipc_cantrcvmore() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c44d6f43a68f6bb39b92df85c5ba90a9b0feee15 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c44d6f43a68f6bb39b92df85c5ba90a9b0feee15 commit c44d6f43a68f6bb39b92df85c5ba90a9b0feee15 Author: Gleb Smirnoff AuthorDate: 2025-05-12 18:12:09 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-23 22:04:38 +0000 unix/stream: provide uipc_cantrcvmore() and use it the pr_shutdown method. While unix/dgram can still use generic socket socantrcvmore(), the stream versions need a specific one. This fixes a panic reported by syzkaller. While here inline unp_shutdown() into uipc_shutdown(). Reported-by: syzbot+86c18f0886f70a3509c6@syzkaller.appspotmail.com --- sys/kern/uipc_usrreq.c | 52 +++++++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index a855c47d2e5a..0f730cf9424b 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -299,7 +299,6 @@ static int unp_connectat(int, struct socket *, struct sockaddr *, static void unp_connect2(struct socket *, struct socket *, bool); static void unp_disconnect(struct unpcb *unp, struct unpcb *unp2); static void unp_dispose(struct socket *so); -static void unp_shutdown(struct unpcb *); static void unp_drop(struct unpcb *); static void unp_gc(__unused void *, int); static void unp_scan(struct mbuf *, void (*)(struct filedescent **, int)); @@ -1341,6 +1340,18 @@ uipc_wakeup(struct socket *so) SOCK_RECVBUF_UNLOCK(so); } +static void +uipc_cantrcvmore(struct socket *so) +{ + + SOCK_RECVBUF_LOCK(so); + so->so_rcv.sb_state |= SBS_CANTRCVMORE; + if (so->so_rcv.uxst_peer != NULL) + uipc_wakeup(so); + else + SOCK_RECVBUF_UNLOCK(so); +} + static int uipc_soreceive_stream_or_seqpacket(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) @@ -2646,18 +2657,28 @@ uipc_shutdown(struct socket *so, enum shutdown_how how) switch (how) { case SHUT_RD: - socantrcvmore(so); + if (so->so_type == SOCK_DGRAM) + socantrcvmore(so); + else + uipc_cantrcvmore(so); unp_dispose(so); break; case SHUT_RDWR: - socantrcvmore(so); + if (so->so_type == SOCK_DGRAM) + socantrcvmore(so); + else + uipc_cantrcvmore(so); unp_dispose(so); /* FALLTHROUGH */ case SHUT_WR: - UNP_PCB_LOCK(unp); - socantsendmore(so); - unp_shutdown(unp); - UNP_PCB_UNLOCK(unp); + if (so->so_type == SOCK_DGRAM) { + socantsendmore(so); + } else { + UNP_PCB_LOCK(unp); + if (unp->unp_conn != NULL) + uipc_cantrcvmore(unp->unp_conn->unp_socket); + UNP_PCB_UNLOCK(unp); + } } wakeup(&so->so_timeo); @@ -3380,23 +3401,6 @@ SYSCTL_PROC(_net_local_seqpacket, OID_AUTO, pcblist, (void *)(intptr_t)SOCK_SEQPACKET, 0, unp_pcblist, "S,xunpcb", "List of active local seqpacket sockets"); -static void -unp_shutdown(struct unpcb *unp) -{ - struct unpcb *unp2; - struct socket *so; - - UNP_PCB_LOCK_ASSERT(unp); - - unp2 = unp->unp_conn; - if ((unp->unp_socket->so_type == SOCK_STREAM || - (unp->unp_socket->so_type == SOCK_SEQPACKET)) && unp2 != NULL) { - so = unp2->unp_socket; - if (so != NULL) - socantrcvmore(so); - } -} - static void unp_drop(struct unpcb *unp) { From nobody Fri May 23 22:52:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b40mj3vL9z5whxC; Fri, 23 May 2025 22:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b40mj0Pc0z3svm; Fri, 23 May 2025 22:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qCNeiO25FW9X3NL6BT20cm6h7bSnHORaIWJeUw48veM=; b=q5ZNRqhmJl0HwkuFVekiJ/B6c2MvjeKlPKzjdQDEMdEjXIjpnUf/4ao0BHwSLi0wpxWPyk T88RnUABTXvhLQcTpc+7qRPA5EyqnEtT7sYaWtK7UrLanOn9yMHEQB5MiLtCakvWq18Ec7 SQz7iMDIwQK3rG2D6/29kF3KQKf8g1BJnF3jOsSeSwedDobDh6JDKC1bm3A21Kx2wxdvSS GkK+a1dd7UCXNQYskPhepu21V4fWVBoIQDu/kWakVBdpsW+a6KaPRnVBVJ4NAiHtv+AiiG WSIRDPV7LGDG29QPq25m44p1nj/q5SaMsSDQU+q8gh9ww5VWyFoiDhQrWVEkMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qCNeiO25FW9X3NL6BT20cm6h7bSnHORaIWJeUw48veM=; b=xEgk3IezVepBiKiPK9O1wN/MjiLSpWFIbmgZwZ0s7hTADyGz9SSvGJ6V1X2HRIhQz9VN/Q 4bbMf0GEZ1t4CfZ/3GdloEBiI1p/ebjcxB1ceIz7FWaIo03qowFr4cIhAP9EBghSmeiXoX ULedbLnjd4bAzgWXgmE3POAMYxuhSZzETYnF5Fl04lbmHlZ/WFkNsr07kpwrP+68h0kZKw qh/qox+xoZSYBTsPEm07FBmKbjkZuvBnGuecYy4qkkUXt61XGboPrpOVdHtirhbQkzRYNx BLr256hwNdbZquyW8B50kop5eOVRbZH/a+onwm4AbZn5fik+eCgQo2SAn8nG9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748040773; a=rsa-sha256; cv=none; b=WghNRfPlS4Ay3PSACs3VtZBpHZhePgAJlfq7dePmA2XkfeEuwwt8mFDS60ECWqr0CKlm2U 0c1KGU1E2DZai9FRJ+d6+gGIYfgoZYqqOGYiZElmykpP/vptF+RR4X4tbOsmmDVna4mD/u VFj4iq72Npo90zC9ip42RM5UFZvJb8EhuryPyBmS4vKybRFYkAUd0WNnIMghZyfbCQEZtA YkJupy+823SxIv8Tcd/VA8xrJDqmDddtu61jfXciqYicEJaAuiN02mutl5AMdoLYdFf+YR kc2aUt8YTMTNZArWWETeTn2GlOOy6VnwGcYc+6z+vCgKrXCgBWVzPN/Qg55edQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b40mh6lCmz1NrH; Fri, 23 May 2025 22:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NMqqKG050732; Fri, 23 May 2025 22:52:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NMqqMP050729; Fri, 23 May 2025 22:52:52 GMT (envelope-from git) Date: Fri, 23 May 2025 22:52:52 GMT Message-Id: <202505232252.54NMqqMP050729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 46c644620117 - main - tests/unix_seqpacket: add couple tests for shutdown(2) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46c64462011716213f15c20b1c027cd85cb8bd14 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=46c64462011716213f15c20b1c027cd85cb8bd14 commit 46c64462011716213f15c20b1c027cd85cb8bd14 Author: Gleb Smirnoff AuthorDate: 2025-05-12 16:32:23 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-23 22:04:38 +0000 tests/unix_seqpacket: add couple tests for shutdown(2) - A test against recent syzkaller discovery. - A test that remote peer shutdown(2) will unblock our recv(2) --- tests/sys/kern/unix_seqpacket_test.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/sys/kern/unix_seqpacket_test.c b/tests/sys/kern/unix_seqpacket_test.c index 058c931163a1..b9a6be015241 100644 --- a/tests/sys/kern/unix_seqpacket_test.c +++ b/tests/sys/kern/unix_seqpacket_test.c @@ -894,6 +894,38 @@ ATF_TC_BODY(shutdown_send_sigpipe, tc) close(s2); } +/* + * https://syzkaller.appspot.com/bug?id=ac94349a29f2efc40e9274239e4ca9b2c473a4e7 + */ +ATF_TC_WITHOUT_HEAD(shutdown_o_async); +ATF_TC_BODY(shutdown_o_async, tc) +{ + int sv[2]; + + do_socketpair(sv); + + ATF_CHECK_EQ(0, fcntl(sv[0], F_SETFL, O_ASYNC)); + ATF_CHECK_EQ(0, shutdown(sv[0], SHUT_WR)); + close(sv[0]); + close(sv[1]); +} + +/* + * If peer had done SHUT_WR on their side, our recv(2) shouldn't block. + */ +ATF_TC_WITHOUT_HEAD(shutdown_recv); +ATF_TC_BODY(shutdown_recv, tc) +{ + char buf[10]; + int sv[2]; + + do_socketpair(sv); + ATF_CHECK_EQ(0, shutdown(sv[0], SHUT_WR)); + ATF_CHECK_EQ(0, recv(sv[1], buf, sizeof(buf), 0)); + close(sv[0]); + close(sv[1]); +} + /* nonblocking send(2) and recv(2) a single short record */ ATF_TC_WITHOUT_HEAD(send_recv_nonblocking); ATF_TC_BODY(send_recv_nonblocking, tc) @@ -1310,6 +1342,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, implied_connect); ATF_TP_ADD_TC(tp, shutdown_send); ATF_TP_ADD_TC(tp, shutdown_send_sigpipe); + ATF_TP_ADD_TC(tp, shutdown_o_async); + ATF_TP_ADD_TC(tp, shutdown_recv); ATF_TP_ADD_TC(tp, eagain_8k_8k); ATF_TP_ADD_TC(tp, eagain_8k_128k); ATF_TP_ADD_TC(tp, eagain_128k_8k); From nobody Fri May 23 22:52:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b40mk3jrlz5wj3y; Fri, 23 May 2025 22:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b40mk1NvFz3st8; Fri, 23 May 2025 22:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tvKaEuYP+xQYwm/b9WdZi3/hrvaF5cP1XGp5CKgaCUo=; b=Aq4/RLE6L0pdMursVUwnVeXXAyvnVhrQwQhxJ55DPPMKv1HcSXJuH9DgtVc/NTSkW8ZI3B PFpHB7IZDJxKV8vbuU4d5KJAgSYXN9XF7krHw8Xw3YDwUvexSe//wPTcI5dOFBoTDuYTDm qCWhU/r0sWZvYi5S3pxTVSlHO4Kn9U6XuZNWoq6MZVctIuUbz1Gv7/LcNZVVkKSpFcxBfG x0UV/OhE461RxqUJCo8rwm4lzxgILrs+doqWFYQJhokQMtlkPBdRxZ21g1/e3YP5/QylkK uAgpSn24gKs5tSSMGafVN7/+ZSYm8VuSRhZYopcRyDwuSHtvO1NX/o+JvKVhdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748040774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tvKaEuYP+xQYwm/b9WdZi3/hrvaF5cP1XGp5CKgaCUo=; b=CyfzIZNkXZPL9Z3wSgci+vgkNiMBnc4NisxPVUdWMFvvbNgtCoYh6sQG38qX5qOZy96Oc1 z/WCcF+OgD9+L/8bMd3TRvVOMHeQJ4JJSiq0aJJuk9tmlWTEiRQHZhB8AQ136z+vg3D1x4 FYluKdYKmhmd3sp836NpcbOoZySB2xsAMtWk2GbpB6XUKf83H5AKUyAMQGOEa1rqbdvIIo 2e0NN77L5MT8oEzrEsMfln0zKSbmkmM84k4NmJ5PSgHoWVDGipjVFWM8HLis+g9KoIH4wM /wNIerpjmkeiqMLF44qya1gFUbFdvfOgNqxz0w9+emMkM1kLV4TsOh402uUS5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748040774; a=rsa-sha256; cv=none; b=RvL4H01zE8P2FkYj9+TiapgaYpjItooEb1tTvgEE8dewCXS3Jywb3iVc7bwiQzEa5hMta6 2mUOMg7jM3sHcA3NCdpbLMfihsGat7CG6/f6BHwrLvxLbawDxeGwDB2r6UxTzNH3zbM2yj UP0UngHHi/dp/MpQhlSQFhQZVpZjS1+1c0cYuDzbMuar4GGsQFXbPiNQ8FOBCXw/kZlm8e 9wAyOE1wdvyrxthp+ykmDzFbv3h/10P+DSHmoAsPr3kgol33kiv0sbQlioF9h6T+HxzYjG alML00dtJ84hs9WjEpOT5OXZPUqFAc+NgjpuKvNwwnvDUtcy6qngrmI05G9wxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b40mk0ZK7z1Ntc; Fri, 23 May 2025 22:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NMqrlW050767; Fri, 23 May 2025 22:52:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NMqrsN050764; Fri, 23 May 2025 22:52:53 GMT (envelope-from git) Date: Fri, 23 May 2025 22:52:53 GMT Message-Id: <202505232252.54NMqrsN050764@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 51ac5ee0d57f - main - unix/stream: refactor sendfile(2) logic to work without M_BLOCKER flag List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51ac5ee0d57f178882af4b40d36089e2069704e4 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=51ac5ee0d57f178882af4b40d36089e2069704e4 commit 51ac5ee0d57f178882af4b40d36089e2069704e4 Author: Gleb Smirnoff AuthorDate: 2025-05-23 21:55:56 +0000 Commit: Gleb Smirnoff CommitDate: 2025-05-23 22:04:39 +0000 unix/stream: refactor sendfile(2) logic to work without M_BLOCKER flag This flag was initially an INVARIANT thing back in 2014, but we got stuck with it until today. A bug with sendfile(2) headers/trailers fixed as a side effect of refactoring. --- sys/kern/uipc_usrreq.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 0f730cf9424b..5b1b8443f8e6 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1008,10 +1008,10 @@ uipc_stream_sbcheck(struct sockbuf *sb) dacc = dccc = dctl = dmbcnt = 0; STAILQ_FOREACH(d, &sb->uxst_mbq, m_stailq) { - if (d == sb->uxst_fnrdy) + if (d == sb->uxst_fnrdy) { + MPASS(d->m_flags & M_NOTREADY); notready = true; - if (notready) - MPASS(d->m_flags & (M_NOTREADY|M_BLOCKED)); + } if (d->m_type == MT_CONTROL) dctl += d->m_len; else if (d->m_type == MT_DATA) { @@ -2471,15 +2471,21 @@ uipc_sendfile(struct socket *so, int flags, struct mbuf *m, sb->sb_mbcnt += mc.mc_mlen; if (sb->uxst_fnrdy == NULL) { if (notready) { - sb->uxst_fnrdy = STAILQ_FIRST(&mc.mc_q); wakeup = false; + STAILQ_FOREACH(m, &mc.mc_q, m_stailq) { + if (m->m_flags & M_NOTREADY) { + sb->uxst_fnrdy = m; + break; + } else { + sb->sb_acc += m->m_len; + wakeup = true; + } + } } else { - sb->sb_acc += mc.mc_len; wakeup = true; + sb->sb_acc += mc.mc_len; } } else { - STAILQ_FOREACH(m, &mc.mc_q, m_stailq) - m->m_flags |= M_BLOCKED; wakeup = false; } STAILQ_CONCAT(&sb->uxst_mbq, &mc.mc_q); @@ -2504,24 +2510,22 @@ out: static int uipc_sbready(struct sockbuf *sb, struct mbuf *m, int count) { - u_int blocker; + bool blocker; /* assert locked */ - blocker = (sb->uxst_fnrdy == m) ? M_BLOCKED : 0; + blocker = (sb->uxst_fnrdy == m); STAILQ_FOREACH_FROM(m, &sb->uxst_mbq, m_stailq) { if (count > 0) { MPASS(m->m_flags & M_NOTREADY); - m->m_flags &= ~(M_NOTREADY | blocker); + m->m_flags &= ~M_NOTREADY; if (blocker) sb->sb_acc += m->m_len; count--; - } else if (blocker && !(m->m_flags & M_NOTREADY)) { - MPASS(m->m_flags & M_BLOCKED); - m->m_flags &= ~M_BLOCKED; - sb->sb_acc += m->m_len; - } else + } else if (m->m_flags & M_NOTREADY) break; + else if (blocker) + sb->sb_acc += m->m_len; } if (blocker) { sb->uxst_fnrdy = m; From nobody Fri May 23 23:48:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420n6J1Yz5wmhr; Fri, 23 May 2025 23:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420n5c1pz41GP; Fri, 23 May 2025 23:48:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4i0m+ryU54JXcBdPsZShm0Xm8Ukz7mj1mJ6/s1RaK3o=; b=F4xwntiYL1bN7jhGdgC6ARSsNnT05j8GSs3SUR0k4UYMZ6cHVRbjcjCP0DWx08JhrURFlk oOPW/Gt3v01PmlO2OZRMj/9VjU/DiEFZqKilfijSQo/ryGX/qv6u14UyZL0gx4niA/pBxK YeIez6GhNGNXa2ax1Ay3gYW61UehXzCOywPdQvBHwP4pTorAWOASqee2EIt8qi4KKt7Ajj QK5/2EKk0jtYSSZtrPz31ovo7QXQCvbgeicHZ8F/M3bNf5pL8Me6ILXG/vVFrAxP3bs4pL dB+zD/8nt+ctvBrYOEvksF84Ia/b8rQkIJM6lny2/3tZj+fE86eOwesyHEYhNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4i0m+ryU54JXcBdPsZShm0Xm8Ukz7mj1mJ6/s1RaK3o=; b=N6ix4bK8txni4n5EcVtIUULlrMkFOTwKh2Omm/TQUxUObRczB6O707FfKH8maZ07y87PlW UNSI3Cd2BJpKs7yeVQDfmtxzzkXGU5xyjk20eRx+IPNfDNNTIEwsvURKrPPclX49F5i6Q1 PMin3G5cTDwjy8ER3CXl+iKhfsMTLXwrZ9xrFfLyJieymib94+OIDf4CxJMzKZ2povf6R/ OjAWMMlmbmjPy0gwj89rjt0A8aqFwic/mTr+jhqiObhhvJWUssoo0aBmyy8IVomQstsz8b ElQPO20ahCAh/6UzpfOJvnFXGH+9Wnq9GC/yOrIgNwOLTvU+MvQpa/jvSHMW1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044105; a=rsa-sha256; cv=none; b=wbUc/icOkyAhGcxWRqLhJV1dpYtP4Cv+Zd2MWCLSUkQipjYJOQry1b2qz8ddrEv2nEPaiP 6kLSCaJfIFyo+T1lKZIZxA1iqqKaH2Z4P/Yu5GLN2LxYPHfVc+qdqk3wiqcpvXOZpEoiZz f1iFxIon1tnFFZvhxNhc8COoUQx6m5b76/A+ZKicYxhSNy2/OZ7216vsjbjCZYBYs0JRYw HveGDvLZV1uIbZp91KV+FyjLIFbYqRGliBiXZAettqpTK1HdbTA+U5WnJXqenHJZMfKpnc 7e5ob8RCl3NpbU/+KFmRi0ad/AWQU3sxYIekBQLzRtoAT6kFSoMM1HGWWySH+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420n5BDwz1QMr; Fri, 23 May 2025 23:48:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmPUs046715; Fri, 23 May 2025 23:48:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmPEH046712; Fri, 23 May 2025 23:48:25 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:25 GMT Message-Id: <202505232348.54NNmPEH046712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 83812c4eccb3 - main - bsd.suffixes-extra.mk: rewrap long lines List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 83812c4eccb3c81e0fe97e9a5b325409ef8ba2ce Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=83812c4eccb3c81e0fe97e9a5b325409ef8ba2ce commit 83812c4eccb3c81e0fe97e9a5b325409ef8ba2ce Author: Brooks Davis AuthorDate: 2025-05-23 23:32:05 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:32:05 +0000 bsd.suffixes-extra.mk: rewrap long lines Group CFLAGS variables together either on one line or all separate depending on length. Reviewed by: jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50463 --- share/mk/bsd.suffixes-extra.mk | 49 +++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/share/mk/bsd.suffixes-extra.mk b/share/mk/bsd.suffixes-extra.mk index 629c3177cec7..680abfc88eb4 100644 --- a/share/mk/bsd.suffixes-extra.mk +++ b/share/mk/bsd.suffixes-extra.mk @@ -11,32 +11,47 @@ PICFLAG?=-fpic PIEFLAG?=-fpie .c.pico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CC} ${PICFLAG} -DPIC \ + ${SHARED_CFLAGS} ${CFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .c.nossppico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} + ${CC} ${PICFLAG} -DPIC \ + ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ + ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ + -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .c.pieo: - ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CC} ${PIEFLAG} -DPIC \ + ${SHARED_CFLAGS} ${CFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .cc.pico .C.pico .cpp.pico .cxx.pico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CXX} ${PICFLAG} -DPIC \ + ${SHARED_CXXFLAGS} ${CXXFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} .cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} + ${CXX} ${PICFLAG} -DPIC \ + ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ + ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ + -c ${.IMPSRC} -o ${.TARGET} .cc.pieo .C.pieo .cpp.pieo .cxx.pieo: - ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} .f.pico: ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} ${CTFCONVERT_CMD} .f.nossppico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} -o ${.TARGET} -c ${.IMPSRC} + ${FC} ${PICFLAG} -DPIC \ + ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ + -o ${.TARGET} -c ${.IMPSRC} ${CTFCONVERT_CMD} .s.pico .s.nossppico .s.pieo: @@ -45,31 +60,39 @@ PIEFLAG?=-fpie .asm.pico: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .asm.nossppico: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ + ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .asm.pieo: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.pico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.nossppico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} \ + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ + ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ + ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.pieo: - ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} From nobody Fri May 23 23:48:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420q1NJrz5wmc0; Fri, 23 May 2025 23:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420p6fJvz41GQ; Fri, 23 May 2025 23:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9aI2oNS3BXfMGYW1AKdzRSvqt54nHL0jyXrcJ6Lno/g=; b=Aq7wNp80WkNs27MW7yGlEJbO+unDBDMWygpcY6tAequkFIV/TBehieyBt9JReDpUzWmnXf tC7ZmE3WKDjDxFBIc9yt/r9EI6yL/mWOEAyfMolspscWqqG9T0mx/cUv/kibvSfARMcYz/ /aGGYDwK24ZYKHyzEFCwrkM+lT9msuDGjkKb986j9jciN2ckuSz+f02otURuThTB+1qWRB VqjiggHIVt3hkjhWL5I6YfS4JZf74tQvoXRSSsAfm41U2KQ5GO9JcLt8c0HSaHugFO1IZU RNl2L0mHDWVCtawsCvk7lLRu4AjmGgPObUoOPsc82EPVMy0kyqiuF0uL9iQbsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9aI2oNS3BXfMGYW1AKdzRSvqt54nHL0jyXrcJ6Lno/g=; b=fKuUhahAxwkBIWQauCatS6boob88gZ4G5aiikFXYuZDVM5ttaC/h1Ld/Rvtkl4MhjJ6NsI K4nzHJk/DEpumf3MWhYqUNvqL23JEePbwdvE9ldUAEs4N8dqyh09tlZKa2uIv5DU/OSVEF 2UspdWYSa7+hrL1v7vqAVjLynTqv5FE40OFsVedo9oacGO6evK7mK99SqjvdexAoTmSJq/ LEu8M4T0aFg/9LpRPigEbFRKqaR3HEVwGTFFUfNfa8BqWHrpkbWU6ia5hVpMyrc5etdjRj 0G41H8Pf0AohQAtaFItTWuXBZHI61n94LlMc6E1krnrXmYFkwX8CqLzbL++ujg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044106; a=rsa-sha256; cv=none; b=H5GsQ5iqEPpYHmM722KwN2BvfG2XAjZkVx0Mo4D7/E+oTA+b3bMg6tBd5kX61/E2lQNKNg ExbXIkXY2fEv0ADItrnKMlVNx4qh56wUQkQREQsKRrpo9Qho8G2uzf9BYOGpTYWKfrnxI3 Ossf8So/uZV7zpZqmXNK6W+nL3QpnOte292D0dgrySchi6Er5y7H3kJ4l9xO2DXGjBpJGR GUatPa7AaSYT1IM1tffCjPS6AMs213ZpTfYiqTh10SaniSPMUsEYX+CvGlSopFJLYDuzt7 0H6hi9+icDzdB3ouC1Z9RP7tKirwMu2mSU9NhSaJ9nmj+fytujcw3/TuMicU9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420p6528z1QXS; Fri, 23 May 2025 23:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmQk1046748; Fri, 23 May 2025 23:48:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmQMa046746; Fri, 23 May 2025 23:48:26 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:26 GMT Message-Id: <202505232348.54NNmQMa046746@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: b15f5c8fa584 - main - src.libnames.mk: add LIBSYS_PIC List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b15f5c8fa584720e01f8a1b9320b5c9063e9c5a9 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=b15f5c8fa584720e01f8a1b9320b5c9063e9c5a9 commit b15f5c8fa584720e01f8a1b9320b5c9063e9c5a9 Author: Brooks Davis AuthorDate: 2025-05-23 23:33:27 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:33:27 +0000 src.libnames.mk: add LIBSYS_PIC Make it possible to find libsys_pic.a. Reviewed by: jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50474 --- share/mk/src.libnames.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index 57b694ed5122..a3b38db570bf 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -702,6 +702,9 @@ LIBWPAWPS?= ${LIBWPAWPSDIR}/libwpawps${PIE_SUFFIX}.a LIBC_NOSSP_PICDIR= ${_LIB_OBJTOP}/lib/libc LIBC_NOSSP_PIC?= ${LIBC_NOSSP_PICDIR}/libc_nossp_pic.a +LIBSYS_PICDIR= ${_LIB_OBJTOP}/lib/libsys +LIBSYS_PIC?= ${LIBSYS_PICDIR}/libsys_pic.a + # Define a directory for each library. This is useful for adding -L in when # not using a --sysroot or for meta mode bootstrapping when there is no # Makefile.depend. These are sorted by directory. From nobody Fri May 23 23:48:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420r6QcDz5wmc1; Fri, 23 May 2025 23:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420r31d5z41Gm; Fri, 23 May 2025 23:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTcR2+Br+VcJ5xiDQm48NL+MJ8mQEe0YBrOkbWYLkY8=; b=ohoufHO1F2hMEYvbPUflOvMawLJCC67Z97SdV51jgEDe3zzOGI53+sfUEk7NGA43Gp9AQw EBcgAVvTMI38jPtRtYKIjK8uvaSdfZcaNsl0+rHwVfdkcdwQwtazA3zYL4D15k2QRQ3SoR Vfg+hXEVMkTKmU0nXKE8x/tl6vHY+VFAGFCwJx1SVdozjhdXrwSaYHZpLIEjamyCKC0Dep DE54n48P8F8O8GUVbir2qtQdYC37dVP6o0vWtaAJMbGmzD6Kq/fCK0MAocvM20Afpnzmhq Tsl+nZiBlhsH4519b+ElmmsU1g6LoWRZDt6ONGKC4odtbsjCdRa4OND10biNDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTcR2+Br+VcJ5xiDQm48NL+MJ8mQEe0YBrOkbWYLkY8=; b=e/FhtGZGIqlyIFWbB6q7G8gGG1ZncnnK6q3+lTa5hmODsrU4NK3nruttgrePeRhZ7uSZ8R hTaW2qLkqb9pKqawrWLpFVqjmwvi25Nvwg/GyJnfKmIKAgObuHZHblQS4oreWgcBk+AANC TTT1McpxncrrwvTQ2gZXtWZ0T/3kvxrBoYLtjl2ulPGn14PNunnlLZsCwbfk60IvkxdNoH R3QvSSwx5ysGnjbaE/YY88l1oazJAroj+9mteIoMqSkCQN7Vi5j9tfMZGbxkZKdefPFMg5 CE7nfyyOMvIWnI5GCfXJwDsbZDUn9EXks7To6XWXbzgvM5RrK2ievEwxXNx0AA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044108; a=rsa-sha256; cv=none; b=LfS45ik2S8zl6jTm5VnXO/deCW02UqwhOfawF22IDdmykda5iHlmUGJQgrxskMdeoIz4e5 1VH0i4w9n/SQbSHkT6F3fGHZL+SDN2ljXiubeJmQ4f0ERLj8Yle/nQ5f6pDEq75xpn9SRa h0oN2nNAkI0SliIS77AmDJdhlWc7/p/Rfqj9fmcWvaOmhNDwmMFt/C0VegqH667Ycs+AEA /j1v7VFLLtqcLSru3Sg5BM5Ziyck2Si+qNXsp5+B5reoX90plIpsVQz60Tx1OCTXa5MCb+ SVBvO/HFZWtA/dZDGnvyxn/feyKUs2XeVOLjJWV6z2HzY7R87K5+ZbBtjHVlJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420q73N0z1QXT; Fri, 23 May 2025 23:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmRtA046781; Fri, 23 May 2025 23:48:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmRG3046778; Fri, 23 May 2025 23:48:27 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:27 GMT Message-Id: <202505232348.54NNmRG3046778@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 387783da979e - main - rtld: get syscall implementations from libsys List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 387783da979eb5862f8453e15505c240cbfe28ce Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=387783da979eb5862f8453e15505c240cbfe28ce commit 387783da979eb5862f8453e15505c240cbfe28ce Author: Brooks Davis AuthorDate: 2025-05-23 23:33:51 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:37:17 +0000 rtld: get syscall implementations from libsys When I added libsys I failed to update rtld's reuse of object files from libc to use ones from libsys instead. This would have turned up as a broken system in d7847a8d35143, but SHARED_CFLAGS is not being applied to assembly files. PR: 286975 Reviewed by: jrtc27, jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50475 --- libexec/rtld-elf/rtld-libc/Makefile.inc | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc index 79d68a1e803c..b16f84f398d0 100644 --- a/libexec/rtld-elf/rtld-libc/Makefile.inc +++ b/libexec/rtld-elf/rtld-libc/Makefile.inc @@ -52,22 +52,23 @@ CFLAGS.strspn.c+=-Wno-sign-compare CFLAGS.strstr.c+=-Wno-cast-qual -Wno-sign-compare CFLAGS.strtok.c+=-Wno-cast-qual -# Also use all the syscall .o files from libc_nossp_pic: -_libc_other_objects= sigsetjmp lstat stat fstat fstatat fstatfs syscall \ +# Also use all the syscall .o files from libsys_pic (libsys is always NO_SSP): +_libsys_other_objects= fstat fstatat fstatfs syscall \ cerror geteuid getegid sigfastblock munmap mprotect \ sysarch __sysctl issetugid __getcwd utrace getpid \ thr_self thr_kill pread mmap lseek _exit \ getdirentries _close _fcntl _open _openat _read \ - _sigprocmask _write readlink ___realpathat _setjmp setjmp setjmperr + _sigprocmask _write readlink ___realpathat +# A few other bits from libc_nossp_pic: +_libc_other_objects= sigsetjmp lstat stat _setjmp setjmp setjmperr - -# Finally add additional architecture-dependent libc dependencies +# Finally add additional architecture-dependent libc and libsys dependencies .if ${LIBC_ARCH} == "arm" # ARM needs aeabi_unwind_cpp for _setjmp _libc_other_objects+=aeabi_unwind_cpp .elif ${LIBC_ARCH} == "i386" # i386 needs i386_set_gsbase for allocate_initial_tls() -_libc_other_objects+=i386_set_gsbase +_libsys_other_objects+=i386_set_gsbase .elif ${LIBC_ARCH} == "powerpc" || ${LIBC_ARCH} == "powerpcspe" # ppc needs __syncicache and abs for reloc.c _libc_other_objects+=syncicache abs @@ -76,23 +77,30 @@ _libc_other_objects+=syncicache abs _libc_other_objects+=syncicache .endif -# Extract all the .o files from libc_nossp_pic.a. This ensures that -# we don't accidentally pull in the interposing table or similar by linking -# directly against libc_nossp_pic.a +# Extract all the .o files from libc_nossp_pic.a and libsys_pic.a. This +# ensures that we don't accidentally pull in the interposing table or +# similar by linking directly against libc_nossp_pic.a _rtld_libc_objs= .for _obj in ${_libc_other_objects} _rtld_libc_objs+=${_obj}.nossppico CLEANFILES+=${_obj}.nossppico # LDFLAGS+= -Wl,--trace-symbol=${_obj} .endfor +_rtld_libsys_objs= +.for _obj in ${_libsys_other_objects} +_rtld_libsys_objs+=${_obj}.pico +CLEANFILES+=${_obj}.pico +# LDFLAGS+= -Wl,--trace-symbol=${_obj} +.endfor # LDFLAGS+= -Wl,--trace # We insert all the .o files from libc_nossp_pic.a into a new rtld_libc.a file # to ensure that only .o files that are actually used end up being included. -rtld_libc.a: ${LIBC_NOSSP_PIC} ${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc +rtld_libc.a: ${LIBC_NOSSP_PIC} ${LIBSYS_PIC} ${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc @rm -f ${.TARGET} ${AR} x ${LIBC_NOSSP_PIC} ${_rtld_libc_objs} - ${AR} cr ${.TARGET} ${_rtld_libc_objs} + ${AR} x ${LIBSYS_PIC} ${_rtld_libsys_objs} + ${AR} cr ${.TARGET} ${_rtld_libc_objs} ${_rtld_libsys_objs} CLEANFILES+=rtld_libc.a LDADD+=${.OBJDIR}/rtld_libc.a beforelinking: rtld_libc.a From nobody Fri May 23 23:48:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420s4rcGz5wmmL; Fri, 23 May 2025 23:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420s1gscz41Bj; Fri, 23 May 2025 23:48:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=20L/O1n9jI+IBYal7irVkDDGnPVEbKw7goYlUowLrno=; b=Tr0+UZQ/spHZvOzQs9MPpxgJBa9yjT2iSrxSa60iX7Qo2KrdG6QGSVcbhRpR0zb9fADVyk 0ed1iCpQ1tTRF2k83sG5kQsh27KWth1LKsZ2CzxfaB+0Hfnoe5Jf06S8jkCHN6qnPxGUpx TtFVxzS5FKn9DMFEOm3utoJfeCrNev9pZqxLwUv+rtN9WgYQkGgvERyNek8K8csQLOS1QE k0Vq5o6B95ZCfHVBDKddOaZSNNN7wFhwPOycixyv/I6eSFt4F2p5+3rsZ1M/jiie4TzrIv cdO9wi7IBqhCoudFwZi1XVtap53E9D9QAeT/NZ3Dif4PJWBB0EIO6bC8uFjMQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=20L/O1n9jI+IBYal7irVkDDGnPVEbKw7goYlUowLrno=; b=k4ghKKeJ08qrHdjvkkSD/PHlsumZTOR7nr/pOgV6dC78MAfqBie0nkzUSn23ciHjm8T0zr 1PQ0t8qVHDSyqCCWRZ43z50ufwN5ry+lCSIZHjxfGqydSpKhgTYWQvPJUYCk7+Z7p7muzG u6ud7K4T3RUA37c1rjZX24m3HK3JEyy9NIfzNJ+24/+aX17sGN7OcHCIY7nZbYIgLcKIDJ 9/fdaosUFyX4FOjI4exOfRk7gaVRAYvFwBj132zlspXkEliPbaaE3mhhUCpAZTjqAMvu8c UdMl0jY0+kcodAp7nzFPwx/ttDGMksyN3mcLKQaKChospBOjb1YA6s9yoxfZUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044109; a=rsa-sha256; cv=none; b=f0V4mj4AwYNiiFLFUb6wtu4bqS6c2VkzLJYKolxd9tskCAqDu7A92U2XXLWWqCpG/ncgiy M+b1/iu47NprwgdwDiUsxTdsVuLB6mIVvJa79t0usVjjp91ie76kx/KvrsMDLVmfMAtFpP oxuRA8dGqIU3WcHT+Va5B9DSg8DzedrFPVlm+smv/kqqxhaMOsVkYNSVabXF4soHsAqREI NS+fFDYYjzwPz8Ke8hyQuw0BwSIGRkULXcZyqOm+y/mJgsaQaNPBfNZwvAHP1yvD2l9hyd JtAl9guCWtePvgLv/e/DjSSmQud9nCwoq5AFnh6G/4duU37rQF3kEXn5XlAMUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420s0tZxz1QGn; Fri, 23 May 2025 23:48:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmTv3046818; Fri, 23 May 2025 23:48:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmTjR046815; Fri, 23 May 2025 23:48:29 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:29 GMT Message-Id: <202505232348.54NNmTjR046815@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: fbfc85d9e81f - main - share/mk: make *ADD and *FLAGS descriptions common List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fbfc85d9e81f751c52f3ded445d4ae03b8307667 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=fbfc85d9e81f751c52f3ded445d4ae03b8307667 commit fbfc85d9e81f751c52f3ded445d4ae03b8307667 Author: Brooks Davis AuthorDate: 2025-05-23 23:34:26 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:37:50 +0000 share/mk: make *ADD and *FLAGS descriptions common Move ACFLAGS, AFLAGS, CFLAGS, CXXFLAGS, DPADD, LDADD, LDFLAGS, and LIBADD descriptions into the common section since they aren't limited to bsd.progs.mk. Mostly just relocated, but updated the DPADD text to reflect its relocation. Reviewed by: jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50479 --- share/mk/bsd.README | 114 +++++++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 60 deletions(-) diff --git a/share/mk/bsd.README b/share/mk/bsd.README index 6bab0effbcf4..03cb996f0f67 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -120,14 +120,20 @@ stack smashing protection and without sanitizer instrumentation. The following variables are common: -AFLAGS.${SRC} - Flags dependent on source file name. -AFLAGS.${.TARGET:T} - Flags dependent on output file name. +ACFLAGS Flags to the compiler when preprocessing and + assembling .S files. ACFLAGS.${SRC} Flags dependent on source file name. ACFLAGS.${.TARGET:T} Flags dependent on output file name. + +AFLAGS Flags to the assembler when assembling .s files. +AFLAGS.${SRC} + Flags dependent on source file name. +AFLAGS.${.TARGET:T} + Flags dependent on output file name. + +CFLAGS Flags to the compiler when creating C objects. CFLAGS.${SRC} Flags dependent on source file name. CFLAGS.${.TARGET:T} @@ -139,6 +145,7 @@ CFLAGS.${MACHINE_ARCH} CFLAGS_NO_SIMD Add this to CFLAGS for programs that don't want any SIMD instructions generated. It is setup in bsd.cpu.mk to an appropriate value for the compiler and target. + CXXFLAGS.${COMPILER_TYPE} Flags dependent on compiler added to CXXFLAGS. CXXFLAGS.${MACHINE_ARCH} @@ -147,6 +154,49 @@ CXXFLAGS.${SRC} Flags dependent on source file name. CXXFLAGS.${.TARGET:T} Flags dependent on output file name. + +DPADD Additional dependencies. Usually used for libraries. + For example, to depend on the compatibility and utility + libraries use: + + DPADD=${LIBCOMPAT} ${LIBUTIL} + + There is a predefined identifier for each (non-shared) + library and object. Library file names are + transformed to identifiers by removing the extension and + converting to upper case. + + There are no special identifiers for shared libraries + or objects. The identifiers for the standard + libraries are used in DPADD. This works correctly iff + all the libraries are built at the same time. + Unfortunately, it causes unnecessary relinks to shared + libraries when only the static libraries have changed. + Dependencies on shared libraries should be only on the + library version numbers. + +LDADD Additional loader objects. Usually used to add libraries. + For example, to load with the compatibility and utility + libraries, use: + + LDADD=-lutil -lcompat + +LDADD.${.TARGET:T} + Loader objects dependent on output file name. + +LDFLAGS Additional loader flags. Passed to the loader via CC, + since that's used to link programs as well, so loader + specific flags need to be prefixed with -Wl, to work. +LDFLAGS.${.TARGET:T} + Flags dependent on output file name. + +LIBADD Additional libraries. This is for base system libraries + and is only valid inside of the FreeBSD tree. + Use LIBADD=name instead of LDADD=-lname. + +LIBADD.${.TARGET:T} + Libraries dependent on output file name. + COMPILER_FEATURES A list of features that the compiler supports. Zero or more of: @@ -281,19 +331,12 @@ It has seven targets: It sets/uses the following variables: -ACFLAGS Flags to the compiler when preprocessing and - assembling .S files. - -AFLAGS Flags to the assembler when assembling .s files. - BINGRP Binary group. BINMODE Binary mode. BINOWN Binary owner. -CFLAGS Flags to the compiler when creating C objects. - CLEANDIRS Additional files (CLEANFILES) and directories (CLEANDIRS) to CLEANFILES remove during clean and cleandir targets. "rm -rf" and "rm -f" are used, respectively. @@ -310,54 +353,11 @@ DIRS A list of variables referring to directories. For example: will be created before the files are installed and the dependencies will be set correctly. -DPADD Additional dependencies for the program. Usually used for - libraries. For example, to depend on the compatibility and - utility libraries use: - - DPADD=${LIBCOMPAT} ${LIBUTIL} - - There is a predefined identifier for each (non-shared - library and object. Library file names are - transformed to identifiers by removing the extension and - converting to upper case. - - There are no special identifiers for shared libraries - or objects. The identifiers for the standard - libraries are used in DPADD. This works correctly iff - all the libraries are built at the same time. - Unfortunately, it causes unnecessary relinks to shared - libraries when only the static libraries have changed. - Dependencies on shared libraries should be only on the - library version numbers. - FILES A list of non-executable files. The installation is controlled by the FILESNAME, FILESOWN, FILESGRP, FILESMODE, FILESDIR variables that can be further specialized by FILES_. -LDADD Additional loader objects. Usually used for libraries. - For example, to load with the compatibility and utility - libraries, use: - - LDADD=-lutil -lcompat - -LDADD.${.TARGET:T} - Loader objects dependent on output file name. - -LDFLAGS Additional loader flags. Passed to the loader via CC, - since that's used to link programs as well, so loader - specific flags need to be prefixed with -Wl, to work. - -LDFLAGS.${.TARGET:T} - Flags dependent on output file name. - -LIBADD Additional libraries. This is for base system libraries - and is only valid inside of the /usr/src tree. - Use LIBADD=name instead of LDADD=-lname. - -LIBADD.${.TARGET:T} - Libraries dependent on output file name. - LINKS The list of binary links; should be full pathnames, the linked-to file coming first, followed by the linked file. The files are hard-linked. For example, to link @@ -568,16 +568,10 @@ the BSD tree. It sets/uses the following variables: -LDADD Additional loader objects. - LIB The name of the library to build. Both a shared and static library will be built. NO_PIC can be set to only build a static library. -LIBADD Additional libraries. This is for base system libraries - and is only valid inside of the /usr/src tree. - Use LIBADD=name instead of LDADD=-lname. - LIBDIR Target directory for libraries. LIBGRP Library group. From nobody Fri May 23 23:48:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420t3RB7z5wmpZ; Fri, 23 May 2025 23:48:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420t2CtRz41Xg; Fri, 23 May 2025 23:48:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WIJWsaN4pQBNai+t2PKg+gCoUR3KWUEVQIrpLB0siXQ=; b=OeaahR6VHyZi7Uf0k/ZOLSB9DhIEye/NWIfJbADl2Bc5ZE/n87jCPA0Gi6WMcTKa3M5F2E 8CICJswuCSU+k5XlNHfLyGOan+E/fmX8qY5Kw+HSx3zVPuhH+8MRbaOqCEmt8aEZDt3Sxg aGnMC5PjBKZMtV+tzgpK8sWeuF2kdFkEXQUctF6QutNC8OnEmOUjgwM9rVT6e1EHWPwn7f KKe21WINSDZI3w5G0Q81Uz/KblVmH77JPNH+3OzsNrATmtcoA+h34etXkHiNfT6QwIHbnj hPAWw4P8DTbXaGNv7B0fVgcSu4OegOElOpa+SgKv3HD1lHEjabSNRVfa096Znw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WIJWsaN4pQBNai+t2PKg+gCoUR3KWUEVQIrpLB0siXQ=; b=kXnvTHYs2GSZq7HJOsleM15kj/mSCUaFtXVpVpURdAEk3Q3hkYNGLfCeiWn0nIn/Ra1eZr kvVBPo7onwGa1AHmU9ipPc1eGCgYFewWhqLexEyeHJhNP3hs0BrC9fLO/1yS5wi1/41+Eg 9rQYfPBgM+O3wgoZUD1B2q78S5/nvmb4xsB0Dha/TVQLqBlOt36q/8adzW0suvhRekMCgZ 2XqpdjoQN3tH53+5kzXCf2rcEd0qcGyjX0V1L0yRFsxsmK7dE0Nuuy9Uw54818hn7ipo0Q Jrv+kfi5kKX5VUI8ma/omx93haT/82O8orSab0Y1MQ3vJwokH5jA6NETOqKuvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044110; a=rsa-sha256; cv=none; b=BZE9e6Y7yqmfjjS9xFCw7ChvM1sgSdu9CKPh4mnBXHduk72WaFsLce8CTBqfnqgVq2TpU3 jbYuaLf1dVLVLpyz4KjkYrwUkrvKrqsBDRd+GurwGUtaD8iolA6D2KY9aPpx2zMV5DW5Qw Vdl+Quu/LLzRcBox/1IY6H9RhoHU/HKOUEH6tOJCtGV8v2po84IBlxZzw9omkc46j3+stU XxVtczcCUuBqA5ZLzENtpm0jvIzPtVy823CV+xjkW0P9amh6epz0qs//AXF65PXhU/Y2zX 2uND7cdM5I3rUb5i2nNHijVmtvS0C6e2Vmeg8+EeHxInTml1OV9CYydp2ToaJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420t1hhKz1QGp; Fri, 23 May 2025 23:48:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmU0D046853; Fri, 23 May 2025 23:48:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmUql046850; Fri, 23 May 2025 23:48:30 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:30 GMT Message-Id: <202505232348.54NNmUql046850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: cba6bf5d954f - main - share/mk/bsd.README: refer to the linker, not the loader List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cba6bf5d954f500a921b967c1e4e3e71ecd63bef Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=cba6bf5d954f500a921b967c1e4e3e71ecd63bef commit cba6bf5d954f500a921b967c1e4e3e71ecd63bef Author: Brooks Davis AuthorDate: 2025-05-23 23:35:01 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:37:50 +0000 share/mk/bsd.README: refer to the linker, not the loader We're invoking the linker to create programs or libraries from one or more object files not the loader to load them in to memory. Reviewed by: jhb, emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50481 --- share/mk/bsd.README | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/mk/bsd.README b/share/mk/bsd.README index 03cb996f0f67..c2326a17f03c 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -175,7 +175,7 @@ DPADD Additional dependencies. Usually used for libraries. Dependencies on shared libraries should be only on the library version numbers. -LDADD Additional loader objects. Usually used to add libraries. +LDADD Additional linker objects. Usually used to add libraries. For example, to load with the compatibility and utility libraries, use: @@ -184,8 +184,8 @@ LDADD Additional loader objects. Usually used to add libraries. LDADD.${.TARGET:T} Loader objects dependent on output file name. -LDFLAGS Additional loader flags. Passed to the loader via CC, - since that's used to link programs as well, so loader +LDFLAGS Additional linker flags. Passed to the linker via CC, + since that's used to link programs as well, so linker specific flags need to be prefixed with -Wl, to work. LDFLAGS.${.TARGET:T} Flags dependent on output file name. From nobody Fri May 23 23:48:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420v5K8Rz5wmmM; Fri, 23 May 2025 23:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420v3q30z41Y1; Fri, 23 May 2025 23:48:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I735hNm5VJdMCvfcGBi7yjXiEJAYnrQHsMVSjUFIbLM=; b=XyB+gawlGoW+mED9dpHdIMzk0c/7lGpugH5NF9ToA0HqSMuCCY48r+gMGwwC/T3Liay4c9 xdcUnNHuGHvhoB/sj8//ReWpFRDuU/8thFKhOvR+lxSuwEvzVq0Vt1Mz6S4pacwUR+hlnq SFg3aDRsqws/Doew2OnojkkVg1pIVMvtwnVQo+jHLCGAZ87j5MvkSFlFASEuvr9GiYvYoW kCPIvBue3DlfpA5isuyb/VCPUVBggZuPOg6CnPBYYWh5F5IZNW1MHYdZaB3z9J+glma4GY t1dRxKSH4wuavqZ42GJI0qR6xllYvBVJbmaOWc2i3R4yf03MJBchrpBU9YXFsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I735hNm5VJdMCvfcGBi7yjXiEJAYnrQHsMVSjUFIbLM=; b=IHbAxrWxb7q1oPlrtDoYfSQtEvq8Uw5Ktbv+OlI911AaKI+f+96GWBGWk2qYifLG348Ydp uWncaPv65B7mJgye8wBm3jD0G9Ef8Ll96t1aAKGW0tIvSJDFcA6N0M+cB9vA3LVeJhr/0r QEGAIGvsmamCeLteCtxZFJCAXebZSvpPa+DZBntUgBax0xTW5PCL8EhceLoQJSzOM9i0Sz Jp0DVUGm1XsPQOLSI/EPx4mMUPvQzU84ZhD0MizdIIjV+cDwmlsu5qboCwDGU7XX+cWPm+ vZh+gRsB2nteBvSYHJsRAxaUB5Zxl/sdj4SESKKW1tNnNYap03oCX0zGAQqGfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044111; a=rsa-sha256; cv=none; b=V89l+5elBImT9TcysUu4KDn9Yn5sZOM9Zs08A07xNJL9tTp3l07zhS4tJZw0DZuNEBnf8V 8lij5jY11nZxwGdRoaK7eqM/crxZK1Oyw3tGmtKvtmvtyQazP1fEGJ1SJ7DjS8y/e5FOvz okGwEmAfbNsh4lAgfiYVx8N8/8p1dtt8y4VH3AlL5e83aRTFjS/Qc+g1L5AkarfcS641HS drOGMhOuawHVtygj9DDJ7jnF6G9zDjwVecHRimMLDSMBv8lU4n7NBXr8SwziChHqVMaKR7 eEphFGIaJnNjyMzwn3bB17B/zJ1OqnyI1aZoDi1v6wA9uoCztp+m4fTq/A5hgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420v2dqKz1QMs; Fri, 23 May 2025 23:48:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmVFV046886; Fri, 23 May 2025 23:48:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmV5G046883; Fri, 23 May 2025 23:48:31 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:31 GMT Message-Id: <202505232348.54NNmV5G046883@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 9c2001036185 - main - share/mk: pass SHARED_CFLAGS to PIC and PIE from assembly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c20010361854a6034595fdb13cd3583ea13f289 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=9c20010361854a6034595fdb13cd3583ea13f289 commit 9c20010361854a6034595fdb13cd3583ea13f289 Author: Brooks Davis AuthorDate: 2025-05-23 23:35:21 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:38:06 +0000 share/mk: pass SHARED_CFLAGS to PIC and PIE from assembly This matches what we do with C sources. Document SHARED_CFLAGS. PR: 286975 Reviewed by: jhb, emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50466 --- share/mk/bsd.README | 3 +++ share/mk/bsd.suffixes-extra.mk | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/share/mk/bsd.README b/share/mk/bsd.README index c2326a17f03c..4820bf12c72d 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -197,6 +197,9 @@ LIBADD Additional libraries. This is for base system libraries LIBADD.${.TARGET:T} Libraries dependent on output file name. +SHARED_CFLAGS Additional compiler flags used when creating shared or + position independent object files. + COMPILER_FEATURES A list of features that the compiler supports. Zero or more of: diff --git a/share/mk/bsd.suffixes-extra.mk b/share/mk/bsd.suffixes-extra.mk index 680abfc88eb4..e27c9ad318e6 100644 --- a/share/mk/bsd.suffixes-extra.mk +++ b/share/mk/bsd.suffixes-extra.mk @@ -60,12 +60,13 @@ PIEFLAG?=-fpie .asm.pico: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .asm.nossppico: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} @@ -73,18 +74,19 @@ PIEFLAG?=-fpie .asm.pieo: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.pico: ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.nossppico: ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ + ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} @@ -92,7 +94,7 @@ PIEFLAG?=-fpie .S.pieo: ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} From nobody Sat May 24 04:33:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b48LD1rh0z5x52h; Sat, 24 May 2025 04:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b48LD0FSZz3bwk; Sat, 24 May 2025 04:33:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748061236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ouHti+VHn7G0IuEW8JeZeO4+N2mUr0+7zuG6apd026Y=; b=A+nx3yzesbkIUEZUDgXYh3FUvIo2duQ2rFtqVKimS9dgHXgpR0pWhqDIX0I14xM5DqCjUc lzVZV/wYW+j9KEAA/89GN9XeYWnfYpUmEAozgVggl5buiaS3lpVyi2yn8trI1vviK6LdCn TULlVGPrwLAdxs0H7xOxFvmd4mM9Cu8/cn+gId+tIcT8+4EVB053x9+E0TkXpnMBHstUPB K0pX0pZobTV9tRA5RT7gHPTbsewhe24nqXy2NXDnFR9Vp8h+SJV8ee632VO6mfnDrfh8kL dWV/LZwb9AheVt0oenJTW7iNN8nzFT//rVPEnUJA17nOct5osXDY5FAq85z8pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748061236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ouHti+VHn7G0IuEW8JeZeO4+N2mUr0+7zuG6apd026Y=; b=p1GVeLrJ+2WBgQM7dATmyL75QOEgzx0P7QPbXEKP7bhMKrV2XS/N5xNadE2hd5nX0H9B70 Asj0OF8RWZdGIYqTbgyVwXokUTnmqJSbeCC5J1+gNCTsTTgmyFxDbZtpTWIwKbNIOqbbPR qrxWz+zOruCfBJtrZCTlQ63b7VFMAPn18FgrIOlbwg/buqwQM9OXduSga3Arf4hvvz8cwR 6Ovs0DcEqv1BhaYibOGCOOA7pC1X1sPhiCHZeZddK0yUbRdbIDFM7buP8yLfOgIZYkNoTa BX3FCTvpU2yuHnrTZD7sUjb43glwTopCl4CKeyBofyLEaifZr4nCXqo11R9OeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748061236; a=rsa-sha256; cv=none; b=czadHnGwLKSOd0WguHt50+pbValf1GQC1Sbexg7KpzYmB8admXaoc8jhHXvcYHyc7GO98Y DvpQ1FOTrGuXe4l8S6n3nN8kZj/VwZzrjvl2CSBUO9EHB3n2gNfrEKPSbcUkMBWoLK1eEi 7OjpCNJfujUm83qwYiomnVEM8MsgCwO0qobi+vmcxTYKXf7SlRePbanEvrhZpBbvXWcJ4d M3qWz5EXYKW3ffWf6MFW+v1dZAlX2hxEPRBWB81U+mE4Ar+YENtNzcETKLdeKRH58/GGxI VVsMZ2xLyqXh566XICZ49fqGFG1C1aOu91guTXsA/l2hXLc7ign7QJqvVX+zsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b48LC6yvXz57K; Sat, 24 May 2025 04:33:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54O4Xten090520; Sat, 24 May 2025 04:33:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54O4XtRe090517; Sat, 24 May 2025 04:33:55 GMT (envelope-from git) Date: Sat, 24 May 2025 04:33:55 GMT Message-Id: <202505240433.54O4XtRe090517@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 16ad4d77121d - stable/14 - zoneinfo: don't install version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 16ad4d77121dd117513c6044c0f076df144fa368 Auto-Submitted: auto-generated The branch stable/14 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=16ad4d77121dd117513c6044c0f076df144fa368 commit 16ad4d77121dd117513c6044c0f076df144fa368 Author: Philip Paeps AuthorDate: 2025-05-21 09:15:50 +0000 Commit: Philip Paeps CommitDate: 2025-05-24 04:33:27 +0000 zoneinfo: don't install version The commit teaching the build to install tzdata.zi for libcxx also instals version. It turns out this makes at least one piece of third party software cry: rubygem-tzinfo expects any file in zoneinfo to be at least 44 bytes long. Clearly this is a bug in rubygem-tzinfo but since nothing actually uses version, we may as well not install it ... as we did previously. Reported by: delphij Fixes: 91506dba7f2e zoneinfo: also install tzdata.zi and version MFC after: 1 day (cherry picked from commit 23a0c88b037625745b88d1661b9552f1ebe97ebc) --- ObsoleteFiles.inc | 3 +++ share/zoneinfo/Makefile | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 439df5e89377..0b8a3b9d4651 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250524: don't install zoneinfo version +OLD_FILES+=usr/share/zoneinfo/version + # 20250521: NDFREE(9) -> NDFREE_PNBUF(9) OLD_FILES+=usr/share/man/man9/NDFREE.9.gz diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index 54d715916b71..86279d48a2f3 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -128,8 +128,6 @@ install-zoneinfo: ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone1970.tab ${DESTDIR}/usr/share/zoneinfo/ - ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${CONTRIBDIR}/version ${DESTDIR}/usr/share/zoneinfo/ afterinstall: # From nobody Sat May 24 04:42:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b48Wy5NMfz5x5YT; Sat, 24 May 2025 04:42: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b48Wy2wGsz3c9D; Sat, 24 May 2025 04:42:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748061742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n/iXBCwoPM4BeyJ3vSv/3Ee7aIBpHYQlIanOGwJHnzQ=; b=PeS/xULIpL0XxvjynFMIvXuhKU8RMTEB2QbEt8iya9SLEvP3uVNXFICx95Sc7dPt5lXCa4 Wp4Mx/fcV1059O9N6Tv+V+G1H7AfkiYwsT/OniNR0rXg8Qr3X4sP2P7907aO7UiLXeQ9eU pdjJ1ysXOtDcwszyQQAbaxbd/+WEfPztEMPUERHuzgC5k4nB7Jq3Eex/QEjR1/cZxdPyaF BDyyArJkiDUGs/tNU/C1kL9EPlg1zVc47nVrjChiQ1wldmQGe/M5uRqDnTXdv5ZFYm90/r mWHNyPFoujTvHS4gkmjR+mm8YrAfvHSjm8F2t1g98362zabfL6q2rzaoZv1oAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748061742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n/iXBCwoPM4BeyJ3vSv/3Ee7aIBpHYQlIanOGwJHnzQ=; b=cr0QgQIB0AnUeh6kfho12FwE5aDRcfSNHDnCVYOVRuXRbwkgwmU3OJgQJHu5K/14itY9dJ 8ZBDzkBaQ5jwrFmm9zjagc/KiFEScQVSdnoh6oVihzHpogZXCH0IP1C5daSZsC4PD48knd tI/Erd2kcdSpnATjoZ4hQH0+i6KqaZkm0GatIE6n5gCcJBW7QCDlBpCzSA6aG1P78kBlCU MHMUIKMfEKdeICXKwHSI3eGOUu6Sx33GnFqhKRZLcsww+lLFXmWpO2z53A+BZmF3g9nOsL my3rNWyftjoHMxyLWZvVso5M/P4XK5frrd19scW9yrtD+TNTQV3laXCbbq5YAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748061742; a=rsa-sha256; cv=none; b=I8DisiqP6hQzXbVSgVA4oFvBxAxrXAhBg6zHg/vLz6/B4OH08FCMAe6KW8Di1X6Wst8sK8 wpiM7gzpAdIjK0yanzzTs5QB6Q8KOVqOnnXDMz0/cfyEIIP3STkLjSYfd/vzWT0iZ3dptk pyeMM/pZy5O+XQGNTgfw4JZJt3fDmkNbe9pEgFCICOs/RwiqdZqYvNUSaQTFANk5MEy7at vY3kvwYEEt62si7i6uUHyprQ+Dz3ifFt8K+VWbzuPPhGWMeTLcYVY1GyDUV7yvzudp9okD 6sXwDaLx0obFpSjn8gnqAPoZzz2RmEtJSGYQvE7+/CanI0kKFfX3cVGU85VD7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b48Wy2WGhz5cs; Sat, 24 May 2025 04:42:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54O4gMEh008989; Sat, 24 May 2025 04:42:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54O4gMW8008953; Sat, 24 May 2025 04:42:22 GMT (envelope-from git) Date: Sat, 24 May 2025 04:42:22 GMT Message-Id: <202505240442.54O4gMW8008953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: df16df7700c8 - stable/13 - zoneinfo: don't install version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: df16df7700c829c6807021ed883ef538806609d6 Auto-Submitted: auto-generated The branch stable/13 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=df16df7700c829c6807021ed883ef538806609d6 commit df16df7700c829c6807021ed883ef538806609d6 Author: Philip Paeps AuthorDate: 2025-05-21 09:15:50 +0000 Commit: Philip Paeps CommitDate: 2025-05-24 04:39:20 +0000 zoneinfo: don't install version The commit teaching the build to install tzdata.zi for libcxx also instals version. It turns out this makes at least one piece of third party software cry: rubygem-tzinfo expects any file in zoneinfo to be at least 44 bytes long. Clearly this is a bug in rubygem-tzinfo but since nothing actually uses version, we may as well not install it ... as we did previously. Reported by: delphij Fixes: 91506dba7f2e zoneinfo: also install tzdata.zi and version MFC after: 1 day (cherry picked from commit 23a0c88b037625745b88d1661b9552f1ebe97ebc) --- ObsoleteFiles.inc | 3 +++ share/zoneinfo/Makefile | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 7d17e95aca27..1b24771e6f94 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250524: don't install zoneinfo version +OLD_FILES+=usr/share/zoneinfo/version + # 20250310: caroot bundle updated OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_G4.pem OLD_FILES+=usr/share/certs/trusted/SecureSign_RootCA11.pem diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index e903a66dcfab..119e398c8dfa 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -124,8 +124,6 @@ install-zoneinfo: ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone1970.tab ${DESTDIR}/usr/share/zoneinfo/ - ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${CONTRIBDIR}/version ${DESTDIR}/usr/share/zoneinfo/ afterinstall: # From nobody Sat May 24 05:34:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b49h01CJlz5x8P3; Sat, 24 May 2025 05:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b49h000nqz3frV; Sat, 24 May 2025 05:34:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748064864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IjNG5UOzoD5zfvnVxh1LHD9DCScSPDDNYbYu7pWMBBM=; b=uiFuKwSgzAz7cD503d0jttl0DmNMeCTwbHDH+bd1g0kP6kJwv8d5qwCdYJ0LNzs1MCJgPk ALr2/1/4uXSf2vRObCkQegQvqomdTjJwZcLHTYNTiIiqj5inBmr9F/QhQxzPP87Zt5Uf/a YRHAIZ/VyFa+HYXU4PsQ0f4yvLDp1knX2AgHxHVzis89RJgRWW+N+PSX0/6epsqKniPCfM q0ExRlP49tuvfKphHIovSv6DX/rpwIX0mzrxS5WZps0NLZPUrJLgoW1Wr0zU30qjS4CtaL zb77Ewy7vLRYkdKGwIDXz3t7VEUwYJFiKnloBnz+2Os8sDMVrW6LjxtFfVK3wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748064864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IjNG5UOzoD5zfvnVxh1LHD9DCScSPDDNYbYu7pWMBBM=; b=kU+gHCrfKtJlhMjektOUkNqsDyeFaT6JMicJrD341EYJnyv2oSY0JPoSBjuc1IKYFOTa4A h0yOjfZX9lEUsDhlgIcDyMgVavB7vYBj2Z+7dyh+bneigvUIwZyspCh9Q4Edn97Oq6lgCu bVWPmVgj+UQukyV+D8t59AN0SDYBx1byW2en7m012JPuP53elZxDuBwHbK6m87vHXmWReZ dOoldz+fSOYDgJclIKHF1HLL5Rfroek5LU4laPMQElYqrBe5RVUDhr8giI4ujS7wwJ1tIQ vwjtYQDgHXQqOPsNqbp0VIBnX2+VYIIVcmIfcf/m1PPK1B7Cv5ig8ohFh0Fcag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748064864; a=rsa-sha256; cv=none; b=MC0m8IIpyL48Ckdm9LLm9MfV5qnFwdIbLF+boKD0VovBGkocnRirUdA4I3lsWUCCzHXBqL NRpX3zy+kv47UPxOFfTtYvWSy4YoLOqo0XH0S0l8RhLo/ATuujKfNYO6zyDp07qF8v/yM/ ZlT9ypZ/ZD2UFZeNwxEYSCetHawkdxGMjP6/cNZewzViUY4nbmCYdwIJci2cmcioNZ29SO l8o7sXHlIOX03Ywxo+6xLSV9uCr46SiOoCEJU0TDRyTeNdqweXfHMYyPhsWxXliT0Ja5Ih H+23E2zRh1DqrCGEr7UhDt4lnpYBb6rp4+39XoZ+brdrcDxDsR4TYpPVTd62FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b49gz6g3Lz7KN; Sat, 24 May 2025 05:34:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54O5YNpV002871; Sat, 24 May 2025 05:34:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54O5YNN2002867; Sat, 24 May 2025 05:34:23 GMT (envelope-from git) Date: Sat, 24 May 2025 05:34:23 GMT Message-Id: <202505240534.54O5YNN2002867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: a48dc9b03b83 - releng/14.3 - zoneinfo: don't install version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: a48dc9b03b83dfd1f04a901ee478324b6ced9c73 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=a48dc9b03b83dfd1f04a901ee478324b6ced9c73 commit a48dc9b03b83dfd1f04a901ee478324b6ced9c73 Author: Philip Paeps AuthorDate: 2025-05-21 09:15:50 +0000 Commit: Philip Paeps CommitDate: 2025-05-24 05:33:02 +0000 zoneinfo: don't install version The commit teaching the build to install tzdata.zi for libcxx also instals version. It turns out this makes at least one piece of third party software cry: rubygem-tzinfo expects any file in zoneinfo to be at least 44 bytes long. Clearly this is a bug in rubygem-tzinfo but since nothing actually uses version, we may as well not install it ... as we did previously. Reported by: delphij Fixes: 91506dba7f2e zoneinfo: also install tzdata.zi and version MFC after: 1 day Approved by: re (cperciva) (cherry picked from commit 23a0c88b037625745b88d1661b9552f1ebe97ebc) (cherry picked from commit 16ad4d77121dd117513c6044c0f076df144fa368) --- ObsoleteFiles.inc | 3 +++ share/zoneinfo/Makefile | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 439df5e89377..0b8a3b9d4651 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250524: don't install zoneinfo version +OLD_FILES+=usr/share/zoneinfo/version + # 20250521: NDFREE(9) -> NDFREE_PNBUF(9) OLD_FILES+=usr/share/man/man9/NDFREE.9.gz diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index 54d715916b71..86279d48a2f3 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -128,8 +128,6 @@ install-zoneinfo: ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone1970.tab ${DESTDIR}/usr/share/zoneinfo/ - ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${CONTRIBDIR}/version ${DESTDIR}/usr/share/zoneinfo/ afterinstall: # From nobody Sat May 24 08:23:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4FQr39Fbz5xJlC; Sat, 24 May 2025 08:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4FQr0LTsz3syM; Sat, 24 May 2025 08:23:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748074996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RfeVhQYdznf4nGlPTlsIBPjXK1oFxA+d5uP2hmdYZPE=; b=Vvif7+u0BNTbOdmoAbdNTHxYIeZtXYVw1dt+5Ms8my1/yhuYiW/Oqo1rjMLGvyzbsB4iES ii7BOQOK9XtaF87bAq4+WyxcGwtwUo66jdlD/gSoTLGuBRgFJ43QushzZdPIMulzqPxaq8 pgCWNP8AHGUr2g1iInA1r4wRfz3C0w/lEhTzTDKfPvzxdIcq/ycxsBOxnfKp6fKjY8sQJa 6ctUVSNTv1pwIt5PYhIYXTAkCi3Yz2kP41hIllp6NgHrIChmeMTKQlpQ4Qp9KQj6Re9ZOr asUdy96IPJfRvWoxx6D6RvprZZZn/6XD4zMwLzUf8YJt6L5kGW/JpXwKrbN57A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748074996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RfeVhQYdznf4nGlPTlsIBPjXK1oFxA+d5uP2hmdYZPE=; b=D8jRMOMHnYDXKsE79v+5NpJYvooZlOSoBpFgJdmzLFYeNmpO+NMDI7IvOLkUYtWeryLfkr 8cFGU+wHPf5W6FJ5hWdOi47hveCUGs5ONsmnUE/Zk4DyY7uvtMDAAyQYCmpa3LYPEEjFcH E4g4FXfyembhnfu0mGnWKyuf0w7qMWr8DEHGEg/M7c3XkFENj1MG8aLXjWkAd7tPmsdrGs EKvJOuMnvhlOJ5tm5+hEp96YR8un4ay9sXFa0+QYzWnx1oW34EeaQ54junanEGBbV4qswl /gWjs51kaX5/ejKOB66ZRauiN+E5WQuraa294QzckPoEUa1Vv8WukTcxP99+HA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748074996; a=rsa-sha256; cv=none; b=ASxwGCKSdu/7ZKQkHvMFtKcV+zHZc6+P5WPdj6qli+O1DdiDr3oaiNBsUDQzcYIlrtk+U0 zTBQIU5nwBXwhQA0KZsIWsYdHHRv+yHKqK5uS7nyF7e8iRBmYrLjGGXYjE55p/haxajFyM k8jWl0TqvD6x2uJi8JbOnt+bJMZvpw+pj7PT7D9MmMsmkrwFCfabeV4ymXEmnoYIg7jFck kD/s+MjI5/jcsQZDPxj9SyzQ7kYUl1cNEYsHaYMfdwDiDbtAqr2347fT/JqHyPTOX9AlmB eJl/c5JDHIixin+MPeuaZZgMHbfUhvpnVlcC3HhyamX7ek4LVGno+OYWZRoSow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4FQq71f5zCQ5; Sat, 24 May 2025 08:23:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54O8NF7P020310; Sat, 24 May 2025 08:23:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54O8NFQD020307; Sat, 24 May 2025 08:23:15 GMT (envelope-from git) Date: Sat, 24 May 2025 08:23:15 GMT Message-Id: <202505240823.54O8NFQD020307@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 6a97fbe6fcb3 - main - carp: fix mbuf_tag usage in carp_macmatch6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a97fbe6fcb3f9d413384c6b3594346aebc42e59 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=6a97fbe6fcb3f9d413384c6b3594346aebc42e59 commit 6a97fbe6fcb3f9d413384c6b3594346aebc42e59 Author: Andrey V. Elsukov AuthorDate: 2025-05-24 08:18:31 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-05-24 08:18:31 +0000 carp: fix mbuf_tag usage in carp_macmatch6 carp_macmatch6() had two issues that affect IPv6 processing: 1) it returns sc->sc_addr pointer that might become invalid after softc destroying. 2) carp_output() expects carp vhid to be stored in the mtag, not the pointer to softc. Fix these issues. Allocate enough space in mtag to keep both vhid and mac address. Copy vhid first to fix issue with carp_output(), then copy sc_addr and return pointer to this copy. mtag will be alive until mbuf is used. This fixes problem when IPv6 packets originated from CARP IPv6 address use incorrect mac address due to mbuf_tag has invalid data. Reviewed by: zlei, kp, glebius Obtained from: Yandex LLC Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D50455 --- sys/netinet/ip_carp.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 0ead7149c1e2..d3d7957cf087 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -206,8 +206,6 @@ struct carpkreq { * * Known issues with locking: * - * - Sending ad, we put the pointer to the softc in an mtag, and no reference - * counting is done on the softc. * - On module unload we may race (?) with packet processing thread * dereferencing our function pointers. */ @@ -1688,6 +1686,7 @@ char * carp_macmatch6(struct ifnet *ifp, struct mbuf *m, const struct in6_addr *taddr) { struct ifaddr *ifa; + char *mac = NULL; NET_EPOCH_ASSERT(); @@ -1698,18 +1697,26 @@ carp_macmatch6(struct ifnet *ifp, struct mbuf *m, const struct in6_addr *taddr) struct m_tag *mtag; mtag = m_tag_get(PACKET_TAG_CARP, - sizeof(struct carp_softc *), M_NOWAIT); - if (mtag == NULL) - /* Better a bit than nothing. */ - return (sc->sc_addr); + sizeof(sc->sc_vhid) + sizeof(sc->sc_addr), + M_NOWAIT); + if (mtag == NULL) { + CARPSTATS_INC(carps_onomem); + break; + } + /* carp_output expects sc_vhid first. */ + bcopy(&sc->sc_vhid, mtag + 1, sizeof(sc->sc_vhid)); + /* + * Save sc_addr into mtag data after sc_vhid to avoid + * possible access to destroyed softc. + */ + mac = (char *)(mtag + 1) + sizeof(sc->sc_vhid); + bcopy(sc->sc_addr, mac, sizeof(sc->sc_addr)); - bcopy(&sc, mtag + 1, sizeof(sc)); m_tag_prepend(m, mtag); - - return (sc->sc_addr); + break; } - return (NULL); + return (mac); } #endif /* INET6 */ From nobody Sat May 24 10:03:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4Hfr4nDtz5vx0N; Sat, 24 May 2025 10:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4Hfr3hjnz423w; Sat, 24 May 2025 10:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748081028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dO6UuuI8INePnlsWdDqFgWZM+55uqqSVc2GpS8y19EQ=; b=GL4QOHFLsfM6Q3wZ1rVeyCv4CbTEZap6OupSDLliASyILdGDkgtJk4SUiK31B1y1HhTb9n 0tx9RTz2j5W8TptkRP3kzjFHPTec/+dZbR0cWpvbFkUALNPUpWDuwJF047a4QwI9wb+lM1 26VZW/NeSw4Ce58Guv9M6KoSS8fbK0rIC+QdihC82Ey8MYNqdBk6mAbNIIbLi/dnyJ1FcN K+kGOkb+7W6exLyzSulvNslxot1JqbNaAfSoV9gwDXezXVhlKxTox0JhKxBE5Wbcxq66Vf 0vTk9EYfjQYLnF+9RXTYsAAPjuxO3RPGvpMBMfkbtwiQ07OPDgRkFFc6Nh0AGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748081028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dO6UuuI8INePnlsWdDqFgWZM+55uqqSVc2GpS8y19EQ=; b=inncVcp4vDseC4jk9sUJl/gAd3DdmqcxseHRpLxACF7htnSiUiePgcfM/0t/xncEoFlKD0 i/j+FlXo/tj/QQAMYjjspT1WMifFnNWAUMVtrGLxZ8BT2Do2+ILVU4ru8UbwQLp/GpWXny z969qUkcMzgGEfKOgnQvrDliNn1ieSXP5oHKxXbdM8neG4YeezOt7AQPSAKFnXNxLSHs9g Zdpw0Sl10YKBL4HaARLRg2lp+MjdkhESjpWAptOm1GRoo8f2sCs5Ds87XdPcB9ZTqLV2Mz DDMTpPYUrL9HqEt3cX75eTJXJpTGcFaEQdApRoNR8pDdGZKHWMEThEvQEyBrGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748081028; a=rsa-sha256; cv=none; b=RM99jWP+1mLfFaPvLeVdRWbFc+uULuP8WLTp0ERrij6+lSB5oKWWnHmXGmFcG9VeoKjjM/ zDSAGoaplkn4jknUj4AbERT6C3kGIC0Rflep7bUOwj2pLI9TwSkXnuEB+nC2yUJJYA8JQ1 +SKWXCAdJr/0SomuK024EtQ8wcnlX7RXo8gGGD8K36W1m5aXR5EzvOpI62sV+JIsYLDUUd z5XRnxVed9Y1UQNsK5p30utlwW23jnHwcliBzapmkDcjWlNVj/ixLgFZ9KA84x3m3arN0W qSwJKBdhMqjVLngd/fqO91CPLD4FUqJ0FY655Gh2skOGd5s0qVYbBantXx8MaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4Hfr2wYZzXWm; Sat, 24 May 2025 10:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OA3me5007357; Sat, 24 May 2025 10:03:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OA3mKU007354; Sat, 24 May 2025 10:03:48 GMT (envelope-from git) Date: Sat, 24 May 2025 10:03:48 GMT Message-Id: <202505241003.54OA3mKU007354@gitrepo.freebsd.org> 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=B8rgrav?= Subject: git: 1a6a36a98ad5 - main - atf: Don't be deterred by weird umasks. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1a6a36a98ad5dc86862541b91686b00cf88e9f76 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1a6a36a98ad5dc86862541b91686b00cf88e9f76 commit 1a6a36a98ad5dc86862541b91686b00cf88e9f76 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-24 10:03:22 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-24 10:03:39 +0000 atf: Don't be deterred by weird umasks. If the current umask is weird, ATF goes to great lengths to tell us that it can't possibly work in these conditions, instead of just dealing with it. This makes it unreasonably hard to use ATF to test how our own code handles unusual umasks. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: igoro, kevans, ngie Differential Revision: https://reviews.freebsd.org/D50267 --- bin/cp/tests/cp_test.sh | 11 +---- contrib/atf/atf-c/check_test.c | 8 +--- contrib/atf/atf-c/detail/fs.c | 91 ++++-------------------------------- contrib/atf/atf-c/detail/fs_test.c | 44 ++++++++--------- contrib/atf/atf-sh/atf-check_test.sh | 24 +++++----- 5 files changed, 44 insertions(+), 134 deletions(-) diff --git a/bin/cp/tests/cp_test.sh b/bin/cp/tests/cp_test.sh index 29dce783ffe2..bb45cc2484f5 100755 --- a/bin/cp/tests/cp_test.sh +++ b/bin/cp/tests/cp_test.sh @@ -563,17 +563,8 @@ dstmode_body() mkdir -m 0755 dir echo "foo" >dir/file umask 0177 - #atf_check cp -R dir dst -#begin - # atf-check stupidly refuses to work if the current umask is - # weird, instead of just dealing with the situation - cp -R dir dst >stdout 2>stderr - rc=$? + atf_check cp -R dir dst umask 022 - atf_check_equal 0 $rc - atf_check cat stdout - atf_check cat stderr -#end atf_check -o inline:"40600\n" stat -f%p dst atf_check chmod 0750 dst atf_check cmp dir/file dst/file diff --git a/contrib/atf/atf-c/check_test.c b/contrib/atf/atf-c/check_test.c index adaca649be25..06e2fad2d9a4 100644 --- a/contrib/atf/atf-c/check_test.c +++ b/contrib/atf/atf-c/check_test.c @@ -458,8 +458,7 @@ ATF_TC(exec_umask); ATF_TC_HEAD(exec_umask, tc) { atf_tc_set_md_var(tc, "descr", "Checks that atf_check_exec_array " - "correctly reports an error if the umask is too " - "restrictive to create temporary files"); + "works regardless of umask"); } ATF_TC_BODY(exec_umask, tc) { @@ -473,10 +472,7 @@ ATF_TC_BODY(exec_umask, tc) argv[2] = NULL; umask(0222); - atf_error_t err = atf_check_exec_array(argv, &result); - ATF_CHECK(atf_is_error(err)); - ATF_CHECK(atf_error_is(err, "invalid_umask")); - atf_error_free(err); + RE(atf_check_exec_array(argv, &result)); atf_fs_path_fini(&process_helpers); } diff --git a/contrib/atf/atf-c/detail/fs.c b/contrib/atf/atf-c/detail/fs.c index 5ff7648c3c7e..6ea825aa8e56 100644 --- a/contrib/atf/atf-c/detail/fs.c +++ b/contrib/atf/atf-c/detail/fs.c @@ -54,71 +54,13 @@ * Prototypes for auxiliary functions. * --------------------------------------------------------------------- */ -static bool check_umask(const mode_t, const mode_t); static atf_error_t copy_contents(const atf_fs_path_t *, char **); -static mode_t current_umask(void); static atf_error_t do_mkdtemp(char *); static atf_error_t normalize(atf_dynstr_t *, char *); static atf_error_t normalize_ap(atf_dynstr_t *, const char *, va_list); static void replace_contents(atf_fs_path_t *, const char *); static const char *stat_type_to_string(const int); -/* --------------------------------------------------------------------- - * The "invalid_umask" error type. - * --------------------------------------------------------------------- */ - -struct invalid_umask_error_data { - /* One of atf_fs_stat_*_type. */ - int m_type; - - /* The original path causing the error. */ - /* XXX: Ideally this would be an atf_fs_path_t, but if we create it - * from the error constructor, we cannot delete the path later on. - * Can't remember why atf_error_new does not take a hook for - * deletion. */ - char m_path[1024]; - - /* The umask that caused the error. */ - mode_t m_umask; -}; -typedef struct invalid_umask_error_data invalid_umask_error_data_t; - -static -void -invalid_umask_format(const atf_error_t err, char *buf, size_t buflen) -{ - const invalid_umask_error_data_t *data; - - PRE(atf_error_is(err, "invalid_umask")); - - data = atf_error_data(err); - snprintf(buf, buflen, "Could not create the temporary %s %s because " - "it will not have enough access rights due to the current " - "umask %05o", stat_type_to_string(data->m_type), - data->m_path, (unsigned int)data->m_umask); -} - -static -atf_error_t -invalid_umask_error(const atf_fs_path_t *path, const int type, - const mode_t failing_mask) -{ - atf_error_t err; - invalid_umask_error_data_t data; - - data.m_type = type; - - strncpy(data.m_path, atf_fs_path_cstring(path), sizeof(data.m_path)); - data.m_path[sizeof(data.m_path) - 1] = '\0'; - - data.m_umask = failing_mask; - - err = atf_error_new("invalid_umask", &data, sizeof(data), - invalid_umask_format); - - return err; -} - /* --------------------------------------------------------------------- * The "unknown_file_type" error type. * --------------------------------------------------------------------- */ @@ -162,14 +104,6 @@ unknown_type_error(const char *path, int type) * Auxiliary functions. * --------------------------------------------------------------------- */ -static -bool -check_umask(const mode_t exp_mode, const mode_t min_mode) -{ - const mode_t actual_mode = (~current_umask() & exp_mode); - return (actual_mode & min_mode) == min_mode; -} - static atf_error_t copy_contents(const atf_fs_path_t *p, char **buf) @@ -189,15 +123,6 @@ copy_contents(const atf_fs_path_t *p, char **buf) return err; } -static -mode_t -current_umask(void) -{ - const mode_t current = umask(0); - (void)umask(current); - return current; -} - static atf_error_t do_mkdtemp(char *tmpl) @@ -794,11 +719,10 @@ atf_fs_mkdtemp(atf_fs_path_t *p) { atf_error_t err; char *buf; + mode_t mask; - if (!check_umask(S_IRWXU, S_IRWXU)) { - err = invalid_umask_error(p, atf_fs_stat_dir_type, current_umask()); - goto out; - } + mask = umask(0); + umask(mask & 077); err = copy_contents(p, &buf); if (atf_is_error(err)) @@ -814,6 +738,7 @@ atf_fs_mkdtemp(atf_fs_path_t *p) out_buf: free(buf); out: + umask(mask); return err; } @@ -823,11 +748,10 @@ atf_fs_mkstemp(atf_fs_path_t *p, int *fdout) atf_error_t err; char *buf; int fd; + mode_t mask; - if (!check_umask(S_IRWXU, S_IRWXU)) { - err = invalid_umask_error(p, atf_fs_stat_reg_type, current_umask()); - goto out; - } + mask = umask(0); + umask(mask & 077); err = copy_contents(p, &buf); if (atf_is_error(err)) @@ -844,6 +768,7 @@ atf_fs_mkstemp(atf_fs_path_t *p, int *fdout) out_buf: free(buf); out: + umask(mask); return err; } diff --git a/contrib/atf/atf-c/detail/fs_test.c b/contrib/atf/atf-c/detail/fs_test.c index 7812be0334b8..a9cc34a4f48b 100644 --- a/contrib/atf/atf-c/detail/fs_test.c +++ b/contrib/atf/atf-c/detail/fs_test.c @@ -896,25 +896,25 @@ ATF_TC_BODY(mkdtemp_err, tc) static void do_umask_check(atf_error_t (*const mk_func)(atf_fs_path_t *), - atf_fs_path_t *path, const mode_t test_mask, - const char *str_mask, const char *exp_name) + atf_error_t (*const rm_func)(const atf_fs_path_t *), + atf_fs_path_t *tmpl, const mode_t test_mask, + const char *exp_name) { - char buf[1024]; - int old_umask; + atf_fs_path_t path; + int pre_mask, post_mask; atf_error_t err; - printf("Creating temporary %s with umask %s\n", exp_name, str_mask); + printf("Creating temporary %s with umask %05o\n", exp_name, test_mask); - old_umask = umask(test_mask); - err = mk_func(path); - (void)umask(old_umask); + RE(atf_fs_path_copy(&path, tmpl)); - ATF_REQUIRE(atf_is_error(err)); - ATF_REQUIRE(atf_error_is(err, "invalid_umask")); - atf_error_format(err, buf, sizeof(buf)); - ATF_CHECK(strstr(buf, exp_name) != NULL); - ATF_CHECK(strstr(buf, str_mask) != NULL); - atf_error_free(err); + pre_mask = umask(test_mask); + err = mk_func(&path); + post_mask = umask(pre_mask); + + ATF_REQUIRE(!atf_is_error(err)); + ATF_CHECK_EQ(post_mask, test_mask); + RE(rm_func(&path)); } ATF_TC(mkdtemp_umask); @@ -929,11 +929,11 @@ ATF_TC_BODY(mkdtemp_umask, tc) RE(atf_fs_path_init_fmt(&p, "testdir.XXXXXX")); - do_umask_check(atf_fs_mkdtemp, &p, 00100, "00100", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00200, "00200", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00400, "00400", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00500, "00500", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00600, "00600", "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00100, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00200, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00400, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00500, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00600, "directory"); atf_fs_path_fini(&p); } @@ -1039,9 +1039,9 @@ ATF_TC_BODY(mkstemp_umask, tc) RE(atf_fs_path_init_fmt(&p, "testfile.XXXXXX")); - do_umask_check(mkstemp_discard_fd, &p, 00100, "00100", "regular file"); - do_umask_check(mkstemp_discard_fd, &p, 00200, "00200", "regular file"); - do_umask_check(mkstemp_discard_fd, &p, 00400, "00400", "regular file"); + do_umask_check(mkstemp_discard_fd, atf_fs_unlink, &p, 00100, "regular file"); + do_umask_check(mkstemp_discard_fd, atf_fs_unlink, &p, 00200, "regular file"); + do_umask_check(mkstemp_discard_fd, atf_fs_unlink, &p, 00400, "regular file"); atf_fs_path_fini(&p); } diff --git a/contrib/atf/atf-sh/atf-check_test.sh b/contrib/atf/atf-sh/atf-check_test.sh index 9542dfb0bd9f..91d024a85bcd 100644 --- a/contrib/atf/atf-sh/atf-check_test.sh +++ b/contrib/atf/atf-sh/atf-check_test.sh @@ -389,21 +389,19 @@ stdin_body() atf_fail "atf-check does not seem to respect stdin" } -atf_test_case invalid_umask -invalid_umask_head() +atf_test_case unusual_umask +unusual_umask_head() { - atf_set "descr" "Tests for a correct error condition if the umask is" \ - "too restrictive" + atf_set "descr" "Tests that atf-check doesn't care about unusual umasks" } -invalid_umask_body() +unusual_umask_body() { - umask 0222 - ${Atf_Check} false 2>stderr && \ - atf_fail "atf-check returned 0 but it should have failed" - cat stderr - grep 'temporary.*current umask.*0222' stderr >/dev/null || \ - atf_fail "atf-check did not report an error related to the" \ - "current umask" + for mask in 022 027 0222 0177 0777 ; do + umask $mask + ${Atf_Check} true || \ + atf_fail "atf-check failed with umask $mask" + done + umask 022 } atf_init_test_cases() @@ -435,7 +433,7 @@ atf_init_test_cases() atf_add_test_case stdin - atf_add_test_case invalid_umask + atf_add_test_case unusual_umask } # vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 From nobody Sat May 24 13:17:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4MyJ5VFGz5w9f3; Sat, 24 May 2025 13:17: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4MyJ2xvHz3hTs; Sat, 24 May 2025 13:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748092648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ycCYPIqajJOIJm8X612vFBuM7fzF5WugEpm3WY8oxc=; b=NNZUIZx+LiP4VK3HpvkCBsYmn8r0Em0r8WsvBMz8C7zV6/ko68zbjNl2nKq8W0qGafw3fX jbF1wQXIVALtMDGyPcswTJxgJmex8L06udtMx8wxIql/zsfoCUcI2tkfoeJJOp0IBiZ+yg faOSo9WUzMWijuY6ukF7KOo3LrO7Klxh9L/S70UPz79NGqICpi4sh4BWAuIEmRmPzfRS7G SMhC3KN+0yy7AiM8DDANeTNzUg8SgZM9PDY+NmD8LT36dywwXG/V22Sochd24YYbBCCxk0 y5TYsBHJRrDiHxuQHGt0OFyhvRcnugqmDFWeVBu7iAgyE8wu7prRxzpXjiVzmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748092648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ycCYPIqajJOIJm8X612vFBuM7fzF5WugEpm3WY8oxc=; b=GnsIcg2pNqtJBxEuRrVrBMEDsocCwFpgeMX4VPWn29UbeGGYUuAIsf1gTxfmY/2mKdyhaM 8oLGSS4jo6gxzwUM9/OjeefAq5gCrH24D0ZNiMvJ+bYR/cVqx0Li+8TukVBxYkpZ+eoDfX SriahsgcTdFoaT9X30gog72OT84u6d+uJAwAhDzPP31C1Y9JGYlu0YZoyOF7hVBxBVa7SS w1vy3lpYxbrt/4VkVIf6/xbUO58SZ85dQc+oqS9vU+H5zY31Bfw84bZr63YlUWeDufiaPt N9O3KZFhceDw90qyv7GdEUupZPD06M1Z08QpJo5m2VlxZF8SmrM5uqmiTYfYFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748092648; a=rsa-sha256; cv=none; b=cVUm08SBS5xkEUe7bWulWwmFtPTxhzru+0e9Y8OAZSqneBROETa0x+30abl1krN5wKj5DZ DoEuVreo8GqpHaP+5ApepnEMyiAVnMgU3OGDY5bB7hhLtp02OLbK4uOUcJSyYt04uapKnL TjsBmiQd+qdyPOk0O1Was0EmeOg0gd4JsMMWw0e6uoIZdxGw1opP8yT4UhpouOb8yXUwbj MbEyTVUW6xQx7YEGccBMwjrEeeDI6DhTVXYZA0WvzTVy9sD9IM/d+myhd7SjPB6/1c33IW TuQuh83mDFp9HPW9V9PWxFop0KIxO68SBWJvlkdmS5CcWvsKDWkI6Dj3yzBIyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4MyJ2Lmhzdl7; Sat, 24 May 2025 13:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54ODHSUF063700; Sat, 24 May 2025 13:17:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ODHSF2063697; Sat, 24 May 2025 13:17:28 GMT (envelope-from git) Date: Sat, 24 May 2025 13:17:28 GMT Message-Id: <202505241317.54ODHSF2063697@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: eba403923626 - main - libc: set close-on-exec for temp socket used to detect IPv6 support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eba403923626f2ecfd724e131da992a7c3cb7240 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eba403923626f2ecfd724e131da992a7c3cb7240 commit eba403923626f2ecfd724e131da992a7c3cb7240 Author: Konstantin Belousov AuthorDate: 2025-05-24 11:27:29 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-24 13:17:09 +0000 libc: set close-on-exec for temp socket used to detect IPv6 support Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50509 --- lib/libc/gen/sysconf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/gen/sysconf.c b/lib/libc/gen/sysconf.c index be42dd238b56..6a838ddd58d8 100644 --- a/lib/libc/gen/sysconf.c +++ b/lib/libc/gen/sysconf.c @@ -567,7 +567,7 @@ yesno: case _SC_IPV6: #if _POSIX_IPV6 == 0 sverrno = errno; - value = _socket(PF_INET6, SOCK_DGRAM, 0); + value = _socket(PF_INET6, SOCK_CLOEXEC | SOCK_DGRAM, 0); errno = sverrno; if (value >= 0) { _close(value); From nobody Sat May 24 15:44:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4RD16tjGz5wZnj; Sat, 24 May 2025 15:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4RD15dTVz3RMk; Sat, 24 May 2025 15:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748101473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPXUAM4yY7PJ984OVFg74qzHf3ljyeOigOYFyKgEFZE=; b=bkRam0rrmI0Oy0vobKa+ROuZh9GCXJYsqsyqqLJkoAEiUXFmdAknMYoIRKjysKAKuwy64e gNL8jffJfkr190jhwTmjdpuZGVzehCBIvXOFpia/oCqXolGot65ki0Z1oK8XAKdo8KHnCn yFXpD6hjFhmIgE2RMSGJWuew7dxDvUdVkcuEkpyqtiadgZ/PsKZAF8vbCtjqMKYCzin2ms gdsge8mV7ARX7ka5L3XUxf3piyH1L2+bz3DeYNm29UfIgU0qhhjZ8f9JXxCc8RvI2gYkhD U2kytGIwb9temZUnwu4x6hCNXs8MCu+p+YME1FMB4+ZC+FndRVILuBMx9Cd77w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748101473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPXUAM4yY7PJ984OVFg74qzHf3ljyeOigOYFyKgEFZE=; b=dwfSSb8VSJDDRMDWyKKi+cOhisRGd6AXJL4es32QemmgirVjK9kzjpPc94Ksp1UGjcRJJ8 O9TLnEWJ1f7ejepHmfAP2TBdbiskSsJoAAff+ZvzjqhPa2DoHD/BxYSq4NytjcD+6cVrki oYbOHwegZOtqDg5Cqu2kHIpuxqFIgi/+IySBD3D9G9UVkB8MhqYmezeJbcXoP/RPGaU3cT 7/Tq2lTzL0bjfFkQ5DIDKWbydQWhmUIVYOsweTJNvD9AqtvpKy5XZkUYhFZNg6uQB73EtN JJePHeu3GxfRV3iKq12Knihsjpt0LqEaBBgm95VamL34iZdbV4h1UEYZ8FvfQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748101473; a=rsa-sha256; cv=none; b=m5X56b2ArVZwVC8m+OIRBUbZU85jrGJILqBHkpfvs/z6fOOJkpOLlq84jBmAcG+ts2fDn5 0iZNw/01CobS1vd+xZteZsZ210lm+Jd+oKraey5G3HcLirE/p5Xy8yjamBYPaEkSDf6kh4 3qWh1xijtw+2CCtBt9EI6lLpIxUb7CRM9eGpozRacQFIkPHex4oUyIGyPveu2JsQie4ZT5 LKf/tkxlt/VLlWsKLE6dYYoqActmMROAYkXrHU4q8vijlLAZVxNmuDZHnAAzZNK7TPDLHz uIQWOCRMFcak6+TJNWOZ5NujZeEcsbeeIU9R1FhlgkMNQ4fE02NyjFHl+qQkUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4RD14xwwzjRk; Sat, 24 May 2025 15:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OFiXxg042328; Sat, 24 May 2025 15:44:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OFiXS0042325; Sat, 24 May 2025 15:44:33 GMT (envelope-from git) Date: Sat, 24 May 2025 15:44:33 GMT Message-Id: <202505241544.54OFiXS0042325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 4eabcb77d5bb - main - elf.5: Document .init_array and .fini_array List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4eabcb77d5bbf418aa86efae6523375d28150d4d Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4eabcb77d5bbf418aa86efae6523375d28150d4d commit 4eabcb77d5bbf418aa86efae6523375d28150d4d Author: Ed Maste AuthorDate: 2025-05-16 16:20:10 +0000 Commit: Ed Maste CommitDate: 2025-05-24 15:43:34 +0000 elf.5: Document .init_array and .fini_array And note that .init and .fini are legacy interfaces. Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50380 --- share/man/man5/elf.5 | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index bd12f5e52df0..5f1aad2298c0 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 20, 2025 +.Dd May 24, 2025 .Dt ELF 5 .Os .Sh NAME @@ -915,7 +915,7 @@ This section is of type The attribute used is .Sy SHF_ALLOC . .It .fini -This section holds executable instructions that contribute to the process +This legacy section holds executable instructions that contribute to the process termination code. When a program exits normally the system arranges to execute the code in this section. @@ -925,6 +925,19 @@ The attributes used are .Sy SHF_ALLOC and .Sy SHF_EXECINSTR . +.It .fini_array +This section holds pointers to finalization routines. +When a program exits normally +.Xr rtld 1 +executes the code referenced by this section. +This section is of type +.Sy SHT_FINI_ARRAY . +The attributes used are +.Sy SHF_ALLOC . +Refer to +.Dv NT_FREEBSD_NOINIT_TAG +.Pq below +for a description of how initialization and finalization code is invoked. .It .got This section holds the global offset table. This section is of type @@ -937,7 +950,7 @@ This section is of type The attribute used is .Sy SHF_ALLOC . .It .init -This section holds executable instructions that contribute to the process +This legacy section holds executable instructions that contribute to the process initialization code. When a program starts to run the system arranges to execute the code in this section before calling the main program entry point. @@ -947,6 +960,20 @@ The attributes used are .Sy SHF_ALLOC and .Sy SHF_EXECINSTR . +.It .init_array +This section holds pointers to initialization routines. +When a program starts to run +.Xr rtld 1 +executes the code referenced by this section before calling the program entry +point. +This section is of type +.Sy SHT_INIT_ARRAY . +The attributes used are +.Sy SHF_ALLOC . +Refer to +.Dv NT_FREEBSD_NOINIT_TAG +.Pq below +for a description of how initialization and finalization code is invoked. .It .interp This section holds the pathname of a program interpreter. If the file has From nobody Sat May 24 16:57:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4Srb4v7gz5wfHL; Sat, 24 May 2025 16:57: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4Srb2n9Dz41V2; Sat, 24 May 2025 16:57:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748105871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NNNr/bgbxmtq0PD01UuPW+Tug07hEivu1boFMah6BlQ=; b=e6GYIKDjQ59c5Xl3ePjWeOzHryUAaqMhuoVc0moj0goJzGhNzY8Dvu6xhGwbZyGClnRl7L at5rGcBE4FQ+Apy+TeSH3NhkcUX6iE2xjmhjHdbr+RInHn4q/PZmUiNNGn/ZkiV09B6yVh dA2PXJC5FRcJQ8TuNI/SmMhElGokdwdKy5fhgFUCG58XEawMdUvmjfnXbQXmL+wHFAjb49 GbyI28e/ppfuad9+4828OEuI6ddySG8jIslQtoq5df6+6H18gHOxPoGcnYy1DcBOBz9jaF aCP//K4RDlFAp0N/tnmzULhk6zQPhIE3i3Hc51MlhXNwJcQHxLPI53vnJ8LJgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748105871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NNNr/bgbxmtq0PD01UuPW+Tug07hEivu1boFMah6BlQ=; b=mO3HBsBdIHp1v0qTBlYSqa9kYUuhtDE76VXUBqf9+xoQz6wbExfLIUSWXB4sqxfqGXeJJG /73HHwfs1MzPEw4pblYMHxNJMOgQb0qHlRnzy6h8qbV2Q5zWMQg2KwZRRY4rH2LgZTgKNm vaMVDwsIgMh4WUEhGnbaeRwjZ8lEDeXJzxEac6IxQx7pbEeyFlQTQ1NcMf91NSu70JDJ+l fI8Smt6wDxGU9wHxVUQykErHN+ZdUqXrwh51QxPrJth+S7Fqp/46A9Iert7NzXm59NNdXD XvzOTL3/JCjM09b8CoKG3+DMwIQLioaT0PSZkrxS4KDppVL8tp3l+x3Rsc/wmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748105871; a=rsa-sha256; cv=none; b=VnDwx/e05RFMSwxjdjDyP9qdwaw4gqNTdF9pwTVA1SZTCZ/xeUZtALn2Z3wNvp7NsobkDd /LvdPDrpcLVlC+bvyRjxGyya/IPGXhYalDbu/G5GLkCDT43wxX/z8bSgmjB4UtDM3I5tkK tR+4ChXkfZgOzLIlqgBmba/JHWN4CKGTA7ajrXYJSFA7xn0dRKyZh33MyAudr7GP7ybfU4 TH/lFO1/SHIv9zXFRyWDbFMLcDr1hVdmNN1fkZ66EEd4IGpxGOvVFV0s7iUXo2k6xVmxe8 IYuKhQLC53T8NuX0hnhmhRIvmq5qp8DkjECLNQr7cR8s2FNwU5OkjGYYHGSegQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4Srb23f2zlVR; Sat, 24 May 2025 16:57:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OGvpxf075692; Sat, 24 May 2025 16:57:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OGvpKP075689; Sat, 24 May 2025 16:57:51 GMT (envelope-from git) Date: Sat, 24 May 2025 16:57:51 GMT Message-Id: <202505241657.54OGvpKP075689@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: ac196a584575 - main - m4: Allow empty base argument in eval() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac196a5845757a4d92cdfc4927170576dce5de9d Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ac196a5845757a4d92cdfc4927170576dce5de9d commit ac196a5845757a4d92cdfc4927170576dce5de9d Author: Eric Blake AuthorDate: 2025-05-23 14:37:20 +0000 Commit: Ed Maste CommitDate: 2025-05-24 16:57:24 +0000 m4: Allow empty base argument in eval() POSIX specifies "The second argument, if specified, shall set the radix for the result; if the argument is blank or unspecified, the default is 10." Previously we reported an invalid PR: 287015 Reviewed by: emaste --- usr.bin/m4/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c index 82218eb9ba1c..3170d52bfe2a 100644 --- a/usr.bin/m4/eval.c +++ b/usr.bin/m4/eval.c @@ -181,7 +181,7 @@ expand_builtin(const char *argv[], int argc, int td) int maxdigits = 0; const char *errstr; - if (argc > 3) { + if (argc > 3 && *argv[3] != '\0') { base = strtonum(argv[3], 2, 36, &errstr); if (errstr) { m4errx(1, "expr: base is %s: %s.", From nobody Sat May 24 17:28:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4TXB6KyLz5whMx; Sat, 24 May 2025 17:28: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4TXB3NqXz3FGZ; Sat, 24 May 2025 17:28:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748107722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uKASr4oa0BYpYvmanlLWNfozSMrlo8CR/I378wnkIFg=; b=wQBYbSZ58thnhKVAyFqdC4GfXYk9P3dy3GXasLSdzAWyF/43zEd1n4Oi7coGLujL7sIEbG f9Xm6X72fqnns0MSDQ0vSJ8FFwsaTlnX2m38YwnJET5bMCMOb7v1gwQBSsPTS+xfH4IXGE nG4HA6IkTZDT49VhcM0tO+3aVcawhgPWZzY5rS8skBRLLdYtIFcuyTWq25VnvaPE1wG/nt dGhsiDGvP46bTCvg6hovn4aQFrDvl2EAtPjzwCJ6dLeb+F/zg+5Ddj10BzShcl+BtkDXIO gKMyZ6aCmOKuL9vMulFj+t52YiGmel0QoUH/zpJ4qOwg5d2IG9Oae7utcNVkUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748107722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uKASr4oa0BYpYvmanlLWNfozSMrlo8CR/I378wnkIFg=; b=jvXhhmPm6zo/cCf+/JscD/4W4yjsIc5b5/gs1l+mc032x7xrL3PF3ByLbqaCqRJY+Qxfnp Uy2V0Xn2nyDu0WQwiTl6inpFLduRj87zUJKtrrpSXgrB8QQXJiDyfS6p/5MX7njvFqRKjx hK82qb8zs+SdohSrWarcl1DtLEsGVguV4GYHNcymlhGJm69YuCkF5bO2966+icGRtg4jbo NHrYUETZCIrLJImSrg7e+yPndhFEeiyzAm2piCrChvZGfnsPA4Q5xguXwsBhbOOYEyf2yO 2LHN8jeWJbbmrLYEzBdbXvE02o7vrCsn8LxELWM7QZ8+d0bD3x/I1IZoW40AQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748107722; a=rsa-sha256; cv=none; b=FY8utGsX4da8mW8cyXrxdmgeDovaFv4kReT4Hi6cAZQP0rmC0oXLlyvqjrSSDCQ6Y1UmwM +f30FsvtNi3NipCdApCixLxdWNWKWR/WglCxwrvJZpXLnELMl8BPGUVcLsxnMa7XpvinP4 /zkHf7Fd3ZIQCWttAmOXpgLWKy6yQeQftEgquakHnxvKsOP/A8xN+kwxAG45lx0G7012KK WzgN/10nrzX3/IjiRyvttOJGbAAreqp4OPkHvUgKnONMLZ9nPZdOWe8Z3voD2RpzIaTn/F D+MLM8KRS5ODc4xdewkZ6iXaVhbOs5Dmv5vuZHx7tGMkBUGf+T11yjpNPdoLgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4TXB2zrDzlZb; Sat, 24 May 2025 17:28:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OHSgKu031930; Sat, 24 May 2025 17:28:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OHSg6h031927; Sat, 24 May 2025 17:28:42 GMT (envelope-from git) Date: Sat, 24 May 2025 17:28:42 GMT Message-Id: <202505241728.54OHSg6h031927@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: ab4edcd552c9 - main - m4: Fix OOB access displaying MIN_INT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab4edcd552c967a400e85afc0fd3e6729fa9ee2c Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ab4edcd552c967a400e85afc0fd3e6729fa9ee2c commit ab4edcd552c967a400e85afc0fd3e6729fa9ee2c Author: Eric Blake AuthorDate: 2025-05-24 17:21:38 +0000 Commit: Ed Maste CommitDate: 2025-05-24 17:26:47 +0000 m4: Fix OOB access displaying MIN_INT Previously displaying INT_MIN resulted in an out of bounds access to digits[-8]. In twos-complement -INT_MIN is still negative. PR: 287013 Reviewed by: emaste --- usr.bin/m4/misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/m4/misc.c b/usr.bin/m4/misc.c index d641ec56afeb..1870323ccb30 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -121,7 +121,7 @@ void pbnumbase(int n, int base, int d) { static char digits[36] = "0123456789abcdefghijklmnopqrstuvwxyz"; - int num; + unsigned int num; int printed = 0; if (base > 36) From nobody Sat May 24 18:14:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4VYH2qzqz5wlF1; Sat, 24 May 2025 18:14: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4VYG3kZfz3c7V; Sat, 24 May 2025 18:14:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748110482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=68XvkUlk5MedEROXhyK7YsDDBADK2eFN++LRhbtIrKE=; b=rBI3zlUh3hUw/5rU75rUe0cWVp3fiDED0Xj1o/pde3MuzsdRRU7R0ZQH4S2z1uPjKuGaXn UkrwftKPh0wT2NP6WjShs5Tv2xMgbXq6sMkjRwPVq32LXxgMp3ubIWzKkvg9942VdYJ99Z OnNtP9xhLmOYBDfalO9YAIAlaEzIdaYeJe4X1EMixsAzSOr4HZySvVSqZXEfjkRPrldFGY x+kfs/WKycyqq73xAtVsUA7pvtVH75QP3z4PFhdoJGYFnSgtxZcGHgoBQrufD4kQYQrlok De5uxBos8o/gGHu0HT0GOt8dZNmtP4Vtg75XfT2Y/OgZfAOkW2CtEnI5pk18mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748110482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=68XvkUlk5MedEROXhyK7YsDDBADK2eFN++LRhbtIrKE=; b=l6ybkIXvuTQtEFZVZZsXa8VPIaLvMWz9tgVP1Ci8p1ikyu7SbuckVz95AtADQSYghwuWtr 07QxT+zevtei4DwkYHX0YKlZCec/B5JDqQC+bJDC8sQktlGH6dSWzMmqL47JD0JVaTVDaj KXHH/8grRGKKDRvuN3dQbkkiWlhAwY7fbqMtnwSEac9KE3qa93CnR0WixUAueoZwKWMvjV 5NkF7grHeAQi2xZNWnZM8B54mpWSiU1TqgruWs34PFKET2Nqha5th9x86vtDzfUdsGttf1 LkXeOrJ0tLogFbb925xAsozlg85CD8onO5hy3KEpY9Bn016h+BRQvIUDQUXBsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748110482; a=rsa-sha256; cv=none; b=d2jv1c25Aek/oRCF+v9jPdDX7+1DXoCAxqnnm4uA8Iwoy3BnX9mHNrCldC8we+ftrEC6BW 2frJ+x0xjWlL4nOZPqPRIzJZKm0zesy1FfnOvV/6pKjsPLtBkNWyoDNewWnNdtY1sLw6Ut +Wpxc3H+1P/CDrba0ITnVhQjQ5cy5UEGmZEEkceyFFSDNotul1yoZyXCHoz4XTBvi/0Cs3 ncB2R0JUf5g0rjFX5q29kuIjyuQ3p21nNlSEnCkvub1nQKFl4InK8fcwgeW5rZC7RINS5i h/CF2fUGDpSXiWUSxTr9zE17tLccYfxsAX0xSe6E1ZS7ezvSQd6t6uTC+rtPuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4VYG38qjzmpZ; Sat, 24 May 2025 18:14:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OIEgj1025141; Sat, 24 May 2025 18:14:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OIEgPR025138; Sat, 24 May 2025 18:14:42 GMT (envelope-from git) Date: Sat, 24 May 2025 18:14:42 GMT Message-Id: <202505241814.54OIEgPR025138@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: cd240957d7ba - main - netinet: Disallow connections to INADDR_ANY List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd240957d7ba43d819e9d59c6f6517fe915102c7 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=cd240957d7ba43d819e9d59c6f6517fe915102c7 commit cd240957d7ba43d819e9d59c6f6517fe915102c7 Author: Ed Maste AuthorDate: 2024-11-25 14:07:11 +0000 Commit: Ed Maste CommitDate: 2025-05-24 18:13:09 +0000 netinet: Disallow connections to INADDR_ANY Previously connect() or sendto() to INADDR_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. Take the next logical step and disable it by default. PR: 280705 Reviewed by: markj, jhb, zlei Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47740 --- sys/netinet/in_pcb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 3774f73a7a8f..bccd4b84561a 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -235,7 +235,7 @@ VNET_SYSINIT(in_pcbhashseed_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_FIRST, in_pcbhashseed_init, NULL); #ifdef INET -VNET_DEFINE_STATIC(int, connect_inaddr_wild) = 1; +VNET_DEFINE_STATIC(int, connect_inaddr_wild) = 0; #define V_connect_inaddr_wild VNET(connect_inaddr_wild) SYSCTL_INT(_net_inet_ip, OID_AUTO, connect_inaddr_wild, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(connect_inaddr_wild), 0, From nobody Sat May 24 18:21:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4VjN1Xwxz5wm7Q; Sat, 24 May 2025 18:21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4VjN0F84z3gQV; Sat, 24 May 2025 18:21:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748110904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ro4mJgHKc3oa2XSXHvYW/jhWKhSFldNBvzEi6HINz0A=; b=sw2pyE6gfceC6YvY38/G1HuacN097I2ONp90gslpBH8FucdnzoxBTMOMBeePwtS6hYdtGv uT7FRcZe82ZlKxhSI4F84exqwVd+XVkP+dn3841UsDJUKwawzJaw7d2DfFXb0oyYmtf9EQ deFWGfuZ92TnWjkvwVpRNexkU1lqsoOFNe/kNVAtAOul+JLHkI+uFWpx2tzVb/RLdloEcD 9kJ84iN2W4bJoue6XW4WtyyCdH/96e35EqWpwtGUfTiRSpLuIIJIS/Xm2mvj3D7eic6sCn KOLffEuHnlqxgzOQciGud5nHOh3u3JrF1Rr/MByCXgUeAoZrKhe9AKEcA5gzTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748110904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ro4mJgHKc3oa2XSXHvYW/jhWKhSFldNBvzEi6HINz0A=; b=nepK3OV25g0aeBgyHI7ic4PgjYbwB4FYR6hodmkAs/5fFvgmgdJNoQnxscIrD+GbJQuwCR 4MN8i7dfrMCU9dwzOW6kSwiwH7hhjpV2CL2DJPuVzzDQTQ9LgpkUCJ4QrFXN/IODwtocwY 8fCKvJxvl6x6AZgLuEvsQx03Joh365hWM4EhhoHOHN/bwJ4L6W7mobF37Q+f01qE19Hc2n abxF/q2kEyQ0UYHD2of2e8YzRoA9cjqkq8FlUoxmnyQMe1XuGt1O+PlqVwd42Z5ykZqUyd k07GLES6X/p+OdFLcvmPVq4t38hgzY1bh0o2DHUdTku5B5VTISKzr6ifzbhGZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748110904; a=rsa-sha256; cv=none; b=ydBgF6TnDdUt6/FGMRBTcvc7yzhX1ouNa6S95/Bwkhpxlh7S+sX/XgZS0Ie3Ptdd5TGWAT 6Z39dl7m1+eqPPr/XHnRUSadbfJzQoFgqg0dLlzfg2Gdm3MKvaVDtvLSv4MF3ww0BT9szZ mv/2s3oCTBIdTi6KUYFVnLL0zC1p9LNftnamC9JbjzPGmIJdI+Zms0ySEL41eKXCiH677W 0+T6nYykoKi9Jfkmj9+nX5FC0CpGS+Ql6AoWCFYrytNCl5GGysTH14XaONOqACTji0cwAx 8u5zwxCyxecmtIAr1/dczjMdxH/9xr5Pr7CE9G477xh+BB2AVOy/GIoxIx0KKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4VjM6mNJzmq4; Sat, 24 May 2025 18:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OILhHV039837; Sat, 24 May 2025 18:21:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OILhi8039834; Sat, 24 May 2025 18:21:43 GMT (envelope-from git) Date: Sat, 24 May 2025 18:21:43 GMT Message-Id: <202505241821.54OILhi8039834@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: b6dd8c5ee3c0 - main - RELNOTES: Add note for INADDR_ANY change List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b6dd8c5ee3c0b0e906b350401754589972c76a6e Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b6dd8c5ee3c0b0e906b350401754589972c76a6e commit b6dd8c5ee3c0b0e906b350401754589972c76a6e Author: Ed Maste AuthorDate: 2025-05-24 18:20:17 +0000 Commit: Ed Maste CommitDate: 2025-05-24 18:21:22 +0000 RELNOTES: Add note for INADDR_ANY change Ref commit cd240957d7ba ("netinet: Disallow connections to INADDR_ANY") --- RELNOTES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELNOTES b/RELNOTES index 19e2c07b1c4b..efac884e45f5 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,11 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +cd240957d7ba + Making a connection to INADDR_ANY (i.e., using INADDR_ANY as an alias + for localhost) is now disabled by default. This functionality can be + re-enabled by setting the net.inet.ip.connect_inaddr_wild sysctl to 1. + 4d618f6ced86 The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0, meaning that interfaces added to a bridge may not have IP addresses From nobody Sat May 24 19:28:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4XBl1rmpz5wqRl; Sat, 24 May 2025 19:28: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4XBk6tVDz49Nd; Sat, 24 May 2025 19:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748114927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wET0crNavKLOWfYentutFell9GY0prjv+txYQExDpb0=; b=W8QEtFG20H5h5uDRvalRtqaSCUPV5KYd1rR7mp+ATggwyM42p73j32z18Gj530g9grHHt8 7MIRjT9AHWTBzT+Nsw+NzeoM6DLEMLCEDjrI6keQ3j6nVM7NyOJEJ7NrnfbwZk4UwaQ9BH 3YxBHddeYLMwjqnJjgBg6NKPVTr5XtvTi/tt0PJqLaWs+GtWSWHCMsri3R3f1F7S57VAX5 KnlSa2LAyog006CTJUUysdmkRajrMMIBPJEpLXYJcb84nuTsx7BqowoYeyy/TUHt7daSE5 tpNQCUQ25n7O6hDQhVVbLm5V9xXQBnSXh54RcGoJOD0QiTzHkjGlobqid7JTtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748114927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wET0crNavKLOWfYentutFell9GY0prjv+txYQExDpb0=; b=xYZhsMmNyW57L6WKXZK7+HmekbcyraC6GopyRknJg3978K3yRHvk0u9orq0HNpUW2fSEFl Nl6dEkxJky8sOnLIUArniuaT/wycj67bF6L845b5TCLZRr/BDUtWDZJBH8wtcqe7fdN0us sybQR+KZdizdTXIRA6ItEo4tamubHvSQQGaQvylpDdT/QCYyWK/BYKJxO7E2yn70e/dF7r VbFaQhV3d0fVkrF1A5TSG8cnvhZNOR3ndZqnsbGvgmk945cz11t30BM9bYNszp7bVy0zBO gciXYVfsdO5kndOHBJLZO5lt2aJ+Afebgi1hv+bVzMNAfnfacU/5NcL1l9/oiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748114927; a=rsa-sha256; cv=none; b=KuZPY8IuLrWqko5U8jxJWqFxkFSALdNPiKl3K0UCdYXd1+rh4xrMiCMLbzj2NqTAPfQFwz YKpZxyzrGz5DRwqScWXZDM8Qk/plumg7+TOysB9eHyhB6Cbz7BCIEpb3FhfKqwlSPajLWz RAk9n6mzOVKFMOZm3UANRA9STb2qYCYRmPwhqsjvGAi07ZaijRAGNO/FQgWuqvR4UIe19c Ye00IXFwCWWPoTDXp3BjcQEWaSUCdgUZSBgmo455W919uU17Z8VOuUVbfu4dl2KaXvZhde eg0PJv+TjPy2zNurVhrM/NErrbO7jKCqnMCPxi2h/YN8J+Jzkd+XzFvsmR28SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4XBk6TpRzpJK; Sat, 24 May 2025 19:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54OJSk1E057403; Sat, 24 May 2025 19:28:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54OJSkT3057400; Sat, 24 May 2025 19:28:46 GMT (envelope-from git) Date: Sat, 24 May 2025 19:28:46 GMT Message-Id: <202505241928.54OJSkT3057400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: a8b9eea5c5b5 - main - ddb4: improve formatting List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a8b9eea5c5b5ec507be7e5e78a4b7a9a1a945dc1 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a8b9eea5c5b5ec507be7e5e78a4b7a9a1a945dc1 commit a8b9eea5c5b5ec507be7e5e78a4b7a9a1a945dc1 Author: Michael Tuexen AuthorDate: 2025-05-24 19:25:17 +0000 Commit: Michael Tuexen CommitDate: 2025-05-24 19:28:33 +0000 ddb4: improve formatting Improve the consistency of the formatting. Reviewed by: ziaee MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D50514 --- share/man/man4/ddb.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4 index b3fc3231f6b4..4f6304e88114 100644 --- a/share/man/man4/ddb.4 +++ b/share/man/man4/ddb.4 @@ -24,7 +24,7 @@ .\" any improvements or extensions that they make and grant Carnegie Mellon .\" the rights to redistribute these changes. .\" -.Dd November 10, 2022 +.Dd May 24, 2025 .Dt DDB 4 .Os .Sh NAME @@ -590,7 +590,7 @@ Prints the address of the thread whose kernel-mode stack contains if any. .Pp .It Ic show Cm active trace -.It acttrace +.It Ic acttrace Show a stack trace for every thread running on a CPU. .Pp .It Ic show Cm all procs Ns Op Li / Ns Cm a From nobody Sat May 24 23:26:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4dT215Gzz5vvwk; Sat, 24 May 2025 23:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4dT20TqTz466P; Sat, 24 May 2025 23:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748129190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WQC9UMU9SYXAOhOJCKGXAhlIhYzoXUcqYyBpLgmmiVw=; b=e8oIB8zhrlKdPI0v58ea/B9bBY2gwVkZBzCxISZuSRuJfMhaseain/R9Ks6Ibg65m2HChb pr6kNSPiEsZYFuDmVFq0MZM3DSK3CQytyzTqN2haqihQVriblBV7Yv9nLpm6uAOUimCYUU Gce9MmrDHEKPyIbSqG7/RuLijjykdHTjIZEy2MZ8iqvCx+xHAVJOZZ/C3vG6gKwgPjLhFQ ORo1g1xMTFCV7z/MpBbNbDzP7Qa2tgvAEmLiLYehS1j+OUkzDHHAL18DTXRLH9v1sRtEtt ZHoaim+JLTtWYcBwtjJCJiV7Ev3pecSURjGXtiQzCybjLVl/+LS8HdJlNEJyrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748129190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WQC9UMU9SYXAOhOJCKGXAhlIhYzoXUcqYyBpLgmmiVw=; b=UlVOge4oUmtWYt7SAecdRFG7hUiw9CmHwsq44KDI7nMycitfLZEa2uFh4vEYyxFFdkNoFH j1gC3R54pvHtdMfwP15r0HUlyMC1PGZTP8BvA4g0qHNLL0lz+AMj8SPUdvtDOfXviXeGIZ mZYUWjMBWcGpWtoNxqeP3Xn58W0lCa0h5s7mZkyVuYjCHONlcvW81dsN811LE3/hwnbnX+ 49LgXSWOsO/HXXHscuPnrxUZ0H8xga9FVYCViKPWbWB2SNyLTLyPq/rw9G//G0w9t1Wyy6 9PfoJvW423uNcEEu0bAt0nxC/oxvIQX9BNY9881dIPNTnRdrCm12JujNCTkncA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748129190; a=rsa-sha256; cv=none; b=uKmWzFfTCb81NoV9Lp78ctAaQQd/bx1E/tBgnM9wMQzD9rTggXBw4e/YAb2o/4XQQ2fiF1 6aGt7R0KploMDkS6HOHQGH3ur+yYkquQ6bBAbPqF33ZPxcwdhKkc895VPGzgtF8MVUJaq7 vbU6ow6qzF/ZI8UWujiAzhXVBv85VLgDq+rxjl+Xu2RosDy4Alm+Yv0Pq782N2WuzTqayd FYOkkzT019ZyP+MZcnKqAhEbTjZQ8nCiu/0dVACiP7HJy6BiY0q1/GcVlAyW4rqPfX3Sne 2y0IeFGUcG+gbd+ChsLzeLeulTtQe/0SPOdig+bQoqbBAPRb0SM/wXK6SQgmpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4dT16fjbzwJ5; Sat, 24 May 2025 23:26:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54ONQTgg002392; Sat, 24 May 2025 23:26:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ONQTBY002389; Sat, 24 May 2025 23:26:29 GMT (envelope-from git) Date: Sat, 24 May 2025 23:26:29 GMT Message-Id: <202505242326.54ONQTBY002389@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: bada3811884c - main - nfs_clvnops.c: Add an initialization mistakenly removed List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bada3811884cb22d088c8b8e4dbc39227682ce48 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=bada3811884cb22d088c8b8e4dbc39227682ce48 commit bada3811884cb22d088c8b8e4dbc39227682ce48 Author: Rick Macklem AuthorDate: 2025-05-24 23:23:52 +0000 Commit: Rick Macklem CommitDate: 2025-05-24 23:23:52 +0000 nfs_clvnops.c: Add an initialization mistakenly removed Commit e4c7b2b6053f mistakenly removed an initialization of "newvp", which could result in crashes. This patch puts the initialization back in. Reported by: cy Tested by: cy Fixes: e4c7b2b6053f ("nfsv4: Add support to NFSv4 for named attributes") --- sys/fs/nfsclient/nfs_clvnops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 20603d376901..c2185992f994 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -1421,6 +1421,7 @@ nfs_lookup(struct vop_lookup_args *ap) NFSUNLOCKMNT(nmp); #endif + newvp = NULLVP; NFSINCRGLOBAL(nfsstatsv1.lookupcache_misses); nanouptime(&ts); error = nfsrpc_lookup(dvp, cnp->cn_nameptr, cnp->cn_namelen, From nobody Sun May 25 05:43:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4nqf2HBRz5x5KW; Sun, 25 May 2025 05:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4nqd6Tzjz3WbZ; Sun, 25 May 2025 05:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748151789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ljpUwwcZJTVGJ9dBLsXFyRsAIrIJ+LBLJySDD0zXsJQ=; b=nDwTP7exO2Lu/uSv8/Cg8+33iOOPWsC5912aUyEolL9saGP3QfgqG+QHQFDv9S1QtM5/qx mYqq9YGTHrZFrDdbuz9OKp+nBFU/UERhSVbs4VeHCDzqLRn/qWgCnc0lmLgYZgF0yheYPh uoyL8jKcVJapgVB18zICotYxjJecwNnHkvSinD14BJa4a0Ly2vEQqR6/CycG8p8PDGBqb3 xCsy5oKVYUQivyanuqIhEUONTCt/pCvUaNMGWax2BTxC3dRqM8sVSiQ0orF1RYs9D0CWD0 070o6zReY7W4JLoETe0WE+qZgpFNatW4vfGm0M2JwqVOzterllJutlw0ClhBTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748151789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ljpUwwcZJTVGJ9dBLsXFyRsAIrIJ+LBLJySDD0zXsJQ=; b=DPQA5w7q4Rm1lmkOuCg92+3BbIiEHQRFAFcauxYBSBPfzTRPhN3V0ubVswsDUiUDXeuJgr R56PfbjSlDwy9O9FYkxD3PJtsDe7ZIKyYp4zuLB2V80g9gIjxEwKRxbnleHQWMTjp261t7 mi5Zufd8PmdzBYNLRgI/f09Gt4hNrPVSciqS+KCRJMlhSaQ4AkjX9zOaNpJdKcCSXZpgbH r0UoWfIoxUtwogjIAHW6zvhKSLfYQ4Gb41oueb+b+ZPD4+QDytfulA1qmqrZNCXzB8on2x 4fy1D8cHKou+qkef3tvMYA08JStI/JD/XZy4J2Lk6IPoex/PpK+Vkj2mC+PTtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748151789; a=rsa-sha256; cv=none; b=NOORdCKji/k/95/4mWB1DZl87giZsplP0jRE3180cwebeYWCXIqzu16oaabZHUOGnDsiwz qv/H+g2lvsYTnVMSr7+n0L2wezXNYZH3HgBFZ+dYdSpEjVfnLxAJ/0zU7Il2OEMQVFkyww vIyccoXDyqeYLbPvwyfnrgSiAxFGBtFaxcs+z7lP84PZyvaKz9za5k4li7+wccJRcEmHbo UlOszwbPoJBuZv/V+dGgVVCLZuna9j2NZDvWCGa7qXgPWWnpPJl9/QtyUWVM1DOODbPRwy 4GNjw7am0Y2bCECwdqd/195evQ6mDvwqSZzp2oqNJuc1FVBGTQNstFDw+8vXEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4nqd65mZz17ky; Sun, 25 May 2025 05:43:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54P5h9BK014627; Sun, 25 May 2025 05:43:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54P5h9Oq014624; Sun, 25 May 2025 05:43:09 GMT (envelope-from git) Date: Sun, 25 May 2025 05:43:09 GMT Message-Id: <202505250543.54P5h9Oq014624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2013ad7490f2 - stable/14 - nullfs lookup: cn_flags is 64bit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2013ad7490f2a80d3b3260d9811422bbd25a915e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2013ad7490f2a80d3b3260d9811422bbd25a915e commit 2013ad7490f2a80d3b3260d9811422bbd25a915e Author: Konstantin Belousov AuthorDate: 2025-05-17 05:37:48 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-25 05:42:46 +0000 nullfs lookup: cn_flags is 64bit (cherry picked from commit 89549c2348170921cc4270ac95bfabfd78d42739) --- sys/fs/nullfs/null_vnops.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index 5daa302bedd1..f2c426d41f61 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -389,7 +389,7 @@ null_lookup(struct vop_lookup_args *ap) { struct componentname *cnp = ap->a_cnp; struct vnode *dvp = ap->a_dvp; - int flags = cnp->cn_flags; + uint64_t flags = cnp->cn_flags; struct vnode *vp, *ldvp, *lvp; struct mount *mp; int error; @@ -415,8 +415,8 @@ null_lookup(struct vop_lookup_args *ap) */ if ((ldvp->v_vflag & VV_ROOT) != 0 && (flags & ISDOTDOT) != 0) { KASSERT((dvp->v_vflag & VV_ROOT) == 0, - ("ldvp %p fl %#x dvp %p fl %#x flags %#x", - ldvp, ldvp->v_vflag, dvp, dvp->v_vflag, flags)); + ("ldvp %p fl %#x dvp %p fl %#x flags %#jx", + ldvp, ldvp->v_vflag, dvp, dvp->v_vflag, (uintmax_t)flags)); return (ENOENT); } From nobody Sun May 25 09:21:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4tg71ySGz5xHn6; Sun, 25 May 2025 09:21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4tg71Qq7z3thp; Sun, 25 May 2025 09:21:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748164867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NY3DQU0SA8Ymk71yDFPpjHYV/s9bK/KcajTenjLMp9g=; b=UeRkIhjqlWa40wXbi3d+m7JCUsOVBV4FZ9Nm0KP4AJBm0Tj0Luj2PHOWo2z8wr3vg4kdOf 3T4cqrb5YDIpjrXIiM36F93FFt/Lti1efoq3rgU9l4fsuEOJwvz8GLSYGz0hplSvMaQpNi vg4bPEzMXh2x2ab4x2vmnw9zmlV3fOfDmbPuyWZG9p5UoWUcZwggYDQy9uDrJxWJVOJHeN RUXRgVQoPh+0hc4lo5ATDUAtXFuyXrm4fAENbEFbHVVdGO0JJGTdAIRJffQu8HjTes4KKs 70MDgzrDzv9LfN2XvYT2QYhccJuTU5wUU0xbtoLfjjjvdEwzATjb8sXErkLUnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748164867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NY3DQU0SA8Ymk71yDFPpjHYV/s9bK/KcajTenjLMp9g=; b=T5a4s8LBGavYP9OfdG/mvdkLfpCni3BWGqQyQHkzSHBp1tcuuPMTG/Ybxta6hb//AbFW4G KKxC+In31ARFWW26Q8SyS2eHL7Sm+x+94GfSVbSNTygA1MoBb9Dn7+e8527F6ZapIbfTR3 jvjO98Tl40qdNVXZXWA8gYeN7LXjrgkaRhfC/APXVXnJSmYtrhQGPVolGxW7ILulLBbVt3 opUq4xPOQym74fYgEDEzpVvaOQOi5p2Rgbb9AKaskFUmmcIUE7niTqag8tvcxIVR0B/ZBx W1sDdFoFM6U6vXmL7JtWbi9uKLlFLhSAOTKIpeJG1d+WhH+Uwv/kvFi5qrKuEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748164867; a=rsa-sha256; cv=none; b=DVL7MGMhGHXC9/TG3Dfoyf/YqFnZzFJdGjM2VpKPpdop6uJ1lpwXsH4lt2sLGN7uAxnj2f qDYznhZMcoBcmJbQUnf/Q0ue1eQdIc7+SJHDT+WnFFNXgrnfb9rIfHt8ttgvcrkAnT4wFb MpG6GAQ9K3rVlsM4e7h+leP0SCEJSBG2o6ewhS9xQzcdj139kgUPQZti+iUtXsuqeFNSLO IR4uvmC6eZ6ZzRhUCXklesu01shS7BuPDTg8TM1c1C3cwPlTzbsUpypDPXTRSk5Wp2z20l NY7K8mRuXQvnpJKBjpDf/SS+Ay4VJKUs4GDCpcB5xgcTyuHE6EsyfDVoUO2xEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4tg70Z1BznJ; Sun, 25 May 2025 09:21:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54P9L6YD021586; Sun, 25 May 2025 09:21:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54P9L6r5021583; Sun, 25 May 2025 09:21:06 GMT (envelope-from git) Date: Sun, 25 May 2025 09:21:06 GMT Message-Id: <202505250921.54P9L6r5021583@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: cab029073dc6 - stable/14 - libc++: fix compiling with -fmodules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cab029073dc6cb5814df44556e585b8fdb1c9846 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=cab029073dc6cb5814df44556e585b8fdb1c9846 commit cab029073dc6cb5814df44556e585b8fdb1c9846 Author: Jordan Gordeev AuthorDate: 2025-05-18 19:55:05 +0000 Commit: Dimitry Andric CommitDate: 2025-05-25 09:20:32 +0000 libc++: fix compiling with -fmodules In /usr/include/c++/v1/__locale_dir/locale_base_api.h, xlocale.h is included without first including stdio.h and stdlib.h, which causes functions like strtoll_l() or sscanf_l() to not be declared. When compiling with -fmodules, locale_base_api.h is processed separately due to a declaration in /usr/include/c++/v1/module.modulemap, and this will cause errors due to the above undeclared symbols. Meanwhile, upstream has substantially reorganized this part of libc++'s headers, so apply a minimalistic workaround: specifically when compiling with -fmodules, add includes of stdio.h and stdlib.h. PR: 286342 MFC after: 1 week (cherry picked from commit c809b0184d0a6543bc5327d4252fa56a07ce4689) --- .../llvm-project/libcxx/include/__locale_dir/locale_base_api.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h index 8c000c558c52..e43e87375069 100644 --- a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h +++ b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h @@ -25,7 +25,13 @@ # include <__locale_dir/locale_base_api/fuchsia.h> #elif defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) # include <__locale_dir/locale_base_api/musl.h> -#elif defined(__APPLE__) || defined(__FreeBSD__) +#elif defined(__APPLE__) +# include +#elif defined(__FreeBSD__) +# if __has_feature(modules) +# include +# include +# endif # include #endif From nobody Sun May 25 09:21:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4tgQ1Hl0z5xHXT; Sun, 25 May 2025 09:21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4tgQ0YcWz3vR8; Sun, 25 May 2025 09:21:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748164882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+TqWEVuny5c9yCHXlJWDS1HDpYjHMzx3E0iInifwA70=; b=WpjhsADrinFNWulZ4Oo5W0BfIxUMAWdtSlAZFTvvBsfNfgDk7XSbQa5lNqcd+zbE0GUopF ntFuR0g0ZafK+9EhoA4+kp9nIVGE2/CoJun+QKQT2f68U/jBDKBqJW8PLcm5gr0a8uz2Q+ F+QcJJV57kEu0gvgPd4rJCw6dLKT4S0SK6aBKkxzCrNKCIKYIYUw8x+8MGd3qksgP2B2Lq 8IS9YePmJ2uy/zPkpZNe6lJSDTTekFVqICluzLYcBRk6jP0XsExb2ndmqEwB1f3BZIoVu/ TZpaZQcPGOO7ownWza3LvB/5VpDP+f34YAJ7zZeIGoz6CCqodtSc808g8bA8hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748164882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+TqWEVuny5c9yCHXlJWDS1HDpYjHMzx3E0iInifwA70=; b=P1Fyssl6dfCC5mlJOEhOKdioI9HnVSoUTaNnyIvoWrcnt+q8jyOR35DhvOzi/eSjobbaV/ UX9iQqx/HF9HhP0eCe7lihFHVKkAgWs2iEyhBzJI7/jEMZ5kHsozLf/vuEVxHVEcEXsugu 4YuKK5nef2Glc+AOMa6hwaoUe6zWW3cv/1DeRpG95YjaatqwJNV0uGZ5/1/SmFgiE9Q4RW Lwfkpo1osZ3ppSMWN5i3vyqnu9UtrR4zbjlGOBgyWJPCXGLEXQLDu4IbkqES1hTLXshKAw 7qdD9WaHJIe7r/SYN2tzEa+w1dkA6NUJVMHhRVf5w7ETcOXKu8zfyHhjL26CpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748164882; a=rsa-sha256; cv=none; b=rMCGIpzf4y866oknqNQUttZoh8BtG7GEjlSoTANvWHw5adYDGlsVxEoqvcU66OXKEzOVxz R1odW999SlwCuH4H0LKmMLVmCNO0caxKxTdpVazU1c9d75rach+EJQf8y71Zw3DbJLLvFx L/diNX3CkymwOrLsl39LF4h+CbyX8ArEvGZejwBiENqAYhVuYu05pa5ZJYJ325atjVq7Vv m9cueEl/81LvpaXQH3JJRu+awpbD5ZKRUzAPylG0WNwHn2lOTrpqE3779KGoUnMp6XfQkT mOu8OIByLRuKgqiILWSW1N3lnw4W92uGYcGkUXkmlnH9hITLIcRBrSTshH4ezw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4tgQ053Nz112; Sun, 25 May 2025 09:21:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54P9LLWb021766; Sun, 25 May 2025 09:21:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54P9LLWx021763; Sun, 25 May 2025 09:21:21 GMT (envelope-from git) Date: Sun, 25 May 2025 09:21:21 GMT Message-Id: <202505250921.54P9LLWx021763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 1c12934eba86 - stable/13 - libc++: fix compiling with -fmodules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c12934eba86c7294becc23c7518e0fb9b996fa8 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=1c12934eba86c7294becc23c7518e0fb9b996fa8 commit 1c12934eba86c7294becc23c7518e0fb9b996fa8 Author: Jordan Gordeev AuthorDate: 2025-05-18 19:55:05 +0000 Commit: Dimitry Andric CommitDate: 2025-05-25 09:20:41 +0000 libc++: fix compiling with -fmodules In /usr/include/c++/v1/__locale_dir/locale_base_api.h, xlocale.h is included without first including stdio.h and stdlib.h, which causes functions like strtoll_l() or sscanf_l() to not be declared. When compiling with -fmodules, locale_base_api.h is processed separately due to a declaration in /usr/include/c++/v1/module.modulemap, and this will cause errors due to the above undeclared symbols. Meanwhile, upstream has substantially reorganized this part of libc++'s headers, so apply a minimalistic workaround: specifically when compiling with -fmodules, add includes of stdio.h and stdlib.h. PR: 286342 MFC after: 1 week (cherry picked from commit c809b0184d0a6543bc5327d4252fa56a07ce4689) --- .../llvm-project/libcxx/include/__locale_dir/locale_base_api.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h index 8c000c558c52..e43e87375069 100644 --- a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h +++ b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h @@ -25,7 +25,13 @@ # include <__locale_dir/locale_base_api/fuchsia.h> #elif defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) # include <__locale_dir/locale_base_api/musl.h> -#elif defined(__APPLE__) || defined(__FreeBSD__) +#elif defined(__APPLE__) +# include +#elif defined(__FreeBSD__) +# if __has_feature(modules) +# include +# include +# endif # include #endif From nobody Sun May 25 13:06:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4zgP3Smjz5xXVv; Sun, 25 May 2025 13:06: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4zgP22ZSz44Q8; Sun, 25 May 2025 13:06:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748178401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e2mdj58xDIV7f7hZpXuIn/bCPLNcTwQia01TUoJcyaI=; b=hcNwmDWHslkTWkUlKxxnALPsRosnp2Z24BFLnzXSGh5iBcEcEd+YnHXEGzTohv9WALmddW uecBTDfaF9aOSKulRYuvg6RKxg6VNrqu3m5zgiXlkhxPojAHXEOCaq6OZSgspCq5954imM WEHjn5jeiDzJHyYwFrJ4Ix9wUC3GKSY37JZDEr6XaRkV147B7p+TD6WfCrrPyLGWJdXNHa 2kRbjWTFO0SGED/wcthzBFRH+wvwB2BmWBsQ0FEZmOY1+ejP/DVv0ZyeCxTRLa/ygUhlH9 +w0pDi3+P+4aA0wgYmWga8MWelyWhteUBr18z5b17dOM22nFp1sm9YyOvQ/j2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748178401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e2mdj58xDIV7f7hZpXuIn/bCPLNcTwQia01TUoJcyaI=; b=QiOYSw3XJyKJZB9nLCYDFNqrlENCNN3VZ18lK96Knk9FSzhCMKW2gRRzkttmc5MWSPyjvI ilMGw45x6hx8wnfLytPDsUdKyBo9vO38C+kp2M4pDuO+1rWnW4yL34I7u4ACjjzRtphONh i/wnzaKPZ7GzUdgU/iQnandvj54S9uzUwp94GZNYLbA0+zY5GrZHp40aeCR779qlstmunO imgzCi1sqhIxlJAVUVjqzz9VeUPezbc9usTV3UfXWJiOQ4PZ/6UW3M3pDLB8SLkPvg0KQ8 FUNnodvLWiER7c/SfJbBudcvp4Z7dsLCvkxEBrejq0tOxJAhhkTYNs9Zg9oN1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748178401; a=rsa-sha256; cv=none; b=jR8+/lPaHIlD2GvwV3svwxWTOmYi0GD1wrLjX2nH0lSOYkQ8jKjTXWYzmp4wBaW7VYSjYu CB3xwD1ylgIcO0s/4KyqtLKxQwjrycalKqt9nF6QK1S1zDXCbtZJUR2eNjYOSLsoW9MK0O BjM9V8iVTpEWBo5ZJPhZwN3uGpL38l0y6GS3OjVpxpkMGZqhYL0ez1MgwgwjAM9kc4iGsH lIs2A7l+97N6Ge/fxxh4ASYGhCKIGK/NXFdykBGCEutciWAbl63g6dv/p58ETsNYXegtoJ kqq9OEkQ8JLqbQjV9JBL3/oITEZstmmf9+dRj7b9aC52sNzh455rQujHzebvaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4zgP1Zn5z7WG; Sun, 25 May 2025 13:06:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PD6flr071079; Sun, 25 May 2025 13:06:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PD6fbG071076; Sun, 25 May 2025 13:06:41 GMT (envelope-from git) Date: Sun, 25 May 2025 13:06:41 GMT Message-Id: <202505251306.54PD6fbG071076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 7866f1270fd2 - main - bsd.own.mk: Introduce TAR_XZ_CMD List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7866f1270fd2214f18efadc65482c6ef6dee253d Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7866f1270fd2214f18efadc65482c6ef6dee253d commit 7866f1270fd2214f18efadc65482c6ef6dee253d Author: Ed Maste AuthorDate: 2025-05-22 18:48:13 +0000 Commit: Ed Maste CommitDate: 2025-05-25 01:00:41 +0000 bsd.own.mk: Introduce TAR_XZ_CMD It is TAR_CMD with -J added, and can be used to avoid a tar | xz pipe that could mask errors. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50473 --- share/mk/bsd.own.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 0c47ba9af5c4..00a048fedc1d 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -272,8 +272,10 @@ XZ_THREADS?= 0 .if !empty(XZ_THREADS) XZ_CMD?= xz -T ${XZ_THREADS} +TAR_XZ_CMD?= ${TAR_CMD} -J --options xz:threads=${XZ_THREADS} .else XZ_CMD?= xz +TAR_XZ_CMD?= ${TAR_CMD} -J .endif PKG_CMD?= pkg From nobody Sun May 25 13:06:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4zgQ3vXzz5xXbR; Sun, 25 May 2025 13:06: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4zgQ2p7yz44HP; Sun, 25 May 2025 13:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748178402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uD4F7fDQuid/LHsbrDPAWs3afnE0VX36yS9ZJg1VTuQ=; b=RSCadujg/VHwtkHqPERwN3+u55U0vj5X3AGaz5dZQUrYQzpg18r+dIehqI9QYNpUfdHRcN wI6YuV/XCoLVgqDtKEb6wdmEHDLznz8DfMoOSVRMUm9TlmvzSH1eyPB2wC+eSVKBl6SWd1 B5r8f2A7LdMGgI6m5ENVPIgFl/UsBQieFmqGFocPo3s3gGHG477KtuoQnX323AIw8+p73X kwuu9HjeI2JjiiFr8mIK23kAz1JOXGW5bWBzHP7rVs1JhRFuj1p8wcDbhnY/ImwdIsbTth B7chCX6WIARlyXWDVyeWO3buOpdSZ/vXmG/qAH3Cbl/UjsLIEnGggHsItdESzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748178402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uD4F7fDQuid/LHsbrDPAWs3afnE0VX36yS9ZJg1VTuQ=; b=KbdFdmf6fYbjOFND/ROilog+syfNaJte0oo9mODj4B5W0yFHVEIiEr8l56NIth3d+Aqhhv f35c/EV0CQ4hEw1rGviWJkETFuDANHbX+AZhUYGOHkw6T3m7RU6KTDxJ+T/prQmeAmzQh3 8W269NA8MJQpA3OJrgN1tTr1DtT/PLzZEkE2/2gpshaj0LRl4YfP7YNe8EIVQgsA8V6kop 3fmCRP9W2mUgQoUag0NXi8sXmN7BOpDzJwg3i3EceirbyR/VngIC9YD6EbShrKegOtluC2 4uVw1kwyWijRJnM7qjYqUBbuwK7bkL9hdqyUeRVZ8T04XmTN/u0udovUvUp2eQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748178402; a=rsa-sha256; cv=none; b=gyDJwMzuqVpsPy3miMwRzTJj7M8hkvJza6bVeh2VWNBxsztAMIYFP9yUu1pv/mMAolC2+k Gu/abG0QXeT3joJ/AjbGIAhn2WsUAPZjNVkWf5pu5RxKnWtGEH9T3DgEymPzGLBERcA+qq IHlZ0uA0j+G2Zw/8m3a8OYWy1NLQNuGidml8QDTQj8MpVZO1MSb9nQEqusX1m97kPJGw3g lMi79ghbDcoU0OA/6Ge85PMsRFNEnmgwY5ylQPp/de87h5//O6FwJKXz/fHrgVugPItOqz 0BWrU1poUiCewRjj+Ldkauuz1v76mH6aRsrmxgyhfXWPc9cW+sFeGppJWkfhhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b4zgQ2J5Qz78B; Sun, 25 May 2025 13:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PD6gbx071113; Sun, 25 May 2025 13:06:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PD6gCV071110; Sun, 25 May 2025 13:06:42 GMT (envelope-from git) Date: Sun, 25 May 2025 13:06:42 GMT Message-Id: <202505251306.54PD6gCV071110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: a28f7eb863d5 - main - release: Avoid pipe in tarball creation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a28f7eb863d52140088c4956797d97a207ac7e6e Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a28f7eb863d52140088c4956797d97a207ac7e6e commit a28f7eb863d52140088c4956797d97a207ac7e6e Author: Ed Maste AuthorDate: 2025-05-22 18:52:34 +0000 Commit: Ed Maste CommitDate: 2025-05-25 01:00:41 +0000 release: Avoid pipe in tarball creation Previously errors from invoking tar for src.txz or ports.txz were eaten by the pipeline. If something fails in creating these tarballs we want the build to fail rather than producing subtly broken artifacts. Use ${TAR_XZ_CMD} to add -J to tar's commandline rather than | xz. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50459 --- release/Makefile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/release/Makefile b/release/Makefile index a5f5b65a562e..cf941534995b 100644 --- a/release/Makefile +++ b/release/Makefile @@ -158,19 +158,18 @@ kernel.txz: src.txz: mkdir -p ${DISTDIR}/usr ln -fs ${WORLDDIR} ${DISTDIR}/usr/src - ( cd ${DISTDIR} && ${TAR_CMD} cLvf - --exclude .svn --exclude .zfs \ + ( cd ${DISTDIR} && ${TAR_XZ_CMD} -cLvf ${.OBJDIR}/src.txz \ + --exclude .svn --exclude .zfs \ --exclude .git --exclude @ --exclude usr/src/release/dist \ - --exclude usr/src/release/obj usr/src | \ - ${XZ_CMD} > ${.OBJDIR}/src.txz ) + --exclude usr/src/release/obj usr/src ) ports.txz: mkdir -p ${DISTDIR}/usr ln -fs ${PORTSDIR} ${DISTDIR}/usr/ports - ( cd ${DISTDIR} && ${TAR_CMD} cLvf - \ + ( cd ${DISTDIR} && ${TAR_XZ_CMD} -cLvf ${.OBJDIR}/ports.txz \ --exclude .git --exclude .svn \ --exclude usr/ports/distfiles --exclude usr/ports/packages \ - --exclude 'usr/ports/INDEX*' --exclude work usr/ports | \ - ${XZ_CMD} > ${.OBJDIR}/ports.txz ) + --exclude 'usr/ports/INDEX*' --exclude work usr/ports ) .if defined(PKGBASE) PKGBASE_REPO= pkgbase-repo From nobody Sun May 25 14:20:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b51JB5rq6z5xbvr; Sun, 25 May 2025 14:20: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b51JB4jHxz3XTL; Sun, 25 May 2025 14:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748182810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MBcZWRti/yj5g21k1YRxwOvJ8VN1VkSK/Aydk+6WlR8=; b=eePnGpPCcO3Fk1hYZHXqlddL3nCdMKnca6f4cEayZewWfrFWNXXJZBSU7KgoMDqzC7SGwk OEoqQCli4XCUufO9b5VHaTK8O6BemG46vOMiWUcL8uVGKwu30R6ZVR4gf9Z+zH7h0381Pd Tz2RuW5M08CAS5z9ih8AenKI4+cyz4hmwmBCB6idR1xZnZed05igVaa9XqgOnU4lgZMglZ MhV5Yen8SDqR1R3ExHJ0JN2Cint+AbJ93G/tYSTuCUja++jIm4FGZeuJ/qSm24Jd+m2CfW GzZIZR0wz739sua+ljHeGM03iNEKnPZTUpomkkGaLdGrGpYlvdIoa0xcGOdHPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748182810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MBcZWRti/yj5g21k1YRxwOvJ8VN1VkSK/Aydk+6WlR8=; b=ENsgw63aagUQ62DAk94/Jb9Qd5hDlGw+TwKmESlXeT8yN632gV6zrKOGl23+E8Dz9LgLxz 593AZCHOaC4vjl08IBIN1tJcnvbgQYfOtpr9sVGcOTPvQa2Biwxz7QV4GMiMvkKLMEdjyG xumgweCfmLrEdu48YG88zFW2O4dBfrzYFN/P33rJ4HdiwK3XNEt+mbEDcx4Ee7sNX17O/e o37iOTpBnWzgX/zrzsploWB5UzwhCT/4HHoWl/GcJF1Gn6mCWgoHR5pymNpthhO9UpojoN jm/t5oMYD/lrfroUsxWPzKoDOq+uqOEf5A5+QG1tbWhhMyryBAmRdrR006HJqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748182810; a=rsa-sha256; cv=none; b=RJSkfo/y3Zj1qvi7rHVKjjzEvW6jD3iCAnsdn6ggbOJLX5Mq3ysDomplVAN2boImvRSkrs veXedzdjYMR/nAblqO4PH4nd0S+xWYOjOtK/WwnETXqiib1uaTZcasnRS/YUTc+1jcNd8c 0jSA7/Kesjwv+n9r/sA+rjsUx1ijbcL1U2EcDBvmrbVrOTzXAQeR2NpGTGsysR8OeOVEYr e/sg6FDUUIwIM+UGtPPKmIwTUHdF9hH3zLBlNQVbkMPb37p4xqt42aupMpvDnr1RIIHh6l OdgRb0jrCAS7Kk7m+QF3JTn26YxxpOqEqZpzWtzfdvFKktyqy9Dv+fRnYQ2SLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b51JB40RXz8gL; Sun, 25 May 2025 14:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PEKAS6006764; Sun, 25 May 2025 14:20:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PEKABs006759; Sun, 25 May 2025 14:20:10 GMT (envelope-from git) Date: Sun, 25 May 2025 14:20:10 GMT Message-Id: <202505251420.54PEKABs006759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 259eac0149f0 - main - efivar: Kill needless sys/cdefs.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 259eac0149f0d2c01e1fcbeba3be1ba6fca6f8e1 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=259eac0149f0d2c01e1fcbeba3be1ba6fca6f8e1 commit 259eac0149f0d2c01e1fcbeba3be1ba6fca6f8e1 Author: Warner Losh AuthorDate: 2025-05-01 22:25:16 +0000 Commit: Warner Losh CommitDate: 2025-05-25 13:49:32 +0000 efivar: Kill needless sys/cdefs.h Sponsored by: Netflix --- lib/libefivar/efivar-dp-format.c | 1 - lib/libefivar/efivar-dp-parse.c | 1 - lib/libefivar/efivar.c | 1 - lib/libefivar/uefi-dputil.c | 1 - 4 files changed, 4 deletions(-) diff --git a/lib/libefivar/efivar-dp-format.c b/lib/libefivar/efivar-dp-format.c index 3fa2833a7e7a..f2dcf1b91c01 100644 --- a/lib/libefivar/efivar-dp-format.c +++ b/lib/libefivar/efivar-dp-format.c @@ -28,7 +28,6 @@ * this file is taken from EDK2 and rototilled. */ -#include #include #include #include diff --git a/lib/libefivar/efivar-dp-parse.c b/lib/libefivar/efivar-dp-parse.c index 3382666730c4..51c134692f1e 100644 --- a/lib/libefivar/efivar-dp-parse.c +++ b/lib/libefivar/efivar-dp-parse.c @@ -28,7 +28,6 @@ * this file is taken from EDK2 and rototilled. */ -#include #include #include #include diff --git a/lib/libefivar/efivar.c b/lib/libefivar/efivar.c index a7cf13055bfe..c91bf5ea71bb 100644 --- a/lib/libefivar/efivar.c +++ b/lib/libefivar/efivar.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/lib/libefivar/uefi-dputil.c b/lib/libefivar/uefi-dputil.c index 7969054e2ce2..6e8f3aeca2ce 100644 --- a/lib/libefivar/uefi-dputil.c +++ b/lib/libefivar/uefi-dputil.c @@ -28,7 +28,6 @@ * this file is taken from EDK2 and rototilled. */ -#include #include #include #include From nobody Sun May 25 15:24:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b52kJ44jDz5xfkn; Sun, 25 May 2025 15:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b52kJ3TkMz3vHP; Sun, 25 May 2025 15:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sOcfrMwgJfuggWkcrkiNeKiXBASNGMsrKl9PFt/O6iA=; b=JhtQYFsBNU91q0n7HV+auY2laWlf8078jqXv7q6F4KtLWAeoLepFG2C64H3oab/QhayoeV efmbNgpDgP0VixBmlnXJHcRgO0RIeLjU+zNuDtgQhzk5ArGv1ZOwGHMjxbGgC5zRUckb7a LHlPUqGQBDBnC3ceAEXVE7f2gtImtDVHRdNeALHuG7ao1lrf23XxzofJZ43qha14dkvmiA 4jW0dQXkQaVJPldhC5jhlh4jwWX6inWgqnOGQxfHZ0NVI/0yQRHkppXQAtfmVWf4VLGIMO bSGtEoN971eC2FIWlnfsZJe52e3rkwQYD9PZcffBmkEPhKPqTxYm8Bw6nDyL2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sOcfrMwgJfuggWkcrkiNeKiXBASNGMsrKl9PFt/O6iA=; b=XjbTlODeNufS1fK1n/qIDeNJgxIbnk2tEnOIjBg2eUwSS9pbE/XFEz0mNMu53ZFeSzzDq2 Z/PW74RVqE7vzfiK5Klg0N0KLrOvEzorzLgfbfIAfUFHzAy1XrrZuHta6Ns/C5XJOr9x9C CeYZ7Nvf2ZMjAiS0JrcUIUb4c4pqWJWJUC33zrQsefH98xruZKqe6i/KPj0K40sfcBBiM3 XU+y4rWlS8tfKKOdpD0aH8OehwfMX4Nqxqg9XSMcH5xpaIDfYzoVClAzB81CeWzSqxnT1D 0MVz30OV7xXce23h0T6OCUKhX/PS3/RTPQhGClE/hMgXyjOMOmWxjCnWfKK3cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748186664; a=rsa-sha256; cv=none; b=Rxd/IzqUMGcRqtUwXCQ3RwqmHYDTOZKIpgQT+l93QLb0uX7cG+EPvfZZyKsDBSZZbFZMG/ BPaWfG20AelYj0kUaKHCN+mTBwa2P2pzgdVY/j76dQKELz9LQU+GhW/3OAlayrt46SbUVN j2ic51Kgm41WW0+x8NYqpVAXW/629qVsB6I3nk59ViBfzYCQT/mpPD7u+6MulveJ5tBGz8 ZS9mL8kLKbf/2I7vKA8agwVvoOO5DfoZy7ha/wSqCwf34CVFG0askooYP+ok7m1Z3H1RS8 lGe317dGFSFBWxnzh5ONS/2D1Aos98v8obQg/e+ctQ2i6tjTYe7Dx9wKMA6Zyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b52kJ32YlzBfT; Sun, 25 May 2025 15:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PFOOst031763; Sun, 25 May 2025 15:24:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PFOOqR031760; Sun, 25 May 2025 15:24:24 GMT (envelope-from git) Date: Sun, 25 May 2025 15:24:24 GMT Message-Id: <202505251524.54PFOOqR031760@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: e035e8661c37 - main - net80211: move references to IF_LLADDR() into ieee80211_freebsd.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e035e8661c37b9f0669d31e146ec4afb73f4f435 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=e035e8661c37b9f0669d31e146ec4afb73f4f435 commit e035e8661c37b9f0669d31e146ec4afb73f4f435 Author: Adrian Chadd AuthorDate: 2025-04-25 18:27:29 +0000 Commit: Adrian Chadd CommitDate: 2025-05-25 15:23:02 +0000 net80211: move references to IF_LLADDR() into ieee80211_freebsd.c * Move references to IF_LLADDR() into ieee80211_freebsd.c * Add a comment on one that I need to verify before I move it * Implement ieee80211_vap_sync_mac_address() which syncs the VAP mac address from the network interface MAC address. This uses FreeBSD-isms (network epoch, IF_LLADDR()) so it shouldn't be in net80211 itself. Differential Revision: https://reviews.freebsd.org/D50023 --- sys/net80211/ieee80211.c | 3 ++- sys/net80211/ieee80211_freebsd.c | 44 ++++++++++++++++++++++++++++++++++++++++ sys/net80211/ieee80211_freebsd.h | 3 +++ sys/net80211/ieee80211_ioctl.c | 18 +--------------- sys/net80211/ieee80211_sta.c | 4 ++-- 5 files changed, 52 insertions(+), 20 deletions(-) diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index dbc7023c7fee..e64568abb024 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -722,7 +722,8 @@ ieee80211_vap_attach(struct ieee80211vap *vap, ifm_change_cb_t media_change, ifp->if_baudrate = IF_Mbps(maxrate); ether_ifattach(ifp, macaddr); - IEEE80211_ADDR_COPY(vap->iv_myaddr, IF_LLADDR(ifp)); + /* Do initial MAC address sync */ + ieee80211_vap_copy_mac_address(vap); /* hook output method setup by ether_ifattach */ vap->iv_output = ifp->if_output; ifp->if_output = ieee80211_output; diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index 6979e601ce41..5098529beb47 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -1192,6 +1192,50 @@ ieee80211_debugnet_poll(struct ifnet *ifp, int count) } #endif +/** + * @brief Check if the MAC address was changed by the upper layer. + * + * This is specifically to handle cases like the MAC address + * being changed via an ioctl (eg SIOCSIFLLADDR). + * + * @param vap VAP to sync MAC address for + */ +void +ieee80211_vap_sync_mac_address(struct ieee80211vap *vap) +{ + struct epoch_tracker et; + const struct ifnet *ifp = vap->iv_ifp; + + /* + * Check if the MAC address was changed + * via SIOCSIFLLADDR ioctl. + * + * NB: device may be detached during initialization; + * use if_ioctl for existence check. + */ + NET_EPOCH_ENTER(et); + if (ifp->if_ioctl == ieee80211_ioctl && + (ifp->if_flags & IFF_UP) == 0 && + !IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp))) + IEEE80211_ADDR_COPY(vap->iv_myaddr, IF_LLADDR(ifp)); + NET_EPOCH_EXIT(et); +} + +/** + * @brief Initial MAC address setup for a VAP. + * + * @param vap VAP to sync MAC address for + */ +void +ieee80211_vap_copy_mac_address(struct ieee80211vap *vap) +{ + struct epoch_tracker et; + + NET_EPOCH_ENTER(et); + IEEE80211_ADDR_COPY(vap->iv_myaddr, IF_LLADDR(vap->iv_ifp)); + NET_EPOCH_EXIT(et); +} + /* * Module glue. * diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index ed913f7b3661..bdc78fe99d36 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -540,6 +540,9 @@ struct debugnet80211_methods { #define DEBUGNET80211_SET(ic, driver) #endif /* DEBUGNET */ +void ieee80211_vap_sync_mac_address(struct ieee80211vap *); +void ieee80211_vap_copy_mac_address(struct ieee80211vap *); + #endif /* _KERNEL */ /* XXX this stuff belongs elsewhere */ diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index 6c30325e5e32..d70004c0fb7a 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -3631,24 +3631,8 @@ ieee80211_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) IEEE80211_UNLOCK(ic); /* Wait for parent ioctl handler if it was queued */ if (wait) { - struct epoch_tracker et; - ieee80211_waitfor_parent(ic); - - /* - * Check if the MAC address was changed - * via SIOCSIFLLADDR ioctl. - * - * NB: device may be detached during initialization; - * use if_ioctl for existence check. - */ - NET_EPOCH_ENTER(et); - if (ifp->if_ioctl == ieee80211_ioctl && - (ifp->if_flags & IFF_UP) == 0 && - !IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp))) - IEEE80211_ADDR_COPY(vap->iv_myaddr, - IF_LLADDR(ifp)); - NET_EPOCH_EXIT(et); + ieee80211_vap_sync_mac_address(vap); } break; case SIOCADDMULTI: diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index 887eb81dd3c4..0dd007fef508 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -634,10 +634,10 @@ sta_input(struct ieee80211_node *ni, struct mbuf *m, * XXX process data frames whilst scanning. */ if ((! IEEE80211_IS_MULTICAST(wh->i_addr1)) - && (! IEEE80211_ADDR_EQ(wh->i_addr1, IF_LLADDR(ifp)))) { + && (! IEEE80211_ADDR_EQ(wh->i_addr1, vap->iv_myaddr))) { IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, bssid, NULL, "not to cur sta: lladdr=%6D, addr1=%6D", - IF_LLADDR(ifp), ":", wh->i_addr1, ":"); + vap->iv_myaddr, ":", wh->i_addr1, ":"); vap->iv_stats.is_rx_wrongbss++; goto out; } From nobody Sun May 25 15:24:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b52kK74dPz5xfyY; Sun, 25 May 2025 15:24:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b52kK4PY1z3vFC; Sun, 25 May 2025 15:24:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=el4scnkYmm/c3jX6G9u0ZkDDLSdABeieiA+eXdSh+RU=; b=Cq2ezxasqg1KaZ6U/O3ob4Wcv8unkF3n0F7Gr4vwsmllov+5Ln6VAtOFrHCNhx8Exe4okg jcCx4QsfEusi6XH+hYwdLEh/CjxN3pyc6iJuHqK6DfyqrOcNpW6p4a4uwQHBFIIOv2I7Q0 t3yNd9t0gCiNycGTkD64RoggtgPWRcWGIrJIabRtQEuqMvRDjUqIddIPBZJ57waP7YdskS rCm+JYlqtDrP8tEskUvjufAblp4bRVMz25xEhhL5Q1cl/0r+rkE05njMdwm1el+WGtk63i 8fsLe6cKUErG76AH9XxWbJrvwPo+V+xc2XgaG2f369Ww49wqpgQNVX+Ewf2mRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=el4scnkYmm/c3jX6G9u0ZkDDLSdABeieiA+eXdSh+RU=; b=xbclttM4JEbM8QKX816C0G8AvpU6PJ8UuFAUGm1FXkNUJpWrPANBp42YsBAGfUnv7Kn5z3 iwf80TY+RtLMPybonSwJnqA2J4etQ31lSSbN56I6CLARKSwiW5b1KofXs3brjK62N7WPRM b+d99QaR6DeN60tBc1Rew0myefuQ0CPYHU8Qf/vTBmPyunBScAXiehu6XMaNFId8P5kqRg rM9ZVTBGMkTKf84MSzpXP60ZGVjA+Be1qQM1WyjozKLr090urS648ahul2dKT02BShV1sH rkYy9EP7F8v1YrzLFKhy+M/W+YIybY5LHlcb2JRhwuHGuMN5Iv2VrNT2MmKlAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748186665; a=rsa-sha256; cv=none; b=m4tg2LSMlocn3egpGnt8WgB7nYAPmE+XtVXRfPKCwlyW+H0dBqoY2MUJIqGmm9WDAbuBbi PgJToBMJAeNGPVAXfdkAiD7etcC5FPAEOUOo0Z5+P0NDK/OeVYyt2rSmTkKq/BWVbAiQOG 4nSPnnV6K3znmCDg96EHJDpAR6t+3HHKDQ1QgUJjrcuMv7INnDPn1uj0CD6IO/xBsrkJQO /D+NSkgA+Ma/1K3Sg3ZltotPSnxTtMQozjEx4Cnn+i675LJO8+xCvFn1FT73EHHDdxsWIQ YNQqQ0iDqxZJl8YyPqt584MJA4E2az1X3a360F46N5VvXL6Rqjw7oKAfbAhDWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b52kK3yxGzBRS; Sun, 25 May 2025 15:24:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PFOPZg031797; Sun, 25 May 2025 15:24:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PFOPs8031793; Sun, 25 May 2025 15:24:25 GMT (envelope-from git) Date: Sun, 25 May 2025 15:24:25 GMT Message-Id: <202505251524.54PFOPs8031793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 3f6a84ffbf39 - main - net80211: refactor the if_input call into ieee80211_vap_deliver_data() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f6a84ffbf39c0e5e7673e6f73cf439507799e5e Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3f6a84ffbf39c0e5e7673e6f73cf439507799e5e commit 3f6a84ffbf39c0e5e7673e6f73cf439507799e5e Author: Adrian Chadd AuthorDate: 2025-05-18 04:16:55 +0000 Commit: Adrian Chadd CommitDate: 2025-05-25 15:23:14 +0000 net80211: refactor the if_input call into ieee80211_vap_deliver_data() Refactor the two places where NET_EPOCH_ENTER; if_input; NET_EPOCH_EXIT are called into a single spot in ieee80211_freebsd.c. This removes both if_input references and puts all the NET_EPOCH stuff into ieee80211_freebsd.c. Differential Revision: https://reviews.freebsd.org/D50404 Reviewed by: bz --- sys/net80211/ieee80211_freebsd.c | 21 +++++++++++++++++++++ sys/net80211/ieee80211_freebsd.h | 1 + sys/net80211/ieee80211_hostap.c | 7 ++----- sys/net80211/ieee80211_input.c | 6 ++---- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index 5098529beb47..0a51063e1d9a 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -1236,6 +1236,27 @@ ieee80211_vap_copy_mac_address(struct ieee80211vap *vap) NET_EPOCH_EXIT(et); } +/** + * @brief Deliver data into the upper ifp of the VAP interface + * + * This delivers an 802.3 frame from net80211 up to the operating + * system network interface layer. + * + * @param vap the current VAP + * @param m the 802.3 frame to pass up to the VAP interface + * + * Note: this API consumes the mbuf. + */ +void +ieee80211_vap_deliver_data(struct ieee80211vap *vap, struct mbuf *m) +{ + struct epoch_tracker et; + + NET_EPOCH_ENTER(et); + if_input(vap->iv_ifp, m); + NET_EPOCH_EXIT(et); +} + /* * Module glue. * diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index bdc78fe99d36..442c5edef52d 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -542,6 +542,7 @@ struct debugnet80211_methods { void ieee80211_vap_sync_mac_address(struct ieee80211vap *); void ieee80211_vap_copy_mac_address(struct ieee80211vap *); +void ieee80211_vap_deliver_data(struct ieee80211vap *, struct mbuf *); #endif /* _KERNEL */ diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 1573d83f4cb4..e9105f2e7505 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -416,8 +416,6 @@ hostap_deliver_data(struct ieee80211vap *vap, (void) ieee80211_vap_xmitpkt(vap, mcopy); } if (m != NULL) { - struct epoch_tracker et; - /* * Mark frame as coming from vap's interface. */ @@ -434,9 +432,8 @@ hostap_deliver_data(struct ieee80211vap *vap, m->m_pkthdr.ether_vtag = ni->ni_vlan; m->m_flags |= M_VLANTAG; } - NET_EPOCH_ENTER(et); - ifp->if_input(ifp, m); - NET_EPOCH_EXIT(et); + + ieee80211_vap_deliver_data(vap, m); } } diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 925918c872dc..7befff22bd6f 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -274,7 +274,6 @@ void ieee80211_deliver_data(struct ieee80211vap *vap, struct ieee80211_node *ni, struct mbuf *m) { - struct epoch_tracker et; struct ether_header *eh = mtod(m, struct ether_header *); struct ifnet *ifp = vap->iv_ifp; @@ -305,9 +304,8 @@ ieee80211_deliver_data(struct ieee80211vap *vap, m->m_pkthdr.ether_vtag = ni->ni_vlan; m->m_flags |= M_VLANTAG; } - NET_EPOCH_ENTER(et); - ifp->if_input(ifp, m); - NET_EPOCH_EXIT(et); + + ieee80211_vap_deliver_data(vap, m); } struct mbuf * From nobody Sun May 25 15:24:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b52kM0qk9z5xfyc; Sun, 25 May 2025 15:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b52kL5Yhjz3vFF; Sun, 25 May 2025 15:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2IwoaiDJeyt2hQ2JTJlhIsQWT6XjTLoJYJIJ32rkWeM=; b=jNUWbxkqRXcgqbPOLpCZAFOk+OgE8lrKORd2REye6/ikZIB1Imnxx+RfFoSkW4Ge4XhcsG qMgtxlPLZPobuxQLS5wWfpfsS6igw539T7C6ZdWjKNLq2tP6/uO9GWXbnowQn7wq1IHCYw MkJbVCLU6heAxF2MSdifJM+jm5svwlWqIS2i8BvbwASgkAidFpo9kJENQ4OhlyMgeSP7Qe mI1kJdiNTeU8iDhY5mM3YolkvQkT+9MBc3m0hSdDZ4S2LR0mZy6AXAjttCjkR+rk1JUyuU MlGzzQwBccQdvokRgPIo9Wt13Bd194rtBZ/1hiRsUM5+V/IRC0gBMEIOPt7gGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2IwoaiDJeyt2hQ2JTJlhIsQWT6XjTLoJYJIJ32rkWeM=; b=u/ZY3va2c2P5DvEVcPwyYkW+FEzqiIW4PYbKeIAc5R/lluKamMKo6PvMqJddbn5IUPrjRe 7Ume71OTSsu/rYrIWi59gxPFHtPEfcayhVkNHJTU5GnyXZJn3PTVWFe5Owigd/lKT4GqZ3 dfKWdoYGRciHYXOsxEJZrboJKh1mxsCqHw6/olfvVTo/77d1ySmy4kD7mEcTADd8FBgaUN gO6DPdWHGlhw9320P8nu772Fnlpudcdr8HEmrGk+Lvmv2lqm80bISbYeZMWZiXZEjVE6TE eFcff82BwjfFgL5mt2x00HajMMvKAkjhjeFlH2McnW5FxlmUmzOKG14m/ivL9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748186666; a=rsa-sha256; cv=none; b=CA37D7Vw8GqvxLRmg7bwzpTLzTsLCC9Xo0lnvCGV5sKAm4BLz3wM4jZieynqV9hPcdzx1r qwSmjsjRL9QkRab/22ytgQ6b7+dpyazOreQXxaAWpo/B9/G7Xp46VL5tpa3U9XbsxUS8uN bZtyWJ6MuE5QS98Rsmp31fggW4tt9GLl9qylseiAD1wzc8H8UU1+Q/ocANt29e7ORPmDIe gNqFGPzvz/MHxXHP0Sqp2Opeyjz+gTMKfw3Zv4ePoflb4Scb6tyQrH5s2e/VNlNOmtcikV OjqxbIftYigZKToBhDAb3LpXgbyz3s5QZll7bZTGJo5GTdV6caPZqDllVH950A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b52kL4znLzC14; Sun, 25 May 2025 15:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PFOQIQ031836; Sun, 25 May 2025 15:24:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PFOQ2t031833; Sun, 25 May 2025 15:24:26 GMT (envelope-from git) Date: Sun, 25 May 2025 15:24:26 GMT Message-Id: <202505251524.54PFOQ2t031833@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: ed987e16887b - main - net80211: migrate if_flags, if_drvflags out of most source files List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ed987e16887b968210b69de6caf50a91f7d020e9 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=ed987e16887b968210b69de6caf50a91f7d020e9 commit ed987e16887b968210b69de6caf50a91f7d020e9 Author: Adrian Chadd AuthorDate: 2025-05-18 04:32:36 +0000 Commit: Adrian Chadd CommitDate: 2025-05-25 15:23:34 +0000 net80211: migrate if_flags, if_drvflags out of most source files Migrate both if_flags and if_drvflags out of most source files. Ideally it'd only be referenced in ieee80211_freebsd.c, but for now it also ignores references in ieee80211_ioctl.c. * migrate if_flags set to if_setflags * migrate if_flags get to if_getflags * migrate if_drvflags get to if_getdrvflags * add ieee80211_vap_ifp_check_is_monitor() and ieee8021_vap_ifp_check_is_simplex() to abstract out the IFF_MONITOR and IFF_SIMPLEX flag checks. * add ieee80211_vap_ifp_check_is_running() and ieee80211_vap_ifp_set_running_state() to represent what IFF_DRV_RUNNING means (ie, mark the underlying OS network interface as active and inactive.) Notably this doesn't yet clear up OACTIVE; I need to better describe that. Differential Revision: https://reviews.freebsd.org/D50405 Reviewed by: bz --- sys/net80211/ieee80211.c | 2 +- sys/net80211/ieee80211_freebsd.c | 57 ++++++++++++++++++++++++++++++++++++++++ sys/net80211/ieee80211_freebsd.h | 10 ++++--- sys/net80211/ieee80211_ioctl.c | 2 +- sys/net80211/ieee80211_output.c | 2 +- sys/net80211/ieee80211_proto.c | 11 ++++---- sys/net80211/ieee80211_sta.c | 4 +-- 7 files changed, 74 insertions(+), 14 deletions(-) diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index e64568abb024..e4de0b439ac0 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -564,7 +564,7 @@ ieee80211_vap_setup(struct ieee80211com *ic, struct ieee80211vap *vap, ifp = if_alloc(IFT_ETHER); if_initname(ifp, name, unit); ifp->if_softc = vap; /* back pointer */ - ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST; + if_setflags(ifp, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST); ifp->if_transmit = ieee80211_vap_transmit; ifp->if_qflush = ieee80211_vap_qflush; ifp->if_ioctl = ieee80211_ioctl; diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index 0a51063e1d9a..aa3ae82d089f 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -1257,6 +1257,63 @@ ieee80211_vap_deliver_data(struct ieee80211vap *vap, struct mbuf *m) NET_EPOCH_EXIT(et); } +/** + * @brief Return whether the VAP is configured with monitor mode + * + * This checks the operating system layer for whether monitor mode + * is enabled. + * + * @param vap the current VAP + * @retval true if the underlying interface is in MONITOR mode, false otherwise + */ +bool +ieee80211_vap_ifp_check_is_monitor(struct ieee80211vap *vap) +{ + return ((if_getflags(vap->iv_ifp) & IFF_MONITOR) != 0); +} + +/** + * @brief Return whether the VAP is configured in simplex mode. + * + * This checks the operating system layer for whether simplex mode + * is enabled. + * + * @param vap the current VAP + * @retval true if the underlying interface is in SIMPLEX mode, false otherwise + */ +bool +ieee80211_vap_ifp_check_is_simplex(struct ieee80211vap *vap) +{ + return ((if_getflags(vap->iv_ifp) & IFF_SIMPLEX) != 0); +} + +/** + * @brief Return if the VAP underlying network interface is running + * + * @param vap the current VAP + * @retval true if the underlying interface is running; false otherwise + */ +bool +ieee80211_vap_ifp_check_is_running(struct ieee80211vap *vap) +{ + return ((if_getdrvflags(vap->iv_ifp) & IFF_DRV_RUNNING) != 0); +} + +/** + * @brief Change the VAP underlying network interface state + * + * @param vap the current VAP + * @param state true to mark the interface as RUNNING, false to clear + */ +void +ieee80211_vap_ifp_set_running_state(struct ieee80211vap *vap, bool state) +{ + if (state) + if_setdrvflagbits(vap->iv_ifp, IFF_DRV_RUNNING, 0); + else + if_setdrvflagbits(vap->iv_ifp, 0, IFF_DRV_RUNNING); +} + /* * Module glue. * diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index 442c5edef52d..449ff8f05202 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -262,9 +262,9 @@ void ieee80211_flush_ifq(struct ifqueue *, struct ieee80211vap *); void ieee80211_vap_destroy(struct ieee80211vap *); const char * ieee80211_get_vap_ifname(struct ieee80211vap *); -#define IFNET_IS_UP_RUNNING(_ifp) \ - (((_ifp)->if_flags & IFF_UP) && \ - ((_ifp)->if_drv_flags & IFF_DRV_RUNNING)) +#define IFNET_IS_UP_RUNNING(_ifp) \ + (((if_getflags(_ifp) & IFF_UP) != 0) && \ + ((if_getdrvflags(_ifp) & IFF_DRV_RUNNING) != 0)) #define msecs_to_ticks(ms) MSEC_2_TICKS(ms) #define ticks_to_msecs(t) TICKS_2_MSEC(t) @@ -543,6 +543,10 @@ struct debugnet80211_methods { void ieee80211_vap_sync_mac_address(struct ieee80211vap *); void ieee80211_vap_copy_mac_address(struct ieee80211vap *); void ieee80211_vap_deliver_data(struct ieee80211vap *, struct mbuf *); +bool ieee80211_vap_ifp_check_is_monitor(struct ieee80211vap *); +bool ieee80211_vap_ifp_check_is_simplex(struct ieee80211vap *); +bool ieee80211_vap_ifp_check_is_running(struct ieee80211vap *); +void ieee80211_vap_ifp_set_running_state(struct ieee80211vap *, bool); #endif /* _KERNEL */ diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index d70004c0fb7a..7e698ba5cdb8 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -3619,7 +3619,7 @@ ieee80211_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) wait = 1; ieee80211_start_locked(vap); } - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + } else if (ieee80211_vap_ifp_check_is_running(vap)) { /* * Stop ourself. If we are the last vap to be * marked down the parent will also be taken down. diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 1f726f75b6c6..1b5b3373685f 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -777,7 +777,7 @@ ieee80211_output(struct ifnet *ifp, struct mbuf *m, if (error) senderr(error); #endif - if (ifp->if_flags & IFF_MONITOR) + if (ieee80211_vap_ifp_check_is_monitor(vap)) senderr(ENETDOWN); if (!IFNET_IS_UP_RUNNING(ifp)) senderr(ENETDOWN); diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 823f1ab3f486..14c0d2beaad5 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -1976,7 +1976,6 @@ ieee80211_start_reset_chan(struct ieee80211vap *vap) void ieee80211_start_locked(struct ieee80211vap *vap) { - struct ifnet *ifp = vap->iv_ifp; struct ieee80211com *ic = vap->iv_ic; IEEE80211_LOCK_ASSERT(ic); @@ -1985,7 +1984,7 @@ ieee80211_start_locked(struct ieee80211vap *vap) IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "start running, %d vaps running\n", ic->ic_nrunning); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if (!ieee80211_vap_ifp_check_is_running(vap)) { /* * Mark us running. Note that it's ok to do this first; * if we need to bring the parent device up we defer that @@ -1994,7 +1993,7 @@ ieee80211_start_locked(struct ieee80211vap *vap) * through ieee80211_start_all at which point we'll come * back in here and complete the work. */ - ifp->if_drv_flags |= IFF_DRV_RUNNING; + ieee80211_vap_ifp_set_running_state(vap, true); ieee80211_notify_ifnet_change(vap, IFF_DRV_RUNNING); /* @@ -2099,7 +2098,6 @@ void ieee80211_stop_locked(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; - struct ifnet *ifp = vap->iv_ifp; IEEE80211_LOCK_ASSERT(ic); @@ -2107,8 +2105,9 @@ ieee80211_stop_locked(struct ieee80211vap *vap) "stop running, %d vaps running\n", ic->ic_nrunning); ieee80211_new_state_locked(vap, IEEE80211_S_INIT, -1); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; /* mark us stopped */ + if (ieee80211_vap_ifp_check_is_running(vap)) { + /* mark us stopped */ + ieee80211_vap_ifp_set_running_state(vap, false); ieee80211_notify_ifnet_change(vap, IFF_DRV_RUNNING); if (--ic->ic_nrunning == 0) { IEEE80211_DPRINTF(vap, diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index 0dd007fef508..062b5610d082 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -681,7 +681,7 @@ sta_input(struct ieee80211_node *ni, struct mbuf *m, } resubmit_ampdu: if (dir == IEEE80211_FC1_DIR_FROMDS) { - if ((ifp->if_flags & IFF_SIMPLEX) && + if (ieee80211_vap_ifp_check_is_simplex(vap) && isfromds_mcastecho(vap, wh)) { /* * In IEEE802.11 network, multicast @@ -716,7 +716,7 @@ sta_input(struct ieee80211_node *ni, struct mbuf *m, vap->iv_stats.is_rx_wrongdir++; goto out; } - if ((ifp->if_flags & IFF_SIMPLEX) && + if (ieee80211_vap_ifp_check_is_simplex(vap) && isdstods_mcastecho(vap, wh)) { /* * In IEEE802.11 network, multicast From nobody Sun May 25 15:24:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b52kN1J2Bz5xfYR; Sun, 25 May 2025 15:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b52kM687Yz3vKW; Sun, 25 May 2025 15:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdAH7ragRJYLQE/p3eQuDgzfskicSmFMi8/TAb1vxY0=; b=qelZ5t1jJz9M15hw99nIsZMG1ve1i6AgiNiA9XF1zEcvYjCMT9SY6EMB6M7o6ZBcNRHUCV bYXZIVR5k2ssuIBDGjMCi3LjoPvQfcB1p37I+VxUH9jMHjAlbQDKFBGrPqFb/kF01HM1hu O6bRkqVjATzURzyawToTP1BFx4iBDQqZFu/NIkPXGWhWVPh0ejN8bzyMB5CC8o9P6pHLcX cfMCbhXCOpqPGA35/rdYW03kPhYAcZ9k0a+y54WMv4TOe/meBDQuj2gJ0yFDRLVcgPE40W OzmDJGFD+p2PqPmcFMgQjGsE/4SGsNO8mE6b4JjuYPFT03q9NEXP30Y9rjNdTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdAH7ragRJYLQE/p3eQuDgzfskicSmFMi8/TAb1vxY0=; b=XQU5r+AYrtOrC73Eix4uPkb+nYVRY7Q+faY7/Ot36ONHtTnB3OIS4VsYquQWwf7y7rsQYq XbofW2Ps/eIsJQo/0cH2evwQBmTkB/+K52FOkbRY/nu+NNjFxZG8n3d5ZiQAjW0DfEqwGf qFJMMU2fhpMN2UX+msqmjxG/SCSqCB4slnA6CmR+totFU8pzZTBmq38RPnm9nv0R1vG8e2 6oI3MGfgTD0Kqxipbp298/VW0itVCGetMl+nKX9Zofi2a7XSNKMfAoHgxQAOjxctS0SCpU JL4Acz822m9VvmcGqILB4ouSHJ8bRKBC4bOjZnfJ2mT+NbAzsxPWaYzyfN5gcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748186667; a=rsa-sha256; cv=none; b=HfUDekkqD5imvjsRO5PD+eTI64BgtTxeHprV6tXPSvMQhgnb75rq7/N9+e+neF6NXWGgdm rDnPbvUbDGCHMHcIx8GCOQXMexh2Ewdy06ZWw5H8L16FJYuuNrD9cDsWejdlxoNRQsr18b iEJpaAQMmQ2pOWdg1qP+FBFyG7IkzcyHbW3EYLpDbAOeKQlQTOVfz0wS2DJx31kZgrOZ1G aFupzw6/mpg6n1mvzjt6U2VtOeozdeZZVpS3PmpZw0sbxXc9a+Wr1Mzuac/cjqlpQFt8or 6wxIpDGXX2EOfqkv7RBVgbyXJPFCc/CGVchXse119StS4t6eZg1ySH/27sE3kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b52kM5lQVzBVf; Sun, 25 May 2025 15:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PFORgm031872; Sun, 25 May 2025 15:24:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PFORu8031869; Sun, 25 May 2025 15:24:27 GMT (envelope-from git) Date: Sun, 25 May 2025 15:24:27 GMT Message-Id: <202505251524.54PFORu8031869@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: a278d11a60e0 - main - net80211: refactor out ifp->if_broadcastaddr into ieee80211_freebsd.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a278d11a60e05d62ab91a6fe0fc3aedbee2bb295 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=a278d11a60e05d62ab91a6fe0fc3aedbee2bb295 commit a278d11a60e05d62ab91a6fe0fc3aedbee2bb295 Author: Adrian Chadd AuthorDate: 2025-05-18 04:44:29 +0000 Commit: Adrian Chadd CommitDate: 2025-05-25 15:23:55 +0000 net80211: refactor out ifp->if_broadcastaddr into ieee80211_freebsd.c * create ieee80211_vap_get_broadcast_address() to fetch the broadcast MAC address for the given VAP * refactor references to ifp->if_broadcastaddr -> ieee80211_vap_get_broadcast_address() Differential Revision: https://reviews.freebsd.org/D50406 Reviewed by: bz --- sys/net80211/ieee80211_adhoc.c | 3 ++- sys/net80211/ieee80211_freebsd.c | 12 ++++++++++++ sys/net80211/ieee80211_freebsd.h | 1 + sys/net80211/ieee80211_hostap.c | 9 +++++---- sys/net80211/ieee80211_ioctl.c | 6 ++++-- sys/net80211/ieee80211_output.c | 4 ++-- sys/net80211/ieee80211_scan_sw.c | 11 ++++++----- sys/net80211/ieee80211_wds.c | 3 ++- 8 files changed, 34 insertions(+), 15 deletions(-) diff --git a/sys/net80211/ieee80211_adhoc.c b/sys/net80211/ieee80211_adhoc.c index 210c9fc75bd9..5f5642884726 100644 --- a/sys/net80211/ieee80211_adhoc.c +++ b/sys/net80211/ieee80211_adhoc.c @@ -395,7 +395,8 @@ adhoc_input(struct ieee80211_node *ni, struct mbuf *m, (subtype == IEEE80211_FC0_SUBTYPE_BEACON || subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP)) && !IEEE80211_ADDR_EQ(bssid, vap->iv_bss->ni_bssid) && - !IEEE80211_ADDR_EQ(bssid, ifp->if_broadcastaddr)) { + !IEEE80211_ADDR_EQ(bssid, + ieee80211_vap_get_broadcast_address(vap))) { /* not interested in */ IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, bssid, NULL, "%s", "not to bss"); diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index aa3ae82d089f..d0aa47859a3a 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -1314,6 +1314,18 @@ ieee80211_vap_ifp_set_running_state(struct ieee80211vap *vap, bool state) if_setdrvflagbits(vap->iv_ifp, 0, IFF_DRV_RUNNING); } +/** + * @brief Return the broadcast MAC address. + * + * @param vap The current VAP + * @retval a uint8_t array representing the ethernet broadcast address + */ +const uint8_t * +ieee80211_vap_get_broadcast_address(struct ieee80211vap *vap) +{ + return (if_getbroadcastaddr(vap->iv_ifp)); +} + /* * Module glue. * diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index 449ff8f05202..5afc093ba90c 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -547,6 +547,7 @@ bool ieee80211_vap_ifp_check_is_monitor(struct ieee80211vap *); bool ieee80211_vap_ifp_check_is_simplex(struct ieee80211vap *); bool ieee80211_vap_ifp_check_is_running(struct ieee80211vap *); void ieee80211_vap_ifp_set_running_state(struct ieee80211vap *, bool); +const uint8_t * ieee80211_vap_get_broadcast_address(struct ieee80211vap *); #endif /* _KERNEL */ diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index e9105f2e7505..1b246c428411 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -557,9 +557,10 @@ hostap_input(struct ieee80211_node *ni, struct mbuf *m, * Validate the bssid. */ if (!(type == IEEE80211_FC0_TYPE_MGT && - subtype == IEEE80211_FC0_SUBTYPE_BEACON) && + subtype == IEEE80211_FC0_SUBTYPE_BEACON) && !IEEE80211_ADDR_EQ(bssid, vap->iv_bss->ni_bssid) && - !IEEE80211_ADDR_EQ(bssid, ifp->if_broadcastaddr)) { + !IEEE80211_ADDR_EQ(bssid, + ieee80211_vap_get_broadcast_address(vap))) { /* not interested in */ IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, bssid, NULL, "%s", "not to bss"); @@ -1654,7 +1655,6 @@ static void ieee80211_deliver_l2uf(struct ieee80211_node *ni) { struct ieee80211vap *vap = ni->ni_vap; - struct ifnet *ifp = vap->iv_ifp; struct mbuf *m; struct l2_update_frame *l2uf; struct ether_header *eh; @@ -1669,7 +1669,8 @@ ieee80211_deliver_l2uf(struct ieee80211_node *ni) l2uf = mtod(m, struct l2_update_frame *); eh = &l2uf->eh; /* dst: Broadcast address */ - IEEE80211_ADDR_COPY(eh->ether_dhost, ifp->if_broadcastaddr); + IEEE80211_ADDR_COPY(eh->ether_dhost, + ieee80211_vap_get_broadcast_address(vap)); /* src: associated STA */ IEEE80211_ADDR_COPY(eh->ether_shost, ni->ni_macaddr); eh->ether_type = htons(sizeof(*l2uf) - sizeof(*eh)); diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index 7e698ba5cdb8..a72568e559aa 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -510,7 +510,8 @@ ieee80211_ioctl_getstainfo(struct ieee80211vap *vap, struct ieee80211req *ireq) error = copyin(ireq->i_data, macaddr, IEEE80211_ADDR_LEN); if (error != 0) return error; - if (IEEE80211_ADDR_EQ(macaddr, vap->iv_ifp->if_broadcastaddr)) { + if (IEEE80211_ADDR_EQ(macaddr, + ieee80211_vap_get_broadcast_address(vap))) { ni = NULL; } else { ni = ieee80211_find_vap_node(&vap->iv_ic->ic_sta, vap, macaddr); @@ -1371,7 +1372,8 @@ setmlme_dropsta(struct ieee80211vap *vap, int error = 0; /* NB: the broadcast address means do 'em all */ - if (!IEEE80211_ADDR_EQ(mac, vap->iv_ifp->if_broadcastaddr)) { + if (!IEEE80211_ADDR_EQ(mac, + ieee80211_vap_get_broadcast_address(vap))) { IEEE80211_NODE_LOCK(nt); ni = ieee80211_find_node_locked(nt, mac); IEEE80211_NODE_UNLOCK(nt); diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 1b5b3373685f..9466b4851881 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -3659,7 +3659,6 @@ ieee80211_beacon_alloc(struct ieee80211_node *ni) { struct ieee80211vap *vap = ni->ni_vap; struct ieee80211com *ic = ni->ni_ic; - struct ifnet *ifp = vap->iv_ifp; struct ieee80211_frame *wh; struct mbuf *m; int pktlen; @@ -3761,7 +3760,8 @@ ieee80211_beacon_alloc(struct ieee80211_node *ni) IEEE80211_FC0_SUBTYPE_BEACON; wh->i_fc[1] = IEEE80211_FC1_DIR_NODS; *(uint16_t *)wh->i_dur = 0; - IEEE80211_ADDR_COPY(wh->i_addr1, ifp->if_broadcastaddr); + IEEE80211_ADDR_COPY(wh->i_addr1, + ieee80211_vap_get_broadcast_address(vap)); IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr); IEEE80211_ADDR_COPY(wh->i_addr3, ni->ni_bssid); *(uint16_t *)wh->i_seq = 0; diff --git a/sys/net80211/ieee80211_scan_sw.c b/sys/net80211/ieee80211_scan_sw.c index e1d6b2779cf0..f64730ce852f 100644 --- a/sys/net80211/ieee80211_scan_sw.c +++ b/sys/net80211/ieee80211_scan_sw.c @@ -526,7 +526,6 @@ ieee80211_swscan_probe_curchan(struct ieee80211vap *vap, bool force __unused) { struct ieee80211com *ic = vap->iv_ic; struct ieee80211_scan_state *ss = ic->ic_scan; - struct ifnet *ifp = vap->iv_ifp; int i; /* @@ -542,13 +541,15 @@ ieee80211_swscan_probe_curchan(struct ieee80211vap *vap, bool force __unused) */ for (i = 0; i < ss->ss_nssid; i++) ieee80211_send_probereq(vap->iv_bss, - vap->iv_myaddr, ifp->if_broadcastaddr, - ifp->if_broadcastaddr, + vap->iv_myaddr, + ieee80211_vap_get_broadcast_address(vap), + ieee80211_vap_get_broadcast_address(vap), ss->ss_ssid[i].ssid, ss->ss_ssid[i].len); if ((ss->ss_flags & IEEE80211_SCAN_NOBCAST) == 0) ieee80211_send_probereq(vap->iv_bss, - vap->iv_myaddr, ifp->if_broadcastaddr, - ifp->if_broadcastaddr, + vap->iv_myaddr, + ieee80211_vap_get_broadcast_address(vap), + ieee80211_vap_get_broadcast_address(vap), "", 0); } diff --git a/sys/net80211/ieee80211_wds.c b/sys/net80211/ieee80211_wds.c index 19827e78706a..0bb9271693db 100644 --- a/sys/net80211/ieee80211_wds.c +++ b/sys/net80211/ieee80211_wds.c @@ -487,7 +487,8 @@ wds_input(struct ieee80211_node *ni, struct mbuf *m, } /* NB: the TA is implicitly verified by finding the wds peer node */ if (!IEEE80211_ADDR_EQ(wh->i_addr1, vap->iv_myaddr) && - !IEEE80211_ADDR_EQ(wh->i_addr1, ifp->if_broadcastaddr)) { + !IEEE80211_ADDR_EQ(wh->i_addr1, + ieee80211_vap_get_broadcast_address(vap))) { /* not interested in */ IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr1, NULL, "%s", "not to bss"); From nobody Sun May 25 15:24:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b52kP2tn0z5xg1s; Sun, 25 May 2025 15:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b52kN75jSz3tqD; Sun, 25 May 2025 15:24:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=avZ4awH42imDlCuYy0UZP0l8PnIRmu9jvbDvKFeJq+I=; b=iBq1wD3bRBrEtPVRt5hn7FLt7kzyDs7HMI1g3Qfbg3oNwuiyINPy7bj+m2eqofP1+DZouH xQ763vcQ0+BPQ0JL2m4ZjaxDiPOY5XCNPsU2B5E+BFCsucS763S3k70Zfi5J30VAEVOFdQ 3sQlSzI4wQyKt+5aSc7EbhAkss5q3p1PeeuNaOP4VNQSFYNKNE52+LlOc+/SSqNGmtBOeS PMCpawmBqOkwQFSL1DeJbceMlpr1xzST+cbdrejfEAYspeRNQkPzeiLYy/7vqvASuiikpo 7Pw24XST0AczKsRrx61E8MZz9KjkK2ucb0xXUTfZMoy+Npec2duNFwlXBDeQNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748186669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=avZ4awH42imDlCuYy0UZP0l8PnIRmu9jvbDvKFeJq+I=; b=T4HHufZHJRPMwp15bp2YFJkTWc3NkiGIBcd9NDsKN2XePwL/wxtpTd10BYxgBRvq8iner/ uv49mmusQoGmBYkUJKNcChxyXSVbUAtDxyxjtLSI4kMFmzE4mBIJnv0GHh3VwveOFvJjJT iH8hpIvsiJpGvTyB6Z/nRFYpmGjdR4hx2O5WHQXa/+CwT+SKmpzmFDQG4Pjtm2rMRCRB5Y uQp39TyqQqdhQZiS98NlDD3xfRLTbgDl7xSueIUm1PyWnl//zoZ1WSC0f2ycN0gJN/cjV7 jTfhs0Jo2+2V15N5NARwH951ABpptYk1cJ3TIt8fsN5g4ksIIg7fQ+cVFeoj6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748186669; a=rsa-sha256; cv=none; b=umrSg6VsLjg2GBmccho2OYRU6xHUTz/9CaDtuuKDkxgLN6W8/+XajH4yVSbWR5d61LKFmm niPYOm2mgbPxenpPAc9vq7UOCEShV76heCQ7hBg8MByStHEySvvt27E9cPybbJ4EM4+HFf cHAY1ujdawe4j9UDP80nUg/80y3aFN08/mccV3zIKagkLdZM/gQbNmacSf14hQfFs8L+Ow 3A+0QhOdHd87SYOkwZGQkmG7q0hGCLQ6hLaqpgZhgyzHrApPXYUG5WV3nB82iZhOXz8EIj 2s4LnN7HWcgvDwRcXogeXhLmBwguZjxgAEyDsj2rtqy3KFX5BeK7W4+0chulTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b52kN6j26zC6D; Sun, 25 May 2025 15:24:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PFOSDf031905; Sun, 25 May 2025 15:24:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PFOSae031902; Sun, 25 May 2025 15:24:28 GMT (envelope-from git) Date: Sun, 25 May 2025 15:24:28 GMT Message-Id: <202505251524.54PFOSae031902@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 249f14c87fd5 - main - net80211: remove direct references to ifp->if_xname List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 249f14c87fd5ad232d5058db40db48c009e235c5 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=249f14c87fd5ad232d5058db40db48c009e235c5 commit 249f14c87fd5ad232d5058db40db48c009e235c5 Author: Adrian Chadd AuthorDate: 2025-05-18 04:58:25 +0000 Commit: Adrian Chadd CommitDate: 2025-05-25 15:24:10 +0000 net80211: remove direct references to ifp->if_xname * change ieee80211_get_vap_ifname() to use if_name() * migrate the other references of ifp->if_xname to ieee80211_get_vap_ifname() Differential Revision: https://reviews.freebsd.org/D50407 Reviewed by: bz --- sys/net80211/ieee80211_freebsd.c | 2 +- sys/net80211/ieee80211_scan.c | 4 ++-- sys/net80211/ieee80211_wds.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index d0aa47859a3a..5c7ebd7c727c 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -1141,7 +1141,7 @@ ieee80211_get_vap_ifname(struct ieee80211vap *vap) { if (vap->iv_ifp == NULL) return "(none)"; - return vap->iv_ifp->if_xname; + return (if_name(vap->iv_ifp)); } #ifdef DEBUGNET diff --git a/sys/net80211/ieee80211_scan.c b/sys/net80211/ieee80211_scan.c index 04fee33f48f1..02cad610ee8e 100644 --- a/sys/net80211/ieee80211_scan.c +++ b/sys/net80211/ieee80211_scan.c @@ -245,10 +245,10 @@ ieee80211_scan_update_locked(struct ieee80211vap *vap, "%s: current scanner is <%s:%s>, switch to <%s:%s>\n", __func__, ss->ss_vap != NULL ? - ss->ss_vap->iv_ifp->if_xname : "none", + ieee80211_get_vap_ifname(ss->ss_vap) : "none", ss->ss_vap != NULL ? ieee80211_opmode_name[ss->ss_vap->iv_opmode] : "none", - vap->iv_ifp->if_xname, + ieee80211_get_vap_ifname(vap), ieee80211_opmode_name[vap->iv_opmode]); } #endif diff --git a/sys/net80211/ieee80211_wds.c b/sys/net80211/ieee80211_wds.c index 0bb9271693db..98eb7f78c58d 100644 --- a/sys/net80211/ieee80211_wds.c +++ b/sys/net80211/ieee80211_wds.c @@ -169,7 +169,7 @@ ieee80211_create_wds(struct ieee80211vap *vap, struct ieee80211_channel *chan) IEEE80211_DPRINTF(vap, IEEE80211_MSG_WDS, "%s: station %s in use with %s\n", __func__, ether_sprintf(vap->iv_des_bssid), - ni->ni_wdsvap->iv_ifp->if_xname); + ieee80211_get_vap_ifname(ni->ni_wdsvap)); /* XXX stat? */ } else { /* From nobody Sun May 25 18:30:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b56rr3VRtz5wbsw; Sun, 25 May 2025 18:30: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b56rr2vJMz4CtP; Sun, 25 May 2025 18:30:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748197820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nWsOPoO+BXuexEWlDYDbsbVv76640k9300iSJdD1gJk=; b=tlJmFbiLTzNPIt6PnZxeqo5qNIqo+o/jL6gkzLTCPIDdWaX8sbBqCUG8k81ZzKqMX/TG2J dsAHil42tyN1QMqFDTj1LPYMGEKeNYWoCMS/IYeOxHUts04cw98qkCXPezSLITkD6NW69o n/apZBgNe9L41/jU+XcZrzR9OVj3FPHhE8UD3pD1RAYEgnFOyj6AR4VXs29x7QCRl0DO4H /qkjUkLQZdWZROXdu9XINJ2tIQHMz9rHvhoKam7V/POK9f/i2/5Fk43H2aVsPkGHZX8NeK tQ0dR1yC+nwrWTeu1Ph9Vv4aV2fYGxYU1CBntvxFZ9qkqj2Y9G3ayvMKvIE/8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748197820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nWsOPoO+BXuexEWlDYDbsbVv76640k9300iSJdD1gJk=; b=Dow/KiOtRDCr6Rni2NTDJfI6TEBDWvduDGnqwyZSGu53IiAUCOSBw0CZ7GoPH2vofHiGv0 v6R+843zkAm/kHmq1W2iv314s3PBgRufHsfxVEOn3So+mC4UEsV8b+gbmvviSPT9SWkYcw 8ZUyNNmcxYv1QRIG2hct9KhqoueeHlD7/5R1OeQL1seqaUPF/Hp3O+hSr1/4OkYi0qUR7o ARRS9IUEYLJYKC4M5h+3mK5L5LfCwI7xfoxkgxh5U9xlAAI20PNylRKvYgHy899P5ER1QE q0kSODpMrReXw5S7miZCfED6UWMeQxUizn9f5naWoUo9jQiRXy0CXNP6dnL9fA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748197820; a=rsa-sha256; cv=none; b=p4P3eipmMazj/ThjLbiOhFJAwZp6eEgUhgI54PlX20Kt+XYDgYQ1rnhWgKfyxpVQRfHKzt 6DSuou7UpddX7AWArJq/Svrs9GS+DWhv22yvy1SHYmUW2gm1TWVPHBBmyzg8i4oVkNIjUp GpMdOtCs0clIwQgDwZ4mzfu3sdH0ylvFvJVCH0yFqyt83eTKUtzpHvuts5PzEVa8CmW8O4 uwTKYPvnBuA5ZxF80Sh9WkVCqk6+PKtItf0DFDw0iBHbiB3paKI1iuB71u6sj3WZErKIP0 aUTCrrDhafnog429sxeE/rttlbHreIX6hdiroFgF3Ogwv4++XYNOuCst5Osh2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b56rr20F2zZ1w; Sun, 25 May 2025 18:30:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PIUKnH078653; Sun, 25 May 2025 18:30:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PIUKtd078650; Sun, 25 May 2025 18:30:20 GMT (envelope-from git) Date: Sun, 25 May 2025 18:30:20 GMT Message-Id: <202505251830.54PIUKtd078650@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 8aad1e6148d3 - main - systat/top: Update ZFS sysctl names List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8aad1e6148d3389df100bb0391e2d3a909f26ecf Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=8aad1e6148d3389df100bb0391e2d3a909f26ecf commit 8aad1e6148d3389df100bb0391e2d3a909f26ecf Author: Alexander Motin AuthorDate: 2025-05-25 18:23:54 +0000 Commit: Alexander Motin CommitDate: 2025-05-25 18:23:54 +0000 systat/top: Update ZFS sysctl names Some of ARC statistic sysctls changed years ago, but those tools are still using legacy shims, that are going to be removed. MFC after: 3 days --- usr.bin/systat/main.c | 6 +++--- usr.bin/top/machine.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.bin/systat/main.c b/usr.bin/systat/main.c index 33fc187e1ab6..dbb82ebbb1c0 100644 --- a/usr.bin/systat/main.c +++ b/usr.bin/systat/main.c @@ -301,9 +301,9 @@ display(void) size_t size = sizeof(arc[0]); if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc[0], &size, NULL, 0) == 0 ) { - GETSYSCTL("vfs.zfs.mfu_size", arc[1]); - GETSYSCTL("vfs.zfs.mru_size", arc[2]); - GETSYSCTL("vfs.zfs.anon_size", arc[3]); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc[1]); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc[2]); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc[3]); GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc[4]); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc[5]); GETSYSCTL("kstat.zfs.misc.arcstats.bonus_size", arc[6]); diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index a76d77a80ce4..07a7119ad0c2 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -537,11 +537,11 @@ get_system_info(struct system_info *si) if (arc_enabled) { GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat); arc_stats[0] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mfu_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc_stat); arc_stats[1] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mru_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc_stat); arc_stats[2] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.anon_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc_stat); arc_stats[3] = arc_stat >> 10; GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc_stat); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc_stat2); From nobody Sun May 25 20:32:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b59Z12nxSz5wkjb; Sun, 25 May 2025 20:32: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b59Z11sJxz3rFH; Sun, 25 May 2025 20:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748205161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oK1/wKsJAZe5QZTxJFiQSOfpmTOnKCrzf4wg7GngVeg=; b=Nl0aHnASWMRiWzU98AA3cpyuVd67669nqjh94TxmLVSM6H35Kp4wXPB6MHX58AIypPEvm3 EhgqhcHd94aP+1X/tEWf2d3E8zfu+gn3NZsH3APkrLK6MyZof9DkN/rcyIfuQitCAD1Xpj 4NcetZICt3m5jLDX76WQZRpXjp0e8ijLWD7hQ/h3qEf3pV3d4IOzN21ww5GtGttK18FNi/ hTgFbiHeYtmm+pf0hQNMSJ1JjF2j5u5D9QGluSiMIzB25cmm75+ubtYWP6V/MyY9g1YmCS WK+Rb4ANhJP5awChmCXDVlyUTfitg+r4DRQawaRbRlcnddCRuTrXvETQj9aFcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748205161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oK1/wKsJAZe5QZTxJFiQSOfpmTOnKCrzf4wg7GngVeg=; b=kxRzlOJA+YcyUhXhzLW4D6oDsApT5OAMe8zEF+VMaFwV20z0jTxeH/4zMwckqtuNAuQ6wv qF5wlgvEMlS6GtzV62PdO6xtomhpQ2zkHgIPr7YdmW+DshH5rq41kT6JLpfFOEJcTfy/ed fwV2fxSi916spv435BTnYHCrwhZ0frTCVgUJhI5OsJg+QXGxRPnizI26YJck+435/ZP7Tf a6IZFQ2gt77z4L+M7Ea3YYrrBpwCrVOIBBYt6Bmhcm1D8F87lUwKpCbgUyEPQ9NvHvUD2P SKSaF+6ZnYSibb7ZK/YCibOJrpQ8hpbeqc64IwRG5c7HKxktxCTI1lmiNL3P5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748205161; a=rsa-sha256; cv=none; b=DSllQ3UkQ1VBjKbEsPXcbvz/7rdXcWZfwfH465l4grphYC4/jYU3DKVTestSUZ5ncBmWo2 e+T/HjTvkrKlNODQn6QQDQhehyizdQUXG/dQRpm1IvIl1XXOHclLXOalHETJ1GZfBQTDQk kp6xafpJbiOWMWdUNRR3VCu3eIqs4+KEbYj/eBI0b2CC/elMhKSUy/kVH98JdlOcPHWVcC GQAkX2La9C6DkvrDM2zKKmpKaZ7E/jQyDP3DXhneIzJAghmEMnEH9FTD9ZAh9kfICamtXB Vl08qLDq+po8RaZz7gdVkRjRkZLEEM2nGZNCDzSH/MnS319WcgJnVUh0WQKR3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b59Z11RF5zdf3; Sun, 25 May 2025 20:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PKWfl7011718; Sun, 25 May 2025 20:32:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PKWfOC011716; Sun, 25 May 2025 20:32:41 GMT (envelope-from git) Date: Sun, 25 May 2025 20:32:41 GMT Message-Id: <202505252032.54PKWfOC011716@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: fae33d1d12a5 - main - open.2: add a note about conversion of a file descriptor into O_PATH List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fae33d1d12a51ca2bbdc7f5f189f7a4362fb48f7 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fae33d1d12a51ca2bbdc7f5f189f7a4362fb48f7 commit fae33d1d12a51ca2bbdc7f5f189f7a4362fb48f7 Author: Konstantin Belousov AuthorDate: 2025-05-25 16:32:34 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-25 20:32:26 +0000 open.2: add a note about conversion of a file descriptor into O_PATH Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D50511 --- lib/libsys/open.2 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libsys/open.2 b/lib/libsys/open.2 index d8540637b690..6200723ed85c 100644 --- a/lib/libsys/open.2 +++ b/lib/libsys/open.2 @@ -464,6 +464,13 @@ flag for .Xr fstatat 2 and related syscalls. .Pp +Conversely, a file descriptor +.Dv fd +referencing a filesystem file can be converted to the +.Dv O_PATH +type of descriptor by using the following call +.Dl opath_fd = openat(fd, \[dq]\[dq], O_EMPTY_PATH | O_PATH); +.Pp If successful, .Fn open returns a non-negative integer, termed a file descriptor. From nobody Sun May 25 21:15:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b5BWb4JgGz5wnSL; Sun, 25 May 2025 21:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b5BWb1GpDz3HWr; Sun, 25 May 2025 21:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748207739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4bHmGfnkhE2Z+znKQHN0BnFQRgO4uJ6H/TXHWAGmlow=; b=CK7TKFZcxRZ9zAOcaPcblNqxPnZIY+BHCD2pRqfs/pgc+WqE7R14xiH6rmEE8pAmNEpeeK XT4+Ux4f1hvnLBP23DKY8ulO8cbOYsxx78A8YC+XeEQ3qgVozTnUjXF+NWm0Srssu8u+Vx dxYqE7gPU6lzNHVv68fGwMrkxsfWI4T0H4X5JtMPkZ1Qcol8cTo+mxj1YJ0ssGe1Rd9L2O 0wuCdvFjWckHHLGzb9knjotKaHzLXVBfW4c1TmSaQ8U+TLC15o31oReBntReOglElV6z/u Tn2sHMHWWZWmE8lM06Rl7FEZF7CPcYMvAY2SiAL8HMFp0PV+bjzrHcHiZrkiWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748207739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4bHmGfnkhE2Z+znKQHN0BnFQRgO4uJ6H/TXHWAGmlow=; b=ll/fg4tMeOjJWm8popRUHDTlNjpO6NKBqAeyg9kYiWBNOeEyPzXwtqBHF311W0Oil0flMG mWWTzMjOl7kAppksOUPQPIeJ0KKWiIB3Of0OdN6JqOGWFxXxXyEaFZWMxIPwQqJmGJkfFC gn/ezKDE2eVYtqXA8RM/YXRdTVvFrSp3kOOYutOTHeEHbV+MboDwQMD9uF5p8o6SsyrPI/ GyFphw1J4ywUFxbU6DGUKbLfcXSRZ+9hn6iLSF8Z279y8NgFW8/NXVFqM9Mft016uuJeAE Ik668J6PzXFQZuvjoFsjreXR/6TN7KhRcNgr3awxKKXsxca+EuIb00HoDAvN3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748207739; a=rsa-sha256; cv=none; b=MXTYp3fEcaE6YZLtOJkIoni3mV8IQh5jBJcR0eRyAHww2xeZSzA0Z3nBY1uZLAWhWEk429 b7DZ+jFDiYkctTK3qHNeeAOALO8DTPjAl5ipFucH9DXSFVZ0/URJMe4Cb9gTDRYP4wNUwL Tl0eip+gAsLwAICdPlxKJF1x8fXBGLvwHVeqxXzx0UGZK0tWdC6Bw0X6A4XFtfFqcD1DCA 34o9xURwFWw5R6ZunBRZ0ygb7LEBTdUcJk2pLg/I9Aqudr7uEvMJkUowKC+T61qsrFO3Dz 5sUQtfiv3oPKOBHsppxcyNErVDsQEn91mvHr3c1pDYZ/VmNcmxWVZ8LR1dX9Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b5BWb0cVxzfGk; Sun, 25 May 2025 21:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54PLFdId088249; Sun, 25 May 2025 21:15:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54PLFdQI088246; Sun, 25 May 2025 21:15:39 GMT (envelope-from git) Date: Sun, 25 May 2025 21:15:39 GMT Message-Id: <202505252115.54PLFdQI088246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 142bcdad1f67 - main - vm_page: drop mpred from grab_valid_iter() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 142bcdad1f67f8f6de04ebc27d8dbba56c39c788 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=142bcdad1f67f8f6de04ebc27d8dbba56c39c788 commit 142bcdad1f67f8f6de04ebc27d8dbba56c39c788 Author: Doug Moore AuthorDate: 2025-05-25 21:13:28 +0000 Commit: Doug Moore CommitDate: 2025-05-25 21:13:28 +0000 vm_page: drop mpred from grab_valid_iter() Variable mpred in vm_page_grab_valid_iter() has become a write-only variable. Drop it. In grab_valid_iter(), drop a pctrie_iter_reset() call already handled in vm_page_alloc_iter(). Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D50424 --- sys/vm/vm_page.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index ea6fbdbc6386..a3ebc92175f8 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -4880,7 +4880,7 @@ int vm_page_grab_valid_iter(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags, struct pctrie_iter *pages) { - vm_page_t m, mpred; + vm_page_t m; vm_page_t ma[VM_INITIAL_PAGEIN]; int after, i, pflags, rv; @@ -4924,14 +4924,12 @@ retrylookup: *mp = NULL; return (VM_PAGER_FAIL); } else { - mpred = vm_radix_iter_lookup_lt(pages, pindex); m = vm_page_alloc_iter(object, pindex, pflags, pages); if (m == NULL) { if (!vm_pager_can_alloc_page(object, pindex)) { *mp = NULL; return (VM_PAGER_AGAIN); } - pctrie_iter_reset(pages); goto retrylookup; } } @@ -4941,7 +4939,7 @@ retrylookup: after = MIN(after, VM_INITIAL_PAGEIN); after = MIN(after, allocflags >> VM_ALLOC_COUNT_SHIFT); after = MAX(after, 1); - ma[0] = mpred = m; + ma[0] = m; pctrie_iter_reset(pages); for (i = 1; i < after; i++) { m = vm_radix_iter_lookup(pages, pindex + i); @@ -4952,7 +4950,7 @@ retrylookup: break; } else if (vm_page_any_valid(m) || !vm_page_tryxbusy(m)) break; - mpred = ma[i] = m; + ma[i] = m; } after = i; vm_object_pip_add(object, after);