From nobody Mon Nov 11 10:42:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xn5hg0BVXz5d7XC; Mon, 11 Nov 2024 10:42: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xn5hf3vkhz4g7q; Mon, 11 Nov 2024 10:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731321730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EESP5kAB0GYF1Z8W4a5m0okKq7q63A5HThVuBI9ttPw=; b=XHXkw1xmuLHBGaYTF6DgAEbRwTbxprla/v7ByDwCWXH2CV3a8DqHifbPuVw6pu9c/GA1ho HJx3/y4tsB3Z8posB5u5WIEyIwz/2xeg/rzyYa/Wx9SmckNEhJAVdhOakcnqzzBhQYNxPf zPhuqpFA9Mj7lylKn2LL3dZhRHngDsQ7ojZjhvOukHPxOIy+haWJWnLlPeGgpLTSu/oKoA 8/+Nl/z/IPUlWecs0beLh90qwXPJdTc//GbL6jWQ0RQMg/BVfizLDszOtZwSdhbRDCT6ET ybZ6rjtbakCd0BDh7pN0vLgyfopIy1eJrCjc2zoIFBJsHLDLDBcJv35GeY+gcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731321730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EESP5kAB0GYF1Z8W4a5m0okKq7q63A5HThVuBI9ttPw=; b=l5hBXwWCTwjT1yGjKob1OFo7zZEPpKrV4ut2yhUqjd6yfkfyO13yOtdhhcXKhHQzc/SLtG Ib4N01f1yTz8nML4WAC74syUwmlf+fU/6J4LEjpO4bZfwqMmXiMsj4/uxXOyWqK4L2Pb9Y fVt6ijmC92NvKmJ2ltuLszDVcTX21VLyyUFn+pWjBmEdWHuuFYHZRz6XoV1tlJOKriPiUz ZOpazL2HBRGszjofYeDdUY171PY9RUcfSKs3R2bal46Lf2Nk4v0ueYnb06nZbGmieKpww8 ljS955GOS7OSJ73bEn/aE9NBIYj0sJa2wSBY0emsQFmR+mPOW7dIjGOvENkBbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731321730; a=rsa-sha256; cv=none; b=tbW1VMJ+snasBeUYBsxI9TGBRDWBcjV8kmExUvYzOqjLKD+u4/85v5WjRmOcdJf8yuwRu4 jM+hgtpDPaILQ+Jma8tIlwsiZVlVwwm96kHDYb4KloEznrPLluEtEQrHy/lfCJ5EBe3VSU gWY1MfFsKnO6HzC7RVXxNoKuxzBMGSDB5+nzzyvAeOQENUzGvVKx2eCPmpQWFvUXZdtsq+ Bo8F77zsAegsIYIcRgqKLCyLvBe5nnbQ9kfVuLK7QCPebSZos47ah+Pd/vpZHi31FniHXI l2wQnMPLOdNntJ6p6imJvBYddrapUBG6CPLuSyS7hYGxL9zcB0hxVO6ZRs70+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xn5hf2y31zN4j; Mon, 11 Nov 2024 10:42: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 4ABAgAD4017304; Mon, 11 Nov 2024 10:42:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABAgA6w017302; Mon, 11 Nov 2024 10:42:10 GMT (envelope-from git) Date: Mon, 11 Nov 2024 10:42:10 GMT Message-Id: <202411111042.4ABAgA6w017302@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Rabson Subject: git: 6686056ca354 - stable/14 - release: add optional OCI images List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6686056ca3547c8280bd2423c59c661c2f501409 Auto-Submitted: auto-generated The branch stable/14 has been updated by dfr: URL: https://cgit.FreeBSD.org/src/commit/?id=6686056ca3547c8280bd2423c59c661c2f501409 commit 6686056ca3547c8280bd2423c59c661c2f501409 Author: Doug Rabson AuthorDate: 2024-08-14 15:39:24 +0000 Commit: Doug Rabson CommitDate: 2024-11-10 10:34:42 +0000 release: add optional OCI images This adds three OCI archive format files to the release containing FreeBSD base images suitable for static linked, dynamic linked and shell workloads. The shell image also contains pkg-bootstrap and can be easily extended by installing packages (including pkgbase packages). Reviewed by: dch, cpersiva, jlduran, zlei Differential Revision: https://reviews.freebsd.org/D46759 MFC after: 2 days (cherry picked from commit d03c82c28da86e0812b98b051d24ae5980804ad7) --- release/Makefile | 11 ++++--- release/Makefile.oci | 34 +++++++++++++++++++ release/release.conf.sample | 4 +++ release/release.sh | 47 ++++++++++++++++++++++++++- release/scripts/make-oci-image.sh | 63 ++++++++++++++++++++++++++++++++++++ release/tools/oci-image-dynamic.conf | 11 +++++++ release/tools/oci-image-minimal.conf | 19 +++++++++++ release/tools/oci-image-static.conf | 42 ++++++++++++++++++++++++ share/examples/Makefile | 6 ++++ share/examples/oci/Containerfile.pkg | 27 ++++++++++++++++ share/examples/oci/README | 7 ++++ share/man/man7/release.7 | 14 +++++++- 12 files changed, 279 insertions(+), 6 deletions(-) diff --git a/release/Makefile b/release/Makefile index be0abf84de23..4f95d3ba32ec 100644 --- a/release/Makefile +++ b/release/Makefile @@ -7,14 +7,16 @@ # memstick: Builds memory stick image (memstick.img) # mini-memstick: Builds minimal memory stick image (mini-memstick.img) # ftp: Sets up FTP distribution area (ftp) -# release: Invokes real-release, vm-release, and cloudware-release targets +# release: Invokes real-release, vm-release, cloudware-release and oci-release targets # real-release: Build all media and FTP distribution area # vm-release: Build all virtual machine image targets # cloudware-release: Build all cloud hosting provider targets -# install: Invokes the release-install and vm-install targets +# oci-release: Build all OCI container images +# install: Invokes the release-install, vm-install and oci-install targets # release-install: Copies all release installation media into ${DESTDIR} # vm-install: Copies all virtual machine images into ${DESTDIR} # cloud-install: Copies non-uploaded cloud images into ${DESTDIR} +# oci-install: Copies all OCI container images into ${DESTDIR} # # Variables affecting the build process: # WORLDDIR: location of src tree -- must have built world and default kernel @@ -319,7 +321,7 @@ ftp: packagesystem mkdir -p ftp cp *.txz MANIFEST ftp -release: real-release vm-release cloudware-release +release: real-release vm-release cloudware-release oci-release ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done true @@ -330,7 +332,7 @@ real-release: ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} -install: release-install vm-install .WAIT cloud-install +install: release-install vm-install oci-install .WAIT cloud-install release-install: .if defined(DESTDIR) && !empty(DESTDIR) @@ -350,3 +352,4 @@ release-install: .include "${.CURDIR}/Makefile.inc1" .include "${.CURDIR}/Makefile.vm" +.include "${.CURDIR}/Makefile.oci" diff --git a/release/Makefile.oci b/release/Makefile.oci new file mode 100644 index 000000000000..461c95f49636 --- /dev/null +++ b/release/Makefile.oci @@ -0,0 +1,34 @@ +# +# +# +# Makefile for building OCI container images. +# + +.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) +OCI_IMAGES= static dynamic minimal +.endif + +oci-install: +.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) + mkdir -p ${DESTDIR}/ociimages +. for _IMG in ${OCI_IMAGES} + cp -p ${.OBJDIR}/container-image-${_IMG}.txz ${DESTDIR}/ociimages +. endfor +.endif + +OCI_TARGETS= +OCI_DEPS_static= +OCI_DEPS_dynamic= container-image-static.txz +OCI_DEPS_minimal= container-image-dynamic.txz + +.for _IMG in ${OCI_IMAGES} +OCI_TARGETS+= container-image-${_IMG}.txz +container-image-${_IMG}.txz: ${OCI_DEPS_${_IMG}} + sh ${.CURDIR}/scripts/make-oci-image.sh ${.CURDIR} ${REVISION} ${BRANCH} ${TARGET_ARCH} ${_IMG} + skopeo copy \ + containers-storage:localhost/freebsd${REVISION:R}-${_IMG}:latest \ + oci-archive:${.OBJDIR}/container-image-${_IMG}.tar:freebsd${REVISION:R}-${_IMG}:${REVISION}-${BRANCH}-${TARGET_ARCH} + ${XZ_CMD} < ${.OBJDIR}/container-image-${_IMG}.tar > ${.OBJDIR}/container-image-${_IMG}.txz +.endfor + +oci-release: ${OCI_TARGETS} diff --git a/release/release.conf.sample b/release/release.conf.sample index 351496dcf6a4..1dd2f2504e30 100644 --- a/release/release.conf.sample +++ b/release/release.conf.sample @@ -114,3 +114,7 @@ PORTBRANCH="main" ## If WITH_CLOUDWARE is set to a non-empty value, this is a list of providers ## to create disk images. #CLOUDWARE="EC2 GCE ORACLE VAGRANT-VIRTUALBOX VAGRANT-VMWARE" + +## If WITH_OCIIMAGES is set to a non-empty value, build Open Container +## Initiative (OCI) base images as part of the release. +#WITH_OCIIMAGES= diff --git a/release/release.sh b/release/release.sh index cee0fbd5643d..d6752e016994 100755 --- a/release/release.sh +++ b/release/release.sh @@ -120,6 +120,9 @@ env_setup() { # cloud providers as part of the release. WITH_CLOUDWARE= + # Set to non-empty to build OCI images as part of the release + WITH_OCIIMAGES= + return 0 } # env_setup() @@ -195,7 +198,8 @@ env_check() { RELEASE_RMAKEFLAGS="${ARCH_FLAGS} ${RELEASE_FLAGS} \ KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \ WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ - WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}" + WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \ + XZ_THREADS=${XZ_THREADS}" return 0 } # env_check() @@ -288,6 +292,44 @@ extra_chroot_setup() { fi fi + if [ ! -z "${WITH_OCIIMAGES}" ]; then + # Install buildah and skopeo from ports if the ports tree is available; + # otherwise install the pkg. + if [ -d ${CHROOTDIR}/usr/ports ]; then + # Trick the ports 'run-autotools-fixup' target to do the right + # thing. + _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U) + REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION) + BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH) + UNAME_r=${REVISION}-${BRANCH} + GITUNSETOPTS="CONTRIB CURL CVS GITWEB GUI HTMLDOCS" + GITUNSETOPTS="${GITUNSETOPTS} ICONV NLS P4 PERL" + GITUNSETOPTS="${GITUNSETOPTS} SEND_EMAIL SUBTREE SVN" + GITUNSETOPTS="${GITUNSETOPTS} PCRE PCRE2" + PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes" + PBUILD_FLAGS="${PBUILD_FLAGS} UNAME_r=${UNAME_r}" + PBUILD_FLAGS="${PBUILD_FLAGS} OSREL=${REVISION}" + PBUILD_FLAGS="${PBUILD_FLAGS} WRKDIRPREFIX=/tmp/ports" + PBUILD_FLAGS="${PBUILD_FLAGS} DISTDIR=/tmp/distfiles" + for _PORT in sysutils/buildah sysutils/skopeo; do + eval chroot ${CHROOTDIR} env ${PBUILD_FLAGS} make -C \ + /usr/ports/${_PORT} \ + FORCE_PKG_REGISTER=1 deinstall install clean distclean + done + else + eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \ + pkg install -y sysutils/buildah sysutils/skopeo + eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \ + pkg clean -y + fi + # Use the vfs storage driver so that this works whether or not + # the build directory is on ZFS. The images are small so the + # performance difference is negligible. + eval chroot ${CHROOTDIR} sed -I .bak -e '/^driver/s/zfs/vfs/' /usr/local/etc/containers/storage.conf + # Remove any stray images from previous builds + eval chroot ${CHROOTDIR} buildah rmi -af + fi + if [ ! -z "${EMBEDDEDPORTS}" ]; then _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U) REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION) @@ -323,6 +365,9 @@ chroot_build_target() { fi eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel + if [ ! -z "${WITH_OCIIMAGES}" ]; then + eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} packages + fi return 0 } # chroot_build_target diff --git a/release/scripts/make-oci-image.sh b/release/scripts/make-oci-image.sh new file mode 100644 index 000000000000..a139a38d1930 --- /dev/null +++ b/release/scripts/make-oci-image.sh @@ -0,0 +1,63 @@ +#! /bin/sh + +# Build an Open Container Initiative (OCI) container image + +curdir=$1; shift +rev=$1; shift +branch=$1; shift +arch=$1; shift +image=$1; shift + +major=${rev%.*} +minor=${rev#*.} + +abi=FreeBSD:${major}:${arch} + +echo "Building OCI freebsd${major}-${image} image for ${abi}" + +. ${curdir}/tools/oci-image-${image}.conf + +init_workdir() { + local abi=$1; shift + local workdir=$(mktemp -d -t oci-images) + + mkdir ${workdir}/repos + cat > ${workdir}/repos/base.conf < /dev/null + mtree -deU -p $m/var -f /etc/mtree/BSD.var.dist > /dev/null + mtree -deU -p $m/usr -f /etc/mtree/BSD.usr.dist > /dev/null + mtree -deU -p $m/usr/include -f /etc/mtree/BSD.include.dist > /dev/null + mtree -deU -p $m/usr/lib -f /etc/mtree/BSD.debug.dist > /dev/null + install_packages ${abi} ${workdir} $m FreeBSD-caroot FreeBSD-zoneinfo + cp /etc/master.passwd $m/etc + pwd_mkdb -p -d $m/etc $m/etc/master.passwd || return $? + cp /etc/group $m/etc || return $? + cp /etc/termcap.small $m/etc/termcap.small || return $? + cp /etc/termcap.small $m/usr/share/misc/termcap || return $? + env DESTDIR=$m /usr/sbin/certctl rehash + # Generate a suitable repo config for pkgbase + case ${branch} in + CURRENT|STABLE|BETA*) + repo=base_latest + ;; + *) + repo=base_release_${minor} + ;; + esac + mkdir -p $m/usr/local/etc/pkg/repos + cat > $m/usr/local/etc/pkg/repos/base.conf < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: de03af6da759 - stable/14 - fstyp: Fix some memory safety bugs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: de03af6da75990e56c45aea2c7eb53a06705b4c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=de03af6da75990e56c45aea2c7eb53a06705b4c1 commit de03af6da75990e56c45aea2c7eb53a06705b4c1 Author: Mark Johnston AuthorDate: 2024-10-28 13:51:58 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:01:16 +0000 fstyp: Fix some memory safety bugs In the hammer2 label reader, make sure to check for a NULL return from read_buf(). In the NTFS label reader, - Avoid an infinite loop if a record length is 0. - Avoid walking past the end of the buffer. - When a label is found, avoid reading past the end of the buffer. PR: 278281 Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47292 (cherry picked from commit 878ede1a0d0f10f851b2bc54be1e28f512bfc016) --- usr.sbin/fstyp/hammer2.c | 2 ++ usr.sbin/fstyp/ntfs.c | 36 ++++++++++++++++++++++++------------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/usr.sbin/fstyp/hammer2.c b/usr.sbin/fstyp/hammer2.c index e0c036c7442a..aeb29762fb6b 100644 --- a/usr.sbin/fstyp/hammer2.c +++ b/usr.sbin/fstyp/hammer2.c @@ -220,6 +220,8 @@ read_label(FILE *fp, char *label, size_t size) broot.data_off = (i * HAMMER2_ZONE_BYTES64) | HAMMER2_PBUFRADIX; vols[i] = read_buf(fp, broot.data_off & ~HAMMER2_OFF_MASK_RADIX, sizeof(*vols[i])); + if (vols[i] == NULL) + errx(1, "failed to read volume header"); broot.mirror_tid = vols[i]->voldata.mirror_tid; if (best_i < 0 || best.mirror_tid < broot.mirror_tid) { best_i = i; diff --git a/usr.sbin/fstyp/ntfs.c b/usr.sbin/fstyp/ntfs.c index a3457c285edc..be8095d5ee27 100644 --- a/usr.sbin/fstyp/ntfs.c +++ b/usr.sbin/fstyp/ntfs.c @@ -137,9 +137,8 @@ fstyp_ntfs(FILE *fp, char *label, size_t size) struct ntfs_filerec *fr; struct ntfs_attr *atr; off_t voloff; - char *ap; int8_t mftrecsz; - int recsize; + size_t recsize; #endif /* WITH_ICONV */ filerecp = NULL; @@ -152,7 +151,8 @@ fstyp_ntfs(FILE *fp, char *label, size_t size) goto ok; mftrecsz = bf->bf_mftrecsz; - recsize = (mftrecsz > 0) ? (mftrecsz * bf->bf_bps * bf->bf_spc) : (1 << -mftrecsz); + recsize = (mftrecsz > 0) ? + (mftrecsz * bf->bf_bps * bf->bf_spc) : (1 << -mftrecsz); voloff = bf->bf_mftcn * bf->bf_spc * bf->bf_bps + recsize * NTFS_VOLUMEINO; @@ -165,16 +165,28 @@ fstyp_ntfs(FILE *fp, char *label, size_t size) if (fr->fr_hdrmagic != NTFS_FILEMAGIC) goto fail; - for (ap = filerecp + fr->fr_attroff; - atr = (struct ntfs_attr *)ap, (int)atr->a_type != -1; - ap += atr->reclen) { - if (atr->a_type != NTFS_A_VOLUMENAME) - continue; - - convert_label(ap + atr->a_dataoff, - atr->a_datalen, label, size); - break; + for (size_t ioff = fr->fr_attroff; + ioff + sizeof(struct ntfs_attr) < recsize; + ioff += atr->reclen) { + atr = (struct ntfs_attr *)(filerecp + ioff); + if ((int)atr->a_type == -1) + goto ok; + if (atr->a_type == NTFS_A_VOLUMENAME) { + if ((size_t)atr->a_dataoff + atr->a_datalen > recsize) { + warnx("ntfs: Volume name attribute overflow"); + goto fail; + } + convert_label(filerecp + ioff + atr->a_dataoff, + atr->a_datalen, label, size); + goto ok; + } + if (atr->reclen == 0) { + warnx("ntfs: Invalid attribute record length"); + goto fail; + } } + warnx("ntfs: Volume name not found"); + goto fail; ok: #else From nobody Mon Nov 11 14:09:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnBHS1778z5bd6K; Mon, 11 Nov 2024 14:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnBHS0bwvz3xsf; Mon, 11 Nov 2024 14:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=356AggNgn2A/pAkxAD1K/ce/ZJLp6bczgEAgaFU971E=; b=eed4UuXr0KvX56FIN295JUL7F+ks3N7+vZKoebH+m0crrQxzt4GSyFDAkhUKMNoZkmaPnN fZTehHqze+hT4etT9YOWdn94XBTavCQuKoMUDBT7u494logPknHftkUKzL0qxU5gCZwQVj NMhZbvaDJGyGfYV9h+XsEh4QNCR0X37QPGQ8BMiS1VzYB4knAfByyID/2zrZ/3lExRGK7Q nQESn27TMozsxicdZLW749wRhY/LDmZoJPaIyZX+k6ZfgAppoqisB/MnRfU3z5G7imMLfU /oa38eHmj/XVpNi8NWxQRjGeokpsC5Yr5R+S3nv/1ft8aW7UMmeZ80HGVKrukA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=356AggNgn2A/pAkxAD1K/ce/ZJLp6bczgEAgaFU971E=; b=Ff41LDivvWV2RiG8jBd3saz/sTHviH+GCezNTNJee6i4SI/t4/dcv05wOP1tcU25yORxiA DzVOelsUjL072ffRrKA191FRbvMqjIOzL8okH2ouO4LsZfX4Kz0opbdxrzx5UEZ6j6wRuh Jk6fOiam5kLJDRcysiz9rIg88rSeHU27X/g+ZW9k2PLu0soeBftI+AAs//yMbpbk28ZClc a/vJkhhYOHhKwdYIi2jKr9i0bE8Q3p2BRTrbkY8GdAmbgVZZ+6JNPqmYqUJLe+kE8p+lg1 gGbPIKvHmDhDHy+aDKfpT6M5Nez9uTjvLi94fbqFgZmilGFOANEh0BoQTOlEdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731334148; a=rsa-sha256; cv=none; b=od0K9p4Zxp2YJoxe9lrUXzE3wTc2Gcmy5IkhDzq4laeObkI99ywUKPsk1Ezz1y1gNl+oRg NDTKtNZG+plVdShP7ziT0jXBshPe35/ArM3zfZU5AoFFRNKUbyLm9BK2AmZYg7DT2OA9Zm B2HfUnXxv/Ch1fIaJNS5gC5TI+LNi5DXu9v8vU+Odki4EUo/S6mUMDX5dW0P1L7PJ8UMO4 8JxvEJS/tJTWY7Ml1cs9LujKH+sAqLFF7vfVCdmJ91ahBcnx5dNFKZ1GBEtYXcz/Z5wef6 fawfGAE+ki5IsNni1u+ji8/inxvM0Vr8Ntz7A1FDc/PhNFQ0UQE97QeeDodweg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnBHS04bhzSjW; Mon, 11 Nov 2024 14:09: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 4ABE97K1092004; Mon, 11 Nov 2024 14:09:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABE97Xv092001; Mon, 11 Nov 2024 14:09:07 GMT (envelope-from git) Date: Mon, 11 Nov 2024 14:09:07 GMT Message-Id: <202411111409.4ABE97Xv092001@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 5b0bc0edac5c - stable/14 - socket: Export the FIB number of sockets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b0bc0edac5c8c2469748442a042037115354eb5 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5b0bc0edac5c8c2469748442a042037115354eb5 commit 5b0bc0edac5c8c2469748442a042037115354eb5 Author: Mark Johnston AuthorDate: 2024-11-04 14:39:48 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:01:34 +0000 socket: Export the FIB number of sockets Reviewed by: zlei MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D47315 (cherry picked from commit 349d1366edd23af0059e1798f436089e861d934f) --- sys/kern/uipc_socket.c | 1 + sys/sys/socketvar.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 84d817c9ada1..4ecd69d509ed 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -5020,6 +5020,7 @@ sotoxsocket(struct socket *so, struct xsocket *xso) xso->so_uid = so->so_cred->cr_uid; xso->so_pgid = so->so_sigio ? so->so_sigio->sio_pgid : 0; SOCK_LOCK(so); + xso->so_fibnum = so->so_fibnum; if (SOLISTENING(so)) { xso->so_qlen = so->sol_qlen; xso->so_incqlen = so->sol_incqlen; diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index f1407b7ea237..b60c8726833b 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -615,7 +615,8 @@ struct xsocket { uint32_t so_qlimit; pid_t so_pgid; uid_t so_uid; - int32_t so_spare32[8]; + int32_t so_fibnum; + int32_t so_spare32[7]; int16_t so_type; int16_t so_options; int16_t so_linger; From nobody Mon Nov 11 14:09:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnBHV3Rwgz5bd4v; Mon, 11 Nov 2024 14:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnBHV2nzgz4001; Mon, 11 Nov 2024 14:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4UhAUiEeAY4GO2Zx52Mnq0Tlm8Tp2I/C8k3LdBW07EY=; b=HzsX9TZP1a7PQs9g2jWQWQK5dHDM9KggRd8wb4bTl65KLLw8DmUq1OP6PO7tcXgXXIcKEZ 7jl0jw2GntdUn509UqSwZ2yXGUVwRALCksHzuTglPPng4ylZgich4BMKD/FS5Pw6DFpLZ2 Dvmue9TWOq8prI7Y3Me6Bxno/vvYglQWhlxI5MFOmdTSFirqqnNqke+z65BceOSdU08fP4 LBeA+i7QUTBsLSYpxEFCPxHug+eg+PQcFCMtTRCFE6TBgAS/pmuuLnd+wp9d9ttmMRNbrA dwM8ixaGpMoytO1uzxf1E46yVmtIG3ydFnakWS9/h244b/h9bxBpM21dIlohig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4UhAUiEeAY4GO2Zx52Mnq0Tlm8Tp2I/C8k3LdBW07EY=; b=TQPBUGYZQGGr0n49GNI5XQmuZPtVDZ5s0El+rYYCYBKBZIxwkttXKULzgEGXBC0ThvNruu z7SX2It3y4ly2qBY57489mKPKp4DcXqG90pr2KpRHx5/m4qEH+D8nFC/3+FirUEfnwpFoq gbwhsCXsRu4cjDDOgiHph2iLRRB2ZYnmEqYDifC50kLDOsK7H8YYCrwUaJB2fe8ajBo+Fe 1G09OnA4lCl+JrHTiW1FbHEXLeU5FkhnkseQTP3x/fTR/Yav3QV5aTVKJWPklL9V37Oyzh Uo3G+NwHnrYEHKJJ223bTBMXy/KwtQfDYDYj0RYMmgA/Awv5xiQbTqGeBmRzEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731334150; a=rsa-sha256; cv=none; b=Kbw86As2WFmQ66/lmyx0OriAtzGWPFCCbJ47FGPdBICfI/NEhJMjjBtoVNNWdztNSvHJXU gZYMwK6bHbb72YNttGFcRVEo4DobX++eANPzqsTMhyALHxtcgqNRG8cfHnOCXFFVPm2X8E R2pncVN6t2Os64N74QN2SEGYqwE0UI8DmhYHJdplVdXhjXUCUG0dUtZVQl4a36QLdArHso j/mNnkRYC9yl6UktNQFr7pGB80stI75g+U6A0fGBMiEeQ5RNBuf+cKep3cmPwTDqCpxunx aXN9IWGPxPhNEdOCzGhzxicnuC12sAjh7bPctiy8JCoieDkAJKhIhvXcq3+vgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnBHV1kkTzSsf; Mon, 11 Nov 2024 14:09: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 4ABE9AEx092136; Mon, 11 Nov 2024 14:09:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABE9AYT092133; Mon, 11 Nov 2024 14:09:10 GMT (envelope-from git) Date: Mon, 11 Nov 2024 14:09:10 GMT Message-Id: <202411111409.4ABE9AYT092133@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 01a3c17d18ba - stable/14 - if_bridge: Mask MEXTPG if some members don't support it List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 01a3c17d18bafbf4e76e9d77e8862525b50602e9 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=01a3c17d18bafbf4e76e9d77e8862525b50602e9 commit 01a3c17d18bafbf4e76e9d77e8862525b50602e9 Author: Mark Johnston AuthorDate: 2024-10-28 13:52:07 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:02:17 +0000 if_bridge: Mask MEXTPG if some members don't support it Similar to how the network stack needs to use mb_unmapped_to_ext() to convert mbufs before passing them to an unsupported driver, if_bridge needs to avoid passing M_EXTPG mbufs to interfaces that don't support them. Thus, clear IFCAP_MEXTPG on the bridge if any member interfaces don't handle unmapped mbufs. PR: 278245 Reviewed by: jhb, gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47294 (cherry picked from commit 2bbfbf80d3bb828ac782c2d990a1fba0eb51e45a) --- sys/net/if_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 723b92d3dcd5..299b6d80dcde 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -193,7 +193,7 @@ * List of capabilities to possibly mask on the member interface. */ #define BRIDGE_IFCAPS_MASK (IFCAP_TOE|IFCAP_TSO|IFCAP_TXCSUM|\ - IFCAP_TXCSUM_IPV6) + IFCAP_TXCSUM_IPV6|IFCAP_MEXTPG) /* * List of capabilities to strip From nobody Mon Nov 11 14:09:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnBHT4nb1z5bd4t; Mon, 11 Nov 2024 14:09: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnBHT1X8pz3ymY; Mon, 11 Nov 2024 14:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3tIGvOQebIBEWb+3ljC/MEbnQU/sSKT6w37suDLSLBg=; b=W4JhwjgwqIrjQs5FR4CjHwlbl232WT0GMdC5P8rKmMvVH4MIT3/KjTIqEsAeQk+MZfoffu jR4koWwUlXHF1+Gs+0Pczg3nDvJMq2uWQG/z5uZR4brpjSwyVEQUCk4IsLDMuLUxQkJHSj iNgwN7V6uS1dhkUY8jtPGVUJ11ICJ+c78FiUJ/p4YlCDOtGCgbvOGMY1pGxmmpfVkQ4GZA Ld0Uv7Bdy1DJ/i4lYpXjzTObGTraXY0k6j7ghTaOTHbJOkIL40Gxg+FxHD8/vbGzhOo/AH tiI6EGQE5qBfLDpwcYG7rVIq2h49hmKwTJhFA58lcd81Zq6kpFs0AnC/WcCilw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3tIGvOQebIBEWb+3ljC/MEbnQU/sSKT6w37suDLSLBg=; b=bOQpqFi1kJG/+J7svDuW/u/KykoEV54LGXaezPR19ZKj2n+WYXoOBnPPmVs6ysFtIvWT+o 8N82EVhYJ6yWtNFOPtb4Rx+g5VTDTrp79dcx+IMGIl0y9CBke+fqO1BEzDsN1fZe8UPt/z wkvy9KfSda5/DFAY1iMOJCw4k61BcyJyyZ2uUwZxdR1c6zpqLAUZX2Iy10scFvEXzZRmfV RsbhAhhDb3t2cETuDud4UBsRBWmZm/0t7OLlEISRCXaV7+YleAQyaE04gKsJnwC+bEJ8n9 r8HS5BLPE1MeoZ1Cqr93tSCQO3aDxsgQ63wZ65LBkE/KXaaqqZhkbQemN/U8XQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731334149; a=rsa-sha256; cv=none; b=MV8r4v0wJ1XcdLOwhetwiC2ihvbWEjQH6hxPwvw79k5fOk/sD2rEmMXoq0MUFFZf8AHuPF GMvo7FSZHo6/ejPHrvbisjZWwIF72IhM3fnKQM7seUXFWQdurrjDRYLH0Xi3d/3AiZ1IcQ aenRYwhfJKgyO4gKLzM3jiHrPUEwYykDbCoSctVG4RXExgWHv+jzHUTwwpEXQeca5pbBz9 LrkZ4D3wlmabbB5sg6j8O41zKpAmI6eHVMetHW+uh87Z4ck6B/oErGIJqHcMX7SZqPjfWr pCAkkynUKmusIZjee6jZ3wn0GKSfQFMWdrzU/GN2HkY0MlmZVxqc7nm6zzRrEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnBHT0mjxzSmC; Mon, 11 Nov 2024 14:09: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 4ABE98FF092080; Mon, 11 Nov 2024 14:09:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABE98QS092077; Mon, 11 Nov 2024 14:09:08 GMT (envelope-from git) Date: Mon, 11 Nov 2024 14:09:08 GMT Message-Id: <202411111409.4ABE98QS092077@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 7f0981f8efeb - stable/14 - sockstat: Add a -f option to show FIB numbers of sockets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7f0981f8efeb0fb8c97787e7075cb1f62dd239fe Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7f0981f8efeb0fb8c97787e7075cb1f62dd239fe commit 7f0981f8efeb0fb8c97787e7075cb1f62dd239fe Author: Mark Johnston AuthorDate: 2024-11-04 14:40:30 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:01:55 +0000 sockstat: Add a -f option to show FIB numbers of sockets Reviewed by: zlei MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D47316 (cherry picked from commit a471d2b401c9b2d3a95d9139c9a6b123f686a8e9) --- usr.bin/sockstat/sockstat.1 | 7 +++++-- usr.bin/sockstat/sockstat.c | 22 ++++++++++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1 index d7174b48f8d5..ca486a088b13 100644 --- a/usr.bin/sockstat/sockstat.1 +++ b/usr.bin/sockstat/sockstat.1 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 9, 2024 +.Dd October 15, 2024 .Dt SOCKSTAT 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd list open sockets .Sh SYNOPSIS .Nm -.Op Fl 46CcIiLlnqSsUuvw +.Op Fl 46CcfIiLlnqSsUuvw .Op Fl j Ar jail .Op Fl p Ar ports .Op Fl P Ar protocols @@ -59,6 +59,8 @@ Display the congestion control module, if applicable. This is currently only implemented for TCP. .It Fl c Show connected sockets. +.It Fl f +Show the FIB number of each socket. .It Fl I Show the local address of the socket to which the current socket is spliced, if any. @@ -228,6 +230,7 @@ $ sockstat -6 -P tcp .Xr fstat 1 , .Xr netstat 1 , .Xr procstat 1 , +.Xr setfib 1 , .Xr inet 4 , .Xr inet6 4 , .Xr protocols 5 diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index 0481e82efee0..c1886deb89e7 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -83,6 +83,7 @@ static int opt_4; /* Show IPv4 sockets */ static int opt_6; /* Show IPv6 sockets */ static int opt_C; /* Show congestion control */ static int opt_c; /* Show connected sockets */ +static int opt_f; /* Show FIB numbers */ static int opt_I; /* Show spliced socket addresses */ static int opt_i; /* Show inp_gencnt */ static int opt_j; /* Show specified jail */ @@ -141,6 +142,7 @@ struct sock { int family; int proto; int state; + int fibnum; const char *protoname; char stack[TCP_FUNCTION_NAME_LEN_MAX]; char cc[TCP_CA_NAME_MAX]; @@ -772,6 +774,7 @@ gather_inet(int proto) sock->splice_socket = so->so_splice_so; sock->proto = proto; sock->inp_gencnt = xip->inp_gencnt; + sock->fibnum = so->so_fibnum; if (xip->inp_vflag & INP_IPV4) { sock->family = AF_INET; sockaddr(&laddr->address, sock->family, @@ -1205,6 +1208,12 @@ displaysock(struct sock *s, int pos) default: abort(); } + if (opt_f) { + while (pos < offset) + pos += xprintf(" "); + pos += xprintf("%d", s->fibnum); + offset += 7; + } if (opt_I) { if (s->splice_socket != 0) { struct sock *sp; @@ -1330,6 +1339,9 @@ display(void) "USER", "COMMAND", "PID", "FD", "PROTO", opt_w ? 45 : 21, "LOCAL ADDRESS", opt_w ? 45 : 21, "FOREIGN ADDRESS"); + if (opt_f) + /* RT_MAXFIBS is 65535. */ + printf(" %-6s", "FIB"); if (opt_I) printf(" %-*s", opt_w ? 45 : 21, "SPLICE ADDRESS"); if (opt_i) @@ -1454,9 +1466,8 @@ jail_getvnet(int jid) static void usage(void) { - fprintf(stderr, - "usage: sockstat [-46CcIiLlnqSsUuvw] [-j jid] [-p ports] [-P protocols]\n"); - exit(1); + errx(1, + "usage: sockstat [-46CcfIiLlnqSsUuvw] [-j jid] [-p ports] [-P protocols]"); } int @@ -1470,7 +1481,7 @@ main(int argc, char *argv[]) int o, i; opt_j = -1; - while ((o = getopt(argc, argv, "46CcIij:Llnp:P:qSsUuvw")) != -1) + while ((o = getopt(argc, argv, "46CcfIij:Llnp:P:qSsUuvw")) != -1) switch (o) { case '4': opt_4 = 1; @@ -1484,6 +1495,9 @@ main(int argc, char *argv[]) case 'c': opt_c = 1; break; + case 'f': + opt_f = 1; + break; case 'I': opt_I = 1; break; From nobody Mon Nov 11 14:09:11 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnBHW541dz5bcPR; Mon, 11 Nov 2024 14:09:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnBHW3hplz3ymR; Mon, 11 Nov 2024 14:09:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LyG4wvf7uPab1TwdTaatgrMk4AK+EZV8bxrOLoyf/VI=; b=Quk/EfSuKEPNVPm8J9u4cklx+bw6UCf4IAvm5G6xN+61BFFIRagzHls2zNr3C1ZIVQdt4y utUFq79wDZ9YxoTq80r/vntb6NeNkRmJPjlzusxGLujRIXkvoae1+wMimEKtcYyoloKlBD gYC23Aq7CFA/XgVuCXeBXZULiSajTK/sbNaeF3Kr2NXcigtzTx6p4o1RudeQzdX9+4/i1P rG8jGeCkYbHFuZ3YrREi/VFToZhwrfjvFrObGOIVgyzTVwtqvPn7Av2Wf0NRFNWTCIsvQx TWlvdf32C6tXAOZ+U5jdPYmXuE+4TCMiFNMmPfJ3eX0Xzn/OpARIq1sGwFS+Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LyG4wvf7uPab1TwdTaatgrMk4AK+EZV8bxrOLoyf/VI=; b=YEXNGco8jOmTcptJSvO8PqoFTJAKa/dKt5pY9Q58zdnA47BQ4QbOAwrZd8/qpcZPtAUgh8 LxZXwa6yyPNG/qjLAW7Z/+wAByVitqZckDrd5qrZGQtL0UBMtdvT9NYIu4z1HQ2iRCUx54 4f72bxroLgyB5UNFEvxbvQYWt+A+8EmcIYHNH24UK+vhdd8IMBnl5RqBOY1+COQ/1N+Qqj AdQCwLjHgYTe4yT6/Hp0bJFin4r+R1aXbxtyeVTY/3+1t3msP0u8RN2XbrnGzg29tMTIqG fMQcS7cE2q0P+shheOVDfWBCUvH7S6VDS1/miOyrwWEAcjusWu/6uUxRQgOQGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731334151; a=rsa-sha256; cv=none; b=cZEdA9713DjEDz9hiV7j1K1aSp+669JgGFY4xJeexc7WvYO2lTuriuCSX/+8l7S3nNqwXh jN7SxJ/Eiq9LeZQ8ch1P1MAfUPW1h2NTwVMhw96i1YdfC8DHhlTduvMRJKPCOCwZOyMY5M TOgyzOMIk5esvZu6u2tLjPSJWaB+6Di+x+apxf7yOuPqA6PMsPIVzFI2d6b9+4g+x0VO9F z4D5w6pjcxLUVtDeBdAOexfrrfoqriZbzSi/a0oFi9yxrSeaBhtnEGFT0HCjOCuHsAuxRG C5Nl8nrm0zcS3budIGWNLrdrEwhYkDaofCOmdnWJPbOLqHy+hcx+6XnbA6cC9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnBHW2jqWzTQh; Mon, 11 Nov 2024 14:09:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4ABE9BVp092180; Mon, 11 Nov 2024 14:09:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABE9BOM092177; Mon, 11 Nov 2024 14:09:11 GMT (envelope-from git) Date: Mon, 11 Nov 2024 14:09:11 GMT Message-Id: <202411111409.4ABE9BOM092177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: e6f9f493a827 - stable/14 - if_tuntap: Enable MEXTPG support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e6f9f493a827bb900e324d6790ea0ff465018ee3 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e6f9f493a827bb900e324d6790ea0ff465018ee3 commit e6f9f493a827bb900e324d6790ea0ff465018ee3 Author: Mark Johnston AuthorDate: 2024-10-28 13:52:14 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:02:30 +0000 if_tuntap: Enable MEXTPG support Fix tunread() to use m_mbuftouio() instead of manually copying (which doesn't work for unmapped mbufs). Reviewed by: jhb, gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47295 (cherry picked from commit 01c738cd5c3938374cce8293c82753d977966154) --- sys/net/if_tuntap.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/sys/net/if_tuntap.c b/sys/net/if_tuntap.c index 54d1908b078c..0dee2260973d 100644 --- a/sys/net/if_tuntap.c +++ b/sys/net/if_tuntap.c @@ -976,11 +976,11 @@ tuncreate(struct cdev *dev) ifp->if_ioctl = tunifioctl; ifp->if_flags = iflags; IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_capabilities |= IFCAP_LINKSTATE; + ifp->if_capabilities |= IFCAP_LINKSTATE | IFCAP_MEXTPG; if ((tp->tun_flags & TUN_L2) != 0) ifp->if_capabilities |= IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6 | IFCAP_LRO; - ifp->if_capenable |= IFCAP_LINKSTATE; + ifp->if_capenable |= IFCAP_LINKSTATE | IFCAP_MEXTPG; if ((tp->tun_flags & TUN_L2) != 0) { ifp->if_init = tunifinit; @@ -1760,18 +1760,9 @@ tunread(struct cdev *dev, struct uio *uio, int flag) vhdr.hdr.csum_offset); error = uiomove(&vhdr, len, uio); } - - while (m && uio->uio_resid > 0 && error == 0) { - len = min(uio->uio_resid, m->m_len); - if (len != 0) - error = uiomove(mtod(m, void *), len, uio); - m = m_free(m); - } - - if (m) { - TUNDEBUG(ifp, "Dropping mbuf\n"); - m_freem(m); - } + if (error == 0) + error = m_mbuftouio(uio, m, 0); + m_freem(m); return (error); } From nobody Mon Nov 11 14:10:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnBKF43JRz5bd5M; Mon, 11 Nov 2024 14:10: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnBKF3dqdz41b7; Mon, 11 Nov 2024 14:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pF8H12G2JQoTah5y1qNvDmuBRRSM9ZZhvfGs4oD9F3U=; b=ZeD6COjxkLjq5RKP/Usy0hO8x0H24jM3Es7U2Et+Wqfd5c4+uPKM/Wn56niLXYfQSWHKA3 zVllGLhttaFLOf6pMaoeqQXgcHKb5OYdR6ARKqLN0FofvARu6PVZ5S/dSJQOrRUH0ozF5x t9TZBh/i5rCUeU42GnTYsQxrBLLI1XVOb4mUhI3VO7w/uTPZE2UT3p2pRs91DJIEkeFk/m fF9WZJlOyKRkNx1wUc3qsuvtmeIuixnFJuRWXXGQC1eFAjKLclyepO1EVyvgRKlj6h5Gdv LTLpg8Bv9hTZgYEjLJfeGwQVnAAa7r6RdS6l4bQIpMr+0QBdem5kE6zSKSKHuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pF8H12G2JQoTah5y1qNvDmuBRRSM9ZZhvfGs4oD9F3U=; b=qD6Nrl7jA04lT4hpSDQnWh7KFAKO9qGTgddyy3TYEwDzQ5zVOoNDoDx8MSvzhD4H7X+uVT ZGC1SlCTYbd4K1dFJz+RnlC/sdkjeg0mIbZUyh2thoKhajfToFMZGczjKyjFAFptS/3u0+ q5PahHgVOoyLdiF2fnM3qHK8MvFDzSjioBpsm06XIWf784HiYQcK0Cqoudm4ho5IORmiwi 1xNo6KrLtvcWa2K1jfh3C5zTowFxvd11gtzBDhAICGDOtft62LvW3AzKygC5+PYstpbriY DsI1sG9gRw0hjuDYY5UK5Wx9OvwWmDcKO7nvZkmKqCNyZ7g+mbpTVwKuEGs95w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731334241; a=rsa-sha256; cv=none; b=qykPOFsVNhT2oNjF1D3oOcfcpciBmcMnfIcOAG8FJOCB9zOv4mzJy3KmmlyVqksFz/N2ZX b9lLTyI11gbHWOaCh0UXTAFy1nLEmjaruU4QfwiuZmANHratTWmVD10CZ/uX1nD8h+vkdg D3fHLLYlIKm1zco2bpzBjTTsGXNXZezYRV+u8D5QDHSk59h0WlZTlvHluIMkmUxcV4s/Zr 3l7nl7gKFCNc71G+n9MxnxeNYV4zUli5RwyObKUTQxREHMXRRCJthlq4QUu++jK/ps0OIh EZBfTG1fPmrGIdBrBSqWa7qJM92mQVUSNzDYnU2z7ilCR3b1w5rcksQRG4YIuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnBKF36YFzTQl; Mon, 11 Nov 2024 14:10: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 4ABEAfNG001397; Mon, 11 Nov 2024 14:10:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABEAf6Y001394; Mon, 11 Nov 2024 14:10:41 GMT (envelope-from git) Date: Mon, 11 Nov 2024 14:10:41 GMT Message-Id: <202411111410.4ABEAf6Y001394@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 75351a04884e - stable/13 - fstyp: Fix some memory safety bugs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 75351a04884e7c79332f9c7a148424bf8cfa2c7f Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=75351a04884e7c79332f9c7a148424bf8cfa2c7f commit 75351a04884e7c79332f9c7a148424bf8cfa2c7f Author: Mark Johnston AuthorDate: 2024-10-28 13:51:58 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:01:23 +0000 fstyp: Fix some memory safety bugs In the hammer2 label reader, make sure to check for a NULL return from read_buf(). In the NTFS label reader, - Avoid an infinite loop if a record length is 0. - Avoid walking past the end of the buffer. - When a label is found, avoid reading past the end of the buffer. PR: 278281 Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47292 (cherry picked from commit 878ede1a0d0f10f851b2bc54be1e28f512bfc016) --- usr.sbin/fstyp/hammer2.c | 2 ++ usr.sbin/fstyp/ntfs.c | 36 ++++++++++++++++++++++++------------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/usr.sbin/fstyp/hammer2.c b/usr.sbin/fstyp/hammer2.c index e0c036c7442a..aeb29762fb6b 100644 --- a/usr.sbin/fstyp/hammer2.c +++ b/usr.sbin/fstyp/hammer2.c @@ -220,6 +220,8 @@ read_label(FILE *fp, char *label, size_t size) broot.data_off = (i * HAMMER2_ZONE_BYTES64) | HAMMER2_PBUFRADIX; vols[i] = read_buf(fp, broot.data_off & ~HAMMER2_OFF_MASK_RADIX, sizeof(*vols[i])); + if (vols[i] == NULL) + errx(1, "failed to read volume header"); broot.mirror_tid = vols[i]->voldata.mirror_tid; if (best_i < 0 || best.mirror_tid < broot.mirror_tid) { best_i = i; diff --git a/usr.sbin/fstyp/ntfs.c b/usr.sbin/fstyp/ntfs.c index a3457c285edc..be8095d5ee27 100644 --- a/usr.sbin/fstyp/ntfs.c +++ b/usr.sbin/fstyp/ntfs.c @@ -137,9 +137,8 @@ fstyp_ntfs(FILE *fp, char *label, size_t size) struct ntfs_filerec *fr; struct ntfs_attr *atr; off_t voloff; - char *ap; int8_t mftrecsz; - int recsize; + size_t recsize; #endif /* WITH_ICONV */ filerecp = NULL; @@ -152,7 +151,8 @@ fstyp_ntfs(FILE *fp, char *label, size_t size) goto ok; mftrecsz = bf->bf_mftrecsz; - recsize = (mftrecsz > 0) ? (mftrecsz * bf->bf_bps * bf->bf_spc) : (1 << -mftrecsz); + recsize = (mftrecsz > 0) ? + (mftrecsz * bf->bf_bps * bf->bf_spc) : (1 << -mftrecsz); voloff = bf->bf_mftcn * bf->bf_spc * bf->bf_bps + recsize * NTFS_VOLUMEINO; @@ -165,16 +165,28 @@ fstyp_ntfs(FILE *fp, char *label, size_t size) if (fr->fr_hdrmagic != NTFS_FILEMAGIC) goto fail; - for (ap = filerecp + fr->fr_attroff; - atr = (struct ntfs_attr *)ap, (int)atr->a_type != -1; - ap += atr->reclen) { - if (atr->a_type != NTFS_A_VOLUMENAME) - continue; - - convert_label(ap + atr->a_dataoff, - atr->a_datalen, label, size); - break; + for (size_t ioff = fr->fr_attroff; + ioff + sizeof(struct ntfs_attr) < recsize; + ioff += atr->reclen) { + atr = (struct ntfs_attr *)(filerecp + ioff); + if ((int)atr->a_type == -1) + goto ok; + if (atr->a_type == NTFS_A_VOLUMENAME) { + if ((size_t)atr->a_dataoff + atr->a_datalen > recsize) { + warnx("ntfs: Volume name attribute overflow"); + goto fail; + } + convert_label(filerecp + ioff + atr->a_dataoff, + atr->a_datalen, label, size); + goto ok; + } + if (atr->reclen == 0) { + warnx("ntfs: Invalid attribute record length"); + goto fail; + } } + warnx("ntfs: Volume name not found"); + goto fail; ok: #else From nobody Mon Nov 11 14:10:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnBKG6pmLz5bdCR; Mon, 11 Nov 2024 14:10: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnBKG53r1z41Cb; Mon, 11 Nov 2024 14:10:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n4CwiSpmeJENDIQaZccIIdLZQpxvbL4JQAXmjsvvSNQ=; b=uTtr9ZMz85umSbirBbIny5/up8tFOKqa2s1euIt3LMmbn06UhfF7DhRu1On2gMQWqDIzW7 71D8gT2lNxDthFeDwhX0YLBkf3XyuWFvPPeCYfdLFoiujbJKz1UMVtCdFFjhx8YF/s6ovD +H1QpRua/5uD7V7mIhBJ/oBPhpVGLXWfi1bar8cyWS2aDvUE9IFEHci7qf1sLwjbbH1UcT bho/+6PUFMDIVqPvEacO2YYpiJyJDKbUT6g2GczD/WoTRzWUHZC2sBU1orYGmcdTNiYh1p A+X0HHwzD36whYMYsqekK48GUmcfH1MtDyw+jcaYb1OCm04Bb7tx+HS9qXViTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731334242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n4CwiSpmeJENDIQaZccIIdLZQpxvbL4JQAXmjsvvSNQ=; b=t2sBdLQxPGMGUj1yt4VaDy9yIhYNqvbztnM+b1QOHEjbRQoTFHWLFex1Otl5UuV07mIeHr qDvWq7qt/IHP9Tfe/rbjn3Zp++ogHMcFsFqOl2nv1US3AqVkf4SV2P0TEazC8mp7GCW47z Rc7gH1VbvcYgnDI/WjIJCPn9TzKDw5mGSmvunt4KigKtambezmlZsm0cc1Ufc/ceZvv/Eh 80Xa6X77rMA74BZbOYYzCpUCabDMahx4y43T6u1SXaXOE6vU4eO3U1jnztKD/PxrYpzhbz pLVdyhUjFpvsdkvPW8vwSQnHPXKjIafm+tQYsv9HSAWxVxljyMG1jdhnmwpYNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731334242; a=rsa-sha256; cv=none; b=Ofi/uYBwz9GboNpwVP8x+EBDGhwXXBcmuoQSwHh+7UgKyZZQOqeIao9cPhOotFurPyppZM GQeyxFwvmYDybul+AUj+gUHuDOlgCl1XRjnUctdMYeeWLCfD+pkKtiPvulb04LIVDJtuRm tT13EqYYLfEPHblKBonADVwrugpVP6EV4PDQRVbjz61dkK64HMgJ9s4nPohXdf9gtA+C4s Ju914WiaGdGw7DQd2/WrKY8qsfdnHq/X23L6mRaGKFsOs5CrtDeVLlXrueQ9S6yiIKSFFf j572XWEmefs7R7vnC8ZTrWe9l7c2BYOO7OkTgLvo01zN0A4oIb5Bqe9eovGAYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnBKG4PYrzT14; Mon, 11 Nov 2024 14:10: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 4ABEAg4g001451; Mon, 11 Nov 2024 14:10:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABEAgVm001448; Mon, 11 Nov 2024 14:10:42 GMT (envelope-from git) Date: Mon, 11 Nov 2024 14:10:42 GMT Message-Id: <202411111410.4ABEAgVm001448@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 3b7acf9a3b24 - stable/13 - if_bridge: Mask MEXTPG if some members don't support it List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3b7acf9a3b2428f86291e48298ee9bae8f1276c7 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3b7acf9a3b2428f86291e48298ee9bae8f1276c7 commit 3b7acf9a3b2428f86291e48298ee9bae8f1276c7 Author: Mark Johnston AuthorDate: 2024-10-28 13:52:07 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 14:02:21 +0000 if_bridge: Mask MEXTPG if some members don't support it Similar to how the network stack needs to use mb_unmapped_to_ext() to convert mbufs before passing them to an unsupported driver, if_bridge needs to avoid passing M_EXTPG mbufs to interfaces that don't support them. Thus, clear IFCAP_MEXTPG on the bridge if any member interfaces don't handle unmapped mbufs. PR: 278245 Reviewed by: jhb, gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47294 (cherry picked from commit 2bbfbf80d3bb828ac782c2d990a1fba0eb51e45a) --- sys/net/if_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index d94b1d59afbd..b392a9c69a7f 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -200,7 +200,7 @@ extern void nd6_setmtu(struct ifnet *); * List of capabilities to possibly mask on the member interface. */ #define BRIDGE_IFCAPS_MASK (IFCAP_TOE|IFCAP_TSO|IFCAP_TXCSUM|\ - IFCAP_TXCSUM_IPV6) + IFCAP_TXCSUM_IPV6|IFCAP_MEXTPG) /* * List of capabilities to strip From nobody Mon Nov 11 18:46:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnJRN2YDCz5cSNS; Mon, 11 Nov 2024 18:46: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnJRN22Bkz4Qq7; Mon, 11 Nov 2024 18:46:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731350784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KK2UkIhRzjumYKedpHjwgFcSKSTJty9YlibBnwEaNso=; b=Cw/JQwqTX3wzrjRLlVioBLGdsNi8utyDj7TtpU+NIicofbj0wwLxiYjroTCFVoXBDJk5pj RLmY3eJglnUENMwTfhxUM4FbfLdhYC79LT/nbhhQbygvB9+UHU7xb1Hqojf4ZuJJ05EBi6 7D5hbLS4aWOQPu67J00kBgcm3DqcJL/gt+KxBCoINNPRhVPcbvnr5qJTAxtkIdK1Xsuvio En1GPa4Ox6gAAv42xnnoXtUdkaw8bocc2gJeXxK1Ae1qTaWGhhhQXu/98LdwvY22mla2uC IB4CWkaxWw2Krpe36k5az87eXMbcepECfKykYNQXePG5SXHYR/4gwS1h8iv59g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731350784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KK2UkIhRzjumYKedpHjwgFcSKSTJty9YlibBnwEaNso=; b=Ajy6ADPjawRPw0FYwrthAXehuiAReJCKSCnz2HkgmKeajvVIGGnDoggPknNufgUU2YXWak hRMrWfdvnWWQ5Vl2FRXzVLbIEXzm3pwL3/cKSc2m6fLUyKzNatGTWRCACf8Q9Tai3gHxr6 N4YRslespg1RMQudh0WY62YEW+TIZKiqv4lTgXR25O2g7648V4Ggi5LMqBMUwpi+nWWCXj j4KVDtB7k/PnI/r41/qNv9GncVcqnQ41E8+qYTxucpxHS9juJeQem2lWqeWNtos84QQrMf WqImNHs/T6jn2lEavWSXlvPrfAsdSIJQmrgFGHYXNdES5GGgukai4EOfKmxPIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731350784; a=rsa-sha256; cv=none; b=YJXmuXtMnKSlZ30XuGoFOdi4ZS8DXJFpdo4EkesTJSX+qGz+ZVZUpZjSyE/ciuFQEBDsGo LmfkfB37Ku9Tp4LmG9gB4fhW2V74AueMpW4xxyf7kB9mvW4jQwzyoQkfOyRIDK0Se+l4+g IUpHC0BlGFfse97sD9d4DiG2jp/NQN5zwXwCJM3rqadMfKQzcpamtmZLzhMoNwEzEfznH3 ec2MSQ/XeXELw/t2KEETCRn58iqrMxr+TEjxWddliCp/NZ3qEEjQ9Oy2GAbLK4QXoQLWEG M0EZdzIPCpB7fvIph7UTD9pbYYYegHOhHPPh2W+AtGWJpPlIYR/nL80SETLE8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnJRN1VxgzdXk; Mon, 11 Nov 2024 18:46: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 4ABIkOr6010458; Mon, 11 Nov 2024 18:46:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ABIkOum010455; Mon, 11 Nov 2024 18:46:24 GMT (envelope-from git) Date: Mon, 11 Nov 2024 18:46:24 GMT Message-Id: <202411111846.4ABIkOum010455@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d86dcfc6486f - releng/14.2 - if_bridge: Mask MEXTPG if some members don't support it List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: d86dcfc6486f7b5b9fcbc5e5ad457b0d22e1c5f6 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d86dcfc6486f7b5b9fcbc5e5ad457b0d22e1c5f6 commit d86dcfc6486f7b5b9fcbc5e5ad457b0d22e1c5f6 Author: Mark Johnston AuthorDate: 2024-10-28 13:52:07 +0000 Commit: Mark Johnston CommitDate: 2024-11-11 18:46:06 +0000 if_bridge: Mask MEXTPG if some members don't support it Similar to how the network stack needs to use mb_unmapped_to_ext() to convert mbufs before passing them to an unsupported driver, if_bridge needs to avoid passing M_EXTPG mbufs to interfaces that don't support them. Thus, clear IFCAP_MEXTPG on the bridge if any member interfaces don't handle unmapped mbufs. Approved by: re (kib) PR: 278245 Reviewed by: jhb, gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47294 (cherry picked from commit 2bbfbf80d3bb828ac782c2d990a1fba0eb51e45a) (cherry picked from commit 01a3c17d18bafbf4e76e9d77e8862525b50602e9) --- sys/net/if_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 723b92d3dcd5..299b6d80dcde 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -193,7 +193,7 @@ * List of capabilities to possibly mask on the member interface. */ #define BRIDGE_IFCAPS_MASK (IFCAP_TOE|IFCAP_TSO|IFCAP_TXCSUM|\ - IFCAP_TXCSUM_IPV6) + IFCAP_TXCSUM_IPV6|IFCAP_MEXTPG) /* * List of capabilities to strip From nobody Tue Nov 12 00:38:19 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnSFS1jQyz5crbN; Tue, 12 Nov 2024 00:38: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnSFR7505z4ynK; Tue, 12 Nov 2024 00:38:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731371900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=02/ULaSZJTNMVdQeEqRmqP2VB1o1IIrx22FDzswKlxo=; b=om8z7lOYN4LPVYpThxfZ6hUSfqIaaQXenFpUe2LUVcmxWQOEJjcjwFu+TVtw1dcNDynSDs JYICV6vqKaXV8ypA9g40irXnkuyPh3NRfKxD89/+V8HsV3Skdg37e2/dhu8jQR9yV2sPxz /OEac7n775/YX4jCbRf4NjKHpyIBSjNweQHUWB3FbLhT6THMDxvroNj0yWODMLUPwF8KjV 1Ji8+z/KE3ElkeNKYlJPW+t7TMmMq4Omt3V8B4ZQMKHQ3UfrfOm38cbKovmZ1K8UpUncWs 7Jliz8rm/4GV4P+l1hohXZfNgOp7BlnxQyr/JspAap4LsA+1AYDyVXPde8jMvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731371900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=02/ULaSZJTNMVdQeEqRmqP2VB1o1IIrx22FDzswKlxo=; b=U6LEvC7TMb4sVaPJXpD/87WSZgPGW3RbUDEuAAiLw/bq93Qj0FryyhUAT5NZ0yTMlLq2vQ 5UU+HYisTAYsDKGUTtP35xiKkTeXU2wtEgNaIG/4OXroa18GYiHBy8zur3Qm5TE/aW4oZE BCPBcV1keNqqjevhQ6bgmiauAyOZ5HBPslLsYwNlDVuzzpmdc1YLg/FXNPbr7b9usvbqCD 948US+hRVMfc6Bt6q+PLxKTMHOlG+pdLTT5sQqgc9yCsbGmy4/DzhNOd2oYlkDyqnE7rMB PrzBMiPA3Ytfh6R2L28zjuHs2zhHA+LvsbKUp2A9M846476TYiKj1BXlUHTjmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731371900; a=rsa-sha256; cv=none; b=lq4SvLp0zmd6kNlh1BuF2NVxxCbNACWA2Cb3ULAbnaRZj/SkzvgyEDOONJ3GfheH9sVsL2 h3+SSAOH6tiqvvAZRYe3kUSrhbW3cChgLGUqvc1NMV99lYkizaRX5lZ13SrDU47OTrYg7n WMKD1DGqRpOaV3afkHKBmUEeKTO1jSmdxAbkQJ8x6A9qjqJe+OI7Etu5Jf4CoP0RPkQ60S r1DcqAeXEK3nUfA3jTUjBx/dRaA0HiiKDV6Vm0JBwJKQxs3gnXRfUC7tIIaftqDPpl/RmJ 5pTaSgl2RYDwXMI7tztzn/4pdd1UCYskOjxE7zNdGe+r32wtvTm+klh9XnUGyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnSFR6hdrzp95; Tue, 12 Nov 2024 00:38: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 4AC0cJJd061343; Tue, 12 Nov 2024 00:38:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC0cJJV061340; Tue, 12 Nov 2024 00:38:19 GMT (envelope-from git) Date: Tue, 12 Nov 2024 00:38:19 GMT Message-Id: <202411120038.4AC0cJJV061340@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: 48d6303d9c96 - stable/14 - amdiommu: hide HPET report under verbose List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 48d6303d9c96d14741fe606e610db08c14a2f2ca Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=48d6303d9c96d14741fe606e610db08c14a2f2ca commit 48d6303d9c96d14741fe606e610db08c14a2f2ca Author: Konstantin Belousov AuthorDate: 2024-11-09 21:06:06 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-12 00:27:24 +0000 amdiommu: hide HPET report under verbose (cherry picked from commit 1bca58a1d40d10c7cdd14b2988924cadd6efdc43) --- sys/x86/iommu/amd_drv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/x86/iommu/amd_drv.c b/sys/x86/iommu/amd_drv.c index 2c544dfb60a6..f1ee34467f46 100644 --- a/sys/x86/iommu/amd_drv.c +++ b/sys/x86/iommu/amd_drv.c @@ -1001,8 +1001,9 @@ amdiommu_find_unit_for_hpet(device_t hpet, struct amdiommu_unit **unitp, res = amdiommu_ivrs_iterate_tbl(amdiommu_find_unit_scan_0x11, amdiommu_find_unit_scan_0x11, amdiommu_find_unit_scan_0x10, &ifu); if (!res) { - printf("amdiommu cannot match hpet no %d in IVHD\n", - hpet_no); + if (verbose) + printf("amdiommu cannot match hpet no %d in IVHD\n", + hpet_no); return (ENXIO); } From nobody Tue Nov 12 00:38:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnSFT2m6kz5crVx; Tue, 12 Nov 2024 00:38: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnSFT0wlPz4ysW; Tue, 12 Nov 2024 00:38:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731371901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DkwCCOEG/cesyoh90eo8RA91ZC8DgnOGbv8vetju6WU=; b=eC/3nISQGbLrP4apG4AbQ1alH5d+o/4BeRe1sX+CQT5isSVRY7VI5hu7dXcezOzsTguI3P 1lwzk8Jh29XG17IfInOJULOC+vmMoM5aBIIj1QlXvxpOUwdJUp7+lNbukIANCxBe+XQlr5 9Homlz8IH9mG5PrI+5kixYCtCBQl4er3Dql85rI2ry9Cu1dV0sLrtDC1475cJ/OmcCA+cH YV9nhn0/OeJh7GlcjuSNIyidg4g/xvD24YHz2YAg0ZX2AvssYatM0WVv5YoHWPQGujuA2N DICwwsMUZfnOMFKKORSSN/tw0EZSbciippzmXvw8MqVObKg54KPc+DNugx1JDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731371901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DkwCCOEG/cesyoh90eo8RA91ZC8DgnOGbv8vetju6WU=; b=rzPdF9sLattWNfx0VyMgv8zKppXiLzGRysOPRReAPKEWbVOY4HbejKWaQLOSJD34qP/4E9 RIjpdGtkEAs7U/iNfqTvWuzUkh/YN23Un/Pu1+YPSjAo6DZnSvCprnB6iVoc17Z9uQdjgO ePosdfgK54sixJPqmZ6I0nVtLRKkieT88diRh7LPKPhHvGH6f9xOjAmxjkfSuzlyvCaKFs 2fjqjSfGKHfCTgfIqSly2Csu3C1V8xizy0fESdKy0guLuODsjY4aEjj73nSoBO3o0JLcNS xLEuUzagfPk7XDq0IFF6lrpvNZYAucA/aiIstM5QsPD+i5Od6QaWC+kmWQMkQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731371901; a=rsa-sha256; cv=none; b=L08Hsk4kPpAgour8dRiKn8SG6bUa7vO03I1/zFpMPA81vvoc6V6uWSM0/Mh185U0dT/XWO HOEKkmBFvB3D0fnY7baMXC0EYCGDQlGjHcyZnNHl39LRYsn4+B1RSQcu/8MqBes+h16q5x ODVtHcPLN5Ozq3HfJ3pGYtRRQWELSje0FOTLhkNQTzihTT8ChBvhLST1arBv3WbAlR45su i9kzK14vXYcCpzSdOV0dMvJ0YvczYvN6l3/lnBnhK7BTEZbbEkCtPnpDdr7eiFpFOPyYDE zXDYK8ahOJZ4832ZSTS0nhrn3RlUIR0dpdO7/cQvEz64/lBBB+DISvmOoIfguQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnSFT0Y14znhb; Tue, 12 Nov 2024 00:38: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 4AC0cKDT061390; Tue, 12 Nov 2024 00:38:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC0cKFG061387; Tue, 12 Nov 2024 00:38:20 GMT (envelope-from git) Date: Tue, 12 Nov 2024 00:38:20 GMT Message-Id: <202411120038.4AC0cKFG061387@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: 19cefbb3ddb1 - stable/14 - amdiommu: short-circuit all amdiommu_find_unit() functions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 19cefbb3ddb157dfa3d24be0be7f1990b9567733 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=19cefbb3ddb157dfa3d24be0be7f1990b9567733 commit 19cefbb3ddb157dfa3d24be0be7f1990b9567733 Author: Konstantin Belousov AuthorDate: 2024-11-09 22:29:20 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-12 00:27:24 +0000 amdiommu: short-circuit all amdiommu_find_unit() functions (cherry picked from commit 9805e5b071a10711cfcd3c7a750ac4a4d14b6e3f) --- sys/x86/iommu/amd_drv.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/x86/iommu/amd_drv.c b/sys/x86/iommu/amd_drv.c index f1ee34467f46..4373987ae24a 100644 --- a/sys/x86/iommu/amd_drv.c +++ b/sys/x86/iommu/amd_drv.c @@ -879,6 +879,9 @@ amdiommu_find_unit(device_t dev, struct amdiommu_unit **unitp, uint16_t *ridp, int error, flags; bool res; + if (!amdiommu_enable) + return (ENXIO); + if (device_get_devclass(device_get_parent(dev)) != devclass_find("pci")) return (ENXIO); @@ -943,6 +946,9 @@ amdiommu_find_unit_for_ioapic(int apic_id, struct amdiommu_unit **unitp, device_t apic_dev; bool res; + if (!amdiommu_enable) + return (ENXIO); + bzero(&ifu, sizeof(ifu)); ifu.type = IFU_DEV_IOAPIC; ifu.devno = apic_id; @@ -992,6 +998,9 @@ amdiommu_find_unit_for_hpet(device_t hpet, struct amdiommu_unit **unitp, int hpet_no; bool res; + if (!amdiommu_enable) + return (ENXIO); + hpet_no = hpet_get_uid(hpet); bzero(&ifu, sizeof(ifu)); ifu.type = IFU_DEV_HPET; @@ -1042,7 +1051,7 @@ amdiommu_find_method(device_t dev, bool verbose) error = amdiommu_find_unit(dev, &unit, &rid, &dte, &edte, verbose); if (error != 0) { - if (verbose) + if (verbose && amdiommu_enable) device_printf(dev, "cannot find amdiommu unit, error %d\n", error); From nobody Tue Nov 12 04:10:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnXym0snPz5d65K; Tue, 12 Nov 2024 04:10: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnXyl6Mlzz4FPX; Tue, 12 Nov 2024 04:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731384655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W2QMJKwEQ/eDrhvQnZznPm0VRhJtKSc8G+ie6xBSUBg=; b=pdxbiRPRJ32rs5flwjPFXhyPokfhVF9JcMFCLvAHa6Nwe3OZV7cJy426Oja+0LkYftWR4j A870rRWWrDAn5nfxvQxBYOcDwvu9PEokhTRrym5jSRUGf4SYzHs2rs/+bWmfPFrK6lCtkd 1QJ5f6tIG1QyYy78PgTmqPbjnY+muTYR6nejyimRn+MnUevcq8s+7i/+4ETEKfdqB+4J8p 47ajVzuxTnDIy3ZRNeZtZ/+dr/VtFztgcc3DetnrBPP/mgSfIFEtUwVeZRq1eOF7OZ0zjK FTWPGqHXmKDRHfpljgcMlMe4jR90EBNEKco+ZhsJ3lhlh1IbcljcM860eH+Bqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731384655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W2QMJKwEQ/eDrhvQnZznPm0VRhJtKSc8G+ie6xBSUBg=; b=NKGHbg0kItZQ2PIPH9M47fLUSKjIsMDiKYE4iDtHPo3MITDmcbuInuVOHlJKfb4yelziXx cMKjxaRJPtN4yg1r6VynZUNZSPZLN5OQcUXC7pOT4r4mO6lSEZhjltTWMxpmLuRQryJBWg NrDSc5/FTE+fTes52qxU+EMUt8OEwWR/ZCINdtt38dd2Vwz5/PyvP9nngb1QOzBG6n71D5 SlHIOX3yaQ1XvwqcQpDzVq1rJ2O1Un+YF3x60a9Q4T8Yli7sgJBSiK0McC1n1fDrXL0CYw uNYXiOTNuqhupHaqwkYFdtZTeXnKVtCnmOumDoGvnPWP80XoyENMslVrUwA8mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731384655; a=rsa-sha256; cv=none; b=a044JCawWmDPZJU+qaTJl9jCYhJL1ABVqGA6K2zv/I0AffNHrzOW2sSaPKKoTquUMy6i6J i/LCudBtJb8Tbictze0b706WGrjvbOc0n003TpU8gmq3UJ+EY9FsrplkquGivVX3Z0fFJj xxf+PABdzeKlltVXE3OYDTw3JDXZikESawc6zawhNboPRD1f9Njia1zHk//yqoiPA6fnM0 T3jWQ28Z01uBVLbLHgf70dhQQnqA/vEHkWgfT3rrM3A0Rc05wFYYLXVVWp1+s9CNXCl3Du 7h7uaSY0mndNNZ2ZqULspUfaQI/FGGfLkVKKxyxVIguE8AupsbTP75ipSAVKrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnXyl5sVMzvs2; Tue, 12 Nov 2024 04:10: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 4AC4Ated062495; Tue, 12 Nov 2024 04:10:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC4At5G062492; Tue, 12 Nov 2024 04:10:55 GMT (envelope-from git) Date: Tue, 12 Nov 2024 04:10:55 GMT Message-Id: <202411120410.4AC4At5G062492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: c53ec86f0ee9 - stable/14 - iichid(4): Do not power down opened device in attach handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c53ec86f0ee97f07f80c0902b189c845bf448e7d Auto-Submitted: auto-generated The branch stable/14 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=c53ec86f0ee97f07f80c0902b189c845bf448e7d commit c53ec86f0ee97f07f80c0902b189c845bf448e7d Author: Vladimir Kondratyev AuthorDate: 2024-11-08 19:23:38 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-11-12 04:08:33 +0000 iichid(4): Do not power down opened device in attach handler Some iichid(4) child devices, currently hkbd(4) only, opens parent device in their attach handlers. That breaks internal iichid(4) state leading to rejecting any incoming data on software and hardware levels. Fix it with adding of extra state check in iichid(4) attach handler. Reported by: many Submitted by: trasz (initial version) PR: 280290 MFC after: 3 days (cherry picked from commit 018cb11cb7d412b031e1be681a6a19e734473f99) --- sys/dev/iicbus/iichid.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index 1e0dac2ee5dd..e99facdb06bb 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -1205,8 +1205,12 @@ iichid_attach(device_t dev) iichid_detach(dev); } done: - (void)iichid_set_power(sc, I2C_HID_POWER_OFF); - sc->power_on = false; + iicbus_request_bus(device_get_parent(dev), dev, IIC_WAIT); + if (!sc->open) { + (void)iichid_set_power(sc, I2C_HID_POWER_OFF); + sc->power_on = false; + } + iicbus_release_bus(device_get_parent(dev), dev); return (error); } From nobody Tue Nov 12 04:10:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XnXyn2Y0yz5d6XS; Tue, 12 Nov 2024 04:10: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XnXyn03Qjz4F2s; Tue, 12 Nov 2024 04:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731384657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7yEsA64bdHh9UXAlPHj5oa+Qmwr5p9g1wj6tsBNf+SY=; b=qbedpEWCsOHJvYFID4FQHApPz+3IhtLnVCIjeH9hoEGf/kso10ODtvd6+rnnsRgo7D2Zs5 jnhz9C6Sb9n1lcVwf1ENc6YnwCE5hEldJwnltiFPumBJ8OeL6faGlvD21oXkXRmuowlDSa xHLwHxh5+UlTjfeht/dVo7txFPCOfdPzEnAJBC82tDQHLIODoa5Fa6BSP1RH7ziMfoiJGV rf937osMVuUpQjMvrYexczEyzpZT18ZESIjO5VwdxQ/y5t8EUe4KqaajGVwL4ZXPa1p95P e1R9KoibExM1Al4j1aGrLMQFwVSOBLbDmolejdvVPkTRVuNRE7qLG8sOCN7CTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731384657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7yEsA64bdHh9UXAlPHj5oa+Qmwr5p9g1wj6tsBNf+SY=; b=kIh1RO3aoMIToccB1LRKKymChLkNsj1NjRPnr4w3wWdGNEUo84vYVLZh88gtG3StbxtkZy uAOGIilLzVKVqLILcUMo8hH8tDq3kIxJ9hlIAFOWRwxa39xT7inLmFfpE1x7EIaE9iXSsg AKqmu1sooZDd17s3IYfh+etJGK4fvVqkb4Pr4XQnR6eUBPpg2CHRI6FWOsDYuqGa5iMFbf +Oa60P+VTA3vAzfTuUB0JMfJYYE6xoOqWFFpn4P0fxZ9uMG0+/+NeSQlpXGkMJh/dY56G2 6Kx9fyUe2cirajmQj0fatUAyyL4hkB6xTKrix8NNLtvvgvoCk4meLShPGOrvfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731384657; a=rsa-sha256; cv=none; b=kKIeLzEda50DDoBQibicYLsrgXkpZUEIatfW+qGYCMukJsHYuqOWo7wemuK6h1Y+NtTh2o 3pbtNC+Kg9IHaquO+kx0dVG6hrFitkNjrDoXAYfrF28l52NEyLif3q+iDYgd8zShVYtc1z evmMUNHQkoDCHas1qnFPzHAEd6ZguLpAj7u7f0slKCHYl9CZtH6T+78peuC6S3n8RbipO2 MS2EXwY7ReeXloDdc7Gre4wS4LDLZC6bL60kfqw1RfgKp8jOycHkqey/ZYZEBgfrjbF4oq JTaFO3yAqn6YCMQr0Ww63QSRS4lZTBJBE5lLCzgivdj+tK5rR8nwvg4ZRognZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XnXym6jpdzvdM; Tue, 12 Nov 2024 04:10: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 4AC4AuOs062540; Tue, 12 Nov 2024 04:10:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC4Au72062537; Tue, 12 Nov 2024 04:10:56 GMT (envelope-from git) Date: Tue, 12 Nov 2024 04:10:56 GMT Message-Id: <202411120410.4AC4Au72062537@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 5cc7196a81fe - stable/14 - ig4(4): Add Meteor Lake PCI IDs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5cc7196a81fe6924a2994a1efc31468ad045b0ce Auto-Submitted: auto-generated The branch stable/14 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=5cc7196a81fe6924a2994a1efc31468ad045b0ce commit 5cc7196a81fe6924a2994a1efc31468ad045b0ce Author: Austin Shafer AuthorDate: 2024-11-09 05:05:34 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-11-12 04:08:43 +0000 ig4(4): Add Meteor Lake PCI IDs PR: 282389 MFC after: 3 days (cherry picked from commit bab5e3d468305928e9e5cf1ca9efcee4c89f6a76) --- sys/dev/ichiic/ig4_pci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/ichiic/ig4_pci.c b/sys/dev/ichiic/ig4_pci.c index 138de77c35db..874d6a9abc55 100644 --- a/sys/dev/ichiic/ig4_pci.c +++ b/sys/dev/ichiic/ig4_pci.c @@ -172,6 +172,8 @@ static int ig4iic_pci_detach(device_t dev); #define PCI_CHIP_METEORLAKE_M_I2C_1 0x7e798086 #define PCI_CHIP_METEORLAKE_M_I2C_2 0x7e508086 #define PCI_CHIP_METEORLAKE_M_I2C_3 0x7e518086 +#define PCI_CHIP_METEORLAKE_M_I2C_4 0x7e7a8086 +#define PCI_CHIP_METEORLAKE_M_I2C_5 0x7e7b8086 struct ig4iic_pci_device { uint32_t devid; @@ -288,6 +290,8 @@ static struct ig4iic_pci_device ig4iic_pci_devices[] = { { PCI_CHIP_METEORLAKE_M_I2C_1, "Intel Meteor Lake-M I2C Controller-1", IG4_TIGERLAKE}, { PCI_CHIP_METEORLAKE_M_I2C_2, "Intel Meteor Lake-M I2C Controller-2", IG4_TIGERLAKE}, { PCI_CHIP_METEORLAKE_M_I2C_3, "Intel Meteor Lake-M I2C Controller-3", IG4_TIGERLAKE}, + { PCI_CHIP_METEORLAKE_M_I2C_4, "Intel Meteor Lake-M I2C Controller-4", IG4_TIGERLAKE}, + { PCI_CHIP_METEORLAKE_M_I2C_5, "Intel Meteor Lake-M I2C Controller-5", IG4_TIGERLAKE}, }; static int From nobody Tue Nov 12 07:55:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xndy5204Vz5bf7v; Tue, 12 Nov 2024 07:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xndy45Wvfz4dlm; Tue, 12 Nov 2024 07: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=1731398140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uaq2FcRuknG89hI8l9lM6Ww2Ll0kRkV/rAZ9ugh//Os=; b=G6zGCb1nFJDHd6Txe3nuTJc98KGVCihap+IMXfI6fpeFMaTXLQ6r2qcZa8M7RpwfmnwCqu 9pxnCLQcQAieZnLFUkZS6oDpc6S8MLex/m0SJxRg5ZNG0vgA0OjBtSIMw5oJIOr/XjLEj+ TMsGHSxRd7ibcedV+MKzcEr83OD+CNQwosrhTRExE9K2i9VTvU9l/HtT4/qBmN8VOrIQwp B9HNNyjJhuWcXKpg7iC+/z+CL1ZwqF4HA5meWHgK1XQ9XQdZo52KiZngbaRS5Q5HcheFVG kii3upt3nl0MlDE1669wfQn5vy9tJhXgygAGpH8bmadWWHLWGCO8lj9w8gzFdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uaq2FcRuknG89hI8l9lM6Ww2Ll0kRkV/rAZ9ugh//Os=; b=oHE24ahZmCJzB5W0hYRDx+/gd6sGcz11S9pyVJPrN8a6IOl+A/t6UJfOOwr8cclT+y2JPj nr8KjLplXZZgYjD0kbG5bM0S5pLnFeMuF9qBPGVk0ZuZZ0ZDw/jZAW51cq1SR2v9Tvhx+O Rx0Tjr6Xvj3BzUHu8LYTFc4NixoMk/xF7xLg/mTNsE72HFGGd4Btdc3eEJpFcBwKKheJ9N TBPyJbNZyUqp9QwyRcuu/rrsTNneEmOKmQk+mdx5AXoRht7BA8juUvM2NqI3aVPRVbusob GhuOthHuilep1PVW1PloNSBBAljHRAeqBN76xbJe/XE5FaFzMwBvbbcHL+lfjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731398140; a=rsa-sha256; cv=none; b=NbVLzOwvWxlxxxSb/8brgMK7m7AKsvchgI+fKELoPA2nurdspWAR/rf/1nEZGwfAg3fc7V EgzcGgdRNnuGNY1r1V1vs5G+tEY8AtnlpSDUEdslo/bBeX+hOYvREEg+NTzK+eVWKYB3SM XpnZ+pqKwDIrsmRz1rA33o7TvNVbNmHv0R5RyTEkUJxTbOBHyxKFZ722geiIDBrzqZmEZT hTs0gv2pyeT6GE812uB9X5yFQhYwdXJ7VNcpv5KXpHLKx7y930kYjFRrpPUAh799QDkL9X 2YA15ePIzgFJgw7pcSBM1j8gBYsXyxxoQMdn7uMq8vd4IwpA+vO/dYIp5EB8eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xndy457p1z127K; Tue, 12 Nov 2024 07:55: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 4AC7teJu076964; Tue, 12 Nov 2024 07:55:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC7teAG076961; Tue, 12 Nov 2024 07:55:40 GMT (envelope-from git) Date: Tue, 12 Nov 2024 07:55:40 GMT Message-Id: <202411120755.4AC7teAG076961@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: 1616f7d4b57b - stable/14 - bhyve: avoid a potential deadlock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1616f7d4b57bd463431ee2af7710b4f9d96db6ea Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=1616f7d4b57bd463431ee2af7710b4f9d96db6ea commit 1616f7d4b57bd463431ee2af7710b4f9d96db6ea Author: Pierre Pronchery AuthorDate: 2024-08-05 07:46:01 +0000 Commit: Corvin Köhne CommitDate: 2024-11-12 07:54:21 +0000 bhyve: avoid a potential deadlock This unlocks a mutex in an error path, that would otherwise remain locked and potentially cause a deadlock later on. Reported by: Coverity Scan CID: 1521334 Reviewed by: corvink, markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45401 (cherry picked from commit 1f3bfc60550cdd019f00bf6d274db762fda4ed2c) --- usr.sbin/bhyve/tpm_intf_crb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/tpm_intf_crb.c b/usr.sbin/bhyve/tpm_intf_crb.c index 6aeafe7f0ec1..95cd8b1aae31 100644 --- a/usr.sbin/bhyve/tpm_intf_crb.c +++ b/usr.sbin/bhyve/tpm_intf_crb.c @@ -349,8 +349,10 @@ tpm_crb_mem_handler(struct vcpu *vcpu __unused, const int dir, pthread_mutex_lock(&crb->mutex); tpm_crb_mmiocpy(&start, val, size); - if (!start.start || crb->regs.ctrl_start.start) + if (!start.start || crb->regs.ctrl_start.start) { + pthread_mutex_unlock(&crb->mutex); break; + } crb->regs.ctrl_start.start = true; From nobody Tue Nov 12 07:55:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xndy602sDz5bfC1; Tue, 12 Nov 2024 07:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xndy56C1vz4dlp; Tue, 12 Nov 2024 07:55:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9XpFdu75kom2HnI1FXfWeaAo4zWULHKVHFrakh07Xk=; b=QIsTromHXfalPGbXoif7Ps/yDn+S/7TPzaDd5WFsbCwc/o3fSyIUdGLFaB8A2LUumZv74q f/Te67Azev9pHTBYaYaUWf3nyiL5NPL9GnivoQPY/b1HQ/nQ7NWLwbpoYL3w6LpcBNhWk8 O64TXA0CrFZtD12kPBoCU9SyESX9vea+21yfS0YZNsdxhDF/7gdtecaq1eaDfPF6dCWD2o UXWlSxTACizU3XOaW3DND4xPBGvYYBshVxaHUC8h+/+wysHaI+vVBrR3qOTEd+ha8qkiRT xH1+Zwd/VgpFr6+g/8t7NlZ5IJtRQlJBi2Um3fOIsPLX8/qGJFqAba5G3rJf2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9XpFdu75kom2HnI1FXfWeaAo4zWULHKVHFrakh07Xk=; b=BaStDWK34jrhZe4ZI5x+kLL7dRx690Mx2Koy3MGVMz+Oe5NW6p/5TQFzYvXQ0uEJXwDmyr 0UJRUeQ9KkVRFjBfPL5o3fQlIvB1lqw+plgYhVmCJU92eW0GNf53umTp/HDVIVvtLFdbiX LwT1Z2n7l8slMmVeQUKh4RjLwgRzSC+SuJlCGr1nyuL61YG/J6tAhyWcg3KihROE+Wt8xd boPuTgx+s/+9O6I8rH8lgJl1snKCxqP3o3N1TQxkrcGic3McfgTHBRbtzOdOX5CPw+BK1j q1OXaMIaN6MQkpIBlmStjqNgOUsU3bbxkOGQPF0AhuEZUutpJuS3u5nNtxP0Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731398141; a=rsa-sha256; cv=none; b=qKxV978QKRyN3PO0co03iWTU+4HAzJPEJfNOKrtjiT4cq8eLk6Wn+oVP8/vYbULoFXa1Ej W0XLMqGVWpml2+PlxAYBhSEAhVlflVBBqXg+aD9ER7ZEg0SjNdwuGhqmHR3ygHR/HkJGvf T2gB3+kV14TguUX4Bni9gpPEZOlX8/YYTLD7oFbnysO9ntOwD3tz/W4GteOy9UK580u292 qS5zwC/wEmBYflRocvU/Aru8JRNy4JFMnkwkTzd0WRTOp5gwfMXTKPHisWLYZKZy/qcf2k YE/kiSk7Nxmq3LpMX+KXp9aBgrfzzpTHrWqzRKFFu3PdXuGU4Lazt8Sii2k0mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xndy55pkZz122X; Tue, 12 Nov 2024 07:55: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 4AC7tfeM077034; Tue, 12 Nov 2024 07:55:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC7tfen077031; Tue, 12 Nov 2024 07:55:41 GMT (envelope-from git) Date: Tue, 12 Nov 2024 07:55:41 GMT Message-Id: <202411120755.4AC7tfen077031@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: 541696f2a1d0 - stable/14 - bhyve: remove empty E820 entries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 541696f2a1d08eb7f808b3ac183dc64fa8fe3cf2 Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=541696f2a1d08eb7f808b3ac183dc64fa8fe3cf2 commit 541696f2a1d08eb7f808b3ac183dc64fa8fe3cf2 Author: Corvin Köhne AuthorDate: 2024-06-04 07:38:02 +0000 Commit: Corvin Köhne CommitDate: 2024-11-12 07:54:21 +0000 bhyve: remove empty E820 entries When reserving a block with the same size of a RAM segement, we can end up with an empty RAM segmenet. Avoid that by removing this empty segment from the E820 table. Reviewed by: jhb, markj (older version) MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D45480 (cherry picked from commit f325f81f4ab93646debed0c2291c4c7f31470cfb) --- usr.sbin/bhyve/amd64/e820.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/amd64/e820.c b/usr.sbin/bhyve/amd64/e820.c index 9d95ec8ce688..148cae72ca6e 100644 --- a/usr.sbin/bhyve/amd64/e820.c +++ b/usr.sbin/bhyve/amd64/e820.c @@ -210,7 +210,19 @@ e820_add_entry(const uint64_t base, const uint64_t end, (base < element->base || end > element->end)) return (ENOMEM); - if (base == element->base) { + if (base == element->base && end == element->end) { + /* + * The new entry replaces an existing one. + * + * Old table: + * [ 0x1000, 0x4000] RAM <-- element + * New table: + * [ 0x1000, 0x4000] Reserved + */ + TAILQ_INSERT_BEFORE(element, new_element, chain); + TAILQ_REMOVE(&e820_table, element, chain); + free(element); + } else if (base == element->base) { /* * New element at system memory base boundary. Add new * element before current and adjust the base of the old From nobody Tue Nov 12 07:55:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xndy72BFFz5bf5t; Tue, 12 Nov 2024 07:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xndy70Bq0z4fFK; Tue, 12 Nov 2024 07:55:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=64/L+PL77L0hPLxcOLQ1QmQB/Uz3CS1ysETs7bvqin8=; b=O27HM3Ey1x3QiAK7N2eS6YziOvLDgTvyQPQLAGIT90NqD48b7ADPUTgL4zR44IFuM1+ok2 1hixbnYj8xIdWxu8JhpPKLP4eT+K/xn/GHDRm8mTkIuGmGOKWeHL4gfRyMgi11GTO0LIus QQWdn/7SKBs4JDZp/E12AYLIjU/5QiYMXVZoewy2EZbUMchrmmLCZbjPM3es1iXoLQAR0n laEd0s9IleWCnO8F1wnLs3gOmHN93Gfy7SMBbsCsDaUOD+lRq1CxSLizJLN5sYykkNEES1 crGnvTk5IInm6C7ATX63ja7r7kyI4P4kcZ38Da3oC3Is/NAFGRamN59hQ6LrFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=64/L+PL77L0hPLxcOLQ1QmQB/Uz3CS1ysETs7bvqin8=; b=jefxK3+0kr3EQXRbHlv44UM9ZWouq5izMFv0I/pbBgUeZxBvUEiVFxnKiFnK6PDOaQwW62 ASSUiKX8IFS8KE8r1qSjY5HBWDqQWQg/yOJxpWViZCyymx+dHsaB2V/OYnE7Cu6gOWZxRi GodCZ0h1XiOQmkhtp1WkWDK0zhLCdQXM7ZyzCKjf/mJsmAPY6EeTH7Wv2TrBkVzEHKtP4b U2YcbeRiRLGYu+Ff4Ogr8S+q4uKY/vdTzOyeEoCy14GlCYhvQxajba3UiXS1LfElKLeX8J UGvdGITjI1QhC+QiafucoRlafrWavCBP/BJCoIpCTrBo7ZzgyxiVHIS0cQH5DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731398143; a=rsa-sha256; cv=none; b=D+PB53wu09eqNY91jqwDiadB9UA8Wd9U6qolKAG8bBSPXRoS7/G/7G5aDMUWuIkoFx5QL8 EXlik3dV4tGgyrK4RQGo//RyCfEOJDiI2waYQteRLC3Gdiy8vYGCSpff4PmOhIhGfiFNWt eQ/EtYl+TYAW6lfhXJz06j4YLMnUpm2RH6ciN0ugTzvtDF2UL6geAaMQqBL7tcharWYSZy 6JE+NiahC9glqNOLazs/oSIsEAV2+kjNyC3h/P8lRC0Ziv4GuFqdliK3c+yuFYhbYeOS+k jWCVpBIjtLnpnHexJmPVOKWD8wKVv570bFQzn6U5hJ1/5QnK9DZ0OUcwRpu/ZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xndy66sQnz12TG; Tue, 12 Nov 2024 07:55: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 4AC7tgFS077096; Tue, 12 Nov 2024 07:55:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC7tgfT077093; Tue, 12 Nov 2024 07:55:42 GMT (envelope-from git) Date: Tue, 12 Nov 2024 07:55:42 GMT Message-Id: <202411120755.4AC7tgfT077093@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: 5a43d257c0fe - stable/14 - bhyve: don't crash when guest writes TPM int_enable register List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5a43d257c0fe009235c11463ace889aaef3d0c8e Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=5a43d257c0fe009235c11463ace889aaef3d0c8e commit 5a43d257c0fe009235c11463ace889aaef3d0c8e Author: Hans Rosenfeld AuthorDate: 2024-09-09 08:41:31 +0000 Commit: Corvin Köhne CommitDate: 2024-11-12 07:54:22 +0000 bhyve: don't crash when guest writes TPM int_enable register FreeBSD's own TPM driver writes 0 to the INT_ENABLE register during attach, making sure interrupts are off. bhyve really shouldn't kill the VM when that happens just because it doesn't support TPM interrupts. Even if a guest was trying to enable interrupts, we should just ignore it like real TPM hardware would. Reviewed by: corvink MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D46562 (cherry picked from commit 2feea221b2480f9f97b3bc0f47510b5bdec96b79) --- usr.sbin/bhyve/tpm_intf_crb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/bhyve/tpm_intf_crb.c b/usr.sbin/bhyve/tpm_intf_crb.c index 95cd8b1aae31..3e0769d1fef6 100644 --- a/usr.sbin/bhyve/tpm_intf_crb.c +++ b/usr.sbin/bhyve/tpm_intf_crb.c @@ -338,6 +338,10 @@ tpm_crb_mem_handler(struct vcpu *vcpu __unused, const int dir, break; } + case offsetof(struct tpm_crb_regs, int_enable): + /* No interrupt support. Ignore writes to int_enable. */ + break; + case offsetof(struct tpm_crb_regs, ctrl_start): { union tpm_crb_reg_ctrl_start start; From nobody Tue Nov 12 07:55:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xndy84dyxz5bf4M; Tue, 12 Nov 2024 07:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xndy81c7hz4fFM; Tue, 12 Nov 2024 07:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/lg0nhnY1meLWB9bForv1esezw0lRxTV8JKH2O6im14=; b=aryg6QFpK+VCKKArQwzthXpHfIraLC5F0HR91jeEL2QxMLcsvQwdTYAL6t2mTJbSvlubd3 TfNGOw5CJfllOQzhzraRhDKdJJEB71Lcuhu83d+49n3x1+YhtlQBL2JyB8tva7w/7gX9A1 2SKo4/FeTLwqhpcEPrlDRY3AyPaGZr6Inl3bYykDiD2yIOwuaAKpMsNdpKdksVQH+sG0oL RxpGRlO/fEpcrXR5GS8jV7nJvmRZuE9bQkoK8KrTnlgO8fRego7ZqTiy1PREyT4cbNueKX ttx0q5JA0Mw6W+51sKBqeA4TO2kZxGEGimAONNEoxVAZ0lsljD2Sq2r37drN2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/lg0nhnY1meLWB9bForv1esezw0lRxTV8JKH2O6im14=; b=Pesb0geoDvuA9x0nJJ4eRdHFd0kYgV8Rm5Op+TCFWnVuf63QhheElO2SHWtal1R6Xx4fuA GEqHsQKwwg4S+QspIzD2itP7b5wNXrbLkMKFtfpJ6mZZTuQBGyny4AN3yKs3N86FIfsMBz AHcvOoHDSxOMtC4C5hio6lY6xI+jeq8v8U31fi8P+pe6Ax7XeY7Oqcq9KRVoFQIHxgeGs5 0wXbIBAaMQIpe92aJ7m8PO4uK2Aq8/a02fVCi67scV3HovUQ7qjCjBCThdyJep95M9bc1I M7j/uofyN1Ev5HpYAraqXJcAn2wt/sQle+hab2pCgJNYqn6Mha4pkAMt1ZEF9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731398144; a=rsa-sha256; cv=none; b=peIz+WcP0B+7Vb5UU51sPLfdVMR7hIWQkVzhQMH+7MHYKMTJw5Xis+b+fxZXI7IUnaM14v ZqX4RBtrrKNdRuA3MkD1ah/qFry9vuR6X+uM5ICglwtRmXXbqS/lISSEbDqQrRTD0ws4Ce i+8uSGaroSul0skskkwJPnsiwOcKI/3Ylgj7/pahcN5hQbRAZ7xvf+fBNVFSApO2ztxrH0 KtxQF90mUy8GYgDVqiZoIEnDWNiREhVs9pk/0q6JQ11wa9vffyaTiCypPtN/7/jYbMYTjO LGzYc4gqnCaugwfMlvcOuhxEFFuKgcafouNEplkglOhI0SfyoZiXgWek7ZmsxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xndy817FFz11wB; Tue, 12 Nov 2024 07:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4AC7tiHn077159; Tue, 12 Nov 2024 07:55:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC7tiOh077156; Tue, 12 Nov 2024 07:55:44 GMT (envelope-from git) Date: Tue, 12 Nov 2024 07:55:44 GMT Message-Id: <202411120755.4AC7tiOh077156@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: b3180bea9b1d - stable/14 - bhyve: TPM CRB: pass actual TPM request length to backend execute_cmd() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b3180bea9b1d0c30d46a10e92d96d4944004f37a Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=b3180bea9b1d0c30d46a10e92d96d4944004f37a commit b3180bea9b1d0c30d46a10e92d96d4944004f37a Author: Hans Rosenfeld AuthorDate: 2024-09-09 08:42:42 +0000 Commit: Corvin Köhne CommitDate: 2024-11-12 07:54:22 +0000 bhyve: TPM CRB: pass actual TPM request length to backend execute_cmd() The TPM spec (TPM Library, Part3: Commands, Section 5.2: Command Header Validation) requires that no more bytes are written than the size of the commands, as given in the request header. Thus the TPM CRB interface needs to get the command size from the request header and pass that to the emulation backend. As the guest OS driver can set the address and size of the command and response buffers freely within the limits of the provided CRB data buffer, bhyve should verify that the values set in the corresponding registers make sense before processing a command. Reviewed by: corvink MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D46564 (cherry picked from commit bc3d09e90b8625f17017663fad3e049348b04ded) --- usr.sbin/bhyve/tpm_intf_crb.c | 45 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/tpm_intf_crb.c b/usr.sbin/bhyve/tpm_intf_crb.c index 3e0769d1fef6..b1f5b72b6285 100644 --- a/usr.sbin/bhyve/tpm_intf_crb.c +++ b/usr.sbin/bhyve/tpm_intf_crb.c @@ -166,6 +166,15 @@ static_assert(sizeof(struct tpm_crb_regs) == TPM_CRB_REGS_SIZE, regs.rsp_addr = val; \ } while (0) +struct tpm_cmd_hdr { + uint16_t tag; + uint32_t len; + union { + uint32_t ordinal; + uint32_t errcode; + }; +} __packed; + struct tpm_crb { struct tpm_emul *emul; void *emul_sc; @@ -177,6 +186,7 @@ struct tpm_crb { bool closing; }; + static void * tpm_crb_thread(void *const arg) { @@ -201,6 +211,26 @@ tpm_crb_thread(void *const arg) const uint32_t cmd_size = CRB_CMD_SIZE_READ(crb->regs); const uint32_t rsp_size = CRB_RSP_SIZE_READ(crb->regs); + if ((cmd_addr < TPM_CRB_DATA_BUFFER_ADDRESS) || + (cmd_size < sizeof (struct tpm_cmd_hdr)) || + (cmd_size > TPM_CRB_DATA_BUFFER_SIZE) || + (cmd_addr + cmd_size > + TPM_CRB_DATA_BUFFER_ADDRESS + TPM_CRB_DATA_BUFFER_SIZE)) { + warnx("%s: invalid cmd [%16lx/%8x] outside of TPM " + "buffer", __func__, cmd_addr, cmd_size); + break; + } + + if ((rsp_addr < TPM_CRB_DATA_BUFFER_ADDRESS) || + (rsp_size < sizeof (struct tpm_cmd_hdr)) || + (rsp_size > TPM_CRB_DATA_BUFFER_SIZE) || + (rsp_addr + rsp_size > + TPM_CRB_DATA_BUFFER_ADDRESS + TPM_CRB_DATA_BUFFER_SIZE)) { + warnx("%s: invalid rsp [%16lx/%8x] outside of TPM " + "buffer", __func__, rsp_addr, rsp_size); + break; + } + const uint64_t cmd_off = cmd_addr - TPM_CRB_DATA_BUFFER_ADDRESS; const uint64_t rsp_off = rsp_addr - TPM_CRB_DATA_BUFFER_ADDRESS; @@ -218,6 +248,17 @@ tpm_crb_thread(void *const arg) uint8_t cmd[TPM_CRB_DATA_BUFFER_SIZE]; memcpy(cmd, crb->regs.data_buffer, TPM_CRB_DATA_BUFFER_SIZE); + /* + * Do a basic sanity check of the TPM request header. We'll need + * the TPM request length for execute_cmd() below. + */ + struct tpm_cmd_hdr *req = (struct tpm_cmd_hdr *)&cmd[cmd_off]; + if (be32toh(req->len) < sizeof (struct tpm_cmd_hdr) || + be32toh(req->len) > cmd_size) { + warnx("%s: invalid TPM request header", __func__); + break; + } + /* * A TPM command can take multiple seconds to execute. As we've * copied all required values and buffers at this point, we can @@ -238,8 +279,8 @@ tpm_crb_thread(void *const arg) * response. */ uint8_t rsp[TPM_CRB_DATA_BUFFER_SIZE] = { 0 }; - crb->emul->execute_cmd(crb->emul_sc, &cmd[cmd_off], cmd_size, - &rsp[rsp_off], rsp_size); + (void) crb->emul->execute_cmd(crb->emul_sc, req, + be32toh(req->len), &rsp[rsp_off], rsp_size); pthread_mutex_lock(&crb->mutex); memset(crb->regs.data_buffer, 0, TPM_CRB_DATA_BUFFER_SIZE); From nobody Tue Nov 12 07:55:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xndy93f8kz5bfCW; Tue, 12 Nov 2024 07:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xndy92DrCz4f5K; Tue, 12 Nov 2024 07:55:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kWvaYERNUvzC6RCW2uYC7LeTfrM3jG72Tsr0DSj88Vg=; b=fIh/GZVdbAbdh9KHY+JipPkCUrdkW69JuSDeZzKWDPxRNXPU1gk0aCgiilnBBd4Dxu3aIR g4eRB+Gkvsqf4SNkVEePPGJtYNnj2mUSfuZ2UJLmjE9TXS/iErqYhv0J2EkjOryIG4NcPC X3cC666IFZIJrVm0PTAhVJas5xQZWaWManapU76335pC5VpGWHBmenyCAOeKmZrgdcS0c2 hfZ+5R+ji4V1zaGqcqVBwpZwtiMiZmR22BlMzEFMq1jn/gAtiVg8OjfIJ63PUeEO53yrqn szub6xC6TzN2OM8sGJdAjh9HK8pNW+P93F72HXZS+jF7vFpwFdFTjjcqgwTNCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kWvaYERNUvzC6RCW2uYC7LeTfrM3jG72Tsr0DSj88Vg=; b=cuRXmPLYvIxZBieDseZB0PelsUbGyFpJZ4jXfvUNjyB4Z+bExR6B+KW+vaLHFOa99ke/2X pCyhbJjrgdE9TMA8EINT5H6M1DnD3I9U7MW6IAtCzuY/Dw7ajPYkM+Hl4VSz4wGnbjNPbx kG1J7dEYdqPUXZ2eCCBMoKHiDwqZSKQ6xbJh6cC8J0ATeOnW89u6pogzj9rqI/kJa9WpSJ KC/D7TJRuWz0s+qT9fODTyTC5MGjO/o7Wd+bDo2ecsMswfz4op1KRA+1W5+7xW7OWjGbGc Jq2pJfC049ayFTlmsq4X2S1d+ZOb6qfRmjYN2nVbJreMxk1xwZAd41pTpRbdsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731398145; a=rsa-sha256; cv=none; b=gbwiGeK+fJsR+8SUObuOtck6RPIhX1Mdv7u7YVy0wyPu5Jpnxh7bzyxU+GF8yV4mdny6CV q2YcAtJi6SVqRmKbDVcpWA9tFYqlmvaSX0DfGqdfJRwrK4ye4/vesd+5oznTHPvNoZJ8TD j3/A7/L1GvJCDPxLG5PCgfwOVZ7wguTWupEHvVT2535pfgCnBIfv79NTOl8PgbQAX3ps0p CQDJRZthIcQNxfrJBi+F37tOTaWXM7S4RCtkUMSvd8lrc0LG+2CQ3Ey/ELgJ6KtRhnCWRd ZfI6py3M9SQbQ5Kr3mYRpICpxD/6yF9nXfhPlE30Yl4/wK939e0LIM+OQkTXWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xndy91pL0z11wC; Tue, 12 Nov 2024 07:55: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 4AC7tjd4077204; Tue, 12 Nov 2024 07:55:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC7tj7P077201; Tue, 12 Nov 2024 07:55:45 GMT (envelope-from git) Date: Tue, 12 Nov 2024 07:55:45 GMT Message-Id: <202411120755.4AC7tj7P077201@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: 660e7182dbee - stable/14 - bhyve: merge adjacent E820 entries List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 660e7182dbeedea9083eb788dfcdfd17cc9ac6b6 Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=660e7182dbeedea9083eb788dfcdfd17cc9ac6b6 commit 660e7182dbeedea9083eb788dfcdfd17cc9ac6b6 Author: Corvin Köhne AuthorDate: 2023-12-19 14:01:45 +0000 Commit: Corvin Köhne CommitDate: 2024-11-12 07:54:22 +0000 bhyve: merge adjacent E820 entries EDKII can allocate adjacent E820 entries only if they are at a page boundary. For some unknown and probably strange reasons, Intel puts it's OpRegion at an offset of 0x18 bytes. If the VBT lays directly behind the OpRegion, we're going to try allocating two adjacent E820 sharing the same page. This causes EDKII to do not properly allocate those entries. A Linux guest then isn't able to map the VBT and those fails to find it. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D45336 (cherry picked from commit 08139140c5f96fd9deb7a8de7a534bccf9a1d0c8) --- usr.sbin/bhyve/amd64/e820.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/usr.sbin/bhyve/amd64/e820.c b/usr.sbin/bhyve/amd64/e820.c index 148cae72ca6e..2fad22865ba6 100644 --- a/usr.sbin/bhyve/amd64/e820.c +++ b/usr.sbin/bhyve/amd64/e820.c @@ -156,6 +156,7 @@ e820_add_entry(const uint64_t base, const uint64_t end, { struct e820_element *new_element; struct e820_element *element; + struct e820_element *sib_element; struct e820_element *ram_element; assert(end >= base); @@ -273,6 +274,33 @@ e820_add_entry(const uint64_t base, const uint64_t end, element->base = end; } + /* + * If the previous element has the same type and ends at our base + * boundary, we can merge both entries. + */ + sib_element = TAILQ_PREV(new_element, e820_table, chain); + if (sib_element != NULL && + sib_element->type == new_element->type && + sib_element->end == new_element->base) { + new_element->base = sib_element->base; + TAILQ_REMOVE(&e820_table, sib_element, chain); + free(sib_element); + } + + /* + * If the next element has the same type and starts at our end + * boundary, we can merge both entries. + */ + sib_element = TAILQ_NEXT(new_element, chain); + if (sib_element != NULL && + sib_element->type == new_element->type && + sib_element->base == new_element->end) { + /* Merge new element into subsequent one. */ + new_element->end = sib_element->end; + TAILQ_REMOVE(&e820_table, sib_element, chain); + free(sib_element); + } + return (0); } From nobody Tue Nov 12 07:55:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XndyB4cndz5bfHc; Tue, 12 Nov 2024 07:55: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XndyB3FRXz4fGd; Tue, 12 Nov 2024 07:55:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GHj0hfaen38NWHhPNCpxip72HO+BaGx3lUbgC1R92lY=; b=xX6E9qO68yTumWN1kWzja8/76A0HR/Se0JlhIrRgnodEXI0GDv0Dr7F7KIH189uBpq6KG+ tISQUGEDgt3a/7oRgR/oN6p/otPXjWjmctSx+NyK1EMPSifZi2GJ6uH6GvG0gAjH2606WT WtqovSOkPowsJ/Qlokk+cPG4l4EbofShYKFZ+dyiU+7qCehfC2Flp4NSeYQ5SqsoNhQmsW UPZQiiRSDEaN9wl2hxeWCVIYnjGMZ53Pg939ylY1vKXVThgawnst29lbUJ+5t34gsdzpC7 UeeR/hwjJV4AfplHFFKf/h7HQf3ifa+oNV+psAwWudrO0z5y8kPykdzGP4Ajqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731398146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GHj0hfaen38NWHhPNCpxip72HO+BaGx3lUbgC1R92lY=; b=uYeQcSawHFXjXRmFggR93zjKHZ+GRipHiFfd05dSjp8dcFEMmLXjHgFYML7GZlOs6ceJac oFpMimWwwFb4WXHMppWbi8FJ8UgSh+RnT9C5swd1gpr/JzysSmfkbjMMRCS0FX+QDW952g M/2Wnqza6R3Xg+u+tm1cFDIaxvFINBBi7P/NZWmJy4ebs/bpfaQfkXwYqsyOA5NTCRLmJY FNf0yB0o5+SOehflwgX/rw0U144466MSSALHfZiznZOFwzbRSxrW7n08cZP14J7ANj0vrW JdsQ2CYiwyJoOiopPfI2pZPZzO5OZBLU8HwFH4VJY9qJ4IK8k7z7ReoG7NFvVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731398146; a=rsa-sha256; cv=none; b=kfv7vxeL/U/3uieU724RMNGVv+jkbSbEMAmH1cMLKCmVwlLVX3K7vVR5q16DUFoT8C2JD5 VCeuUx/PHLBnbxvnLVLTkw4mFD95uBQoDZRHjLvTAoyD2rICkyc5aIYih0QKuR0eU3GAmN k+tBf3r5BXk8wyss/rPPLR6kY6Q++FBJbxkDrmqn+SM7ekGfjKy2TZhXyY+O93VwS982qv 9OBN60skPSfpUjAFIhTZj4C1NpmXqzG4mMsS1muZ0NGFtQTYKbLSnNX+oIrLVNq7dGkjB6 TOJFcDEumtx9Zv6ef/LVSJvwB5ghMyaPVSB+sgPrpWP+YpKI+fQ1Ywc2WxfMXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XndyB2sCTz127L; Tue, 12 Nov 2024 07:55: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 4AC7tkYR077259; Tue, 12 Nov 2024 07:55:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AC7tkqu077256; Tue, 12 Nov 2024 07:55:46 GMT (envelope-from git) Date: Tue, 12 Nov 2024 07:55:46 GMT Message-Id: <202411120755.4AC7tkqu077256@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: fe019d5e443b - stable/14 - bhyve: TPM 2.0 emulation with swtpm List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fe019d5e443bdf3b40eec06078d2c596e84f8c56 Auto-Submitted: auto-generated The branch stable/14 has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=fe019d5e443bdf3b40eec06078d2c596e84f8c56 commit fe019d5e443bdf3b40eec06078d2c596e84f8c56 Author: Hans Rosenfeld AuthorDate: 2024-09-09 08:45:40 +0000 Commit: Corvin Köhne CommitDate: 2024-11-12 07:54:22 +0000 bhyve: TPM 2.0 emulation with swtpm Implement a TPM 2.0 emulation backend to connect to a running swtpm instance using a UNIX domain socket. Reviewed by: corvink MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D46373 (cherry picked from commit d93fbcf0222b05fcd7704b35bc94e5513c2682e2) --- usr.sbin/bhyve/Makefile | 1 + usr.sbin/bhyve/bhyve.8 | 26 ++++++-- usr.sbin/bhyve/bhyve_config.5 | 45 ++++++++++---- usr.sbin/bhyve/tpm_emul_swtpm.c | 132 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 187 insertions(+), 17 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 03ea77769754..f4dae2f09904 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -54,6 +54,7 @@ SRCS= \ sockstream.c \ tpm_device.c \ tpm_emul_passthru.c \ + tpm_emul_swtpm.c \ tpm_intf_crb.c \ tpm_ppi_qemu.c \ uart_backend.c \ diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index ffdaf71d1d8a..90f34b3314f8 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -374,7 +374,7 @@ PCI 16550 serial device. .It Cm lpc LPC PCI-ISA bridge with COM1, COM2, COM3, and COM4 16550 serial ports, a boot ROM, and, -optionally, a fwcfg type and the debug/test device. +optionally, a TPM module, a fwcfg type, and the debug/test device. The LPC bridge emulation can only be configured on bus 0. .It Cm fbuf Raw framebuffer device attached to VNC server. @@ -566,10 +566,25 @@ process. Use the host TTY device for serial port I/O. .El .Pp -TPM device backends: -.Bl -tag -width 10n -.It Ar type Ns \&, Ns Ar path Ns Op Cm \&, Ns Ar tpm-device-options Emulate a TPM device. +Supported options for +.Ar type : +.Bl -tag -width 10n +.It Cm passthru +Use a physical TPM device. +The argument +.Ar path +needs to point to a valid TPM device path, i.e. +.Pa /dev/tpm0 . +.It Cm swtpm +Connect to a running +.Cm swtpm +instance. +The argument +.Ar path +needs to point to a UNIX domain socket that a +.Cm swtpm +process is listening on. .El .Pp The @@ -579,7 +594,8 @@ are: .It Cm version= Ns Ar version Version of the TPM device according to the TCG specification. Defaults to -.Cm 2.0 +.Cm 2.0 , +which is the only version currently supported. .El .Pp Boot ROM device backends: diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index cb2de997e63e..38a52b635ec8 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -146,15 +146,6 @@ Specify the keyboard layout name with the file name in This value only works when loaded with UEFI mode for VNC, and used a VNC client that don't support QEMU Extended Key Event Message (e.g. TightVNC). -.It Va tpm.path Ta string Ta Ta -Path to the host TPM device. -This is typically /dev/tpm0. -.It Va tpm.type Ta string Ta Ta -Type of the TPM device passed to the guest. -Currently, only "passthru" is supported. -.It Va tpm.version Ta string Ta 2.0 Ta -Version of the TPM device according to the TCG specification. -Currently, only version 2.0 is supported. .It Va rtc.use_localtime Ta bool Ta true Ta The real time clock uses the local time of the host. If this is set to false, the real time clock uses UTC. @@ -274,9 +265,8 @@ Intel e82545 network interface. VGA framebuffer device attached to VNC server. .It Li lpc LPC PCI-ISA bridge with COM1-COM4 16550 serial ports, -a boot ROM, -an optional fwcfg type, -and an optional debug/test device. +a boot ROM, and, optionally, a TPM module, a fwcfg type, +and a debug/test device. This device must be configured on bus 0. .It Li hda High Definition audio controller. @@ -593,6 +583,37 @@ This value is required for the Intel GOP driver to work properly. .It Va subdevice Ta 0 .El .El +.Ss TPM Device Settings +The TPM device stores its configuration under a top-level +.Va tpm +node rather than under the LPC TPM device's node. +Only one TPM device is supported. +The following nodes are available under +.Va tpm : +.Bl -column "tpm.version" "Format" "Default" +.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description +.It Va tpm.path Ta string Ta Ta +Path to the TPM backend. +Depending on the +.Va tpm.type , +this is either the host TPM device, typically +.Pa /dev/tpm0 , +or any UNIX domain socket on which a +.Cm swtpm +process is listening. +.It Va tpm.type Ta string Ta Ta +Type of the TPM device passed to the guest. +This can be either +.Dq passthru +to use the host TPM devices, or +.Dq swtpm +to connect to a running +.Cm swtpm +process. +.It Va tpm.version Ta string Ta 2.0 Ta +Version of the TPM device according to the TCG specification. +Currently, only version 2.0 is supported. +.El .Ss NVMe Controller Settings Each NVMe controller supports a single storage device. The device can be backed either by a memory disk described by the diff --git a/usr.sbin/bhyve/tpm_emul_swtpm.c b/usr.sbin/bhyve/tpm_emul_swtpm.c new file mode 100644 index 000000000000..aaa0c9c358cd --- /dev/null +++ b/usr.sbin/bhyve/tpm_emul_swtpm.c @@ -0,0 +1,132 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Hans Rosenfeld + * Author: Hans Rosenfeld + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "tpm_device.h" +#include "tpm_emul.h" + +struct tpm_swtpm { + int fd; +}; + +struct tpm_resp_hdr { + uint16_t tag; + uint32_t len; + uint32_t errcode; +} __packed; + +static int +tpm_swtpm_init(void **sc, nvlist_t *nvl) +{ + struct tpm_swtpm *tpm; + const char *path; + struct sockaddr_un tpm_addr; + + tpm = calloc(1, sizeof (struct tpm_swtpm)); + if (tpm == NULL) { + warnx("%s: failed to allocate tpm_swtpm", __func__); + return (ENOMEM); + } + + path = get_config_value_node(nvl, "path"); + if (path == NULL) { + warnx("%s: no socket path specified", __func__); + return (ENOENT); + } + + tpm->fd = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0); + if (tpm->fd < 0) { + warnx("%s: unable to open tpm socket", __func__); + return (ENOENT); + } + + bzero(&tpm_addr, sizeof (tpm_addr)); + tpm_addr.sun_family = AF_UNIX; + strlcpy(tpm_addr.sun_path, path, sizeof (tpm_addr.sun_path) - 1); + + if (connect(tpm->fd, (struct sockaddr *)&tpm_addr, sizeof (tpm_addr)) == + -1) { + warnx("%s: unable to connect to tpm socket \"%s\"", __func__, + path); + return (ENOENT); + } + + *sc = tpm; + + return (0); +} + +static int +tpm_swtpm_execute_cmd(void *sc, void *cmd, uint32_t cmd_size, void *rsp, + uint32_t rsp_size) +{ + struct tpm_swtpm *tpm; + ssize_t len; + + if (rsp_size < (ssize_t)sizeof(struct tpm_resp_hdr)) { + warn("%s: rsp_size of %u is too small", __func__, rsp_size); + return (EINVAL); + } + + tpm = sc; + + len = send(tpm->fd, cmd, cmd_size, MSG_NOSIGNAL|MSG_DONTWAIT); + if (len == -1) + err(1, "%s: cmd send failed, is swtpm running?", __func__); + if (len != cmd_size) { + warn("%s: cmd write failed (bytes written: %zd / %d)", __func__, + len, cmd_size); + return (EFAULT); + } + + len = recv(tpm->fd, rsp, rsp_size, 0); + if (len == -1) + err(1, "%s: rsp recv failed, is swtpm running?", __func__); + if (len < (ssize_t)sizeof(struct tpm_resp_hdr)) { + warn("%s: rsp read failed (bytes read: %zd / %d)", __func__, + len, rsp_size); + return (EFAULT); + } + + return (0); +} + +static void +tpm_swtpm_deinit(void *sc) +{ + struct tpm_swtpm *tpm; + + tpm = sc; + if (tpm == NULL) + return; + + if (tpm->fd >= 0) + close(tpm->fd); + + free(tpm); +} + +static const struct tpm_emul tpm_emul_swtpm = { + .name = "swtpm", + .init = tpm_swtpm_init, + .deinit = tpm_swtpm_deinit, + .execute_cmd = tpm_swtpm_execute_cmd, +}; +TPM_EMUL_SET(tpm_emul_swtpm); From nobody Tue Nov 12 13:41:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xnnd03HcPz5cYRl; Tue, 12 Nov 2024 13:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xnnd02rKsz4Gfx; Tue, 12 Nov 2024 13:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731418884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8FiGcLYYg5rNMjIX+MxIRudp7CQ1zTY/dQpSC4X/2q0=; b=Owgta4Yg4BisktAy7+VDt/0m44loJRD+UU8lhm0UidwSSpXQ5zE8cYBlwWiqpNd2Rb72zL OK/AokdQdptH9THj+lvaxsO0aFRJfgMVS2vRU0d5rrMBhskxs+6RkCy8tgvaIYKHNvEIZl 5VDDqkX8X2mfvPmBH80vcWHEAefyKyyqUNVYvZKm2HHuUTuCtkt51/90X3SkNLE4dhLCVl LtbkWqjikRb1lvW1vb3S1iDukrOHwoMsv0Nyk3oCh37tXoAJ2NFa0X4dKt1jfjkhQPEkqM 8nbHTz/UeTEy45S3znisVMsxxBg9XrUvPj5m9FdV5TDq7YNPHjxda0UJ+w+uRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731418884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8FiGcLYYg5rNMjIX+MxIRudp7CQ1zTY/dQpSC4X/2q0=; b=AGE7E8G433G9y9h7yl0dZNySHW/vqPo9Z1nVd25pKAgmSMwpSA1DGAqPj49l8D6RgHdKOl nqOuH3RoHkhFjgIvEORos+4vxg7tdzGpJjztSovgtupez6fwIVcV7o2f45NGTh2mlq8s6y iQO/JxTeVRhtw/vneRIkg8dN8qEulwWHZh+Zn62MT9s+O/T5uYC9C/kx5uxdPEdR+gzgeC eJgfwKwkLz6+0jT7bSOlBef732Lb4h/RkgNreHXCfrqnjcyOB9DxPxx425myqzJ75Fe2Bg DSTvCzowqI+p4nrOHs7ExQ928u0u9qB26ParaAh9DGVGw0BcvtgmiQ8oF7WZFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731418884; a=rsa-sha256; cv=none; b=N9D0Jx2Avt+lYPgmnzOEbLPQSyXaV1CPbr+64mlFKACPFWFU4h0YzqQ0fcN+Qk1ACCnYt2 PMw1wDVgKmWlMDov9wtWUgNoWFuQ1fZXNspiMGnz9ejE1H8tKIBjHLFVIf2sLPXYnvP+kl PulEkKV04jEM+kwVElaWBck9W0CIwwhsQQYiyFf5FuQxem4oUxlQ55EVeyeTgLzl2YhgXc p8QT8gxwBjfcqMHkyrvaZP47MKpMPMRvAV1Hjo/Qe3iI6BwgJoYAjA8WC+rKxGg0v3ir+d LkwfxDaj+6JrLbRxaEiOTNtrruZZIKjwkwXHwNTrQA8dGQT1u8X541GHlr8tUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xnnd028dHz1Bcb; Tue, 12 Nov 2024 13:41: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 4ACDfOp2017728; Tue, 12 Nov 2024 13:41:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ACDfO6a017725; Tue, 12 Nov 2024 13:41:24 GMT (envelope-from git) Date: Tue, 12 Nov 2024 13:41:24 GMT Message-Id: <202411121341.4ACDfO6a017725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 094a5146dff4 - stable/14 - freebsd-update: refuse to operate on a pkgbase system List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 094a5146dff465622640cd2ec40a13451a0e6598 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=094a5146dff465622640cd2ec40a13451a0e6598 commit 094a5146dff465622640cd2ec40a13451a0e6598 Author: Ed Maste AuthorDate: 2024-10-30 19:15:13 +0000 Commit: Ed Maste CommitDate: 2024-11-12 13:40:05 +0000 freebsd-update: refuse to operate on a pkgbase system FreeBSD-update is not compatible with packaged base. PR: 282252 Reviewed by: bapt, markj (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47341 (cherry picked from commit cf1aba2857c1ec59c9a34d363cb18a61ffa34a10) freebsd-update: improve pkgbase check The previous version used a case-insensitive match (default for -x). The presence of packages like freebsd-git-devtools and freebsd-ftpd would falsely trigger the packaged base check. Instead, just use `pkg which /usr/bin/uname` as a packaged base indication. pkg uses /usr/bin/uname to determine ABI, so we can rely on it existing. If it comes from a package then packaged base is in use. Also, extend the check to all freebsd-update commands. It is easier to just disallow all commands, and easier to test. Reported by: Mark Millard Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47378 (cherry picked from commit 856e158dc4aa5e43f0f15fcd3089fc0d71861b0e) --- usr.sbin/freebsd-update/freebsd-update.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 77b12a3756c2..f575f89bcf82 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -1046,6 +1046,26 @@ IDS_check_params () { fetch_setup_verboselevel } +# Packaged base and freebsd-update are incompatible. Exit with an error if +# packaged base is in use. +check_pkgbase() +{ + # Packaged base requires that pkg is bootstrapped. + if ! pkg -c ${BASEDIR} -N >/dev/null 2>/dev/null; then + return + fi + # uname(1) is used by pkg to determine ABI, so it should exist. + # If it comes from a package then this system uses packaged base. + if ! pkg -c ${BASEDIR} which /usr/bin/uname >/dev/null; then + return + fi + cat < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 6abc57ceb6a0 - stable/14 - libbsm: honour AU_OFLAG_NORESOLVE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6abc57ceb6a0af92ec86d95ba3bca0c396624c90 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6abc57ceb6a0af92ec86d95ba3bca0c396624c90 commit 6abc57ceb6a0af92ec86d95ba3bca0c396624c90 Author: Ed Maste AuthorDate: 2024-10-23 12:25:29 +0000 Commit: Ed Maste CommitDate: 2024-11-12 13:40:05 +0000 libbsm: honour AU_OFLAG_NORESOLVE AU_OFLAG_NORESOLVE is documented as "Leave user and group IDs in their numeric form" but it was not actually tested. OpenBSM pull request at https://github.com/openbsm/openbsm/pull/85 PR: 282271 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47263 (cherry picked from commit ba10bfe509dcb5d408de89c886527035068b8f17) (cherry picked from commit 914752d0f7f874ab4fc8393aee28c22df87324f2) --- contrib/openbsm/libbsm/bsm_io.c | 4 ++-- usr.sbin/praudit/tests/input/numeric_form | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/openbsm/libbsm/bsm_io.c b/contrib/openbsm/libbsm/bsm_io.c index 4b89ccb8b59c..f0b3e4a1a2df 100644 --- a/contrib/openbsm/libbsm/bsm_io.c +++ b/contrib/openbsm/libbsm/bsm_io.c @@ -644,7 +644,7 @@ print_user(FILE *fp, u_int32_t usr, int oflags) { struct passwd *pwent; - if (oflags & AU_OFLAG_RAW) + if (oflags & (AU_OFLAG_RAW | AU_OFLAG_NORESOLVE)) fprintf(fp, "%d", usr); else { pwent = getpwuid(usr); @@ -663,7 +663,7 @@ print_group(FILE *fp, u_int32_t grp, int oflags) { struct group *grpent; - if (oflags & AU_OFLAG_RAW) + if (oflags & (AU_OFLAG_RAW | AU_OFLAG_NORESOLVE)) fprintf(fp, "%d", grp); else { grpent = getgrgid(grp); diff --git a/usr.sbin/praudit/tests/input/numeric_form b/usr.sbin/praudit/tests/input/numeric_form index 09f089450ac3..144be694f2e4 100644 --- a/usr.sbin/praudit/tests/input/numeric_form +++ b/usr.sbin/praudit/tests/input/numeric_form @@ -2,6 +2,6 @@ header,113,11,socket(2),0,Mon Jun 11 10:18:45 2018, + 380 msec argument,1,0x1c,domain argument,2,0x2,type argument,3,0x0,protocol -subject,root,root,wheel,root,wheel,7053,4724,37636,10.0.2.2 +subject,0,0,0,0,0,7053,4724,37636,10.0.2.2 return,success,3 trailer,113 From nobody Tue Nov 12 13:44:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xnnj76Mckz5cYk1; Tue, 12 Nov 2024 13:44: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xnnj74lqlz4Hw1; Tue, 12 Nov 2024 13:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731419099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fz2/8/jJFgO5t1LnY8ifHaVgFN9gOpd0m6Q7zLkx2UI=; b=tyq0AzdozmYzIuLj/nMQxecDt4M3LFdGdHgbxHir1WL5oxG/FHGWRszaKVP7v5d1i5P2NI 86Ks/Bh804jB2bwQ2IdU6uvJUil8ZZY5hsh9wc1VIjVDzmp+QRivBX9jMlKQnc4P/vfatd zZO0isiW/XCyOtdEdiGFONnZeBkviwN05iezauFuFmwP8JmAF74qgcChKCzUf9t4NyuYAR Q7L+wqFvs34ko5q0vChtOQnBFRTtrk7weB9DXTaZESS+XId2FsfwtUkwee4MrDLBtlENuG KYbRF2HOEwqKV7nqVreWFwheKzdc0FmIEONI4Fgy6yV8rlh2TVGc8YLxBT3z+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731419099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fz2/8/jJFgO5t1LnY8ifHaVgFN9gOpd0m6Q7zLkx2UI=; b=YngpkZwOCGT5nprFBTSUW3IgEwraoiqLbdBvFsPe8tlwJdaUbQ+eaU0cr5XSJReCBIczWD 6KLMPsr1llRyyB6tTPyagQ4tbYzbFdp6Vcb/EjQMGwunNth+F3uj91OiQBWUQEsByGGw6H rv9yRG25yWekbW3IL3FMN6dAgwpckFaRyixJP5isDLnKpUqQTUdeaR3W/sdbnhIUZkKDQD LVK0mYYijwW2S+s13z7WbXBUN7o+r1BHy3fRjeveOiTxLhlJcQDnt1+x/81OXPmusUsPua lesvLwfkNiiB7BE4vlkB2/TE0JmKIWJHZ6XoE1jj0paaRN6hh9yGmf5VlBEFTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731419099; a=rsa-sha256; cv=none; b=TorVZnmzzRJHf8b7V9FxzvGSGKwLzldG7lKeJYYpTNwxSa//t1ZGtYvOdvDcVtK03iGerw Ad4tJcwdh62El23jENHgiik4vtsnvsUfn6/mM5EISw+sruOSr6zHC/dgKyAoJa7y8ELgev 8jmlFZOQyvoLbedNdBzogSeexrOjOinD/vvkpfokAxeswfOSbwpfR7bYqfKaQcyIU5A+Y4 XyMFLuHgz835p07CE/AtJC3IDLgw9JMNmto20Hvmtjn6ap/NFfEmTdZW094lOiU7svE10F 4hXeWgM/s6eLKC+1vpXENKw2DklxAfE6gTMrrOsAbMNkjR0zStdshYPaTIyuBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xnnj71TdGz1Bd8; Tue, 12 Nov 2024 13:44: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 4ACDixdj025593; Tue, 12 Nov 2024 13:44:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ACDix7T025590; Tue, 12 Nov 2024 13:44:59 GMT (envelope-from git) Date: Tue, 12 Nov 2024 13:44:59 GMT Message-Id: <202411121344.4ACDix7T025590@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 92a324a151ce - stable/13 - libbsm: honour AU_OFLAG_NORESOLVE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 92a324a151ceef49cf52d33e9e30038f6459629a Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=92a324a151ceef49cf52d33e9e30038f6459629a commit 92a324a151ceef49cf52d33e9e30038f6459629a Author: Ed Maste AuthorDate: 2024-10-23 12:25:29 +0000 Commit: Ed Maste CommitDate: 2024-11-12 13:44:47 +0000 libbsm: honour AU_OFLAG_NORESOLVE AU_OFLAG_NORESOLVE is documented as "Leave user and group IDs in their numeric form" but it was not actually tested. OpenBSM pull request at https://github.com/openbsm/openbsm/pull/85 PR: 282271 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47263 (cherry picked from commit ba10bfe509dcb5d408de89c886527035068b8f17) (cherry picked from commit 914752d0f7f874ab4fc8393aee28c22df87324f2) (cherry picked from commit 6abc57ceb6a0af92ec86d95ba3bca0c396624c90) --- contrib/openbsm/libbsm/bsm_io.c | 4 ++-- usr.sbin/praudit/tests/input/numeric_form | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/openbsm/libbsm/bsm_io.c b/contrib/openbsm/libbsm/bsm_io.c index 4b89ccb8b59c..f0b3e4a1a2df 100644 --- a/contrib/openbsm/libbsm/bsm_io.c +++ b/contrib/openbsm/libbsm/bsm_io.c @@ -644,7 +644,7 @@ print_user(FILE *fp, u_int32_t usr, int oflags) { struct passwd *pwent; - if (oflags & AU_OFLAG_RAW) + if (oflags & (AU_OFLAG_RAW | AU_OFLAG_NORESOLVE)) fprintf(fp, "%d", usr); else { pwent = getpwuid(usr); @@ -663,7 +663,7 @@ print_group(FILE *fp, u_int32_t grp, int oflags) { struct group *grpent; - if (oflags & AU_OFLAG_RAW) + if (oflags & (AU_OFLAG_RAW | AU_OFLAG_NORESOLVE)) fprintf(fp, "%d", grp); else { grpent = getgrgid(grp); diff --git a/usr.sbin/praudit/tests/input/numeric_form b/usr.sbin/praudit/tests/input/numeric_form index 09f089450ac3..144be694f2e4 100644 --- a/usr.sbin/praudit/tests/input/numeric_form +++ b/usr.sbin/praudit/tests/input/numeric_form @@ -2,6 +2,6 @@ header,113,11,socket(2),0,Mon Jun 11 10:18:45 2018, + 380 msec argument,1,0x1c,domain argument,2,0x2,type argument,3,0x0,protocol -subject,root,root,wheel,root,wheel,7053,4724,37636,10.0.2.2 +subject,0,0,0,0,0,7053,4724,37636,10.0.2.2 return,success,3 trailer,113 From nobody Tue Nov 12 23:19:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xp2SM4JnDz5cmwr; Tue, 12 Nov 2024 23:19: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xp2SM3g0Tz4ZMh; Tue, 12 Nov 2024 23:19:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731453587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kvGZaExDsJx+Dlht9cA/lpYmtqspPfj0Qa0Iz+HU8fw=; b=ujN1oY8W75eNaTDxKJRsjy6d5qa2ElXmYlBPO/KwMNTgpOZtu6ikwY0VmHD+T6gfRofRt7 Q52h3F2nXTzDcENjBpfTzfU+iKz6aV2pJydoqW0mzQaK5hZT+CecFTspKXF6DghcptGuwj /dMD9kE31Uj9KAwP/fqWZJF1jv6Fj9TICEf6xc3b7ByjHdh+tBWnDt641pYxuJmV8shlOU nKPed+QMetgwpDJC6IOFhuRoP5uRP2omz7ubnr4WvalxxIKzdTSb4VwO6kllm+gwqdWh35 0GxroC7aMFHkecdHPjmaTmoVu5Gs9fyVMvVNCrKsXCbvGLUALvQGcvH/RpdWqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731453587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kvGZaExDsJx+Dlht9cA/lpYmtqspPfj0Qa0Iz+HU8fw=; b=btVK0YCfZRX76cKL8fnoPH5aC70Q3yQB09Xbb2AanKOt/v5kuEnT9kOkMnIvDtwrVjQ6i2 LJzdrLSvyFYvso2WzGtHviMQ5bTRdgCIH+MwGTg9ZRPZi+pHCVNITVahD+EHjeMUa33Cqg mVP+gspv3vilDh+NAuRQAAP0IlKCljRzvbIhy8N7Hm/CTmAv1ARP6IVxjpd7iPGSIp+V7+ z2LRibjGQVcAtyW9LYp38c7Fw8aPLwTQq9Keq3CFiNMBFiXmgM6LbXA9XUk44o+0580Jkl 4nVyRGEdn1E8aHv1UNXHijHCugd584bRKHWIRoRh2+aMIOIuxbyEzOTC4+uuFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731453587; a=rsa-sha256; cv=none; b=jPs7IJ0e+6vNMw+kX5UL4aXSFoec0ALc0oPSqR+cWPuxNCMQhdl+fGgiOMBS1EsNir/q7T JhlHuMESODQqWpqGKbFc1Dzg3fLdSPdkiHGEICkmS6vjpy2Me9QzKva9OuiVsxPiHL6NKT 7JwugKrTGxjWklK5RDP3Be0M7ER7PsO2Fj7gAPZ6s0aZ7J/dw89ySai1GXVf8RryJW3j8j 9Ye+xxJwQiQVSCq2VhAFAFNh1aQH4DtNQEh5Wnts+FTyhAeoyYGy2bLPThMqAKsHGQkwGj oHmBpDqgOFOaFW9PPQrDYMV8Ai8EAtzpNKYmuvRV3PHxBr3kla+s1L7pX7rCZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xp2SM38QpzVwl; Tue, 12 Nov 2024 23:19: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 4ACNJlnC084813; Tue, 12 Nov 2024 23:19:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ACNJlQY084810; Tue, 12 Nov 2024 23:19:47 GMT (envelope-from git) Date: Tue, 12 Nov 2024 23:19:47 GMT Message-Id: <202411122319.4ACNJlQY084810@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: c57dc755fa1a - stable/14 - device_pager: rename the un_pager.devp.dev field to handle List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c57dc755fa1a8bb0a4190f60df02b2bce5b8033c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c57dc755fa1a8bb0a4190f60df02b2bce5b8033c commit c57dc755fa1a8bb0a4190f60df02b2bce5b8033c Author: Konstantin Belousov AuthorDate: 2024-11-04 22:10:06 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-12 23:19:18 +0000 device_pager: rename the un_pager.devp.dev field to handle (cherry picked from commit f0c07fe3d0007a4499f81583a99598cd0a74d45b) --- sys/kern/kern_proc.c | 2 +- sys/vm/device_pager.c | 20 ++++++++++---------- sys/vm/vm_object.c | 2 +- sys/vm/vm_object.h | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index b8bc1a7e5dfe..18302bb8abae 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2720,7 +2720,7 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb, ssize_t maxlen, int flags) kve->kve_shadow_count = obj->shadow_count; if (obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) { - cdev = obj->un_pager.devp.dev; + cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); if (csw != NULL) { diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index cb3b0e522d9a..bceff38a41c3 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -121,8 +121,8 @@ cdev_pager_lookup(void *handle) again: mtx_lock(&dev_pager_mtx); object = vm_pager_object_lookup(&dev_pager_object_list, handle); - if (object != NULL && object->un_pager.devp.dev == NULL) { - msleep(&object->un_pager.devp.dev, &dev_pager_mtx, + if (object != NULL && object->un_pager.devp.handle == NULL) { + msleep(&object->un_pager.devp.handle, &dev_pager_mtx, PVM | PDROP, "cdplkp", 0); vm_object_deallocate(object); goto again; @@ -186,8 +186,8 @@ again: object1->type = OBJT_DEAD; vm_object_deallocate(object1); object1 = NULL; - if (object->un_pager.devp.dev == NULL) { - msleep(&object->un_pager.devp.dev, + if (object->un_pager.devp.handle == NULL) { + msleep(&object->un_pager.devp.handle, &dev_pager_mtx, PVM | PDROP, "cdplkp", 0); vm_object_deallocate(object); goto again; @@ -221,7 +221,7 @@ again: mtx_lock(&dev_pager_mtx); TAILQ_REMOVE(&dev_pager_object_list, object, pager_object_list); - wakeup(&object->un_pager.devp.dev); + wakeup(&object->un_pager.devp.handle); mtx_unlock(&dev_pager_mtx); object->type = OBJT_DEAD; vm_object_deallocate(object); @@ -231,14 +231,14 @@ again: mtx_lock(&dev_pager_mtx); object->flags |= OBJ_COLORED; object->pg_color = color; - object->un_pager.devp.dev = handle; - wakeup(&object->un_pager.devp.dev); + object->un_pager.devp.handle = handle; + wakeup(&object->un_pager.devp.handle); } } MPASS(object1 == NULL); } else { - if (object->un_pager.devp.dev == NULL) { - msleep(&object->un_pager.devp.dev, + if (object->un_pager.devp.handle == NULL) { + msleep(&object->un_pager.devp.handle, &dev_pager_mtx, PVM | PDROP, "cdplkp", 0); vm_object_deallocate(object); goto again; @@ -292,7 +292,7 @@ dev_pager_dealloc(vm_object_t object) vm_page_t m; VM_OBJECT_WUNLOCK(object); - object->un_pager.devp.ops->cdev_pg_dtor(object->un_pager.devp.dev); + object->un_pager.devp.ops->cdev_pg_dtor(object->un_pager.devp.handle); mtx_lock(&dev_pager_mtx); TAILQ_REMOVE(&dev_pager_object_list, object, pager_object_list); diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 06dae7de3baa..5933b2c1d4bd 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2611,7 +2611,7 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) kvo->kvo_swapped = sp > UINT32_MAX ? UINT32_MAX : sp; } if (obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) { - cdev = obj->un_pager.devp.dev; + cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); if (csw != NULL) { diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 9921f1130e8c..16ee3544b658 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -139,7 +139,7 @@ struct vm_object { struct { TAILQ_HEAD(, vm_page) devp_pglist; const struct cdev_pager_ops *ops; - struct cdev *dev; + void *handle; } devp; /* From nobody Tue Nov 12 23:19:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xp2SN4w8gz5cn4M; Tue, 12 Nov 2024 23:19: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xp2SN4Lk5z4ZWn; Tue, 12 Nov 2024 23:19:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731453588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HbaKbgWyfiBFjREumFNZyOGt0s01blNUZ/zJO/0dC6A=; b=Msoo3AyBCsYm3B8Tx7e9wXtCs2Z4lADXpUj6l/gWIiJqce/HEVyibSLRdNHm3KK1vY/Xlh oJ60BpglIQIM3skPxw6fB0oP3T8z2fDoURHKNBt/Un94eoNwueq6c6WCVC/slwvXFXGVOv wJRZ5Ok27fuvigoY+H63t5y7RSuFys3cZgYDpD9AERBKlBs7qaNuBiG30Xjl6xEtobndfd JqPgCabLnr2heoHBqwpczg3DogQYvUCKH7kKwDPM3dTAlsD+yoivupZLPzHUYD0xPIzcSB NnrdoWHv5AJvd7S/lxPozA5Rzb4VrzORzCht6A5zW+nAPB2iQc6udeFn+MS+4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731453588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HbaKbgWyfiBFjREumFNZyOGt0s01blNUZ/zJO/0dC6A=; b=ca/b7cObCGl36z7Bd1jbNCePT57ae/p2wjrvq5Ls3N9wNPVtmJmIrfBBRY8sGflI+l3rwq pdzyg9DDQiwdSKieQxQj2ODeocx0NFcI1olUSZRoFWWl2llO1E/6BBl3K4NyUmbusmG7We 9o5WeKCo/vQVE5X5yy+uQyfhOzfo9dP4Dt9ukE/1Dleb9Hu2utD4zYESaKU/k7abTo7pAF ipUwKt6/EtxlceDxSIn3S/N1AOlNmV94bgJIwY0fd5ua8Bz24YPDlshIw+l4VbPZsOvksf 5NaizbQAvJ1PkWFVwRfu42/mzRgh+maRZ+TjAxIhHivfJcwbjZp8AwoFS5BrZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731453588; a=rsa-sha256; cv=none; b=C7tRLs7a7aYJl05CTXAQrFJg9h5whTTu+Ui8C8+q2yxWIcvuUsvVUP9lons1tXcAy313lc x+WsbDg4zfNQ4qF8LV7xPY+W5Tz59qSY46F3lhzzuArA//lxKGQcPVRUvCynhemn1O4gMg PycV4hB1SOdSXHaTXyl1NMzFYZfVqcjNq6/TSY1LITT9OcIqInpx1SOW3ZIwB8jKVeGczt m5P6pdGIhVcqLSFUs+Xj4B/ZSh480F9hrvCfBoNFj1fXs8h3pxEupCc3FrLcCgrN8Rk7Mq FkYOybuLdE558UWLmOHhcfn0hMCs2zYynNI4cqeGPwhHqD91TnUnQ5EZRiECTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xp2SN3dtdzVwm; Tue, 12 Nov 2024 23:19: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 4ACNJmjm084893; Tue, 12 Nov 2024 23: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 4ACNJmmd084890; Tue, 12 Nov 2024 23:19:48 GMT (envelope-from git) Date: Tue, 12 Nov 2024 23:19:48 GMT Message-Id: <202411122319.4ACNJmmd084890@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: 92a9501b6be3 - stable/14 - vm_object: do not assume that un_pager.devp.dev is cdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 92a9501b6be3d37a4eefcfbdda799b656ae146e8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=92a9501b6be3d37a4eefcfbdda799b656ae146e8 commit 92a9501b6be3d37a4eefcfbdda799b656ae146e8 Author: Konstantin Belousov AuthorDate: 2024-11-04 21:54:30 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-12 23:19:18 +0000 vm_object: do not assume that un_pager.devp.dev is cdev PR: 282533 (cherry picked from commit 580340dbdaaf372867e9ed3dd257430982753e5e) --- sys/kern/kern_proc.c | 5 +++-- sys/vm/vm_mmap.c | 3 +++ sys/vm/vm_object.c | 3 ++- sys/vm/vm_object.h | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 18302bb8abae..b7fa7bfb60e9 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2718,8 +2718,9 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb, ssize_t maxlen, int flags) kve->kve_ref_count = obj->ref_count; kve->kve_shadow_count = obj->shadow_count; - if (obj->type == OBJT_DEVICE || - obj->type == OBJT_MGTDEVICE) { + if ((obj->type == OBJT_DEVICE || + obj->type == OBJT_MGTDEVICE) && + (obj->flags & OBJ_CDEVH) != 0) { cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 6b0a70d523d5..21ec52b8124f 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -1435,6 +1435,9 @@ vm_mmap_cdev(struct thread *td, vm_size_t objsize, vm_prot_t prot, td->td_ucred); if (obj == NULL) return (EINVAL); + VM_OBJECT_WLOCK(obj); + vm_object_set_flag(obj, OBJ_CDEVH); + VM_OBJECT_WUNLOCK(obj); *objp = obj; *flagsp = flags; return (0); diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 5933b2c1d4bd..84e56b910809 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2610,7 +2610,8 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) sp = swap_pager_swapped_pages(obj); kvo->kvo_swapped = sp > UINT32_MAX ? UINT32_MAX : sp; } - if (obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) { + if ((obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) && + (obj->flags & OBJ_CDEVH) != 0) { cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 16ee3544b658..bd71820bed3c 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -206,6 +206,7 @@ struct vm_object { #define OBJ_PAGERPRIV2 0x00008000 /* Pager private */ #define OBJ_SYSVSHM 0x00010000 /* SysV SHM */ #define OBJ_POSIXSHM 0x00020000 /* Posix SHM */ +#define OBJ_CDEVH 0x00040000 /* OBJT_DEVICE handle is cdev */ /* * Helpers to perform conversion between vm_object page indexes and offsets. From nobody Tue Nov 12 23:28:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xp2fq3c5kz5cnZ1; Tue, 12 Nov 2024 23:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xp2fq1z7Lz4bZR; Tue, 12 Nov 2024 23:28:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731454131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jwFGZuzpZFseUg5ZW/131rSLIeLMV5yI1O2pHH69mmc=; b=uObBCZmOUcK2hiwMIYQh38fe6VuDvOpPHVMhMszAGIHdXXiiMRpo2Y10Lco8OHugunpGLO wS638v9PuHMMOcBBt7Op0aIKFuPjEWE4fr5T/LEmhiAEmLjpIFz8kgxaP6HX/zKjDU/32i fVBiParFk2+9VBAKoxLX5g6iQ4IxAG9+E1z/wrlbytqJFDJbnxWJwcPoSSVC54BgN5xM17 jXWrBUSB/EmQ1p2mkJ0ns9R9CSOjFNZUCqLqC4xIVHJ9uoHk0DdOlDpucNAZigMO7NB0hW FGCh/JvTtJ2ATzpNm1bSHmSTmStwy5MfE+ZOgAYs6ZHSFAIw/wls2CugsOoLeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731454131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jwFGZuzpZFseUg5ZW/131rSLIeLMV5yI1O2pHH69mmc=; b=mpOdJ6f+++W1J4OEJf2RdGg1+LLalZmRkJBOo0klVsEXVieKxhm8grmwNSCqj7ncdpl7aU Rv2mL644plgD9Zi8lzaOsOWvpoS1XIN/75H2p51WoZx2AnYF9XDXjJ2O2NG07oimV2knD0 ydAbb8/4EG9UDpEl4wTpy1Ot7/Pp4teVqSCbnZuMnM98fxMEzrQ7pyeY8tM8cMULTxCnul sHiwR6BrHu2BzTTvvcGzqfWpUB/RJamC/INTujLaZF3pgkcYCyXgqyhpdrBLIiuMVqBoJG Mqn4TpRa+wbfRIhoOb4qlHT03ooXxRab7m1vXhiV9Zry49UXxG4Dw7RZtab07A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731454131; a=rsa-sha256; cv=none; b=qbb8yL/4zZ5wLBJPH3rGLlnEqhy7UCNtFG4BkUhkd7dg3Xzdv6IRXTqyTvytdYZeJ3dpsX 68C/dvyp5PZ/iahgfOKo+HYeoi3A/ODTsqwFNinHABkqOJvP48GGgMBhsrkCnVt/6sRkWF 3iN8bESUdA2/ruORXvYDvWfZvpEs03mLMob019t3UzeIkPAlptZgCqxP37zuWJIhYKryfm gIJlk5j0uCMguyl9a832mg8vmaAxgJve9HB0k4LlEKaMe5Ed5rhWusgKUUgAfIygQH1j9k 9fObPBVbfAvWhgEBr/vOajaLQ4Y10ZOwHrLpZQGSoSzsXZS0t9u+Hbhl4mitVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xp2fq1S94zW51; Tue, 12 Nov 2024 23:28: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 4ACNSpbj003096; Tue, 12 Nov 2024 23:28:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ACNSpfj003093; Tue, 12 Nov 2024 23:28:51 GMT (envelope-from git) Date: Tue, 12 Nov 2024 23:28:51 GMT Message-Id: <202411122328.4ACNSpfj003093@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: b8276743e4bb - releng/14.2 - iichid(4): Do not power down opened device in attach handler List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: b8276743e4bbff1c11e910eef1599cbdfd88bc38 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=b8276743e4bbff1c11e910eef1599cbdfd88bc38 commit b8276743e4bbff1c11e910eef1599cbdfd88bc38 Author: Vladimir Kondratyev AuthorDate: 2024-11-08 19:23:38 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-11-12 23:27:30 +0000 iichid(4): Do not power down opened device in attach handler Some iichid(4) child devices, currently hkbd(4) only, opens parent device in their attach handlers. That breaks internal iichid(4) state leading to rejecting any incoming data on software and hardware levels. Fix it with adding of extra state check in iichid(4) attach handler. Approved by: re (cperciva) Reported by: many Submitted by: trasz (initial version) PR: 280290 MFC after: 3 days (cherry picked from commit 018cb11cb7d412b031e1be681a6a19e734473f99) (cherry picked from commit c53ec86f0ee97f07f80c0902b189c845bf448e7d) --- sys/dev/iicbus/iichid.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index 1e0dac2ee5dd..e99facdb06bb 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -1205,8 +1205,12 @@ iichid_attach(device_t dev) iichid_detach(dev); } done: - (void)iichid_set_power(sc, I2C_HID_POWER_OFF); - sc->power_on = false; + iicbus_request_bus(device_get_parent(dev), dev, IIC_WAIT); + if (!sc->open) { + (void)iichid_set_power(sc, I2C_HID_POWER_OFF); + sc->power_on = false; + } + iicbus_release_bus(device_get_parent(dev), dev); return (error); } From nobody Tue Nov 12 23:28:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xp2fr49YZz5cncr; Tue, 12 Nov 2024 23:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xp2fr3X8Tz4bck; Tue, 12 Nov 2024 23:28:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731454132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BvjCinGod1LEBQewCGr386yTxNH7EvtxWLKriJ6TNWI=; b=ejC5J6BFsLatWeYwcz4FHyy/1y8sEDCiGhpLsJGj/DVvyyZu2YV3Fu7ZzYYrB4SjLuWEXW /65NCISeH9EbookPSe0WDADURakxCASzj3A6ym+I5LCbHEwoRrx1jHapQR2S6InvWh4/Sb IFrZnZCTeNEUN4fv3gvwLRoLGq7pUDkd3hZJG8A4WcsImDjv/w4AT3+H1XvW2MuURtAiak lCfLFMSC7O8RAUOp8DTPnRXwWhfRzMHzrDKplQjHwxv8Ca/u19PMmYOu7CUw14ao5FqKOa AEAIXHDZxrHqZ1Cld7MEHxON6EKNl8t5bRiyBaipKHhnIkq9uDCJiY+8UJqgrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731454132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BvjCinGod1LEBQewCGr386yTxNH7EvtxWLKriJ6TNWI=; b=ySQETJ0adCvnzWW7+heFT4z4Kcj6WKPiX9WRm44IcZlOS+pOW5T13k4YCmUALmxyeIT4z2 FFpW+0zhF1tCqX4VMjGrY4BqcMw6FQgwRoIdiJkh2loN475HiwLl5jIsgcL41J6o4BGeU/ x0SCmb9C0Uzh1/WSmGi05eAFMZzpRLhBUhyDFalr6D3BvedJcad3hF86dy1tRj3mVFl6sv AogopHesXyISXi1E3Dqn9ayTx2+FQmjwSIcZJbkyGM9leLAkwpbHZ892kixqFegoRrE+uy XM5yx+Ctg6A1dKQhkBD8pl1J+XvIzYp3xXZkukLEizJHwpG+5eWCSch62rAWKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731454132; a=rsa-sha256; cv=none; b=XkHQW3y/Lic0jhCPNkLLlzWzLsRP6/bz7NkDdNr5xD30Z7FRXWpJWXi+Q9AYRBWNuCHtuY oRVKDFt4rbfSXsJJD7DzJmMm4ApYVy9to6ntEbfmd704tSa77EMywQ0L3UNSlmmBQZIQDR jIqQe4mFDeu/e3goHWwI0Yu8DVjtUBNMnJ64PhPUKuJ2zkSEG/cj80Z778Do0WmDRcGWLI L447gq1dWh1/BSfvjk6tyziYw5pS1ottoSU9TyTVsFmEOzrnLqy96PZ4mVNx0XBL4EAgmY gapQtYZCmx7dqGKAtEJcSwzyULr9W4+SYtHgX8v1VMp2LxdixV47g93SJmGrRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xp2fr2Bn1zW52; Tue, 12 Nov 2024 23:28: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 4ACNSqZv003145; Tue, 12 Nov 2024 23:28:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ACNSqI5003142; Tue, 12 Nov 2024 23:28:52 GMT (envelope-from git) Date: Tue, 12 Nov 2024 23:28:52 GMT Message-Id: <202411122328.4ACNSqI5003142@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 56f0fc0011c2 - releng/14.2 - ig4(4): Add Meteor Lake PCI IDs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 56f0fc0011c2c2f57e0d9382e87cd7ea4e014bcd Auto-Submitted: auto-generated The branch releng/14.2 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=56f0fc0011c2c2f57e0d9382e87cd7ea4e014bcd commit 56f0fc0011c2c2f57e0d9382e87cd7ea4e014bcd Author: Austin Shafer AuthorDate: 2024-11-09 05:05:34 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-11-12 23:27:46 +0000 ig4(4): Add Meteor Lake PCI IDs Approved by: re (cperciva) PR: 282389 MFC after: 3 days (cherry picked from commit bab5e3d468305928e9e5cf1ca9efcee4c89f6a76) (cherry picked from commit 5cc7196a81fe6924a2994a1efc31468ad045b0ce) --- sys/dev/ichiic/ig4_pci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/ichiic/ig4_pci.c b/sys/dev/ichiic/ig4_pci.c index 138de77c35db..874d6a9abc55 100644 --- a/sys/dev/ichiic/ig4_pci.c +++ b/sys/dev/ichiic/ig4_pci.c @@ -172,6 +172,8 @@ static int ig4iic_pci_detach(device_t dev); #define PCI_CHIP_METEORLAKE_M_I2C_1 0x7e798086 #define PCI_CHIP_METEORLAKE_M_I2C_2 0x7e508086 #define PCI_CHIP_METEORLAKE_M_I2C_3 0x7e518086 +#define PCI_CHIP_METEORLAKE_M_I2C_4 0x7e7a8086 +#define PCI_CHIP_METEORLAKE_M_I2C_5 0x7e7b8086 struct ig4iic_pci_device { uint32_t devid; @@ -288,6 +290,8 @@ static struct ig4iic_pci_device ig4iic_pci_devices[] = { { PCI_CHIP_METEORLAKE_M_I2C_1, "Intel Meteor Lake-M I2C Controller-1", IG4_TIGERLAKE}, { PCI_CHIP_METEORLAKE_M_I2C_2, "Intel Meteor Lake-M I2C Controller-2", IG4_TIGERLAKE}, { PCI_CHIP_METEORLAKE_M_I2C_3, "Intel Meteor Lake-M I2C Controller-3", IG4_TIGERLAKE}, + { PCI_CHIP_METEORLAKE_M_I2C_4, "Intel Meteor Lake-M I2C Controller-4", IG4_TIGERLAKE}, + { PCI_CHIP_METEORLAKE_M_I2C_5, "Intel Meteor Lake-M I2C Controller-5", IG4_TIGERLAKE}, }; static int From nobody Wed Nov 13 04:56:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xp9wR1vh9z5d9RW; Wed, 13 Nov 2024 04:56: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xp9wR1L60z43sL; Wed, 13 Nov 2024 04:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731473767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HWKKbm69npeNJZkOjekbeA13U4UAXko/YxsnmkNQkO0=; b=MO7zYB4Soe3tNVCp/ZT2a90DMEC7zrTEMQ7Bi3e3RjWnx+sjarUz7X+4Nn/UiFY1CFs+SF KlbE2XL5R3yIdi9lzfB3ED/ExTbSRrNAbzddXmkaPnJ7NsGtNcLoAjGIHDGrIwj2/DE4nj WEt9E0sI5tBkw/3VADXlsaV7HBR9ekbUs1pSBl1zXV1wvyNAU5BwnQdkERFNiZycjz1tRA Y7bZn0420Z8qokhGpNKsMsG1tP2eVbjV4nxkhJRy+oSxJFAZPWsjTlkE6vJqCt+a125a38 o5LpgBI2F4O4nYcSFC23TUoLGeWpkUXZcUcagLWrtvzkUJTMZqdOsRdSVwhhPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731473767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HWKKbm69npeNJZkOjekbeA13U4UAXko/YxsnmkNQkO0=; b=PNgbnhI7tGh0TP6oHGwbYx/zxWKk+E/GO1eK/jUI1Ev2P6lFdgO9toX4ou5TAyLlXhga7i FANTT9BAvIBHndzP4s5joCMZ1UhcAyKRXtRz3GttzM7kkwEcL1gRbfHmLZ2DldGuSLImvU jmcvCZaqG21ZyILGpDL2j6xSrjk/1ZIjkBKQ7U7XFJmgryqHKsVYbugHxVecFL/A2JJvvz KA27PL3ZY6XC7TPLzFtqJtX0JAIdazjKyw+9WoMC6x5mgeaH3xC2kBsaQfDqzle0lwUo6n TtSyiV9veRFFVZO54yGJb4Ywpq3Np1zfMMerSPwyl/FEriySs7WfVrzS/IHp2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731473767; a=rsa-sha256; cv=none; b=vRwjuhxmXN7jhLtxb3Q5nn3FB7N+QS5IsGP3C9k3S1Qr7wKd1n57p/6C6W7V2llmKVnHBJ y0EM/r1uoQcqgkIMsPaYsoGV38g5eDMZwOGsFuTgJMkHPNeNUwR2vrTKn6dK6RNHzOQ6gk Hqwwv0E39mvy2rcH1q1Ytqx0ozBVIufhZHMoz6A2AQMWwUqpfocuVE9keHGMqkJ2cC7goR YpHhbiRS5S9Y3/BeHD51yPhr07idhlFvOFjvYl5DykCCaKVEXm0peGvKuBfBrOHyLb9Ova yvRgDWADVveq8AUuek4PlQ8gucZOgXvbk8x20XgXqvmNJwIxELz+PjfoguAJNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xp9wR0xbtzgqb; Wed, 13 Nov 2024 04:56: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 4AD4u7FJ016339; Wed, 13 Nov 2024 04:56:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AD4u7u5016336; Wed, 13 Nov 2024 04:56:07 GMT (envelope-from git) Date: Wed, 13 Nov 2024 04:56:07 GMT Message-Id: <202411130456.4AD4u7u5016336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 5d3100f95bc3 - stable/14 - man.sh: revert trapping SIGPIPE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d3100f95bc3558e12185a8c11e1d5f2a42f2965 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5d3100f95bc3558e12185a8c11e1d5f2a42f2965 commit 5d3100f95bc3558e12185a8c11e1d5f2a42f2965 Author: Alexander Ziaee AuthorDate: 2024-06-10 04:04:51 +0000 Commit: Warner Losh CommitDate: 2024-11-13 04:53:43 +0000 man.sh: revert trapping SIGPIPE PR: 279542 Fixes: 14a5c1068d37 Reported by: emaste Reviewed by: imp, emaste, jilles Pull Request: https://github.com/freebsd/freebsd-src/pull/1283 (cherry picked from commit a85d870007e7dd94242a2084dbb750438332ac1e) --- usr.bin/man/man.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index ec14fe08cf67..3d1f4d2e9fe0 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -36,9 +36,6 @@ ulimit -t 20 # do not ignore the exit status of roff tools set -o pipefail -# ignore SIGPIPE exits because pagers may exit before reading all their input. -trap '' SIGPIPE - # Usage: add_to_manpath path # Adds a variable to manpath while ensuring we don't have duplicates. # Returns true if we were able to add something. False otherwise. From nobody Wed Nov 13 04:56:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xp9wS3ZGTz5d9RZ; Wed, 13 Nov 2024 04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xp9wS2KZQz43kr; Wed, 13 Nov 2024 04: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=1731473768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gWuWBIV+oNrT0KVGxiwto9Fa+VEvhzcZK6HKuIPBra0=; b=UJR8NcmczjSXPEmNawjdLaQGfWC0nWjACDAR8/6ySXlcuYt6eMdE7miTx/pxRVWtjsrxY7 hVxfeQxOF2IicmpYDwxI5vx+jMqdjoPp67N6QaNHDdyoRstfgyfVAFooicVKNxhy4y5+0/ 93+Y3A/QZ8NUKGo4rvAz7IsF0HmpzBh9jrmMgba1QGwRo0zyr4SBQojzshF6ydq7ZWdYWF fLQw7GQ8t+5ATXsX9AnUjJJI0IqP13e/QPtSp/Z7+ay0XT4UU6wbpoUp2Ph9b9n84uI7nT YCnx7ssOKV3/7WXoPmrNBiytdDfzjIeQFQmMH3MXJlGG7C2dytnmfHDBcNdISA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731473768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gWuWBIV+oNrT0KVGxiwto9Fa+VEvhzcZK6HKuIPBra0=; b=J7wcv65EHQE+uTc4XVXKnZx6htz20ItzatKtnI2ehNDgvices6mfVi119Gf4gerWWbQYFV SvwGShcsTn1AAXG3hlg88FuU/QtgxZlES1lSFv0zNMcQDK5dxzD0LefrrAMF3vWRr45/6L sKngmrfcwMlOntV7Vlse/il9cZJcimnJxZbjwATEXU2NA8WjQlHoHKzEPHIKPwNmAvpGnK /Qc23r/fMg12kA8xDL16MP723wIBgyxzsOERJosTjWbuy3VcfBRkUPDay36+tDdUFk6tqF XvePl6y7vkMya+Yq9soLcif6q+iO3321dnbxOZDBrigwxare4slx+6lt41DSPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731473768; a=rsa-sha256; cv=none; b=BxGRpiJ7FhMnJmAZcpxvhsir4po0yP6mt1S9rmr1rNEK9mv81C8MeC49hG0yvQNgp0LAaP XjzK7wULhsgVqdRK4uzW6H7/ml3DCMn8mxfpjsyA8QyROMzey5ixFuMeI5F7uwiKllQnnw 2JcowXqLeGxVB3dDq6DOqGGNI/obbdZjM/bDm/TVyKQV3ZWn17xf6AaXTomyXr3b8IJ3/l iMrshJz/a7e+c0N7UMzy00Uc7KhCPLinH5Zz2iDUKFT9xMydlpCnIUja6nWnk5FJOixtFm fZ2GeKLcVLXDBMivhuOWjk20pO/Pkc795cmxcQ2jvRq6g/UUvE1Mth/eu/vhTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xp9wS1x08zh8j; Wed, 13 Nov 2024 04: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 4AD4u8Vs016398; Wed, 13 Nov 2024 04: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 4AD4u87R016395; Wed, 13 Nov 2024 04:56:08 GMT (envelope-from git) Date: Wed, 13 Nov 2024 04:56:08 GMT Message-Id: <202411130456.4AD4u87R016395@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 18e42bdf1a7b - stable/14 - da: Add quirk for ADATA USB Drive List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 18e42bdf1a7b493d6305d104ebec68cb01ab0285 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=18e42bdf1a7b493d6305d104ebec68cb01ab0285 commit 18e42bdf1a7b493d6305d104ebec68cb01ab0285 Author: Warner Losh AuthorDate: 2024-11-08 00:11:15 +0000 Commit: Warner Losh CommitDate: 2024-11-13 04:55:04 +0000 da: Add quirk for ADATA USB Drive ADATA USB Drive lies about the RC16, so add a quirk to ignore it. MFC After: 3 days PR: 188999 Sponsored by: Netflix (cherry picked from commit f11b6ce4a3bc6d455dbec375218c01ce9b6b5dc2) --- sys/cam/scsi/scsi_da.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index 5b1cc7314984..efa903c2e57a 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -882,6 +882,11 @@ static struct da_quirk_entry da_quirk_table[] = {T_DIRECT, SIP_MEDIA_REMOVABLE, "JetFlash", "Transcend*", "*"}, /*quirks*/ DA_Q_NO_RC16 }, + { + /* ADATA USB sticks lie on RC16. */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "ADATA", "USB Flash Drive*", + "*"}, /*quirks*/ DA_Q_NO_RC16 + }, { /* * I-O Data USB Flash Disk From nobody Wed Nov 13 06:42:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpDGn1rFlz5dGpX; Wed, 13 Nov 2024 06:42: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpDGn1Pgzz4DSM; Wed, 13 Nov 2024 06:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731480129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWdOR2McKwCiMDNiHwvIQB9K0Afh4EkgR1pNpncjM5o=; b=hZ5HwaOEL/jZMj6aMFImJJ5IAqyZ1paWG86ELPoMFuuxXXAEqrWrklGwwNh17xUr1yx+DL 2Pf65JB61gX99FcfQaLF78mY8iPEDZfvu3xCcejMGGkjeMSk32ZN7NiKEufHaMGn4IGL9b pZ8b8ouhlZ6PCerzMrSYHPNPD7WoaxR0UnnVS+Sz2KRyGZs22H+m958q8esN+EKpuHwC6C hct3rs6fKvhsdJij8eUut84Ny+zLNTDC76/GcB0j32k8fCCQKSdOcEIXG4oFmqp7TAwVID nXwMo3QBHYMGYu2WQARaCmt+KXrmmeBq7oAHJpq3S+YZV9yryOK2EWavtQahJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731480129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWdOR2McKwCiMDNiHwvIQB9K0Afh4EkgR1pNpncjM5o=; b=ZOo62VzF8BIpL6bPe20uRZ65Zb6Yeap3up6gxN3Xus+MwewVYmUhAPXDgmh0iVPmwlMfoB 0oLTwtURg+Y9G1OpQV7Vm7OsRDg4cVaj5EOT70P6h/chH0L/LM+GdAam2eALnsCtUen0ib tW6B0nApOeuPLRFHS4PqUZb+ijvw9DyO2d/2Kvb3TDyb0iyesEn1QS5iKLEBLXok8jzVqR tIBBxV6QCXwvJStndKss5b1zrEjbEHW768rR5s6iAzJGZNJRLrNn4T/ovncdnsXXmSqQ4z qcXzWl4dDTh6v6ZOSJt30/4WNydiu7DL2GfgexyKiiATLDT1UcNLd3z7tDBGXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731480129; a=rsa-sha256; cv=none; b=Q/dZAtgNkCkKOvNfqjFMFYyUhkmrSX59Wlvj4RnJEI8hAdeM142zrjprf+yxo40GAJAMpq n55c8TIAkf58rUx/EkIdp0V1N5JhcZF55/L0+aHcat5BS5AAnPuUT/xwDetThbcdtfVaEH q/8/aUt1wKaUFUs3iLurc4lpJdnhNAoHvqrcck1XG9uhGTa2dhSw7WB9zmloTsbCP8m7PA QYimbKxi02y38yJNjm9L3svSxs1ggTcz6hb2ikhiHJoWunOVkYTDFUKg+dRjeAWF/kCm5i P+pVj/w7jR5+gfbRIkIWrzHhUGJEP/Y8vnr4lqmuSaiA397byAP51Gs56koGfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpDGn118dzkLS; Wed, 13 Nov 2024 06:42: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 4AD6g9on017129; Wed, 13 Nov 2024 06:42:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AD6g9R7017126; Wed, 13 Nov 2024 06:42:09 GMT (envelope-from git) Date: Wed, 13 Nov 2024 06:42:09 GMT Message-Id: <202411130642.4AD6g9R7017126@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: e8c5d6f6b89f - stable/14 - release: Publish OCI images on "ftp" mirrors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e8c5d6f6b89f38ed7c20ad5537fc82092106d378 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e8c5d6f6b89f38ed7c20ad5537fc82092106d378 commit e8c5d6f6b89f38ed7c20ad5537fc82092106d378 Author: Colin Percival AuthorDate: 2024-11-13 06:36:14 +0000 Commit: Colin Percival CommitDate: 2024-11-13 06:42:04 +0000 release: Publish OCI images on "ftp" mirrors If WITH_OCIIMAGES is set, "make ftp-stage" will now publish those bits into a directory under /OCI-IMAGES/, similar to how we publish CI and VM images. MFC after: 1 minute (cherry picked from commit e95e3e6eb7ef723aa5dd08de48a9ad3fec647c7d) --- release/Makefile.mirrors | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/release/Makefile.mirrors b/release/Makefile.mirrors index 1888f86d3002..8af614d9a9bb 100644 --- a/release/Makefile.mirrors +++ b/release/Makefile.mirrors @@ -58,6 +58,11 @@ STAGE_TARGETS+= ci-images-stage CI_DIR= ${TLD}/CI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} .endif +.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) +STAGE_TARGETS+= oci-images-stage +OCI_DIR= ${TLD}/OCI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} +.endif + CLEANFILES+= ${STAGE_TARGETS} CHECKSUM_FILES?= SHA512 SHA256 SNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' @@ -333,5 +338,53 @@ ci-images-stage: . endfor .endif +oci-images-stage: + mkdir -p ${OCI_DIR} +.if defined(SNAPSHOT) && !empty(SNAPSHOT) +. if exists(${OCI_DIR}/Latest) + rm -rf ${OCI_DIR}/Latest +. endif + mkdir -p ${OCI_DIR}/Latest + mkdir -p ${OCI_DIR}/${BUILDDATE} +. for _IMG in ${OCI_IMAGES} + cd ${RELEASEDIR}/ociimages && \ + mv container-image-${_IMG}.txz \ + ${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz + cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \ + ${OCI_DIR}/${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz + cd ${OCI_DIR}/Latest && \ + ln -s ../${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \ + ${OSRELEASE}-container-image-${_IMG}.txz +. endfor + cd ${RELEASEDIR}/ociimages && rm -f CHECKSUM.* +. for CHECKSUM in ${CHECKSUM_FILES} + cd ${RELEASEDIR}/ociimages && \ + ${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + ${OCI_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cd ${OCI_DIR}/Latest && \ + ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + CHECKSUM.${CHECKSUM} +. endfor +.else # not snapshot +. if exists(${OCI_DIR}/Latest) + rm -rf ${OCI_DIR}/Latest +. endif + mkdir -p ${OCI_DIR}/Latest +. for _IMG in ${OCI_IMAGES} + cd ${RELEASEDIR}/ociimages && \ + mv container-image-${_IMG}.txz \ + ${OSRELEASE}-container-image-${_IMG}.txz + cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${_IMG}.txz \ + ${OCI_DIR}/Latest/${OSRELEASE}-container-image-${_IMG}.txz +. endfor +. for CHECKSUM in ${CHECKSUM_FILES} + cd ${RELEASEDIR}/ociimages && \ + ${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + ${OCI_DIR}/Latest/CHECKSUM.${CHECKSUM} +. endfor +.endif + ftp-stage: remove-old-bits ${STAGE_TARGETS} From nobody Wed Nov 13 13:28:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpPHv3wg2z5dck4; Wed, 13 Nov 2024 13:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpPHv2zZnz4jSR; Wed, 13 Nov 2024 13:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731504523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WibXmFTZiduvN0TZgcZNocJ8kYSrCTUbW7vSdSxSuL0=; b=KdarGJQ9MlYoQAZOL8/zCpjEY7d9DOT+q/HZ3nFqH4sjdW8C5Vk8A0o2HvBuEggCdBbeuB F64je7wiELZ82eYS2K8dZcdHfyMjXRvCsuHL05X2iU35ucuTVLy8dItObT7bY3s51zyu36 wFvFhJoZInMObq7ZYKP8Ku0t+gX0+Sltg/bHpe9qOdtmwmG7lfH4dnfvFEB4i7xX+HLHSg 7qQRehNU7+JJtWYC2R2UeWUV9uVLAC51mGXh9vOy+DPLY10u6wzJBQQnXlDFuSwQnqDpIm UI1+MGqH9So3lgGc+8s95US58orgqPQ33ZhKhYX081S+11g1dJgQ3dxK9apiUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731504523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WibXmFTZiduvN0TZgcZNocJ8kYSrCTUbW7vSdSxSuL0=; b=X9tlrwAr7wZDIM5js3hf5eVJFlWxPPWssWKguskRphQz0NeE/PG9/vROI3GuMfndCiw9Gc Um16whgxOZyZK4jDfzoVFVO+0cofIXklBZJww9LL3M9Z+kyoZjABtrhkNJT1uGU9ZBCq26 hmSEaLKl98EwLTcpvsLc8rBQvS4NOCJp8W7aP2XhiU1arkaba/3L/mBcxFmEdqMkkC/b8x 1VrgmQjnv4DyHc9p7PeWn4KgtD/GTYeiAEKB9quAxLUlLP0G7rvM1bKHOGfRbYN6lyCltm 0D55XJchH3sDGdWYm0cH1/wrCuDWhxU+XzPtz3lSuyuAI/nkA98XCYgXpxL1wQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731504523; a=rsa-sha256; cv=none; b=GDqXP2+t28iAdCcpU+bVUjQ7fQCr/lmljXpKe2zogd560tL+hDykE2yHZhqmOYMRhbUsgS N1mvKlBZinmXj0ivou+E3AWPdCy9s+1k4SqoW62OFcztd9P0aHw5Mv/40PHllW68lO6goD Cnki8CBnWcTb0e74k+Oh8P7J2G3oFnuA07uxmscaAWZ5/LnABj7NWhlCuwXTrfp0qQRWPS ZxwXTPXXEFLKRlXwB91NeDJXfl8cSlFy2vrzwEVDHNy6hOWITJaZNDIlR7KhRYSBCrUVZe /iABfPYqp/Do+MrdZz1cTpHdwD/6u0yDmXCRhyyVCGGKXokdO7Tu48Di2UQ/sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpPHv2F5BzwWv; Wed, 13 Nov 2024 13:28: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 4ADDShHF063488; Wed, 13 Nov 2024 13:28:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADDShh6063485; Wed, 13 Nov 2024 13:28:43 GMT (envelope-from git) Date: Wed, 13 Nov 2024 13:28:43 GMT Message-Id: <202411131328.4ADDShh6063485@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: aad6a5f96b78 - stable/13 - release: move OCI to ORACLE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aad6a5f96b7820e2d67b1d01435100353c7f15ac Auto-Submitted: auto-generated The branch stable/13 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=aad6a5f96b7820e2d67b1d01435100353c7f15ac commit aad6a5f96b7820e2d67b1d01435100353c7f15ac Author: Dave Cottlehuber AuthorDate: 2024-10-15 09:28:12 +0000 Commit: Dave Cottlehuber CommitDate: 2024-11-13 13:08:15 +0000 release: move OCI to ORACLE This allows future releng tooling to use OCI for the industry standard Open Container Initiative tooling, reducing potential for confusion. Approved by: cperciva Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D46975 MFC after: 3 days Sponsored by: SkunkWerks, GmbH (cherry picked from commit 1be84d745bcc11b766ac1fa03afd2c8ea8771737) --- release/Makefile.vm | 8 ++++---- release/release.conf.sample | 2 +- release/tools/{oci.conf => oracle.conf} | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 4d301672836d..d3fe1e161260 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -22,7 +22,7 @@ RAW_DESC= Unformatted raw disk image CLOUDWARE?= BASIC-CI \ EC2 \ GCE \ - OCI \ + ORACLE \ VAGRANT-VIRTUALBOX \ VAGRANT-VMWARE AZURE_FORMAT= vhdf @@ -37,9 +37,9 @@ EC2_DISK= ${OSRELEASE}.${EC2_FORMAT} GCE_FORMAT= raw GCE_DESC= Google Compute Engine image GCE_DISK= disk.${GCE_FORMAT} -OCI_FORMAT= qcow2 -OCI_DESC= Oracle Cloud Infrastructure image -OCI_DISK= ${OSRELEASE}.${OCI_FORMAT} +ORACLE_FORMAT= qcow2 +ORACLE_DESC= Oracle Cloud Infrastructure image +ORACLE_DISK= ${OSRELEASE}.${OCI_FORMAT} OPENSTACK_FORMAT=qcow2 OPENSTACK_DESC= OpenStack platform image OPENSTACK_DISK= ${OSRELEASE}.${OPENSTACK_FORMAT} diff --git a/release/release.conf.sample b/release/release.conf.sample index e4e37909c34e..998392036f4d 100644 --- a/release/release.conf.sample +++ b/release/release.conf.sample @@ -113,4 +113,4 @@ PORTBRANCH="main" ## If WITH_CLOUDWARE is set to a non-empty value, this is a list of providers ## to create disk images. -#CLOUDWARE="EC2 GCE OCI VAGRANT-VIRTUALBOX VAGRANT-VMWARE" +#CLOUDWARE="EC2 GCE ORACLE VAGRANT-VIRTUALBOX VAGRANT-VMWARE" diff --git a/release/tools/oci.conf b/release/tools/oracle.conf similarity index 94% rename from release/tools/oci.conf rename to release/tools/oracle.conf index 47231d65d79b..b0d5afc3cef8 100644 --- a/release/tools/oci.conf +++ b/release/tools/oracle.conf @@ -68,15 +68,15 @@ EOF # S14 Root user login must be disabled on serial-over-ssh console pw -R ${DESTDIR} usermod root -w no - # OCI requirements override the default FreeBSD cloud-init settings - cat <<-'EOF' >> ${DESTDIR}/usr/local/etc/cloud/cloud.cfg.d/98_oci.cfg + # Oracle requirements override the default FreeBSD cloud-init settings + cat <<-'EOF' >> ${DESTDIR}/usr/local/etc/cloud/cloud.cfg.d/98_oracle.cfg disable_root: true system_info: distro: freebsd default_user: name: freebsd lock_passwd: True - gecos: "OCI Default User" + gecos: "Oracle Cloud Default User" groups: [wheel] sudo: ["ALL=(ALL) NOPASSWD:ALL"] shell: /bin/sh From nobody Wed Nov 13 13:28:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpPHw5zb3z5dcPm; Wed, 13 Nov 2024 13:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpPHw3nYsz4jST; Wed, 13 Nov 2024 13:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731504524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLGD/DlPG+RR4/jwiuZuyLZlLBG6R5hACqducLGttDM=; b=q09FxkCGmOiErKlLdLHqKofb5Py85TmgiN9gBYrlcjcwe9i4zquUgf8PbcHEBkFN/v8GdO iVEoBf6zxE4vsFLYQ92EB7Dj9Mp5WnyEqhVINDg05YWtv8chDq0Ib7Z1Qg0ZC5X0XVU7mS QM3WRxU/JSDaObnrRxZGsePa9cSRd7dKjuUxJF+JpLS8iva3cj7Vdc6hbtfN1Wq8TzoH2/ O2fUxk54MOqaJqdM+MzbpvHE+aYpXt6SFOqbkMADaXRTSjGAimofwePyLGYpFDXUPEoUdB KpxeZ7mzz1idZTpHllqcNAAHSiXx+SW9TfzvGoccsqSvhRPa0V3aEF9YbXs+aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731504524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLGD/DlPG+RR4/jwiuZuyLZlLBG6R5hACqducLGttDM=; b=nMVpNozrTGm2dC/uSZs13XkNkt2lIgeovgKLTtFb6Xt65fuLG2yPMKkkDQh4CHIsjBSaCo 1SV9jSYHantJqKIh2T8BRbAnU7mtz95VAR/wI/xHJLrBq4O3qB6m24TmyVTwozQnwrEgQO v8lChcLBVU0Rz1oDqWGpvT9D5WMOFT5SZQ+XLT0nT1EMircvRe9NinA7a+HQP/iXB4bbXi LcJ7ZaQ81XGWv7hh9NewKu7ccZLvzMGNLiedVZG76LwZsS86JOJSivbM0Abei/dsTDHFX+ Ai4y8lM3w7LLNZ7AvQ8vz2pnAiIJ2d/mkAZsSDxJd+GCWvvegmR6kTBwoUFWvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731504524; a=rsa-sha256; cv=none; b=eTkM7yjenmazU6IBwakLKljdQTcwRJa2+OMp7STmq+fyTcbr5NQfRfrbiTdgdKaCOYYpI1 Jl2jrtJWR9PAcDcT9NF5xt1yvfvbkpnBoIfb48gchriFoMFU0AbIwekGQA07T1OrNmP6uf nwvOiUw7ojoy341GbXMecRrSzu1GSg6m5GNGPMSYl7pLWkQ47NWx4/3sWhc2fBRrGmyiJL QmtTFPXGp1yfW5OzBHIOTKNnPUtdW2JB7WlCL9D23u8N7TycPFgVchNS5h5TtPFlBR2PL3 Vfl7ltp15C0RzGFc5CGOanWKZixI812zfOK3tuPcL5jjC3/c5s7rsOurQoRcxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpPHw3FwWzw6T; Wed, 13 Nov 2024 13:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4ADDSiSf063544; Wed, 13 Nov 2024 13:28:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADDSieG063541; Wed, 13 Nov 2024 13:28:44 GMT (envelope-from git) Date: Wed, 13 Nov 2024 13:28:44 GMT Message-Id: <202411131328.4ADDSieG063541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: 75cd2f886164 - stable/13 - release: bump ORACLE VMSIZE to accommodate growth List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 75cd2f886164e358c53aedb3e9f18ef683d936d9 Auto-Submitted: auto-generated The branch stable/13 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=75cd2f886164e358c53aedb3e9f18ef683d936d9 commit 75cd2f886164e358c53aedb3e9f18ef683d936d9 Author: Dave Cottlehuber AuthorDate: 2024-11-13 13:08:54 +0000 Commit: Dave Cottlehuber CommitDate: 2024-11-13 13:23:25 +0000 release: bump ORACLE VMSIZE to accommodate growth Approved by: emaste Sponsored by: SkunkWerks, GmbH --- release/tools/oracle.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/tools/oracle.conf b/release/tools/oracle.conf index b0d5afc3cef8..6b7516c36897 100644 --- a/release/tools/oracle.conf +++ b/release/tools/oracle.conf @@ -27,7 +27,7 @@ export VM_EXTRA_PACKAGES=" " # Should be enough for base image, image can be resized in needed -export VMSIZE=5g +export VMSIZE=8g # Set to a list of third-party software to enable in rc.conf(5). export VM_RC_LIST=" From nobody Wed Nov 13 14:27:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpQbP3lptz5dgLd; Wed, 13 Nov 2024 14:27: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpQbP357fz4p7m; Wed, 13 Nov 2024 14:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731508033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BcyVYmTYRaCIr54ACdUYpPKgq9iXk5EIHv9rY8Bocuo=; b=oBqmDRNbpeAJSzRnUuftL3RqRmJzELetlQXLYCVltCBJVkOkBMe38yBAeRE7UQwaw1rdVm +A5YHxIaQaIamo1oECNuUv2MnLSFp+Zu6yVwP3yczqyGb76Jb9wIPlXjWIHuBSEwsSJsir J+1SbViiGqWAfGRVzmzdf2M/AWRPaJJOUvxmiRh/ZPUV2yPuJwRT/hJkSbL0Hgvw+To+oT Z/FJuymRA4cCpLnGAsV+RDVM5LmdW06tRytRmOBJHQdcCh0yElKL4RYdXyrkf4JMfI1kjT 8intfjnIYRIoj18ErsfSp188Sckf+BAHc+nQqQH3OCDyO11llNLxcqNcbf/S2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731508033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BcyVYmTYRaCIr54ACdUYpPKgq9iXk5EIHv9rY8Bocuo=; b=vNNVGT81aoc753qUx/1P2+yRYUQjiccw0JpqX8AbVuc8nn4zLRJIrdrV4OSNxf1BG1BRI0 KuOHgROMYh/f5Lcrqcd0wETpjRmB5PXT+FLWWGJno/4ZjG77edJtpAfYP/vD5AHFuHHvtR Cse1Ik34Rjmch58khkk2TE52SoXolv3+Jghm3mZduUe6LLeCEJaZsnRyrhJGu61+nFvOBV jT2Z8w9vayDraCfKLnsdLQG3+AI8997Uqbu0kODLIJ5NBrwoYA1tChZRB2diPB/obHPDtL VHiWu9wVWEcGLPZPO86zXIFJJTvQAoCIdJcU5A7HjG3SvFR01nH/GNzZ7mB5Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731508033; a=rsa-sha256; cv=none; b=v9GjbJTe+Grxetjc14dLQEolR43kSqAeLLaiZlrJQgpgPeQVdMFgrZvUzP6AQfutlVJlYN Dxeoyv1DkvzyCDIFrze2pRVkv1Jvn6NhZ7SFw2b4WS64rdJS9eTr4XvpI3O98qkLObzNAG HaUF0FiZLTRbgzCnqBn/iB2s3N5bAmyoab43XEMBHwPSxH1/2YjaHjqbOahOcqMfJeUWn9 lRwi6IAcFz6R8+i2v/74p7gVkFBsHq1geX/vqVzXlRIVSI3eZ3BFDXsPdn3SuGsTxk/79E 1/clOk5rYcINlZNiGWFgYPJ2VM81ZepxePnaRmtX3ZZFGqJKE6d7XeS91EOnTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpQbP2gZXzxwF; Wed, 13 Nov 2024 14:27: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 4ADERDkd074780; Wed, 13 Nov 2024 14:27:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADERDjc074777; Wed, 13 Nov 2024 14:27:13 GMT (envelope-from git) Date: Wed, 13 Nov 2024 14:27:13 GMT Message-Id: <202411131427.4ADERDjc074777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: ddc9bb706808 - stable/14 - usb: fix loop in usb_config_parse List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ddc9bb706808468b2808ab9a32efc5f8dfb346c9 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ddc9bb706808468b2808ab9a32efc5f8dfb346c9 commit ddc9bb706808468b2808ab9a32efc5f8dfb346c9 Author: Ed Maste AuthorDate: 2024-10-04 15:49:53 +0000 Commit: Ed Maste CommitDate: 2024-11-13 14:26:44 +0000 usb: fix loop in usb_config_parse By inspection, index increment was missing. PR: 281843 Reported by: Matt Jacobson Reviewed by: bz, markj Fixes: e4611d26265f ("usb(4): Call optional endpoint_uninit() when changing configuration or alternate setting.") Sponsored by: The FreeBSD Foundation (cherry picked from commit 114080d19973331426cd826f3a961c6ea9216a53) --- sys/dev/usb/usb_device.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/usb/usb_device.c b/sys/dev/usb/usb_device.c index c4fe3b4a6ab6..bce1541ab3ad 100644 --- a/sys/dev/usb/usb_device.c +++ b/sys/dev/usb/usb_device.c @@ -855,6 +855,7 @@ usb_config_parse(struct usb_device *udev, uint8_t iface_index, uint8_t cmd) if (ep->refcount_alloc != 0) return (USB_ERR_IN_USE); } + ep++; } } From nobody Wed Nov 13 14:28:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpQcS1Mwdz5dgJW; Wed, 13 Nov 2024 14:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpQcS0Pxmz4pn1; Wed, 13 Nov 2024 14:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731508088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tup3XSAhZWNjWFQRwWx+0xl/4SiaxZRbvsLTyNFT0N4=; b=pCZZ6/kLuEwRQIzcVJD8Ghx+PDyjDYYlMdx1AgnO//v24t0nJbmG7UYjD/Y/9lhQUpFNRQ MnVThRTHAbGUT5trme7BQp58X0r6srm2M9bHJWYD0yg9eF1dbAmZ47RRtBhFVQUbzUhNeI mJQfC2x5wuPfKOwtY6ZQKmnR4X/dMzMMgW4GSQY6AXVsrlII+N3COptJ6Jzi28vb45tlKx cBHaWeTj+VtxFx5VK+SDeXd1zlFwfvqCQ48sFSfVqbgRD+Juup+5BbuC2kvtSHPbHxxS6h YXIJoF254KFf+CHygFU7uX/1SSVaH8pzuMBYL3LHqjucNUidaICFcwHY9pNJ2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731508088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tup3XSAhZWNjWFQRwWx+0xl/4SiaxZRbvsLTyNFT0N4=; b=vdfVKa79yCwPwMg3Sr3NHXQhZdoVzptpzjAOle/2GJh7pvTKuwmRkvnu+m3rYcgh+dC/T9 MD+3VGOHyVtO/ld6WR33sOjf7QO9tCDHccZAGSIEy6SkSmZt0mmjw6VPmYviwj3txp0xbT I9C41//ZqzVsaiuP7K5Q+gHrAA7T1iKBFzEeEZvuPn2Wnn5M9NBKbwWA+9lhnqIbk7tSOC Lmr6pBjlBoEDS6QJUQRNn1ao6FGipP2xw4idRMoALSWn7CH74esW0lkgT+b3wcixgYedfK lWYsDHfEq3IGg6kHLpJ4+hVsPTg3xyreewNWomJ4q0T5WlcKCbP+zfcZjktNbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731508088; a=rsa-sha256; cv=none; b=gkyLyMJ0i5Jjn+9PVskVcMxclMUD1ReoExO23G3DuzBjpc/N03NHdaK6MUmXN4ZtSsAMUL E+9PYfxOqz1ZyWRhPOshx9pHDPMMFqvYfAvlBMGgzuclSHt0+VHLUKcyHhM3TAtDlfuwH3 qWwRoMEJh/7RIZOLRckCFBcgCO7DsDtK/vL/XrFP/FXkB5xrdAEimihRQpI3DhGidCaPHw zGJgxBGEpxRHsunLhXj138KB6VrMDXvHID4xBQMUmI+dJoxfzXnjo6oQVw6fMRkV48XKFy dMnYyJZ8GKV0OedK7UZSin89bMsH7h6/DsHBRJyra7DRzNoJTlPhRHZlxL+4QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpQcR6ppXzyH7; Wed, 13 Nov 2024 14:28: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 4ADES7b4075217; Wed, 13 Nov 2024 14:28:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADES7jw075214; Wed, 13 Nov 2024 14:28:07 GMT (envelope-from git) Date: Wed, 13 Nov 2024 14:28:07 GMT Message-Id: <202411131428.4ADES7jw075214@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 9e7356944da4 - stable/13 - usb: fix loop in usb_config_parse List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9e7356944da4693e9ceb40bf65ed525048faa106 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9e7356944da4693e9ceb40bf65ed525048faa106 commit 9e7356944da4693e9ceb40bf65ed525048faa106 Author: Ed Maste AuthorDate: 2024-10-04 15:49:53 +0000 Commit: Ed Maste CommitDate: 2024-11-13 14:27:54 +0000 usb: fix loop in usb_config_parse By inspection, index increment was missing. PR: 281843 Reported by: Matt Jacobson Reviewed by: bz, markj Fixes: e4611d26265f ("usb(4): Call optional endpoint_uninit() when changing configuration or alternate setting.") Sponsored by: The FreeBSD Foundation (cherry picked from commit 114080d19973331426cd826f3a961c6ea9216a53) (cherry picked from commit ddc9bb706808468b2808ab9a32efc5f8dfb346c9) --- sys/dev/usb/usb_device.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/usb/usb_device.c b/sys/dev/usb/usb_device.c index c4fe3b4a6ab6..bce1541ab3ad 100644 --- a/sys/dev/usb/usb_device.c +++ b/sys/dev/usb/usb_device.c @@ -855,6 +855,7 @@ usb_config_parse(struct usb_device *udev, uint8_t iface_index, uint8_t cmd) if (ep->refcount_alloc != 0) return (USB_ERR_IN_USE); } + ep++; } } From nobody Wed Nov 13 14:41:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpQw93M3mz5dgbs; Wed, 13 Nov 2024 14:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpQw92bjHz4r0Z; Wed, 13 Nov 2024 14:41:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731508905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yvVj5QTARwIuQflzLLi4z74MVhtuHaPWjip/g687PrM=; b=ZZ3JF8LPs4VZr8nQBRuIRqiJXkthuV/iEns4fhv+frRXKkrm7oeNzQOIYr9IZBAIXuMvfA 8unWXeIxIh/2QVKf9UWODVvRgQeD0Qnglnjur8DEdQgRv5DB43lkH5YDSwr00meH65+U/o 9YHEhTjTE4lhMQMHIw2Zsg6NQUyvCVfu6KF7gWScPn7EIOh+xvhasUjVvppsLR4/9u3ejq kwkO9lapEmgkCCPo/TypnFMogFxXbYNnGhLQUAqfK79QRm7XNuvj6cMHYkGfGxXUhgBmXW QcbTZ2EC8K+P8edgPPBHLDlDX7Ny9d7jAaUHzS8crH342duZZ7kyhJAEronmPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731508905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yvVj5QTARwIuQflzLLi4z74MVhtuHaPWjip/g687PrM=; b=w4GwgHieLfCg2Zf4bU/MuY2C3z/HTVywAYnG9bkCnujHXFHzRyI4xnKM6nyJt766TidEJD I3RjNt3V50pVl6Gss8pQG651jnF6KcXhgRPF22Jp9T/tPYPp6Ot5jSUpvBfz2ZdmSDC58J SmKiImhZHGwwv17Kbu1yfgXYGPqdQ1fJmpXUKioxDUw8CSTV8MwyKIGiHW3m/spw2EsJUy 36t7dP9j26DpBBu58kmflgLizaExm5V6/rwfNqgFw9aljTp+uQI9jbnu8A244lCas7tf1v kIDeZ/AEbvP7p2v1n5adUB0FIPorHZiOGJcxn1ZOxMW+UVRJamnKR6VmRx1QfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731508905; a=rsa-sha256; cv=none; b=wdES32K6iG08yttd/UfUIkZVud3dZjr2iZbK0eNtufhP6QCQUMnV0knLWlguyFo/wV1DrI yuD1p8JSIK3ewSfTMweqe2sjIRSEpPLN88aOQS7pPchnnG+JDgyL46S0Lolory5lHJMZx3 uQGthsU3GKFFr1pJ1sVGT6YOhXTJC9Gy9FTzw7LMV5AEsJk6DYX0sNkrmBCImgVi77aGs4 OXi4RxQx14meraRFwt/x3QqMZzt5KWImGUl+87z0EGuYeHnvlJBtmQjz4OniUdBfWtEyw4 1rFH78i4Qfiyi7OF5nPhIYwTnIOHi1zmLNGb4yEGOXDdIbPBAbbTqE4JnFxNjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpQw92CJFzyVd; Wed, 13 Nov 2024 14:41: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 4ADEfj8a005076; Wed, 13 Nov 2024 14:41:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADEfjD9005073; Wed, 13 Nov 2024 14:41:45 GMT (envelope-from git) Date: Wed, 13 Nov 2024 14:41:45 GMT Message-Id: <202411131441.4ADEfjD9005073@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dave Cottlehuber Subject: git: 803a860c6172 - stable/13 - release: fix stray OCI_FORMAT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 803a860c61720904b06ca204867fe50824dfadc6 Auto-Submitted: auto-generated The branch stable/13 has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=803a860c61720904b06ca204867fe50824dfadc6 commit 803a860c61720904b06ca204867fe50824dfadc6 Author: Dave Cottlehuber AuthorDate: 2024-11-13 14:36:16 +0000 Commit: Dave Cottlehuber CommitDate: 2024-11-13 14:37:56 +0000 release: fix stray OCI_FORMAT The OCI_FORMAT variable was renamed, but this use was missed. Fixes: aad6a5f96b7820e2d67b1d01435100353c7f15ac Sponsored by: SkunkWerks, GmbH --- release/Makefile.vm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index d3fe1e161260..4fc8f8f75acf 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -39,7 +39,7 @@ GCE_DESC= Google Compute Engine image GCE_DISK= disk.${GCE_FORMAT} ORACLE_FORMAT= qcow2 ORACLE_DESC= Oracle Cloud Infrastructure image -ORACLE_DISK= ${OSRELEASE}.${OCI_FORMAT} +ORACLE_DISK= ${OSRELEASE}.${ORACLE_FORMAT} OPENSTACK_FORMAT=qcow2 OPENSTACK_DESC= OpenStack platform image OPENSTACK_DISK= ${OSRELEASE}.${OPENSTACK_FORMAT} From nobody Wed Nov 13 15:48:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpSNd5tw9z5dkZC; Wed, 13 Nov 2024 15:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpSNd5PKNz4xWS; Wed, 13 Nov 2024 15:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731512881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z7VW3tH8nu4dEdfmICPAaAAbc6rHvM+yX1147lrdzOc=; b=bxi8ebfSz1fWiI/NI3/vqmcrbGdlVsFObnkRiIdIks6es9Mg2yXr42VizRK85uyYpYd0b3 97nsKKEIK3Cw7AP/dLrHl739uokaCYkXw6rgrZDkGZ9L8veTZDQmnXQMAAAA8GrWCwQJ3u W2r8hCdXKwh4Nonrn3/oNaycTqOkCruyGHeSJoRwMd5DMnZHlcn6R4sadEDIMGdyE8K1w0 KtqDObccOxw3ICpZJ9McSjailVAN1GY8IWGJveAD+IkyGDPGRK7RKukPiHZkQb08mfA/gv bPM61wTuMfahEizEzeFyMTlwb1jq197kZq7IXU6vieKnpWNMKtnsyhwuLRSmrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731512881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z7VW3tH8nu4dEdfmICPAaAAbc6rHvM+yX1147lrdzOc=; b=vng+975PA8t63rSSUQNClh1V0bdOLQzJYNpJZ8kBRau+HNUzmk9DkqroMCNPbxuLoqLG3q CYUiRpJOZpvFcev9RT/30bdFwK8JWDHP1Fx0bzJGvTOJzN0NnSI6WZ6i4X1jflMqs17VIF 6rbaKeLdcnGCQqT9RA5DgoOl/4+RT+J+k3dB0Kxbt7jGu0uSI7FS6hEwv9kv0p3QJ1k/Xa rTDs7xbQ+QgR6KdClzCwqHGfnXlorXN+fTq6dRZNvzGRjDk1NyT3M/LXy4lgkJ2kcLAiW1 ajnS5nWAbMd13pyVDFY7TsPnQuNSUChvZDk3ghkbiGKtg0qGuDza5FASAeXjqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731512881; a=rsa-sha256; cv=none; b=NPiW2RvQMj818Jl507H4dIrPwwz/lZMmNVtTtHmPaLpGFZY2CeUtD83PNMViyIl6Y0Ep/6 VcKjM93W7BEh+COrnKinXrpFIwqLVknf8BvEko+0GKiE06rww2JGeLALtQSNC502AUq1ZT nKkRQmAJgI4H414g2COFmes20I7tV6s0N90HnjwaSKF717bUoNJPGyeN3h8473pdE83aU6 khAALNRlKVlJZY8Pe5mEyhaYJR31fIcd6f3kYmunIbbGu/Y+4TBibZNp4bpjS++6ih2JSD 6Px/MCREoDdVbq9akNsT7tP4M/zo4rqyxcxPtLI2q3Ub/mhWAhB7iggix1bibA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpSNd4tQnz11JJ; Wed, 13 Nov 2024 15:48: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 4ADFm1Qe024567; Wed, 13 Nov 2024 15:48:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADFm1Yf024564; Wed, 13 Nov 2024 15:48:01 GMT (envelope-from git) Date: Wed, 13 Nov 2024 15:48:01 GMT Message-Id: <202411131548.4ADFm1Yf024564@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 23173329b096 - stable/14 - ice(4): properly use kernel option RSS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 23173329b096499f818adaa35255c033e9ee78bc Auto-Submitted: auto-generated The branch stable/14 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=23173329b096499f818adaa35255c033e9ee78bc commit 23173329b096499f818adaa35255c033e9ee78bc Author: Brian Poole AuthorDate: 2024-10-11 19:57:52 +0000 Commit: Mitchell Horne CommitDate: 2024-11-13 15:47:28 +0000 ice(4): properly use kernel option RSS Header ice_rss.h uses the kernel RSS interface if option RSS is defined. However when ice_rss.h is included by ice_lib.h there is no prior inclusion of ice_opts.h to set RSS causing ifdef RSS to always fail. Add ice_opts.h to the top of ice_lib.h (like ice_iflib.h) so RSS can be defined when ice_rss.h is parsed. With that in place, compilation fails due to a missing defintion of ICE_DEFAULT_RSS_HASH_CONFIG. It is defined in ice_rss.h only when RSS is not defined. Since this define is not part of the kernel RSS interface but ice-specific, it should always be defined. Move its definition outside of ifdef RSS. PR: 255309 Reviewed by: mhorne, erj (earlier version) MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/1460 (cherry picked from commit 6e5650896fe47398e49e3d81af60cc60dbb09e6e) --- sys/dev/ice/ice_lib.h | 3 +++ sys/dev/ice/ice_rss.h | 16 ++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/sys/dev/ice/ice_lib.h b/sys/dev/ice/ice_lib.h index 466cb8701b79..b6b23ec82161 100644 --- a/sys/dev/ice/ice_lib.h +++ b/sys/dev/ice/ice_lib.h @@ -40,6 +40,9 @@ #ifndef _ICE_LIB_H_ #define _ICE_LIB_H_ +/* include kernel options first */ +#include "ice_opts.h" + #include #include #include diff --git a/sys/dev/ice/ice_rss.h b/sys/dev/ice/ice_rss.h index ede1fad5abe7..df485f4b1f5a 100644 --- a/sys/dev/ice/ice_rss.h +++ b/sys/dev/ice/ice_rss.h @@ -68,14 +68,6 @@ CTASSERT(ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE >= RSS_KEYSIZE); #define RSS_HASHTYPE_RSS_UDP_IPV6 (1 << 9) /* IPv6 UDP 4-tuple */ #define RSS_HASHTYPE_RSS_UDP_IPV6_EX (1 << 10) /* IPv6 UDP 4-tuple + ext hdrs */ -#define ICE_DEFAULT_RSS_HASH_CONFIG \ - ((u_int)(RSS_HASHTYPE_RSS_IPV4 | \ - RSS_HASHTYPE_RSS_TCP_IPV4 | \ - RSS_HASHTYPE_RSS_UDP_IPV4 | \ - RSS_HASHTYPE_RSS_IPV6 | \ - RSS_HASHTYPE_RSS_TCP_IPV6 | \ - RSS_HASHTYPE_RSS_UDP_IPV6)) - #define rss_getkey(key) ice_get_default_rss_key(key) #define rss_getnumbuckets() (mp_ncpus) #define rss_get_indirection_to_bucket(index) (index) @@ -113,4 +105,12 @@ rss_hash2bucket(uint32_t hash_val, uint32_t hash_type, uint32_t *bucket_id) #endif /* !RSS */ +#define ICE_DEFAULT_RSS_HASH_CONFIG \ + ((u_int)(RSS_HASHTYPE_RSS_IPV4 | \ + RSS_HASHTYPE_RSS_TCP_IPV4 | \ + RSS_HASHTYPE_RSS_UDP_IPV4 | \ + RSS_HASHTYPE_RSS_IPV6 | \ + RSS_HASHTYPE_RSS_TCP_IPV6 | \ + RSS_HASHTYPE_RSS_UDP_IPV6)) + #endif /* _ICE_COMMON_COMPAT_H_ */ From nobody Wed Nov 13 15:49:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpSQr5wvhz5dl1w; Wed, 13 Nov 2024 15:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpSQr5Nr3z4yTQ; Wed, 13 Nov 2024 15:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731512996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ByoT8uxA1Gr71/kbvEDlGlkuEaClRFzlyJRVkElMbt4=; b=DcjHu8a5hY8EYc40CbBd5yxRpiPqPDAJPPkafvBBR7xwSRaLIfSBuoqqfJzqqgqnsCuZB1 1lcTlXCGZrwTvFw/wRhwFUVTRzCzPGY1Yl8ZcHlo/R2p33lv6Ur7cb+KNuVCD8bAGb2QXM 6TFc1xb5NDKml144PkmyCumJ05q+DuwuyNIGppanXtiKPBLrla7dWu5ZdccqcUq5QlFqWP hm8mi9VoiTtLVSSEMaJ8A9sfs5oIibcOZshMwdDFAHJqQKwcvP2mtIQqtVTy+kDpP3jnEC iCnDW8D6HSrcJekLfmNXQ4uisRPvz3uNmRxinrdTVVRyE1MBnMAHJo/kN/VA2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731512996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ByoT8uxA1Gr71/kbvEDlGlkuEaClRFzlyJRVkElMbt4=; b=KFTiMHvWuxtEofl+kFWXAwHeJ8cxWWsUW4UlWmR5/CPaj6vof/Ra/oNxm+V5tKuVrw0yv+ 1tu09gZyLFJ8vX7GzEarsg1XDR3s5wLcr5+ghWiiD4XzVguPNE4yg8eKNfc4sq+Sj07dRK cNPgnT8HVuk6gprsbvLJEiyo38GWd/3ftnTB8YUsdKCqunYP9MA9hviFStcDOkgdkjhk8E gDnWwAAAdhz+xaemB5ux5Uu/3hMMeI4tnDGmfNHnDHVoyZ9Nq0vk9aiBhMLmfllh5DsHgH Jj9wiP2bf3W9YiFA3h4FQhHpt2L0PD49/6TnVL0hYfmfGSjhAFecoCk280Z0Sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731512996; a=rsa-sha256; cv=none; b=m//7wCB6ByXDdfF+1tD3kZLg2rlCuj6r7vp6JqSwevhLuBlDk+L52iqk5uMjJA5wBeg45q z5idSmjWr3LHe70LTSq5eIdsj1re+Ao5BrJsjVGOT3EUyFenXnuVmGAGf1kKka0S4SRzUC 4R9kW8XZHhwcKODlXe6B9sYZtrTZf2f+jwhCaq+zzOuKHzQ0z7r2Wibnj/DLM3xXE7JX6F CON4XKegpCNQvW+TQ06dMhNQVCPfSIFz0Npf36clrFLsEMCqb5qg5KR4QL3qhFVSDvHN8n T8OTaTwHa8EzbZ47oAKIP7+QhLbQQuFmEQghKQyQ2TaeoakqfN1W285ZND3VfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpSQr50DGz11JL; Wed, 13 Nov 2024 15:49: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 4ADFnuUQ025218; Wed, 13 Nov 2024 15:49:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADFnuGM025215; Wed, 13 Nov 2024 15:49:56 GMT (envelope-from git) Date: Wed, 13 Nov 2024 15:49:56 GMT Message-Id: <202411131549.4ADFnuGM025215@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 2c6edd6dc94e - stable/13 - ice(4): properly use kernel option RSS List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2c6edd6dc94e7d429ce022262b9e25d159ce61e5 Auto-Submitted: auto-generated The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=2c6edd6dc94e7d429ce022262b9e25d159ce61e5 commit 2c6edd6dc94e7d429ce022262b9e25d159ce61e5 Author: Brian Poole AuthorDate: 2024-10-11 19:57:52 +0000 Commit: Mitchell Horne CommitDate: 2024-11-13 15:49:33 +0000 ice(4): properly use kernel option RSS Header ice_rss.h uses the kernel RSS interface if option RSS is defined. However when ice_rss.h is included by ice_lib.h there is no prior inclusion of ice_opts.h to set RSS causing ifdef RSS to always fail. Add ice_opts.h to the top of ice_lib.h (like ice_iflib.h) so RSS can be defined when ice_rss.h is parsed. With that in place, compilation fails due to a missing defintion of ICE_DEFAULT_RSS_HASH_CONFIG. It is defined in ice_rss.h only when RSS is not defined. Since this define is not part of the kernel RSS interface but ice-specific, it should always be defined. Move its definition outside of ifdef RSS. PR: 255309 Reviewed by: mhorne, erj (earlier version) MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/1460 (cherry picked from commit 6e5650896fe47398e49e3d81af60cc60dbb09e6e) --- sys/dev/ice/ice_lib.h | 3 +++ sys/dev/ice/ice_rss.h | 16 ++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/sys/dev/ice/ice_lib.h b/sys/dev/ice/ice_lib.h index 6c010cffc0fd..09385d3be34b 100644 --- a/sys/dev/ice/ice_lib.h +++ b/sys/dev/ice/ice_lib.h @@ -40,6 +40,9 @@ #ifndef _ICE_LIB_H_ #define _ICE_LIB_H_ +/* include kernel options first */ +#include "ice_opts.h" + #include #include #include diff --git a/sys/dev/ice/ice_rss.h b/sys/dev/ice/ice_rss.h index ede1fad5abe7..df485f4b1f5a 100644 --- a/sys/dev/ice/ice_rss.h +++ b/sys/dev/ice/ice_rss.h @@ -68,14 +68,6 @@ CTASSERT(ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE >= RSS_KEYSIZE); #define RSS_HASHTYPE_RSS_UDP_IPV6 (1 << 9) /* IPv6 UDP 4-tuple */ #define RSS_HASHTYPE_RSS_UDP_IPV6_EX (1 << 10) /* IPv6 UDP 4-tuple + ext hdrs */ -#define ICE_DEFAULT_RSS_HASH_CONFIG \ - ((u_int)(RSS_HASHTYPE_RSS_IPV4 | \ - RSS_HASHTYPE_RSS_TCP_IPV4 | \ - RSS_HASHTYPE_RSS_UDP_IPV4 | \ - RSS_HASHTYPE_RSS_IPV6 | \ - RSS_HASHTYPE_RSS_TCP_IPV6 | \ - RSS_HASHTYPE_RSS_UDP_IPV6)) - #define rss_getkey(key) ice_get_default_rss_key(key) #define rss_getnumbuckets() (mp_ncpus) #define rss_get_indirection_to_bucket(index) (index) @@ -113,4 +105,12 @@ rss_hash2bucket(uint32_t hash_val, uint32_t hash_type, uint32_t *bucket_id) #endif /* !RSS */ +#define ICE_DEFAULT_RSS_HASH_CONFIG \ + ((u_int)(RSS_HASHTYPE_RSS_IPV4 | \ + RSS_HASHTYPE_RSS_TCP_IPV4 | \ + RSS_HASHTYPE_RSS_UDP_IPV4 | \ + RSS_HASHTYPE_RSS_IPV6 | \ + RSS_HASHTYPE_RSS_TCP_IPV6 | \ + RSS_HASHTYPE_RSS_UDP_IPV6)) + #endif /* _ICE_COMMON_COMPAT_H_ */ From nobody Wed Nov 13 18:06:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpWSp6d3jz5cPZw; Wed, 13 Nov 2024 18:06: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpWSp651Jz412D; Wed, 13 Nov 2024 18:06:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731521210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1MBNOI1f/ABEz8et2CfQPbB0GYA45xY9NCNo6cz2LTg=; b=UkOQrrLTr2f5OKihTS90ZM2O2gjmKOtnBEKyQTLuldtgp0FL72KGABsbe2egU8MKbjwO3Y yFa1/5WtrY1VkWfLsBY2PhVKgndqjJK5Lvpx8kseeVli/aogHvuBBbOzaDHfEgxF/cNGu6 os9wk94OZYIWMU+1CzGgM7QmrzJM8l5SmeD4/wNRyhXkN8GfqsIRacAN2zOxnEEbmmzytP 2TnM/1+hACF+rQ8Mcnq7DoYtPCV4ikMG3EhDuT+kRDsl3MW/djnZVWKUVM71tCYxIcURVQ bpv6IqLyBhPcSAAfJTbYoGZxuMPf4EbkZWnhSKiNh4nXw+zvrIadC92hxghQQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731521210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1MBNOI1f/ABEz8et2CfQPbB0GYA45xY9NCNo6cz2LTg=; b=M4uuBmwYxJHgW5HReImlZW/wfdQCKt0P+T6BnbQsdFgB7LwnkHWJWvf+l1bQmuTfiqKela r2sZy8O7rdsVrZWuXOhMm8ubprlmIoeXj0yWzKgQ2Q83hxHzv0uPjCx97YxaN5HzSUmHQV PQucNWHEtGoAZzFwOLHH05ocWi7IwusgAiGMsw67lQDlnOCa6yYphkIoaW82mo+lBNqRDh WyvX9SYJqMgztvA8F6f3LDURimb+5B0Fj96w497FaOpitygXk9ugjnv6uUGD/7WhlCUGeP HmVMHRj6JeIcvTw94/3RPZ8nbTmrkvJSrrfbCuPIHGym3bL3z3NIgsuMz7FJzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731521210; a=rsa-sha256; cv=none; b=ZqTBrFM/10lbhqu+eKkozlJZ5KmY8/fprFYp1ufBBplkAK+it8BGO2do26E7o7BUN0CPxR 8PNYmlr0iyJgtxfpq55O8ktPzl2MBGI+QEbtfjgULjH6UnK68OwBO6Aj74M1ZID47B6cTr sMQg710eieEy+Gu4bR1LWCqS23LIW1Oxb8g1zkEtKecTPP/zKolRl/cDqrtVDlfK16v27p HJjyK/faGE+h9ElkcULAQfjik0m0Isose2xthJC9+f+kLVyVxS6/6o//Yi12aRbg+ok4Sh HA6PYUebIhhkA0B4ixfJCHr9DYv8jeDwEwvvMuf4mhKQO7XDfYZwE6oh17+PGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpWSp5Fx9z14nL; Wed, 13 Nov 2024 18:06: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 4ADI6oO7085287; Wed, 13 Nov 2024 18:06:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADI6o2H085284; Wed, 13 Nov 2024 18:06:50 GMT (envelope-from git) Date: Wed, 13 Nov 2024 18:06:50 GMT Message-Id: <202411131806.4ADI6o2H085284@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: 300d034b3c29 - releng/14.2 - device_pager: rename the un_pager.devp.dev field to handle List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 300d034b3c29972c7f9e073c322a95dff510e89b Auto-Submitted: auto-generated The branch releng/14.2 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=300d034b3c29972c7f9e073c322a95dff510e89b commit 300d034b3c29972c7f9e073c322a95dff510e89b Author: Konstantin Belousov AuthorDate: 2024-11-04 22:10:06 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-13 18:06:28 +0000 device_pager: rename the un_pager.devp.dev field to handle (cherry picked from commit f0c07fe3d0007a4499f81583a99598cd0a74d45b) (cherry picked from commit c57dc755fa1a8bb0a4190f60df02b2bce5b8033c) Approved by: re (cperciva) --- sys/kern/kern_proc.c | 2 +- sys/vm/device_pager.c | 20 ++++++++++---------- sys/vm/vm_object.c | 2 +- sys/vm/vm_object.h | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index b8bc1a7e5dfe..18302bb8abae 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2720,7 +2720,7 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb, ssize_t maxlen, int flags) kve->kve_shadow_count = obj->shadow_count; if (obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) { - cdev = obj->un_pager.devp.dev; + cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); if (csw != NULL) { diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index cb3b0e522d9a..bceff38a41c3 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -121,8 +121,8 @@ cdev_pager_lookup(void *handle) again: mtx_lock(&dev_pager_mtx); object = vm_pager_object_lookup(&dev_pager_object_list, handle); - if (object != NULL && object->un_pager.devp.dev == NULL) { - msleep(&object->un_pager.devp.dev, &dev_pager_mtx, + if (object != NULL && object->un_pager.devp.handle == NULL) { + msleep(&object->un_pager.devp.handle, &dev_pager_mtx, PVM | PDROP, "cdplkp", 0); vm_object_deallocate(object); goto again; @@ -186,8 +186,8 @@ again: object1->type = OBJT_DEAD; vm_object_deallocate(object1); object1 = NULL; - if (object->un_pager.devp.dev == NULL) { - msleep(&object->un_pager.devp.dev, + if (object->un_pager.devp.handle == NULL) { + msleep(&object->un_pager.devp.handle, &dev_pager_mtx, PVM | PDROP, "cdplkp", 0); vm_object_deallocate(object); goto again; @@ -221,7 +221,7 @@ again: mtx_lock(&dev_pager_mtx); TAILQ_REMOVE(&dev_pager_object_list, object, pager_object_list); - wakeup(&object->un_pager.devp.dev); + wakeup(&object->un_pager.devp.handle); mtx_unlock(&dev_pager_mtx); object->type = OBJT_DEAD; vm_object_deallocate(object); @@ -231,14 +231,14 @@ again: mtx_lock(&dev_pager_mtx); object->flags |= OBJ_COLORED; object->pg_color = color; - object->un_pager.devp.dev = handle; - wakeup(&object->un_pager.devp.dev); + object->un_pager.devp.handle = handle; + wakeup(&object->un_pager.devp.handle); } } MPASS(object1 == NULL); } else { - if (object->un_pager.devp.dev == NULL) { - msleep(&object->un_pager.devp.dev, + if (object->un_pager.devp.handle == NULL) { + msleep(&object->un_pager.devp.handle, &dev_pager_mtx, PVM | PDROP, "cdplkp", 0); vm_object_deallocate(object); goto again; @@ -292,7 +292,7 @@ dev_pager_dealloc(vm_object_t object) vm_page_t m; VM_OBJECT_WUNLOCK(object); - object->un_pager.devp.ops->cdev_pg_dtor(object->un_pager.devp.dev); + object->un_pager.devp.ops->cdev_pg_dtor(object->un_pager.devp.handle); mtx_lock(&dev_pager_mtx); TAILQ_REMOVE(&dev_pager_object_list, object, pager_object_list); diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 06dae7de3baa..5933b2c1d4bd 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2611,7 +2611,7 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) kvo->kvo_swapped = sp > UINT32_MAX ? UINT32_MAX : sp; } if (obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) { - cdev = obj->un_pager.devp.dev; + cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); if (csw != NULL) { diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 9921f1130e8c..16ee3544b658 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -139,7 +139,7 @@ struct vm_object { struct { TAILQ_HEAD(, vm_page) devp_pglist; const struct cdev_pager_ops *ops; - struct cdev *dev; + void *handle; } devp; /* From nobody Wed Nov 13 18:06:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpWSr0q28z5cPgJ; Wed, 13 Nov 2024 18:06: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpWSq6jfCz41JF; Wed, 13 Nov 2024 18:06:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731521211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FmmEstSn2l4eTHZ2bZDwpiCscYbST1L5s+iymwYPRpw=; b=Bs+wlvkwFPwso0wIsESHXVYet1Yc3FlHSIb2sa4toFZjgPvluVCFzGIHLgtcgACQd5Gcdc asAa/hmGQEYHoeG1CyigxaC2j6q71k+Fs/t4FDDl4VMO8DZIDO+htnUVYEnVSIpEVAx3mB 2mfajvk8daqvCwojn5Kmar1mDg2zKYUmP7dU8GW6Q3avy3AuUwk85DW0Yeu0CFXOb70jzH aK0MW4zsEEKLGf2ZJDmXfEzdLkvXiw7OOJEvsktDhAZuvpSyk6CUKXcIFC0gpQ+4HZ5YHu Ae1DkPz+PdHNene2KtWyxHX++NuRRUYP4FfJl00UJEEalLj19P9WghBGmZ7thw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731521211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FmmEstSn2l4eTHZ2bZDwpiCscYbST1L5s+iymwYPRpw=; b=FF2/OViIGJGLdceP9NhCli5K5xV9p5zSZWEn+LJbmNX7AOJeHPTazrYzzv3dHslI+hw9dr RWX+xsY3dxmA5YadB8EmndWBgvaCRVs3VhJr827pSeNrxVLC/hPaa7rJaEuakTcACgHmsj we5jyB/bN5ApU2WqqYmuK6AyHU+5mm6D2NTXdsx/GnTt+GMETRVcDZa775OFl9AaXPONoL pQneuk14OIvmeJ7ME5xaIvEokrnUTbLrA2ccqgJapcBfbLdiv5/vivPuBO990GElecTHlT 0RPx9ap7hwGoMvBSUhqkXIPvt3xiJ9dtAOnthFq0h2pQW6HdXQHPuXBGcj1jpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731521211; a=rsa-sha256; cv=none; b=v54dKunIyJX8pmxPeoSS5cihAIiSmQbjI5uA/NJUAgtX8w5fcR9A0kCfdATKbHayGILdJy vnt9RHFrJEsU2SiNsRA6AsIhlmBmcumcf5HdX80tdB0dwzifZBi/RyBeL0QHhNDCVXk0B9 J+Tqk4sKCnrTPFQuQltd1rb3VQ/oobN329vVXa5AQwyON0McGICVxb4T1HvMBShWe6SsZ2 HisQ3F64Jk7uB9FAi1Uimn7eESqe8DOK4sEDOebZXslAjpTI0CJ+l2AfvYxuOOp8XR7Xmw 4Qld5ZD+K2wgFSiEFHK1IYfDX97oGjGs1Iz8j1Q+uXK+CFPX1FuNLvEOyD2w5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpWSq62Sbz14nM; Wed, 13 Nov 2024 18:06: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 4ADI6pCY085346; Wed, 13 Nov 2024 18:06:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADI6pwe085343; Wed, 13 Nov 2024 18:06:51 GMT (envelope-from git) Date: Wed, 13 Nov 2024 18:06:51 GMT Message-Id: <202411131806.4ADI6pwe085343@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: 19d23cb8acc9 - releng/14.2 - vm_object: do not assume that un_pager.devp.dev is cdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 19d23cb8acc934a9bb5ca46375da4cc5c4d2094c Auto-Submitted: auto-generated The branch releng/14.2 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=19d23cb8acc934a9bb5ca46375da4cc5c4d2094c commit 19d23cb8acc934a9bb5ca46375da4cc5c4d2094c Author: Konstantin Belousov AuthorDate: 2024-11-04 21:54:30 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-13 18:06:36 +0000 vm_object: do not assume that un_pager.devp.dev is cdev PR: 282533 Approved by: re (cperciva) (cherry picked from commit 580340dbdaaf372867e9ed3dd257430982753e5e) (cherry picked from commit 92a9501b6be3d37a4eefcfbdda799b656ae146e8) --- sys/kern/kern_proc.c | 5 +++-- sys/vm/vm_mmap.c | 3 +++ sys/vm/vm_object.c | 3 ++- sys/vm/vm_object.h | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 18302bb8abae..b7fa7bfb60e9 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2718,8 +2718,9 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb, ssize_t maxlen, int flags) kve->kve_ref_count = obj->ref_count; kve->kve_shadow_count = obj->shadow_count; - if (obj->type == OBJT_DEVICE || - obj->type == OBJT_MGTDEVICE) { + if ((obj->type == OBJT_DEVICE || + obj->type == OBJT_MGTDEVICE) && + (obj->flags & OBJ_CDEVH) != 0) { cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 6b0a70d523d5..21ec52b8124f 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -1435,6 +1435,9 @@ vm_mmap_cdev(struct thread *td, vm_size_t objsize, vm_prot_t prot, td->td_ucred); if (obj == NULL) return (EINVAL); + VM_OBJECT_WLOCK(obj); + vm_object_set_flag(obj, OBJ_CDEVH); + VM_OBJECT_WUNLOCK(obj); *objp = obj; *flagsp = flags; return (0); diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 5933b2c1d4bd..84e56b910809 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2610,7 +2610,8 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) sp = swap_pager_swapped_pages(obj); kvo->kvo_swapped = sp > UINT32_MAX ? UINT32_MAX : sp; } - if (obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) { + if ((obj->type == OBJT_DEVICE || obj->type == OBJT_MGTDEVICE) && + (obj->flags & OBJ_CDEVH) != 0) { cdev = obj->un_pager.devp.handle; if (cdev != NULL) { csw = dev_refthread(cdev, &ref); diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 16ee3544b658..bd71820bed3c 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -206,6 +206,7 @@ struct vm_object { #define OBJ_PAGERPRIV2 0x00008000 /* Pager private */ #define OBJ_SYSVSHM 0x00010000 /* SysV SHM */ #define OBJ_POSIXSHM 0x00020000 /* Posix SHM */ +#define OBJ_CDEVH 0x00040000 /* OBJT_DEVICE handle is cdev */ /* * Helpers to perform conversion between vm_object page indexes and offsets. From nobody Wed Nov 13 19:52:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XpYpW04jDz5cVvl; Wed, 13 Nov 2024 19:52: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XpYpV6k0Kz4Fs9; Wed, 13 Nov 2024 19:52:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731527538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LyP4JmA+mDYJwCFRK4QEfJbvowIyi/beAlcU1GQqncA=; b=ghul+yqw+RgD5U5/wfy0IwVTiyeRa6S8gTw0aaEKA6S9nSUIxxyaOkFWgk18Q7A5uC4mHZ bKcJU1FiZEqiqCcrGWnJrU5vwI8esaWA9/c5vl1+rvsA/LGX6gonHhDLtlO4WhbxDXuYFb aFMBVFjYqXvTM2GtR09FNC3VsLMw4eYgTEVkfo5hf8DTEqNmiGIRAJKtZRop6CdBWcPXt5 ICGDPyG2KX8dsysT2+wtE6hwGVd02JYjaeAfVDyVmaPUi5NygFeY5zMhdgf4DUq+dRVlsg rpTx2+F+mPVc/4Rw2PsVR0xMWUUaCLyZEP4PfVg5qxtlSWbckkUhbqBdCEITrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731527538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LyP4JmA+mDYJwCFRK4QEfJbvowIyi/beAlcU1GQqncA=; b=HTB+hJ1O1aUR2ALIfPDxZ2OvlGtggBa/94t79EQQ7pBoJL0NQxvHxS8qV8XZ3iiAfBomRn 4v/h2myWqZ5CN1/7S5d6gJ3dBCzLk672qfHKGs0aB/HrfKbkGohlPyKzc19EfuMexX+Jlg 1n2L8oEWUzLQVwOvm89rBHNsaMulf//9Z41uv/5Apmrn7oS5sAbCR9wSpOxIAbBcN1q9LV s8nOZjCToYogzQCStqVcExIpWTJlvZTFDSOYrdnR+1sfpK+y3Gne3Ekdndbj/S2kXFLVp9 1it0Ocsx9+gvyYTPike+gQGS6aD9aQaxz32k1fgK8q2m3/Dk7tkdt8zahAae7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731527538; a=rsa-sha256; cv=none; b=uCld+hhDNmxFuXC21JWmFzmt7XW/aPswl+9OwrXbIhdlK9agnsgWxNmOxPtx6GoZfIxp3a jDO5P6JnDnbT8baIWCdxrR6QbjFBGIwNaPU01fIXkOmsOQd+ow2dsCNdtJzAbhetE3iXtb DCtVzwFuFFrurQ6SdNXjl83byUkIkmzams9hNM4lHxgRwb88SlO1UYbFqQ7JvB+Gkt2UxF hREd5Pvf897S/XgeM9CPC7hscykRmxczBkEmauDIXk18Q/CYtJbtwWjYKtKtHcfKCsRGyn a2/bsuEBMj/JjO02Mtyvh64zqz355jxn0Y4XMj2uEGjO7pe+HveES5xtB/Kqfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XpYpV6Kb3z17Xp; Wed, 13 Nov 2024 19:52: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 4ADJqIRM087181; Wed, 13 Nov 2024 19:52:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4ADJqIuK087178; Wed, 13 Nov 2024 19:52:18 GMT (envelope-from git) Date: Wed, 13 Nov 2024 19:52:18 GMT Message-Id: <202411131952.4ADJqIuK087178@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 2ca9c96dc0cf - stable/14 - Revert commit 8733bc277a383cf59f38a83956f4f523869cfc90 Author: Mateusz Guzik Date: Thu Sep 14 16:13:01 2023 +0000 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2ca9c96dc0cf0d1f91b37346bce8fd0dd1639ddd Auto-Submitted: auto-generated The branch stable/14 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=2ca9c96dc0cf0d1f91b37346bce8fd0dd1639ddd commit 2ca9c96dc0cf0d1f91b37346bce8fd0dd1639ddd Author: Kirk McKusick AuthorDate: 2024-11-13 19:37:14 +0000 Commit: Kirk McKusick CommitDate: 2024-11-13 19:52:05 +0000 Revert commit 8733bc277a383cf59f38a83956f4f523869cfc90 Author: Mateusz Guzik Date: Thu Sep 14 16:13:01 2023 +0000 vfs: don't provoke recycling non-free vnodes without a good reason If the total number of free vnodes is at or above target, there is no point creating more of them. This commit was done as a performance optimization but ends up causing slowdowns when doing operations on many files. Requested by: re (cperciva) (cherry picked from commit ab05a1cf321aca0fe632c1ab40f68630b477422c) --- sys/kern/vfs_subr.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 646339987ba2..747cdf722cc9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1961,25 +1961,11 @@ vn_alloc_hard(struct mount *mp, u_long rnumvnodes, bool bumped) mtx_lock(&vnode_list_mtx); - if (vn_alloc_cyclecount != 0) { - rnumvnodes = atomic_load_long(&numvnodes); - if (rnumvnodes + 1 < desiredvnodes) { - vn_alloc_cyclecount = 0; - mtx_unlock(&vnode_list_mtx); - goto alloc; - } - - rfreevnodes = vnlru_read_freevnodes(); - if (rfreevnodes < wantfreevnodes) { - if (vn_alloc_cyclecount++ >= rfreevnodes) { - vn_alloc_cyclecount = 0; - vstir = true; - } - } else { - vn_alloc_cyclecount = 0; - } + 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 Thu Nov 14 00:43:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG06Xn8z5cnqN; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG05zlRz4qt2; Thu, 14 Nov 2024 00:43:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XaoyJ1zTxARF6CIqQy8040fu8WhDN2iYBp5cAjzCM4M=; b=M05Mlymef6tw40jvR0kC2ckgP2p1SYyQZvWKYqlk1fifW0WVMSE0K7F2LAuk9ZK2vp9s7v 1kKCJ1REnI/DQz7FHt5EdxvI2BqAaHVqSoyYgkfg1iI1ryyOegAsdjESmRR/qbpflLdvSD AC1ipudAQ+ViSHppDyEVC8TJf2+itZqfY+MZT5o9P58SBv6VrxR/CkGUKgtvp7sl/rRxCf rEK4WwQV94RhQ+PypWxUUqEdxS4fSIW1VE9uxJWLEj8TRE1Mp1Y93domOgaq4a0z+FRBAS gUiAjtSSLwW8pihmypmN2xxklF0vchKEFjjm0GPoRdTUYBMuxi5c4XsmWAQKKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XaoyJ1zTxARF6CIqQy8040fu8WhDN2iYBp5cAjzCM4M=; b=vl1+GN52k+KdFBwX9a55fNJZLTqFF/82TEexEjgCUs9MxMHAJSJxPhtaxs2jKcioa1+5cP kRiSIgcBC0YQvjLsVanAFdsFIQnLZSrPn+shVYAYKDDkeHyBz2yxpPJaMFiTPpApKmW6gi gwGiRygE1aVJhgOEDR//MPV8mSNN9B5DDadITlFpaGa+36rNZIyPEdvKzcjpmoU2+IRl5C 7qI1cfc5e3WYrp7uAQMqxDlhTGPJjMO2CCYZKtwFrImocKy/vQRrgTPJeR5yYQcELFZBzU y1AuaAFLVuqLDCedKAfODd9Yb4Rhat89FrWDoxFaXwbD5AwLnwSg/SEoq/jkFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544984; a=rsa-sha256; cv=none; b=vAgUxnYlK6sro93R3puWysWxL2E3xgQSp4XUz1A7czam3NvDxFo2Cbt1UapRDhIvC47BH+ aHERtzpPg2I86vVHWMXnhfLLywdEIL1KIsTvdD+dEudh0tnlHyHx4EQ72OnR2WmIaGL7fn zSEQVnq4D9jUIkP1bPHZmaucFYuRM+DAklMrnotE3fbPad5UyANuMEJftdRexXknH1dZ0q 2ZlyQR8Dny0eLHATLiHLIi4MndpAncCdvGRAL4Mm0/wa1ISnWo8r3bN26UkpdTBqlhAWUk DLcKq7hkaj2DSEzgzKup1TjnuC9PgG5VWHgVbaJaxuiKrFjWCb3aQLNKq9GCsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG05b6yzGFW; Thu, 14 Nov 2024 00:43: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 4AE0h49W024247; Thu, 14 Nov 2024 00:43:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0h4pU024244; Thu, 14 Nov 2024 00:43:04 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:04 GMT Message-Id: <202411140043.4AE0h4pU024244@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: 287995f1086e - stable/14 - sys/link_elf.h: remove extern linkage specifier from dl_iterate_phdr() prototype List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 287995f1086e5374cde84c2a76d0c2a31428932c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=287995f1086e5374cde84c2a76d0c2a31428932c commit 287995f1086e5374cde84c2a76d0c2a31428932c Author: Konstantin Belousov AuthorDate: 2024-10-31 05:55:43 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 sys/link_elf.h: remove extern linkage specifier from dl_iterate_phdr() prototype (cherry picked from commit 7cd3e2696ca357630ff591959956295da9abbe2d) --- sys/sys/link_elf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/link_elf.h b/sys/sys/link_elf.h index 9752bdff55dc..7b51b3e87d1d 100644 --- a/sys/sys/link_elf.h +++ b/sys/sys/link_elf.h @@ -93,7 +93,7 @@ struct dl_phdr_info __BEGIN_DECLS typedef int (*__dl_iterate_hdr_callback)(struct dl_phdr_info *, size_t, void *); -extern int dl_iterate_phdr(__dl_iterate_hdr_callback, void *); +int dl_iterate_phdr(__dl_iterate_hdr_callback, void *); int _rtld_addr_phdr(const void *, struct dl_phdr_info *); int _rtld_get_stack_prot(void); int _rtld_is_dlopened(void *); From nobody Thu Nov 14 00:43:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG21G9pz5cntC; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG16ngzz4qlD; Thu, 14 Nov 2024 00:43:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g2IT3jjctgc1vm6ge1541ygVQG4FJqYZpNZFuxUavlU=; b=X87elkLAx1mbXBfZTzxxBAyLRZ7gXLu/OR/TvCFgj403G/X4MKSf7Vzcx+fXoWdzdjZwQD T20hZucYREMvSiS6cf60Z5aYnTnrS+rth5H+kzKmJZNhwiv5hF/QrtM67RVU3tonMMNIo7 L7NiM/sDYQWdaFVYX9i4LCKNkn7v3dVynEG9sXvGYFFXJrHA7edyUSfeb1Qe7dT65oKctx no8fIcYbG9CXcav8Kbi8d1P4iUpijAE/BfbdSex5eaGN0iG7lBG+jgHuwNMhzD/92VOZGf a64lRwY7+dkSaziC6iAY0e+efLl8xrpM9JciK5SSIt6O4sKR3C5PwMQniYxy4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g2IT3jjctgc1vm6ge1541ygVQG4FJqYZpNZFuxUavlU=; b=iOOkLMPd51CPiyTfudekuNF3GDwzTe2zg86rkk7MYHcPxEWKpWSFcBJV4Lbgmr14NXJtkN sQvX/IJU/N45JKYJXdF/R9U52vg4Rz8DFCDw2po4p7iFfs68Fe7M0NCMWVm6F4WxI6Io2/ bhVLMjavlYu/4EAeSZWb/yJdZKH+ymz830feBfiW2z9sxn/+b++xW2z6O3LrIBL80X3pUc 2XwkFMQbKq+D46qQ6b8+cmw1YI/3/J+a2slNrz0U9KmS29m9uIuneAn4mFamXyIe+TJX8w XBaSd2DLISYqHzkYk8Uz3tGNR5gmW55/FFO3KGvU9DdEURx9ixJObRCH6REk9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544986; a=rsa-sha256; cv=none; b=Kz/OelXxkmlsbPyFO6JOODNTjT8mT683SzpXDjv/8LWa9XAb2AM9Gd/inVFg3nqWivYBYL 7oUZyVpLo6ZsaS7nzyO4EQQOKDC4EqPJO8yQdrx5b0Xk3u4v3f8YVtAVIqAbWRr7A4HdXT eCUcJhf4K/x+5a4J85RPL6wam9Or2zc7/KzWRQyr9zbjCVvZeMEEN1QWisi+Wo51zbOlMZ NNltqzg6KXpRELiTGlUcE7z7bKcTKa9lm6+Unq3JowRpb+kWMCQ1taxYehY9x2C6dyosZI 1ynX1Qv8jzMD5Ta3GzfQ9hrga+MhfQ+Dga/6EUYA0nPjVe0xqD/j8659RXwVuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG16MlGzHRC; Thu, 14 Nov 2024 00:43: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 4AE0h51X024304; Thu, 14 Nov 2024 00:43:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0h5dM024301; Thu, 14 Nov 2024 00:43:05 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:05 GMT Message-Id: <202411140043.4AE0h5dM024301@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: 8ee3da8e738b - stable/14 - rtld: 1-bit for bool is enough List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8ee3da8e738beea9f071dc068d99effbe4d3935e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8ee3da8e738beea9f071dc068d99effbe4d3935e commit 8ee3da8e738beea9f071dc068d99effbe4d3935e Author: Konstantin Belousov AuthorDate: 2024-10-31 19:11:02 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 rtld: 1-bit for bool is enough (cherry picked from commit 450e684e0fea2785b5770241f51e897070c86726) --- libexec/rtld-elf/rtld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index e7fcfde8f474..9e0c3b92848e 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -347,7 +347,7 @@ ld_utrace_log(int event, void *handle, void *mapbase, size_t mapsize, struct ld_env_var_desc { const char * const n; const char *val; - const bool unsecure; + const bool unsecure:1; }; #define LD_ENV_DESC(var, unsec) \ [LD_##var] = { .n = #var, .unsecure = unsec } From nobody Thu Nov 14 00:43:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG33TGDz5cpNP; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG30QQzz4qjF; Thu, 14 Nov 2024 00:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bd/5wHwuzl/IsZpAS1EpnkcY1zciQ2rqBopEIT1W4kA=; b=Waam+hZO2TcbMC0K8rnp5H1iHDrmhTj5m3QUXIQJBGh4a2bXAiuz/ZIWPFjxaIOPF9cxFe +y8YqYivZ/jpxdmNS92UsZf6tEFo8nPwKCwa/dW1lBPNGD9XuXKSA9ygiofXkR9G+mO9zq UDlFlVyEsjK6ZIx5IEEen842J1c33PA7NrSrpRxc2VomSdY3dQlHCRWTbeqWP1VTCCEwmG Jn0Txlt7Q21Ej0j9AT2yFbLaJ7H4YntD9gp4L4kDPYpyWA46FfLytzg6gfWoo+ADq/iZTt PuGQmRHUOJfy2hoTHjrv0TWvhiomEy9CTCfIz/B8aufyYzkUVuJpmk3NwYK2bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bd/5wHwuzl/IsZpAS1EpnkcY1zciQ2rqBopEIT1W4kA=; b=AJ3LBBwUKEf0mmnmqRMTS5+1OPQUmSXGoP+kHwMgwFC2Mb+1sPUqMKUew4SbC7YbkvRJrp bPcvaZw9woaxNo9zf8iKSEoVzINbIGRj6QSt498RdoKwAVUONSb+QDMMMTasCVWGU9yDmv 9O70fll2GLMxzkyoLk5/uL894MES5PHR0Naz6CWMQ7J9hvXGdUu2uRA2pPfUwidOdWU+p7 DMWKZZYFZ+fhObw16oQLNEQ1TwhfAB7s/3b8IBH+EtWVqDPUTJFbvUTyo3LG/JwzR3d1Hv iAI9k/kFGL3zaALQVbnATP8sgyqmj/MnLCMQb+KiM+8EqWmWzip/RHDawcl1Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544987; a=rsa-sha256; cv=none; b=u8K+bTNX1LsmdL+MvfbNwvpI2X4J/LD1AmPg/l8Bfjc5KMb6GUR238M4EplSsOA2ThwsZU ph9oTshIVCKiUsIIx//0d7xw3r4J6A4PqH3o6Zl6qE0QIezGwBaYFXu0ER0qedKOnRFdQB 2USNphCny54XeDRbyv2NJGB9WS1tI31RhrDIvrllY4gllHBa2pLzxeQnJhccbhf5FdWB4m VVm659HFBGwBGpRB1V3/VnZezmhkUndAUJk88eTDYR7Kn7DPp+drvP2eUJxjOLy6ZsIHJx 3OHlIclzCtlrlLH3tmZ9HXcbV014jWQooHcYN08Ujwd8WmvOTquH4Ejxga7Cvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG300gGzH94; Thu, 14 Nov 2024 00:43: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 4AE0h6p1024370; Thu, 14 Nov 2024 00:43:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0h6rj024367; Thu, 14 Nov 2024 00:43:06 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:06 GMT Message-Id: <202411140043.4AE0h6rj024367@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: db21e6980b92 - stable/14 - rtld: make it easier to add sparce non-default members to ld_env_var_desc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: db21e6980b92140e044d1eaf5b86971e49b1574d Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=db21e6980b92140e044d1eaf5b86971e49b1574d commit db21e6980b92140e044d1eaf5b86971e49b1574d Author: Konstantin Belousov AuthorDate: 2024-11-01 19:20:17 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 rtld: make it easier to add sparce non-default members to ld_env_var_desc (cherry picked from commit d7214577ff00221ac84a85e61794a5e126b952dd) --- libexec/rtld-elf/rtld.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 9e0c3b92848e..41d11adacb09 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -349,8 +349,11 @@ struct ld_env_var_desc { const char *val; const bool unsecure:1; }; -#define LD_ENV_DESC(var, unsec) \ - [LD_##var] = { .n = #var, .unsecure = unsec } +#define LD_ENV_DESC(var, unsec, ...) \ + [LD_##var] = { \ + .n = #var, \ + .unsecure = unsec, \ + __VA_ARGS__ \ static struct ld_env_var_desc ld_env_vars[] = { LD_ENV_DESC(BIND_NOW, false), From nobody Thu Nov 14 00:43:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG44zNgz5cnvm; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG41VYwz4r4p; Thu, 14 Nov 2024 00:43:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8X+GuYHRQfcw7tzewYnEN9dwYyoOtDpC4FD1icaEBo0=; b=cjGN01NmTT0g2cBtV2LRvMm8cJ5AbDyKzsW0G1UXWl0HiMJv5QajviQFPtKjyiOw+Y9H0s 4MCNw65rqYZI8XlsFtqM8boYkzfaNdh+SmlJbCOWPf9P/oXMMTwros/T4Qs5ZCjtUmP6A6 WBUN+OmW3xo6b2onJSv0jtlHIgwMnJCczJhmjDHtH9OjEgcHFcvPwEzO4KqiXtXDIOM27E 28U/HVXzzir3ookeEbAFMVyDUQ39lzlCp2e16AZ5zUdcISMaVHZb23wu853bR2hsfd+i82 skrktM6hgmNeyhKPQlatQWICGPMYnmOFyTQKnvJE7zGbboHqygbB293NhhH4Ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8X+GuYHRQfcw7tzewYnEN9dwYyoOtDpC4FD1icaEBo0=; b=AmHb6vYnFE/yRKLcocfKSB8yyIPsNbcJwVm4k8tbXzmkfz5El9eEIaK2UleasUrp9hCMds G+X74WdBPBxFrjo4IaFOP2xtzva24NvenxUEUXMcffmC5esDNbjztOs31ytQfnSsM4NOrN 5qlmxz4kTiwTavKltRoqQUnX8ZsKVbBXRPoBAio4FFHIzjREc/49+EfsIxRzjlPBo78ej6 bEKH8iI4ZN1Dx25M5VZHZDHbdEMpmTS51A47JMIplqqyp484SeQf4hijcAlWlYZcgp3rMy lov+MeDoA8cAMRxEzXOD3/NoSgZ7s+Yd7KZeAgm+CFVOCql/DV92euTY/AH3UA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544988; a=rsa-sha256; cv=none; b=wg15B/OGHDaQ1rYe7fWVHsNSvgWeXwanvhE87vAi22rFFfGgPmktYMw0bcumlxIg6JE/pe KkcMN7L+jXRUfEwi4bRV6dLV79WBzpd8O5Y5kBWRcunIp3GsAvfB474wIFBvxEvQ1SI4+i fTXyGZXpf8+BpJXUZYVMbUYHxPkilUxL1n3MCyDgwDqUw+sFbRVM8HFE8WztQOdnNKtbnb twEDsdeoTmCLEzuULcg0/wFWjtVix4ckEd3O8EWSMVpdLxH+JVoIloF0l8bun91Qsg1Ipp qM432eYec3eDgdB7LhiWANF9PpJpX2SYn3H8SQxShtRQS1Yi3qmlpaKeo1l2BQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG414ldzGFX; Thu, 14 Nov 2024 00:43: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 4AE0h8LK024417; Thu, 14 Nov 2024 00:43:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0h8tJ024414; Thu, 14 Nov 2024 00:43:08 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:08 GMT Message-Id: <202411140043.4AE0h8tJ024414@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: 86a2abab0a8e - stable/14 - rtld: add rtld_{get,set}_var List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 86a2abab0a8e717c594f9f0c3c91b684ed2993c7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=86a2abab0a8e717c594f9f0c3c91b684ed2993c7 commit 86a2abab0a8e717c594f9f0c3c91b684ed2993c7 Author: Konstantin Belousov AuthorDate: 2024-10-31 06:01:39 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 rtld: add rtld_{get,set}_var (cherry picked from commit c56df6ce71ae96f00b088790d3ad2e0ebebdd59a) --- lib/libc/gen/Symbol.map | 2 ++ lib/libc/gen/dlfcn.c | 17 +++++++++++++ lib/libdl/Symbol.map | 5 ++++ libexec/rtld-elf/Symbol.map | 5 ++++ libexec/rtld-elf/rtld.c | 62 +++++++++++++++++++++++++++++++++++++++------ sys/sys/link_elf.h | 2 ++ 6 files changed, 85 insertions(+), 8 deletions(-) diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 1f8d77e7cd0a..8e4a26df8f08 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -461,6 +461,8 @@ FBSD_1.8 { aio_read2; aio_write2; execvpe; + rtld_get_var; + rtld_set_var; }; FBSDprivate_1.0 { diff --git a/lib/libc/gen/dlfcn.c b/lib/libc/gen/dlfcn.c index b678df9eef47..b30cb82e5e43 100644 --- a/lib/libc/gen/dlfcn.c +++ b/lib/libc/gen/dlfcn.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -337,4 +338,20 @@ _rtld_is_dlopened(void *arg __unused) return (0); } +#pragma weak rtld_get_var +const char * +rtld_get_var(const char *name __unused) +{ + _rtld_error(sorry); + return (NULL); +} + +#pragma weak rtld_set_var +int +rtld_set_var(const char *name __unused, const char *val __unused) +{ + _rtld_error(sorry); + return (EINVAL); +} + #endif /* !defined(IN_LIBDL) || defined(PIC) */ diff --git a/lib/libdl/Symbol.map b/lib/libdl/Symbol.map index 67d26c1f1dfe..dd9a8252e4a3 100644 --- a/lib/libdl/Symbol.map +++ b/lib/libdl/Symbol.map @@ -17,3 +17,8 @@ FBSD_1.0 { FBSD_1.3 { fdlopen; }; + +FBSD_1.8 { + rtld_get_var; + rtld_set_var; +}; diff --git a/libexec/rtld-elf/Symbol.map b/libexec/rtld-elf/Symbol.map index 0b7ad63f60a7..3cdbb30d04a0 100644 --- a/libexec/rtld-elf/Symbol.map +++ b/libexec/rtld-elf/Symbol.map @@ -21,6 +21,11 @@ FBSD_1.3 { fdlopen; }; +FBSD_1.8 { + rtld_get_var; + rtld_set_var; +}; + FBSDprivate_1.0 { _rtld_thread_init; _rtld_allocate_tls; diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 41d11adacb09..32d0b879c5bc 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -258,6 +258,8 @@ int _rtld_addr_phdr(const void *, struct dl_phdr_info *) __exported; int _rtld_get_stack_prot(void) __exported; int _rtld_is_dlopened(void *) __exported; void _rtld_error(const char *, ...) __exported; +const char *rtld_get_var(const char *name) __exported; +int rtld_set_var(const char *name, const char *val) __exported; /* Only here to fix -Wmissing-prototypes warnings */ int __getosreldate(void); @@ -348,31 +350,35 @@ struct ld_env_var_desc { const char * const n; const char *val; const bool unsecure:1; + const bool can_update:1; + const bool debug:1; + bool owned:1; }; #define LD_ENV_DESC(var, unsec, ...) \ [LD_##var] = { \ .n = #var, \ .unsecure = unsec, \ __VA_ARGS__ \ + } static struct ld_env_var_desc ld_env_vars[] = { LD_ENV_DESC(BIND_NOW, false), LD_ENV_DESC(PRELOAD, true), LD_ENV_DESC(LIBMAP, true), - LD_ENV_DESC(LIBRARY_PATH, true), - LD_ENV_DESC(LIBRARY_PATH_FDS, true), + LD_ENV_DESC(LIBRARY_PATH, true, .can_update = true), + LD_ENV_DESC(LIBRARY_PATH_FDS, true, .can_update = true), LD_ENV_DESC(LIBMAP_DISABLE, true), LD_ENV_DESC(BIND_NOT, true), - LD_ENV_DESC(DEBUG, true), + LD_ENV_DESC(DEBUG, true, .can_update = true, .debug = true), LD_ENV_DESC(ELF_HINTS_PATH, true), LD_ENV_DESC(LOADFLTR, true), - LD_ENV_DESC(LIBRARY_PATH_RPATH, true), + LD_ENV_DESC(LIBRARY_PATH_RPATH, true, .can_update = true), LD_ENV_DESC(PRELOAD_FDS, true), - LD_ENV_DESC(DYNAMIC_WEAK, true), + LD_ENV_DESC(DYNAMIC_WEAK, true, .can_update = true), LD_ENV_DESC(TRACE_LOADED_OBJECTS, false), - LD_ENV_DESC(UTRACE, false), - LD_ENV_DESC(DUMP_REL_PRE, false), - LD_ENV_DESC(DUMP_REL_POST, false), + LD_ENV_DESC(UTRACE, false, .can_update = true), + LD_ENV_DESC(DUMP_REL_PRE, false, .can_update = true), + LD_ENV_DESC(DUMP_REL_POST, false, .can_update = true), LD_ENV_DESC(TRACE_LOADED_OBJECTS_PROGNAME, false), LD_ENV_DESC(TRACE_LOADED_OBJECTS_FMT1, false), LD_ENV_DESC(TRACE_LOADED_OBJECTS_FMT2, false), @@ -6336,6 +6342,46 @@ dump_auxv(Elf_Auxinfo **aux_info) } } +const char * +rtld_get_var(const char *name) +{ + const struct ld_env_var_desc *lvd; + u_int i; + + for (i = 0; i < nitems(ld_env_vars); i++) { + lvd = &ld_env_vars[i]; + if (strcmp(lvd->n, name) == 0) + return (lvd->val); + } + return (NULL); +} + +int +rtld_set_var(const char *name, const char *val) +{ + struct ld_env_var_desc *lvd; + u_int i; + + for (i = 0; i < nitems(ld_env_vars); i++) { + lvd = &ld_env_vars[i]; + if (strcmp(lvd->n, name) != 0) + continue; + if (!lvd->can_update || (lvd->unsecure && !trust)) + return (EPERM); + if (lvd->owned) + free(__DECONST(char *, lvd->val)); + if (val != NULL) + lvd->val = xstrdup(val); + else + lvd->val = NULL; + lvd->owned = true; + if (lvd->debug) + debug = lvd->val != NULL && *lvd->val != '\0'; + return (0); + } + return (ENOENT); +} + /* * Overrides for libc_pic-provided functions. */ diff --git a/sys/sys/link_elf.h b/sys/sys/link_elf.h index 7b51b3e87d1d..996e1f70a9f1 100644 --- a/sys/sys/link_elf.h +++ b/sys/sys/link_elf.h @@ -97,6 +97,8 @@ int dl_iterate_phdr(__dl_iterate_hdr_callback, void *); int _rtld_addr_phdr(const void *, struct dl_phdr_info *); int _rtld_get_stack_prot(void); int _rtld_is_dlopened(void *); +const char *rtld_get_var(const char *name); +int rtld_set_var(const char *name, const char *val); #ifdef __ARM_EABI__ void * dl_unwind_find_exidx(const void *, int *); From nobody Thu Nov 14 00:43:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG55kG7z5cny5; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG52j3Cz4qtR; Thu, 14 Nov 2024 00: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=1731544989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=852AWupY1eGt/0DTWdxOk/KQ9Tf7w9GaHPs5khcnLmk=; b=PDVBT51nIdguRJdBAuV1TrhsiwmDCQJKPlvnegZrvhCcKtAs8vSrQ+nZ8oOlfjdRhNVkat YNr/P9Eyx6HFUOySEMXdNf01HILe5jyXhu8PDIEtcr1K8c3NP31ynNBIRfCt3eLuEduKbz CCtEHFjoxEWiCd3ulprY20PPKegiBmb30olyJ85cPBge72ghRQMdZJ8I/kI4bD1AXgatoJ t2aLy7WaSLDeX1APiROkVv7YIvj8MXD8EZnApaJKNw5qlzcMka9KCziInYXl+/ZE34JcxC vlI6k97K65Gwyow14lSwnMGqZJz45Z1qLhcPEflzZt8QXaApu51dPJpywXlXwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=852AWupY1eGt/0DTWdxOk/KQ9Tf7w9GaHPs5khcnLmk=; b=F05ZqHzoNemObWfpjCV//mE3djPOIkkHQVtxPAUe43tYf42fDQpilzI+ftP+vShgf+tiT8 Noc0ZjGnHxFA2p1B/kx6wzdcWOC09tLuFfNF4ncLB2B4z+x5Y+Zy7WuVM1nGlKigrq/9Zm nrnqZPtJiOYEFx3DjbNQB9XlHn2dwXCHS9Q07qAaICp9+2DM/lWUGBpLXZ/YLew9ujZU/P /KGKkZRjhp/NPcCXxM3CmIE15A2rMJDbCmkhBynfoWN8zRTh6RnJ6vPPlkdJ4hPJsxPBwd YUncil7CJ7avPItn8ilbSbrV8/4Zp31sF2zWPxdtwjQL07kq4Gq/XUl1VA4wnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544989; a=rsa-sha256; cv=none; b=mcGlZzANOzOIET4C4SomdFhjpcCDExN3Fz8NLQGtgW2b4B+ONhkvdB0/pH9SiNaMWm8/US +GdrR0CEaitq5qE8DN8kRJzmZkRWOKcMVoNjWr0+JbWLWfUQto6Q5aK9nCh3rTUxrW5QsC Osnsvtsl+NCvyZZ7Afy53F4Ksj1OQTXcGTA2rUmMpU/dY2MZNAUBeTuPxPsf50KC9xkn8V JOqZNVdZshhfCrxUPdKhcKMqChqt86WEaPIVgiv4QJ0N1kUe5UYGnAfW0sVqSgB/9denZ6 7NsErdaBPDfC7w8Va2x4MyyIpXctRY1z+mOIzaRhUyzs3KXbkkt9z3iMDwnGTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG52K53zHFH; Thu, 14 Nov 2024 00: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 4AE0h925024458; Thu, 14 Nov 2024 00: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 4AE0h92U024455; Thu, 14 Nov 2024 00:43:09 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:09 GMT Message-Id: <202411140043.4AE0h92U024455@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: cc3978cb74d6 - stable/14 - Document rtld_get_var(3) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cc3978cb74d66eb30c809d834bacee80fc92172c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cc3978cb74d66eb30c809d834bacee80fc92172c commit cc3978cb74d66eb30c809d834bacee80fc92172c Author: Konstantin Belousov AuthorDate: 2024-10-31 20:15:33 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 Document rtld_get_var(3) (cherry picked from commit 3820f784597cf87deb42522f108c5ee477a1f282) --- lib/libc/gen/Makefile.inc | 3 ++ lib/libc/gen/rtld_get_var.3 | 106 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 408eb2ff1e28..332edfcd6695 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -292,6 +292,7 @@ MAN+= alarm.3 \ rand48.3 \ readpassphrase.3 \ rfork_thread.3 \ + rtld_get_var.3 \ scandir.3 \ sem_destroy.3 \ sem_getvalue.3 \ @@ -500,6 +501,8 @@ MLINKS+=rand48.3 _rand48.3 \ rand48.3 seed48.3 \ rand48.3 srand48.3 MLINKS+=recv.2 recvmmsg.2 +MLINKS+=rtld_get_var.3 \ + rtld_set_var.3 MLINKS+=scandir.3 alphasort.3 \ scandir.3 scandirat.3 \ scandir.3 scandir_b.3 \ diff --git a/lib/libc/gen/rtld_get_var.3 b/lib/libc/gen/rtld_get_var.3 new file mode 100644 index 000000000000..06d2e8a41cbc --- /dev/null +++ b/lib/libc/gen/rtld_get_var.3 @@ -0,0 +1,106 @@ +.\" Copyright (c) 2024 The FreeBSD Foundation +.\" +.\" This documentation was written 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 AUTHORS 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 AUTHORS 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 31, 2024 +.Dt RTLD_GET_VAR 3 +.Os +.Sh NAME +.Nm rtld_get_var , +.Nm rtld_set_var +.Nd query or change run-time linker parameters after image activation +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/errno.h +.In link.h +.Ft const char * +.Fn rtld_get_var "const char *name" +.Ft int +.Fn rtld_set_var "const char *name" "const char *value" +.Sh DESCRIPTION +The dynamic linker +.Xr rtld 1 +can be configured be setting some environment variables for the process, +before image activation. +Sometimes it is desirable to query the current effective settings or +change them afterward. +.Pp +Since the process environment variables are maintained by higher-level +libraries, the run-time linker cannot access them after the image +activation. +The described functions make it possible to operate on rtld settings. +.Pp +The +.Fn rtld_get_var +function returns the current value of the named parameter. +.Pp +The +.Fn rtld_set_var +functions changes the value of the parameter to the new +.Fa value +value, if possible. +The +.Fa name +argument to both functions is the name of the parameter, which +is same as the corresponding environment variable +.Pq see Xr rtld 1 +but without the +.Ev LD_ +(or +.Ev LD_32_ +or any other ABI-specific) prefix. +.Sh RETURN VALUES +The +.Fn rtld_get_var +returns the current value of the named parameter, or +.Dv NULL +if the name is invalid. +.Pp +The +.Fn rtld_set_var +returns 0 on success, or an integer indicating the error condition +which prevented the operation. +.Sh ERRORS +Possible errors returned from +.Fn rtld_set_var : +.Bl -tag -width Er +.It Bq Er EPERM +The requested change cannot be made at runtime, either because the +runtime linker can only take this parameter at initialization time, +or because the current process is executing with elevated privileges. +.It Bq ENOENT +The supplied parameter +.Fa name +is unknown. +.El +.Sh SEE ALSO +.Xr rtld 1 +.Sh HISTORY +The +.Nm +function first appeared in +.Fx 15.0 . From nobody Thu Nov 14 00:43:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG666jlz5cpL3; Thu, 14 Nov 2024 00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG63WSBz4qtZ; Thu, 14 Nov 2024 00:43:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JJxGFkWSwr50dhXFJs5/5a8rhmlI6NdRmZO2JHpUaUI=; b=weO6R8nWIR/1LGRpoUlpC6roKJyww65/hYVmQVjRm+x+1bA+yCDeQ2lBKM/UeoHs7M+eMM yTTZS/W7bHAg75vsucwZuPFVuIK+ZQu281ZSqfdui7xQFSZ//cy14mSnP+XBLc8FPOL5Cp cM8kuZFrqAOGb6DPCgbqyxPJN0JMT3JJwEMMjDo+XqIndvq0i/Q5P3zcma+B6TfAIbU1DC RfqrIeLaJxolIGJ+Nn5bYAf/I/D5Gv+JYc97wAlVSSL9tfCtAsE6PWMPZE0ucWc7BbGGK+ wCd4MR+5b3lE7IBzzY0F+50vQMi5wt76Fd0Glas45HFwUztjk731gMTuL4GLaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JJxGFkWSwr50dhXFJs5/5a8rhmlI6NdRmZO2JHpUaUI=; b=cxMY/A5iHO1KdDMOUM+sPhXA6YdBil9Qkc59blOCFNBaI7kYCArg+5UhBe4TeoDmjlhkbG +5/jGeC4IRHOw0jkyeDgCtR28ArQ3hJPR92oHr6tz+RJseLaf3nWp/H0JUbrSp7ggW3hMQ NbDb3dBVg72XiGwl/0q/vU4kWI0HfhgPdj8OAosRGdFtjwJc/QwzegxNRH/RjM7dNGIKse YtP1/eyPwaq0SufR3qvpHWFv1CZ24WgxJVOs2AVIqP/M/W/ZcwqGN20iR66aKwnDQtT7xS hBq2UjZolDLW+gCufZQng9Byrr2V4EqURy4eIMm66lWS5AThcHakRkgWr0Kigw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544990; a=rsa-sha256; cv=none; b=TnFzzWHdwJEl4OymZLi1OasXBvjqJYxTMyccKXo8nj4+WygKFonvK1Wq/pwnDz7IJFnlaS 1tBXtpjdr8/5SGSMDrrJl8VIJueporJNur2A/enyw9G8h5RFx4nLHtQt66NKqR6BT+rznw uqRblUKHmizvkXCjsg42tj3PKIe6RTec8f7oMOl+qVIngntudnOIwdDKVxtaNjKmQBjz6t Wgw72U3sE1Lav33dNTewSmI6XcCf/BcTgzjNRtN/E9HtYCvu+eoV3mHcbPyZMFXRVTPcmC 9ryv46Vb/qt+DOf+6BFL2rYSL8IUkxGdfdotg6G5uX9o8p3iqLiizcGYn4hcBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG633cvzGyP; Thu, 14 Nov 2024 00:43: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 4AE0hAT0024502; Thu, 14 Nov 2024 00:43:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0hAvk024499; Thu, 14 Nov 2024 00:43:10 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:10 GMT Message-Id: <202411140043.4AE0hAvk024499@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: dcdc0d716715 - stable/14 - rtld.1: cross-reference rtld_get_var.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: dcdc0d71671536faa0919b2ccb996ff5173ce2a4 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=dcdc0d71671536faa0919b2ccb996ff5173ce2a4 commit dcdc0d71671536faa0919b2ccb996ff5173ce2a4 Author: Konstantin Belousov AuthorDate: 2024-10-31 20:20:39 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 rtld.1: cross-reference rtld_get_var.3 (cherry picked from commit 16d000bdac54d7153f33a0d050bcc4307b702751) --- libexec/rtld-elf/rtld.1 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libexec/rtld-elf/rtld.1 b/libexec/rtld-elf/rtld.1 index 5631c28e1f84..62e4fc5676c2 100644 --- a/libexec/rtld-elf/rtld.1 +++ b/libexec/rtld-elf/rtld.1 @@ -138,6 +138,15 @@ all the environment variables listed below, but is being prefixed with for example: .Ev LD_32_TRACE_LOADED_OBJECTS . If the activated image is setuid or setgid, the variables are ignored. +.Pp +The run-time linker is able to access the environment provided +at process startup. +After startup, environment variables are maintained by higher-level +libraries and are not accessible by the run-time linker. +At run-time, effective settings can be queried using +.Xr rtld_get_var 3 , +and some of them can be changed with +.Xr rtld_set_var 3 . .Bl -tag -width ".Ev LD_LIBMAP_DISABLE" .It Ev LD_DUMP_REL_POST If set, @@ -527,6 +536,7 @@ The libmap configuration file for 32-bit binaries on 64-bit system. .Xr ld 1 , .Xr ldd 1 , .Xr dlinfo 3 , +.Xr rtld_get_var 3 , .Xr capsicum 4 , .Xr elf 5 , .Xr libmap.conf 5 , From nobody Thu Nov 14 00:43:11 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphG75sTnz5cp1D; Thu, 14 Nov 2024 00:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphG74Wc2z4rGk; Thu, 14 Nov 2024 00:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfBp8yC9wz0JRtegWJZqBb3UU7Em2PVdAeOZpeUeUxs=; b=oyyVdWTkZgyw/5fD+12baqjwb3/FSbQNqH+RotgD4xKGKK+E5pQAFkFcj0Q2PrYTo6vwqt CApj88hVaYyoOj14hGa2xk/7f42C1+Ii1wQmCo7osHldEc1uybJCzoRK5JR9l4f0SU4IDg Mh6kASQggy8rRmwQVgKZqniQf3m1j4rBV719YpZB5kixEZIJOqVygLWLU+lwhY46RFOGdZ ZuUp4b3msIzC1bKLidoREjJMpeNDZh5l6nPdEe7le9WlVeUgcjcWwojeLRdj4EubMKPnD1 BymGhda8bdaHLdKMxJ7uSbAc5JlMzW4/MHvF7Gm6SFp2JG8FasvNle3OwH7nrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731544991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfBp8yC9wz0JRtegWJZqBb3UU7Em2PVdAeOZpeUeUxs=; b=kWb0nUjBHu0lxOQ6Yk7czKb0ZqY0Pgm9okJUBGCte77uC7uhsZ5HmZxSqaaVfQ/T9uF2+/ UVzfcAMHd19t1mXKLPttqkZoum7ukI9eg9go6rCLvtujsGy0HhHySYwtWE8whZqSzYEPa8 BP11/Rwx5HTETFnK8uJ7Ois1zNITQfsHCRha3d8gzLOXmnCC7dI88uMmmjrZU9+OXvWwle thuKe6iz6VtQpG/Mg/PXypAH7NmV+MTLLMWDDY9mZIz4/sq5st3VLbnJA7c39kk0g4WWFX 7DUg9CZxftnb6SJWq1s5Wz/9WAyW+wJTfAluEWUu/pzP6CCV+14swXTYxfGRXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731544991; a=rsa-sha256; cv=none; b=fYdLoi5Y13ocBgahJOwYm5nKhXjEfyhBh6kuGMQ5RVAuip8Xlt1uePpN+ThGKU2WkzwuT+ 8EyIXC6RDQ9paFb9Aqaf+uU91zwvQ0Ml9uxaB4D/EJEEJybiLBtQNaPY5AtaNf1bksHVZt yDZEgPO1cNbC1NWV9/ou0VB0rFYI8xmjelvnz6Ct/9n48G4uOfClZJh1R9r3OlZcHMUKK6 eiHaeFzHU/jHmR/DWnq8/Prcvfrmgfoj2gJMgUF2TjjBPhUeS/lSF7D9PZR2WH83jV54ub YiZhypTLtaq55336ZDB62pbCs7Hdpk/zLTH/qBjavQ+C1ljRUopt8hWOUtzdbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphG747V7zGFY; Thu, 14 Nov 2024 00:43: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 4AE0hB9a024541; Thu, 14 Nov 2024 00:43:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0hBUC024538; Thu, 14 Nov 2024 00:43:11 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:11 GMT Message-Id: <202411140043.4AE0hBUC024538@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: a2d4e8b93ea2 - stable/14 - rtld_get_var.3: fix typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a2d4e8b93ea215fb001130036e45a42a832bc564 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a2d4e8b93ea215fb001130036e45a42a832bc564 commit a2d4e8b93ea215fb001130036e45a42a832bc564 Author: Konstantin Belousov AuthorDate: 2024-11-07 18:48:28 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:17 +0000 rtld_get_var.3: fix typo (cherry picked from commit e434c56fcd4f9eee04ac6bb5e0cf028db3006be3) --- lib/libc/gen/rtld_get_var.3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/gen/rtld_get_var.3 b/lib/libc/gen/rtld_get_var.3 index 06d2e8a41cbc..e211d78345e3 100644 --- a/lib/libc/gen/rtld_get_var.3 +++ b/lib/libc/gen/rtld_get_var.3 @@ -44,7 +44,7 @@ .Sh DESCRIPTION The dynamic linker .Xr rtld 1 -can be configured be setting some environment variables for the process, +can be configured by setting some environment variables for the process, before image activation. Sometimes it is desirable to query the current effective settings or change them afterward. From nobody Thu Nov 14 00:43:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphGh3zm8z5cp1P; Thu, 14 Nov 2024 00:43:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphGh1SbSz4sZL; Thu, 14 Nov 2024 00:43:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A3pZ35SEncgPtULvx26ZMrCpppj4o4NBJBebleHGMiI=; b=vzm75rxdint7JFCpMGvr4AlyFqombl4SgGUJQ3KnB9tRl59DMvYwGzRUApCZXsErn8CkHm f62R1gbjlUgTS5CZkVD3fGGuDSgQguZqklKb0Tx/sdUL7CFvP+hbHf1qC8Ls9T0jROUBOq Di4MLIeh/sXmiNP8lPagr2s24uZSzFxp9vMseSqB3k3jEu84m9J616thXr3bun58EA0Byf 4leF2yzNePvPpzG69U86z//mX+6XlpCnIU2D207vwCQEGiQoVYNDdAB9YzaKtyuSb3C1hr kIBeXyk1y+Xi/3vzE7qEYI72RRXw4VgAFBD8T9sf1GeQBY+OvQYzfO/1gvACcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A3pZ35SEncgPtULvx26ZMrCpppj4o4NBJBebleHGMiI=; b=YJv0Hdt/+eNW5PAywD/EjKbClf43KIgYdd9rhn1jvVl+/4M9nr8Wf2btjUsrC2khPFfoOG gzGhIpdiZje84Kcy61U7EsJQosPo++kCrPVO94oCWbJ9AFrjpMgiRS2smgE6FClL/3h/BK +3bCcEVzn+GxXTGAzy30i1UDkbG5VOdTxd84M21fhj1inuu7MMjF9G0cndFXXg0AfIpybY /0gTC3aZaK01iiCuLH+RMoX4KHR7neFZ7ZpU+aDRfkewiYPPIuNWT8+9vjfvgnhTSb6P3i khIwhwH9orimENGkoihabBhwEYgGFZ0fRXg3D6ZSPaIzXMPYYRaJY0xBAB2g0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731545020; a=rsa-sha256; cv=none; b=l4BL/FlIOs6DevhNje7drSuBjhXdCzmALr1kZajsuHF8J0X3WWKhbJKg5Z7DLlKXX5oh3N IRiyaCG0l3xenD9OyWMsgV4IENxhik5+c1qwIZs2qhJGO0vCakJoTLv2xzV2yAaRqp/aaJ wOdYA7Nn31ntk6gZnoep61f3kCAxqjDuZDTBvgJQmk0jYaoelh6cZ6Q0DlgbtE2T5wAOo9 E47hrH6+GdmEDVAhAmvB0hMWuekr/OUpko3UCrhTB/z1Ssj6SH7MP6wzbqog4121Laktdl OIhipwpzI31I1f24lCOm7G4kgKKT+3ndR4/sBG92+L1kf8RgER4x8M8yofRmhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphGh14QwzGw8; Thu, 14 Nov 2024 00:43: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 4AE0heIh024850; Thu, 14 Nov 2024 00:43:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0heJ7024847; Thu, 14 Nov 2024 00:43:40 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:40 GMT Message-Id: <202411140043.4AE0heJ7024847@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: 087558ec3e01 - stable/14 - ps.1: visually align process flags hex values by filling leading zeroes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 087558ec3e01cbbce725eb406fca6072763a3103 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=087558ec3e01cbbce725eb406fca6072763a3103 commit 087558ec3e01cbbce725eb406fca6072763a3103 Author: Konstantin Belousov AuthorDate: 2024-11-09 01:43:31 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:18 +0000 ps.1: visually align process flags hex values by filling leading zeroes (cherry picked from commit cd9e781e76d90275b26b92ba512297ea3ca852e5) --- bin/ps/ps.1 | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/bin/ps/ps.1 b/bin/ps/ps.1 index 23868d8b3009..cc08344b928b 100644 --- a/bin/ps/ps.1 +++ b/bin/ps/ps.1 @@ -333,33 +333,33 @@ The flags associated with the process as in the include file .In sys/proc.h : .Bl -column P_SINGLE_BOUNDARY 0x40000000 -.It Dv "P_ADVLOCK" Ta No "0x00001" Ta "Process may hold a POSIX advisory lock" -.It Dv "P_CONTROLT" Ta No "0x00002" Ta "Has a controlling terminal" -.It Dv "P_KPROC" Ta No "0x00004" Ta "Kernel process" -.It Dv "P_PPWAIT" Ta No "0x00010" Ta "Parent is waiting for child to exec/exit" -.It Dv "P_PROFIL" Ta No "0x00020" Ta "Has started profiling" -.It Dv "P_STOPPROF" Ta No "0x00040" Ta "Has thread in requesting to stop prof" -.It Dv "P_HADTHREADS" Ta No "0x00080" Ta "Has had threads (no cleanup shortcuts)" -.It Dv "P_SUGID" Ta No "0x00100" Ta "Had set id privileges since last exec" -.It Dv "P_SYSTEM" Ta No "0x00200" Ta "System proc: no sigs, stats or swapping" -.It Dv "P_SINGLE_EXIT" Ta No "0x00400" Ta "Threads suspending should exit, not wait" -.It Dv "P_TRACED" Ta No "0x00800" Ta "Debugged process being traced" -.It Dv "P_WAITED" Ta No "0x01000" Ta "Someone is waiting for us" -.It Dv "P_WEXIT" Ta No "0x02000" Ta "Working on exiting" -.It Dv "P_EXEC" Ta No "0x04000" Ta "Process called exec" -.It Dv "P_WKILLED" Ta No "0x08000" Ta "Killed, shall go to kernel/user boundary ASAP" -.It Dv "P_CONTINUED" Ta No "0x10000" Ta "Proc has continued from a stopped state" -.It Dv "P_STOPPED_SIG" Ta No "0x20000" Ta "Stopped due to SIGSTOP/SIGTSTP" -.It Dv "P_STOPPED_TRACE" Ta No "0x40000" Ta "Stopped because of tracing" -.It Dv "P_STOPPED_SINGLE" Ta No "0x80000" Ta "Only one thread can continue" -.It Dv "P_PROTECTED" Ta No "0x100000" Ta "Do not kill on memory overcommit" -.It Dv "P_SIGEVENT" Ta No "0x200000" Ta "Process pending signals changed" -.It Dv "P_SINGLE_BOUNDARY" Ta No "0x400000" Ta "Threads should suspend at user boundary" -.It Dv "P_HWPMC" Ta No "0x800000" Ta "Process is using HWPMCs" -.It Dv "P_JAILED" Ta No "0x1000000" Ta "Process is in jail" -.It Dv "P_TOTAL_STOP" Ta No "0x2000000" Ta "Stopped for system suspend" -.It Dv "P_INEXEC" Ta No "0x4000000" Ta Process is in Xr execve 2 -.It Dv "P_STATCHILD" Ta No "0x8000000" Ta "Child process stopped or exited" +.It Dv "P_ADVLOCK" Ta No "0x00000001" Ta "Process may hold a POSIX advisory lock" +.It Dv "P_CONTROLT" Ta No "0x00000002" Ta "Has a controlling terminal" +.It Dv "P_KPROC" Ta No "0x00000004" Ta "Kernel process" +.It Dv "P_PPWAIT" Ta No "0x00000010" Ta "Parent is waiting for child to exec/exit" +.It Dv "P_PROFIL" Ta No "0x00000020" Ta "Has started profiling" +.It Dv "P_STOPPROF" Ta No "0x00000040" Ta "Has thread in requesting to stop prof" +.It Dv "P_HADTHREADS" Ta No "0x00000080" Ta "Has had threads (no cleanup shortcuts)" +.It Dv "P_SUGID" Ta No "0x00000100" Ta "Had set id privileges since last exec" +.It Dv "P_SYSTEM" Ta No "0x00000200" Ta "System proc: no sigs, stats or swapping" +.It Dv "P_SINGLE_EXIT" Ta No "0x00000400" Ta "Threads suspending should exit, not wait" +.It Dv "P_TRACED" Ta No "0x00000800" Ta "Debugged process being traced" +.It Dv "P_WAITED" Ta No "0x00001000" Ta "Someone is waiting for us" +.It Dv "P_WEXIT" Ta No "0x00002000" Ta "Working on exiting" +.It Dv "P_EXEC" Ta No "0x00004000" Ta "Process called exec" +.It Dv "P_WKILLED" Ta No "0x00008000" Ta "Killed, shall go to kernel/user boundary ASAP" +.It Dv "P_CONTINUED" Ta No "0x00010000" Ta "Proc has continued from a stopped state" +.It Dv "P_STOPPED_SIG" Ta No "0x00020000" Ta "Stopped due to SIGSTOP/SIGTSTP" +.It Dv "P_STOPPED_TRACE" Ta No "0x00040000" Ta "Stopped because of tracing" +.It Dv "P_STOPPED_SINGLE" Ta No "0x00080000" Ta "Only one thread can continue" +.It Dv "P_PROTECTED" Ta No "0x00100000" Ta "Do not kill on memory overcommit" +.It Dv "P_SIGEVENT" Ta No "0x00200000" Ta "Process pending signals changed" +.It Dv "P_SINGLE_BOUNDARY" Ta No "0x00400000" Ta "Threads should suspend at user boundary" +.It Dv "P_HWPMC" Ta No "0x00800000" Ta "Process is using HWPMCs" +.It Dv "P_JAILED" Ta No "0x01000000" Ta "Process is in jail" +.It Dv "P_TOTAL_STOP" Ta No "0x02000000" Ta "Stopped for system suspend" +.It Dv "P_INEXEC" Ta No "0x04000000" Ta Process is in Xr execve 2 +.It Dv "P_STATCHILD" Ta No "0x08000000" Ta "Child process stopped or exited" .It Dv "P_INMEM" Ta No "0x10000000" Ta "Loaded into memory" .It Dv "P_SWAPPINGOUT" Ta No "0x20000000" Ta "Process is being swapped out" .It Dv "P_SWAPPINGIN" Ta No "0x40000000" Ta "Process is being swapped in" From nobody Thu Nov 14 00:43:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphGj3LmZz5cpLB; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphGj1nv2z4sbl; Thu, 14 Nov 2024 00:43:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GEWSLXjwo2fJCW4bovDfnqWDKiAngFZd1ef0bLPa/mI=; b=NCWqqk5R0cLuo5qX64Vb+2sRVMybesgPLxxwFef7SGvcvjy9hmrRl2N0LSkRqVyBqg8Zyj A41gAO9pq3Sd3i7npJsei2aJZpj6wwNaRgHr8oauH+yWycnPgnFWzHJtnl1XdSCzhAp/nu oIwTVUXGyUT6g4VQjGaPWwYUhW+HK8LwQ9sG7Muz5tdB1UmwsrT2diU8FBbiKde4EF+3Zq bkWN9p2vyyYfytYh9oUumMfsfQSzs7SnHudhr8bU3DhdeODbvT93RblCe215W6myb/ADl4 c9qG1YknUYX/CIR3o1fCiB+92gqJUDcluKLii6qi+mXvTHkb2ZX1HAwxas9H6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GEWSLXjwo2fJCW4bovDfnqWDKiAngFZd1ef0bLPa/mI=; b=SkB9vzrTfZ8OsppH7fL+b1BNdA9Z1gKJdy0DIl7WorJbsF01LTXB7dLXa6/X+9zBxqBn9u MBdPTFCKZm0S+6j22NwWH/UPNeyvYF+jXUdZeAJyKwHccmzfj1y/GU0ohAJmAAoe78SSKU b6iG00D7jbbf3fdAWtaBXrTVxiADjbUchyUuBLmo4DvLJ2WzhX0Yil4MbeQODlVzCcMp9/ EacTnqNYpMDyGx9kaPZPZoBxWQtGjoCJ9FcREEqNX8jQpw2uSQXyfH6SOierAQibz3NtKD hjxRVm74Lxn4fJbPXlL+FqJ8bmNojJa3+0IKJtHZ4VsAdpnl0aNXQn06jRMnGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731545021; a=rsa-sha256; cv=none; b=eP7m0t5gnHmm8Y7x0k5X64rac2pNthyXXibixdENKqMONwMzNnArTNNJhlLIQ+rDE8sWVs VQXbwpmqxvPg5JDdjznpThY4BRlLtXHQXU5rewUdLoJF3PFnEjLben8ejv5omS7kEPfCF4 RwFErDe3gj+lYrTJbN8Vu6R/7o9lYuCZ4QeVibpcZPYhtV22X3s1xkv5NaU7gyG8nsyfGJ FWzxL8IFxqe2Ngv8fO4b89r0+ssvonEg4ripWzy5GQxwaDU7ZOoCjEd2qkFM9SKRtbpzxA q8Rnszo4ZPzit3d89aJ8FPdRslUBYAorZ9xjefPKKD5Y56PuApJtz8Hoyx+ZIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphGj1Q3KzGsZ; Thu, 14 Nov 2024 00:43: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 4AE0hfaD024913; Thu, 14 Nov 2024 00:43:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0hfbf024910; Thu, 14 Nov 2024 00:43:41 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:41 GMT Message-Id: <202411140043.4AE0hfbf024910@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: 5f52fa2ac30e - stable/14 - ps.1: document rest of flag2 bits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5f52fa2ac30ecf1c707600d922191c0d061fa41e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5f52fa2ac30ecf1c707600d922191c0d061fa41e commit 5f52fa2ac30ecf1c707600d922191c0d061fa41e Author: Konstantin Belousov AuthorDate: 2024-11-09 02:00:42 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:18 +0000 ps.1: document rest of flag2 bits (cherry picked from commit 4c367bc90ba02a76d015364345343eed1cc4492a) --- bin/ps/ps.1 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/bin/ps/ps.1 b/bin/ps/ps.1 index cc08344b928b..cd29f4a0d70e 100644 --- a/bin/ps/ps.1 +++ b/bin/ps/ps.1 @@ -377,6 +377,24 @@ the include file .It Dv "P2_NOTRACE_EXEC" Ta No "0x00000004" Ta Keep P2_NOPTRACE on Xr execve 2 .It Dv "P2_AST_SU" Ta No "0x00000008" Ta "Handles SU ast for kthreads" .It Dv "P2_PTRACE_FSTP" Ta No "0x00000010" Ta "SIGSTOP from PT_ATTACH not yet handled" +.It Dv "P2_TRAPCAP" Ta No "0x00000020" Ta "SIGTRAP on ENOTCAPABLE" +.It Dv "P2_ASLR_ENABLE" Ta No "0x00000040" Ta "Force enable ASLR" +.It Dv "P2_ASLR_DISABLE" Ta No "0x00000080" Ta "Force disable ASLR" +.It Dv "P2_ASLR_IGNSTART" Ta No "0x00000100" Ta "Enable ASLR to consume sbrk area" +.It Dv "P2_PROTMAX_ENABLE" Ta No "0x00000200" Ta "Force enable implied PROT_MAX" +.It Dv "P2_PROTMAX_DISABLE" Ta No "0x00000400" Ta "Force disable implied PROT_MAX" +.It Dv "P2_STKGAP_DISABLE" Ta No "0x00000800" Ta "Disable stack gap for MAP_STACK" +.It Dv "P2_STKGAP_DISABLE_EXEC" Ta No " 0x00001000" Ta "Stack gap disabled after exec" +.It Dv "P2_ITSTOPPED" Ta No "0x00002000" Ta "itimers stopped (as part of process stop)" +.It Dv "P2_PTRACEREQ" Ta No "0x00004000" Ta "Active ptrace req" +.It Dv "P2_NO_NEW_PRIVS" Ta No "0x00008000" Ta "Ignore setuid on exec" +.It Dv "P2_WXORX_DISABLE" Ta No "0x00010000" Ta "WX mappings enabled" +.It Dv "P2_WXORX_ENABLE_EXEC" Ta No "0x00020000" Ta "WxorX enabled after exec" +.It Dv "P2_WEXIT" Ta No "0x00040000" Ta "Internal exit early state" +.It Dv "P2_REAPKILLED" Ta No "0x00080000" Ta "REAP_KILL pass handled the process" +.It Dv "P2_MEMBAR_PRIVE" Ta No "0x00100000" Ta "membarrier private expedited registered" +.It Dv "P2_MEMBAR_PRIVE_SYNCORE" Ta No "0x00200000" Ta "membarrier private expedited sync core registered" +.It Dv "P2_MEMBAR_GLOBE" Ta No "0x00400000" Ta "membar global expedited registered" .El .It Cm label The MAC label of the process. From nobody Thu Nov 14 00:43:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphGk4RqKz5cp1S; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphGk2rvsz4sfg; Thu, 14 Nov 2024 00:43:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NoP+o06F3YKfAgLyKyfpVtgb+BBerR8+Kfpc+wZPRo4=; b=FX9eEYMx3lvtPUJolqUdnA/YNwDb7P82H0F81IzmGItOoYTwYrgdpursWfC4wBXBEEW73C oDQwRV13hIcjnHFEU0/D7fcuAfOLxLC4LKRlpnaiq05HgBo0yj1qJzKfFA0s+cXp0zgUiJ q9hqsWWOqq5Mn0ilJ2kQrPlR1wvkHK3CvYZuLUsSdXOZ2+2YPxWjJJI4oe/xqgh7wfg+qc bbF4xrinRr6FH+vpbxVJkSaFuscGE4X3YwuIqGiqpuRAMc/rYn5kbrTdzTrZwuivhQ0MOK pZam9jBJ+TGiIE3HRRQG9baW5MsFerv+dUW8MAs8OwAPYSOkcZcj4ptOS6AmNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NoP+o06F3YKfAgLyKyfpVtgb+BBerR8+Kfpc+wZPRo4=; b=EKxgSjefbsFxG/x3pasuH8PmD1hragN99HbE+dVfsITW9l4dtu52QSmBl46ZmL4kqoZZBf z1N3xEjNNtWV4hjqxPPivCCK0cciskyGG89kAww2h6lbTW9sdn8e0PwDhaLs7/NcKn3EWt Z/NNw4FwbblPS3FQLJC4SzClVJ/uHgA1eXIk0FUonp9rNYLZ3yAU8vjbm+8nLwOBhVXoUz E6mYnpNKwmodcni1sCSStRmCkr7RCkDlYz7voo7zzYwiH4NcF0kUdVsiTa0ItEKdiYA3Hg c0bD2HZk8AupN61PZq2THf4JS7Xbz7+qjR9RzfLY93I6+cAKiVGrMwIeW+iSrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731545022; a=rsa-sha256; cv=none; b=nfypb4GINwz5xGsZi0BXXzr+38xo+AEMg/pDN0aktk/WK3+U9dHXW24SRDeHvNs8PBI2t2 h+qfLat0i+P29Ol8Uy2J9aayxLAx3Mbru3gjpFQqzXtxvZKsFwyaQdG139Z1vo6JOE9ox+ NcgfWi9IeI20hsW2kEQBtm/qSGkY7W7jJnenE9AbEUWHlqB5zC4dUdvq7O31daI5o4QV1D eNcjvyK1DKBW5a36Wb9kVCnr2jmTX4SM1x76NwbUs0iQ8M/PxvcNjVzSNxuN247hL6kiH6 9oY4U+JXZyCD41uvAOtL45dqiv8lHhRZDZrQ+N9iQfxDEql8dx8W24uJEDfEOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphGk2TQTzGw9; Thu, 14 Nov 2024 00:43: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 4AE0hg9x024961; Thu, 14 Nov 2024 00:43:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0hgK1024958; Thu, 14 Nov 2024 00:43:42 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:42 GMT Message-Id: <202411140043.4AE0hgK1024958@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: 5eda09abc32f - stable/14 - sys/proc.h: add comments to the flag2 bits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5eda09abc32f0707664a76367aea8ab2db2ea506 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5eda09abc32f0707664a76367aea8ab2db2ea506 commit 5eda09abc32f0707664a76367aea8ab2db2ea506 Author: Konstantin Belousov AuthorDate: 2024-11-09 02:02:36 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:18 +0000 sys/proc.h: add comments to the flag2 bits (cherry picked from commit 14b3a4564af36d30a94f01d7d94e64f72df7b880) --- sys/sys/proc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 6d6a4e8624c5..96cfc5f199ae 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -874,7 +874,7 @@ struct proc { MAP_STACK */ #define P2_STKGAP_DISABLE_EXEC 0x00001000 /* Stack gap disabled after exec */ -#define P2_ITSTOPPED 0x00002000 +#define P2_ITSTOPPED 0x00002000 /* itimers stopped */ #define P2_PTRACEREQ 0x00004000 /* Active ptrace req */ #define P2_NO_NEW_PRIVS 0x00008000 /* Ignore setuid */ #define P2_WXORX_DISABLE 0x00010000 /* WX mappings enabled */ @@ -882,7 +882,7 @@ struct proc { #define P2_WEXIT 0x00040000 /* exit just started, no external thread_single() is permitted */ -#define P2_REAPKILLED 0x00080000 +#define P2_REAPKILLED 0x00080000 /* REAP_KILL pass touched me */ #define P2_MEMBAR_PRIVE 0x00100000 /* membar private expedited registered */ #define P2_MEMBAR_PRIVE_SYNCORE 0x00200000 /* membar private expedited From nobody Thu Nov 14 00:43:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphGm0KG4z5cnvw; Thu, 14 Nov 2024 00:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphGl3wbBz4sc2; Thu, 14 Nov 2024 00:43:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RN/TyJ6utGT7oJH90v3i/6Z8kwnP2AiQTQbtWpkraaU=; b=tsnHCem+JDVAERhtj5WZsWRj1dwucYjMyhFwK37C+6ck6FxoJYg7Y4gJg5UPYsho9d0Vm0 5C9+JBpehvZVn0H6HxUPw8udVnNR0cTLNaJeB50+p4XsrZEjQQCrk8gYMaOEnMizZZB4or ox5mIGtTVnbj0qD48ByJPw+XcyVg/U1B/BOf8QkiJDrViSZoANHss3MxirmoVmkce2nd15 uGBgh064g76rt6tJCOMeS0GlhjTlTDLE3eLfUyTdl/mWAgkaxioXrrOKh7zghAoFj44bRk atakoLR9npQC1tY3AEqOO0Xa+Ssu8NpvNeuGPQ1wWwJDvfplMEERI4tLGU39dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RN/TyJ6utGT7oJH90v3i/6Z8kwnP2AiQTQbtWpkraaU=; b=ssuwYKJrvVxVzUtc/Sj6ac4vPfRbq6sNvR24tm3qxKjRmcZP3E3unzH5AINS7Bnc2l/n7D DsPHRVBLhGEa0hffRwtTQnz/DDxWZQmquzg70Bki16IQDow+Zg+kzxhUr2i0jynhYqYFpW BNDa4/QjVlB4eXTaUxjG6knMo+IY0PcqosVJDFgVm2GX36jjPzi27JINNKIrTOR4zaLmUl +kyF7PQg6rxOnvWFN8QlQ1PwtluVTnAImeRCWM+ErhGZxEZHlc+6B/UQF7U5jlodM6Nq6G blvbu+l0wdiMHT01Ow/XGmwrwxjvwE1S5Y2VmtHGBw5VKQojB7yT6ZRxuc9DGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731545023; a=rsa-sha256; cv=none; b=QjLwO4kDbtW3bOmvyeQWVVuncl+8p7a7oEx8f7nwRXZOE+A9vt7gnUksuzqP6+h4MUK3m+ G/uK0e1coph1GEW4yS/j3vIV6YOqjweAmYp+fuxszeId4Yx9uLLkJmyuhM7dxlH0D23fFg t2J1GNVEHnRZK3tddjNY0IEPFxH4iRh0hGlI6dkNEI3PfppPnlnzjjy5yfTTuFFi+H6qLe 43es6knYxafwkz8Y+tRUfP+u3JV28zXIEktXr3ZiqQnno9kvKouJEJjZ6krzzHtyg1O43t WOuA8Sz50CXBmTdEJlxG8itZALQIsehE5SLWuxfjsI1yv0yhKfu0Vh3pl8Qoog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphGl3VcTzGwB; Thu, 14 Nov 2024 00:43: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 4AE0hhHp025009; Thu, 14 Nov 2024 00:43:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0hhOa025006; Thu, 14 Nov 2024 00:43:43 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:43:43 GMT Message-Id: <202411140043.4AE0hhOa025006@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: b01067349311 - stable/14 - struct proc: add locking annotation for p_pendingcnt List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b01067349311656d51172da8900c4281ca115ac4 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b01067349311656d51172da8900c4281ca115ac4 commit b01067349311656d51172da8900c4281ca115ac4 Author: Konstantin Belousov AuthorDate: 2024-11-12 06:05:48 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-14 00:42:18 +0000 struct proc: add locking annotation for p_pendingcnt (cherry picked from commit 166c1fac59f04cc346d8a18671f25d0ef0293611) --- sys/sys/proc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 96cfc5f199ae..f794cbe17442 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -714,7 +714,7 @@ struct proc { int p_suspcount; /* (j) Num threads in suspended mode. */ struct thread *p_xthread; /* (c) Trap thread */ int p_boundary_count;/* (j) Num threads at user boundary */ - int p_pendingcnt; /* how many signals are pending */ + int p_pendingcnt; /* (c) how many signals are pending */ struct itimers *p_itimers; /* (c) POSIX interval timers. */ struct procdesc *p_procdesc; /* (e) Process descriptor, if any. */ u_int p_treeflag; /* (e) P_TREE flags */ From nobody Thu Nov 14 00:49:33 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XphPT61kGz5cpVh; Thu, 14 Nov 2024 00:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XphPT5Dsgz4tx1; Thu, 14 Nov 2024 00:49:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQ0sGkeBD2/CR8cMxZ97I03Lf01zYka02x+9LkZznxU=; b=PxW0j7ZgAnTh2J9QJH6owhz6sTJRDNZuYfT3G5RbJlogdN7YMb6a+1CPYNnKdK2rnLU99k p++dRld+HTr/cHJfskxPRm7MgmjvUoFw+Z38mdBdJu10HYaMK6hBdCzRHJbKJDBAsNxwgE +pQCde+0Cg01fgisck3oExZpoC5egxD1RDGY6A+PwlvHLTnbbC1jAb8L2tTssG5kmF5fg6 STm9L0NYR7mWBs3esixQlChjW2MTg3LcUF2NTTdVNEulmMqwZkPT92NFXYI8RzIiKmE75A +u3wqZ+1B2zhxX/uqmiyQAluT3pJjBjuKhm6gIuv3eb6UX7wVK3aRyzyS5kc6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731545373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQ0sGkeBD2/CR8cMxZ97I03Lf01zYka02x+9LkZznxU=; b=x0ostHFV3RSYlK5hwkNxz5XXT/BgDXk+RnK+Qluxtio7DiZHl3grZyWg4ddKB4c/L7UEXn avsKQZ6AqHwuB9Ch2kS822lXh0nDIHTsbh4k68bD32WQ6lJKknI2KwOedeWbRXSIz5zuAP JQIULqcQ2/WTQq4PkHRjKpTdX9pJOiEt5jYuq4WRDy8e/8zzp1GG8ujgrL/TfhrlipK6xJ JcgMXI3fMxdosrIIceNUHgMxnKpCUDiK00wqc2/qw5hzjitUlVl8EJTVliJesijAUSNm/N PgSw8WtJW2rI9C+7d56h7CNkMnjRwfq0GcHlhUd1StG+5o2/XfouHaAyeULrPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731545373; a=rsa-sha256; cv=none; b=p3oXmfK+KsymoGtd+W5BxcVFkJacaCeXLpTaCsP5xI5PHwZ7V5QZ5YKvZ7EllOu8bgwtZf Ud6dnD1Hium51iysFn8pip+W7OsrqFAp8tm1oEVfDOFPbm1/zFKM9iMoDW5FS0zRktUPmx ILJL5Nfyyv24N1HZmDsr9iB/AJrdlTZ2qzwUJtsQZZeNExzHHdoE77YQN9ykcjq3Hx1Ddn s8URoKH7XwlpzREKgCsVlRU2b0hB9DbRs8fPNM/m1TsbgclY+/WM52MZDQgFBWPrZKM+w3 wtpDzce4N55WIDh9rmq3AFKiY7e55aOjK/HdGItBrYcDD4PS1kapYAtG6Pdjhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XphPT4jZYzGsc; Thu, 14 Nov 2024 00:49: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 4AE0nXSf026853; Thu, 14 Nov 2024 00:49:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE0nXaJ026850; Thu, 14 Nov 2024 00:49:33 GMT (envelope-from git) Date: Thu, 14 Nov 2024 00:49:33 GMT Message-Id: <202411140049.4AE0nXaJ026850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: fcd8e27dcf38 - stable/14 - style.9: be explicit about booleans in comparisons List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fcd8e27dcf38532c4caf62f1610f389e5c9bd20c Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=fcd8e27dcf38532c4caf62f1610f389e5c9bd20c commit fcd8e27dcf38532c4caf62f1610f389e5c9bd20c Author: Ed Maste AuthorDate: 2021-05-27 15:25:32 +0000 Commit: Ed Maste CommitDate: 2024-11-14 00:49:21 +0000 style.9: be explicit about booleans in comparisons We prefer something like "if (count != 0)" over "if (count)" for non-boolean variables. This was implicit in examples, but was unclear for some new contributors. Attempt to clarify by providing a more explicit statement and example. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30507 (cherry picked from commit 93f7a3023c3147d42dbe3dab58a5a70779587ea5) --- share/man/man9/style.9 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index 52292b896add..75daea47ca96 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -756,9 +756,10 @@ not: !(p = f()) .Ed .Pp -Do not use +Do not test without a comparison, or with unary .Ic \&! -for tests unless it is a boolean, e.g., use: +(except for booleans). +For example, use: .Bd -literal if (*p == '\e0') .Ed @@ -768,6 +769,16 @@ not: if (!*p) .Ed .Pp +Prefer: +.Bd -literal +if (count != 0) +.Ed +.Pp +over: +.Bd -literal +if (count) +.Ed +.Pp Routines returning .Vt "void *" should not have their return values cast From nobody Thu Nov 14 01:53:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqg18Rnz5ctXD; Thu, 14 Nov 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqg0Nz2z44Ym; Thu, 14 Nov 2024 01:53:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=845CHvkgL2CGR48/2RqvPkg5AqI3PdinBToPabvhJFk=; b=DJ583icNS7qlwe5iYFHdp4mycPcCU9809e/BjQ6dsJoPV3oBCv7ze9mtL1vdRvxMbEMEoi /LqiqoeD4seOHy1cedvWbCWTVuKNgCH0CbKmFexP7gMsr7BAeKjiq9Neepl6Pn6fKEXatR KQbYPxu7COUdoMTO0vmE7+hdwqpXnGbBIQuZ3H9Oqc4rXfhi4drvhF8vZxIf2crVlQL+nA yjbEai6R4uU1fA+ob2AGO03OsGGdlfAwquG2iWuwc8HsNdLC+EhtGgEFoNJ5MNzbXWD5wZ 9H9B6+yH6LeerIx2nz07qcxFQF8weuXtTG5lGhvM8jc6Ee577Ijqqc4s9diszg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=845CHvkgL2CGR48/2RqvPkg5AqI3PdinBToPabvhJFk=; b=JXVKls2vxn6ElrHmagfuuhRC8YgcdVeZeCgwi6NzDTb/z5NhUASkTqUYgopVHuVLd6Vdj3 6eq8S4u3kDs9PTPE6mez5phXdWbtPDyb76RCArrNJDh1xa+hOEMtGFP/sv4RBrgD/MjTBJ 1+C6UG69izJ4RQWXTKdwdzP7ORnDd2yibumI9ocyzVzP7lGwNLH7MIQR9+MOJLUJJx0YmU XjDbBhEM3h1SWx3xVeB5OVeXalA4HtEwf1vkHtlRpUiGpvChQ8vI3owCX6pQY0OOL9d6UG yeobihDuh0rYP+gAu1vPImVgr/TX29Sv7knwVQ2gpnMDg3ss8htJ9NMP8tQFYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549231; a=rsa-sha256; cv=none; b=Uq+wVa5CvHN901tXcQyTJK/iXW90iKnKYxg3pLjt35lTde8fEqor+spbTWY+2vlc0aH9aT /9iulpPIfCMzuN15hOJEfoNR2JzKGj8WXTtrZNzZoCfhjvg6f6MRm5+qgTvVf0GqoBLx4b 5vSkbwhhaUxsRE8Jw2zJZ6ozmJzlo6Y9o6LaSZRGEkF6ewmogcbScjenA/Eq7OH/40HkXv dUfl9T1xW1wdJs4BeqwrqWvDA/RzXTOldSa2mBZswEbCpm1wBY3wTucUXxraNzSBPRm+cP Un52b4cE+9VdxweaGTeuYqcrFlT/gVUCC4AJfMMNMdfDjedpOfD6Zak7q+aWNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqg00MmzJc8; Thu, 14 Nov 2024 01:53: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 4AE1roIC054962; Thu, 14 Nov 2024 01:53:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rodJ054959; Thu, 14 Nov 2024 01:53:50 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:50 GMT Message-Id: <202411140153.4AE1rodJ054959@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: 06733ceca677 - stable/14 - LinuxKPI: lockdep fix #includes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 06733ceca677b2d8ea2ae738bbb624d510fc9df8 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=06733ceca677b2d8ea2ae738bbb624d510fc9df8 commit 06733ceca677b2d8ea2ae738bbb624d510fc9df8 Author: Bjoern A. Zeeb AuthorDate: 2024-11-02 01:21:52 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:52:01 +0000 LinuxKPI: lockdep fix #includes Add sys/sytm.h for __diagused which unbreaks compilation of drm-kmod 5.10-lts on main. Sponsored by: The FreeBSD Foundation Reported by: Evgenii Khramtsov PR: 282479 Fixes: 5c92f84bb607 (cherry picked from commit 9b2705121ba230bf71a1509cc928f0481dfbf31c) --- sys/compat/linuxkpi/common/include/linux/lockdep.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/lockdep.h b/sys/compat/linuxkpi/common/include/linux/lockdep.h index 70a4e45867fe..93fe445f7057 100644 --- a/sys/compat/linuxkpi/common/include/linux/lockdep.h +++ b/sys/compat/linuxkpi/common/include/linux/lockdep.h @@ -30,6 +30,7 @@ #ifndef _LINUXKPI_LINUX_LOCKDEP_H_ #define _LINUXKPI_LINUX_LOCKDEP_H_ +#include #include #include From nobody Thu Nov 14 01:53:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqh2jSzz5ctZ2; Thu, 14 Nov 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqh1hbVz44wm; Thu, 14 Nov 2024 01:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gZztAntIc5K/pLcInkqjggzQGB1US4DJ3HFcXjnUVjA=; b=dqs5m27W55m1imFImuivj8c/yZ1VFet+OPaokuZ8owd283NTEFweQ+SJ+z6YCXYZ7bujbH boHB9w7xOb3xcGYvH8putR4JTAwvBgfwKC71YVn447WtcmwOV4bBWc5WFA54kSkxeWbi1F 5NCFrF9PQAiBgi7/44Os/WlJNUbB/RZ0xv/Vt0ZwbHdd7fF7QovyOmXN1rolt056JPA0HP ZWzbwG0Yf6kGEqt3DYdghjUmzChnhXMISj/r0DCOtKGc2BM6NjOUI7mAGd4K0tGEPS7vGa 5ZwBcD5J38eYXLhc5ma6ORf7sYvInvitNrVM77Klm1Ac0I5cAP2IzJUk2z8I9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gZztAntIc5K/pLcInkqjggzQGB1US4DJ3HFcXjnUVjA=; b=KuaMNr06SQ2cB4R3rPQiQsJ29SC8hALcDNx+xXDfFwAYO4j88xmrwxE4pF9xVPO7vtOTum FyHSAErjN/USeRfP68IBJ1uPqTO7kYsQHQeGBwhUWGt0gHkHcGU8JNMDHPTFVEL7ztrvI9 Dg6aYVIyMVxftbPIx9VnUEtZB1VKWeQgso+hJblRDus53P15xNd0VDnXABwDdNkQP4SUDp nX8bSWCTlPoXZUvUNL5sRfWXjLBL5B+6luxVZjkP1smwVjfxwvFWDHaCYxdiBcMJT1wLfO xoFnPQdBor5bbz2W8KfhHHP1Vdx7AWunyIH8AVPgrR5496FOChmSCwDelnhtHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549232; a=rsa-sha256; cv=none; b=xJolGogLFf2o09V+fwh49xDAPIbxzc1pNVm+fmLsTYFVH73QNbc5It+yaPrJg4w6TJsyRe 6lVuSUdgD/6SeAyzL8ON5DAKblXKBUAqA+UkT8PJxshGZiBMvABZR4TzqlvIn+7hFuEMuv MYSjII8M0WclhL+10gFzgawISStLKg0floKemTIFeLXxJw4o14Q6RmkrEngJTL16ZLidxh aIiochuWfLSmpuQ/ZK5vK8lUIXS+KCdQeXzf7MGyk/3c1Q6DOftESumIun/BGHpjH2xzgj rtrfZhzmrNTXnhSlmdLluXsKqRW/3Uw4kSBVvg8M9UCX3nKW1TnTj73kZfB7QQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqh1HYRzK97; Thu, 14 Nov 2024 01:53: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 4AE1rqFx055028; Thu, 14 Nov 2024 01:53:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rqTN055025; Thu, 14 Nov 2024 01:53:52 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:52 GMT Message-Id: <202411140153.4AE1rqTN055025@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: f21cb43c91ef - stable/14 - release: add wifi-firmware-kmod@release to ship as package List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f21cb43c91ef5ff54173b15f550e711c9f87eec6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f21cb43c91ef5ff54173b15f550e711c9f87eec6 commit f21cb43c91ef5ff54173b15f550e711c9f87eec6 Author: Bjoern A. Zeeb AuthorDate: 2024-11-02 23:47:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:52:01 +0000 release: add wifi-firmware-kmod@release to ship as package Add the flavored port for all the supported wireless drivers we recently added support for. Sponsored by: The FreeBSD Foundation Pointed out by: cperciva (as part of the set of changes) Reviewed by: cperciva (#releng) Differential Revision: https://reviews.freebsd.org/D47406 (cherry picked from commit 2483a2d36803896d27861c03e1f53dd9546b1e73) --- release/scripts/pkg-stage.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index 5742f84b0258..8f96bd5cf5a1 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -19,6 +19,7 @@ graphics/drm-515-kmod misc/freebsd-doc-all net/mpd5 net/rsync +net/wifi-firmware-kmod@release ports-mgmt/pkg shells/bash shells/zsh From nobody Thu Nov 14 01:53:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqj68qnz5ctZ3; Thu, 14 Nov 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqj30hXz44rY; Thu, 14 Nov 2024 01:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wfnO1MWX5hkg9VvJXhmshYKHQAzN37tCZrDvQf59rEM=; b=v4np3c4IdFORJH34D67COYXFdEHbES8q93p70qFnLFAXAGqVQL/Y9M1EBNtsiXHe8sfkzg 632rI+eWVGQb3W+Y5hAzjCoXIo507o3LOAMmSeCu9K5eese9bB+tKA4zEfwHp4DT9lnWi4 aqaZhGGcEGEuxA6EaFkep472bvCC//0BWRE+NC9LsExYOsI2mCMY0bF3Grxfzi+caVCz0I Ssfj4UipbSndop9LQ6aRZFZfu0KGJ3WRIxDmImjJT2xHiJKv8TH773wGBzC3ZJZnxCeMPu 9E5xTW0VfZZ5fUwfwVYlcwy6BPEFCr0s54DcWYyJldCyefSvuBACEc+IMpuquQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wfnO1MWX5hkg9VvJXhmshYKHQAzN37tCZrDvQf59rEM=; b=haqQdYk/uQ8sAxn0UNrW/K6C9FoZ6zaC55MIZ7p7edG+CBYDDxFthXugrB2w6ovxL1+gIJ AfZ98DrB0FqmGvY/q9JPDOEEQg4nS9Q83UCweRrFsSLeIe8MkmsiEa8nkcJhHUhDumz19Y UCuKvBCcfNHK83FzKCGxH/2HwJ8YpiGTk5xtrAGNXiYgJZjX1eaLac2bK7zKG/nG603c8F Q5X2MyFonqZ1j6E/zjDx9isRf8w3uQ19KxGWpT2sqQF5d3M28Qq69ge4ueqn02reXW70W+ YPCVWGFzELF1Vz5F6E+mr8522zabtSA4aSh0zN1BHqyeG9nQasSsVHMN1lY6sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549233; a=rsa-sha256; cv=none; b=rQi241942ZZm/LDfJpmElF7mODawVWzXVfbKkvizzq1hTA8klheczpOjZ3Bpa3JNS42m9F 9ITo/lO89CSdgXgzSSiqvkIEXo/HoGjouoCRkXIKar6WwKf2zy9eS7T9brUt7eU4VgV/OT Xl6bVTlKQsaiMCGi+swLUcxv/PmD6BxO7O0irsrOUmS9Foo2v9YdycnzkcpWRt1VJTovnS DjSyHCotWWLJrGhY1hJwWMWTs5ZFf48OA8NoMdgfMZRyntsLkgko8M48b0AG+b8sKFnHaU DrhLsoFQD9yPb6GgyJ2BA6Pd/jwF0GhFEfSx1/HjzyNbgjElUDvf/auwnDZnLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqj2HrgzK00; Thu, 14 Nov 2024 01:53: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 4AE1rr6A055077; Thu, 14 Nov 2024 01:53:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rrsO055074; Thu, 14 Nov 2024 01:53:53 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:53 GMT Message-Id: <202411140153.4AE1rrsO055074@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: 814a49d65ace - stable/14 - fwget: add -q for quiet output List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 814a49d65ace83b7a955cca32ff243f4abe7cd50 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=814a49d65ace83b7a955cca32ff243f4abe7cd50 commit 814a49d65ace83b7a955cca32ff243f4abe7cd50 Author: Bjoern A. Zeeb AuthorDate: 2024-11-04 23:59:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:53:00 +0000 fwget: add -q for quiet output Introduce -q to quieten other output (unless -v is also given). pkg-install(8) currently has no option to allow skipping unavail packages but it will just fail. We would realy want to try to install as much firmware found as possible from the installer. Work around this by doing one firmware package at a time. For that it is highly helpful to be able to query (or possibly re-query) all outstanding fimrware packages. -q together with -n only shows each package to be installed one by line. Once https://github.com/freebsd/pkg/issues/2195 will be implemented we could undo this part of the change and future changes to the installer and use the new option for pkg-install(8) there. While here switch to getopts so -qn works and not just -q -n. Sponsored by: The FreeBSD Foundation Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D47445 (cherry picked from commit 1eb3f15c149b9a2e5b6f5e10aed454fc85945bbd) --- usr.sbin/fwget/fwget.sh | 48 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/usr.sbin/fwget/fwget.sh b/usr.sbin/fwget/fwget.sh old mode 100644 new mode 100755 index 154fb7dc92e1..3e2181e53b73 --- a/usr.sbin/fwget/fwget.sh +++ b/usr.sbin/fwget/fwget.sh @@ -38,7 +38,8 @@ Supported subsystems pci Options: - -n -- Do not install package, only print the results + -n -- Do not install packages, only print the results + -q -- Quiet mode. If used with -n only prints a package a line -v -- More verbose EOF exit 1 @@ -75,22 +76,27 @@ addpkg() } DRY_RUN=n +QUIET=n VERBOSE=n -while [ $# -gt 0 ]; do - case $1 in - -n) - DRY_RUN=y - ;; - -v) - VERBOSE=y - ;; - *) - subsystems="${subsystems} $1" - ;; +while getopts ":nqv" _arg; do + case ${_arg} in + n) + DRY_RUN=y + ;; + q) + QUIET=y + ;; + v) + VERBOSE=y + ;; + ?) + usage + ;; esac - shift done +shift $(($OPTIND - 1)) +subsystems="$@" # Default searching PCI subsystem if [ -z "${subsystems}" ]; then @@ -112,13 +118,25 @@ done case "${packages}" in ""|^[[:space:]]*$) - echo "No firmware packages to install." + if [ "${QUIET}" != "y" ]; then + echo "No firmware packages to install." + fi exit 0 ;; esac -echo "Needed firmware packages: '${packages}'" +if [ "${QUIET}" != "y" ]; then + echo "Needed firmware packages: '${packages}'" +fi if [ "${DRY_RUN}" = "y" ]; then + if [ "${QUIET}" = "y" ]; then + for pkg in ${packages}; do + case "${pkg}" in + ""|^[[:space:]]*$) continue ;; + esac + echo "${pkg}" + done + fi exit 0 fi From nobody Thu Nov 14 01:53:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqk68Yqz5ctD6; Thu, 14 Nov 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqk3ZMpz44WJ; Thu, 14 Nov 2024 01:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vxtihlPNRgopHKGEcO2C6VU6A13g9yeF99uV46n42wM=; b=a3aGxV9oMI4Jd3bouR54jf1k6TO/dCv+HHRJ9v579ZgsxnvXEAkVrB85MozzDTRd7qrYVh S63Kn+VhjWkYWQ4qm5DHVsZEWUOTXKTY7/CeDQzqoJ8alpgVo5uYNTBYJR6cLoPWyEbtap oUMcYWDMlN1XyJIVSsMMdxxpzVHK8qNLlb85tEPjv3ReNMgXIY/P2+AbWLhcB1d6MYzNV1 v2NeydTTOk2ffOD3eFxup1re6iY+Lgpbg/aQPV0eM1hSOnUJaLr2yYg8RmP7nN5zK91VoB eGEzwTAiPdGy5TPSBOMHwkBbQ86cHHal29igQjd+tNdziVfuySsJtTWyZQpzyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vxtihlPNRgopHKGEcO2C6VU6A13g9yeF99uV46n42wM=; b=NE195twrYE8MBMIWOaigtbAkAIClDPOPSvti6efXCTNnZDczMK4wYNK0/YOvkrXd+SB0vm ECTMa4JVC4o+4E7qbyg4WOimtJAqSIgtvP2l9U9kObFBCOa9+Ac1qnWkDAgIAyS1DNK06a rdND/asOAdDr6nsW3IgULm2C6Vj/3bz33oGPC93hqLeqb47uKMO7tjNlYK7Tt04NLu3rWU pJYNzKf9mda+D9HcTBlFUZ6C9IGugvJJaRDhya7gCOTZ7QXuWMQqdZqI7wkpGzXyyXfnNG C0fb146v72UkjfB7brjcDNQPhMbSTXD5Z+2oRiKxJl1SjfmuMY4ICzvMzBt4WA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549234; a=rsa-sha256; cv=none; b=EKpgvurMiXSp9nIvTatDscgODI5ym33jPf5EaojPgSN2+6uVvIWq5uHEnJ39qE4KYKK6BZ pMXaVHS+Bdc24et3siESgMDQK6ONCKs9T7N9Kl+YPf9cA7UHrHEwlrfOQYSYI2qOEVxSCp NeeQv8zKi/cbWDgMF/aFdGPhQLpQkyjyGHju2AxzDsFHnT1ZJ56VXous4Ri6Xm2wF2pP9C d66AKHxeFlX88wHUdJxjVmDiu4QeXhc6j7qs2nyfq7f0bnfR2VxE7i+mwgmzynPpQgsfsY +hWHysiaQEUrrZ6Jm801rNY5BGSm1kPeBgb8bh8YvKgkLGhu5wZWwIfjPwi/Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqk3BMMzK6k; Thu, 14 Nov 2024 01:53: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 4AE1rsX4055134; Thu, 14 Nov 2024 01:53:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rsKt055131; Thu, 14 Nov 2024 01:53:54 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:54 GMT Message-Id: <202411140153.4AE1rsKt055131@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: 6c140ba1266b - stable/14 - man4: wifi manuals: revise .Sh HARDWARE + polish some List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6c140ba1266b7957e1c2861e6ce41d9b88381f8a Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6c140ba1266b7957e1c2861e6ce41d9b88381f8a commit 6c140ba1266b7957e1c2861e6ce41d9b88381f8a Author: Alexander Ziaee AuthorDate: 2024-11-10 19:28:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:53:11 +0000 man4: wifi manuals: revise .Sh HARDWARE + polish some The Release Hardware Notes are generated from hardware sections in the manual pages. Create or organize these sections in Wi-Fi driver manuals for information flow, and perform minor maintenance on them while here. After some testing, we have determined that a compact column list is the best for a single column listing in the hardware release notes. This makes very clean subsections and is for some reason denser than using a tagged list. This adds the long requested conversion from netmask to cidr examples. These examples probably shouldn't even be here, but that is a discussion for another day. X-MFC with: 8f1a2d507e25e77d20a5 Reported by: bz (relnotes generation, cidr, test-net-1 ip4addr) Reported by: grahamperrin (HARDWARE order mentioned in fdp-primer) Reported by: Graham Percival (don't prompt) Reviewed by: bz (anything wrong likely is my polishing fault; incl. iwm.4) Differential Revision: https://reviews.freebsd.org/D47508 (cherry picked from commit 8f1a2d507e25e77d20a5d7675dc8eee9b83d3570) (cherry picked from commit 93b30f1b6caec5083efacf3fb5049b72e75cc09e) --- share/man/man4/ipw.4 | 39 +++++---- share/man/man4/iwi.4 | 47 +++++++---- share/man/man4/iwlwifi.4 | 67 ++++++++++----- share/man/man4/iwm.4 | 96 ++++++++++++--------- share/man/man4/mt7915.4 | 38 ++++++--- share/man/man4/mt7921.4 | 38 ++++++--- share/man/man4/otus.4 | 94 +++++++++++++-------- share/man/man4/ral.4 | 27 +++--- share/man/man4/rsu.4 | 83 ++++++++++-------- share/man/man4/rtw88.4 | 60 +++++++------ share/man/man4/rtw89.4 | 63 ++++++++------ share/man/man4/rtwn.4 | 104 ++++++++++++++--------- share/man/man4/rtwn_pci.4 | 26 ++++-- share/man/man4/rtwn_usb.4 | 21 +++-- share/man/man4/rum.4 | 23 ++--- share/man/man4/run.4 | 211 ++++++++++++++++++++++++++++++---------------- share/man/man4/ural.4 | 30 ++++--- share/man/man4/urtw.4 | 44 +++++----- share/man/man4/zyd.4 | 147 +++++++++++++++++++++----------- 19 files changed, 777 insertions(+), 481 deletions(-) diff --git a/share/man/man4/ipw.4 b/share/man/man4/ipw.4 index c1010b798290..0ebee0f1e6eb 100644 --- a/share/man/man4/ipw.4 +++ b/share/man/man4/ipw.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004-2006 .\" Damien Bergamini . All rights reserved. .\" @@ -23,12 +26,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 15, 2015 +.Dd November 10, 2024 .Dt IPW 4 .Os .Sh NAME .Nm ipw -.Nd "Intel PRO/Wireless 2100 IEEE 802.11 driver" +.Nd Intel PRO/Wireless 2100 IEEE 802.11a/b driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -57,19 +60,14 @@ legal.intel_ipw.license_ack=1 .Sh DESCRIPTION The .Nm -driver provides support for the -.Tn Intel -PRO/Wireless 2100 MiniPCI network adapter. -.Nm -supports +driver provides support for Intel PRO/Wireless 2100 802.11a/b +wireless network devices in .Cm station , .Cm adhoc , and .Cm monitor mode operation. Only one virtual interface may be configured at any time. -For more information on configuring this device, see -.Xr ifconfig 8 . .Pp This driver requires the firmware built with the .Nm ipwfw @@ -80,28 +78,34 @@ must be agreed by adding the following line to .Xr loader.conf 5 : .Pp .Dl "legal.intel_ipw.license_ack=1" +.Pp +For more information on configuring this device, see +.Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver provides support for the +Intel PRO/Wireless 2100a/b MiniPCI network adapter. .Sh FILES -.Bl -tag -width ".Pa /usr/share/doc/legal/intel_ipw.LICENSE" -compact +.Bl -tag -width "/usr/share/doc/legal/intel_ipw.LICENSE" -compact .It Pa /usr/share/doc/legal/intel_ipw.LICENSE .Nm firmware license .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): -.Bd -literal -offset indent -ifconfig wlan create wlandev ipw0 inet 192.168.0.20 \e - netmask 0xffffff00 -.Ed +.Pp +.Dl ifconfig wlan create wlandev ipw0 inet 192.0.2.20/24 .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ar my_net : .Pp -.Dl "ifconfig wlan create wlandev ipw0 ssid my_net up" +.Dl ifconfig wlan create wlandev ipw0 ssid my_net up .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev ipw0 ssid my_net \e - wepmode on wepkey 0x1234567890 weptxkey 1 up + wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Pp Join a specific BSS network with 128-bit WEP encryption: @@ -144,6 +148,7 @@ This should not happen. .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , +.Xr networking 7 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh AUTHORS diff --git a/share/man/man4/iwi.4 b/share/man/man4/iwi.4 index 9de9b3e6c490..31ef4ec83d32 100644 --- a/share/man/man4/iwi.4 +++ b/share/man/man4/iwi.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004-2006 .\" Damien Bergamini . All rights reserved. .\" @@ -23,12 +26,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 15, 2015 +.Dd November 10, 2024 .Dt IWI 4 .Os .Sh NAME .Nm iwi -.Nd "Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 driver" +.Nd Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 network driver .Sh SYNOPSIS To compile this driver into the kernel, include the following lines in your @@ -57,19 +60,14 @@ legal.intel_iwi.license_ack=1 .Sh DESCRIPTION The .Nm -driver provides support for -.Tn Intel -PRO/Wireless 2200BG/2915ABG MiniPCI and 2225BG PCI network adapters. -.Nm -supports +driver provides support for Intel PRO/Wireless 2200BG/2225BG/2915ABG +IEEE 802.11a/b/g wireless network devices in .Cm station , .Cm adhoc , and .Cm monitor mode operation. Only one virtual interface may be configured at any time. -For more information on configuring this device, see -.Xr ifconfig 8 . .Pp This driver requires the firmware built with the .Nm iwifw @@ -80,28 +78,42 @@ must be agreed by adding the following line to .Xr loader.conf 5 : .Pp .Dl "legal.intel_iwi.license_ack=1" +.Pp +For more information on configuring this device, see +.Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver supports the following wireless network devices: +.Pp +.Bl -bullet -compact +.It +Intel PRO/Wireless 2200BG MiniPCI Network Connection +.It +Intel PRO/Wireless 2225BG PCI Network Connection +.It +Intel PRO/Wireless 2915ABG MiniPCI Network Connection +.El .Sh FILES -.Bl -tag -width ".Pa /usr/share/doc/legal/intel_iwi.LICENSE" -compact +.Bl -tag -width "/usr/share/doc/legal/intel_iwi.LICENSE" -compact .It Pa /usr/share/doc/legal/intel_iwi.LICENSE .Nm firmware license .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): -.Bd -literal -offset indent -ifconfig wlan create wlandev iwi0 inet 192.168.0.20 \e - netmask 0xffffff00 -.Ed +.Pp +.Dl ifconfig wlan create wlandev iwi0 inet 192.0.2.20/24 .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ar my_net : .Pp -.Dl "ifconfig wlan create wlandev iwi0 ssid my_net up" +.Dl ifconfig wlan create wlandev iwi0 ssid my_net up .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev iwi0 ssid my_net \e - wepmode on wepkey 0x1234567890 weptxkey 1 up + wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Pp Join a specific BSS network with 128-bit WEP encryption: @@ -149,6 +161,7 @@ This should not happen. .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , +.Xr networking 7 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh AUTHORS diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index ddeeb549d0f4..b4dce91f1ee4 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -1,4 +1,6 @@ .\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2021-2024 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from @@ -25,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 30, 2024 +.Dd November 10, 2024 .Dt IWLWIFI 4 .Os .Sh NAME @@ -54,11 +56,11 @@ It is discouraged to load the driver from .Sh DESCRIPTION The .Nm -driver is derived from Intel's Linux iwlwifi driver +driver provides support for Intel Wireless network devices. .Pp .Nm -will be a successor to -.Xr iwm 4 +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 .Xr iwn 4 @@ -66,33 +68,51 @@ driver which supports older chipsets. .Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. -.Em linuxkpi_wlan +.Sy linuxkpi_wlan and -.Em linuxkpi +.Sy linuxkpi compat framework to bridge between the Linux and native .Fx driver code as well as to the native .Xr net80211 4 wireless stack. -.Pp -While -.Nm -supports all 802.11 a/b/g/n/ac/ax -the compatibility code currently only supports 802.11 a/b/g modes. -Support for 802.11 n/ac is to come. 802.11ax and 6Ghz support are planned. .Sh HARDWARE The .Nm driver supports PCIe devices from the -.Em mvm -sub-driver with the following chipsets: +.Sy mvm +sub-driver with the following chipset generations: .Pp +.\" awk -F\\t '{ print $5 }' ~/tmp/iwlwifi_pci_ids_name.txt | \ +.\" grep -v undefined | sort -V | uniq | grep -v ^$ | \ +.\" awk '{ printf ".It\n%s\n", $0 }' .Bl -bullet -compact -.\" --------------------------------------------------------------------- +.It +7000 +.It +8000 +.It +9000 +.It +22000 +.It +AX210 +.It +BZ +.It +SC +.El +.Pp +These chipset generations match the following common device names: +.Pp +.Bl -bullet -compact +.\" -------------------------------------------------------------------- .\" This list is manually generated from a sysctl and post-processing. .\" Edits will be overwritten on next update. -.\" --------------------------------------------------------------------- +.\" awk -F\\t '{ if ($2 == "") { next; } if (seen[$2]) { next; } \ +.\" seen[$2]=1; printf ".It\n%s\n", $2; }' iwlwifi_pci_ids_name.txt +.\" -------------------------------------------------------------------- .It Intel(R) Dual Band Wireless AC 7260 .It @@ -209,15 +229,15 @@ Intel(R) TBD Bz device Intel(R) Wi-Fi 6 AX204 160MHz .It Intel(R) TBD Sc device -.\" --------------------------------------------------------------------- +.\" -------------------------------------------------------------------- .El -.Sh BUGS -Certainly. .Sh SEE ALSO .Xr iwlwififw 4 , .Xr iwm 4 , .Xr iwn 4 , .Xr wlan 4 , +.Xr networking 7 , +.Xr fwget 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh HISTORY @@ -225,3 +245,12 @@ The .Nm driver first appeared in .Fx 13.1 . +.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. diff --git a/share/man/man4/iwm.4 b/share/man/man4/iwm.4 index b810f7016e54..5249959cd3f6 100644 --- a/share/man/man4/iwm.4 +++ b/share/man/man4/iwm.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004-2006 .\" Damien Bergamini . All rights reserved. .\" @@ -23,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 20, 2024 +.Dd November 10, 2024 .Dt IWM 4 .Os .Sh NAME @@ -31,8 +34,7 @@ .Nd Intel IEEE 802.11ac wireless network driver .Sh SYNOPSIS To compile this driver into the kernel, -include the following lines in your -kernel configuration file: +include the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device iwm" .Cd "device pci" @@ -79,55 +81,59 @@ iwm9260fw_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for: -.Pp -.Bl -tag -width Ds -offset indent -compact -.It Intel Dual Band Wireless AC 3160 -.It Intel Dual Band Wireless AC 3165 -.It Intel Dual Band Wireless AC 3168 -.It Intel Dual Band Wireless AC 7260 -.It Intel Dual Band Wireless AC 7265 -.It Intel Dual Band Wireless AC 8260 -.It Intel Dual Band Wireless AC 8265 -.It Intel Dual Band Wireless AC 9260 -.It Intel Dual Band Wireless AC 9270 -.It Intel Dual Band Wireless AC 946X -.It Intel Dual Band Wireless AC 9560 -.El -.Pp -.Nm -supports +driver supports running most Intel Wireless AC series network devices in .Cm station mode operation. Only one virtual interface may be configured at any time. -For more information on configuring this device, see -.Xr ifconfig 8 . -.Pp This driver requires the firmware built with the -.Nm iwmfw +.Xr iwmfw 4 module to work. .Pp -Currently, +For more information on configuring this device, see +.Xr ifconfig 8 . +.Sh HARDWARE +The .Nm -only supports 802.11b and 802.11g modes. -It will not associate to access points that are configured to operate only -in 802.11n or 802.11ac modes. +driver supports the following PCIe Wi-Fi devices: +.Pp +.Bl -bullet -compact +.It +Intel Dual Band Wireless AC 3160 +.It +Intel Dual Band Wireless AC 3165 +.It +Intel Dual Band Wireless AC 3168 +.It +Intel Dual Band Wireless AC 7260 +.It +Intel Dual Band Wireless AC 7265 +.It +Intel Dual Band Wireless AC 8260 +.It +Intel Dual Band Wireless AC 8265 +.It +Intel Dual Band Wireless AC 9260 +.It +Intel Dual Band Wireless AC 9270 +.It +Intel Dual Band Wireless AC 946X +.It +Intel Dual Band Wireless AC 9560 +.El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): -.Bd -literal -offset indent -ifconfig wlan create wlandev iwm0 inet 192.168.0.20 \e - netmask 0xffffff00 -.Ed +.Pp +.Dl ifconfig wlan create wlandev iwm0 inet 192.0.2.20/24 .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ar my_net : .Pp -.Dl "ifconfig wlan create wlandev iwm0 ssid my_net up" +.Dl ifconfig wlan create wlandev iwm0 ssid my_net up .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev iwm0 ssid my_net \e - wepmode on wepkey 0x1234567890 weptxkey 1 up + wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Pp Join a specific BSS network with 128-bit WEP encryption: @@ -155,15 +161,16 @@ Verify the .Xr iwmfw 4 firmware module is present. .It "iwm%d: could not load boot firmware" -An attempt to upload the boot firmware image to the onboard microcontroller -failed. +An attempt to upload the boot firmware image +to the onboard microcontroller failed. This should not happen. .It "iwm%d: could not load microcode" -An attempt to upload the microcode image to the onboard microcontroller failed. +An attempt to upload the microcode image +to the onboard microcontroller failed. This should not happen. .It "iwm%d: could not load main firmware" -An attempt to upload the main firmware image to the onboard microcontroller -failed. +An attempt to upload the main firmware image +to the onboard microcontroller failed. This should not happen. .El .Sh SEE ALSO @@ -174,5 +181,12 @@ This should not happen. .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , +.Xr networking 7 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 +.Sh BUGS +Currently, +.Nm +only supports 802.11a/b/g modes. +It will not associate to access points that are configured to operate +only in 802.11n/ac modes. diff --git a/share/man/man4/mt7915.4 b/share/man/man4/mt7915.4 index eece142c11a5..ba67a77af735 100644 --- a/share/man/man4/mt7915.4 +++ b/share/man/man4/mt7915.4 @@ -1,4 +1,6 @@ .\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2023-2024 Bjoern A. Zeeb .\" .\" Redistribution and use in source and binary forms, with or without @@ -22,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 30, 2024 +.Dd November 10, 2024 .Dt MT7915 4 .Os .Sh NAME @@ -50,7 +52,9 @@ It is discouraged to load the driver from .Sh DESCRIPTION The .Nm -driver is derived from MediaTek's Linux mt76 driver. +driver provides support for MediaTek MT7915E wireless network devices. +.Nm +is derived from MediaTek's Linux mt76 driver. .Pp This driver requires firmware to be loaded before it will work. The package @@ -62,36 +66,34 @@ Otherwise no .Xr wlan 4 interface can be created using .Xr ifconfig 8 . +One can use +.Xr fwget 8 +to install the correct firmware package. .Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. -.Em linuxkpi_wlan +.Sy linuxkpi_wlan and -.Em linuxkpi +.Sy linuxkpi compat framework to bridge between the Linux and native .Fx driver code as well as to the native .Xr net80211 4 wireless stack. -.Pp -While -.Nm -supports all 802.11 a/b/g/n/ac and ax -the compatibility code currently only supports 802.11 a/b/g modes. -Support for 802.11 n/ac is to come. .Sh HARDWARE The .Nm driver supports PCIe devices with the following chipsets: .Pp -.Bl -tag -width Ds -offset indent -compact -.It MediaTek MT7915E +.Bl -bullet -offset indent -compact +.It +MediaTek MT7915E .El -.Sh BUGS -Certainly. .Sh SEE ALSO .Xr wlan 4 , +.Xr networking 7 , +.Xr fwget 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh HISTORY @@ -99,3 +101,11 @@ The .Nm driver first appeared in .Fx 14.0 . +.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. diff --git a/share/man/man4/mt7921.4 b/share/man/man4/mt7921.4 index d28dc520de6b..fe9efa77e35d 100644 --- a/share/man/man4/mt7921.4 +++ b/share/man/man4/mt7921.4 @@ -1,4 +1,6 @@ .\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2023-2024 Bjoern A. Zeeb .\" .\" Redistribution and use in source and binary forms, with or without @@ -22,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 30, 2024 +.Dd November 10, 2024 .Dt MT7921 4 .Os .Sh NAME @@ -50,7 +52,9 @@ It is discouraged to load the driver from .Sh DESCRIPTION The .Nm -driver is derived from MediaTek's Linux mt76 driver. +driver provides support for MediaTek MT7921E wireless network devices. +.Nm +is derived from MediaTek's Linux mt76 driver. .Pp This driver requires firmware to be loaded before it will work. The package @@ -62,36 +66,34 @@ Otherwise no .Xr wlan 4 interface can be created using .Xr ifconfig 8 . +One can use +.Xr fwget 8 +to install the correct firmware package. .Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. -.Em linuxkpi_wlan +.Sy linuxkpi_wlan and -.Em linuxkpi +.Sy linuxkpi compat framework to bridge between the Linux and native .Fx driver code as well as to the native .Xr net80211 4 wireless stack. -.Pp -While -.Nm -supports all 802.11 a/b/g/n/ac and ax -the compatibility code currently only supports 802.11 a/b/g modes. -Support for 802.11 n/ac is to come. .Sh HARDWARE The .Nm driver supports PCIe devices with the following chipsets: .Pp -.Bl -tag -width Ds -offset indent -compact -.It MediaTek MT7921E +.Bl -bullet -offset indent -compact +.It +MediaTek MT7921E .El -.Sh BUGS -Certainly. .Sh SEE ALSO .Xr wlan 4 , +.Xr networking 7 , +.Xr fwget 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh HISTORY @@ -99,3 +101,11 @@ The .Nm driver first appeared in .Fx 14.0 . +.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 to come. diff --git a/share/man/man4/otus.4 b/share/man/man4/otus.4 index 1e2d1e0a402f..06f73bfe3338 100644 --- a/share/man/man4/otus.4 +++ b/share/man/man4/otus.4 @@ -1,3 +1,5 @@ +.\"- +.\" SPDX-License-Identifier: ISC .\" .\" Copyright (c) 2015 Adrian Chadd .\" @@ -13,12 +15,12 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd September 25, 2015 +.Dd November 10, 2024 .Dt OTUS 4 .Os .Sh NAME .Nm otus -.Nd Atheros AR9170 USB IEEE 802.11a/b/g/n wireless network device +.Nd Atheros AR9170 USB IEEE 802.11a/b/g/n wireless network driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: @@ -79,6 +81,51 @@ The .Nm driver can be configured at runtime with .Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver provides support for Atheros AR9170 USB IEEE 802.11b/g/n +wireless network adapters, including: +.Pp +.Bl -bullet -offset indent -compact +.It +3Com 3CRUSBN275 +.It +Arcadyan WN7512 +.\" .It AVM FRITZ!WLAN USB Stick N +.It +CACE AirPcap \&Nx +.It +D-Link DWA-130 rev \&D1 +.It +D-Link DWA-160 rev A1 +.It +D-Link DWA-160 rev A2 +.It +IO-Data WN-GDN/US2 +.It +NEC Aterm WL300NU-G +.It +Netgear WNDA3100 +.It +Netgear WN111 v2 +.It +Planex GW-US300 +.It +SMC Networks SMCWUSB-N2 +.It +TP-Link TL-WN821N v1, v2 +.It +Ubiquiti SR71 USB +.It +Unex DNUA-81 +.It +Z-Com UB81 +.It +Z-Com UB82 +.It +ZyXEL NWD-271N +.El .Sh FILES The driver needs at least version 1.0 of the following firmware files, which is loaded when an interface is attached: @@ -87,49 +134,20 @@ which is loaded when an interface is attached: .It Pa /boot/kernel/otusfw-init.ko .It Pa /boot/kernel/otusfw-main.ko .El -.Sh HARDWARE -The -.Nm -driver provices support for Atheros AR9170 USB IEEE 802.11b/g/n -wireless network adapters, including: -.Pp -.Bl -tag -width Ds -offset indent -compact -.It 3Com 3CRUSBN275 -.It Arcadyan WN7512 -.\" .It AVM FRITZ!WLAN USB Stick N -.It CACE AirPcap \&Nx -.It D-Link DWA-130 rev \&D1 -.It D-Link DWA-160 rev A1 -.It D-Link DWA-160 rev A2 -.It IO-Data WN-GDN/US2 -.It NEC Aterm WL300NU-G -.It Netgear WNDA3100 -.It Netgear WN111 v2 -.It Planex GW-US300 -.It SMC Networks SMCWUSB-N2 -.It TP-Link TL-WN821N v1, v2 -.It Ubiquiti SR71 USB -.It Unex DNUA-81 -.It Z-Com UB81 -.It Z-Com UB82 -.It ZyXEL NWD-271N -.El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): -.Bd -literal -offset indent -ifconfig wlan create wlandev otus0 inet 192.168.0.20 \e - netmask 0xffffff00 -.Ed +.Pp +.Dl ifconfig wlan create wlandev otus0 inet 192.0.2.20/24 .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ar my_net : .Pp -.Dl "ifconfig wlan create wlandev otus0 ssid my_net up" +.Dl ifconfig wlan create wlandev otus0 ssid my_net up .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev otus0 ssid my_net \e - wepmode on wepkey 0x1234567890 weptxkey 1 up + wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Sh DIAGNOSTICS .Bl -diag @@ -152,7 +170,9 @@ The file might be missing or corrupted. The .Nm driver first appeared in -.Ox 4.6 . +.Ox 4.6 +and +.Fx 11 . .Sh AUTHORS .An -nosplit The diff --git a/share/man/man4/ral.4 b/share/man/man4/ral.4 index dbdc017dc33a..ad385e5f09d6 100644 --- a/share/man/man4/ral.4 +++ b/share/man/man4/ral.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: ISC +.\" .\" Copyright (c) 2005-2010 Damien Bergamini .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -12,12 +15,12 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd April 4, 2017 +.Dd November 10, 2024 .Dt RAL 4 .Os .Sh NAME .Nm ral -.Nd "Ralink Technology IEEE 802.11a/g/n wireless network device" +.Nd Ralink Technology IEEE 802.11a/g/n wireless network driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -119,7 +122,7 @@ The driver supports PCI/PCIe/CardBus wireless adapters based on Ralink Technology chipsets, including: .Pp -.Bl -column -compact ".Li Atlantis Land A02-PCM-W54" "RT2561S" "CardBus" +.Bl -column -offset indent -compact "Atlantis Land A02-PCM-W54" "RT2561S" "CardBus" .It Em Card Ta Em MAC/BBP Ta Em Bus .It "A-Link WL54H" Ta RT2560 Ta PCI .It "A-Link WL54PC" Ta RT2560 Ta CardBus @@ -212,26 +215,25 @@ chipsets, including: .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): .Pp -.Dl "ifconfig wlan create wlandev ral0 inet 192.168.0.20 netmask 0xffffff00" +.Dl ifconfig wlan create wlandev ral0 inet 192.0.2.20/24 .Pp Join a specific BSS network with network name -.Dq Li my_net : +.Ar my_net : .Bd -literal -offset indent -ifconfig wlan create wlandev ral0 inet 192.168.0.20 \e - netmask 0xffffff00 ssid my_net +ifconfig wlan create wlandev ral0 inet 192.0.2.20/24 \e + ssid my_net .Ed .Pp Join a specific BSS network with 40-bit WEP encryption: .Bd -literal -offset indent -ifconfig wlan create wlandev ral0 inet 192.168.0.20 \e - netmask 0xffffff00 ssid my_net \e - wepmode on wepkey 0x1234567890 weptxkey 1 +ifconfig wlan create wlandev ral0 inet 192.0.2.20/24 \e + ssid my_net wepmode on wepkey 0x1234567890 weptxkey 1 .Ed .Pp Join a specific BSS network with 104-bit WEP encryption: .Bd -literal -offset indent -ifconfig wlan create wlandev ral0 inet 192.168.0.20 \e - netmask 0xffffff00 ssid my_net \e +ifconfig wlan create wlandev ral0 inet 192.0.2.20/24 \e + ssid my_net \e wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 .Ed .Sh DIAGNOSTICS @@ -254,6 +256,7 @@ This should not happen. .Xr wlan_tkip 4 , .Xr wlan_wep 4 , .Xr wlan_xauth 4 , +.Xr networking 7 , .Xr hostapd 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 diff --git a/share/man/man4/rsu.4 b/share/man/man4/rsu.4 index 34cebc598c0a..7aaacb8112a0 100644 --- a/share/man/man4/rsu.4 +++ b/share/man/man4/rsu.4 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: ISC +.\" .\" $OpenBSD: rsu.4,v 1.11 2013/02/14 07:40:42 jmc Exp $ .\" .\" Copyright (c) 2010 Damien Bergamini @@ -14,12 +17,12 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd May 23, 2021 +.Dd November 10, 2024 .Dt RSU 4 .Os .Sh NAME .Nm rsu -.Nd Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n wireless network device +.Nd Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n wireless network driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: @@ -93,8 +96,46 @@ The .Nm driver can be configured at runtime with .Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver provides support for Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n *** 1325 LINES SKIPPED *** From nobody Thu Nov 14 01:53:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqm0DrBz5ctPN; Thu, 14 Nov 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjql4QYQz44cf; Thu, 14 Nov 2024 01:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HVY5pcizdpfuxvkEE4kxzKwV8RmITkoJlCZXgfGTwFk=; b=PrMD80moFbc5oUV2BKd+rcUqVcsO0HcsxJKkWI4dKgZm/dpxPOixzUSMrAIJ/Tx34SjHm2 Y6Kf1EJvadlEH45BAWBisKWv6NRGE3wIcKZnIbOjpOkcbS/ZU1eP7AMl2vgN213X8sSwhp FAXmrF02W0NHCbMC77iHLbaoh1/b8JkIapOwDGENtKWrV2nZgdl53hL8zpTKc40vzKYrEm syfHqX6FVc0CRwAjadyL83ESv7mUXfwcyWjWCi7hJQr4NAgoeY3eCW3MnkMrfFzUib9mUR 3i5ltOkD0Qgz866hi9ZkY5CcqwHQNUwLeZzbiMsRTTHwbqDzUX+gBDs0UUPvrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HVY5pcizdpfuxvkEE4kxzKwV8RmITkoJlCZXgfGTwFk=; b=k+TFmRMB3dJALk5WSjkTNMR/gFBBCO3GUVdEAoGnxzmWC4vTJl2rcyWTdA8xzgxA+g2D6L /SVxp6+vqaleqa02zKyxiPJ+3eOww5QMFkNfxCfCY3gNZzwQy67jijnHdkw31I3iJbNtl4 o92Ef77urj5EXGDYNq/lNqNhb/JpLiu3uxf4SPeO9ohI/w8GcVNWIqwi74e2NnzWDBtfMj 1GIxPeCPPcj4mYJu1ei2wuGo1fCLCkkfcF/sC1Jolzpj0aiM8y8qdQ/H36k9mPPLWo97KS P7f9amlKEcla0PNycOcnYlOU9nwRBalb1xnlCe3Lr97JxGWJrY+oRBVou/tRtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549235; a=rsa-sha256; cv=none; b=gk9cgLdjKwLalqVbGZCpX0VN6eif55Y4z30V3OpDZ7AV/JnRpp/d9QVQAge2M8K6LrpUoX v8ignjAlFdtAVhBRpvQZM1pnxO5ucELO9DNZ9NEfeQXKSYzevm6ParwPaV6nB80u5qEYbJ VtP40s4MJW4DW+WwzGrmHMe+s/o6tcIqALYHpDdEmTn4/2hxeRLX34MiMfSBcV2xvlnW2H 94yPO3uj89F/rS5Dk07/DF8DX5bqqW2jKd4mv+h1p8RSo93bs35mHmL+bNUg6cJGhI+d5S Ub1YhHZWdqCqPhh89wEmpwJmY8jo7792sb/nY7lVV2m+DmT7GomWj1KlBD/IjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjql3yM1zK01; Thu, 14 Nov 2024 01:53: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 4AE1rtPZ055194; Thu, 14 Nov 2024 01:53:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rtvX055191; Thu, 14 Nov 2024 01:53:55 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:55 GMT Message-Id: <202411140153.4AE1rtvX055191@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: 8d9b4e219f5a - stable/14 - LinuxKPI: 802.11: improve lladdr change to not use ifnet internals List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8d9b4e219f5ac1b0f4f7fb646472c162b0c9af00 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8d9b4e219f5ac1b0f4f7fb646472c162b0c9af00 commit 8d9b4e219f5ac1b0f4f7fb646472c162b0c9af00 Author: Bjoern A. Zeeb AuthorDate: 2024-11-08 21:24:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:53:12 +0000 LinuxKPI: 802.11: improve lladdr change to not use ifnet internals The changes from 4aff4048 were based on net80211 which is still using if_private.h details. Adjust the code to no longer depend on internal details of ifnet. We also switch the "check"-functionn from if_init to if_transmit which we can query. Given we do have a per-vif eventhandler we could do without that check but would still need to check if_getflags() for IFF_UP. Sponsored by: The FreeBSD Foundation Reported by: jhibbits Fixes: 4aff4048 Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D47490 (cherry picked from commit edab5a280e0b4a53d0f3e34957075c7efe048e8d) --- sys/compat/linuxkpi/common/src/linux_80211.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index c26eb8740c77..b0ad1dee4784 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2764,6 +2764,10 @@ lkpi_ic_wme_update(struct ieee80211com *ic) * we do use a per-[l]vif event handler to be sure we exist as we * cannot assume that from every vap derives a vif and we have a hard * time checking based on net80211 information. + * Should this ever become a real problem we could add a callback function + * to wlan_iflladdr() to be set optionally but that would be for a + * single-consumer (or needs a list) -- was just too complicated for an + * otherwise perfect mechanism FreeBSD already provides. */ static void lkpi_vif_iflladdr(void *arg, struct ifnet *ifp) @@ -2772,8 +2776,9 @@ lkpi_vif_iflladdr(void *arg, struct ifnet *ifp) struct ieee80211_vif *vif; NET_EPOCH_ENTER(et); - /* NB: identify vap's by if_init; left as an extra check. */ - if (ifp->if_init != ieee80211_init || (ifp->if_flags & IFF_UP) != 0) { + /* NB: identify vap's by if_transmit; left as an extra check. */ + if (if_gettransmitfn(ifp) != ieee80211_vap_transmit || + (if_getflags(ifp) & IFF_UP) != 0) { NET_EPOCH_EXIT(et); return; } From nobody Thu Nov 14 01:53:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqn0G1fz5ctfL; Thu, 14 Nov 2024 01:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqm5k2rz44sD; Thu, 14 Nov 2024 01:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=91FCoyoO2F0CPZBO3oCuiC6vP2IL3bb6n9atZZAdht4=; b=FDi11BhLySAj3Qs0ItEIyeHMnspKkNwXDvG9/RrxoCuTixUpBjG+UqeVskOzRv/SKYs8x7 2TRsJdIdrqBn2j2ejAUmoBEC6vzAfyCEQLIJQuW+sZDwkOR2vQeV1t/T8iCMBVtlXJeGX9 dlM8rQUfe4HBKAL+o+dIpQbS7ByeCRrz2NdWHqnIM/UYFwQHtbfuI2AFGsKYXFKWBwmyQZ vGbhiGlnKe13fQx+wQ6t0Dt7oc1P88YtMF1berWbvBv7saFQQs+aZOduGJlgrDVuppzAqM xVqIUgskUUcE9H3Ya72gddGyoqYMZXY3CFCT258sNTIiTvjsy7U7JU0MxJHsOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=91FCoyoO2F0CPZBO3oCuiC6vP2IL3bb6n9atZZAdht4=; b=xE6nLAb7QTyKwzGF5YryCTStbDri4xtH/LtfIqg1xk0bSZYDypTrlqG9CnfhuVPFAkwUhA T8d2Cts3cxzgWfhtADxO/Cn4CxuPCD8NvX05oU/B+ahBpO25YdA9YtWtxqemmZRBAG4ByV 2oRatPD88trcJxrJI1HkfPqj2RmVre+rq/sebz8viEfGHza3V4qTnmb3QdYDMdKvehNzAL lHpOGCX7II1m+E62yPfpy7l8BdWzwfH0xj8T1nb5VAAv97xvI+ldfwMQWFPZgDMPvIhH0+ WaYaizfaP5XmWXDcfsB9oZvUInTLLF1dm1xmukJiCpD27Lbh1jIN3o7rFwB7Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549236; a=rsa-sha256; cv=none; b=OGN5EkHi1lMAo1oBf/ec9CBFM1wVAqOPW/bUPCYxRuC1pM8mRoKOpgNWCRNdbf1oQGZP5U TmJwquH4RVvPn43Xug8NHfep5uXQRTpBnuT2fgxDn/rFOaR8h07sATaaSHp9zraaMRXDEl rr9SoD/2g0VKsV7vQbha9JypbQ2DA+s3ujgOrJQH5v5dD0sj8M7NIZl0NrgwVhHn8CqdP4 AU14q/KlVRfx8A9dx4pyDCJvw0PKsikee/vFL62ft1FCDGG+YS+bZYnYPatK3AcEAvRhDo 47LAt/cmiIvAJ4m3TMDZI6wap29u7UVF0fLNuAJPjH+1h96o1+ILi7LxepZrWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqm4p6QzK02; Thu, 14 Nov 2024 01:53: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 4AE1ruAj055257; Thu, 14 Nov 2024 01:53:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1ruWL055254; Thu, 14 Nov 2024 01:53:56 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:56 GMT Message-Id: <202411140153.4AE1ruWL055254@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: ce5b0b7b991f - stable/14 - LinuxKPI: 802.11: hookup net80211 callbacks dependent on (*ampdu_action)() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ce5b0b7b991f302fe1caef0bdbd838c743e6361b Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ce5b0b7b991f302fe1caef0bdbd838c743e6361b commit ce5b0b7b991f302fe1caef0bdbd838c743e6361b Author: Bjoern A. Zeeb AuthorDate: 2024-01-27 13:24:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:53:12 +0000 LinuxKPI: 802.11: hookup net80211 callbacks dependent on (*ampdu_action)() If a LinuxkPI base wireless driver does not support the (*ampdu_action)() ieee80211_ops function for offloading parts to firmware there is no reason for us to hook into the net80211 callbacks either but simply to let software (net80211) handle this. Sponsored by: The FreeBSD Foundation (commit) (cherry picked from commit 86bc7259d3d558495511a0a23d137b4a6cd030f3) --- sys/compat/linuxkpi/common/src/linux_80211.c | 56 +++++++++++++++------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b0ad1dee4784..1a07ef0a82fe 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2024 The FreeBSD Foundation - * Copyright (c) 2020-2022 Bjoern A. Zeeb + * Copyright (c) 2020-2024 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -4681,30 +4681,36 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) ic->ic_node_free = lkpi_ic_node_free; #ifdef LKPI_80211_HT - lhw->ic_recv_action = ic->ic_recv_action; - ic->ic_recv_action = lkpi_ic_recv_action; - lhw->ic_send_action = ic->ic_send_action; - ic->ic_send_action = lkpi_ic_send_action; - - lhw->ic_ampdu_enable = ic->ic_ampdu_enable; - ic->ic_ampdu_enable = lkpi_ic_ampdu_enable; - - lhw->ic_addba_request = ic->ic_addba_request; - ic->ic_addba_request = lkpi_ic_addba_request; - lhw->ic_addba_response = ic->ic_addba_response; - ic->ic_addba_response = lkpi_ic_addba_response; - lhw->ic_addba_stop = ic->ic_addba_stop; - ic->ic_addba_stop = lkpi_ic_addba_stop; - lhw->ic_addba_response_timeout = ic->ic_addba_response_timeout; - ic->ic_addba_response_timeout = lkpi_ic_addba_response_timeout; - - lhw->ic_bar_response = ic->ic_bar_response; - ic->ic_bar_response = lkpi_ic_bar_response; - - lhw->ic_ampdu_rx_start = ic->ic_ampdu_rx_start; - ic->ic_ampdu_rx_start = lkpi_ic_ampdu_rx_start; - lhw->ic_ampdu_rx_stop = ic->ic_ampdu_rx_stop; - ic->ic_ampdu_rx_stop = lkpi_ic_ampdu_rx_stop; + /* + * Only attach if the driver/firmware supports (*ampdu_action)(). + * Otherwise it is in the hands of net80211. + */ + if (lhw->ops->ampdu_action != NULL) { + lhw->ic_recv_action = ic->ic_recv_action; + ic->ic_recv_action = lkpi_ic_recv_action; + lhw->ic_send_action = ic->ic_send_action; + ic->ic_send_action = lkpi_ic_send_action; + + lhw->ic_ampdu_enable = ic->ic_ampdu_enable; + ic->ic_ampdu_enable = lkpi_ic_ampdu_enable; + + lhw->ic_addba_request = ic->ic_addba_request; + ic->ic_addba_request = lkpi_ic_addba_request; + lhw->ic_addba_response = ic->ic_addba_response; + ic->ic_addba_response = lkpi_ic_addba_response; + lhw->ic_addba_stop = ic->ic_addba_stop; + ic->ic_addba_stop = lkpi_ic_addba_stop; + lhw->ic_addba_response_timeout = ic->ic_addba_response_timeout; + ic->ic_addba_response_timeout = lkpi_ic_addba_response_timeout; + + lhw->ic_bar_response = ic->ic_bar_response; + ic->ic_bar_response = lkpi_ic_bar_response; + + lhw->ic_ampdu_rx_start = ic->ic_ampdu_rx_start; + ic->ic_ampdu_rx_start = lkpi_ic_ampdu_rx_start; + lhw->ic_ampdu_rx_stop = ic->ic_ampdu_rx_stop; + ic->ic_ampdu_rx_stop = lkpi_ic_ampdu_rx_stop; + } #endif lkpi_radiotap_attach(lhw); From nobody Thu Nov 14 01:53:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqp1GSzz5ctD8; Thu, 14 Nov 2024 01:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqn6r8Gz44Ws; Thu, 14 Nov 2024 01:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pv2LqtJ2QRPEBcTEofnbrehyN4x2K4SIFwjR1HREI38=; b=N4L/YhVdrYhWO3wy6xGftVlxHRl1w3DKCZNR+vrBbFUXE5zI8rIEHYZEpKOqNdk9UO/uoz 8SRDYcWOpm/GZM51w7AhwBj6MZ9LC0izO+BQ32DRw7ttZzZC8akFbrf8OG0aDraJOf24oG jGwio1J5cCCUC9ITTAdbo6SULjaLLyQlTpHjNaC2U89PvN8orQWdRZxQ6wt5ka/0M+HlKr q1v5Y0LEH55iesJ7fsKQDD8L//6aRcVPzwllHAn5oi/Rp8w8Yqr9V3RC2+Dc11kbN2eAlD Bufx71Haw1ubzHLu7iVfGP5hkieEG+NBO8EyjaB31LjHsAxqZXeb2xOtnHsIaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pv2LqtJ2QRPEBcTEofnbrehyN4x2K4SIFwjR1HREI38=; b=ZK0cFs8Uo4IPTno5GdB6wXUlV+rUnWhUMG7h0/9GGHNYS6hY8HYYN7wLB8UcdkcI+Emvvn uejoFQChrJj8+t2uv+oRJDMkat6RTzHfm4tJgFbpouBtJPcDsnvs+u62Uw5YsLQo/RLkWO uh06pI0FzdflOBL/LSjxQRYgXWW9Qvr2SBHLEnyz1b115FrLOsLOmd9OYiSU7IcnR4Q6fm SGiWwc3KyAybXwCt/Cd/Udl+g5jXCogW/fA7u9DiCqymWbPoDVk3R0RBYpJPTbWOAPEB6l QU5e/QH6PKCcCwy/KsK74xnAZVk7p67GQYjNIkF6rcr1qm3R/+7AiEe/8bmMgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549238; a=rsa-sha256; cv=none; b=QK3rfe+vVpdfBwS8+nsHwY9UaWJuJXt25B+XEWf42b3nFHOgWIgAvyEubGqy3Ped2AJnGU Vh+4R/+86NiUSUzJApOGTtrd3zkzc0gsPiO/aic/5QZSGlmmIHMTlfiH9mwP8nd/RkV0Un I0UB1qoHA3GU9GzT752pPOWZm5O0J800i2CVraZJDFvDeOmXNY5scChBawHjO+q3AfH2E5 Slzgih2vvNvQ2MfiS7M41dlQBukCjrpX07Cm1tz35Oo/LncPW+PAh1jVIhjdtR8H2q87J7 uh4E3cfD/XV9EnVaOtK3OQvQE1y6rJiulZfraIAt3MDJJPlXhfj4ZhWIQyBxHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqn65ckzKK0; Thu, 14 Nov 2024 01:53: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 4AE1rv9H055311; Thu, 14 Nov 2024 01:53:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rvxJ055308; Thu, 14 Nov 2024 01:53:57 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:57 GMT Message-Id: <202411140153.4AE1rvxJ055308@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: a27b3695d123 - stable/14 - LinuxKPI: 802.11: improvements to (*ampdu_action)() callers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a27b3695d12300bd458e0d9efc0780f095691204 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a27b3695d12300bd458e0d9efc0780f095691204 commit a27b3695d12300bd458e0d9efc0780f095691204 Author: Bjoern A. Zeeb AuthorDate: 2024-01-27 13:24:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:53:12 +0000 LinuxKPI: 802.11: improvements to (*ampdu_action)() callers Annotate lkpi_ic_recv_action(), lkpi_ic_send_action(), and lkpi_ic_ampdu_enable() with HT specifc debug logging as we only hook them up currently for debug tracing but later should not need them anymore. Start the implementation for lkpi_ic_addba_request(), lkpi_ic_addba_response(), and lkpi_ic_addba_stop(). Improve the implementation of lkpi_ic_ampdu_rx_start() and lkpi_ic_ampdu_rx_stop(). Sponsored by: The FreeBSD Foundation (commit) (cherry picked from commit 310743c4ccc545d58401cb9fb7761432e12a9fb5) --- sys/compat/linuxkpi/common/src/linux_80211.c | 206 +++++++++++++++++++++++++-- 1 file changed, 192 insertions(+), 14 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1a07ef0a82fe..2bb0c2ab113c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3992,7 +3992,7 @@ lkpi_ic_recv_action(struct ieee80211_node *ni, const struct ieee80211_frame *wh, ic = ni->ni_ic; lhw = ic->ic_softc; - IMPROVE_HT(); + IMPROVE_HT("recv_action called; nothing to do in lkpi; make debugging"); return (lhw->ic_recv_action(ni, wh, frm, efrm)); } @@ -4006,7 +4006,7 @@ lkpi_ic_send_action(struct ieee80211_node *ni, int category, int action, void *s ic = ni->ni_ic; lhw = ic->ic_softc; - IMPROVE_HT(); + IMPROVE_HT("send_action called; nothing to do in lkpi; make debugging"); return (lhw->ic_send_action(ni, category, action, sa)); } @@ -4021,52 +4021,207 @@ lkpi_ic_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) ic = ni->ni_ic; lhw = ic->ic_softc; - IMPROVE_HT(); + IMPROVE_HT("ieee80211_ampdu_enable called; nothing to do in lkpi for now; make debugging"); return (lhw->ic_ampdu_enable(ni, tap)); } +/* + * (*ic_addba_request)() is called by ieee80211_ampdu_request() before + * calling send_action(CAT_BA, BA_ADDBA_REQUEST). + * + * NB: returns 0 on ERROR! + */ static int lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int dialogtoken, int baparamset, int batimeout) { struct ieee80211com *ic; struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct ieee80211vap *vap; + struct lkpi_vif *lvif; + struct ieee80211_vif *vif; + struct lkpi_sta *lsta; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params = { }; + int error; ic = ni->ni_ic; lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + vap = ni->ni_vap; + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); + lsta = ni->ni_drv_data; + sta = LSTA_TO_STA(lsta); - IMPROVE_HT(); + if (!lsta->added_to_drv) { + ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", + __func__, lsta, ni, sta); + return (0); + } + + params.sta = sta; + params.action = IEEE80211_AMPDU_TX_START; + /* Keep 0 here! */ + params.buf_size = 0; + params.timeout = 0; + params.ssn = tap->txa_start & (IEEE80211_SEQ_RANGE-1); + params.tid = tap->txa_tid; + params.amsdu = false; + + IEEE80211_UNLOCK(ic); + LKPI_80211_LHW_LOCK(lhw); + error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + LKPI_80211_LHW_UNLOCK(lhw); + IEEE80211_LOCK(ic); + if (error != 0) { + ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", + __func__, error, ni, tap); + return (0); + } return (lhw->ic_addba_request(ni, tap, dialogtoken, baparamset, batimeout)); } +/* + * (*ic_addba_response)() is called from ht_recv_action_ba_addba_response() + * and calls the default ieee80211_addba_response() which always returns 1. + * + * NB: No error checking in net80211! + * Staying with 0 is an error. + */ static int lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int status, int baparamset, int batimeout) { struct ieee80211com *ic; struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct ieee80211vap *vap; + struct lkpi_vif *lvif; + struct ieee80211_vif *vif; + struct lkpi_sta *lsta; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params = { }; + int error; ic = ni->ni_ic; lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + vap = ni->ni_vap; + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); + lsta = ni->ni_drv_data; + sta = LSTA_TO_STA(lsta); - IMPROVE_HT(); + if (!lsta->added_to_drv) { + ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", + __func__, lsta, ni, sta); + return (0); + } + + if (status == IEEE80211_STATUS_SUCCESS) { + params.sta = sta; + params.action = IEEE80211_AMPDU_TX_OPERATIONAL; + params.buf_size = tap->txa_wnd; + params.timeout = 0; + params.ssn = 0; + params.tid = tap->txa_tid; + if ((tap->txa_flags & IEEE80211_AGGR_AMSDU) != 0) + params.amsdu = true; + else + params.amsdu = false; + } else { + /* We need to free the allocated resources. */ + params.sta = sta; + switch (status) { + /* params.action = FLUSH, FLUSH_CONT */ + default: + params.action = IEEE80211_AMPDU_TX_STOP_CONT; + break; + } + params.buf_size = 0; + params.timeout = 0; + params.ssn = 0; + params.tid = tap->txa_tid; + params.amsdu = false; + } + + IEEE80211_UNLOCK(ic); + LKPI_80211_LHW_LOCK(lhw); + error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + LKPI_80211_LHW_UNLOCK(lhw); + IEEE80211_LOCK(ic); + if (error != 0) { + ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", + __func__, error, ni, tap); + return (0); + } + + IMPROVE_HT("who unleashes the TXQ? and when?, do we need to ni->ni_txseqs[tid] = tap->txa_start & 0xfff;"); return (lhw->ic_addba_response(ni, tap, status, baparamset, batimeout)); } +/* + * (*ic_addba_stop)() is called from ampdu_tx_stop(), ht_recv_action_ba_delba(), + * and ieee80211_ampdu_stop() and calls the default ieee80211_addba_stop(). + */ static void lkpi_ic_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) { struct ieee80211com *ic; struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct ieee80211vap *vap; + struct lkpi_vif *lvif; + struct ieee80211_vif *vif; + struct lkpi_sta *lsta; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params = { }; + int error; ic = ni->ni_ic; lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + vap = ni->ni_vap; + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); + lsta = ni->ni_drv_data; + sta = LSTA_TO_STA(lsta); - IMPROVE_HT(); + if (!lsta->added_to_drv) { + ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", + __func__, lsta, ni, sta); + goto n80211; + } + /* We need to free the allocated resources. */ + params.sta = sta; + IMPROVE("net80211 does not provide a reason to us"); + params.action = IEEE80211_AMPDU_TX_STOP_CONT; /* params.action = FLUSH, FLUSH_CONT */ + params.buf_size = 0; + params.timeout = 0; + params.ssn = 0; + params.tid = tap->txa_tid; + params.amsdu = false; + + IEEE80211_UNLOCK(ic); + LKPI_80211_LHW_LOCK(lhw); + error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + LKPI_80211_LHW_UNLOCK(lhw); + IEEE80211_LOCK(ic); + if (error != 0) { + ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", + __func__, error, ni, tap); + goto n80211; + } + + IMPROVE_HT("anyting else?"); + +n80211: lhw->ic_addba_stop(ni, tap); } @@ -4110,8 +4265,8 @@ lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap struct lkpi_vif *lvif; struct ieee80211_vif *vif; struct lkpi_sta *lsta; - struct ieee80211_sta *sta; - struct ieee80211_ampdu_params params; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params = { }; int error; ic = ni->ni_ic; @@ -4123,6 +4278,14 @@ lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap lsta = ni->ni_drv_data; sta = LSTA_TO_STA(lsta); + IEEE80211_UNLOCK_ASSERT(ic); + + if (!lsta->added_to_drv) { + ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p not added to firmware\n", + __func__, lsta, ni, vap, sta); + return (-ENXIO); + } + params.sta = sta; params.action = IEEE80211_AMPDU_RX_START; params.buf_size = _IEEE80211_MASKSHIFT(le16toh(baparamset), IEEE80211_BAPS_BUFSIZ); @@ -4130,22 +4293,33 @@ lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap params.buf_size = IEEE80211_MAX_AMPDU_BUF_HT; else params.buf_size = min(params.buf_size, IEEE80211_MAX_AMPDU_BUF_HT); - if (params.buf_size > hw->max_rx_aggregation_subframes) + if (hw->max_rx_aggregation_subframes > 0 && + params.buf_size > hw->max_rx_aggregation_subframes) params.buf_size = hw->max_rx_aggregation_subframes; params.timeout = le16toh(batimeout); params.ssn = _IEEE80211_MASKSHIFT(le16toh(baseqctl), IEEE80211_BASEQ_START); params.tid = _IEEE80211_MASKSHIFT(le16toh(baparamset), IEEE80211_BAPS_TID); - params.amsdu = false; - IMPROVE_HT("Do we need to distinguish based on SUPPORTS_REORDERING_BUFFER?"); + /* Based on net80211::ampdu_rx_start(). */ + if ((vap->iv_htcaps & IEEE80211_HTC_RX_AMSDU_AMPDU) && + (_IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_AMSDU))) + params.amsdu = true; + else + params.amsdu = false; - /* This may call kalloc. Make sure we can sleep. */ + LKPI_80211_LHW_LOCK(lhw); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + LKPI_80211_LHW_UNLOCK(lhw); if (error != 0) { ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", __func__, error, ni, rap); return (error); } + + if (!ieee80211_hw_check(hw, SUPPORTS_REORDERING_BUFFER)) { + IMPROVE("%s: TODO: SUPPORTS_REORDERING_BUFFER not set; check net80211\n", __func__); + } + IMPROVE_HT("net80211 is missing the error check on return and assumes success"); error = lhw->ic_ampdu_rx_start(ni, rap, baparamset, batimeout, baseqctl); @@ -4162,8 +4336,8 @@ lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) struct lkpi_vif *lvif; struct ieee80211_vif *vif; struct lkpi_sta *lsta; - struct ieee80211_sta *sta; - struct ieee80211_ampdu_params params; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params = { }; int error; uint8_t tid; @@ -4203,7 +4377,11 @@ lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) params.tid = tid; params.amsdu = false; + // IEEE80211_UNLOCK(ic); + LKPI_80211_LHW_LOCK(lhw); error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + LKPI_80211_LHW_UNLOCK(lhw); + // IEEE80211_LOCK(ic); if (error != 0) ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", __func__, error, ni, rap); From nobody Thu Nov 14 01:53:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpjqq2qGPz5ctPV; Thu, 14 Nov 2024 01:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpjqq0T8dz44gS; Thu, 14 Nov 2024 01:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zO8sUFhebE73HVhd1RJJnkg73+4YczlU6fN0Dhv7WT0=; b=YM1v3znRJB5/sgDXmQbbSRCPtQ8TUj0sjt8IOucVFB+7Zh1fokuaA/+YcIMJ05MUWi0oS7 GKct/ocQTszXlCa+KXRNVvuIy0mqRuzOPya1qvJ7l4tLg55jP8kA7k7GWs9Q0Ea/Y/6Zsd +v3VaQtCp3dZixVo40bIKWvuP7UxfNCsrUmyxaD9hUgKbsFGEAv2jel7LiLH0WKV9GfcBt LO3trJ/LGjJ15tmcYrpWZu0UhiAgKP2ZV4XmUY0LtxQ4t24Vyz+nhVI3zip22Em4WmJJjn AHpd7Ub8OouN9FOa4muAcyhMl57d2bL8HVLEm9lhh8GI6tb4sJblk+dOhjXHUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731549239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zO8sUFhebE73HVhd1RJJnkg73+4YczlU6fN0Dhv7WT0=; b=W1valmJowUdZdXu4DIW5exsa9YkbXC8JOhUCFpC5CNlJdAWW8oeryPUoXSs58nHNXG2BB3 NaBpjargBLl8tvdnLAzgBiJHaSKjW+qRWfHP73DyHEtrbt6j8dfXoz+jVBxqkjrOPt6Q6p e98C5Ur+sUUl8HQZ4IxCQzuMOFIsASa648xMGxe7XmuYQBQfmKLea336RcY6zNMj6Pvfs1 tR0AIGYi6Fs2E3PCBrRjJ9fkFeImnRKNPxUGMUfCckdRCnjMYghnaz9erSBuh0IrJNHVLR distLcI7dkh+ZSWyH8+XbPT2EPPoeAysX15HEn58Jzkv+WGEhFLd4jHEz87bFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731549239; a=rsa-sha256; cv=none; b=iL9MpXE7xrjCFBQU/Iv2wiN1ku+cKVVKsUry7D9Vzst1FWeFZP1cZgYWdNCVisi/DKzWhG B7O4pvlxjtfNAytySFVSpkZ8qd4IS7/dtiel/2WKQA2dDDONrSXbQxYGHAumnsip4BxNR4 TdLpV+8L15Do7QHwoPehW5ENUFPzTnj+VBQ1/+cE/B+UYHWrjGnX3fTGy7SQVb1rY/iZbB KPhkS3pcGZGFKCIXyJ10onYnhwyk1Lc2i57mTE2KOEHtdiYYBIjtEK3qf413KmPmNm0qII axXsmSWF5HDfdxeLCgRNUYW0o7jjKR2JfoGSUmLDVbCHEsXy2ffGJwb8yqIQXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpjqp75HPzJc9; Thu, 14 Nov 2024 01:53: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 4AE1rwLQ055361; Thu, 14 Nov 2024 01:53:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE1rwHN055358; Thu, 14 Nov 2024 01:53:58 GMT (envelope-from git) Date: Thu, 14 Nov 2024 01:53:58 GMT Message-Id: <202411140153.4AE1rwHN055358@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: 7ff741003780 - stable/14 - iwlwifi: script to extract firmware details List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7ff7410037807498c2f56151d5c93fcd80987a17 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7ff7410037807498c2f56151d5c93fcd80987a17 commit 7ff7410037807498c2f56151d5c93fcd80987a17 Author: Bjoern A. Zeeb AuthorDate: 2024-11-08 18:09:37 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-11-14 01:53:12 +0000 iwlwifi: script to extract firmware details When having to find a firmware image with a lower version number we must only break the inner but not also the outer loop so we keep looking at any possibly remaining firmware details. While here also try to find a version from max..1 and not from 1..max. Sponsored by: The FreeBSD Foundation (cherry picked from commit 52f8e99e7e5e6fab52b3fff535d62b873f8c02dd) --- sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh b/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh index 60c75c00cbc7..6b6798aae49e 100644 --- a/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh +++ b/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh @@ -155,11 +155,11 @@ list_fw() vn=$(echo ${fx} | awk '{ gsub(".ucode$", ""); gsub("^.*-", ""); print; }') #echo "BN ${bn} VN ${vn}" # Single digits are not zero-padded so just ${i} will be fine. - for i in `jot ${vn} 1`; do + for i in `jot ${vn} ${vn} 1`; do xn="${bn}-${i}.ucode" if test -e ${LFWDIR}/${xn}; then lx="${lx} ${xn}" - break 2; + break fi done ;; From nobody Thu Nov 14 03:25:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xplrv3ycbz5d1N9; Thu, 14 Nov 2024 03:25: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xplrv32Qbz4GjY; Thu, 14 Nov 2024 03:25:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j84qaDrpHS21Ib9Dbul6J/KIKqkoehjlxAxx9dFjDTU=; b=fNUZv4sxV63xsKgJTAYeuPD1ZMAzzhdU5wTzBWt5HPFBBKaoUnoXhebxRYkdDuScVR7XB5 nOgsXEGdwMQUDNEzlsCKe6BQKh9J8MT3xr5MzRv5xaU4OexMS7MDMQwylJ7dr8y6LmdNau KUEA3n4nsnqDTVDk7tm7Rzg+h5d0iGyNTYcfWB8kfMLmpgjWY1a361e/0FF+41nIba7D10 vCqIX3vM/szipZTSqPOaOBoPryj/AmyRtdceDJ6icowQaBPrkstBka2onIqzcY90VsmgFK RYhMsj2dgiDGnad1uJMkrwi4vG3gU65DPy8LSqeN64rGDC2wCEgkWUjPlziOIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j84qaDrpHS21Ib9Dbul6J/KIKqkoehjlxAxx9dFjDTU=; b=NKIOVm3AfJPkDWMaxt5SU1q8QvWo/JbjuGoLKqdv/YMRWm7kb3bu07+WA617iCddyJV2Fs x8eR6FLdsVrJUjdOt4K4BzVpyd14xOhbs4bdPSup0SGqptcYoEJDpz2COU1iWHjfsUfUwJ 4YBhihQ4ypu711MgEojh4hw6MYoS1P1QzHYbBzfP54mpepkHkmxCXRfwS68ppzkatdw3PT PCSIgc8VgUeTaBWjF+XYFwEkXbC6YYlLOoHSPilX9fWaCaG2HwosVdj6i6CkZb/CfgWs4p YfpKVKOUfTTv24hIAecaJn9yqNdDn7bip5+l6eZ15Yz9dglaY9DbLJIAafDQGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731554703; a=rsa-sha256; cv=none; b=ExtBHBrqsBSRd/P09QljiXlMZFVLXyLR9ZpAprn3EPBE/zz/Z4QH0Omlw/p9pWY0lYbLee 8UIYe+P3WYydkQ2n3JD5rE6WR1EkK5BUSVdLhWUKfnbczJ/qUXDxj9VCbAlGbyAXvMoykK 3owN+xi8v1/JY2xT2SqVc8ALDVUoYOEnpd/RUbdvPfcy9stF9/mhRe98EQ968jbx+KvEVT +kR36je+7BAeJm0pDjB3GyUnRNvtuPoZ4BpeCT3wrRRGr1dwVE9cU//EUsSXdwybVdwcK8 OSrfXYblDedx8wm6s0D6JbFrDrx3FOtNXudmL2UvtybXTcdrXu5YTBP7plTp0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xplrv2dVyzM1D; Thu, 14 Nov 2024 03:25: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 4AE3P3Og024744; Thu, 14 Nov 2024 03:25:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE3P3qY024741; Thu, 14 Nov 2024 03:25:03 GMT (envelope-from git) Date: Thu, 14 Nov 2024 03:25:03 GMT Message-Id: <202411140325.4AE3P3qY024741@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 200a3cb706f6 - stable/14 - sound: Include snd_cmi only for i386 and amd64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 200a3cb706f62a61ecfe48e946573fddf6ec9e29 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=200a3cb706f62a61ecfe48e946573fddf6ec9e29 commit 200a3cb706f62a61ecfe48e946573fddf6ec9e29 Author: Jose Luis Duran AuthorDate: 2024-11-04 19:57:25 +0000 Commit: Jose Luis Duran CommitDate: 2024-11-14 03:19:19 +0000 sound: Include snd_cmi only for i386 and amd64 When running FreeBSD on an arm64/aarch64 QEMU virtual machine, using the Intel HD Audio Controller (ich6) (intel-hda), for example, and by following the procedure in the handbook ("Setting Up the Sound Card"): kldload snd_driver The following error is shown: KLD snd_driver.ko: depends on snd_cmi - not available or version mismatch This is because the CMedia sound driver (snd_cmi) is only built for i386 and amd64. Add the same guards to the snd_driver metadriver. Reviewed by: christos, emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47399 (cherry picked from commit 0187bc8a472ef21ddb901f797d46075fc0d5eb14) --- sys/dev/sound/driver.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/sound/driver.c b/sys/dev/sound/driver.c index 927941ab3d01..b9d530dce921 100644 --- a/sys/dev/sound/driver.c +++ b/sys/dev/sound/driver.c @@ -57,7 +57,9 @@ MODULE_VERSION(snd_driver, 1); MODULE_DEPEND(snd_driver, snd_als4000, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_atiixp, 1, 1, 1); +#if defined(__i386__) || defined(__amd64__) MODULE_DEPEND(snd_driver, snd_cmi, 1, 1, 1); +#endif MODULE_DEPEND(snd_driver, snd_cs4281, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_csa, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_csapcm, 1, 1, 1); From nobody Thu Nov 14 03:25:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xplrw4pTMz5d1NB; Thu, 14 Nov 2024 03:25: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xplrw43J1z4GnX; Thu, 14 Nov 2024 03:25:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JCVVmTbOgTUZUvh3B3AKEOBbB7EA0BsgyopbljKkttg=; b=YNRsqErdasGE3TRjEKLCfqpbzschaPuCs6etugJKkftxLcyT/oYgkgzPAO39yIVxjps71A EvOIR85Ts39areiMsa8QVUEMVUsG3kMYle5Xl5QVzczZpYiyiQXHYlMHVnd8u5QohGR9sL QjyyvgyX3Fbn79RWObvtBy7yJ7fneQzp44R/V9Ykbc5mbYQJPz+jyxTWlCnLOBCsY0J8l7 S3Uy7PiYPE9EFe6/0dKjJHqWveoldwjjT59rUPMK89u7M7QF92n4WepaDTnD+Rb1tOxv/C 13/NioI63np4x64HftyophO8gSjRSeXp2ufoXa2Kd/sbOD5jTHb6jCVndvJDbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JCVVmTbOgTUZUvh3B3AKEOBbB7EA0BsgyopbljKkttg=; b=ydurk1A8tHL0g8vHJZds4SJxNGBlXHoWVV4YuEIftY+KOpztQLpZ89U9ViXn0jZ8pOJeNU Kw0yqnfzHQvnvP48uLkKpJlMWQMczt5Q6WmRbdQbT1mGSHhumvTlOHYxPMR5WRB7ClQmPf qBK50RPn70KJMJxXsLp2DHiHJzBCCGt0ijNciEJMUjLoR7if8GZdUuFq2zS4JdMGL51fGl 3dlz6h2cDl2tfo1XFcIjLHvRV/rOHZLU6rzOFgv+afiBUIk0lBJpdXMPE9k7ARIq7tkKUD L7xPtDpHmCbVZ/nJfchqo5XUAf54EPTUR53X/OuQRo6iaNuByG3gO/F3V0uHkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731554704; a=rsa-sha256; cv=none; b=f0L1d8KjI2SxnYdewU1Fs9tbbEUt5BEe26bBhAF52SicpXe+hkYtxSimRxNIdU6gByo9aT CIV0lghaREeYG6wlAUIbE5X/xFzI+a9G+hMrOjjW5VngCSqvSQ0Ezlxs3sZRTf+Vqkdvfe ZqQYU9cI0Zrx4bl96TfBaZh1OIDwHovyiua6CT+IFRYTvsPtwLRFJwGCBaFKFaaN2389Gr ReAYPsOld90WL2BSItk4SVcbEOd0e28yi7y3ArYEv3Z14hBm/c7yuXfpTfLcMp/b0INO00 OiTe/fc+RzqYCZ/Mlfzn72IxbBNtkQfaa80gQl3KXzu5sWuuaLn0m6JnVm+7bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xplrw3fVSzMYJ; Thu, 14 Nov 2024 03:25: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 4AE3P4fr024803; Thu, 14 Nov 2024 03:25:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE3P4RF024800; Thu, 14 Nov 2024 03:25:04 GMT (envelope-from git) Date: Thu, 14 Nov 2024 03:25:04 GMT Message-Id: <202411140325.4AE3P4RF024800@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f6d94e23d1d9 - stable/14 - rc: Update ipfilter example rules location List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f6d94e23d1d9ce4de5f1584ecfe1c7aeb2d545c2 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f6d94e23d1d9ce4de5f1584ecfe1c7aeb2d545c2 commit f6d94e23d1d9ce4de5f1584ecfe1c7aeb2d545c2 Author: Jose Luis Duran AuthorDate: 2024-11-04 20:02:01 +0000 Commit: Jose Luis Duran CommitDate: 2024-11-14 03:21:25 +0000 rc: Update ipfilter example rules location It was originally /usr/src/contrib/ipfilter/rules and moved to /usr/src/share/examples/ipfilter/rules in 41edb306f056. Point to users to /usr/src/share/examples/ipfilter instead, as the base directory also contains example rules. Reviewed by: emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47392 (cherry picked from commit 8934526be1843ba033e1423f6ecd8b3b3f2a9c23) --- libexec/rc/rc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index eb971a76ecf2..9da9c7203832 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -218,7 +218,7 @@ natd_flags="" # Additional flags for natd. ipfilter_enable="NO" # Set to YES to enable ipfilter functionality ipfilter_program="/sbin/ipf" # where the ipfilter program lives ipfilter_rules="/etc/ipf.rules" # rules definition file for ipfilter, see - # /usr/src/contrib/ipfilter/rules for examples + # /usr/src/share/examples/ipfilter for examples ipfilter_flags="" # additional flags for ipfilter ippool_enable="NO" # Set to YES to enable ip filter pools ippool_program="/sbin/ippool" # where the ippool program lives From nobody Thu Nov 14 03:25:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xplrx5lbZz5d13x; Thu, 14 Nov 2024 03:25: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xplrx4cYXz4Gcq; Thu, 14 Nov 2024 03:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8z3z3BpdxOf2wynPOBZAHitYqpxAIkcVIyBWa/jOzY=; b=Dm5Eh4sytuG534wyILRxW8J9ddkMOAPOxGWp9j3LW9biXpJ0DG956n0NYAGKKRdWGYRQnU TZcFAc9mFUWD0LF0cysUbesnkrQf3D0Fz1R6+m7iZYOnykJ7WDgVRhrWJ02t/RewpaO0PZ 6JcIbBe9L8UJUwSxTRTo01JQWzDoTbnCQY8IDgNmNl3sg/a8GEY1eqZUu498NLZBtqj9TT bSarLCNrEo6DeC3qoUdT4rY7Wqh1LSw+k6qzLxE2ff/MfgNEUQA+fqbRtqr9B4cbQ4iAwj totbf16uNFi2+Omlh0gE6ZAUj5/yHzb1M8nMxPqMRyDz3YifcjHph5DwsOQnoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8z3z3BpdxOf2wynPOBZAHitYqpxAIkcVIyBWa/jOzY=; b=adfPWsMqv4TBGXAsOcR6esRa24AG005Lli3X6AVN5Xy+FZTo/154flXNUEOtZnzXoEnyJu p7FgUvTyS4Ih/NtPpjk6w9L6e1Zng4DDyBO/+UZMr1hguA2fZZLnCBuCy9ZJ3XsNpskXE8 tofYkv+y08w1uIcKIFymRjXRc2cBJVtk1mdrNXItpd5FZkloQk7VWCnf9H6q1Jmox0+C4o cyuUQc7W65bLhpmhtpCxiAzGHlNMmFkRe2uagPrqOht5siQUkWX96Y27km2x10JbfiZkFM YTrxC6duwcmML3Zdzqk9GJtVUuKavfq2yFVKNMJGjLqbGWkQzFSotLQ0yj35kA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731554705; a=rsa-sha256; cv=none; b=oC37H7d0z+Svb1SVXhpIYk2yuVoggWjNYkQZVkbonDgW1VWDKFjDpbZs4aGdlvj3n+SJl2 ERkF7W+XfR67Uzs+aBEjJZlF8wQM8OWnaKM5amEiaqC2zQS8xpSE8jKWVOHQzXED4f+yt2 WpTWgDzfhcVbCjZLe9sbDeIxWBDHD1gOrsDsHEhXHEf5Pn9VskMdTRZos1esYN60sIUdAR cPRNLHQAMflJdswo9MpghnL4v0D5dwj9e8J1rlzUe4oeXb8HQZQtQiQDV7UII9pdOXb+1w J4IxzQOG3g3qXZNmAI5JWQzpd/0IFbsJK+YAi5sV0bV8ZYUBPZlT5HKfrqxKfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xplrx4DvNzMYK; Thu, 14 Nov 2024 03:25: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 4AE3P5Li024852; Thu, 14 Nov 2024 03:25:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE3P5BS024849; Thu, 14 Nov 2024 03:25:05 GMT (envelope-from git) Date: Thu, 14 Nov 2024 03:25:05 GMT Message-Id: <202411140325.4AE3P5BS024849@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 797884a5d990 - stable/14 - ping: tests: Cleanup IPOption()s List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 797884a5d9900ae66d31112274bc1fdb3f4d9e9e Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=797884a5d9900ae66d31112274bc1fdb3f4d9e9e commit 797884a5d9900ae66d31112274bc1fdb3f4d9e9e Author: Jose Luis Duran AuthorDate: 2024-11-05 02:46:45 +0000 Commit: Jose Luis Duran CommitDate: 2024-11-14 03:22:40 +0000 ping: tests: Cleanup IPOption()s Scapy now only accepts known options with IPOption(), so our unknown option must be passed raw. While here, prefer the named options for EOL and NOP. Reviewed by: emaste, kp Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D47160 (cherry picked from commit 2e29bf7a2ae66acb6e65ffc1c923cfb373af67bd) --- sbin/ping/tests/test_ping.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/ping/tests/test_ping.py b/sbin/ping/tests/test_ping.py index 8ec0f3dc74dc..90df07d0e5b9 100644 --- a/sbin/ping/tests/test_ping.py +++ b/sbin/ping/tests/test_ping.py @@ -85,11 +85,11 @@ def generate_ip_options(opts): ] routers_zero = [0, 0, 0, 0, 0, 0, 0, 0, 0] if opts == "EOL": - options = sc.IPOption(b"\x00") + options = sc.IPOption_EOL() elif opts == "NOP": - options = sc.IPOption(b"\x01") + options = sc.IPOption_NOP() elif opts == "NOP-40": - options = sc.IPOption(b"\x01" * 40) + options = sc.IPOption_NOP() * 40 elif opts == "RR": ToolsHelper.set_sysctl("net.inet.ip.process_options", 0) options = sc.IPOption_RR(pointer=40, routers=routers) @@ -116,7 +116,7 @@ def generate_ip_options(opts): options = b"\x9f" elif opts == "unk-40": ToolsHelper.set_sysctl("net.inet.ip.process_options", 0) - options = sc.IPOption(b"\x9f" * 40) + options = b"\x9f" * 40 else: options = "" return options From nobody Thu Nov 14 03:25:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xplrz2Mmhz5d0v2; Thu, 14 Nov 2024 03:25: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xplry5Kmkz4Gnm; Thu, 14 Nov 2024 03:25:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nxg5QFjyfQQtfVff1ieYDFYUoQfaVQ4roBxEbjRV7DA=; b=tXWnORyQ4+IbrNNuwf36gnPxewxY7qv5r3FxdANDNRBD4+HKJv1m4KduYyyA/3SfAysZbC t3eaYMN4waAQUcTgwFNhADlP/E1dch9b58kqjAGT6Xs/MHnsdSDy9H5klMuSu0FdIYvitb xOpmGY9V0GvEdrQE26nWmUSlk5FgL2MZPxYRBENPr99+NExhep2vH+GUXs06AgtZ8dLed7 rQsp59ueH8uQmbIQ8GK5f4RPqztIl83CdivMSvxNPgoDjiKinchIBu13gj6T29VJnkzkdB GGCHVlmuZZL/Z8KC8e1E0AugnlFFir4kwK4CsvhIQJOi3xZ6fpI9VATq9+GxvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nxg5QFjyfQQtfVff1ieYDFYUoQfaVQ4roBxEbjRV7DA=; b=lOyCVZEg149aW5wXRmlb7Z3UGJJw+ujl0y4wHeBcoDkSUGMsWzAqsSfuC76giD5Ad7eJv+ lLtUDtWVF0XWUWP6LRIXWvDTP+MA9f9KldAO3lkh9c6bPsTjSlIBKKqTS/cY9b11PB531z RmYms7Yp02lCQphoLv2XpoQiVMlsjfkS+KKaKAXLUSaT8sOryNdz5F4YPI/qJW1akFruEF WJD/9EiTk13pwQME9OW0ORY6uHy4n4AE1QZOydbMlb3Nq2AeHRlwM57N+pDoJ2tzalthi4 OLOdqE03UzcZjDEagw75zy3rqSi+BnB5QdGq9mkKucyE0/dppUYiPAt9RRWqQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731554706; a=rsa-sha256; cv=none; b=XgC2HrTtFOvS1TsKTJVahtKfI5NLCh5Einqi0qmt0+QZs8zymwAsfYgNYFaugWNtKN683o pgacELE/6otghyhPiwm/ckx4V4VCPzh29pVbpqs2KTOb+GMyjxuKtCJoUMFEp2frLty4d0 +ZkzaCOZpZATmmR1OSP+2H1+WR6dfMxzn6sTT7ZSCtxT8jvebiIj8wzWyRPSaUdvKJFrjS fDSWigNwxSizcKOCD5Nlckvm5TDRUlXIny9LSxUrannx53oLxDKJ9rp2i/iDRkcmteEKgF ZQq/oQDZ3cxutXU9fb4P4zmuXnr/szanOkGWwPkoiV14RyT9GPFnH31d5M2H3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xplry4v6GzMNL; Thu, 14 Nov 2024 03:25: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 4AE3P6XT024900; Thu, 14 Nov 2024 03:25:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE3P6Rj024897; Thu, 14 Nov 2024 03:25:06 GMT (envelope-from git) Date: Thu, 14 Nov 2024 03:25:06 GMT Message-Id: <202411140325.4AE3P6Rj024897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 4c7c29a020c5 - stable/14 - ping: tests: Align with Scapy defaults List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4c7c29a020c5235eca369c89b9cc750a1d4e4656 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4c7c29a020c5235eca369c89b9cc750a1d4e4656 commit 4c7c29a020c5235eca369c89b9cc750a1d4e4656 Author: Jose Luis Duran AuthorDate: 2024-11-05 02:48:34 +0000 Commit: Jose Luis Duran CommitDate: 2024-11-14 03:23:00 +0000 ping: tests: Align with Scapy defaults Align some of pinger() defaults with Scapy to facilitate debugging when printing packets. No functional change intended. Reviewed by: emaste, kp Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D47159 (cherry picked from commit 4859030ef193688153f490915794ae9ab77f012b) --- sbin/ping/tests/test_ping.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sbin/ping/tests/test_ping.py b/sbin/ping/tests/test_ping.py index 90df07d0e5b9..cf2e46a146c8 100644 --- a/sbin/ping/tests/test_ping.py +++ b/sbin/ping/tests/test_ping.py @@ -63,14 +63,14 @@ def build_response_packet(echo, ip, icmp, oip_ihl, special): if icmp.type in icmp_id_seq_types: pkt = ip / icmp / load else: - ip.options = "" + del ip.options pkt = ip / icmp / oip / oicmp / load return pkt def generate_ip_options(opts): if not opts: - return "" + return [] routers = [ "192.0.2.10", @@ -118,7 +118,7 @@ def generate_ip_options(opts): ToolsHelper.set_sysctl("net.inet.ip.process_options", 0) options = b"\x9f" * 40 else: - options = "" + options = [] return options @@ -134,7 +134,7 @@ def pinger( icmp_code: sc.scapy.fields.MultiEnumField, # IP arguments ihl: Optional[sc.scapy.fields.BitField] = None, - flags: Optional[sc.scapy.fields.FlagsField] = None, + flags: Optional[sc.scapy.fields.FlagsField] = 0, opts: Optional[str] = None, oip_ihl: Optional[sc.scapy.fields.BitField] = None, special: Optional[str] = None, @@ -169,7 +169,7 @@ def pinger( :keyword ihl: Internet Header Length, defaults to None :type ihl: class:`scapy.fields.BitField`, optional - :keyword flags: IP flags - one of `DF`, `MF` or `evil`, defaults to None + :keyword flags: IP flags - one of `DF`, `MF` or `evil`, defaults to 0 :type flags: class:`scapy.fields.FlagsField`, optional :keyword opts: Include IP options - one of `EOL`, `NOP`, `NOP-40`, `unk`, `unk-40`, `RR`, `RR-same`, `RR-trunc`, `LSRR`, `LSRR-trunc`, `SSRR` or From nobody Thu Nov 14 03:25:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpls01h6cz5d0v3; Thu, 14 Nov 2024 03:25: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xplrz61jGz4Gp2; Thu, 14 Nov 2024 03:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sh4qdIxDDvdbdz6fp+WTsT/buaitGQlV4BE4JWnyRGc=; b=Lotj2FaLB/CtB+8UMCZZ6nZFD63spPlyzVil/l7+U/wd/iwGaA/MQb25x1Vpn+eTj95OEx 9DzaB5RSzx7BoZ74v5XBYFvph6eRVgDu0sEZlwrstkdS1dw/rOZIhWnF9B6mNVonb68Nax nm6CQzJNb8NnTKqqAIDAMMH7VBGUN3EOTdRqAFhJS4WVOu1i8FNA9lYctSnY5g+85Sn3TO 5phY1ByGNsi7qWSlYZ4zuw/Z4iGrXClWoh6zhVIjDJaQGmmFhkKkv9aVT+9D4TzP/tT0/u XsjzIPIwyY8gZ8hMux6QyNViqeknb18466HYdtISnntqrFjww6InML+wQriYZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sh4qdIxDDvdbdz6fp+WTsT/buaitGQlV4BE4JWnyRGc=; b=Xl9efOYgDNXRv88aqsQB8ADzSr5knSBNAUtB6dwCf9RxVJnlUOsTEFey6/7MGMIHBa0elL aGk0ttz623qGkqybUjsf+VP6TOyl5Yd6rRkxtdVS7TGx68R8dIiIIKOW6aQVMxUNlVDwVe CUMXKGGXmjy7FSJvLMrDglzpyq9mz+zzQPkSm67/y6+tHx9G0huPSEPLYadfK+J0pEo7AJ bm2xPzc3EulcIaMey1W3lgTlHuYEi9aTYnDuOt68bnn0QWXV0+H4nuZopW5x7eC0Ust+57 r5D0DjnET0tiwBuYsZQfTIV+g/xvDHFdslDDyhgftQK7G9xIkzHdW3GeRbfuFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731554707; a=rsa-sha256; cv=none; b=nxrBG8xSEdmGw4LXB5Z7mI90ipOVz2D4plOyGxThEwhJB2TCIMJyB/Pi+IDzb7A3yMWdSj l8BzEpMNfRbmdpaUFGL/pcL70OPjfUFfKHZNeW8R9c92JRaagLMMN1NvW7YdD5ecIu0twK antlD34QkkScANj8zcbgPgs24kuxrVTbAPTrIo9sI3YMy51Puy0xGgUVKHm9OgHUatO/ts k22LhmoLXcnLUGrmfrDFIIKDtrZ76UTwzZSeQ1rg2ynsddq750NsxgitBoD5qSrwtCdqYD qW9K/C4eD8npzU1f4WxD4uCIZX3vIyO0eSvFYcLLK4OUVbkpx+kr38af/0P12Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xplrz5ZdKzMLc; Thu, 14 Nov 2024 03:25: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 4AE3P7Vo024946; Thu, 14 Nov 2024 03:25:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE3P7Sg024943; Thu, 14 Nov 2024 03:25:07 GMT (envelope-from git) Date: Thu, 14 Nov 2024 03:25:07 GMT Message-Id: <202411140325.4AE3P7Sg024943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 124ecd59ba81 - stable/14 - ping tests: Silence deprecation warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 124ecd59ba8160f9adbaca833e83a96b2d57370d Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=124ecd59ba8160f9adbaca833e83a96b2d57370d commit 124ecd59ba8160f9adbaca833e83a96b2d57370d Author: Jose Luis Duran AuthorDate: 2024-11-05 03:04:53 +0000 Commit: Jose Luis Duran CommitDate: 2024-11-14 03:23:16 +0000 ping tests: Silence deprecation warnings Declare some regex patterns as a raw string by prepending `r`. Reviewed by: markj Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D42174 (cherry picked from commit 8b13cb9d654c985534d24a09ec5dab02cc4dea6e) --- sbin/ping/tests/test_ping.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/ping/tests/test_ping.py b/sbin/ping/tests/test_ping.py index cf2e46a146c8..93b42d7d53bd 100644 --- a/sbin/ping/tests/test_ping.py +++ b/sbin/ping/tests/test_ping.py @@ -270,15 +270,15 @@ def pinger( def redact(output): """Redact some elements of ping's output""" pattern_replacements = [ - ("localhost \([0-9]{1,3}(\.[0-9]{1,3}){3}\)", "localhost"), - ("from [0-9]{1,3}(\.[0-9]{1,3}){3}", "from"), + (r"localhost \([0-9]{1,3}(\.[0-9]{1,3}){3}\)", "localhost"), + (r"from [0-9]{1,3}(\.[0-9]{1,3}){3}", "from"), ("hlim=[0-9]*", "hlim="), ("ttl=[0-9]*", "ttl="), ("time=[0-9.-]*", "time="), ("cp: .*", "cp: xx xx xx xx xx xx xx xx"), ("dp: .*", "dp: xx xx xx xx xx xx xx xx"), - ("\(-[0-9\.]+[0-9]+ ms\)", "(- ms)"), - ("[0-9\.]+/[0-9.]+", "/"), + (r"\(-[0-9\.]+[0-9]+ ms\)", "(- ms)"), + (r"[0-9\.]+/[0-9.]+", "/"), ] for pattern, repl in pattern_replacements: output = re.sub(pattern, repl, output) From nobody Thu Nov 14 03:25:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xpls12l3Xz5d1QR; Thu, 14 Nov 2024 03:25: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xpls06dM7z4HB6; Thu, 14 Nov 2024 03:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sx7HcIJoJ4eDmCAooj2o5GOwuj98r47p44CgiWUiKP0=; b=lZU8E7YGqUvHrIpyFW2okoX2PYo8RKKwONGrzZkHyWeFIB9GqLBR79rXpn99m2JA4TKHgr 99+UqeVihUGcRgG68AYxjrdCx1UOdXD1LDuJ7TiSUc9HTQkfwKRQPOlpMo+QDXAhmPod/F SAzOD/aFwik4G1XZbcHbWhtIAlC4B60EZn4MY/jHlyFb4CZ1MHNURCMMgiPe8snYWRbB4/ +qR10Vboe5eaZBuRJfGNfnvy0FlAJkwUSwE5kKC37yVxVCHKw8MzhlqXjQgJxoCLQjUTd5 DlWj9vs5B/YWYfHxomAm3FIe/QYCBHm8WxrrKgPhOzpXYCRoybi0aarsVWJhgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731554708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sx7HcIJoJ4eDmCAooj2o5GOwuj98r47p44CgiWUiKP0=; b=AcJBSnY0Y0WrrFDVeSwvy8SEnnaKGuJingPvmMpYyxp39b8DBdMInUf7om+4SeJkFRV7EK 0/YhhWQ0oyVIxxTNHz5dcKhPYIHRz6VFgWsQX7EhKML7mQbxQzoM35/KV4U64SfJN5Cwe5 l54Xc+30MkDuvJmn2jm33lIT4nFe+4jSYacCITRElyqLBnEIHYnmQTTgwknVTSLXs95HEW 1DnRFYLTGaIFK6sa0bphC4k8WvPiN/pGqclF1fuzlyF3dZpDEPE4gb6Z1rpRvavDVnqbvV CUpc++7uKwN7MkqAHFto4jTKpokSDbGsZWQgAQogyHNrpRjKN8KYn8/1WjIA0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731554708; a=rsa-sha256; cv=none; b=Fzdb6BjJz2SeOKopZ6KsQTucC7N7b7RMH7nj0csldtSl+EDJu1/X5hkbCzmo1mbyTJl5Mr s2Ox7Vd32FDF9rEyp8VLBcfDy2ABb7AJQxiEljAlgqBV5DFzB0Kjz7f3ICU7g0wHKXGtFA gHf6sfHQHSG7lAYQkEtDB9nLFOjYlR1mscqEB1Fx5QgtlTva8tTcUAvhN+iVKzHz9K+NpJ E03WJ69ul9V+bgbe23t0ZyJxn6yaOGgCKj2DtYmCu2C9hoOURJWRhucEnRqYn1M698ySZq o/L4vbKvZaqaAAyTpOXSm6/Yi9fqc1R+uc7qJMEG+usZs5jNvaFRlEPnpC7wcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xpls06BKDzM93; Thu, 14 Nov 2024 03:25: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 4AE3P8du025006; Thu, 14 Nov 2024 03:25:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AE3P8ka025003; Thu, 14 Nov 2024 03:25:08 GMT (envelope-from git) Date: Thu, 14 Nov 2024 03:25:08 GMT Message-Id: <202411140325.4AE3P8ka025003@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 5d24286be13a - stable/14 - ping tests: Run tests unprivileged inside a vnet List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d24286be13a0553fd8a2024c9f4a83d33649085 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=5d24286be13a0553fd8a2024c9f4a83d33649085 commit 5d24286be13a0553fd8a2024c9f4a83d33649085 Author: Jose Luis Duran AuthorDate: 2024-11-05 03:00:38 +0000 Commit: Jose Luis Duran CommitDate: 2024-11-14 03:23:33 +0000 ping tests: Run tests unprivileged inside a vnet In order to create vnet jails, atf_python needs root privileges. However, once the vnet is created, its privileges inside the vnet can be demoted, as these tests should not require root in order to pass. Reviewed by: markj Approved by: emaste (mentor) Fixes: 4efaf43c6fa7 ("ping: Require root user for pytests") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42175 (cherry picked from commit 5797a03fe8a7c3355a727aaaea803ee1f42d106b) --- sbin/ping/tests/test_ping.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sbin/ping/tests/test_ping.py b/sbin/ping/tests/test_ping.py index 93b42d7d53bd..3f9a3aecf924 100644 --- a/sbin/ping/tests/test_ping.py +++ b/sbin/ping/tests/test_ping.py @@ -724,6 +724,7 @@ PING(56=40+8+8 bytes) 2001:db8::1 --> 2001:db8::2 @pytest.mark.parametrize("expected", testdata) @pytest.mark.require_user("root") + @pytest.mark.require_user("unprivileged") def test_ping(self, expected): """Test ping""" ping = subprocess.run( @@ -753,6 +754,7 @@ PING(56=40+8+8 bytes) 2001:db8::1 --> 2001:db8::2 @pytest.mark.parametrize("expected", ping46_testdata) @pytest.mark.require_user("root") + @pytest.mark.require_user("unprivileged") def test_ping_46(self, expected): """Test ping -4/ping -6""" for version in [4, 6]: From nobody Thu Nov 14 16:33:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Xq5LH01m2z5csTC; Thu, 14 Nov 2024 16:33: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xq5LG6qv1z4sjN; Thu, 14 Nov 2024 16:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731601990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hAaTkb+dYthqQP2ZPJTMdsUBSErML6cGTJQg/tGR1Zs=; b=C1jUp6uOqWN5FGH0uOjymd2NUKqVN2OfH95EzebjymDsPkEfgWgnT5KPNAsJtrjjxMXdh+ sLoKA8n0XFN2PQeOSCBU6nfbkph1GVp6r9AqMIqaFr7f/yO6QYgS+KGE0gLyZILt+6WNfj F+fW0BlzpQFpZm2VT7NxraGe9pQnnNgHDNiD3Y/bPNbyz7koHBJ6JNleapqaHbA8HJmEje QZNkr1kxKziGJTQRAkjs4p180EsNHVC7kwKL4g8hWc+Rtj7z2nmObH0ojuw7BTWMfHMd4p hYTfQslbimFB6uCmhXlDsopQ3s6HqLKUattnjcHDTzAdN4/Pqg+xuchRzbi+Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731601990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hAaTkb+dYthqQP2ZPJTMdsUBSErML6cGTJQg/tGR1Zs=; b=tJ+wy2ysbauwN+sgKrCuoHnCRFNSs+QVslePVaJXoeQzfXixyLYszr8HPIaBoMeMytUI6K 0/gX0MYI95B/MOS0NnaPku/LDViGeMmouKW6/gnIJPTUJfbs3FWQctFpZALz4pHbkjX0Ow DUcZQJVioyunFcHvwaLmvxe+9dk10e3deoC3OLjRIt5qTxstNZijVxJr/FHC3TlAVqvCdE r0/l9rpe2InKwzOSr8SDZcMKOrukWYAhqHCIfSHNIj6HCYMsi0fKkxs3jmUemScWZ6Me+S 3fZwztuJ3Yjb6DGcbWTUgvj1b4W9LvzJB7QhXA2t4j3Z2gD74wSXgZwsOB5frQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731601990; a=rsa-sha256; cv=none; b=tzc2ZBgQYHiGPG8fXlL8lQV4OVV4gZ5GmLlHmhnbBq8kNydqIMIm4YDGPpzMfOeUkQYcqJ jLtaOhsEBqE/Z1wsUJT9+cqMci+7W+bDj5He0hYHKrSKGfOV5yzpNS6HCtNa3UqTYECnFx LE+aEI0jIfDfkCi+OwQ1xWHnH229VNE8dVY78ntLXy4Fd05kWONWhRWwykrxxn9tIYiLID dlJ3lz6Wbp3p2jUOiZn8M6TnBZPdJV8cp2T387mMOAuLKf+jUk3e/t7TpVaJ9tqZu+M//m AdrgrOW9eu60yIZOPrpgrrZc0C1h491PBgxMSsQgqy0n7qdr2XZ5uSee/Q3kjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Xq5LG62n9zmGf; Thu, 14 Nov 2024 16:33: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 4AEGXAOp091788; Thu, 14 Nov 2024 16:33:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AEGXAdc091785; Thu, 14 Nov 2024 16:33:10 GMT (envelope-from git) Date: Thu, 14 Nov 2024 16:33:10 GMT Message-Id: <202411141633.4AEGXAdc091785@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: b64867e332f8 - stable/14 - Revert "sound: Make device registration more intuitive" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b64867e332f8196cb61947fc189ff108ca1065db Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b64867e332f8196cb61947fc189ff108ca1065db commit b64867e332f8196cb61947fc189ff108ca1065db Author: Christos Margiolis AuthorDate: 2024-11-14 16:25:41 +0000 Commit: Christos Margiolis CommitDate: 2024-11-14 16:25:41 +0000 Revert "sound: Make device registration more intuitive" These KPI changes will break out-of-tree drivers. Keep the commit only in -CURRENT. This reverts commit 5aece3be1c84f6786f89894efeca1219a282f3f3. --- sys/arm/allwinner/a10_codec.c | 10 +-- sys/arm/broadcom/bcm2835/bcm2835_audio.c | 10 +-- sys/arm/freescale/imx/imx6_ssi.c | 12 ++-- sys/arm/freescale/vybrid/vf_sai.c | 12 ++-- sys/dev/sound/dummy.c | 6 +- sys/dev/sound/fdt/audio_soc.c | 10 +-- sys/dev/sound/macio/aoa.c | 6 +- sys/dev/sound/pci/als4000.c | 11 ++-- sys/dev/sound/pci/atiixp.c | 6 +- sys/dev/sound/pci/cmi.c | 6 +- sys/dev/sound/pci/cs4281.c | 6 +- sys/dev/sound/pci/csapcm.c | 8 +-- sys/dev/sound/pci/emu10k1.c | 5 +- sys/dev/sound/pci/emu10kx-pcm.c | 8 ++- sys/dev/sound/pci/envy24.c | 7 ++- sys/dev/sound/pci/envy24ht.c | 8 ++- sys/dev/sound/pci/es137x.c | 6 +- sys/dev/sound/pci/fm801.c | 5 +- sys/dev/sound/pci/hda/hdaa.c | 7 ++- sys/dev/sound/pci/hdspe-pcm.c | 13 ++-- sys/dev/sound/pci/ich.c | 5 +- sys/dev/sound/pci/maestro3.c | 9 ++- sys/dev/sound/pci/neomagic.c | 5 +- sys/dev/sound/pci/solo.c | 6 +- sys/dev/sound/pci/t4dwave.c | 6 +- sys/dev/sound/pci/via8233.c | 6 +- sys/dev/sound/pci/via82c686.c | 5 +- sys/dev/sound/pci/vibes.c | 11 ++-- sys/dev/sound/pcm/sound.c | 103 +++++++++++++++---------------- sys/dev/sound/pcm/sound.h | 4 +- sys/dev/sound/usb/uaudio.c | 11 ++-- 31 files changed, 172 insertions(+), 161 deletions(-) diff --git a/sys/arm/allwinner/a10_codec.c b/sys/arm/allwinner/a10_codec.c index a2ad58bab6fc..036de684b788 100644 --- a/sys/arm/allwinner/a10_codec.c +++ b/sys/arm/allwinner/a10_codec.c @@ -1166,16 +1166,16 @@ a10codec_attach(device_t dev) pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) { + device_printf(dev, "pcm_register failed\n"); + goto fail; + } pcm_addchan(dev, PCMDIR_PLAY, &a10codec_chan_class, sc); pcm_addchan(dev, PCMDIR_REC, &a10codec_chan_class, sc); snprintf(status, SND_STATUSLEN, "at %s", ofw_bus_get_name(dev)); - if (pcm_register(dev, status)) { - device_printf(dev, "pcm_register failed\n"); - goto fail; - } + pcm_setstatus(dev, status); return (0); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_audio.c b/sys/arm/broadcom/bcm2835/bcm2835_audio.c index 13f309dd3f11..75a0c81f29a1 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_audio.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_audio.c @@ -867,15 +867,15 @@ bcm2835_audio_delayed_init(void *xsc) goto no; } - pcm_init(sc->dev, sc); - - pcm_addchan(sc->dev, PCMDIR_PLAY, &bcmchan_class, sc); - snprintf(status, SND_STATUSLEN, "at VCHIQ"); - if (pcm_register(sc->dev, status)) { + if (pcm_register(sc->dev, sc, 1, 0)) { device_printf(sc->dev, "pcm_register failed\n"); goto no; } + pcm_addchan(sc->dev, PCMDIR_PLAY, &bcmchan_class, sc); + snprintf(status, SND_STATUSLEN, "at VCHIQ"); + pcm_setstatus(sc->dev, status); + bcm2835_audio_reset_channel(&sc->pch); bcm2835_audio_create_worker(sc); diff --git a/sys/arm/freescale/imx/imx6_ssi.c b/sys/arm/freescale/imx/imx6_ssi.c index 779c41553734..6b23334a4e97 100644 --- a/sys/arm/freescale/imx/imx6_ssi.c +++ b/sys/arm/freescale/imx/imx6_ssi.c @@ -811,18 +811,18 @@ ssi_attach(device_t dev) pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); - pcm_init(dev, scp); + err = pcm_register(dev, scp, 1, 0); + if (err) { + device_printf(dev, "Can't register pcm.\n"); + return (ENXIO); + } scp->chnum = 0; pcm_addchan(dev, PCMDIR_PLAY, &ssichan_class, scp); scp->chnum++; snprintf(status, SND_STATUSLEN, "at simplebus"); - err = pcm_register(dev, status); - if (err) { - device_printf(dev, "Can't register pcm.\n"); - return (ENXIO); - } + pcm_setstatus(dev, status); mixer_init(dev, &ssimixer_class, scp); setup_ssi(sc); diff --git a/sys/arm/freescale/vybrid/vf_sai.c b/sys/arm/freescale/vybrid/vf_sai.c index 92dc185c13eb..3b3a120df4e1 100644 --- a/sys/arm/freescale/vybrid/vf_sai.c +++ b/sys/arm/freescale/vybrid/vf_sai.c @@ -763,18 +763,18 @@ sai_attach(device_t dev) pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); - pcm_init(dev, scp); + err = pcm_register(dev, scp, 1, 0); + if (err) { + device_printf(dev, "Can't register pcm.\n"); + return (ENXIO); + } scp->chnum = 0; pcm_addchan(dev, PCMDIR_PLAY, &saichan_class, scp); scp->chnum++; snprintf(status, SND_STATUSLEN, "at simplebus"); - err = pcm_register(dev, status); - if (err) { - device_printf(dev, "Can't register pcm.\n"); - return (ENXIO); - } + pcm_setstatus(dev, status); mixer_init(dev, &saimixer_class, scp); diff --git a/sys/dev/sound/dummy.c b/sys/dev/sound/dummy.c index 9013fd023a7e..c1cd4dff15f9 100644 --- a/sys/dev/sound/dummy.c +++ b/sys/dev/sound/dummy.c @@ -305,7 +305,8 @@ dummy_attach(device_t dev) }; pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); - pcm_init(dev, sc); + if (pcm_register(dev, sc, DUMMY_NPCHAN, DUMMY_NRCHAN)) + return (ENXIO); for (i = 0; i < DUMMY_NPCHAN; i++) pcm_addchan(dev, PCMDIR_PLAY, &dummy_chan_class, sc); for (i = 0; i < DUMMY_NRCHAN; i++) @@ -313,8 +314,7 @@ dummy_attach(device_t dev) snprintf(status, SND_STATUSLEN, "on %s", device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) - return (ENXIO); + pcm_setstatus(dev, status); mixer_init(dev, &dummy_mixer_class, sc); callout_init(&sc->callout, 1); diff --git a/sys/dev/sound/fdt/audio_soc.c b/sys/dev/sound/fdt/audio_soc.c index c2bdea399364..92813a3079d8 100644 --- a/sys/dev/sound/fdt/audio_soc.c +++ b/sys/dev/sound/fdt/audio_soc.c @@ -397,7 +397,10 @@ audio_soc_init(void *arg) } } - pcm_init(sc->dev, sc); + if (pcm_register(sc->dev, sc, 1, 1)) { + device_printf(sc->dev, "failed to register PCM\n"); + return; + } sc->play_channel.sc = sc; sc->rec_channel.sc = sc; @@ -405,10 +408,7 @@ audio_soc_init(void *arg) pcm_addchan(sc->dev, PCMDIR_PLAY, &audio_soc_chan_class, &sc->play_channel); pcm_addchan(sc->dev, PCMDIR_REC, &audio_soc_chan_class, &sc->rec_channel); - if (pcm_register(sc->dev, "at simplebus")) { - device_printf(sc->dev, "failed to register PCM\n"); - return; - } + pcm_setstatus(sc->dev, "at simplebus"); AUDIO_DAI_SETUP_INTR(sc->cpu_dev, audio_soc_intr, sc); AUDIO_DAI_SETUP_MIXER(sc->codec_dev, sc->dev); diff --git a/sys/dev/sound/macio/aoa.c b/sys/dev/sound/macio/aoa.c index 9861bbd92a0c..27626b3d570a 100644 --- a/sys/dev/sound/macio/aoa.c +++ b/sys/dev/sound/macio/aoa.c @@ -372,7 +372,8 @@ aoa_attach(void *xsc) sc = xsc; self = sc->sc_dev; - pcm_init(self, sc); + if (pcm_register(self, sc, 1, 0)) + return (ENXIO); err = pcm_getbuffersize(self, AOA_BUFFER_SIZE, AOA_BUFFER_SIZE, AOA_BUFFER_SIZE); @@ -381,6 +382,7 @@ aoa_attach(void *xsc) pcm_addchan(self, PCMDIR_PLAY, &aoa_chan_class, sc); snprintf(status, sizeof(status), "at %s", ofw_bus_get_name(self)); + pcm_setstatus(self, status); - return (pcm_register(self, status)); + return (0); } diff --git a/sys/dev/sound/pci/als4000.c b/sys/dev/sound/pci/als4000.c index 9d86713b379e..b1376d2b6e5a 100644 --- a/sys/dev/sound/pci/als4000.c +++ b/sys/dev/sound/pci/als4000.c @@ -839,7 +839,10 @@ als_pci_attach(device_t dev) goto bad_attach; } - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) { + device_printf(dev, "failed to register pcm entries\n"); + goto bad_attach; + } pcm_addchan(dev, PCMDIR_PLAY, &alspchan_class, sc); pcm_addchan(dev, PCMDIR_REC, &alsrchan_class, sc); @@ -847,11 +850,7 @@ als_pci_attach(device_t dev) snprintf(status, SND_STATUSLEN, "port 0x%jx irq %jd on %s", rman_get_start(sc->reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) { - device_printf(dev, "failed to register pcm entries\n"); - goto bad_attach; - } - + pcm_setstatus(dev, status); return 0; bad_attach: diff --git a/sys/dev/sound/pci/atiixp.c b/sys/dev/sound/pci/atiixp.c index 90e5742e6523..eeb28bb08276 100644 --- a/sys/dev/sound/pci/atiixp.c +++ b/sys/dev/sound/pci/atiixp.c @@ -1084,7 +1084,8 @@ atiixp_chip_post_init(void *arg) mixer_init(sc->dev, ac97_getmixerclass(), sc->codec); - pcm_init(sc->dev, sc); + if (pcm_register(sc->dev, sc, ATI_IXP_NPCHAN, ATI_IXP_NRCHAN)) + goto postinitbad; for (i = 0; i < ATI_IXP_NPCHAN; i++) pcm_addchan(sc->dev, PCMDIR_PLAY, &atiixp_chan_class, sc); @@ -1100,8 +1101,7 @@ atiixp_chip_post_init(void *arg) rman_get_start(sc->reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(sc->dev))); - if (pcm_register(sc->dev, status)) - goto postinitbad; + pcm_setstatus(sc->dev, status); atiixp_lock(sc); if (sc->polling == 0) diff --git a/sys/dev/sound/pci/cmi.c b/sys/dev/sound/pci/cmi.c index 22f1e76a4d1f..9a92066c51a4 100644 --- a/sys/dev/sound/pci/cmi.c +++ b/sys/dev/sound/pci/cmi.c @@ -982,7 +982,8 @@ cmi_attach(device_t dev) if (mixer_init(dev, &cmi_mixer_class, sc)) goto bad; - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) + goto bad; cmi_initsys(sc); @@ -992,8 +993,7 @@ cmi_attach(device_t dev) snprintf(status, SND_STATUSLEN, "port 0x%jx irq %jd on %s", rman_get_start(sc->reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); DEB(printf("cmi_attach: succeeded\n")); return 0; diff --git a/sys/dev/sound/pci/cs4281.c b/sys/dev/sound/pci/cs4281.c index 7a25f7f4c08d..972b83efff8f 100644 --- a/sys/dev/sound/pci/cs4281.c +++ b/sys/dev/sound/pci/cs4281.c @@ -839,7 +839,8 @@ cs4281_pci_attach(device_t dev) mixer_init(dev, ac97_getmixerclass(), codec); - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) + goto bad; pcm_addchan(dev, PCMDIR_PLAY, &cs4281chan_class, sc); pcm_addchan(dev, PCMDIR_REC, &cs4281chan_class, sc); @@ -848,8 +849,7 @@ cs4281_pci_attach(device_t dev) (sc->regtype == SYS_RES_IOPORT)? "port" : "mem", rman_get_start(sc->reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/csapcm.c b/sys/dev/sound/pci/csapcm.c index a966a2e66402..c8424dd3e433 100644 --- a/sys/dev/sound/pci/csapcm.c +++ b/sys/dev/sound/pci/csapcm.c @@ -832,14 +832,14 @@ pcmcsa_attach(device_t dev) csa_writemem(resp, BA1_CIE, (csa_readmem(resp, BA1_CIE) & ~0x0000003f) | 0x00000001); csa_active(csa, -1); - pcm_init(dev, csa); - pcm_addchan(dev, PCMDIR_REC, &csachan_class, csa); - pcm_addchan(dev, PCMDIR_PLAY, &csachan_class, csa); - if (pcm_register(dev, status)) { + if (pcm_register(dev, csa, 1, 1)) { ac97_destroy(codec); csa_releaseres(csa, dev); return (ENXIO); } + pcm_addchan(dev, PCMDIR_REC, &csachan_class, csa); + pcm_addchan(dev, PCMDIR_PLAY, &csachan_class, csa); + pcm_setstatus(dev, status); return (0); } diff --git a/sys/dev/sound/pci/emu10k1.c b/sys/dev/sound/pci/emu10k1.c index e4b2c22f4f07..0813f89c87b8 100644 --- a/sys/dev/sound/pci/emu10k1.c +++ b/sys/dev/sound/pci/emu10k1.c @@ -2130,14 +2130,13 @@ emu_pci_attach(device_t dev) rman_get_start(sc->reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - pcm_init(dev, sc); + if (pcm_register(dev, sc, sc->nchans, gotmic ? 3 : 2)) goto bad; for (i = 0; i < sc->nchans; i++) pcm_addchan(dev, PCMDIR_PLAY, &emupchan_class, sc); for (i = 0; i < (gotmic ? 3 : 2); i++) pcm_addchan(dev, PCMDIR_REC, &emurchan_class, sc); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/emu10kx-pcm.c b/sys/dev/sound/pci/emu10kx-pcm.c index c280b64892f6..bef6b596646e 100644 --- a/sys/dev/sound/pci/emu10kx-pcm.c +++ b/sys/dev/sound/pci/emu10kx-pcm.c @@ -1459,7 +1459,10 @@ emu_pcm_attach(device_t dev) pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); /* XXX we should better get number of available channels from parent */ - pcm_init(dev, sc); + if (pcm_register(dev, sc, (route == RT_FRONT) ? MAX_CHANNELS : 1, (route == RT_FRONT) ? 1 : 0)) { + device_printf(dev, "can't register PCM channels!\n"); + goto bad; + } sc->pnum = 0; if (route != RT_MCHRECORD) pcm_addchan(dev, PCMDIR_PLAY, &emupchan_class, sc); @@ -1473,8 +1476,7 @@ emu_pcm_attach(device_t dev) snprintf(status, SND_STATUSLEN, "on %s", device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return (0); diff --git a/sys/dev/sound/pci/envy24.c b/sys/dev/sound/pci/envy24.c index 51842bfdb480..f7cc7ff5724d 100644 --- a/sys/dev/sound/pci/envy24.c +++ b/sys/dev/sound/pci/envy24.c @@ -2575,7 +2575,9 @@ envy24_pci_attach(device_t dev) mixer_init(dev, &envy24mixer_class, sc); /* set channel information */ - pcm_init(dev, sc); + err = pcm_register(dev, sc, 5, 2 + sc->adcn); + if (err) + goto bad; sc->chnum = 0; for (i = 0; i < 5; i++) { pcm_addchan(dev, PCMDIR_PLAY, &envy24chan_class, sc); @@ -2599,8 +2601,7 @@ envy24_pci_attach(device_t dev) rman_get_end(sc->mt) - rman_get_start(sc->mt) + 1, rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/envy24ht.c b/sys/dev/sound/pci/envy24ht.c index b8202a9fa7cd..65c67b84ce53 100644 --- a/sys/dev/sound/pci/envy24ht.c +++ b/sys/dev/sound/pci/envy24ht.c @@ -2480,7 +2480,10 @@ envy24ht_pci_attach(device_t dev) mixer_init(dev, &envy24htmixer_class, sc); /* set channel information */ - pcm_init(dev, sc); + /* err = pcm_register(dev, sc, 5, 2 + sc->adcn); */ + err = pcm_register(dev, sc, 1, 2 + sc->adcn); + if (err) + goto bad; sc->chnum = 0; /* for (i = 0; i < 5; i++) { */ pcm_addchan(dev, PCMDIR_PLAY, &envy24htchan_class, sc); @@ -2500,8 +2503,7 @@ envy24ht_pci_attach(device_t dev) rman_get_end(sc->mt) - rman_get_start(sc->mt) + 1, rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/es137x.c b/sys/dev/sound/pci/es137x.c index 3c1bea09b5d1..8f832d899dd3 100644 --- a/sys/dev/sound/pci/es137x.c +++ b/sys/dev/sound/pci/es137x.c @@ -1861,13 +1861,13 @@ es_pci_attach(device_t dev) rman_get_start(es->reg), rman_get_start(es->irq), device_get_nameunit(device_get_parent(dev))); - pcm_init(dev, es); + if (pcm_register(dev, es, numplay, 1)) + goto bad; for (i = 0; i < numplay; i++) pcm_addchan(dev, PCMDIR_PLAY, ct, es); pcm_addchan(dev, PCMDIR_REC, ct, es); es_init_sysctls(dev); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); es->escfg = ES_SET_GP(es->escfg, 0); if (numplay == 1) device_printf(dev, "\n", diff --git a/sys/dev/sound/pci/fm801.c b/sys/dev/sound/pci/fm801.c index ca6a2271096c..fbde14f37afe 100644 --- a/sys/dev/sound/pci/fm801.c +++ b/sys/dev/sound/pci/fm801.c @@ -642,11 +642,10 @@ fm801_pci_attach(device_t dev) device_get_nameunit(device_get_parent(dev))); #define FM801_MAXPLAYCH 1 - pcm_init(dev, fm801); + if (pcm_register(dev, fm801, FM801_MAXPLAYCH, 1)) goto oops; pcm_addchan(dev, PCMDIR_PLAY, &fm801ch_class, fm801); pcm_addchan(dev, PCMDIR_REC, &fm801ch_class, fm801); - if (pcm_register(dev, status)) - goto oops; + pcm_setstatus(dev, status); fm801->radio = device_add_child(dev, "radio", -1); bus_generic_attach(dev); diff --git a/sys/dev/sound/pci/hda/hdaa.c b/sys/dev/sound/pci/hda/hdaa.c index d6aa24125c7b..c0eb1864f145 100644 --- a/sys/dev/sound/pci/hda/hdaa.c +++ b/sys/dev/sound/pci/hda/hdaa.c @@ -7053,7 +7053,9 @@ hdaa_pcm_attach(device_t dev) HDA_BOOTHVERBOSE( device_printf(dev, "Registering PCM channels...\n"); ); - pcm_init(dev, pdevinfo); + if (pcm_register(dev, pdevinfo, (pdevinfo->playas >= 0)?1:0, + (pdevinfo->recas >= 0)?1:0) != 0) + device_printf(dev, "Can't register PCM\n"); pdevinfo->registered++; @@ -7106,8 +7108,9 @@ hdaa_pcm_attach(device_t dev) snprintf(status, SND_STATUSLEN, "on %s", device_get_nameunit(device_get_parent(dev))); + pcm_setstatus(dev, status); - return (pcm_register(dev, status)); + return (0); } static int diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c index d58353685663..4bea6c65e087 100644 --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -1020,10 +1020,13 @@ hdspe_pcm_attach(device_t dev) */ pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); - pcm_init(dev, scp); - play = (hdspe_channel_play_ports(scp->hc)) ? 1 : 0; rec = (hdspe_channel_rec_ports(scp->hc)) ? 1 : 0; + err = pcm_register(dev, scp, play, rec); + if (err) { + device_printf(dev, "Can't register pcm.\n"); + return (ENXIO); + } scp->chnum = 0; if (play) { @@ -1040,11 +1043,7 @@ hdspe_pcm_attach(device_t dev) rman_get_start(scp->sc->cs), rman_get_start(scp->sc->irq), device_get_nameunit(device_get_parent(dev))); - err = pcm_register(dev, status); - if (err) { - device_printf(dev, "Can't register pcm.\n"); - return (ENXIO); - } + pcm_setstatus(dev, status); mixer_init(dev, &hdspemixer_class, scp); diff --git a/sys/dev/sound/pci/ich.c b/sys/dev/sound/pci/ich.c index 500d6d95daac..910a371c6653 100644 --- a/sys/dev/sound/pci/ich.c +++ b/sys/dev/sound/pci/ich.c @@ -695,7 +695,7 @@ ich_setstatus(struct sc_info *sc) device_printf(sc->dev, "PCI Master abort workaround enabled\n"); - pcm_register(sc->dev, status); + pcm_setstatus(sc->dev, status); } /* -------------------------------------------------------------------- */ @@ -1066,7 +1066,8 @@ ich_pci_attach(device_t dev) ich_setmap, sc, 0)) goto bad; - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, (sc->hasmic) ? 2 : 1)) + goto bad; pcm_addchan(dev, PCMDIR_PLAY, &ichchan_class, sc); /* play */ pcm_addchan(dev, PCMDIR_REC, &ichchan_class, sc); /* record */ diff --git a/sys/dev/sound/pci/maestro3.c b/sys/dev/sound/pci/maestro3.c index 2d102fcd6dbe..f922aa5cec3f 100644 --- a/sys/dev/sound/pci/maestro3.c +++ b/sys/dev/sound/pci/maestro3.c @@ -1423,7 +1423,10 @@ m3_pci_attach(device_t dev) m3_enable_ints(sc); - pcm_init(dev, sc); + if (pcm_register(dev, sc, dacn, adcn)) { + device_printf(dev, "pcm_register error\n"); + goto bad; + } for (i=0 ; iregtype == SYS_RES_IOPORT)? "port" : "mem", rman_get_start(sc->reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) { - device_printf(dev, "pcm_register error\n"); + if (pcm_setstatus(dev, status)) { + device_printf(dev, "attach: pcm_setstatus error\n"); goto bad; } diff --git a/sys/dev/sound/pci/neomagic.c b/sys/dev/sound/pci/neomagic.c index d7824c990a52..25273633ff18 100644 --- a/sys/dev/sound/pci/neomagic.c +++ b/sys/dev/sound/pci/neomagic.c @@ -707,11 +707,10 @@ nm_pci_attach(device_t dev) rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) goto bad; pcm_addchan(dev, PCMDIR_REC, &nmchan_class, sc); pcm_addchan(dev, PCMDIR_PLAY, &nmchan_class, sc); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/solo.c b/sys/dev/sound/pci/solo.c index 90dd2e26ad41..82eabf3a4884 100644 --- a/sys/dev/sound/pci/solo.c +++ b/sys/dev/sound/pci/solo.c @@ -1026,11 +1026,11 @@ ess_attach(device_t dev) rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) + goto no; pcm_addchan(dev, PCMDIR_REC, &esschan_class, sc); pcm_addchan(dev, PCMDIR_PLAY, &esschan_class, sc); - if (pcm_register(dev, status)) - goto no; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/t4dwave.c b/sys/dev/sound/pci/t4dwave.c index 07b9e1004573..653e610febbe 100644 --- a/sys/dev/sound/pci/t4dwave.c +++ b/sys/dev/sound/pci/t4dwave.c @@ -921,12 +921,12 @@ tr_pci_attach(device_t dev) rman_get_start(tr->reg), rman_get_start(tr->irq), device_get_nameunit(device_get_parent(dev))); - pcm_init(dev, tr); + if (pcm_register(dev, tr, dacn, 1)) + goto bad; pcm_addchan(dev, PCMDIR_REC, &trrchan_class, tr); for (i = 0; i < dacn; i++) pcm_addchan(dev, PCMDIR_PLAY, &trpchan_class, tr); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; diff --git a/sys/dev/sound/pci/via8233.c b/sys/dev/sound/pci/via8233.c index 243353805b94..9f3b312e4365 100644 --- a/sys/dev/sound/pci/via8233.c +++ b/sys/dev/sound/pci/via8233.c @@ -1352,7 +1352,8 @@ via_attach(device_t dev) device_get_nameunit(device_get_parent(dev))); /* Register */ - pcm_init(dev, via); + if (pcm_register(dev, via, via_dxs_chnum + via_sgd_chnum, NWRCHANS)) + goto bad; for (i = 0; i < via_dxs_chnum; i++) pcm_addchan(dev, PCMDIR_PLAY, &via8233dxs_class, via); for (i = 0; i < via_sgd_chnum; i++) @@ -1365,8 +1366,7 @@ via_attach(device_t dev) (via_dxs_chnum > 0) ? "En" : "Dis", (via->dxs_src) ? "(SRC)" : "", via_dxs_chnum, via_sgd_chnum, NWRCHANS); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return (0); bad: diff --git a/sys/dev/sound/pci/via82c686.c b/sys/dev/sound/pci/via82c686.c index 40f3521a57a2..44f846b684d7 100644 --- a/sys/dev/sound/pci/via82c686.c +++ b/sys/dev/sound/pci/via82c686.c @@ -585,11 +585,10 @@ via_attach(device_t dev) device_get_nameunit(device_get_parent(dev))); /* Register */ - pcm_init(dev, via); + if (pcm_register(dev, via, 1, 1)) goto bad; pcm_addchan(dev, PCMDIR_PLAY, &viachan_class, via); pcm_addchan(dev, PCMDIR_REC, &viachan_class, via); - if (pcm_register(dev, status)) - goto bad; + pcm_setstatus(dev, status); return 0; bad: if (via->codec) ac97_destroy(via->codec); diff --git a/sys/dev/sound/pci/vibes.c b/sys/dev/sound/pci/vibes.c index 7e908f188614..e587f0113b5d 100644 --- a/sys/dev/sound/pci/vibes.c +++ b/sys/dev/sound/pci/vibes.c @@ -866,17 +866,18 @@ sv_attach(device_t dev) { if (bootverbose) printf("Sonicvibes: revision %d.\n", sc->rev); - pcm_init(dev, sc); + if (pcm_register(dev, sc, 1, 1)) { + device_printf(dev, "sv_attach: pcm_register fail\n"); + goto fail; + } + pcm_addchan(dev, PCMDIR_PLAY, &svpchan_class, sc); pcm_addchan(dev, PCMDIR_REC, &svrchan_class, sc); snprintf(status, SND_STATUSLEN, "port 0x%jx irq %jd on %s", rman_get_start(sc->enh_reg), rman_get_start(sc->irq), device_get_nameunit(device_get_parent(dev))); - if (pcm_register(dev, status)) { - device_printf(dev, "sv_attach: pcm_register fail\n"); - goto fail; - } + pcm_setstatus(dev, status); DEB(printf("sv_attach: succeeded\n")); diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index fc9d13593b9e..e03bcab6d8fc 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -273,6 +273,53 @@ pcm_best_unit(int old) return (best); } +int +pcm_setstatus(device_t dev, char *str) +{ + struct snddev_info *d = device_get_softc(dev); + + /* should only be called once */ + if (d->flags & SD_F_REGISTERED) + return (EINVAL); + + PCM_BUSYASSERT(d); + + if (d->playcount == 0 || d->reccount == 0) + d->flags |= SD_F_SIMPLEX; + + if (d->playcount > 0 || d->reccount > 0) + d->flags |= SD_F_AUTOVCHAN; + + vchan_setmaxauto(d, snd_maxautovchans); + + strlcpy(d->status, str, SND_STATUSLEN); + sndstat_register(dev, d->status); + + PCM_LOCK(d); + + /* Done, we're ready.. */ + d->flags |= SD_F_REGISTERED; + + PCM_RELEASE(d); + + PCM_UNLOCK(d); + + /* + * Create all sysctls once SD_F_REGISTERED is set else + * tunable sysctls won't work: + */ + pcm_sysinit(dev); + + if (snd_unit_auto < 0) + snd_unit_auto = (snd_unit < 0) ? 1 : 0; + if (snd_unit < 0 || snd_unit_auto > 1) + snd_unit = device_get_unit(dev); + else if (snd_unit_auto == 1) + snd_unit = pcm_best_unit(snd_unit); + + return (dsp_make_dev(dev)); +} + uint32_t pcm_getflags(device_t dev) { @@ -417,12 +464,9 @@ pcm_sysinit(device_t dev) feeder_eq_initsys(dev); } -/* - * Basic initialization so that drivers can use pcm_addchan() before - * pcm_register(). - */ -void -pcm_init(device_t dev, void *devinfo) +int +pcm_register(device_t dev, void *devinfo, int numplay __unused, + int numrec __unused) { struct snddev_info *d; int i; @@ -459,53 +503,8 @@ pcm_init(device_t dev, void *devinfo) CHN_INIT(d, channels.pcm); CHN_INIT(d, channels.pcm.busy); CHN_INIT(d, channels.pcm.opened); -} - -int -pcm_register(device_t dev, char *str) -{ - struct snddev_info *d = device_get_softc(dev); - - /* should only be called once */ - if (d->flags & SD_F_REGISTERED) - return (EINVAL); - - PCM_BUSYASSERT(d); - if (d->playcount == 0 || d->reccount == 0) - d->flags |= SD_F_SIMPLEX; - - if (d->playcount > 0 || d->reccount > 0) - d->flags |= SD_F_AUTOVCHAN; - - vchan_setmaxauto(d, snd_maxautovchans); - - strlcpy(d->status, str, SND_STATUSLEN); - sndstat_register(dev, d->status); - - PCM_LOCK(d); - - /* Done, we're ready.. */ - d->flags |= SD_F_REGISTERED; - - PCM_RELEASE(d); - - PCM_UNLOCK(d); - - /* - * Create all sysctls once SD_F_REGISTERED is set else - * tunable sysctls won't work: - */ - pcm_sysinit(dev); - - if (snd_unit_auto < 0) - snd_unit_auto = (snd_unit < 0) ? 1 : 0; - if (snd_unit < 0 || snd_unit_auto > 1) - snd_unit = device_get_unit(dev); - else if (snd_unit_auto == 1) - snd_unit = pcm_best_unit(snd_unit); - - return (dsp_make_dev(dev)); + return (0); } int diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 1d09c48fc06b..c5013e76034a 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -245,9 +245,9 @@ int pcm_chnalloc(struct snddev_info *d, struct pcm_channel **ch, int direction, int pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo); unsigned int pcm_getbuffersize(device_t dev, unsigned int minbufsz, unsigned int deflt, unsigned int maxbufsz); -void pcm_init(device_t dev, void *devinfo); -int pcm_register(device_t dev, char *str); +int pcm_register(device_t dev, void *devinfo, int numplay, int numrec); int pcm_unregister(device_t dev); +int pcm_setstatus(device_t dev, char *str); u_int32_t pcm_getflags(device_t dev); void pcm_setflags(device_t dev, u_int32_t val); void *pcm_getdevinfo(device_t dev); diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index b1dbc81c6b6f..8238629a2a51 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -1209,9 +1209,14 @@ uaudio_attach_sub(device_t dev, kobj_class_t mixer_class, kobj_class_t chan_clas snprintf(status, sizeof(status), "on %s", device_get_nameunit(device_get_parent(dev))); - pcm_init(dev, sc); + if (pcm_register(dev, sc, + (sc->sc_play_chan[i].num_alt > 0) ? 1 : 0, + (sc->sc_rec_chan[i].num_alt > 0) ? 1 : 0)) { + goto detach; + } uaudio_pcm_setflags(dev, SD_F_MPSAFE); + sc->sc_child[i].pcm_registered = 1; if (sc->sc_play_chan[i].num_alt > 0) { sc->sc_play_chan[i].priv_sc = sc; @@ -1224,9 +1229,7 @@ uaudio_attach_sub(device_t dev, kobj_class_t mixer_class, kobj_class_t chan_clas pcm_addchan(dev, PCMDIR_REC, chan_class, &sc->sc_rec_chan[i]); } - if (pcm_register(dev, status)) - goto detach; - sc->sc_child[i].pcm_registered = 1; + pcm_setstatus(dev, status); uaudio_mixer_register_sysctl(sc, dev, i); From nobody Thu Nov 14 20:58:13 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqCD52ppXz5d85p; Thu, 14 Nov 2024 20:58: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqCD52M8gz485R; Thu, 14 Nov 2024 20:58:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731617893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZibCTvmTq/KWvbkz/Z7pzlLf9Ulr43Eg6mLDkwlaHmk=; b=V5dNIknhMFlb2lAVQ+U1g2KSg0Fe7Gvd4P2bbSEmdpnsVi8lkdBAUFqm7m0ybo+GUIQN2G HXshVwf47l1o3PmJtRML32X+gEAnWxnldLYBHZ8dpdt9vHxOpZWtzXzVwfrCFf+JPwOVdG 7DDAk63PcKiY9VoE6q7Da47pgBBWv9seegIhnhwgCpQnGyLRoSUSuYufhO4S5znKROH+t1 sAbP71k/+Uf2XzAdGoCxDYY4ojBJ4u5AX52yZjCdJ3Afa9JyRiHDa9xPcvduZP2coCRikd eAcjr95F6HE9QGVna7UKu+8ZYKblbQk8UP45z7mgxXNYBg9vLofqNEzQJX/Hvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731617893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZibCTvmTq/KWvbkz/Z7pzlLf9Ulr43Eg6mLDkwlaHmk=; b=q16xIj6DCFNmllMLGmdJRc1uSK+I9LIis3xfi+KyXhainRhO6lUwb8fXE9dEUpXVNILsWO u0+lRt/zqN5nm3tjFNS96Oxulo6KovZBniNTQmRcuBliiH7lOg99WUQcGUFHIAVPAqoNIC Bgo2eO5lSucqSz1blpkxYQTDaXZ30lSFBjuvN/9Tp1gom1Rf54ut35HsbO4feBtVtmJXcj +rPetbGi0P46neexUF9zfINIJpN6x0PO5slOHaKaUqT2328z6PULVCDVag2+uCp8qyRC08 RVAmrRtsJCEr8iSDfytTfiD227BuTzErOfOuVwq+CZjtZ9krX4cRldQ/l2Ud6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731617893; a=rsa-sha256; cv=none; b=bmf+cfKtJ5xH6sWKpKLi+DyDtXtARluz7EuWc4/0/FihNc/mNsCQyi4MO5Oqcz3Mp/sBzt b3hj3vTSk8RHgFPmi+C8CHHbyxDZDxpQMtIXIgEz7T+l979/1sGHcrQD6vFMSAemRs4qIZ RUHyPXe8IFEjO/Ms/R2Y/fOaA9JX/6AJmCu6UJOLL5NDE8d7/Of6/4W94q0YK6rZbSX9le qOwz+nY/jYCclcAUAIGzwRvJ/QJ0zmyUFZg57dCiFFcbi6Tk135WErvXEMnP6F9Yryu6Do I8OIETiLSATrd8YTCFXgHANVS73d59uMYwmsBO0a1wi6TDme2DgLgaw1MO6dow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqCD51nLdzv5X; Thu, 14 Nov 2024 20:58: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 4AEKwDY0074343; Thu, 14 Nov 2024 20:58:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AEKwD6S074340; Thu, 14 Nov 2024 20:58:13 GMT (envelope-from git) Date: Thu, 14 Nov 2024 20:58:13 GMT Message-Id: <202411142058.4AEKwD6S074340@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jessica Clarke Subject: git: 125ce840bc93 - stable/14 - bsd.subdir.mk: Drop broken optimisation for realinstall parallelisation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 125ce840bc93f9cd9286c9724bf18f951e17d3fa Auto-Submitted: auto-generated The branch stable/14 has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=125ce840bc93f9cd9286c9724bf18f951e17d3fa commit 125ce840bc93f9cd9286c9724bf18f951e17d3fa Author: Jessica Clarke AuthorDate: 2024-02-02 21:17:23 +0000 Commit: Jessica Clarke CommitDate: 2024-11-14 20:57:41 +0000 bsd.subdir.mk: Drop broken optimisation for realinstall parallelisation Not all of the tree is happy for realinstall to be done in parallel. In particular, Makefile.inc1 uses .WAIT to force etc to be installed after earlier subdirectories, since etc calls into share/man's makedb to run makewhatis on the tree and needs all manpages to have been installed. Also, libexec/Makefile doesn't set SUBDIR_PARALLEL, and the link from ld-elf32.1 to ld-elf.1 relies on rtld-elf having been installed before rtld-elf32, otherwise creating the link will fail. In general, core behavioural differences like this between NO_ROOT and "normal" builds are also dangerous and confusing. If this optimisation is deemed important, it should be reintroduced in a more limited and robust manner that doesn't break the above situations. Until then value correctness over slight efficiency gains on high core count machines, the same machines where you're more likely to encounter issues from this optimisation. This reverts commits cd19ecdbdc87 ("Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging.") and b9c6f3168112 ("Add more STANDALONE_SUBDIR_TARGETS."). Found by: CheriBSD Jenkins Reviewed by: bdrewery, brooks Fixes: cd19ecdbdc87 ("Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging.") Fixes: b9c6f3168112 ("Add more STANDALONE_SUBDIR_TARGETS.") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43705 (cherry picked from commit fbae308319b7678cd9d879f60b1efd8d4c99b5eb) --- share/mk/bsd.subdir.mk | 5 ----- 1 file changed, 5 deletions(-) diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk index 72e835d97730..83cead36ade6 100644 --- a/share/mk/bsd.subdir.mk +++ b/share/mk/bsd.subdir.mk @@ -56,11 +56,6 @@ STANDALONE_SUBDIR_TARGETS+= \ installconfig installdirs installincludes installfiles print-dir \ maninstall manlint obj objlink -# It is safe to install in parallel when staging. -.if defined(NO_ROOT) || !empty(SYSROOT) -STANDALONE_SUBDIR_TARGETS+= realinstall -.endif - .include .if ${MK_META_MODE} == "yes" From nobody Thu Nov 14 22:40:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqFTs0Q4Tz5dFbq; Thu, 14 Nov 2024 22:40: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqFTr4nKtz4NjN; Thu, 14 Nov 2024 22:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731624016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w39HKgynLjPyRj/eKf6uDs7qprwl8QWcTOuEhVPjwJ4=; b=GQzR7YKGaz66MYfaywQhrMx1Y+GSpPivSp/+jaGT/KNmQBg0qtqExeJ4+/UvVr9phQodcu HWMTGXu8IMtyFFdJIYZXwa44KNZWUrgTTpBSH9Jwx6eJcZobEBMMHsGCU6ii1mSxZVLajC XfLlnZDgvJwMS9PCLVM4OUKRtcPNT8c8OGgHj/Eo9JnorWxDd1gzb2rxwuUDdq+7YWWeIX gVK0DhCNg4bd7GtjNSCKeT+AlKtHB2KihjXZzWwMeDpUkLOrdUAhgP6GJ3On94/s2Qx7g2 LKLzpbStaTK2H+2WI/68VUeh4RjoY78DNGKBZOKp4kux6bvjrRZkQpgXSeKhkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731624016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w39HKgynLjPyRj/eKf6uDs7qprwl8QWcTOuEhVPjwJ4=; b=X/whp+3QOhNeKPVOm5aNW8CBiFvFs0NR9GCcXtx3J9Vfi1Dwd82S4WQihZiB9tiPWhhQVs RFskYyB+KzMGWfj2C/dhz4NstjB6FhQ1dhE/p7y69/nqfmoEOCjX4bM7z1MeTxgzEyq0Vk pTAsNLLetVBZZ0jDPF8tCseR/iyazDsM2tpDlqQA68jq/L7zOdxwGpbnsgdNAHoLTJZclP 6IQNlG1QjbwXC6lyp3wNzcEnfZUk5rhwOnrg/lZQV5PrPXRjGbP7i09kC9by3mFVr2/b8w FoyKnVp9MacyktTPoFnevFfKcs5aTGl2ZAkexaN6dm1TN+MPEdt2TOgU0VPplg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731624016; a=rsa-sha256; cv=none; b=OjYwUC8m2P1mbQrR+VYzQmIyBaWjSk/wtodHlB5OXH3AZQr59vo/EinO87I6jYDQ9L7vQd x0H+OMntPsGbkBAIgARF3kUYRu1dcXb1RKoTMVcAH++NYerX7WcmSDatIUEIyzbEEiBm9t lbTi/8uwbbyFiPHV9p9DSy/CfDiBQBeSxr//QLU3OASycQzl4BRHWpwhqLEJHV7vIs5mrA jwbah/ysyZ9l78NUy+TXGZtZleoxyIeBZbAeTpl1LiEmqxUeICc1moWClqcq5AKdFljcrW gp+5QNX6szlwmJahU+nPHGGaN+a2loDzoqUDGQx00OQsZQPWOW9ora6oerhXBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqFTr4NbFzxS1; Thu, 14 Nov 2024 22:40: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 4AEMeGBu070682; Thu, 14 Nov 2024 22:40:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AEMeGDc070673; Thu, 14 Nov 2024 22:40:16 GMT (envelope-from git) Date: Thu, 14 Nov 2024 22:40:16 GMT Message-Id: <202411142240.4AEMeGDc070673@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: 012bb7fdafb3 - stable/14 - release: Exclude container images from globs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 012bb7fdafb30032f7a09212ffd6398eb4230b07 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=012bb7fdafb30032f7a09212ffd6398eb4230b07 commit 012bb7fdafb30032f7a09212ffd6398eb4230b07 Author: Colin Percival AuthorDate: 2024-11-14 22:30:44 +0000 Commit: Colin Percival CommitDate: 2024-11-14 22:40:07 +0000 release: Exclude container images from globs We use a *.txz glob to get all of the "distributions" which comprise the FreeBSD release, but we now (optionally) also build container images which are .txz files. Grep those out from the distribution lists. A better long-term fix would probably be to generate an explicit list of the .txz files we want rather than using an overbroad glob and filtering out the files we *don't* want. Fixes: d03c82c28da8 ("release: add optional OCI images") MFC after: 1 minute Sponsored by: Amazon (cherry picked from commit 47866cdcc7278faa27250dcea16374231c676050) --- release/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/release/Makefile b/release/Makefile index 4f95d3ba32ec..36c47e5ad454 100644 --- a/release/Makefile +++ b/release/Makefile @@ -177,12 +177,12 @@ disc1: packagesystem -DDB_FROM_SRC ) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ + for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done .if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ + 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 @@ -247,12 +247,12 @@ dvd: packagesystem -DDB_FROM_SRC ) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST *.txz; \ + for dist in MANIFEST $$(ls *.txz | grep -v container); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done .if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST *.txz; \ + 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 @@ -300,7 +300,7 @@ mini-memstick.img: bootonly-memstick cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} packagesystem: ${DISTRIBUTIONS} - sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST + sh ${.CURDIR}/scripts/make-manifest.sh $$(ls *.txz | grep -v container) > MANIFEST touch ${.TARGET} pkg-stage: dvd From nobody Fri Nov 15 10:48:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfW21Pkz5cykY; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfW1D11z4Wbd; Fri, 15 Nov 2024 10:48:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v46nF8vHp5sycttzce9ceSmumD8xuhSp3QbJxes4mVU=; b=qkeNtbjqNQ2cKfikr6FeONXSgVWk4V4jbpnvq7SplyrnfoB6B7Ox4ByKk+os3y0krtZ9hl 3wp3rhCLgwlRtRKB/E1M1Z9JVUBqbXLbPp2WJYsEL0vNcShlYZ8JWrw35NBedoEiDPMP1N UTgKI7DplTw1TS/Zh8f7JWVeFg4M/nciEZkEAcR22ya1KkB0PSWVf6KyCp+9p2t1mTtA1A MQzUnwHvl+jIpPBVt90OB+neW19LmZEQTUJyaIVUziIVQC7Z51zqIu7RXSRppFq/qiaJam R+/w8n9b+S4VR00zP4KxJcEtUdTvn9U6gSkFeqV3rjmX8J7PLtZPzhGLr4czDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v46nF8vHp5sycttzce9ceSmumD8xuhSp3QbJxes4mVU=; b=pcHUpbRey/FUgVXjfNo2pmPWhajCome7AlGU+BQz+9UvXVMBna5Jwb2NUdrv1r2wbANwbq 4kDVSvzMN01JBobweV+Wzir6Gr8498YZzbyGGz6c9CmHW0e2dxuYtZxa5qc8VnGl/un1TA 2MHBNeZukVJonxef+Z6EbrlK6quuigUujhea4MpXq6a1E+NA66jhZ+9/sSGOSpvnsh6CtG 7/XXmOqacg4Fwg0z2jW/7/9JFOFDdzeohq9xNdSPxoUBbPhmJHfw3/ZumIh7H3xY04h6pi ond+HV8o2QHb1IrvDeOJK94ZRb0AT9fPt+aq6nV0P9twZMtQu/8cTzQyuuLzZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667731; a=rsa-sha256; cv=none; b=wm6fxQBT3WCeHqErzrMKkqaMgFVPaV1JVKhBANmE8GjfEn5xCTTAXppu2JbIlDdnuiJQMe 2mEd+7YTKQCSv55Evk89XeYchwQaVF0e1UweUXiGQ2fczU3wXttAFhcjz5oVwUVAQPXwAw Il1m0/ZwYOUQocKA1C3JLYbjerGkh+3TOIVH+q4mVBx6wLcV5ZvbKNXdEvh3+4rGpD1+g1 FPzkfT+tJ+vzX6TsHfa0e4hmuoKE/O7cHxkiwJHhoBPic694zKEMbwpvQ5U3KoXL9gtRsi XUl1Fc9UuFKX9aWD8vpZLcATUidQVukG/eaQL48qwvZBggGWdEPi8Or29Vu0/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfW0jr9zKSc; Fri, 15 Nov 2024 10:48: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 4AFAmpN7017635; Fri, 15 Nov 2024 10:48:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmomp017632; Fri, 15 Nov 2024 10:48:50 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:50 GMT Message-Id: <202411151048.4AFAmomp017632@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: 3db3a7617b82 - stable/14 - cred: supplementary_group_member() => group_is_supplementary() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3db3a7617b82c341c6beaec70123e2b8644c3e1a Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3db3a7617b82c341c6beaec70123e2b8644c3e1a commit 3db3a7617b82c341c6beaec70123e2b8644c3e1a Author: Olivier Certner AuthorDate: 2024-07-16 20:55:53 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:35 +0000 cred: supplementary_group_member() => group_is_supplementary() The new name seems more immediately descriptive. While here, constify its signature ('struct ucred' isn't modified). While here, replace "supplemental" => "supplementary" in some comments. No functional change (intended). Reviewed by: mhorne, emaste Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46906 (cherry picked from commit 2e031fd0719b567e66198bc76c8a1c6c9b7f2920) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index d7de7deb2c0c..19279742ea81 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1280,13 +1280,13 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) * Returns whether gid designates a supplementary group in cred. */ static bool -supplementary_group_member(gid_t gid, struct ucred *cred) +group_is_supplementary(const gid_t gid, const struct ucred *const cred) { int l, h, m; /* - * Perform a binary search of the supplemental groups. This is possible - * because we sort the groups in crsetgroups(). + * Perform a binary search of the supplementary groups. This is + * possible because we sort the groups in crsetgroups(). */ l = 1; h = cred->cr_ngroups; @@ -1320,7 +1320,7 @@ groupmember(gid_t gid, struct ucred *cred) if (gid == cred->cr_groups[0]) return (true); - return (supplementary_group_member(gid, cred)); + return (group_is_supplementary(gid, cred)); } /* @@ -1333,7 +1333,7 @@ realgroupmember(gid_t gid, struct ucred *cred) if (gid == cred->cr_rgid) return (true); - return (supplementary_group_member(gid, cred)); + return (group_is_supplementary(gid, cred)); } /* @@ -2327,7 +2327,7 @@ crextend(struct ucred *cr, int n) /* * Copy groups in to a credential, preserving any necessary invariants. - * Currently this includes the sorting of all supplemental gids. + * Currently this includes the sorting of all supplementary gids. * crextend() must have been called before hand to ensure sufficient * space is available. */ From nobody Fri Nov 15 10:48:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfX4cKTz5d073; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfX3ccnz4WQG; Fri, 15 Nov 2024 10:48:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X46vbDeskr6k5kdNwaOvyQC7yKYitlHWOY07ptu1cwE=; b=S9RVfDTMpKXgSWwIOOEtzt1dUqbZSUum21i9OySAJJ1O1lnX2lrlYnC0J1g7zyJMu1+84Z u7wsnmhO8yw6RihhJ0oNOYY1nM/ELmDs/EZCBdUBqwosSrFuVRdUtP0cei07IfEhtCxxYZ jdp1hBJ6rfwuxcfd5n8nX9JqROld38yTfO/bVtdR4331r43smulfpRm+6yZODJSKP/40m0 +2dSLiL5oHMZvhFRL2ASfWlWVSbBWUKQMg8zTvbRAvXIiHvmK42OZshsopYUpihJo+AP9v QU3ZAXL+5tRI9smi3v6Ces/+rcUl3bYoVnTI417fPgpCGXClR/ZJyaQTNO/S+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X46vbDeskr6k5kdNwaOvyQC7yKYitlHWOY07ptu1cwE=; b=HlvS41QEeykJHK9Xdgy9SVWknrvGruiGqytoWHNsCWBajhYJTYdNFg49tHq5lX1jTdb2PH Gly9L44VzVzFLwWNHs/Rg5gHFbJiqdSJuPAwT33xeJmT3KLaZidUrfEgJQQsPRrerqj9Q5 73PyTUt2UCP1QfXQ6RHqDrECPxxP3x+uBDBQnjtmfqCWYcA5qo2Zv0RpNG52i0XK3i5eJ+ rQ82l/tK3skWk/uXBr8AS7vRQtMDplJdL5KkOrXrwQ/7OGfGJDpDI4Lb3sU7yh3V6ENv62 QPIPdLXGEMOQEK4h4UKZbKl/j+2CojBkASXhZrcVZvtbYYZRJemxfq3PX9WO4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667732; a=rsa-sha256; cv=none; b=HNGSfJZb80CRoF3tirNytBzkNdULf4/xicA9omB77ToQEdEMXxpoy27TgL9Xn6x6Jw3UH1 BOIAVr3dFBaFxA4U9MKCLjCCSlpQw6nvIHr44jX+tI1at6nZXpsLbH3j+o77dj3bM2IsmY oihJzs1s1nUKpP7T8ypEH80hKvwmk4IS4hVZ0OG4zHrC9oXJVJ2VzRj5usENguwPi0aavx 3Nif0PXYll6Rt0BQuigyAq5EYj5JPRSx6qmjHwdblDbPOYwiHLowUnUbQ4J7HPUkhR1/9c Vic7KUZ41WBlUCoNRdmQHLDP4j5rJ9SrrdFvP/26TTIFvK2f9VySnVK57Md2ng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfX2j66zKVq; Fri, 15 Nov 2024 10:48: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 4AFAmqJs017685; Fri, 15 Nov 2024 10:48:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmqW6017682; Fri, 15 Nov 2024 10:48:52 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:52 GMT Message-Id: <202411151048.4AFAmqW6017682@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: 11b90b298908 - stable/14 - cred: Constify signature of groupmember() and realgroupmember() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 11b90b298908f418f93923c971f2c0a214f2060e Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=11b90b298908f418f93923c971f2c0a214f2060e commit 11b90b298908f418f93923c971f2c0a214f2060e Author: Olivier Certner AuthorDate: 2024-10-30 10:59:49 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:40 +0000 cred: Constify signature of groupmember() and realgroupmember() Reviewed by emaste Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47343 (cherry picked from commit b15110fb0dc6f0480482616f22bda3a2a19fbd80) Approved by: markj (mentor) --- share/man/man9/groupmember.9 | 6 +++--- sys/kern/kern_prot.c | 4 ++-- sys/sys/ucred.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/share/man/man9/groupmember.9 b/share/man/man9/groupmember.9 index db2138ef088a..e7e28bae3ac9 100644 --- a/share/man/man9/groupmember.9 +++ b/share/man/man9/groupmember.9 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.Dd August 18, 2023 +.Dd October 31, 2024 .Dt GROUPMEMBER 9 .Os .Sh NAME @@ -35,9 +35,9 @@ .In sys/param.h .In sys/ucred.h .Ft bool -.Fn groupmember "gid_t gid" "struct ucred *cred" +.Fn groupmember "gid_t gid" "const struct ucred *cred" .Ft bool -.Fn realgroupmember "gid_t gid" "struct ucred *cred" +.Fn realgroupmember "gid_t gid" "const struct ucred *cred" .Sh DESCRIPTION The .Fn groupmember diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 19279742ea81..be7a71ae6879 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1307,7 +1307,7 @@ group_is_supplementary(const gid_t gid, const struct ucred *const cred) * supplementary groups). */ bool -groupmember(gid_t gid, struct ucred *cred) +groupmember(gid_t gid, const struct ucred *cred) { /* @@ -1328,7 +1328,7 @@ groupmember(gid_t gid, struct ucred *cred) * groups). */ bool -realgroupmember(gid_t gid, struct ucred *cred) +realgroupmember(gid_t gid, const struct ucred *cred) { if (gid == cred->cr_rgid) return (true); diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 7c9e46e47774..db38cd99e5bc 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,8 +158,8 @@ void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); void crsetgroups(struct ucred *cr, int n, gid_t *groups); -bool groupmember(gid_t gid, struct ucred *cred); -bool realgroupmember(gid_t gid, struct ucred *cred); +bool groupmember(gid_t gid, const struct ucred *cred); +bool realgroupmember(gid_t gid, const struct ucred *cred); #endif /* _KERNEL */ #endif /* !_SYS_UCRED_H_ */ From nobody Fri Nov 15 10:48:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfb1q6Fz5cyq5; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfY2ymqz4WYL; Fri, 15 Nov 2024 10:48:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cYmSevj93GMj4G7IIgv3A4r8Za7jx2hPvMA0B/6H+9I=; b=nfyu06wpTBtujkUQ2OXxAzx5b046ldk/uyZvKVJhTRCIhTc94+LfxiH89g03G19LSqShpD 7gV7yOVJbvu2hTA8Dan4DoSt/taYbiwFSYlmcsnqtoO87/YMmii7YG/ZoThQ4qBXac11e1 YlxTEHtnSl2mVW150shffSAPX7QpVKU+48xWnWkUiSRVMxi3rYuphw+82TlZn5igbnUraU M2jUNOZrwTE/akZSyJPnA9kvp3oLbYBxoqVtfAdSEl9KjLh3bXQwgknjxQu0nrBiD5CtwV Dgpkg7RHkNwZU0wWZAlkxzWl2XWCUzjJj2AeYgx7ASpus5uXjLy1TXFikBOXpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cYmSevj93GMj4G7IIgv3A4r8Za7jx2hPvMA0B/6H+9I=; b=bz65x04VMxtT2OYD3NvmIv2bEmce3W1dBi3lLdqEDvwBcU2493Dj7xIFH6i+j+9V62EzVA ghaXVARQ3FiA8wD70KbUVLpWN+/MbxjGR7iMVxzIhLu102h2td9TG/DRjD1s3D/hF+3TuR YYx+BggehL3USmQeeltTN/F9TWL9I5Z7fieo9lMAha3l2xjUPAdaIUJ4gLwQKsgw9lNf2f wkUBe3+efKpe1WnNjTyXejeOoqQzFqUqTGGaNTZfOof7lj4YukdBslS7d3yigAG9Pz3rTs tr7YuHS5dZgBqz16U2mpIH/94OWVZZAodo9lv8yLdBKEf8okwsK1wMPyIWTv0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667733; a=rsa-sha256; cv=none; b=FYMQJEuJWsRWIDiTJ94MWiBqv5QIkubViHGw+Gbv+bqtLqiHfa3c2QopeWkOLEjL0mMSv0 R+72saRvO/5PuzrycYg4231SVfNyxivml8p8PtJcxwY7yuPxvvadX1YxQaXeBTw4lS34YY P9yr42b4pDMpaUCaykf0m78g4CgCzBRQcJkNdlPn1RSxBzuQZGCRcWFckAY8Lalp5SuCaA GIgDOeKXXdIk5K1R+obXfdOlQHJAyy6KgotuuUnbhRS4/1X/MD9sEYuJji8Lyc6W5GpJ00 mUHMnCzMFsNPlIl6iPeH2v0658G8oc+goXuDQv5IlqT/v7UjOGbF5u0+KNiONQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfY2QF6zKF2; Fri, 15 Nov 2024 10:48: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 4AFAmrPK017730; Fri, 15 Nov 2024 10:48:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmrOo017727; Fri, 15 Nov 2024 10:48:53 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:53 GMT Message-Id: <202411151048.4AFAmrOo017727@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: 97c0b4e0eacd - stable/14 - cred: group_is_supplementary(): Use bsearch() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 97c0b4e0eacd8d163795c11ce790259db56af935 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=97c0b4e0eacd8d163795c11ce790259db56af935 commit 97c0b4e0eacd8d163795c11ce790259db56af935 Author: Olivier Certner AuthorDate: 2024-07-19 11:23:19 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:41 +0000 cred: group_is_supplementary(): Use bsearch() This makes that function use a more efficient version of binary search instead, and removes one more hand-rolled binary search code from the tree (and the kernel binary). Reviewed by: mhorne, emaste Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46907 (cherry picked from commit 372605478c6fe2c628f25428af201f866d7eb015) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index be7a71ae6879..ab2adbffa23b 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -832,6 +833,15 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) return (error); } +static int +gidp_cmp(const void *p1, const void *p2) +{ + const gid_t g1 = *(const gid_t *)p1; + const gid_t g2 = *(const gid_t *)p2; + + return ((g1 > g2) - (g1 < g2)); +} + int kern_setgroups(struct thread *td, u_int ngrp, gid_t *groups) { @@ -1282,24 +1292,13 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) static bool group_is_supplementary(const gid_t gid, const struct ucred *const cred) { - int l, h, m; /* * Perform a binary search of the supplementary groups. This is * possible because we sort the groups in crsetgroups(). */ - l = 1; - h = cred->cr_ngroups; - - while (l < h) { - m = l + (h - l) / 2; - if (cred->cr_groups[m] < gid) - l = m + 1; - else - h = m; - } - - return (l < cred->cr_ngroups && cred->cr_groups[l] == gid); + return (bsearch(&gid, cred->cr_groups + 1, cred->cr_ngroups - 1, + sizeof(gid), gidp_cmp) != NULL); } /* From nobody Fri Nov 15 10:48:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfb3kRVz5cykc; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfZ50mfz4Wkg; Fri, 15 Nov 2024 10:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vAlciRPseOjYlVMASBB3jOG3bCEgCq5bxJKMx9OTNM4=; b=xy4c+15nt1CUI6NhAzVBd0WBOLggyZhLro34AN6f1nR2UGJSHyTgj3p0MsHOm1QK/wfln6 WdqQQ+mOvZBRizj4P3klnYZqaouNGh9O3xkl3xtnC4atTI1XRg3yquKJPLV3I04jYgG9Uv Z074NVndyYDRZ0wzPHAzLEe7bOTzNa2dwMQ8r9kvLs0rBJ1bP6ifQTdU6FqRqwrZYuqmEL SybZZR8X4o+q+8qNWZ0rcM0x0uJye3o+DLGO/bwD1OUsU110aUt42qs9dYuzfIRbrK17Sm ISgqAzLD/SqOT1c7zGWuMjyTq/DHykzHDWf/Kp0950OBHIMti4HdukTwNoEEeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vAlciRPseOjYlVMASBB3jOG3bCEgCq5bxJKMx9OTNM4=; b=X2xpUaorFJkLCksK7lOnYcw9oINk5D+QtGnSl5g1Kkd7Jr549BKk3M4bNnV1NpjoWUIyJV z2UaTv9FjZ+weGhDYZrEeDen4RR6ZawfsT+yplh1gihM5+KaM+GNYTKOy4aeyTtL071GD2 esELAGDKnF2rSmEWN5kngyX4z8Q7dQJUJD8psVldd9Uv15jNx5Ye6PIzt139mgD0QyzUpF /0LsMI4njMoIqoZ026NMNsC1E7G1m8/6PiyfLK3Qlr6LFU+upi6iZtCSEdj/lo8PVIpsL1 6OwLvSwzz5gRlnaf4dj2tXGoiI45Pie4s/blBuzuMuxe9Y2B2n+QSIKiyUIODg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667734; a=rsa-sha256; cv=none; b=rMMzXPH5SqOfbvqrxzNzVlKzqL4Gh4qqTM6DdZpj+hXmUhmKZAjRxtcdMYEfNmJUWplgyI Wb6FSC/VWC4GwLFbQtl3o+feGRmVLO3FOqHUEEIwcDkwp0Y/lguD7GMbhMcMRUub1QlFRZ D9DnCkpvqhGurqW3m2DQk1tKuVQvJzyQvhfjOu23ATm5nStoGK2jsTaziot7atod+AhDl0 2w7x8HMfagNK242bvio2J+q+jgTbX/JOvafbkmVXnon69A20IESjyldOkSUDh5t85N9A9J esUl+PANfCaUyj7q+x+3+bi1CR4Q03CaEgoF9gpd047s9tBYLy3K8unwhFxUrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfZ3jxqzKlG; Fri, 15 Nov 2024 10:48: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 4AFAmsBW017777; Fri, 15 Nov 2024 10:48:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmsoH017774; Fri, 15 Nov 2024 10:48:54 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:54 GMT Message-Id: <202411151048.4AFAmsoH017774@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: 923a50140b2b - stable/14 - cred: Make group_is_supplementary() public; New group_is_primary() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 923a50140b2b7e39a51606f27b6fc44e8673aee1 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=923a50140b2b7e39a51606f27b6fc44e8673aee1 commit 923a50140b2b7e39a51606f27b6fc44e8673aee1 Author: Olivier Certner AuthorDate: 2024-07-19 09:54:35 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:41 +0000 cred: Make group_is_supplementary() public; New group_is_primary() Reviewed by: mhorne Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46908 (cherry picked from commit 6369544278b2e4fb5203b10dab466ff7c72c0a25) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 2 +- sys/sys/ucred.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index ab2adbffa23b..0430464f6899 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1289,7 +1289,7 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) /* * Returns whether gid designates a supplementary group in cred. */ -static bool +bool group_is_supplementary(const gid_t gid, const struct ucred *const cred) { diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index db38cd99e5bc..21804eb6aa8c 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,6 +158,17 @@ void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); void crsetgroups(struct ucred *cr, int n, gid_t *groups); + +/* + * Returns whether gid designates a primary group in cred. + */ +static inline bool +group_is_primary(const gid_t gid, const struct ucred *const cred) +{ + return (gid == cred->cr_groups[0] || gid == cred->cr_rgid || + gid == cred->cr_svgid); +} +bool group_is_supplementary(const gid_t gid, const struct ucred *const cred); bool groupmember(gid_t gid, const struct ucred *cred); bool realgroupmember(gid_t gid, const struct ucred *cred); #endif /* _KERNEL */ From nobody Fri Nov 15 10:48:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfc6f0Yz5d05P; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfb59hqz4WmT; Fri, 15 Nov 2024 10:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrJtVIiL/KwR1ddkyLS63HTzaVPm38hbGLQXpV0MdLE=; b=IWDViOQ8mQyyXcOi9mVnHCnoB1IwpFkRb2rI7iN1Xlll5PYriXMu1sd7WB2JkizSLvWvMd lWGT7khQtKoLuURgiFlF2PRaUBq1XZYMyi1auztJ+kL+ZNLs9De8+uO9ABnbrY3UR6eApU sWTLMim4Rk+q51Mtx4wTzsp0/ENdn5KTehvG2ShqNGSS748Ufz+XVpU387pNtdd8sEg8qx tQR974RcS/TI3CkBUN4MLbGtEImEYX1KsXezvBKjLSLNmFrSpz0iyXGmBNegcP0OhWYVHj SwofqLe8JgMorp0z3Dcvx4tWziQc37CEfu1wwOvtEX9Dz/hJ/KtX0uf9CHAyIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrJtVIiL/KwR1ddkyLS63HTzaVPm38hbGLQXpV0MdLE=; b=B1q4lmVEbKdoMokX4bkMoMs0m/jEIFnSO/DOLTQ0hceiQLk2YBTtQy7bf1bbGzq3a44Tto zHw9EToWHq7hSxM9T7U0rgqqc/iHig5rB15I652pPwY5pb8v0NcmEyNkYsCol23nxaBscL 5SBnFnH/iNF+QLDA1wUAyTOc4w5Fu95elMKFK+mrbBuakSTNc2DZ7D9BG3v1mQL2bQQIWX oXvIBwbaP/vZm5ndyuPwTBSd0LDby2XO8++cDsSqKrEY4VRscenwtLnY5Z8wxqwYWeOXmz pE3Y7eEx6AtfNSIsQE4uf2og6NzyHQbRdBKFhxdgtb3ThYx6sje+ElSR14aaww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667735; a=rsa-sha256; cv=none; b=ybqhHPpBuCNmce0CMlaG1AZNOEB8G57XaveEDOhZRjRtGWfrdgki0gVrq1E6ySFRBHob+U lm+L49GEzYyzwAVvkRm7eYSXAS7Fc/HahPpbHURZGoIJWFI3ac6TtbDaiZJrWAWUuoO3ie nbcdwlLPH0TuKkDPImqtpK3noqKHr8PWxchqmXANu452tnxMq5wE/JbOrhKiLkuUTEMxZl cSZ1aPIeFDl5HAqVudV538VMZOq7lkfl0TNirK1Z7EqTarSPiJnahs3r3cPKGwGoImsdzs HJ/fSy7FcWFhQ1yhVdATlNTNkMqcGsX/ouPNR8+pSX33X7nB9KYjDSQY1f3kCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfb4lKYzKF3; Fri, 15 Nov 2024 10:48: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 4AFAmtCw017841; Fri, 15 Nov 2024 10:48:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmtIK017838; Fri, 15 Nov 2024 10:48:55 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:55 GMT Message-Id: <202411151048.4AFAmtIK017838@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: 350e2b1940df - stable/14 - cred: Separate constant for the number of inlined groups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 350e2b1940dfd457abd55bf0ba7c19274491496c Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=350e2b1940dfd457abd55bf0ba7c19274491496c commit 350e2b1940dfd457abd55bf0ba7c19274491496c Author: Olivier Certner AuthorDate: 2024-07-16 20:37:44 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:41 +0000 cred: Separate constant for the number of inlined groups CRED_SMALLGROUPS_NB now holds the number of inlined groups in field 'cr_smallgroups'. XU_NGROUPS stays the number of groups allowed in 'struct xucred'. The first is an implementation detail, while the second is part of a public interface. All mentions of XU_NGROUPS in the tree have been reviewed and only those concerning the implementation detail have been changed to use CRED_SMALLGROUPS_NB (they were all in 'kern_prot.c'). No functional change, as CRED_SMALLGROUPS_NB is set to 16, the same value as XU_NGROUPS. Reviewed by: mhorne (slightly different version) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46911 (cherry picked from commit 664b9fcb1c051c17ba11d1e5e8a1db9938d76bd5) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 6 +++--- sys/sys/ucred.h | 12 ++++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 0430464f6899..dc2ab35dc5df 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -811,7 +811,7 @@ struct setgroups_args { int sys_setgroups(struct thread *td, struct setgroups_args *uap) { - gid_t smallgroups[XU_NGROUPS]; + gid_t smallgroups[CRED_SMALLGROUPS_NB]; gid_t *groups; int gidsetsize, error; @@ -819,7 +819,7 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) if (gidsetsize > ngroups_max + 1 || gidsetsize < 0) return (EINVAL); - if (gidsetsize > XU_NGROUPS) + if (gidsetsize > CRED_SMALLGROUPS_NB) groups = malloc(gidsetsize * sizeof(gid_t), M_TEMP, M_WAITOK); else groups = smallgroups; @@ -828,7 +828,7 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) if (error == 0) error = kern_setgroups(td, gidsetsize, groups); - if (gidsetsize > XU_NGROUPS) + if (gidsetsize > CRED_SMALLGROUPS_NB) free(groups, M_TEMP); return (error); } diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 21804eb6aa8c..5265fa16907b 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -44,6 +44,14 @@ struct loginclass; #define XU_NGROUPS 16 +#if defined(_KERNEL) || defined(_WANT_UCRED) +/* + * Number of groups inlined in 'struct ucred'. It must stay reasonably low as + * it is also used by some functions to allocate an array of this size on the + * stack. + */ +#define CRED_SMALLGROUPS_NB 16 + /* * Credentials. * @@ -57,7 +65,6 @@ struct loginclass; * * See "Credential management" comment in kern_prot.c for more information. */ -#if defined(_KERNEL) || defined(_WANT_UCRED) struct ucred { struct mtx cr_mtx; long cr_ref; /* (c) reference count */ @@ -80,7 +87,8 @@ struct ucred { struct label *cr_label; /* MAC label */ gid_t *cr_groups; /* groups */ int cr_agroups; /* Available groups */ - gid_t cr_smallgroups[XU_NGROUPS]; /* storage for small groups */ + /* storage for small groups */ + gid_t cr_smallgroups[CRED_SMALLGROUPS_NB]; }; #define NOCRED ((struct ucred *)0) /* no credential available */ #define FSCRED ((struct ucred *)-1) /* filesystem credential */ From nobody Fri Nov 15 10:48:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYff4Vmxz5d096; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYff06H9z4Wmy; Fri, 15 Nov 2024 10:48:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wojtemnxgDbAN37Cj1IAiCN/Rw39//2IAhNjJ/yY9TI=; b=FSadsN8gTmJ3a0OW/7cwAsA4dGZ+a3QtoRnUZSLnnlmgXczpuLlVf95a0A8rvY2HWbv9YE RBhZkRLtBKA6zX9H/u1dQzxGQX43vS/gEIi+b7lkxrmptAOYzES5TKL8CbgGnpXCcImo04 jo9wrmGBODD3pBqpzaoN8btm2DvE6X+W+yZXh5DUytFyqc6mbZUlY5moiT/YUiuBAzNf8m +OgKE53BtEq1LscKdfcdvlasXoPeI1IsHnt2ymN5gj1di123RnAPmUoOrDsvmeFAHnmFsQ pwHXA5IJAjCj4PKufFfBymgTnsLLMkuf9Am57UbA9YHEXZFkRu3qcpGGv6cv1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wojtemnxgDbAN37Cj1IAiCN/Rw39//2IAhNjJ/yY9TI=; b=NdKtFYaDvZWloTDtllNZpobSZ7KF8ApMG31dErp2GDumyE5AMkMfAK0kViC95BSzij+XWC E/HpLOwWJwYYzErzXiRCEVFvqL0MVSwEHcMgbMrG6oz9rs7E2nHNXvM+AesHmCSBATToG2 Pd61V1lFdbaukqAClYA+IutXvGASsZpXIM7LpZcLZtmu7uI6Hcgy9+7zDqsbRjP0tORvnB 9uWhqWn4tjecLpbflytF0G5gk8u197PZsJ3sLqmYRuznoIfrH21jKwu6lh0PNtr02TjPlv 8AfP0vF0KG88/Ym9nIeCGib8MupIZGSm9WnTdFvfSx7D0TRZjNY/wRpsr4k3+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667738; a=rsa-sha256; cv=none; b=TTnXlcz1GuH3OgaLGA3i8pjJVTom4sEHAHfyEFFOwoukJG1Tva/CgiDS2msSo5IzceCnae veDXGrQ+eypV//FT7tMfFF94BbO+3SzcuNX8G9w5Mb70tu5NZP+MSD/06Ovv0dswnycrAf vT9aAUSnd7swqAgFe5yVXeY/Uw9XL6qAmcfjPU9p88K6YeGZ8YHWCKIaHHq3QDzGJc5szr AxYjA2RUHhQ7rkz3Ud48+1jetRPkRRMQz8z559HLKR5NKdcG3bChsHWjgddEaCAPXEOX4z XKP5oGaQitZt4mORwjah5oEHhszZi3l/YPlMhA+F/v+6hlvMeJo0CDejpjnJHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfd6YzQzKQr; Fri, 15 Nov 2024 10:48: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 4AFAmvMN017954; Fri, 15 Nov 2024 10:48:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmvdJ017951; Fri, 15 Nov 2024 10:48:57 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:57 GMT Message-Id: <202411151048.4AFAmvdJ017951@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: e657e1e95062 - stable/14 - cred: 'kern.ngroups' tunable: Limit it to avoid internal overflows List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e657e1e95062c7d06ac6c5dd128a270a4ac0d72a Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e657e1e95062c7d06ac6c5dd128a270a4ac0d72a commit e657e1e95062c7d06ac6c5dd128a270a4ac0d72a Author: Olivier Certner AuthorDate: 2024-10-01 17:00:43 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:42 +0000 cred: 'kern.ngroups' tunable: Limit it to avoid internal overflows As the comment introduced with the tunable said (but the code didn't do), make sure that 'ngroups_max' can't be INT_MAX, as this would cause overflow in the usual 'ngroups_max + 1' computations (as we store the effective GID and supplementary groups' IDs in the same array, and 'ngroups_max' only applies to supplementary groups). Further, we limit the maximum number of groups somewhat arbitrarily to ~17M so as to avoid overflow when computing the size in bytes of the groups set's backing array and to avoid obvious configuration errors. We really don't think that more than ~17M groups will ever be needed (if I'm proven wrong one day, please drop me a note about your use case). While here, document more precisely why NGROUPS_MAX needs to be the minimum value for 'ngroups_max'. Reviewed by: mhorne (older version) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46913 (cherry picked from commit 580904d995d53ccd2492140a37107442d8b36dc0) Approved by: markj (mentor) --- sys/kern/subr_param.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index c0a4ac747d00..cee70a842735 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -229,14 +229,32 @@ init_param1(void) TUNABLE_ULONG_FETCH("kern.sgrowsiz", &sgrowsiz); /* - * Let the administrator set {NGROUPS_MAX}, but disallow values - * less than NGROUPS_MAX which would violate POSIX.1-2008 or - * greater than INT_MAX-1 which would result in overflow. + * Let the administrator set {NGROUPS_MAX}. + * + * Values less than NGROUPS_MAX would violate POSIX/SuS (see the + * specification for , paragraph "Runtime Increasable + * Values"). + * + * On the other hand, INT_MAX would result in an overflow for the common + * 'ngroups_max + 1' computation (to obtain the size of the internal + * groups array, its first element being reserved for the effective + * GID). Also, the number of allocated bytes for the group array must + * not overflow on 32-bit machines. For all these reasons, we limit the + * number of supplementary groups to some very high number that we + * expect will never be reached in all practical uses and ensures we + * avoid the problems just exposed, even if 'gid_t' was to be enlarged + * by a magnitude. */ ngroups_max = NGROUPS_MAX; TUNABLE_INT_FETCH("kern.ngroups", &ngroups_max); if (ngroups_max < NGROUPS_MAX) ngroups_max = NGROUPS_MAX; + else { + const int ngroups_max_max = (1 << 24) - 1; + + if (ngroups_max > ngroups_max_max) + ngroups_max = ngroups_max_max; + } /* * Only allow to lower the maximal pid. From nobody Fri Nov 15 10:48:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYff43wnz5cygq; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfc6BTtz4WYs; Fri, 15 Nov 2024 10:48:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/X1gWd9dj90hbnmFheO5gKJaWntPkTUM1f55aqlurWc=; b=xZf5I022kvk+3yCIHurxeMs3UAYmDoutJUyxgzH2sZyjOQbaYo8ncek4F34y+5PlXoryZx 1pTpzcWExiVBN47zq9TX6ep9+QV6XwegHwqY1lp4rbE1B2fcnU+ffdQ4I+mYD3dlcCBsbr WEwkdkVYXwi11FVnx8RVn0WeDt2DXm+ViWIBeoDdG3BALV+7cWkewiHfxz1nMZ1dZiIlxp kXzIukZH7DBoQibIVtTQAs32qKvhMuGgbpefg4jom8I8YH8EfXWHfx73xTvD1Knb27gqff oFhjvWbhEmZ0PFS64peAe96c/Cnzf0UhNDXlgd5D3Gq2SXz0soIOoPD/o0fwGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/X1gWd9dj90hbnmFheO5gKJaWntPkTUM1f55aqlurWc=; b=Ynvxgwm/lhRa7UN9RUBGQepz2JBOKoAIlzOSAJHx0VKaVfVzURzGMhtRJgzKWiuy++d919 6nE5EUcpid/K5H0e70i35JO9okdVbak/S4p991Q0LTSebRVsOwaAFOb1K6T+/1+HaTMbhk ZaRFNh0muoXJFqqgbXQDyfxYgTwkaQIP7cemNRW5IjLzQd6J4dvE0XVszo9wo0dBdrzH8L nNrf3opYlOuMg+QvFJVqBCWE5dtRHPIwnUX1zBnDMekXczzhQ9HIQv5w5krkdQx9JITBmg aCDBXBx9b56kAtL4i9xwnGe3juO0yfqvoCHwQGP4KENwJjNpSq7UipukULUi3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667736; a=rsa-sha256; cv=none; b=qJ52WFhLj5CMnrG+V69vWi693Nil3w829js0OXhI8/ZhBxCWoCPylOfzQX7GVwvk9lpDx8 gmF2LZcCjng2xZILcr49bE8OyVCzVQbxfZM23osZH26K4QFW1aDDZi+BB6YQXvInvoaBaM 63zrL2lJe1sYTadfko8BuzPJ4gbtMfY3TXBHOPITvQk0/Ojxc3QuVYKOh26mNhGcT3F05v qAJJgUL0W9DpxJ10THaq2SUcfksEwf5PErwboez47MYeJwAr+zpKPwiRUOK1iiVdaGoA/U WUSljTkZGwnWjRl5Fsm2jG9um1A52/HeJkaiS/yr14J6yNunrjx982zSCaWhWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfc5XgTzKSd; Fri, 15 Nov 2024 10:48: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 4AFAmuJw017898; Fri, 15 Nov 2024 10:48:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmuHm017895; Fri, 15 Nov 2024 10:48:56 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:56 GMT Message-Id: <202411151048.4AFAmuHm017895@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: 5d10a05c6dfa - stable/14 - cred: kern_setgroups(): Internally use int as number of groups' type List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d10a05c6dfacd30a2691e92eb68cfabb6e94104 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5d10a05c6dfacd30a2691e92eb68cfabb6e94104 commit 5d10a05c6dfacd30a2691e92eb68cfabb6e94104 Author: Olivier Certner AuthorDate: 2024-10-01 16:46:46 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:41 +0000 cred: kern_setgroups(): Internally use int as number of groups' type sys_setgroups() (and sys_getgroups()) was changed in commit "kern: fail getgroup and setgroup with negative int" (4bc2174a1b48) to take the number of groups as an 'int' (for sys_getgroups(), POSIX mandates this change; for sys_setgroups(), which it does not standardize, it's arguably for consistency). All our internal APIs related to groups on 'struct ucred', as well as related members on the latter, treat that number as an 'int' as well (and not a 'u_int'). Consequently, to avoid surprises, change kern_setgroups() to behave the same, and fix audit_arg_groupset() accordingly. With that change, everything is handled with signed integers internally. Update sanity checks accordingly. Reviewed by: mhorne Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46912 (cherry picked from commit abd39811cd7e4bb928da503f4a5c79364ac8d0f5) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 16 ++++++++++++++-- sys/security/audit/audit.h | 2 +- sys/security/audit/audit_arg.c | 8 ++++---- sys/sys/syscallsubr.h | 2 +- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index dc2ab35dc5df..3052dc44d828 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -815,6 +815,15 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) gid_t *groups; int gidsetsize, error; + /* + * Sanity check size now to avoid passing too big a value to copyin(), + * even if kern_setgroups() will do it again. + * + * Ideally, the 'gidsetsize' argument should have been a 'u_int' (and it + * was, in this implementation, for a long time), but POSIX standardized + * getgroups() to take an 'int' and it would be quite entrapping to have + * setgroups() differ. + */ gidsetsize = uap->gidsetsize; if (gidsetsize > ngroups_max + 1 || gidsetsize < 0) return (EINVAL); @@ -843,13 +852,16 @@ gidp_cmp(const void *p1, const void *p2) } int -kern_setgroups(struct thread *td, u_int ngrp, gid_t *groups) +kern_setgroups(struct thread *td, int ngrp, gid_t *groups) { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; int error; - MPASS(ngrp <= ngroups_max + 1); + /* Sanity check size. */ + if (ngrp < 0 || ngrp > ngroups_max + 1) + return (EINVAL); + AUDIT_ARG_GROUPSET(groups, ngrp); newcred = crget(); crextend(newcred, ngrp); diff --git a/sys/security/audit/audit.h b/sys/security/audit/audit.h index e7a9c83afbb3..b87dd52e0773 100644 --- a/sys/security/audit/audit.h +++ b/sys/security/audit/audit.h @@ -98,7 +98,7 @@ void audit_arg_rgid(gid_t rgid); void audit_arg_ruid(uid_t ruid); void audit_arg_sgid(gid_t sgid); void audit_arg_suid(uid_t suid); -void audit_arg_groupset(gid_t *gidset, u_int gidset_size); +void audit_arg_groupset(gid_t *gidset, int gidset_size); void audit_arg_login(char *login); void audit_arg_ctlname(int *name, int namelen); void audit_arg_mask(int mask); diff --git a/sys/security/audit/audit_arg.c b/sys/security/audit/audit_arg.c index 7b7fe34ccda9..db621db1574f 100644 --- a/sys/security/audit/audit_arg.c +++ b/sys/security/audit/audit_arg.c @@ -264,13 +264,13 @@ audit_arg_suid(uid_t suid) } void -audit_arg_groupset(gid_t *gidset, u_int gidset_size) +audit_arg_groupset(gid_t *gidset, int gidset_size) { - u_int i; + int i; struct kaudit_record *ar; - KASSERT(gidset_size <= ngroups_max + 1, - ("audit_arg_groupset: gidset_size > (kern.ngroups + 1)")); + KASSERT(gidset_size >= 0 && gidset_size <= ngroups_max + 1, + ("audit_arg_groupset: gidset_size < 0 or > (kern.ngroups + 1)")); ar = currecord(); if (ar == NULL) diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 87e29f5ca5fc..1b34a3db8223 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -312,7 +312,7 @@ int kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou, fd_set *fd_ex, struct timeval *tvp, int abi_nfdbits); int kern_sendit(struct thread *td, int s, struct msghdr *mp, int flags, struct mbuf *control, enum uio_seg segflg); -int kern_setgroups(struct thread *td, u_int ngrp, gid_t *groups); +int kern_setgroups(struct thread *td, int ngrp, gid_t *groups); int kern_setitimer(struct thread *, u_int, struct itimerval *, struct itimerval *); int kern_setpriority(struct thread *td, int which, int who, int prio); From nobody Fri Nov 15 10:48:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfg2jFDz5cymp; Fri, 15 Nov 2024 10:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfg1DX6z4WyW; Fri, 15 Nov 2024 10:48:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTGMVk8OCTrGW6YMwtawWh8XeDshnKN6tyHeWQ6poxg=; b=cQ4GRC+w5wyl7hRV7ehGN5EQWvHINzTYKLXENRkV5QNamBY8+pv+vCVxTbe8biWjg99Sy9 j8mePAkQZo+PspdfgrjkLHCPpBB/FmJpMXZOkxU2TUt2ly80HKnNY16OxE2sczKfQOGrmG EoG7AnF8rqXIfoB6P7CXJk0F+4LiB4s1hBfAwoWZarJ+X9P29Sc7wIiS0hlUccClMKtdz7 y8OdtKW5m0qYDq8EsAAHGkbrfk30t6em0jZSCzHevusPlIxDFPW9nR7vR8S3E+CcTh3k91 y94Rbqls5T7k2ovIYHLcmw8/0mU/mF318987oBcgkRJ01bJx9exRNWwqrJPLAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTGMVk8OCTrGW6YMwtawWh8XeDshnKN6tyHeWQ6poxg=; b=UJdd6dPCp9WdDZCMGdgTomBDgr4lsizCOMGmovvk8vRxBphEHIJer1USXjTvQyy/o3lx17 p6QpF8MSL841jJRS8mraPdfEyXUcdCz1xECqwCUszjr4lYWIPBYmPVAdKg8kMpi8c9XDRc StkXGcN89tTF9p8bCjszP+2jjqf66IosMZrjWDGiwqqGHYvaYmGEpQCqn8iCfxRyY9zyxD iUXAmreUNc0s2VtNnfmGtumvY6kx+D61OX44JY0M1QyC0NQDxTkU1t+ZA4w1dq4E5SzP+c xxEm+NCfB2nJfUzjy7TYyeg+j5GVBAmwYrbsxK2gqOBRNbChfeNCO6Ksxks06A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667739; a=rsa-sha256; cv=none; b=JTWVJfG2uJ9Gd08QgsolOy9iPcqSGHjG7zCO2bscWn2canLrcQOlHY0NvQUN+Mw2R+RaPK SInpmMkxDJfpQwrmw76CvGYyNA6YrSe7pSzDU0Z92egefJnEeRoCT3sC+eis77jCnBb5oS LGNMRVNqdv4uP0u7yXIS7cj+1H3nn5wcSr7hfhNtCEb+IZtzy1HhU+7ofjREvQQ2wwB7LV nUrWIW4C0fzJvq2jb2O+tdDTC8NaZVQhk5SshuScvvmZE2jl+1NWIw9etVUWokoDO9aS1Y TCR5eY4V1ojLS/KUPjxR8/D2kkPdGCpDQFQml5fTP9KoawIsoEOI2mokYr/Fyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfg0TpSzKVr; Fri, 15 Nov 2024 10:48: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 4AFAmwtZ018010; Fri, 15 Nov 2024 10:48:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAmwGo018007; Fri, 15 Nov 2024 10:48:58 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:48:58 GMT Message-Id: <202411151048.4AFAmwGo018007@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: f4455780bf42 - stable/14 - cred: crsetgroups(): Improve and factor out groups normalization List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f4455780bf42fbcab1a5490556448bb2da87e3c8 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f4455780bf42fbcab1a5490556448bb2da87e3c8 commit f4455780bf42fbcab1a5490556448bb2da87e3c8 Author: Olivier Certner AuthorDate: 2024-10-02 12:40:27 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:42 +0000 cred: crsetgroups(): Improve and factor out groups normalization The groups array has been sorted (not including the first element, which is always the effective GID) to enable performing a binary search for determining if some group is part of the supplementary groups set. Factor out this sorting operation into an internal normalization function (groups_normalize()), adding to it the removal of duplicates after the sort. Separating groups normalization code allows to perform it in advance, and in particular before calling MAC hooks which need the groups array to be sorted to perform better. This also enables sorting input arrays ahead of acquiring the process lock (which is not necessary for this operation). kern_setgroups() has been changed accordingly, so MAC modules implementing the mac_cred_check_setgroups() hook now can assume a normalized groups array (and also that it has at least one element, as if kern_setgroups() is passed no groups, the hook is called with an array of one element being the current effective GID, as this is effectively the effect of such a call to kern_setgroups()). Further commits introducing the setcred() system call and associated MAC hooks will also guarantee a normalized groups array to MAC modules implementing these hooks. Rename crsetgroups_locked() into crsetgroups_internal(), as it is no more "locked" than crsetgroups() itself. However, it can be called under any lock (as needed), whereas the second may sleep to allocate memory. Update their herald comments to make that explicit. In passing, using qsort() instead of the old open-coded insertion sort (in crsetgroups_locked()) fixes the performance concern about the latter when using a large number of groups. Also, our qsort() falls back to insertion sort for small arrays and in case the array is likely to be mostly sorted, so this shouldn't cause concerns for the small number of groups common case. While here, add assertions in inner modification routines to check that the passed credentials object has a reference count of exactly 1 (in particular, it must not be shared). Remove a redundant one from some outer routine. Reviewed by: mhorne Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46914 (cherry picked from commit 6d2efbb34fdb59facbe6d83374ef4ab69d395866) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 168 ++++++++++++++++++++++++++++++++++++++------------ sys/sys/syscallsubr.h | 2 +- sys/sys/ucred.h | 2 +- 3 files changed, 131 insertions(+), 41 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 3052dc44d828..f3d8f2a235d5 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -89,8 +89,22 @@ SYSCTL_NODE(_security, OID_AUTO, bsd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "BSD security policy"); static void crfree_final(struct ucred *cr); -static void crsetgroups_locked(struct ucred *cr, int ngrp, - gid_t *groups); + +static inline void +groups_check_positive_len(int ngrp) +{ + MPASS2(ngrp >= 0, "negative number of groups"); + MPASS2(ngrp != 0, "at least one group expected (effective GID)"); +} +static inline void +groups_check_max_len(int ngrp) +{ + MPASS2(ngrp <= ngroups_max + 1, "too many groups"); +} + +static void groups_normalize(int *ngrp, gid_t *groups); +static void crsetgroups_internal(struct ucred *cr, int ngrp, + const gid_t *groups); static int cr_canseeotheruids(struct ucred *u1, struct ucred *u2); static int cr_canseeothergids(struct ucred *u1, struct ucred *u2); @@ -835,9 +849,9 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) error = copyin(uap->gidset, groups, gidsetsize * sizeof(gid_t)); if (error == 0) - error = kern_setgroups(td, gidsetsize, groups); + error = kern_setgroups(td, &gidsetsize, groups); - if (gidsetsize > CRED_SMALLGROUPS_NB) + if (groups != smallgroups) free(groups, M_TEMP); return (error); } @@ -851,25 +865,38 @@ gidp_cmp(const void *p1, const void *p2) return ((g1 > g2) - (g1 < g2)); } +/* + * CAUTION: This function normalizes 'groups', possibly also changing the value + * of '*ngrpp' as a consequence. + */ int -kern_setgroups(struct thread *td, int ngrp, gid_t *groups) +kern_setgroups(struct thread *td, int *ngrpp, gid_t *groups) { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; - int error; + int ngrp, error; + ngrp = *ngrpp; /* Sanity check size. */ if (ngrp < 0 || ngrp > ngroups_max + 1) return (EINVAL); AUDIT_ARG_GROUPSET(groups, ngrp); + if (ngrp != 0) { + /* We allow and treat 0 specially below. */ + groups_normalize(ngrpp, groups); + ngrp = *ngrpp; + } newcred = crget(); crextend(newcred, ngrp); PROC_LOCK(p); oldcred = crcopysafe(p, newcred); #ifdef MAC - error = mac_cred_check_setgroups(oldcred, ngrp, groups); + error = ngrp == 0 ? + /* If 'ngrp' is 0, we'll keep just the current effective GID. */ + mac_cred_check_setgroups(oldcred, 1, oldcred->cr_groups) : + mac_cred_check_setgroups(oldcred, ngrp, groups); if (error) goto fail; #endif @@ -886,9 +913,9 @@ kern_setgroups(struct thread *td, int ngrp, gid_t *groups) * when running non-BSD software if we do not do the same. */ newcred->cr_ngroups = 1; - } else { - crsetgroups_locked(newcred, ngrp, groups); - } + } else + crsetgroups_internal(newcred, ngrp, groups); + setsugid(p); proc_set_cred(p, newcred); PROC_UNLOCK(p); @@ -1298,6 +1325,32 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) #endif /* REGRESSION */ } +#ifdef INVARIANTS +static void +groups_check_normalized(int ngrp, const gid_t *groups) +{ + gid_t prev_g; + + groups_check_positive_len(ngrp); + groups_check_max_len(ngrp); + + if (ngrp == 1) + return; + + prev_g = groups[1]; + for (int i = 2; i < ngrp; ++i) { + const gid_t g = groups[i]; + + if (prev_g >= g) + panic("%s: groups[%d] (%u) >= groups[%d] (%u)", + __func__, i - 1, prev_g, i, g); + prev_g = g; + } +} +#else +#define groups_check_normalized(...) +#endif + /* * Returns whether gid designates a supplementary group in cred. */ @@ -2158,7 +2211,6 @@ void crcopy(struct ucred *dest, struct ucred *src) { - KASSERT(dest->cr_ref == 1, ("crcopy of shared ucred")); bcopy(&src->cr_startcopy, &dest->cr_startcopy, (unsigned)((caddr_t)&src->cr_endcopy - (caddr_t)&src->cr_startcopy)); @@ -2304,6 +2356,8 @@ crextend(struct ucred *cr, int n) { int cnt; + MPASS2(cr->cr_ref == 1, "'cr_ref' must be 1 (referenced, unshared)"); + /* Truncate? */ if (n <= cr->cr_agroups) return; @@ -2337,52 +2391,88 @@ crextend(struct ucred *cr, int n) } /* - * Copy groups in to a credential, preserving any necessary invariants. - * Currently this includes the sorting of all supplementary gids. - * crextend() must have been called before hand to ensure sufficient - * space is available. + * Normalizes a set of groups to be applied to a 'struct ucred'. + * + * The set of groups is an array that must comprise the effective GID as its + * first element (so its length cannot be 0). + * + * Normalization ensures that elements after the first, which stand for the + * supplementary groups, are sorted in ascending order and do not contain + * duplicates. */ static void -crsetgroups_locked(struct ucred *cr, int ngrp, gid_t *groups) +groups_normalize(int *ngrp, gid_t *groups) { - int i; - int j; - gid_t g; + gid_t prev_g; + int ins_idx; - KASSERT(cr->cr_agroups >= ngrp, ("cr_ngroups is too small")); + groups_check_positive_len(*ngrp); + groups_check_max_len(*ngrp); - bcopy(groups, cr->cr_groups, ngrp * sizeof(gid_t)); - cr->cr_ngroups = ngrp; + if (*ngrp == 1) + return; - /* - * Sort all groups except cr_groups[0] to allow groupmember to - * perform a binary search. - * - * XXX: If large numbers of groups become common this should - * be replaced with shell sort like linux uses or possibly - * heap sort. - */ - for (i = 2; i < ngrp; i++) { - g = cr->cr_groups[i]; - for (j = i-1; j >= 1 && g < cr->cr_groups[j]; j--) - cr->cr_groups[j + 1] = cr->cr_groups[j]; - cr->cr_groups[j + 1] = g; + qsort(groups + 1, *ngrp - 1, sizeof(*groups), gidp_cmp); + + /* Remove duplicates. */ + prev_g = groups[1]; + ins_idx = 2; + for (int i = 2; i < *ngrp; ++i) { + const gid_t g = groups[i]; + + if (g != prev_g) { + if (i != ins_idx) + groups[ins_idx] = g; + ++ins_idx; + prev_g = g; + } } + *ngrp = ins_idx; + + groups_check_normalized(*ngrp, groups); +} + +/* + * Internal function copying groups into a credential. + * + * 'ngrp' must be strictly positive. Either the passed 'groups' array must have + * been normalized in advance (see groups_normalize()), else it must be so + * before the structure is to be used again. + * + * This function is suitable to be used under any lock (it doesn't take any lock + * itself nor sleep, and in particular doesn't allocate memory). crextend() + * must have been called beforehand to ensure sufficient space is available. + * See also crsetgroups(), which handles that. + */ +static void +crsetgroups_internal(struct ucred *cr, int ngrp, const gid_t *groups) +{ + + MPASS2(cr->cr_ref == 1, "'cr_ref' must be 1 (referenced, unshared)"); + MPASS2(cr->cr_agroups >= ngrp, "'cr_agroups' too small"); + groups_check_positive_len(ngrp); + + bcopy(groups, cr->cr_groups, ngrp * sizeof(gid_t)); + cr->cr_ngroups = ngrp; } /* * Copy groups in to a credential after expanding it if required. - * Truncate the list to (ngroups_max + 1) if it is too large. + * + * May sleep in order to allocate memory (except if, e.g., crextend() was called + * before with 'ngrp' or greater). Truncates the list to (ngroups_max + 1) if + * it is too large. Array 'groups' doesn't need to be sorted. 'ngrp' must be + * strictly positive. */ void -crsetgroups(struct ucred *cr, int ngrp, gid_t *groups) +crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups) { if (ngrp > ngroups_max + 1) ngrp = ngroups_max + 1; - crextend(cr, ngrp); - crsetgroups_locked(cr, ngrp, groups); + crsetgroups_internal(cr, ngrp, groups); + groups_normalize(&cr->cr_ngroups, cr->cr_groups); } /* diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 1b34a3db8223..b3ba50823e93 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -312,7 +312,7 @@ int kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou, fd_set *fd_ex, struct timeval *tvp, int abi_nfdbits); int kern_sendit(struct thread *td, int s, struct msghdr *mp, int flags, struct mbuf *control, enum uio_seg segflg); -int kern_setgroups(struct thread *td, int ngrp, gid_t *groups); +int kern_setgroups(struct thread *td, int *ngrpp, gid_t *groups); int kern_setitimer(struct thread *, u_int, struct itimerval *, struct itimerval *); int kern_setpriority(struct thread *td, int which, int who, int prio); diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 5265fa16907b..8e041bb7bcbd 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -165,7 +165,7 @@ struct ucred *crcowget(struct ucred *cr); void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); -void crsetgroups(struct ucred *cr, int n, gid_t *groups); +void crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups); /* * Returns whether gid designates a primary group in cred. From nobody Fri Nov 15 10:49:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfh65q9z5d07H; Fri, 15 Nov 2024 10:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfh2g2kz4Wyf; Fri, 15 Nov 2024 10:49:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADJM8QDmTx/YG0QEUn6wis41hN8MfW9pVtT9dqWxuK8=; b=P4FbzKe/wNQXVKryL9/TjnGGKz9SBZAXfIWeCE8iDl7av3jQbEayQ7Glj7BjzaBDVg2SI+ 4/Qz3PuSpkeotcbAo+FaO6qDT5yOzckK7eU66wEWJizAjkwCt4PTxAIkwYqDsUrMkiaYZv FUB73Kg5FIqLblBomRBsjCX5SCccLx9lfTjjodb/l7MswoA6FIhdZe+wvMWIzehX3u861/ 3KvRK+ev6CUt5td89tustmmDjzZujEn0gzZ7uf5qR6xRM9aGycsAbfW52rhkYPOPJIyoJ0 VRiEkmo0tBicsavWhKOxm+eKNkcScfhdG9EBTwn8ZCBjPJTIZ95pcerXT4yprg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADJM8QDmTx/YG0QEUn6wis41hN8MfW9pVtT9dqWxuK8=; b=HW7IEv5a/uOC8kJUojRf4/8yjTnK/4eJZHZieo2Pa4A5yc+sRGlQH5YaEv5SsYR8wbBKRe 7i64cH69Y8Lq6iLT1isu2IaTNAY2XmCWs0107ak2uI21l6nlrTX1r6837alF4uNQTOPB4A z4uGHhUhG0mczZbgrD0tXcD6GvR4uCY3Ueg0e88IR9k/1prE/uYY0m3uV3FjOrxeKMrVDV eat2p5FsNQOHfvrgA1NrwROQ4P+tjM7iC1F/Gq9KJ9SA4bBdlql6od7ataBcewpH1IOHnr ks3wCh+mUYiEgPeD0+NcUKn/xDZOW18ZFp0NEfMGANlkr7BNsCdWIGgSkthfmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667740; a=rsa-sha256; cv=none; b=CZCYOhaTh7UBEkiDFkOkDyU6Fzo4VdOO6TlrYCJwOXvEA9BkGcsBZrvyrmDx+5ppJvgtN3 1prhtGwmPgCu2WFMZZo7clur5hm6RdHQXKbKcjCMfSj4QGXTI8dbR87SFR1Yx7Nqm64cH5 y1FSqzvgmI4dZLK/5Yg8wzDWiFfNA8tlR9/ZSP0Y/EqpHzeOYwZj4VL4UST/wz6UvorNOq 3UJ48TjYtVmfLzyzaMyNpnLgDHLW/cqTIieMI7U6Yr6xGXzKDjMVnTNK1UgTK10eKDehtM BMlhHkb4tLJb1Hh/c3KIleaQ/N0TMbao7BLo3uYG9bCXZxmHA8dF8jn/ImriaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfh15SyzKQs; Fri, 15 Nov 2024 10:49: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 4AFAn0lu018075; Fri, 15 Nov 2024 10:49:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn0lJ018072; Fri, 15 Nov 2024 10:49:00 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:00 GMT Message-Id: <202411151049.4AFAn0lJ018072@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: 9deb689a752d - stable/14 - cred: groupmember() and co.: Sanity check cred's groups (INVARIANTS) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9deb689a752ddb6398ea39f06b5ec35756450694 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9deb689a752ddb6398ea39f06b5ec35756450694 commit 9deb689a752ddb6398ea39f06b5ec35756450694 Author: Olivier Certner AuthorDate: 2024-11-01 15:11:23 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:42 +0000 cred: groupmember() and co.: Sanity check cred's groups (INVARIANTS) Leverage the normalization check functions introduced in the previous commit in all public-facing groups search functions to catch programming errors early. Approved by: markj (mentor) MFC after: 3 days (cherry picked from commit 634675067867090e538b08e62ff9b14d3ffae5a3) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index f3d8f2a235d5..d6dd71599d86 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1358,6 +1358,8 @@ bool group_is_supplementary(const gid_t gid, const struct ucred *const cred) { + groups_check_normalized(cred->cr_ngroups, cred->cr_groups); + /* * Perform a binary search of the supplementary groups. This is * possible because we sort the groups in crsetgroups(). @@ -1381,6 +1383,8 @@ groupmember(gid_t gid, const struct ucred *cred) if (cred->cr_ngroups == 0) return (false); + groups_check_positive_len(cred->cr_ngroups); + if (gid == cred->cr_groups[0]) return (true); @@ -1394,6 +1398,14 @@ groupmember(gid_t gid, const struct ucred *cred) bool realgroupmember(gid_t gid, const struct ucred *cred) { + /* + * Although the equality test on 'cr_rgid' below doesn't access + * 'cr_groups', we check for the latter's length here as we assume that, + * if 'cr_ngroups' is 0, the passed 'struct ucred' is invalid, and + * 'cr_rgid' may not have been filled. + */ + groups_check_positive_len(cred->cr_ngroups); + if (gid == cred->cr_rgid) return (true); From nobody Fri Nov 15 10:49:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfj3Qj5z5cyqD; Fri, 15 Nov 2024 10:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfj2Lj6z4X27; Fri, 15 Nov 2024 10:49:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zsrhTNYxTvtPSepQE7HqpmzLwEbFXcsdlXKthahzS3c=; b=DyWYMpO09zsrVp9Karf+LYSWuUQzpt+MoA2VZ1vLv4bzSCFQb60zYd8H3MCtU5y5uPnULh NIkklGFUWYZd5aIf3RWN83d5a/13r/pbAHjUajKjykyeW/FZovJOk2+xY6upHWHqMziAhE wIVyP41oSAjahe6Ib+yQXel2HB9LmU2uqxMeN1/oeFZGNfe1sA6lKooMJ1YHQpSl7In7Ne l7YjyYY0xMAKy5SL/ssI4p6LNP8xBhF9VzXYwCkLyQiG1yTv/vuq6jJXwCR1tf9pj2uEyX hRzVwtSx3xBuyRlgHCWz/MhL+Eb6e7iM5cKqMDq/rI/Dmvyq+9EKL9PBNLyoew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zsrhTNYxTvtPSepQE7HqpmzLwEbFXcsdlXKthahzS3c=; b=VVLPZIOKQ0qgXeoSIXRVcVVeYbhVa/RPh1zU4uyskyQmfpHWKUuu3MNHZGukd04HWwSlar UDzosNCoUqbYYBEUpyp4zPMurK8VsllSD0L7dS6UNzLgxxaD2CdU3ZeWX5PQAgekqHG1wn MUtxPUPGUUZpMNfMtMqJZpaDypLCiO8cLUUKdiV7z7LX6WhFd++WU1wdq7GeDpnVpMon8/ Ppj5gw3lwZmurlbMl54ALYlDbvijroSV3htj+ORMoCBkWFkn03jp+mrYb4MqeSBXOv1dC5 YjYyxIVbu5JFBy2wr/1cjco4dlGyy7+rif42cxTafzfPddey7wLgS867oGAgkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667741; a=rsa-sha256; cv=none; b=Zthyw6xHL89dGL6IocQXkacegIkTxJeHdgoh8XpRigvBa1tcAhGxHOrYFPiSYPPj9pRy0a suP+7VCUXWcP/1XiINy6RikHwmkj4O3uUvnu6wLVQVieT6dRAX2KresvukhfeL1aMFCdNb FmfF/r4Pd01siwUEGrekJWFYbyd4E/ap8yJ1C7RfttdCCgzfQ7X0TVAIqwD/A6i4aZVKxK gxPgNb+7TqP3NvC3m9EjdH/7rCPL7oZXH9/uF5fNRE8JNP42xZz6kT988bObMSSMXWqjkt VfLBBQMbmjj7JOYknXbeDnAgwnN7Gj5iqfr6t2Tj5DtQwEZYc5PuQz9j/fT+og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfj1zDgzKVs; Fri, 15 Nov 2024 10:49: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 4AFAn1Y4018114; Fri, 15 Nov 2024 10:49:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn1Eh018111; Fri, 15 Nov 2024 10:49:01 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:01 GMT Message-Id: <202411151049.4AFAn1Eh018111@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: 847dff4bc6e0 - stable/14 - cred: crextend(): Harden, simplify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 847dff4bc6e004fd8e8906e4dc55f39bfd0c3281 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=847dff4bc6e004fd8e8906e4dc55f39bfd0c3281 commit 847dff4bc6e004fd8e8906e4dc55f39bfd0c3281 Author: Olivier Certner AuthorDate: 2024-10-01 14:37:11 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:42 +0000 cred: crextend(): Harden, simplify Harden by adding more assertions, and a plain panic in case of an unrepresentable size for the groups array (this can never happen after the change of the 'kern.ngroups' computation to impose some not too high maximum value a few commits ago). Fix an impact in kern_setgroups(). Simplify by removing the iterative process whose purpose is actually to determine the closest power of two that is greater than the wanted number of bytes. Using the proper target quantity (number of bytes) incidentally helps with eliminating divisions (and the reliance on sizeof(gid_t) being a power of two). Reviewed by: mhorne (older version) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46915 (cherry picked from commit ea26c0e797525634dd25dede233ff2ded053cf2d) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 55 +++++++++++++++++++++++++++++++--------------------- sys/sys/ucred.h | 6 +++++- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index d6dd71599d86..1cc5ce46c3bf 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -888,7 +888,8 @@ kern_setgroups(struct thread *td, int *ngrpp, gid_t *groups) ngrp = *ngrpp; } newcred = crget(); - crextend(newcred, ngrp); + if (ngrp != 0) + crextend(newcred, ngrp); PROC_LOCK(p); oldcred = crcopysafe(p, newcred); @@ -2226,6 +2227,13 @@ crcopy(struct ucred *dest, struct ucred *src) bcopy(&src->cr_startcopy, &dest->cr_startcopy, (unsigned)((caddr_t)&src->cr_endcopy - (caddr_t)&src->cr_startcopy)); + /* + * Avoids an assertion in crsetgroups() -> crextend(). Ideally, + * 'cr_ngroups' should be moved out of 'struct ucred''s bcopied area, + * but this would break the ABI, so is deferred until there is a real + * need to change the ABI. + */ + dest->cr_ngroups = 0; dest->cr_flags = src->cr_flags; crsetgroups(dest, src->cr_ngroups, src->cr_groups); uihold(dest->cr_uidinfo); @@ -2361,45 +2369,48 @@ crcopysafe(struct proc *p, struct ucred *cr) } /* - * Extend the passed in credential to hold n items. + * Extend the passed-in credentials to hold n groups. + * + * Must not be called after groups have been set. */ void crextend(struct ucred *cr, int n) { - int cnt; + size_t nbytes; MPASS2(cr->cr_ref == 1, "'cr_ref' must be 1 (referenced, unshared)"); + MPASS2(cr->cr_ngroups == 0, "groups on 'cr' already set!"); + groups_check_positive_len(n); + groups_check_max_len(n); - /* Truncate? */ if (n <= cr->cr_agroups) return; + nbytes = n * sizeof(gid_t); + if (nbytes < n) + panic("Too many groups (memory size overflow)! " + "Computation of 'kern.ngroups' should have prevented this, " + "please fix it. In the meantime, reduce 'kern.ngroups'."); + /* - * We extend by 2 each time since we're using a power of two - * allocator until we need enough groups to fill a page. - * Once we're allocating multiple pages, only allocate as many - * as we actually need. The case of processes needing a - * non-power of two number of pages seems more likely than - * a real world process that adds thousands of groups one at a - * time. + * We allocate a power of 2 larger than 'nbytes', except when that + * exceeds PAGE_SIZE, in which case we allocate the right multiple of + * pages. We assume PAGE_SIZE is a power of 2 (the call to roundup2() + * below) but do not need to for sizeof(gid_t). */ - if ( n < PAGE_SIZE / sizeof(gid_t) ) { - if (cr->cr_agroups == 0) - cnt = MAX(1, MINALLOCSIZE / sizeof(gid_t)); - else - cnt = cr->cr_agroups * 2; - - while (cnt < n) - cnt *= 2; + if (nbytes < PAGE_SIZE) { + if (!powerof2(nbytes)) + /* fls*() return a bit index starting at 1. */ + nbytes = 1 << flsl(nbytes); } else - cnt = roundup2(n, PAGE_SIZE / sizeof(gid_t)); + nbytes = roundup2(nbytes, PAGE_SIZE); /* Free the old array. */ if (cr->cr_groups != cr->cr_smallgroups) free(cr->cr_groups, M_CRED); - cr->cr_groups = malloc(cnt * sizeof(gid_t), M_CRED, M_WAITOK | M_ZERO); - cr->cr_agroups = cnt; + cr->cr_groups = malloc(nbytes, M_CRED, M_WAITOK | M_ZERO); + cr->cr_agroups = nbytes / sizeof(gid_t); } /* diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 8e041bb7bcbd..cd07ec3be445 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -75,6 +75,10 @@ struct ucred { uid_t cr_uid; /* effective user id */ uid_t cr_ruid; /* real user id */ uid_t cr_svuid; /* saved user id */ + /* + * XXXOC: On the next ABI change, please move 'cr_ngroups' out of the + * copied area (crcopy() already copes with this change). + */ int cr_ngroups; /* number of groups */ gid_t cr_rgid; /* real group id */ gid_t cr_svgid; /* saved group id */ @@ -82,7 +86,7 @@ struct ucred { struct uidinfo *cr_ruidinfo; /* per ruid resource consumption */ struct prison *cr_prison; /* jail(2) */ struct loginclass *cr_loginclass; /* login class */ - void *cr_pspare2[2]; /* general use 2 */ + void *cr_pspare2[2]; /* general use 2 */ #define cr_endcopy cr_label struct label *cr_label; /* MAC label */ gid_t *cr_groups; /* groups */ From nobody Fri Nov 15 10:49:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfl0wp7z5cyqF; Fri, 15 Nov 2024 10:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfk4h8hz4X08; Fri, 15 Nov 2024 10:49:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tw+vm8OdCtBFbrid/ghRKxcZbKeh2SndpiU8EIQVrGo=; b=VspqJIcWX8AkZGkmxBV9y/fDVRzXVghPSYYf/GC7M6LGyY5YMtc5FfGox89A2ZDc8mrJOZ D5Ghyr8I3OiExShxUGSCvGhb5OC1cSflS5tdvkujSlaSO4uGXFv7FSvRPMOsShhtmemFEV kUUG191iFL3DJ235rCqvdB0M0q5XNowoFFoPQwnKzDvRrakq1t3Ti5ePTzcc83o6YCQ25q VSqUtHJZ5nBWAnw9q7jfyjWng/KbKu9pp9cDY1zhT7JtF/LyVn0tc774ZqP7rm2FqChPyd 9NL5XODGnHURGo8FfdVQG1wdmg10w9Bxdz3NbSqV90+LNG2cfsmQTXZAX8MIGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tw+vm8OdCtBFbrid/ghRKxcZbKeh2SndpiU8EIQVrGo=; b=tVkIjrarVM3tS4Jl4uTZ7gpg2DdbwS9TTap0UVvVVk0XpqfL2X1c6Xcbz6LJ8hIErfwOG4 C2ngMqr+J6Nq1mLWBum5fE63ikoXgtFayUYNwzhBoTqlqbGVgFHkt9vO9jePKhLgT+U6S7 wUXbLuyyruw4dIzaMkB7zYycUlhpcV4aM8ahOAdc3K+MScVtSI5EzpkcOfwy04wHUDCB3J Pyh/8j2jZzFWEMB2ZgWyc4llNiX7SX2lqN+3aMk7z+ig0q2n5h+O+eCeV+ogmq/p29UdeC W6kX8SAjs1WnjXchCqZL46uNG50wKRElwlYGHcqO241sYiA1F5ch2LfzU5Toeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667742; a=rsa-sha256; cv=none; b=ojfkKut61GViVf/vfZY5iX268QZsFG3vsaA8uuc6WdRP6WGnmucBg43s7R0etJ8kWTCeQv pg81hw6gXHh0G9q6i0Lfh6DVniycDxCJw44Qodf3qbO9kJ+eXdBEWQ1s8glHQQEYwC/U6P oS7dOdgChjWjddbZjtmr7rc2dxptfy+dCVUtk7TbnFDncOEnKNpJUERzaBtHIMhPIq3aZH B6v5GFTHktHVnnsvnxCZY/noRj9gQL7S/9lufku74L4woqp4YopPvGHkV9JcbvGNa87oH3 O2XokDXaAerIJnC9bJ7kcbXaIepfKxiEBpHBsukceU3wEIwkFpEW351GnBoHHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfk2xy3zKSf; Fri, 15 Nov 2024 10:49: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 4AFAn2EV018150; Fri, 15 Nov 2024 10:49:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn2F1018147; Fri, 15 Nov 2024 10:49:02 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:02 GMT Message-Id: <202411151049.4AFAn2F1018147@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: 13784bf22df3 - stable/14 - cred: New crsetgroups_fallback() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 13784bf22df357d2b944e719993f2d25d4324dd2 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=13784bf22df357d2b944e719993f2d25d4324dd2 commit 13784bf22df357d2b944e719993f2d25d4324dd2 Author: Olivier Certner AuthorDate: 2024-10-02 14:16:20 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:42 +0000 cred: New crsetgroups_fallback() Similar to crsetgroups(), but allows an empty group array in input, treating it like a one-element array containing the passed fallback group. Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46917 (cherry picked from commit d4e0d4d92e010b74404bddc87c1a1e8dbcaa25dd) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 18 ++++++++++++++++++ sys/sys/ucred.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 1cc5ce46c3bf..db07c265dc13 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2498,6 +2498,24 @@ crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups) groups_normalize(&cr->cr_ngroups, cr->cr_groups); } +/* + * Same as crsetgroups() but accepts an empty groups array. + * + * This function ensures that an effective GID is always present in credentials. + * An empty array is treated as a one-size one holding the passed effective GID + * fallback. + */ +void +crsetgroups_fallback(struct ucred *cr, int ngrp, const gid_t *groups, + const gid_t fallback) +{ + if (ngrp == 0) + /* Shortcut. */ + crsetgroups_internal(cr, 1, &fallback); + else + crsetgroups(cr, ngrp, groups); +} + /* * Get login name, if available. */ diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index cd07ec3be445..e7f8d7328dda 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -170,6 +170,8 @@ void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); void crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups); +void crsetgroups_fallback(struct ucred *cr, int ngrp, const gid_t *groups, + const gid_t fallback); /* * Returns whether gid designates a primary group in cred. From nobody Fri Nov 15 10:49:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfm31smz5d07N; Fri, 15 Nov 2024 10:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfm0Rdcz4X4t; Fri, 15 Nov 2024 10:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j1YEDJ0nMQ6Ns9VoSredmsouZET+V19+ClXvA3akus4=; b=nGrVSWXVMvM2/fKpdHkVnIKi6QnluFfH0GzaLDEYjU1Q0cuYSunaP7d/psLiAy5lyw1ArA swM6YzQJmKyksjbjK9iEcUrBVG+tat6sIWNL7f3TV+HEreyGDDK6+VFNP6S6+dI0dNMGAp 79B5uIW27nqMInjfnFVyfKh8wKWrArpmaKlK+nysRl2rMjtPT0NCu93AJyfFICgJ3EYlDt JPD3AJbQDqK8+o0hdez9jk/Xua2WC8xvziIpceGOz92mP+woBCXDg5z9iwKxq6uM4teEMf n82Mv9F25PeNjdQLvKSpFJzQETaW06JvSELVTS71AfihwDSj8Jv+KAx2L8NA/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j1YEDJ0nMQ6Ns9VoSredmsouZET+V19+ClXvA3akus4=; b=rvJteVJqsrJha/kWxA89S7wb7nt2m8A7Igybba9kK3USCeHu7ALQXOkMRwxJLF7u0hYOdI vA7SZk2SDp5RdUL6NuRwvqHabuhW6UiteosuQafGd93AtfRfTHf5WI3iaUmKCETpXAMRUT PTF7mYKflT6gWS60cFlCOQnsF1bWbEb20A4UGR7jRUL31GhR6ET3D1GhJ6f4UElaeQGHQC tYGW66kARjjNBEGjqeojNwNCdjG7t1SScFhKHNHlDUo8orGl5VZfnniWqazfkm6iwXRDuD eZL2uq95a2qj+80d4Ko3S7Qe6kOX4VDLO8iDNohQfGBFOFhoeaulke7+LPW27A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667744; a=rsa-sha256; cv=none; b=d5vqPd+tvaUF/13F73oXmodlaw8Mau7ltbC2FBbUfe8vVN92oqNHitwzEI66NfbPoAlE3b b2pw11xIHnCfujvmTlempINPKOsgvMBQgVihO4Z1+vvRjyTOkjDGmP0qjbr1Aoldc2z1vC wLuLdMfyNtyxAxHmXs3uEyF9g/Y3zcFABlRzDB+7gDW/EB5Meu6OSsQL6Gq81vounDVijw 9S/rO+sSPuRBVmzAIM69q6ixk3kcOtVDdcFSXHvuHqszDU7oMthymiQBpjgobskVXhjO0S gQNnD6jeylax8S/WAbJy8CI088RCBATXhgRZWeTbo2+ReZ80vOyvKqWJEe8aTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfl4BQBzKj6; Fri, 15 Nov 2024 10:49: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 4AFAn35C018207; Fri, 15 Nov 2024 10:49:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn385018204; Fri, 15 Nov 2024 10:49:03 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:03 GMT Message-Id: <202411151049.4AFAn385018204@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: 7b20967a1a17 - stable/14 - nfs, rpc: Ensure kernel credentials have at least one group List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7b20967a1a172c6398b7f1a56ec96440d78469d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7b20967a1a172c6398b7f1a56ec96440d78469d2 commit 7b20967a1a172c6398b7f1a56ec96440d78469d2 Author: Olivier Certner AuthorDate: 2024-10-02 14:28:59 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:43 +0000 nfs, rpc: Ensure kernel credentials have at least one group This fixes several bugs where some 'struct ucred' in the kernel, constructed from user input (via nmount(2)) or obtained from other servers (e.g., gssd(8)), could have an unfilled 'cr_groups' field and whose 'cr_groups[0]' (or 'cr_gid', which is an alias) was later accessed, causing an uninitialized access giving random access rights. Use crsetgroups_fallback() to enforce a fallback group when possible. For NFS, the chosen fallback group is that of the NFS server in the current VNET (NFSD_VNET(nfsrv_defaultgid)). There does not seem to be any sensible fallback available in rpc code (sys/rpc/svc_auth.c, svc_getcred()) on AUTH_UNIX (TLS or not), so just fail credential retrieval there. Stock NSS sources, rpc.tlsservd(8) or rpc.tlsclntd(8) provide non-empty group lists, so will not be impacted. Discussed with: rmacklem (by mail) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46918 (cherry picked from commit cfbe7a62dc62e8a5d7520cb5eb8ad7c4a9418e26) Approved by: markj (mentor) --- sys/fs/nfs/nfs_commonport.c | 4 +++- sys/fs/nfs/nfs_commonsubs.c | 5 +++-- sys/fs/nfsserver/nfs_nfsdport.c | 6 +++++- sys/fs/nfsserver/nfs_nfsdsocket.c | 6 ++---- sys/kern/vfs_export.c | 12 ++++++++---- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 2 +- sys/rpc/svc_auth.c | 8 ++++++-- 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 2db9af5b9ea9..11f31d1a0e9f 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -75,6 +75,7 @@ NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); +NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); int nfs_pnfsio(task_fn_t *, void *); @@ -258,7 +259,8 @@ newnfs_copycred(struct nfscred *nfscr, struct ucred *cr) KASSERT(nfscr->nfsc_ngroups >= 0, ("newnfs_copycred: negative nfsc_ngroups")); cr->cr_uid = nfscr->nfsc_uid; - crsetgroups(cr, nfscr->nfsc_ngroups, nfscr->nfsc_groups); + crsetgroups_fallback(cr, nfscr->nfsc_ngroups, nfscr->nfsc_groups, + NFSD_VNET(nfsrv_defaultgid)); } /* diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 9f0e98bc93ce..29f5a9569b12 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -4037,8 +4037,9 @@ nfssvc_idname(struct nfsd_idargs *nidp) */ cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = nidp->nid_uid; - crsetgroups(cr, nidp->nid_ngroup, grps); - cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; + crsetgroups_fallback(cr, nidp->nid_ngroup, grps, + NFSD_VNET(nfsrv_defaultgid)); + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); #ifdef MAC diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 767bdcd80709..84b579def954 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3293,7 +3293,11 @@ nfsd_excred(struct nfsrv_descript *nd, struct nfsexstuff *exp, NFSVNO_EXPORTANON(exp) || (nd->nd_flag & ND_AUTHNONE) != 0) { nd->nd_cred->cr_uid = credanon->cr_uid; - nd->nd_cred->cr_gid = credanon->cr_gid; + /* + * 'credanon' is already a 'struct ucred' that was built + * internally with calls to crsetgroups_fallback(), so + * we don't need a fallback here. + */ crsetgroups(nd->nd_cred, credanon->cr_ngroups, credanon->cr_groups); } else if ((nd->nd_flag & ND_GSS) == 0) { diff --git a/sys/fs/nfsserver/nfs_nfsdsocket.c b/sys/fs/nfsserver/nfs_nfsdsocket.c index df0c0edd1b59..d1b6198ba0e1 100644 --- a/sys/fs/nfsserver/nfs_nfsdsocket.c +++ b/sys/fs/nfsserver/nfs_nfsdsocket.c @@ -1422,13 +1422,11 @@ static struct ucred * nfsrv_createrootcred(void) { struct ucred *cr; - gid_t grp; cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = UID_ROOT; - grp = GID_WHEEL; - crsetgroups(cr, 1, &grp); - cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; + crsetgroups_fallback(cr, 0, NULL, GID_WHEEL); + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); #ifdef MAC diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 3ff9608b0614..4649a05665e5 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -63,6 +63,10 @@ #include #include +#include + +NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); + static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); #if defined(INET) || defined(INET6) @@ -135,8 +139,8 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_exflags = argp->ex_flags; np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; - crsetgroups(np->netc_anon, argp->ex_ngroups, - argp->ex_groups); + crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, + argp->ex_groups, NFSD_VNET(nfsrv_defaultgid)); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; @@ -214,8 +218,8 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_exflags = argp->ex_flags; np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; - crsetgroups(np->netc_anon, argp->ex_ngroups, - argp->ex_groups); + crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, argp->ex_groups, + NFSD_VNET(nfsrv_defaultgid)); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 89526544639a..64038240ab37 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -538,7 +538,7 @@ rpc_gss_svc_getcred(struct svc_req *req, struct ucred **crp, int *flavorp) cr = client->cl_cred = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = uc->uid; cr->cr_rgid = cr->cr_svgid = uc->gid; - crsetgroups(cr, uc->gidlen, uc->gidlist); + crsetgroups_fallback(cr, uc->gidlen, uc->gidlist, uc->gid); cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = crhold(cr); diff --git a/sys/rpc/svc_auth.c b/sys/rpc/svc_auth.c index 86ce7d9aefd2..edb11426bd72 100644 --- a/sys/rpc/svc_auth.c +++ b/sys/rpc/svc_auth.c @@ -192,10 +192,12 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) if ((xprt->xp_tls & (RPCTLS_FLAGS_CERTUSER | RPCTLS_FLAGS_DISABLED)) == RPCTLS_FLAGS_CERTUSER && flavor == AUTH_UNIX) { + if (xprt->xp_ngrps <= 0) + return (FALSE); cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xprt->xp_uid; crsetgroups(cr, xprt->xp_ngrps, xprt->xp_gidp); - cr->cr_rgid = cr->cr_svgid = xprt->xp_gidp[0]; + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = cr; @@ -205,10 +207,12 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) switch (flavor) { case AUTH_UNIX: xcr = (struct xucred *) rqst->rq_clntcred; + if (xcr->cr_ngroups <= 0) + return (FALSE); cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xcr->cr_uid; crsetgroups(cr, xcr->cr_ngroups, xcr->cr_groups); - cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = cr; From nobody Fri Nov 15 10:49:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfn2gn0z5cygy; Fri, 15 Nov 2024 10:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfm68n0z4WwS; Fri, 15 Nov 2024 10:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4CA9HjNJOAXrT3UeOfqfEgk/0cPfKtrlO3sexfMjoZo=; b=FeFkYnvMFw6ikMoQhzOvvVdPX9eCzFfOny7gdcGT6yZ+Ao6/fOV1vUfhsISzI0lVtwbyop rxOGAzkJ27vlIsMWNdpVtcrAP0NY0xtR3xTCHEr58QOhjtWlyUz91883M6Ml7jOb1bAI3H DljGCiYdG8WuYB3hM4vt3VGBHFZHHMErfBOuwD3fUCFyiBuUo+eWal7ohwAwFK1v5SFVLv HXVu6NtjmhK6GU7m4o9AK+ItIzWT4nJ9tzQHib/qAEVqbVuN2L8nOb251Jjd1GPpnZ5beO ekN4Ru+3KT2IgC+OIUoLx5+fwQjmbhbuk63NiYSw4MT8e/hMw0VIYuUb2XcK1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4CA9HjNJOAXrT3UeOfqfEgk/0cPfKtrlO3sexfMjoZo=; b=fBhx3Yz7Be0sCgRHnGvnHbxW6FfFWnrNBIwmKs+I5ief9SnKllRjFAQ8hWVxe188ncAH6t FabkCnHt7JRmtHYAQfFZi7Px728rGcnkfQ13SeK3RT5uQoOqjBVlGXU2/+mZ9FMcRXIezQ dBZ2rbh7wxe8DpxOFHmq+5Xd/m/TKxFDqC+Fi/cztz7Awa8t0HwRMaeiUfZPKbu4ku9Xlg GKJy1jGIfZeDxThrhoNHcvWudrFhZHUJzXvWiGN6naijnoCMlsiORkjbBlAbPSvc8AbqCu su85aRiJ8rvyA0BHVYkeEUN3QYv8eglensyWFhuB15St1PVGphDEqkmHZTM8Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667744; a=rsa-sha256; cv=none; b=FHsLGuvD7qTGEQEhOq5P7pof6wdaIJGbCEzE54YLHEMn3WsRhlqj2jFN9T2GMSWNU1wwiC EjTiosGzVDpP+bIM49P+mv2SfgW7EvnfY/bd97qltLzuEOmmOwUoZCt596WMECIz22q70b SKK84k+PoS/W2ycVbQfnDZFKWTAIwe/0DFqeRd/DILe4METB9eTNWvg33yOeG3yK9pGwmD gMb71HXk2SIjbICT/e0Ht/Q/bkJFpW2v5hJtLeSe3snlTDVNGBDnI19HDR43jo0sCkn5Kl kDWnwJw6S9ObiCPXwi4iuY7CJaZGwJ7EDw4c0vnRRH7R8YbxyWgMWKd7Kq0ltQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfm4yK3zKQt; Fri, 15 Nov 2024 10:49: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 4AFAn4RG018278; Fri, 15 Nov 2024 10:49:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn4B1018275; Fri, 15 Nov 2024 10:49:04 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:04 GMT Message-Id: <202411151049.4AFAn4B1018275@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: 6cd8d025282f - stable/14 - cred: groupmember(): Remove tolerance for empty 'cr_groups' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6cd8d025282f8c30e5db74806f7e94630ce57d8b Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=6cd8d025282f8c30e5db74806f7e94630ce57d8b commit 6cd8d025282f8c30e5db74806f7e94630ce57d8b Author: Olivier Certner AuthorDate: 2024-11-01 16:12:15 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:43 +0000 cred: groupmember(): Remove tolerance for empty 'cr_groups' This tolerance had been introduced in commit caa309c8811d ("nfsd: Fix handling of credentials with cr_ngroups == 0", on 2024/10/21). Now that NFS has been modified in the previous commit (cfbe7a62dc62, "nfs, rpc: Ensure kernel credentials have at least one group") to rule out credentials with empty 'cr_groups' (and thus, no 'cr_gid'), remove it back. This basically reverts the above-mentioned commit except for the not directly related modifications it contains, which are still valid. Discussed with: rmacklem (by mail) Approved by: markj (mentor) MFC after: 3 days (cherry picked from commit 3f313682e030f1c99d9b223093e84d0a53a109af) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index db07c265dc13..60452ddb6a48 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1377,13 +1377,6 @@ bool groupmember(gid_t gid, const struct ucred *cred) { - /* - * The nfsd server can use a credential with zero groups in it - * when certain mapped export credentials are specified via exports(5). - */ - if (cred->cr_ngroups == 0) - return (false); - groups_check_positive_len(cred->cr_ngroups); if (gid == cred->cr_groups[0]) From nobody Fri Nov 15 10:49:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfp2kjbz5cyh0; Fri, 15 Nov 2024 10:49:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfn6g8bz4X5D; Fri, 15 Nov 2024 10:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yMRcoijcmxiyd6++rV97m+Ua4oc8/lX1bqD5yZ1pLbc=; b=lVr1DrnyPi3Ee4HlYRLg+YTxuuqRBdi9TRq1morm8/TBWe7Gznqj7HteOjmtZG8TSIOZ/2 A45Si/cnZV+fDAONdWj81MQ+CG3KMTfeR8bLP4WtcJd5NfUxQot1XtMIo1dKmBO9nvFQgd 4G00XBsNgfs98NpH3OuGMyPscjckZjdrR8PtzSmfKPhO+aWZSX500wTuyvhZzpMbqPOC8Q AupY7qZhKIpQz4aGFdmshzxBN/MXrtGyj/6SrILI22hmnYQTc7f+8Hhq/q98iGZp8SV9lo fihn7soQwF1oJPNWI3/9brqH0LEcLUEgF/NnWTrHxoX5Nj+gY3JY9cDDzO2P8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yMRcoijcmxiyd6++rV97m+Ua4oc8/lX1bqD5yZ1pLbc=; b=dnWnF7iJNS44Xj2GzxukmQZ7VCUNOl2X0z9ED0tt79u7irxW4S4/VHeGo3m6O30WdrsMFv T3OZUdNYwMcN2UMNn/6ixF597z69eeGHq/UX07j6/0cKZL7FwitgAnn9wtjNmbmPkFH6m6 sIQHM9mg8p2j8UVqBKK5r+CaviWFT8jJ4QYmVx8lQnB0sqqViMPaAColazASNc0KgFmJ2R YB8Jbj5b3ujpujLjGF+sdjHKubhEfuiqMPzG2/5lIJTAIWeHKehFQxn/xqXcq+oMOQLGCJ D36bdqg9RAwAMnQD0/fPXFyYkLvD/sGFLTizrShqR5RkVsK2FO8sCR8Z3m/FYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667745; a=rsa-sha256; cv=none; b=oo1I3uKiMf+psUjYVRh2Xf3cFBsmFtePnjy6pysQA83MF4vyliFoQagRCRhC7ytC2L2SXF lqZAm/Lxxf14LPuOLPXhGCC4fCKkOah3otz8LPGyeiT4oVt/1YJwZVEQ4nSFhf3BqZRAFo i/jzUuVsAZcEtrypkY0XFLs6lAfipEUCVQLwWly7g+k7u7za5+0Qoi7SZ1RJ/7duM9quvE rK0G7dFG/seFUhI7k5OLMX1mfeorjwaZIc6OcRAdncHQ5j706cbcPhU7GmCd5nANisunkn ZBFXshWASBhML3gFQYcwF87RQVV9xgn5Z+T/uKe/la51VCpRv9Tb2STERcvLKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfn64XbzKlH; Fri, 15 Nov 2024 10:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4AFAn5PE018348; Fri, 15 Nov 2024 10:49:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn5KB018345; Fri, 15 Nov 2024 10:49:05 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:05 GMT Message-Id: <202411151049.4AFAn5KB018345@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: 8c767de732e7 - stable/14 - nfs: Fallback to GID_NOGROUP on no groups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8c767de732e700e62fb5578d91c57f17e1c0a3c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=8c767de732e700e62fb5578d91c57f17e1c0a3c1 commit 8c767de732e700e62fb5578d91c57f17e1c0a3c1 Author: Olivier Certner AuthorDate: 2024-11-03 10:26:37 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:43 +0000 nfs: Fallback to GID_NOGROUP on no groups We cannot unconditionally access nfsd's VNET variables in 'sys/kern/vfs_export.c' nor 'sys/fs/nfsserver/nfs_nfsdsubs.c', as they may not have been compiled in depending on build options. So, forget about the extra mile of using the configured default group and use the hardcoded GID_NOGROUP (which differs only on systems running nfsuserd(8) and with a non-default GID for their "nogroup" group). Reported by: rpokala, bapt (MINIMAL compile breakup) Reported by: cy, David Wolfskill (panics caused by mountd(8)) Approved by: markj (mentor) Fixes: cfbe7a62dc62 ("nfs, rpc: Ensure kernel credentials have at least one group") (cherry picked from commit 5169d4307eb9c8b7bb0bd46d600012bcc12cbdae) Approved by: markj (mentor) --- sys/fs/nfs/nfs_commonport.c | 3 +-- sys/fs/nfs/nfs_commonsubs.c | 2 +- sys/kern/vfs_export.c | 9 +++------ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 11f31d1a0e9f..0c94f4e7dc52 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -75,7 +75,6 @@ NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); -NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); int nfs_pnfsio(task_fn_t *, void *); @@ -260,7 +259,7 @@ newnfs_copycred(struct nfscred *nfscr, struct ucred *cr) ("newnfs_copycred: negative nfsc_ngroups")); cr->cr_uid = nfscr->nfsc_uid; crsetgroups_fallback(cr, nfscr->nfsc_ngroups, nfscr->nfsc_groups, - NFSD_VNET(nfsrv_defaultgid)); + GID_NOGROUP); } /* diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 29f5a9569b12..84dcf4385f9a 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -4038,7 +4038,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = nidp->nid_uid; crsetgroups_fallback(cr, nidp->nid_ngroup, grps, - NFSD_VNET(nfsrv_defaultgid)); + GID_NOGROUP); cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 4649a05665e5..96b4464436e3 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -42,6 +42,7 @@ #include #include +#include #include #include #include @@ -63,10 +64,6 @@ #include #include -#include - -NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); - static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); #if defined(INET) || defined(INET6) @@ -140,7 +137,7 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, - argp->ex_groups, NFSD_VNET(nfsrv_defaultgid)); + argp->ex_groups, GID_NOGROUP); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; @@ -219,7 +216,7 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, argp->ex_groups, - NFSD_VNET(nfsrv_defaultgid)); + GID_NOGROUP); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; From nobody Fri Nov 15 10:49:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqYfq5GFBz5d07S; Fri, 15 Nov 2024 10:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqYfq1NK7z4Wwn; Fri, 15 Nov 2024 10:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cms8tnsOxLLYsz84NdMJW8EifNHcNly5ILpRHwyDdQ0=; b=HNp9hmpYLAoPWQuEfchpK2wXyV96iGtL9tsWlLi6KVUFNbhg2Vaoa8Sqzf+e9IGiFxsak6 W6DhKBOMiUgKkJhZMAwsYaXLT8kMiB1pfr/3j0LyFvNPqIGVD85WLsbVRvczBbOuFVe4ZF 5Z9wvBap0/WSOLJHb0mIM2VpLvWE8fPmq3qD6qELdz6YTBLd0o+/9/fvF6mQasPZ6yeZ6r uvEoQNiU25dLW0Fu3y8Fl65OpZZA4lRN1pEhjdB3W8moxxvFYpMDVSS/GcbaY3gBV3H6zj HuiK3SQwSQPB8/7sOFkddB2S+B+zh/DDeNxGA/JOVGx+w+sNuOZYBIk81th0Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731667747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cms8tnsOxLLYsz84NdMJW8EifNHcNly5ILpRHwyDdQ0=; b=YNLgMsrV0MdLy2xQOt+ko0G66hub/MP6x92yEjawnLNi8UAugpK3YtGZeVqZ7JMGlz+ddI UKgZaN1sMUdQy7NEQZCzcos6VHLxr4KRmppr6lRjgl+D+GJ4YMjEpKXKuyGf3pUtHafZDl zcDPHeHZH2/MDMpsTk5NIy25cfGFJ5RZnUdOlH2mdoXrTDXvvFwvGujcY5Xf9Q1h+HORt7 b2gpjbk7y0HV6R1CRP5w6YTnE5dFBgqGBLY2xTT7mDO0IdqyhZAJGdTYanz7H2nb394wK+ v/QjME7kim6GfhhPJVAkHdZ6Mg8jy/govarDf4M6xzFF82eWNcmC6QyKNMJwOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731667747; a=rsa-sha256; cv=none; b=DfJd2dSgzdXe9NiWu5qm6sOTybU5gH7Z3UlVm9WjQkCAHBBggULxdRxXtlCKsR7E4M3t8Q pif2XGwYawhggL2NKSiSJuryxljjCvdWk208aTCil5m0UW1gXAMHDWugui8xWUmHTCHH2V f4t2LuSjv83QcRb1c325c/xGayFcyoXbsfsuh0JWeUfrnEGCEpThe/wS4hhdjFtXZYkyuF E13lznchZjkZ0fPBxLSvpiSWsCRgXTgqxt7JTzFJedB7+X1u6pRespE+/MpE0GaWTzPqZY uMlvu4esrp/CRmUuq0IamAXFIPaPGonrxI7wuTQfqRpL/crTqNIAV1mxdLH0AA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqYfq04J7zKlJ; Fri, 15 Nov 2024 10:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4AFAn66S018406; Fri, 15 Nov 2024 10:49:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFAn6i9018403; Fri, 15 Nov 2024 10:49:06 GMT (envelope-from git) Date: Fri, 15 Nov 2024 10:49:06 GMT Message-Id: <202411151049.4AFAn6i9018403@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: 9ee0b40e4a51 - stable/14 - cred: crsetgroups(): Throw away old groups before crextend() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ee0b40e4a5198bd6e17c0d7b4251f5fc9d59add Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9ee0b40e4a5198bd6e17c0d7b4251f5fc9d59add commit 9ee0b40e4a5198bd6e17c0d7b4251f5fc9d59add Author: Olivier Certner AuthorDate: 2024-11-03 18:04:02 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 10:47:43 +0000 cred: crsetgroups(): Throw away old groups before crextend() Now that crextend() asserts that groups are not set (rightfully so, since it may change the backing storage without copying the content of the old one), have crsetgroups() throw away the old groups before calling it, as it installs an entirely new set anyway. This allows to reuse unshared credentials by resetting their groups set, as NFS exports actually do. Reported by: cy Tested by: cy Fixes: ea26c0e79752 ("cred: crextend(): Harden, simplify") Pointy hat to: olce While here, as I forgot these credits in commit 5169d4307eb9 ("nfs: Fallback to GID_NOGROUP on no groups"): Tested by: cy, David Wolfskill (panics caused by mountd(8)) Tested by: kib (MINIMAL/custom kernel compile breakup) (cherry picked from commit 169a10853a50f9bbb037492e6f2737cce10f6b99) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 60452ddb6a48..85c38c474df5 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2217,16 +2217,14 @@ void crcopy(struct ucred *dest, struct ucred *src) { + /* + * Ideally, 'cr_ngroups' should be moved out of 'struct ucred''s bcopied + * area, but this would break the ABI, so is deferred until there is + * a compelling need to change it. + */ bcopy(&src->cr_startcopy, &dest->cr_startcopy, (unsigned)((caddr_t)&src->cr_endcopy - (caddr_t)&src->cr_startcopy)); - /* - * Avoids an assertion in crsetgroups() -> crextend(). Ideally, - * 'cr_ngroups' should be moved out of 'struct ucred''s bcopied area, - * but this would break the ABI, so is deferred until there is a real - * need to change the ABI. - */ - dest->cr_ngroups = 0; dest->cr_flags = src->cr_flags; crsetgroups(dest, src->cr_ngroups, src->cr_groups); uihold(dest->cr_uidinfo); @@ -2486,6 +2484,13 @@ crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups) if (ngrp > ngroups_max + 1) ngrp = ngroups_max + 1; + /* + * crextend() asserts that groups are not set, as it may allocate a new + * backing storage without copying the content of the old one. Since we + * are going to install a completely new set anyway, signal that we + * consider the old ones thrown away. + */ + cr->cr_ngroups = 0; crextend(cr, ngrp); crsetgroups_internal(cr, ngrp, groups); groups_normalize(&cr->cr_ngroups, cr->cr_groups); From nobody Fri Nov 15 13:00:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZf3nKtz5d6cR; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZf381jz4pJc; Fri, 15 Nov 2024 13:00:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4DHMSHr3iGzph+UWxdlgXUP0fir669qhwb0oucsxlQs=; b=dH6LKif7Q7K414KixCzywDWinN7ypvrtX8bhczNUYzpKsy6Qx4rz0qrtnD+rxczWsg7pBd D9/E3BTTsYnFUgvrTYwxZZ1uo+43mzQOgluBmrjH1BUb3s+sQ8u6NIBZsQEFERifzy5+7l vk9aHSADEKADslfp6Xmv+35/hJYxw++EH8/bmaFpMrL2WdsHKgL5RwQgVq32u+WjkB5QcI yu999RNYfCjvXyF3l87pC5O7uiCOLH/7v8p7u9OlmIUUIJ18M7U49MhXTtCjHG6LfFJthl yXGfb7dLQjubYmlteZHzBxDFlyQJLpA9frIQkf+aQmbPkQfoAJphKa6kgrxl8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4DHMSHr3iGzph+UWxdlgXUP0fir669qhwb0oucsxlQs=; b=tDWrY0EcklX4IX4CVlluY+eoU0gHtybdr2WX8pJX+YooGAoABTXsLbjSKU4GOctViZk/Pm kvqYypdjjxLZnq+Jr1nUBYdII9e4ookfVs2+24YpBSnU6wTWE1f55NV0s4gQt7IWbnzCoL JUBtth5gyMkMuLOaY/oxz3SMRpnj0Nqz57hxpZ2QqKkjmluJLdJnruU+f+bbHtG4jSxxeJ gVU5BrjNzsxgatT/Fc3BDZyQONKdDHP1veNGTh9+qFHiufQ0ai8/mm1h30PfVLipn6+MVs 35HhcOg8hLzF44XwBeWjmsBT6h1lZOXLredsl9buFzLjTIBq0F3+XeQrmF+mIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675642; a=rsa-sha256; cv=none; b=yjEt+Sg6MwR3I/m5ZLlcpQsX8t1UtAISM36OTOuO7WFQcG6MJjL3Q03QTBuu01/qP1TTfD OqxrnTjyH28RHeYEkCZ34VTAVtFX8FpewIPiT8ak10ryfm3bKUcPRIJeSTY1VzmcYY6Dfb a0RlH/1XnBSV2xZQzOrxry1S3nxR1hvcXV8K9Z3y8xy4XPTPJCZnDq8rdjDGdCgaXz9mL1 tN//o09ZthPc6OSqdjLDZUOiHWVCEGBzsXZ15BUp5uBPI8aDngZgGyLd/24VMYcMUpJchK GxoFRI4LSHQb9uomZuxDdVFIF7FFrtxqroFTmSZD6v6k4GryQmCrtdL+NrCcLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZf2cKGzN8r; Fri, 15 Nov 2024 13:00: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 4AFD0g9M069737; Fri, 15 Nov 2024 13:00:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0gLE069734; Fri, 15 Nov 2024 13:00:42 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:42 GMT Message-Id: <202411151300.4AFD0gLE069734@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: 9d0d6174840a - stable/13 - cred: supplementary_group_member() => group_is_supplementary() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9d0d6174840a124271a11f2cbd22f6664f9f7fcf Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9d0d6174840a124271a11f2cbd22f6664f9f7fcf commit 9d0d6174840a124271a11f2cbd22f6664f9f7fcf Author: Olivier Certner AuthorDate: 2024-07-16 20:55:53 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:03 +0000 cred: supplementary_group_member() => group_is_supplementary() The new name seems more immediately descriptive. While here, constify its signature ('struct ucred' isn't modified). While here, replace "supplemental" => "supplementary" in some comments. No functional change (intended). Reviewed by: mhorne, emaste Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46906 (cherry picked from commit 2e031fd0719b567e66198bc76c8a1c6c9b7f2920) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index abe989045fb8..c80db8efeee8 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1276,13 +1276,13 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) * Returns whether gid designates a supplementary group in cred. */ static int -supplementary_group_member(gid_t gid, struct ucred *cred) +group_is_supplementary(const gid_t gid, const struct ucred *const cred) { int l, h, m; /* - * Perform a binary search of the supplemental groups. This is possible - * because we sort the groups in crsetgroups(). + * Perform a binary search of the supplementary groups. This is + * possible because we sort the groups in crsetgroups(). */ l = 1; h = cred->cr_ngroups; @@ -1316,7 +1316,7 @@ groupmember(gid_t gid, struct ucred *cred) if (cred->cr_groups[0] == gid) return (1); - return (supplementary_group_member(gid, cred)); + return (group_is_supplementary(gid, cred)); } /* @@ -1329,7 +1329,7 @@ realgroupmember(gid_t gid, struct ucred *cred) if (gid == cred->cr_rgid) return (1); - return (supplementary_group_member(gid, cred)); + return (group_is_supplementary(gid, cred)); } /* @@ -2324,7 +2324,7 @@ crextend(struct ucred *cr, int n) /* * Copy groups in to a credential, preserving any necessary invariants. - * Currently this includes the sorting of all supplemental gids. + * Currently this includes the sorting of all supplementary gids. * crextend() must have been called before hand to ensure sufficient * space is available. */ From nobody Fri Nov 15 13:00:43 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZg5LY6z5d6gL; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZg4K9kz4ntB; Fri, 15 Nov 2024 13:00:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uWooGjbu2FGS+1agvTJQ4MMcDpY7wyAw/IL0npQ5FQU=; b=wTsDp/mIvthdwsb1X9I608Og105F6ky53pSN9JCTHlY1w/6U/gXh/XLTkGS25ubRC+Vg5e IUMqnY+ZYjSK7IqPHf10424swkwDKmzp7AkCdCZnr7VBA1CBrhH8oZ1/5VGVO4r0QZfMqM xJYrW/+jCTiLPbG5f5Anj7lGi7RwxUwKaSf5pMYrHERIAhaH6WSiY3BK9mEP7ffIlDgc+O PbOptVGo4Hi5aZxwTTqJoJHPuw+OfCInWMoJvCi+KaiSsI183rfPzZ0aEB7g7NbUGOgKNL jdTf+ca30kd57quyWgXOEsNDzEEyyTkoyjfWHMzjZq2bnPn5naIOewz4BA3pEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uWooGjbu2FGS+1agvTJQ4MMcDpY7wyAw/IL0npQ5FQU=; b=c6oEOTbnshin2Po1HXRCurWm70ol/8mVwpZ1XoxMiemMfWc/lhdPib1pm3gYP1aY9Tu3YE 1op6zMsP/fk2O5T2ZEHrpp5eVd7B4wxwZqKoTEl/jPh7sn+ldO2kRGqNjvElnX04KxOyfx VtjB4HfWRW53vqxABSoBIQrs+pCCJOJmIHhVOUwGFi6aTk5BRDgzqWH/e86lB4cwirCytB UlY4F0VnjwaAL47SfIvuA6mn2jANS/opFvhXGZLdYvufWcZ/nmUV0zne8l7gVaOTwjp3YF MoH1EJWXlDmrDxikyd11fj2UuXuI4chJJJN2MNce0j/NMwSkKjJ2r5gIAM8wqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675643; a=rsa-sha256; cv=none; b=eivPYLlykBHRn4mUdgDPv9d9LBaFMi017jyea5f/wNAfA1xFSlol6o0xOCXaG2Nj9boz44 m0oBrcnHIA4aCLPGKW5jklylpTAcN1RQ4SGcRDj+nHD3r/lRfOuyWs5+9oVZHU2ncbF0uG m5MyOs8kOe8BtOsEZpFNFkP7qPZBt9C60+HqhJfE1PLQ/Stlp38zeHQMx46fE5eAsYq2WZ bhOCUeYZBK1aR1/VruG6Irx5AVIkkcaynykiz0jMMmW8+rz/Vbd1AGORRp9RADGx1d15wJ wdKV2k0gJ05iXrOyKilfzf4Vu5oSGP9jjBP8a1/UJzLGS8Mt0q5zvU3PpMHwQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZg3chCzNvM; Fri, 15 Nov 2024 13:00: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 4AFD0he4069786; Fri, 15 Nov 2024 13:00:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0hqw069783; Fri, 15 Nov 2024 13:00:43 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:43 GMT Message-Id: <202411151300.4AFD0hqw069783@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: 5e0787bf710f - stable/13 - cred: Constify signature of groupmember() and realgroupmember() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5e0787bf710f1e8c0ae186a32ff39fa2c3ded25d Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5e0787bf710f1e8c0ae186a32ff39fa2c3ded25d commit 5e0787bf710f1e8c0ae186a32ff39fa2c3ded25d Author: Olivier Certner AuthorDate: 2024-10-30 10:59:49 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:07 +0000 cred: Constify signature of groupmember() and realgroupmember() Reviewed by emaste Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47343 (cherry picked from commit b15110fb0dc6f0480482616f22bda3a2a19fbd80) Approved by: markj (mentor) --- share/man/man9/groupmember.9 | 6 +++--- sys/kern/kern_prot.c | 4 ++-- sys/sys/ucred.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/share/man/man9/groupmember.9 b/share/man/man9/groupmember.9 index ae7ccd477955..ea1a7fdbebd4 100644 --- a/share/man/man9/groupmember.9 +++ b/share/man/man9/groupmember.9 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.Dd August 18, 2023 +.Dd October 31, 2024 .Dt GROUPMEMBER 9 .Os .Sh NAME @@ -35,9 +35,9 @@ .In sys/param.h .In sys/ucred.h .Ft int -.Fn groupmember "gid_t gid" "struct ucred *cred" +.Fn groupmember "gid_t gid" "const struct ucred *cred" .Ft int -.Fn realgroupmember "gid_t gid" "struct ucred *cred" +.Fn realgroupmember "gid_t gid" "const struct ucred *cred" .Sh DESCRIPTION The .Fn groupmember diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index c80db8efeee8..0ec3df305048 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1303,7 +1303,7 @@ group_is_supplementary(const gid_t gid, const struct ucred *const cred) * supplementary groups). */ int -groupmember(gid_t gid, struct ucred *cred) +groupmember(gid_t gid, const struct ucred *cred) { /* @@ -1324,7 +1324,7 @@ groupmember(gid_t gid, struct ucred *cred) * groups). */ int -realgroupmember(gid_t gid, struct ucred *cred) +realgroupmember(gid_t gid, const struct ucred *cred) { if (gid == cred->cr_rgid) return (1); diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 837c33757317..74e2d59c57ea 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,8 +158,8 @@ void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); void crsetgroups(struct ucred *cr, int n, gid_t *groups); -int groupmember(gid_t gid, struct ucred *cred); -int realgroupmember(gid_t gid, struct ucred *cred); +int groupmember(gid_t gid, const struct ucred *cred); +int realgroupmember(gid_t gid, const struct ucred *cred); #endif /* _KERNEL */ #endif /* !_SYS_UCRED_H_ */ From nobody Fri Nov 15 13:00:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZj0CFmz5d6ws; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZh5T0Xz4pGs; Fri, 15 Nov 2024 13:00:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lh+OQWWjhOAu2jnKsV/yp6WfqGFHpVkN485dpD44Sz8=; b=PT7TzuEIP5wW8fgmhRMki1YCKi/k9+hOoA0SrB1lhVBbyGlSQtbWssS0Xyr0HjHI34IRJp C3CQ0mxnrw4RoqfmNoq0x/NVnWopLk4K54c3i2Q/tFB+peHQ68hduvUGr9/cZ5/4DMvZTU ODRu5rMV6WAl9cpBjabuQvhgUElKYGRkVH3RfzHIit5HaCQ0tVu8Ys/m4Mv897wdVSJO9i H9XwbjJ4yv9mLXEjHheQz5pQIQ5oR8Gr64horyZ0KXJjduPWUKltIJjfAf3lIU94D9B7Qp QD8zOH7P+jxOQoBBYUlCdcuwGKzGt5/2fXXOvl0KzyR64gKxB7+GZ3sos42bOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lh+OQWWjhOAu2jnKsV/yp6WfqGFHpVkN485dpD44Sz8=; b=ePYOlSQjtViH7fVefN5Ko799Vkm4h5FG8j5NalmQQBwSGyxbp8h8LDWARepdTXhTidrVSq nWQJuYF5Z7VD1BYRa51dEXrWSYCZKRKqi5AFG4NuLlrcpsa8wfeY3ckMwKcSDQuBWRSTP3 Atm8W6xi3AvM6lsUusLbrCrsA8Lay5SxHHRZKDLOuVpl0EGs2PmPtUjR278i7k+TQpPE5Q BMmXlLHK3l3M5zgf+B6JETBiWVIULThiNCNnxY2TsUdFzGGmd+NNUx8xF05ijTh0QdasCM T1GOrl++/ooFhjU7o5tRxj9d0azOdAvOx3H/uJnFuau0w7JSiusLBQxPbRNawA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675644; a=rsa-sha256; cv=none; b=UsXZbd4TyZxsQtdxw1ElSSloruEgk0jrc47j0swhKVffOv7x6mfqRD5WuyMPYHvX6DAYXR tKFUgcq7ka1p5v04mmBX88wBSaGgKjwlyk+gofJzPkQTOleqxknoCvpmwluIw8UPbnpN7b 9RVMgEh0AoLFKGzprRaw+EYpJRhHwUi18FJZTwFoWx81z75q5TIjnPPwGbzi6nFPavaKkH nnw4aTsZVNNOaGtJm62dL95LBN7r3h2DWHnWfhi1JyX4Sxsc+umRCPUc/5cDBV7HnDutn2 wK82e4xpj/nqtmvJ67HneHA73qPH0KuQSUtuTHze/XzyHlNga7Bje4r2r2ey8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZh4ZC8zN8s; Fri, 15 Nov 2024 13:00:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4AFD0iI3069837; Fri, 15 Nov 2024 13:00:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0iR5069834; Fri, 15 Nov 2024 13:00:44 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:44 GMT Message-Id: <202411151300.4AFD0iR5069834@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: 0c835785ebe4 - stable/13 - cred: group_is_supplementary(): Use bsearch() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0c835785ebe48f6033d8f0007b00b659d4dd3a22 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0c835785ebe48f6033d8f0007b00b659d4dd3a22 commit 0c835785ebe48f6033d8f0007b00b659d4dd3a22 Author: Olivier Certner AuthorDate: 2024-07-19 11:23:19 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:07 +0000 cred: group_is_supplementary(): Use bsearch() This makes that function use a more efficient version of binary search instead, and removes one more hand-rolled binary search code from the tree (and the kernel binary). Reviewed by: mhorne, emaste Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46907 (cherry picked from commit 372605478c6fe2c628f25428af201f866d7eb015) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 0ec3df305048..eb4910e1591a 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -828,6 +829,15 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) return (error); } +static int +gidp_cmp(const void *p1, const void *p2) +{ + const gid_t g1 = *(const gid_t *)p1; + const gid_t g2 = *(const gid_t *)p2; + + return ((g1 > g2) - (g1 < g2)); +} + int kern_setgroups(struct thread *td, u_int ngrp, gid_t *groups) { @@ -1278,24 +1288,13 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) static int group_is_supplementary(const gid_t gid, const struct ucred *const cred) { - int l, h, m; /* * Perform a binary search of the supplementary groups. This is * possible because we sort the groups in crsetgroups(). */ - l = 1; - h = cred->cr_ngroups; - - while (l < h) { - m = l + (h - l) / 2; - if (cred->cr_groups[m] < gid) - l = m + 1; - else - h = m; - } - - return (l < cred->cr_ngroups && cred->cr_groups[l] == gid); + return (bsearch(&gid, cred->cr_groups + 1, cred->cr_ngroups - 1, + sizeof(gid), gidp_cmp) != NULL); } /* From nobody Fri Nov 15 13:00:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZk1Ml0z5d6gN; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZj6DHcz4pPS; Fri, 15 Nov 2024 13:00:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7TwaaDC8XGUpgbUpeCBS2sgzfII1NFb/bBh2bQHFMxc=; b=GlW+8cuXcRf1Yv2UxfrdIphDZ9camDHwzKii6J8PaUISb2cHoC6U5Gq4X84oDYs3QqXBzQ dIow14NfeaywufloKHl+NqzYyB9VnphWd/jsjq9SzcW8G7U56X56zkc45e83OIdIXUJQzB 1Xi3YX22ediOW4rNOCSyI9u22awe9oUmU4dXFmg18PR873xC9Y9khjHaaeHwGcyJRJUFd+ lBs3O5svLolwN8rBHix8MBdsxb6pxj9WibNstJVOwVde2CmJ9ZwfxIkL+gYKOmnZiQ+0tS +oFJJ/EMN3MKF7Aurzx9JcDVyBI+KYTZdRnSTZMKiKOP14Nnl11yQapdGJTI5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7TwaaDC8XGUpgbUpeCBS2sgzfII1NFb/bBh2bQHFMxc=; b=wQxihQ/czNN35lYGwe5hfzdaBWdwf8zCNQnUyUksu5HEjbFbuROf0XhloiAYqPZ0XPGYCL QHn7v60dt8OZjylr3tv+spsMR+u8ELrZRRiYAfdKiULbqQbgPINHjuiee82mlEtd/9AxCj ORXgVpOEkmGVX/JD82LmBRS3AnNKaf/5CfTh2nPbeDHO5af3Cm1OtTMHf/fHSWDvM65B8N T+mRx9Ac1s5bSaMHOBqcaO8U/ZGrGEgu4YtQUDgGJlUUaaMEgcclCgsHFXPGKstqwKoF5G 3sBSRnp0UZBEcKyHPWIEifS/JdDIGDsJUHZQSfH6RREf5PWPhusYBB3dYaIN9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675645; a=rsa-sha256; cv=none; b=egklYFVPhhyDXEI03YSV05VULP7romhIY3XiV5KqxidsthVInuI1sRXo8edzb3VJ47FfPf eoDONxqiriWut3sJghfNsifK6fPAnaX7sKp9zt25qQSM30mWMN+06hc7c5BcOtZnAszb/R AQvwx/j3mRJpLJuryXQ3T2ui3QB3Z8dT2XHwOAbMdE5byAVqZrV8k7Xf09ddN+8rUlg+3P H88mt6F69LP9Mt+q0YFtN+4PRFB7v6mpqrZnFjxCIGaQz7uXdkTx+FZw4NPCoB2QPK9uVo DnfQVa3R9uZS08A5MzoAQ5UzS+XrkjYzkwzupROpI9NRIxtE8CC53+fv2O417g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZj5THbzP5w; Fri, 15 Nov 2024 13:00: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 4AFD0j73069882; Fri, 15 Nov 2024 13:00:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0jWZ069879; Fri, 15 Nov 2024 13:00:45 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:45 GMT Message-Id: <202411151300.4AFD0jWZ069879@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: d43f0394c57e - stable/13 - cred: Make group_is_supplementary() public; New group_is_primary() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d43f0394c57e9119248039b04f063ed6b839e1cd Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=d43f0394c57e9119248039b04f063ed6b839e1cd commit d43f0394c57e9119248039b04f063ed6b839e1cd Author: Olivier Certner AuthorDate: 2024-07-19 09:54:35 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:08 +0000 cred: Make group_is_supplementary() public; New group_is_primary() Reviewed by: mhorne Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46908 (cherry picked from commit 6369544278b2e4fb5203b10dab466ff7c72c0a25) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 2 +- sys/sys/ucred.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index eb4910e1591a..5fdb0a40a425 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1285,7 +1285,7 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) /* * Returns whether gid designates a supplementary group in cred. */ -static int +int group_is_supplementary(const gid_t gid, const struct ucred *const cred) { diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 74e2d59c57ea..da0568e9648f 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,6 +158,17 @@ void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); void crsetgroups(struct ucred *cr, int n, gid_t *groups); + +/* + * Returns whether gid designates a primary group in cred. + */ +static inline int +group_is_primary(const gid_t gid, const struct ucred *const cred) +{ + return (gid == cred->cr_groups[0] || gid == cred->cr_rgid || + gid == cred->cr_svgid); +} +int group_is_supplementary(const gid_t gid, const struct ucred *const cred); int groupmember(gid_t gid, const struct ucred *cred); int realgroupmember(gid_t gid, const struct ucred *cred); #endif /* _KERNEL */ From nobody Fri Nov 15 13:00:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZm3BrFz5d6tg; Fri, 15 Nov 2024 13:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZm0cSFz4pKC; Fri, 15 Nov 2024 13:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G2f+f8NLeDkpYjvJ3OAYaq27Dz2vCwa2nivgjGVUeBs=; b=RVaKmGRzIoCVHSruPK8eIqPBR8gRKYSfeWke/FrbYpEeQGUIt02m+8/4vgFnQggGD1OJc3 wRkbGmt3CULXAwXTRvAAGLSdB546OIXixnqSsT1+WeyBs2835ZZ5oKkWNr13AW/YG+nN9w wcxRb+25V1C7DWkEfqYRGLM6EfAnFn6fz8PpPcQQS+rJYDPX3j85hAksxSTHZsxR2T4PVp HEmKrTji97B8aiDUvBj4aPIr+6UYuLw9lnmrgfUb75CZwc0CFoC3v7/bSeG7CaQ6SrHAl0 CBVPbTrAq7lZiTz6usr0zqLAKJC5kWpAY2JztSW7+FPMHg4J6YrIIPmz2O/9Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G2f+f8NLeDkpYjvJ3OAYaq27Dz2vCwa2nivgjGVUeBs=; b=D1S6wbEN0NFzI2Y5eXX/E75apWy20hog7cywtV1SO2qM2UVXW0ZA7iqxFGevlqs38CFcOp bKv6DGbtly/7GPYW3SPV+P0DtDuUcQrtASVn0mYxBAknBsxz2UNoxzIR8ucTtz5Ym3bDNQ sbDP8+x7dP3s+kL70B0s2EyFOfOPqSBHzgthWSlKc+k1gJonUwGb7YUHzCUdFr499GK9js k8iuQxyffeS1RYzA3cQKVVNBlU+0h5E6kJSY/ilIwS7h7CLoWxjB3D/eWBa42mUdhrC1Sc gAsCa0xbnX28Ct0cGgFiCgRVZcmiBU1Ui7x8O+46HVwXRpktKJYOalTkyDZTvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675648; a=rsa-sha256; cv=none; b=F4VZrzAZs62AsG1WS5aBkNNA5+78zhV7OvKzdkBB9FwXHja0+Ymb2s7Xl5IqDZ9DUkUW6X IaHJw0jIO3sIOROabDrW4IBTBgsQ2OVOPinjE18svBPzrgoACbDXXpwSj8Kd5qASYG+73U QmmGhDJ9dnr4e7G82g3ReJgPBkP51ldFVaGorJAdqsWd4HeGweAnZGRMmL0TZs6zI7kJIE R9bAvxkP9mjrmV97VKtxZ/IFgF+wAEq/R5T46ny0KweiDURFl0L4G08H81BH0AKWaHUlFX jByz2Pbsdh22/crtfMNz7D82LjdzsF0ir8kJ4zuB6x/TuEMTQ9R91FVpmQEMQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZm01M3zPLG; Fri, 15 Nov 2024 13:00: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 4AFD0lex070926; Fri, 15 Nov 2024 13:00:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0lgd070913; Fri, 15 Nov 2024 13:00:47 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:47 GMT Message-Id: <202411151300.4AFD0lgd070913@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: b8f857922806 - stable/13 - cred: kern_setgroups(): Internally use int as number of groups' type List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b8f857922806570bef2e366c8d5277bc5260035c Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b8f857922806570bef2e366c8d5277bc5260035c commit b8f857922806570bef2e366c8d5277bc5260035c Author: Olivier Certner AuthorDate: 2024-10-01 16:46:46 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:08 +0000 cred: kern_setgroups(): Internally use int as number of groups' type sys_setgroups() (and sys_getgroups()) was changed in commit "kern: fail getgroup and setgroup with negative int" (4bc2174a1b48) to take the number of groups as an 'int' (for sys_getgroups(), POSIX mandates this change; for sys_setgroups(), which it does not standardize, it's arguably for consistency). All our internal APIs related to groups on 'struct ucred', as well as related members on the latter, treat that number as an 'int' as well (and not a 'u_int'). Consequently, to avoid surprises, change kern_setgroups() to behave the same, and fix audit_arg_groupset() accordingly. With that change, everything is handled with signed integers internally. Update sanity checks accordingly. Reviewed by: mhorne Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46912 (cherry picked from commit abd39811cd7e4bb928da503f4a5c79364ac8d0f5) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 16 ++++++++++++++-- sys/security/audit/audit.h | 2 +- sys/security/audit/audit_arg.c | 8 ++++---- sys/sys/syscallsubr.h | 2 +- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index cb9a2f3c5ae7..901753f1e5b7 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -811,6 +811,15 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) gid_t *groups; int gidsetsize, error; + /* + * Sanity check size now to avoid passing too big a value to copyin(), + * even if kern_setgroups() will do it again. + * + * Ideally, the 'gidsetsize' argument should have been a 'u_int' (and it + * was, in this implementation, for a long time), but POSIX standardized + * getgroups() to take an 'int' and it would be quite entrapping to have + * setgroups() differ. + */ gidsetsize = uap->gidsetsize; if (gidsetsize > ngroups_max + 1 || gidsetsize < 0) return (EINVAL); @@ -839,13 +848,16 @@ gidp_cmp(const void *p1, const void *p2) } int -kern_setgroups(struct thread *td, u_int ngrp, gid_t *groups) +kern_setgroups(struct thread *td, int ngrp, gid_t *groups) { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; int error; - MPASS(ngrp <= ngroups_max + 1); + /* Sanity check size. */ + if (ngrp < 0 || ngrp > ngroups_max + 1) + return (EINVAL); + AUDIT_ARG_GROUPSET(groups, ngrp); newcred = crget(); crextend(newcred, ngrp); diff --git a/sys/security/audit/audit.h b/sys/security/audit/audit.h index e7a9c83afbb3..b87dd52e0773 100644 --- a/sys/security/audit/audit.h +++ b/sys/security/audit/audit.h @@ -98,7 +98,7 @@ void audit_arg_rgid(gid_t rgid); void audit_arg_ruid(uid_t ruid); void audit_arg_sgid(gid_t sgid); void audit_arg_suid(uid_t suid); -void audit_arg_groupset(gid_t *gidset, u_int gidset_size); +void audit_arg_groupset(gid_t *gidset, int gidset_size); void audit_arg_login(char *login); void audit_arg_ctlname(int *name, int namelen); void audit_arg_mask(int mask); diff --git a/sys/security/audit/audit_arg.c b/sys/security/audit/audit_arg.c index 7b7fe34ccda9..db621db1574f 100644 --- a/sys/security/audit/audit_arg.c +++ b/sys/security/audit/audit_arg.c @@ -264,13 +264,13 @@ audit_arg_suid(uid_t suid) } void -audit_arg_groupset(gid_t *gidset, u_int gidset_size) +audit_arg_groupset(gid_t *gidset, int gidset_size) { - u_int i; + int i; struct kaudit_record *ar; - KASSERT(gidset_size <= ngroups_max + 1, - ("audit_arg_groupset: gidset_size > (kern.ngroups + 1)")); + KASSERT(gidset_size >= 0 && gidset_size <= ngroups_max + 1, + ("audit_arg_groupset: gidset_size < 0 or > (kern.ngroups + 1)")); ar = currecord(); if (ar == NULL) diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 4710c3cf1406..9edd62729c38 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -287,7 +287,7 @@ int kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou, fd_set *fd_ex, struct timeval *tvp, int abi_nfdbits); int kern_sendit(struct thread *td, int s, struct msghdr *mp, int flags, struct mbuf *control, enum uio_seg segflg); -int kern_setgroups(struct thread *td, u_int ngrp, gid_t *groups); +int kern_setgroups(struct thread *td, int ngrp, gid_t *groups); int kern_setitimer(struct thread *, u_int, struct itimerval *, struct itimerval *); int kern_setpriority(struct thread *td, int which, int who, int prio); From nobody Fri Nov 15 13:00:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZl2sfpz5d6gP; Fri, 15 Nov 2024 13:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZk6wzrz4pPg; Fri, 15 Nov 2024 13:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E3w1PMNFtK2EAqgvZe5b+Xzdz9BD6RQ09kv5Bs0eMjc=; b=W2frEA8jQPnwJlzEJbqQETfjzVh1nDpqwYVZ3+iukJC6uBIGVPmEqnuqIKSInXYzYH3zLQ JHgQ+uWqyr799mzkUABtFU/MhcYW9ZyWXuu5TtCLnZMv8+qOLgpBZrwixqKrQLySmLqbyN MPDrKmIWZFp2agKZeQosq/6ht9jZ4y/gtMc14x/J4i6COA0i8sIGxqUUEJP6BLdblE33VL r0BjHiukX96CeqbjazC2bdQX17zQHEYY+93sFMNfLKhQl6VMWK5Qqp6ON0ll4GuK1q1G+K J5hXzl/5wPRrfGgNPnFm2P5MAUtB5N8CJ1mFrB+wqXLPnsuvBuU5okxVcj3lsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E3w1PMNFtK2EAqgvZe5b+Xzdz9BD6RQ09kv5Bs0eMjc=; b=VSah2J6DQftTODFQQjUKriwOWV0IWTJKe/qroNm/cyXD1lGfAUoTyOYbLw++Uh9U36scho jMdymsVXSXlIWCLgpbKpFubrpW8zGWndlUyxC7IBlkGOuKIDZwlm0MCxAZex2+EkXtZRlp tlBqenai/lNybVVU57ZwbQz0yI/UBE2bB/xf/XmvC7z5yA0+cQVEIyXMKSICVchAbE0Crr 7E/XNUcC9QBX68d/RoZoder1wO6bXR/TajBxPuc0SrA1T77URURrkVUbNw9TTMJF28XxAe olvA41nJVf0iuzXi7PWeFuJT6eoizot4yniMLFBhwi+Xe1FZDKEmBdZEbYw0/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675647; a=rsa-sha256; cv=none; b=VQa0Xr/JGIDmyCKs328QWra5La6vJDOxPafrdCmtuVJIbhOWXktkFwK3o2IQ0wDJ1bgnuc 7vJnD7FXpnAL6nbUsBUhJcjmza9fOoM0yQ5ZbQ61c6pvxQ/AYAuvAOrXtZ4zpydriSlbHy 2Igdz1Fy3eGOZNLsOsfGh1MK2mmNFR5xM7G2ybF89SozgqZ2+5fExy/Y1uq6XfE6pBoYb5 nQlkKCjwUSrT/xTimc+4mOxC7BL5Haaf4+O3ke26mZyJJ5nIBI5tN2OKdeKHDNzwz2Ul63 pY5PyHzUcXuTDHleTJtTDDD+XsvDPVShMiU5SmaDaKH1/TmG66RTgeMu8Mo6UQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZk6YJ8zP5X; Fri, 15 Nov 2024 13:00: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 4AFD0kVM069938; Fri, 15 Nov 2024 13:00:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0kvd069934; Fri, 15 Nov 2024 13:00:46 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:46 GMT Message-Id: <202411151300.4AFD0kvd069934@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: 3ce5ef4f7a97 - stable/13 - cred: Separate constant for the number of inlined groups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3ce5ef4f7a97d3e059fba7d6afc60881e8f3fb9f Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3ce5ef4f7a97d3e059fba7d6afc60881e8f3fb9f commit 3ce5ef4f7a97d3e059fba7d6afc60881e8f3fb9f Author: Olivier Certner AuthorDate: 2024-07-16 20:37:44 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:08 +0000 cred: Separate constant for the number of inlined groups CRED_SMALLGROUPS_NB now holds the number of inlined groups in field 'cr_smallgroups'. XU_NGROUPS stays the number of groups allowed in 'struct xucred'. The first is an implementation detail, while the second is part of a public interface. All mentions of XU_NGROUPS in the tree have been reviewed and only those concerning the implementation detail have been changed to use CRED_SMALLGROUPS_NB (they were all in 'kern_prot.c'). No functional change, as CRED_SMALLGROUPS_NB is set to 16, the same value as XU_NGROUPS. Reviewed by: mhorne (slightly different version) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46911 (cherry picked from commit 664b9fcb1c051c17ba11d1e5e8a1db9938d76bd5) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 6 +++--- sys/sys/ucred.h | 12 ++++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 5fdb0a40a425..cb9a2f3c5ae7 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -807,7 +807,7 @@ struct setgroups_args { int sys_setgroups(struct thread *td, struct setgroups_args *uap) { - gid_t smallgroups[XU_NGROUPS]; + gid_t smallgroups[CRED_SMALLGROUPS_NB]; gid_t *groups; int gidsetsize, error; @@ -815,7 +815,7 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) if (gidsetsize > ngroups_max + 1 || gidsetsize < 0) return (EINVAL); - if (gidsetsize > XU_NGROUPS) + if (gidsetsize > CRED_SMALLGROUPS_NB) groups = malloc(gidsetsize * sizeof(gid_t), M_TEMP, M_WAITOK); else groups = smallgroups; @@ -824,7 +824,7 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) if (error == 0) error = kern_setgroups(td, gidsetsize, groups); - if (gidsetsize > XU_NGROUPS) + if (gidsetsize > CRED_SMALLGROUPS_NB) free(groups, M_TEMP); return (error); } diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index da0568e9648f..243a2431bd0b 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -44,6 +44,14 @@ struct loginclass; #define XU_NGROUPS 16 +#if defined(_KERNEL) || defined(_WANT_UCRED) +/* + * Number of groups inlined in 'struct ucred'. It must stay reasonably low as + * it is also used by some functions to allocate an array of this size on the + * stack. + */ +#define CRED_SMALLGROUPS_NB 16 + /* * Credentials. * @@ -57,7 +65,6 @@ struct loginclass; * * See "Credential management" comment in kern_prot.c for more information. */ -#if defined(_KERNEL) || defined(_WANT_UCRED) struct ucred { struct mtx cr_mtx; u_int cr_ref; /* (c) reference count */ @@ -80,7 +87,8 @@ struct ucred { struct label *cr_label; /* MAC label */ gid_t *cr_groups; /* groups */ int cr_agroups; /* Available groups */ - gid_t cr_smallgroups[XU_NGROUPS]; /* storage for small groups */ + /* storage for small groups */ + gid_t cr_smallgroups[CRED_SMALLGROUPS_NB]; }; #define NOCRED ((struct ucred *)0) /* no credential available */ #define FSCRED ((struct ucred *)-1) /* filesystem credential */ From nobody Fri Nov 15 13:00:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZn3Z3Wz5d6gQ; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZn1Fllz4pXR; Fri, 15 Nov 2024 13:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=92l7M5PKmk8i+LnGpYqDvRgnxrw3lMlNgzqJah+uW1s=; b=A6E6ChVeT+QM7QABdUzHgJO47DSTakN8MMboMHCpccmaXeq2ocfeyiCA340pPYAdfymjcR E4dVzeVIrV4R+E/9RkG41FcpY1Zu39f91TducGlPnU7xPY606SIK3YON1NAinTOFsnZDpr wLSjBVZQWiZuGkSlbqK5+kKPNkmrqE5Tb/Qxv0RvxT2LmCc0BoL5wj7rsvoNMuXSsQzLTv YIqJ8R3Th6HNy/WgPoonNfV8Gbzje3leIx49UaoLWbqBKy296UUwTV64OXSWbKao/+PMEe LiZ+cfKYUOddO0h5+CfPBkE+IYKoolivNUfSvdn9KsX+4m4Y0L3vtytgg5graQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=92l7M5PKmk8i+LnGpYqDvRgnxrw3lMlNgzqJah+uW1s=; b=p4NT/tf/IuuWqtlYFsBEEb6oLrsqxH/YOWSfFMQXmhfbcmwqrcriljx+PYW/5XrAPY2WTx l24r6bwaOtBb94WwqP3djyryz1vCS/qHKfq0oMOyN5XqcjT4t6ya+IodtWtpKzm0XSjTmJ Os6x0g7ZB2NJkDlnbjyBGJK3hQSOnX4DDQ5EWSyPW/P8bS0kGOThw5yF8aK1/yAmeO3ypp FzJUF4XZvR5PhZHHO7JUvjSy+f89YDfZ4pCtcIdKHU3W4695PNr3XUQg1xroaY5bqwp2Ds tNal/YDc0iKvntGUx+RrIqP30j3rlO1IMxZBKq2ugPD9zSbfot2CRUIJSLeBag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675649; a=rsa-sha256; cv=none; b=x5r1HPzaYk3TuEXftMmARJtInOe4PD+bmpvw5hrjA1cmJZ/jqyGiMhL2rLzEzGoavYS53v eJi0LRvRRZk433rOke3kWK3vl1hDotQkir0xPvRP2tvzKhQYSjecnV4Kgw07+nWYFdeIct j6rvZTJDvkfxkdsIEfhwOzF2T7iInMkQTxpU/6lkCn8wDTTzRGSs8PFBRFH9Uz2M/IhTQb W5cZtDtoW8eWcFL7HMHcdvGUJKmOMILXyc26MaQzl/QCCPuktzo+p/ZYqCh45dnarUD6UN 7kz+TpXkjG+FcIx1loSNyVQ2wUx6+lm8Q5pKbC9N7zprbyiGteISvoveea4DkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZn0b9TzNs7; Fri, 15 Nov 2024 13:00: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 4AFD0mfd071113; Fri, 15 Nov 2024 13:00:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0mm5071108; Fri, 15 Nov 2024 13:00:48 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:48 GMT Message-Id: <202411151300.4AFD0mm5071108@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: 50e3e905e409 - stable/13 - cred: 'kern.ngroups' tunable: Limit it to avoid internal overflows List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 50e3e905e409a8f6387328326c5dc37a4fbbcdd8 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=50e3e905e409a8f6387328326c5dc37a4fbbcdd8 commit 50e3e905e409a8f6387328326c5dc37a4fbbcdd8 Author: Olivier Certner AuthorDate: 2024-10-01 17:00:43 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:08 +0000 cred: 'kern.ngroups' tunable: Limit it to avoid internal overflows As the comment introduced with the tunable said (but the code didn't do), make sure that 'ngroups_max' can't be INT_MAX, as this would cause overflow in the usual 'ngroups_max + 1' computations (as we store the effective GID and supplementary groups' IDs in the same array, and 'ngroups_max' only applies to supplementary groups). Further, we limit the maximum number of groups somewhat arbitrarily to ~17M so as to avoid overflow when computing the size in bytes of the groups set's backing array and to avoid obvious configuration errors. We really don't think that more than ~17M groups will ever be needed (if I'm proven wrong one day, please drop me a note about your use case). While here, document more precisely why NGROUPS_MAX needs to be the minimum value for 'ngroups_max'. Reviewed by: mhorne (older version) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46913 (cherry picked from commit 580904d995d53ccd2492140a37107442d8b36dc0) Approved by: markj (mentor) --- sys/kern/subr_param.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index 0ea2279ef2e6..c976bd4cc029 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -235,14 +235,32 @@ init_param1(void) TUNABLE_ULONG_FETCH("kern.sgrowsiz", &sgrowsiz); /* - * Let the administrator set {NGROUPS_MAX}, but disallow values - * less than NGROUPS_MAX which would violate POSIX.1-2008 or - * greater than INT_MAX-1 which would result in overflow. + * Let the administrator set {NGROUPS_MAX}. + * + * Values less than NGROUPS_MAX would violate POSIX/SuS (see the + * specification for , paragraph "Runtime Increasable + * Values"). + * + * On the other hand, INT_MAX would result in an overflow for the common + * 'ngroups_max + 1' computation (to obtain the size of the internal + * groups array, its first element being reserved for the effective + * GID). Also, the number of allocated bytes for the group array must + * not overflow on 32-bit machines. For all these reasons, we limit the + * number of supplementary groups to some very high number that we + * expect will never be reached in all practical uses and ensures we + * avoid the problems just exposed, even if 'gid_t' was to be enlarged + * by a magnitude. */ ngroups_max = NGROUPS_MAX; TUNABLE_INT_FETCH("kern.ngroups", &ngroups_max); if (ngroups_max < NGROUPS_MAX) ngroups_max = NGROUPS_MAX; + else { + const int ngroups_max_max = (1 << 24) - 1; + + if (ngroups_max > ngroups_max_max) + ngroups_max = ngroups_max_max; + } /* * Only allow to lower the maximal pid. From nobody Fri Nov 15 13:00:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZp5knpz5d6gT; Fri, 15 Nov 2024 13:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZp23bhz4pdF; Fri, 15 Nov 2024 13:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uhdvajkd0f2A8DpQv32Amr+gd/NCW7jGfbwTEF9vR04=; b=JFeRFqr1FOJM481lraIBXyuMikU4K+eIgMbHZ1sVg5gKMm31VyXUwM4NPDYvMuD6AZqFVO TZk+qllUI9D6QSEgydRTcd9ea+j66ZBeFTr61hkq/KImEsMfmQO1QatWEU2JJ/xrDVefHy Aiyr6GHTqz4zg3O1VVVeoJy9aKKW1LoSgwZseLxJmngkZvt2hnun3ZVkZjJGTqoqB1/B6I hb2ye+L5GvuKjHKjoSJi81RW+M5jbfb2VEf27cxp+aqf+GWImkxkKuaa4UQozSAXsS1cv8 4DZQHOdgEUngwN3JGOxv9AF9h6JFvZy+6e/pZXQiUe+gPEeMZ30+iAJ2kGA3nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uhdvajkd0f2A8DpQv32Amr+gd/NCW7jGfbwTEF9vR04=; b=AwaMGqoSmxLSdtbaJ0z+1V1zp/o04AYyhCs1WW55BrvukVXhQd1MnN0spJRzSOlY2plue7 66AvaV/E58ibTpf66MiPisV4+L1nti/BlVkW+Zh5cukJHapRZ9DNph6SZzZlVsSBgWDGXQ kjwRMh3gGSeVkEiWyxeic2pUxzuy8psYPYDoAwOlyi60E2Z58xo9JWl6GsbGDmlUyRPmIw rOCfeb4MVgDdzObTFTuHSZHai2TsHdl+v3tyywgm7gtCusSvYwEEkMIdq9jI+rx5Zuc9KN NNno1mFz8vGH59dCndhSUYh6bPQbQxVoubmJHA8n5mWpjMS9qz/btbqo6BLIKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675650; a=rsa-sha256; cv=none; b=a8QX/GVy8WA5Fc+H579IFBbf/u9U+M51pJN37UvzzYotSzP8H/5yMrluN7b660oieoPa/0 qC/SDYpUvAOJ6JJhdIRHK+TT5unTJDJPdyISYmu1cNGCeu2T4wzo3qZ/Xz1zx1l0acqubn r200Ls4aV0BZSoy6ZeOXoWQmBO0sl3eQPo1cJ0WP12kU9Z/tT7aTvinVoE9RW/Oboz0Z56 uxTz+JMr08QrO6LgcvWzFyz+SpSS+sh6AQA2k7thBQXrGy6Mq1IGAEwA92+twKxGZ2PIGO paYua3unX3iMtcES5M1yAdLbIr07aPRnqH8OugZ/+UVmEREyfZcz12J6mEIIqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZp1bs2zP5c; Fri, 15 Nov 2024 13:00: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 4AFD0onJ071185; Fri, 15 Nov 2024 13:00:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0oJq071180; Fri, 15 Nov 2024 13:00:50 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:50 GMT Message-Id: <202411151300.4AFD0oJq071180@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: bd3813a8e1cf - stable/13 - cred: crsetgroups(): Improve and factor out groups normalization List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bd3813a8e1cf3e1766283f4f9e7fe085222cd32a Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=bd3813a8e1cf3e1766283f4f9e7fe085222cd32a commit bd3813a8e1cf3e1766283f4f9e7fe085222cd32a Author: Olivier Certner AuthorDate: 2024-10-02 12:40:27 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:08 +0000 cred: crsetgroups(): Improve and factor out groups normalization The groups array has been sorted (not including the first element, which is always the effective GID) to enable performing a binary search for determining if some group is part of the supplementary groups set. Factor out this sorting operation into an internal normalization function (groups_normalize()), adding to it the removal of duplicates after the sort. Separating groups normalization code allows to perform it in advance, and in particular before calling MAC hooks which need the groups array to be sorted to perform better. This also enables sorting input arrays ahead of acquiring the process lock (which is not necessary for this operation). kern_setgroups() has been changed accordingly, so MAC modules implementing the mac_cred_check_setgroups() hook now can assume a normalized groups array (and also that it has at least one element, as if kern_setgroups() is passed no groups, the hook is called with an array of one element being the current effective GID, as this is effectively the effect of such a call to kern_setgroups()). Further commits introducing the setcred() system call and associated MAC hooks will also guarantee a normalized groups array to MAC modules implementing these hooks. Rename crsetgroups_locked() into crsetgroups_internal(), as it is no more "locked" than crsetgroups() itself. However, it can be called under any lock (as needed), whereas the second may sleep to allocate memory. Update their herald comments to make that explicit. In passing, using qsort() instead of the old open-coded insertion sort (in crsetgroups_locked()) fixes the performance concern about the latter when using a large number of groups. Also, our qsort() falls back to insertion sort for small arrays and in case the array is likely to be mostly sorted, so this shouldn't cause concerns for the small number of groups common case. While here, add assertions in inner modification routines to check that the passed credentials object has a reference count of exactly 1 (in particular, it must not be shared). Remove a redundant one from some outer routine. Reviewed by: mhorne Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46914 (cherry picked from commit 6d2efbb34fdb59facbe6d83374ef4ab69d395866) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 168 ++++++++++++++++++++++++++++++++++++++------------ sys/sys/syscallsubr.h | 2 +- sys/sys/ucred.h | 2 +- 3 files changed, 131 insertions(+), 41 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 901753f1e5b7..6cdfea2774c0 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -89,8 +89,22 @@ SYSCTL_NODE(_security, OID_AUTO, bsd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "BSD security policy"); static void crfree_final(struct ucred *cr); -static void crsetgroups_locked(struct ucred *cr, int ngrp, - gid_t *groups); + +static inline void +groups_check_positive_len(int ngrp) +{ + MPASS2(ngrp >= 0, "negative number of groups"); + MPASS2(ngrp != 0, "at least one group expected (effective GID)"); +} +static inline void +groups_check_max_len(int ngrp) +{ + MPASS2(ngrp <= ngroups_max + 1, "too many groups"); +} + +static void groups_normalize(int *ngrp, gid_t *groups); +static void crsetgroups_internal(struct ucred *cr, int ngrp, + const gid_t *groups); #ifndef _SYS_SYSPROTO_H_ struct getpid_args { @@ -831,9 +845,9 @@ sys_setgroups(struct thread *td, struct setgroups_args *uap) error = copyin(uap->gidset, groups, gidsetsize * sizeof(gid_t)); if (error == 0) - error = kern_setgroups(td, gidsetsize, groups); + error = kern_setgroups(td, &gidsetsize, groups); - if (gidsetsize > CRED_SMALLGROUPS_NB) + if (groups != smallgroups) free(groups, M_TEMP); return (error); } @@ -847,25 +861,38 @@ gidp_cmp(const void *p1, const void *p2) return ((g1 > g2) - (g1 < g2)); } +/* + * CAUTION: This function normalizes 'groups', possibly also changing the value + * of '*ngrpp' as a consequence. + */ int -kern_setgroups(struct thread *td, int ngrp, gid_t *groups) +kern_setgroups(struct thread *td, int *ngrpp, gid_t *groups) { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; - int error; + int ngrp, error; + ngrp = *ngrpp; /* Sanity check size. */ if (ngrp < 0 || ngrp > ngroups_max + 1) return (EINVAL); AUDIT_ARG_GROUPSET(groups, ngrp); + if (ngrp != 0) { + /* We allow and treat 0 specially below. */ + groups_normalize(ngrpp, groups); + ngrp = *ngrpp; + } newcred = crget(); crextend(newcred, ngrp); PROC_LOCK(p); oldcred = crcopysafe(p, newcred); #ifdef MAC - error = mac_cred_check_setgroups(oldcred, ngrp, groups); + error = ngrp == 0 ? + /* If 'ngrp' is 0, we'll keep just the current effective GID. */ + mac_cred_check_setgroups(oldcred, 1, oldcred->cr_groups) : + mac_cred_check_setgroups(oldcred, ngrp, groups); if (error) goto fail; #endif @@ -882,9 +909,9 @@ kern_setgroups(struct thread *td, int ngrp, gid_t *groups) * when running non-BSD software if we do not do the same. */ newcred->cr_ngroups = 1; - } else { - crsetgroups_locked(newcred, ngrp, groups); - } + } else + crsetgroups_internal(newcred, ngrp, groups); + setsugid(p); proc_set_cred(p, newcred); PROC_UNLOCK(p); @@ -1294,6 +1321,32 @@ sys___setugid(struct thread *td, struct __setugid_args *uap) #endif /* REGRESSION */ } +#ifdef INVARIANTS +static void +groups_check_normalized(int ngrp, const gid_t *groups) +{ + gid_t prev_g; + + groups_check_positive_len(ngrp); + groups_check_max_len(ngrp); + + if (ngrp == 1) + return; + + prev_g = groups[1]; + for (int i = 2; i < ngrp; ++i) { + const gid_t g = groups[i]; + + if (prev_g >= g) + panic("%s: groups[%d] (%u) >= groups[%d] (%u)", + __func__, i - 1, prev_g, i, g); + prev_g = g; + } +} +#else +#define groups_check_normalized(...) +#endif + /* * Returns whether gid designates a supplementary group in cred. */ @@ -2156,7 +2209,6 @@ void crcopy(struct ucred *dest, struct ucred *src) { - KASSERT(dest->cr_ref == 1, ("crcopy of shared ucred")); bcopy(&src->cr_startcopy, &dest->cr_startcopy, (unsigned)((caddr_t)&src->cr_endcopy - (caddr_t)&src->cr_startcopy)); @@ -2301,6 +2353,8 @@ crextend(struct ucred *cr, int n) { int cnt; + MPASS2(cr->cr_ref == 1, "'cr_ref' must be 1 (referenced, unshared)"); + /* Truncate? */ if (n <= cr->cr_agroups) return; @@ -2334,52 +2388,88 @@ crextend(struct ucred *cr, int n) } /* - * Copy groups in to a credential, preserving any necessary invariants. - * Currently this includes the sorting of all supplementary gids. - * crextend() must have been called before hand to ensure sufficient - * space is available. + * Normalizes a set of groups to be applied to a 'struct ucred'. + * + * The set of groups is an array that must comprise the effective GID as its + * first element (so its length cannot be 0). + * + * Normalization ensures that elements after the first, which stand for the + * supplementary groups, are sorted in ascending order and do not contain + * duplicates. */ static void -crsetgroups_locked(struct ucred *cr, int ngrp, gid_t *groups) +groups_normalize(int *ngrp, gid_t *groups) { - int i; - int j; - gid_t g; + gid_t prev_g; + int ins_idx; - KASSERT(cr->cr_agroups >= ngrp, ("cr_ngroups is too small")); + groups_check_positive_len(*ngrp); + groups_check_max_len(*ngrp); - bcopy(groups, cr->cr_groups, ngrp * sizeof(gid_t)); - cr->cr_ngroups = ngrp; + if (*ngrp == 1) + return; - /* - * Sort all groups except cr_groups[0] to allow groupmember to - * perform a binary search. - * - * XXX: If large numbers of groups become common this should - * be replaced with shell sort like linux uses or possibly - * heap sort. - */ - for (i = 2; i < ngrp; i++) { - g = cr->cr_groups[i]; - for (j = i-1; j >= 1 && g < cr->cr_groups[j]; j--) - cr->cr_groups[j + 1] = cr->cr_groups[j]; - cr->cr_groups[j + 1] = g; + qsort(groups + 1, *ngrp - 1, sizeof(*groups), gidp_cmp); + + /* Remove duplicates. */ + prev_g = groups[1]; + ins_idx = 2; + for (int i = 2; i < *ngrp; ++i) { + const gid_t g = groups[i]; + + if (g != prev_g) { + if (i != ins_idx) + groups[ins_idx] = g; + ++ins_idx; + prev_g = g; + } } + *ngrp = ins_idx; + + groups_check_normalized(*ngrp, groups); +} + +/* + * Internal function copying groups into a credential. + * + * 'ngrp' must be strictly positive. Either the passed 'groups' array must have + * been normalized in advance (see groups_normalize()), else it must be so + * before the structure is to be used again. + * + * This function is suitable to be used under any lock (it doesn't take any lock + * itself nor sleep, and in particular doesn't allocate memory). crextend() + * must have been called beforehand to ensure sufficient space is available. + * See also crsetgroups(), which handles that. + */ +static void +crsetgroups_internal(struct ucred *cr, int ngrp, const gid_t *groups) +{ + + MPASS2(cr->cr_ref == 1, "'cr_ref' must be 1 (referenced, unshared)"); + MPASS2(cr->cr_agroups >= ngrp, "'cr_agroups' too small"); + groups_check_positive_len(ngrp); + + bcopy(groups, cr->cr_groups, ngrp * sizeof(gid_t)); + cr->cr_ngroups = ngrp; } /* * Copy groups in to a credential after expanding it if required. - * Truncate the list to (ngroups_max + 1) if it is too large. + * + * May sleep in order to allocate memory (except if, e.g., crextend() was called + * before with 'ngrp' or greater). Truncates the list to (ngroups_max + 1) if + * it is too large. Array 'groups' doesn't need to be sorted. 'ngrp' must be + * strictly positive. */ void -crsetgroups(struct ucred *cr, int ngrp, gid_t *groups) +crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups) { if (ngrp > ngroups_max + 1) ngrp = ngroups_max + 1; - crextend(cr, ngrp); - crsetgroups_locked(cr, ngrp, groups); + crsetgroups_internal(cr, ngrp, groups); + groups_normalize(&cr->cr_ngroups, cr->cr_groups); } /* diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 9edd62729c38..78de8876e51b 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -287,7 +287,7 @@ int kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou, fd_set *fd_ex, struct timeval *tvp, int abi_nfdbits); int kern_sendit(struct thread *td, int s, struct msghdr *mp, int flags, struct mbuf *control, enum uio_seg segflg); -int kern_setgroups(struct thread *td, int ngrp, gid_t *groups); +int kern_setgroups(struct thread *td, int *ngrpp, gid_t *groups); int kern_setitimer(struct thread *, u_int, struct itimerval *, struct itimerval *); int kern_setpriority(struct thread *td, int which, int who, int prio); diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 243a2431bd0b..8152f962f3cb 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -165,7 +165,7 @@ struct ucred *crcowget(struct ucred *cr); void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); -void crsetgroups(struct ucred *cr, int n, gid_t *groups); +void crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups); /* * Returns whether gid designates a primary group in cred. From nobody Fri Nov 15 13:00:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZq5mP6z5d6mV; Fri, 15 Nov 2024 13:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZq2dsTz4pSR; Fri, 15 Nov 2024 13:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qAHzXa5vkQ2TsYqhFfsk14UDFTP28UUrwv8SfS6yi8c=; b=r0Hmn1J460Nb35AR7yhYA1YyuLnBeZvJ8DEf+wP93SOqNLRXut3LqjFzpzFdQ8419M44SH sPnmC27Q3ouTYN7sbfk00it5RcdVFASovf848tXuxKV7Yi/NmaCEMie1H9d1HOYXknIAId TCare4Lfb+n/nfjVyTiamNe4pUN01HCRgzeW6m+fHSArD1Q2bu3ODETpvpDvgOJrGfdQEP v3cXauteQ+Czb7cBfvA559xqASmBuIbXvrbni0g9KU/Dz6S0JvwFXP2eYqyrGSL/asNMzP YRlPEe3zCYq5Lus/rdOXTDVebPP5nMEJC52MTSBatZh6IvvsPjQrzkHVGKccJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qAHzXa5vkQ2TsYqhFfsk14UDFTP28UUrwv8SfS6yi8c=; b=uocGzC9fD9XvSYqChnZRdf1EJUZNTeOFvPykLeobixbNR/3ryMrqaZDb0ss5dEGkEeWqqD u96vOF9HZIXx6RjojqYx2PxAfp33cxWA30PGcz+Dszxk6ZvcX5G2yFJIH6TkIvqv2RVr5e 66TkvS7XDfDl0WcOcQMLNKHi+/H/2Hdt6EahGeBCv6npIQBZwnKvFLH9wwvfLur2VqWxlc jRV/yOQQdICPp3LGIaW1CbeN+6iOx7ixDyh+4vZ2F2ciMq3fdy/8M6An78Vti59SBh4IR2 eiANOHRT309Smfel1ma3CcD3JMuDsbJ2bjAH4197K5AFb6AONW0GDfmdeg6nkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675651; a=rsa-sha256; cv=none; b=Nm8Fy70VQBYhWi8kvW4fNJ7zUQKGmbnF6Pr3NkqJJG1G06wG+f8BhMphuUwKaxkZx5pmJ9 TUYfrQmE8zCYXvjXYbvjE1/pnq2YXkAy+fNhCQ/1fyISXCUxQRxeT8EQ0s1j7iv8yyGSVd RCQqc7gM87d3PQuRhTfwgoACpjEp2L55SxPHJl1ymVDWHB7DMgowsEVysDyK26O+D9jYPO SbEERzBA7jAKLQdZgLl0DH3oEhQu5m3B+MZvpsd3cVRjVVx9dPF15P39ajpkvM+e/R2HsP zUOCl36gP2ATUOmk+8Sz27Uh0tc5eoBA2mQ7vw/JqSoFJZwCowDzaKSXNr9qIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZq231pzNnV; Fri, 15 Nov 2024 13:00: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 4AFD0pWe071241; Fri, 15 Nov 2024 13:00:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0pZq071238; Fri, 15 Nov 2024 13:00:51 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:51 GMT Message-Id: <202411151300.4AFD0pZq071238@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: 5e24f53a2d5d - stable/13 - cred: groupmember() and co.: Sanity check cred's groups (INVARIANTS) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5e24f53a2d5d3dc7d695ba0a037c1ba66ec75ba9 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5e24f53a2d5d3dc7d695ba0a037c1ba66ec75ba9 commit 5e24f53a2d5d3dc7d695ba0a037c1ba66ec75ba9 Author: Olivier Certner AuthorDate: 2024-11-01 15:11:23 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:09 +0000 cred: groupmember() and co.: Sanity check cred's groups (INVARIANTS) Leverage the normalization check functions introduced in the previous commit in all public-facing groups search functions to catch programming errors early. Approved by: markj (mentor) MFC after: 3 days (cherry picked from commit 634675067867090e538b08e62ff9b14d3ffae5a3) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 6cdfea2774c0..ede79f7d6bd2 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1354,6 +1354,8 @@ int group_is_supplementary(const gid_t gid, const struct ucred *const cred) { + groups_check_normalized(cred->cr_ngroups, cred->cr_groups); + /* * Perform a binary search of the supplementary groups. This is * possible because we sort the groups in crsetgroups(). @@ -1377,7 +1379,9 @@ groupmember(gid_t gid, const struct ucred *cred) if (cred->cr_ngroups == 0) return (0); - if (cred->cr_groups[0] == gid) + groups_check_positive_len(cred->cr_ngroups); + + if (gid == cred->cr_groups[0]) return (1); return (group_is_supplementary(gid, cred)); @@ -1390,6 +1394,14 @@ groupmember(gid_t gid, const struct ucred *cred) int realgroupmember(gid_t gid, const struct ucred *cred) { + /* + * Although the equality test on 'cr_rgid' below doesn't access + * 'cr_groups', we check for the latter's length here as we assume that, + * if 'cr_ngroups' is 0, the passed 'struct ucred' is invalid, and + * 'cr_rgid' may not have been filled. + */ + groups_check_positive_len(cred->cr_ngroups); + if (gid == cred->cr_rgid) return (1); From nobody Fri Nov 15 13:00:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZr6Q9Gz5d70F; Fri, 15 Nov 2024 13:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZr4KXGz4pKv; Fri, 15 Nov 2024 13:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hV+AXewl/gjVWCZu3ejTu8rdBZVjjuZpCtsme3KFjdE=; b=AU+a3lpuleQmU7Ms2YC1/KOY10qcl5STbviy79lnuarAfhERS+8cK2BFrB8W7x7MCo6EtJ 6eE2DVef3VLRzM2pWaPuI3DnGUmae/k75jQ492iTjyAnQdVIWb0RjNAc6uGvH6VBvawdxN 765PQ0UVDk+Qqv2SVLUR16QSetmN0GOf1cG930FJuVpQHd3V/FdcgwJ/v0plIVe83WHEU6 omhjQXIi/y+tLoiPH9dxmdyEZnhCBAeOd8sNNhzNwJblxyVKgiqs7nTkOoCiJ+UXTREwg9 V5ZgGn+yU4uoVUige1Ba+zk5r6DxeV4Eb27h0JAwGqv1hSHNCJH2z0W4JaL4tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hV+AXewl/gjVWCZu3ejTu8rdBZVjjuZpCtsme3KFjdE=; b=xuR7fuB2ogz2rtMecSj18K41fOsSS3cQpDdMnesJxZJ6DEcphKxc4kzf7zc+UpZksCGx73 OB6ryT0QAifkcKWQk6vPvnyrLYmkGFcPpLuc2iiZpI+Exw8ZXnne3vB6yUu3maBzN8eQj/ whQILMzw11OIceYWj8UnKlSWGHkTi0GgAZxJPdsesX+F8jkdW25gxdet10bTGAz03Y+WBh Hwc6It8X7nsKrSU99RUklrBvV1uox5RCM41XVR0mX7ko84wtylGd7W3NOd6glU3vsRX7Cc HGlNbB7Rvtj9DoQ1el3DTZDSzKor4RnT/HpgZrMXf486p6en5vnLYo72rQJijw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675652; a=rsa-sha256; cv=none; b=KGRadkmh4t5oNWFgFsA/+SmrkopNEe1P+Dv+SEjKm6bHu0VOufm9uJqft2hj15BDwNKnVm HNz5mBD7aBzcTjfljb9qxcdyPig6IspHHqVY/Pk20GzmPfxa8Kb5VF3xldchhFBQBLsf5n R1mB8GaJhjneDpzZJCIzPZdUaHRXhUvIF3RKHu8Szpes+6/tzEvZN/d8/gwJ79kudbDo8r ZjXLtOf9eyrCmG0Bdaw863VhO/QiYD3DmrRd+dYwqV9bnuraey8e6lnEhASMXxJFAlN8UT L8pstm17W2dAydpjvsfiu/q+glx8MyE303asF9NOiSLKHDvMfsURTPzkrMhQoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZr3Kw2zNnX; Fri, 15 Nov 2024 13:00: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 4AFD0qdf071280; Fri, 15 Nov 2024 13:00:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0q98071277; Fri, 15 Nov 2024 13:00:52 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:52 GMT Message-Id: <202411151300.4AFD0q98071277@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: a10de3d1167a - stable/13 - cred: crextend(): Harden, simplify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a10de3d1167a5e5039dedfa3848afd3158faeb93 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a10de3d1167a5e5039dedfa3848afd3158faeb93 commit a10de3d1167a5e5039dedfa3848afd3158faeb93 Author: Olivier Certner AuthorDate: 2024-10-01 14:37:11 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:09 +0000 cred: crextend(): Harden, simplify Harden by adding more assertions, and a plain panic in case of an unrepresentable size for the groups array (this can never happen after the change of the 'kern.ngroups' computation to impose some not too high maximum value a few commits ago). Fix an impact in kern_setgroups(). Simplify by removing the iterative process whose purpose is actually to determine the closest power of two that is greater than the wanted number of bytes. Using the proper target quantity (number of bytes) incidentally helps with eliminating divisions (and the reliance on sizeof(gid_t) being a power of two). Reviewed by: mhorne (older version) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46915 (cherry picked from commit ea26c0e797525634dd25dede233ff2ded053cf2d) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 55 +++++++++++++++++++++++++++++++--------------------- sys/sys/ucred.h | 6 +++++- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index ede79f7d6bd2..ae3667146519 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -884,7 +884,8 @@ kern_setgroups(struct thread *td, int *ngrpp, gid_t *groups) ngrp = *ngrpp; } newcred = crget(); - crextend(newcred, ngrp); + if (ngrp != 0) + crextend(newcred, ngrp); PROC_LOCK(p); oldcred = crcopysafe(p, newcred); @@ -2224,6 +2225,13 @@ crcopy(struct ucred *dest, struct ucred *src) bcopy(&src->cr_startcopy, &dest->cr_startcopy, (unsigned)((caddr_t)&src->cr_endcopy - (caddr_t)&src->cr_startcopy)); + /* + * Avoids an assertion in crsetgroups() -> crextend(). Ideally, + * 'cr_ngroups' should be moved out of 'struct ucred''s bcopied area, + * but this would break the ABI, so is deferred until there is a real + * need to change the ABI. + */ + dest->cr_ngroups = 0; crsetgroups(dest, src->cr_ngroups, src->cr_groups); uihold(dest->cr_uidinfo); uihold(dest->cr_ruidinfo); @@ -2358,45 +2366,48 @@ crcopysafe(struct proc *p, struct ucred *cr) } /* - * Extend the passed in credential to hold n items. + * Extend the passed-in credentials to hold n groups. + * + * Must not be called after groups have been set. */ void crextend(struct ucred *cr, int n) { - int cnt; + size_t nbytes; MPASS2(cr->cr_ref == 1, "'cr_ref' must be 1 (referenced, unshared)"); + MPASS2(cr->cr_ngroups == 0, "groups on 'cr' already set!"); + groups_check_positive_len(n); + groups_check_max_len(n); - /* Truncate? */ if (n <= cr->cr_agroups) return; + nbytes = n * sizeof(gid_t); + if (nbytes < n) + panic("Too many groups (memory size overflow)! " + "Computation of 'kern.ngroups' should have prevented this, " + "please fix it. In the meantime, reduce 'kern.ngroups'."); + /* - * We extend by 2 each time since we're using a power of two - * allocator until we need enough groups to fill a page. - * Once we're allocating multiple pages, only allocate as many - * as we actually need. The case of processes needing a - * non-power of two number of pages seems more likely than - * a real world process that adds thousands of groups one at a - * time. + * We allocate a power of 2 larger than 'nbytes', except when that + * exceeds PAGE_SIZE, in which case we allocate the right multiple of + * pages. We assume PAGE_SIZE is a power of 2 (the call to roundup2() + * below) but do not need to for sizeof(gid_t). */ - if ( n < PAGE_SIZE / sizeof(gid_t) ) { - if (cr->cr_agroups == 0) - cnt = MAX(1, MINALLOCSIZE / sizeof(gid_t)); - else - cnt = cr->cr_agroups * 2; - - while (cnt < n) - cnt *= 2; + if (nbytes < PAGE_SIZE) { + if (!powerof2(nbytes)) + /* fls*() return a bit index starting at 1. */ + nbytes = 1 << flsl(nbytes); } else - cnt = roundup2(n, PAGE_SIZE / sizeof(gid_t)); + nbytes = roundup2(nbytes, PAGE_SIZE); /* Free the old array. */ if (cr->cr_groups != cr->cr_smallgroups) free(cr->cr_groups, M_CRED); - cr->cr_groups = malloc(cnt * sizeof(gid_t), M_CRED, M_WAITOK | M_ZERO); - cr->cr_agroups = cnt; + cr->cr_groups = malloc(nbytes, M_CRED, M_WAITOK | M_ZERO); + cr->cr_agroups = nbytes / sizeof(gid_t); } /* diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 8152f962f3cb..eb5f0ad839e5 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -74,6 +74,10 @@ struct ucred { uid_t cr_uid; /* effective user id */ uid_t cr_ruid; /* real user id */ uid_t cr_svuid; /* saved user id */ + /* + * XXXOC: On the next ABI change, please move 'cr_ngroups' out of the + * copied area (crcopy() already copes with this change). + */ int cr_ngroups; /* number of groups */ gid_t cr_rgid; /* real group id */ gid_t cr_svgid; /* saved group id */ @@ -82,7 +86,7 @@ struct ucred { struct prison *cr_prison; /* jail(2) */ struct loginclass *cr_loginclass; /* login class */ u_int cr_flags; /* credential flags */ - void *cr_pspare2[2]; /* general use 2 */ + void *cr_pspare2[2]; /* general use 2 */ #define cr_endcopy cr_label struct label *cr_label; /* MAC label */ gid_t *cr_groups; /* groups */ From nobody Fri Nov 15 13:00:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZs5w5Xz5d6gd; Fri, 15 Nov 2024 13:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZs54WQz4pNV; Fri, 15 Nov 2024 13:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n59KBt3o6Pe5sKXAGgx859yGXRUttzWwCazmIUt7uSk=; b=OmNOkJ2n0KFX7Ay8lXJMOWfN88YJDnCK4/Rf8golmdzWqbd2tsdF3hIzocleQEa/YqV9pl 8FU0jmP0Dy8hA4V/uXcsTZfDDf4dWNAil5eWkXjB7oQ90sTN3pk6n3WyT6oOLKDeAzKi/G xxZxfh4fCoTQW2DGKBZ0UZgwq8u+wyqxLIY7+LR/URZqfD29saHyLy7kX5Jf5DpUA6xHpa uZGG9m3zdACSeqYgTs2s0XGVYvT4X4Kq2ea8IMuwp784KNZdnX/CmAARY30c34E4g1Sy5i dPxYfkj7fmVYfg0mhZm2Rq3xpOqJZ1fWlSwrAq981clvjaSqenIgKM5UFFaGjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n59KBt3o6Pe5sKXAGgx859yGXRUttzWwCazmIUt7uSk=; b=afJ9AoqaT6j11zLaVkGmJKnKEr39ySnQRk91m75rolfBMpljmrKldhhSL8qUR8yP/ZGynZ UpFKot3FZrodDMep4tw6PwEKhMJvpWzP6Z0dHuZlf50gjXCX0vxdvmJoj/Y7ZVwoBkrbIy g2TvRLhAiN2YTqTOTWYEi1+v7pGWqjxNUaAIIruYU8VNyUABhl0IZJPkllyiepsdVYTA2L Ne3DgZIYKwNwxXe+0040XbVePt9LnMK1+glQZizPMuFzygdyxV16Vp8r+zDu7eBdG8JIk3 /PahBadCN2Pm99I6L9UQP8+3UUtv8KPugpV0iQfVWD3lUCSRgM9n5JAtBzdUsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675653; a=rsa-sha256; cv=none; b=ggdeBQe4A8WvEmsyjhRG7xxOGC/yMQMoy/ocbDZWrhPGqc8OzNUNrJVwcmniv/Vef7RPs2 Cb6KHSExPn8j/euqvsJf5N25adOSuyuuMfgMYuBPqNYmbjE0sP4g6Rzrw2o032EKWGwKJ3 e0gblrtDFmUBf7EbsQiYcYMPueln3K8OAVgqLX0kPBDLIm5MiYJKaPmz4m4JSU9DZyJweq AFsYOIgEXNRzIobpn1J1uuWHEJ3gOSQk2lePQQRZ76Pu9R6ARo+/KamaGya0b0Szcw1CX6 pMhe7K502Dv2OqEkO2w3bN/gd+Ex+RL1LGknYIqq1VZJqc5Qr38AVOwSD1eD9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZs4GYYzPNl; Fri, 15 Nov 2024 13:00: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 4AFD0rEa071318; Fri, 15 Nov 2024 13:00:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0rQD071315; Fri, 15 Nov 2024 13:00:53 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:53 GMT Message-Id: <202411151300.4AFD0rQD071315@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: c985effa7d91 - stable/13 - cred: New crsetgroups_fallback() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c985effa7d918a0e3c129613191c7f2307acb4ba Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=c985effa7d918a0e3c129613191c7f2307acb4ba commit c985effa7d918a0e3c129613191c7f2307acb4ba Author: Olivier Certner AuthorDate: 2024-10-02 14:16:20 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:09 +0000 cred: New crsetgroups_fallback() Similar to crsetgroups(), but allows an empty group array in input, treating it like a one-element array containing the passed fallback group. Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46917 (cherry picked from commit d4e0d4d92e010b74404bddc87c1a1e8dbcaa25dd) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 18 ++++++++++++++++++ sys/sys/ucred.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index ae3667146519..ddd45ef1357b 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2495,6 +2495,24 @@ crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups) groups_normalize(&cr->cr_ngroups, cr->cr_groups); } +/* + * Same as crsetgroups() but accepts an empty groups array. + * + * This function ensures that an effective GID is always present in credentials. + * An empty array is treated as a one-size one holding the passed effective GID + * fallback. + */ +void +crsetgroups_fallback(struct ucred *cr, int ngrp, const gid_t *groups, + const gid_t fallback) +{ + if (ngrp == 0) + /* Shortcut. */ + crsetgroups_internal(cr, 1, &fallback); + else + crsetgroups(cr, ngrp, groups); +} + /* * Get login name, if available. */ diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index eb5f0ad839e5..876919f56fb1 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -170,6 +170,8 @@ void crcowfree(struct thread *td); void cru2x(struct ucred *cr, struct xucred *xcr); void cru2xt(struct thread *td, struct xucred *xcr); void crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups); +void crsetgroups_fallback(struct ucred *cr, int ngrp, const gid_t *groups, + const gid_t fallback); /* * Returns whether gid designates a primary group in cred. From nobody Fri Nov 15 13:00:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZv1GkBz5d6rB; Fri, 15 Nov 2024 13:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZt5kzhz4pgy; Fri, 15 Nov 2024 13:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1IX7EJ9KA2MJToFTnbQX0wVsiJuozVwuXnFlNA0xT1Y=; b=HofZLo5SolQZoPzwi88gkQ2COAO8086WIXhwduxC0Oo8TQK/sT46lhVrVddLzd25nKyAEc 5t4rlkBcsA+G4if7j9luZx/Dq17kNprTqKpg9VSW5C/VZlsjQa3wXnQbzX5ZzZO4v2YVAr xLtRmhBRWd/I5T6gUuSXsphKhHR/i6oLRzjTXPYvgYDHXUuAOcE5xWB7jqQwlRdRbE9KjP hpTa6wUK5Wc+d5c0YgJzrL8bQGK0jp4xEXuJa6jxAIHK1aKlurrZE4V0Fz9Qvzxw+lSn0p iyh/5izp6eNFuDAVMg9i87lcnuvUzbN890gKbBAaE6u741fsQT3VMXze9L2rWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1IX7EJ9KA2MJToFTnbQX0wVsiJuozVwuXnFlNA0xT1Y=; b=c/yglwP6VHp1PAecwq3UNLul7hTlo1KpjaOKaojiF0JX21e5McIehoTmeOPHVJ/uOGEYht kstjyFnHRQDaW2LPdKXa030+I6CgV6kye8c2M4XLLkT3JyoBy3Qp/9pO3O2tGzipSYaxNY nFEyCrz/Hyxnx00s+WR9EtS24TVYP0ZgNe+ptn5nhiw6oTbRoLa+jDF+cU2FrB9g8+Ro1n 2bWQhYd0gFQBWiqRgkirV8QG6JgbHx2LAKg1qBhq0GWxLsTomUk7YVrqs4qxWSuVLC/rKF j+8XEjflff+vRNflCx7SPjPp3ZadMg59ojDQdxCgqzaTfEPJ6ukdgv00NgS9kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675654; a=rsa-sha256; cv=none; b=Lf5DLMKEQY5ABlLROKDvobp/PIXCyP3MaNxVi6HOOhaVLpxHXql3HO7BMhPTOzQGe6EX6y F3xtbB22CNs8V+7IoQr2tLFc/eqV2mFzqZYqmgxpY08bmOr52U3DO9Xmn8NMEUT5d478Q7 U8XGkPgI1Ge47fVICfSuuOptRWKzrni57ZUgEoD0sOn2pxf5YiS8GNJQCNv0RSdjLP2iXG rcXVV15u9C+xfWgOAzHhvIv/ka7KbHcxh/DHzlpN7qtUlkFA8OnowB4AojqQW9bUdS02yT LK6z26Ep5m7PW2q+zQTKfhEjEsZcSiCDJpW+td2CvhBNrs64WjiFPZLafa4QUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZt5LgrzPLH; Fri, 15 Nov 2024 13:00: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 4AFD0sYt071380; Fri, 15 Nov 2024 13:00:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0sjX071377; Fri, 15 Nov 2024 13:00:54 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:54 GMT Message-Id: <202411151300.4AFD0sjX071377@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: fb880a5a119d - stable/13 - nfs, rpc: Ensure kernel credentials have at least one group List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fb880a5a119d37d5ca35780235646d56fc21d4aa Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fb880a5a119d37d5ca35780235646d56fc21d4aa commit fb880a5a119d37d5ca35780235646d56fc21d4aa Author: Olivier Certner AuthorDate: 2024-10-02 14:28:59 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:09 +0000 nfs, rpc: Ensure kernel credentials have at least one group This fixes several bugs where some 'struct ucred' in the kernel, constructed from user input (via nmount(2)) or obtained from other servers (e.g., gssd(8)), could have an unfilled 'cr_groups' field and whose 'cr_groups[0]' (or 'cr_gid', which is an alias) was later accessed, causing an uninitialized access giving random access rights. Use crsetgroups_fallback() to enforce a fallback group when possible. For NFS, the chosen fallback group is that of the NFS server in the current VNET (NFSD_VNET(nfsrv_defaultgid)). There does not seem to be any sensible fallback available in rpc code (sys/rpc/svc_auth.c, svc_getcred()) on AUTH_UNIX (TLS or not), so just fail credential retrieval there. Stock NSS sources, rpc.tlsservd(8) or rpc.tlsclntd(8) provide non-empty group lists, so will not be impacted. Discussed with: rmacklem (by mail) Approved by: markj (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46918 (cherry picked from commit cfbe7a62dc62e8a5d7520cb5eb8ad7c4a9418e26) Approved by: markj (mentor) --- sys/fs/nfs/nfs_commonport.c | 4 +++- sys/fs/nfs/nfs_commonsubs.c | 5 +++-- sys/fs/nfsserver/nfs_nfsdport.c | 6 +++++- sys/kern/vfs_export.c | 12 ++++++++---- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 2 +- sys/rpc/svc_auth.c | 8 ++++++-- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index b8e6bfc170a2..67dd8e14a22c 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -75,6 +75,7 @@ NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); +NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); int nfs_pnfsio(task_fn_t *, void *); @@ -259,7 +260,8 @@ newnfs_copycred(struct nfscred *nfscr, struct ucred *cr) KASSERT(nfscr->nfsc_ngroups >= 0, ("newnfs_copycred: negative nfsc_ngroups")); cr->cr_uid = nfscr->nfsc_uid; - crsetgroups(cr, nfscr->nfsc_ngroups, nfscr->nfsc_groups); + crsetgroups_fallback(cr, nfscr->nfsc_ngroups, nfscr->nfsc_groups, + NFSD_VNET(nfsrv_defaultgid)); } /* diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index a9659079ed5f..cbac4ee85167 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -3978,8 +3978,9 @@ nfssvc_idname(struct nfsd_idargs *nidp) */ cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = nidp->nid_uid; - crsetgroups(cr, nidp->nid_ngroup, grps); - cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; + crsetgroups_fallback(cr, nidp->nid_ngroup, grps, + NFSD_VNET(nfsrv_defaultgid)); + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); #ifdef MAC diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 41443a5a79f4..caa63dc20a58 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3304,7 +3304,11 @@ nfsd_excred(struct nfsrv_descript *nd, struct nfsexstuff *exp, NFSVNO_EXPORTANON(exp) || (nd->nd_flag & ND_AUTHNONE) != 0) { nd->nd_cred->cr_uid = credanon->cr_uid; - nd->nd_cred->cr_gid = credanon->cr_gid; + /* + * 'credanon' is already a 'struct ucred' that was built + * internally with calls to crsetgroups_fallback(), so + * we don't need a fallback here. + */ crsetgroups(nd->nd_cred, credanon->cr_ngroups, credanon->cr_groups); } else if ((nd->nd_flag & ND_GSS) == 0) { diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index d9686edb3769..6eb20c8ed3a9 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -63,6 +63,10 @@ #include #include +#include + +NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); + static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); #if defined(INET) || defined(INET6) @@ -135,8 +139,8 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_exflags = argp->ex_flags; np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; - crsetgroups(np->netc_anon, argp->ex_ngroups, - argp->ex_groups); + crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, + argp->ex_groups, NFSD_VNET(nfsrv_defaultgid)); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; @@ -214,8 +218,8 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_exflags = argp->ex_flags; np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; - crsetgroups(np->netc_anon, argp->ex_ngroups, - argp->ex_groups); + crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, argp->ex_groups, + NFSD_VNET(nfsrv_defaultgid)); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index f5917a65a7b2..93a41dc045cc 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -510,7 +510,7 @@ rpc_gss_svc_getcred(struct svc_req *req, struct ucred **crp, int *flavorp) cr = client->cl_cred = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = uc->uid; cr->cr_rgid = cr->cr_svgid = uc->gid; - crsetgroups(cr, uc->gidlen, uc->gidlist); + crsetgroups_fallback(cr, uc->gidlen, uc->gidlist, uc->gid); cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = crhold(cr); diff --git a/sys/rpc/svc_auth.c b/sys/rpc/svc_auth.c index 86ce7d9aefd2..edb11426bd72 100644 --- a/sys/rpc/svc_auth.c +++ b/sys/rpc/svc_auth.c @@ -192,10 +192,12 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) if ((xprt->xp_tls & (RPCTLS_FLAGS_CERTUSER | RPCTLS_FLAGS_DISABLED)) == RPCTLS_FLAGS_CERTUSER && flavor == AUTH_UNIX) { + if (xprt->xp_ngrps <= 0) + return (FALSE); cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xprt->xp_uid; crsetgroups(cr, xprt->xp_ngrps, xprt->xp_gidp); - cr->cr_rgid = cr->cr_svgid = xprt->xp_gidp[0]; + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = cr; @@ -205,10 +207,12 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) switch (flavor) { case AUTH_UNIX: xcr = (struct xucred *) rqst->rq_clntcred; + if (xcr->cr_ngroups <= 0) + return (FALSE); cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xcr->cr_uid; crsetgroups(cr, xcr->cr_ngroups, xcr->cr_groups); - cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; + cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = cr; From nobody Fri Nov 15 13:00:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZw1XVKz5d6xK; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZv6Ytfz4pn3; Fri, 15 Nov 2024 13:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yZYeu2fXkTrxLTPTlNy5e+YSqDoEEFuKKcNc9NeulOA=; b=izjTZcL4TUTcND1q6ZwOmUeKIsLBnVM+m0lkbDBseKN53YShnsFKeDRIygj5099R3zyMpE +jmRQQTulM0bVRgN9tXGKb3IVZDB+jKOTE2te99sdlmVAbuWBuUsg5ANheGfKp26vawWwK MvW9vXRIapwkFxc/PXvi5ith/lr4QOVsig0cQCzYAe0tQpiX/wP0xkBDWr+It3UxCiGQxK 9TrBI3SDl9afq1xsLlFiv4SJIk9yTAyoWLY5yqhClFZAFi+Zs9+yEnlN34JhL/r6SoS6Wm t6kafLIosBWTn1O78vuCFO6fQcFlRK4+eEryL7koy0HDzuAo0uNkvJ4XKqVcZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yZYeu2fXkTrxLTPTlNy5e+YSqDoEEFuKKcNc9NeulOA=; b=USsokt8P23sMKGmrwL8qvMArd0f6qHEezheEQwH2SVh2rFWkvzogsop71e3egaaZWFCWyz PknlWsr9yPE+UcDLybp2koePZYfazONFtVoC2HyiAj8PtuDGA8qHWGtG8QkmKuMCUimkr+ sKTS77kiqrm7uGL6W4BuZhUBx3Wz5+uBJ7lI8S77ZClyumnGiWSS3Wf/m8dlsKOD8Yw5Pp TEB+UTDqy+mKruzoVnwPugX7qunSVsB6HX130l6DR/RJK8XYml3ylMbay+rFhGrCdOQ+DC BlI4Psjoz9vyPJAHnM9z5BqwiET5tnH/Joz38AhMg9TYx8st/JL4PlWWfUsgVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675655; a=rsa-sha256; cv=none; b=WH6lS9umRgBAHZYHapy2F7DvjLuGin5DHpLb5buiXhbCFjxsCnn5zBtx5SlytabnpqmvtQ Oyp8MkjsA7KgJWrBqXtcv7FpcsDlWz3fwE4ZE3Htp6IhrckMEWOHrTlLpGhR0tvO2v/UwU t2qZ7uERzGp06Lq3MCM8/qEMNZF6fzfB7yei8WRzjEDF/WKkRqDJ9UizhJceLAar+Vb4/0 0j7sHaQoOd1Jjf0lig0kG5+fBs82X9RQpTnOWbrGtfWnL+2hllRq9PhN+C66Ln5SevkR5f GssYOtL3Hc8YsZyCqmQVs4uVPjf861SF+jWX3TfTF1LTf4UJeE6uF/TtSoQnqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZv69tqzNsC; Fri, 15 Nov 2024 13:00: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 4AFD0tvA071436; Fri, 15 Nov 2024 13:00:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0tXX071433; Fri, 15 Nov 2024 13:00:55 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:55 GMT Message-Id: <202411151300.4AFD0tXX071433@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: e603cc72074a - stable/13 - cred: groupmember(): Remove tolerance for empty 'cr_groups' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e603cc72074a9ef9226f8e61c7e94a8e8141c322 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e603cc72074a9ef9226f8e61c7e94a8e8141c322 commit e603cc72074a9ef9226f8e61c7e94a8e8141c322 Author: Olivier Certner AuthorDate: 2024-11-01 16:12:15 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:10 +0000 cred: groupmember(): Remove tolerance for empty 'cr_groups' This tolerance had been introduced in commit caa309c8811d ("nfsd: Fix handling of credentials with cr_ngroups == 0", on 2024/10/21). Now that NFS has been modified in the previous commit (cfbe7a62dc62, "nfs, rpc: Ensure kernel credentials have at least one group") to rule out credentials with empty 'cr_groups' (and thus, no 'cr_gid'), remove it back. This basically reverts the above-mentioned commit except for the not directly related modifications it contains, which are still valid. Discussed with: rmacklem (by mail) Approved by: markj (mentor) MFC after: 3 days (cherry picked from commit 3f313682e030f1c99d9b223093e84d0a53a109af) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index ddd45ef1357b..e62efb285698 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1373,13 +1373,6 @@ int groupmember(gid_t gid, const struct ucred *cred) { - /* - * The nfsd server can use a credential with zero groups in it - * when certain mapped export credentials are specified via exports(5). - */ - if (cred->cr_ngroups == 0) - return (0); - groups_check_positive_len(cred->cr_ngroups); if (gid == cred->cr_groups[0]) From nobody Fri Nov 15 13:00:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZx2Ln3z5d6pJ; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZx0HRHz4pcH; Fri, 15 Nov 2024 13:00:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NhAxr52l2ZUXsher3k48Pw51QmOT/XqZo958b87Lgfo=; b=v5NR6dPi4cKFqeSKgI6t6hNyyMP+pUvJS8DyF6LM2zk3B6wzUHJB4O0AM06DTjEimVVNad PsSL/dbK2gvQMi4AG799hKt7MKXSTeYV85tQoo4sLtUlR07XKOEnzXVNIvMfO9z1FluV41 zkTMmbmnpnuDnpNP+z7L0XxlI3WHtOeXz+GYoYoC8+2gV0lJokybJHF43LKTAH5qoXbvKB ofrbLHxT0319/O79Zm7Hm9QOpzVgrPYKTOmuopXT3P0mUgkwZ5E4c4gvrs7HAWgkDsc7Sv rt1RtWOTNtAxevQJz8PCyuzf239coobR+EI4s+g/1OlBDNgMlf6M/NXxJKscmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NhAxr52l2ZUXsher3k48Pw51QmOT/XqZo958b87Lgfo=; b=ZGeL+M4fjMDXHjRUlpEUknfdI62t2J+WR2ZojHuRuapDZ+IYTMKlk9qmCKvCBk69ogYGzu Flpxp+/0vLXbRn3J07kWu3E51gvWt7utwDS7uktCh+tfZ537It8T4wXOfPXXAoDOXrY3kS NcBGSgHliPUtRJhAzIgPUrNmmnEtZc5nEnAG7wCvMxLOM4UUcUKIFY9SUXJW4vHhEI57PX rLg0RjVJGNebqw/aX8C51oFlO1/myHnYSK21IurLFstAFXPhUQwzRjSp+qgqg0TdwTsKzF QRC3X7B2Ez8UWofoNC5ipqB+gQ1PrMMV9fkn3JFwS9XGd2cz4/UdbXLTS7X5qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675657; a=rsa-sha256; cv=none; b=AJcPeawSN1c9bPXgog/WK/YUnsgh47i4Wypfc2V+8Wmt8zJ55BZhYQnAz23lmCgsI5FXFp cth3MYASXZmX1g5WJ0BHl+BCBGefdzts777G1lFmr81Cd7cZKbcCAO9lRuNTMH1iee6A1J OOcHMSkxj2iFNUK+BUbdoB8wQ6TQqk7y32M1TcWZVrfUXHE0A0vytSaPg3HLrcKEze0mB6 4RtL0LA3Pvzks4a0GfZO0xKJG+cqLbQIXJQu9Z3RD6YQNg4ktr4WO/kk7gqDrQn7CFeMTp 4IMekQ8mZFLakJgylp0HVVXG0Ro1b6z8X67yga6FrIwbOVPgUBZl3fmPJ7Dovg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZw71VLzPHv; Fri, 15 Nov 2024 13:00: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 4AFD0uXI071493; Fri, 15 Nov 2024 13:00:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0u7X071490; Fri, 15 Nov 2024 13:00:56 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:56 GMT Message-Id: <202411151300.4AFD0u7X071490@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: 4bef138e8d91 - stable/13 - nfs: Fallback to GID_NOGROUP on no groups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4bef138e8d91cda4d26cb4f20c6f419908b0f7b6 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4bef138e8d91cda4d26cb4f20c6f419908b0f7b6 commit 4bef138e8d91cda4d26cb4f20c6f419908b0f7b6 Author: Olivier Certner AuthorDate: 2024-11-03 10:26:37 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:10 +0000 nfs: Fallback to GID_NOGROUP on no groups We cannot unconditionally access nfsd's VNET variables in 'sys/kern/vfs_export.c' nor 'sys/fs/nfsserver/nfs_nfsdsubs.c', as they may not have been compiled in depending on build options. So, forget about the extra mile of using the configured default group and use the hardcoded GID_NOGROUP (which differs only on systems running nfsuserd(8) and with a non-default GID for their "nogroup" group). Reported by: rpokala, bapt (MINIMAL compile breakup) Reported by: cy, David Wolfskill (panics caused by mountd(8)) Approved by: markj (mentor) Fixes: cfbe7a62dc62 ("nfs, rpc: Ensure kernel credentials have at least one group") (cherry picked from commit 5169d4307eb9c8b7bb0bd46d600012bcc12cbdae) --- sys/fs/nfs/nfs_commonport.c | 3 +-- sys/fs/nfs/nfs_commonsubs.c | 2 +- sys/kern/vfs_export.c | 9 +++------ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 67dd8e14a22c..c84548b54fc1 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -75,7 +75,6 @@ NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); -NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); int nfs_pnfsio(task_fn_t *, void *); @@ -261,7 +260,7 @@ newnfs_copycred(struct nfscred *nfscr, struct ucred *cr) ("newnfs_copycred: negative nfsc_ngroups")); cr->cr_uid = nfscr->nfsc_uid; crsetgroups_fallback(cr, nfscr->nfsc_ngroups, nfscr->nfsc_groups, - NFSD_VNET(nfsrv_defaultgid)); + GID_NOGROUP); } /* diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index cbac4ee85167..256342f146f0 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -3979,7 +3979,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) cr = crget(); cr->cr_uid = cr->cr_ruid = cr->cr_svuid = nidp->nid_uid; crsetgroups_fallback(cr, nidp->nid_ngroup, grps, - NFSD_VNET(nfsrv_defaultgid)); + GID_NOGROUP); cr->cr_rgid = cr->cr_svgid = cr->cr_gid; cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 6eb20c8ed3a9..f3c11541ceea 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -42,6 +42,7 @@ #include #include +#include #include #include #include @@ -63,10 +64,6 @@ #include #include -#include - -NFSD_VNET_DECLARE(gid_t, nfsrv_defaultgid); - static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); #if defined(INET) || defined(INET6) @@ -140,7 +137,7 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, - argp->ex_groups, NFSD_VNET(nfsrv_defaultgid)); + argp->ex_groups, GID_NOGROUP); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; @@ -219,7 +216,7 @@ vfs_hang_addrlist(struct mount *mp, struct netexport *nep, np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_uid; crsetgroups_fallback(np->netc_anon, argp->ex_ngroups, argp->ex_groups, - NFSD_VNET(nfsrv_defaultgid)); + GID_NOGROUP); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; From nobody Fri Nov 15 13:00:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqcZy4C5wz5d76g; Fri, 15 Nov 2024 13:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcZy1TJwz4pqX; Fri, 15 Nov 2024 13:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nw/MtC0pIaCWRALkSlUvUiKoKvYqqe/vMEFOmG6nR5I=; b=f0K7OOJidbPPP88WPYT6NUkdNmL+/rRCd4uVe+Zmj7+DGEkFsq6ITHaRzcUsz1mty8A1dC N3wXNmco/kRp+YUK2jjwJk8OePzxbw3t3F1QKmXBjKOICqux8+z1zwBTrKmTVGM6XGhiDS 9twtMyEiASBrjnDEzRlT05dZP0rr4wWPI2aD6hyqjKpQgzxbYiCBovyKNd6Yfm2eKcj8mF 27aB5LZkoFmpoXQPnFAP+VriNoQ5KfMY3OgRz9NnNzFEZefbyhUpFjLV1IbINXlP11NW+5 KRxZdXIDFGCytgZMiYm+RNhLxaxuB1frvwyGH0AObBljSSIpSqcEf1dlkNNdtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731675658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nw/MtC0pIaCWRALkSlUvUiKoKvYqqe/vMEFOmG6nR5I=; b=XMPFhR6bx+mCt0d2Otpk1M+2COCszNsgZ4/tbvRwRocl30RpLmDlAhUxQq5xCzScqSbMDt fRw2TZdymRdZnt3zRzfSSgjcyrkD+qpvLKslR/DLSEiYJHNY9KljVrTiVy0kl5bxsQp0Ek 5PK86nd9PP3VCBYIEd6+gArAnmoRG3ywy3cz8JYh3RiirjS+GsI6jQMydDMgG6jO/e+T0m DNKWYJtiZMdPiV9hgvYMFOfhf+Oc7TKkz9kV2L8W2SjZSsQ9SjD2nJafDSkKE0yytjPLhc SBXnAfzjgiy90yaH82/RRBSEuXSP9OHxFHnphXsUXy5tKxknIXB5d002wPxzZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731675658; a=rsa-sha256; cv=none; b=eIQUONAh/OA9KX7PfCgEfaKdnzQac4OLCIQl881hQPNgt/Ihtelssos0z68eJgB/dylxWv tpKXCyM2E8tFJ3k/jkyvstC4mcpx9oqBnEhyP4Jwp64RXiXPNgaz2geeeYOQs6uTKVEsnQ 5LmEm0CkQZcsEmZIKbQbJ8pES3HCEsPQVq5Il3q43gHZC9hBpBGefiviHxEcmske9altZ3 gn4iOMQurKZpVbcjXOGDvkPBjZIU8GMdNgTnLAWBRpvxuO59q/vlSZWvkSyXhc2nR133d4 4mBqrdWVM/iGDkVVfDaHsd8LliSrtWFERAKcumwhxTgY5DSeNjvyCV/KItjN1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqcZy0dGBzP63; Fri, 15 Nov 2024 13:00: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 4AFD0wAg071545; Fri, 15 Nov 2024 13:00:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFD0woV071542; Fri, 15 Nov 2024 13:00:58 GMT (envelope-from git) Date: Fri, 15 Nov 2024 13:00:58 GMT Message-Id: <202411151300.4AFD0woV071542@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: dcf34d8a828a - stable/13 - cred: crsetgroups(): Throw away old groups before crextend() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dcf34d8a828aa2a369a2b738192180b8402ca319 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=dcf34d8a828aa2a369a2b738192180b8402ca319 commit dcf34d8a828aa2a369a2b738192180b8402ca319 Author: Olivier Certner AuthorDate: 2024-11-03 18:04:02 +0000 Commit: Olivier Certner CommitDate: 2024-11-15 12:59:10 +0000 cred: crsetgroups(): Throw away old groups before crextend() Now that crextend() asserts that groups are not set (rightfully so, since it may change the backing storage without copying the content of the old one), have crsetgroups() throw away the old groups before calling it, as it installs an entirely new set anyway. This allows to reuse unshared credentials by resetting their groups set, as NFS exports actually do. Reported by: cy Tested by: cy Fixes: ea26c0e79752 ("cred: crextend(): Harden, simplify") Pointy hat to: olce While here, as I forgot these credits in commit 5169d4307eb9 ("nfs: Fallback to GID_NOGROUP on no groups"): Tested by: cy, David Wolfskill (panics caused by mountd(8)) Tested by: kib (MINIMAL/custom kernel compile breakup) (cherry picked from commit 169a10853a50f9bbb037492e6f2737cce10f6b99) Approved by: markj (mentor) --- sys/kern/kern_prot.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index e62efb285698..482472025fdd 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2215,16 +2215,14 @@ void crcopy(struct ucred *dest, struct ucred *src) { + /* + * Ideally, 'cr_ngroups' should be moved out of 'struct ucred''s bcopied + * area, but this would break the ABI, so is deferred until there is + * a compelling need to change it. + */ bcopy(&src->cr_startcopy, &dest->cr_startcopy, (unsigned)((caddr_t)&src->cr_endcopy - (caddr_t)&src->cr_startcopy)); - /* - * Avoids an assertion in crsetgroups() -> crextend(). Ideally, - * 'cr_ngroups' should be moved out of 'struct ucred''s bcopied area, - * but this would break the ABI, so is deferred until there is a real - * need to change the ABI. - */ - dest->cr_ngroups = 0; crsetgroups(dest, src->cr_ngroups, src->cr_groups); uihold(dest->cr_uidinfo); uihold(dest->cr_ruidinfo); @@ -2483,6 +2481,13 @@ crsetgroups(struct ucred *cr, int ngrp, const gid_t *groups) if (ngrp > ngroups_max + 1) ngrp = ngroups_max + 1; + /* + * crextend() asserts that groups are not set, as it may allocate a new + * backing storage without copying the content of the old one. Since we + * are going to install a completely new set anyway, signal that we + * consider the old ones thrown away. + */ + cr->cr_ngroups = 0; crextend(cr, ngrp); crsetgroups_internal(cr, ngrp, groups); groups_normalize(&cr->cr_ngroups, cr->cr_groups); From nobody Fri Nov 15 21:52:41 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqrNT6vW3z5dcGv; Fri, 15 Nov 2024 21:52: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqrNT6Ctwz4msn; Fri, 15 Nov 2024 21:52:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731707561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pk9cSYPdMt46e4iGULhwhzWeXF9jGk94WWigu9fbRgg=; b=oNbInp0KTkLVy3bq4zL3NXWFe0/LuHtfHvKlvrgANtOpkw6lU/lZfgmRhn1OkO2EMqeHA5 yUUVK4pTTiGBwfcedW2aehIyMB+lVoE3o1gC/NOvYVDB3I1J13OAd8Um4cThLxAWRdTjUW zcyTl95GzxrfB6BHSzo4+9apsW0Y/LgTsaOphfzWrjC69ofyjfP3GOMw3g6Vjec3qkxwzQ 6LSUYfT+pavcvSopZHB/3I7/8ya2pIqF2lzSf5oFebBETRRKWyptPSfrsSJGD+Cbjqfrat lz+8DUjjTNuAoTfOeFkjzBLBLkwE9+YULDmjqly9hyJFQHGAt/UNMpe/YvKIAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731707561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pk9cSYPdMt46e4iGULhwhzWeXF9jGk94WWigu9fbRgg=; b=yTqG/8izFvzl8wlbDyo4gEsTE9EPxyarECooAG4rNC1nE4KBCjTTc2X+IKeB1GtGUw1/fL VjaYl9aQApZp8WsmsB31cNIee9Imsc4Nwsuf4GG1zhvHR7nb9ILC6Xk1AnhVHxAAaSpZvi +l2WWQUrO2FS3imS6+DR/W2pCbT1N9t+kkr+0gGfe3kgVo3MBuyKsZiAx8QQUiANAwgoht 9/Si8A0UA52q4ppcMI+in1NPioEYV5pasd8cr9LNhSWDgiCXuHrQOrB1K/qLtTx3E1N2n+ Dd7FtsJ7mYH+cyj+yzROPKBezY7MpD9wKP3VgHOdN3pqv6wUebO3Uxi0jZAbJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731707561; a=rsa-sha256; cv=none; b=fWZrsnNUxuqSIQCf94EdPnr7fjP7ZEO0PFqthZCjYea2rmeA1SCNw3jhUI/boBvCme8gqz SAbrsuqABUcz8CS+3bCfAyM2Y0SQralBFK5r3ciMet/6x2ARbyBMDMLgAgSjKt2dFWXDB+ nLLnAWuytx4RgfwpOuFSaljgeG0mgTIxmHutJXgmaZ7kdEEogDDElF9dNihpJOXS8YzY5R SNhnLcAaZSmWArU/4l3KVwXaq64Gl9Z9Ox+0A6GXZDJFBnxH+W6pixfLUDCFf3/Tzf5KlI HEsnUKS8OAOvNzLfH7FeJKebbN5HDMh/4MQkXbYqbMgaoQOBgY+AZzFPRHbjQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqrNT5pjSzgZj; Fri, 15 Nov 2024 21:52: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 4AFLqfnb061108; Fri, 15 Nov 2024 21:52:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFLqflp061105; Fri, 15 Nov 2024 21:52:41 GMT (envelope-from git) Date: Fri, 15 Nov 2024 21:52:41 GMT Message-Id: <202411152152.4AFLqflp061105@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: a8bdbdbdba3e - stable/14 - release: Don't copy container images into /ftp/ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8bdbdbdba3e7c6e3a330026dcd82e922a4265c8 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a8bdbdbdba3e7c6e3a330026dcd82e922a4265c8 commit a8bdbdbdba3e7c6e3a330026dcd82e922a4265c8 Author: Colin Percival AuthorDate: 2024-11-15 21:38:06 +0000 Commit: Colin Percival CommitDate: 2024-11-15 21:52:15 +0000 release: Don't copy container images into /ftp/ These are installed into /ociimages/ and stage onto the download site at /OCI-IMAGES/; they don't belong in the same directory as the "distribution" .txz files. Fixes: d03c82c28da8 ("release: add optional OCI images") MFC after: 1 minute Sponsored by: Amazon (cherry picked from commit 976e1d36be688166e140cbaded01d433c61e6d47) --- release/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/release/Makefile b/release/Makefile index 36c47e5ad454..3d96880d1661 100644 --- a/release/Makefile +++ b/release/Makefile @@ -320,6 +320,7 @@ ftp: packagesystem rm -rf ftp mkdir -p ftp cp *.txz MANIFEST ftp + rm -f ftp/container-*.txz release: real-release vm-release cloudware-release oci-release ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done From nobody Fri Nov 15 23:30:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqtYf5TZ1z5dhsR; Fri, 15 Nov 2024 23:30: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqtYf5Jdwz3xh3; Fri, 15 Nov 2024 23:30:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hmy+KSGSAlUPBycIgCrS7Un7GQcvOMvK3ZCk8afmNuE=; b=S/m3pzquGGokFLRWbJz1p3Nq2KtQ+muRdnMtDzXj99gIc03IOsBcBDXsRZkm7VIGg4OHPn a5StTzXi2lB4X3PVe2WTboAVPMRHKGFDVSYJBCvStm+q0aGjwFZ56LKU0wHNKyXaLjP8rP y/FkB5+ym02EUNjikL28dHTH69JywQkaViB0zpySOJFxOGwIxGdqt4iIDCBvua5blza730 wBIc6F2R0obeUP4luDqZdnAKb+MPiycDD9dvVY0ciXipJQhRojjGGUhamoFNS/pB7dFeqg TjyZOxZGkpdq0S7AD0AaiHbFB9l1J1Zz8nGh8qzcaAQblyvYra4Jrc868Cw80A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hmy+KSGSAlUPBycIgCrS7Un7GQcvOMvK3ZCk8afmNuE=; b=Wb7KycQMJa05xEHtG9rDRPUqghKA4uz12L9ZBSHaCaplvN+3bH8kDDtHu5gNkPB/aoO1YH skv1abJqenUVwpd+pYoiyXxP6RJuFRQZMIO/jjAj+rX6W3infPCV16M6O5jDHOg1RWOPrc 02pvIqWksYL309jJo/HPVy0S2Glm/LDqCMoNVhCr/2cZfDA2OhpILcqLf4ev1MLFPSTn0q 32pvRdUDbeJigObK8gurC/hNKqqAnVumXyQM5Km/DDHuho72wcxJMiWY7BOiyr30+z7XHA 7hVeXW5f4upK5BG0kuwbk3V/bG0YCzWEffxwjobWS3nxIiZr9PzAVCsGDVvCTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731713446; a=rsa-sha256; cv=none; b=KlC75yrouUevCX95KxRmUoZSgpBs5klSPAM0LvwLIV0Nvatq2tR3ZSzm8cZk87RHmxTbiQ 5duzhvD3n1Jk7e0DTYPvVMOLb2VwZcCcP5gyKGfjNjdgLI+TyRv3XJuQ+gMYnF6LezlYcD WcydGoz9osTJoQTbT9cgIsJsiv/nc1Ao9E6pXgE60v9lIp2hsctnKADwOCWzAglKs5OtMP bLMskLmc5H7XNbRHoXupBR8ockcOWFKh9FSFOcGNPx0eE7dlAV/fqjlcFHhbDQxKgBYaLH 7xE0ep0HDD7FAYYq7vinnqvvNUe7l+7GSRexDk72z3Sv8lNplPGd+aOUxrChRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqtYf4s63zk42; Fri, 15 Nov 2024 23:30: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 4AFNUkYE041877; Fri, 15 Nov 2024 23:30:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFNUkE7041874; Fri, 15 Nov 2024 23:30:46 GMT (envelope-from git) Date: Fri, 15 Nov 2024 23:30:46 GMT Message-Id: <202411152330.4AFNUkE7041874@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: 8a688fcc242e - releng/14.2 - release: add optional OCI images List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 8a688fcc242e1b4eea32fe97aa0f16a18ed21246 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8a688fcc242e1b4eea32fe97aa0f16a18ed21246 commit 8a688fcc242e1b4eea32fe97aa0f16a18ed21246 Author: Doug Rabson AuthorDate: 2024-08-14 15:39:24 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:22:37 +0000 release: add optional OCI images This adds three OCI archive format files to the release containing FreeBSD base images suitable for static linked, dynamic linked and shell workloads. The shell image also contains pkg-bootstrap and can be easily extended by installing packages (including pkgbase packages). Approved by: re (cperciva) Reviewed by: dch, cpersiva, jlduran, zlei Differential Revision: https://reviews.freebsd.org/D46759 MFC after: 2 days (cherry picked from commit d03c82c28da86e0812b98b051d24ae5980804ad7) (cherry picked from commit 6686056ca3547c8280bd2423c59c661c2f501409) --- release/Makefile | 11 ++++--- release/Makefile.oci | 34 +++++++++++++++++++ release/release.conf.sample | 4 +++ release/release.sh | 47 ++++++++++++++++++++++++++- release/scripts/make-oci-image.sh | 63 ++++++++++++++++++++++++++++++++++++ release/tools/oci-image-dynamic.conf | 11 +++++++ release/tools/oci-image-minimal.conf | 19 +++++++++++ release/tools/oci-image-static.conf | 42 ++++++++++++++++++++++++ share/examples/Makefile | 6 ++++ share/examples/oci/Containerfile.pkg | 27 ++++++++++++++++ share/examples/oci/README | 7 ++++ share/man/man7/release.7 | 14 +++++++- 12 files changed, 279 insertions(+), 6 deletions(-) diff --git a/release/Makefile b/release/Makefile index be0abf84de23..4f95d3ba32ec 100644 --- a/release/Makefile +++ b/release/Makefile @@ -7,14 +7,16 @@ # memstick: Builds memory stick image (memstick.img) # mini-memstick: Builds minimal memory stick image (mini-memstick.img) # ftp: Sets up FTP distribution area (ftp) -# release: Invokes real-release, vm-release, and cloudware-release targets +# release: Invokes real-release, vm-release, cloudware-release and oci-release targets # real-release: Build all media and FTP distribution area # vm-release: Build all virtual machine image targets # cloudware-release: Build all cloud hosting provider targets -# install: Invokes the release-install and vm-install targets +# oci-release: Build all OCI container images +# install: Invokes the release-install, vm-install and oci-install targets # release-install: Copies all release installation media into ${DESTDIR} # vm-install: Copies all virtual machine images into ${DESTDIR} # cloud-install: Copies non-uploaded cloud images into ${DESTDIR} +# oci-install: Copies all OCI container images into ${DESTDIR} # # Variables affecting the build process: # WORLDDIR: location of src tree -- must have built world and default kernel @@ -319,7 +321,7 @@ ftp: packagesystem mkdir -p ftp cp *.txz MANIFEST ftp -release: real-release vm-release cloudware-release +release: real-release vm-release cloudware-release oci-release ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done true @@ -330,7 +332,7 @@ real-release: ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} -install: release-install vm-install .WAIT cloud-install +install: release-install vm-install oci-install .WAIT cloud-install release-install: .if defined(DESTDIR) && !empty(DESTDIR) @@ -350,3 +352,4 @@ release-install: .include "${.CURDIR}/Makefile.inc1" .include "${.CURDIR}/Makefile.vm" +.include "${.CURDIR}/Makefile.oci" diff --git a/release/Makefile.oci b/release/Makefile.oci new file mode 100644 index 000000000000..461c95f49636 --- /dev/null +++ b/release/Makefile.oci @@ -0,0 +1,34 @@ +# +# +# +# Makefile for building OCI container images. +# + +.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) +OCI_IMAGES= static dynamic minimal +.endif + +oci-install: +.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) + mkdir -p ${DESTDIR}/ociimages +. for _IMG in ${OCI_IMAGES} + cp -p ${.OBJDIR}/container-image-${_IMG}.txz ${DESTDIR}/ociimages +. endfor +.endif + +OCI_TARGETS= +OCI_DEPS_static= +OCI_DEPS_dynamic= container-image-static.txz +OCI_DEPS_minimal= container-image-dynamic.txz + +.for _IMG in ${OCI_IMAGES} +OCI_TARGETS+= container-image-${_IMG}.txz +container-image-${_IMG}.txz: ${OCI_DEPS_${_IMG}} + sh ${.CURDIR}/scripts/make-oci-image.sh ${.CURDIR} ${REVISION} ${BRANCH} ${TARGET_ARCH} ${_IMG} + skopeo copy \ + containers-storage:localhost/freebsd${REVISION:R}-${_IMG}:latest \ + oci-archive:${.OBJDIR}/container-image-${_IMG}.tar:freebsd${REVISION:R}-${_IMG}:${REVISION}-${BRANCH}-${TARGET_ARCH} + ${XZ_CMD} < ${.OBJDIR}/container-image-${_IMG}.tar > ${.OBJDIR}/container-image-${_IMG}.txz +.endfor + +oci-release: ${OCI_TARGETS} diff --git a/release/release.conf.sample b/release/release.conf.sample index 351496dcf6a4..1dd2f2504e30 100644 --- a/release/release.conf.sample +++ b/release/release.conf.sample @@ -114,3 +114,7 @@ PORTBRANCH="main" ## If WITH_CLOUDWARE is set to a non-empty value, this is a list of providers ## to create disk images. #CLOUDWARE="EC2 GCE ORACLE VAGRANT-VIRTUALBOX VAGRANT-VMWARE" + +## If WITH_OCIIMAGES is set to a non-empty value, build Open Container +## Initiative (OCI) base images as part of the release. +#WITH_OCIIMAGES= diff --git a/release/release.sh b/release/release.sh index cee0fbd5643d..d6752e016994 100755 --- a/release/release.sh +++ b/release/release.sh @@ -120,6 +120,9 @@ env_setup() { # cloud providers as part of the release. WITH_CLOUDWARE= + # Set to non-empty to build OCI images as part of the release + WITH_OCIIMAGES= + return 0 } # env_setup() @@ -195,7 +198,8 @@ env_check() { RELEASE_RMAKEFLAGS="${ARCH_FLAGS} ${RELEASE_FLAGS} \ KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \ WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ - WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}" + WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \ + XZ_THREADS=${XZ_THREADS}" return 0 } # env_check() @@ -288,6 +292,44 @@ extra_chroot_setup() { fi fi + if [ ! -z "${WITH_OCIIMAGES}" ]; then + # Install buildah and skopeo from ports if the ports tree is available; + # otherwise install the pkg. + if [ -d ${CHROOTDIR}/usr/ports ]; then + # Trick the ports 'run-autotools-fixup' target to do the right + # thing. + _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U) + REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION) + BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH) + UNAME_r=${REVISION}-${BRANCH} + GITUNSETOPTS="CONTRIB CURL CVS GITWEB GUI HTMLDOCS" + GITUNSETOPTS="${GITUNSETOPTS} ICONV NLS P4 PERL" + GITUNSETOPTS="${GITUNSETOPTS} SEND_EMAIL SUBTREE SVN" + GITUNSETOPTS="${GITUNSETOPTS} PCRE PCRE2" + PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes" + PBUILD_FLAGS="${PBUILD_FLAGS} UNAME_r=${UNAME_r}" + PBUILD_FLAGS="${PBUILD_FLAGS} OSREL=${REVISION}" + PBUILD_FLAGS="${PBUILD_FLAGS} WRKDIRPREFIX=/tmp/ports" + PBUILD_FLAGS="${PBUILD_FLAGS} DISTDIR=/tmp/distfiles" + for _PORT in sysutils/buildah sysutils/skopeo; do + eval chroot ${CHROOTDIR} env ${PBUILD_FLAGS} make -C \ + /usr/ports/${_PORT} \ + FORCE_PKG_REGISTER=1 deinstall install clean distclean + done + else + eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \ + pkg install -y sysutils/buildah sysutils/skopeo + eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \ + pkg clean -y + fi + # Use the vfs storage driver so that this works whether or not + # the build directory is on ZFS. The images are small so the + # performance difference is negligible. + eval chroot ${CHROOTDIR} sed -I .bak -e '/^driver/s/zfs/vfs/' /usr/local/etc/containers/storage.conf + # Remove any stray images from previous builds + eval chroot ${CHROOTDIR} buildah rmi -af + fi + if [ ! -z "${EMBEDDEDPORTS}" ]; then _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U) REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION) @@ -323,6 +365,9 @@ chroot_build_target() { fi eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel + if [ ! -z "${WITH_OCIIMAGES}" ]; then + eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} packages + fi return 0 } # chroot_build_target diff --git a/release/scripts/make-oci-image.sh b/release/scripts/make-oci-image.sh new file mode 100644 index 000000000000..a139a38d1930 --- /dev/null +++ b/release/scripts/make-oci-image.sh @@ -0,0 +1,63 @@ +#! /bin/sh + +# Build an Open Container Initiative (OCI) container image + +curdir=$1; shift +rev=$1; shift +branch=$1; shift +arch=$1; shift +image=$1; shift + +major=${rev%.*} +minor=${rev#*.} + +abi=FreeBSD:${major}:${arch} + +echo "Building OCI freebsd${major}-${image} image for ${abi}" + +. ${curdir}/tools/oci-image-${image}.conf + +init_workdir() { + local abi=$1; shift + local workdir=$(mktemp -d -t oci-images) + + mkdir ${workdir}/repos + cat > ${workdir}/repos/base.conf < /dev/null + mtree -deU -p $m/var -f /etc/mtree/BSD.var.dist > /dev/null + mtree -deU -p $m/usr -f /etc/mtree/BSD.usr.dist > /dev/null + mtree -deU -p $m/usr/include -f /etc/mtree/BSD.include.dist > /dev/null + mtree -deU -p $m/usr/lib -f /etc/mtree/BSD.debug.dist > /dev/null + install_packages ${abi} ${workdir} $m FreeBSD-caroot FreeBSD-zoneinfo + cp /etc/master.passwd $m/etc + pwd_mkdb -p -d $m/etc $m/etc/master.passwd || return $? + cp /etc/group $m/etc || return $? + cp /etc/termcap.small $m/etc/termcap.small || return $? + cp /etc/termcap.small $m/usr/share/misc/termcap || return $? + env DESTDIR=$m /usr/sbin/certctl rehash + # Generate a suitable repo config for pkgbase + case ${branch} in + CURRENT|STABLE|BETA*) + repo=base_latest + ;; + *) + repo=base_release_${minor} + ;; + esac + mkdir -p $m/usr/local/etc/pkg/repos + cat > $m/usr/local/etc/pkg/repos/base.conf < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 2594b7675ade - releng/14.2 - release: Publish OCI images on "ftp" mirrors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 2594b7675adeae114b329cade3980530d45fed68 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2594b7675adeae114b329cade3980530d45fed68 commit 2594b7675adeae114b329cade3980530d45fed68 Author: Colin Percival AuthorDate: 2024-11-13 06:36:14 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:22:58 +0000 release: Publish OCI images on "ftp" mirrors If WITH_OCIIMAGES is set, "make ftp-stage" will now publish those bits into a directory under /OCI-IMAGES/, similar to how we publish CI and VM images. Approved by: re (cperciva) MFC after: 1 minute (cherry picked from commit e95e3e6eb7ef723aa5dd08de48a9ad3fec647c7d) (cherry picked from commit e8c5d6f6b89f38ed7c20ad5537fc82092106d378) --- release/Makefile.mirrors | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/release/Makefile.mirrors b/release/Makefile.mirrors index 1888f86d3002..8af614d9a9bb 100644 --- a/release/Makefile.mirrors +++ b/release/Makefile.mirrors @@ -58,6 +58,11 @@ STAGE_TARGETS+= ci-images-stage CI_DIR= ${TLD}/CI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} .endif +.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) +STAGE_TARGETS+= oci-images-stage +OCI_DIR= ${TLD}/OCI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} +.endif + CLEANFILES+= ${STAGE_TARGETS} CHECKSUM_FILES?= SHA512 SHA256 SNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' @@ -333,5 +338,53 @@ ci-images-stage: . endfor .endif +oci-images-stage: + mkdir -p ${OCI_DIR} +.if defined(SNAPSHOT) && !empty(SNAPSHOT) +. if exists(${OCI_DIR}/Latest) + rm -rf ${OCI_DIR}/Latest +. endif + mkdir -p ${OCI_DIR}/Latest + mkdir -p ${OCI_DIR}/${BUILDDATE} +. for _IMG in ${OCI_IMAGES} + cd ${RELEASEDIR}/ociimages && \ + mv container-image-${_IMG}.txz \ + ${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz + cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \ + ${OCI_DIR}/${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz + cd ${OCI_DIR}/Latest && \ + ln -s ../${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \ + ${OSRELEASE}-container-image-${_IMG}.txz +. endfor + cd ${RELEASEDIR}/ociimages && rm -f CHECKSUM.* +. for CHECKSUM in ${CHECKSUM_FILES} + cd ${RELEASEDIR}/ociimages && \ + ${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + ${OCI_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cd ${OCI_DIR}/Latest && \ + ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + CHECKSUM.${CHECKSUM} +. endfor +.else # not snapshot +. if exists(${OCI_DIR}/Latest) + rm -rf ${OCI_DIR}/Latest +. endif + mkdir -p ${OCI_DIR}/Latest +. for _IMG in ${OCI_IMAGES} + cd ${RELEASEDIR}/ociimages && \ + mv container-image-${_IMG}.txz \ + ${OSRELEASE}-container-image-${_IMG}.txz + cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${_IMG}.txz \ + ${OCI_DIR}/Latest/${OSRELEASE}-container-image-${_IMG}.txz +. endfor +. for CHECKSUM in ${CHECKSUM_FILES} + cd ${RELEASEDIR}/ociimages && \ + ${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} + cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ + ${OCI_DIR}/Latest/CHECKSUM.${CHECKSUM} +. endfor +.endif + ftp-stage: remove-old-bits ${STAGE_TARGETS} From nobody Fri Nov 15 23:30:48 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqtYj6QKTz5dhxt; Fri, 15 Nov 2024 23: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqtYj16jdz3xhG; Fri, 15 Nov 2024 23:30:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jtWMrhZBWo0tbww3TP4dEbmscdTcLwJxDdrn3a40+w=; b=Mh8W4d62Yo9HEPOco91GVN2dAA/FYj1LE7CII7Kml+Xo3D/zYtbhSSzaDVyn6pFwKYIIyD LMgrrif/KztBp0oLiYxoiOdyUoWusfzrbwroPwTj+qhmnSjVAM7lkLP1dd35nqHEZVBmCs XKWhHW1k2QxGUQ1EYnoKazDxICMN4qFdsOvKwZrYOVGBgrk1ZWWcCI6P5abNcBdBTHG+jP cxvAaZhlSrUswEoSBFS7rKBf+Cq1WYExdM6jJm9vkhSZF4DFw1yoim/LwfDbB2T49p0wi5 kgYzCYMwcAPrkrXPzbMOtBv1Cd5IJWEnLM5n35dLuCvSwbJZ5A7TsSFhQSY/rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jtWMrhZBWo0tbww3TP4dEbmscdTcLwJxDdrn3a40+w=; b=NEJ/CIIyqTbShihoz9whD6fjfJufz1+fy+COcZ1A4OHJOtRDWWQV9Zd9e3v+CjHbzflymY e3Kd6s1P1XRcnL3MoYYPuXkWaJfU5Okd3QuMiU/cwOb9fvvdGi/wmfs90BT2MSAU2JiayL G88pzXmu4KhZNSSeUn3c7IGH3B8QaupiWbEP2PLpyOY+/vqWJWr3hvZP1crTGTi3HVanfH zjyd3qOlTtraFY8o/hVYwWNxqQxrRxjEIUB7cCVTdAEhlsi3AjDvsKJyBcijz6I1b2D4Nc JMWgKLFhj5c6oKhydQuiZZoFseMfGFawI2JGskYBr/UpKIXIW27JOEEqTvWAeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731713449; a=rsa-sha256; cv=none; b=gSeCCvyeIAPe1MIeC2k3AjTURsAYxBoepbxiReqt/LEApOTGGdUSw8ZHLNwsBNb000USCS w39tb+025K0a6rW5PBW8gl91QTk06y0hibdQsmnMKDEH54YeUzKthE+gW9MjWwSzWzCrPi 2xklYh5i0W+8UJTfOdctXBpro17ZsqX+btHoJsXtNGsnHsS3UgHXcyF7jj+3PPWajJlJf8 HGIZpePMvGHtFmSehUlcWdlI2xJbjj0w7uS02CHKp2DjxKPPo+PVGfdV5WzfRcm0RNH28v par2caZt82kRG4uQVs4pquy5StnQyNDSW3VgpUdTluhIf+4jyeJ7A0Y4G6tWag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqtYj0Md0zjYL; Fri, 15 Nov 2024 23:30: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 4AFNUmZj041979; Fri, 15 Nov 2024 23: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 4AFNUmU1041976; Fri, 15 Nov 2024 23:30:48 GMT (envelope-from git) Date: Fri, 15 Nov 2024 23:30:48 GMT Message-Id: <202411152330.4AFNUmU1041976@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: 9513b68501c0 - releng/14.2 - bsd.subdir.mk: Drop broken optimisation for realinstall parallelisation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 9513b68501c0c17be13d27c94a229ca18b297ac3 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9513b68501c0c17be13d27c94a229ca18b297ac3 commit 9513b68501c0c17be13d27c94a229ca18b297ac3 Author: Jessica Clarke AuthorDate: 2024-02-02 21:17:23 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:23:02 +0000 bsd.subdir.mk: Drop broken optimisation for realinstall parallelisation Not all of the tree is happy for realinstall to be done in parallel. In particular, Makefile.inc1 uses .WAIT to force etc to be installed after earlier subdirectories, since etc calls into share/man's makedb to run makewhatis on the tree and needs all manpages to have been installed. Also, libexec/Makefile doesn't set SUBDIR_PARALLEL, and the link from ld-elf32.1 to ld-elf.1 relies on rtld-elf having been installed before rtld-elf32, otherwise creating the link will fail. In general, core behavioural differences like this between NO_ROOT and "normal" builds are also dangerous and confusing. If this optimisation is deemed important, it should be reintroduced in a more limited and robust manner that doesn't break the above situations. Until then value correctness over slight efficiency gains on high core count machines, the same machines where you're more likely to encounter issues from this optimisation. This reverts commits cd19ecdbdc87 ("Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging.") and b9c6f3168112 ("Add more STANDALONE_SUBDIR_TARGETS."). Approved by: re (cperciva) Found by: CheriBSD Jenkins Reviewed by: bdrewery, brooks Fixes: cd19ecdbdc87 ("Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging.") Fixes: b9c6f3168112 ("Add more STANDALONE_SUBDIR_TARGETS.") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43705 (cherry picked from commit fbae308319b7678cd9d879f60b1efd8d4c99b5eb) (cherry picked from commit 125ce840bc93f9cd9286c9724bf18f951e17d3fa) --- share/mk/bsd.subdir.mk | 5 ----- 1 file changed, 5 deletions(-) diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk index 72e835d97730..83cead36ade6 100644 --- a/share/mk/bsd.subdir.mk +++ b/share/mk/bsd.subdir.mk @@ -56,11 +56,6 @@ STANDALONE_SUBDIR_TARGETS+= \ installconfig installdirs installincludes installfiles print-dir \ maninstall manlint obj objlink -# It is safe to install in parallel when staging. -.if defined(NO_ROOT) || !empty(SYSROOT) -STANDALONE_SUBDIR_TARGETS+= realinstall -.endif - .include .if ${MK_META_MODE} == "yes" From nobody Fri Nov 15 23:30:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqtYk39Zsz5dhdD; Fri, 15 Nov 2024 23:30: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqtYk0nWFz3xbh; Fri, 15 Nov 2024 23:30:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b9TjDDddN57nCGB1j/WT4ZCmXOpZ0nrXXE/G8cp54rw=; b=kG+G5zLshUZtYHTGxIzrJ5eCTsDiHmHDcTUR9U3oVsD3dtIzn/i+y+H+yZKnG8f2XDe6kD CiRZu10k0GoQwqRt7ZAO19tpHlkwFWnVuy0QAkCnUR/OBYIocP9Z1HUKw+lc95KtdY52FV xNhqE3/BSoAPG/LF4giZv2tppk/lAiYEmhGVollgPKs+rbi9teUcg2dCYEXNU+ITnpYrpF xAj+PYtX1pJEzJdAafGtxeL7ASz7kFoi/NzBATgFEqz0Byi1E02x9ov8b6YdzsXFmkZV0w jGNAt7WX9d9mGlBYLGtX2yFoMbIzN6lOaWTtOZdwlfI0+N0wxq0uSS/e8VIuow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b9TjDDddN57nCGB1j/WT4ZCmXOpZ0nrXXE/G8cp54rw=; b=lcsXf2EfVADslt2K6vqgccvVuNJ4C6Kpn9EXY3BVdko9jLOQIbcVLdtqlcJXWDkuJHhTWb fp3o6vZp5lokLRl5/gpsAQxUzfc2Jbwe8swI6H19v1vlavUM6OlWaEy1ZbEhGQEAYAZfUT CtiM+S/Jz36pyI74QlmcSAR3HdqsbOVuskHQnU+QkwsBICV1TrWbPMx1GXaR3G+xoC34VT tGi9RNzGF/XWJiHr+dh62ubkvo6/lLg5Kk92zGqCFoM8hWln2ZLKvKrTDT1LnYiqBsu5bM ZvzCJ0fZT7fVRP2qm8SnCq1UmhBdCY68xuWw7G3xqvEjXBSzZnwZ+frdBKQ7cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731713450; a=rsa-sha256; cv=none; b=eRqzS3z9gpdlXMEVkZvRClQY8H2GrZwqhJ1oS9GPTHwT3LhHKJr2gjrg3zHNG2zE6QMnRX WFVewgKe9Yr0zq8KOhaSSE+Dc69dH+3R6ez1vcIqJHPqHRgqjF1rp5y8xtrQJi0Ybknmw3 w7aAhg2kkFXI17araE9zmC254DJjQHUH2sDA5DawdN5JZWXJu6jK8cEGLOFAIRAszjTlAc frwMWm7fmxiwlf2tHjzu9NvZhsGWo/l4BAIXUpAJBvDJykQTBJ2OJL0V7r7AFmx49+5HIk cnKcD4NnqCj/p822jt1YkiKWkgjzleJTtA84JY1zWI+ZSHDCraTXl1eFffhNcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqtYk0P3VzkGQ; Fri, 15 Nov 2024 23:30: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 4AFNUnpJ042045; Fri, 15 Nov 2024 23:30:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFNUnC8042042; Fri, 15 Nov 2024 23:30:49 GMT (envelope-from git) Date: Fri, 15 Nov 2024 23:30:49 GMT Message-Id: <202411152330.4AFNUnC8042042@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: 0aeaf495babf - releng/14.2 - release: Exclude container images from globs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: 0aeaf495babf9506b3b6ce5e46b13b9c604094b4 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=0aeaf495babf9506b3b6ce5e46b13b9c604094b4 commit 0aeaf495babf9506b3b6ce5e46b13b9c604094b4 Author: Colin Percival AuthorDate: 2024-11-14 22:30:44 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:23:06 +0000 release: Exclude container images from globs We use a *.txz glob to get all of the "distributions" which comprise the FreeBSD release, but we now (optionally) also build container images which are .txz files. Grep those out from the distribution lists. A better long-term fix would probably be to generate an explicit list of the .txz files we want rather than using an overbroad glob and filtering out the files we *don't* want. Approved by: re (cperciva) Fixes: d03c82c28da8 ("release: add optional OCI images") MFC after: 1 minute Sponsored by: Amazon (cherry picked from commit 47866cdcc7278faa27250dcea16374231c676050) (cherry picked from commit 012bb7fdafb30032f7a09212ffd6398eb4230b07) --- release/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/release/Makefile b/release/Makefile index 4f95d3ba32ec..36c47e5ad454 100644 --- a/release/Makefile +++ b/release/Makefile @@ -177,12 +177,12 @@ disc1: packagesystem -DDB_FROM_SRC ) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ + for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done .if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ + 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 @@ -247,12 +247,12 @@ dvd: packagesystem -DDB_FROM_SRC ) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST *.txz; \ + for dist in MANIFEST $$(ls *.txz | grep -v container); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done .if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST *.txz; \ + 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 @@ -300,7 +300,7 @@ mini-memstick.img: bootonly-memstick cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} packagesystem: ${DISTRIBUTIONS} - sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST + sh ${.CURDIR}/scripts/make-manifest.sh $$(ls *.txz | grep -v container) > MANIFEST touch ${.TARGET} pkg-stage: dvd From nobody Fri Nov 15 23:30:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqtYl3wWnz5dj1V; Fri, 15 Nov 2024 23:30: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqtYl20V5z3xn3; Fri, 15 Nov 2024 23:30:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IT5habeBZzf4vIz+EI5DUMIAW8EtK3gPWvPh9PbflSk=; b=eFXlbbB9Tvl6HT46CL007rON/wguqdGRR1ZRwHcRK7eejTXg3+bn7Qu/mZqnmWSTdL9j6V /kUJ0jcrYsezfFsQJq8rJyPsTsirlepH67zsWYmBzEO2FcGd+r1xDas55e+4m/rFeWBx1P 9J5MaShERZ6YLV9EcullMnpa6eonhqxwkqM6h10OK2skTcltFgv2y/BwLdiPZImwVUC6Hc 4WeX0b/3gIy4LBi4lENd2+t4IOATDAWw4kTGKZ0d9BEkqPVtnfyJxysuLQRroKvvY7xFFE 0abc0UpwA7qOY4XrmXRL4+opvAe4ls5pZNTl+XBOIiGYmxbT0wfFvMt1X2DRnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IT5habeBZzf4vIz+EI5DUMIAW8EtK3gPWvPh9PbflSk=; b=A55dl1kEp7W1ksGr5fvzB9kP7ndTEM2SYxwE6mT44dvQbuRSkyxWi676D7+dYgYNkW8DqX mu+jc+wOisxul6weBCbEzsgwNVUkR7stgmTw0pH2Mfbc+t9K4SJn6CgZXQW9qwhghNwwFM JQXYjeG4KAJqe2wT8dnfiMkWMt+NaaCfGJBDTfh4n7EKLP4Ch5v4dHG/qd+GuuI4Wo+rFe U3y9jxq71rFV1+N/buptQfP2ZQXc6XjcnyZrFiuipuVdxLu7djF04sglCWCFTnFrEkR2AP TeWvEL+9J/zKuE+3Nznd6G6p6UFMztryEPEgeuk/PA57GYlA6uooeUpK7Veraw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731713451; a=rsa-sha256; cv=none; b=bXB+uPvqvMAr39xWCT1tWU+kVl/XuRtr1sIIXCwACCNI7ppXgwGCYhEVtBS/+vo2f/jrUj 3ZuYWvnFuAWRWY6VYErsk7z6P21szMER94KlPHRp/9S9mA28OEx7z78mwBLTFIp11ycFOj WzpqsDPOWMz4K4LN++ZpacLdAPCgieqHlSOu4G8qDK4lxu1MU5sx+4q2iXnK5JlxvhZsHf EDxKGeuUnyth7saosu4x9oLoHE+4C6dMc1YyA5jzIj2Ol8khyWk8V5y9/XgnwKFcc8kg78 tfRMyfv1gvUgUX3hLRK3W4LdIYCp9+pW8EOLl9NY3PUIsXa8DEivTYToGiwVXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqtYl1PqHzjf1; Fri, 15 Nov 2024 23:30: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 4AFNUpfg042093; Fri, 15 Nov 2024 23:30:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFNUpIi042090; Fri, 15 Nov 2024 23:30:51 GMT (envelope-from git) Date: Fri, 15 Nov 2024 23:30:51 GMT Message-Id: <202411152330.4AFNUpIi042090@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: f0bfc02cba55 - releng/14.2 - release: Don't copy container images into /ftp/ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: f0bfc02cba55fe37f7f1c097e61179d9406c2a52 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f0bfc02cba55fe37f7f1c097e61179d9406c2a52 commit f0bfc02cba55fe37f7f1c097e61179d9406c2a52 Author: Colin Percival AuthorDate: 2024-11-15 21:38:06 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:23:09 +0000 release: Don't copy container images into /ftp/ These are installed into /ociimages/ and stage onto the download site at /OCI-IMAGES/; they don't belong in the same directory as the "distribution" .txz files. Approved by: re (cperciva) Fixes: d03c82c28da8 ("release: add optional OCI images") MFC after: 1 minute Sponsored by: Amazon (cherry picked from commit 976e1d36be688166e140cbaded01d433c61e6d47) (cherry picked from commit a8bdbdbdba3e7c6e3a330026dcd82e922a4265c8) --- release/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/release/Makefile b/release/Makefile index 36c47e5ad454..3d96880d1661 100644 --- a/release/Makefile +++ b/release/Makefile @@ -320,6 +320,7 @@ ftp: packagesystem rm -rf ftp mkdir -p ftp cp *.txz MANIFEST ftp + rm -f ftp/container-*.txz release: real-release vm-release cloudware-release oci-release ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done From nobody Fri Nov 15 23:30:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqtYm5MFBz5dj0c; Fri, 15 Nov 2024 23:30: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqtYm3Fr4z3xfb; Fri, 15 Nov 2024 23:30:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W6rLbe1N5BgFdO0xxoqV7zTeBk1COPVZUDni4PJPR1s=; b=uf1CPRZWr4mT7gjmtN6wsMQG3+6JdbjCYjGz5pqkSPT3/Qd0mWOVs4VboB0Ez7Hv6q/rtg 2g7QUmfGEQYX5EPhI2RL/xc4pcNoT3KPRUYPk0wya0F768OPQQAl/qokaxcR/V2ZLuBiYt BDz/iyz4nGqWAPnFC+aWuCRKI8VrFJjcJ+rdR4LN6rlf/t03KFpqvN/UUhNRRcQsSoeAtI Q2smR4l4cqK+aoYie45eMddLKyHmYlha3fLQUZB/KmGO8mehd3lrj5MjDZpttdEwMZn4Qn +QlIT/zFma98VsnSSKWLaHFGFTG5Kdnz6izYDkUMSppG6kRIPOp0RR11J3Whgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W6rLbe1N5BgFdO0xxoqV7zTeBk1COPVZUDni4PJPR1s=; b=IDdJYezovgE1m7VnneDBPS5m/pjdEt1eqQ62djhSvGfVP2WErw4trvY1N4ehFThEvWe3k4 khBSyOSf8yVzPWztKbAeAT/dfFpMIvrluMYwu8teFX0U0Pz/hTyDLjEW8V0Rvv/mKxCcpf /lweHc1sPFHLwvZIaC9hqMttnXUheTjk0sLZ2bxXMMA2APaGm2DgO2rqb35T1pbRXtExRx rs37GWmH1qtS212+TLWcDjAgTtCTG3UDODpYxv9TtJ/1kUZL6r1vqm7/YvCJajxiPUcq4N dGrcuIO0RfMYvdWhIVpnaJkIBH13EoM7tlRRcDKf6eQCNoWSNQe/lKP2PGP9ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731713452; a=rsa-sha256; cv=none; b=pdITHDDPSXPsdqYFX/QIk0vhx+7bghkFx3ldCts172VV4w34b5vqh0qbNoY7sIkCYTEVQX HOby+DMihvnZayMUBeEGiCBSjcQ9CtwwVxRYOiYDK8/ST4Rjm1szInuZGA9HlOwK+PtMdR PrBrf+NgEuCAsYtE8sWMwmlPDu4DDq43g8N2cU3IvOow5tN3bZTjTJg7n4obX3WizQ3RWU dopK+QeU5fRgGQkLoid0YAhF+W/GO+YKLVZEW9jLE+lUaAeB52okfHL42n/l0o2rijCK/o bkUns2MFyFuXiu2cBuO6QPBlIqeQPY5JKv5ITBqr3AEh/AKnKO0Hkp+maNr09Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqtYm2CfFzjtB; Fri, 15 Nov 2024 23:30: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 4AFNUqUB042130; Fri, 15 Nov 2024 23:30:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFNUqiF042127; Fri, 15 Nov 2024 23:30:52 GMT (envelope-from git) Date: Fri, 15 Nov 2024 23:30:52 GMT Message-Id: <202411152330.4AFNUqiF042127@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: c16d0924dbb6 - releng/14.2 - Revert commit 8733bc277a383cf59f38a83956f4f523869cfc90 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: c16d0924dbb6c1152c45f85b61894ba5dd61e587 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c16d0924dbb6c1152c45f85b61894ba5dd61e587 commit c16d0924dbb6c1152c45f85b61894ba5dd61e587 Author: Kirk McKusick AuthorDate: 2024-11-13 19:37:14 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:23:13 +0000 Revert commit 8733bc277a383cf59f38a83956f4f523869cfc90 Author: Mateusz Guzik Date: Thu Sep 14 16:13:01 2023 +0000 vfs: don't provoke recycling non-free vnodes without a good reason If the total number of free vnodes is at or above target, there is no point creating more of them. This commit was done as a performance optimization but ends up causing slowdowns when doing operations on many files. Approved by: re (cperciva) Requested by: re (cperciva) (cherry picked from commit ab05a1cf321aca0fe632c1ab40f68630b477422c) (cherry picked from commit 2ca9c96dc0cf0d1f91b37346bce8fd0dd1639ddd) --- sys/kern/vfs_subr.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 646339987ba2..747cdf722cc9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1961,25 +1961,11 @@ vn_alloc_hard(struct mount *mp, u_long rnumvnodes, bool bumped) mtx_lock(&vnode_list_mtx); - if (vn_alloc_cyclecount != 0) { - rnumvnodes = atomic_load_long(&numvnodes); - if (rnumvnodes + 1 < desiredvnodes) { - vn_alloc_cyclecount = 0; - mtx_unlock(&vnode_list_mtx); - goto alloc; - } - - rfreevnodes = vnlru_read_freevnodes(); - if (rfreevnodes < wantfreevnodes) { - if (vn_alloc_cyclecount++ >= rfreevnodes) { - vn_alloc_cyclecount = 0; - vstir = true; - } - } else { - vn_alloc_cyclecount = 0; - } + 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 Fri Nov 15 23:30:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqtYn56y2z5dj8w; Fri, 15 Nov 2024 23:30: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqtYn3dSdz3xnM; Fri, 15 Nov 2024 23:30:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dc7KxivTOmjPrbr4POKJwxnrEqjVTd0stKHY973o9eg=; b=NX2gHTq8S3ZpEopiYaOOA2UBraTpc3OZ/tJ7JiG5y8XswUIShOWItDtdjdJEwuv1FBGiup HWm+38ZOShVLKokFCg49CXtSvdqV1eN1MfdAyOKKRbRNialfUEhMqklohoBa0dXfz6HHiD SD1CLVi0pjTX8nPnujb/rwvvYeft/D1HyqDbdMZojDyXmNijZ49sSiJPcLIg2SRh3IiZdL YI0Dry3NzMUl1tdNtmV4Vrg/8F1BoB97CQ9oOg3MQQ8Ns5y460mEiEz4axPBErS22x1nY9 AREmjNIjhS0sSKf1Rf/q4D/zri0DlhJGSZzN+qJLKit2PA8v/bEMaUu65sH3fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731713453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dc7KxivTOmjPrbr4POKJwxnrEqjVTd0stKHY973o9eg=; b=haI3AsIyO0S+BQJui0AiFHI6XM/ZWiHlXDjFEZT+PQ9UHYAkUzzdbQL5T+1YU1E0x7dpzT wK8Jm+U/pm7C/3wmktFAlpUK++vn2yBfAMHbKFuPMQmO2hebgRdTCxcckd3Nkl12DDrRZZ REAqr5ESCMWPF02iPiWoYOir2G9fIKc8+ramOqOqVWUy7lfSPXUOfD39eogqNT4yP1d3f0 R5ng0t/6XjzQMsUe8n2RSEsy8Zl/Pf5lr5p13UvXO5rM+gNccywXuMqpn+x0rKvvGYl3vC kg/jc1Z+hD/YOtoRau1Un708rWrPaG1yNiDt88/kZ21c0Xt98kvJi4qusyhm+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731713453; a=rsa-sha256; cv=none; b=SIrwmoZRFEAXvuVpnANdxOv/Zj1C683tINrepsKIxUNifIYvAxvKsYRfPER2e/0qGVcEVc +mNx5lvPSSrKkqaYSMRWB9Pzp6km7TsMSqFy2ptaNZGUc+eSsDQPVfWNiIyvpnAmZIRxEL odECJ/TM5eDS9x3oVGtz0d06IB5us8rOHDscLtHwtaOrpPpRTm8Z4FyHBh7B/MLmquUOeL KVEdQr31IGZxx8zG7ZbNQeWppMuynut32cdko8gs1gNkmXKIaWy+HBTJ2GZx7SAYJjXf4F Tiusf21XKegOF/ws29vJp1+9OZcgFvke+PZ1d4VpoUIIx8VwYtwiN4QpCo4/ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqtYn2xhjzkGS; Fri, 15 Nov 2024 23:30: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 4AFNUrC0042169; Fri, 15 Nov 2024 23:30:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AFNUr1T042166; Fri, 15 Nov 2024 23:30:53 GMT (envelope-from git) Date: Fri, 15 Nov 2024 23:30:53 GMT Message-Id: <202411152330.4AFNUr1T042166@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: bcd5f9573588 - releng/14.2 - 14.2: Update to BETA3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.2 X-Git-Reftype: branch X-Git-Commit: bcd5f9573588f3340a0c5a7d8da8ad8fbf2153a3 Auto-Submitted: auto-generated The branch releng/14.2 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=bcd5f9573588f3340a0c5a7d8da8ad8fbf2153a3 commit bcd5f9573588f3340a0c5a7d8da8ad8fbf2153a3 Author: Colin Percival AuthorDate: 2024-11-15 23:22:00 +0000 Commit: Colin Percival CommitDate: 2024-11-15 23:23:22 +0000 14.2: Update to BETA3 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 60a042f04d04..3da92b81939d 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.2" -BRANCH="BETA2" +BRANCH="BETA3" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Sat Nov 16 01:41:22 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqxSL3kHYz5cbss; Sat, 16 Nov 2024 01:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqxSL3115z4HMp; Sat, 16 Nov 2024 01:41:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731721282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vokEFAeW3pDb3jp736Yn5uYkCj9h25c6zWoL+KCn4Zw=; b=XivLQLLtDUpsed02wKwGWfXJRXxg6YtnvKeKr1aA7NpNzlx8HvNznSC9jdliQZKMM/1NAJ quRUPGHWLsLChUoIxUEX/ygpUytPm/tr9rJdoVLSRDhVqw1Ms587A9dK6Jxtd+/OYUX9xB na0GVfF5woWXco3hGHh4UJiyMR+bUJgz245TCuO1b9YKYA+2rJAsto0GAxajCQM3AJsrHQ VWtR3/JGT7s6X1vkJLvM164LlYDuAn/gSFNRX+GD63f+tpzAlQvC+D9RaiVl8dmLFOH/nh qfhblDSedHISsTAuTIfznNghFuVEtzXRez36AhSaCCcXnPP+mzwsSm3w5wdz1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731721282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vokEFAeW3pDb3jp736Yn5uYkCj9h25c6zWoL+KCn4Zw=; b=KkmtpkSvsUDjyMybhT69aje4zUTh+69AulbPETcK8HGTOpu4ynlW1vtfVoxh5+YLV+nutg xyUhVKA8BGG86lnmlFavE1cQsg6XSgUyRNBO4ZmZ0c/Z5F+vvM+Y6Yos3+lZ5cCFkJN59i DFb/O52b13vh7JG+LfhJFxOuqvUIfdtx915kYOf0hi7zaIfFnx9pGsrIpCCTKCu+rfW4IU R9G+SJSfswgM8p4PTKOtYYGYdNcqnB122vxRh4IzL1xsCM/BlOo2im1v4Fs2JxOgooSiEM GOyHZ+ZSgBgilljGBi6iI4puHKcRSLaD8QjhUO02gEdAa+sumbV0ouCTB89/DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731721282; a=rsa-sha256; cv=none; b=nkqZgo8KPiQ3WjT3ok/ictPL+ZOCL5aGR0w6zBBKNT2qIsO5E7kHlfk8277Iy7lKWfdmCP czn/4gWyZqBHucvZbw2A8E+hk5FtG6p+1IrQFy9oBZV+YYJqNnVTUZQJ0vSWJ/MfUmGNMH ThEP2jjO96sSIxdPwFj21W1IFfCylgK9QiX/Joqf4pDJS/vWcG8k9U8C1yxJgPAeX5V+WW qME93aJd4GSe5pyjvrvn3hGwVz4ucFOs6k+qt1K3LfcsUw163FRlESOWhCeML/g/7JSjjX LrAIOJD/TlTUaUAZn0RC3A3gx4oKAgabLJ3Sk+1ke2vi/flY8CXD7EO4X1W1IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqxSL2cFRznNH; Sat, 16 Nov 2024 01:41: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 4AG1fMMv084392; Sat, 16 Nov 2024 01:41:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AG1fMZf084389; Sat, 16 Nov 2024 01:41:22 GMT (envelope-from git) Date: Sat, 16 Nov 2024 01:41:22 GMT Message-Id: <202411160141.4AG1fMZf084389@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: 9d9a14c5b612 - stable/14 - bufwrite(): style List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9d9a14c5b612f6e63781be47a8428556b9fbee30 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9d9a14c5b612f6e63781be47a8428556b9fbee30 commit 9d9a14c5b612f6e63781be47a8428556b9fbee30 Author: Konstantin Belousov AuthorDate: 2024-11-12 06:22:06 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-16 01:07:33 +0000 bufwrite(): style (cherry picked from commit c1d93f81e49c5c32262eefcd087b9c5582e0f83c) --- sys/kern/vfs_bio.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 1b55c523c436..7b483b003cac 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -2299,10 +2299,10 @@ breadn_flags(struct vnode *vp, daddr_t blkno, daddr_t dblkno, int size, int bufwrite(struct buf *bp) { - int oldflags; struct vnode *vp; long space; - int vp_md; + int oldflags, retval; + bool vp_md; CTR3(KTR_BUF, "bufwrite(%p) vp %p flags %X", bp, bp->b_vp, bp->b_flags); if ((bp->b_bufobj->bo_flag & BO_DEAD) != 0) { @@ -2311,24 +2311,21 @@ bufwrite(struct buf *bp) brelse(bp); return (ENXIO); } - if (bp->b_flags & B_INVAL) { + if ((bp->b_flags & B_INVAL) != 0) { brelse(bp); return (0); } - if (bp->b_flags & B_BARRIER) + if ((bp->b_flags & B_BARRIER) != 0) atomic_add_long(&barrierwrites, 1); oldflags = bp->b_flags; - KASSERT(!(bp->b_vflags & BV_BKGRDINPROG), + KASSERT((bp->b_vflags & BV_BKGRDINPROG) == 0, ("FFS background buffer should not get here %p", bp)); vp = bp->b_vp; - if (vp) - vp_md = vp->v_vflag & VV_MD; - else - vp_md = 0; + vp_md = vp != NULL && (vp->v_vflag & VV_MD) != 0; /* * Mark the buffer clean. Increment the bufobj write count @@ -2360,19 +2357,19 @@ bufwrite(struct buf *bp) } #endif /* RACCT */ curthread->td_ru.ru_oublock++; - if (oldflags & B_ASYNC) + if ((oldflags & B_ASYNC) != 0) BUF_KERNPROC(bp); bp->b_iooffset = dbtob(bp->b_blkno); buf_track(bp, __func__); bstrategy(bp); if ((oldflags & B_ASYNC) == 0) { - int rtval = bufwait(bp); + retval = bufwait(bp); brelse(bp); - return (rtval); + return (retval); } else if (space > hirunningspace) { /* - * don't allow the async write to saturate the I/O + * Don't allow the async write to saturate the I/O * system. We will not deadlock here because * we are blocking waiting for I/O that is already in-progress * to complete. We do not block here if it is the update From nobody Sat Nov 16 01:41:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqxSM4lhHz5cbw4; Sat, 16 Nov 2024 01:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqxSM48tPz4HGs; Sat, 16 Nov 2024 01:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731721283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hPntSuPOdmOt7l44SpVSxuKM4akFVSDCvqd6ZDHn4YI=; b=ta0o0nas5nXT47aaM3wRih9Ovjr1yxqzkwNEQSQ+VT7YOZOveCYpKkK+FUwN96ZeKJzd49 elpWo9Wyg3Z7si1LR2pTz4cH6wo6c/rmDWe7Gv4JNPcf8hQFU3PkL0LMeJqhSB/pm0AfZZ jVM5ekmg6dm0ebvlNZduCcMOnaLfKJ4TQpkY/p+s94IvthY/1lE629qiNaJcsdts4lBf/i IyFTCjr+S8/VYm4PLJa6DAy/BGHf60aOJY7XFmkLTRv/RZUYpogbfWAuJzpfKXCpk83ty1 QB/vr2uPoHcr7UZqIKvE3RSjMV7CuhHUqLcQLI1H+nvpcCFqXPc/S71sScAi9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731721283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hPntSuPOdmOt7l44SpVSxuKM4akFVSDCvqd6ZDHn4YI=; b=E2bEDY3NEUoQzYDHOTqDatEUD2M3M0cO+KScc82FuEfpc1ANRapVieDR2Sqajy3xVYWI70 Y33P+lI2twMSQvnFPR8HmghTpyd/1uaO0zKK5nUb5F2hVXCzYLfPKFeNxxGvnDvnxkgIMv 1RPbQh5tOMSRipGvA9zhS6ts+pfG3XdvcR0Lg+/R0ny7Po2UH5lrjOMnB7EBsfkQsh7PcA MRaKuq3wgk+VL6ytslKfc9LHdI0AmlrXETsE9r7FmCakclDKoyYSQRIFJyO2eaCzz90bJM fyJeNu9ew59HjTJsPWWL0o6RmKOUDEy7p1G9+9ZW1R1AMoHS4Nm3ElIpy2nYnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731721283; a=rsa-sha256; cv=none; b=KRduhULiULun98p2mPZ8PMEUtZo5A5YLp5Hadfer0VLPfR7sgvJrZeHWqQBB5ym73XXx9x OBoZlwjuUOPou2C82KZN5BvFZi5LTy6Dt4WEtU0xzja+MHaGx01JtUXTqGKcyl+zgP3NAm vhkwCmStWVyxKU1T8kjy/EQXSX7BxOnRzGRG/5hk/Pw58590yRpKx5RfhLjzQppuuqlniJ MY4uTiHjm2glR9H6uN4OZTJJbFcJnfEEGqldDaifowppxDGJ9z6Rb+1WjP197FxZ9LOp09 tRfHJC9WNkL4pLbLcMctGiz9vby8EX8RSvNcpbYfzeTj0h/HyZMlhCZMBqFm3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqxSM3bY8znKn; Sat, 16 Nov 2024 01:41: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 4AG1fNs4084443; Sat, 16 Nov 2024 01:41:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AG1fNiL084440; Sat, 16 Nov 2024 01:41:23 GMT (envelope-from git) Date: Sat, 16 Nov 2024 01:41:23 GMT Message-Id: <202411160141.4AG1fNiL084440@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: ff7de7aa49fa - stable/14 - bufwrite(): adjust the comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ff7de7aa49fa095ec006c81299845e1bac5d5335 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ff7de7aa49fa095ec006c81299845e1bac5d5335 commit ff7de7aa49fa095ec006c81299845e1bac5d5335 Author: Konstantin Belousov AuthorDate: 2024-11-12 06:24:03 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-16 01:07:33 +0000 bufwrite(): adjust the comment PR: 282449 (cherry picked from commit d0b41249bfbe4481baec8f1659468ffbb30388ab) --- sys/kern/vfs_bio.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 7b483b003cac..c15e2c99fead 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -2370,11 +2370,9 @@ bufwrite(struct buf *bp) } else if (space > hirunningspace) { /* * Don't allow the async write to saturate the I/O - * system. We will not deadlock here because - * we are blocking waiting for I/O that is already in-progress - * to complete. We do not block here if it is the update - * or syncer daemon trying to clean up as that can lead - * to deadlock. + * system. We do not block here if it is the update + * or syncer daemon trying to clean up as that can + * lead to deadlock. */ if ((curthread->td_pflags & TDP_NORUNNINGBUF) == 0 && !vp_md) waitrunningbufspace(); From nobody Sat Nov 16 01:41:24 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XqxSP11spz5cbyy; Sat, 16 Nov 2024 01:41: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqxSN5FTxz4GsY; Sat, 16 Nov 2024 01:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731721284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yP+1e5SnljmWK7kIMNJ5M2/8ZXvHzZyBipzZSlhW3IQ=; b=wIyUZ4QP0RwIT2ZjrdbwyjOHYOvYIQCinZI6d6Iia/mjyC/T/fX0JQmZI73VJ960OazU+3 EAeAZzSragnBcpddZ2OumxNEMeXHw+XbMp7d6o+mtc8xrEneh6gl1KK/QqN41q/piUx/3A smXoIgV4tEr0XIOH7u+Br6PS1h2XppaxSs//jxkWJX0EpKHOhLx9aAvoVFKV2AGiqWcHxZ y9BRnwHH0a+nVXQHyj7UK8Lz/MrgVB0WVNTjKGmVsW2elpUV3Fb7LW9z6rKfYMsl5V/mb8 2K2oYJBznhmVvgxBiIqY+LYUrq4RYSXca09XVyv7X5NtodSbGt/JPU3HJ1926Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731721284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yP+1e5SnljmWK7kIMNJ5M2/8ZXvHzZyBipzZSlhW3IQ=; b=PQigIxl5SKRy1/oxlzYf4sV1gzQcuN4gz276ROHRhkpZ/JYIx7iNSqLDjvdD0e/DF+bzXs 2ezFhA6P0Rh7N5TorxpfBZa0KeXfg/nMXr22N9KLqLIJVIkMatUGUn6CCKz/MrCsDAGspZ Q7Ty/iEXkcNlpf72XBxfS1D1XcxUoqOjl8uDBqx15O5069wqlgbH0iu9fIEX60mOQ9AzqB IeaJzaJ+TGhvK5RWrWLN/wb2h93LKvw/zX4pNzOAP6MTPceLnw8MjygCs5iRjxlBob49Cg pHtST6Skfggv04JPvTV6raOH21n3w1G5pJm1iO17dRkPEJel/efCtxx1NYVncg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731721284; a=rsa-sha256; cv=none; b=lQ06Fly/+skkecm+mHSb0ZqOYxiIzkbEGxe1KXscO6SVhU/n8NEtujvrS0XRUPDY/1JKG1 /ozQsbc9iZCVayMJFkww+BiEAdho010vL26ipciYjiLGjZfBiWs/4b0K5dG4aF+YOYF8MY nsqyXfggAKVVw/Ey6Q9mH1psK2ehLZyZ0ifE6dAXJmXMdHsh+wYEtNiR3BQ9pOZx1yPnip nltZ5Abd3NwBXHEAe/ohDAnZIh8NZ8IQg6r6DMKSKEphWxzDU/HN08FojONWqkin/Ry8PS UmCS0oLePfD5qqESavmqk1TOVzTn0XNXbrxNI2WPtcTsRx0YfdbXtlroWV5S1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XqxSN4SN8znHt; Sat, 16 Nov 2024 01:41: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 4AG1fOY4084506; Sat, 16 Nov 2024 01:41:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AG1fOlF084503; Sat, 16 Nov 2024 01:41:24 GMT (envelope-from git) Date: Sat, 16 Nov 2024 01:41:24 GMT Message-Id: <202411160141.4AG1fOlF084503@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: 9b2226eef29a - stable/14 - SU+J: all writes to SU journal must be exempt from runningbufspace throttling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9b2226eef29aa6ada92203ead672f124b911df5f Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9b2226eef29aa6ada92203ead672f124b911df5f commit 9b2226eef29aa6ada92203ead672f124b911df5f Author: Konstantin Belousov AuthorDate: 2024-11-12 06:29:23 +0000 Commit: Konstantin Belousov CommitDate: 2024-11-16 01:07:33 +0000 SU+J: all writes to SU journal must be exempt from runningbufspace throttling PR: 282449 (cherry picked from commit 46f02c4282ff76b66579c83be53ef441ea522536) --- sys/ufs/ffs/ffs_softdep.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 3729d67d1eb2..fa2b0bf24366 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -3634,6 +3634,7 @@ softdep_process_journal(struct mount *mp, int cnt; int off; int devbsize; + int savef; ump = VFSTOUFS(mp); if (ump->um_softdep == NULL || ump->um_softdep->sd_jblocks == NULL) @@ -3645,6 +3646,8 @@ softdep_process_journal(struct mount *mp, fs = ump->um_fs; jblocks = ump->softdep_jblocks; devbsize = ump->um_devvp->v_bufobj.bo_bsize; + savef = curthread_pflags_set(TDP_NORUNNINGBUF); + /* * We write anywhere between a disk block and fs block. The upper * bound is picked to prevent buffer cache fragmentation and limit @@ -3863,12 +3866,15 @@ softdep_process_journal(struct mount *mp, */ if (flags == 0 && jblocks->jb_suspended) { if (journal_unsuspend(ump)) - return; + goto out; FREE_LOCK(ump); VFS_SYNC(mp, MNT_NOWAIT); ffs_sbupdate(ump, MNT_WAIT, 0); ACQUIRE_LOCK(ump); } + +out: + curthread_pflags_restore(savef); } /* From nobody Sat Nov 16 13:50:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrFf26xPjz5dPfK; Sat, 16 Nov 2024 13:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrFf26V7Sz40cp; Sat, 16 Nov 2024 13:50:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731765050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/H8sTvwGnZy+8YOaHpQWXuV9y4piyQvNhaU2qhGrSwU=; b=deKwBVNT2WziPO08k4piTvgpm5mEFbodKysX0foHnhFAfVuMTKZlDXRx35GgeKp57Y3JV2 fHUCWIPhpA+haJNXjS5+e4AAnxcd3OWtK0atQVfgsF8+xHwmUrIpNkkYMplFpZzCz8fq6W z2LdwdbrJds3f1OExDKiiPO5HyoE1nQ2g/SBsCUoA8oGq80HSKuOhJUHqhZM62jVbuuBJl s8ky4FUpIAmDZgQ51fSgpcU4gHnwzYH5U7DPhnq/tUa7g/HXudjyQBun/y9xQr1NX1IpFs rFb5aarFPOtI+PAoB5j9pDIkfFf5PQrwYxgV/R6TxVuTYbzhCHam6T4PL8p5Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731765050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/H8sTvwGnZy+8YOaHpQWXuV9y4piyQvNhaU2qhGrSwU=; b=czPVC3TcTGGVYdC67TEG1uwEqaZY3fqWXkEDwFbHdep+i2j/xPyqJjwuuyIBcbgQT8NdJO C8clP/+/JUnHX+/gONZ4ACMUkT2eMnO2+Fjv6flpTcVqnzCInilm/UIJ5J24BYUDGwQZbp +WIDgN4I+WBovqfWDeXHEm8GgqTFmZ286F2YVdlYMXUNeTUzL2C2b090qf+peb7ZpY5s+v NjADRyNVPsS3DJR1ZFADgENPTmETLHy+5NUWVg3Z01AQyeOU6BLlrH0a1oFRDh8zdrdyVm eBxHz3dtuB05nkxvzvdSv7OVgPoQ7PIN/wYEGWyK6dPdDDH57oB4DbuueVlrJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731765050; a=rsa-sha256; cv=none; b=ewjcZtX4u85v6TtUlLTsco8creDRFHgPr5/04Q7f7XkGMBeDO2CmoqEZkRklYkpXzJ0SRq 6+Y9tOI+Y7P4sEdQuwCaaCBeBicN6p1JmzvSbeTbeJ6ETRKbIDuiCUUQ9plsJ6e2+E75Mj Mnv7VgALcj41x1UCHY29N036EKWSoK9ED/U8F5IIfL01idaGE/55bMGX+VawfByhbk9LSt 2u/+L5m45yrqb2tbPFHwZrBvZgDeouve8GwVueUQGp6JBqipBGbHeBAvDGnY16b49cxosZ kGoTuKP2QtctgrL3OHYm01x2gle7AnArnAKB16FCKlEzqco/q1dWe2u8nFV4ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrFf21lFHz18Mx; Sat, 16 Nov 2024 13:50: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 4AGDooSx035988; Sat, 16 Nov 2024 13:50:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AGDooXV035985; Sat, 16 Nov 2024 13:50:50 GMT (envelope-from git) Date: Sat, 16 Nov 2024 13:50:50 GMT Message-Id: <202411161350.4AGDooXV035985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 615c9ce250ee - stable/14 - sysctl: Add flags to filter jail prison and vnet variables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 615c9ce250ee7c92edf403350ed6663c3f54a1f2 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=615c9ce250ee7c92edf403350ed6663c3f54a1f2 commit 615c9ce250ee7c92edf403350ed6663c3f54a1f2 Author: Zhenlei Huang AuthorDate: 2024-10-29 11:26:11 +0000 Commit: Zhenlei Huang CommitDate: 2024-11-16 13:49:45 +0000 sysctl: Add flags to filter jail prison and vnet variables So users do not have to contact the source code to tell whether a variable is a jail prison / vnet one or not. Reviewed by: cy (previous version), markj, jamie (for #jails) MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D47107 (cherry picked from commit 5ec83c660acaf30c1d6b9417dbd8c80dfa9d56ac) --- sbin/sysctl/sysctl.8 | 9 +++++++-- sbin/sysctl/sysctl.c | 18 ++++++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/sbin/sysctl/sysctl.8 b/sbin/sysctl/sysctl.8 index 70115fa54318..fadc162b80c6 100644 --- a/sbin/sysctl/sysctl.8 +++ b/sbin/sysctl/sysctl.8 @@ -30,7 +30,7 @@ .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 .\" -.Dd August 18, 2023 +.Dd October 29, 2024 .Dt SYSCTL 8 .Os .Sh NAME @@ -113,6 +113,8 @@ The purpose is to make use of .Nm for collecting data from a variety of machines (not all of which are necessarily running exactly the same software) easier. +.It Fl J +Display only jail prision sysctl variables (CTLFLAG_PRISON). .It Fl l Show the length of variables along with their values. This option cannot be combined with the @@ -155,6 +157,8 @@ to standard error. Display only variables that are settable via loader (CTLFLAG_TUN). .It Fl t Print the type of the variable. +.It Fl V +Display only VNET sysctl variables (CTLFLAG_VNET). .It Fl W Display only writable variables that are not statistical. Useful for determining the set of runtime tunable sysctls. @@ -327,7 +331,8 @@ option has been deprecated and is silently ignored. .Xr loader.conf 5 , .Xr sysctl.conf 5 , .Xr security 7 , -.Xr loader 8 +.Xr loader 8 , +.Xr jail 8 .Sh HISTORY A .Nm diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c index df388e41c560..8ec9089bd2cf 100644 --- a/sbin/sysctl/sysctl.c +++ b/sbin/sysctl/sysctl.c @@ -64,7 +64,7 @@ static const char *conffile; static int aflag, bflag, Bflag, dflag, eflag, hflag, iflag; static int Nflag, nflag, oflag, qflag, tflag, Tflag, Wflag, xflag; -static bool Fflag, lflag; +static bool Fflag, Jflag, lflag, Vflag; static int oidfmt(int *, int, char *, u_int *); static int parsefile(const char *); @@ -137,7 +137,7 @@ main(int argc, char **argv) setbuf(stdout,0); setbuf(stderr,0); - while ((ch = getopt(argc, argv, "AabB:def:FhilNnoqtTwWxX")) != -1) { + while ((ch = getopt(argc, argv, "AabB:def:FhiJlNnoqtTVwWxX")) != -1) { switch (ch) { case 'A': /* compatibility */ @@ -170,6 +170,9 @@ main(int argc, char **argv) case 'i': iflag = 1; break; + case 'J': + Jflag = true; + break; case 'l': lflag = true; break; @@ -191,6 +194,9 @@ main(int argc, char **argv) case 'T': Tflag = 1; break; + case 'V': + Vflag = true; + break; case 'w': /* compatibility */ /* ignored */ @@ -1049,10 +1055,18 @@ show_var(int *oid, int nlen, bool honor_skip) if (Wflag && ((kind & CTLFLAG_WR) == 0 || (kind & CTLFLAG_STATS) != 0)) return (1); + /* if Jflag then only list sysctls that are prison variables. */ + if (Jflag && (kind & CTLFLAG_PRISON) == 0) + return (1); + /* if Tflag then only list sysctls that are tuneables. */ if (Tflag && (kind & CTLFLAG_TUN) == 0) return (1); + /* if Vflag then only list sysctls that are vnet variables. */ + if (Vflag && (kind & CTLFLAG_VNET) == 0) + return (1); + if (Nflag) { printf("%s", name); return (0); From nobody Sat Nov 16 13:50:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrFf35vK5z5dPx2; Sat, 16 Nov 2024 13:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrFf33Kh4z40Zf; Sat, 16 Nov 2024 13:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731765051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a+6Lb9RfHmqCWKjylI6Ujpxgn8Sx71Lsoyulr+iPlqs=; b=gX8htvPKpQ7jZcFHX/x395N5naAj+GyLITTN68SipEzDAKqzEepjsPrVGom49inn8/Kc8q st+kGVvxRRkFh8TfnzYLsg/+ck8/3GLl8iHxXn8/wHH+Ykh2LTZZ0LJCyEON5kl4lhrKGS 1IWU74SCT0OyyYGc6u4md7I+8CjaOAs7srczDj4D0L4vjn5c4J6/5oGilNNhsVpr1jtYDn lDJ/oK8JqTPoTa7LBKR8lXzoWS5jT9wrr3vUjG08n2ffyfUB0QCrf+vDgZ2rjPEQZ7z8zY cZJzL8VH/r6NxSEqMenD/0Hcm/7Avr6E4eqhi/FONmThm5wKxmD5cSIrB6CSog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731765051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a+6Lb9RfHmqCWKjylI6Ujpxgn8Sx71Lsoyulr+iPlqs=; b=jq6IwQLbfEQeZVTSOAUZbU2X/thWLE/g3D1I4mUi3ZiWLI6ZRYbRPlI1ulhy34H9yGPh02 DIf3B4O0d8A39+X0VweuSOmmUoLGReGDzRcEBnXVXRPWRf/DxlPTwzI8REu1f9B04pwDtm uzcGAtJ9CzYl/sESX8g1z5aDkVuHb5BlCtfb9dK12EmZeTEAXgx0iJMqL13wlCLQhtapIK WdDtyKSLCNr3orP78eD7ZwWrBSF1+fZCdaYr7QXFpyAafaQEJ/9Aa/QgTEZP/VFpaWtL4w TjRIqqginCcQpPue3hqNxNblnFdhPJ3buT2U7BP4EBEq+6UgXYSwaKuWCA4ryg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731765051; a=rsa-sha256; cv=none; b=YjmlGW8yLs0x4Gr8jBD9CtL+lYSDdf8aTMpoZHOmaXaqPqWyJjYXZf+AwykyMlRBcUV38F TL91eOrX3kbARSIxQvXF9UWC/OLeDSKGRQAsldhQ6uK2I3eKKzWHwruKxzoY7ZbY1TE9Pa y/29NwYIn9BMfIXYca4y6I/0mxPIO2JAQuUUtYssDGA0J2FUfsDjRQaVsFKsF4Zs9vWQ6f 7fIpl+7nEONavMShnDfl4VaeMdMWpIz20t98adLoeq7ZHAcZ9cwbaQoHdNfUE4CJzt6XU4 BRvU4onupdDuW8emeCM/9P6eskfvDFWRp+qdnqSpttMvJnzrHwDi5NnaQXsYKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrFf32R1Jz18N0; Sat, 16 Nov 2024 13:50: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 4AGDopeb036032; Sat, 16 Nov 2024 13:50:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AGDopDX036029; Sat, 16 Nov 2024 13:50:51 GMT (envelope-from git) Date: Sat, 16 Nov 2024 13:50:51 GMT Message-Id: <202411161350.4AGDopDX036029@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 834d633498bc - stable/14 - ifnet(9): Document the IFF_PALLMULTI flag List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 834d633498bc5f9ceb7b370391e720afa51353aa Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=834d633498bc5f9ceb7b370391e720afa51353aa commit 834d633498bc5f9ceb7b370391e720afa51353aa Author: Zhenlei Huang AuthorDate: 2024-11-12 14:47:45 +0000 Commit: Zhenlei Huang CommitDate: 2024-11-16 13:49:45 +0000 ifnet(9): Document the IFF_PALLMULTI flag It was introduced by the recent commit [1]. 1. 58f194223ab8 ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl() Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47511 (cherry picked from commit f9f470f72c8718c3503874791d593997c3d751b4) --- share/man/man9/ifnet.9 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9 index 41cbfd8dad42..69804a754b3a 100644 --- a/share/man/man9/ifnet.9 +++ b/share/man/man9/ifnet.9 @@ -26,7 +26,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 24, 2022 +.Dd Nov 12, 2024 .Dt IFNET 9 .Os .Sh NAME @@ -608,6 +608,10 @@ This interface is in the permanently promiscuous mode (implies .It Dv IFF_ALLMULTI .Aq D* This interface is in all-multicasts mode (used by multicast routers). +.It Dv IFF_PALLMULTI +.Aq D +This interface is in the permanently all-multicasts mode (implies +.Dv IFF_ALLMULTI) . .It Dv IFF_DRV_OACTIVE .Aq D* The interface's hardware output queue (if any) is full; output packets From nobody Sat Nov 16 15:00:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrHBG1Lsbz5dSsd; Sat, 16 Nov 2024 15:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrHBG0lHYz453L; Sat, 16 Nov 2024 15:00:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731769222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xhfPI8lIiJOuRSsCjswZKP7irJJJcAjLh4gXZC/DWiY=; b=xL0ZJ3h2Q2R4JLMA15ERfbj0mCABRg60cT30Be0ggPuMgpQw5m+Wu2J2OUUnJayra5jV65 wcF7fwmu6bEtSTkbXpCUs5JFoxa7bWiyAllQC1ELcPASnsSBytl1PZI2fXSAULNnMyLjJh jxlDfkIwPDFOkXytXAmLJPm97vvg57fe239VXEkwmCbH808doPic2LNVtwQ74ggmyjVeuZ VCCJivengZ6CWwKzIjWZeRQWTjP7Yhfnxhdb6qrO3hVI87HZvuJlGyr6HkE/nszx2R2ptv W3e4h8WNBmqZbYE4q5i/a9fzkewv9E3iB4vu5YuHeLGoyqrxk02rALmPgVY06w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731769222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xhfPI8lIiJOuRSsCjswZKP7irJJJcAjLh4gXZC/DWiY=; b=lCo6Htgghl4j8PCnqZKrgi2rQ1eGVngCG2+/HLPldf0MaPGcJRHLDSsWG73qvhuZgYgFvP 6jNf/wHvT7tYROyX35pUCcQyOX4HRqbE6Kv9jGDriLKXHNMOeIxu0e7ZjZHAhdRohg3gKD LcWddoU2ESBAVOOOr5PQQ6e0zosVDkWcndf3vCQ9nUhHyfXVNFTMzbSNiJjP2WXaYJeoSP SLAmint1peTSAFYm20qmcxC9jeYcOYlfzG+TX5BIokG4kKdWRFXqupAkk33FuSsfEvhal8 MGd+t7xPGTntOBKb/8fUV8goSMevJRwwmf/MQBJ02D2FrnuotVZi/6wx834xUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731769222; a=rsa-sha256; cv=none; b=gPlMulsnNAoY+v/K8DbIGYagSBbDTEKs6HvK6JfGwLaIA9ytdDGAMyTVVGiRDhvNJvL9Gk 0VWosniR54twOhFaR3+m116JZSKmSQav/7CEQWKXMBDDvflDuvgnHMW5uG3BOjkU6xRHzm l2LdARBQ6n2moet9uS8omDFYpcxQe6YsLvvwb7HClipX65MyM58qCYR4xA35YigdamO0tA UsMaryDVSifSh980Y3hv+uQy6pV90GWMGHQYtBU4r5WuMNVUdcOcYgRg69NTrV7+Eh91Bb spq0vNDJneaFuAkTuSQu3MOJ9py2A0eZ7H9pmkqFwe2FITuGIUDrkwrLRJoA1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrHBG0Gq7z1BCY; Sat, 16 Nov 2024 15:00: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 4AGF0Ldo065468; Sat, 16 Nov 2024 15:00:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AGF0Lg5065465; Sat, 16 Nov 2024 15:00:21 GMT (envelope-from git) Date: Sat, 16 Nov 2024 15:00:21 GMT Message-Id: <202411161500.4AGF0Lg5065465@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 54efa38e2551 - stable/14 - build: Note paths that must be absolute List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 54efa38e255184f7f7862294666b017acb093a08 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=54efa38e255184f7f7862294666b017acb093a08 commit 54efa38e255184f7f7862294666b017acb093a08 Author: Ed Maste AuthorDate: 2024-11-13 15:13:51 +0000 Commit: Ed Maste CommitDate: 2024-11-16 14:59:22 +0000 build: Note paths that must be absolute PR: 282711 PR: 282737 Sponsored by: The FreeBSD Foundation (cherry picked from commit 75af1320f4b57fb568ec4f6df6171a0343953f4f) (cherry picked from commit 02dc158215a69c6439e5a0809e5f9c79e62c5fd1) --- share/man/man7/build.7 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 427f01e1223d..4bff6164dd56 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 4, 2024 +.Dd November 13, 2024 .Dt BUILD 7 .Os .Sh NAME @@ -500,6 +500,9 @@ The directory hierarchy prefix where built objects will be installed. If not set, .Va DESTDIR defaults to the empty string. +If set, +.Va DESTDIR +must specify an absolute path. .It Va MAKEOBJDIRPREFIX Defines the prefix for directory names in the tree of built objects. Defaults to @@ -512,6 +515,8 @@ and not via or .Pa /etc/src.conf or the command line. +.Va MAKEOBJDIRPREFIX +must specify an absolute path. .It Va WITHOUT_WERROR If defined, compiler warnings will not cause the build to halt, even if the makefile says otherwise. From nobody Sat Nov 16 15:00:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrHBJ6P3kz5dSXc; Sat, 16 Nov 2024 15:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrHBJ2hG3z4511; Sat, 16 Nov 2024 15:00:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731769224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OAvYzmgfhu/k2yBFqzAVLR7UdlXzSFdTm3Erod4FBzk=; b=bZ/i5jY6x/J8Gog2Ri0PBmGMQQla12c3sAU57xeL8ojcd6mtlEn+CF4CeWVz45ftDRxkc/ d/EZP/l9d9rjTTIj/3El+bsbFNC14wpZV8B5edMJpYBn1N4ktTeKFPGphQStRUxE0bzTOU kakqqW6sygGLhxcjAaZ2KyP96uEXY2e6uaZDBR4plvUO3XMM1Wk2M4a87yAnTMMEMbBGUU c6NfpPYWhec3vePdqJakmue8svZH7Sy+V9WwOlTPzgH4PmU//VpZ3x7IGj6Jx4Po4X15TT BLvvkgP4yFGrfHFYN3ozk7SOFV6n6fezPhI8i1fHW8DG8LV5+X/ehcVj/AbHRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731769224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OAvYzmgfhu/k2yBFqzAVLR7UdlXzSFdTm3Erod4FBzk=; b=urAK6Rpa74PXFurQplR3VvcL1rJ9A2kHB9b/VLLNyMEoCqCyse4UAFP1puckcwTjxGfVGr DWzdkYnov9T2VtH7JOXFQyVsiEAuJXxxrDmjPmc7cMz7VspmCyviXcs9pg3nrH6d0a/H52 IrgW1csE+JofVEVFvpxq75bVvoD25R+8RHEr9CTZ1dZtp88d/nKWaChxdz7CziRMYyR5H5 aZ1x4H9H6NRVul1/VNPdPlyv1z9Fr9vFciVkp1pCIppFKx0mSnSV6AfQryt/iw9cQJ3/PC ORDNel//Q7QuSOu0HqxWX0vttInNw/X5opX+P40xoQFEpH5CtYtHmSUdADA1aA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731769224; a=rsa-sha256; cv=none; b=iQ1TlKSyc3yxkvKwiiZdTid434RKSi+jkYRfYxHTjl6Vi801EZ77A4q/nu9krEjW3Ffl4/ UbEZdf1AM8GgqPwl8N9W8hESl/Yyz5oQbzhHcJGD+IB+U43rY2FOl0fN7DuimkGXnToiAQ aVN90ltSEZPixzTlYhAnkTgLMzcFghUBB3N0JamxGctOr+vrdnLYF5VgsMWzZZCZvZ8G/o dKNdlo4wEK7OHICALGo4KcKHDbzHxxRxdVRXI7HxYMSGinOJn6UAc4JMkPrEEOA5P/AFkI uPZZVN4ZxlSUZJ5mKvsIQ2FFhpO6A8RWfEuizPXcwLs0AG9XjJoChFeWHtWRFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrHBH1z7sz1BG1; Sat, 16 Nov 2024 15:00: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 4AGF0NmO065517; Sat, 16 Nov 2024 15:00:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AGF0Ng0065514; Sat, 16 Nov 2024 15:00:23 GMT (envelope-from git) Date: Sat, 16 Nov 2024 15:00:23 GMT Message-Id: <202411161500.4AGF0Ng0065514@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: df1b835333ff - stable/14 - g_eli: update comment for bool return type List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: df1b835333ff520aaad0d5458a2a951c6b3a90ee Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=df1b835333ff520aaad0d5458a2a951c6b3a90ee commit df1b835333ff520aaad0d5458a2a951c6b3a90ee Author: Ed Maste AuthorDate: 2024-11-13 20:07:32 +0000 Commit: Ed Maste CommitDate: 2024-11-16 14:59:52 +0000 g_eli: update comment for bool return type Fixes: 68eadcec0f7c8 ("Give a couple of predication functions a bool return type.") Sponsored by: The FreeBSD Foundation (cherry picked from commit 01e186731a141d106ff5bee5a41412e7e2582a78) --- sys/geom/mirror/g_mirror.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index c6f95f28ba89..19370f1a1f5e 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -1223,7 +1223,7 @@ g_mirror_start(struct bio *bp) } /* - * Return TRUE if the given request is colliding with a in-progress + * Return true if the given request is colliding with a in-progress * synchronization request. */ static bool @@ -1255,7 +1255,7 @@ g_mirror_sync_collision(struct g_mirror_softc *sc, struct bio *bp) } /* - * Return TRUE if the given sync request is colliding with a in-progress regular + * Return true if the given sync request is colliding with a in-progress regular * request. */ static bool From nobody Sat Nov 16 15:01:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrHD25hrjz5dT6K; Sat, 16 Nov 2024 15:01: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrHD251GLz467V; Sat, 16 Nov 2024 15:01:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731769314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+o2TUXyI2YRqupQ2V9tqZ+zWfAwZCt0hMfX/KGurEM=; b=FLsaWM092HKIq5S93BncuwAB4leLtsw+FYYJEpPV83F19srv/yXvjLhdQB4nK7Fam7vg98 vOAN7ZaSFLSKan74tqkDHFyQF04t4cCK5SRunqwNbUkExBTL57kTMQV8agHR5k9UEO6kKn 5hubaEawv3unOeFBIX1gMVlr4Yo88/dEGHKicqjzu0ZYgBxfhXZXDMY2lpdbJD3E5A7sfb kuCFsecJdCshvtUUOMSM8hfdxKn9Jilz5Df2fcbse0me9espIb1yuT5211hAdly1Rme2Lo tdVCMBztsYdpcuEytVkOnrcBHDXF9J+3s/vRSSpZsWNT+1lMAfJchX3Dp1JMbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731769314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+o2TUXyI2YRqupQ2V9tqZ+zWfAwZCt0hMfX/KGurEM=; b=sVXTxohMUB+1+igiOmgYr6p2S9pvviBNHlIa+7mDzVA2pETE0FDzVy0fstRBS4dPVC4yof +zDmggXXDwSYWR6SytFUvgmacWuheMG6Wc3qcKlWbj3dA/3IECKigMPAuRw2K4OJwpPk2X KZ1v1tfZHKp8hKS2hlz1yYFIbhWCe4DVjPnuaCgSD/zTsUgYEq6FTVLCWSpLT/3QDyi9pv Su7UU2XBOShYHmFhpYzw4/86Ahu5XeE6ZTSSfXZGLYE+MLfuwvqSsUQSobz2hl+axLZ0Ze CN2zR2fqdOs3lDkYrzjoQenoJlk6SZRGzYp4gVy4SKqPl5Cp8nVLokag51KJpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731769314; a=rsa-sha256; cv=none; b=yFo87Ih7G+q9znVtSn77d6m4S57eWMlvWUCRd+Yx8foPcJmr/d36tWuRHDDpe3tIn+DBky nuvJvzotPTYylv9RweKq4GvvC8Di8CGXegXFeIXIej5z0Ln6euDZ1N8JrVvuR3wKP35Wnb gFIBlwMU58NZ49F/BuRVvhQ6Q/uCGh46fMcWvm2/8etaamMJ+QIeKmXHAMgX83NKnyGOUT TsNqjZvE97poYSGmCh/cnve0Z+YLp2aCTII7j78ubF+8GOdHBSK47ifYRgzQ21jee+hJCi BMau4yauUONc3NlIaNOsFufX4isCdz45Nfkk4CVfpcoMo1+pQwKmKbDlP6hjuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrHD24Y7wz19tP; Sat, 16 Nov 2024 15:01: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 4AGF1sI1072896; Sat, 16 Nov 2024 15:01:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AGF1sKY072893; Sat, 16 Nov 2024 15:01:54 GMT (envelope-from git) Date: Sat, 16 Nov 2024 15:01:54 GMT Message-Id: <202411161501.4AGF1sKY072893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 3c113ee25c20 - stable/13 - build: Note paths that must be absolute List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3c113ee25c20bdfc66d310e17451d17f4c1ddb92 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3c113ee25c20bdfc66d310e17451d17f4c1ddb92 commit 3c113ee25c20bdfc66d310e17451d17f4c1ddb92 Author: Ed Maste AuthorDate: 2024-11-13 15:13:51 +0000 Commit: Ed Maste CommitDate: 2024-11-16 15:01:41 +0000 build: Note paths that must be absolute PR: 282711 PR: 282737 Sponsored by: The FreeBSD Foundation (cherry picked from commit 75af1320f4b57fb568ec4f6df6171a0343953f4f) (cherry picked from commit 02dc158215a69c6439e5a0809e5f9c79e62c5fd1) (cherry picked from commit 54efa38e255184f7f7862294666b017acb093a08) --- share/man/man7/build.7 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 05a82bafbc7e..c6b2f6fd6804 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 10, 2021 +.Dd November 13, 2024 .Dt BUILD 7 .Os .Sh NAME @@ -480,6 +480,9 @@ The directory hierarchy prefix where built objects will be installed. If not set, .Va DESTDIR defaults to the empty string. +If set, +.Va DESTDIR +must specify an absolute path. .It Va MAKEOBJDIRPREFIX Defines the prefix for directory names in the tree of built objects. Defaults to @@ -492,6 +495,8 @@ and not via or .Pa /etc/src.conf or the command line. +.Va MAKEOBJDIRPREFIX +must specify an absolute path. .It Va WITHOUT_WERROR If defined, compiler warnings will not cause the build to halt, even if the makefile says otherwise. From nobody Sun Nov 17 16:00:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrwT955bLz5d4R6; Sun, 17 Nov 2024 16:00: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrwT94ZHBz4WwH; Sun, 17 Nov 2024 16:00:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731859229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uaIo9aVexjzT7o3UOW+q4d7L6nMIRZut39cmqXZ7HPM=; b=yFvp4Q/PMHlpKOgof6z+TqtQIh3etSj/ABiPOpKGkFtUaki00swA5PjAXPMLhKCIC5QZkZ o6c5TfbHycsatZoL9ZYpBE2A9fU7fD4rPZgNBnxoQ1WLbecXHklid8hIyhGpIqicVOoIjv 2mOSep8+ZFXzCvgJ6rcoXEBnxWsJPUSoq1TpdQph6V2k4FoDGH08Uibic1/jpf8Ct11tEG /4vSpwhRswcxFfrppbi3cfQSLokoDMwJR0vCixXIZ02KU6moApfoKzdfnZ4X75Lmda98AR bi5/rYDCPx3CZN4yrrJa87PlFl5FOBMDnh3fCyl89nTweBsFd+nkTgk85b6ENA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731859229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uaIo9aVexjzT7o3UOW+q4d7L6nMIRZut39cmqXZ7HPM=; b=V8vnDSTs9gPCmM8koko+Ov4q/8FwVwngp/5zhVc6GQkFzd/GGn0nMR1dEh8CcOzmO4hLBM ge5vDc7d7722bcsrHcZTvOFycUcNi+xL3jMHJFeeKEqrMqH6y0iFnYwujlmS4rlvfJkNF6 QifAIrk899Jpmdf8Am1KgBnwEMMZ+wqKpXdtwuIMgvmJPMduwbVkAnaOb/Rs+fGlMotvEj 2YUQmIuQCFR0Rd36UwbZqRpxqHZ1gsDGRX8E9XyRz6wtJb0SGetc7USqgJGqgN2X48lA+1 I/WtJElZ0t5cFAzPQMetegGUIJsWF/VJDgkBOfeivRkPR/SDb1epsMS708veCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731859229; a=rsa-sha256; cv=none; b=tlgNlhkooKRY5wHVwVFsU+g54INR/U/ha/msBE5dxcRkor9FRzQyQA19SpVJsZH8jJcboN 35t6/lNSeytuYd0pVTDOsmmKlE6WLPYGzMeDX8UvZlsyaNHz200BK4RajRaxCD9BJeUtyh Rk7gxrR94TMis9HWkluqo0GTX2wYEOh3JYYSyKH6wGwAL/vvWw8nvwlVqZGOgHg568lCRP s56/2hOSlcz4DcCSfMongdJ91msfVSSvHJBPnun7XWUYePQoN3RqFXuus5DIqxq3hW0WGx jp6lMYK+sdN8M7MQCR8JBjUyoFhzIkhVPzc1wxgU2Xit9qWIq3Kz7+k03uLWnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrwT949ZVzxxX; Sun, 17 Nov 2024 16:00: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 4AHG0TAg047818; Sun, 17 Nov 2024 16:00:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AHG0TOa047815; Sun, 17 Nov 2024 16:00:29 GMT (envelope-from git) Date: Sun, 17 Nov 2024 16:00:29 GMT Message-Id: <202411171600.4AHG0TOa047815@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Hajimu UMEMOTO Subject: git: 47db906375b5 - stable/14 - usb: Add support for Brainboxes USB-to-Serial adapters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ume X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 47db906375b5c58a213bcb1759375bea5aee1e5d Auto-Submitted: auto-generated The branch stable/14 has been updated by ume: URL: https://cgit.FreeBSD.org/src/commit/?id=47db906375b5c58a213bcb1759375bea5aee1e5d commit 47db906375b5c58a213bcb1759375bea5aee1e5d Author: Hajimu UMEMOTO AuthorDate: 2024-11-11 12:14:05 +0000 Commit: Hajimu UMEMOTO CommitDate: 2024-11-17 05:17:55 +0000 usb: Add support for Brainboxes USB-to-Serial adapters PR: 277482 Reported by: Cameron Williams (cherry picked from commit 8eaeaf5c467866cf72701cdc34f7ab2ee3c2f123) --- sys/dev/usb/serial/uftdi.c | 18 ++++++++++++++++++ sys/dev/usb/usbdevs | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/sys/dev/usb/serial/uftdi.c b/sys/dev/usb/serial/uftdi.c index 458c6a740f7c..3b0400d9b353 100644 --- a/sys/dev/usb/serial/uftdi.c +++ b/sys/dev/usb/serial/uftdi.c @@ -289,8 +289,26 @@ static const STRUCT_USB_HOST_ID uftdi_devs[] = { UFTDI_DEV(BBELECTRONICS, USPTL4, 0), UFTDI_DEV(BBELECTRONICS, USTL4, 0), UFTDI_DEV(BBELECTRONICS, ZZ_PROG1_USB, 0), + UFTDI_DEV(BRAINBOXES, US101, 0), + UFTDI_DEV(BRAINBOXES, US159, 0), + UFTDI_DEV(BRAINBOXES, US235, 0), UFTDI_DEV(BRAINBOXES, US257, 0), UFTDI_DEV(BRAINBOXES, US25701, 0), + UFTDI_DEV(BRAINBOXES, US279_12, 0), + UFTDI_DEV(BRAINBOXES, US279_34, 0), + UFTDI_DEV(BRAINBOXES, US279_56, 0), + UFTDI_DEV(BRAINBOXES, US279_78, 0), + UFTDI_DEV(BRAINBOXES, US313, 0), + UFTDI_DEV(BRAINBOXES, US320, 0), + UFTDI_DEV(BRAINBOXES, US324, 0), + UFTDI_DEV(BRAINBOXES, US346_12, 0), + UFTDI_DEV(BRAINBOXES, US346_34, 0), + UFTDI_DEV(BRAINBOXES, US701_12, 0), + UFTDI_DEV(BRAINBOXES, US701_34, 0), + UFTDI_DEV(BRAINBOXES, US842_12, 0), + UFTDI_DEV(BRAINBOXES, US842_34, 0), + UFTDI_DEV(BRAINBOXES, US842_56, 0), + UFTDI_DEV(BRAINBOXES, US842_78, 0), UFTDI_DEV(CONTEC, COM1USBH, 0), UFTDI_DEV(DRESDENELEKTRONIK, SENSORTERMINALBOARD, 0), UFTDI_DEV(DRESDENELEKTRONIK, WIRELESSHANDHELDTERMINAL, 0), diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 66695c195492..18176fa516a9 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -1420,8 +1420,26 @@ product BILLIONTON USBE100 0x8511 USBE100 product BILLIONTON USB2AR 0x90ff USB2AR Ethernet /* Brainboxes Limited products */ +product BRAINBOXES US101 0x1011 US-101 USB2Serial 1xRS232 +product BRAINBOXES US159 0x1021 US-159 USB2Serial 1xRS232 +product BRAINBOXES US235 0x1017 US-235 USB2Serial 1xRS232 product BRAINBOXES US257 0x5001 US-257 USB2Serial 2xRS232 product BRAINBOXES US25701 0x5002 US-25701 USB2Serial 2xRS232 +product BRAINBOXES US279_12 0x2021 US-279 USB2Serial 8xRS232 (Port 1 and 2) +product BRAINBOXES US279_34 0x2022 US-279 USB2Serial 8xRS232 (Port 3 and 4) +product BRAINBOXES US279_56 0x2023 US-279 USB2Serial 8xRS232 (Port 5 and 6) +product BRAINBOXES US279_78 0x2024 US-279 USB2Serial 8xRS232 (Port 7 and 8) +product BRAINBOXES US313 0x6001 US-313 USB2Serial 2xRS422/485 +product BRAINBOXES US320 0x1019 US-320 USB2Serial 1xRS422/485 +product BRAINBOXES US324 0x1013 US-324 USB2Serial 1xRS422/485 +product BRAINBOXES US346_12 0x3011 US-346 USB2Serial 4xRS422/485 (Port 1 and 2) +product BRAINBOXES US346_34 0x3012 US-346 USB2Serial 4xRS422/485 (Port 3 and 4) +product BRAINBOXES US701_12 0x2011 US-701 USB2Serial 4xRS232 (Port 1 and 2) +product BRAINBOXES US701_34 0x2012 US-701 USB2Serial 4xRS232 (Port 3 and 4) +product BRAINBOXES US842_12 0x8001 US-842 USB2Serial 8xRS-422/485 (Port 1 and 2) +product BRAINBOXES US842_34 0x8002 US-842 USB2Serial 8xRS-422/485 (Port 3 and 4) +product BRAINBOXES US842_56 0x8003 US-842 USB2Serial 8xRS-422/485 (Port 5 and 6) +product BRAINBOXES US842_78 0x8004 US-842 USB2Serial 8xRS-422/485 (Port 7 and 8) /* Broadcom products */ product BROADCOM BCM2033 0x2033 BCM2033 Bluetooth USB dongle From nobody Sun Nov 17 16:00:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XrwTf5QBPz5d4Wd; Sun, 17 Nov 2024 16:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XrwTf4mz5z4WpT; Sun, 17 Nov 2024 16:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731859254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CXzQdZ+xlWIhGzw20GG1PvT8C9txGX31ywDRZ3GtKF4=; b=psYS07Zvw4yPDkJJIF+sc5Flczcz69ILBpFsSAeVhz50mGDo9gqEAMmzlFyT/dJV+2KWGb KzSc1YYUAiVTRYW9LMGIpkbR0OEXxqOvAwhXdzz+9gDdI0jYyr7vrswYW/boIKG8jhAm3F wylaobosgywhSFHYxiF8LOiO3+FxIaqNQ4w8WroKeJW2eeDuqLBa7FgWc/NXDQTFi+XQCc jKo2/sS3a4gT2iVYrxCK2EAot55P+rPwTk1TXNlil9S0t1Q1u0GpRfYl2RhugylQZZ0BUY fh9sUzREt2cwmvv3Kq2CwgxHNWzL6P6f7ohTJHgo30inonlgf0tRpBOrAnJqRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731859254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CXzQdZ+xlWIhGzw20GG1PvT8C9txGX31ywDRZ3GtKF4=; b=RpeHeTBgj5tpH5tCA6gyBLuwg77LIECB8ZUD5m8VSMWiFPp79LZhmWSbk2oxuexQFOQL4l YlCoTqGbCZWXPJQO6vMOZyYX8o856hU6EbT2fF5Uma2Jn4rGH/wZSEabxU6bUrJKAPy5+/ GSdl6TdHUTU7F4cGPtbUWVW2w0m/gXsaHshTsUACzjsbMPAGRQWwlHpZU2Z6MyS3azJmBk KhcfQdEt8PfhFNKfl7r1IciG/zlmPVCwOZErwUocxM04SP3qAJNmy7ercKwgrAuofZyziP G1gBJ4PT/A+hq82oUDCo84UYHPRTHSZu1ha9yhN1ZRhQokIv2TPQemxLl2P8Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731859254; a=rsa-sha256; cv=none; b=XBF+DXUtgiUH1urbCjfhCVtWrfvj/HQCF6R7IQI+f+G6JQY52O7EhXrVkZh0RGXg0RZPxS PG6fNssdUEJ1lsFfR5x4Upox/cDIVDMIihtBHX/3DgPv4T1IcK9KwgAybmlfuknuitsIWE BkgntQyNBmXYfUJSq+dvA+7Gh7o/4kxyX9hmK+Ko0gXrVHqDeTkmBY4ah7/EEUDZVE9vUU xx0ALP7uWqsWuQVpv63VX+41kJXLNK1YMvgSeINZ/JiLv3huydO94l5cI2WeEjJIxRi1Ad BJIDE99iZ+A5o9mZMI2uUvx3Soiq/YJHs4QsyyrEXUxWFt/xhAB/2uygx0fmDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XrwTf4NKnzxxd; Sun, 17 Nov 2024 16:00: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 4AHG0sgU052470; Sun, 17 Nov 2024 16:00:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4AHG0svI052467; Sun, 17 Nov 2024 16:00:54 GMT (envelope-from git) Date: Sun, 17 Nov 2024 16:00:54 GMT Message-Id: <202411171600.4AHG0svI052467@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Hajimu UMEMOTO Subject: git: c3a377dbbb87 - stable/13 - usb: Add support for Brainboxes USB-to-Serial adapters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ume X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c3a377dbbb87413eda18b8581126c215efc931f1 Auto-Submitted: auto-generated The branch stable/13 has been updated by ume: URL: https://cgit.FreeBSD.org/src/commit/?id=c3a377dbbb87413eda18b8581126c215efc931f1 commit c3a377dbbb87413eda18b8581126c215efc931f1 Author: Hajimu UMEMOTO AuthorDate: 2024-11-11 12:14:05 +0000 Commit: Hajimu UMEMOTO CommitDate: 2024-11-17 09:59:26 +0000 usb: Add support for Brainboxes USB-to-Serial adapters PR: 277482 Reported by: Cameron Williams (cherry picked from commit 8eaeaf5c467866cf72701cdc34f7ab2ee3c2f123) --- sys/dev/usb/serial/uftdi.c | 18 ++++++++++++++++++ sys/dev/usb/usbdevs | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/sys/dev/usb/serial/uftdi.c b/sys/dev/usb/serial/uftdi.c index 0a8d27c9e9c3..365e57692b71 100644 --- a/sys/dev/usb/serial/uftdi.c +++ b/sys/dev/usb/serial/uftdi.c @@ -291,8 +291,26 @@ static const STRUCT_USB_HOST_ID uftdi_devs[] = { UFTDI_DEV(BBELECTRONICS, USPTL4, 0), UFTDI_DEV(BBELECTRONICS, USTL4, 0), UFTDI_DEV(BBELECTRONICS, ZZ_PROG1_USB, 0), + UFTDI_DEV(BRAINBOXES, US101, 0), + UFTDI_DEV(BRAINBOXES, US159, 0), + UFTDI_DEV(BRAINBOXES, US235, 0), UFTDI_DEV(BRAINBOXES, US257, 0), UFTDI_DEV(BRAINBOXES, US25701, 0), + UFTDI_DEV(BRAINBOXES, US279_12, 0), + UFTDI_DEV(BRAINBOXES, US279_34, 0), + UFTDI_DEV(BRAINBOXES, US279_56, 0), + UFTDI_DEV(BRAINBOXES, US279_78, 0), + UFTDI_DEV(BRAINBOXES, US313, 0), + UFTDI_DEV(BRAINBOXES, US320, 0), + UFTDI_DEV(BRAINBOXES, US324, 0), + UFTDI_DEV(BRAINBOXES, US346_12, 0), + UFTDI_DEV(BRAINBOXES, US346_34, 0), + UFTDI_DEV(BRAINBOXES, US701_12, 0), + UFTDI_DEV(BRAINBOXES, US701_34, 0), + UFTDI_DEV(BRAINBOXES, US842_12, 0), + UFTDI_DEV(BRAINBOXES, US842_34, 0), + UFTDI_DEV(BRAINBOXES, US842_56, 0), + UFTDI_DEV(BRAINBOXES, US842_78, 0), UFTDI_DEV(CONTEC, COM1USBH, 0), UFTDI_DEV(DRESDENELEKTRONIK, SENSORTERMINALBOARD, 0), UFTDI_DEV(DRESDENELEKTRONIK, WIRELESSHANDHELDTERMINAL, 0), diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 76270f596295..c08ce9bca1e2 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -1420,8 +1420,26 @@ product BILLIONTON USBE100 0x8511 USBE100 product BILLIONTON USB2AR 0x90ff USB2AR Ethernet /* Brainboxes Limited products */ +product BRAINBOXES US101 0x1011 US-101 USB2Serial 1xRS232 +product BRAINBOXES US159 0x1021 US-159 USB2Serial 1xRS232 +product BRAINBOXES US235 0x1017 US-235 USB2Serial 1xRS232 product BRAINBOXES US257 0x5001 US-257 USB2Serial 2xRS232 product BRAINBOXES US25701 0x5002 US-25701 USB2Serial 2xRS232 +product BRAINBOXES US279_12 0x2021 US-279 USB2Serial 8xRS232 (Port 1 and 2) +product BRAINBOXES US279_34 0x2022 US-279 USB2Serial 8xRS232 (Port 3 and 4) +product BRAINBOXES US279_56 0x2023 US-279 USB2Serial 8xRS232 (Port 5 and 6) +product BRAINBOXES US279_78 0x2024 US-279 USB2Serial 8xRS232 (Port 7 and 8) +product BRAINBOXES US313 0x6001 US-313 USB2Serial 2xRS422/485 +product BRAINBOXES US320 0x1019 US-320 USB2Serial 1xRS422/485 +product BRAINBOXES US324 0x1013 US-324 USB2Serial 1xRS422/485 +product BRAINBOXES US346_12 0x3011 US-346 USB2Serial 4xRS422/485 (Port 1 and 2) +product BRAINBOXES US346_34 0x3012 US-346 USB2Serial 4xRS422/485 (Port 3 and 4) +product BRAINBOXES US701_12 0x2011 US-701 USB2Serial 4xRS232 (Port 1 and 2) +product BRAINBOXES US701_34 0x2012 US-701 USB2Serial 4xRS232 (Port 3 and 4) +product BRAINBOXES US842_12 0x8001 US-842 USB2Serial 8xRS-422/485 (Port 1 and 2) +product BRAINBOXES US842_34 0x8002 US-842 USB2Serial 8xRS-422/485 (Port 3 and 4) +product BRAINBOXES US842_56 0x8003 US-842 USB2Serial 8xRS-422/485 (Port 5 and 6) +product BRAINBOXES US842_78 0x8004 US-842 USB2Serial 8xRS-422/485 (Port 7 and 8) /* Broadcom products */ product BROADCOM BCM2033 0x2033 BCM2033 Bluetooth USB dongle