From nobody Mon May 26 08:17:05 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b5TBn67G0z5xSkC; Mon, 26 May 2025 08:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b5TBn56gcz3RXD; Mon, 26 May 2025 08:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2KH5xL89NDHDTjof2akXu38U+nYXsXyOKBLFNuG6Mbw=; b=ozUK4ow9dkmWw0w324b5IfkuN67dHEL3HLPlE4E3Y6OkQkwUHyzOS937VDj/ajIgGgV3PP 1GQyUG1Cl415N8NPKYwsKXA7OfzC4RqfLFZyIdwCOALj5UN2PEe2wLbL/RqxHRJ9L4l4Iy FsUlhAvuw9RMBe2qdYgQJoeImsVHwBByBWD4jzSb/Dv4tWxttj7xEjw3ldIq75t+PEU0Z3 LPswjG6mwn9jfgn+Mvg4AZ8pyL+VjhH/AwaKITj6FCYke/qZ7O6UWTy5aI5o7dwFgySalB e6Nml16PgirSdQjQHytPTbh4zdPOqK89pBa925oFmciJr/U7qV9ka5YdvvGl9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2KH5xL89NDHDTjof2akXu38U+nYXsXyOKBLFNuG6Mbw=; b=B/D98pZul/Vdlxp9B6Bo0/A23vSnyBcedf7LvIwaqE+6dI821xufOImlw6aOQwbT1LLR4p AFzkkviLj7sRMeGx66wnIE7E1xJ6v20hVnTt8KDr3G2io+M7UhFAbXRszj9uFMkfL2pCRZ rYXwQk8hYVsJtyXNX9CKu5khNNcn664RE/G63LBAvtML/PBQLf4pNC/IDIfQciOdnieZsX E6luoj7846j+8v6ls+d+fnn+CtCwMOTqSbvt/e1MZS/D/YPfTHk6GX071LTJHhAmb+Oaj4 AwdDiB4oNE9NMaWTu2oDGJbT7o9p7v7Yze9nZDCHn1TTJPbSrRLSUJuvYwOk2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748247425; a=rsa-sha256; cv=none; b=CqO0CnEUYF9aUxtSNG8N2aqtlA0vjDT/fXiiFc6q0kI+I8mk/+IWVqnvY3hoqyDdTMih95 NDlcECqTCbPw8IIZjOLNb88DPvcCV2EBKNdnzw6a0pnGuY/NL8VxaODTit83WMzCw64k2R 1rWcW1BusIVEVl6dRRMgOjS7DiHDKg1kXPAwlVP4D+GoW0nUyXaCgwP+yl5BW9JQleUECJ Sp69FII6PodWr5otNdRxt6f8O5fcaT3qr2i7Rr7RdVr/e7JNvgIJ5GmyPb0RGJQAF2JABO K/vjhhgLt8YVQ19xJ8EOUbWn6QVT99/2emrkexDy5rV40nIQ5levb1IZolUUHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b5TBn49dKzyGR; Mon, 26 May 2025 08:17: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 54Q8H5MP021091; Mon, 26 May 2025 08:17:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54Q8H5hc021088; Mon, 26 May 2025 08:17:05 GMT (envelope-from git) Date: Mon, 26 May 2025 08:17:05 GMT Message-Id: <202505260817.54Q8H5hc021088@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: 39f442502167 - stable/14 - pthread_switch_add_np(3): remove 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: 39f4425021678ee9069aa15946c4946e0bdd49e3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=39f4425021678ee9069aa15946c4946e0bdd49e3 commit 39f4425021678ee9069aa15946c4946e0bdd49e3 Author: Konstantin Belousov AuthorDate: 2025-05-16 13:25:34 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-26 08:16:35 +0000 pthread_switch_add_np(3): remove (cherry picked from commit c0fdd2bf944bb646116c6cd9879560579ebaa563) --- include/pthread_np.h | 7 --- lib/libthr/thread/thr_switch_np.c | 5 +- share/man/man3/Makefile | 2 - share/man/man3/pthread_np.3 | 10 ---- share/man/man3/pthread_switch_add_np.3 | 86 ---------------------------------- 5 files changed, 4 insertions(+), 106 deletions(-) diff --git a/include/pthread_np.h b/include/pthread_np.h index 8f0180d4bd04..dcc762156a67 100644 --- a/include/pthread_np.h +++ b/include/pthread_np.h @@ -34,11 +34,6 @@ #include #include -/* - * Non-POSIX type definitions: - */ -typedef void (*pthread_switch_routine_t)(pthread_t, pthread_t); - /* * Non-POSIX thread function prototype definitions: */ @@ -67,8 +62,6 @@ int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); -int pthread_switch_add_np(pthread_switch_routine_t); -int pthread_switch_delete_np(pthread_switch_routine_t); int pthread_timedjoin_np(pthread_t, void **, const struct timespec *); __END_DECLS diff --git a/lib/libthr/thread/thr_switch_np.c b/lib/libthr/thread/thr_switch_np.c index 80cd34c15650..59a9a4c7e1a3 100644 --- a/lib/libthr/thread/thr_switch_np.c +++ b/lib/libthr/thread/thr_switch_np.c @@ -40,10 +40,13 @@ #include "thr_private.h" - __weak_reference(_pthread_switch_add_np, pthread_switch_add_np); __weak_reference(_pthread_switch_delete_np, pthread_switch_delete_np); +typedef void (*pthread_switch_routine_t)(pthread_t, pthread_t); +int _pthread_switch_add_np(pthread_switch_routine_t routine); +int _pthread_switch_delete_np(pthread_switch_routine_t routine); + int _pthread_switch_add_np(pthread_switch_routine_t routine __unused) { diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 5f336b6b7d2a..3aa215d095e7 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -463,7 +463,6 @@ PTHREAD_MAN= pthread.3 \ pthread_spin_lock.3 \ pthread_suspend_all_np.3 \ pthread_suspend_np.3 \ - pthread_switch_add_np.3 \ pthread_testcancel.3 \ pthread_yield.3 @@ -528,7 +527,6 @@ PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3 \ PTHREAD_MLINKS+=pthread_spin_init.3 pthread_spin_destroy.3 \ pthread_spin_lock.3 pthread_spin_trylock.3 \ pthread_spin_lock.3 pthread_spin_unlock.3 -PTHREAD_MLINKS+=pthread_switch_add_np.3 pthread_switch_delete_np.3 PTHREAD_MLINKS+=pthread_testcancel.3 pthread_setcancelstate.3 \ pthread_testcancel.3 pthread_setcanceltype.3 PTHREAD_MLINKS+=pthread_join.3 pthread_peekjoin_np.3 \ diff --git a/share/man/man3/pthread_np.3 b/share/man/man3/pthread_np.3 index caab8cc13209..9fb2544dd3c9 100644 --- a/share/man/man3/pthread_np.3 +++ b/share/man/man3/pthread_np.3 @@ -132,16 +132,6 @@ Suspend the specified thread. Suspend all active threads. .It Xo .Ft int -.Fn pthread_switch_add_np "pthread_switch_routine_t routine" -.Xc -Install a routine that is called every time a thread context switches. -.It Xo -.Ft int -.Fn pthread_switch_delete_np "pthread_switch_routine_t routine" -.Xc -Remove a routine that is called every time a thread context switches. -.It Xo -.Ft int .Fo pthread_timedjoin_np .Fa "pthread_t thread" "void **value_ptr" "const struct timespec *abstime" .Fc diff --git a/share/man/man3/pthread_switch_add_np.3 b/share/man/man3/pthread_switch_add_np.3 deleted file mode 100644 index f02ff15eedc3..000000000000 --- a/share/man/man3/pthread_switch_add_np.3 +++ /dev/null @@ -1,86 +0,0 @@ -.\" Copyright (c) 2003 Alexey Zelkin -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd October 12, 2021 -.Dt PTHREAD_SWITCH_ADD_NP 3 -.Os -.Sh NAME -.Nm pthread_switch_add_np , -.Nm pthread_switch_delete_np -.Nd thread context switches debugging primitives -.Sh LIBRARY -.Lb libpthread -.Sh SYNOPSIS -.In pthread_np.h -.Ft int -.Fn pthread_switch_add_np "pthread_switch_routine_t routine" -.Ft int -.Fn pthread_switch_delete_np "pthread_switch_routine_t routine" -.Sh DESCRIPTION -An application is allowed to monitor the thread context switches inside -the threading library. -An application can install a routine that gets called every time a thread -(explicitly created by an application with the -.Xr pthread_create 3 -function) gets the context switched. -The routine is passed the thread IDs of the threads that are -being switched in and out. -Installation and removal of these hooks may be done using the -.Fn pthread_switch_add_np -and -.Fn pthread_switch_delete_np -functions respectively. -.Sh RETURN VALUES -If successful, -these functions return 0. -Otherwise, an error number is returned to indicate the error. -.Sh ERRORS -The -.Fn pthread_switch_add_np -may fail if: -.Bl -tag -width Er -.It Bq Er EINVAL -.Dv NULL -pointer was passed in the -.Fa routine -argument. -.El -.Pp -The -.Fn pthread_switch_delete_np -may fail if: -.Bl -tag -width Er -.It Bq Er EINVAL -The -.Fa routine -argument is different from the argument previously passed to the -.Fn pthread_switch_add_np -function. -.El -.Sh SEE ALSO -.Xr pthread_create 3 , -.Xr pthread_np 3 -.Sh AUTHORS -This manual page was written by -.An Alexey Zelkin Aq Mt phantom@FreeBSD.org . From nobody Mon May 26 08:17:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b5TBp702cz5xSmc; Mon, 26 May 2025 08:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b5TBp4C5Pz3RZ2; Mon, 26 May 2025 08:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZaimoE2WoHjqMCeyPl1twpjbdxrJ8FmhOF0U6YsBBx4=; b=jd1wzvEy4KbURQUN4mgCwnXf/I47JsNIGxTxawIDqqv4D5/RRf7qsVqUqL4EIze9jrr464 /RA3dnr8vLCWYyoNT7dPYBElSnXePsj1yibxSt0KkL+Vfxn7cadaM675K8UTF68VBJpNrO AUKt9rtf8cPgFxuwdPm0/y/N33mBxuT0TJCqmNNcIoDiJvaD+pZfbM9PfbJ/S3FXp9RPX5 538mUjBf7Aqfa3QvyZOpnefpvDXTMMm/HXbwKYuOFWwvToCON30ENWvB5Z2P3hLpcCfMrE I0SRsBx0vkifkfDn6TN+DuffWKneh8c/Pcp2R+1iBR7kCHTkihkaqjmctizVsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZaimoE2WoHjqMCeyPl1twpjbdxrJ8FmhOF0U6YsBBx4=; b=sBcYQJFFSzDZdU+kmKIsLS7zD3xWl6iFX+/4sYvQMITnVTyPbuMdKcJFy3fBa10AsjRPPU h29V3/NUrRPWLeO6J85CwBv6sdAGlmVbC5C39H+suvWQyRaEsGpJoPbWh+p4CDZBC7F2wK y79XNJS3YWwjF7y/5748+h3PBYx/yAq2Z52VNTNrDPX4pRCWoijfmwbXvWLmHXitGFiXwM nFBXbN2t4d0Rvlyatt5OS6cGXJZe9GvFrrIIEZEs45mgMewMbwNNJaTjGZ2SGQDsGAUsiP eBh8a280odicmsOkZhFlxfFMPekYfASk82Zij9DOMxPYSuNGJSTzwl9qEkzrlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748247426; a=rsa-sha256; cv=none; b=gPcn9q2F+JVxSeWn2wOwQH/RTIXR7pMFAZq5hJ3WcAWR6f9Ee+t6H5ij6Ddz2TDURZ+KrH Y37oAsNFxNGoSrqrIfpGEnZgK2iAwC6j56wy3NeCnYtNndiIpLjBRLoLIlbdBpELRnzqBK Am1kaRoNX50+jiMx2SrbNyS6JF5tLVpt4BjqjtBuZt9nt82VhBH14yV1IgW1gMO5j46z/5 ovINyr7S0L8+ekd7xrLethpSS/nBWJPFe1QexsCFNK7mAO/4h9LdH+UNQ6nsOZ2YXZfiNc yeA0gtgSa2LDl3xC9MTByTGuSrdaTZZ+gwhzy4kNV09KKQYc7apcAD5kqwxfRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b5TBp3XGfzynb; Mon, 26 May 2025 08:17: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 54Q8H62O021124; Mon, 26 May 2025 08:17:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54Q8H6Ux021121; Mon, 26 May 2025 08:17:06 GMT (envelope-from git) Date: Mon, 26 May 2025 08:17:06 GMT Message-Id: <202505260817.54Q8H6Ux021121@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: b3188948394e - stable/14 - libthr: add stable user interface for sigfastblock(2) 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: b3188948394e1fa5f2413857b5d1c5d4c449c13e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b3188948394e1fa5f2413857b5d1c5d4c449c13e commit b3188948394e1fa5f2413857b5d1c5d4c449c13e Author: Konstantin Belousov AuthorDate: 2025-05-16 13:18:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-26 08:16:35 +0000 libthr: add stable user interface for sigfastblock(2) (cherry picked from commit 31760ee65ae3e79434fb257d93e17a6de6021f48) --- include/pthread_np.h | 2 ++ lib/libthr/pthread.map | 2 ++ lib/libthr/thread/thr_sig.c | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/include/pthread_np.h b/include/pthread_np.h index dcc762156a67..a9e738540db4 100644 --- a/include/pthread_np.h +++ b/include/pthread_np.h @@ -59,6 +59,8 @@ int pthread_resume_np(pthread_t); int pthread_peekjoin_np(pthread_t, void **); void pthread_set_name_np(pthread_t, const char *); int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); +void pthread_signals_block_np(void); +void pthread_signals_unblock_np(void); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); diff --git a/lib/libthr/pthread.map b/lib/libthr/pthread.map index 76c574e783a2..4be126bcaabd 100644 --- a/lib/libthr/pthread.map +++ b/lib/libthr/pthread.map @@ -336,5 +336,7 @@ FBSD_1.6 { }; FBSD_1.8 { + pthread_signals_block_np; + pthread_signals_unblock_np; pthread_sigqueue; }; diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index 1e4a0b9a8f72..f43308d52327 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "un-namespace.h" #include "libc_private.h" @@ -163,6 +164,24 @@ _thr_signal_block_setup(struct pthread *curthread) __sys_sigfastblock(SIGFASTBLOCK_SETPTR, &curthread->fsigblock); } +void +pthread_signals_block_np(void) +{ + struct pthread *curthread; + + curthread = _get_curthread(); + _thr_signal_block(curthread); +} + +void +pthread_signals_unblock_np(void) +{ + struct pthread *curthread; + + curthread = _get_curthread(); + _thr_signal_unblock(curthread); +} + int _thr_send_sig(struct pthread *thread, int sig) { From nobody Mon May 26 08:17:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b5TBr2yrZz5xSkH; Mon, 26 May 2025 08:17:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b5TBr0dwFz3RlD; Mon, 26 May 2025 08:17:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mwf4RXJYMyXmj2D3/ZxfzIumJ63pdc5cerLgbsYZsus=; b=AHB5BLGSvoCCPzTlqBwIRo5/DxbL7Y/W16vFoPEFsapqOTRVn58hm1lhy9IY7FciQ/mDTE LZ3KHDPe/MgckgYUopQwrtgGTbbbtAcYQXRI1b7qiyjZZU2CvoJ97tpGlWoLDMKuciSz8m 89RJRXbVNw98tX3d5IfbLqWwlbes4yWqNISJwlS+ZsMSYq8JLkrbvvhggTjNawpcaTivfx xutXjsGnAIJTybp+k6nUdoPctLVAc64sJikZdW2u/s+nIImMcbSZ9NbydPH6UTalAjPt+6 APKHf1R3AE6suWRAkA8ItrhIec2h6X6Z89wN4XVhxl6WnpUJU0p2LE8ck31heQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mwf4RXJYMyXmj2D3/ZxfzIumJ63pdc5cerLgbsYZsus=; b=RASwkLrR2lltPUBJ2ghVtizV1mdXov3Poq0sdpB7g+bRA9yV8lW6ZXpM6MetN8lnQC/K26 Fi+b2DAsPtiZUNZ830ZXGj0l7uKD8Axnv8vG4MlXYh2zCQkuIocwFMgkhi0nJ/UGDpUW/E QKdVY3mefnIJudVFEAlDN/inJ3a8G8nJN7MR3BFd7twaj2K8K8QYUbEmz6SGUwj2vZhos+ jpkG844Z+qyBpqhLtRhwpC6P042Ynoztno2SvkUFg58j/jjj9eNjUCCBNgjasZtH/T7EGf SgTWK617cu3wbLe1mJVbO/HVODMKKz9ruJBlL7lI3FHDZ6fmJn6C6GUeDtki2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748247428; a=rsa-sha256; cv=none; b=pchrOpCs+FOMkUP8A6/9jPqmr5SxhUuPUeCrPE30sF/enOQ7V154eyhlIKFbs/nJC10WUi SrHD2TBh2Hanh+vmju6sFqq3AJX37UQOlWhmHBRcyWTDTkQbARvXxJb8TB9ad6uXqAJLnC inSMAM4aoOZonbnYXAnSlLrA5Iq4fmfyDSS5kdyRUGNjwShE1l5zatecqETn5ZqVeT5lxG W7isw1tg+zlPnyUvbirRSOT4Q1rNDXP7wogQH0NfmeNAC7Ho5ADT6mjXAKw/LDloD5/hVr VejtcYwspmm7v8Ud51Q5uMvPy7TnZoc3R+TjuYDSgVUqZA8fBC1DdGhAPiEt3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b5TBq4ZmXzync; Mon, 26 May 2025 08:17: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 54Q8H7dd021157; Mon, 26 May 2025 08:17:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54Q8H7jb021154; Mon, 26 May 2025 08:17:07 GMT (envelope-from git) Date: Mon, 26 May 2025 08:17:07 GMT Message-Id: <202505260817.54Q8H7jb021154@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: e57eeaf54cb8 - stable/14 - pthread_signals_block_np(3): document 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: e57eeaf54cb83b3d38b5a16dd7e9e37e7adf13d6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e57eeaf54cb83b3d38b5a16dd7e9e37e7adf13d6 commit e57eeaf54cb83b3d38b5a16dd7e9e37e7adf13d6 Author: Konstantin Belousov AuthorDate: 2025-05-16 13:24:27 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-26 08:16:35 +0000 pthread_signals_block_np(3): document (cherry picked from commit 1393f9a36b9c471d4af3518a3d3bb56c2a6adc58) --- share/man/man3/Makefile | 3 ++ share/man/man3/pthread_np.3 | 6 +++ share/man/man3/pthread_signals_block_np.3 | 81 +++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 3aa215d095e7..0cabb74c6266 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -459,6 +459,7 @@ PTHREAD_MAN= pthread.3 \ pthread_setspecific.3 \ pthread_sigmask.3 \ pthread_sigqueue.3 \ + pthread_signals_block_np.3 \ pthread_spin_init.3 \ pthread_spin_lock.3 \ pthread_suspend_all_np.3 \ @@ -524,6 +525,8 @@ PTHREAD_MLINKS+=pthread_schedparam.3 pthread_getschedparam.3 \ PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3 \ pthread_set_name_np.3 pthread_getname_np.3 \ pthread_set_name_np.3 pthread_setname_np.3 +PTHREAD_MLINKS+=pthread_signals_block_np.3 \ + pthread_signals_unblock_np.3 PTHREAD_MLINKS+=pthread_spin_init.3 pthread_spin_destroy.3 \ pthread_spin_lock.3 pthread_spin_trylock.3 \ pthread_spin_lock.3 pthread_spin_unlock.3 diff --git a/share/man/man3/pthread_np.3 b/share/man/man3/pthread_np.3 index 9fb2544dd3c9..c6f0efac7415 100644 --- a/share/man/man3/pthread_np.3 +++ b/share/man/man3/pthread_np.3 @@ -116,6 +116,11 @@ Sets the specified thread's name. .Xc Sets the specified thread's name. .It Xo +.Ft void +.Fn pthread_signals_block_np void +.Xc +Blocks all asynchronous signals, quickly. +.It Xo .Ft int .Fn pthread_single_np void .Xc @@ -213,6 +218,7 @@ instead. .Xr pthread_resume_all_np 3 , .Xr pthread_resume_np 3 , .Xr pthread_set_name_np 3 , +.Xr pthread_signals_block_np 3 , .Xr pthread_suspend_all_np 3 , .Xr pthread_suspend_np 3 , .Xr pthread_switch_add_np 3 diff --git a/share/man/man3/pthread_signals_block_np.3 b/share/man/man3/pthread_signals_block_np.3 new file mode 100644 index 000000000000..de33f4e6189e --- /dev/null +++ b/share/man/man3/pthread_signals_block_np.3 @@ -0,0 +1,81 @@ +.\" Copyright (c) 2025 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" This documentation was written by +.\" Konstantin Belousov under sponsorship +.\" from the FreeBSD Foundation. +.\" +.Dd May 16, 2025 +.Dt PTHREAD_SIGNALS_BLOCK_NP 3 +.Os +.Sh NAME +.Nm pthread_signals_block_np , +.Nm pthread_signals_unblock_np +.Nd fast asynchronous signals blocking and unblocking +.Sh LIBRARY +.Lb libpthread +.Sh SYNOPSIS +.In pthread_np.h +.Ft void +.Fn pthread_signals_block_np "void" +.Ft void +.Fn pthread_signals_unblock_np "void" +.Sh DESCRIPTION +The +.Fn pthread_signals_block_np +and +.Fn pthread_signals_unblock_np +functions provide user programs an interface to the fast asynchronous +signals blocking facility +.Xr sigfastblock 2 . +.Pp +Blocking signals with +.Fn pthread_signals_block_np +disables delivery of any asynchronous signal, until unblocked. +Signal blocking establishes a critical section where the execution +flow of the thread cannot be diverted into a signal handler. +Blocking signals is fast, it is performed by a single memory write into +a location established with the kernel. +.Pp +Synchronous signal delivery cannot be blocked in general, including with +these functions. +.Pp +The blocked state established by the +.Fn pthread_signals_block_np +is not completely POSIX-compliant. +Specifically, system calls executed while in a blocked section, +might abort sleep and return +.Er EINTR +upon queuing of an asynchronous signal to the thread, +but the signal handler is not called until the last unblock is done. +.Pp +Calls to +.Nm pthread_signals_block_np +can be nested, and must be complemented by an equal count of +calls to +.Nm pthread_signals_unblock_np +to return the calling thread to the standard mode of signal receiving. +.Pp +An example use of these function might be the construction of the CPU +state that cannot be done atomically, and which includes stages where +the state of the thread is not ABI compliant. +If a signal is delivered while such state is not yet finished, signal +handlers would misbehave. +Using standard functions +.Pq Fn sigprocmask +to establish critical section might be much slower, because +.Fn sigprocmask +is system call, while +.Fn pthread_signals_block_np +consists of a single atomic memory write. +.Sh RETURN VALUES +The functions do not return a value. +.Sh ERRORS +There are no errors reported by the functions. +.Sh SEE ALSO +.Xr sigfastblock 2 , +.Xr sigprocmask 2 , +.Xr pthread_sigmask 3 , +.Xr pthread_np 3 From nobody Mon May 26 08:17:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b5TBs5TkDz5xSXc; Mon, 26 May 2025 08:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b5TBs09fpz3RjJ; Mon, 26 May 2025 08:17:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e5qyBCPZusJeI8DW9Y9Dklk+SzQDWrz2GgrsKsIhas0=; b=nBZ91qSZEOh83tIaoNqi4oPUkxFA0x8N3fTbFBC3YHssePLDC1guflqFJEtZZr6RQmsKgn ftO83dp7Ae6/l15EAKWP8AUQZALt4lfIlyKJXNNQY5GI7yUUCZN/y5TMVNNoYh2170JRUt sODYwKLz0RBxlXusjeSFLbl9mrfAfCMh/mukior45XqBDSAO48mB+WJkVpVEPiUSk5Wp9s jOdyTsnT6iyRIlF9j/KiySbAtaYucj7QNWHYmI3pNB5spLK/7cnAh1gw45narv9ocWuxfd o27N+zHozAzHuEM80UqSdwYmRWdLgoqYuxcFHRZhgy58oZI1//b/WgLVwghjWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748247429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e5qyBCPZusJeI8DW9Y9Dklk+SzQDWrz2GgrsKsIhas0=; b=GkQc8Xb1kTPjaJxXbotU5qdq1P1HZC1jOyKMgAt4qky3SMdpRu+azhY0RuviZNtAKnUvZV mVBsLhNmEEshnlbop/RpdvkfNM802jzFehKL/QcS02k+dw9B2w5bac9aSblo0QbdmP2/fo daNrK4TmxBw+7ea9YcYTryyC7hTpqdgMf/38AoKf+D830Gn+rf77v5qZIKi7XWyc0JhEiG gC1hQlds4PjQqr4HTzqj8Zmv3diunNQraPXL7ElVb6BZR2D76eYr22QdQjk3ckuXuMuAX0 hJLTvx6FCr1oLBGuVf6dYXsak4M3rcSaRbbNLr9eJBJmqcgvUAPpR3pdOEusOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748247429; a=rsa-sha256; cv=none; b=uuwjl441Tkja+Eoc11c6/hXdeVFvSoT/og4SQyzjSJtDD+xJx07p5It/9Cx3PAf2yXkKCx 7+RFwVm2sDa6ArKD/IdZbGibbYegG05MP4p0EYDxyXCv7MhXWufaBjYvupNgl4ICWRsZYR bqGhJhhwEW3eulLnGjG6z5Hw7aFQSVrRfuwRKhUCxw3MUqCqWX2pibcDwmvhzqY6vwvI8T N3F0qUSc5it5KAG723axVn/NqkXuto/tvOpGLsxmWywOAWojIrFNyUofSynS/QuDqJWTwl dHq7TogdEUZKv1VHZnUIDFWqnVr8a51tuxTmlkjQR99swcsY05c8BAwXHpGncw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b5TBr5Ynvz10Cj; Mon, 26 May 2025 08:17: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 54Q8H89l021189; Mon, 26 May 2025 08:17:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54Q8H8GT021186; Mon, 26 May 2025 08:17:08 GMT (envelope-from git) Date: Mon, 26 May 2025 08:17:08 GMT Message-Id: <202505260817.54Q8H8GT021186@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: c200e184cc39 - stable/14 - kern_fork.c: 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: c200e184cc3948ce9109e6b374a8e204676fb0bd Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c200e184cc3948ce9109e6b374a8e204676fb0bd commit c200e184cc3948ce9109e6b374a8e204676fb0bd Author: Konstantin Belousov AuthorDate: 2025-05-24 11:03:50 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-26 08:16:35 +0000 kern_fork.c: style (cherry picked from commit 9137de9a1b5fdbd77880344820d55e2f05883e53) --- sys/kern/kern_fork.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index ee58ad42bce6..8abf6ebc20be 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -609,7 +609,7 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread * * been preserved. */ p2->p_flag |= p1->p_flag & P_SUGID; - td2->td_pflags |= (td->td_pflags & (TDP_ALTSTACK | TDP_SIGFASTBLOCK)); + td2->td_pflags |= td->td_pflags & (TDP_ALTSTACK | TDP_SIGFASTBLOCK); SESS_LOCK(p1->p_session); if (p1->p_session->s_ttyvp != NULL && p1->p_flag & P_CONTROLT) p2->p_flag |= P_CONTROLT; From nobody Tue May 27 07:10:44 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b63gn1V2Yz5x2gC; Tue, 27 May 2025 07:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b63gm6nQBz3Yfv; Tue, 27 May 2025 07:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748329845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6+4VuPaAlTE0/unSI7iP15ooPfqXrJXl8AGHHWcGonE=; b=lcMYPHa24NqGY/JCu2HRnlv6ywvDGp8s+TGMq4vX5X3kTVC5HCn6a1zwhS123kKyaol21Q 80ojxYs8QmlXTUdaOzTe4cWXYdJA1ir/rQEKmGZgB8tzDqwpQNJ+ENkkOT5nzey647lJYs Nl7l76R4di2S49643hOPCfP1mk3tkPRDq69UdhEOYTtMGDuS2+tWZdb5dKOcw8slkoNFVj qe5ELacAxb+GABELRz3mlLpp3jOnaGFI2/VQ2bdafCyCy14+38UUBrQSsArqWLTOB24iA6 r5/MKWX44mGfUzE62zviMiIOo95k+mIjHLmbWD1g4H2rNydcERjeMFKxj+qEiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748329845; a=rsa-sha256; cv=none; b=CvmtrA8LbWRWXTv5E37YL50S7N+LQe1tTXNCDVGGoXyi+h5xwpG1WmL+qOKvmv+EfIgdKg T4ntuiJaJmKsMMQLgNU2zGQsAAsJ5JpLYIY7jO1YoMGzO6Juhdl7T9tYnhw+T9J+dZkPRb dkBoI1X1Zxff8JEuicNS3Ly1W8Kbdg2Qhlmqu0qOsRij2/o4Q75+yOQBHzSQbMr5HgGwKu zHP+wGDxhelkEx0kgLws5Mv5aBJl21/wex9IzYF7XLpeGsYQKy3PKORi3oiP5bKysBlIrj RZXKtqBo1c0bm9O4DtwKlg9JoXYaX2bC3kAWuNUGa9N7JxpqtHZiVLixtz0gzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748329845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6+4VuPaAlTE0/unSI7iP15ooPfqXrJXl8AGHHWcGonE=; b=KtMZ6yraZ/LX+znURCNCqIIJUr/rDyF28ynCDSr/TupdhoYLnrVyk94oST0gS3Rskf9tIN HBI7zQn71AvSOkVmxc43AL2icuq5uS4idA8+fm1s7c9hn52XE56pUy2T9KjPNYRWgwULL1 zLQfGkVlJ+kAjjFrUP6upJVKYS5LhE8j3wx+zJwsN9RORLYTYhdm19r5CTnvUzQsJ1ymkg 5yL8vQ/jclOAxJWt9xr5rCS96FBMQS99HgSegucfQe/YyogZAgU6mE5yPUUnOTBgH4ftZo 7Hf44SjZrc7wC65jIn+UhpQuu6ZX8jXshL1sNpo8WablvaQMJBVwd2PBW28ZBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b63gm6NC6zjS7; Tue, 27 May 2025 07:10: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 54R7AiBh096631; Tue, 27 May 2025 07:10:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54R7AimT096628; Tue, 27 May 2025 07:10:44 GMT (envelope-from git) Date: Tue, 27 May 2025 07:10:44 GMT Message-Id: <202505270710.54R7AimT096628@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 33624770a87d - stable/14 - net/if_bridgevar.h: add include guard List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 33624770a87df04ce4834b03601dd2bdbce8e5ed Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=33624770a87df04ce4834b03601dd2bdbce8e5ed commit 33624770a87df04ce4834b03601dd2bdbce8e5ed Author: Lexi Winter AuthorDate: 2025-04-04 10:59:09 +0000 Commit: Lexi Winter CommitDate: 2025-05-27 07:09:28 +0000 net/if_bridgevar.h: add include guard Reviewed by: kp Approved by: des (mentor) (cherry picked from commit f6aedb956ef154828c4bfaddaa5d5eb2dda5225c) --- sys/net/if_bridgevar.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 4eed6ec07ade..511ca753858d 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -74,6 +74,9 @@ * Data structure and control definitions for bridge interfaces. */ +#ifndef _NET_IF_BRIDGEVAR_H_ +#define _NET_IF_BRIDGEVAR_H_ + #include #include #include @@ -323,3 +326,5 @@ extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); extern bool (*bridge_member_ifaddrs_p)(void); #endif /* _KERNEL */ + +#endif /* _NET_IF_BRIDGEVAR_H_ */ From nobody Tue May 27 07:12:43 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b63k41T1pz5x2Qw; Tue, 27 May 2025 07:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b63k35LVFz3bQn; Tue, 27 May 2025 07:12:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748329963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0eTMvBRf+CWzDfZOQf0kTWZ4CXO262LeMsvAsVxIGk=; b=DTN16op/OloVzX0BmI8AQ/2BlbY+920DE9nteaeB6BuRDIHhwUuB+ahy07Fa79R1ZoJ75o bPnQHxzcTggQvh4OEd7o0jETwDRNAzgpTBurmV1fTE6uUK47Kf16Zp5mO2jr/RjHgbkRwK CJeoH/R3Dq4SaW027bwE9YG2k1+MtAVjP386h+nkQQoCsNTySHisEZ/goxFbeFesGTt6hP 09yW/T3XpHBMXhu8uQunowxvHnfSWosXsfku7hHM7S9B0RBKM8c8aXOkFvxwo0VopBDjFd hYkuSMy/Xt+KcpRmri/ARYH4hfWs/0C6pQCgnroEBemEkdNpxMVqUKw79Q05Hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748329963; a=rsa-sha256; cv=none; b=XVLyj7bUDpTEZsWG0KhIC5I/S4x2pATUGAsKTsSmX8+62c6lIB+Mkusn6OBjvtA/C2bsMT 10gjGdP2I+YEM42cCfKlmW5DpDdtDiPry8hwKkFpQfooiv+vYDMy4UB4yzT5t7pNE0qP5v q1N6dMcgqCX+a8nhnpbT4bO/vqqI/x/kO9LiH91PYDTWoWg2c0mXPx2Bmwm3HMn94fcHCR cvvnoXGxo/eqiNE5wPTn1Vu+h4AjO+J6Yr8a2PsQQy6YZd65ihE+hTFY3nlATcwFu6Ge/h WxNraw2s6OJ2sFPKHkn8z1HPgDet5uDklV1mF2HnaIlteIRVmSRhSVnB9RtSvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748329963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0eTMvBRf+CWzDfZOQf0kTWZ4CXO262LeMsvAsVxIGk=; b=UQsNZ2UHTv3tXp4ffdV6IA4lo7oFSy4HWFCPpOxYBxT1Plv5vDu8sq/w+HzTZI/2uRg1UV O1JOK8oWA+hIWp/lVAz9wKHHeCXTZ9kfxSAl5JH2F7Tj24SjgmBPoE/0Yu5+CuIXWm+2KJ poTetCsMFZICFLoAVps0Gwa0ShzATwpKcH53QKQ5hidhj7lviElvdi3wKiWfIh1Rjuxr51 zTwxg66lGMU/qI59lWkMPk0E7GBYpkReD0uE6VST/ZAERoKWacWDy3ZoEq9aTuUto1UY7t eeyg1PgbfLIWX4DnmGuvaR2ZHBem624liyezgQCxbifHjVw+sHUxjFEqXoZ7NQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b63k34jvlzjSS; Tue, 27 May 2025 07:12: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 54R7Chdv004708; Tue, 27 May 2025 07:12:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54R7ChJA004705; Tue, 27 May 2025 07:12:43 GMT (envelope-from git) Date: Tue, 27 May 2025 07:12:43 GMT Message-Id: <202505270712.54R7ChJA004705@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 2e4014e81f6c - stable/13 - net/if_bridgevar.h: add include guard List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2e4014e81f6c755b5977662917c2defbb697ff53 Auto-Submitted: auto-generated The branch stable/13 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=2e4014e81f6c755b5977662917c2defbb697ff53 commit 2e4014e81f6c755b5977662917c2defbb697ff53 Author: Lexi Winter AuthorDate: 2025-04-04 10:59:09 +0000 Commit: Lexi Winter CommitDate: 2025-05-27 07:11:56 +0000 net/if_bridgevar.h: add include guard Reviewed by: kp Approved by: des (mentor) (cherry picked from commit f6aedb956ef154828c4bfaddaa5d5eb2dda5225c) --- sys/net/if_bridgevar.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 8f1de6793340..48cba1c5721b 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -74,6 +74,9 @@ * Data structure and control definitions for bridge interfaces. */ +#ifndef _NET_IF_BRIDGEVAR_H_ +#define _NET_IF_BRIDGEVAR_H_ + #include #include #include @@ -316,3 +319,5 @@ struct ifbpstpconf { extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); #endif /* _KERNEL */ + +#endif /* _NET_IF_BRIDGEVAR_H_ */ From nobody Tue May 27 09:23:51 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b66dN60dfz5xB6q; Tue, 27 May 2025 09:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b66dN0bXWz3VkQ; Tue, 27 May 2025 09:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748337832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TrbSXDxT5hlReePen8uvosgPne52XLZqLlmTUx7hWU=; b=xUQ4zFvlLKukD7xlL7Yhr+/Cn6LqG9+NzYaE1R9WHh8HE/oRPgWvYCXFVcwreWPPyU+dtE 9LK9XcZdt9wsELx5ebaZcxKVUrJEAZ+BHeR0hD0axel61ji8QibmAi0yc4N1B/VlFKAZqj HFKg/s0FtmuWi5A3SznRDkBrjzvk9gy1bYjilNRNlh9FcUYRT0UhitzC6Qe5jQfOFgDjzT 1j9mxtNOoRyGvbkKEcALWLznjyqmy3H+No9ziXlwxO09aEGGuZIbJ78YV3yMYDlWlDzRm9 Tq0Nxh98UglSg8F6c8N15WfG/cRF7Wdrqd+HUp9/IAV90ELg/GA0bphe+awm5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748337832; a=rsa-sha256; cv=none; b=CS636RGvYX541jYYbH8f0Mvr2vRu4DYBZimiuguoQz060nCoDaklBvaJFu4S24kg5/7IdA rizgFfKbIIWWdw1hv4SOSjuns5T2HDE9CQx93zmh5cOt4YEF86fkqbF+UsCSPXs++OjNSc ai+ZDVHjscs8ZpnGbaU/XYwvFsnEB66tZzEQgZdGSMLTSZ+hlj1hNKa3M9JUmXLGjpxwwk 7iVa/xt5K0OCA2p1qTAtJBRP9/hSLcZD1KbT2+ZnSqzu9xXu6BhJA6FCLlGTlGeHybBpJn VRyoJQJSB0wL17UwynIUfqB+X0D0ASYUTxr+bCf5EdO9hKpb8e4ABSDHVSUYng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748337832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TrbSXDxT5hlReePen8uvosgPne52XLZqLlmTUx7hWU=; b=KYe0UbfvqssrYhuhCvP2vXUBvRJ9kn1mz2t+JtPT+vUeGOaZCgz/88gwvsBTPSZrg40+2E HYWmoq4qGDiyrcAGiA0BeVNbP//rEigKZD0EoJNc5gY3Dur8yimMbAcxKnDq62QTOtz507 0j1+89lFtGT0Q2+eMQFqzrLFm7n90SqhxGp+WE9jJnpCKesLZuJQXHBQJXrUXR/VDupVb5 9ZN6fCHzzafp0+PcM/KWe4569qsnoGdCZxbbnIa5QHyYCTcZ2PpWy5LcLq8wStMRmipKNh spvnzKE5lUSAtKLRdywp3bnzWE+XnhVU2QSPF/gGpzXksjH5/Sz/XDAjMvJ6gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b66dM722NznBY; Tue, 27 May 2025 09:23: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 54R9NpgG048213; Tue, 27 May 2025 09:23:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54R9NpNa048210; Tue, 27 May 2025 09:23:51 GMT (envelope-from git) Date: Tue, 27 May 2025 09:23:51 GMT Message-Id: <202505270923.54R9NpNa048210@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: 30f092c40ad4 - stable/14 - MAC/do: Fix a too stringent debug assertion for a target of 'uid=*' 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: 30f092c40ad4eb592861839f4ffa9e9891abf1d3 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=30f092c40ad4eb592861839f4ffa9e9891abf1d3 commit 30f092c40ad4eb592861839f4ffa9e9891abf1d3 Author: Olivier Certner AuthorDate: 2025-05-27 08:20:06 +0000 Commit: Olivier Certner CommitDate: 2025-05-27 09:23:11 +0000 MAC/do: Fix a too stringent debug assertion for a target of 'uid=*' MDF_HAS_PRIMARY_CLAUSE only concerns groups, not users, and is thus not set in the latter case. This change only has an effect on INVARIANTS builds. PR: 287057 MFC after: 10 minutes Sponsored by: The FreeBSD Foundation (cherry picked from commit b5c9889e369a801ce7c1115f2535ddacbd69800d) --- sys/security/mac_do/mac_do.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index a83c194b24ae..9aeafa62b56d 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -258,7 +258,8 @@ check_type_and_type_flags(const id_type_t type, const flags_t flags) "groups specification are exclusive"; goto unexpected_flags; } - if (((flags & MDF_PRIMARY) != 0 || (flags & MDF_ANY) != 0) && + if (type == IT_GID && + ((flags & MDF_PRIMARY) != 0 || (flags & MDF_ANY) != 0) && (flags & MDF_HAS_PRIMARY_CLAUSE) == 0) { str = "Presence of folded primary clause not reflected " "by presence of MDF_HAS_PRIMARY_CLAUSE"; From nobody Tue May 27 19:32:42 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6N7t5GSgz5xp2P; Tue, 27 May 2025 19:32:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6N7t4r1qz3n46; Tue, 27 May 2025 19:32:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748374362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kW6IXYbh0jp0S2DtISdYqeel/82aadBRhXRzjcP+C9I=; b=CUuK8aI5tgYwkTzd+qtds5ql2s6/eZWQa2ToQINmLm0CC05Bq7sBZS53B8qNub+LF2M7vz B4eWqA0Fg37WZlf44o/MkelYefoCrifyb/jaTDj7wrq6Y4GHz0Vwg/msxOl42ztKSnbF3B BAdFFTF3q5b20QGVTFG3bSGiwN+ohe4gt2t3DxvfIwRYLu9Hs5hfl4luvwtC5r0pSkwikG BDdwbAhzH/BsUIS1Fuiz1vs9YjR6Nl5T11Jj+TpqIicH5OU+QFyLaADqpSFDNDOhosQks5 tAy+JSNkkT59wAOZP3JLeayLIidnFRPuhVN4xsRI/m7EJZ7W0cnBk3xBanfD9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748374362; a=rsa-sha256; cv=none; b=S8svtaalvu0bJ9a6UqAo48Wtzd8cEtfY+N/mBNfVuoafPa6PGt9cxWVACC2GNDx34cf9Tn F8nSIrTp52ojEo/JOtQtGBqwc+GQo7dvEEV5I1rsx5NgTlVNnWNkck+IChFBd2fSV8CVJo dpK+HKVYEWg4qQ7ARGmvoRJud1ejZ9VtXI2D3q2BkKDKp33RzQsYlTyhKjhua/WKfrhbZY Wz6ETQ7Px5jqvf6bsrQPYCEKglqHDkrqcmwuB3mumKBHn3c/rcX0a3UPcZOeFqvGXKjQZ2 mSV71+IBQ+0cH2u2x5Lg8BZZgIsZnDxOYFSjfAnkDl18qicYZAQKIuE+DaEFvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748374362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kW6IXYbh0jp0S2DtISdYqeel/82aadBRhXRzjcP+C9I=; b=cduGC4LNX114M2PjZrOHU/OjwYiNuirIEUMvDLOk93Hrly68/G2QfGqidyxOSSn7Oymqh8 KCQ57TFjBquOvRGKZaD21RHfzIynLWiKZT1vfhsRSMELSD7pjKdQZxpIKURIatsGZketpp Gt68r/9KOou+nX+v+z0LYaSttknWZbQzNPJpZOqOHCxTXOON+IoMOPpI6M8b4BgspjqukW /GQ3vYCQ5G8Av4YO48s3Hy6kOf9DhSiuFt16yPmB8rvwpS/wRxx0bbVzcRKiNR50osFDA+ rV1prttuILjsoNAY8zfAarTxeLi6Xz7hYGYtIpQK9ugYskKTz9amfU+eDyGPag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6N7t4BzGz14sp; Tue, 27 May 2025 19:32: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 54RJWg7i090636; Tue, 27 May 2025 19:32:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54RJWgZu090633; Tue, 27 May 2025 19:32:42 GMT (envelope-from git) Date: Tue, 27 May 2025 19:32:42 GMT Message-Id: <202505271932.54RJWgZu090633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 3fb4073c4c8c - stable/14 - pciconf(8): Fix the -x option and its documentation 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: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3fb4073c4c8cd1f7f4706bc7750a7551f3ae08aa Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=3fb4073c4c8cd1f7f4706bc7750a7551f3ae08aa commit 3fb4073c4c8cd1f7f4706bc7750a7551f3ae08aa Author: Navdeep Parhar AuthorDate: 2025-05-19 06:16:18 +0000 Commit: Navdeep Parhar CommitDate: 2025-05-27 16:59:06 +0000 pciconf(8): Fix the -x option and its documentation Reviewed by: kib Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D50421 (cherry picked from commit 79aba7a0ca8468da36551e66d24e0b3385d8e328) --- usr.sbin/pciconf/pciconf.8 | 4 ++-- usr.sbin/pciconf/pciconf.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.8 b/usr.sbin/pciconf/pciconf.8 index 4e46d502887a..6c67e9e50df6 100644 --- a/usr.sbin/pciconf/pciconf.8 +++ b/usr.sbin/pciconf/pciconf.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 14, 2018 +.Dd May 19, 2025 .Dt PCICONF 8 .Os .Sh NAME @@ -39,7 +39,7 @@ .Nm .Fl w Oo Fl b | h Oc Ar device addr value .Nm -.Fl D Oo Fl b | h | x Oc Ar device addr Op start Ns Op : Ns Ar count +.Fl D Oo Fl b | h | x Oc Ar device bar Op Ar start Op Ns Ar count .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index 83ea50efb183..ef75a8fa2341 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -110,7 +110,7 @@ main(int argc, char **argv) bars = bridge = caps = errors = verbose = vpd= 0; width = 4; - while ((c = getopt(argc, argv, "aBbcDehlrwVv")) != -1) { + while ((c = getopt(argc, argv, "aBbcDehlrwVvx")) != -1) { switch(c) { case 'a': attachedmode = 1; From nobody Tue May 27 19:32:43 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6N7w1FzVz5xnyc; Tue, 27 May 2025 19:32:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6N7v57DNz3msP; Tue, 27 May 2025 19:32:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748374363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4TX1cfjAZy525LQei/Gr0pAOgsJLKUBEWSRBhBELv+w=; b=lQQPRubtrrpvPSyCdmdmEH79NMw28I2dZuhvUqPe/4LiOR52l3UAFmJJ3rc2ZqVDmtMpNJ OCabPGRHK1iU+Y89g2N3vTgD19SWjkoNfFVJ9TlnredKp10EWcgHeDHsj5hKCelsLSM5L5 my9T9j6XCpO6yK9oFzTIs2wleC31ZVA9SHjBs4+E4fFOCtnu0HSu/XYzy1IhKNBC0QrY9h WZYiepLlLeEwQZV7PG2yBN4a47lUjcvmvGfVusiB9uStC65rzCTqv1Evtk0y99a/Jvus2Y AmBgvfAjAwBB7aC0rNg0/04nhKwMdMi6j/O8S7GZtPD0Mfmldx4+MKoM1WnJ1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748374363; a=rsa-sha256; cv=none; b=u3tICjpo6qIyJkJO8naVfE//SSc6o1ana06/1szh0T8dybFmCearcuGS8BnJILN+nYSa/i +EYmenKdcVltLLyycPiwkhDHqt//C5jlq74lk7uTHdm3JsFwXwYInxHXsX4wq0IafK8dyn FglBJ/16/ONeiWjP+cKP5pacl/fosBHkYsoYKaEW3bRrj6RGR4BH7oyIxyn7KJI7dMZPYb 8r5nCqfVRLAgCfZ0VhrfZ/ip/FgTbOysXWQthG2rZs6uUcvjHqUP9JMvHXIO464at4Ah2W B/W5+2dzHS0e/3JvMLX5kITaYv/7LoqDwLFoYpoHzlmyq6RUTtB2w3ABPRyyBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748374363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4TX1cfjAZy525LQei/Gr0pAOgsJLKUBEWSRBhBELv+w=; b=UhkBrkQoYjdMgbc52Nn1qMZfswsIYdJn9RiE84JN1IVnZFnQvWQOXs4xLre7DbNVkpfIi6 q0kNP3peDSTwSK8n77rMhQ7D5RrGWgHWTKj7cokHYoeoeRFL4wDH5PJxB2euU9zucR91qI i3OnpllDupG3oZ9juX+EW275O0JNofFvQNHsYTzVtU5u1ADt5Iftf/ZWinvKmitVkbat93 3MOm2GFyWZ/xPWLbUOFswrkRbTZQeAvXS/PnYwpwwXvZF1TvYGW+WlDI42E7LN6sc9TmhT ZUQfqoubOHIKXiYC+sZXcqpqLErbZjJc87iUJ7CF7fbkyt2kYYLWXJR1XFjMSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6N7v4Dk1z15Ct; Tue, 27 May 2025 19:32: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 54RJWh5I090669; Tue, 27 May 2025 19:32:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54RJWhCV090666; Tue, 27 May 2025 19:32:43 GMT (envelope-from git) Date: Tue, 27 May 2025 19:32:43 GMT Message-Id: <202505271932.54RJWhCV090666@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 9a4e5a8a714c - stable/14 - pciconf(8): Dump the correct number of bytes 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: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9a4e5a8a714cf8f5497b7c9b8944a13e19be0eb7 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=9a4e5a8a714cf8f5497b7c9b8944a13e19be0eb7 commit 9a4e5a8a714cf8f5497b7c9b8944a13e19be0eb7 Author: Navdeep Parhar AuthorDate: 2025-05-19 06:26:46 +0000 Commit: Navdeep Parhar CommitDate: 2025-05-27 16:59:51 +0000 pciconf(8): Dump the correct number of bytes The loop variable should be incremented by 1 and not the width. Reviewed by: kib Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D50422 (cherry picked from commit 9fb60477fe260da2db029baebe63331d0f584a3d) --- usr.sbin/pciconf/pciconf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index ef75a8fa2341..4d3941131858 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -1153,7 +1153,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 1: db = (uint8_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, db++) { + for (a = 0; a < count; a++, db++) { res = fwrite(db, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); @@ -1164,7 +1164,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 2: dh = (uint16_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, dh++) { + for (a = 0; a < count; a++, dh++) { res = fwrite(dh, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); @@ -1175,7 +1175,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 4: dd = (uint32_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, dd++) { + for (a = 0; a < count; a ++, dd++) { res = fwrite(dd, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); @@ -1186,7 +1186,7 @@ dump_bar(const char *name, const char *reg, const char *bar_start, case 8: dx = (uint64_t *)(uintptr_t)((uintptr_t)pbm.pbm_map_base + pbm.pbm_bar_off + start * width); - for (a = 0; a < count; a += width, dx++) { + for (a = 0; a < count; a++, dx++) { res = fwrite(dx, width, 1, stdout); if (res != 1) { errx(1, "error writing to stdout"); From nobody Tue May 27 19:57:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6NhM2PGVz5xqVM; Tue, 27 May 2025 19:57:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6NhM1mT2z45cr; Tue, 27 May 2025 19:57:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748375843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XF88t/UeAS1osnnOw7wsfIJchDo24I1CLNHMBjb+n6Y=; b=VnGSpcSDcstIapj7oi4H+J9Qj5ffyr4ga0z55cwdPE6hiSYtyJns/oHEBHFLJVkSoG1nQV F4ecKIas9R9qq+CdWyHs5xx8hMoWNPQ2U1//CxW+d9wEtm//75oJmVvwY+Laoel3wQqfrO Lvqg//UiPkdEbLuro2RL6cCXTKKKDurW2KUiLDsrLDQvbnIPc7TNaWM4GIm/vEZPo40+7n 9taKoNGnE1sr1ZD8ay8zSchNdEJtOp3S2CD4NXKt8LNjx7loO1+S4WJ+pmCAiLk1vYOZnm EqSuA0ZMRWY8odOPIWoMsbaw+HUA+1PF2trsgzz6+GN0OAey7AAB+ost2auWTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748375843; a=rsa-sha256; cv=none; b=fIWTex+30+J9X9x+Q0/sr/kExvEi21iMnUG9FUibGBCI9YFRuXG60LDwwbdDAE++vzlGAc 5eySjfM7l8nRf7NpK7GoEvmY4WpQEZWapZLKk0aWOlRYt+ab2rZpcRfIwg+9lTBlXLJTuf ukD5yQYNwzStSvr5RIMK5D1PsORaJaMrOqIpa2UYX2sPfcMb/MV/FcoNHGcQrAMmFx2i2a ojJG79PtjPUBzLEtWF+O0Yk/hUxZxNyj0Y/5mijjuFad8viIlproNktWfG6Efs0nUSYAD8 4Vd1uU+LzQOZhyUe0jvtCDwdiMoi4JSoOflf7u8+5jBWEj/WrM87ptcsvJY/jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748375843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XF88t/UeAS1osnnOw7wsfIJchDo24I1CLNHMBjb+n6Y=; b=dXrA/2bLic1aW0Ij5fyqaVeoZ4gDaO/fJ+V37np/Xw90cZlkMbv7dpLO1793jJ71I/I7MM 1oWWMOPz/gXbT0Q3UHPu8ddgBwXMPLkZETFBkam+bTQm+EhzwF9UJiE4FRFr7cT3CvkcuV /cyaB4N1CjEH1xX2wPK2oeSZIV61UHC8WBLKQ7ATMC1V0LIeSPOvDP6RYx81Ih11QwZEDo XF3wKImuw+NMFvBF5a2IFt+STbJdosg8DQx0EiWiui+tMCiWKRqOBY6qHoA+0waVg5IkLE r5riQXeAvQi1bXqf07GvXp3rZ/mcjSwK1OlD6NRdRG8kgf9k3pVLu2k3W0KdYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6NhM1Lzmz15Jp; Tue, 27 May 2025 19:57: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 54RJvN5N029808; Tue, 27 May 2025 19:57:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54RJvN4T029805; Tue, 27 May 2025 19:57:23 GMT (envelope-from git) Date: Tue, 27 May 2025 19:57:23 GMT Message-Id: <202505271957.54RJvN4T029805@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: 9ccf7aeaa5dc - stable/14 - LinuxKPI: 802.11: mark struct ieee80211_ht_cap __packed 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: 9ccf7aeaa5dc5ceb3bf896d84ee50294b841043b Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9ccf7aeaa5dc5ceb3bf896d84ee50294b841043b commit 9ccf7aeaa5dc5ceb3bf896d84ee50294b841043b Author: Bjoern A. Zeeb AuthorDate: 2025-05-26 23:20:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-27 19:56:50 +0000 LinuxKPI: 802.11: mark struct ieee80211_ht_cap __packed In lkpi_sta_sync_ht_from_ni() we are casting the information element (IE) data to this struct as net80211 does not save the mcs/rx_mask. Not marking the structs packed results in the mcs information not being copied correctly and rx_nss calculations possibly being off. Even worse, at a later stage iwlwifi mvm/rs.c would extract the mcs values from the same field to pass to the firmware which will than crash in an assert as we would want to do HT with an empty MCS set. Sponsored by: The FreeBSD Foundation Discovered: while testing other features on arm64. (cherry picked from commit 6cbf8a04b1864d933506301cabe213a9c918d968) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 396204c3c484..fe2055f05969 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -304,7 +304,7 @@ struct ieee80211_mcs_info { uint16_t rx_highest; uint8_t tx_params; uint8_t __reserved[3]; -}; +} __packed; /* 802.11-2020, 9.4.2.55.1 HT Capabilities element structure */ struct ieee80211_ht_cap { @@ -314,7 +314,7 @@ struct ieee80211_ht_cap { uint16_t extended_ht_cap_info; uint32_t tx_BF_cap_info; uint8_t antenna_selection_info; -}; +} __packed; #define IEEE80211_HT_MAX_AMPDU_FACTOR 13 #define IEEE80211_HE_HT_MAX_AMPDU_FACTOR 16 From nobody Tue May 27 21:02:55 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6Q7z4CR5z5xtcG; Tue, 27 May 2025 21:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6Q7z3m7hz3fm7; Tue, 27 May 2025 21:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748379775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzOoXakW2Kp0U/2CObbiEJNv5ymld3nmmjhwRbaLxTc=; b=fElXqoSIA+W+Z1oPrwuChfxcPldeo5rs6iPo5LcBO4deiA3je16x4QOTiE0hyOGqCgh3c/ wpd3Whygt9mrNhZjZwIA6w2eK/kCpeoYhWsLooa65pQkPa+PE80gOa1Rd7WyGOD+4wQMXq 5TmxT5XZzbsC9vh1v0FZO+tmJ1hAmTpEW2T5wOqbZVD1uiusJkxkUpaqmrMyE8Wq3tIHA6 I4nauzHOqNm9BhyzkFcOLQX1ZM5TMsGLmILNn79m8sqLrCxYkW5WJ50M2e8lzDj8bFGXVp vFcOH4qP+ye99e/3eEBgr6IMldVgDOkL+f5IZDVQ+1hz+xbWfyl9mvktIFibEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748379775; a=rsa-sha256; cv=none; b=wtZYxQhb/hYvUTO1TCztiLMykl3ZkBsOf/9O287yY0qSSWZLyT+OY1KSWoNCDA9LCIDEFS GLjHzN0qf2lQPVf+4cGp5j53IJjKdrroqlXwGYveepO++EphFmpkYL/WMI8NYKaduu64in kENvUQFoxUQb2BtZxvFmAwD4rk9EJdNgUNdSO8Pm8pNNSFCCZwgnuo6//M+V77ZtJLH6ri iRnehTB/l+vazwXEs0xKR7BX44r6035nLT303HefsKAnjDZ2rI2QdGL1dMCh+dkjw/VsE/ yCzs1i0K0XJi+3gv+r9IKhCQcelApuavUNhOjyWmovYoj+OVp7LdfhlmSNsYkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748379775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzOoXakW2Kp0U/2CObbiEJNv5ymld3nmmjhwRbaLxTc=; b=gWs43MVRzhccnKzh80AB2ylIoHDWVgAaajETO6oAIrVd6hbdUSAF12CBI51Cb0JB24jWgn QsEvAGW8kIVeXL4tpDkbHZ7EdKVw4nAIQrmiD+Xjdgw02hFYZDv24AWVB/sM4KrvYGRtGs b3L2/CusjQkIBCruPAGnm7nXkGabodEbCqEk4uFDmCv9o18npQYOcGFTpELGmp6DUUF3hK Hq3CLWHFGYaXs6YcDOAMnVF1FMNe4Y6bbvu6t2djxuaOVd36eTkfveOpHdNNTtAgoyzPXU ssk3wTmU/t3Xbe8IR1tGZsYHxBFGJ5CwX4g41uhIGrYjVl1stBApNNRCtxmHuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6Q7z2lcBz17MV; Tue, 27 May 2025 21:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54RL2t8j061270; Tue, 27 May 2025 21:02:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54RL2tkM061267; Tue, 27 May 2025 21:02:55 GMT (envelope-from git) Date: Tue, 27 May 2025 21:02:55 GMT Message-Id: <202505272102.54RL2tkM061267@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: adc6f56e81aa - releng/14.3 - MAC/do: Fix a too stringent debug assertion for a target of 'uid=*' 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/releng/14.3 X-Git-Reftype: branch X-Git-Commit: adc6f56e81aaca05b8ab72f07a8de6b69d9fe498 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=adc6f56e81aaca05b8ab72f07a8de6b69d9fe498 commit adc6f56e81aaca05b8ab72f07a8de6b69d9fe498 Author: Olivier Certner AuthorDate: 2025-05-27 08:20:06 +0000 Commit: Olivier Certner CommitDate: 2025-05-27 21:01:54 +0000 MAC/do: Fix a too stringent debug assertion for a target of 'uid=*' MDF_HAS_PRIMARY_CLAUSE only concerns groups, not users, and is thus not set in the latter case. This change only has an effect on INVARIANTS builds. PR: 287057 MFC after: 10 minutes Sponsored by: The FreeBSD Foundation (cherry picked from commit b5c9889e369a801ce7c1115f2535ddacbd69800d) (cherry picked from commit 30f092c40ad4eb592861839f4ffa9e9891abf1d3) Approved by: re (cperciva) --- sys/security/mac_do/mac_do.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c index a83c194b24ae..9aeafa62b56d 100644 --- a/sys/security/mac_do/mac_do.c +++ b/sys/security/mac_do/mac_do.c @@ -258,7 +258,8 @@ check_type_and_type_flags(const id_type_t type, const flags_t flags) "groups specification are exclusive"; goto unexpected_flags; } - if (((flags & MDF_PRIMARY) != 0 || (flags & MDF_ANY) != 0) && + if (type == IT_GID && + ((flags & MDF_PRIMARY) != 0 || (flags & MDF_ANY) != 0) && (flags & MDF_HAS_PRIMARY_CLAUSE) == 0) { str = "Presence of folded primary clause not reflected " "by presence of MDF_HAS_PRIMARY_CLAUSE"; From nobody Tue May 27 22:44:53 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6SPd6MNYz5y12K; Tue, 27 May 2025 22:44:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6SPd5WSFz47rl; Tue, 27 May 2025 22:44:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748385893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rDkopYEV0fWNKVmgv49hIL5bkOgOqTDXWOihbZ14db8=; b=Sm0E3ljadpzaWtVk6+WvzO4z04pZN3TG6QLvX//V4o03pMlihadOP8OiVb+NKHW3zO+9Vs YXID3uiFwX5z6eUQQVUW2QG1Y0KtiPWMsRTFHDZECziNl7C5iePJsPy2iT32zKx4eX8RU8 Qzmyt31FnC3h/Hf+gI53kMVOS+u+/NkuR/r75Okvkx2Sr2iKGbN+gnB3E4SftG8J62m5zl +24dIadtNpSLvxYRqpm0zlv2rQE8fq8+Xj/PHjBmjdwbybUB72F0OeAWtdFiLi7hOXaNAm mV9ZPGtDwKL3KzectApT3i2e7DaBSHFrdVr5tHL2Aj3gvvn4s8DFYx//u3Bl/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748385893; a=rsa-sha256; cv=none; b=W/pprtsEt/bVxFLJECh9msLDsfUHtjvMiAef9qd7Ms2NDYA/SrfzEDuUCuqzxqAZ4yeFbC goGmoceQ+qUvfeOTnR1DkgYLXJHeSVrjth8TRxFqqqwKHAPLh2jFEJDtPwhXatbwA+LhNA uQ2xbUEKrtDr4skIcubonYpV2sYw0od6M7Drhvv/5p1YY1fGzOg8NB1lGCZ63bP6zjRPdL ykm+6Erjt7W+K5AcFW7i1DwyjbxjWijpWOKCMAPnxkvv0uAv9alzt6MZcQuCnk5Yn9znWn aODyaAuM0nYU6PfW6Y57yN0vzIe6COXw7wu6GR8eejUTw0NlYYNBx/B6vj2CsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748385893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rDkopYEV0fWNKVmgv49hIL5bkOgOqTDXWOihbZ14db8=; b=Xz4Q2PZEzVylP1/JCaFKy+qA3H5uNqKDHr3p3sXwhEjHUcZ/b44ODhhDVMup65tkPqGsUc FNfI8r2xE9hR48/VL7TAOxIdgQNzt/FXaYWquRWQ0JULezNnpTlhF1XPEWOEm5ToxjtOdm k7IWnIkq+YpUVl7uZcaIt6kQqg42yFh5Vs7SFldNckKKYaFJ9z9JLAxGZp+fgsS9yRzF57 FFenOFjxu78rcAQBcFFSTYTmueFzqZjDhcsWcVw6mqlt/aduX7Jq82sArxrCc793XFm4QN E3QFXtgq9QM4f8SGaMJIBhaX5U8HKUdpdsRVfEGda58CikvOCD9eCMQBZQighA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6SPd4vGbz19yG; Tue, 27 May 2025 22:44: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 54RMir7o048561; Tue, 27 May 2025 22:44:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54RMir5I048558; Tue, 27 May 2025 22:44:53 GMT (envelope-from git) Date: Tue, 27 May 2025 22:44:53 GMT Message-Id: <202505272244.54RMir5I048558@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: 4d66e0f8841b - releng/14.3 - LinuxKPI: 802.11: mark struct ieee80211_ht_cap __packed 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/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 4d66e0f8841b64e1a7d7d0250483da036ff92ab0 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4d66e0f8841b64e1a7d7d0250483da036ff92ab0 commit 4d66e0f8841b64e1a7d7d0250483da036ff92ab0 Author: Bjoern A. Zeeb AuthorDate: 2025-05-26 23:20:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-27 22:44:20 +0000 LinuxKPI: 802.11: mark struct ieee80211_ht_cap __packed In lkpi_sta_sync_ht_from_ni() we are casting the information element (IE) data to this struct as net80211 does not save the mcs/rx_mask. Not marking the structs packed results in the mcs information not being copied correctly and rx_nss calculations possibly being off. Even worse, at a later stage iwlwifi mvm/rs.c would extract the mcs values from the same field to pass to the firmware which will than crash in an assert as we would want to do HT with an empty MCS set. Sponsored by: The FreeBSD Foundation Discovered: while testing other features on arm64. Approved by: re (cperciva) (cherry picked from commit 6cbf8a04b1864d933506301cabe213a9c918d968) (cherry picked from commit 9ccf7aeaa5dc5ceb3bf896d84ee50294b841043b) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 396204c3c484..fe2055f05969 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -304,7 +304,7 @@ struct ieee80211_mcs_info { uint16_t rx_highest; uint8_t tx_params; uint8_t __reserved[3]; -}; +} __packed; /* 802.11-2020, 9.4.2.55.1 HT Capabilities element structure */ struct ieee80211_ht_cap { @@ -314,7 +314,7 @@ struct ieee80211_ht_cap { uint16_t extended_ht_cap_info; uint32_t tx_BF_cap_info; uint8_t antenna_selection_info; -}; +} __packed; #define IEEE80211_HT_MAX_AMPDU_FACTOR 13 #define IEEE80211_HE_HT_MAX_AMPDU_FACTOR 16 From nobody Wed May 28 00:27:05 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6VgZ1r3bz5wcQJ; Wed, 28 May 2025 00:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6VgY4sYPz3cj4; Wed, 28 May 2025 00:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748392025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5EUsJ8RmDCHdNGGvYijDRKI5rDAlLbaC1QiNtGjuqYo=; b=m8PWno5FpDieuaLkaP+xBhjp49x8a8kLZYRodqP3W5+JNUfRFPQFgYjIFR0LshrN4CrBZx 9R+ZP1K8b83GRNaMPzZwrfPzxjXiZa00k79yVxSVdvwsLjcDbjEmgPvpusjs51Gk8Qwghg aVg4piHLWXUT7HUIpfHyLY6UYh2pj2Eip5DGdCXMUM+ed1IGgRoCuABoCevngxh3bLmvie 6wuyqaEWhX02sx8FRpB9plq2TVXkESnN/bcmUSRNVHt5hR2ZTqSNILRaWjae59s9o1sUuy kciERpRlE6Vzox8drevTKjYLF8kgH2ca5DeoA5GyT44yhxIfpagVZ66iYWa1Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748392025; a=rsa-sha256; cv=none; b=GHqQYs8uqLAlWGbLiGMjri3JhEjIFIkbQ+SYL7VFPYcm4T32xzcpN2GLGtLvNES3o9vNZS w4Yph93VdJHDU4SmsOAzgbB2n0RrJdYTl6iDyHatXOOv1BkUqwhaXR7gpjy0Vsnbl7SY+B OYmINFJIQ1dLo8+cI9k8UMNMN8rP8FcjApX/8P9T65Dx5s+uxemvRgeGV0x6z25UaXh7Tg K77anI7k5ImRPKwYpMNbuCYv9JZgkTJeXO9xSLaHSH8g5vV2dK/5Vu8R2ynZ6V/zeY007y iWsTMp3u+y0zKMnzvkxxeZGcsWVQ1aVFeDySYmm3wCHecf3AGTZIQQi4Axyugg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748392025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5EUsJ8RmDCHdNGGvYijDRKI5rDAlLbaC1QiNtGjuqYo=; b=I03kziEk7SIyRPyenONId98SyckuuYi7p8D2BvsmlFUy4ZCE3moI66KVim6v2YS/FSoByt 1j/McAGs90+x324p+SDIB9So6GJZ5o/HcQ3D/AexEmaxjUEmLVmOYsfOYRMRNCUFCT10Ky UuQ9VewXBZSXGEbq9RyiAUOMoRQfF/MWGFp6nyjI8Gzilv9+6sqsW2xhPp3AlB8ESNwumr 7dvg4nEYjCy6gxhwCV4kLJEA/7/e/a1K1Hzo1slOL/tSEmMUfI0PKRISadKPR2X9rz0J7w UaLy44Y/OX77sPaXzX6SMgdrZCFnPI1nWhhht6snFl65HxQZuyNBEpurrNZBEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6VgY4SzzzYw; Wed, 28 May 2025 00:27: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 54S0R5gr036270; Wed, 28 May 2025 00:27:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54S0R5X4036267; Wed, 28 May 2025 00:27:05 GMT (envelope-from git) Date: Wed, 28 May 2025 00:27:05 GMT Message-Id: <202505280027.54S0R5X4036267@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: f23326ff2c7c - stable/14 - systat/top: Update ZFS sysctl names 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f23326ff2c7cad9579061291b6de7feb5ea7302a Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=f23326ff2c7cad9579061291b6de7feb5ea7302a commit f23326ff2c7cad9579061291b6de7feb5ea7302a Author: Alexander Motin AuthorDate: 2025-05-25 18:23:54 +0000 Commit: Alexander Motin CommitDate: 2025-05-28 00:26:52 +0000 systat/top: Update ZFS sysctl names Some of ARC statistic sysctls changed years ago, but those tools are still using legacy shims, that are going to be removed. MFC after: 3 days (cherry picked from commit 8aad1e6148d3389df100bb0391e2d3a909f26ecf) --- usr.bin/systat/main.c | 6 +++--- usr.bin/top/machine.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.bin/systat/main.c b/usr.bin/systat/main.c index 889ce39a6c32..ade0f41b0b2a 100644 --- a/usr.bin/systat/main.c +++ b/usr.bin/systat/main.c @@ -304,9 +304,9 @@ display(void) size_t size = sizeof(arc[0]); if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc[0], &size, NULL, 0) == 0 ) { - GETSYSCTL("vfs.zfs.mfu_size", arc[1]); - GETSYSCTL("vfs.zfs.mru_size", arc[2]); - GETSYSCTL("vfs.zfs.anon_size", arc[3]); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc[1]); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc[2]); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc[3]); GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc[4]); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc[5]); GETSYSCTL("kstat.zfs.misc.arcstats.bonus_size", arc[6]); diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index a76d77a80ce4..07a7119ad0c2 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -537,11 +537,11 @@ get_system_info(struct system_info *si) if (arc_enabled) { GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat); arc_stats[0] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mfu_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc_stat); arc_stats[1] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mru_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc_stat); arc_stats[2] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.anon_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc_stat); arc_stats[3] = arc_stat >> 10; GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc_stat); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc_stat2); From nobody Wed May 28 00:28:55 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6Vjh1BvBz5wcbK; Wed, 28 May 2025 00:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6Vjg48qbz3f9p; Wed, 28 May 2025 00:28:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748392135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A7GW0L23IwIS9Oj2W/i1nTDX5LH92WZF36bU+azgLBY=; b=WFGjUZ27sZXIXwZ6tY31hfOypPMXw1WoLeBzG7r4uZ0p5N4jCP/As8sreDlAoPnoDQEJWP Mb/sto3rzUvfuOcaGTlNKInCvadzjFrDSh51qbB7QYz9Gp8nd/5r/y2Tim2KpdJ9GOrUza kgWpqslvi3n6HZb63H0QvLCHwxh49EJfxCLY400Gf9ID78q6TTDilGnK/x+CYWeM9L7IRt NbvLC9ebq1ATBHQ+tlql1SNGNaSfwIwWILL5dI78iY+fU/ZqgFCPYp4fuffDEVjcbXg9Bn h/sIsJtPFbSjAbRBM3Z44MPOecYeNQVds0wtkAjc0z3h5+7nlodsAAv1AiV6/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748392135; a=rsa-sha256; cv=none; b=rH2wI3X0MdEMRProE8KSWbtfSneGaQ/eRt7PjGHhqBSHxm89baor6y5vaXHpc47gQWZgmF lpnfB7PdsQTPzvfG0EyygUwFL/fHFiBDwtbnhLXKk4qAyUl85RRK8fU1FoFrRuRNTIk06e imgzzoYtuGNFrBinPnFPgvFnoTUZA8o89zZigGUgSOFWA0MX+sJwwV+V3H7va5oFhE7pYt nODrJ2XQPY0COaOKq0TR3RRFESJK5q8rAt77f8a5eleO+mKUixVvIStqO/SVn0woROyte5 fpVRo9Hybbo0tepdK04VTVap1qazeCg9dJ08aM2iD3THiq8U4ALlsTRQ/67VLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748392135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A7GW0L23IwIS9Oj2W/i1nTDX5LH92WZF36bU+azgLBY=; b=hHtkIQ/DleKYgcSjfvpCDqV2u0yF7ejo8x25OjCH6KmEAONiS60Y4k5xtIsDUCCS82CZmF 6LsaKS+GQ30CWeUPmwpcLxgyKe+b6T4e8+Olnd46syRz4SssfdzpWfi2j6vI4BbNlqnXwG hi65WHs63/kg9oZf8z2s3dHi7E0irf1DYF1FS5Y0ymKKt9VPdcoIObnBWCipyPfQqNg7qD 6V3OJ/AqPe4BFPd2dIKOf9ChOSZ1wumzI94hQkuFbArW7csNL16z/WynWLS8V5/Bzb+fr8 2N3DXnTVap36qPzbUqLmNsGtHfJ6S3ILPp7hTytHEIRRwLv3cf5uvxMi8wwnxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6Vjg3NppzRm; Wed, 28 May 2025 00:28: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 54S0StnM036888; Wed, 28 May 2025 00:28:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54S0StOk036885; Wed, 28 May 2025 00:28:55 GMT (envelope-from git) Date: Wed, 28 May 2025 00:28:55 GMT Message-Id: <202505280028.54S0StOk036885@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: c92ffde748d5 - stable/13 - systat/top: Update ZFS sysctl names 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c92ffde748d5fa397964fbc4c1f6766858aeb337 Auto-Submitted: auto-generated The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=c92ffde748d5fa397964fbc4c1f6766858aeb337 commit c92ffde748d5fa397964fbc4c1f6766858aeb337 Author: Alexander Motin AuthorDate: 2025-05-25 18:23:54 +0000 Commit: Alexander Motin CommitDate: 2025-05-28 00:27:55 +0000 systat/top: Update ZFS sysctl names Some of ARC statistic sysctls changed years ago, but those tools are still using legacy shims, that are going to be removed. MFC after: 3 days (cherry picked from commit 8aad1e6148d3389df100bb0391e2d3a909f26ecf) --- usr.bin/systat/main.c | 6 +++--- usr.bin/top/machine.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.bin/systat/main.c b/usr.bin/systat/main.c index e6fc79b7ba59..be580aa2794e 100644 --- a/usr.bin/systat/main.c +++ b/usr.bin/systat/main.c @@ -296,9 +296,9 @@ display(void) size_t size = sizeof(arc[0]); if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc[0], &size, NULL, 0) == 0 ) { - GETSYSCTL("vfs.zfs.mfu_size", arc[1]); - GETSYSCTL("vfs.zfs.mru_size", arc[2]); - GETSYSCTL("vfs.zfs.anon_size", arc[3]); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc[1]); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc[2]); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc[3]); GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc[4]); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc[5]); GETSYSCTL("kstat.zfs.misc.arcstats.bonus_size", arc[6]); diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index a76d77a80ce4..07a7119ad0c2 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -537,11 +537,11 @@ get_system_info(struct system_info *si) if (arc_enabled) { GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat); arc_stats[0] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mfu_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc_stat); arc_stats[1] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mru_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc_stat); arc_stats[2] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.anon_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc_stat); arc_stats[3] = arc_stat >> 10; GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc_stat); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc_stat2); From nobody Wed May 28 02:20:43 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6YBg4Ns8z5wlb2; Wed, 28 May 2025 02:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6YBg3bbKz3sh3; Wed, 28 May 2025 02:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748398843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7lxz0BIb9zU+YdI7cTxxCZ7TWeaOVplvRqjG+JgTBRI=; b=PiuJ4CgvgXbM7MwMetDytRi5tFb+zZbhbUabGJ2aCPgrJNXPekOnda2iBuaXuaaEenanYB CRKvRyeA1aXeI348wBoGlxO4y80FuwwPzGst9t4RsQ6yt7RWmTIMOomyOz0qOgn+Bv9mz0 ghtKWJeVJQALXfaWeDNcpwr9iQ0Auxjv4oy50j1KujBbxHRvYGOCo46UOCskuXB22W2v2C qmuLhgT830/f0CRcE3A46IBj2hocET1qgg3QJMewtVV41Vb5vZbjvyBnMn+evrGL0dG6KC wxKkHiM5L+8yv/P2n9CBnoc3SY36fMmPybCrF3K0R/I8BzOaskCQ6YXrjh3EtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748398843; a=rsa-sha256; cv=none; b=ITwuOBVgLcxXoPKhplgIhglgCfxFsnBi/eTRuPTJi9U75JaeNClZ/seTBqQonVnRSVHK58 BteWJVojPOd59oD28eq+94npb6jYHn7B4ZhjgWhkYgvdX+gVkfF3XIrm7bakJjJFNM0IUR gr0KSF6nqtYXG5QAX9Rw3kQaG0HS0LCV/mmU4qqZmN0qA0D/q/Da/AcQED6MG66eLgNU+j j2Lylt64ZM/otryx1VAA28qlatMgK/G8Z4WsmMnI84onLEXFLt2QpIciRxUSKoZ5O22rLP 4KVhPy6WeKbH48i6sADW2tE1br6PudKWScacnH9RNtbEaEFBj6+ZorLRmADCRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748398843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7lxz0BIb9zU+YdI7cTxxCZ7TWeaOVplvRqjG+JgTBRI=; b=FEKMkbwXMM1QXcom8lqLy55bAOjZuUFyb6E3Xga/IZZYYnwNtI9sbXBYnjVl54C7OmwqxM MYbfEtMx7Px88kgkdgR+InHylpybXn9Wm5h+gcrjW0GPZOiqFTvAImCd30w1Q6btcjhoDH QebuVEbMUrZvT61iTpsR+9wdFR7V1eaeYUOWe+zFPKh8qiOsRt3ek2jMaZBIkMhRivjyPg uo/yzgwYphiGfts4x2Dqd7URVQ+6cDIsFhssL7haMFfqaDVtsZH/D8zS+Oto5QmUfk47SL H2uioqhnuAWCIPm3NOSNkGiWOIwW7uYsCa0hVEYHL95l8H7ZCijEjjKHLuMCbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6YBg2xpnz3Rc; Wed, 28 May 2025 02:20: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 54S2KhWD053501; Wed, 28 May 2025 02:20:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54S2Kha4053498; Wed, 28 May 2025 02:20:43 GMT (envelope-from git) Date: Wed, 28 May 2025 02:20:43 GMT Message-Id: <202505280220.54S2Kha4053498@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 93839cddbd08 - releng/14.3 - systat/top: Update ZFS sysctl names 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 93839cddbd08c5b866e83bda432da4eafd336415 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=93839cddbd08c5b866e83bda432da4eafd336415 commit 93839cddbd08c5b866e83bda432da4eafd336415 Author: Alexander Motin AuthorDate: 2025-05-25 18:23:54 +0000 Commit: Alexander Motin CommitDate: 2025-05-28 02:20:01 +0000 systat/top: Update ZFS sysctl names Some of ARC statistic sysctls changed years ago, but those tools are still using legacy shims, that are going to be removed. Approved by: re (cperciva) (cherry picked from commit 8aad1e6148d3389df100bb0391e2d3a909f26ecf) (cherry picked from commit f23326ff2c7cad9579061291b6de7feb5ea7302a) --- usr.bin/systat/main.c | 6 +++--- usr.bin/top/machine.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.bin/systat/main.c b/usr.bin/systat/main.c index 889ce39a6c32..ade0f41b0b2a 100644 --- a/usr.bin/systat/main.c +++ b/usr.bin/systat/main.c @@ -304,9 +304,9 @@ display(void) size_t size = sizeof(arc[0]); if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc[0], &size, NULL, 0) == 0 ) { - GETSYSCTL("vfs.zfs.mfu_size", arc[1]); - GETSYSCTL("vfs.zfs.mru_size", arc[2]); - GETSYSCTL("vfs.zfs.anon_size", arc[3]); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc[1]); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc[2]); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc[3]); GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc[4]); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc[5]); GETSYSCTL("kstat.zfs.misc.arcstats.bonus_size", arc[6]); diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index a76d77a80ce4..07a7119ad0c2 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -537,11 +537,11 @@ get_system_info(struct system_info *si) if (arc_enabled) { GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat); arc_stats[0] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mfu_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mfu_size", arc_stat); arc_stats[1] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.mru_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.mru_size", arc_stat); arc_stats[2] = arc_stat >> 10; - GETSYSCTL("vfs.zfs.anon_size", arc_stat); + GETSYSCTL("kstat.zfs.misc.arcstats.anon_size", arc_stat); arc_stats[3] = arc_stat >> 10; GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc_stat); GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc_stat2); From nobody Wed May 28 10:11:17 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6ldd43qqz5xGct; Wed, 28 May 2025 10:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6ldd2Rsgz3ScG; Wed, 28 May 2025 10:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748427077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NToFSy3VbUDX1W0QhGzT64l43Rwf1FK86Uez8fvmWbs=; b=DhxMfPWw8FvLn3MKscK4GTccNZtd2krovVbPUC4hWFrrOiJM3Lhyyqb4OZxZfSQrYVf01m yWaITv33G4cN0o7t08N1gbamr3j58qBvKJgm0i3A7w0PgkEL71bTXy+WXZCH6Mm153u0n9 9ODUED5xix/5Fdlr4b5tFf9i0TKigPcMWBmn4bzELCWQxlEvEorHMY4bBEsSMZezeiQ/ot LbI+U0b6CN0Xhx/wl7+N3cn/aU1laTdTvf+3NO7b+W9PLFCJX46flPfhVgj9nir0O1tVnl Ciu6jC/SAEgjjGmVpOIY7OMzi4lZYhUb2Uj3KS+N5EiT8JEUhNdV1Ut7NyErQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748427077; a=rsa-sha256; cv=none; b=S6Y0a/GfcBQ6GezXgw5mSlg49tp7xFcUVlrhr2uUPLWYPb3wL24ch1T/4wIoVDvypPymzQ m0MSyxIa/tPx6sW3PxsKBdSf7+8+WfE8rpn0hSVpDmutpM/pEJpZLMXgG2/99P4/WY/QPr dyj3fHVj6DO6LQN24tQN40IubliE4hfY0EQNsu9bexx6hZdtjbDl+FWjQ2NulqEcGTEFar Y+jugZkm5rYb/DqQiWIBz/ztxN/aJ//nROZ+ARPxw2amoQSYi9z/S20N0Fv+Z5um16+dDf ZgeyEP1OU6om2y30VAQP7yO1aWB23VNXRmJIo43f7O467uIUiywuz9wCQiK1lQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748427077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NToFSy3VbUDX1W0QhGzT64l43Rwf1FK86Uez8fvmWbs=; b=W5aOOchL0ZcX1g7wUtK1iUiUTkXbD0qJ4mcA06MZWeHA4p2P8odqMmQJ9EHOQ7N+CMugHL N05uE7gWocxLih13Ba6wBorr88eU4/kR6EakiCHXZlpYPU000dddu+m056sfoYxpZ/6yMj 8qzUjFB+kkWUmO75/pMgUXU88IKOSNd9lWb9as0bKVwNuYTIXFtIsxvKp0yxJwNLEqAM0O Z4eRx0t/R585PO1FDhFnX7LQA02EWEX0y98JHxJGzpMdNd0EWib4laYEp/jW6PjP8ULNbT 9ZXluba25vZ3B9Sm3vCoraCjpk6zat33soLwnBry0NYg8VVblyxRhbdeHM2+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 4b6ldd1pPfzZGw; Wed, 28 May 2025 10:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54SABHhJ035473; Wed, 28 May 2025 10:11:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54SABHYx035470; Wed, 28 May 2025 10:11:17 GMT (envelope-from git) Date: Wed, 28 May 2025 10:11:17 GMT Message-Id: <202505281011.54SABHYx035470@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: 5c10e8eae0f0 - stable/14 - open.2: add a note about conversion of a file descriptor into O_PATH 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: 5c10e8eae0f071799744f55bc99ef3b712b698ba Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5c10e8eae0f071799744f55bc99ef3b712b698ba commit 5c10e8eae0f071799744f55bc99ef3b712b698ba Author: Konstantin Belousov AuthorDate: 2025-05-25 16:32:34 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-28 10:10:59 +0000 open.2: add a note about conversion of a file descriptor into O_PATH (cherry picked from commit fae33d1d12a51ca2bbdc7f5f189f7a4362fb48f7) --- lib/libc/sys/open.2 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libc/sys/open.2 b/lib/libc/sys/open.2 index 7a760df7cf2f..b3bce8e77793 100644 --- a/lib/libc/sys/open.2 +++ b/lib/libc/sys/open.2 @@ -452,6 +452,13 @@ flag for .Xr fstatat 2 and related syscalls. .Pp +Conversely, a file descriptor +.Dv fd +referencing a filesystem file can be converted to the +.Dv O_PATH +type of descriptor by using the following call +.Dl opath_fd = openat(fd, \[dq]\[dq], O_EMPTY_PATH | O_PATH); +.Pp If successful, .Fn open returns a non-negative integer, termed a file descriptor. From nobody Wed May 28 16:27:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b6vzY2CL4z5wxsq; Wed, 28 May 2025 16:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b6vzY1Mfmz3Rvg; Wed, 28 May 2025 16:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748449641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gMBvNGydlttIObnhUn1rhr2a55LMetfsDzKa2zrrHlk=; b=GYCglQ8iFjTvA+HC0kgwfiTJBG+cwdl8Yktk5oW1/rQLkrBJQSxJbemYzdaAi45TtaHKOl 3Do4gJQdHsNiVLGw0LKaCxr4jzfSMGZ/B8EkbJUt4L6XfkTPQQLS5OEyCD4xxBBF9Gn7IK dybhUwsItaDmLcB4kLYa63abNTfPSjQv9ErI1121XbiMtsJXCEKd+fGTXEdc668LBOYFeO M5+BRxiCohw3KRqPref1pEvLFTvqqsUjriR6xsOMWoT1r5PvJYut0CLnlNyDP5AhWIGOw/ ad1I70GGX7GzPC+FqbkbYqw/cudHN4ogxVY8KToETTIiL1csZONl4Ya1ItK3+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748449641; a=rsa-sha256; cv=none; b=wWbCHiLYHWRZGKDnOFQWt0RifUtCmZF2QF+ktC1tzScVA/7ZxxoFGf6LcK8uXCvda6oZ9j 8/09srW4dCchA4Vy4SdAjLqR3RiTdQCFdkTXfum/N4/I5vHaWS+1KCCA4gq9LHY7/0bD8K ZSc4TO2uMQRCh33bX91FzVONxX7Fgcd1HT7fVKkeFpMh1kJMy6TJI+lnSkqbI6GOYYRDG0 Y+75bDh8zmJiVlE88Crw3IQOdlHPM6V+hlf2UIpitVsvYNiIwi1EMAGHXCm0rwLHSD86Ki 3gZ+C3pm3jhkwd5qE2RA233k9eqRiVVfSl7Ri+r50/s9uTb6hBbOB5756xeiMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748449641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gMBvNGydlttIObnhUn1rhr2a55LMetfsDzKa2zrrHlk=; b=yD2Z4tfRjT3QkJollTsnHCE7ZDw3Yt0DCeXyv9nFvEZfSlJuRBljgMpT3OlFFyNc9lpcPs VIfqCK2FfupwbrfpvjpYgwnWnP+5uZXAHWZ9swBu4o3DvKSINvv6H/cOuig2RsMcZjYT4L qDp/f1eiqjGaxWrWpIwpZSA8Pg990qY1wNIbX+CUuSlrmgh4E/snCwfLRWnM7dqM/y4CfS ZUqEP9knfaARVgAJxdB8q57QTs6Dx8SxwtjBIR/x0eu678j9xWfETuRXsm0ZBB71cGuT9b miiGUuk0HeLRGZxiWNE8aFDH3LhINIg5iTTqTHzoONSB7D8O1ZstC3f7nYabsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b6vzY0yxTzlTq; Wed, 28 May 2025 16:27: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 54SGRLHk037334; Wed, 28 May 2025 16:27:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54SGRL7F037331; Wed, 28 May 2025 16:27:21 GMT (envelope-from git) Date: Wed, 28 May 2025 16:27:21 GMT Message-Id: <202505281627.54SGRL7F037331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a0d22d7934c6 - releng/14.3 - libc++: fix compiling with -fmodules 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: a0d22d7934c697d8af90f1a7f902e13dcf9b3a60 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a0d22d7934c697d8af90f1a7f902e13dcf9b3a60 commit a0d22d7934c697d8af90f1a7f902e13dcf9b3a60 Author: Jordan Gordeev AuthorDate: 2025-05-18 19:55:05 +0000 Commit: Dimitry Andric CommitDate: 2025-05-28 16:26:27 +0000 libc++: fix compiling with -fmodules In /usr/include/c++/v1/__locale_dir/locale_base_api.h, xlocale.h is included without first including stdio.h and stdlib.h, which causes functions like strtoll_l() or sscanf_l() to not be declared. When compiling with -fmodules, locale_base_api.h is processed separately due to a declaration in /usr/include/c++/v1/module.modulemap, and this will cause errors due to the above undeclared symbols. Meanwhile, upstream has substantially reorganized this part of libc++'s headers, so apply a minimalistic workaround: specifically when compiling with -fmodules, add includes of stdio.h and stdlib.h. PR: 286342 Approved by: re (cperciva) MFC after: 1 week (cherry picked from commit c809b0184d0a6543bc5327d4252fa56a07ce4689) (cherry picked from commit cab029073dc6cb5814df44556e585b8fdb1c9846) --- .../llvm-project/libcxx/include/__locale_dir/locale_base_api.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h index 8c000c558c52..e43e87375069 100644 --- a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h +++ b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h @@ -25,7 +25,13 @@ # include <__locale_dir/locale_base_api/fuchsia.h> #elif defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) # include <__locale_dir/locale_base_api/musl.h> -#elif defined(__APPLE__) || defined(__FreeBSD__) +#elif defined(__APPLE__) +# include +#elif defined(__FreeBSD__) +# if __has_feature(modules) +# include +# include +# endif # include #endif From nobody Thu May 29 19:58:29 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7cck01nyz5xR57; Thu, 29 May 2025 19:58:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7ccj5Pz3z3LQh; Thu, 29 May 2025 19:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748548709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODL1K73iOZN49XXCzKQ7p03Aowj/BV5oSTfu2TJZoYk=; b=sdQBfFmnArgA66vE50O/7D6/b6KlalqLZbUf2Ln+dPYy92NiJTy39ehYZQX1xqXzT4C1aj JsToBtx/ebVRxXmG1c1y0NCPAWvvuKSWFeOfTIMHl9ZzKvDhYFaI6FqhX/VFK39zAI34X5 /x4Dn2/yuxYycQ/NpRTnyuUR+MQYjfoZAL09vo+PcuMizRtvlGiCgR59ROZqPOP1hHKfjA /lifip4OG7xQEykRWWasGvRt7/F6h0TjhkTFHgHYaChaMqmCye2zDI6uWTUJStM6YHf/Q1 xOrXoPRd51WWqJpTmPTGgy4iphUCKDtbFrBrq73zk85iYaXjQilcCPrDLO2WPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748548709; a=rsa-sha256; cv=none; b=TVvJxgG4EkJ5u9PWNn7HaAhgqY2Iec9VrR83sBp1WzMhGAZJfZ8H9+JCGPHks3kdfmBhGl 1V1oTnUlvv08MnB11Ua+SkNLXSSheXOtoBCBwm57jm14/x/Bc+tF0EGFHeSSYS6a3d+HV+ BCYkagZPysjksoPPwNN1iqvRf3S6Bs8VaF2XMu0rIjAxF9XwriAva2AhFP4/37ebTyVLeM 1TkX3JGrulSRXvvUGyRUGYv4g4ZfXRHdGx8yxM4knR1iCYzouxoSRpK8ASlTaVfiapWQRc AJcdBLA29xIc19Ng9sNe89oYt7LxFS6DH5yQfHgkNf7rD2I85tnE7SjP0IFx0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748548709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ODL1K73iOZN49XXCzKQ7p03Aowj/BV5oSTfu2TJZoYk=; b=BG4JQkToKu7n3IzPKhOEwwBfMNf/IRqEmPeOoKGBuv+viaEMALU9GR2wHDVvBGmS3fDJcS rhLzMRS/kDqYcwosegMuvIGrA0IeLy9DcUjnicYuRj+jPUE8MWnJAI3bRI8uQDAXlHQxVG Ei3noUfpQ0cGDnUfUVST5UMnp+yLhlNadP/hbU2Wa+EkB3HkBE9/12YkATPqksD0EgkeWO rOdpxi1IhVL8a5zW7KDlcZXoaqXbViHnfE2dsW8xO2TXGTLi0oeYl3a5dNz+7ZgQR7pFM3 oi5cMn4H3T7dJP4qp3avYB739HG36uXqVN9MAcXiFrPZSTR1clERb78TNpFydg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7ccj3XDYz5gt; Thu, 29 May 2025 19:58: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 54TJwTXi031352; Thu, 29 May 2025 19:58:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54TJwTOa031349; Thu, 29 May 2025 19:58:29 GMT (envelope-from git) Date: Thu, 29 May 2025 19:58:29 GMT Message-Id: <202505291958.54TJwTOa031349@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: 8a2ce9f9dd67 - stable/14 - pkg.conf: Use kmod repositories 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: 8a2ce9f9dd6745e77bdfe78f03e96ddc8ad1b9d7 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8a2ce9f9dd6745e77bdfe78f03e96ddc8ad1b9d7 commit 8a2ce9f9dd6745e77bdfe78f03e96ddc8ad1b9d7 Author: Colin Percival AuthorDate: 2025-05-28 21:10:41 +0000 Commit: Colin Percival CommitDate: 2025-05-29 19:58:15 +0000 pkg.conf: Use kmod repositories The kmod repositories were added shortly after 14.2-RELEASE. Point at them here so that users don't need to manually add the configuration in order to get e.g. working graphics. MFC after: 1 minute Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D50583 (cherry picked from commit 29f076ae0cb536d1e891d3375edf28f1bc82df79) --- usr.sbin/pkg/FreeBSD.conf.latest | 7 +++++++ usr.sbin/pkg/FreeBSD.conf.quarterly | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/usr.sbin/pkg/FreeBSD.conf.latest b/usr.sbin/pkg/FreeBSD.conf.latest index a75b0703386f..b7b528bc3756 100644 --- a/usr.sbin/pkg/FreeBSD.conf.latest +++ b/usr.sbin/pkg/FreeBSD.conf.latest @@ -13,3 +13,10 @@ FreeBSD: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +FreeBSD-kmods: { + url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest_${VERSION_MINOR}", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/usr.sbin/pkg/FreeBSD.conf.quarterly b/usr.sbin/pkg/FreeBSD.conf.quarterly index 645053820dda..2050350baa1f 100644 --- a/usr.sbin/pkg/FreeBSD.conf.quarterly +++ b/usr.sbin/pkg/FreeBSD.conf.quarterly @@ -13,3 +13,10 @@ FreeBSD: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +FreeBSD-kmods: { + url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} From nobody Thu May 29 19:59:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7cdM4BNxz5xR0y; Thu, 29 May 2025 19:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7cdM2zkrz3M6P; Thu, 29 May 2025 19:59:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748548743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/UQPbLPxEvrM06P20JAoo28yCSjv6f1wRMw/mdnOqMU=; b=i4uzPe7MzzYjCWebt2cXhdZbO7nDat9wXSDk0Ry5bcH8j5ERmoNDIAIzFzuBdWLS1h+20P VAEb8HwpcGg91NNrTBcnpWHPX76vzRZT1HEeQOqDUhS7EIWo/xiizZ2CKhF3KLI7XRe5eP JluGr6NEj03k46P4vkYb+FyPFadIg63IxOha2mg2gbWhhdFB3r7+ll7VHoNmK/M1neRd3j 2KjhtUMJC13IjNDKDkJnoCkficwHt2oiyp44PX6D9tT9dUMm3ombMNyJ0ygdaRJjwKT1+C HDFjMdU3Pg+2LhboNN1pSI+rcNt9+C1wawgo5OmorgOMLqubzlj6OzzYFDk2rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748548743; a=rsa-sha256; cv=none; b=GuFU6gtJb/vtNYvBEgxxEI4Aj4ATVYWaecXLHJ4Vove1xQYW2Xm7Ax+gMIRMGlXMH+R0fC bQyggXF8RDV3fmKWkq9litdUP2LRs1EqL9AmmfXxRrpgyDQCD8AvYcCZTcWDXPQxYvcy3m FZK0xUXgrXjI0RdtBSYU+8sqYuptIcJ2daUFnA2Fbl8MfMxNNGDWntjU31Z/CgBbaKvyar jiI+FA3LIcUVPyvCObIX6/PWtdsID9ZVsQmtEWLzXLhj7L19WSZgxpPJJlGuAPut6VrAc+ h0cQiNARtmjMaGWAZ6LH7BxxrLVx2DYmPYEcYTxDqCAvxR1Fa76Qlc8bsn65IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748548743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/UQPbLPxEvrM06P20JAoo28yCSjv6f1wRMw/mdnOqMU=; b=NWKDAscTdqzl8nHoUhi/4Wdguoj0pyIRn/wz2EvYYSTeavWOoXYCLnxNXJXePWX9Yc+Y+y ENpOv8Wf748ODcstSjMxAKkIQLWqg2IlaNZ+OyTE3JYXuiVxNBgQBkrp4Mv0aWj6Yt9u8i uqCTYnWg6BUjbMesdxPqpPclMAwRZN05QgccwcWZcFBCdUyHgsJBB1BGKjEn1L6L5qgpWX MjUyc2k/VdoE4poPCn/I8MLkAK1WRt8+dAufCaAisacGJGhoRqmBJqWbJAUS1zCF9ORZyq BZty8sFEgoEHOEZEchhVpf56KV8/69RmYtQff16ZMEuMT8M65BTV3JVzM1WKoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7cdM2K5sz5nM; Thu, 29 May 2025 19:59: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 54TJx32v031671; Thu, 29 May 2025 19:59:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54TJx35k031668; Thu, 29 May 2025 19:59:03 GMT (envelope-from git) Date: Thu, 29 May 2025 19:59:03 GMT Message-Id: <202505291959.54TJx35k031668@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: a47542f71511 - releng/14.3 - pkg.conf: Use kmod repositories 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.3 X-Git-Reftype: branch X-Git-Commit: a47542f7151160cb2d9606b4eb91d7d3fb555e92 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a47542f7151160cb2d9606b4eb91d7d3fb555e92 commit a47542f7151160cb2d9606b4eb91d7d3fb555e92 Author: Colin Percival AuthorDate: 2025-05-28 21:10:41 +0000 Commit: Colin Percival CommitDate: 2025-05-29 19:58:46 +0000 pkg.conf: Use kmod repositories The kmod repositories were added shortly after 14.2-RELEASE. Point at them here so that users don't need to manually add the configuration in order to get e.g. working graphics. Approved by: re (cperciva) MFC after: 1 minute Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D50583 (cherry picked from commit 29f076ae0cb536d1e891d3375edf28f1bc82df79) (cherry picked from commit 8a2ce9f9dd6745e77bdfe78f03e96ddc8ad1b9d7) --- usr.sbin/pkg/FreeBSD.conf.latest | 7 +++++++ usr.sbin/pkg/FreeBSD.conf.quarterly | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/usr.sbin/pkg/FreeBSD.conf.latest b/usr.sbin/pkg/FreeBSD.conf.latest index a75b0703386f..b7b528bc3756 100644 --- a/usr.sbin/pkg/FreeBSD.conf.latest +++ b/usr.sbin/pkg/FreeBSD.conf.latest @@ -13,3 +13,10 @@ FreeBSD: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +FreeBSD-kmods: { + url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest_${VERSION_MINOR}", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/usr.sbin/pkg/FreeBSD.conf.quarterly b/usr.sbin/pkg/FreeBSD.conf.quarterly index 645053820dda..2050350baa1f 100644 --- a/usr.sbin/pkg/FreeBSD.conf.quarterly +++ b/usr.sbin/pkg/FreeBSD.conf.quarterly @@ -13,3 +13,10 @@ FreeBSD: { fingerprints: "/usr/share/keys/pkg", enabled: yes } +FreeBSD-kmods: { + url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} From nobody Thu May 29 22:10:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7gXd51qbz5xYvM; Thu, 29 May 2025 22:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7gXd3JgZz3rhS; Thu, 29 May 2025 22:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748556609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=68inXk82v8GMMaPGvKZDdsN2mov79QO2l9UudgFcqt8=; b=ZYmxvotH0zYh8vSB2RqGaFo+dl+wx87vK7xb5h65Fvf/uWatSDBBD2gYABrL2ozHzrihk1 1IGW2rNx+ljdzz7+UQC9OJc8QEdMMwrbhD94RETFiZEkWtnlHbcOg3DapvxG5qXIQ7tqcZ JsR7fpqqh3VwrFFpWEgQ31whpkFSYfm006ZvHcQtS8Bpv+/k++gMWyY6O1fPmffQu3yX14 W6FaAzGmvx7DVnAJSoMhgGiwboV0Kz5P5TvBQoX4TY6d/zIFz2sICl1RpsN/roO/Hlj/h7 7AN0Kg9Mr/pUKPoQl2eA2xjxFGBH9PrTvmMNeaCstknZvLn5192PL9A006YnZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748556609; a=rsa-sha256; cv=none; b=dosT5BbA/qsbgl8dzfrq/i9sd9zbH1MHCTPXSrPUgC4B6arGG/fqHP2XRrV36HDJvll89C vVbh5bxWu1cqZcRMvgHVepcNvQweZiNwBYuU5nAloq5DyYmZ2bUjCW/QAwqRUUjYTOFak8 3VezVEEmaw1O8M8iUNqTUzaHNrdqlRyM6FpDYCHJHQr/3GYA4a33g8I3OrOtXBZfdmPxek UA4OuCj6EB8CT3LBI6SVtMGpMLpA0MX8pMGbs1MafTMz8Su7xTYTtvAK4QFzciBlNtj727 op5ySu7vRS0j71o/KK5+SepSys8kLey2h+VJ7W3y9oLIvwFr8y1dHEG7shzhIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748556609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=68inXk82v8GMMaPGvKZDdsN2mov79QO2l9UudgFcqt8=; b=umuCZ8nfSZS21m6QYWnB3iGpVloM4j/xNoyH4ikzzYaq45fat6V+/FfRYmPP1VSNquFlwX NgV16D+v7jbllMsZ6n+SA4LfWIjcApX+8Rug1C9i5f10i5abG3PiEkud7o5za1cvxC0MRr 5WdG87gmirXmQpskkuLaAEYvCubCH9oQEhTu7SRAc9N8395qKvJmIcBV6rXL/Ei8pUwcZY 5YqPVQws7u6dOsT/sf05el9EWBgmDhq3YBE8u6t8hfZXYHNPYwDP801ee3N+5JQytcZ0Fl 2SNxXczvAFCyUgWollDB13hzBo6IGYkAcm0xqao9hlrjWuBia+JIGO2oDNCjkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7gXd1Ppjz9Dv; Thu, 29 May 2025 22:10: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 54TMA8M8079377; Thu, 29 May 2025 22:10:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54TMA8Nf079371; Thu, 29 May 2025 22:10:08 GMT (envelope-from git) Date: Thu, 29 May 2025 22:10:08 GMT Message-Id: <202505292210.54TMA8Nf079371@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: 0c6aa445ec0c - stable/14 - sound: Terminate stream properly when closing vchans 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: 0c6aa445ec0c85e7c9653d20562907742569de6f Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0c6aa445ec0c85e7c9653d20562907742569de6f commit 0c6aa445ec0c85e7c9653d20562907742569de6f Author: Christos Margiolis AuthorDate: 2025-05-29 10:24:17 +0000 Commit: Christos Margiolis CommitDate: 2025-05-29 22:09:40 +0000 sound: Terminate stream properly when closing vchans When a channel is closed, dsp_close() either calls vchan_destroy() on vchans, or chn_abort()/chn_flush() on primary channels. However, the problem with this is that, when closing a vchan, we end up not terminating the stream properly. The call sequence we are interested in is the following: vchan_destroy(vchan) -> chn_kill(vchan) -> chn_trigger(vchan) -> vchan_trigger(vchan) -> chn_notify(parent) Even though chn_notify() contains codepaths which call chn_abort(parent), apparently we do not execute any of those codepaths in this case, so the DMA remains unterminated, hence why we keep seeing the primary channel(s) being interrupted even once the application has exited: root@freebsd:~ # sndctl interrupts dsp0.play.0.interrupts=1139 dsp0.record.0.interrupts=0 root@freebsd:~ # sndctl interrupts dsp0.play.0.interrupts=1277 dsp0.record.0.interrupts=0 root@freebsd:~ # sndctl interrupts dsp0.play.0.interrupts=1394 dsp0.record.0.interrupts=0 The only applications that do not have this issue are those (e.g., mpv) that manually call ioctls which end up calling chn_abort(), like SNDCTL_DSP_HALT, to abort the channel(s) during shutdown. For all other applications that do not manually abort the channel(s), we can confirm that chn_abort()/chn_flush(), or even chn_trigger(PCMTRIG_ABORT) on the parent, doesn't happen during shutdown. root@freebsd:~ # dtrace -n 'fbt::chn_abort:entry,fbt::chn_flush:entry { printf("%s", args[0]->name); stack(); }' dtrace: description 'fbt::chn_abort:entry,fbt::chn_flush:entry ' matched 2 probes dtrace: buffer size lowered to 1m ^C [...] root@freebsd:~ # dtrace -n 'fbt::chn_trigger:entry /args[1] == -1/ { printf("%s", args[0]->name); stack(); }' dtrace: description 'fbt::chn_trigger:entry ' matched 1 probe dtrace: buffer size lowered to 1m CPU ID FUNCTION:NAME 0 68037 chn_trigger:entry dsp0.virtual_play.0 sound.ko`chn_kill+0x134 sound.ko`vchan_destroy+0x94 sound.ko`dsp_close+0x39b kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b1 To fix this, modify dsp_close() to execute the primary channel case on both primary and virtual channels. While what we really care about are the chn_abort()/chn_flush() calls, it shouldn't hurt to call the rest of the functions on the vchans as well, to avoid complicating things; they get deleted right below, anyway. With the patch applied: root@freebsd:~ # dtrace -n 'fbt::chn_trigger:entry /args[1] == -1/ { printf("%s", args[0]->name); stack(); }' dtrace: description 'fbt::chn_trigger:entry ' matched 1 probe dtrace: buffer size lowered to 1m CPU ID FUNCTION:NAME 1 68037 chn_trigger:entry dsp0.virtual_play.0 sound.ko`chn_flush+0x2a sound.ko`dsp_close+0x330 kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b 0 68037 chn_trigger:entry dsp0.play.0 sound.ko`chn_notify+0x4ce sound.ko`vchan_trigger+0x105 sound.ko`chn_trigger+0xb4 sound.ko`chn_flush+0x2a sound.ko`dsp_close+0x330 kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b Above we can see a chn_trigger(PCMTRIG_ABORT) on the parent (dsp0.play.0), which is coming from the chn_abort() (inlined) in chn_notify(): root@freebsd:~ # dtrace -n 'kinst::chn_abort:entry { stack(); }' dtrace: description 'kinst::chn_abort:entry ' matched 5 probes dtrace: buffer size lowered to 1m CPU ID FUNCTION:NAME 1 72580 chn_notify:1192 sound.ko`0xffffffff8296cab4 sound.ko`vchan_trigger+0x105 sound.ko`chn_trigger+0xb4 sound.ko`chn_flush+0x2a sound.ko`dsp_close+0x330 kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b We can also confirm the primary channel(s) are not interrupted anymore: root@freebsd:/mnt/src # sndctl interrupts dsp0.play.0.interrupts=0 dsp0.record.0.interrupts=0 In collaboration with: adrian Tested by: adrian, christos, thj Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: thj, adrian, emaste Differential Revision: https://reviews.freebsd.org/D50488 (cherry picked from commit f6430bc61df78be070209d52b4452ae9cf4cd015) --- sys/dev/sound/pcm/dsp.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index f1adcdbc5d70..aa6ad4a59778 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -289,19 +289,25 @@ dsp_close(void *data) if (sg_ids != 0) free_unr(pcmsg_unrhdr, sg_ids); + /* + * Go through the channel abort/flush path for both + * primary and virtual channels to ensure that, in the + * case of vchans, the stream is always properly + * stopped, and the primary channels do not keep being + * interrupted even if all vchans are gone. + */ + CHN_LOCK(rdch); + chn_abort(rdch); /* won't sleep */ + rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | + CHN_F_DEAD | CHN_F_EXCLUSIVE); + chn_reset(rdch, 0, 0); + chn_release(rdch); if (rdch->flags & CHN_F_VIRTUAL) { parent = rdch->parentchannel; CHN_LOCK(parent); CHN_LOCK(rdch); vchan_destroy(rdch); CHN_UNLOCK(parent); - } else { - CHN_LOCK(rdch); - chn_abort(rdch); /* won't sleep */ - rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | - CHN_F_DEAD | CHN_F_EXCLUSIVE); - chn_reset(rdch, 0, 0); - chn_release(rdch); } } if (wrch != NULL) { @@ -314,19 +320,18 @@ dsp_close(void *data) if (sg_ids != 0) free_unr(pcmsg_unrhdr, sg_ids); + CHN_LOCK(wrch); + chn_flush(wrch); /* may sleep */ + wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | + CHN_F_DEAD | CHN_F_EXCLUSIVE); + chn_reset(wrch, 0, 0); + chn_release(wrch); if (wrch->flags & CHN_F_VIRTUAL) { parent = wrch->parentchannel; CHN_LOCK(parent); CHN_LOCK(wrch); vchan_destroy(wrch); CHN_UNLOCK(parent); - } else { - CHN_LOCK(wrch); - chn_flush(wrch); /* may sleep */ - wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | - CHN_F_DEAD | CHN_F_EXCLUSIVE); - chn_reset(wrch, 0, 0); - chn_release(wrch); } } PCM_LOCK(d); From nobody Thu May 29 22:10:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7gXg0Clrz5xYxY; Thu, 29 May 2025 22:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7gXf395cz3rlr; Thu, 29 May 2025 22:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748556610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1CBdmFd3PFSWGvAPvanZAtPUZyYD3vS2xos8kD5zO08=; b=lW7PKTq4pKwIt0XXGYTmczAT+2q4XU6bpN4f+QE+0JnUdp6Q7+SGsmdyhRvk892hjGMnj7 uozq7UY9MMXhzq0ABi4mAfyhxj4PdzGqJDoMII1ocqu6m9s82vOUnkr1PYv2mfEXFK211/ j2QvibVavK6a+bGW0YI2RgGTyFiMVhKB9KYrGsES5nmuGIk6rObts9X3E/UaKuZS/CpCok nRkSEsAHGrQGHRR7/g9RlYQAp3h3elDBJU3oMBpXYx1bDHmF8+g3LAhs1azriVUlA6STtj iKCCE2ydLSz6N0VNZBO7w+a34Z8xTjYKxRhKauh8zyWGDzqSazLJrOGxHH55iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748556610; a=rsa-sha256; cv=none; b=frv4jJSdHPpFvbKPFyJGLVDhKWasP6nr0I3h0iwdjTWVS5L7Fk9M+ylTI/5qCbsiKgGpCD tGRSxN9OLxWanvgwhSEVmFQitghzYk/nRDsCfbEL82feQhh8/F7KJZU6zYXl8qaewqR2an XQivrpug7kF8rCEc+TIEVnhvqmTISxOyOFFvSEQwV+3UJDTHupbgoFuA8of5b+jRGQxQ+B F3OGT22C6CDedf42actQOvqSxirALJR+pSBd5o1QcyEloh8rHhNm3c4vylUSB5LpD6GxOt x20bjAPYBdszgYeMFLr5OTVqLQVnItX9y7uzPreC/3Qxpjt5gwkUTPj7XhNe3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748556610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1CBdmFd3PFSWGvAPvanZAtPUZyYD3vS2xos8kD5zO08=; b=uXC0cQ2c140sg3QT5pZ5qm0/TfPJVtFBeJGZ8C8KL5GknMU0Hk/SVBhMCv7AZ235bC0to6 xTU7A0IzGqwCdx0cXSmhry6iyAMV+bByGr5+ycBQXOIoAZQ0TyRdtpysKeOvLvxyum7Myp K0pVs8hhuZKDuHF27ZwBNXzOHBKrtXxWFChW9nt9kbL93r9DzweIZ6HiTfN6gYrSYOT/va IQ9baFRi6l/s0iTORkytrzVZsPb4XhqFgfYzeMCT2L7YPmd6jbvkDhJthr1u+qtjkcZarZ FMybFDi4ZpzN/NRNMDJM5a6YJFU4GypA1touyfGfw5Sz9zF+HVBlkYiNfTT9mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7gXf0x9jz8kb; Thu, 29 May 2025 22:10: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 54TMA9vL079986; Thu, 29 May 2025 22:10:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54TMA9A6079981; Thu, 29 May 2025 22:10:09 GMT (envelope-from git) Date: Thu, 29 May 2025 22:10:09 GMT Message-Id: <202505292210.54TMA9A6079981@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: b760fa5bf0e9 - stable/14 - snd_dummy: Make callout stopping more robust 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: b760fa5bf0e965210f8df05cef9ff46c68377d2a Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b760fa5bf0e965210f8df05cef9ff46c68377d2a commit b760fa5bf0e965210f8df05cef9ff46c68377d2a Author: Christos Margiolis AuthorDate: 2025-05-29 10:24:28 +0000 Commit: Christos Margiolis CommitDate: 2025-05-29 22:09:40 +0000 snd_dummy: Make callout stopping more robust If the callout gets rescheduled during detach, we might access freed pcm_channel resources in dummy_chan_io(), which will cause a panic similar to this: panic: ASan: Invalid access, 8-byte read at 0xfffffe00479f65d8, UMAUseAfterFree(fd) cpuid = 1 time = 1747433047 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0xa5/frame 0xfffffe0046a8d730 kdb_backtrace() at kdb_backtrace+0xc6/frame 0xfffffe0046a8d890 vpanic() at vpanic+0x226/frame 0xfffffe0046a8da30 panic() at panic+0xb5/frame 0xfffffe0046a8db00 kasan_code_name() at kasan_code_name/frame 0xfffffe0046a8dbd0 __mtx_lock_flags() at __mtx_lock_flags+0xd3/frame 0xfffffe0046a8dcc0 chn_intr() at chn_intr+0x3d/frame 0xfffffe0046a8dce0 dummy_chan_io() at dummy_chan_io+0x9c/frame 0xfffffe0046a8dd10 softclock_call_cc() at softclock_call_cc+0x2bb/frame 0xfffffe0046a8de80 softclock_thread() at softclock_thread+0x162/frame 0xfffffe0046a8def0 fork_exit() at fork_exit+0xa3/frame 0xfffffe0046a8df30 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0046a8df30 Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50386 (cherry picked from commit 0432b2183f25ddba7e13a33adf1dd6f9563b0bd1) --- sys/dev/sound/dummy.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sys/dev/sound/dummy.c b/sys/dev/sound/dummy.c index 89e22a5ceb44..eeb6bd4ad4ad 100644 --- a/sys/dev/sound/dummy.c +++ b/sys/dev/sound/dummy.c @@ -65,6 +65,7 @@ struct dummy_softc { struct dummy_chan chans[DUMMY_NCHAN]; struct callout callout; struct mtx *lock; + bool stopped; }; static bool @@ -92,6 +93,9 @@ dummy_chan_io(void *arg) struct dummy_chan *ch; int i = 0; + if (sc->stopped) + return; + /* Do not reschedule if no channel is running. */ if (!dummy_active(sc)) return; @@ -108,7 +112,8 @@ dummy_chan_io(void *arg) chn_intr(ch->chan); snd_mtxlock(sc->lock); } - callout_schedule(&sc->callout, 1); + if (!sc->stopped) + callout_schedule(&sc->callout, 1); } static int @@ -195,6 +200,11 @@ dummy_chan_trigger(kobj_t obj, void *data, int go) snd_mtxlock(sc->lock); + if (sc->stopped) { + snd_mtxunlock(sc->lock); + return (0); + } + switch (go) { case PCMTRIG_START: ch->ptr = 0; @@ -345,8 +355,11 @@ dummy_detach(device_t dev) struct dummy_softc *sc = device_get_softc(dev); int err; - err = pcm_unregister(dev); + snd_mtxlock(sc->lock); + sc->stopped = true; + snd_mtxunlock(sc->lock); callout_drain(&sc->callout); + err = pcm_unregister(dev); snd_mtxfree(sc->lock); return (err); From nobody Thu May 29 22:19:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7gkw0zYVz5xZK0; Thu, 29 May 2025 22:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7gkv6dP9z41TN; Thu, 29 May 2025 22:19:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748557143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zbfx9aqXks8qxfh3OezTsYAYje1K0kFe4cBCFqpCCsE=; b=xr2kmBb5W3RHbAeR45O3sfYJlV9kMpZ4cFtZVXeHbTYLGojCqwWI0DOrJ4EjaKMo5j1TOT V0fDeZV1nomkS+9TZ8z5D6VbhVsOXPbx7UD4VEr0+uXCzISa6PQnvdVdExRbR4h4WGPUzd m8hcps1jPsy0mQVgQmq71+4ST2AXACk1Q10d6sPjCfXkD7iywvrBOdz98DSOaYZSDxAeqW MPIYjbyKckLLE/TvWoczPckYhstfBZ2MXYD4D27rmQOfu52Mi7aTvJA95H/bDhDDiOJPbK o7N4Ewc+LjI2t7gX9TVFotpP7FCbz/mLK7h4qR7v3qBZFk3cK1R2/cpnXAtqqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748557143; a=rsa-sha256; cv=none; b=b9jZ2aXfx4WgvXoGC9DPm3kIH787rEV/jeOcompQZe1P4ji3sJ2B0X8ViNuNvHWBhKUpDk bSOsGMF12DPScrkGybqQS0lKc/5SQbhHYcVCdERi5mfai/JMMEa8T5MEAIhDAt244g0XRV VsBZAXlvA9b4eN+qqR7JeSLstmBMdhelqvmmtPB/NdVc8mrny6MfwvzyRrRGTYdZ2rBzkl ai0DQ0i2Qwwc9xdKNOGNaTkQTq7+QvNw/HtrbfklNFo/Fqkss79GTUztQ27s3fBK5+DvGE jNc5G1wLRUUy9k1kfG6QGix+zG7hDx6PWMTogeGtvCXsK+UYOcjVGzua20+EKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748557143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zbfx9aqXks8qxfh3OezTsYAYje1K0kFe4cBCFqpCCsE=; b=AwEqpEhKVf0MIkGO1s6qhRROV60+WJTfwSmbnC9fh9UBDfjVKfeZtRc9ZzuEk6Ebjaaalc sjuJWpv0QtCiMbTal1HO/432B1d5whuwUUbr5Z0pJ63Rp1rQiIfR6C6T9AVqOLrJIcN1uZ SVJS0sLi5TB44yO8HvauYap4stdXCeLuN7ps2rSYNy6nW7i8S1gSfcZLwiEiLj4DrjhYeD JaWYUs4BROHalhAhv0ixFJXQeiXhuhJA5P/1HJQ8DDRUlKNBJl82H9ZqxCeJ/HqhgamyUl 26Rw6rkAvUuS4Q2wcQQe6/LAHeEL+kqulRztrkMBpC5x8INGP6i6tx5QI49Pew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7gkv5h1qz9XW; Thu, 29 May 2025 22:19: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 54TMJ31c094213; Thu, 29 May 2025 22:19:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54TMJ3h6094210; Thu, 29 May 2025 22:19:03 GMT (envelope-from git) Date: Thu, 29 May 2025 22:19:03 GMT Message-Id: <202505292219.54TMJ3h6094210@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: 85739bcbce22 - releng/14.3 - 14.3: Switch from "quarterly" to "release" pkgs 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.3 X-Git-Reftype: branch X-Git-Commit: 85739bcbce22212f4a998bd3dc8cf8fdb3b69e4e Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=85739bcbce22212f4a998bd3dc8cf8fdb3b69e4e commit 85739bcbce22212f4a998bd3dc8cf8fdb3b69e4e Author: Colin Percival AuthorDate: 2025-05-29 22:18:34 +0000 Commit: Colin Percival CommitDate: 2025-05-29 22:18:34 +0000 14.3: Switch from "quarterly" to "release" pkgs Approved by: re (implicit) Sponsored by: Amazon --- release/pkg_repos/release-dvd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index 600c309d5979..72c369da39b1 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -1,5 +1,5 @@ release: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/release_3", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", From nobody Thu May 29 22:51:56 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7hSr6SGRz5xbxf; Thu, 29 May 2025 22:51:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7hSr4nsmz3XVb; Thu, 29 May 2025 22:51:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748559116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uSsYVvpKHWChCgsgOkGruyo7tbuwjHOMfoghr6x03vc=; b=YvE+2A/orTsO47Ooc0swCCeHBnFwhLlNEW6f8fXytdNwLgaXzZtoKEWMoq7gfjyLjyfaTy fXv95ZEJ6f21VQLnYnw2M+GUlbf0XWlj5GBacKehKLk+KxBMLqKhK9lVJAvnnWAsxwLMb5 SVfezqxaq0z/bqnQuHhu0bm2MWtWx7pfs3GmMDCnWspdKYzLQ/+rGfFMHcHNziaQrbnflF Qalrxi7auysrvdtIaY/7HgkncZAFdErA9Uh9hj4q5bELxIPYkXSqrmHq3fU+q4M2knWyx8 BDOKILgV/sb6IyTd+aWPs/fd/cI7PGs0E69561QrPjT3hwpfXLA8XH2leMW6YA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748559116; a=rsa-sha256; cv=none; b=wI0Uu1giKCQLFD8geH4LKflhb7Zc5gaB8Q8UXJPK/EF/6SD7DjPOxAcD17vweKC8yKYo3J xlrHUDfeWCCWT4Ft/HuAa0nKSlfQNX65EUKIQ9RMB5yMjXQgG1vVSnAPtBtZZFwzXvluwr i1nOmJo9rUyQFcTL5ZGzAFOxK48btagryxkZXmEMC8udegeip1+izzYjux5b0RaQ/cbe2J P5JArBbNwcedXDlDCZo35ldEIIJzQCuZeSwI8rXCV4UVHGWWq1nyEmL8JtfhJjHVeOUsVN E8L9I/xzQAylwpcJPo/BpMDCRdyJqYjME2Xxr/dRQNrLplEC8SGeztcmxjxhoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748559116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uSsYVvpKHWChCgsgOkGruyo7tbuwjHOMfoghr6x03vc=; b=w9j+0ByKJfGCHjIlIZQFCHaTIZwXtMiMV6wYixSHkhQCzSxNloKATB9TOVTl/pHVWbPdRt TlYxMDoJODT7RWvyJ9MhRmaipmew7ESKLtT+RVVqSXr7VvRXjllhR+k60S40i/LfWOoHEP UmB5KK9UhiBire4AYEkY9pkgURCvuiiTljhMAWmGd//cY19xxjEPh29IwSbFO6lLzz5S4P h9WJUwLhWFdTA3MNSPZ2VALiiLqqDOmV2TZ8m2qPCL0deTZGOWQCVGBS/38rUTZL4ZHoUz O2p5OrBGru7DEgaQenHg6TDFh27HyigLYq1pjSSTxIl9kfE4WuN39Ckwoqufbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7hSr4NRvzBNF; Thu, 29 May 2025 22:51: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 54TMpu1L065663; Thu, 29 May 2025 22:51:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54TMpueS065660; Thu, 29 May 2025 22:51:56 GMT (envelope-from git) Date: Thu, 29 May 2025 22:51:56 GMT Message-Id: <202505292251.54TMpueS065660@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: 99b8be414cbc - releng/14.3 - sound: Terminate stream properly when closing vchans 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/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 99b8be414cbcb4577859985ef80eb053d761ae5f Auto-Submitted: auto-generated The branch releng/14.3 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=99b8be414cbcb4577859985ef80eb053d761ae5f commit 99b8be414cbcb4577859985ef80eb053d761ae5f Author: Christos Margiolis AuthorDate: 2025-05-29 10:24:17 +0000 Commit: Christos Margiolis CommitDate: 2025-05-29 22:51:30 +0000 sound: Terminate stream properly when closing vchans When a channel is closed, dsp_close() either calls vchan_destroy() on vchans, or chn_abort()/chn_flush() on primary channels. However, the problem with this is that, when closing a vchan, we end up not terminating the stream properly. The call sequence we are interested in is the following: vchan_destroy(vchan) -> chn_kill(vchan) -> chn_trigger(vchan) -> vchan_trigger(vchan) -> chn_notify(parent) Even though chn_notify() contains codepaths which call chn_abort(parent), apparently we do not execute any of those codepaths in this case, so the DMA remains unterminated, hence why we keep seeing the primary channel(s) being interrupted even once the application has exited: root@freebsd:~ # sndctl interrupts dsp0.play.0.interrupts=1139 dsp0.record.0.interrupts=0 root@freebsd:~ # sndctl interrupts dsp0.play.0.interrupts=1277 dsp0.record.0.interrupts=0 root@freebsd:~ # sndctl interrupts dsp0.play.0.interrupts=1394 dsp0.record.0.interrupts=0 The only applications that do not have this issue are those (e.g., mpv) that manually call ioctls which end up calling chn_abort(), like SNDCTL_DSP_HALT, to abort the channel(s) during shutdown. For all other applications that do not manually abort the channel(s), we can confirm that chn_abort()/chn_flush(), or even chn_trigger(PCMTRIG_ABORT) on the parent, doesn't happen during shutdown. root@freebsd:~ # dtrace -n 'fbt::chn_abort:entry,fbt::chn_flush:entry { printf("%s", args[0]->name); stack(); }' dtrace: description 'fbt::chn_abort:entry,fbt::chn_flush:entry ' matched 2 probes dtrace: buffer size lowered to 1m ^C [...] root@freebsd:~ # dtrace -n 'fbt::chn_trigger:entry /args[1] == -1/ { printf("%s", args[0]->name); stack(); }' dtrace: description 'fbt::chn_trigger:entry ' matched 1 probe dtrace: buffer size lowered to 1m CPU ID FUNCTION:NAME 0 68037 chn_trigger:entry dsp0.virtual_play.0 sound.ko`chn_kill+0x134 sound.ko`vchan_destroy+0x94 sound.ko`dsp_close+0x39b kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b1 To fix this, modify dsp_close() to execute the primary channel case on both primary and virtual channels. While what we really care about are the chn_abort()/chn_flush() calls, it shouldn't hurt to call the rest of the functions on the vchans as well, to avoid complicating things; they get deleted right below, anyway. With the patch applied: root@freebsd:~ # dtrace -n 'fbt::chn_trigger:entry /args[1] == -1/ { printf("%s", args[0]->name); stack(); }' dtrace: description 'fbt::chn_trigger:entry ' matched 1 probe dtrace: buffer size lowered to 1m CPU ID FUNCTION:NAME 1 68037 chn_trigger:entry dsp0.virtual_play.0 sound.ko`chn_flush+0x2a sound.ko`dsp_close+0x330 kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b 0 68037 chn_trigger:entry dsp0.play.0 sound.ko`chn_notify+0x4ce sound.ko`vchan_trigger+0x105 sound.ko`chn_trigger+0xb4 sound.ko`chn_flush+0x2a sound.ko`dsp_close+0x330 kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b Above we can see a chn_trigger(PCMTRIG_ABORT) on the parent (dsp0.play.0), which is coming from the chn_abort() (inlined) in chn_notify(): root@freebsd:~ # dtrace -n 'kinst::chn_abort:entry { stack(); }' dtrace: description 'kinst::chn_abort:entry ' matched 5 probes dtrace: buffer size lowered to 1m CPU ID FUNCTION:NAME 1 72580 chn_notify:1192 sound.ko`0xffffffff8296cab4 sound.ko`vchan_trigger+0x105 sound.ko`chn_trigger+0xb4 sound.ko`chn_flush+0x2a sound.ko`dsp_close+0x330 kernel`devfs_destroy_cdevpriv+0xab kernel`devfs_close_f+0x63 kernel`_fdrop+0x1a kernel`closef+0x1e3 kernel`closefp_impl+0x76 kernel`amd64_syscall+0x151 kernel`0xffffffff8103841b We can also confirm the primary channel(s) are not interrupted anymore: root@freebsd:/mnt/src # sndctl interrupts dsp0.play.0.interrupts=0 dsp0.record.0.interrupts=0 In collaboration with: adrian Tested by: adrian, christos, thj Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: thj, adrian, emaste Differential Revision: https://reviews.freebsd.org/D50488 (cherry picked from commit f6430bc61df78be070209d52b4452ae9cf4cd015) (cherry picked from commit 0c6aa445ec0c85e7c9653d20562907742569de6f) Approved by: re (cperciva) --- sys/dev/sound/pcm/dsp.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index c5caeea8a002..8ee3d1d3f2a8 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -290,19 +290,25 @@ dsp_close(void *data) if (sg_ids != 0) free_unr(pcmsg_unrhdr, sg_ids); + /* + * Go through the channel abort/flush path for both + * primary and virtual channels to ensure that, in the + * case of vchans, the stream is always properly + * stopped, and the primary channels do not keep being + * interrupted even if all vchans are gone. + */ + CHN_LOCK(rdch); + chn_abort(rdch); /* won't sleep */ + rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | + CHN_F_DEAD | CHN_F_EXCLUSIVE); + chn_reset(rdch, 0, 0); + chn_release(rdch); if (rdch->flags & CHN_F_VIRTUAL) { parent = rdch->parentchannel; CHN_LOCK(parent); CHN_LOCK(rdch); vchan_destroy(rdch); CHN_UNLOCK(parent); - } else { - CHN_LOCK(rdch); - chn_abort(rdch); /* won't sleep */ - rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | - CHN_F_DEAD | CHN_F_EXCLUSIVE); - chn_reset(rdch, 0, 0); - chn_release(rdch); } } if (wrch != NULL) { @@ -315,19 +321,18 @@ dsp_close(void *data) if (sg_ids != 0) free_unr(pcmsg_unrhdr, sg_ids); + CHN_LOCK(wrch); + chn_flush(wrch); /* may sleep */ + wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | + CHN_F_DEAD | CHN_F_EXCLUSIVE); + chn_reset(wrch, 0, 0); + chn_release(wrch); if (wrch->flags & CHN_F_VIRTUAL) { parent = wrch->parentchannel; CHN_LOCK(parent); CHN_LOCK(wrch); vchan_destroy(wrch); CHN_UNLOCK(parent); - } else { - CHN_LOCK(wrch); - chn_flush(wrch); /* may sleep */ - wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | - CHN_F_DEAD | CHN_F_EXCLUSIVE); - chn_reset(wrch, 0, 0); - chn_release(wrch); } } PCM_LOCK(d); From nobody Fri May 30 00:00:18 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b7jzl0gvMz5xgHB; Fri, 30 May 2025 00:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b7jzk5vskz3cMP; Fri, 30 May 2025 00:00:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748563218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leM3EyvKMvtvnyrzzuwQTurv5ZxWjKBw5SxQGWWulks=; b=kL57R+bY/ZEcIWW6C70+O67bYYH1lT2KaK7Z5n+cl3PAjRM3MKtYoCvfyoUmqJyc3fdW/z 5P5z1FIgdLVtf2b8b1mON2LDOccTvtjm5o7p2EHgGrUK/5/dPoxBZcOwgonm/KEksqtfbJ O12cYiW4axbuy9ss3+OFg0H1jy1GzHdQWVyLSg6zSUI3CLbUcV/EqTjSpFWtLkhyWMgLNw 00ZEY+hSFJNj97tiOI5Mbw2vCz6Q2g3fWUwi3QhfzdMl+kWJEUpUFwETUbbgdIol1SbF2W 3dMF+AYC91SaIniniaXTriKXKW0HVfRmzneOa6fe8r4zBKzUe9KIF/JLw+ht7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748563218; a=rsa-sha256; cv=none; b=vcZa5wF22HH9rqsg3LgSU6TJlpjBiSGj5P7lKalw/CVdxpuSnw2myAbssG1UL1PfRd+frP qnPfxq2hQS8TAcA9JMnA0hLNRAsck09bYSQr+qATV5BBpaObyHaYuNTC9t2k/H8duFeWnk tYLAj1VqtBCOIcpjwMIcIYcu654CHEPqgGD+8SievEo69gX+1/akywFC+u3HhNFdjwuq/L UPpE7hqPmPo6DzsbmejCjDe1ai2zq6jWaloqwxcVxTV09zIffIHyr/KQHgmmudW2u/Qdm+ Hfp6z7na+3xIFZDxgJfhGu62n1wLNb1zcuylXaYiAs5JWYSuR1aGcNjhWNzNBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748563218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leM3EyvKMvtvnyrzzuwQTurv5ZxWjKBw5SxQGWWulks=; b=vSZXafSewr8JgXo/VMQUVya5LXt7VnpCwHhGVam1uQ93x4HLKRBShpRXau7XOC9Ituf8x7 HpjA0KtIh1kLx98OSv2cWmI6XAVOw9IdVCsI0PF6GJUW+eVj1t47TgIRNTEE+Sxva+IbIV YmoTr7vekiLNmtPhqN57SOhiXauHl2SJYAVFLcwtg1l1IJTmhDlP1txSpx3E/sFUs2FyVm y2PMihC2zZDqCEnVKJcAS9BhNdC7bQOtQHyCJ/UL1jFDY8SlcRtrMexLo5kgNhIKtNqsJc 5znONHBKaBlrgOYv1H+wD8f3mj9sqfTKeW9orxRvpj5y9pVC/YWT5BOfaxJEmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b7jzk5PyJzCyR; Fri, 30 May 2025 00:00: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 54U00IMt091751; Fri, 30 May 2025 00:00:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54U00IiE091748; Fri, 30 May 2025 00:00:18 GMT (envelope-from git) Date: Fri, 30 May 2025 00:00:18 GMT Message-Id: <202505300000.54U00IiE091748@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: 3383279318c0 - releng/14.3 - 14.3: Update to RC1 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.3 X-Git-Reftype: branch X-Git-Commit: 3383279318c0564d405c64516cdd127bc2a0dd9f Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=3383279318c0564d405c64516cdd127bc2a0dd9f commit 3383279318c0564d405c64516cdd127bc2a0dd9f Author: Colin Percival AuthorDate: 2025-05-30 00:00:00 +0000 Commit: Colin Percival CommitDate: 2025-05-29 22:54:06 +0000 14.3: Update to RC1 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 8c988150f902..1ebacc6cc176 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.3" -BRANCH="BETA4" +BRANCH="RC1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri May 30 12:42:19 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b82v013rxz5xd7v; Fri, 30 May 2025 12:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b82v00M0pz3HC7; Fri, 30 May 2025 12:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748608940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Trt4q20IhkW6ukM5KMoHeiEVusPtmbgqoY109EpNlS8=; b=MW/7EW4/jEFqxxRlL19V2pl6go/9oGLwuDotLUeud705I8ghFxC6tUyptpO8AsAgGA2ZeZ 1Ke0Lz0YlbdZuBhSHQDvxkOeemhPEu7AMTpcwkuV1KNtFyTHxMFfOBqlY3Zpc7BAdmcDcM BxGaO/4LuCFp+DbNv+JrE/T+/lQxNfEmdoRDCttNUphi1OS8gFeFLrh5lkGveAOWBfPQH0 wYTg6MP7zS4U2udDVltQEX60XYpb/0jNut9G7iKnrn2dyLBNnJKt299CEmQ717DaYEsXs5 TJfsAgClauXCGxVyaVFjGyx5dnzN9RMQ02cv0Kmgtg7hLl3uNbR3AIAq4a+SfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748608940; a=rsa-sha256; cv=none; b=e0sELgSFzig0GS2tFPNmVFIU6p1OFp5l+OBFEcz4Q6Z+5+vNAv7X8VPWrvVhTJyxEVZsMX VCeQZ7hF/KSB9vmHFeX+MLQclbt5fABPA/kdFv6BPA3xgCDqKQ2GjY5wa3Ag1MU1vyJ/k5 N6YV80o6CFfESul8AVT3dr8LUK/99e0tsDoT1xDnc1wdKFd/IvKT1PGHPWpvNEStGkbe3j PNNjGMnMberFBxstGdTi7DNAluWrlkroKAt5/5gNgCKnofisbprt9REa48QpCBywwF/mJG Fxh2SwhBvxuByCtQKsdrxHV7PmRxGS3tQAp/BJP5tjhUORxE3jY+TW1B+zr1Og== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748608940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Trt4q20IhkW6ukM5KMoHeiEVusPtmbgqoY109EpNlS8=; b=wcgTnWkwfaIqq+T8p1KTFx3zrx2o1654FkVsN96xeL0v49iCnEQAMuqz9BkiUeDuP1mn9/ tdh9uQSSjG3av9PF8IEYWUdCQ33pDVpyH3c+77eS5P9Hyp9HcZcxrRj0QDa+00OuiXXAxn 0lvmXwyQYXl4myvKv0waofl/1fDUIEoA3+U3Y0gB7KOfT9ulI3fpr+88KVu0Hw/xbArPGB DKbYwq+ISvS6DvKrOLhrzpdEs1Ssw6986uoHDIhkJVa8GBc0rT5MnpRkt+m28to37D1Ivn 4h8bAA4k/ERuuUMKs9TMsMDDKQowo+Za3UCFJ40U63DXsqcwi44Tmlo0ag03EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b82tz6sJczskQ; Fri, 30 May 2025 12:42: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 54UCgJUZ022070; Fri, 30 May 2025 12:42:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UCgJKp022067; Fri, 30 May 2025 12:42:19 GMT (envelope-from git) Date: Fri, 30 May 2025 12:42:19 GMT Message-Id: <202505301242.54UCgJKp022067@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 9c34a6876a60 - stable/14 - certctl: Split certificate bundles before processing. 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: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9c34a6876a60dc10fda6ad6a0cbe8f99a372aadc Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=9c34a6876a60dc10fda6ad6a0cbe8f99a372aadc commit 9c34a6876a60dc10fda6ad6a0cbe8f99a372aadc Author: Dag-Erling Smørgrav AuthorDate: 2023-10-05 14:50:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-30 12:40:53 +0000 certctl: Split certificate bundles before processing. This allows 'certctl rehash' to do the right thing when ca_root_nss is installed, instead of linking the entire bundle to the hash of the first certificate it contains. MFC after: 3 days Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D42087 (cherry picked from commit a401c8cb26b22688087ad7c5ee527718459df15a) certctl: Fix recent regressions. - If an untrusted certificate is also found in the list of trusted certificate, issue a warning and skip it, but don't fail. - Split on -+BEGIN CERTIFICATE-+ instead of "Certificate:" since that's what we're really looking for. Also fix a long-standing bug: .crl files are not certificates, so we should not include them when searching for certificates. Reported by: madpilot, netchild, tijl Reviewed by: netchild, allanjude Differential Revision: https://reviews.freebsd.org/D42276 (cherry picked from commit 87945a082980260b52507ad5bfb3a0ce773a80da) certctl: Convert line endings before inspecting files. This ensures that certificate files or bundles with DOS or Mac line endings are recognized as such and handled identically to those with Unix line endings. PR: 274952 Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D42490 (cherry picked from commit f7d16a627efa8ba610eb9b8a12dd67b6cdbb2542) certctl: Revert to symlinks. Unfortunately tar will not be able to extract base.txz to a system where /etc and /usr are not on the same filesystem if the certificates are hard links. PR: 277828 Reviewed by: mp Differential Revision: https://reviews.freebsd.org/D44496 (cherry picked from commit 3fed4f0db53a66a0135bea5c491431eb3348cf51) --- usr.sbin/certctl/certctl.sh | 105 ++++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 37 deletions(-) diff --git a/usr.sbin/certctl/certctl.sh b/usr.sbin/certctl/certctl.sh index 5af8fecb93ac..458f5c53682f 100755 --- a/usr.sbin/certctl/certctl.sh +++ b/usr.sbin/certctl/certctl.sh @@ -32,7 +32,6 @@ set -u : ${DESTDIR:=} : ${DISTBASE:=} -: ${FILEPAT:="\.pem$|\.crt$|\.cer$|\.crl$"} ############################################################ GLOBALS @@ -63,6 +62,20 @@ perform() fi } +cert_files_in() +{ + find -L "$@" -type f \( \ + -name '*.pem' -or \ + -name '*.crt' -or \ + -name '*.cer' \ + \) 2>/dev/null +} + +eolcvt() +{ + cat "$@" | tr -s '\r' '\n' +} + do_hash() { local hash @@ -93,23 +106,32 @@ get_decimal() return 0 } -create_trusted_link() +create_trusted() { local hash certhash otherfile otherhash local suffix + local link=${2:+-lrs} hash=$(do_hash "$1") || return certhash=$(openssl x509 -sha1 -in "$1" -noout -fingerprint) for otherfile in $(find $UNTRUSTDESTDIR -name "$hash.*") ; do otherhash=$(openssl x509 -sha1 -in "$otherfile" -noout -fingerprint) if [ "$certhash" = "$otherhash" ] ; then - info "Skipping untrusted certificate $1 ($otherfile)" - return 1 + info "Skipping untrusted certificate $hash ($otherfile)" + return 0 + fi + done + for otherfile in $(find $CERTDESTDIR -name "$hash.*") ; do + otherhash=$(openssl x509 -sha1 -in "$otherfile" -noout -fingerprint) + if [ "$certhash" = "$otherhash" ] ; then + verbose "Skipping duplicate entry for certificate $hash" + return 0 fi done suffix=$(get_decimal "$CERTDESTDIR" "$hash") verbose "Adding $hash.$suffix to trust store" - perform install ${INSTALLFLAGS} -lrs "$(realpath "$1")" "$CERTDESTDIR/$hash.$suffix" + perform install ${INSTALLFLAGS} -m 0444 ${link} \ + "$(realpath "$1")" "$CERTDESTDIR/$hash.$suffix" } # Accepts either dot-hash form from `certctl list` or a path to a valid cert. @@ -137,6 +159,7 @@ resolve_certname() create_untrusted() { local srcfile filename + local link=${2:+-lrs} set -- $(resolve_certname "$1") srcfile=$1 @@ -147,12 +170,13 @@ create_untrusted() fi verbose "Adding $filename to untrusted list" - perform install ${INSTALLFLAGS} -lrs "$srcfile" "$UNTRUSTDESTDIR/$filename" + perform install ${INSTALLFLAGS} -m 0444 ${link} \ + "$srcfile" "$UNTRUSTDESTDIR/$filename" } do_scan() { - local CFUNC CSEARCH CPATH CFILE + local CFUNC CSEARCH CPATH CFILE CERT SPLITDIR local oldIFS="$IFS" CFUNC="$1" CSEARCH="$2" @@ -160,14 +184,25 @@ do_scan() IFS=: set -- $CSEARCH IFS="$oldIFS" - for CPATH in "$@"; do - [ -d "$CPATH" ] || continue - info "Scanning $CPATH for certificates..." - for CFILE in $(ls -1 "${CPATH}" | grep -Ee "${FILEPAT}") ; do - [ -e "$CPATH/$CFILE" ] || continue - verbose "Reading $CFILE" - "$CFUNC" "$CPATH/$CFILE" - done + for CFILE in $(cert_files_in "$@") ; do + verbose "Reading $CFILE" + case $(eolcvt "$CFILE" | egrep -c '^-+BEGIN CERTIFICATE-+$') in + 0) + ;; + 1) + "$CFUNC" "$CFILE" link + ;; + *) + verbose "Multiple certificates found, splitting..." + SPLITDIR=$(mktemp -d) + eolcvt "$CFILE" | egrep '^(---|[0-9A-Za-z/+=]+$)' | \ + split -p '^-+BEGIN CERTIFICATE-+$' - "$SPLITDIR/x" + for CERT in $(find "$SPLITDIR" -type f) ; do + "$CFUNC" "$CERT" + done + rm -rf "$SPLITDIR" + ;; + esac done } @@ -175,43 +210,39 @@ do_list() { local CFILE subject - if [ -e "$1" ] ; then - cd "$1" - for CFILE in *.[0-9] ; do - if [ ! -s "$CFILE" ] ; then - info "Unable to read $CFILE" - ERRORS=$((ERRORS + 1)) - continue - fi - subject= - if [ $VERBOSE -eq 0 ] ; then - subject=$(openssl x509 -noout -subject -nameopt multiline -in "$CFILE" | - sed -n '/commonName/s/.*= //p') - fi - [ "$subject" ] || - subject=$(openssl x509 -noout -subject -in "$CFILE") - printf "%s\t%s\n" "$CFILE" "$subject" - done - cd - - fi + for CFILE in $(find "$@" \( -type f -or -type l \) -name '*.[0-9]') ; do + if [ ! -s "$CFILE" ] ; then + info "Unable to read $CFILE" + ERRORS=$((ERRORS + 1)) + continue + fi + subject= + if ! "$VERBOSE" ; then + subject=$(openssl x509 -noout -subject -nameopt multiline -in "$CFILE" | sed -n '/commonName/s/.*= //p') + fi + if [ -z "$subject" ] ; then + subject=$(openssl x509 -noout -subject -in "$CFILE") + fi + printf "%s\t%s\n" "${CFILE##*/}" "$subject" + done } cmd_rehash() { if [ -e "$CERTDESTDIR" ] ; then - perform find "$CERTDESTDIR" -type link -delete + perform find "$CERTDESTDIR" \( -type f -or -type l \) -delete else perform install -d -m 0755 "$CERTDESTDIR" fi if [ -e "$UNTRUSTDESTDIR" ] ; then - perform find "$UNTRUSTDESTDIR" -type link -delete + perform find "$UNTRUSTDESTDIR" \( -type f -or -type l \) -delete else perform install -d -m 0755 "$UNTRUSTDESTDIR" fi do_scan create_untrusted "$UNTRUSTPATH" - do_scan create_trusted_link "$TRUSTPATH" + do_scan create_trusted "$TRUSTPATH" } cmd_list() From nobody Fri May 30 15:54:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b878v4T25z5xply; Fri, 30 May 2025 15:54:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b878v3yQ8z3Q7w; Fri, 30 May 2025 15:54:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748620479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gd73C9YIhiIosmcoec4rInXtCgqpiRtmPzdNp5k7PlY=; b=sJs6H0WOEPF+3fh8kdHnIP8Q6xYg72lL8wBYGpfWGpiRgZFAHcyuvIrcVb9ho9OcXI0heR aXuL6RHL5PpMAET1S5diYRChNEnbJfwJqhR6PZyyLCVlyhEZFQ2UPpdbfARKOBUiqr5iVD kSanRGC6KpI0ycpAjjKBn2G+TBcVW+NJQvCbxeXkMaHEzPoNM2sj8G1O7DZtt7xweMg0GZ IBDLPI6zH8Co7Yvm+cc/68z5C+IcTPPb4/uEc3/gEV6HqCp5z8xQG0ZtDe5zs/SEX+MbRB DX8TajBeG054EebXquo/QkfQi3/9IduQZ8xHY4qP8eJttUw4e/UN8Z+rrByzyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748620479; a=rsa-sha256; cv=none; b=X3GcKeiwemOBrOy9FEzUnytbh2YuMqF5o2j8y9PEU6K3exmwIIkSgULG5dIy7sL1eWjzKn F3okx3c4Ds0npHaZdl53Vv9/BAUvcg8G5OYgxEUQIe7pcIc5FEbmCLgNusqMSsVT/zdGkB ktLMje0J794jWKJIU14doUPcJ3Ur33Sh8a3Ff8ypFpg/thmNSErGXYlCU5SxFFzJIrsq9m KBN3MkrGxrWW0CRKzS4rjXj5F6FFWPr6B9Pdn6hCHED5w9fwQoaq2uvZw7cZtzj7ga0v0k WvOM6vT2qjPMD208v93kgJV4DKJP10zBblSpaD01dZHO6BFavXMMg/GOSFyIig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748620479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gd73C9YIhiIosmcoec4rInXtCgqpiRtmPzdNp5k7PlY=; b=uZp6h7sFZjaMx+Kd/YsAtb7M+MbmAr6N1lms8RLiuabhmvHNM2RycW+y39TGUSXvPJg5Wg AmecW7P9fNypwv6Ey8kyFfp9ru+dwXZoPqM7VlJIoSYIDZE44QT/kty02rJiIbvynXf1Hq 90MtXCJhzTHRYcRWXdjNfR+AB+ybk8jbY1+LYc40UN03Ok2LVzFPmSrZJHDxP49lvJuO8S pnMbtVof7UyQJtP5uWtLzG0X8mdVofpSGuEUvRpWWa7UAh7iUrtr/4Hd+xLT9F17KANMPh ebZD1eL5/IqId4hyKAaJVi1Wo63thm7Ki6EvtyCx0+EkfOOfI3lkNgGlH4UNDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b878v3LWqz104F; Fri, 30 May 2025 15:54:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54UFsdZN078367; Fri, 30 May 2025 15:54:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UFsdV7078364; Fri, 30 May 2025 15:54:39 GMT (envelope-from git) Date: Fri, 30 May 2025 15:54:39 GMT Message-Id: <202505301554.54UFsdV7078364@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: c5db8f65622a - releng/14.3 - Revert "14.3: Update to RC1" 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.3 X-Git-Reftype: branch X-Git-Commit: c5db8f65622ae0be9c65bc57326f787a1b3994f7 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c5db8f65622ae0be9c65bc57326f787a1b3994f7 commit c5db8f65622ae0be9c65bc57326f787a1b3994f7 Author: Colin Percival AuthorDate: 2025-05-30 15:53:05 +0000 Commit: Colin Percival CommitDate: 2025-05-30 15:53:21 +0000 Revert "14.3: Update to RC1" Postponing RC1 slightly to allow one more critical bug fix. This reverts commit 3383279318c0564d405c64516cdd127bc2a0dd9f. Approved by: re (cperciva) --- 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 1ebacc6cc176..8c988150f902 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.3" -BRANCH="RC1" +BRANCH="BETA4" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri May 30 16:00:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b87H53Vsvz5xq6X; Fri, 30 May 2025 16:00:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b87H45psfz3Vnc; Fri, 30 May 2025 16:00:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748620800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LK73FXtAE3PP67xcpKJl2iq4Afqot4Hi/o0U0/R4KlQ=; b=PzckkYXsKtSVxn5jVb9pQ7PscTsn7IxNom1h5sybVAhXNNgh0LmOJsSflhswyVW9+OXCrt 6Y7QKZlBpm8Vcdi6gnlQHGwpsJS1coaKUaPdp5TWOcAf2+QZXIhOcUFtsGV7KVmomvhWfq jmDtXVXYzDQZm2eVBvlRp0yECjVltmnAW8S6kPGRTwjBH2Epb3mau7cIKYAIgApqQqjPpD bG/dA8k+/WTEP/6ejP+hE8bTUAOQeBrky8uzkpqEEW/wa3XL9U2Kj+kc299OgjW5MHbhOw zUL6U2UXfGyGiUtim/oHqLqImXF3A65Iv7AW9CyXnt4NTFpEDqY8ykJ7B56A1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748620800; a=rsa-sha256; cv=none; b=QjsZ5v/e8rArKxch4izMHU6hW69MsaUcPW+pzTdpYHKQ7qeIlyz5It680SP/amsk8ZxYoj FVGcCZHcVgo269k4Ly6c9RfZZ4yfW1A9i6hBK+omh738x/qxSJWYZHsCcF5m2RuICk8Ant rwg2LalvNI9KlU7NwDPWE/jIIu6hj2xHZdKlXFgXcCJ45UiytIzxwpof+2jFciC3C2oulo Ymv6z6ChhKk7L95qpI6Rw3p9SJQpQxQVBHIF1s1TC/FIqgWf0RUfhWr23t4q/ZwB93eO0C NI8H40hBA73m6ij4VAq/1PGoVJaIRTO0qhxUFsEG2V9/55rFJxYtrQzevhYJvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748620800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LK73FXtAE3PP67xcpKJl2iq4Afqot4Hi/o0U0/R4KlQ=; b=oTGZLfw900APyNZDWzN71dmvCvzf0JhsARaSxfelmlXGrNA5PODRMz+G35l1YOsgHecTRO K4gXzxKZAdQodNoxm3KgsOaVh7IR9Xo2BzJrmFLbBF/EVN20QrNZCHE86wRJA4yUk2PrA/ hKi437lYd7u33+KkKV80WmUaz5tPeZAs2b7ej0Qp9/tx1pAMoCE1MdO42l/ZUR6DJdv62T f5SqjaYZ7Eprr8Ztq3Xj+JWnRmfIIaya+kLgc0m3aGvYn+ZvUpGiOxelcznKyrMZRphU20 fbxPyQDxOSj413qSUeaQ/82Xgo7ExbgaIed6+JOT2bXQ9IzqVomUVn86vCjUmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b87H45HQQzykK; Fri, 30 May 2025 16:00: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 54UG00qT081891; Fri, 30 May 2025 16:00:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UG004c081869; Fri, 30 May 2025 16:00:00 GMT (envelope-from git) Date: Fri, 30 May 2025 16:00:00 GMT Message-Id: <202505301600.54UG004c081869@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: fb33dd91ae8a - releng/14.3 - certctl: Split certificate bundles before processing. 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: des X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.3 X-Git-Reftype: branch X-Git-Commit: fb33dd91ae8a5a3cc07e2eac5637b96e88e11bd7 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fb33dd91ae8a5a3cc07e2eac5637b96e88e11bd7 commit fb33dd91ae8a5a3cc07e2eac5637b96e88e11bd7 Author: Dag-Erling Smørgrav AuthorDate: 2023-10-05 14:50:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-30 15:59:32 +0000 certctl: Split certificate bundles before processing. This allows 'certctl rehash' to do the right thing when ca_root_nss is installed, instead of linking the entire bundle to the hash of the first certificate it contains. MFC after: 3 days Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D42087 (cherry picked from commit a401c8cb26b22688087ad7c5ee527718459df15a) certctl: Fix recent regressions. - If an untrusted certificate is also found in the list of trusted certificate, issue a warning and skip it, but don't fail. - Split on -+BEGIN CERTIFICATE-+ instead of "Certificate:" since that's what we're really looking for. Also fix a long-standing bug: .crl files are not certificates, so we should not include them when searching for certificates. Reported by: madpilot, netchild, tijl Reviewed by: netchild, allanjude Differential Revision: https://reviews.freebsd.org/D42276 (cherry picked from commit 87945a082980260b52507ad5bfb3a0ce773a80da) certctl: Convert line endings before inspecting files. This ensures that certificate files or bundles with DOS or Mac line endings are recognized as such and handled identically to those with Unix line endings. PR: 274952 Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D42490 (cherry picked from commit f7d16a627efa8ba610eb9b8a12dd67b6cdbb2542) certctl: Revert to symlinks. Unfortunately tar will not be able to extract base.txz to a system where /etc and /usr are not on the same filesystem if the certificates are hard links. PR: 277828 Reviewed by: mp Differential Revision: https://reviews.freebsd.org/D44496 (cherry picked from commit 3fed4f0db53a66a0135bea5c491431eb3348cf51) (cherry picked from commit 9c34a6876a60dc10fda6ad6a0cbe8f99a372aadc) Approved by: re (cperciva) --- usr.sbin/certctl/certctl.sh | 105 ++++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 37 deletions(-) diff --git a/usr.sbin/certctl/certctl.sh b/usr.sbin/certctl/certctl.sh index 5af8fecb93ac..458f5c53682f 100755 --- a/usr.sbin/certctl/certctl.sh +++ b/usr.sbin/certctl/certctl.sh @@ -32,7 +32,6 @@ set -u : ${DESTDIR:=} : ${DISTBASE:=} -: ${FILEPAT:="\.pem$|\.crt$|\.cer$|\.crl$"} ############################################################ GLOBALS @@ -63,6 +62,20 @@ perform() fi } +cert_files_in() +{ + find -L "$@" -type f \( \ + -name '*.pem' -or \ + -name '*.crt' -or \ + -name '*.cer' \ + \) 2>/dev/null +} + +eolcvt() +{ + cat "$@" | tr -s '\r' '\n' +} + do_hash() { local hash @@ -93,23 +106,32 @@ get_decimal() return 0 } -create_trusted_link() +create_trusted() { local hash certhash otherfile otherhash local suffix + local link=${2:+-lrs} hash=$(do_hash "$1") || return certhash=$(openssl x509 -sha1 -in "$1" -noout -fingerprint) for otherfile in $(find $UNTRUSTDESTDIR -name "$hash.*") ; do otherhash=$(openssl x509 -sha1 -in "$otherfile" -noout -fingerprint) if [ "$certhash" = "$otherhash" ] ; then - info "Skipping untrusted certificate $1 ($otherfile)" - return 1 + info "Skipping untrusted certificate $hash ($otherfile)" + return 0 + fi + done + for otherfile in $(find $CERTDESTDIR -name "$hash.*") ; do + otherhash=$(openssl x509 -sha1 -in "$otherfile" -noout -fingerprint) + if [ "$certhash" = "$otherhash" ] ; then + verbose "Skipping duplicate entry for certificate $hash" + return 0 fi done suffix=$(get_decimal "$CERTDESTDIR" "$hash") verbose "Adding $hash.$suffix to trust store" - perform install ${INSTALLFLAGS} -lrs "$(realpath "$1")" "$CERTDESTDIR/$hash.$suffix" + perform install ${INSTALLFLAGS} -m 0444 ${link} \ + "$(realpath "$1")" "$CERTDESTDIR/$hash.$suffix" } # Accepts either dot-hash form from `certctl list` or a path to a valid cert. @@ -137,6 +159,7 @@ resolve_certname() create_untrusted() { local srcfile filename + local link=${2:+-lrs} set -- $(resolve_certname "$1") srcfile=$1 @@ -147,12 +170,13 @@ create_untrusted() fi verbose "Adding $filename to untrusted list" - perform install ${INSTALLFLAGS} -lrs "$srcfile" "$UNTRUSTDESTDIR/$filename" + perform install ${INSTALLFLAGS} -m 0444 ${link} \ + "$srcfile" "$UNTRUSTDESTDIR/$filename" } do_scan() { - local CFUNC CSEARCH CPATH CFILE + local CFUNC CSEARCH CPATH CFILE CERT SPLITDIR local oldIFS="$IFS" CFUNC="$1" CSEARCH="$2" @@ -160,14 +184,25 @@ do_scan() IFS=: set -- $CSEARCH IFS="$oldIFS" - for CPATH in "$@"; do - [ -d "$CPATH" ] || continue - info "Scanning $CPATH for certificates..." - for CFILE in $(ls -1 "${CPATH}" | grep -Ee "${FILEPAT}") ; do - [ -e "$CPATH/$CFILE" ] || continue - verbose "Reading $CFILE" - "$CFUNC" "$CPATH/$CFILE" - done + for CFILE in $(cert_files_in "$@") ; do + verbose "Reading $CFILE" + case $(eolcvt "$CFILE" | egrep -c '^-+BEGIN CERTIFICATE-+$') in + 0) + ;; + 1) + "$CFUNC" "$CFILE" link + ;; + *) + verbose "Multiple certificates found, splitting..." + SPLITDIR=$(mktemp -d) + eolcvt "$CFILE" | egrep '^(---|[0-9A-Za-z/+=]+$)' | \ + split -p '^-+BEGIN CERTIFICATE-+$' - "$SPLITDIR/x" + for CERT in $(find "$SPLITDIR" -type f) ; do + "$CFUNC" "$CERT" + done + rm -rf "$SPLITDIR" + ;; + esac done } @@ -175,43 +210,39 @@ do_list() { local CFILE subject - if [ -e "$1" ] ; then - cd "$1" - for CFILE in *.[0-9] ; do - if [ ! -s "$CFILE" ] ; then - info "Unable to read $CFILE" - ERRORS=$((ERRORS + 1)) - continue - fi - subject= - if [ $VERBOSE -eq 0 ] ; then - subject=$(openssl x509 -noout -subject -nameopt multiline -in "$CFILE" | - sed -n '/commonName/s/.*= //p') - fi - [ "$subject" ] || - subject=$(openssl x509 -noout -subject -in "$CFILE") - printf "%s\t%s\n" "$CFILE" "$subject" - done - cd - - fi + for CFILE in $(find "$@" \( -type f -or -type l \) -name '*.[0-9]') ; do + if [ ! -s "$CFILE" ] ; then + info "Unable to read $CFILE" + ERRORS=$((ERRORS + 1)) + continue + fi + subject= + if ! "$VERBOSE" ; then + subject=$(openssl x509 -noout -subject -nameopt multiline -in "$CFILE" | sed -n '/commonName/s/.*= //p') + fi + if [ -z "$subject" ] ; then + subject=$(openssl x509 -noout -subject -in "$CFILE") + fi + printf "%s\t%s\n" "${CFILE##*/}" "$subject" + done } cmd_rehash() { if [ -e "$CERTDESTDIR" ] ; then - perform find "$CERTDESTDIR" -type link -delete + perform find "$CERTDESTDIR" \( -type f -or -type l \) -delete else perform install -d -m 0755 "$CERTDESTDIR" fi if [ -e "$UNTRUSTDESTDIR" ] ; then - perform find "$UNTRUSTDESTDIR" -type link -delete + perform find "$UNTRUSTDESTDIR" \( -type f -or -type l \) -delete else perform install -d -m 0755 "$UNTRUSTDESTDIR" fi do_scan create_untrusted "$UNTRUSTPATH" - do_scan create_trusted_link "$TRUSTPATH" + do_scan create_trusted "$TRUSTPATH" } cmd_list() From nobody Fri May 30 16:04:12 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b87Mw2dX2z5xqXh; Fri, 30 May 2025 16:04:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b87Mw1srgz3XPs; Fri, 30 May 2025 16:04:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748621052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EY1DMOuJEMTa2d3JiRf/D/PvRUkC/Cy1TiE8gyBPOOU=; b=CKcXjiskwoM9Y0YiO2CfZ2xmJeDZGVhygbwueK6CUQjdu8zylr+/YaxnZmcqCGdMIIyW5h ryfTv4Z5hnJQZQSbdQJK3hKQvnGYKBMHirLUCyN4ZtoViQQQRUV6wRFGc+uvfC2I0lw5vl 17KnRTsBtu4y86UGr3qm7Vk7iBMnVClXD2/1FbS83DkMh2uMYK3ptVjNAqsTo8t7LA3uXh ASQ9TEO4iQGuXEz5g1eks4Z0RYPddT4xi1XxqAg0/7uhLnV7UGOZKkT7fmJHaiCRGdenYo CHmGkAwcffo13EgGHOHOmv7/hey0HWSsLpG9TH9TXsZO6cS2Qh5Ut+RlOieKmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748621052; a=rsa-sha256; cv=none; b=obQ3Ko+JgUMHa/xPsiZ7Fr8uvu6fwjgmcagHOIP9PKdhclc8yRfonzPJdYbPQdzhWxAhi0 B0YK3MGMhnNmSvN7dt+JWKQw69hsLuXorzTlkFkGIHdwRAInlixV/RSVqVtqYldlRx79oF HbH2Slyf8khffawiv6QsaE5ZZd3fz5joOhap0vgopDQgKXSS3Tg5YCODc3LtBfLQ4aeWpC VlEi6mPGsKQMBLcPuzQt+fhjUlcybIYTbuTUQMph89o2FKyEUOfTr3ENGw1eWY8CjKYfTI 2MonhC93Z0B3fi7fawbx2kPatHJRaeEjEHNxJJbvS/EYSmCcr/JrWHnnf8phBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748621052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EY1DMOuJEMTa2d3JiRf/D/PvRUkC/Cy1TiE8gyBPOOU=; b=tucUPITNU0nMb/A6rOoLSoD9SCi5l52nk5jeQCUjkyZ5q4XJ6W8YUe2JIHvv8KQSTl//Kj fR2Jv8DWceGt+cryobTbnnEqEh37vJnU9M73YVFX/nUAgl+KZlzVgS/qtuSVO6BtrJGaV0 nCGxK45r64Q6yWkoYWOEAAuI2UEHpv/RaME0rsagOZzncEMyxPxe9RkApqrm7SDNhSwzLC iIa+7bH+xzFGGVkrYghBhlXM5n+KXBLjsjFwKuQrAVWej7FmONd4q6EuyhSRB6Fhqh7BjT fToEWxpRqdDfOfRFMFKAeV0FXgxay46ja/HjKNeNCeB3MHqP/tEmdmd+ucPq/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 4b87Mw1SxVzyhy; Fri, 30 May 2025 16:04:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54UG4CP1098255; Fri, 30 May 2025 16:04:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UG4Co6098252; Fri, 30 May 2025 16:04:12 GMT (envelope-from git) Date: Fri, 30 May 2025 16:04:12 GMT Message-Id: <202505301604.54UG4Co6098252@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: a7a4742156f9 - releng/14.3 - Reapply "14.3: Update to RC1" 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.3 X-Git-Reftype: branch X-Git-Commit: a7a4742156f9a00fcf7e01deebe6da60d918509a Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a7a4742156f9a00fcf7e01deebe6da60d918509a commit a7a4742156f9a00fcf7e01deebe6da60d918509a Author: Colin Percival AuthorDate: 2025-05-30 16:02:53 +0000 Commit: Colin Percival CommitDate: 2025-05-30 16:02:53 +0000 Reapply "14.3: Update to RC1" Second attempt at making 14.3-RC1 happen, now that a critical last-minute MFC has landed. This reverts commit c5db8f65622ae0be9c65bc57326f787a1b3994f7. Approved by: re (cperciva) --- 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 8c988150f902..1ebacc6cc176 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.3" -BRANCH="BETA4" +BRANCH="RC1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri May 30 16:07:22 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b87Rb1hRkz5xqmt; Fri, 30 May 2025 16:07:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b87Rb13Jyz3YNn; Fri, 30 May 2025 16:07:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748621243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EjJDaaANwHbVZ6NgeXsjQLRPAtIZp/700zwH5PWoYCk=; b=vLoqTJ3zxUAiktu8xy4HLdEVc0uDR/zNVFu6iLuew7GXQn2R/P4aExZ501/q6fQA0ueocV Zikprlix/luJKB90sL+OzySQPkjniW/U0/DsXmiNWJsE0zUfb5AykJiqkNvlE0J4T0Nd7A XimAkzj0hZyD1f8OzcreFWjUSyXUqyl5TSBnbazHLNfk+aqcrDRVCzVVNb/kPolUj6jxKF AmUjXvdwBpqqIKZWyZJiVtTIDeVmOVhwRCqcNDW0mchmS5iYFyHhkD0l2/kj3ul+nDikm1 UbpEEaEtO0L/L4TaUjkhY0Soj2G7gE96uE9ZAP4BBJgXc4N9PRNJgIhCH8CwUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748621243; a=rsa-sha256; cv=none; b=vN+1vrTeRxmqDyxxlcteh4VEB5XzqMl94ca87K+17NTdbWtVSxI5E3bBFiSG4tJGIA6a0g EYSOQzthNz39BxfBhLrZ6RSnMxju6d/pFHUt7cB6p/JLxUuJHwVmsQvNRKfxNvrcj3hzTK aqeq3AnVtb51DGPznzZYyI44vUCzIo9B0J5guF/e/QXcn0GxkiLPjra9hwqA71qv2qXU4t 3Z/r2S/Xk3bB3j2z/v4SczvaRsC4bw4uQHfrYpMXix4qU2Y49fCmS7ENGx3PhKbt1IvvE2 6RCVOcCm3BwNQCPpgOh58K5teDJ7BwDI9Q2YkjyJd6wECOi58yNjAZSwjt1FVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748621243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EjJDaaANwHbVZ6NgeXsjQLRPAtIZp/700zwH5PWoYCk=; b=BEZy9vhbaLLspHNgiW3xUZBSw8FNw18J5eSRFxj0wf8zMd43JfmmnUo1/wbdYjm/TpTUd4 X4gyaG1DBDpIUh4/DfvJNZYM8MwPo9LAbesH8MGF6/BAwEN/IzpGGdrfKlJnEUIZw3rBGY NoQ3Fz9UeyXaVauUoXdcNngpM9CnNXTYVjnNOb6g7XZPsefaTRF2oFDqH3vK7dpBbykZ93 Kp9Wfpn4sZAqk44/kMJodCx8RPm3GOzhd2Wz/vUtKiciWdc+nPmPIAiCIcM1C7N4WGmQ4p DHZXJB9T41Bcq9nDeEfO+k6LhtsssEdRpsFWrmH4ELy1v5+RFHEfZlw4HoAK0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b87Rb0Lg2zylG; Fri, 30 May 2025 16:07: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 54UG7MYo099270; Fri, 30 May 2025 16:07:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UG7MNW099267; Fri, 30 May 2025 16:07:22 GMT (envelope-from git) Date: Fri, 30 May 2025 16:07:22 GMT Message-Id: <202505301607.54UG7MNW099267@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: d4f5d3a4eade - stable/14 - m4: Allow empty base argument in eval() 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: d4f5d3a4eade118694a537564e35c64fdd779f9a Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d4f5d3a4eade118694a537564e35c64fdd779f9a commit d4f5d3a4eade118694a537564e35c64fdd779f9a Author: Eric Blake AuthorDate: 2025-05-23 14:37:20 +0000 Commit: Ed Maste CommitDate: 2025-05-30 12:45:56 +0000 m4: Allow empty base argument in eval() POSIX specifies "The second argument, if specified, shall set the radix for the result; if the argument is blank or unspecified, the default is 10." Previously we reported an invalid PR: 287015 Reviewed by: emaste (cherry picked from commit ac196a5845757a4d92cdfc4927170576dce5de9d) --- usr.bin/m4/eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c index 82218eb9ba1c..3170d52bfe2a 100644 --- a/usr.bin/m4/eval.c +++ b/usr.bin/m4/eval.c @@ -181,7 +181,7 @@ expand_builtin(const char *argv[], int argc, int td) int maxdigits = 0; const char *errstr; - if (argc > 3) { + if (argc > 3 && *argv[3] != '\0') { base = strtonum(argv[3], 2, 36, &errstr); if (errstr) { m4errx(1, "expr: base is %s: %s.", From nobody Fri May 30 16:07:24 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b87Rc2sd8z5xqbH; Fri, 30 May 2025 16:07:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b87Rc1LVJz3YHS; Fri, 30 May 2025 16:07:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748621244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jTKC/Zp8n0jYZ4mciNiI+q2zs3QlAKSmWn9BhRYjIFM=; b=PCuEbCIW55Tu5YTB2xX8bWS2wV9JlsjgdiG/0x/87FomS6wYzcPuYIGluhLiYB39UrsiRF p8QZvhY5HzMaKVe6DP5q+fbqUofIshfT3Djiwtkrg5rHeEEc+xTmZjHwAl3YEcPaKcU6LD OyqzuA3+KpO7BEn3MsSdcfZbuCBpPDynbRrEJAq6YWkRcI/XBiyL9PzNjm9oq6t3QqQ27Z bOjPVaGaX/fIrgzPv1sQVAVmKMUBOMc1vad3H+zUoWlSm7gXojwXs5ckO1qZ0zxp+IlB91 6HLhP9G8HRQ2EpTUkJQhMVg2zxPLzwWQ1hZ2cbaDPe9gPIOXkmegQjpQXgd1qA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748621244; a=rsa-sha256; cv=none; b=rSNlqgxnw1e7XSZqjNXq23sQKpdeNOGyzr76BAAjHxd6YEwvffHMapEi7TEm41XB8QP1hA 6U57i+fcB855ed7HWeSbtC1k85XNpzEhwktD35n+wzJCaTI+Vxk/VtSOnbqePw9M6bqURi F2xWEQeL6LPl8RPOcWhW01TzuM/MlhBwcFzUdnUuLcwOAZGz7jFv3TXWKq7qRjQpxz4kL/ UeJSEw5i4WHOAwf7M6LQThZdHkXEo0O94C5CntNDFfRnX4mf7cTMwFaVO2FVEzvRF9+Ryh GzTzd3aHfgodLJZb8oXg3Ybs0I52gCIfgx+rpoQF7z+8D1GHJFg581QVZlSp7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748621244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jTKC/Zp8n0jYZ4mciNiI+q2zs3QlAKSmWn9BhRYjIFM=; b=nysghT2rhloQZyOX3578jCFFlsRCxDuz+iOrUtday55Yl9M/as/5dTl0OcLetlm3onUJ9r n+Pd3aPqYaRbH50eYbP8GVi7wOPgAdCXNjjmkzNB9wIiMCwKvB3ptIpY6uhbxHJWhuhJoE +vWVj8gOXkkUk7G1Zykjqqc9gjfsQKSNN3mTKEbfyqbVk2ryJ+yfxKm5FHHoCZN50fskt/ g2Y+oTF7jmu6metz5vzxkhl7pacl4rQWRz67Xlccq+Xt2vNVdravZV3bpMuN4+w+sYdV7o KyvJ3rJApQ+v3+7xVBgr7Xx4ZQCC7X+20xKeg6VYXM/UKaq18hhTUaOJ4DvPSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b87Rc0yFVzylH; Fri, 30 May 2025 16:07: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 54UG7OXe099303; Fri, 30 May 2025 16:07:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UG7OI2099300; Fri, 30 May 2025 16:07:24 GMT (envelope-from git) Date: Fri, 30 May 2025 16:07:24 GMT Message-Id: <202505301607.54UG7OI2099300@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: 75f7d9cbff26 - stable/14 - m4: Fix OOB access displaying MIN_INT 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: 75f7d9cbff26264640fcfcd2e3c5c4ca1d0ea0a6 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=75f7d9cbff26264640fcfcd2e3c5c4ca1d0ea0a6 commit 75f7d9cbff26264640fcfcd2e3c5c4ca1d0ea0a6 Author: Eric Blake AuthorDate: 2025-05-24 17:21:38 +0000 Commit: Ed Maste CommitDate: 2025-05-30 12:45:56 +0000 m4: Fix OOB access displaying MIN_INT Previously displaying INT_MIN resulted in an out of bounds access to digits[-8]. In twos-complement -INT_MIN is still negative. PR: 287013 Reviewed by: emaste (cherry picked from commit ab4edcd552c967a400e85afc0fd3e6729fa9ee2c) --- usr.bin/m4/misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/m4/misc.c b/usr.bin/m4/misc.c index 4533e106a37f..73ced384466c 100644 --- a/usr.bin/m4/misc.c +++ b/usr.bin/m4/misc.c @@ -122,7 +122,7 @@ void pbnumbase(int n, int base, int d) { static char digits[36] = "0123456789abcdefghijklmnopqrstuvwxyz"; - int num; + unsigned int num; int printed = 0; if (base > 36) From nobody Fri May 30 20:35:16 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b8FNh3BYfz5wsMR; Fri, 30 May 2025 20:35:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b8FNh2HTvz3c8P; Fri, 30 May 2025 20:35:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748637316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kOroIHkH+1Uc5qUE24h2hQHPLR0JIZMNC66UMaRcygA=; b=f1JEoFSjCRRt77UgKFuDQw0EZ+T2pzWw/zUc21RUnFUcAupOVE6oLmi8Q/iq4XK3ofMFWu zRfgQ+duJqU1G1hdeTDlnHHGVLJ4FBpNmCKCkfxngHjQoQnQdMewADHVq1+fO0JXT1N/bk jRZhDM+gSBPJ6oIgcU2m7o7OKN2vdTikw2JC+bwU8FpQ/FnXJStctTO18poEUXDDlNMNC4 3O57ZXztVg9lqvQevdaUDaeOrLnQpwaAsIZrL5fhfdhQ9oZVwLX9PVxoLhas3ex94zJrd2 qs4sceRTi4ZnLw/TyR18hJDPgNg/RT5eZKmlZMxBVk0r+/FyFUPEESD7+2w8ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748637316; a=rsa-sha256; cv=none; b=s58J75IEwdTlS+XPnPngiAHzu/QYdYEXbG2LcWGlOmu/+Nw4L65RPKyWiMMe5UbbzjMUIa 2LWQ5wyBSu72LrVKnpTschuT7WCIcTexzYM6xNwx6NApazm2pR02BnRvKx2nugXKXJhnze ikRmapZyYqI2MjEdVKkLcdoTHTGvaV4+AAjL3693NxsOCrJI5PqFobG7tB843WUWujqQCU vnpAD7CmoLMZZFgxSQngb19XG994IZN1y6TTIAWyCDkHPLhgtFveZvrOX4lUrho8K9oAQm vuW6B7hGr3Zd1ljjoHCdIXASRDA4F0hB9wYEMWmg37ButMy+7yuo+pzHuWZMmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748637316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kOroIHkH+1Uc5qUE24h2hQHPLR0JIZMNC66UMaRcygA=; b=SAVyB3n7di3LBirZ2xDjM3Cg8eJB+VbUav8llmoZ0aykn14PdhvDHLMQUBLS8cQrUMx5gy xhuc0cgn0MGeERLx1dHYNzzgDncGWoUazSW1ZJyR17I3JU1AoaQHC4bsjstAOopc+tpODH 1b6P60KM0D66qCw6Cd8HxftDmfQff4cNOVnfSVyyxjO56SjUwgcAngO0Jq3ULo+SlEqqPD ZZKTzMfIVHIP4fE0flz9VXvm8/PXVgDrmIDVZuUGvaOKiGjBqYp82DlguClKU1JC09urKb uRPRXTwaEMUMx0AJM1Xch4ce5R53NpHIVbiPOTjbxSUptYffjhfKsn4arncvIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b8FNh1hndz16L5; Fri, 30 May 2025 20:35: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 54UKZGUQ004018; Fri, 30 May 2025 20:35:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UKZGLf004015; Fri, 30 May 2025 20:35:16 GMT (envelope-from git) Date: Fri, 30 May 2025 20:35:16 GMT Message-Id: <202505302035.54UKZGLf004015@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: e5c544f95ab4 - stable/14 - nfs_clrpcops.c: Fix acquisition of post-op attributes for link List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e5c544f95ab4d56d7b8ee73415c40135db84579b Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=e5c544f95ab4d56d7b8ee73415c40135db84579b commit e5c544f95ab4d56d7b8ee73415c40135db84579b Author: Rick Macklem AuthorDate: 2025-05-16 00:27:14 +0000 Commit: Rick Macklem CommitDate: 2025-05-30 20:32:32 +0000 nfs_clrpcops.c: Fix acquisition of post-op attributes for link Without this patch, the link RPC (done by nfsrpc_link()) did not acquire post link operation attributes for the file object for NFSv4. For some recent Linux NFSv4 servers that support delegations, this would result in the client's cached attribute for st_nlinks not being increased right away, because the delegation would indicate that the now stale cached attributes were still valid. This patch fixes the problem by acquiring post link attributes and updating the client's cached copy in the same manner as the NFSv3 RPC did. Detected at the recent NFSv4 Bakeathon testing event. Applications will only be affected if they examine st_nlinks after a new hard link is created for a file object. (cherry picked from commit 772258c89f28501546844a60616211f44f55f4ce) --- sys/fs/nfs/nfs_commonsubs.c | 2 +- sys/fs/nfsclient/nfs_clrpcops.c | 40 +++++++++++++++++++++++++++------------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index ffd6d3e50654..c593264ef63e 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -252,7 +252,7 @@ static struct { { NFSV4OP_REMOVE, 1, "Remove", 6, }, { NFSV4OP_REMOVE, 1, "Remove", 6, }, { NFSV4OP_SAVEFH, 5, "Rename", 6, }, - { NFSV4OP_SAVEFH, 4, "Link", 4, }, + { NFSV4OP_SAVEFH, 6, "Link", 4, }, { NFSV4OP_READDIR, 2, "Readdir", 7, }, { NFSV4OP_READDIR, 2, "Readdir", 7, }, { NFSV4OP_GETATTR, 1, "Getattr", 7, }, diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 76aa3b102962..d37bffc5ad2e 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -3112,15 +3112,20 @@ nfsrpc_link(vnode_t dvp, vnode_t vp, char *name, int namelen, (void)nfsm_fhtom(VFSTONFS(dvp->v_mount), nd, VTONFS(dvp)->n_fhp->nfh_fh, VTONFS(dvp)->n_fhp->nfh_len, 0); if (nd->nd_flag & ND_NFSV4) { - NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); - *tl = txdr_unsigned(NFSV4OP_GETATTR); - NFSWCCATTR_ATTRBIT(&attrbits); - (void) nfsrv_putattrbit(nd, &attrbits); - nd->nd_flag |= ND_V4WCCATTR; NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(NFSV4OP_LINK); } (void) nfsm_strtom(nd, name, namelen); + if (nd->nd_flag & ND_NFSV4) { + NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); + *tl = txdr_unsigned(NFSV4OP_GETATTR); + NFSGETATTR_ATTRBIT(&attrbits); + (void)nfsrv_putattrbit(nd, &attrbits); + NFSM_BUILD(tl, uint32_t *, 2 * NFSX_UNSIGNED); + *tl++ = txdr_unsigned(NFSV4OP_RESTOREFH); + *tl = txdr_unsigned(NFSV4OP_GETATTR); + (void)nfsrv_putattrbit(nd, &attrbits); + } error = nfscl_request(nd, vp, p, cred); if (error) return (error); @@ -3129,19 +3134,28 @@ nfsrpc_link(vnode_t dvp, vnode_t vp, char *name, int namelen, if (!error) error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); - } else if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4) { + } else if (nd->nd_repstat == 0 && (nd->nd_flag & ND_NFSV4) != 0) { /* - * First, parse out the PutFH and Getattr result. + * First and parse out the PutFH and Link results. */ - NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); - if (!(*(tl + 1))) - NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); - if (*(tl + 1)) + NFSM_DISSECT(tl, uint32_t *, 5 * NFSX_UNSIGNED + + 2 * NFSX_HYPER); + if (*(tl + 3)) nd->nd_flag |= ND_NOMOREDATA; /* - * Get the pre-op attributes. + * Get the directory post-op attributes. */ - error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); + if ((nd->nd_flag & ND_NOMOREDATA) == 0) + error = nfscl_postop_attr(nd, dnap, dattrflagp); + if (error == 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) { + /* Get rid of the RestoreFH reply. */ + NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_UNSIGNED); + if (*(tl + 1)) + nd->nd_flag |= ND_NOMOREDATA; + } + /* Get the file's post-op attributes. */ + if (error == 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) + error = nfscl_postop_attr(nd, nap, attrflagp); } if (nd->nd_repstat && !error) error = nd->nd_repstat; From nobody Fri May 30 20:36:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b8FQG1cjvz5wsd9; Fri, 30 May 2025 20:36:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b8FQF6KVzz3d7Q; Fri, 30 May 2025 20:36:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748637397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CXH1Wam1KzGx6+UDgEH/nHGUAzfHnBSBzO8XUhH5JaU=; b=HROefXb5oevZYjYmpdNLl4/fd1vY/G11YzMHmZsOU5tgyGbFbbOZHvo/uwv5y47cpA7hVn w5m3W+T/iaTDdMAhRPCiEAkpXl4FreONr7LXEuxq+OQkLV4NEvwmMCybVllGfDOmoauci0 kZ0Y3XJIcOd1f73xtBKJQ18UL5x362qUmhmZ4TUYcIeEZd8CgHkgCSLNN+EK+l8nosxFim eCxF2Csdhw/MhHjpdKwzo/1hywUAJdWy+GxVTn99tCPvy0yP+GZUzCg4i5OVXoNB7PPjfZ 5AfJfDg7O2Ctz2QnxTRZmRfzeqJahO9tRKqaZa7Syv22aqCrtPr+291uwJKMdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748637397; a=rsa-sha256; cv=none; b=VeGI+Dd4xfdUBk5SSAJewbxUGqK1u7t/XMNqqEHbMj2snrTIR7l69tsgXhm0v5JigGUpYd ujbOs/tJ440GR2cHoYVMFuov44QRP+eY7wVS6LT5PRXMPq8Hx0pNnIvlvqhz8jG28ik9BF ms1OC1mIKhEf0Zzn6XyS2VrzyPuVCxB8wnjAZgRN7XrK+gb5oHlDGqp5NhZTTNy1EFm68b spsaLRpdstRTwGqdzF7RNnKQygR99yIvNa01xPA84jvfjIXVYNVR3mfsZR9b0LdJrWaW7G H6uHupvojKSqhP9vh9tP407se38gT4zHU8rnKLDKa8CuZfEuHLwNQthmABt0FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748637397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CXH1Wam1KzGx6+UDgEH/nHGUAzfHnBSBzO8XUhH5JaU=; b=PlhWn3gupd+u3hNvs4xHiJUL0yP2hQOXGtz6mQ2kzws8ch52qphwt6GRRJTe2LOiefAWNj 8ZXJNxdbJgujkqLpnuWgKo66jY0noxNBxI95mMxpwiycZzx1B5vEHu7+WqhMlFQTNY4LFc oaBeOa5mlu/Yo7GaxE94EhzHriWOhRNgLAFFKP4zCmigXxLSbLsTdLJmHuToLGOwhifJEc wBUxuVgHgY8645yeFPHleY/8MOMkyB+aGEUWJeO5A6jnbIjhwsMpwovDtxWexZNz9C8z9f kn9i589/ogXqMq2d4gxNOJ8eapu7oRdoR9uQns/Dasm5PQVTziPo1Qx97xWfqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b8FQF5nNKz16bN; Fri, 30 May 2025 20:36:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54UKabDC004509; Fri, 30 May 2025 20:36:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54UKabQB004506; Fri, 30 May 2025 20:36:37 GMT (envelope-from git) Date: Fri, 30 May 2025 20:36:37 GMT Message-Id: <202505302036.54UKabQB004506@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 6f9b2071b843 - stable/14 - nfs_clrpcops.c: Fix handling of a CreateLayGet reply List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6f9b2071b8435ed366310a16cf0cb8f2e2797ae5 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=6f9b2071b8435ed366310a16cf0cb8f2e2797ae5 commit 6f9b2071b8435ed366310a16cf0cb8f2e2797ae5 Author: Rick Macklem AuthorDate: 2025-05-16 19:36:39 +0000 Commit: Rick Macklem CommitDate: 2025-05-30 20:34:07 +0000 nfs_clrpcops.c: Fix handling of a CreateLayGet reply Without this patch, the CreateLayGet RPC did not handle a NFSv4.1/4.2 reply for a pNFS server that also issued delegations. This patch fixes the problem. Detected at the recent NFSv4 Bakeathon testing event. This bug would only affect the rare case where the FreeBSD client is mounted to a pNFS server that issues delegations, where the "pnfs" mount option is specified. (cherry picked from commit e647a222a1a74bd3b2bbdd7903fb30e4e30b6b09) --- sys/fs/nfsclient/nfs_clrpcops.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index d37bffc5ad2e..5722810191b4 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -8584,6 +8584,13 @@ nfsrpc_createlayout(vnode_t dvp, char *name, int namelen, struct vattr *vap, &ret, &acesize, p); if (error != 0) goto nfsmout; + } else if (deleg == NFSV4OPEN_DELEGATENONEEXT && + NFSHASNFSV4N(nmp)) { + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + deleg = fxdr_unsigned(uint32_t, *tl); + if (deleg == NFSV4OPEN_CONTENTION || + deleg == NFSV4OPEN_RESOURCE) + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); } else if (deleg != NFSV4OPEN_DELEGATENONE) { error = NFSERR_BADXDR; goto nfsmout; From nobody Sat May 31 02:37:54 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b8PR66pNVz5xH9c; Sat, 31 May 2025 02:37:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b8PR668lNz4Lgb; Sat, 31 May 2025 02:37:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748659074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ErV4J0266g+Yh2NyhfVfNaE04VQHWj46FpfqOSvu3pE=; b=aYIsg1m3bJBj/BWWqqK8AkIB6pHCa5LpdTqKpUO1vUuuw6b+2ReI8oLjlZxKBDcn+dLhJ9 OczmJ5YVQ941G3uuSrW8m//zCXyzHPuXuPPEF3dISo48musiVJBHK0tZsp+i3YnmNZoF10 IutKKSaaNHX8jRWF7HmvQZzMTJvaHgPqewO3sL501HebtbEf64t3lJVK01Aw/HEChLRIi1 4b0npS4in5VJKzxIVP+2yQpjdrN/nxsoAZGu9CL9zYKqQdZQRux1sWRAxpXwiuQ5SvCaHx QitW6IvUj4o+61KaO21KbMf7WfXjG+0mh5+iFqP5V/6B8mrM2k29vE4E3QwTHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748659074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ErV4J0266g+Yh2NyhfVfNaE04VQHWj46FpfqOSvu3pE=; b=laXBPpyn6APC8sbpYPBImm+Vp5SSiC4NTEolCJ+qSlMgP3G4K4KPLaSNEzhb4OwVtieEHI Y/cqpHWIN4Mo9DLJoZU0BBuSt2GKbLrS+JBBm2lHc2yo5ww9FsyX3lv11HkLvpO2rokkLH pDO3xSOwvYpIdbr93ymeyivZ/Pp4vGZdvyg+J9zDJz46ij/MNzoK+Kuea8QlXhhD8Iu4zN yFyeQ13WM0QgrWkc6GnbD7ItJyUN2CTikw169QoJVwbzZGn0DWFPAW9J93faFPwb4nfY/O 3nvoMChEjO/tsaSXzV6m2DxICEWg54tvagKInQSrCG8NuRHdnsLogxWwjUnuWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748659074; a=rsa-sha256; cv=none; b=RyLlgHR58bstS0TlQJQC7HUonMh4ZxSECn7Fh3l9tftkCQvF517IBE12pM9geQUTiwHyBX Kog+tu/RI++PXFAxjPSqUMb94kZhUwampLylNL7kyeDnPJJjhuT31vyUjzeCocVfhqQkxL bhsSe67L4UQkI9bJUJHjZKVBIu1PdrJJJanSrtcO6+iO0jiMqznUVThKxWKLTKVnl/yK6w FyvTO9M5g+Bx3Bj4ZA0pDKhQyXh3nOhZ74/qMdhhz2nnpwnEit7VJxyveKexccX744Dps7 BRkcvmyNkJnUpWRkfQcgKXyIDPym8Uy89O3fUVKuolwuabJiIhOMhdc7dz1mUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b8PR65HWZz3t0; Sat, 31 May 2025 02:37: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 54V2bsBR078210; Sat, 31 May 2025 02:37:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54V2bs68078207; Sat, 31 May 2025 02:37:54 GMT (envelope-from git) Date: Sat, 31 May 2025 02:37:54 GMT Message-Id: <202505310237.54V2bs68078207@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: 1e8f26125fe8 - stable/14 - libc: set close-on-exec for temp socket used to detect IPv6 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1e8f26125fe8442ebf499b2bb25d78d779ddb574 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1e8f26125fe8442ebf499b2bb25d78d779ddb574 commit 1e8f26125fe8442ebf499b2bb25d78d779ddb574 Author: Konstantin Belousov AuthorDate: 2025-05-24 11:27:29 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-31 02:37:35 +0000 libc: set close-on-exec for temp socket used to detect IPv6 support (cherry picked from commit eba403923626f2ecfd724e131da992a7c3cb7240) --- lib/libc/gen/sysconf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/gen/sysconf.c b/lib/libc/gen/sysconf.c index 3024cae47c85..4b43cb48840c 100644 --- a/lib/libc/gen/sysconf.c +++ b/lib/libc/gen/sysconf.c @@ -569,7 +569,7 @@ yesno: case _SC_IPV6: #if _POSIX_IPV6 == 0 sverrno = errno; - value = _socket(PF_INET6, SOCK_DGRAM, 0); + value = _socket(PF_INET6, SOCK_CLOEXEC | SOCK_DGRAM, 0); errno = sverrno; if (value >= 0) { _close(value); From nobody Sat May 31 12:28:31 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b8fXc64fkz5wxpl; Sat, 31 May 2025 12:28:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b8fXb6p45z3fqS; Sat, 31 May 2025 12:28:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748694512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fBF/3f+w3DMWIseazgawKP6jDehnoOcfQ5YjbW1lJLM=; b=AcSx/j6AVuWrXo8JMAtmWxdZ//PA3G9tWu3uCCx//opY3ZNjYIAR3wtOBr19XQ/bf+3EN0 7jDZ3sjwkOnPjGID86oxy7GOsS3tHRc7ZE9AEMoTNQW4of3cXiPhT+9AbPoixch1adYKw2 C0ECoFyCrCgolkbN6iZYklKzNwrfHSpK1n3Znj/BjcwuQHpCIePhglIKdEUNYlBjqs3lL5 3nZWRslU+jU9ae2vGVUdWCAzF9iuBG4zIkL8jowPgy04BfNkAm3fjwVCoWTkSY6iUsNbqt liBLwRFBy3eTvjVokcrth5d6FkDeKLPBZtOCR5VBbQVw5qzSANxI/lqkKgX/qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748694512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fBF/3f+w3DMWIseazgawKP6jDehnoOcfQ5YjbW1lJLM=; b=ebMde67TjZ/S+fVEOQlfX2FkdO4atUVFSWDua9ep1EfNuvsueucjnl94CHgESlcYNZPzkG 3vHpEiVL7JBztXM8vbSmYTYoOqqJA0WUeFRbDS/NYC/uVKXeeD3nxD0MgMuqr/wLiYf+sd 4GwX3ZZQV3exjXsC4fxu0A+EkcOTEtdoVtBj0AWZf/6q1xntKoO0rYoqlCfqny7tmtDLUX BRSqJBe1YKwxnhJhEo9vLLA+ujB6KZoiWk8y9D0NYyaNYit56rWtsgagf9EsK0cGq4h7RX WOtM4O7BsNCOiayMcEG6+HWEVERTyLCFnSifJH+ie3gBqRY9Lc8ne12m6vv9Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748694512; a=rsa-sha256; cv=none; b=cdpsVQxBK/FqQdCh2/tc1Hz7MeD0qQ6GKSp5rANVtrARkSDEt66OpcfNplVSAX1iATDBrF TQgKJ5vzLYW6KsI0kIdW/p/mdvLfL/FBNZAKIsxfrsEK33y2RE/xmBGLtMbeJ8j401ypxx 910lG7F3qab+3AuQxdla4FOpNXknL8yNNTbn9BhrUKfOAHYEAP5NwW9EegCAbVMPokLR37 9dglLhNeAjbb1ldtx5OL0584E/PkmCLPoaxSaMfOixMhMBHEdnFan08ELVQ6SJSNFzNGsq hGixa/DWpzePQhmW4wTekui1kn/bBFdFOVgkqsF5JAnnWLF/KHvmuaXI1OcX7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b8fXb38Yrzdxm; Sat, 31 May 2025 12:28:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54VCSVi9086182; Sat, 31 May 2025 12:28:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54VCSVZd086179; Sat, 31 May 2025 12:28:31 GMT (envelope-from git) Date: Sat, 31 May 2025 12:28:31 GMT Message-Id: <202505311228.54VCSVZd086179@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 93aeb68a8933 - stable/14 - atf: Don't be deterred by weird umasks. 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: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 93aeb68a8933e7458c795b31589900cbeae49e38 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=93aeb68a8933e7458c795b31589900cbeae49e38 commit 93aeb68a8933e7458c795b31589900cbeae49e38 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-24 10:03:22 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-31 12:28:28 +0000 atf: Don't be deterred by weird umasks. If the current umask is weird, ATF goes to great lengths to tell us that it can't possibly work in these conditions, instead of just dealing with it. This makes it unreasonably hard to use ATF to test how our own code handles unusual umasks. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: igoro, kevans, ngie Differential Revision: https://reviews.freebsd.org/D50267 (cherry picked from commit 1a6a36a98ad5dc86862541b91686b00cf88e9f76) --- contrib/atf/atf-c/check_test.c | 8 +--- contrib/atf/atf-c/detail/fs.c | 91 ++++-------------------------------- contrib/atf/atf-c/detail/fs_test.c | 44 ++++++++--------- contrib/atf/atf-sh/atf-check_test.sh | 24 +++++----- 4 files changed, 43 insertions(+), 124 deletions(-) diff --git a/contrib/atf/atf-c/check_test.c b/contrib/atf/atf-c/check_test.c index adaca649be25..06e2fad2d9a4 100644 --- a/contrib/atf/atf-c/check_test.c +++ b/contrib/atf/atf-c/check_test.c @@ -458,8 +458,7 @@ ATF_TC(exec_umask); ATF_TC_HEAD(exec_umask, tc) { atf_tc_set_md_var(tc, "descr", "Checks that atf_check_exec_array " - "correctly reports an error if the umask is too " - "restrictive to create temporary files"); + "works regardless of umask"); } ATF_TC_BODY(exec_umask, tc) { @@ -473,10 +472,7 @@ ATF_TC_BODY(exec_umask, tc) argv[2] = NULL; umask(0222); - atf_error_t err = atf_check_exec_array(argv, &result); - ATF_CHECK(atf_is_error(err)); - ATF_CHECK(atf_error_is(err, "invalid_umask")); - atf_error_free(err); + RE(atf_check_exec_array(argv, &result)); atf_fs_path_fini(&process_helpers); } diff --git a/contrib/atf/atf-c/detail/fs.c b/contrib/atf/atf-c/detail/fs.c index 5ff7648c3c7e..6ea825aa8e56 100644 --- a/contrib/atf/atf-c/detail/fs.c +++ b/contrib/atf/atf-c/detail/fs.c @@ -54,71 +54,13 @@ * Prototypes for auxiliary functions. * --------------------------------------------------------------------- */ -static bool check_umask(const mode_t, const mode_t); static atf_error_t copy_contents(const atf_fs_path_t *, char **); -static mode_t current_umask(void); static atf_error_t do_mkdtemp(char *); static atf_error_t normalize(atf_dynstr_t *, char *); static atf_error_t normalize_ap(atf_dynstr_t *, const char *, va_list); static void replace_contents(atf_fs_path_t *, const char *); static const char *stat_type_to_string(const int); -/* --------------------------------------------------------------------- - * The "invalid_umask" error type. - * --------------------------------------------------------------------- */ - -struct invalid_umask_error_data { - /* One of atf_fs_stat_*_type. */ - int m_type; - - /* The original path causing the error. */ - /* XXX: Ideally this would be an atf_fs_path_t, but if we create it - * from the error constructor, we cannot delete the path later on. - * Can't remember why atf_error_new does not take a hook for - * deletion. */ - char m_path[1024]; - - /* The umask that caused the error. */ - mode_t m_umask; -}; -typedef struct invalid_umask_error_data invalid_umask_error_data_t; - -static -void -invalid_umask_format(const atf_error_t err, char *buf, size_t buflen) -{ - const invalid_umask_error_data_t *data; - - PRE(atf_error_is(err, "invalid_umask")); - - data = atf_error_data(err); - snprintf(buf, buflen, "Could not create the temporary %s %s because " - "it will not have enough access rights due to the current " - "umask %05o", stat_type_to_string(data->m_type), - data->m_path, (unsigned int)data->m_umask); -} - -static -atf_error_t -invalid_umask_error(const atf_fs_path_t *path, const int type, - const mode_t failing_mask) -{ - atf_error_t err; - invalid_umask_error_data_t data; - - data.m_type = type; - - strncpy(data.m_path, atf_fs_path_cstring(path), sizeof(data.m_path)); - data.m_path[sizeof(data.m_path) - 1] = '\0'; - - data.m_umask = failing_mask; - - err = atf_error_new("invalid_umask", &data, sizeof(data), - invalid_umask_format); - - return err; -} - /* --------------------------------------------------------------------- * The "unknown_file_type" error type. * --------------------------------------------------------------------- */ @@ -162,14 +104,6 @@ unknown_type_error(const char *path, int type) * Auxiliary functions. * --------------------------------------------------------------------- */ -static -bool -check_umask(const mode_t exp_mode, const mode_t min_mode) -{ - const mode_t actual_mode = (~current_umask() & exp_mode); - return (actual_mode & min_mode) == min_mode; -} - static atf_error_t copy_contents(const atf_fs_path_t *p, char **buf) @@ -189,15 +123,6 @@ copy_contents(const atf_fs_path_t *p, char **buf) return err; } -static -mode_t -current_umask(void) -{ - const mode_t current = umask(0); - (void)umask(current); - return current; -} - static atf_error_t do_mkdtemp(char *tmpl) @@ -794,11 +719,10 @@ atf_fs_mkdtemp(atf_fs_path_t *p) { atf_error_t err; char *buf; + mode_t mask; - if (!check_umask(S_IRWXU, S_IRWXU)) { - err = invalid_umask_error(p, atf_fs_stat_dir_type, current_umask()); - goto out; - } + mask = umask(0); + umask(mask & 077); err = copy_contents(p, &buf); if (atf_is_error(err)) @@ -814,6 +738,7 @@ atf_fs_mkdtemp(atf_fs_path_t *p) out_buf: free(buf); out: + umask(mask); return err; } @@ -823,11 +748,10 @@ atf_fs_mkstemp(atf_fs_path_t *p, int *fdout) atf_error_t err; char *buf; int fd; + mode_t mask; - if (!check_umask(S_IRWXU, S_IRWXU)) { - err = invalid_umask_error(p, atf_fs_stat_reg_type, current_umask()); - goto out; - } + mask = umask(0); + umask(mask & 077); err = copy_contents(p, &buf); if (atf_is_error(err)) @@ -844,6 +768,7 @@ atf_fs_mkstemp(atf_fs_path_t *p, int *fdout) out_buf: free(buf); out: + umask(mask); return err; } diff --git a/contrib/atf/atf-c/detail/fs_test.c b/contrib/atf/atf-c/detail/fs_test.c index 7812be0334b8..a9cc34a4f48b 100644 --- a/contrib/atf/atf-c/detail/fs_test.c +++ b/contrib/atf/atf-c/detail/fs_test.c @@ -896,25 +896,25 @@ ATF_TC_BODY(mkdtemp_err, tc) static void do_umask_check(atf_error_t (*const mk_func)(atf_fs_path_t *), - atf_fs_path_t *path, const mode_t test_mask, - const char *str_mask, const char *exp_name) + atf_error_t (*const rm_func)(const atf_fs_path_t *), + atf_fs_path_t *tmpl, const mode_t test_mask, + const char *exp_name) { - char buf[1024]; - int old_umask; + atf_fs_path_t path; + int pre_mask, post_mask; atf_error_t err; - printf("Creating temporary %s with umask %s\n", exp_name, str_mask); + printf("Creating temporary %s with umask %05o\n", exp_name, test_mask); - old_umask = umask(test_mask); - err = mk_func(path); - (void)umask(old_umask); + RE(atf_fs_path_copy(&path, tmpl)); - ATF_REQUIRE(atf_is_error(err)); - ATF_REQUIRE(atf_error_is(err, "invalid_umask")); - atf_error_format(err, buf, sizeof(buf)); - ATF_CHECK(strstr(buf, exp_name) != NULL); - ATF_CHECK(strstr(buf, str_mask) != NULL); - atf_error_free(err); + pre_mask = umask(test_mask); + err = mk_func(&path); + post_mask = umask(pre_mask); + + ATF_REQUIRE(!atf_is_error(err)); + ATF_CHECK_EQ(post_mask, test_mask); + RE(rm_func(&path)); } ATF_TC(mkdtemp_umask); @@ -929,11 +929,11 @@ ATF_TC_BODY(mkdtemp_umask, tc) RE(atf_fs_path_init_fmt(&p, "testdir.XXXXXX")); - do_umask_check(atf_fs_mkdtemp, &p, 00100, "00100", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00200, "00200", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00400, "00400", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00500, "00500", "directory"); - do_umask_check(atf_fs_mkdtemp, &p, 00600, "00600", "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00100, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00200, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00400, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00500, "directory"); + do_umask_check(atf_fs_mkdtemp, atf_fs_rmdir, &p, 00600, "directory"); atf_fs_path_fini(&p); } @@ -1039,9 +1039,9 @@ ATF_TC_BODY(mkstemp_umask, tc) RE(atf_fs_path_init_fmt(&p, "testfile.XXXXXX")); - do_umask_check(mkstemp_discard_fd, &p, 00100, "00100", "regular file"); - do_umask_check(mkstemp_discard_fd, &p, 00200, "00200", "regular file"); - do_umask_check(mkstemp_discard_fd, &p, 00400, "00400", "regular file"); + do_umask_check(mkstemp_discard_fd, atf_fs_unlink, &p, 00100, "regular file"); + do_umask_check(mkstemp_discard_fd, atf_fs_unlink, &p, 00200, "regular file"); + do_umask_check(mkstemp_discard_fd, atf_fs_unlink, &p, 00400, "regular file"); atf_fs_path_fini(&p); } diff --git a/contrib/atf/atf-sh/atf-check_test.sh b/contrib/atf/atf-sh/atf-check_test.sh index 9542dfb0bd9f..91d024a85bcd 100644 --- a/contrib/atf/atf-sh/atf-check_test.sh +++ b/contrib/atf/atf-sh/atf-check_test.sh @@ -389,21 +389,19 @@ stdin_body() atf_fail "atf-check does not seem to respect stdin" } -atf_test_case invalid_umask -invalid_umask_head() +atf_test_case unusual_umask +unusual_umask_head() { - atf_set "descr" "Tests for a correct error condition if the umask is" \ - "too restrictive" + atf_set "descr" "Tests that atf-check doesn't care about unusual umasks" } -invalid_umask_body() +unusual_umask_body() { - umask 0222 - ${Atf_Check} false 2>stderr && \ - atf_fail "atf-check returned 0 but it should have failed" - cat stderr - grep 'temporary.*current umask.*0222' stderr >/dev/null || \ - atf_fail "atf-check did not report an error related to the" \ - "current umask" + for mask in 022 027 0222 0177 0777 ; do + umask $mask + ${Atf_Check} true || \ + atf_fail "atf-check failed with umask $mask" + done + umask 022 } atf_init_test_cases() @@ -435,7 +433,7 @@ atf_init_test_cases() atf_add_test_case stdin - atf_add_test_case invalid_umask + atf_add_test_case unusual_umask } # vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 From nobody Sat May 31 19:30:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b8qtx69J6z5xSrw; Sat, 31 May 2025 19:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b8qtx1Ptkz3xNH; Sat, 31 May 2025 19:30:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748719801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6sSwFx89QRe/lQW6bCC7Gp2zSFELYrKNA2rNZM7kt6M=; b=WXpXdiz7Z914ENHUTrZ4NcV5IvX3O5qkZWy4DDJ8QaihnxLk1KyiaEAwVTW25/LSizG/yA MiuYSV4bbAY0ZB3wd5Rb5huguG6EVPBvZgJD+IO8C+hUOz6wa9qXrHy475guKXv/FHLSe/ rvLZrkrmKKYd07C8vtXgphGKtJ4jur/f2o6NkuJP3z9T1Rahq4hCHqDTvsPKg5HsMEWXjR SFtl1gVMTwxzo6O9tTtTUSn29u79aMeYmru38nYCe6M8YiUzCNWMysniffs+pfc/6n1Kqs M/cEBWv1SZHgNtx6wuDgruDoSeJKDOqifaOQlM56+dYTF1gd/MOmlySYA+fBVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748719801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6sSwFx89QRe/lQW6bCC7Gp2zSFELYrKNA2rNZM7kt6M=; b=X9dLoBc4PmdZUrQOJ9PjL0/Alc3mPZJIXeOrIWOlQf6gJwL7AFAer9UGPwYrL2SdreScKJ /7ibbfGjtxC+kW6eRnnuKZwWjVh8haUAhs314TdhRaMYoKvuxr1WtLqdCYUMx8vx5Ad8dB lD1Ii6t78T4Hivc4CYHfKuvxYg2vKGzXEn8TnMIhU6ARrJ3xwU4QxFf7loq908VFcbDAA6 uRW+GIncIwiLwvzENaDQ1mFk/zfmP3FRl+6sYzJrr+i9L070DkcfxTqu/8HAwMxNLO2Y6i wW5W5vs/RxN4TBm7U/cp+cQx5gFbbmB+mbZH1zYtU+qDvi4I/UQ/+6VI5OFm1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748719801; a=rsa-sha256; cv=none; b=lFaNVbUk8DP9S9z3tP5jdcMMNfaXTnTozE+Hyr4ds7+FOj0hdRZLuoOubhM8VGMxQFSGal FMwoWN2jtHZdmgOghpXeCkIUuKPdsQvGsfVklPRTmecZxsohI7Di0Sh68M9pTJiqCG+YjN /FwpOxeieK5M2ShqK/6qzT6oLSSsh7AV0rEGt30xUuopoO33No1d5bl0ws7QcmQFMC22Os VxjjRHEXHHewH5IoOM5HdOXL9ZA1gTaexGkHzEhKQ18aPda5p5OPRjJJjZEx8Lrrs+mkeO tiWMnyGxVa6DSnx/OjTBX1sR68oijIOXQKL31r3PnNNfpuBm5YoMctfGPTv2Sg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b8qtx0KkWzrly; Sat, 31 May 2025 19:30: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 54VJU0L9077465; Sat, 31 May 2025 19:30:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54VJU0hQ077440; Sat, 31 May 2025 19:30:00 GMT (envelope-from git) Date: Sat, 31 May 2025 19:30:00 GMT Message-Id: <202505311930.54VJU0hQ077440@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: ab9c9443eec5 - stable/14 - sound: Deprecate the MIDI sequencer 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: ab9c9443eec582265c288dc46d2c2144f0f81188 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ab9c9443eec582265c288dc46d2c2144f0f81188 commit ab9c9443eec582265c288dc46d2c2144f0f81188 Author: Christos Margiolis AuthorDate: 2025-05-30 17:26:01 +0000 Commit: Christos Margiolis CommitDate: 2025-05-31 19:29:38 +0000 sound: Deprecate the MIDI sequencer The in-kernel MIDI sequencer is not used anymore, since this is done by userland applications nowadays. It also contains bugs, and we are not exactly sure how it works, or if it worked properly in the first place. Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50606 (cherry picked from commit 799105f53a9647f86dbf08456260d5850851b6f9) --- sys/dev/sound/midi/sequencer.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/sound/midi/sequencer.c b/sys/dev/sound/midi/sequencer.c index e4ea1e208356..9c4089debf4c 100644 --- a/sys/dev/sound/midi/sequencer.c +++ b/sys/dev/sound/midi/sequencer.c @@ -520,6 +520,8 @@ seq_addunit(void) int ret; u_char *buf; + gone_in(15, "MIDI sequencer: no longer needed or used"); + /* Allocate the softc. */ ret = ENOMEM; scp = malloc(sizeof(*scp), M_DEVBUF, M_NOWAIT | M_ZERO); @@ -737,6 +739,8 @@ mseq_open(struct cdev *i_dev, int flags, int mode, struct thread *td) struct seq_softc *scp = i_dev->si_drv1; int i; + gone_in(15, "MIDI sequencer: no longer needed or used"); + if (scp == NULL) return ENXIO; From nobody Sun Jun 1 00:42:29 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b8yqT6pfpz5xnZM; Sun, 01 Jun 2025 00:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b8yqT38lGz3TLb; Sun, 01 Jun 2025 00:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748738549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQ9b1yLP+foQUrpQdKKlg75kCWdu8tK6XT+wg6/W44s=; b=kCT/PLQtX0eWE0IQfUUUuOAblLfS5bPp0MQW1sbqEA2eNjUPwvfDP0v996kt/KJgyVTFnK IXIEqy0LZ5O8lqof25+U35DF1qtqqUCWQYMWsNiYgxLGHoeZMtuiSwl4Q+XcbpAne77hUW BCbWBRDx5UA5FLLwmhqa6T/zquaQq0/wL8/o5W6zmmeq6v+msKX4NUQormWO4J1qQnGFTw PHOb1drAilAu2BGa0acQv+TqYnUfBR92qcbAclMvw0u7JU//H6BOVTV8dal5Xu8wxFX9Pi cN8uSbQ6S4IrraErO+V7qW2oGsx6lcIYJc7ty+cBKaQ8DbO647jtK+Jr2PJbHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748738549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQ9b1yLP+foQUrpQdKKlg75kCWdu8tK6XT+wg6/W44s=; b=Qi72pSsnTxIXGmBEIg7p3ntftsj8SDSHbV5TC5QJAHmXavX+uwIQYKe8ZfZ1zBWB3PUh9k y7DN0eR487k6SOoY4xGT0+2RlvSnU187Pj8dwRs1WGpBiQc6uxivErEMpmxXJWYkz3ZHzp MogkxQNx2ritpKgwWMehLSAEQp+hiMYVS7hDbQuAarRJH0TKfybC/cIaTKPpOqqKaxHfzT kK+/FlHrM7ATP4dfsJpiiH2qkkoS3uzhaQeaRE4LXALFb+A65DnXAwNiFQIW8f1SdeSWjo hQ2/ZwtCoBzD8LTfVoa9iF1s9YmVOjWwj8Sa3aSyCQtv+dTMbv0UB/XVgzxDBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748738549; a=rsa-sha256; cv=none; b=FnBgbyzJSs6qf0u8LQbSZ8NO1OrOGzx7vqWElEfYi9GjJZ1QRo8VY9W9B2vYYdA2vPiOly 8wsd5q31zrWy6A4QBd/MamNtXSNZ5mRI1qruLYrQlaUnlG4ZiAmhqozKqYFHH2OghYCsT5 5IIcJtSYCCM/+Gdunha59MhwHQgRJBgRjcC9wFRqFzFba57TiyWALQxev3Z79hqj+jmXB1 2A4EPcDGzngMjimnH2Omwd6A77LEU202GEcIQbFt7NOpJxgJOHhFiuTYoMm6M8mISRcrZk lGLSK4AqUtyQYfy7YTHYxMLUEzH3Mf6DVMeXWO9137ze1AgOc6AGX6Eeza2Zvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b8yqT2HwXz11hR; Sun, 01 Jun 2025 00:42: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 5510gTV0073728; Sun, 1 Jun 2025 00:42:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5510gT8k073725; Sun, 1 Jun 2025 00:42:29 GMT (envelope-from git) Date: Sun, 1 Jun 2025 00:42:29 GMT Message-Id: <202506010042.5510gT8k073725@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: c6f345bda517 - stable/14 - pkg/FreeBSD.conf: Fix comments to reflect -kmods 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: c6f345bda5171ce879caa2d588d24ffb5aff37d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c6f345bda5171ce879caa2d588d24ffb5aff37d2 commit c6f345bda5171ce879caa2d588d24ffb5aff37d2 Author: Colin Percival AuthorDate: 2025-05-29 23:40:30 +0000 Commit: Colin Percival CommitDate: 2025-06-01 00:42:17 +0000 pkg/FreeBSD.conf: Fix comments to reflect -kmods Now that this file lists two repositories, the text "to disable *this* repository" no longer makes sense. Also, expand the example to list how to disable both FreeBSD and FreeBSD-kmods repositories. Reported by: Graham Perrin MFC after: 3 days (cherry picked from commit 955ab1a8f21ec1a662a87fc5e76e6d5690e09085) --- usr.sbin/pkg/FreeBSD.conf.latest | 5 +++-- usr.sbin/pkg/FreeBSD.conf.quarterly | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/usr.sbin/pkg/FreeBSD.conf.latest b/usr.sbin/pkg/FreeBSD.conf.latest index b7b528bc3756..2175a3387437 100644 --- a/usr.sbin/pkg/FreeBSD.conf.latest +++ b/usr.sbin/pkg/FreeBSD.conf.latest @@ -1,9 +1,10 @@ # -# To disable this repository, instead of modifying or removing this file, -# create a /usr/local/etc/pkg/repos/FreeBSD.conf file: +# To disable a repository, instead of modifying or removing this file, +# create a /usr/local/etc/pkg/repos/FreeBSD.conf file, e.g.: # # mkdir -p /usr/local/etc/pkg/repos # echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf +# echo "FreeBSD-kmods: { enabled: no }" >> /usr/local/etc/pkg/repos/FreeBSD.conf # FreeBSD: { diff --git a/usr.sbin/pkg/FreeBSD.conf.quarterly b/usr.sbin/pkg/FreeBSD.conf.quarterly index 2050350baa1f..bd0ee13b9b43 100644 --- a/usr.sbin/pkg/FreeBSD.conf.quarterly +++ b/usr.sbin/pkg/FreeBSD.conf.quarterly @@ -1,9 +1,10 @@ # -# To disable this repository, instead of modifying or removing this file, -# create a /usr/local/etc/pkg/repos/FreeBSD.conf file: +# To disable a repository, instead of modifying or removing this file, +# create a /usr/local/etc/pkg/repos/FreeBSD.conf file, e.g.: # # mkdir -p /usr/local/etc/pkg/repos # echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf +# echo "FreeBSD-kmods: { enabled: no }" >> /usr/local/etc/pkg/repos/FreeBSD.conf # FreeBSD: { From nobody Sun Jun 1 09:22:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9BMK57cjz5xP6V; Sun, 01 Jun 2025 09:22:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9BMK4Sy1z3cGZ; Sun, 01 Jun 2025 09:22:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EjcQtKaWgVpKP8FR+jxLGap5ceY3XeQOQiN6MDBjF00=; b=InmsJwS2H50Y+kk5wLpR9x4Sbko51vKh7IX/qiVAVYBHDzXYLLg0zb9t6bOmOt32d/EfVr Lr+ow88fm9+0rZlt7WEdoDjMPpGhKBNLPlu6DfivSutNEdcL2xXDrRpR2Zr8FkDr0fWDNA so1qx8k41wA1iCzH8z0DW1zGC6Ouh2nyzIjJkE0vKSDZfKcgdhxVs7KIUoI3hZykqrCs8W t6T0y1DiTN40AOuuL7uktyisCKPg5IRy3O9MO2BaOWXxbY7Qx4qNDtPAvRpYHIYTYxU6En nr6u/UpJ84mdmcrUnGBCr6sDE2KtPx5VZHvLsUeFrbPpd9qbRccQ5qLQPqqoQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EjcQtKaWgVpKP8FR+jxLGap5ceY3XeQOQiN6MDBjF00=; b=MrBaUSU5P7k3u1/yvMxfuFunj0ajpbDiTrDn7nLkAr5M+0ZxAmCjFiuUtC5h0b5hbS0fCS j9qf8Me8nIMC3I6rZI/ImLS11Yw7/26PZdCZdPdazGqlqm+PriCyueAbQqkSfl9vcMzniV R2I3ef8bi35dEgUarXPtzXw+FDFHsfdlDXFPgLu6EOWcgxeS8G8ZeAYmHcr4PbtAkjo0uD H9nAO9Udmpx2f3GZA9WVsjio0us0SpzMQ40Lz8/z5aoCUsCLTylIcO/Aj+zflwzK6XWyei xX9Oy6DjqDMwsh0TaIzkiTtDkqU69/6vNnPXY56tfENHJP0X7pS7hwJsSdaCtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748769741; a=rsa-sha256; cv=none; b=KBN3YXck/K1ZluyDHor2vIBK0uiHQ1YD5j5kAZuiAFPCSuptoWsOCbYHTt/Lczv8gyLGWC /zzYuYjxLIop7jnueJ3xodRKg9gZykOJS6WtwKjfNXs1Wyljk6Kl3TkqQFTCyxMuQt1bSr CrAXF8EQv1STAcaylObLr8yw+/QRQuwBAsk70XVKvc+qW2Gl6zZ6ZtHPVKwPH8cjaMWavG ZmmE1RAwc94EE4+RcCwG89WRYjs+wOwIcxBDktgeCC52t0Mms6hoOwc+grYl4ZamPWz5bM OzXSDyNMhTspIuCXrqQldpyID1dtRadECcCG+Ek54NRsD+4Cn6ZyxnoW1EHkFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9BMK419vz2qp; Sun, 01 Jun 2025 09:22: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 5519ML86049116; Sun, 1 Jun 2025 09:22:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5519MLXn049113; Sun, 1 Jun 2025 09:22:21 GMT (envelope-from git) Date: Sun, 1 Jun 2025 09:22:21 GMT Message-Id: <202506010922.5519MLXn049113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 1b9a53e3805d - stable/14 - zfsboot: fix misuse of the phrase zpool List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1b9a53e3805deb0b95760fd34025d4d0a4f96f41 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=1b9a53e3805deb0b95760fd34025d4d0a4f96f41 commit 1b9a53e3805deb0b95760fd34025d4d0a4f96f41 Author: Graham Perrin AuthorDate: 2025-01-10 18:02:25 +0000 Commit: Lexi Winter CommitDate: 2025-06-01 09:14:51 +0000 zfsboot: fix misuse of the phrase zpool A pool is not a zpool. Reviewed by: jbh, ivy Approved by: des (mentor) MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/1569 (cherry picked from commit f69afe4201ff33da0b3c3ca464a92e2e0b07ac43) --- usr.sbin/bsdinstall/scripts/zfsboot | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index 6c6c81a7f010..59e6359d311e 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -121,7 +121,7 @@ f_include $BSDCFG_SHARE/variable.subr : ${ZFSBOOT_BOOT_TYPE:=} # -# How much swap to put on each block device in the boot zpool +# How much swap to put on each block device in the boot pool # NOTE: Value passed to gpart(8); which supports SI unit suffixes. # : ${ZFSBOOT_SWAP_SIZE:=2g} @@ -137,7 +137,7 @@ f_include $BSDCFG_SHARE/variable.subr : ${ZFSBOOT_SWAP_MIRROR=} # -# Default ZFS datasets for root zpool +# Default ZFS datasets for root pool # # NOTE: Requires /tmp, /var/tmp, /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME # NOTE: Anything after pound/hash character [#] is ignored as a comment. @@ -285,12 +285,12 @@ msg_odd_disk_selected="An even number of disks must be selected to create a RAID msg_ok="OK" msg_partition_scheme="Partition Scheme" msg_partition_scheme_help="Select partitioning scheme. GPT is recommended." -msg_please_enter_a_name_for_your_zpool="Please enter a name for your zpool:" +msg_please_enter_a_name_for_your_pool="Please enter a name for your pool:" msg_please_enter_amount_of_swap_space="Please enter amount of swap space (SI-Unit suffixes\nrecommended; e.g., \`2g' for 2 Gigabytes):" -msg_please_select_one_or_more_disks="Please select one or more disks to create a zpool:" +msg_please_select_one_or_more_disks="Please select one or more disks to create a pool:" msg_pool_name="Pool Name" msg_pool_name_cannot_be_empty="Pool name cannot be empty." -msg_pool_name_help="Customize the name of the zpool to be created (Required)" +msg_pool_name_help="Customize the name of the pool to be created (Required)" msg_pool_type_disks="Pool Type/Disks:" msg_pool_type_disks_help="Choose type of ZFS Virtual Device and disks to use (Required)" msg_processing_selection="Processing selection..." @@ -323,9 +323,9 @@ msg_unsupported_partition_scheme="%s is an unsupported partition scheme" msg_user_cancelled="User Cancelled." msg_yes="YES" msg_zfs_configuration="ZFS Configuration" -msg_please_enter_options_for_your_zpool="Please enter options for your zpool" +msg_please_enter_options_for_your_pool="Please enter options for your pool" msg_zfs_options_name="ZFS Pool Options" -msg_zfs_options_name_help="Customize ZFS options for the zpool to be created" +msg_zfs_options_name_help="Customize ZFS options for the pool to be created" ############################################################ FUNCTIONS @@ -748,8 +748,8 @@ dialog_menu_layout() # zfs_create_diskpart $disk $index # -# For each block device to be used in the zpool, rather than just create the -# zpool with the raw block devices (e.g., da0, da1, etc.) we create partitions +# For each block device to be used in the pool, rather than just create the +# pool with the raw block devices (e.g., da0, da1, etc.) we create partitions # so we can have some real swap. This also provides wiggle room incase your # replacement drivers do not have the exact same sector counts. # @@ -905,7 +905,7 @@ zfs_create_diskpart() fi fi - # NB: zpool will use the `zfs#' GPT labels + # NB: ZFS pools will use `zfs#' GPT labels if [ "$ZFSBOOT_BOOT_TYPE" = "BIOS+UEFI" ]; then if [ "$ZFSBOOT_BOOT_POOL" ]; then bootpart=p3 swappart=p4 targetpart=p4 @@ -1006,7 +1006,7 @@ zfs_create_diskpart() f_eval_catch $funcname gpart "$GPART_CREATE" BSD ${disk}s1 || return $FAILURE - # NB: zpool will use s1a (no labels) + # NB: ZFS pools will use s1a (no labels) bootpart=s1a swappart=s1b targetpart=s1d mbrindex=4 # @@ -1594,7 +1594,7 @@ dialog_menu_diskinfo() return $SUCCESS } -dialog_zpool_name() +dialog_pool_name() { local prompt="$* is already taken, please enter a name for the ZFS pool \ (Or confirm using the same name by just pressing enter)" @@ -1639,7 +1639,7 @@ for pool in ${pools}; do f_dprintf "Checking ${pool} against ${ZFSBOOT_POOL_NAME}" if [ "${pool}" = "${ZFSBOOT_POOL_NAME}" ]; then f_dprintf "Pool ${pool} already taken" - ZFSBOOT_POOL_NAME=$(dialog_zpool_name "${ZFSBOOT_POOL_NAME}") + ZFSBOOT_POOL_NAME=$(dialog_pool_name "${ZFSBOOT_POOL_NAME}") break fi done @@ -1771,7 +1771,7 @@ while :; do ?" $msg_pool_name") # Prompt the user to input/change the name for the new pool f_dialog_input input \ - "$msg_please_enter_a_name_for_your_zpool" \ + "$msg_please_enter_a_name_for_your_pool" \ "$ZFSBOOT_POOL_NAME" && ZFSBOOT_POOL_NAME="$input" ;; @@ -1860,7 +1860,7 @@ while :; do ?" $msg_zfs_options_name") # Prompt the user to input/change the pool options f_dialog_input input \ - "$msg_please_enter_options_for_your_zpool" \ + "$msg_please_enter_options_for_your_pool" \ "$ZFSBOOT_POOL_CREATE_OPTIONS" && ZFSBOOT_POOL_CREATE_OPTIONS="$input" ;; From nobody Sun Jun 1 09:22:22 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9BML6dZHz5xPP8; Sun, 01 Jun 2025 09:22:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9BML5TqKz3c7r; Sun, 01 Jun 2025 09:22:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Av7XPPA1n5jOI7GifszawBfT2NcH9X1Hnyk79bnUxoE=; b=Dh0jMWAtC1XtmE6EpJ5r6Xk9CwZ2X7HjwJ6RLnmOk686g6p1Px8tCxifx/wQG+Fi+pu0cj /p5/kRd1KcRlvxMAVIBmvyMPHng/Wr4P4RAioziPnsOY/v8YDjMMo7SFDlNNAuFEvCwSEo XONJua5vejVaUacsrJ+amCeioB4vw7zm5H8dNUvrs69Cu2aFkc+vdUX5lcT9ro2dfzdcPg SsPCsX2SV+I0O2q0Gqyk6Ax8+AC+ejMQzAn5U+ZuxYiwhLCvTwzVvguH60+rBKL4Yq0L/U D1g23X3GvzqQv67rE0Zs7GyExeMuXlwamMDNeG3s0ZB1bR9iWqpyuEo2ukweEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Av7XPPA1n5jOI7GifszawBfT2NcH9X1Hnyk79bnUxoE=; b=HpsVYZGyY9CaTLmq4JjMqxy/y6fRvwSEk8dgjoDDKmBZjF5KdxWfu4JYspHlzQBBl95Kqy QD9mkq5HvwtAbhkIQrLTz5Q7oN9zVIBjVMGqWKjAfzBMka5kTqG8IauHd2v6M7x3BfZd4V 5RB32+WeryA5AcRqBBXx9SwkaphCyhoqgdDKzxDVn03CdbpuO6f3m1A/YHbl36TJMcfGsy Qc6s5XMwe1B4RM/b6dfHFYKDrorVHm2ZfBwdlM5UwLbahXbh0TAARJmCLklqw6rQabzhnR 8qplJlmP9gC3Qk4ye/XQaJ+LljQTMa4Mi4fW9ckBmQqkHMI7ZcwVdFR0YmCEyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748769742; a=rsa-sha256; cv=none; b=PQLrAhmD6n0XYkHHW7Vpy8ht4CKfOrsEZb1pUPN0sgt6jZGKtjek1UTEIAuDk2HQ3dqIc6 Z1PoEljHWMrUhUX/vTM5bS5GpMyz3A/YwKmju+2FVMMG1gHdKIRPMvQreIfBKDZjKIq8Z3 4wt9P84rMz3y5DhWZkO8Q5v1ld7Av5xxcQbEKQTKu7jjjX8Nx2uUV7Kw1ab1tvs2/TSOUp Junw66dYoou4417qinAKhWLoaiGTcegYC63YRf5NIn2WsLb4MFcRNAVCzOwCLR531fnOT7 1Bc+LZFe6hLsY6qggDVmuPgxu5juI5wkt03HBH9r+B+VcsGh5w0rLXHV0uymuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9BML53FWz2qq; Sun, 01 Jun 2025 09:22: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 5519MMPE049149; Sun, 1 Jun 2025 09:22:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5519MMk7049146; Sun, 1 Jun 2025 09:22:22 GMT (envelope-from git) Date: Sun, 1 Jun 2025 09:22:22 GMT Message-Id: <202506010922.5519MMk7049146@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 56da5c5ed35a - stable/14 - mac_do(4): allow compiling into kernel List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 56da5c5ed35ad297538395b07654e31ac425ca30 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=56da5c5ed35ad297538395b07654e31ac425ca30 commit 56da5c5ed35ad297538395b07654e31ac425ca30 Author: Lexi Winter AuthorDate: 2025-05-22 16:59:32 +0000 Commit: Lexi Winter CommitDate: 2025-06-01 09:14:51 +0000 mac_do(4): allow compiling into kernel The manual page says this is possible, but it's not. Make it possible. Reviewed by: olce, kevans Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D50451 (cherry picked from commit c8d8cac2a8479009bcdca6c0cb9852af514896f2) --- sys/conf/NOTES | 1 + sys/conf/files | 3 ++- sys/conf/options | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 55c1798bbffc..8dff052258a6 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1245,6 +1245,7 @@ options MAC options MAC_BIBA options MAC_BSDEXTENDED options MAC_DDB +options MAC_DO options MAC_IFOFF options MAC_IPACL options MAC_LOMAC diff --git a/sys/conf/files b/sys/conf/files index c793c0814fde..6412e84d9f70 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -5164,10 +5164,11 @@ security/mac/mac_sysv_sem.c optional mac security/mac/mac_sysv_shm.c optional mac security/mac/mac_vfs.c optional mac security/mac_biba/mac_biba.c optional mac_biba -security/mac_ddb/mac_ddb.c optional mac_ddb security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended security/mac_bsdextended/ugidfw_system.c optional mac_bsdextended security/mac_bsdextended/ugidfw_vnode.c optional mac_bsdextended +security/mac_ddb/mac_ddb.c optional mac_ddb +security/mac_do/mac_do.c optional mac_do security/mac_ifoff/mac_ifoff.c optional mac_ifoff security/mac_ipacl/mac_ipacl.c optional mac_ipacl security/mac_lomac/mac_lomac.c optional mac_lomac diff --git a/sys/conf/options b/sys/conf/options index 1d156ca41a49..7314a58a6a4f 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -154,6 +154,7 @@ MAC opt_global.h MAC_BIBA opt_dontuse.h MAC_BSDEXTENDED opt_dontuse.h MAC_DDB opt_dontuse.h +MAC_DO opt_dontuse.h MAC_IFOFF opt_dontuse.h MAC_IPACL opt_dontuse.h MAC_LOMAC opt_dontuse.h From nobody Sun Jun 1 09:22:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9BMN6J47z5xP6W; Sun, 01 Jun 2025 09:22:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9BMM6Xf3z3c11; Sun, 01 Jun 2025 09:22:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiOHG0QdTSGTsbbUg2lVbXzI8UCr7MxnTPETljS975s=; b=RcfrIKWlF6J7DABs5plq197xib2Xn0gabXevnQJrolHvw2sugWCzSAexZukiorbkfxb9lR StV1fRhROrXJNX/s945GFnNeo52hC694LrPVYqXRwDNncSK/YAJ4HmtHYVBS+RMfUiPrI+ dJU9zrLRCNcSLc1t4ASfhWymvXbQtQ8DDiLOvTAXnZ5/a5LJxoZk2u614sd0Cp7QjmVG/T iznuhCM9QaquCwOmx2TQ9++Bkzq3XwEE2lbdfuMdDJ/9BaLN5AYSiZx9juip+Rmhycohha +CXQQGdWd7sZLqeUOtwbykG6ShexRLTJLwHwdmDE7Ccpg4pownaMFkaPSo0MAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiOHG0QdTSGTsbbUg2lVbXzI8UCr7MxnTPETljS975s=; b=r/ZnJI786h1FP+gFi2J48N4im17AAZKZSzAxTe+sVkXHgca3dA1+Wwd4AQ8gTOXyJyj8YY UOdZHULHrepl4WmcfrtiM/nuLglAeHC4iE2Qmw1l6CpxpG9aYQtu3cVfychtK+JG5ZK9Em 2sTT/dfa6JQg5opjhNY3p+lQ5BmeHe0y9q8LdZBknArwJeqfdMDTF2c2R48L0JZLkr4NHg Iwmz+ESqqBLctH30enSRlkDEKLznYmAeovsACd4VTUgZnco+IQQjZOYHRtsRDsvRZ6BQui mLBSHsyR6KZajZcxYwh7C6+yIRI6uirQROx5EMfu+nAs4DoBMNKN5OVa8g1oRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748769743; a=rsa-sha256; cv=none; b=wEwkHdmVKA0/iPBxa5Tp5lBmxoYa+Z0DZkRU+BktNioqd+9jv8dtmHV+vS2h5JB9qjNDaC l4SvKgSg5II9JIBpWvY6z/pm30pPTntBt/R+M28ybg01nR90yBQP78Rh2RB8ww32iTl3jc dVWJflm/HlLpyYiboCxmzqR00pVVX7okfh5qw8ttXjQtQAtXvAaK1+SEezK+aIBh34wVq7 B7caKp9V0f9D/PgjM+rJj27Xr4aW135HmhAkTtwHYUuW7rgtaSy6an5hNJ/Cp7e2P6zCax DEzfeeiyWHH/YM1GyLACcwUlEJ3nk6cXvbUKTPybcQVmLpRixA+JhrpJprY3/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 4b9BMM60smz316; Sun, 01 Jun 2025 09:22: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 5519MNPp049184; Sun, 1 Jun 2025 09:22:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5519MNVE049181; Sun, 1 Jun 2025 09:22:23 GMT (envelope-from git) Date: Sun, 1 Jun 2025 09:22:23 GMT Message-Id: <202506010922.5519MNVE049181@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 59f18f852c7e - stable/14 - bridge: check allow_llz_overlap before member_ifaddrs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 59f18f852c7e665e609341f87c862e83966eec67 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=59f18f852c7e665e609341f87c862e83966eec67 commit 59f18f852c7e665e609341f87c862e83966eec67 Author: Lexi Winter AuthorDate: 2025-05-23 18:08:14 +0000 Commit: Lexi Winter CommitDate: 2025-06-01 09:14:52 +0000 bridge: check allow_llz_overlap before member_ifaddrs When adding a new interface to a bridge and allow_llz_overlap=0, which is the default value, if_bridge checks if the interface has IPv6 link local addresses assigned, and if it does, it calls in6_ifdetach() to remove all IPv6 addresses from the interface. This means it was possible to do this: % ifconfig bridge1 create inet6 -ifdisabled auto_linklocal up % ifconfig epair20 create inet6 -ifdisabled auto_linklocal up % ifconfig bridge1 addm epair20a ... with the result that the link-local address on epair20a would be removed, then the interface would be added to the bridge. If member_ifaddrs=0, which is also the default value, this no longer works: % ifconfig bridge1 addm epair20a ifconfig: BRDGADD epair20a: Invalid argument This is because the member_ifaddrs check runs before allow_llz_overlap does its thing, and returns EINVAL since the new interface has IP addresses on it. To restore the previous behaviour, reverse the order of these two checks, so the IPv6 addresses are removed before we check whether the interface has IPv6 addresses. MFC after: 1 week Reviewed by: kevans, kp Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D50477 (cherry picked from commit da2dbdc297c948d5923812e3d3b777b790d3bf43) --- sys/net/if_bridge.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index b4e4c5fb2f4c..7246d5a8e7c3 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -1289,25 +1289,6 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) return (EINVAL); } - /* - * If member_ifaddrs is disabled, do not allow an interface with - * assigned IP addresses to be added to a bridge. - */ - if (!V_member_ifaddrs) { - struct ifaddr *ifa; - - CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { -#ifdef INET - if (ifa->ifa_addr->sa_family == AF_INET) - return (EINVAL); -#endif -#ifdef INET6 - if (ifa->ifa_addr->sa_family == AF_INET6) - return (EINVAL); -#endif - } - } - #ifdef INET6 /* * Two valid inet6 addresses with link-local scope must not be @@ -1346,6 +1327,26 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) } } #endif + + /* + * If member_ifaddrs is disabled, do not allow an interface with + * assigned IP addresses to be added to a bridge. + */ + if (!V_member_ifaddrs) { + struct ifaddr *ifa; + + CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { +#ifdef INET + if (ifa->ifa_addr->sa_family == AF_INET) + return (EINVAL); +#endif +#ifdef INET6 + if (ifa->ifa_addr->sa_family == AF_INET6) + return (EINVAL); +#endif + } + } + /* Allow the first Ethernet member to define the MTU */ if (CK_LIST_EMPTY(&sc->sc_iflist)) sc->sc_ifp->if_mtu = ifs->if_mtu; From nobody Sun Jun 1 09:22:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9BMR2wm1z5xP1K; Sun, 01 Jun 2025 09:22:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9BMQ19pcz3cGg; Sun, 01 Jun 2025 09:22:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MIMA6McTTk3I/dOIqRBt/quUAmgA9fnsR8NiDLvsaq8=; b=VEhIppTTRDfFdpufD9s1qEPtWNbcD3zGQCKUrqaCaqT35FTeSwxHC/Pv4dS89lysC3/mFO sPyjeRSRdzQfxqB9qonFMoXt1tpCTHJcQPYRdGnJyyiJIqQOsiNyRENN0PUWIoulkmGAxX xeW6XlloRgyuVRV48NcSiusepqWqru7RZGNfNhpAal04g5a6wwCTlqN7I/nFyknJHYZ8XZ P9VBkmBsaT00iVK5DRWpZzPvbBAjINAJCvQpzMPARZLh8k49kXd/C89V5kOIV0sayPzTqF swuNux2DpVjoON5T1gBw9352bjE/2QTMkevzLwTFj8lJZCxzCA2E90PGbSyFAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MIMA6McTTk3I/dOIqRBt/quUAmgA9fnsR8NiDLvsaq8=; b=Z2IkWddJyj028KnNwiQGOeTTjqxbIa7c3DiYHXstParzTEza4+MZe5ON30LzosQbDFYHVv nr5Gmfy5kWS3zSPPc6tTSEWEYNI7IXUE2DlQ/myHVmYWXQ2PUeOa72mfxgezSzBWncmFAI 8FkbKNb0zds27GX9PoIpdYCVwa1OhbiVu0qq2S7VAajULVVuvi8Nca1os0iFfUgsoQcRMq HUfXB4wz76qyqMWWpm9eZdsDQwULxPf1b7bcfYLLDsn/OQKhwbDWT5ppQQ1XZOUWOtu5tR meoH5fRjoHj1xZVmK6ZEu1EeNRXUjRVgwSY3asenYXCRX4r7rCGll3vZFOKe/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748769746; a=rsa-sha256; cv=none; b=EMhD1k9Xdao5FecWHEjDBs/GfXqpU3n2KylicNzGEQsCLWwPyciIk0zoERAWdwrtQSohBV rVS2GjMyomiggBSs7yqhIGuWE7tgjT85wuzxgGotfhaMRZISIBEqtNj5B+Mqp6IdJwkDJw ftlfS5/3YbnTxOBAGxIxegx/UJGYLqgHIoNWn5Xn8yYrC74IJOE8Sac4pLxEunm4XNE12m Q1MZJIXkUkJ25q3CimRPXxg7bk6lIKn5vObmXY8wxzuH/ZOhCxN87BWGe1GlPJ9NMKV/Pj crdV/p8RJ58upAN0z/SaJjL/FOpFjHAq5whM+7sxFSBbvR1nVIgp5pZQwxFLdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9BMQ0TsPz1hj; Sun, 01 Jun 2025 09:22:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5519MPBd049259; Sun, 1 Jun 2025 09:22:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5519MP8u049256; Sun, 1 Jun 2025 09:22:25 GMT (envelope-from git) Date: Sun, 1 Jun 2025 09:22:25 GMT Message-Id: <202506010922.5519MP8u049256@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 7d88b0e3dbe4 - stable/14 - rc.subr: remove the dependency on bsdconfig List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d88b0e3dbe46da939bd9f95164b2d332e9fd53d Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=7d88b0e3dbe46da939bd9f95164b2d332e9fd53d commit 7d88b0e3dbe46da939bd9f95164b2d332e9fd53d Author: Lexi Winter AuthorDate: 2025-05-14 14:33:36 +0000 Commit: Lexi Winter CommitDate: 2025-06-01 09:14:52 +0000 rc.subr: remove the dependency on bsdconfig rc.subr uses sysrc(8) for the 'enable' and 'disable' commands, which means the entire rc(8) stack depends on bsdconfig. Instead, provide a minimal amount of rc.conf-editing functionality in rc.subr and use it to implement these commands. Reviewed by: des, bapt Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50325 (cherry picked from commit f6328f052518d56c01f10e14cd9ef1f2675c01a4) --- libexec/rc/rc.subr | 102 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 86 insertions(+), 16 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 5140f2a1addc..c6bc6d1a1395 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -53,6 +53,9 @@ PS="/bin/ps -ww" JID=0 CPUSET="/bin/cpuset" +# Cache the services that we loaded with load_rc_config. +_loaded_services="" + # rc_service provides the path to the service script that we are executing. # This is not being set here in an execution context, necessarily, so it's # really just a reasonable guess, and it will get overwritten later if @@ -1102,28 +1105,17 @@ run_rc_command() ;; enable) - _out=$(/usr/sbin/sysrc -vs "$name" "$rcvar=YES") && - echo "$name enabled in ${_out%%:*}" + _out=$(write_rcvar "$rcvar" "YES") && + echo "$name enabled in $_out" ;; disable) - _out=$(/usr/sbin/sysrc -vs "$name" "$rcvar=NO") && - echo "$name disabled in ${_out%%:*}" + _out=$(write_rcvar "$rcvar" "NO") && + echo "$name disabled in $_out" ;; delete) - _files= - for _file in $(/usr/sbin/sysrc -lEs "$name"); do - _out=$(/usr/sbin/sysrc -Fif $_file "$rcvar") && _files="$_files $_file" - done - /usr/sbin/sysrc -x "$rcvar" && echo "$rcvar deleted in ${_files# }" - # delete file in rc.conf.d if desired and empty. - checkyesno service_delete_empty || _files= - for _file in $_files; do - [ "$_file" = "${_file#*/rc.conf.d/}" ] && continue - [ $(/usr/bin/stat -f%z $_file) -gt 0 ] && continue - /bin/rm "$_file" && echo "Empty file $_file removed" - done + delete_rcvar "$rcvar" ;; status) @@ -1540,6 +1532,7 @@ load_rc_config() # If a service name was specified, attempt to load # service-specific configuration if [ -n "$_name" ] ; then + _loaded_services="${_loaded_services} ${_name}" for _d in /etc ${local_startup}; do _d=${_d%/rc.d} if [ -f ${_d}/rc.conf.d/"$_name" ]; then @@ -2293,6 +2286,83 @@ _echoonce() esac } +# _find_rcvar var +# Find the rc.conf file (other than /etc/defaults/rc.conf) that sets $var. +_find_rcvar() +{ + local _var _dir _files + + [ -n "$1" ] || return 1 + _var="$1"; shift + + _files="/etc/rc.conf" + for _dir in /etc ${local_startup}; do + for _name in $_loaded_services; do + _files="${_dir%/rc.d}/rc.conf.d/${_name} ${_files}" + done + done + + /usr/bin/grep 2>/dev/null -rl "^${_var}=" $_files | /usr/bin/head -1 +} + +# write_rcvar var value +# Add or replace the rc var $var with the value $value. +# Look for a current setting of $var in /etc/rc.conf or /etc/rc.conf.d/$name, +# and if found, modify it there; otherwise, append to /etc/rc.conf. +write_rcvar() +{ + local _var _value _file _dir + + [ -n "$1" ] || return 1 + _var="$1"; shift + [ -n "$1" ] || return 1 + _value="$1"; shift + + _file="$(_find_rcvar "$_var")" + if [ -n "$_file" ]; then + local _=$'\01' + /usr/bin/sed -i '' "s${_}^${_var}=.*${_}${_var}=\"$_value\"${_}" "$_file" + echo $_file + return + fi + + for _dir in /etc ${local_startup}; do + _file="${_dir%/rc.d}/rc.conf.d/${name}" + if [ -f "$_file" ]; then + echo "${_var}=\"${_value}\"" >>"$_file" + echo "$_file" + return + fi + done + + echo "${_var}=\"${_value}\"" >>/etc/rc.conf + echo "/etc/rc.conf" +} + +# delete_rcvar var +# Remove the rc var $var. +# Look for a current setting of $var in /etc/rc.conf or /etc/rc.conf.d/$name, +# and if found, remove it. If service_delete_empty is enabled, and the +# resulting file is empty, also delete the file. +delete_rcvar() +{ + local _var _files + + [ -n "$1" ] || return 1 + _var="$1"; shift + + _file="$(_find_rcvar "$_var")" + if [ -n "$_file" ]; then + /usr/bin/sed -i '' "/^${_var}=/d" "$_file" + echo "$_var deleted in $_file" + + if checkyesno service_delete_empty && [ ! -s "$_file" ]; then + /bin/rm -f "$_file" + echo "Empty file $_file removed" + fi + fi +} + # If the loader env variable rc.debug is set, turn on debugging. rc.conf will # still override this, but /etc/defaults/rc.conf can't unconditionally set this # since it would undo what we've done here. From nobody Sun Jun 1 09:22:24 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9BMP4TzVz5xNyn; Sun, 01 Jun 2025 09:22:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9BMP0507z3c13; Sun, 01 Jun 2025 09:22:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3vrN3rGvd6CZqD2eaGzJcEw8FNiXwSpcGLtMbvPOq44=; b=XKgn/XD3JQQnEkD2o4uZKfWF7PkemyRGrcB7dIsd231SDVyFIfWsViFu2f8MgLYus4yJEO TbSzMxGYUt7I6dci3szY/4nxuA/S0h0UyNM2WFnPJE5FjCsppqhfz7pUUSTwqnzIsV2oNS 3aUkPby3ofcTuG0Sx4fMDH3rRHMhX+9NkuKwEaIUnM0jBBY7qFNAvhDceC1NnySrIg8hD/ Ql2pK7veyoW+31irBBn29LvevXqPI4ZWLaSsPZpxzVO6leSkkO/MSxQl2cLprWzVsLnXeV fPhsL7+Osz69b44TistnF467uwuH4IPwWVS3BxOtyB1aIE6jlLfgPnHxLfYEfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748769745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3vrN3rGvd6CZqD2eaGzJcEw8FNiXwSpcGLtMbvPOq44=; b=VVwNOi1p6wjczJmrp4qOqxnosjr7+6cRyRIm2z8kmyn3nioN9qPN05oqDI7m8ZD/DLYUr1 s8ixQLEOB2Y8przHgpIX9kNbwctwtI/MLpoAbkevgmhByCdH5+/z8ts6Xm59sxwTajMTTz lZ9LujPYIpMd8Q4OItEhxzyHR+TtCsUqa3w6n0gNFFMR/JbUIHCMcAdV09l5sLeothCAzx 4N/86q2fC6hE9oPHygzI9JRuywR/xiCCDNNrOwaOdzgL70baJI9iHHPUADHpjpNbIvib5k c59lUR5U4kh8ILM8ZtcXHBbskDsUfJ3uKS8SgbZOBN/I+y9ViVaQVNMl+INQoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748769745; a=rsa-sha256; cv=none; b=JsfhWyrdbX3+Vajb7VdlsZf+IV+rRPcLdqi7L4MJDzjHrg7sulHB6LmewNLK0KwMQUNiU6 RC718iyATgijpOutbljEZiGGYhOV/axWt65C5NeMeNh/gpeGiYEJfETszwQx/V1mbxqkb2 +5eHtcziOMy17dewjPti4K3aU3RdT+Hsf7zh6d7SKjveUMV/Jx/jqHiZI/l2bY7/HvpTJQ 6aOWIoB3tZhDm52S9ZBLewod3innKdFvnDDyFH7Et6TygqrjU5HIxd7jPoUsxozOCZKNYM 1DhN/vTdCZuoN7xw5BjF+e+Yxjm1jfN03HOlM8rK2Y7oxI0Rfnqy21nC5ZGAkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9BMN6jdkz32k; Sun, 01 Jun 2025 09:22: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 5519MOxG049217; Sun, 1 Jun 2025 09:22:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5519MOtk049214; Sun, 1 Jun 2025 09:22:24 GMT (envelope-from git) Date: Sun, 1 Jun 2025 09:22:24 GMT Message-Id: <202506010922.5519MOtk049214@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: cf624ffa812c - stable/14 - ifconfig: reject netmask and broadcast for inet6 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cf624ffa812c90f8bd4b37f42488db1e782be883 Auto-Submitted: auto-generated The branch stable/14 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=cf624ffa812c90f8bd4b37f42488db1e782be883 commit cf624ffa812c90f8bd4b37f42488db1e782be883 Author: Lexi Winter AuthorDate: 2025-05-21 03:59:59 +0000 Commit: Lexi Winter CommitDate: 2025-06-01 09:14:52 +0000 ifconfig: reject netmask and broadcast for inet6 We don't support setting netmask or broadcast address for INET6 addresses, and trying to do crashes ifconfig. Handle this the same way as af_link, by rejecting attempts to configure these parameters. PR: 286910 Reported by: Hayzam Sherif MFC after: 3 days Reviewed by: zlei, kevans, des, cy Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D50413 (cherry picked from commit 59ee9260e6bbcc3b5654126eed6e9490315c81f1) ifconfig tests: remove incorrect #! Fixes: 59ee9260e6bb ("ifconfig: reject netmask and broadcast for inet6") Reviewed by: des Differential Revision: https://reviews.freebsd.org/D50566 (cherry picked from commit 6ab70fbec4236a940275a42e301f76ade7faacbf) --- sbin/ifconfig/af_inet6.c | 5 +++ sbin/ifconfig/tests/Makefile | 6 ++-- sbin/ifconfig/tests/inet6.sh | 83 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index fcd04139a8c1..17dc068ee875 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -428,6 +428,11 @@ in6_getaddr(const char *addr_str, int which) { struct in6_px *px = sin6tab_nl[which]; + if (which == MASK) + errx(1, "netmask: invalid option for inet6"); + if (which == BRDADDR) + errx(1, "broadcast: invalid option for inet6"); + px->set = true; px->plen = 128; if (which == ADDR) { diff --git a/sbin/ifconfig/tests/Makefile b/sbin/ifconfig/tests/Makefile index 9b29983afc7c..e902f262552a 100644 --- a/sbin/ifconfig/tests/Makefile +++ b/sbin/ifconfig/tests/Makefile @@ -1,6 +1,8 @@ +NETBSD_ATF_TESTS_SH= nonexistent_test +ATF_TESTS_SH+= inet6 -NETBSD_ATF_TESTS_SH= nonexistent_test +TEST_METADATA+= execenv="jail" +TEST_METADATA+= execenv_jail_params="vnet allow.raw_sockets" .include - .include diff --git a/sbin/ifconfig/tests/inet6.sh b/sbin/ifconfig/tests/inet6.sh new file mode 100644 index 000000000000..edfd88d93af7 --- /dev/null +++ b/sbin/ifconfig/tests/inet6.sh @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: ISC +# +# Copyright (c) 2025 Lexi Winter + +. $(atf_get_srcdir)/../../sys/common/vnet.subr + +# Bug 286910: adding 'netmask' or 'broadcast' to an IPv6 address crashed +# ifconfig. + +atf_test_case "netmask" "cleanup" +netmask_head() +{ + atf_set descr "Test invalid 'netmask' option" + atf_set require.user root +} + +netmask_body() +{ + vnet_init + + ep=$(vnet_mkepair) + vnet_mkjail ifcjail ${ep}a + + # Add the address the wrong way + atf_check -s exit:1 \ + -e match:"ifconfig: netmask: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1 netmask 64 + + # Add the address the correct way + atf_check -s exit:0 \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1/64 + atf_check -s exit:0 -o match:"2001:db8:1::1 prefixlen 64" \ + jexec ifcjail ifconfig ${ep}a + + # Remove the address the wrong way + atf_check -s exit:1 \ + -e match:"ifconfig: netmask: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1 netmask 64 -alias +} + +netmask_cleanup() +{ + vnet_cleanup +} + +atf_test_case "broadcast" "cleanup" +broadcast_head() +{ + atf_set descr "Test invalid 'broadcast' option" + atf_set require.user root +} + +broadcast_body() +{ + vnet_init + + ep=$(vnet_mkepair) + vnet_mkjail ifcjail ${ep}a + + atf_check -s exit:1 \ + -e match:"ifconfig: broadcast: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a \ + inet6 2001:db8:1::1 broadcast 2001:db8:1::ffff + + atf_check -s exit:0 \ + jexec ifcjail ifconfig ${ep}a inet6 2001:db8:1::1/64 + + atf_check -s exit:1 \ + -e match:"ifconfig: broadcast: invalid option for inet6" \ + jexec ifcjail ifconfig ${ep}a \ + inet6 2001:db8:1::1 broadcast 2001:db:1::ffff -alias +} + +broadcast_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case netmask + atf_add_test_case broadcast +} From nobody Sun Jun 1 15:41:04 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9LmK0d3Pz5xpdn; Sun, 01 Jun 2025 15:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9LmJ6BfNz3D3d; Sun, 01 Jun 2025 15:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748792464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r+QYQvRo/XFKKd+WxFr5jQG1oeehx8IEf6WoBCiYy7o=; b=n4vUF/Dk4cd5FEEQ6jW4Z5EgF1LvMCQu95vbdKMzQKcEh9sJaH1+gLifVzzSzHpqiZ0IiR NuX8z4a9DaZrSVMAsWolBLtq0Bw56WXlNfxGjM1U+OUzDNc4AAVh9IG+uKCrw8W1OvB7CH LSqGQ297rDc3x4eOVr8M90BnuBheude9Zyf7y0NVEaEugCMvupsRnKtcX8zplzr+xS2TV1 l9G/XiB1ilMOSwGDndb0qHtQ2v/x+dZTtuhy8+nVgzoG4NWPFLvpCGzxQjVC64KNAvaLb9 LLTIOeA5R2OBqZWY6CU5mD958TOArs1f3wpmbMhoCKmV+mtDH6fgM+cUXLF2gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748792464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r+QYQvRo/XFKKd+WxFr5jQG1oeehx8IEf6WoBCiYy7o=; b=kvS1/oBJPtxvNNT1jeaePvOYkbg/edgDj0hEuwAyll3l8lWSwapVGgxwrtDE3HnD7BlIF/ lX3an54woP1LLBAxS9yUCpL2Gsk/apMRn4o0ko/ZU3taDfR1r56qiJBHrUZ/yI3D2kIbbF tLfhNAUQRLvrlNKGfljiOCu/a2bgvB4e6mQmQRKz6r73UYkPqCOQOcTUuVPEbsF8ktsLQ6 3f+8mOxaKOYFISUb2FZdsCC5VXljZhi3WgQZzIOl9DbPpuMycW+nLqaB97bwxbDA6ldrV5 Z8YNomFaTzRRg/boo3nCldKjpUKRmaOs6Eb4F7mgdUpI3myAPt3nVXDxi2Qwjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748792464; a=rsa-sha256; cv=none; b=b5FSiFLhWkdyody98VRxGmFk5oJ1eY78hMYGbZx6tgOFHT8c9O8BKaTZA5XBMVybg+N+Im xWM766GGntWXS7PRNT+JwkETU9VhGJpHOZqfCR/uKaRcWvwTNfWFPjQNxLWeovnIOSOu3J hTest5s4QCajABoB8YksYmqKzzbGv32D7uWyyweBiC0DPMZkMhEz1P7yhyBVUxA5oG5f4Y LjNEIDA5Dyb3pv62xahdoQtkm2wdl+vIygsKFTu+NrvBikfI1jOuU/Y89Jv7N0nJtGpgHy vg75i4E86Xdw0rbD52xI52r+djRRCQmXUdJqgIiES8PEYD4ZXsUGpp+/8QH1TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9LmJ5mYZzD9C; Sun, 01 Jun 2025 15:41: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 551Ff4JQ056265; Sun, 1 Jun 2025 15:41:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Ff4Qr056262; Sun, 1 Jun 2025 15:41:04 GMT (envelope-from git) Date: Sun, 1 Jun 2025 15:41:04 GMT Message-Id: <202506011541.551Ff4Qr056262@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: c20e7eb53d47 - stable/14 - ifnet: Fix a typo in a source code 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: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c20e7eb53d47fb0359e393fab08aef793ce614b3 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c20e7eb53d47fb0359e393fab08aef793ce614b3 commit c20e7eb53d47fb0359e393fab08aef793ce614b3 Author: Zhenlei Huang AuthorDate: 2025-05-19 04:35:55 +0000 Commit: Zhenlei Huang CommitDate: 2025-06-01 15:40:06 +0000 ifnet: Fix a typo in a source code comment - s/possiable/possible MFC after: 3 days (cherry picked from commit ad2d7e594f6d519be6e9674c8048a406a453fef9) --- sys/net/if.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if.c b/sys/net/if.c index cf8df9a05d86..fc39c1ffcff0 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -873,7 +873,7 @@ if_attach_internal(struct ifnet *ifp, bool vmove) */ namelen = strlen(ifp->if_xname); /* - * Always save enough space for any possiable name so we + * Always save enough space for any possible name so we * can do a rename in place later. */ masklen = offsetof(struct sockaddr_dl, sdl_data[0]) + IFNAMSIZ; From nobody Sun Jun 1 15:41:05 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9LmL2zPNz5xpPv; Sun, 01 Jun 2025 15:41:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9LmL0m5Mz3ChH; Sun, 01 Jun 2025 15:41:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748792466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H1ciYGEm50qX+7hILr7LjwYFD68nU9q3tl8PlDJIYBs=; b=fnLwNsvo384tInqunIevpiJPaIWUTHvVwD5PQavy31EABv5I/Gh6IbpcqFEzldn8/G6KQM fnGZpZqWQ8KZEDhIZE6y48ErYqx19fHcCXYLOxxvyJQ69i43Xons58lUT++xgkHXhM+E3q fzZFPp6bbrkZ7UHrUa/+j/SKGgsdJKfvB6x1+pge7/odOeUJUSEcSfMQuUneitN3K7wyHg 2fylt4GRf2VXoWfhJWjZHDxg8HVxj+Vtj3Uh8HcToyOMfeNhLBNw/n5m9xJwBD2wdzD2jG CxjYVAmNz/4vGVhjD+rKrKtQRXiR/blcz1XXImMQ4mPsbojZB/JtD9mALzpztg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748792466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H1ciYGEm50qX+7hILr7LjwYFD68nU9q3tl8PlDJIYBs=; b=MAmXTlw+J5p17+yyKEo9ROiSB3luZ5YG8ED1cll2yg7YftY1rFVPrsEVbDaoTSs4vv0dpp qnhhMAOFGHz6oNxNs3jF50C+kbw4Aqk8xpYymHVAacp2rZGAD8O8L5o3KP0NkJcIzHLr6H Qs1eZNLN7oC2RPrg/8blUDNHaeufDZAPVX1bbJsyGok25jkrTB0ivd4tYrZmg9g7yhoVdO wFqDZRUXqiBpkwdFxW5puMHBGd0Y3mlZNJL0idpWRlEIJi66+7cszZtXGBPI+kDE6yhcCf xX0XpWIEljKw0kypstGznEOoLFwZtOKkrRaFPI7WyeL9oMPFFKf8xlDiDZu8pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748792466; a=rsa-sha256; cv=none; b=b/6jtzlLUXqYN1T7EScsRMy6TDzz/BKUAE7On9up+t7kfEdzOBYN47gy9/m/k1xEqyv4rJ jecOD90VLHmk0t2KTpV72Y/SpLsy3IO3LvxKtOUeCCArfy/VQd8q/B/WmW64348EcSafsx lEpiFYb1Bc2pTRhDGyA8YicECf2gU+XGI9Ci5x13roMgMThbG1Mw2GnQwn3dojywMo9Ckl 2AaUC69DOKVzlTRdGSGa+hkk9P5B58CcjZypmSVOH47C+1ieaDWdB+omrX702omu85cYrx JZVTDZHhPra/zPmrmEW9bo++q3nz06XjfvlBYJQxfbn3pLKFJRcnaC/hyxGb5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9LmK709vzCgq; Sun, 01 Jun 2025 15:41: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 551Ff5GI056298; Sun, 1 Jun 2025 15:41:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Ff5mo056295; Sun, 1 Jun 2025 15:41:05 GMT (envelope-from git) Date: Sun, 1 Jun 2025 15:41:05 GMT Message-Id: <202506011541.551Ff5mo056295@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: ad5eecbfca54 - stable/14 - ifnet: Integrate if_unroute() into if_down() 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: ad5eecbfca54cfd2247c8fb3799ba292bf9668ed Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ad5eecbfca54cfd2247c8fb3799ba292bf9668ed commit ad5eecbfca54cfd2247c8fb3799ba292bf9668ed Author: Zhenlei Huang AuthorDate: 2025-05-20 15:45:20 +0000 Commit: Zhenlei Huang CommitDate: 2025-06-01 15:40:07 +0000 ifnet: Integrate if_unroute() into if_down() if_unroute() is static since 2004 and is not used anywhere except for if_down(). This also makes it easier to grep by the pattern `if_flags &= ~IFF_UP`. No functional change intended. Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49356 (cherry picked from commit 0693c3f7cb3d9e5389863a0c131ddef799c77091) --- sys/net/if.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index fc39c1ffcff0..b4ffa9883efc 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -280,7 +280,6 @@ static void if_input_default(struct ifnet *, struct mbuf *); static int if_requestencap_default(struct ifnet *, struct if_encap_req *); static int if_setflag(struct ifnet *, int, int, int *, int); static int if_transmit_default(struct ifnet *ifp, struct mbuf *m); -static void if_unroute(struct ifnet *, int flag, int fam); static int if_delmulti_locked(struct ifnet *, struct ifmultiaddr *, int); static void do_link_state_change(void *, int); static int if_getgroup(struct ifgroupreq *, struct ifnet *); @@ -2098,25 +2097,6 @@ link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, u_char iftype) return (sdl); } -/* - * Mark an interface down and notify protocols of - * the transition. - */ -static void -if_unroute(struct ifnet *ifp, int flag, int fam) -{ - - KASSERT(flag == IFF_UP, ("if_unroute: flag != IFF_UP")); - - ifp->if_flags &= ~flag; - getmicrotime(&ifp->if_lastchange); - ifp->if_qflush(ifp); - - if (ifp->if_carp) - (*carp_linkstate_p)(ifp); - rt_ifmsg(ifp, IFF_UP); -} - void (*vlan_link_state_p)(struct ifnet *); /* XXX: private from if_vlan */ void (*vlan_trunk_cap_p)(struct ifnet *); /* XXX: private from if_vlan */ struct ifnet *(*vlan_trunkdev_p)(struct ifnet *); @@ -2191,7 +2171,14 @@ if_down(struct ifnet *ifp) { EVENTHANDLER_INVOKE(ifnet_event, ifp, IFNET_EVENT_DOWN); - if_unroute(ifp, IFF_UP, AF_UNSPEC); + + ifp->if_flags &= ~IFF_UP; + getmicrotime(&ifp->if_lastchange); + ifp->if_qflush(ifp); + + if (ifp->if_carp) + (*carp_linkstate_p)(ifp); + rt_ifmsg(ifp, IFF_UP); } /* From nobody Sun Jun 1 19:53:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SN71brGz5y5nj; Sun, 01 Jun 2025 19: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SN70xCDz3t3m; Sun, 01 Jun 2025 19: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=1748807639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JSVPhUDEqDS2Iipj1EcYM11gIl73Gys1nGB7ASvCBv4=; b=atLVUiK3lMEG1zB4tgniZFyEZLVO66QFqFVnSY7wvzWeGv0CDHnSSqBHs8dxt9ebH3en7E V0v88ip9IRLpq9Vnd+MRMLg4e4N2f86YGB7BPeYt5e6r7Dw9+Q8XjgsnRbIPRmr1AZnt1G zB9gAz7byJS1NPVdJ++n1mmoIBN2KBRcjVnMa6ce3hKrxneM67wWihdFNRTW7z5KlaF86P LU/AYBxkHoai9VzEFq5aAr1rVXYwpYbxDyKhreQBaabpJisHUFINY+pDACUdcT0EmPAgP5 WM8qwFpPF3RE/wbTuPjoPoLkAkZZuK5Fi7kLDOG7mMx9gTq5KvtBA1CDUHRoqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JSVPhUDEqDS2Iipj1EcYM11gIl73Gys1nGB7ASvCBv4=; b=gRcSUeo4dL8EnbSKG5IcADsQLX/45O2nj9QiVFlFi2UUKrepcdGCu3Vtu7cSMLWSLC/ImG mjsYz9nLQirHpnOTg36lOa50KCAypaaSZzhJsFVJzXvfaQLBGn4BqmaGJhzrdYQrXI4cVM pgyVA+9eET7a4i9uu+QiY+3kZlN1s+k9P7zVMeMA0LV/p13ntIW4CJgXD6DLSoLIZEthgn iJwsJyf5rs+rsmTwNLOxWnwKB6mFiK2zvaLzImFViyEAchA6P4k+7Ivjt9+uxXJG15tPVB Fp9FBqbWsrSnt5HkgQdKOGiEaYFu/oxCbD0UwWlvSAoWVZwzqp8/Ttrp1t6c2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807639; a=rsa-sha256; cv=none; b=WU3KEJWVoP0vbXPxEXTGUguJH9XDWy1rH60Xhb8d5HH0bcGDJE2Bl0+ySNsGAc1sw6nGDU 4ttxjAx+pO0KfYU1hi/z+W+QVkF0olyUA2nj7q5GaLk9/z3CfKqO38B2w5vjZfgC9koWw8 y+KIIEu1UvPK2houisFLMei/VDMQOPNdhg7HtYQbxfASr5zgv13iSbuhlwGDA1nVVo/9Ce IGMmisnO7Hup4X3bvjet0/eko60lNS/5imdGP68WePAd+ztCuW+PkcGrG4Rn62xWvDtd3X UPWDvVFGLZjIOn3i9P2qmr1TFj2ZNhNcJYjF6ngQ7uAdBggkxLnc5YoVbvBppg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SN67524zdrf; Sun, 01 Jun 2025 19: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 551JrwcJ045996; Sun, 1 Jun 2025 19: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 551Jrwrj045993; Sun, 1 Jun 2025 19:53:58 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:53:58 GMT Message-Id: <202506011953.551Jrwrj045993@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: b080a04e2511 - stable/14 - vfs cache: Add a predicate for testing cache 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b080a04e25113112e0d94a20c8d1c1241a3387e9 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b080a04e25113112e0d94a20c8d1c1241a3387e9 commit b080a04e25113112e0d94a20c8d1c1241a3387e9 Author: Mark Johnston AuthorDate: 2025-05-02 21:34:16 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:28 +0000 vfs cache: Add a predicate for testing cache entries No functional change intended. Reviewed by: olce, kib MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50105 (cherry picked from commit 029ed5f574f61443fd12e0e70c7ab4dc296b81e5) --- sys/kern/vfs_cache.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 300173347401..9b2b246d234f 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -34,7 +34,6 @@ * @(#)vfs_cache.c 8.5 (Berkeley) 3/22/95 */ -#include #include "opt_ddb.h" #include "opt_ktrace.h" @@ -372,6 +371,18 @@ cache_ncp_invalidate(struct namecache *ncp) atomic_thread_fence_rel(); } +/* + * Does this entry match the given directory and name? + */ +static bool +cache_ncp_match(struct namecache *ncp, struct vnode *dvp, + struct componentname *cnp) +{ + return (ncp->nc_dvp == dvp && + ncp->nc_nlen == cnp->cn_namelen && + bcmp(ncp->nc_name, cnp->cn_nameptr, cnp->cn_namelen) == 0); +} + /* * Check whether the entry can be safely used. * @@ -1325,8 +1336,7 @@ cache_neg_promote_cond(struct vnode *dvp, struct componentname *cnp, /* * The newly found entry may be something different... */ - if (!(ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && - !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen))) { + if (!cache_ncp_match(ncp, dvp, cnp)) { goto out_abort; } @@ -1672,12 +1682,9 @@ cache_zap_unlocked_bucket(struct namecache *ncp, struct componentname *cnp, cache_lock_vnodes(dvlp, vlp); mtx_lock(blp); CK_SLIST_FOREACH(rncp, (NCHHASH(hash)), nc_hash) { - if (rncp == ncp && rncp->nc_dvp == dvp && - rncp->nc_nlen == cnp->cn_namelen && - !bcmp(rncp->nc_name, cnp->cn_nameptr, rncp->nc_nlen)) + if (rncp == ncp && cache_ncp_match(rncp, dvp, cnp)) break; } - if (rncp == NULL) goto out_mismatch; @@ -1784,8 +1791,7 @@ retry: mtx_lock(blp); CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && - !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) + if (cache_ncp_match(ncp, dvp, cnp)) break; } @@ -1985,8 +1991,7 @@ retry: mtx_lock(blp); CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && - !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) + if (cache_ncp_match(ncp, dvp, cnp)) break; } @@ -2080,8 +2085,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, vfs_smr_enter(); CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && - !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) + if (cache_ncp_match(ncp, dvp, cnp)) break; } @@ -2481,9 +2485,7 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, */ ncpp = NCHHASH(hash); CK_SLIST_FOREACH(n2, ncpp, nc_hash) { - if (n2->nc_dvp == dvp && - n2->nc_nlen == cnp->cn_namelen && - !bcmp(n2->nc_name, cnp->cn_nameptr, n2->nc_nlen)) { + if (cache_ncp_match(n2, dvp, cnp)) { MPASS(cache_ncp_canuse(n2)); if ((n2->nc_flag & NCF_NEGATIVE) != 0) KASSERT(vp == NULL, @@ -3016,8 +3018,7 @@ cache_validate(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) blp = HASH2BUCKETLOCK(hash); mtx_lock(blp); CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && - !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) { + if (cache_ncp_match(ncp, dvp, cnp)) { if (ncp->nc_vp != vp) panic("%s: mismatch (%p != %p); ncp %p [%s] dvp %p\n", __func__, vp, ncp->nc_vp, ncp, ncp->nc_name, ncp->nc_dvp); @@ -5462,8 +5463,7 @@ cache_fplookup_next(struct cache_fpl *fpl) MPASS(!cache_fpl_isdotdot(cnp)); CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && - !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) + if (cache_ncp_match(ncp, dvp, cnp)) break; } From nobody Sun Jun 1 19:53:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SN84lSsz5y6BC; Sun, 01 Jun 2025 19:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SN814ydz3smv; Sun, 01 Jun 2025 19:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=il6uE0n4C1d3PUX/t/nGKKGpTlr0ThtDy2GUDVejUtM=; b=CXIAfeECbCRMMpp0p16L9Q5MJqhXZrgK9uJnXqxWm5wAOUQS2SleFoM20A0Awu16YiEKDz e5H7rgvMXygDfqilnOU3yjaHFPW8DOKf/3FeN7OR8IEo6qom7pekuOYzEcP7EZx9SFA9S2 JEOquCun3pTOStDbMtvEMSbgSb4vliva661yLEt1txy4ohyxgay5/nXNu61v9YGdZvtlbp FPHFGXUEhDRY82woUFO8NUfD/KHFVcJMh+yxlpKsXu0ZlYLkv1abJlNlXiwVmCweBBqz/6 svaTLiTmppDsVzNNrooJxIRZXTbMpj46ssJEr87eDGNwzgb/pzTr6IsOjlEuww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=il6uE0n4C1d3PUX/t/nGKKGpTlr0ThtDy2GUDVejUtM=; b=X1Ir2RC6RvDOfACrRwjalmMK5hyGpYCx96/2b6/62LVjRxuCQmHUyfVCDpsFyHOc/EmQAh HVt/AnDbCLZPGlrHpohYF8c9vR6R1anJR7XK16xZiAjCq2yYTOJ6cDciTPKhMGmklHBurB kthvHNyOZWfHo6ukrC73tXBAK7itexArQF+a/cWx4UDrCChrWqjgH1eac2L+S8YO+FhcD1 8R6eoEoTUAIzI/aas4yloIJq3oPpITwKAZoViF8DVIhVap60FB8Fr888FjjWHmhSK0+g5C 77EzctjmxOluimfClr1vPYhAdQabtMqULZhi0fFsXco84ruv9oqlp9QtWLWMZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807640; a=rsa-sha256; cv=none; b=DEoQSk5oGAWqStjyv1G07bscrE5bNeqoGewhfpyQ02nN36ReRQ3Y+hUhjnVqBt8TxGoCLX FmVHk1MphmDsotjI2ve3PAelq93AJ4Q43bZCOv2JLT3uHVT0za5e2eqYxv+hbKudTQFy9I 9SnZNKJtkNiJHO5cl8xPnRGiE39tix3g8xT90R4VopD+Vi33bnVRQSAc+pfXMJRvYQiRNd I77AgvH5YV4ex1Dop/B1aroLTk5clQsz/wnrek6b7GVPV0VCqLyh3ZVsELvbPsqbMoz7NT lqXvH79DxXL590GLJxHfSx/tLWVIkAgieMQnZtBwDYD/moPN5aBVOCUy+aOg7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SN80RQjzdWd; Sun, 01 Jun 2025 19:54: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 551Js0xo046037; Sun, 1 Jun 2025 19:54:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Jrxu9046033; Sun, 1 Jun 2025 19:53:59 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:53:59 GMT Message-Id: <202506011953.551Jrxu9046033@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: 12effd95c300 - stable/14 - vfs cache: Move hash row lookup loops into a subroutine 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: 12effd95c300eca04c8b2ec68c6c1d20f983a8ce Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=12effd95c300eca04c8b2ec68c6c1d20f983a8ce commit 12effd95c300eca04c8b2ec68c6c1d20f983a8ce Author: Mark Johnston AuthorDate: 2025-05-02 21:35:04 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:28 +0000 vfs cache: Move hash row lookup loops into a subroutine No functional change intended. Reviewed by: olce, kib MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50106 (cherry picked from commit cc25864d4568079cadef46291ddf7d501c81d60a) --- sys/kern/vfs_cache.c | 129 +++++++++++++++++++++++++-------------------------- sys/sys/vnode.h | 1 + 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 9b2b246d234f..284e23f3d1e8 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -498,6 +498,24 @@ VP2VNODELOCK(struct vnode *vp) return (&vnodelocks[(((uintptr_t)(vp) >> 8) & ncvnodehash)]); } +/* + * Search the hash table for a namecache entry. Either the corresponding bucket + * must be locked, or the caller must be in an SMR read section. + */ +static struct namecache * +cache_ncp_find(struct vnode *dvp, struct componentname *cnp, uint32_t hash) +{ + struct namecache *ncp; + + KASSERT(mtx_owned(HASH2BUCKETLOCK(hash)) || VFS_SMR_ENTERED(), + ("%s: hash %u not locked", __func__, hash)); + CK_SLIST_FOREACH(ncp, NCHHASH(hash), nc_hash) { + if (cache_ncp_match(ncp, dvp, cnp)) + break; + } + return (ncp); +} + static void cache_out_ts(struct namecache *ncp, struct timespec *tsp, int *ticksp) { @@ -1789,12 +1807,7 @@ retry: goto out_no_entry; mtx_lock(blp); - - CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (cache_ncp_match(ncp, dvp, cnp)) - break; - } - + ncp = cache_ncp_find(dvp, cnp, hash); if (ncp == NULL) { mtx_unlock(blp); goto out_no_entry; @@ -1990,11 +2003,7 @@ retry: blp = HASH2BUCKETLOCK(hash); mtx_lock(blp); - CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (cache_ncp_match(ncp, dvp, cnp)) - break; - } - + ncp = cache_ncp_find(dvp, cnp, hash); if (__predict_false(ncp == NULL)) { mtx_unlock(blp); SDT_PROBE2(vfs, namecache, lookup, miss, dvp, cnp->cn_nameptr); @@ -2084,11 +2093,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp, hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); vfs_smr_enter(); - CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (cache_ncp_match(ncp, dvp, cnp)) - break; - } - + ncp = cache_ncp_find(dvp, cnp, hash); if (__predict_false(ncp == NULL)) { vfs_smr_exit(); SDT_PROBE2(vfs, namecache, lookup, miss, dvp, cnp->cn_nameptr); @@ -2406,7 +2411,6 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, struct celockstate cel; struct namecache *ncp, *n2, *ndd; struct namecache_ts *ncp_ts; - struct nchashhead *ncpp; uint32_t hash; int flag; int len; @@ -2483,45 +2487,46 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, * with this name. This can happen with concurrent lookups of * the same path name. */ - ncpp = NCHHASH(hash); - CK_SLIST_FOREACH(n2, ncpp, nc_hash) { - if (cache_ncp_match(n2, dvp, cnp)) { - MPASS(cache_ncp_canuse(n2)); - if ((n2->nc_flag & NCF_NEGATIVE) != 0) - KASSERT(vp == NULL, - ("%s: found entry pointing to a different vnode (%p != %p) ; name [%s]", - __func__, NULL, vp, cnp->cn_nameptr)); - else - KASSERT(n2->nc_vp == vp, - ("%s: found entry pointing to a different vnode (%p != %p) ; name [%s]", - __func__, n2->nc_vp, vp, cnp->cn_nameptr)); - /* - * Entries are supposed to be immutable unless in the - * process of getting destroyed. Accommodating for - * changing timestamps is possible but not worth it. - * This should be harmless in terms of correctness, in - * the worst case resulting in an earlier expiration. - * Alternatively, the found entry can be replaced - * altogether. - */ - MPASS((n2->nc_flag & (NCF_TS | NCF_DTS)) == (ncp->nc_flag & (NCF_TS | NCF_DTS))); + n2 = cache_ncp_find(dvp, cnp, hash); + if (n2 != NULL) { + MPASS(cache_ncp_canuse(n2)); + if ((n2->nc_flag & NCF_NEGATIVE) != 0) + KASSERT(vp == NULL, + ("%s: found entry pointing to a different vnode " + "(%p != %p); name [%s]", + __func__, NULL, vp, cnp->cn_nameptr)); + else + KASSERT(n2->nc_vp == vp, + ("%s: found entry pointing to a different vnode " + "(%p != %p); name [%s]", + __func__, n2->nc_vp, vp, cnp->cn_nameptr)); + /* + * Entries are supposed to be immutable unless in the + * process of getting destroyed. Accommodating for + * changing timestamps is possible but not worth it. + * This should be harmless in terms of correctness, in + * the worst case resulting in an earlier expiration. + * Alternatively, the found entry can be replaced + * altogether. + */ + MPASS((n2->nc_flag & (NCF_TS | NCF_DTS)) == + (ncp->nc_flag & (NCF_TS | NCF_DTS))); #if 0 - if (tsp != NULL) { - KASSERT((n2->nc_flag & NCF_TS) != 0, - ("no NCF_TS")); - n2_ts = __containerof(n2, struct namecache_ts, nc_nc); - n2_ts->nc_time = ncp_ts->nc_time; - n2_ts->nc_ticks = ncp_ts->nc_ticks; - if (dtsp != NULL) { - n2_ts->nc_dotdottime = ncp_ts->nc_dotdottime; - n2_ts->nc_nc.nc_flag |= NCF_DTS; - } + if (tsp != NULL) { + KASSERT((n2->nc_flag & NCF_TS) != 0, + ("no NCF_TS")); + n2_ts = __containerof(n2, struct namecache_ts, nc_nc); + n2_ts->nc_time = ncp_ts->nc_time; + n2_ts->nc_ticks = ncp_ts->nc_ticks; + if (dtsp != NULL) { + n2_ts->nc_dotdottime = ncp_ts->nc_dotdottime; + n2_ts->nc_nc.nc_flag |= NCF_DTS; } -#endif - SDT_PROBE3(vfs, namecache, enter, duplicate, dvp, ncp->nc_name, - vp); - goto out_unlock_free; } +#endif + SDT_PROBE3(vfs, namecache, enter, duplicate, dvp, ncp->nc_name, + vp); + goto out_unlock_free; } if (flag == NCF_ISDOTDOT) { @@ -2587,7 +2592,7 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, * Insert the new namecache entry into the appropriate chain * within the cache entries table. */ - CK_SLIST_INSERT_HEAD(ncpp, ncp, nc_hash); + CK_SLIST_INSERT_HEAD(NCHHASH(hash), ncp, nc_hash); atomic_thread_fence_rel(); /* @@ -3017,12 +3022,10 @@ cache_validate(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) return; blp = HASH2BUCKETLOCK(hash); mtx_lock(blp); - CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (cache_ncp_match(ncp, dvp, cnp)) { - if (ncp->nc_vp != vp) - panic("%s: mismatch (%p != %p); ncp %p [%s] dvp %p\n", - __func__, vp, ncp->nc_vp, ncp, ncp->nc_name, ncp->nc_dvp); - } + ncp = cache_ncp_find(dvp, cnp, hash); + if (ncp != NULL && ncp->nc_vp != vp) { + panic("%s: mismatch (%p != %p); ncp %p [%s] dvp %p\n", + __func__, vp, ncp->nc_vp, ncp, ncp->nc_name, ncp->nc_dvp); } mtx_unlock(blp); } @@ -5462,11 +5465,7 @@ cache_fplookup_next(struct cache_fpl *fpl) MPASS(!cache_fpl_isdotdot(cnp)); - CK_SLIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - if (cache_ncp_match(ncp, dvp, cnp)) - break; - } - + ncp = cache_ncp_find(dvp, cnp, hash); if (__predict_false(ncp == NULL)) { return (cache_fplookup_noentry(fpl)); } diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index ba9f43cd0af5..e32756b906ab 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -1191,6 +1191,7 @@ vn_get_state(struct vnode *vp) #define vfs_smr_exit() smr_exit(VFS_SMR()) #define vfs_smr_synchronize() smr_synchronize(VFS_SMR()) #define vfs_smr_entered_load(ptr) smr_entered_load((ptr), VFS_SMR()) +#define VFS_SMR_ENTERED() SMR_ENTERED(VFS_SMR()) #define VFS_SMR_ASSERT_ENTERED() SMR_ASSERT_ENTERED(VFS_SMR()) #define VFS_SMR_ASSERT_NOT_ENTERED() SMR_ASSERT_NOT_ENTERED(VFS_SMR()) #define VFS_SMR_ZONE_SET(zone) uma_zone_set_smr((zone), VFS_SMR()) From nobody Sun Jun 1 19:54:01 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNB2Jmyz5y5qn; Sun, 01 Jun 2025 19:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SN94PTZz3st3; Sun, 01 Jun 2025 19:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TbmdUE7IN6CLXkT4Ev6VPdaI3nT5Hvvocjw5Zdkr454=; b=cKTvmyfhRmtYwQmNcBeO3lE/dyrKxT9MAS4T5g19qW8uC4spRNQaWqi2mwM5TP1rtFrmPU uWxDB00JWY2Vmve9r2GqCw/3lunAr/WPfHs/gURqd9fsIyeHFdsXIAoupxSuYkd9HwkUY/ VZLcYEl+NUkE5pp+eFpseg2cagxmoBDEqaxhch6nxhBoy+lrHuSLLSbKMS8gNMERdj2YZ3 m3Po5e3hR9UZ1qCnw8Kk0jaxG3E5EETvkUNNsJXNbRWO0XmpBsL4Qb/8UUYji29p53LtaB OseNLM7FTDUJIAe/Watr9vuAirtBXFzmby9Z1lWDXmkieGXpmUwBa7rU7U4+OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TbmdUE7IN6CLXkT4Ev6VPdaI3nT5Hvvocjw5Zdkr454=; b=j5mnFlo48zf2vGG4hc6PCPaDdWveRPIyT6OtOX54L+qkmMmlp9NzLySOhF/Luyvdqz1Dd3 TSP7YKIICFbu3IqkPojyXTqDVMEsFThOc/ju0iiIpw4Co9u8nB2INWbVECC3VKFPd0XNGl Eg6IBeQo7AMEvE3UQ+HC3jzei2lCQ9m4pzQrg1E1vya77kwgc9Vr6VfBWejsWa1QGqsqr5 YpErU/xEf2AUODlWt5U2P0tXGeiasJgni9SJxf9Vx6EA3AtZoXZB1/EhMtKHqeevxuM59e k1uamk6TSWUDQcrZ22OUznw7rs1rtWg8DwglIFf/BO17ZrESVHLONUvwr5U7DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807641; a=rsa-sha256; cv=none; b=mng0gMHwOOrtopsyOQvDCpmFBbh3E6RfkHfuP9mN2hPCEgWMFiPyZYqoU1C6oYGkMLSLCN xmojek66ZVaXtVjKtR0jXMN0iCmfkKOScLfqINfSkXsEvyPbKT2mVkV3RZQ4R2eQEaaVV2 1SrKLyUks21uaZyKRx/aO5wGOl+ZpILToEj7TMoIjROyS5dOzVF6BD8VuPBIc1j/Je4gTb FPrGn8wdnY6DYB/dc0+7CXtr2sgniRZtirB4K1ku71fhrM40P/GZYk8Bujjxgfs3Xtcvra kJLeH0AWvCZTwMzoRcIG/P2kMeNKw2IYuNvwT0twBB2J4As+PKerTjjNc+0LyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SN920MPzddb; Sun, 01 Jun 2025 19:54: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 551Js1Hv046080; Sun, 1 Jun 2025 19:54:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js14q046076; Sun, 1 Jun 2025 19:54:01 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:01 GMT Message-Id: <202506011954.551Js14q046076@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: 1a03846b4050 - stable/14 - vfs cache: Simplify cache_enter_time() a bit 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: 1a03846b405093048324ea2783a19d88a469d5e6 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1a03846b405093048324ea2783a19d88a469d5e6 commit 1a03846b405093048324ea2783a19d88a469d5e6 Author: Mark Johnston AuthorDate: 2025-05-02 21:35:18 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 vfs cache: Simplify cache_enter_time() a bit The condition `flag == NFC_ISDOTDOT && vp != NULL && vp->v_type != VDIR` is never true at this point in the function. This is asserted slightly earlier. So, remove some dead code and simplify control flow. N.B. we set v_cache_dd for all vnode types, not just VDIR. This seems to be intentional, see commit ce575cd0e2f9069. For regular files it appears to effectively represent the most recently entered cache entry for the vnode. No functional change intended. Reviewed by: olce, kib MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50107 (cherry picked from commit 01435e28211220f985c66569f60939e440f0887f) --- sys/kern/vfs_cache.c | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 284e23f3d1e8..a61a684e396e 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -2540,28 +2540,20 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, struct componentname *cnp, ("wrong vnode type %p", vp)); atomic_thread_fence_rel(); atomic_store_ptr(&dvp->v_cache_dd, ncp); - } - - if (vp != NULL) { - if (flag != NCF_ISDOTDOT) { - /* - * For this case, the cache entry maps both the - * directory name in it and the name ".." for the - * directory's parent. - */ - if ((ndd = vp->v_cache_dd) != NULL) { - if ((ndd->nc_flag & NCF_ISDOTDOT) != 0) - cache_zap_locked(ndd); - else - ndd = NULL; - } - atomic_thread_fence_rel(); - atomic_store_ptr(&vp->v_cache_dd, ncp); - } else if (vp->v_type != VDIR) { - if (vp->v_cache_dd != NULL) { - atomic_store_ptr(&vp->v_cache_dd, NULL); - } + } else if (vp != NULL) { + /* + * For this case, the cache entry maps both the + * directory name in it and the name ".." for the + * directory's parent. + */ + if ((ndd = vp->v_cache_dd) != NULL) { + if ((ndd->nc_flag & NCF_ISDOTDOT) != 0) + cache_zap_locked(ndd); + else + ndd = NULL; } + atomic_thread_fence_rel(); + atomic_store_ptr(&vp->v_cache_dd, ncp); } if (flag != NCF_ISDOTDOT) { From nobody Sun Jun 1 19:54:02 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNB4CMPz5y5lt; Sun, 01 Jun 2025 19:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNB33Gkz3t66; Sun, 01 Jun 2025 19:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h0+9HEclfSyN+Ag/Dv3u6peIdC/v7TgV6dByoVBOKhk=; b=ADBlqFVo/occRTtzyXMduea3SzCqBGmNbBEQ0+vtXTpYq5wGfbsdMt0evjH7FC0+403sS3 mPUSpqL4LrxqZnzx+tvjtj/nHsHN22DLvHhh9nwQvPKEp8yAOIkw17Bp2lH6hnb3lniA3S Tm74cI311QnDBGNt1irn3eQkuE/nwugYFnfsn9NVwJ3WU98nP2ZF6KOASzW8AoCOBnJWWS ynRXIC2sIfcentgg4sQVu8d8pC453ULNaeoLxfTafpKKxNctsrT+Gt8mRZrdpca9h7vN0y 5SVqyq6hjtvNiH2wIBGRt4Jt+66Dpy//zVgFnz8r4kIVMnt1C1r/QVZVGMRpWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h0+9HEclfSyN+Ag/Dv3u6peIdC/v7TgV6dByoVBOKhk=; b=G3LrzXUUiXtDWHQCkGh6ST4+HanIHhUjinUqYd+vjba2vB5ylvmaxa/bRRHs5tFI8nrLHx H5cKFGL5i+L7NKtv5U9E+a9I6NnKuitLaleWocMJe6CX7Tn/7D/TQ+x9HPu/++cqtgp3q8 SJDRnOSpXMLAYhJBRetLD206pEfpRKWGxTmIPdkU7ztc8lIOKPamuPeYkmCXUqv+F92rJ0 wHDzUPLhtkqRaq6ALevWXsBRz5h2Apie5njP/CTLUiNNf+FNxqPDrxIXZDy4aHvDg8kZuC HEitGNQNoD7VLRxHiYr739RvI7BFCMY2mJFJIVqgU2VJl2GM0Yhvicl1h77Y2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807642; a=rsa-sha256; cv=none; b=x0MHzbmq54lWlqbVH9wBGLdZHjFzj3ieiw5jiE9SaJA+woHpknqWAOtZk7Q+mmhhVoReBv a6y12fPTLeo45PiU3sYT5dOI5/qnzyvEdJdKMRhxu3WERku/4xoxn3iJS53grNKRXwremj T6jLgez6etEM7E3nAngO2yPZznq+bMnopw3XoLZNIxEUS6Kwa3wPZa6QeLhClaWk9YxJiD wcx0flwcEh/mASYkV8mRe9RGmNH8rUR/p0ST02ZbrIhmwV4IO/i/6wEx1LEbs/yzGMYjPD xrZbvDNiyK9mbz2PiDaztMYZeybD+c8ijVomQC3v34+SL0L52A9H3V7eXDVSSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNB2SdFzdy1; Sun, 01 Jun 2025 19:54: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 551Js2hj046116; Sun, 1 Jun 2025 19:54:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js2nS046113; Sun, 1 Jun 2025 19:54:02 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:02 GMT Message-Id: <202506011954.551Js2nS046113@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: 001fc46caa54 - stable/14 - file: Simplify an INVARIANTS check in _fdrop() 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: 001fc46caa5469c1693f5f64c801815cb0dedbf1 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=001fc46caa5469c1693f5f64c801815cb0dedbf1 commit 001fc46caa5469c1693f5f64c801815cb0dedbf1 Author: Mark Johnston AuthorDate: 2025-05-13 23:26:49 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 file: Simplify an INVARIANTS check in _fdrop() No functional change intended. MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit a2e22ed3420d92d9d98a1e9681b5c9b1fbe40fca) --- sys/kern/kern_descrip.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 2d1c0d4aea5f..56e8a14f71b3 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -3701,13 +3701,10 @@ int __noinline _fdrop(struct file *fp, struct thread *td) { int error; -#ifdef INVARIANTS - int count; - count = refcount_load(&fp->f_count); - if (count != 0) - panic("fdrop: fp %p count %d", fp, count); -#endif + KASSERT(refcount_load(&fp->f_count) == 0, + ("fdrop: fp %p count %d", fp, refcount_load(&fp->f_count))); + error = fo_close(fp, td); atomic_subtract_int(&openfiles, 1); crfree(fp->f_cred); From nobody Sun Jun 1 19:54:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SND531Tz5y5nn; Sun, 01 Jun 2025 19:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNC3n50z3t1q; Sun, 01 Jun 2025 19:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jyPcPfGUGs0/fDDjK0wDUcb2IXBlaudngd8TL+FEvj4=; b=w9QNSLUMm2rnMPEfsx5aYmAcDNJg94fGAcuuBEG4s//qASkrHLBeEopWrlVpfXcZLS/uJX nhlsxwaDUr9YOalxx/IPgotjLen32goNnl2ll/40/Ng6Pd3x7gIhwzaVFKr1+C6rGtM4uM VV/hqMvsaaVuHbZfeqqZGfPOi1LwkFdFPmiEC0DITVOrX4HvKOUCPaQjrDRuLCPenY27Bw N2gNstVzy8No8zq+xZpVFuzMjmS8FXrLtxrBRlpUlsh/u89jmKbbdULi+INSaVcNq08pSN Y8huxO9IYjlLCrW8yrKASG/E5SYeBEfd+u8LR/RYYu0Cl4d5/3C0AwTrq/sugQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jyPcPfGUGs0/fDDjK0wDUcb2IXBlaudngd8TL+FEvj4=; b=NbK1gOcS1LplVJTRZ4xZ0PPKQPJNwQYdQPjOzKGIZq7FwDyiTYdKHj/0TBgX/C3kBGvm9M iTEsXCC3PgdnzkJD+Sc65skBtomS23BqjOSgIc9df9U4gcUx8665Y99hNUTLYqmqF6Aua5 kdAwGqvd3SY09g4mP9FQT2Jtpl8ehEVmaG6r+vt9b4Nd8i3ZyCcIXWZmj8xJi242JJfkvq AitT6vNq7dgfmsxlaaTNTTRaPMFAsfAQII7ZH+uef1fImKQp9Hu4iahKf4S2ojEOql2ioJ AYLcIMoGKfsBpo+dnEnaIDi87CUvAyXqHcZ1jfg84ufwU1Cqs3XIhb4zXAE6QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807643; a=rsa-sha256; cv=none; b=C7lY8HL1/VCNnMRTVq0/1+HZ9FvfkWNAZ6acBVbC9OPbnKYIoYw2B01Fjz5wNsG93s00a6 3UHqQcxw8Yw2Fmwv04duKdurAnL+AKa5trKW9vfyR3yplZ5Ha3Ay8MR7CZDrKe8xTerRBc nad8B9a05AMW4GQx+/5HVAUOPk4dO35BVT/e2MO0AwVsq5H2U+pM6Lbmf6mu5v1M4gCsrm NcZQVVOOFprmDGi5F8Yuo8LWLaZa1qY+KjKEufEIXPjT8063rX4Y6Ex5QmJIIBThfwz5qq KosTmn/3RT/eI1mfF5JKGN6gplFEPn2ojnfcRWVXFZVRPMNknWLzXahc1XVvRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNC3DfvzdWf; Sun, 01 Jun 2025 19:54: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 551Js3Nw046156; Sun, 1 Jun 2025 19:54:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js3Ww046153; Sun, 1 Jun 2025 19:54:03 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:03 GMT Message-Id: <202506011954.551Js3Ww046153@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: 8ba7ac5a15e7 - stable/14 - makefs: Ensure that FFS superblocks are reproducible 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: 8ba7ac5a15e7b5276c6b75934bb604ff5c98ce67 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8ba7ac5a15e7b5276c6b75934bb604ff5c98ce67 commit 8ba7ac5a15e7b5276c6b75934bb604ff5c98ce67 Author: Mark Johnston AuthorDate: 2025-05-08 15:49:53 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 makefs: Ensure that FFS superblocks are reproducible The superblock structure has space reserved for a pointer to an in-memory structure that gets created at mount time. makefs populates it since that simplifies code elsewhere. However, the pointer value ends up in the output file, which breaks reproducibility. Zero the field when writing the superblock instead, as its on-disk value is ignored. Reviewed by: emaste MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50196 (cherry picked from commit 764ccf410c3c5453c4656113d75cd81fcf01828d) --- usr.sbin/makefs/ffs/mkfs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/usr.sbin/makefs/ffs/mkfs.c b/usr.sbin/makefs/ffs/mkfs.c index b579565b6a01..fd7b24a1a6fb 100644 --- a/usr.sbin/makefs/ffs/mkfs.c +++ b/usr.sbin/makefs/ffs/mkfs.c @@ -580,13 +580,21 @@ ffs_write_superblock(struct fs *fs, const fsinfo_t *fsopts) { int size, blks, i, saveflag; uint32_t cylno; - void *space; + void *info, *space; char *wrbuf; saveflag = fs->fs_flags & FS_INTERNAL; fs->fs_flags &= ~FS_INTERNAL; - memcpy(writebuf, &sblock, sbsize); + /* + * Write out the superblock. Blank out the summary info field, as it's + * a random pointer that would make the resulting image unreproducible. + */ + info = fs->fs_si; + fs->fs_si = NULL; + memcpy(writebuf, fs, sbsize); + fs->fs_si = info; + if (fsopts->needswap) ffs_sb_swap(fs, (struct fs*)writebuf); ffs_wtfs(fs->fs_sblockloc / sectorsize, sbsize, writebuf, fsopts); From nobody Sun Jun 1 19:54:04 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNF4Wdqz5y5th; Sun, 01 Jun 2025 19:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SND6tFzz3swh; Sun, 01 Jun 2025 19:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVVqSi5xkitmStrsHHlCb7CtGXc33EG5gK8pxqBtkEM=; b=Na6nQNpJkPr2gGfQ7n48O2UfUycj9Dj8blTn/GfcRO1u9guMiTmUzEQ7i14c9o4sUfTGXQ SyJePpBWIfTaPTd1Vacfbz4vK8ybug0/06ZFLJobFbmbkZc+47DM3W4W2CW3bWaFG3cF0T VssIvkuddDRxRB3zi+i1QqCkTEpM4De6CAFkyd9FrElLByo5c65/Ef62S3uiIZG4qFV+mQ JX32nufgtJ9sYKHWqVjf2c9U/7Xc9TcefEQV0CY8/SVynn//WPN35DvH71H2UxR0BU6tXo e6EnkpIyXdk1BCBSulHXGypVDRICE3+ILBHxTZ3qe7q8291Ppfh8eXkoy0OLeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVVqSi5xkitmStrsHHlCb7CtGXc33EG5gK8pxqBtkEM=; b=uKrsBMlSB282MoJ1sw4wmN+1bHWNfPLMXV7SKIgMLL9vgtFW1dyOsKepBrcCaN4Ot8qz4H nVWd6zmkniIZv9/1W20hOdGette5GBZ8mQaehSIe7JTBIg/Fg9EbQHjze22n0GqVA6kWTK 59EcHyNck9SHxztdJcHIjYe5L1FVeR1nBifgqHTYrcE0DkGMb5saPUBH9oPXYaKeilHfTe +5T6EDQq0PI8upPHw4qhbuaLXXHlBewrsJqMIvF9tY+PyNxRU3D9j1gXDq8igH+5vp3sk/ FuplMgw3IJ4tBwzIBsi9ctcgK7Akgpn51qgN3tf5VcmR6jUIDGkaH6t1Z71UGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807645; a=rsa-sha256; cv=none; b=Pu5IN8eFFCPa1ouCcXl1R48Et8SyreksRMNwLiT1JTfREauli0jki/bVJtZy+L3sJb9qwh 28akiY359V+KvX9NL3gAdbnZqJTGbHSBjjL2C3dXqlj/ZtPXL5OjO/s8KXNdO04XqhkN0w 1DoS/ctcqJ7gNfdY+zCTXxOD8qH1/PIPkf2X6Mi6z9lErwq7AIEPSYi/i80wbhXS1OEu3f b8gxZig7WLK2wmfEgnJCOaenFhzQQJRIm3iEf19Qw5rz6p8rHvA5mk6mMuJwFD2zr42Vh7 SbWBFq7OCGIfN8Vtb82kAKrUmi+BBoHt17U76FsPdmq8PDEbjHtLeHrm02aKVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SND4tTDzf0K; Sun, 01 Jun 2025 19:54: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 551Js4wl046189; Sun, 1 Jun 2025 19:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js4KT046186; Sun, 1 Jun 2025 19:54:04 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:04 GMT Message-Id: <202506011954.551Js4KT046186@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: 226076aa20f3 - stable/14 - netinet6: Do not forward or send ICMPv6 messages to the unspec address 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: 226076aa20f311f7c2d21aa862ce14441db5d078 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=226076aa20f311f7c2d21aa862ce14441db5d078 commit 226076aa20f311f7c2d21aa862ce14441db5d078 Author: Mark Johnston AuthorDate: 2025-04-22 14:54:37 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 netinet6: Do not forward or send ICMPv6 messages to the unspec address As in f7174eb2b4c4 ("netinet: Do not forward or ICMP response to INADDR_ANY"), the IPv6 stack should avoid sending packets to the unspecified address. In particular: - Make sure that we do not forward received packets to the unspecified address; the check in ip6_input() catches this in the common case, but after commit 40faf87894ff it's possible for a pfil hook to bypass this check and pass the packet to ip6_forward() using the PACKET_TAG_IPFORWARD tag. - Make sure that we do not reflect packets back to the unspecified address; RFC 4443 section 2.4 states that we must not generate error messages in response to packets from the unspecified address. Reviewed by: zlei, glebius Reported by: Franco Fichtner MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: OPNsense Differential Revision: https://reviews.freebsd.org/D49339 (cherry picked from commit b7a61e09e4ad5fda44b7f4b6fee14f1b53996b41) --- sys/netinet6/icmp6.c | 6 ++++++ sys/netinet6/ip6_forward.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 0a0ca80de721..8d6e04c926c7 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2089,6 +2089,12 @@ icmp6_reflect(struct mbuf *m, size_t off) hlim = 0; srcp = NULL; + if (__predict_false(IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src))) { + nd6log((LOG_DEBUG, + "icmp6_reflect: source address is unspecified\n")); + goto bad; + } + /* * If the incoming packet was addressed directly to us (i.e. unicast), * use dst as the src for the reply. diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c index 44a349d1750f..ad8c95c9363c 100644 --- a/sys/netinet6/ip6_forward.c +++ b/sys/netinet6/ip6_forward.c @@ -109,7 +109,8 @@ ip6_forward(struct mbuf *m, int srcrt) */ if ((m->m_flags & (M_BCAST|M_MCAST)) != 0 || IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) || - IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src)) { + IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src) || + IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_dst)) { IP6STAT_INC(ip6s_cantforward); /* XXX in6_ifstat_inc(rt->rt_ifp, ifs6_in_discard) */ if (V_ip6_log_cannot_forward && ip6_log_ratelimit()) { From nobody Sun Jun 1 19:54:05 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNH0Yzcz5y5wY; Sun, 01 Jun 2025 19:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNG0Jc3z3sws; Sun, 01 Jun 2025 19:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8+1Gw+y07NDcVHcDcWsBo0sqSxqu0ez+8SHYxmdnh0=; b=fWpFQNT3R95IGgR/EVEdGHh8bQpDEslE+AnSndcLF/Y2CxmGyMExfQL3bRjGovo6RIKI1F 3QRPR0mJdOMNNwi0qqsUAOIWQKVsQ3M/EPczGyo2BOSyOXjwMts0miisC5TOgv2R10xkHR D27FPrUzlLThUMwxFQ16UHfvFIUvKR5bIV5ZntjMFy8oyNZG46OQDe4pFbUMCeKHxRQrRP UA6P5XfMj8Qs5vl5GIwqOd1f6i4qjw0nK/t8CvgqT5H/IXPWOeso4ktE7JXLqLenmi9WPs 0G+54AeOHVk/LbQsWNlWbWUOhYROHgxe9BXRIFmtcLkLWN6E1g8guW3cqmr0Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8+1Gw+y07NDcVHcDcWsBo0sqSxqu0ez+8SHYxmdnh0=; b=fScGIW4X3M51apxH0CGGo3RMsHN4sIOZIwMGTIlmq2KYW9Pf8b8JfNHwfEwdC/6n3YBgwH tFPKj7MubWWWdY3xy6TDXVUTce9WlcOvkFfv9RnsvKvI5UboT+cnjnKbspkDjDLbsnwinP +fuxer9MuM48kRl3H4+IKoqjKUPmqdPmIQn33Xp47nHi6Lz6wgMZZLz2Dq5Mz9BVZD6X4N wA084lrfzPT11xfK6CFg+cxFvodHZxUvq5wvVwv36MRxb8zbbzuGEv3PUqFxoBtRwIioiC at9v/1jFTe6sXATBHx3YHA9lH3vYjTc5z05AgWLJAwODLMMCe9/OEyR98A2t8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807646; a=rsa-sha256; cv=none; b=x051ItW5ISdX1ULTocbGfXw0kRkhOvLccg6+FHcJOJyVVfwUgm1OTeNqilWtYxYcnB7dGk Crhs6kX9m7OHldXPfmIw2tKaH44XDSEh2JfGDBVCo+jDYQCPiudHI+8QfEusKe8ttTN/iD 4vBHzkn6tdDusoka5uIisiiIADjNVJ2+ntfq0Oq1R//RufIyeFvIKdEe1CufSmN+uCmKy8 tDCEK1FTEn7aN8jUNx8X/dyQV44mpK6ESRjhg30LwMhQ8vyRNHsn5TsnKLzOG4iS0UDOE+ /9JRNIvDXrb+BSj7uokIM96dUHcvZAMtJdqf2eu/rFhE8MnryrrH67rNg2DMNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNF58FNzdy2; Sun, 01 Jun 2025 19:54: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 551Js5D9046222; Sun, 1 Jun 2025 19:54:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js5R2046219; Sun, 1 Jun 2025 19:54:05 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:05 GMT Message-Id: <202506011954.551Js5R2046219@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: cdf6e2d9feec - stable/14 - krb5: Fix handling of transient crypto request failures 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: cdf6e2d9feec03b0995c54be46d70471c3d69e5f Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cdf6e2d9feec03b0995c54be46d70471c3d69e5f commit cdf6e2d9feec03b0995c54be46d70471c3d69e5f Author: Mark Johnston AuthorDate: 2025-05-09 00:16:53 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 krb5: Fix handling of transient crypto request failures - Instead of using CRYPTO_F_DONE to decide whether a request has completed, use a custom protocol of setting crp_opaque = NULL in the callback and checking that instead. CRYPTO_F_DONE is set independent of whether an error occurred, but for transient errors signaled by EAGAIN, we want to simply retry the request. - Clear CRYPTO_F_DONE before retrying the request. - Panic if the request truly failed, as we currently have no way to pass hard errors back up. Reviewed by: jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50238 (cherry picked from commit 04421fda140b92eb0d22bc4c0f81b6de05f21225) --- sys/kgssapi/krb5/kcrypto_aes.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/sys/kgssapi/krb5/kcrypto_aes.c b/sys/kgssapi/krb5/kcrypto_aes.c index 39d3ee1aac2b..fa871b695226 100644 --- a/sys/kgssapi/krb5/kcrypto_aes.c +++ b/sys/kgssapi/krb5/kcrypto_aes.c @@ -117,19 +117,24 @@ aes_random_to_key(struct krb5_key_state *ks, const void *in) static int aes_crypto_cb(struct cryptop *crp) { - int error; struct aes_state *as = (struct aes_state *) crp->crp_opaque; - if (CRYPTO_SESS_SYNC(crp->crp_session)) + if (CRYPTO_SESS_SYNC(crp->crp_session)) { + KASSERT(crp->crp_etype == 0, + ("%s: callback with error %d", __func__, crp->crp_etype)); return (0); + } - error = crp->crp_etype; - if (error == EAGAIN) - error = crypto_dispatch(crp); - mtx_lock(&as->as_lock); - if (error || (crp->crp_flags & CRYPTO_F_DONE)) + if (crp->crp_etype == EAGAIN) { + crp->crp_etype = 0; + crp->crp_flags &= ~CRYPTO_F_DONE; + (void)crypto_dispatch(crp); + } else { + mtx_lock(&as->as_lock); + crp->crp_opaque = NULL; wakeup(crp); - mtx_unlock(&as->as_lock); + mtx_unlock(&as->as_lock); + } return (0); } @@ -165,11 +170,12 @@ aes_encrypt_1(const struct krb5_key_state *ks, int buftype, void *buf, if (!CRYPTO_SESS_SYNC(as->as_session_aes)) { mtx_lock(&as->as_lock); - if (!error && !(crp->crp_flags & CRYPTO_F_DONE)) + if (error == 0 && crp->crp_opaque != NULL) error = msleep(crp, &as->as_lock, 0, "gssaes", 0); mtx_unlock(&as->as_lock); } - + if (crp->crp_etype != 0) + panic("%s: crypto req failed: %d", __func__, crp->crp_etype); crypto_freereq(crp); } @@ -335,11 +341,13 @@ aes_checksum(const struct krb5_key_state *ks, int usage, if (!CRYPTO_SESS_SYNC(as->as_session_sha1)) { mtx_lock(&as->as_lock); - if (!error && !(crp->crp_flags & CRYPTO_F_DONE)) + if (error == 0 && crp->crp_opaque != NULL) error = msleep(crp, &as->as_lock, 0, "gssaes", 0); mtx_unlock(&as->as_lock); } + if (crp->crp_etype != 0) + panic("%s: crypto req failed: %d", __func__, crp->crp_etype); crypto_freereq(crp); } From nobody Sun Jun 1 19:54:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNK1Ds3z5y5tl; Sun, 01 Jun 2025 19:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNH33ynz3t2L; Sun, 01 Jun 2025 19:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WveE0NAu5vpJJ9w9E72Y+q7RJYrVVKZzjtcc3+gETis=; b=oeY+DtiZHfF+wfjHrQBAFdhqPX4FoRjYYsZGfGQgGQPhsuwMINPjwoXm197VGJJTkU+amf 3IsvEqLRi1INPCNBalc3bKYj8EAljfxSi2Kk7oMWJ33oFRfFD5WH0fhBtdiereCyGLmdgV YZ3+5IWoU7Z2Jx8ZJTVhX5zWukSnzBtOsA796NJxssXf6cMhY70l2x1mryevAyQZZ68akQ wdVJTtY4Zq59IgNLoz5wuL6umf2G5JEsN8iG/coFvD9ID8BPHRV99pzR/aXqmoBG/j5YDA tZUbpUcLJ8ett1FZo041MraW7rrURywriujum57jQvInA2zr5UqjEv1PnWPptA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WveE0NAu5vpJJ9w9E72Y+q7RJYrVVKZzjtcc3+gETis=; b=Hy0ks+v7eSgwTu/AwkL2ZCdpj2SV7foTLn1VV2Ot6IwhnTcvScrik0FmbIR6C6Ndpz/Xqt gtl0VfOf7I+phE7EW131bajHTViuqjjFsma3ADWxlACJo35SiJzwDOV1wLKGBTLdv8tDFJ usSoDrIkrl8lItpz1+I3iaRbE2LLhkeZMwhBepMzqG0b7gtGO1oOtZvVOiKF7yVzvifRmT 8pS4ouDekDoaLBz+Zc0UwcG4c+6c+8df/pKPh1azgPv//sWMIxhMwYxYCc92XSvj5wM205 pOVnN8cObUiuYYcqFCzI8UuqZqZeZPgfh0LzBn/ZhsfFyLBT+V83IacpD4R2tQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807647; a=rsa-sha256; cv=none; b=uR4549NGEsACESgt5GXZpemNBR/KftjVwJcBi1FkrvbbPaUrC5XSZAgqKwiIu8dJL6MFLi TwRRE1cI7kbeLDowkJuCJumNeIVQqD/ztk8qkMf1LjWD3a2OwGXGWxazp6gzdGPYDRjF51 J9QfJdaAu98TWkz/SJiknOkClwXDkMy2dW+IOkfHJRPTxVHVQGoN7cOmjSQQVvnlE1x0Ff 1q3y6+Np3OL7rRMyIJCiKJ8szSURQjmlEtWq79adPbNRy17z1EQXaJDFFL0nPvD1rc+RCB mbCXKK1OxprGIAd6Dccv0zX151r/aBhzEM8q0xxu0AIHdOBzuh8Qzqajflb6sg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNG6FY4zdTc; Sun, 01 Jun 2025 19:54: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 551Js6AV046255; Sun, 1 Jun 2025 19:54:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js6G3046252; Sun, 1 Jun 2025 19:54:06 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:06 GMT Message-Id: <202506011954.551Js6G3046252@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: f00a7faf0503 - stable/14 - sysrc: Fix check flag logic for append and subtract 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: f00a7faf050370d77292cac4c622a5a8d98ab13d Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f00a7faf050370d77292cac4c622a5a8d98ab13d commit f00a7faf050370d77292cac4c622a5a8d98ab13d Author: Michal Scigocki AuthorDate: 2025-04-14 07:01:06 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 sysrc: Fix check flag logic for append and subtract When using sysrc with the check flag (-c), the append (+=) and subtract (-=) operations result in incorrect return values because on the check path the necessary union/difference calculation logic is not performed. However, the correct union/difference calculation is already performed when running without the check flag. We fix the issue on the check path by using the results from the existing union/difference calculation in the check logic to get the correct return values. PR: 279200 Reviewed by: markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1664 (cherry picked from commit c97460c4d97db1bd46dab9f2bdbc90cd1ed7757f) --- usr.sbin/sysrc/sysrc | 52 +++++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/usr.sbin/sysrc/sysrc b/usr.sbin/sysrc/sysrc index 1766cf7ab835..625ff5ca4efd 100644 --- a/usr.sbin/sysrc/sysrc +++ b/usr.sbin/sysrc/sysrc @@ -764,33 +764,6 @@ while [ $# -gt 0 ]; do continue fi - # - # If `-c' is passed, simply compare and move on - # - if [ "$CHECK_ONLY" ]; then - if ! IGNORED=$( f_sysrc_get "$NAME?" ); then - status=$FAILURE - [ "$VERBOSE" ] && - echo "$NAME: not currently set" - shift 1 - continue - fi - value=$( f_sysrc_get "$NAME" ) - if [ "$value" != "${1#*=}" ]; then - status=$FAILURE - if [ "$VERBOSE" ]; then - echo -n "$( f_sysrc_find "$NAME" ): " - echo -n "$NAME: would change from " - echo "\`$value' to \`${1#*=}'" - fi - elif [ "$VERBOSE" ]; then - echo -n "$( f_sysrc_find "$NAME" ): " - echo "$NAME: already set to \`$value'" - fi - shift 1 - continue - fi - # # Determine both `before' value and appropriate `new' value # @@ -848,6 +821,31 @@ while [ $# -gt 0 ]; do new="${1#*=}" esac + # + # If `-c' is passed, simply compare and move on + # + if [ "$CHECK_ONLY" ]; then + if ! IGNORED=$( f_sysrc_get "$NAME?" ); then + status=$FAILURE + [ "$VERBOSE" ] && + echo "$NAME: not currently set" + shift 1 + continue + elif [ "$new" != "$before" ]; then + status=$FAILURE + if [ "$VERBOSE" ]; then + echo -n "$( f_sysrc_find "$NAME" ): " + echo -n "$NAME: would change from " + echo "\`$before' to \`$new'" + fi + elif [ "$VERBOSE" ]; then + echo -n "$( f_sysrc_find "$NAME" ): " + echo "$NAME: already set to \`$before'" + fi + shift 1 + continue + fi + # # If `-N' is passed, simplify the output # From nobody Sun Jun 1 19:54:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNK1J2gz5y67v; Sun, 01 Jun 2025 19:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNJ2phxz3tFY; Sun, 01 Jun 2025 19:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bAaQCXp8Do5uCMHFhp8mHbioPXX3QkmEM78RVWjmEkc=; b=hQwKs0llGwLEUy2xgJIgngpk6eSDiADaccY0VcXzjFvsg3PXYu29mhobb3fCPfZj8WMtot RYI9AsmARiSC3Afv4Z0UccweW6gtamzg64d8qpsUE3omQQo8CbPT+mfrFZr1nOL105VfRB yZoC/kq/KoeSLP/gTNVz5SDGT8CRndT42g0hXZLb2MhxrlXFfFXVxjhW9BsI26pQZMPCcV E/qHflVzLvod8as7aNB8VrfRc67Zod+9p+jKrceFAh0/mahgB66hwpDULhWSPSHu2V3SDw vERmsFTF0/X6cKMZYmN8hMMZQlQEVU+hkd4b6gvEGZufig61dMI3YozSGKPY8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bAaQCXp8Do5uCMHFhp8mHbioPXX3QkmEM78RVWjmEkc=; b=ey53TRIJfolEMt8+z/eAIooNTzEzq7r8yYNuuTk56MYXFUhK5P9jA0aX0gCq6/xo6eC48M SW+/iSrmnAinCPpz0/ofPhy2WyGDFDMpADIRnzPAuL31JUHaZDLfAhS2O0neOfrj5bOJus YY8NO35JKR/I9CzEo+351+6iIBcEindvET+gCeMMyQyqz8bdQN3g1HFYgHjPRZyp9by8j9 sc+VmkrwhrDVKX/5ZCsPI/UYsaSvg3aRT4gTV7KPyTY+1XmTSoNva4gxl3jU7XN47lKzet XUJouKZMJ37fnvpVS2IR1j43aJXvOIzcGeezojwdzrSnUNYT5LgGcqxA11/oCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807648; a=rsa-sha256; cv=none; b=UALyIKfWM4nAlZPk7q11koQyPsMFsPKpi/aRYaQQPoUugv44Q1p9p4SZYvF8MNyU9qR9NA AMu+GUAmUNHFeA6z6vubFDQJ+2DttiB5y3fd86Mmgqvb29Hz86/qAewWDRl+X7a6BfPqkR Dd+6A8JzDyLooH7GCQHkA/T3G1mNUFNybVx+axWoNjyUn1IYAeg0FRFa9/sC+TIYbvCCtm /BTR7d4VPKvcuK6dV6/uVlxUU+XrjBljfO4RafdtEXQWIsHFRzJfm8Kki1IwA3ndIsol6y d9s5glXdza3Dw2/cADFMzLx3xlzqwVPn/4vCfXZkZGSAU3FMkjkObe+UcWL3DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNJ0JQpzddc; Sun, 01 Jun 2025 19:54: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 551Js77a046288; Sun, 1 Jun 2025 19:54:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js7sS046285; Sun, 1 Jun 2025 19:54:07 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:07 GMT Message-Id: <202506011954.551Js7sS046285@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: ea8b5e7f57dd - stable/14 - sysrc: Add some regressions tests 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: ea8b5e7f57dd0e18506cd71eb55763e466649704 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ea8b5e7f57dd0e18506cd71eb55763e466649704 commit ea8b5e7f57dd0e18506cd71eb55763e466649704 Author: Michal Scigocki AuthorDate: 2025-04-14 07:00:07 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 sysrc: Add some regressions tests Reviewed by: markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1664 (cherry picked from commit eeb2d4ffe95b4332811c14b56cfdf5fc6ea821b0) --- etc/mtree/BSD.tests.dist | 2 + usr.sbin/sysrc/Makefile | 4 + usr.sbin/sysrc/tests/Makefile | 3 + usr.sbin/sysrc/tests/sysrc_test.sh | 351 +++++++++++++++++++++++++++++++++++++ 4 files changed, 360 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index bf327b14c306..4e014025f623 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1219,6 +1219,8 @@ .. syslogd .. + sysrc + .. traceroute .. .. diff --git a/usr.sbin/sysrc/Makefile b/usr.sbin/sysrc/Makefile index 831ce5d135bd..e1f48f2af97b 100644 --- a/usr.sbin/sysrc/Makefile +++ b/usr.sbin/sysrc/Makefile @@ -1,6 +1,10 @@ +.include SCRIPTS= sysrc MAN= sysrc.8 +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include diff --git a/usr.sbin/sysrc/tests/Makefile b/usr.sbin/sysrc/tests/Makefile new file mode 100644 index 000000000000..8b4bad96f4cc --- /dev/null +++ b/usr.sbin/sysrc/tests/Makefile @@ -0,0 +1,3 @@ +ATF_TESTS_SH+= sysrc_test + +.include diff --git a/usr.sbin/sysrc/tests/sysrc_test.sh b/usr.sbin/sysrc/tests/sysrc_test.sh new file mode 100644 index 000000000000..fa79e6262c21 --- /dev/null +++ b/usr.sbin/sysrc/tests/sysrc_test.sh @@ -0,0 +1,351 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 Michal Scigocki +# + +readonly SYSRC_CONF="${PWD}/sysrc_test.conf" + +atf_test_case check_variable +check_variable_head() +{ + atf_set "descr" "Check rc variable" +} +check_variable_body() +{ + cat <<- EOF > "${SYSRC_CONF}" + test_enable="NO" + test_list="item1 item2" + test2_list="" + EOF + + atf_check -o inline:"test_enable: NO\n" \ + sysrc -f "${SYSRC_CONF}" test_enable + atf_check -o inline:"test2_list: \n" \ + sysrc -f "${SYSRC_CONF}" test2_list + atf_check -o inline:"test_enable: NO\ntest_list: item1 item2\n" \ + sysrc -f "${SYSRC_CONF}" test_enable test_list + atf_check -e inline:"sysrc: unknown variable 'noexist'\n" \ + -s exit:1 sysrc -f "${SYSRC_CONF}" noexist + atf_check -e inline:"sysrc: unknown variable 'noexist'\n" \ + -s exit:1 -o inline:"test_enable: NO\n" \ + sysrc -f "${SYSRC_CONF}" test_enable noexist +} + +atf_test_case set_variable +set_variable_head() +{ + atf_set "descr" "Set rc variable" +} +set_variable_body() +{ + # Previously unset variable + atf_check -o inline:"test_enable: -> YES\n" \ + sysrc -f "${SYSRC_CONF}" test_enable=YES + atf_check -o inline:'test_enable="YES"\n' cat "${SYSRC_CONF}" + # Change set variable + atf_check -o inline:"test_enable: YES -> YES\n" \ + sysrc -f "${SYSRC_CONF}" test_enable=YES + atf_check -o inline:'test_enable="YES"\n' cat "${SYSRC_CONF}" + atf_check -o inline:"test_enable: YES -> NO\n" \ + sysrc -f "${SYSRC_CONF}" test_enable=NO + atf_check -o inline:'test_enable="NO"\n' cat "${SYSRC_CONF}" + # Set an empty variable + atf_check -o inline:"test2_enable: -> \n" \ + sysrc -f "${SYSRC_CONF}" test2_enable="" + atf_check -o inline:'test_enable="NO"\ntest2_enable=""\n' \ + cat "${SYSRC_CONF}" +} + +atf_test_case remove_variable_x_flag +remove_variable_x_flag_head() +{ + atf_set "descr" "Remove rc variable (-x flag)" +} +remove_variable_x_flag_body() +{ + cat <<- EOF > "${SYSRC_CONF}" + test1_enable="YES" + test2_enable="NO" + test3_enable="" + EOF + + atf_check sysrc -f "${SYSRC_CONF}" -x test1_enable + atf_check -o inline:'test2_enable="NO"\ntest3_enable=""\n' \ + cat "${SYSRC_CONF}" + atf_check sysrc -f "${SYSRC_CONF}" -x test2_enable test3_enable + atf_check -o empty cat "${SYSRC_CONF}" + atf_check -e inline:"sysrc: unknown variable 'noexist'\n"\ + -s exit:1 sysrc -f "${SYSRC_CONF}" -x noexist +} + +atf_test_case append_list +append_list_head() +{ + atf_set "descr" "Append rc variable to list" +} +append_list_body() +{ + atf_check -o inline:"test_list: -> item1\n" \ + sysrc -f "${SYSRC_CONF}" test_list+=item1 + atf_check -o inline:'test_list="item1"\n' cat "${SYSRC_CONF}" + atf_check -o inline:"test_list: item1 -> item1\n" \ + sysrc -f "${SYSRC_CONF}" test_list+=item1 + atf_check -o inline:'test_list="item1"\n' cat "${SYSRC_CONF}" + atf_check -o inline:"test_list: item1 -> item1 item2\n" \ + sysrc -f "${SYSRC_CONF}" test_list+=item2 + atf_check -o inline:'test_list="item1 item2"\n' \ + cat "${SYSRC_CONF}" +} + +atf_test_case subtract_list +subtract_list_head() +{ + atf_set "descr" "Subtract rc variable from list" +} +subtract_list_body() +{ + echo 'test_list="item1 item2"' > "${SYSRC_CONF}" + + atf_check -o inline:"test_list: item1 item2 -> item1\n" \ + sysrc -f "${SYSRC_CONF}" test_list-=item2 + atf_check -o inline:'test_list="item1"\n' cat "${SYSRC_CONF}" + atf_check -o inline:"test_list: item1 -> \n" \ + sysrc -f "${SYSRC_CONF}" test_list-=item1 + atf_check -o inline:'test_list=""\n' cat "${SYSRC_CONF}" + atf_check -o inline:"test_list: -> \n" \ + sysrc -f "${SYSRC_CONF}" test_list-=item3 + atf_check -o inline:'test_list=""\n' cat "${SYSRC_CONF}" + + # Subtracting a non-existant rc variable results in an empty variable + # being created. This is by design, see sysrc(8). + atf_check -s exit:1 grep test2_list "${SYSRC_CONF}" + atf_check -o inline:"test2_list: -> \n" \ + sysrc -f "${SYSRC_CONF}" test2_list-=item1 + atf_check -o inline:'test_list=""\ntest2_list=""\n' \ + cat "${SYSRC_CONF}" +} + +atf_test_case multiple_operations +multiple_operations_head() +{ + atf_set "descr" "Check performing multiple operations on rc variables" +} +multiple_operations_body() +{ + atf_check -o inline:"test1_enable: -> YES\ntest1_list: -> item1\n" \ + sysrc -f "${SYSRC_CONF}" test1_enable=YES test1_list+=item1 + atf_check -o inline:'test1_enable="YES"\ntest1_list="item1"\n' \ + cat "${SYSRC_CONF}" + + # The trailing space on line "^test1_list:" is necessary. + cat <<- EOF > expected + test1_enable: YES + test1_enable: YES -> NO + test2_enable: -> YES + test1_list: item1 -> + test2_list: -> item3 + EOF + atf_check -s exit:1 -e inline:"sysrc: unknown variable 'noexist'\n" \ + -o file:expected sysrc -f "${SYSRC_CONF}" test1_enable \ + test1_enable=NO noexist test2_enable=YES test1_list-=item1 \ + test2_list+=item3 + + cat <<- EOF > expected + test1_enable="NO" + test1_list="" + test2_enable="YES" + test2_list="item3" + EOF + atf_check -o file:expected cat "${SYSRC_CONF}" +} + +atf_test_case a_flag +a_flag_head() +{ + atf_set "descr" "Verify -a behavior" +} +a_flag_body() +{ + echo 'test_enable="YES"' > "${SYSRC_CONF}" + + atf_check -o inline:"test_enable: YES\n" sysrc -f "${SYSRC_CONF}" -a +} + +atf_test_case A_flag cleanup +A_flag_head() +{ + atf_set "descr" "Verify -A behavior" +} +A_flag_body() +{ + RC_DEFAULTS="${PWD}/rc_defaults.conf" + echo "rc_conf_files=\"${SYSRC_CONF}\"" > "${RC_DEFAULTS}" + echo 'test_enable="NO"' >> "${RC_DEFAULTS}" + echo 'test_enable="YES"' > "${SYSRC_CONF}" + + export RC_DEFAULTS + + # sysrc is coupled to the "source_rc_confs" sh(1) script function in + # /etc/defaults/rc.conf. For this test we use a custom default + # rc.conf file that is missing the "source_rc_confs" function, which + # causes sysrc to print an error message. While the coupling exists, + # we assume the error message is expected behaviour instead of just + # ignoring the stderr output to make sure we don't ignore other error + # messages in case of future regressions. + atf_check -e inline:"/usr/sbin/sysrc: source_rc_confs: not found\n" \ + -o inline:"rc_conf_files: ${SYSRC_CONF}\ntest_enable: NO\n" \ + sysrc -A + # Because "source_rc_confs" does not exist in our custom default + # rc.conf file, we cannot get sysrc to load the other SYSRC_CONF file + # to compare results. We can only verify that configuration variables + # get read from the RC_DEFAULTS file. +} +A_flag_cleanup() +{ + unset RC_DEFAULTS +} + +atf_test_case c_flag +c_flag_head() +{ + atf_set "descr" "Verify -c behavior" +} +c_flag_body() +{ + echo 'test_enable="NO"' > "${SYSRC_CONF}" + echo 'test_list="item1 item2"' >> "${SYSRC_CONF}" + + # Test if rc variable is set + atf_check sysrc -f "${SYSRC_CONF}" -c test_enable + atf_check sysrc -f "${SYSRC_CONF}" -c test_list + atf_check sysrc -f "${SYSRC_CONF}" -c test_enable test_list + atf_check -e inline:"sysrc: unknown variable 'noexist'\n"\ + -s exit:1 sysrc -f "${SYSRC_CONF}" -c noexist + atf_check -e inline:"sysrc: unknown variable 'noexist'\n"\ + -s exit:1 sysrc -f "${SYSRC_CONF}" -c test_enable noexist + + cat <<- EOF > expected_err + sysrc: unknown variable 'noexist1' + sysrc: unknown variable 'noexist2' + EOF + atf_check -e file:expected_err -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c noexist1 noexist2 + + # Test rc variable assignment + atf_check sysrc -f "${SYSRC_CONF}" -c test_enable=NO + atf_check -s exit:1 sysrc -f "${SYSRC_CONF}" -c test_enable=YES + atf_check -s exit:1 sysrc -f "${SYSRC_CONF}" -c noexist=YES + + # Test appending rc variables + atf_check sysrc -f "${SYSRC_CONF}" -c test_list+=item1 + atf_check -s exit:1 sysrc -f "${SYSRC_CONF}" -c test_list+=item3 + atf_check -s exit:1 sysrc -f "${SYSRC_CONF}" -c noexist+=item1 + atf_check sysrc -f "${SYSRC_CONF}" -c test_enable=NO test_list+=item1 + atf_check -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c test_enable=YES test_list+=item1 + atf_check -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c test_enable=NO test_list+=item3 + atf_check -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c test_enable=YES test_list+=item3 + + # Test subracting rc variables + atf_check sysrc -f "${SYSRC_CONF}" -c test_list-=item3 + atf_check -s exit:1 sysrc -f "${SYSRC_CONF}" -c test_list-=item1 + atf_check -s exit:1 sysrc -f "${SYSRC_CONF}" -c noexist-=item1 + atf_check sysrc -f "${SYSRC_CONF}" -c test_enable=NO test_list-=item3 + atf_check -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c test_enable=YES test_list-=item3 + atf_check -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c test_enable=NO test_list-=item1 + atf_check -s exit:1 \ + sysrc -f "${SYSRC_CONF}" -c test_enable=YES test_list-=item1 +} + +atf_test_case d_flag cleanup +d_flag_head() +{ + atf_set "descr" "Verify -f behavior" +} +d_flag_body() +{ + echo 'test_enable="NO" # Test Description' > "${SYSRC_CONF}" + + export RC_DEFAULTS="${SYSRC_CONF}" + + atf_check -o inline:'test_enable: Test Description\n' \ + sysrc -d test_enable +} +d_flag_cleanup() +{ + unset RC_DEFAULTS +} + +atf_test_case f_flag +f_flag_head() +{ + atf_set "descr" "Verify -f behavior" +} +f_flag_body() +{ + local sysrc2_conf="${PWD}/sysrc2.conf" + echo 'test_list="item1"' > "${sysrc2_conf}" + echo 'test_enable="NO"' >> "${sysrc2_conf}" + + atf_check test ! -f "${SYSRC_CONF}" + atf_check -e inline:"sysrc: unknown variable 'noexist'\n" \ + -s exit:1 sysrc -f "${SYSRC_CONF}" noexist + atf_check test ! -f "${SYSRC_CONF}" + atf_check -o inline:"test_enable: -> YES\n" \ + sysrc -f "${SYSRC_CONF}" test_enable=YES + atf_check test -f "${SYSRC_CONF}" + atf_check -o inline:"test_enable: YES\n" \ + sysrc -f "${SYSRC_CONF}" test_enable + # -f file order impacts final settings + atf_check -o inline:"test_enable: YES\n" \ + sysrc -f "${sysrc2_conf}" -f "${SYSRC_CONF}" test_enable + atf_check -o inline:"test_enable: NO\n" \ + sysrc -f "${SYSRC_CONF}" -f "${sysrc2_conf}" test_enable + atf_check -o inline:"test_enable: YES\ntest_list: item1\n" \ + sysrc -f "${sysrc2_conf}" -f "${SYSRC_CONF}" -a +} + +atf_test_case F_flag +F_flag_head() +{ + atf_set "descr" "Verify -F behavior" +} +F_flag_body() +{ + local sysrc2_conf="${PWD}/sysrc2.conf" + echo 'test_list="item1"' > "${sysrc2_conf}" + echo 'test_enable="NO"' > "${SYSRC_CONF}" + + atf_check -o inline:"test_enable: ${SYSRC_CONF}\n" \ + sysrc -f "${SYSRC_CONF}" -F test_enable + atf_check -o inline:"test_list: ${sysrc2_conf}\n" \ + sysrc -f "${sysrc2_conf}" -F test_list + + cat <<- EOF > expected + test_enable: ${SYSRC_CONF} + test_list: ${sysrc2_conf} + EOF + atf_check -o file:expected sysrc -f "${SYSRC_CONF}" \ + -f ${sysrc2_conf} -F test_enable test_list +} + +atf_init_test_cases() +{ + atf_add_test_case check_variable + atf_add_test_case set_variable + atf_add_test_case remove_variable_x_flag + atf_add_test_case append_list + atf_add_test_case subtract_list + atf_add_test_case multiple_operations + atf_add_test_case a_flag + atf_add_test_case A_flag + atf_add_test_case c_flag + atf_add_test_case d_flag + atf_add_test_case f_flag + atf_add_test_case F_flag +} From nobody Sun Jun 1 19:54:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNL5pCzz5y6GB; Sun, 01 Jun 2025 19:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNL3XWvz3tCc; Sun, 01 Jun 2025 19:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g10TOeMnhCH4xmWi03Y9/a9t1Q4D5/JkjI5FpoikwG8=; b=mepZCRIhYnLynBdhKQg+N/11BUzbAKGVYLHNZLtGKN2QjTBPvvJK3igKquC6cHWr7C7Y7f CW8Kw5zMaSG0IvPXaXMUZxEWtsv4aSZDvUhr5ZoSNZi+X1yPX9KrQS8KWIsSWNC2NB+ZAy R7nhrdEN365M/4qotjY6aCqVstznI8oSy42h9IxA+5eFx0jvnvm7VQHzj/oYdIQGG5Hj9a +59r286YK5nHSfVVkHCSPF+VFlRRg87Uwl8qQ6fdhwC8pFgM3xAkH05Lxww4YybfTu4g9H bDp6nR7D/o3xiFDzBBqUOyc3CiF8Co6pnIFg14wbmgLBTXBjYGOTzFFQCEzRhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g10TOeMnhCH4xmWi03Y9/a9t1Q4D5/JkjI5FpoikwG8=; b=n62kKlutYHkCr251eD+xbNjd5A8PbDhS4fyryVPlfHSCqXRJGpYIQVrtS0aqecJ2sYMa7r zxI1Cc0gvf053/zI72M1YIe2MDKMc6oQNUnB7tSYvMa0l5+pKCR3hEQBXqr/IvU/EfRLuj CZ449BIrohzXmk+DK+LmaSTKOVuVfNpcWO5GGfOkU8pQohwbCDmGEF6bnAhufKXvpML5dT 2lAqOosIbdWJ4gC4y82CeWNoCt2oXJ3uclPDkxiqJfNfdwH0cimn6dbvFR/x0vJ78Nos3N X7izaL4MgOVaZ6ISIK4G+A2vbqI8liwdhVRPk62mYQIqhPRVMAOGDeLEI5vdcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807650; a=rsa-sha256; cv=none; b=kixmjBTFUPtRhefZ2h2gLCZT+UQxWOoVarbqiBWMMEfwBeQydFt8g1h/2STFXBbZdocTLQ DLoUwlGlLibvYOxgHNBZQwHz8eH+LmGCUb6FxvKGNybPS0uvgxMcHGGECqV+VfYWg4Imx/ RUY2uCjkzRdyN7z5gBzGuCDV6sOimbi3qAs4RrZ5d7zTqgJB14431JI7ctCF0uPPE2lKyw VU0UOwu122oeANWFPFRodDDcqQwT/d5lWtYbfYRHQyBM1isx2Jqi/RgicGTOdJZFziUrVJ TePiRBe4O2xrKU0i9L554Afie/RPOnmxd+xGS+3/kDWkMC1xJobbHKRIJyixeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNL1bFGzdWh; Sun, 01 Jun 2025 19:54: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 551JsAPK046358; Sun, 1 Jun 2025 19:54:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551JsAQd046355; Sun, 1 Jun 2025 19:54:10 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:10 GMT Message-Id: <202506011954.551JsAQd046355@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: f7d9af32d84f - stable/14 - du: Add regression tests 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: f7d9af32d84f12172da018c1a876f3b66fd9ca34 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f7d9af32d84f12172da018c1a876f3b66fd9ca34 commit f7d9af32d84f12172da018c1a876f3b66fd9ca34 Author: Michal Scigocki AuthorDate: 2025-04-07 11:08:57 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 du: Add regression tests Reviewed by: markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1648 (cherry picked from commit 3e5550d25c6d614f422506373f7068c6c366fa85) --- usr.bin/du/tests/du_test.sh | 130 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 129 insertions(+), 1 deletion(-) diff --git a/usr.bin/du/tests/du_test.sh b/usr.bin/du/tests/du_test.sh index 0d7fc404b437..27076be8dc3e 100755 --- a/usr.bin/du/tests/du_test.sh +++ b/usr.bin/du/tests/du_test.sh @@ -97,6 +97,47 @@ I_flag_body() atf_check diff -u du.out du_I.out } +atf_test_case L_flag +L_flag_head() +{ + atf_set "descr" "Verify -L behavior" +} +L_flag_body() +{ + atf_check mkdir -p testdir1 + atf_check truncate -s 8192 testdir1/A + atf_check ln -s A testdir1/B + atf_check -o inline:'9\ttestdir1\n' du -A testdir1 + atf_check -o inline:'17\ttestdir1\n' du -AL testdir1 +} + +atf_test_case P_flag +P_flag_head() +{ + atf_set "descr" "Verify -P behavior" +} +P_flag_body() +{ + atf_check mkdir -p testdir1 + atf_check truncate -s 8192 testdir1/A + atf_check ln -s A testdir1/B + atf_check -o inline:'9\ttestdir1\n' du -A testdir1 + atf_check -o inline:'9\ttestdir1\n' du -AP testdir1 +} + +atf_test_case a_flag +a_flag_head() +{ + atf_set "descr" "Verify -a behavior" +} +a_flag_body() +{ + atf_check mkdir -p testdir1 + atf_check truncate -s 0 testdir1/A + atf_check -o inline:'1\ttestdir1\n' du -A testdir1 + atf_check -o inline:'0\ttestdir1/A\n1\ttestdir1\n' du -Aa testdir1 +} + atf_test_case c_flag c_flag_head() { @@ -104,7 +145,23 @@ c_flag_head() } c_flag_body() { - atf_check truncate -s 0 foo bar + atf_check truncate -s 8192 foo bar + atf_check -o inline:'8\tfoo\n8\tbar\n' du -A foo bar + atf_check -o inline:'8\tfoo\n8\tbar\n16\ttotal\n' du -Ac foo bar +} + +atf_test_case d_flag +d_flag_head() +{ + atf_set "descr" "Verify -d behavior" +} +d_flag_body() +{ + atf_check mkdir -p d0/d1/d2 + atf_check -o inline:'2\td0\n' du -A -d 0 d0 + atf_check -o inline:'1\td0/d1\n2\td0\n' du -A -d 1 d0 + atf_check -o inline:'1\td0/d1/d2\n1\td0/d1\n2\td0\n' du -A -d 2 d0 + atf_check -o inline:'1\td0/d1/d2\n1\td0/d1\n2\td0\n' du -A -d 3 d0 } atf_test_case g_flag @@ -149,6 +206,19 @@ k_flag_body() atf_check -o inline:'1\tA\n1024\tB\n' du -Ak A B } +atf_test_case l_flag +l_flag_head() +{ + atf_set "descr" "Verify -l output" +} +l_flag_body() +{ + atf_check truncate -s 0 A + atf_check ln A B + atf_check -o inline:'0\tA\n' du -A A B + atf_check -o inline:'0\tA\n0\tB\n' du -Al A B +} + atf_test_case m_flag m_flag_head() { @@ -162,6 +232,36 @@ m_flag_body() atf_check -o inline:'1\tA\n1\tB\n1024\tC\n' du -Am A B C } +atf_test_case n_flag +n_flag_head() +{ + atf_set "descr" "Verify -n output" +} +n_flag_body() +{ + atf_check truncate -s 0 A + atf_check truncate -s 0 B + atf_check -o inline:'0\tA\n0\tB\n' du -An A B + atf_check chflags nodump B + atf_check -o inline:'0\tA\n' du -An A B +} + +atf_test_case s_flag +s_flag_head() +{ + atf_set "descr" "Verify -s behavior" +} +s_flag_body() +{ + atf_check mkdir -p testdir1/testdir2 + atf_check truncate -s 0 testdir1/A testdir1/testdir2/B + atf_check -o inline:'1\ttestdir1\n' du -As testdir1 + atf_check -o inline:'0\ttestdir1/A\n' du -As testdir1/A + atf_check -o inline:'1\ttestdir1/testdir2\n' du -As testdir1/testdir2 + atf_check -o inline:'0\ttestdir1/testdir2/B\n' \ + du -As testdir1/testdir2/B +} + atf_test_case si_flag si_flag_head() { @@ -176,14 +276,42 @@ si_flag_body() atf_check -o inline:'1.5M\tA\n1.6M\tB\n' du -A --si A B } +atf_add_test_case t_flag +t_flag_head() +{ + atf_set "descr" "Verify -t output" +} +t_flag_body() +{ + atf_check mkdir -p testdir1/testdir2 + atf_check truncate -s 8192 testdir1/A testdir1/testdir2/B + + atf_check -o inline:'17\ttestdir1\n' du -At 10240 testdir1 + atf_check -o inline:'9\ttestdir1/testdir2\n' du -At -10240 testdir1 + atf_check -o inline:'9\ttestdir1/testdir2\n17\ttestdir1\n' \ + du -Aat 9216 testdir1 + atf_check -o save:du.out du -Aat -9216 testdir1 + atf_check -o inline:'8\ttestdir1/A\n8\ttestdir1/testdir2/B\n' \ + sort du.out +} + atf_init_test_cases() { atf_add_test_case A_flag atf_add_test_case H_flag atf_add_test_case I_flag + atf_add_test_case L_flag + atf_add_test_case P_flag + atf_add_test_case a_flag + atf_add_test_case c_flag + atf_add_test_case d_flag atf_add_test_case g_flag atf_add_test_case h_flag atf_add_test_case k_flag + atf_add_test_case l_flag atf_add_test_case m_flag + atf_add_test_case n_flag + atf_add_test_case s_flag atf_add_test_case si_flag + atf_add_test_case t_flag } From nobody Sun Jun 1 19:54:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNL5pyHz5y6BZ; Sun, 01 Jun 2025 19:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNL1RhTz3tJ1; Sun, 01 Jun 2025 19:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkTWd1OarDCcXpiigWEIf9nmP960/fZnIApklFfypeA=; b=KhV1CFcFoIbDLYqCgb/NeHK+u+qVXrITEBz8QsNcJdvB89w6DmPPe4eYHwEcPfmf3aK2XA NewPyTtRSHJxwi6/cSj7A69ULTcudJdsfdEfwgclm/+5TulWX/xX4Q68UKW7u85rS3jo4a /nlaVCqr8Uc34D/z86zeV3bkXEPInkZkzgmK00ewkzuQAEJ1/SDwOh3hJfiS/D1NisLP/+ UvLIfwH1J3r/IFo1okiJJQZ8KcsTs2613oyvdIpHgPfDk+acIISuf2tBMUsVVyErci6VSF CMuACruHLzu2Lp5WXwgUYr1kEn9pegA5j3ZDFFxmIKmGUqjp3zi7sSO8Zq1mCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkTWd1OarDCcXpiigWEIf9nmP960/fZnIApklFfypeA=; b=EfA+YTv6GVOvvYNsllEXDfhJhgNsvlivteeQzbrNpjs01Ld+Y3vrJiswfnyyTQnBodukj/ rP8MZNY/R5XMb/4slpkrmWhkLRxQlZEva98aK4Ul7n5alx+/TKEGJBL6xzWVMbac6HuXwl hswVDVHHIORhQr6EOqlNvGRvcp4oBPAK5Po1B2zYjbdnXWeDEffNXPCgGNRNsfZSq5W1lX aah0RGWiSwpPwfYwIfFJK0iYYxYfNCE5piAWHztSZ8Mulnn/qy4+cuha8x/GehgCMa69r0 B73z2y9I1UAOS+envaDcr7kktje7iUxWEWndE7OYmEaVQdSt5UzG2Sax+459RQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807650; a=rsa-sha256; cv=none; b=nrRCBF6cJqeEthXad517nVAg199mBzg9bddpvpFBfVJmODTxMNr7w1efQH47QWRY5ij4ko 1Uuge0PTBkasyQpQt1SU2J/YjoGjly2mClCAIpL+i6aSpO/2yxJV4veYmiVaHoDFfGxhVx lc9xH73Hf+EFbs5ju+EM0vn0j8KJPgU2mmHH8eedU5eCZcACcSyl9OGclY07wscrwJexCD IoVhtidwrN3GpCDxGrAx6ohCqOuZwPSa19Pth/sPHQVW+98eNsTeKhN8+H2g86iMfXiIDZ R/k1OVb8kKHr1O6BGu/4d83vZqpfGLOEW6wzcl4R2z+Bh9seVijD+PSYDBHxFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNK0zzjzdWg; Sun, 01 Jun 2025 19:54: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 551Js9TT046326; Sun, 1 Jun 2025 19:54:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js9Qt046323; Sun, 1 Jun 2025 19:54:09 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:09 GMT Message-Id: <202506011954.551Js9Qt046323@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: 5ea5220d1788 - stable/14 - du: Fix threshold on non-directory files 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: 5ea5220d17881015df67e4f182e337bd269b9f34 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea5220d17881015df67e4f182e337bd269b9f34 commit 5ea5220d17881015df67e4f182e337bd269b9f34 Author: Michal Scigocki AuthorDate: 2025-04-07 11:14:44 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 du: Fix threshold on non-directory files PR: 265200 Reviewed by: markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1648 (cherry picked from commit 0ae2b9e866d3aea1e9141841488561f12603f879) --- usr.bin/du/du.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.bin/du/du.c b/usr.bin/du/du.c index ead3e952ce0f..90b95b3d86e9 100644 --- a/usr.bin/du/du.c +++ b/usr.bin/du/du.c @@ -320,7 +320,9 @@ main(int argc, char *argv[]) howmany(p->fts_statp->st_size, cblocksize) : howmany(p->fts_statp->st_blocks, cblocksize); - if (aflag || p->fts_level == 0) { + if ((aflag || p->fts_level == 0) && threshold <= + threshold_sign * howmany(curblocks * cblocksize, + blocksize)) { if (hflag > 0) { prthumanval(curblocks); (void)printf("\t%s\n", p->fts_path); From nobody Sun Jun 1 19:54:11 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b9SNN0C7Nz5y5tp; Sun, 01 Jun 2025 19:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNM3NfNz3t35; Sun, 01 Jun 2025 19:54:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pxoiQIRgm9ypOwYqfhRXy3QNVtILaL2rruxfNvUjIkU=; b=gsEwbhbEebtaLfN7SIwPjBfRy3DnBLaCaPLD0tb5u5MXywSvd3syaw582pjSXDwK7fPtTt xy2TP5s2anNhAeUJEdL0KzLoXcZWQNYORWtRoCgdYEO1Pqtwh90d2PIS6mLbf+RK3BZ1vK oocqIpy6HSU0qB6Vbsjx0l4JjPVx4pCg+8hWv4dDwhnzskYlV+G/vkVAuo1t1pOmJc1deM RpLszyuxDWI4g2dB0gdJBXVYb3fia6OPhExLzVmyw864zBIZcOq+y9HWSN6QN9V8mYjEuB yTkyh0V9RCvesp5PQq5dyvN/4aRpHhv97TBzGQ+6u1EA8sYj62GuKLWe89vN0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pxoiQIRgm9ypOwYqfhRXy3QNVtILaL2rruxfNvUjIkU=; b=tcgkCZKc/kbVZgcAsY7uOFZGuhKegOarwq0wUnhXVumv2S4GFr22I8LvDOiunfKjqeFe03 wkPYy3KVjyTYffcR5+oLDzZwad3ubHJxSQuUrJs6plQYyZC7NZHfGSLOeQUeVcwGGTYUE1 lcqnRybB6OgTJZaN83/rK28Q7PkSm+YdG+S2rLZi0btZTqRdXxzJl6rdL25erZ1fqrp9+A gTvzlcvC1Jhxq09ZTr9LN0Ogk1KQg4Q6NXT8YqcREuW4i4mAtQ8BlbkghSKuU2M+r+yWED QFlzfDPYeo8Cozv2ARdXYyO+Ov/84bHzgZxN5QxVumXAXbd3Yke9/D6Awp/PBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807651; a=rsa-sha256; cv=none; b=p8oi6PVaafo7lrObCTRm0fc4we+VaPYcUGgRdZEj2/nZK59/OoN5nKQeAoeSaTR85h5ujc a7V8DJWvAKe7w9ufO+sAwwQTSb3nY/iKNnjKABkgtM7E1XbRV72MMLsWmqeA8CLNlZDscE yshXmUF1b54Ja511Qfa+tcuoEZ/JXh8iYQCUROrEJ0K9nDIwIwgAksXdU30JCOulJUC8t4 xrf5tC5DTt+Mp5WJoMQsrWyEwusuAwqCMDs2Sw/WxwAnhbDj8yIJ+46wiaSKpsOgsVweMH NtzxxFit0z4WWLmI1Vj45nerWY/s2sRz3w8viLaIUXTJ8QL39KZVAmbexmwYng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNM2d3jzf0L; Sun, 01 Jun 2025 19:54: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 551JsB5m046390; Sun, 1 Jun 2025 19:54:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551JsBMo046387; Sun, 1 Jun 2025 19:54:11 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:11 GMT Message-Id: <202506011954.551JsBMo046387@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: cbcfc2b37d48 - stable/14 - conf: Make sanitizer configs include the debug config 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: cbcfc2b37d481121510f65ad6cf79d938e0ee9c5 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cbcfc2b37d481121510f65ad6cf79d938e0ee9c5 commit cbcfc2b37d481121510f65ad6cf79d938e0ee9c5 Author: Mark Johnston AuthorDate: 2025-05-28 19:54:40 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 conf: Make sanitizer configs include the debug config This is a direct commit to stable/14. --- sys/amd64/conf/GENERIC-KASAN | 2 +- sys/amd64/conf/GENERIC-KCSAN | 2 +- sys/amd64/conf/GENERIC-KMSAN | 2 +- sys/arm64/conf/GENERIC-KASAN | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/amd64/conf/GENERIC-KASAN b/sys/amd64/conf/GENERIC-KASAN index 5aa2d50d3cca..855f2e29f119 100644 --- a/sys/amd64/conf/GENERIC-KASAN +++ b/sys/amd64/conf/GENERIC-KASAN @@ -1,5 +1,5 @@ -include GENERIC +include GENERIC-DEBUG ident GENERIC-KASAN diff --git a/sys/amd64/conf/GENERIC-KCSAN b/sys/amd64/conf/GENERIC-KCSAN index a0970f2a46a4..135f705c0c93 100644 --- a/sys/amd64/conf/GENERIC-KCSAN +++ b/sys/amd64/conf/GENERIC-KCSAN @@ -25,7 +25,7 @@ # in NOTES. # -include GENERIC +include GENERIC-DEBUG ident GENERIC-KCSAN diff --git a/sys/amd64/conf/GENERIC-KMSAN b/sys/amd64/conf/GENERIC-KMSAN index e147d8b8168b..c84241e9d50b 100644 --- a/sys/amd64/conf/GENERIC-KMSAN +++ b/sys/amd64/conf/GENERIC-KMSAN @@ -1,5 +1,5 @@ -include GENERIC +include GENERIC-DEBUG ident GENERIC-KMSAN diff --git a/sys/arm64/conf/GENERIC-KASAN b/sys/arm64/conf/GENERIC-KASAN index 232e8cb27fcd..baaf62098e95 100644 --- a/sys/arm64/conf/GENERIC-KASAN +++ b/sys/arm64/conf/GENERIC-KASAN @@ -1,4 +1,4 @@ -include GENERIC +include GENERIC-DEBUG ident GENERIC-KASAN