From nobody Mon Dec 30 19:20:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMQtg2Nv3z5hdJ7; Mon, 30 Dec 2024 19:20: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 4YMQtg1xPyz471t; Mon, 30 Dec 2024 19:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735586459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T527QbRPlgTESnqGavE+WZgCtkflQ6tf7r1dXqhFu98=; b=v/e1yVIMi76EIh5Tcb/OXmUSpHgNNZ/QgnO6x2egrpdGHryCPiCruey/xqXhpp9dHSt7ns UFLm/eMoLgAifnnpJDnl+9ibXBDdcrWa8NlbUNSOtLEH+PyTbu0p4qKt/BWqmx8kWNlgEy bua4fwWRxK2By3K+zsKkO9Sw1iXQ6J/mSdH0/jUEZRn1hO3MEbgWHnwBqtEkjPBbuhPQ0h 4xFdBuPq+KGOdMt/Y+QxwxNPxrfqzcAkYPEJbzLcCjuJNEl7XdsEBlC/ue8BTEkLhM7WQY MSYE9q9JoQsNHJ+GUImo4FNNefbEhq4UhzeYGhHCkhHCXQruqTatIDbfsmNmyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735586459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T527QbRPlgTESnqGavE+WZgCtkflQ6tf7r1dXqhFu98=; b=jeqWHk+68/2hxwGH7oNZIHpaRYF+xE0l8/8XUUjSzIK86ywXQqAlMVUprIrQPNgYOg/bu4 slDUaR6wPfgQer3Ulhpz7ulbgLqH8tLpxdvy5q5uNnCVeuSRbd+mK5wy1655YiM+w1v/aY +6XBRqNHHvHLLOe3qqojfa1BEigs7IroG7cN8JWPRHagYQVIzYIuZgDglOQvRRNuFlo8rm vCus2q8qvMq12+0tZrKpM0ZyOg+wLsAVcRa+ehl8OwH1UevhTluT0VnAH9GDyy2xfKVKPG mqI1236W5S/OSQVvptsd+hIJwRoB7AaIFyBtMI9NMG614jc+AMusHiFK3Avvbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735586459; a=rsa-sha256; cv=none; b=Hz1kKTJcDp0NWA5aBzGfQDi2s+4vepl26JliSitpjJEvAO5afZTEIJIWoNuoWOi2sqH3Nu x/8Vn2aiHvsoQarRbF/hJQxUHgz4cML5UK2hPhFwXXZZvyD9NcJlfJwkRaGGfO05hPk5lX 9iYV9yIjkyq0ejGikcRoTflse3WzS2a4o80EGvym34Cb/Efqys9rDvZauXsyrd0B+kbptv oa+rlioWq7a66oG+hIUmdFd4l1uEMEl6mVri0dtcwhAGDSG6+1GqnAxKFK7Er19TnY3aki tSPi7+MEyjzSEVNaMXf99a8aSHz0xwP/kJfw5ZGJhs35DmfIriGR57eO6mvlhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMQtg1Y1Bz16Hp; Mon, 30 Dec 2024 19:20:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BUJKxE1063684; Mon, 30 Dec 2024 19:20:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BUJKxAV063681; Mon, 30 Dec 2024 19:20:59 GMT (envelope-from git) Date: Mon, 30 Dec 2024 19:20:59 GMT Message-Id: <202412301920.4BUJKxAV063681@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: 7d6ae5874ede - stable/14 - bsdinstall zfsboot: Add an option to edit the ZFS pool creation options 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d6ae5874ede58771d8979049bf742086658cf82 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7d6ae5874ede58771d8979049bf742086658cf82 commit 7d6ae5874ede58771d8979049bf742086658cf82 Author: Craig Leres AuthorDate: 2024-12-26 14:42:11 +0000 Commit: Dimitry Andric CommitDate: 2024-12-30 19:20:13 +0000 bsdinstall zfsboot: Add an option to edit the ZFS pool creation options This allows the default options (-O compress=lz4 -O atime=off) to be overridden, before the ZFS boot pool is created. For example, to set the compression algorithm to something different. Reviewed by: jhb, dim MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47478 (cherry picked from commit ca7e12f7df222458ec5cac8009c5b0931fb4a95b) --- usr.sbin/bsdinstall/scripts/zfsboot | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index e7fd59d5c8b3..93d9490f972a 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -324,6 +324,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_zfs_options_name="ZFS Pool Options" +msg_zfs_options_name_help="Customize ZFS options for the zpool to be created" ############################################################ FUNCTIONS @@ -374,6 +377,8 @@ dialog_menu_main() '$msg_swap_mirror_help' 'W $msg_swap_encrypt' '$swapgeli' '$msg_swap_encrypt_help' + 'O $msg_zfs_options_name' '$ZFSBOOT_POOL_CREATE_OPTIONS' + '$msg_zfs_options_name_help' " # END-QUOTE local defaultitem= # Calculated below local hline="$hline_alnum_arrows_punc_tab_enter" @@ -1853,6 +1858,13 @@ while :; do ZFSBOOT_SWAP_ENCRYPTION=1 fi ;; + ?" $msg_zfs_options_name") + # Prompt the user to input/change the pool options + f_dialog_input input \ + "$msg_please_enter_options_for_your_zpool" \ + "$ZFSBOOT_POOL_CREATE_OPTIONS" && + ZFSBOOT_POOL_CREATE_OPTIONS="$input" + ;; esac done From nobody Mon Dec 30 19:21:19 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMQv31x6sz5hdP1; Mon, 30 Dec 2024 19:21: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 4YMQv31TyNz473S; Mon, 30 Dec 2024 19:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735586479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7rirQUJNbxmKQhK69J/QCOizbjCZhN3JoQnveZvMKfQ=; b=KRbrdAw9ej8JaTULeJB7/9JbJyGdc25EpbNbIJYvkARMm6yZlZAbFb7eE5PBHLXl7Vx1R+ 8yZFpW1eISPM0q5DIJXr4zeLvLfgiCq48JfmQKF13+aCiBM85WmMu10kD8nNPg2IRoza6v 6atW1BatwpzjfIZ/ZLSK4A6RGd8L2Op2JUfkmkEw7TKigbRiOxmg+JGRikQ94iH/Qhdtol qUTz1NbOo9YwBLGKwQamwBDWtFInPCPI6hJNacEdSJL4BUEcIkP6GuZuxYCMEGE5dgmzKT twogMYcedpCX4et3ANMAsA4JfcStHkhYHPo7raX/ZUKS6zN+YpeZym6Wutfymg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735586479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7rirQUJNbxmKQhK69J/QCOizbjCZhN3JoQnveZvMKfQ=; b=tRVaWjgRYqKylk0PLY7uCceIDjf0HwRGEgxUpG025xkPmZ7BQv6mBRe/eHt1MiTWS1Oghs h1OMGEZhjXBWzskKs4ney3AZUXNy2dNIsz2vexihy/HO080rUij9sHSsdxrUN01tmlsJQ1 G96lZb+mOJjKY2EtETFVKnXgDHkBA4h2hz2qwnspzM7sbHF1K5/1pk0kV1IFpd3Wv9qHHZ GDc2C0+0RKAcFp8f4x75ptD0cSNC92AVltgg14ljd2wqIXbmp/AWfULnh6xnjm9DmquUXN SyTXgtVT/+U6RJ/cEOI0WbISYizCM1K/OV/E+m9rvB6kMwHaUbPfHmdPDRtmkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735586479; a=rsa-sha256; cv=none; b=ksBlAKKXh3bLjAC0TuIjvP0kGTf58coJQZsysqyW9JVkSM/xbqi6U7hA/32Y9FHll8rSvb 2ReBoj++kI40L3/2lE7XoDp5Vy6BX8IWWPcpnmI5zlnn8khuhyuQM+/n/CdM7qgyNaGpyV 7w9R49/UeK34+Nj4SvWO6e05HeYv7TBHIlVHpSLpaDrFrjFwdXs9gGQ9FmMb8a9vzjx9Uj ZaFU3KYQaDJxHwz1YKRPOn3e34DD6M+KK35LTcb+Ckt0Pr5F4zN3T4N5viXQjsMXxmBYTq bp3TYAi8Qjmi/sOD0Va8ZQwu655pWUfk2mFjVTGDA3SaVi3OLHxy1SkQgPxvNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMQv315BTz16V5; Mon, 30 Dec 2024 19:21: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 4BUJLJGK064860; Mon, 30 Dec 2024 19:21:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BUJLJxr064857; Mon, 30 Dec 2024 19:21:19 GMT (envelope-from git) Date: Mon, 30 Dec 2024 19:21:19 GMT Message-Id: <202412301921.4BUJLJxr064857@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: 6258b5bf0670 - stable/13 - bsdinstall zfsboot: Add an option to edit the ZFS pool creation options 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6258b5bf0670ba0c280ae1e387fcb0f3ba9f3e32 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6258b5bf0670ba0c280ae1e387fcb0f3ba9f3e32 commit 6258b5bf0670ba0c280ae1e387fcb0f3ba9f3e32 Author: Craig Leres AuthorDate: 2024-12-26 14:42:11 +0000 Commit: Dimitry Andric CommitDate: 2024-12-30 19:20:17 +0000 bsdinstall zfsboot: Add an option to edit the ZFS pool creation options This allows the default options (-O compress=lz4 -O atime=off) to be overridden, before the ZFS boot pool is created. For example, to set the compression algorithm to something different. Reviewed by: jhb, dim MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47478 (cherry picked from commit ca7e12f7df222458ec5cac8009c5b0931fb4a95b) --- usr.sbin/bsdinstall/scripts/zfsboot | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index bd7db75dc5e5..117782763267 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -318,6 +318,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_zfs_options_name="ZFS Pool Options" +msg_zfs_options_name_help="Customize ZFS options for the zpool to be created" ############################################################ FUNCTIONS @@ -368,6 +371,8 @@ dialog_menu_main() '$msg_swap_mirror_help' 'W $msg_swap_encrypt' '$swapgeli' '$msg_swap_encrypt_help' + 'O $msg_zfs_options_name' '$ZFSBOOT_POOL_CREATE_OPTIONS' + '$msg_zfs_options_name_help' " # END-QUOTE local defaultitem= # Calculated below local hline="$hline_alnum_arrows_punc_tab_enter" @@ -1805,6 +1810,13 @@ while :; do ZFSBOOT_SWAP_ENCRYPTION=1 fi ;; + ?" $msg_zfs_options_name") + # Prompt the user to input/change the pool options + f_dialog_input input \ + "$msg_please_enter_options_for_your_zpool" \ + "$ZFSBOOT_POOL_CREATE_OPTIONS" && + ZFSBOOT_POOL_CREATE_OPTIONS="$input" + ;; esac done From nobody Mon Dec 30 20:45:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMSlf4WFkz5j04j; Mon, 30 Dec 2024 20:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMSlf3SX8z4J6v; Mon, 30 Dec 2024 20:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735591502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BVQ/b/3ukhi4im9Fq1Vorb/rvCu4HeZRRZ29D+lVjXA=; b=Loadf9Wc066Ft2X+LR/zS9YBNgUqU+usu9wvq3kXhIp/DZuaT4CL9wuropQF+yHgyxpFat kWQYzXbuB/bDjvvKnbkaPC6D9l7DT4+57B14sN4tcYFbU+oy2un0KmgFXm3eRh8pqXMHu+ Y8t0UIx9OrFN+CcwDbo2wUwK3CZbrFwkyF+IAFjF7nWxBZanPiRtkhqGfH0tLyfoHo/tsM poix47iWHdBseXbn9u/U9wwr62ouk+/wKc9/9GllU+QyN5obNmrCWjOLaKbfhmxZLDVJyR ph8plb66nFE3p5h9M0VBZjhEW6Ws3q6ZkmZKrljJTFarEWNRF8zCf2txq5RGcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735591502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BVQ/b/3ukhi4im9Fq1Vorb/rvCu4HeZRRZ29D+lVjXA=; b=pRfcMrkqrGTDy0jnuZlYA6sPN4oHeK6qUXdl9BZT3q0YOnLERoiiOM/47Ei+RrTcYb3Pwg uOl4AIZUs3WyoUK298aOoU8WPDBkEqfOVecYYfhE2SZMpuYk9jLavb/DCujbsEIIaTzLZ7 8rNjN5YLsWhwDuPBw4B9PV5COsAEq166cKQMC6YQRQmQN4VKi+n8/Y6gWZb96DEJ0XxF2Y k4XQjHw4ceOhH1U7LhgQloklnqWqg6x1HH0eLcU2hxVOMG53qFGhUurzPIOckrURnDfRkG 26+7+d/G6dhYIBGmPQnuBK64+oP88vYrDVOaTeL0WZhyMUUq6JSYTy7BYLO8Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735591502; a=rsa-sha256; cv=none; b=pDrxkTHAb1+m2tlSMMopm68GXXlr91wxL4714Yt6qSwsKlJZCGZlEs0nc582uZBi4kJhYG 3BvM6sm1B0jJgWmKqlzNRj7egLico0bCEPMcEU0IJ0CmQgnMDjTGOEdrcwa/zOlhccoaDw BxydyrDt/09y5+K+wlmbelOZBVaS+tdMiOpfB4Kv5fpJ5c2zhxm35K/KsM663OoNHsw1B1 TaRUlcU9nQAgSR9QdPhIpcMo2snb0+hODu1cGtt5s1y1+083BxLLqnjWDPE/PU9BL9Jiek rrc7O0+s4Tx8vEZyK0HioWKhn/ABxXdvyeICaQKi4W9QoXFMMiieXLFOyiy3Hg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMSlf34wNz18MS; Mon, 30 Dec 2024 20:45: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 4BUKj2Tt020438; Mon, 30 Dec 2024 20:45:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BUKj2ab020435; Mon, 30 Dec 2024 20:45:02 GMT (envelope-from git) Date: Mon, 30 Dec 2024 20:45:02 GMT Message-Id: <202412302045.4BUKj2ab020435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: e2bb5f213a72 - stable/13 - pf: fix double free in pf_state_key_attach() 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e2bb5f213a724fd163be4262eb925def0fa8f9fc Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e2bb5f213a724fd163be4262eb925def0fa8f9fc commit e2bb5f213a724fd163be4262eb925def0fa8f9fc Author: Kristof Provost AuthorDate: 2024-12-11 22:27:21 +0000 Commit: Kristof Provost CommitDate: 2024-12-30 20:42:33 +0000 pf: fix double free in pf_state_key_attach() In 371bd29d4b we fixed a state key leak, but unintentionally introduced a double free. We pass through the relevant code twice, first for PF_SK_WIRE, then for PF_SK_STACK. If we fail to attach on the second pass we have a more complex cleanup job, handled by pf_detach_state(). We must only free the state keys manually on the first pass, on the second one pf_detach_state() takes care of everything. Tested by: yds Fixes: 371bd29d4b22257a7e92e1e711cca3d94cfbd00d MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 01eb1261443dddcb50a3a278f1278fffdfb0d36e) --- sys/netpfil/pf/pf.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 2ebfd08b362a..e5cd0b83ac0c 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1302,11 +1302,13 @@ keyattach: s->timeout = PFTM_UNLINKED; PF_HASHROW_UNLOCK(ih); KEYS_UNLOCK(); - uma_zfree(V_pf_state_key_z, skw); - if (skw != sks) - uma_zfree(V_pf_state_key_z, sks); - if (idx == PF_SK_STACK) + if (idx == PF_SK_WIRE) { + uma_zfree(V_pf_state_key_z, skw); + if (skw != sks) + uma_zfree(V_pf_state_key_z, sks); + } else { pf_detach_state(s); + } return (EEXIST); /* collision! */ } } From nobody Mon Dec 30 20:45:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMSlj0xWBz5j0VJ; Mon, 30 Dec 2024 20:45: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 4YMSlh6kKZz4J12; Mon, 30 Dec 2024 20:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735591504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/KzM2XCRZlp6/zh2UTPZfbTJz+naX66Zk8KE54EZbQs=; b=Lwstmzj24TL8E238FT5nT2Ph1dGuah8TzrtU4cwBzFKBS1s5cy1D3Hbacl88Dj2LUtTet1 3Z7GeR0tp6gg+40rA3tQTq5VBSIKHjtAwW63bnH2czaAFnI6pXr7P5kW+/LFLAfbw8FEWl j5rHtMWSF2v+MqBbikE9OpcJ62eGxF8P3KWpTOzESuhvmOgBtBkETx4mJI/SZsqBN0p2qP OZekH6GRTjfVJaGvBT3zo3KeiR9sWyh4inneZWCbcohLfK4VaV+T3/ZUoag+wJ+MFBDfMC 57Subfqwgu2QP0HWbSgO85nDDJSELPQqqg8QKMaQKyLZDKy8Hvv1RXAKj1pO9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735591504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/KzM2XCRZlp6/zh2UTPZfbTJz+naX66Zk8KE54EZbQs=; b=u7PRJuXUVuTv5BjDfGjlBdYUsXK0bT0d3I7EZUR+kQVAsLeedJo8bycynFsHBJzqHCj0L6 6HelKNRWzjfGn7Q0kFHFZf7IPuArsupEobuSqiLTchypmzlrcNx3ivD6YLh4BG/PH+kFnz 9VDJvq75ZXbKKDJoXar3wbDQG9gQNGUqG0/VgVIVbHzBLAHiXz5K94w1SMKANqO3DYHy4e +vqrWf0Ph7jst+9ixEAhxD0nDQLFCwlKPyye0pBvkc3RYoH7aXK5RRZmQ4IN0MZKntqbuM 8JliwhHNQ/RG7BWdF/KjE4U4k+q57BU/dXybmbx8c6gzybEf+2m3CD5Vse1Wyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735591504; a=rsa-sha256; cv=none; b=chWpgljZP6s6yv2VgE+1+HKfJjs3JSVvU/BHYQKeL0VxJmZ0ydxZSpJGojBhNKmtQWYppn QcBHAzLgD19+u6yYPIyouy2iS8mWdO/bUlMo4vUcpkWYv76Odd4n5Q5bOnDl4/6XCm+piu J32UaZRAWZTJxQ4bNUlMYx2Av1/XVqpG2Frl5tZgQcFZY6tJJjTq4Qoya/pn6VgdK4X5al 2rFOBQQKUGFmMHti/mHhvNIxl2LL8XVMEwR0yM3oS3lGJX4//FqtvmxYR8AWnqdr4SNyMA voQ2qBgYlhmUjw2lYrrle0cq/Sf//qMGbgvRLbIDVP5fDS+U6AMkIZAoLYt3lA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMSlh6HtQz18dd; Mon, 30 Dec 2024 20:45: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 4BUKj4gI020608; Mon, 30 Dec 2024 20:45:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BUKj4YS020605; Mon, 30 Dec 2024 20:45:04 GMT (envelope-from git) Date: Mon, 30 Dec 2024 20:45:04 GMT Message-Id: <202412302045.4BUKj4YS020605@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: e0a1a2e47fbf - stable/14 - if_ovpn: improve reconnect handling 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e0a1a2e47fbf1df75e054acced189819eaf7c4e7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e0a1a2e47fbf1df75e054acced189819eaf7c4e7 commit e0a1a2e47fbf1df75e054acced189819eaf7c4e7 Author: Kristof Provost AuthorDate: 2024-12-18 16:10:29 +0000 Commit: Kristof Provost CommitDate: 2024-12-30 20:42:57 +0000 if_ovpn: improve reconnect handling When a DCO client reconnects (e.g. on server restart) OpenVPN may create a new socket rather than reusing the existing one. This used to be rejected because we expect all peers to use the same socket. However, if there are no peers it's safe to release the previous socket and install the tunnel function on the new one. See also: https://redmine.pfsense.org/issues/15928 MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 3624de5394991c0cacd42d5a3b33e35c1a002e09) --- sys/net/if_ovpn.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index be75eff74d34..de7920981027 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -628,8 +628,20 @@ ovpn_new_peer(struct ifnet *ifp, const nvlist_t *nvl) } /* Must be the same socket as for other peers on this interface. */ - if (sc->so != NULL && so != sc->so) - goto error_locked; + if (sc->so != NULL && so != sc->so) { + if (! RB_EMPTY(&sc->peers)) { + ret = EBUSY; + goto error_locked; + } + + /* + * If we have no peers we can safely release the socket and accept + * a new one. + */ + ret = udp_set_kernel_tunneling(sc->so, NULL, NULL, NULL); + sorele(sc->so); + sc->so = NULL; + } if (sc->so == NULL) sc->so = so; From nobody Mon Dec 30 22:20:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMVsW40Knz5j5vH; Mon, 30 Dec 2024 22:20:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMVsW3Nfkz4QsD; Mon, 30 Dec 2024 22:20:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735597215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HqJwsr4A7Lr7n3Y4HLOGTmWP7wXIlTtck50RuUfAc48=; b=qlt5u+80Zm+f4i+x38ds/R8U9a076Fv9TFnHkp6av5sfsEVtke4iRwHAfL4KYgyFImeRHN WJ2OZpmTVU0e8h2ed+HOn64rUjAUYCfQ/MsquQZfeqFQkAMbUTcjRHE+YGPk9YbfwhQW7w UZe3BUMyIQF+ENWMr/cpGAs21gjvpLMu8gkXIK3Zs6iuIbyNM4gFagYDZQtvSD9Y+3oF7Y Zp8ucjNV2M94bAuFoRP+ClrTGQZUNFHUsyDedk0JNW8F7ykZVt5m6JE+NlYpQMjrO1oTEW I5kwTXjjzF2PMr2SnrZBRqtkBuymKuWBfgC1dQHFgNSpvgO8SXlur2QnHHbpEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735597215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HqJwsr4A7Lr7n3Y4HLOGTmWP7wXIlTtck50RuUfAc48=; b=pd9uXEZIckiagB/gYM1f2j86IRV3qO9T5PSetDj2b1pNNdP6yplrhunWnvE6Uni6b1jqUD 8lCcZ8sPFLNGK6BMQJm3VTqGOgwsPoS/qJRXxPTeqpecK0ZtjdnchjYS3RJPhFzJ6/jocD fZB9a1soCcqlgMu7x6a3sw3+zIE0Esd2cV96AwWWIVdxNVF+w5lEeTZ8wXb1jOL0ocVjPE REIFA816zp7gw52s7BFjVFxFhSeZJ386eH3lJzPtswPv7nKopK2oRnEhzZPRw/6c8o2qL7 NFaE8nnD7bYPvh4Ir8QG2SFg7tHVHbigqzZp/7SZgP9iSYDMIEFbjWZUBvVutw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735597215; a=rsa-sha256; cv=none; b=HAaEN5lWqQ0kurio25k7QN5mjDj9hWrqMtImlWBEyyESGcfSfWuQXV49k2zr9uIb9gwDaj GEqdL/WbOy1rLOgyTyc+T6AueUuJ2xBH/bFuWCpwmPmbJvaS9yuTq8eGZasx9zX9RRpM7x wxmcEyYaLNeBzvnI+XBjX5N5j0Uhw8+/wiIjHXO8q42EwE9aYJMZFaBhekw4ZqU6X6zMg0 rj7WH0gday7ExXcZmw6EVH7VgNVTsNXM4u2OBdpw1W4cuWYpfccMlVqBgh7QmQGgzVBZuq uOHPn0hyjntYVhld4xfgSKbA5fExj9KTrQH2/7FsS2biIOQuMK+kqacXDOwioA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMVsW2sjxz1C5p; Mon, 30 Dec 2024 22:20:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BUMKF7K096511; Mon, 30 Dec 2024 22:20:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BUMKFCK096502; Mon, 30 Dec 2024 22:20:15 GMT (envelope-from git) Date: Mon, 30 Dec 2024 22:20:15 GMT Message-Id: <202412302220.4BUMKFCK096502@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: afb7a85e52c3 - stable/14 - makefs: Exit with error if writing cd image fails 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: afb7a85e52c323aca544f0d235b67123bf87d342 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=afb7a85e52c323aca544f0d235b67123bf87d342 commit afb7a85e52c323aca544f0d235b67123bf87d342 Author: Ed Maste AuthorDate: 2024-12-23 15:54:32 +0000 Commit: Ed Maste CommitDate: 2024-12-30 22:20:04 +0000 makefs: Exit with error if writing cd image fails Obtained from: OpenBSD c8f48d9b1ea9 Sponsored by: The FreeBSD Foundation (cherry picked from commit b45f84cc6213854ead00a4bfc7973332eda65676) --- usr.sbin/makefs/cd9660.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index 7ce9a3b6cbb2..bb3a86b7c8b5 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -465,7 +465,7 @@ cd9660_makefs(const char *image, const char *dir, fsnode *root, fsinfo_t *fsopts) { int64_t startoffset; - int numDirectories; + int ret, numDirectories; uint64_t pathTableSectors; int64_t firstAvailableSector; int64_t totalSpace; @@ -611,7 +611,7 @@ cd9660_makefs(const char *image, const char *dir, fsnode *root, if (diskStructure->include_padding_areas) diskStructure->totalSectors += 150; - cd9660_write_image(diskStructure, image); + ret = cd9660_write_image(diskStructure, image); if (diskStructure->verbose_level > 1) { debug_print_volume_descriptor_information(diskStructure); @@ -623,7 +623,10 @@ cd9660_makefs(const char *image, const char *dir, fsnode *root, cd9660_free_structure(real_root); if (diskStructure->verbose_level > 0) - printf("%s: done\n", __func__); + printf("%s: done ret = %d\n", __func__, ret); + + if (ret == 0) /* cd9660_write_image() failed */ + exit(1); } /* Generic function pointer - implement later */ From nobody Tue Dec 31 09:33:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMnpG0ZQYz5j9jN; Tue, 31 Dec 2024 09:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMnpF53MKz4QLp; Tue, 31 Dec 2024 09:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ALehHcJI2H1n4ytYea8Z9TA9cPfqWgDE4W+TvdMva8=; b=oEnqltrxTHMvTDkxEVTzNPHb29wbLIR7IWDwIDc6gRP9Zr5F4s7hKEeu8jGr21S1261Hff +sWXGW7IZpUgBeIaMgrkHOCJnO0tUJMZ5mv+2XguEmW+dBziWPQammBJRHb+7y/4a46HZD M8AWbGxloL+GGdA5xOr897QOzG5+NLflKEqn3iyEm1z8AyDxbTB9SfU8CF1jYMjKYZOsfd ZOtg+JTy1HAk8DmpWCteHSfyXjHAnng/BOdpcDjjDB2ICWn6YeByd+vZtNlV2hxuczvk4+ Y/Smuv0Gi7GFnAXVd/Q8oILybwjTYSzUyb6fQtDZBZC93VJHv1o72vEjIwgH8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ALehHcJI2H1n4ytYea8Z9TA9cPfqWgDE4W+TvdMva8=; b=CiWgvEzsMPD2N2LznVlMBqbATNhA5uFah7df9x07vAktl+YsJk7M2O5qzl2zejv8J+p9rx 66wdvMoA/dGGTcLxskEK1IYG944mmucCQz0R7AepYdKMKnCuo8Gn016tSVjRe8b9J9VZ6s yBrCbZf0dEk5bYyq8EPHtexfPQEhi0HnNyq4C9WjzcT4DFyXpWxM2xdjEsc+RO7ICriQHw URfza0q95207Jf+7+q2PAOx0m2DJ11zoVuxieuBJZuAhhQGukPfhEfpG8jK74ntkSSoQAH 7VgZ/aNnZ2F2YoTujIBeX9CGJk2rwN+pjnLhQRhmsUAtVMqT3N5tULWsaNy/xQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735637605; a=rsa-sha256; cv=none; b=fgpf7NQ/UFUQU98KNtdLjii6Mc6GtMg3phAO3gvXcJdwWJFprl7QeKWSnZEjBSQKhzRB7A Z6BbRPg/ub9R3imwH6/sUJm0AbslXFkey3JmfCjONXz+ch9JrlEcftBnHl+GHf373rXKaR Bwap3iLd/gHj6nDnBxy074G1n3AlyA5HRcc2d2kV05854C0+QruLtCr3ORh8xLTHfN6gYp AeLGdCPMpOXcxoLsFaMyxOMRDIWyaXnbzotrF/1F70zMo9FA9ms4uLp8QUUgALFbtFJ0Ht TUrfCfSLdoiZhF1hxAio+//V0RmKSZ8Jh2wVQ4Sv+ZGIz1syVG0x1u8V1zKbXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMnpF3YgBzZdm; Tue, 31 Dec 2024 09:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BV9XPH7057175; Tue, 31 Dec 2024 09:33:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BV9XPo1057172; Tue, 31 Dec 2024 09:33:25 GMT (envelope-from git) Date: Tue, 31 Dec 2024 09:33:25 GMT Message-Id: <202412310933.4BV9XPo1057172@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 07afd8991219 - stable/14 - arm/qualcomm: 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 07afd89912193fb819c56fb68ff96bc24f6fb93c Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=07afd89912193fb819c56fb68ff96bc24f6fb93c commit 07afd89912193fb819c56fb68ff96bc24f6fb93c Author: Gordon Bergling AuthorDate: 2024-12-28 06:37:41 +0000 Commit: Gordon Bergling CommitDate: 2024-12-31 09:32:06 +0000 arm/qualcomm: Fix a typo in a source code comment - s/unneccessary/unnecessary/ (cherry picked from commit fad3e1fbc8a4b7bf4189c93e877bdb68aa26f611) --- sys/arm/qualcomm/ipq4018_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/qualcomm/ipq4018_machdep.c b/sys/arm/qualcomm/ipq4018_machdep.c index 6734383d5b42..ae469fa772c9 100644 --- a/sys/arm/qualcomm/ipq4018_machdep.c +++ b/sys/arm/qualcomm/ipq4018_machdep.c @@ -65,7 +65,7 @@ ipq4018_late_init(platform_t plat) * XXX FIXME This is needed because we're not parsing * the fdt reserved memory regions in a consistent way * between arm/arm64. Once the reserved region parsing - * is fixed up this will become unneccessary. + * is fixed up this will become unnecessary. * * These cover the SRAM/TZ regions that are not fully * accessible from the OS. They're in the ipq4018.dtsi From nobody Tue Dec 31 09:33:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMnpG6HsMz5j9jR; Tue, 31 Dec 2024 09:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMnpG5HJ6z4Qp9; Tue, 31 Dec 2024 09:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IoCgVcM2hpvRBq4W06ma3dcXUb9JTJIF/FGtg7xdxJ4=; b=WEAdVlDgAiqm6poHYlTccG1FU2uJldTJfny3AOGfX4vBi/6JPOj9smWs4XGO5n5i5D3n+m 7kaC6YXApzhSIO+1yysiWMhM6UkKK97b5fQVakJXpxmFHRMXmCE3gcG5w1fTVmfrZxN51Z gVK9CK+cr6+pPj1G7eyayfeM/OWX0BPp1SUEuhtxyplgC0cT7L/lQR4wy+C2ca/v9FDl2a DtrUJrGV1330twegMmE2z5LHNBp7eQG4cAeD1F7d2C49JuonlAuGp5wVAmUHRcp3RTATaF UcQWuOcFZB6pXcMCuUljtmawmTuN9tyzMWWTIg8NxFQCytlqAN1KpRZ3Rt2J8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IoCgVcM2hpvRBq4W06ma3dcXUb9JTJIF/FGtg7xdxJ4=; b=G1PuJPNl6zLyCCTEe8B4eiqLS2YEt3/YkPYyuEgxgn+LBDGf/El5j0+LL94g8RexJG2KRy Ao7B+qdmb9qe6tymSlolS7xKsDlQmlsB6oNazifcaXjpv5A08bRQi6sCxTIG506Ek9/vdF gZYpQ3syzFK+TUwVRhPYGLipTMLbdoQxCs88/Crhg1E1UxwZPdMsn0Z531ymkR/3TeC0ym MKO2NO6k3ZwlRxKc2d3dPaK56BU3AjzaAfzFin5f3T8SE4TpHhPfPhF0jRFYekGFFpbybg EujbB2N4S8dCl/TXPz+GTEdAicI+s8EBpT11aVB9+rLv0k7pJ9iUk2wKegHeVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735637606; a=rsa-sha256; cv=none; b=mv3949AvF6MARNGk+KVhEhLxYZ584v6rVV+6ifQDb8ZL1rVVH4aSgU7It1qTv4p05yvqoA f5lv3tuYdDq6/PK3eb/ae1aypBPC5lgBpsNDVN7Erkz0+oiUMWRhuvZ7jrHnKJzAzYB8HS MvYxDHHFkI1/ITEFPRkOBEkN0xjgKhLbudVUwTXuiD1jN0Ej5TTsK4YIf/ReoxSYPF3kxo +RXyYmBwJXF/hBE66oOp0NLkouQGapHbS27Z1WlQBX+SnUbhuLWphlC5Co+jDP8vK3gptx uMgYQwv5O3eoEFoR8MPHjLNNC06pScvswN2Dqj9JUcrC6z/mMRLTZrQxbCgyuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMnpG4vVXzZcR; Tue, 31 Dec 2024 09:33: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 4BV9XQrt057229; Tue, 31 Dec 2024 09:33:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BV9XQXO057226; Tue, 31 Dec 2024 09:33:26 GMT (envelope-from git) Date: Tue, 31 Dec 2024 09:33:26 GMT Message-Id: <202412310933.4BV9XQXO057226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 13bd8f011116 - stable/14 - kern: 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 13bd8f011116e29311e300321f002af97cc73667 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=13bd8f011116e29311e300321f002af97cc73667 commit 13bd8f011116e29311e300321f002af97cc73667 Author: Gordon Bergling AuthorDate: 2024-12-28 06:39:50 +0000 Commit: Gordon Bergling CommitDate: 2024-12-31 09:32:24 +0000 kern: Fix a typo in a source code comment - s/explicity/explicitly/ (cherry picked from commit 15ce9a0544e9d850fb332b4bae3313ff38584d61) --- sys/kern/sys_process.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index a45d5b065382..a6cc9a36643b 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -367,7 +367,7 @@ proc_rwmem(struct proc *p, struct uio *uio) /* * If we are writing, then we request vm_fault() to create a private * copy of each page. Since these copies will not be writeable by the - * process, we must explicity request that they be dirtied. + * process, we must explicitly request that they be dirtied. */ writing = uio->uio_rw == UIO_WRITE; reqprot = writing ? VM_PROT_COPY | VM_PROT_READ : VM_PROT_READ; From nobody Tue Dec 31 09:33:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMnpJ1cJWz5j9nv; Tue, 31 Dec 2024 09:33:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMnpH6KzMz4QHv; Tue, 31 Dec 2024 09:33:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=si47lPUYMMl428rk3L7XnfRaoXjkGx+PvSU8aLZ8G/E=; b=J9N74BuzI5gOu7gNsy+fTWKFj5rfEuTLRv65VH3TWpp41KFH7at3zyGBYqEwMh9CJH8dUc D1Xuq4cTaCoWm29nE+yA0IWb6A5VpwhVdSZgSnOgTXKG7iwc5hH0YKwyS3fv4LlzP6bSNt TIl01LpxxHtAOtaEmbyUE/hw46lMo88O9ureg5F/Gi47iaUAtMEQbqpCf/3MkCU5VO/DwP 6sJ2VLi0eNA/jXKNx2qZhdv+9AVeDyaZPcAhs7St323QOu4XIHd1A8P+pRZ0gozIt5/+E1 sdh1/lW5qpWRTvD1xkI6tm06TvTp6W9Uh0rHCGeQo8MjBvziEABMm2eYgYhIZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=si47lPUYMMl428rk3L7XnfRaoXjkGx+PvSU8aLZ8G/E=; b=rhZLH/EDzOFn5JxY2L7tQv+iYo68n1iGGX1zFwlgCOsc1/ObYkX0tf0jezhsA5GIaab/Mx 8bcmwe/jAzXJClAbsDAMf09NPfLUsVGvTyou6Tpdi5LfPBVkOaxN6rKkQlrzQsQFoX/O5g nwu9qgfPe/5TaPZnCLJnbArYnUda93/KWvXHq/un3oHQ6O4Sb5LLtHywUTyU9NPpFDWNQs kC8ouNiZyLtSvMJ85+fizX5MLTvqAGuYCZ1GoI0DbckY77NAEg55g3zRZ4l0QX2RgzilOo JFN1TCqX3I9eBg0o4VBOn5EItWIRIiGQLde5zZnFjz3+NPPKHmTU/2KyqjNMUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735637607; a=rsa-sha256; cv=none; b=wHwTzWJuCfJ8IyX+w2dOkGZC/TBYaADKtQDJYgm3eLBUF7zVhpVDxVzRoGW3Yjl27Tz1z/ xWWosGOvIkAp2k9YFbxgFg0c9AAL4fkuke3pFHmWOhS3eLM7jIDva8wcdK+WPh+ArWzkce e8fVeMksGOu8NPY0TrY5K3fo3II237GfFOqhCeNkFAFKLd73xErP8jrKLiU45453oom4IS ci2GlWA1Uli5KJjlR3zkIyDXWg+klhiPQhKEx1f1bJinDbZVRvrNTVlbA167aWUeiq087E ip1X3F5hoyW60f01Ag4NXdisstYUYOFOsWQHgM3ahovMaQ+bryq1FGHjqIq7fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMnpH5yC8zZNl; Tue, 31 Dec 2024 09:33:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BV9XRW3057283; Tue, 31 Dec 2024 09:33:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BV9XRuU057280; Tue, 31 Dec 2024 09:33:27 GMT (envelope-from git) Date: Tue, 31 Dec 2024 09:33:27 GMT Message-Id: <202412310933.4BV9XRuU057280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 9be823d76bd2 - stable/14 - isci(4): 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9be823d76bd2225495bfd73d2c6e9f764f519d91 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=9be823d76bd2225495bfd73d2c6e9f764f519d91 commit 9be823d76bd2225495bfd73d2c6e9f764f519d91 Author: Gordon Bergling AuthorDate: 2024-12-28 06:38:33 +0000 Commit: Gordon Bergling CommitDate: 2024-12-31 09:32:43 +0000 isci(4): Fix a typo in a source code comment - s/kength/length/ (cherry picked from commit 3db51fb1720efdddd6e8c2045397f59a398692d3) --- sys/dev/isci/scil/sati_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/isci/scil/sati_util.c b/sys/dev/isci/scil/sati_util.c index 22c3111fe9ca..300ecbd5367b 100644 --- a/sys/dev/isci/scil/sati_util.c +++ b/sys/dev/isci/scil/sati_util.c @@ -70,7 +70,7 @@ /** * @brief This method will set the data direction, protocol, and transfer - * kength for an ATA non-data command. + * length for an ATA non-data command. * * @pre It is expected that the user will use this method for setting these * values in a non-data ATA command constuct. From nobody Tue Dec 31 09:36:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMnsj50G6z5j9pC; Tue, 31 Dec 2024 09:36: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 4YMnsj4MGgz4RhK; Tue, 31 Dec 2024 09:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s9xJbCH8YAQ1L2ZUsTW25XjDVAaxZmmf/voMPFSB9r0=; b=R1uzD3p9/RJBFjrDRsABhUMpHO/i2BqhHHrNwYof1KeAJGp5rZHgN5PP0GxeDEqvCZQiVu 6H5j/8tM3njwfub80Ma85j67zVL1NaaWRgywpmOcc3w+hwL5dB4zIpntx5Wp/jVgGSF413 Pxnru0pJyohqsh2nCQCCN/KpYMMgoLhMMx+gg2aUQ31kQ4WP/CqAh55gPVeZe2YWV5pHJV Xs128qPrTehMrZbVxtzYNfPp2/MSMFXmq2nKh2tfv98nEcUwzbQIQOCU8F2FEouqpPkwJG 3VkupahK67QedwI0UT1hVzVTVh6fpwm9nHO06ps3GqWdxXghdp1w1SnTJQC9VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s9xJbCH8YAQ1L2ZUsTW25XjDVAaxZmmf/voMPFSB9r0=; b=Ks4viv3IQ+dUUO3uSvnyGGUHPcNcdpg+v/XOCX+fBzitLgBbQRQxpN/kx0a6ox++zlDhMN dwdDMPazqad8StW2CQip/D8uSGQH7bLKnFWL8WUE7OblGavH3jptt2r7brflV3jikfpdNh JXdUTBV3EBgDWdpTSLuFBO6KPzAgZMGRqaPH2p3XKnwzMaPn16ljwfBkRHy0TExuGmNfgr uFRu6EJRhligjpTxYLbM0S+FfeUw9Lwc2gSDS8u6F9uykaPPRo27kORQ1ReM08713fMG9I 17n6Del5DW/Wf2nFJxxlnB+IR1l94RzUGs4bp8jcAxUz5/a9f8JGYecwgTxXMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735637785; a=rsa-sha256; cv=none; b=AlBadaCpik+acUPLuSyI803dyKsu4tZJoxzIB0P8QCb4R/2wzBscB2zcjGR7W+WhpN9Jr2 52P19PE7b6muHpVc0S/kgGcQBRFlgBA669zEd67OnMdkyR8d8xbG5FbXBctNpX7U9/7Upi F7vj/Svk9WhYqBAu2Xwyqf3Z6aL2pG7du9sb+pAsTP9z/zCkqctBFnrp/onepcddIo1bpk 5hcll+JpzFyFs8Pmp7mLXWegZtwWTYOFRk1/MOzt/Cd4duuNnWnZr+DzWQwFyrOB2M2VmR omkDnUJ5/JXNH9pj/2ErEfSC4MOcEr60120mGNoDPeXebrDaCKVpseh8ann+jQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMnsj3yfYzZNm; Tue, 31 Dec 2024 09:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BV9aPFj058324; Tue, 31 Dec 2024 09:36:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BV9aP4J058321; Tue, 31 Dec 2024 09:36:25 GMT (envelope-from git) Date: Tue, 31 Dec 2024 09:36:25 GMT Message-Id: <202412310936.4BV9aP4J058321@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 228b9b37a8df - stable/13 - sound(4): 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 228b9b37a8dfa1e7e965b3913979d12a573e8852 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=228b9b37a8dfa1e7e965b3913979d12a573e8852 commit 228b9b37a8dfa1e7e965b3913979d12a573e8852 Author: Gordon Bergling AuthorDate: 2024-12-28 06:39:21 +0000 Commit: Gordon Bergling CommitDate: 2024-12-31 09:33:58 +0000 sound(4): Fix a typo in a source code comment - s/orginally/originally/ (cherry picked from commit d40330306cd000c7c64dc18a3634ac8e04b33fdd) --- sys/dev/sound/pci/csareg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/pci/csareg.h b/sys/dev/sound/pci/csareg.h index a36e36177f5c..3341390f618b 100644 --- a/sys/dev/sound/pci/csareg.h +++ b/sys/dev/sound/pci/csareg.h @@ -34,7 +34,7 @@ #define _CSA_REG_H /* - * The following constats are orginally in the sample by Crystal Semiconductor. + * The following constats are originally in the sample by Crystal Semiconductor. * Copyright (c) 1996-1998 Crystal Semiconductor Corp. */ From nobody Tue Dec 31 09:36:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMnsl1JjGz5j9g7; Tue, 31 Dec 2024 09:36: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 4YMnsk5M6bz4RL8; Tue, 31 Dec 2024 09:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcZgliFvTP8cDiuzivVZ9NnrrKUn6QjNKEAqo4DsWbs=; b=cGq4mWtuNiug4/PPBiUvpI2g9YfGCnz6fGAiVJFhcO2uT+p8zhlL9R8Z/U45xD2dNSyU4q yVjf/bRqpDgwZeuaYOHhHoGkkauWmaEAko7Kv2oEqRRCVJbxTRxZsUg0FmItAOtICImNAE qPCXXbFnjZvNwgiNU9zAFt7OZoRmLiHQ9MryETnkhsO55FWOJhuFNQQsTkoyBn1bA1Hyno pmaRRPQ3tzcR+9hs+HjIS8EHfol+7sqkANWfapj5quG3bs6NefPo+bv/Y3ce6IPMEYedjS D4BJ0I3DiczDKzyfpsMtYnE9ocpnObrnRfH9OQrMbi9jOgKmuq7MBRyyX0WCGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcZgliFvTP8cDiuzivVZ9NnrrKUn6QjNKEAqo4DsWbs=; b=u8m/4JlRDnaSDKWHeeP134lXCcW2KDy58Vp5AzVCCF1CcKO8aAunkMHQr1WNWcMey7WHM9 xfteuRpBYzoM6BTrGo7NrJFU8B0/7kF2SmzGq6dTGwPFj3xZbVdkAWUqEqaQtGaTvdMVel hH/3XX+ZCSEXPvdGjJF/gtbr9ScsF9NnoDSZcNFcRX1NTOCYCwTd97lQMFxySQRYJfpHom hrJ6vHZpEGX04GLfqcUdTATENT4jfjZL97W/MwamGcbmRyndVetIP/bU2++w6uYKoR5Ji9 hY8tevaKdgyhq8nCQBSSGMeE2w3NKSKVCto+isLB+z6RNHnDjo+9JmlxkVp7Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735637786; a=rsa-sha256; cv=none; b=U7mlqktUqdWiXfRs9KrzKWmlXhUeOrC9DvSEf2qPXB/FyVS0c83nsek1PTEtr7FJkzgJ7v fcfJqUvFqgitikifcccs0rf/Y9/Yw4EVsIGtNzDqq9IUPA05Ln5f++0LnuJXvKJbdf4GJw agK+kpk1qD7tSXKXlc2oLJKjexFb3vG7KEP7AtAbYZhd2sQvEJpKeSLTMLZk9dX5T+5FUB 5jWKcv5b1uODvzhuLTmo2824zBAXwaKQpCH5n+JS15NkvTv7r7zG1dtmCMJw6WBvQGIlWl axuu3f/BCLRS/KuA9GuStZcj86jTzATLXwP0hNr+0YtAog2cN/s7gWL32dBILg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMnsk4gflzZNn; Tue, 31 Dec 2024 09:36: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 4BV9aQxE058378; Tue, 31 Dec 2024 09:36:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BV9aQ0b058375; Tue, 31 Dec 2024 09:36:26 GMT (envelope-from git) Date: Tue, 31 Dec 2024 09:36:26 GMT Message-Id: <202412310936.4BV9aQ0b058375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 7d1482319475 - stable/13 - kern: 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7d14823194752e41f3a10b9282ff04bb8cff16cd Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=7d14823194752e41f3a10b9282ff04bb8cff16cd commit 7d14823194752e41f3a10b9282ff04bb8cff16cd Author: Gordon Bergling AuthorDate: 2024-12-28 06:39:50 +0000 Commit: Gordon Bergling CommitDate: 2024-12-31 09:34:59 +0000 kern: Fix a typo in a source code comment - s/explicity/explicitly/ (cherry picked from commit 15ce9a0544e9d850fb332b4bae3313ff38584d61) --- sys/kern/sys_process.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 2eaeabb6a5f9..57fa6d0c0323 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -348,7 +348,7 @@ proc_rwmem(struct proc *p, struct uio *uio) /* * If we are writing, then we request vm_fault() to create a private * copy of each page. Since these copies will not be writeable by the - * process, we must explicity request that they be dirtied. + * process, we must explicitly request that they be dirtied. */ writing = uio->uio_rw == UIO_WRITE; reqprot = writing ? VM_PROT_COPY | VM_PROT_READ : VM_PROT_READ; From nobody Tue Dec 31 09:36:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMnsm38Psz5j9lM; Tue, 31 Dec 2024 09:36:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMnsl6Rs4z4RYk; Tue, 31 Dec 2024 09:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lEjbMryaeN9BLcIIPwRdP/OQBDEQKqf8YAflvlW/qYo=; b=O7vaF4w/hla2zlb0rZ4YGfia+tk3nEvlKSVvnPPiQAAqtwHUmvgMromYLwnVh6Dgr7oyT5 WX6p1l8bpiIzW9S/3vnl43VLaLV3kXDp+TZOF3igbybQ84ElfIsdzSt+ws3r05Rk8iyb23 B2E+eKGdDcjwQvUiAI4EzgfLn2QAGaBp4YfILHoMA8RpCV8enEkJUlInNZOfBDccvbH7+n rL9xrvfMEtmf/ZPGM6R/5GFqluP20tqPGf8c60jIpnBC+5uAjKA9/XWmi3XinMUlEG4F7K zFwqAh2TmhclSzLW2ojhvorQVnoSZnZYriZMMaoVHNJULLgtaqhp9yLBCRyqPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735637787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lEjbMryaeN9BLcIIPwRdP/OQBDEQKqf8YAflvlW/qYo=; b=aAlfxAVkmSX8K5ka3kkwNfiEr7p9U35lcH1+z4RzsYIU/qlC3WQjjs+OUKkRVkscNTR9Ty l1+PcJONLZnawWGtUlkbWTvreDCrpAR762YzUq87Swpx/OS6+/JF9AHtI6x+MRjJscGwiR 7OuFEfsS1JW7Zqz9zDmPOXBkjAAvuX62r1B2GJKXc7+iDlWbgxK5EkD8Fglra1+76HNby9 5sAOb/W2mFwxeJ6aGmmB0XV/X3MbqFdVqVvvPSh3DQG6cr2tjgEKHdoAp8zlgkvnkzmsws ADs7hp03TFbKfdpF+XrDypd8wjSdEynX2ngv94JYNBt/S+I+92+Yz1pO8+jMhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735637787; a=rsa-sha256; cv=none; b=uznQn1/K/B/hfnA467GrK9BO+TfWwHOYPoZT17uWsr/iS005hfF56utpigSc3JCRHim4nI Z2b7mBvBiwAe9RH5PGexFbEgjrn/kj+v53z2rMXDzhTbS5VAXoKdKB1MS/0zLS6E/sC8il P3xHHZXTZAna0hHL3QJ+5y5HexDWtLwSRxBzH2Fvr1ZjSjmWm5MnnwK1620qY/JxH96XFO blrSPDzgqU1VZ+OR57SeJosVjk/+TPs6tZE13HZou8KVvs6kQd7cNBJqj3Q5akc/CdwNzB w7a3OLmQ+/PD9i+CGquKPx5svMXpTO6j0P0moHLxAp7EJsh0exvNUqxdWFEZcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMnsl5MwczZNp; Tue, 31 Dec 2024 09:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BV9aRMh058432; Tue, 31 Dec 2024 09:36:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BV9aRtQ058429; Tue, 31 Dec 2024 09:36:27 GMT (envelope-from git) Date: Tue, 31 Dec 2024 09:36:27 GMT Message-Id: <202412310936.4BV9aRtQ058429@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 420d4927b311 - stable/13 - isci(4): 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 420d4927b31170d4b04462e9265519af9e8d764c Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=420d4927b31170d4b04462e9265519af9e8d764c commit 420d4927b31170d4b04462e9265519af9e8d764c Author: Gordon Bergling AuthorDate: 2024-12-28 06:38:33 +0000 Commit: Gordon Bergling CommitDate: 2024-12-31 09:35:13 +0000 isci(4): Fix a typo in a source code comment - s/kength/length/ (cherry picked from commit 3db51fb1720efdddd6e8c2045397f59a398692d3) --- sys/dev/isci/scil/sati_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/isci/scil/sati_util.c b/sys/dev/isci/scil/sati_util.c index 22c3111fe9ca..300ecbd5367b 100644 --- a/sys/dev/isci/scil/sati_util.c +++ b/sys/dev/isci/scil/sati_util.c @@ -70,7 +70,7 @@ /** * @brief This method will set the data direction, protocol, and transfer - * kength for an ATA non-data command. + * length for an ATA non-data command. * * @pre It is expected that the user will use this method for setting these * values in a non-data ATA command constuct. From nobody Tue Dec 31 12:36:40 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMssh3lMBz5jNsk; Tue, 31 Dec 2024 12:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMssh2r7lz4gCc; Tue, 31 Dec 2024 12:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735648600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8aOY6MCza72Up3Ao/PQnR1MLSCvPXKEVtZ6a0v32VGk=; b=W4bAcgoaXjeFH6muilPsogyFdlrQkzadSKXah1lEK8VBDK2ApZbzY1Y0s+lzJK7vfaYbJr BhPpzmvQNGL+eQF0jvKsjwVYpp1eDXmFe39rmuacsYk+T2PxPwe1tQkjpywWZ+xZFqyuvZ yKfSH7HRlMxOxYjAE5/RPwoBfqRv19A0ChvcZPlwB2aB1nVoNrqlaAfoPSNTbBKMXKJgKf ZqQlQNBunkFX1JABHx4s/6yMXuVp2kQju6CFPo4E1xiTGe9yBjW/jfmaEOWoE5qOcGY+mX wnqAzr7hsZH66XOSDHYuyvRDD72b6eUTS7X0xByNMWqnDJbgePZgmlJZNSXBlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735648600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8aOY6MCza72Up3Ao/PQnR1MLSCvPXKEVtZ6a0v32VGk=; b=yETofra56y94BsXoKnc9yZo01nTmlMrF2ZxJ5EFLbNvHYCmamFZ14CqQRNJAz3N8AR/Isw eRADY4Y2mFf6fiPeo/JF6nxCG7AMU4KsaNgVfNJri7bDxvtr+b5zM6jAiFKffaTAWvKlrF 7Mw9+QlNig22W7tmJQ2q7DhCF6QG4+AboqofB6wrwZz34jron84v1V9Eg39MuY6qIuYIIi DSwr8KOAWmEjdFjtDkviwGDOVzZqn+4c/gxomLf/2aLDidWPN9weTYDVDDuyN3pY2KZxKI seEC7rIIstXZDC0iIQJYfVD49ax4A0gQreU4OVb1cHY8uFRK3bhPBhZXyP+paw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735648600; a=rsa-sha256; cv=none; b=n90QIZWUi9vnj1AmELZHFjTgIPX5X4ubT9AYTbKDGgiqrXdlSVknukcxT9H+Vmty9PksP0 GBsFOtjXwsgfEK7PEr5fPsEjptaFzdJ3AbW6S9O3gRzOwsOIHh4uMaX8EqlsxCZxrSNVto nXSYTRJN/vil0wMgNswJKGbDFEjvdPKEvmD23hX2Ue2NW8ksTEq8ZilTbUWqquNO9LIZcv dVVlZ9wosIgPb32p3dRG+cRCTaQwwkTC3CeQouto0ogqFnDLxB++ApWz0bX+CTJNCUVmwh mi7biFwmPwqteeZC25Qz1ag+rEhmmoBPZhDuq7C2FJbgLHk0FI2+UPhp1+0+Mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMssh2PR1zg7c; Tue, 31 Dec 2024 12:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BVCaeSC093462; Tue, 31 Dec 2024 12:36:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BVCae9Q093459; Tue, 31 Dec 2024 12:36:40 GMT (envelope-from git) Date: Tue, 31 Dec 2024 12:36:40 GMT Message-Id: <202412311236.4BVCae9Q093459@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 7700d456bff4 - stable/14 - linprocfs: Properly reset error variable for mtab generation 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: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7700d456bff49383e2e6e8994fd27661757395cf Auto-Submitted: auto-generated The branch stable/14 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=7700d456bff49383e2e6e8994fd27661757395cf commit 7700d456bff49383e2e6e8994fd27661757395cf Author: Michael Osipov AuthorDate: 2024-12-02 13:25:45 +0000 Commit: Michael Osipov CommitDate: 2024-12-31 12:36:18 +0000 linprocfs: Properly reset error variable for mtab generation Both functions linprocfs_domtab() and linprocfs_doprocmountinfo() are logically identical, but the former fails with ECANCELED because error is not reset after the for loop. Reviewed by: jrm, fluffy MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47865 (cherry picked from commit 58c7db14cd71c41f59d80d26d921782c0c27d523) --- sys/compat/linprocfs/linprocfs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 5c60d4d8e713..9e69c92dc014 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -539,9 +539,7 @@ linprocfs_domtab(PFS_FILL_ARGS) error = kern_getfsstat(td, &buf, SIZE_T_MAX, &count, UIO_SYSSPACE, MNT_WAIT); if (error != 0) { - free(buf, M_TEMP); - free(flep, M_TEMP); - return (error); + goto out; } for (sp = buf; count > 0; sp++, count--) { @@ -561,6 +559,8 @@ linprocfs_domtab(PFS_FILL_ARGS) sbuf_printf(sb, " 0 0\n"); } + error = 0; +out: free(buf, M_TEMP); free(flep, M_TEMP); return (error); From nobody Tue Dec 31 12:37:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMsv66Tb5z5jP9r; Tue, 31 Dec 2024 12: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 4YMsv61hLkz4gHf; Tue, 31 Dec 2024 12: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=1735648674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aEoDpS4QSKAl1FFJ+/5f/Zo/4RwGkA2abX6VaWmpRVQ=; b=kT19jk3ILlSOvpw47K5zf6QuuSomCktZIsrvLJT79eJc3WK7WiwuQy3AF1SRcYp7Xq2KBg 6LHLJNnkVv22UYR5PQuDCrQ73fdkUj+bNN82s8IqfEaN67FxqkPG9B9FIklCf1rvwVbD/Q wwQID3VCGp9nsRakH1ZIOj8SVYDlWfRsWZKU0CbfTudnOyNxU32HWU62YpZlLG1WMcxXvX 4efXfJVEbb1qjMCpFTnskcCYsCCqolOLCGzc/N2JNWCevDxZiZHvLibuE9iAwEp/duxvP5 Ji9sO+i1cg6CjFwG+bBy51lL5Fz2Dhfv21vSky6dgez3RDyYIZE8Sa3Vj8fRrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735648674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aEoDpS4QSKAl1FFJ+/5f/Zo/4RwGkA2abX6VaWmpRVQ=; b=rU7mqERjrjdJa+1Q+WxZamNSZOMob7lDFtOD0bM4gDiJPT/VC6KjyKLNo48n7Gb+e4k/UI kGvf4sYTVcOYLBi0bCeDM2ev0wZeWXGedVjiRATcscMllYOPFIsalsQeW3fSWeTlFgC8Sy lrxSBKNyqxshvT72D1Be/fHa8YBsGUOSFLgDccI863s7bd7fiv290Qpjv6Mkzx7aW52nhB gZp03E5QPpxyn24mx8dB2w72LiXxaV2alTHHL7NodMujh5n3jpBfXRfRJd+bARcP+Hp35H BZ2loCwqxR+U9BGRH4OWmMMo3XqhioGolhweei2MG1hiVfAsu6VFme975jf4Bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735648674; a=rsa-sha256; cv=none; b=WkY+8kLR4qFI3WUt8NutZ7xosyWnAPhOZDOmvGKQRbEiTcKerK+v13bkS8CXvu5dXQ7O3u 4eTD2TQdUH3RKnF1RFRGhLQExMH3Culxt17l/4fswjXkyEdKn+iFu+KCu2AzAOP2Miv2oX lOeyNRChfjSBjgIWamF8tmJuOcb84IgBMPnY4fYl5kBFSthqZ/nYRUVtXgRTTKjNfaB/PK WDd+O0qIM+0oazYeWwycYQRWmd4/gjmJYMVOvXeH65D0xs5DrX9VBYIaBFswzcTq+hWy0t 6G2fgJXVHNvTvfsb3+fsa8m79EeuAOuAQm+oX0GMYxQVQzZdgKMj4iyKN4eWyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMsv60qH1zgB6; Tue, 31 Dec 2024 12: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 4BVCbsbV093969; Tue, 31 Dec 2024 12: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 4BVCbscc093966; Tue, 31 Dec 2024 12:37:54 GMT (envelope-from git) Date: Tue, 31 Dec 2024 12:37:54 GMT Message-Id: <202412311237.4BVCbscc093966@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Osipov Subject: git: 3f00a0678b9d - stable/13 - linprocfs: Properly reset error variable for mtab generation 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: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3f00a0678b9de3657d859e590adb3e646aebb2ae Auto-Submitted: auto-generated The branch stable/13 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=3f00a0678b9de3657d859e590adb3e646aebb2ae commit 3f00a0678b9de3657d859e590adb3e646aebb2ae Author: Michael Osipov AuthorDate: 2024-12-02 13:25:45 +0000 Commit: Michael Osipov CommitDate: 2024-12-31 12:37:39 +0000 linprocfs: Properly reset error variable for mtab generation Both functions linprocfs_domtab() and linprocfs_doprocmountinfo() are logically identical, but the former fails with ECANCELED because error is not reset after the for loop. Reviewed by: jrm, fluffy MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47865 (cherry picked from commit 58c7db14cd71c41f59d80d26d921782c0c27d523) --- sys/compat/linprocfs/linprocfs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index f8bbb0d8fbfc..0a471f684680 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -543,9 +543,7 @@ linprocfs_domtab(PFS_FILL_ARGS) error = kern_getfsstat(td, &buf, SIZE_T_MAX, &count, UIO_SYSSPACE, MNT_WAIT); if (error != 0) { - free(buf, M_TEMP); - free(flep, M_TEMP); - return (error); + goto out; } for (sp = buf; count > 0; sp++, count--) { @@ -565,6 +563,8 @@ linprocfs_domtab(PFS_FILL_ARGS) sbuf_printf(sb, " 0 0\n"); } + error = 0; +out: free(buf, M_TEMP); free(flep, M_TEMP); return (error); From nobody Tue Dec 31 13:20:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMtrf2h16z5jRg5; Tue, 31 Dec 2024 13:20:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMtrf0FN0z4kQK; Tue, 31 Dec 2024 13:20:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735651250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=km5Smv/wIgt8ipi3RPsfXKRjhujJEzaQzkqjz6GUw0g=; b=qi4q/7uLlsMSszWHE3VY1KfyrkWQpuNiM9jeHxv3T52lifz1wiWNV/1Lmicpuf4nJi2aJg KLgXGa4V9EWeCFEY+zR0v55D7etkyW/AehlRBsicAoASzA2M/+FNf4VCmjP0hqZJYL0E9i PdgaIfgmUzQ/B20QE0y5RoTdgzW/0FUJINiS+5tq/QMWRmXRriMld7eVIWNiGrOiC+/m6P kGIzEPQ0s+HZjZJDz9a/Eue5qxyIh9eINUB9Bhg3EBIe+G7umKXC+12ZBlwyXDq6UAvzNd H0pd/lTB7xPHEL4IqJWYzn7aGfYIiTP1ekipMPlyoXoyKVy/W5McXzcZpdHRhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735651250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=km5Smv/wIgt8ipi3RPsfXKRjhujJEzaQzkqjz6GUw0g=; b=PKXlVup410XJZRG4zVIyIGjRbb3CTJNg/Ojqhc9qYwnNA3MLnBzdH3iLczJoam2LS0Ywsr x/qFCxLd2b73yInh86P0uRVhwuWWq56ChYWygh+2nCk8gNvYKIubU/JOYzSUUSo5JGGBvs W7lXD7Xdw+l6ETPTCp+zLwz7nbXBaiSQSAHbQMUOj/m5CaiSi+T+vlDoMYxXA7mylZYyte d/6JI7LXPrnTxscmSa4H4cFVwTCM1bH6VIClttGPF3tEAPSTh5DRGV2dl0aBUiY6pyQjg1 36p44AsGbTzuwm3/VEP9cjbE7ijYCm5C/0dQQEOCycdqXBrHp1nLUGXJREKskg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735651250; a=rsa-sha256; cv=none; b=wYkDxnVdm4Ho9XjyGRtbR80Rnd2bYTxjuObLXXvJw2TqAc3o8iEX1612r1c/wd0Pxl/W9H gtoYWDD0QHxqRCBQd9mEryRg/QZIMJJTt9q4vJ2gMwosH+zvy5BNs4CDob/duCEBdS7ROu XPO2rJsMkpJ8e7aNcegI703Dsbn5NTdrlbT3Wc3ctYkBVRsRx6C6PzmB4JoZTj/Q6cItLW gUHERHR+rIAHMAiT9l/UgBLzlNtusZdp1QgMGMfKgV0e4z7Q4JqW3PVg8J2fF/KrVJWPRH RqxmY9yEO2FIg9fmMEhspG+VPvmCcPsJBZJvrI+FxyvhxwusqeUnfGnn+i7GKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMtrd6ypyzgr8; Tue, 31 Dec 2024 13:20:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4BVDKnoT078950; Tue, 31 Dec 2024 13:20:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BVDKn1H078947; Tue, 31 Dec 2024 13:20:49 GMT (envelope-from git) Date: Tue, 31 Dec 2024 13:20:49 GMT Message-Id: <202412311320.4BVDKn1H078947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: 242eb8d4e009 - stable/13 - rc.d/sendmail: Fix error with some configurations 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: tijl X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 242eb8d4e0095f7d922ecec78b7a3c91a6e2d99c Auto-Submitted: auto-generated The branch stable/13 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=242eb8d4e0095f7d922ecec78b7a3c91a6e2d99c commit 242eb8d4e0095f7d922ecec78b7a3c91a6e2d99c Author: Tijl Coosemans AuthorDate: 2024-12-03 10:45:10 +0000 Commit: Tijl Coosemans CommitDate: 2024-12-31 13:17:46 +0000 rc.d/sendmail: Fix error with some configurations The sendmail startup script can run 4 daemons: sendmail, sendmail_submit, sendmail_outbound, and sendmail_msp_queue. Of the first 3 at most one can be enabled. There's a run_rc_command call for each and the ones for sendmail and sendmail_msp_queue run unconditionally. For some rc commands this triggers warnings or errors when sendmail_enable="NO" or sendmail_msp_queue_enable="NO". Since d2e7bb630b83 these errors are propagated and the whole script fails. Fix this by first determining which daemons are enabled, setting ${name} and ${rcvar} accordingly, and then always calling run_rc_command conditionally. Also replace ${name}.cf with sendmail.cf because ${name} isn't always sendmail. PR: 282585 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47757 (cherry picked from commit 6b17d944a1d448dbb797c5fa5b0778242ba02e52) --- libexec/rc/rc.d/sendmail | 49 +++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/libexec/rc/rc.d/sendmail b/libexec/rc/rc.d/sendmail index 28d6818eabac..97cd6fcfddce 100755 --- a/libexec/rc/rc.d/sendmail +++ b/libexec/rc/rc.d/sendmail @@ -40,11 +40,28 @@ esac if checkyesno sendmail_enable; then sendmail_submit_enable="NO" sendmail_outbound_enable="NO" + _sendmail_run=true fi # If sendmail_submit_enable=yes, don't need outbound daemon if checkyesno sendmail_submit_enable; then + name="sendmail_submit" + rcvar="sendmail_submit_enable" sendmail_outbound_enable="NO" + _sendmail_run=true +fi + +if checkyesno sendmail_outbound_enable; then + name="sendmail_outbound" + rcvar="sendmail_outbound_enable" + _sendmail_run=true +fi + +if checkyesno sendmail_msp_queue_enable; then + _sendmail_msp_queue_run=true +else + # Make sure run_rc_command is called at least once. + _sendmail_run=true fi sendmail_cert_create() @@ -164,8 +181,8 @@ sendmail_precmd() # Die if there's pre-8.10 custom configuration file. This check is # mandatory for smooth upgrade. See NetBSD PR 10100 for details. # - if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then - if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then + if checkyesno ${rcvar} && [ -f "/etc/sendmail.cf" ]; then + if ! cmp -s "/etc/mail/sendmail.cf" "/etc/sendmail.cf"; then warn \ "${name} was not started; you have multiple copies of sendmail.cf." return 1 @@ -203,33 +220,19 @@ sendmail_precmd() fi } -run_rc_command "$1" -_ret=$? - -required_files= - -if checkyesno sendmail_submit_enable; then - name="sendmail_submit" - rcvar="sendmail_submit_enable" - _rc_restart_done=false +if ${_sendmail_run:-false}; then run_rc_command "$1" - _ret=$(( _ret > $? ? _ret : $? )) fi +_ret=$? -if checkyesno sendmail_outbound_enable; then - name="sendmail_outbound" - rcvar="sendmail_outbound_enable" +if ${_sendmail_msp_queue_run:-false}; then + name="sendmail_msp_queue" + rcvar="sendmail_msp_queue_enable" + pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" + required_files="/etc/mail/submit.cf" _rc_restart_done=false run_rc_command "$1" _ret=$(( _ret > $? ? _ret : $? )) fi -name="sendmail_msp_queue" -rcvar="sendmail_msp_queue_enable" -pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" -required_files="/etc/mail/submit.cf" -_rc_restart_done=false -run_rc_command "$1" -_ret=$(( _ret > $? ? _ret : $? )) - (exit "$_ret") From nobody Tue Dec 31 13:20:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YMtrg2FLqz5jRZv; Tue, 31 Dec 2024 13:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YMtrg1MWSz4kKh; Tue, 31 Dec 2024 13:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735651251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rVa1FKptYiutsznUX7cvIc3iVfSBzFHGaSPVbIRO+SQ=; b=cN5jXmd0Y/JpvtTB1sWENhQjXxTKWA1O1mTrqKfCPMkzjRFLtQ5iz5TxfA+R9/zKIgs51P VNs3LZPhmc26ZQfqVI9ywqXThjPNDrYs2JKva2aiiYtKkbj+LyO5Iub1w6C/2En8X61Rtf MUiHSMfWDjGmwuESolcfW9SUxkdqy31CTg+4vnVBmJK2AT3oNJLUwlk4FzcV/dhWGVGQ82 9qyQ53aYUK8o8w//78fDW4SG0jPINWjATPGJPncZ1WO/v0NNGhEq45jxZzPTIn9NPwmVmb 9DXfBPrpQJWksXZh8jHRbGfeu20AwD7iVJm4nMNPnCPihgCTDr0Cc8O+5B1SBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735651251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rVa1FKptYiutsznUX7cvIc3iVfSBzFHGaSPVbIRO+SQ=; b=aE0mnP163NEj0lRHkrFmD3tqaE+R3FZ8itZwyYo2LHMZlIZhoV0rj0WKuwG5wBPZI2p7I6 GdFvfOyat06vDSpwuSoLniz4ZhysReBYw7BN9WshloFQpqdLe+XB/zZDW0iZ4EZ5u+0N3t emGq+SIiUnOIFBpiTomUStQgOh8p93hKj6VR7sVPa8zyN2Y3e1ILsuSwJYU4bZirbPLgq+ NPxUk/bDQZ0irCdGozCzMmhYKU6tX1RzLSFeJdgbCBzMGBAh5YWJNNQh5rgZV0ZY8P+0oD sTMVVoF32sgdG+1IZDgxGehphovMLHt5CpAD+4Supm3CV7ym5I2y7qLe5Ou7Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735651251; a=rsa-sha256; cv=none; b=Y4NJffcCKSz0qfxE+c799DqGAFWg37bvxbqYTBMuCK9lnYChDqc5xQtiS4wT9KHSAbAi+y f3cfDMzvHe3BzMaJJ1NvreNfdosCWweeYTEoTd7Of/43OP3fZ64HoCKZCt0UHErZES4K1Y 28N+x4PphCtBL3bTWSG2rMrPCBTff1kJbxLCV9wWJP9lLHOPbeYdkQKAi+HZ9EDEJY/Nrv mea5iM+JzHgPXq3+sRriA7HdUo9zHSYWdiyZBD5+hGInornU3XDp5QfRZNy9QTVN0uJ3mc XYiOGWzua+MwAXhlyptsfUxXSnoXrMCMz07Pk1je8bvJrfRrq/X8tHZFq+hRRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YMtrg0ym2zgsm; Tue, 31 Dec 2024 13:20: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 4BVDKpuK079011; Tue, 31 Dec 2024 13:20:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BVDKpBU079008; Tue, 31 Dec 2024 13:20:51 GMT (envelope-from git) Date: Tue, 31 Dec 2024 13:20:51 GMT Message-Id: <202412311320.4BVDKpBU079008@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: fb3408bb6e5b - stable/14 - rc.d/sendmail: Fix error with some configurations 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: tijl X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fb3408bb6e5b7bebe8800d9f08579d9dc6236b81 Auto-Submitted: auto-generated The branch stable/14 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=fb3408bb6e5b7bebe8800d9f08579d9dc6236b81 commit fb3408bb6e5b7bebe8800d9f08579d9dc6236b81 Author: Tijl Coosemans AuthorDate: 2024-12-03 10:45:10 +0000 Commit: Tijl Coosemans CommitDate: 2024-12-31 13:16:10 +0000 rc.d/sendmail: Fix error with some configurations The sendmail startup script can run 4 daemons: sendmail, sendmail_submit, sendmail_outbound, and sendmail_msp_queue. Of the first 3 at most one can be enabled. There's a run_rc_command call for each and the ones for sendmail and sendmail_msp_queue run unconditionally. For some rc commands this triggers warnings or errors when sendmail_enable="NO" or sendmail_msp_queue_enable="NO". Since d2e7bb630b83 these errors are propagated and the whole script fails. Fix this by first determining which daemons are enabled, setting ${name} and ${rcvar} accordingly, and then always calling run_rc_command conditionally. Also replace ${name}.cf with sendmail.cf because ${name} isn't always sendmail. PR: 282585 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47757 (cherry picked from commit 6b17d944a1d448dbb797c5fa5b0778242ba02e52) --- libexec/rc/rc.d/sendmail | 49 +++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/libexec/rc/rc.d/sendmail b/libexec/rc/rc.d/sendmail index 28d6818eabac..97cd6fcfddce 100755 --- a/libexec/rc/rc.d/sendmail +++ b/libexec/rc/rc.d/sendmail @@ -40,11 +40,28 @@ esac if checkyesno sendmail_enable; then sendmail_submit_enable="NO" sendmail_outbound_enable="NO" + _sendmail_run=true fi # If sendmail_submit_enable=yes, don't need outbound daemon if checkyesno sendmail_submit_enable; then + name="sendmail_submit" + rcvar="sendmail_submit_enable" sendmail_outbound_enable="NO" + _sendmail_run=true +fi + +if checkyesno sendmail_outbound_enable; then + name="sendmail_outbound" + rcvar="sendmail_outbound_enable" + _sendmail_run=true +fi + +if checkyesno sendmail_msp_queue_enable; then + _sendmail_msp_queue_run=true +else + # Make sure run_rc_command is called at least once. + _sendmail_run=true fi sendmail_cert_create() @@ -164,8 +181,8 @@ sendmail_precmd() # Die if there's pre-8.10 custom configuration file. This check is # mandatory for smooth upgrade. See NetBSD PR 10100 for details. # - if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then - if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then + if checkyesno ${rcvar} && [ -f "/etc/sendmail.cf" ]; then + if ! cmp -s "/etc/mail/sendmail.cf" "/etc/sendmail.cf"; then warn \ "${name} was not started; you have multiple copies of sendmail.cf." return 1 @@ -203,33 +220,19 @@ sendmail_precmd() fi } -run_rc_command "$1" -_ret=$? - -required_files= - -if checkyesno sendmail_submit_enable; then - name="sendmail_submit" - rcvar="sendmail_submit_enable" - _rc_restart_done=false +if ${_sendmail_run:-false}; then run_rc_command "$1" - _ret=$(( _ret > $? ? _ret : $? )) fi +_ret=$? -if checkyesno sendmail_outbound_enable; then - name="sendmail_outbound" - rcvar="sendmail_outbound_enable" +if ${_sendmail_msp_queue_run:-false}; then + name="sendmail_msp_queue" + rcvar="sendmail_msp_queue_enable" + pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" + required_files="/etc/mail/submit.cf" _rc_restart_done=false run_rc_command "$1" _ret=$(( _ret > $? ? _ret : $? )) fi -name="sendmail_msp_queue" -rcvar="sendmail_msp_queue_enable" -pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" -required_files="/etc/mail/submit.cf" -_rc_restart_done=false -run_rc_command "$1" -_ret=$(( _ret > $? ? _ret : $? )) - (exit "$_ret") From nobody Wed Jan 1 05:46: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 4YNJjQ3dTJz5jNYX; Wed, 01 Jan 2025 05:46: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 4YNJjQ37KVz4Njp; Wed, 1 Jan 2025 05:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K/Njmc335T67EvTOohqNY76d75HIzQrJ3CR8ZDLdYj4=; b=aEKRF5SpDRpPFJfhre39rcvlX9vauZeLeayLlzub2jtyFvJ6vP2BtgqxqekqL53yWbXZcR eW8OpRWtNGp3X7t6cjgKSjI6vYLe1Lgadpx8AEbLRl79AQ1WG/rHUewupSgTF4Fz8X6ufK F2HvMkUtJsz8OnBT15HpmjeaQVXON1y4l7FNrA6JM9h6yGM1SrDMa8TP53TFSdLjDnKK5R H2ERTGelEa2BPYIo9ZKrkFxXW1YiuuS714oLDGwIidMQq6yIoIcTlt91lr2G+tHrkHuDtr tjPLkSXnVKrBLw5y+K0MZ4H0IJ/MedWfO+JhI4kd+ZTAmefIgz2mFw9QwYLDKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K/Njmc335T67EvTOohqNY76d75HIzQrJ3CR8ZDLdYj4=; b=e0rNLjNzht2wE8FVWKWjeHS8zxV5aVpECtYlk5n1qMK1p0K6aUXWJV1jXxQwBg603NBT3n mgouJ9V6USWeA48966QVT6HKrjYxMBPi31KaJqgiHXrOuGBZsEyMZc/Ynq02aIA1js32D8 U06IQRTubo11ysI9l8XI1SI3GlFZd6eoXCazWzRJzVmWVXo/huZI//Ip8RkBZfowjOyzZp dpiXeK1qXKne+8fRBMYsT3hAqNzpFr5X2cmdnSBYWrIRYb2slLxJntKU7jUFSuRvd0aoT2 s/4iK1LBrrEe5dn0vIZJsbJFE/Fd3pkEL5FPIe72aNE6kno9CzKuTqvbQKYixQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710362; a=rsa-sha256; cv=none; b=uKCnTd8ovYeW/AW90uCkTaE/Mdjz8BIlNhghVDhdjXPmcmcZHADpoMptxfcFubvEEdMpin aFnoSAauaLNu8PM3OuiqH4MaM2rFWeoRjUmTV7D7XYPDHIIH512qfhqkb+9omQpGeDZyPV igUwZrW6VEU6bU/B1rZ+/d5F3K5SLtpPL6WjVB+7Q1iu0DpyJou+hdGot46Xw+omeyvwpW mi0pKNpiTjEgVr7WzfT8y+J9Le9JikcLYB7vrIStosrvmnp1kKa7g6fHh5fJXggqRL+hC7 Yl21egdWGDr25znrd16W2HFJxE0xRtpjAS9yLgV0QdA7YjcfgEO+oqvP5AVGHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJjQ2kNYz1BMl; Wed, 1 Jan 2025 05:46: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 5015k2UX038328; Wed, 1 Jan 2025 05:46:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015k23U038325; Wed, 1 Jan 2025 05:46:02 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:46:02 GMT Message-Id: <202501010546.5015k23U038325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 18bbc3c82e13 - stable/14 - release: vmimage: setup the default BE properly 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 18bbc3c82e1343d28a1fcad731f28c889602a363 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=18bbc3c82e1343d28a1fcad731f28c889602a363 commit 18bbc3c82e1343d28a1fcad731f28c889602a363 Author: Kyle Evans AuthorDate: 2024-12-11 01:19:08 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:45:15 +0000 release: vmimage: setup the default BE properly All of the BE datasets need to be set canmount=noauto so that creating a new BE and switching to it can actually work. With the current setup, the zfs rc script will mount the `default` BE over whichever new BE is activated once it runs. Reported by: andrew Reviewed by: andrew, re (cperciva), imp, markj (cherry picked from commit 636d377264f51e3dd33bd7f33ebf03e2e148d40d) --- release/tools/vmimage.subr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index c95a6dc82937..3761faf94810 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -190,7 +190,7 @@ buildfs() { -o poolname=zroot -o bootfs=zroot/ROOT/default -o rootpath=/ \ -o fs=zroot\;mountpoint=none \ -o fs=zroot/ROOT\;mountpoint=none \ - -o fs=zroot/ROOT/default\;mountpoint=/ \ + -o fs=zroot/ROOT/default\;mountpoint=/\;canmount=noauto \ -o fs=zroot/home\;mountpoint=/home \ -o fs=zroot/tmp\;mountpoint=/tmp\;exec=on\;setuid=off \ -o fs=zroot/usr\;mountpoint=/usr\;canmount=off \ From nobody Wed Jan 1 05:46: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 4YNJjR6BYqz5jNcL; Wed, 01 Jan 2025 05:46:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YNJjR3pdQz4P8j; Wed, 1 Jan 2025 05:46:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=njE5KD1yuwAexZDp/OcZ+HwVNJiujNDA5uQMemFG0yY=; b=a7zKXmtJCuJUgZ74LVT0/rrsnyNPCTE5cS50aaTFYW5HS4qT4h9l2biZno2JwOOiPlUFvU UaOjPhcNBmTvZVNrXxcaS60+HAxO465FqOiU13nfUpMpCGkoEXR21OO8ayyE8BulBSVPR3 +boGncg2DVl6F+wQj21BkzlYqgSJn7YeLjiXkhi69B2nEELXsIFewEKR+0dvdEzQtMUjc6 bQE3WPrRqxa8J+If11x0HOmi5/gkW7+VmNhS3nx1WFB1/7rssw3liuEOk+tDVLEK9z1FE3 fKsxvd1MBj/UH02DRejtmkxdEbhuWiwiqZo+htJckKKrHaolyce7vIBOVWdwPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=njE5KD1yuwAexZDp/OcZ+HwVNJiujNDA5uQMemFG0yY=; b=OdawjK4b6EdE/6Ju6FY8NfgaoRg+xBrNEt8QZfs5BcAcAAGWgJN+C2LkTcFjcbFijgxMUG qeegeF3BkCFbNKjH3LOsNX9U1QmUq8SqtQl1DfS3g4NJE6CPRTQV3oK3CH8Abmx3QBAx9o WB0j0+zAbPcfBCDHD7Fv/fJqeHuRAlm9MYkfv79O1nqXSk13NQzuWeiwWw6Rij1U+91Pvk OMTwrjnmXCgQAMZ7F5J/waFoskH/46uEdcrgSC+UM8M0Sva93cohOY9WA2rbKmVSfaUz8c 7BbfyW4kQARaL5HzeqZZ/fbGZRvgOc0U3Rw0xcUPQzgENW1OoLTe5JwvcKWe7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710363; a=rsa-sha256; cv=none; b=EbZJkcMUVHW6lpBiqy1kpDCsRwN0jdMNe3/Riqyw2adY2hCvREDXemTQJgZ18gPSeg3FBh SVz1LNKjBt75/wmqvv1OgFdL3oc1PIv6aSzAhesYF3lhWw8Lueo+kukdV5Gy7Wt8542dtf Gz4qj21k9/BC2tPyiQtV/E5tJjRiJ5bDZF7jM2Bp1fO2vhX1Aqe+mN8qTLdEh0Po1zfgcm dws4KHTnd/2FzMCy4iw/WDUQ1Tk7acJOc1Uz0COGD2GXb5v8iXnzGhGwQPgEU9+oE/61eP JaLy9Tnf/P31ANxOqxuAmNKPUc5pWUfo+eWfh+xVZmI3JBl9LldspZPJ3dPIJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJjR3Q2rz1BKg; Wed, 1 Jan 2025 05:46: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 5015k3fv038380; Wed, 1 Jan 2025 05:46:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015k3G8038376; Wed, 1 Jan 2025 05:46:03 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:46:03 GMT Message-Id: <202501010546.5015k3G8038376@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 2882d0c61aeb - stable/14 - usb: serial: propagate errors from ucom_queue_command() 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2882d0c61aebab77e8f2cc5b7cace6186bb8cb01 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2882d0c61aebab77e8f2cc5b7cace6186bb8cb01 commit 2882d0c61aebab77e8f2cc5b7cace6186bb8cb01 Author: Kyle Evans AuthorDate: 2024-12-11 01:23:10 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:45:20 +0000 usb: serial: propagate errors from ucom_queue_command() There's only one error that we can get back right now, but future changes will add some more cases that we need to watch out for. Start by returning errors and propagating them back. Reviewed by: kib (cherry picked from commit 51f3d0874f6216907c8971c4af9d6be6c93edf7b) --- sys/dev/usb/serial/usb_serial.c | 49 ++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index 300438010c05..11a2e1078a67 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -151,7 +151,7 @@ static int ucom_unit_alloc(void); static void ucom_unit_free(int); static int ucom_attach_tty(struct ucom_super_softc *, struct ucom_softc *); static void ucom_detach_tty(struct ucom_super_softc *, struct ucom_softc *); -static void ucom_queue_command(struct ucom_softc *, +static int ucom_queue_command(struct ucom_softc *, usb_proc_callback_t *, struct termios *pt, struct usb_proc_msg *t0, struct usb_proc_msg *t1); static void ucom_shutdown(struct ucom_softc *); @@ -592,7 +592,7 @@ ucom_set_usb_mode(struct ucom_super_softc *ssc, enum usb_hc_mode usb_mode) } } -static void +static int ucom_queue_command(struct ucom_softc *sc, usb_proc_callback_t *fn, struct termios *pt, struct usb_proc_msg *t0, struct usb_proc_msg *t1) @@ -604,7 +604,7 @@ ucom_queue_command(struct ucom_softc *sc, if (usb_proc_is_gone(&ssc->sc_tq)) { DPRINTF("proc is gone\n"); - return; /* nothing to do */ + return (ENXIO); /* nothing to do */ } /* * NOTE: The task cannot get executed before we drop the @@ -637,6 +637,8 @@ ucom_queue_command(struct ucom_softc *sc, */ if (fn == ucom_cfg_start_transfers) sc->sc_last_start_xfer = &task->hdr; + + return (0); } static void @@ -760,9 +762,8 @@ ucom_open(struct tty *tp) * example if the device is not present: */ error = (sc->sc_callback->ucom_pre_open) (sc); - if (error) { - return (error); - } + if (error != 0) + goto out; } sc->sc_flag |= UCOM_FLAG_HL_READY; @@ -782,14 +783,18 @@ ucom_open(struct tty *tp) sc->sc_jitterbuf_in = 0; sc->sc_jitterbuf_out = 0; - ucom_queue_command(sc, ucom_cfg_open, NULL, + error = ucom_queue_command(sc, ucom_cfg_open, NULL, &sc->sc_open_task[0].hdr, &sc->sc_open_task[1].hdr); + if (error != 0) + goto out; /* Queue transfer enable command last */ - ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, - &sc->sc_start_task[0].hdr, + error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, + &sc->sc_start_task[0].hdr, &sc->sc_start_task[1].hdr); + if (error != 0) + goto out; if (sc->sc_tty == NULL || (sc->sc_tty->t_termios.c_cflag & CNO_RTSDTR) == 0) ucom_modem(tp, SER_DTR | SER_RTS, 0); @@ -800,7 +805,8 @@ ucom_open(struct tty *tp) ucom_status_change(sc); - return (0); +out: + return (error); } static void @@ -836,7 +842,7 @@ ucom_close(struct tty *tp) } ucom_shutdown(sc); - ucom_queue_command(sc, ucom_cfg_close, NULL, + (void)ucom_queue_command(sc, ucom_cfg_close, NULL, &sc->sc_close_task[0].hdr, &sc->sc_close_task[1].hdr); @@ -1077,9 +1083,12 @@ ucom_line_state(struct ucom_softc *sc, sc->sc_pls_set |= set_bits; sc->sc_pls_clr |= clear_bits; - /* defer driver programming */ - ucom_queue_command(sc, ucom_cfg_line_state, NULL, - &sc->sc_line_state_task[0].hdr, + /* + * defer driver programming - we don't propagate any error from + * this call because we'll catch such errors further up the call stack. + */ + (void)ucom_queue_command(sc, ucom_cfg_line_state, NULL, + &sc->sc_line_state_task[0].hdr, &sc->sc_line_state_task[1].hdr); } @@ -1236,7 +1245,7 @@ ucom_status_change(struct ucom_softc *sc) } DPRINTF("\n"); - ucom_queue_command(sc, ucom_cfg_status_change, NULL, + (void)ucom_queue_command(sc, ucom_cfg_status_change, NULL, &sc->sc_status_task[0].hdr, &sc->sc_status_task[1].hdr); } @@ -1310,14 +1319,18 @@ ucom_param(struct tty *tp, struct termios *t) sc->sc_flag &= ~UCOM_FLAG_GP_DATA; /* Queue baud rate programming command first */ - ucom_queue_command(sc, ucom_cfg_param, t, + error = ucom_queue_command(sc, ucom_cfg_param, t, &sc->sc_param_task[0].hdr, &sc->sc_param_task[1].hdr); + if (error != 0) + goto done; /* Queue transfer enable command last */ - ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, - &sc->sc_start_task[0].hdr, + error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, + &sc->sc_start_task[0].hdr, &sc->sc_start_task[1].hdr); + if (error != 0) + goto done; if (t->c_cflag & CRTS_IFLOW) { sc->sc_flag |= UCOM_FLAG_RTS_IFLOW; From nobody Wed Jan 1 05:46: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 4YNJjS5k2sz5jNHx; Wed, 01 Jan 2025 05:46: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 4YNJjS4XdRz4P1w; Wed, 1 Jan 2025 05:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkPAfhvpBoC9D9JJXt5FryDCprneZk1whUo/cJW5bCo=; b=ppzfPTbsxQF2ojN8HY8XUwJ3XbIlucLNC0Bot6yHTRA8XMMGkLaWV/ZrW3KGkdHGIAfnmN 5UfI2kcuZ3aYpmJ1gyz5VDcEi/wRzwP8w7Jdurcjb8stiusH1aHNadvrCM6q3u30KZhU7d BWjd3l9xAyrloztOoQpPYJoYbo1+ifhEcuaI9E71cOHf0Rcp+cfk0CRiuO/uJhmEIoM32l lWhzOIGvxWnAKdGVlpbGDjpLgdekIkXUn4RfJit9hCdG8mX4cZ87NZr51p6v+1/ZCgsmup vvQw5wC3yyVjtXso0J46oeHxrS5BE7xlmvF8grfq8GHv1tL/djaSUO5G0ugo1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gkPAfhvpBoC9D9JJXt5FryDCprneZk1whUo/cJW5bCo=; b=tBVaHtygXpFTfHPCVdh+AE/x72jMyaO9kGTUVb/4OH1ItOANwu+0tihbOF8H6Tuz/tWgCL JYCssND00AgGICTdGBpkiHdNStMjPEmCqlDLEgfwT76jrcVN3e2R3bWFKKhEOrdaMwOa2w 3WQmv9SrD8jvs9Kf9UckjHlOjcSU/g9rclnbBzmmmjmlLl392ADwpEKDDj4Cfu0b3mn2at VLUbpJ/74Rtlalnmp40aKrYnEnyt93FYe21d6n20am8wl7AndaLrso6ezN98VrDyFBZX74 +10T0/mWQnl+L4D9g8IhrDLc6ct7zowofldRG1Dd4JnUxbDswvcQfs104M7i5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710364; a=rsa-sha256; cv=none; b=gId3X85HZRLLFJBoqegGkwsRUz+9hd0hyajx1CRy7i8FN/CJJTgUMuZzfR6VwnpbIFDt25 aLy0Q+wRA5LniL4r7aoiDE7hm/j0BeqMu1wQTGuerUHiaTVwXpHwyW6EgnzSFPQmajK4Vy fNV7H149oRmsQbyvEgrKjHCmhMHj6ewVufUi+RJ0QmqzvjuPZaiJONSqu2b7edxsV91SQ2 +cY+D2s4soGLdKCf0oiGroPtXpdf3vZRhh9045gegozR8NVhAbnoY0QNe3MZDyeDzS+H2q MA1Ct3AAukbWAU8D9a09BxoKhELbeuWdZ1F/0N3OfvWNbOGhU4ITyxpyIswuxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJjS48sKz1BlD; Wed, 1 Jan 2025 05:46: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 5015k4JA038436; Wed, 1 Jan 2025 05:46:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015k4K1038433; Wed, 1 Jan 2025 05:46:04 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:46:04 GMT Message-Id: <202501010546.5015k4K1038433@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 2ba5217057bd - stable/14 - usb: serial: allow the open/close sleep to be interruptible 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2ba5217057bdf94a4929dc7644f4e39be06fdef3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2ba5217057bdf94a4929dc7644f4e39be06fdef3 commit 2ba5217057bdf94a4929dc7644f4e39be06fdef3 Author: Kyle Evans AuthorDate: 2024-12-11 01:23:10 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:45:24 +0000 usb: serial: allow the open/close sleep to be interruptible ucom_queue_command will issue commands for open/close, then wait on them to be finished. In the spirit of playing it safe, allow ucom_queue_command's wait to be interrupted in case the usb process gets jammed up waiting on the hardware -- we can at least recover the user thread that initiated it, even if we can't recover the usb process. Reviewed by: imp, kib (cherry picked from commit 729eb176a465cedc55c5980f116d87be592421f1) --- sys/dev/usb/serial/usb_serial.c | 14 +++++++-- sys/dev/usb/usb_process.c | 69 ++++++++++++++++++++++++++++++++--------- sys/dev/usb/usb_process.h | 1 + sys/dev/usb/usbdi.h | 2 ++ 4 files changed, 69 insertions(+), 17 deletions(-) diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index 11a2e1078a67..30a0c6203086 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -599,6 +599,7 @@ ucom_queue_command(struct ucom_softc *sc, { struct ucom_super_softc *ssc = sc->sc_super; struct ucom_param_task *task; + int error; UCOM_MTX_ASSERT(sc, MA_OWNED); @@ -628,8 +629,15 @@ ucom_queue_command(struct ucom_softc *sc, /* * Closing or opening the device should be synchronous. */ - if (fn == ucom_cfg_close || fn == ucom_cfg_open) - usb_proc_mwait(&ssc->sc_tq, t0, t1); + if (fn == ucom_cfg_close || fn == ucom_cfg_open) { + error = usb_proc_mwait_sig(&ssc->sc_tq, t0, t1); + + /* usb_proc_mwait_sig may have dropped the tty lock. */ + if (error == 0 && sc->sc_tty != NULL && tty_gone(sc->sc_tty)) + error = ENXIO; + } else { + error = 0; + } /* * In case of multiple configure requests, @@ -638,7 +646,7 @@ ucom_queue_command(struct ucom_softc *sc, if (fn == ucom_cfg_start_transfers) sc->sc_last_start_xfer = &task->hdr; - return (0); + return (error); } static void diff --git a/sys/dev/usb/usb_process.c b/sys/dev/usb/usb_process.c index d88de92336f2..4507c999f50a 100644 --- a/sys/dev/usb/usb_process.c +++ b/sys/dev/usb/usb_process.c @@ -361,25 +361,21 @@ usb_proc_is_gone(struct usb_process *up) return (0); } -/*------------------------------------------------------------------------* - * usb_proc_mwait - * - * This function will return when the USB process message pointed to - * by "pm" is no longer on a queue. This function must be called - * having "up->up_mtx" locked. - *------------------------------------------------------------------------*/ -void -usb_proc_mwait(struct usb_process *up, void *_pm0, void *_pm1) +static int +usb_proc_mwait_impl(struct usb_process *up, void *_pm0, void *_pm1, + bool interruptible) { struct usb_proc_msg *pm0 = _pm0; struct usb_proc_msg *pm1 = _pm1; + int error; /* check if gone */ if (up->up_gone) - return; + return (ENXIO); USB_MTX_ASSERT(up->up_mtx, MA_OWNED); + error = 0; if (up->up_curtd == curthread) { /* Just remove the messages from the queue. */ if (pm0->pm_qentry.tqe_prev) { @@ -391,14 +387,59 @@ usb_proc_mwait(struct usb_process *up, void *_pm0, void *_pm1) pm1->pm_qentry.tqe_prev = NULL; } } else - while (pm0->pm_qentry.tqe_prev || - pm1->pm_qentry.tqe_prev) { + while (error == 0 && (pm0->pm_qentry.tqe_prev || + pm1->pm_qentry.tqe_prev)) { /* check if config thread is gone */ if (up->up_gone) - break; + return (ENXIO); up->up_dsleep = 1; - cv_wait(&up->up_drain, up->up_mtx); + if (interruptible) { + error = cv_wait_sig(&up->up_drain, up->up_mtx); + + /* + * The fact that we were interrupted doesn't + * matter if our goal was accomplished anyways. + */ + if (error != 0 && !USB_PROC_MSG_ENQUEUED(pm0) && + !USB_PROC_MSG_ENQUEUED(pm1)) + error = 0; + } else { + cv_wait(&up->up_drain, up->up_mtx); + } } + + if (error == ERESTART) + error = EINTR; + return (error); +} + +/*------------------------------------------------------------------------* + * usb_proc_mwait + * + * This function will return when the USB process message pointed to + * by "pm" is no longer on a queue. This function must be called + * having "up->up_mtx" locked. + *------------------------------------------------------------------------*/ +void +usb_proc_mwait(struct usb_process *up, void *_pm0, void *_pm1) +{ + + (void)usb_proc_mwait_impl(up, _pm0, _pm1, false); +} + +/*------------------------------------------------------------------------* + * usb_proc_mwait_sig + * + * This function will return when the USB process message pointed to + * by "pm" is no longer on a queue. This function must be called + * having "up->up_mtx" locked. This version of usb_proc_mwait is + * interruptible. + *------------------------------------------------------------------------*/ +int +usb_proc_mwait_sig(struct usb_process *up, void *_pm0, void *_pm1) +{ + + return (usb_proc_mwait_impl(up, _pm0, _pm1, true)); } /*------------------------------------------------------------------------* diff --git a/sys/dev/usb/usb_process.h b/sys/dev/usb/usb_process.h index 6a8ac0acda33..745d214d2106 100644 --- a/sys/dev/usb/usb_process.h +++ b/sys/dev/usb/usb_process.h @@ -76,6 +76,7 @@ int usb_proc_create(struct usb_process *up, struct mtx *p_mtx, const char *pmesg, uint8_t prio); void usb_proc_drain(struct usb_process *up); void usb_proc_mwait(struct usb_process *up, void *pm0, void *pm1); +int usb_proc_mwait_sig(struct usb_process *up, void *pm0, void *pm1); void usb_proc_free(struct usb_process *up); void *usb_proc_msignal(struct usb_process *up, void *pm0, void *pm1); void usb_proc_rewakeup(struct usb_process *up); diff --git a/sys/dev/usb/usbdi.h b/sys/dev/usb/usbdi.h index 5192591281f4..08d130aa2868 100644 --- a/sys/dev/usb/usbdi.h +++ b/sys/dev/usb/usbdi.h @@ -525,6 +525,8 @@ struct usb_proc_msg { usb_size_t pm_num; }; +#define USB_PROC_MSG_ENQUEUED(msg) ((msg)->pm_qentry.tqe_prev != NULL) + #define USB_FIFO_TX 0 #define USB_FIFO_RX 1 From nobody Wed Jan 1 05:46: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 4YNJjV2d2Xz5jNYh; Wed, 01 Jan 2025 05:46: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 4YNJjT6xfkz4PN8; Wed, 1 Jan 2025 05:46:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+TxT34WAabwvncHrWhXgyEF85MWQrJXpMog+wkHEDA=; b=ncexmx/pbKkNzSlVF4/uHHqD4w7Q9m8a/JiOjXXhXy8YlHoTBSTNMMyqRKbQNLmx+uiU9T CMhvVQ7WgCbygoE5uFt2vK0croSAUERT0o1R1cQ0mo/CAKdgRZXtt8cE2J/FaR2RtQT5Hg Fr7/fHQyTd/vtMGB2YrTpmifxIuZNp+PQLflSgdEROeEhxMNomeX0KvbnGv3rnYo35BBHu +Syn8J2MuA+n+f1A/9GkikvcRXYQ7vqaPdTloewxf+kEK3JsgcfG40k2ddsw9Qfn3HvmBJ 6hu6BEOVZ372LzzHQYQ7JR5yXl72oF25xvBudtXyVJ4cG12/XigVebdF2xfWiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+TxT34WAabwvncHrWhXgyEF85MWQrJXpMog+wkHEDA=; b=uM0VfjRRFQS2jsbkw10QZoXImP/9D5gZrsTHbldxLXm5j9p97c+zgS159ZQiZYH9Vr5p7s //SNXIyGoJISwdZLRfoujdfu5JqUoXv22SWvhbPGqzpkKSjiv6qw+Dt99h5AdSc8qOrNW/ xaJ6d3k4/WlH9FeF7QkRhYGoErifUh5kU3nBCKjzV1jGbQcGkuiZOB3pfHCcyqf9cWB6Q+ tZQO0S8QeoYKeFtSERsSMHUsEakIHXiogKsBFQxV448bTOTLmUoowpQ0/9jonouQyBbR5I STT6DIbJwIss7n3t66sX6+jIMGCS2W0afGdpnOH3QzuJMRBkw32HpvlfMI2vRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710366; a=rsa-sha256; cv=none; b=MBvH1bjXQyXa32XaY6uEari5PkPhMW0pvVmOXNjqOH/L9sApfP1drNlZbqEoqWr6mwX+U/ x/HQDi+OxFjHS4N30wEoXxnwMJEivRPCHrKa1T517VQR9Ap+wVvK0Q3gIzSM071pWXVzF9 xCDZu0zXHDpOlPkRz5+LW9hRAi6l74KairABZuJ7ocypi8NeswdRKLcou1eDeeTkjWTR31 dpoxDXguPYQFVE/T/TwWv3nhHP6fLlZEFGHeRj8v4YF+wWlVRX/Y+Or6DbOOoguZ8mOoKI /qzaCPHCVPWYpjZ9IBUJJZewV+0m37x9AMEFWKmugdm8dI3nZ3SNObpoA6AaKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJjT59GJz1Bhr; Wed, 1 Jan 2025 05:46: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 5015k5qe038489; Wed, 1 Jan 2025 05:46:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015k52n038486; Wed, 1 Jan 2025 05:46:05 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:46:05 GMT Message-Id: <202501010546.5015k52n038486@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 4c20884b3735 - stable/14 - usb: serial: make more commands execute synchronously 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4c20884b3735a17b668bca49a50b8ace4d7fa4ba Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=4c20884b3735a17b668bca49a50b8ace4d7fa4ba commit 4c20884b3735a17b668bca49a50b8ace4d7fa4ba Author: Kyle Evans AuthorDate: 2024-12-11 01:23:10 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:45:26 +0000 usb: serial: make more commands execute synchronously The termios layer wants some level of guarantee that we've actually submitted param changes to the hardware when our functions return, so we need to do a little more waiting to avoid violating those guarantees. This is especially important as some hardware has some minimum timing specifications around this stuff, and without being less asynchronous the software dealing with these devices can't reasonably operate the hardware without more excessive delays than they should need. More specifically, we make sure that: - The command to start transfers is finished before we toggle DTR/RTS - The status_change command finishes before we return, which may change some fields in the softc that we need for a subsequent call into usb_serial - cfg_param finishes before we re-enable transfers, and we ensure that RTS is appropriately toggled before we return to userland This has been observed to fix some flakiness in connecting to some ESP32 devices. Tested by: kenrap from Libera Reviewed by: imp, kib (cherry picked from commit 36a80f4264350a2f4f0686eb91ae7f5943d40327) --- sys/dev/usb/serial/usb_serial.c | 69 +++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 13 deletions(-) diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index 30a0c6203086..dfae051ecfd6 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -153,7 +153,7 @@ static int ucom_attach_tty(struct ucom_super_softc *, struct ucom_softc *); static void ucom_detach_tty(struct ucom_super_softc *, struct ucom_softc *); static int ucom_queue_command(struct ucom_softc *, usb_proc_callback_t *, struct termios *pt, - struct usb_proc_msg *t0, struct usb_proc_msg *t1); + struct usb_proc_msg *t0, struct usb_proc_msg *t1, bool wait); static void ucom_shutdown(struct ucom_softc *); static void ucom_ring(struct ucom_softc *, uint8_t); static void ucom_break(struct ucom_softc *, uint8_t); @@ -592,10 +592,43 @@ ucom_set_usb_mode(struct ucom_super_softc *ssc, enum usb_hc_mode usb_mode) } } +static void +ucom_command_barrier_cb(struct usb_proc_msg *msg __unused) +{ + /* NOP */ +} + +/* + * ucom_command_barrier inserts a dummy task and waits for it so that we can be + * certain that previously enqueued tasks are finished before returning back to + * the tty layer. + */ +static int +ucom_command_barrier(struct ucom_softc *sc) +{ + struct ucom_super_softc *ssc = sc->sc_super; + struct usb_proc_msg dummy = { .pm_callback = ucom_command_barrier_cb }; + struct usb_proc_msg *task; + int error; + + UCOM_MTX_ASSERT(sc, MA_OWNED); + + if (usb_proc_is_gone(&ssc->sc_tq)) { + DPRINTF("proc is gone\n"); + return (ENXIO); /* nothing to do */ + } + + task = usb_proc_msignal(&ssc->sc_tq, &dummy, &dummy); + error = usb_proc_mwait_sig(&ssc->sc_tq, task, task); + if (error == 0 && sc->sc_tty != NULL && tty_gone(sc->sc_tty)) + error = ENXIO; + return (error); +} + static int ucom_queue_command(struct ucom_softc *sc, usb_proc_callback_t *fn, struct termios *pt, - struct usb_proc_msg *t0, struct usb_proc_msg *t1) + struct usb_proc_msg *t0, struct usb_proc_msg *t1, bool wait) { struct ucom_super_softc *ssc = sc->sc_super; struct ucom_param_task *task; @@ -629,7 +662,7 @@ ucom_queue_command(struct ucom_softc *sc, /* * Closing or opening the device should be synchronous. */ - if (fn == ucom_cfg_close || fn == ucom_cfg_open) { + if (wait) { error = usb_proc_mwait_sig(&ssc->sc_tq, t0, t1); /* usb_proc_mwait_sig may have dropped the tty lock. */ @@ -793,14 +826,17 @@ ucom_open(struct tty *tp) error = ucom_queue_command(sc, ucom_cfg_open, NULL, &sc->sc_open_task[0].hdr, - &sc->sc_open_task[1].hdr); + &sc->sc_open_task[1].hdr, true); if (error != 0) goto out; - /* Queue transfer enable command last */ + /* + * Queue transfer enable command last, we'll have a barrier later so we + * don't need to wait on this to complete specifically. + */ error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, &sc->sc_start_task[0].hdr, - &sc->sc_start_task[1].hdr); + &sc->sc_start_task[1].hdr, true); if (error != 0) goto out; @@ -813,6 +849,7 @@ ucom_open(struct tty *tp) ucom_status_change(sc); + error = ucom_command_barrier(sc); out: return (error); } @@ -852,7 +889,7 @@ ucom_close(struct tty *tp) (void)ucom_queue_command(sc, ucom_cfg_close, NULL, &sc->sc_close_task[0].hdr, - &sc->sc_close_task[1].hdr); + &sc->sc_close_task[1].hdr, true); sc->sc_flag &= ~(UCOM_FLAG_HL_READY | UCOM_FLAG_RTS_IFLOW); @@ -933,11 +970,15 @@ ucom_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) #endif case TIOCSBRK: ucom_break(sc, 1); - error = 0; + error = ucom_command_barrier(sc); + if (error == ENXIO) + error = ENODEV; break; case TIOCCBRK: ucom_break(sc, 0); - error = 0; + error = ucom_command_barrier(sc); + if (error == ENXIO) + error = ENODEV; break; default: if (sc->sc_callback->ucom_ioctl) { @@ -1097,7 +1138,7 @@ ucom_line_state(struct ucom_softc *sc, */ (void)ucom_queue_command(sc, ucom_cfg_line_state, NULL, &sc->sc_line_state_task[0].hdr, - &sc->sc_line_state_task[1].hdr); + &sc->sc_line_state_task[1].hdr, false); } static void @@ -1255,7 +1296,7 @@ ucom_status_change(struct ucom_softc *sc) (void)ucom_queue_command(sc, ucom_cfg_status_change, NULL, &sc->sc_status_task[0].hdr, - &sc->sc_status_task[1].hdr); + &sc->sc_status_task[1].hdr, true); } static void @@ -1329,14 +1370,14 @@ ucom_param(struct tty *tp, struct termios *t) /* Queue baud rate programming command first */ error = ucom_queue_command(sc, ucom_cfg_param, t, &sc->sc_param_task[0].hdr, - &sc->sc_param_task[1].hdr); + &sc->sc_param_task[1].hdr, true); if (error != 0) goto done; /* Queue transfer enable command last */ error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, &sc->sc_start_task[0].hdr, - &sc->sc_start_task[1].hdr); + &sc->sc_start_task[1].hdr, true); if (error != 0) goto done; @@ -1346,6 +1387,8 @@ ucom_param(struct tty *tp, struct termios *t) sc->sc_flag &= ~UCOM_FLAG_RTS_IFLOW; ucom_modem(tp, SER_RTS, 0); } + + error = ucom_command_barrier(sc); done: if (error) { if (opened) { From nobody Wed Jan 1 05:48:14 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 4YNJly4YZHz5jNfj; Wed, 01 Jan 2025 05:48:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YNJly3jTzz4Q69; Wed, 1 Jan 2025 05:48:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=COCvjTS4Hc06E8aCcVhGwrH1DepV1i8RgIf2VGA58fQ=; b=kqg2bp6eZD7zPeknw1N8nmQWz6raT/gtVLykvUaUUPEKxGsnyfrDzmqkd8yBWKBn6R+yCt zpKSiO5UczI2Zt0FQXTKWc9IUlfQsGzpWdDVqet9SKth7uKrxd3OtSXTEs6LwrdsYRXs9p ubQWX1H8A6DPqpIBa9Cx79sKqSevFfnV65/J8JcuYRyc76tXwN7CaL4A3T1q5kUtWDRYa2 j9HeNSI1wyy/7v1zmjX95J7Sag0PIk94FT3nQ+PYLNEk+c/TQeiKWYGN96sACm9AEGTuTF WU1IXLF5vJFnkHTdpwpfwqOQdU7mfS2prG1xbg1IEdXn856ypMLQBXmMb9yWPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=COCvjTS4Hc06E8aCcVhGwrH1DepV1i8RgIf2VGA58fQ=; b=QFZHnUyfWZreloG8MMDXB/EpCtMOSVQsoLeeuDBa1nNq8wgtYBXb68sjaFpx2tupkzpZfQ bhmxEHO8B9UqBOAs3XIsQLcZFDa7SYTqU2FcCH26iqpuWsiBL8PsJAPhZ+/T/KMwLjSlMl NUbq8/2qTPYU5/JMzB7T2RqblTVUWRnrf5xRwTGINSgZ40JgvsLmquLK7HxWO7Buwjph9+ fvk2dKrawQ+76PzXIffA+Rasa4Yqg+RYQ6ruZnFeLpm/A7Q9/LAwj2QCWczxrmv9qqN0em ncGOx4ql3IqW4DgMboRyEoEDvq43GpyHL8RNGws/pdi25CIsZK9DWOoBT7E98A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710494; a=rsa-sha256; cv=none; b=grEE7l0PoglAmjFMU0+WFLopouBAGGRXcUYILgIWAembzlXwEbG4jOydURkfAMqA243Cou wqjlQ02JNhJtuTh9xpPHqP4UfjkqwW4dM52DKdlEKWkBJqkUSqbaHQXT7nM70f/1g/edRe D5NAFpoyRqqagTa4JE0dzrJr2v4oVf8W1eP0mrA3tyZpvrDDFA3SE720z30C5iRUnB7Wbz UkOL0kX618YolqPz5w3RlgYWt/yEOqCt8G5cniPIlV/jRhl84AB1lOUs3EwK3OpkhYLDSn rZj3QmsnPTieEw8jotqKgAB3TXIP1bnf9p7jxTVqLVvttGf49FzJlhL9cxiX9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJly35Z8z1BHQ; Wed, 1 Jan 2025 05:48:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5015mELO039246; Wed, 1 Jan 2025 05:48:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015mErc039243; Wed, 1 Jan 2025 05:48:14 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:48:14 GMT Message-Id: <202501010548.5015mErc039243@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 360d3fe8743d - stable/13 - usb: serial: propagate errors from ucom_queue_command() 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 360d3fe8743dbc9dc500b057ccdfd9c36743ef58 Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=360d3fe8743dbc9dc500b057ccdfd9c36743ef58 commit 360d3fe8743dbc9dc500b057ccdfd9c36743ef58 Author: Kyle Evans AuthorDate: 2024-12-11 01:23:10 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:47:47 +0000 usb: serial: propagate errors from ucom_queue_command() There's only one error that we can get back right now, but future changes will add some more cases that we need to watch out for. Start by returning errors and propagating them back. Reviewed by: kib (cherry picked from commit 51f3d0874f6216907c8971c4af9d6be6c93edf7b) --- sys/dev/usb/serial/usb_serial.c | 49 ++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index 9dc69a7260d2..8787d4fe3381 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -151,7 +151,7 @@ static int ucom_unit_alloc(void); static void ucom_unit_free(int); static int ucom_attach_tty(struct ucom_super_softc *, struct ucom_softc *); static void ucom_detach_tty(struct ucom_super_softc *, struct ucom_softc *); -static void ucom_queue_command(struct ucom_softc *, +static int ucom_queue_command(struct ucom_softc *, usb_proc_callback_t *, struct termios *pt, struct usb_proc_msg *t0, struct usb_proc_msg *t1); static void ucom_shutdown(struct ucom_softc *); @@ -592,7 +592,7 @@ ucom_set_usb_mode(struct ucom_super_softc *ssc, enum usb_hc_mode usb_mode) } } -static void +static int ucom_queue_command(struct ucom_softc *sc, usb_proc_callback_t *fn, struct termios *pt, struct usb_proc_msg *t0, struct usb_proc_msg *t1) @@ -604,7 +604,7 @@ ucom_queue_command(struct ucom_softc *sc, if (usb_proc_is_gone(&ssc->sc_tq)) { DPRINTF("proc is gone\n"); - return; /* nothing to do */ + return (ENXIO); /* nothing to do */ } /* * NOTE: The task cannot get executed before we drop the @@ -637,6 +637,8 @@ ucom_queue_command(struct ucom_softc *sc, */ if (fn == ucom_cfg_start_transfers) sc->sc_last_start_xfer = &task->hdr; + + return (0); } static void @@ -760,9 +762,8 @@ ucom_open(struct tty *tp) * example if the device is not present: */ error = (sc->sc_callback->ucom_pre_open) (sc); - if (error) { - return (error); - } + if (error != 0) + goto out; } sc->sc_flag |= UCOM_FLAG_HL_READY; @@ -782,14 +783,18 @@ ucom_open(struct tty *tp) sc->sc_jitterbuf_in = 0; sc->sc_jitterbuf_out = 0; - ucom_queue_command(sc, ucom_cfg_open, NULL, + error = ucom_queue_command(sc, ucom_cfg_open, NULL, &sc->sc_open_task[0].hdr, &sc->sc_open_task[1].hdr); + if (error != 0) + goto out; /* Queue transfer enable command last */ - ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, - &sc->sc_start_task[0].hdr, + error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, + &sc->sc_start_task[0].hdr, &sc->sc_start_task[1].hdr); + if (error != 0) + goto out; if (sc->sc_tty == NULL || (sc->sc_tty->t_termios.c_cflag & CNO_RTSDTR) == 0) ucom_modem(tp, SER_DTR | SER_RTS, 0); @@ -800,7 +805,8 @@ ucom_open(struct tty *tp) ucom_status_change(sc); - return (0); +out: + return (error); } static void @@ -836,7 +842,7 @@ ucom_close(struct tty *tp) } ucom_shutdown(sc); - ucom_queue_command(sc, ucom_cfg_close, NULL, + (void)ucom_queue_command(sc, ucom_cfg_close, NULL, &sc->sc_close_task[0].hdr, &sc->sc_close_task[1].hdr); @@ -1077,9 +1083,12 @@ ucom_line_state(struct ucom_softc *sc, sc->sc_pls_set |= set_bits; sc->sc_pls_clr |= clear_bits; - /* defer driver programming */ - ucom_queue_command(sc, ucom_cfg_line_state, NULL, - &sc->sc_line_state_task[0].hdr, + /* + * defer driver programming - we don't propagate any error from + * this call because we'll catch such errors further up the call stack. + */ + (void)ucom_queue_command(sc, ucom_cfg_line_state, NULL, + &sc->sc_line_state_task[0].hdr, &sc->sc_line_state_task[1].hdr); } @@ -1236,7 +1245,7 @@ ucom_status_change(struct ucom_softc *sc) } DPRINTF("\n"); - ucom_queue_command(sc, ucom_cfg_status_change, NULL, + (void)ucom_queue_command(sc, ucom_cfg_status_change, NULL, &sc->sc_status_task[0].hdr, &sc->sc_status_task[1].hdr); } @@ -1310,14 +1319,18 @@ ucom_param(struct tty *tp, struct termios *t) sc->sc_flag &= ~UCOM_FLAG_GP_DATA; /* Queue baud rate programming command first */ - ucom_queue_command(sc, ucom_cfg_param, t, + error = ucom_queue_command(sc, ucom_cfg_param, t, &sc->sc_param_task[0].hdr, &sc->sc_param_task[1].hdr); + if (error != 0) + goto done; /* Queue transfer enable command last */ - ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, - &sc->sc_start_task[0].hdr, + error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, + &sc->sc_start_task[0].hdr, &sc->sc_start_task[1].hdr); + if (error != 0) + goto done; if (t->c_cflag & CRTS_IFLOW) { sc->sc_flag |= UCOM_FLAG_RTS_IFLOW; From nobody Wed Jan 1 05:48:15 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 4YNJlz5F6yz5jNhh; Wed, 01 Jan 2025 05:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YNJlz4Ztwz4Q8P; Wed, 1 Jan 2025 05:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T2bymZ2ZH+NrU/unUp7bk6xyOHxhbOycp2YVE9wFJbY=; b=rKkN/DS0S/wdZORnJW8o+VcAQ2p29dvq71FTuz1NOo0866Kc8AUrPHz9Rr+EOsbISITe4x DsmyFkGhoYJFEziCNfHJV0yPm1GrkyGbzIlI0CenW98R6MPHOO94ZuDmchqZlpz8Yv9kdi +dLMSOedV94BuR4hroJ62U9uiO8gQWezEsG1y47EQVKKzlS3l8SfYyvAfkD3c3JCyKwnYB m7V9h1oHejcpGqy4O8Kb+KG37aRBzqu13RftcH7li9r81FOsfJOPtetwAfa3Tfoca1dEFU /0qVo0JagZpGhN3VYAb6GwvEtGFZBXuvfxUGAqHHJXdNQ0hX9txyEdnYbP5ChQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T2bymZ2ZH+NrU/unUp7bk6xyOHxhbOycp2YVE9wFJbY=; b=lLxH1Lniqs/sLj01eoG7LkYw0xHqu/ykCvBgrtCPLM4reHAU9AQHAWA6OGVaxubqhmJHgk ybw0aq4iRiB8DgdyvM/zrY/flzEXrZcKSHyFxdpGf3UtRz7oavDnJIfYvGNsZONd0cR2DW Go3Y8+VIIGCEPxxyUZukjLdIhkwI43EU1YHsSCUXAj509dCZMT1Owt8YiJiJD6RB0vy/IV qpW0COt7g3v6tLvhbWVsAfEuO5wix23WKXo1Y3AjQYB+JL5L4Jy4u8rx13zd00r8L9R8lg jALZc0mXvEVvn0S6p5ulIrHhjb1njIASkKtglbg9ujC2XIRCswMCfkTP4/J8hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710495; a=rsa-sha256; cv=none; b=BqHj/EwE1JSNuCCWd+PT94ucme0xq5TxW2TcAPzeS70ltWUJid4bD+VqXaw268y/JBlg0V cNZewq5Xaa9Z8TyrIg//Iwf4yrG65E0Vklr7Z/LDwTKFNMSZC3KwNX/VavBkBnI93GS42T tORyht184qe6Cx/51T9XV1Rbxrw8yw9SA7S5Cj3UdsEC4F9Hwi6wwiBNGnDXGOqcYjOu6z x59qEGAXcoTgsWsyGwVfYvl3DU1ndaRuuGjHLm38EoqqYDAzeCHhiZ0V5hM1yYdUW+dwHD G9bn/E8d5ePHwisw6QpUDHtsmVleYVNYRqWV8UOrLppESc7UuHdJteLUFNX3HQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJlz49rMz1BDb; Wed, 1 Jan 2025 05:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5015mFXc039303; Wed, 1 Jan 2025 05:48:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015mFes039300; Wed, 1 Jan 2025 05:48:15 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:48:15 GMT Message-Id: <202501010548.5015mFes039300@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 0fb0a408a13c - stable/13 - usb: serial: allow the open/close sleep to be interruptible 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0fb0a408a13c7ec7ff6834a213aede35b26419fa Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=0fb0a408a13c7ec7ff6834a213aede35b26419fa commit 0fb0a408a13c7ec7ff6834a213aede35b26419fa Author: Kyle Evans AuthorDate: 2024-12-11 01:23:10 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:47:47 +0000 usb: serial: allow the open/close sleep to be interruptible ucom_queue_command will issue commands for open/close, then wait on them to be finished. In the spirit of playing it safe, allow ucom_queue_command's wait to be interrupted in case the usb process gets jammed up waiting on the hardware -- we can at least recover the user thread that initiated it, even if we can't recover the usb process. Reviewed by: imp, kib (cherry picked from commit 729eb176a465cedc55c5980f116d87be592421f1) --- sys/dev/usb/serial/usb_serial.c | 14 +++++++-- sys/dev/usb/usb_process.c | 69 ++++++++++++++++++++++++++++++++--------- sys/dev/usb/usb_process.h | 1 + sys/dev/usb/usbdi.h | 2 ++ 4 files changed, 69 insertions(+), 17 deletions(-) diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index 8787d4fe3381..ce9e0ec62bb5 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -599,6 +599,7 @@ ucom_queue_command(struct ucom_softc *sc, { struct ucom_super_softc *ssc = sc->sc_super; struct ucom_param_task *task; + int error; UCOM_MTX_ASSERT(sc, MA_OWNED); @@ -628,8 +629,15 @@ ucom_queue_command(struct ucom_softc *sc, /* * Closing or opening the device should be synchronous. */ - if (fn == ucom_cfg_close || fn == ucom_cfg_open) - usb_proc_mwait(&ssc->sc_tq, t0, t1); + if (fn == ucom_cfg_close || fn == ucom_cfg_open) { + error = usb_proc_mwait_sig(&ssc->sc_tq, t0, t1); + + /* usb_proc_mwait_sig may have dropped the tty lock. */ + if (error == 0 && sc->sc_tty != NULL && tty_gone(sc->sc_tty)) + error = ENXIO; + } else { + error = 0; + } /* * In case of multiple configure requests, @@ -638,7 +646,7 @@ ucom_queue_command(struct ucom_softc *sc, if (fn == ucom_cfg_start_transfers) sc->sc_last_start_xfer = &task->hdr; - return (0); + return (error); } static void diff --git a/sys/dev/usb/usb_process.c b/sys/dev/usb/usb_process.c index d88de92336f2..4507c999f50a 100644 --- a/sys/dev/usb/usb_process.c +++ b/sys/dev/usb/usb_process.c @@ -361,25 +361,21 @@ usb_proc_is_gone(struct usb_process *up) return (0); } -/*------------------------------------------------------------------------* - * usb_proc_mwait - * - * This function will return when the USB process message pointed to - * by "pm" is no longer on a queue. This function must be called - * having "up->up_mtx" locked. - *------------------------------------------------------------------------*/ -void -usb_proc_mwait(struct usb_process *up, void *_pm0, void *_pm1) +static int +usb_proc_mwait_impl(struct usb_process *up, void *_pm0, void *_pm1, + bool interruptible) { struct usb_proc_msg *pm0 = _pm0; struct usb_proc_msg *pm1 = _pm1; + int error; /* check if gone */ if (up->up_gone) - return; + return (ENXIO); USB_MTX_ASSERT(up->up_mtx, MA_OWNED); + error = 0; if (up->up_curtd == curthread) { /* Just remove the messages from the queue. */ if (pm0->pm_qentry.tqe_prev) { @@ -391,14 +387,59 @@ usb_proc_mwait(struct usb_process *up, void *_pm0, void *_pm1) pm1->pm_qentry.tqe_prev = NULL; } } else - while (pm0->pm_qentry.tqe_prev || - pm1->pm_qentry.tqe_prev) { + while (error == 0 && (pm0->pm_qentry.tqe_prev || + pm1->pm_qentry.tqe_prev)) { /* check if config thread is gone */ if (up->up_gone) - break; + return (ENXIO); up->up_dsleep = 1; - cv_wait(&up->up_drain, up->up_mtx); + if (interruptible) { + error = cv_wait_sig(&up->up_drain, up->up_mtx); + + /* + * The fact that we were interrupted doesn't + * matter if our goal was accomplished anyways. + */ + if (error != 0 && !USB_PROC_MSG_ENQUEUED(pm0) && + !USB_PROC_MSG_ENQUEUED(pm1)) + error = 0; + } else { + cv_wait(&up->up_drain, up->up_mtx); + } } + + if (error == ERESTART) + error = EINTR; + return (error); +} + +/*------------------------------------------------------------------------* + * usb_proc_mwait + * + * This function will return when the USB process message pointed to + * by "pm" is no longer on a queue. This function must be called + * having "up->up_mtx" locked. + *------------------------------------------------------------------------*/ +void +usb_proc_mwait(struct usb_process *up, void *_pm0, void *_pm1) +{ + + (void)usb_proc_mwait_impl(up, _pm0, _pm1, false); +} + +/*------------------------------------------------------------------------* + * usb_proc_mwait_sig + * + * This function will return when the USB process message pointed to + * by "pm" is no longer on a queue. This function must be called + * having "up->up_mtx" locked. This version of usb_proc_mwait is + * interruptible. + *------------------------------------------------------------------------*/ +int +usb_proc_mwait_sig(struct usb_process *up, void *_pm0, void *_pm1) +{ + + return (usb_proc_mwait_impl(up, _pm0, _pm1, true)); } /*------------------------------------------------------------------------* diff --git a/sys/dev/usb/usb_process.h b/sys/dev/usb/usb_process.h index 6a8ac0acda33..745d214d2106 100644 --- a/sys/dev/usb/usb_process.h +++ b/sys/dev/usb/usb_process.h @@ -76,6 +76,7 @@ int usb_proc_create(struct usb_process *up, struct mtx *p_mtx, const char *pmesg, uint8_t prio); void usb_proc_drain(struct usb_process *up); void usb_proc_mwait(struct usb_process *up, void *pm0, void *pm1); +int usb_proc_mwait_sig(struct usb_process *up, void *pm0, void *pm1); void usb_proc_free(struct usb_process *up); void *usb_proc_msignal(struct usb_process *up, void *pm0, void *pm1); void usb_proc_rewakeup(struct usb_process *up); diff --git a/sys/dev/usb/usbdi.h b/sys/dev/usb/usbdi.h index 5192591281f4..08d130aa2868 100644 --- a/sys/dev/usb/usbdi.h +++ b/sys/dev/usb/usbdi.h @@ -525,6 +525,8 @@ struct usb_proc_msg { usb_size_t pm_num; }; +#define USB_PROC_MSG_ENQUEUED(msg) ((msg)->pm_qentry.tqe_prev != NULL) + #define USB_FIFO_TX 0 #define USB_FIFO_RX 1 From nobody Wed Jan 1 05:48: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 4YNJm12Ggkz5jNZQ; Wed, 01 Jan 2025 05:48: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 4YNJm05bVvz4QC9; Wed, 1 Jan 2025 05:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6sII4LDjYh/4SOGp+PNzJBJzs9tAuGoeo26FbTVrcF8=; b=CmD3nVM/f6Ct9+r5EFQ/KG6ZFD7+xmyZ2YMkYxkjz7Bsarv7LTKq4FjglPsurGy/KY2HkT EQurNjs5Gyx888BJXEzGA0N9ppLwUiKaexugs1DmvrzyxHIuTXWAbZzbWS5VGVcSL5r70j dWQRofuGHSAFIv25Gcvw3nlyb6s/nkXLeW6+P5SCow7ogQnJEJziepDqHURbAdsEBYld9y sbgYP6F4VPajj/gcWjrtd2UmaJ1E2GqSN9r69PddPZSGZDVFQWX/oJY1m+8i0UmBrZf6ah dw7Qi+TQLpfJEaxAWW5U4XkTOr985yVrmJ+kFOfWEomnL8st8e13NMX2LaIMsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735710496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6sII4LDjYh/4SOGp+PNzJBJzs9tAuGoeo26FbTVrcF8=; b=n6nPV8jfxMmF82F0FyvAYid9Bt+WILNK9k7e1LDG06lwQtdUik8JEGwMYzr15tjV5sdFyi QTplhMLTpptGIAUkhtWi/urX9P/pAq++2BxxaNsF68OmZ1dSbq+TK+qkDZCk3X6kgltO4p JOOXD8li3/ixHdxTrSR++e53944oKMeSLaODGxWUKG2id3PC12QpXHhhzqsrQQmyAVyWtz So7iPYWTooR9ORhsrgS/oJDoBrWhF5LW/emba+2+yipoYTwPCcrl33y5rzP5iPUsdXd6xl Va93u/RvBgfT6e+z0v/4N2IVjzRiBEn4lTdlv40gM3l+syBisqIWjG3fWriGhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735710496; a=rsa-sha256; cv=none; b=VTQvCcMcuD55U3MCUo5HNRtKYdFtfQMXX0CHDEjWu09LGM7d+LvLQ9GvM1NA6U4UqQxNSX 2g43z4C3yoVE8llEQ8ew0RJHGW1eaBVcU2cnHnn+S9pfdc0VuRlpvZPzCr4AwB82XYee2h 4mjXarJqlF1J31qCGEyOwvM6iwdaaQltRLy5ZcaZ3Wj8BHuI6Oy1R58+MHTzClA2syQjoH axByzGjiOmtaNFkQJY73Gv5hlVM8FYteQvGTjZfyyORvbz+ECLnukzGR/a1rLqHwOsiotl JQLHH/izKRZulK8I/t/z3lH+rF/WAW/J8BQJGiohejtQl1EZIl1AZSznGqbHcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNJm05B1dz1BDc; Wed, 1 Jan 2025 05:48: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 5015mGou039357; Wed, 1 Jan 2025 05:48:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5015mGBk039354; Wed, 1 Jan 2025 05:48:16 GMT (envelope-from git) Date: Wed, 1 Jan 2025 05:48:16 GMT Message-Id: <202501010548.5015mGBk039354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: e374f096e7b6 - stable/13 - usb: serial: make more commands execute synchronously 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e374f096e7b61c814a2011d881b002cf406a838c Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e374f096e7b61c814a2011d881b002cf406a838c commit e374f096e7b61c814a2011d881b002cf406a838c Author: Kyle Evans AuthorDate: 2024-12-11 01:23:10 +0000 Commit: Kyle Evans CommitDate: 2025-01-01 05:47:48 +0000 usb: serial: make more commands execute synchronously The termios layer wants some level of guarantee that we've actually submitted param changes to the hardware when our functions return, so we need to do a little more waiting to avoid violating those guarantees. This is especially important as some hardware has some minimum timing specifications around this stuff, and without being less asynchronous the software dealing with these devices can't reasonably operate the hardware without more excessive delays than they should need. More specifically, we make sure that: - The command to start transfers is finished before we toggle DTR/RTS - The status_change command finishes before we return, which may change some fields in the softc that we need for a subsequent call into usb_serial - cfg_param finishes before we re-enable transfers, and we ensure that RTS is appropriately toggled before we return to userland This has been observed to fix some flakiness in connecting to some ESP32 devices. Tested by: kenrap from Libera Reviewed by: imp, kib (cherry picked from commit 36a80f4264350a2f4f0686eb91ae7f5943d40327) --- sys/dev/usb/serial/usb_serial.c | 69 +++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 13 deletions(-) diff --git a/sys/dev/usb/serial/usb_serial.c b/sys/dev/usb/serial/usb_serial.c index ce9e0ec62bb5..e5c1288166f1 100644 --- a/sys/dev/usb/serial/usb_serial.c +++ b/sys/dev/usb/serial/usb_serial.c @@ -153,7 +153,7 @@ static int ucom_attach_tty(struct ucom_super_softc *, struct ucom_softc *); static void ucom_detach_tty(struct ucom_super_softc *, struct ucom_softc *); static int ucom_queue_command(struct ucom_softc *, usb_proc_callback_t *, struct termios *pt, - struct usb_proc_msg *t0, struct usb_proc_msg *t1); + struct usb_proc_msg *t0, struct usb_proc_msg *t1, bool wait); static void ucom_shutdown(struct ucom_softc *); static void ucom_ring(struct ucom_softc *, uint8_t); static void ucom_break(struct ucom_softc *, uint8_t); @@ -592,10 +592,43 @@ ucom_set_usb_mode(struct ucom_super_softc *ssc, enum usb_hc_mode usb_mode) } } +static void +ucom_command_barrier_cb(struct usb_proc_msg *msg __unused) +{ + /* NOP */ +} + +/* + * ucom_command_barrier inserts a dummy task and waits for it so that we can be + * certain that previously enqueued tasks are finished before returning back to + * the tty layer. + */ +static int +ucom_command_barrier(struct ucom_softc *sc) +{ + struct ucom_super_softc *ssc = sc->sc_super; + struct usb_proc_msg dummy = { .pm_callback = ucom_command_barrier_cb }; + struct usb_proc_msg *task; + int error; + + UCOM_MTX_ASSERT(sc, MA_OWNED); + + if (usb_proc_is_gone(&ssc->sc_tq)) { + DPRINTF("proc is gone\n"); + return (ENXIO); /* nothing to do */ + } + + task = usb_proc_msignal(&ssc->sc_tq, &dummy, &dummy); + error = usb_proc_mwait_sig(&ssc->sc_tq, task, task); + if (error == 0 && sc->sc_tty != NULL && tty_gone(sc->sc_tty)) + error = ENXIO; + return (error); +} + static int ucom_queue_command(struct ucom_softc *sc, usb_proc_callback_t *fn, struct termios *pt, - struct usb_proc_msg *t0, struct usb_proc_msg *t1) + struct usb_proc_msg *t0, struct usb_proc_msg *t1, bool wait) { struct ucom_super_softc *ssc = sc->sc_super; struct ucom_param_task *task; @@ -629,7 +662,7 @@ ucom_queue_command(struct ucom_softc *sc, /* * Closing or opening the device should be synchronous. */ - if (fn == ucom_cfg_close || fn == ucom_cfg_open) { + if (wait) { error = usb_proc_mwait_sig(&ssc->sc_tq, t0, t1); /* usb_proc_mwait_sig may have dropped the tty lock. */ @@ -793,14 +826,17 @@ ucom_open(struct tty *tp) error = ucom_queue_command(sc, ucom_cfg_open, NULL, &sc->sc_open_task[0].hdr, - &sc->sc_open_task[1].hdr); + &sc->sc_open_task[1].hdr, true); if (error != 0) goto out; - /* Queue transfer enable command last */ + /* + * Queue transfer enable command last, we'll have a barrier later so we + * don't need to wait on this to complete specifically. + */ error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, &sc->sc_start_task[0].hdr, - &sc->sc_start_task[1].hdr); + &sc->sc_start_task[1].hdr, true); if (error != 0) goto out; @@ -813,6 +849,7 @@ ucom_open(struct tty *tp) ucom_status_change(sc); + error = ucom_command_barrier(sc); out: return (error); } @@ -852,7 +889,7 @@ ucom_close(struct tty *tp) (void)ucom_queue_command(sc, ucom_cfg_close, NULL, &sc->sc_close_task[0].hdr, - &sc->sc_close_task[1].hdr); + &sc->sc_close_task[1].hdr, true); sc->sc_flag &= ~(UCOM_FLAG_HL_READY | UCOM_FLAG_RTS_IFLOW); @@ -933,11 +970,15 @@ ucom_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) #endif case TIOCSBRK: ucom_break(sc, 1); - error = 0; + error = ucom_command_barrier(sc); + if (error == ENXIO) + error = ENODEV; break; case TIOCCBRK: ucom_break(sc, 0); - error = 0; + error = ucom_command_barrier(sc); + if (error == ENXIO) + error = ENODEV; break; default: if (sc->sc_callback->ucom_ioctl) { @@ -1097,7 +1138,7 @@ ucom_line_state(struct ucom_softc *sc, */ (void)ucom_queue_command(sc, ucom_cfg_line_state, NULL, &sc->sc_line_state_task[0].hdr, - &sc->sc_line_state_task[1].hdr); + &sc->sc_line_state_task[1].hdr, false); } static void @@ -1255,7 +1296,7 @@ ucom_status_change(struct ucom_softc *sc) (void)ucom_queue_command(sc, ucom_cfg_status_change, NULL, &sc->sc_status_task[0].hdr, - &sc->sc_status_task[1].hdr); + &sc->sc_status_task[1].hdr, true); } static void @@ -1329,14 +1370,14 @@ ucom_param(struct tty *tp, struct termios *t) /* Queue baud rate programming command first */ error = ucom_queue_command(sc, ucom_cfg_param, t, &sc->sc_param_task[0].hdr, - &sc->sc_param_task[1].hdr); + &sc->sc_param_task[1].hdr, true); if (error != 0) goto done; /* Queue transfer enable command last */ error = ucom_queue_command(sc, ucom_cfg_start_transfers, NULL, &sc->sc_start_task[0].hdr, - &sc->sc_start_task[1].hdr); + &sc->sc_start_task[1].hdr, true); if (error != 0) goto done; @@ -1346,6 +1387,8 @@ ucom_param(struct tty *tp, struct termios *t) sc->sc_flag &= ~UCOM_FLAG_RTS_IFLOW; ucom_modem(tp, SER_RTS, 0); } + + error = ucom_command_barrier(sc); done: if (error) { if (opened) { From nobody Wed Jan 1 10:38: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 4YNRBX6hN9z5jknd; Wed, 01 Jan 2025 10:38: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 4YNRBX66qLz4h6V; Wed, 1 Jan 2025 10:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735727892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9SGTpZrWSqybcYLdMHYxY0R54fTpnddsKXswGeXE/Kk=; b=w30YPEFGML4H/cXu5LqIffxqOcI1BpmO4zvvxn9bxp8FFVZ3TObAc1DLxuipnVMTNx/KNA yps7h+VAzWU3mzPaKElTp3D8P+lTE/Dq/TKtL89lbNqvxOUYiPpORJgse2H8QvCY8/I6zV hmsty1biZMMzihOIDg5FHFDZDruPZv+0vrFKWqyfB3pXeGPJIGaEUVn+PxoV9SL5pNQ7JZ nQRDMc07qVK32FX1rr0Xeg61TFcYInnlUt4oYXHfqWB9gljUbtnFY/xRFAcC8hLz6ZpFJy f/CpiUfuOau/+AXhxlv5notUHugG8MEOQSBsMvNIEiVvCFtbKfarl7wiiW9x3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735727892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9SGTpZrWSqybcYLdMHYxY0R54fTpnddsKXswGeXE/Kk=; b=bboEpH22Gd+sZQklH90+riJo9ZgNrAdiISkCfwlBjft6e86o2KNFj7zw3hrJzcDga64hEU FFpIZEs8i7Z/YOJrRDugp39umkF5jPetFY4u5JYR8LbrnWRPItFPl4xfD2vp+6td9RygGK 1QTrQ+Kf64Y5Yo+culgxMeMVagnaD77TyaS2lsX66/VsXwAHLvTLpIXtMP8DJnTqgO43/T UXRaaPtoyLnvxOGmwmHGZay1svJ41dDH+qXjbZC1oFMF+J2EoMjaSWvSfwkJrvOTMvdWuk jEqwsLzZuBvxLWWLPl2125yv+nenvL8Ul3fWhhWbNZaXzR5GhlhDwHKrhlGp7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735727892; a=rsa-sha256; cv=none; b=giV80NGA4SDGyH+DL6Iiy74nfkf2nvZCfKDcMdXP3mDRp61OOuuOXoOxdeqVshCWddwIcH L08xloK8RR9nkZiBb+qDxVbYyXjWV2q/NB5FMvQbWYVw3Kmegrh1JOaAINc2aCoE1R0T4V 3NDLGf3GFUysM9bL72KbATbPqcf5ACsk1FYCUaXZK7CAfOw12fZID23kRQpg5C3XOfpFqR nntqzqJkpIyO1Wt94d03+sgTlSjZNfHUaMWes/ykCWEfd7MTj+Ro9qg+pAYh4AlfxfXHbj Ug9WWgX0RCL6pN9XGe/AYTVtRMKZO0fliIHU0uv2nO1sTJjKzh5WFwgakcg5bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNRBX5BmMzLPr; Wed, 1 Jan 2025 10:38: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 501AcCC0078757; Wed, 1 Jan 2025 10:38:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 501AcCYD078754; Wed, 1 Jan 2025 10:38:12 GMT (envelope-from git) Date: Wed, 1 Jan 2025 10:38:12 GMT Message-Id: <202501011038.501AcCYD078754@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: 8094b35e5769 - stable/14 - amd64: extract code to print fault details from trap_fatal() into a new helper 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: 8094b35e5769e6f8848ce4fd929f898cacc81bc6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8094b35e5769e6f8848ce4fd929f898cacc81bc6 commit 8094b35e5769e6f8848ce4fd929f898cacc81bc6 Author: Konstantin Belousov AuthorDate: 2024-12-24 16:39:38 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-01 10:30:19 +0000 amd64: extract code to print fault details from trap_fatal() into a new helper (cherry picked from commit 5e3ab1894e1ef0520925038f8d4e4a451e841345) --- sys/amd64/amd64/trap.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index d7e365f6874e..396c2abd3f1f 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -109,6 +109,7 @@ void trap_check(struct trapframe *frame); void dblfault_handler(struct trapframe *frame); static int trap_pfault(struct trapframe *, bool, int *, int *); +static void trap_diag(struct trapframe *, vm_offset_t); static void trap_fatal(struct trapframe *, vm_offset_t); #ifdef KDTRACE_HOOKS static bool trap_user_dtrace(struct trapframe *, @@ -152,6 +153,13 @@ static const char *const trap_msg[] = { [T_DTRACE_RET] = "DTrace pid return trap", }; +static const char * +traptype_to_msg(u_int type) +{ + return (type < nitems(trap_msg) ? trap_msg[type] : + "unknown/reserved trap"); +} + static int uprintf_signal; SYSCTL_INT(_machdep, OID_AUTO, uprintf_signal, CTLFLAG_RWTUN, &uprintf_signal, 0, @@ -883,15 +891,12 @@ after_vmfault: } static void -trap_fatal(struct trapframe *frame, vm_offset_t eva) +trap_diag(struct trapframe *frame, vm_offset_t eva) { int code, ss; u_int type; struct soft_segment_descriptor softseg; struct user_segment_descriptor *gdt; -#ifdef KDB - bool handled; -#endif code = frame->tf_err; type = frame->tf_trapno; @@ -951,8 +956,20 @@ trap_fatal(struct trapframe *frame, vm_offset_t eva) printf("r13: %016lx r14: %016lx r15: %016lx\n", frame->tf_r13, frame->tf_r14, frame->tf_r15); + printf("trap number = %d\n", type); +} + +static void +trap_fatal(struct trapframe *frame, vm_offset_t eva) +{ + u_int type; + + type = frame->tf_trapno; + trap_diag(frame, eva); #ifdef KDB if (debugger_on_trap) { + bool handled; + kdb_why = KDB_WHY_TRAP; handled = kdb_trap(type, 0, frame); kdb_why = KDB_WHY_UNSET; @@ -960,9 +977,7 @@ trap_fatal(struct trapframe *frame, vm_offset_t eva) return; } #endif - printf("trap number = %d\n", type); - panic("%s", type < nitems(trap_msg) ? trap_msg[type] : - "unknown/reserved trap"); + panic("%s", traptype_to_msg(type)); } #ifdef KDTRACE_HOOKS From nobody Wed Jan 1 10:38:13 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 4YNRBZ1K17z5jkhr; Wed, 01 Jan 2025 10:38:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YNRBY6tPbz4gwH; Wed, 1 Jan 2025 10:38:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735727894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vI6K3i0ncorwPJtvhoJnYVKD2ZJqhoeWHJX9sqXBnHM=; b=YkfIkui/Y9qJr4lBkee0ocL3FQkXp08OUldQ6iYzM4S9eN6l3hXTorwqEp0BOPJcKs5fGO KUPv3hIeFr5OiGiK2NV/pYWx9CPbXbvYqQxEp1XB9kiLPGFgFlfSaMO1K7CvtzYsx+Mejj ay3Vqm0MsyO0QpgItqfsxNak89TwMvhsNhOq0t7SY4cA2Xhchm+cdRxmdPJ4DqgRLQMnNO Z3qMslRpNwejnrrrcc8+CSCVECj6VivsSFPS7BjNveEnhN9n7fn1r7sWB8pAsSqZD7gCFC IIvGnAG+g3ktew0Hqv8D4wV+2l0eWRFlMScxL1EAg+yKlciLoHS6zfiy35nvKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735727894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vI6K3i0ncorwPJtvhoJnYVKD2ZJqhoeWHJX9sqXBnHM=; b=PDrpeWphIYMUp+eamw6VlFTnKkNvOVz02iaSlsIbYFeeW3nw39SP+wpC1C7TadELvztLYt Qm04KEHsBMDLQ2X+DnS5Wjh4CGIqG91UkkvZ5EOUzKh3eJFvy4Q6s6xCSKb4q6oCkWMBMH l37iqwE2MhTEjOkrXweNxsedrZCK53lU+7wAGaaQSr+uk/wUBVXQI1eq9Di1aQbtzEXwe/ YMSDewhlTXrHDKkl1MI0Err4tmIlTotIbZHgmHWVEbARFqXggtKDg+gvzaePGZUZG9UsKX 0N1yW55hyTWc21BwTdtYYJrHnEsSEcAov2L94TF8YsfO6Vg+XWzVzZFO8Xhkow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735727894; a=rsa-sha256; cv=none; b=krgSVTIXOWqhkBnI2ZcKEcEWed9ZJgz7cJQBQ/5iCpTbBjIHqWPT5969p+NY1KQ2HyTSgX JAbUj3q1uUepmisbR5t9vumHH30MuT/8eUkUZ0SiAiUT+hP7Q+oK66j4EDrKr7GsXxAqnt WnKaS6xahOirDU3LvOn/LO00GxD+0/wsb4jL9xbk/Dv4Ub+FERW6MUdiZeJT5qstlLoWjl 8n2fqIWAzEKJ7my4p7HTli5saoXFQEDyC4CjT+ADxt+6F+zcsIHcnvNtp0jvX+rpvLMPP3 QRVWfKEzxp5TPTOy4cqKTsMiIxH8uWd1RpHeytIyVnFh5U03VS6CHgbMZ9rdJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNRBY6MyQzLPs; Wed, 1 Jan 2025 10:38:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 501AcDpq078829; Wed, 1 Jan 2025 10:38:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 501AcDoO078826; Wed, 1 Jan 2025 10:38:13 GMT (envelope-from git) Date: Wed, 1 Jan 2025 10:38:13 GMT Message-Id: <202501011038.501AcDoO078826@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: e27089cda589 - stable/14 - amd64: on any fault during call to EFI RT, restore execution and print fault details List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e27089cda5897633545d3df6707cd06970f03fae Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e27089cda5897633545d3df6707cd06970f03fae commit e27089cda5897633545d3df6707cd06970f03fae Author: Konstantin Belousov AuthorDate: 2024-12-24 02:35:16 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-01 10:30:20 +0000 amd64: on any fault during call to EFI RT, restore execution and print fault details (cherry picked from commit dd2b5443644505af51c95503898ab363e7d7c29d) --- sys/amd64/amd64/trap.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 396c2abd3f1f..7f1175da41df 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -445,6 +445,20 @@ trap(struct trapframe *frame) KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); + + /* + * Most likely, EFI RT faulted. This check prevents + * kdb from handling breakpoints set on the BIOS text, + * if such option is ever needed. + */ + if ((td->td_pflags2 & TDP2_EFIRT) != 0 && + curpcb->pcb_onfault != NULL && type != T_PAGEFLT) { + trap_diag(frame, 0); + printf("EFI RT fault %s\n", traptype_to_msg(type)); + frame->tf_rip = (long)curpcb->pcb_onfault; + return; + } + switch (type) { case T_PAGEFLT: /* page fault */ (void)trap_pfault(frame, false, NULL, NULL); @@ -608,18 +622,6 @@ trap(struct trapframe *frame) * FALLTHROUGH (TRCTRAP kernel mode, kernel address) */ case T_BPTFLT: - /* - * Most likely, EFI RT hitting INT3. This - * check prevents kdb from handling - * breakpoints set on the BIOS text, if such - * option is ever needed. - */ - if ((td->td_pflags2 & TDP2_EFIRT) != 0 && - curpcb->pcb_onfault != NULL) { - frame->tf_rip = (long)curpcb->pcb_onfault; - return; - } - /* * If KDB is enabled, let it handle the debugger trap. * Otherwise, debugger traps "can't happen". @@ -883,6 +885,10 @@ trap_pfault(struct trapframe *frame, bool usermode, int *signo, int *ucode) after_vmfault: if (td->td_intr_nesting_level == 0 && curpcb->pcb_onfault != NULL) { + if ((td->td_pflags2 & TDP2_EFIRT) != 0) { + trap_diag(frame, eva); + printf("EFI RT page fault\n"); + } frame->tf_rip = (long)curpcb->pcb_onfault; return (0); } From nobody Wed Jan 1 10:38:14 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 4YNRBb6l5yz5jkJY; Wed, 01 Jan 2025 10:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YNRBb1D6Cz4gs8; Wed, 1 Jan 2025 10:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735727895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZpNuV96QA/pK6G6B0dj7PvsPjImHY8NvTOW+fE090+w=; b=tLpC7k4LL01W+kiH51RQa2Qk6DVio68+MzyXH0tNDys4eLyGpkKnrs03dnMrZeRivKGEYq kNjKa1u5F3w3v+QvDgPtD8nvm7bvY/fHMs55GoAoEVbGnigVyIzE9v4o3no5Gg2bnE4pkL iBBZBQKIqg2K2FzCZqXKcU3PcbsslGqhYXtWKH2a8buxrQpYykAqm4I+vT2ZPdDgH1T8Q6 PbGd+8OjDSVZ04q0MSdqEcDFfpreewTvczNMLBlTu0mEAHqKIlV3SrVgf94dRF3Rz0CKZ3 NNA9S9UZsKdrG8DOVY2HtNWazTQjXXJ9tCpdknm/aTfwkzmP5NG7GnlwnI6vsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735727895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZpNuV96QA/pK6G6B0dj7PvsPjImHY8NvTOW+fE090+w=; b=el2fp5VPpfO8JLWa+ZNaAYyhPTxWIg5oFaLvCqBrULAdMiV7sEdolrXdqJfuGZdgCpGdz1 5/5SJOaRr+UNW1gp7Wq3qep8l1h3M5GWcKIUbGtA545s+PHFXm80hKh6jIu6pr33c/K24r Ng9uvZuK+qCrLe5KKFOdd3eSrQcd0jCdBjJH1q013kFxHFLGH9I3brUIN3nxgGxxtORlbl DlKDgGog0sj9YeG8Um+YhEiaXo+4saira0YNeYrLmyHS02+n/wjgCy7gflfIQZs54bf6NW OqPqpNjriMw5iAkIAcx32KtWZh11DwudeuwSzGQk4UzQZyJ/IAi9hBtMuoRiww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735727895; a=rsa-sha256; cv=none; b=o4U8Z/0WtefsYuNoKix1NgR+FRn6pEIUAn8am09NfqmqMIvzgDJ6jKnZ+4z9PKnQXP+8bK 0AuHLUfkQG39w7/GLYpYccQFY/NRiTJCQwROmbefiVQDC3fNG8LhCAbryaXeQSCvRxrS8U YxVkBxtojmiejgRmWqhrXvjdY6YNnBn+aNfqSMNYO/zaApb3TsrceepdBE0z3kNleoNlu2 8YFrtFrmlDaAlmS1aALAc77oGFdC5kKNpEVP48+3xKgEz9AkHY3BctUBQsACAE0vEN2vgR 7UcBpQccKD2zcOwaKZVZenTeut3BvQURZcybcnpQuVgYvK5Vs2/57x9dMyeLoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YNRBb0VWTzLCm; Wed, 1 Jan 2025 10:38:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 501AcEOx078880; Wed, 1 Jan 2025 10:38:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 501AcEcp078877; Wed, 1 Jan 2025 10:38:14 GMT (envelope-from git) Date: Wed, 1 Jan 2025 10:38:14 GMT Message-Id: <202501011038.501AcEcp078877@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: bc3dfb03fd49 - stable/14 - efirt: use correct ABI for runtime EFI functions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bc3dfb03fd4979b50c380c1688cfcc2e3d517361 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bc3dfb03fd4979b50c380c1688cfcc2e3d517361 commit bc3dfb03fd4979b50c380c1688cfcc2e3d517361 Author: Ahmad Khalifa AuthorDate: 2024-12-21 21:09:54 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-01 10:30:20 +0000 efirt: use correct ABI for runtime EFI functions (cherry picked from commit 3e8f4a30594fad6784504d019613ad815b6c9dc5) --- sys/dev/efidev/efirt.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/sys/dev/efidev/efirt.c b/sys/dev/efidev/efirt.c index a74ce9fa9a06..1fb9b3bb01d1 100644 --- a/sys/dev/efidev/efirt.c +++ b/sys/dev/efidev/efirt.c @@ -490,31 +490,32 @@ efi_rt_arch_call_nofault(struct efirt_callinfo *ec) switch (ec->ec_argcnt) { case 0: - ec->ec_efi_status = ((register_t (*)(void))ec->ec_fptr)(); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(void)) + ec->ec_fptr)(); break; case 1: - ec->ec_efi_status = ((register_t (*)(register_t))ec->ec_fptr) - (ec->ec_arg1); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t)) + ec->ec_fptr)(ec->ec_arg1); break; case 2: - ec->ec_efi_status = ((register_t (*)(register_t, register_t)) - ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t))ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2); break; case 3: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t))ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2, - ec->ec_arg3); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t))ec->ec_fptr)(ec->ec_arg1, + ec->ec_arg2, ec->ec_arg3); break; case 4: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t, register_t))ec->ec_fptr)(ec->ec_arg1, - ec->ec_arg2, ec->ec_arg3, ec->ec_arg4); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t, register_t))ec->ec_fptr)( + ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, ec->ec_arg4); break; case 5: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t, register_t, register_t))ec->ec_fptr)( - ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, ec->ec_arg4, - ec->ec_arg5); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t, register_t, register_t)) + ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, + ec->ec_arg4, ec->ec_arg5); break; default: panic("efi_rt_arch_call: %d args", (int)ec->ec_argcnt); From nobody Sat Jan 4 01:03: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 4YQ2HV0lDQz5kgBH; Sat, 04 Jan 2025 01:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ2HT7585z4Xsh; Sat, 4 Jan 2025 01:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735952582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OsC+/1Q9Skz6phUgAnY950ECzEF+N4VhnGxI0QkSnxA=; b=hCHxQJPK9AUJVrjFu3UBekAgiXEs0ZtlHeeA3Z+keSw38dd68ogqnVs1T+GMildydpgD5q 74BNV3rC6NTDQPHTqymM8gTORAS5wfwT8JxL2Nz2IzeaQE3UAuAFuTQ/V+Jmsn+37HRLct PqD56e2I8dwIzxY7HpgItFSsNwuR8HxDqh14F8KiUqRftHWQ7t6dgxw/kooR3bsL68Jm2J tSdphyBLYMoqgyEQUwqZFVMFmvOlHSjTcGsK9L09HotPYEhdA/4NyhtCXFQgSy/omfvp/h vNF5AQt3sDSWB2Me0kKcaZmj/j5XkJeeLXZH+zoYlHLkrtxiFeFAb6lYyDY+9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735952582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OsC+/1Q9Skz6phUgAnY950ECzEF+N4VhnGxI0QkSnxA=; b=AIv0ok5aq1PJlPo01ukrppHaXzrrJQxZIodvKxvl6SeJ+qslEXXsbtIhnKliYPHA4h1GvG zYnwuUwfNjjFT32hzZVKYWFmlTwSlTTjeViq5Mecs8b6le9QeTtZQ7yed55YbvmNZ0S000 C+G93ZyFwdggNkhY/qBHtuuW+p6dU6EScQ+8SaQMRgPwspbe3NjpP+zonhmGWG5xzH2W5O V9Nm7lidj07u27jf+HcUek345xWw0XrNRlgrid3w3TR2KuhP3P5thf3AWOO3YuMX6nBZ+z pLwMoRx2NhiZjaFDr3UdtYjiZWCYeIb4pt8fmo8Eb8U7rF0e84mJPCGQ//CArA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735952582; a=rsa-sha256; cv=none; b=Ef9U2zSMj9EiMMaXTXr2faxPwu3sK3KO9Bdwx9mofSSoRjo0R+ZQWOREpX9b8V8zANcPkX leUbnQuiqG2+fIiT29wIpwQB+3eEAQcujaYrv1LwYkP48p0y3eRxk/kKukne2ew8Xt6BMe 38Uj/p9i8kRo4H8AQ0r2Y/8ekv9E6c6Lua8kMmiIr0k4KZgPoZDUz1gKd6BkJ5ogeWD6cc myhHsp6Px2PND0oSLNjrJ8xTbQmj0gALF0z1j4deATWVtleJ2wK8KzfiT0JAMqOkDX4HNJ 9JBnPq6wxLZh0Gfp9kQ3M0yVN9uibyzO5zpfaAmTY6YW92pf4M7xsmEeWxwXGg== 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 4YQ2HT6cZczWdn; Sat, 04 Jan 2025 01:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5041312B007538; Sat, 4 Jan 2025 01:03:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5041315s007535; Sat, 4 Jan 2025 01:03:01 GMT (envelope-from git) Date: Sat, 4 Jan 2025 01:03:01 GMT Message-Id: <202501040103.5041315s007535@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: f27d1ec0f5ad - stable/14 - Export additional __aeabi_ symbols from arm's libgcc_s List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f27d1ec0f5ad4d6c4833606c189c1a863967a293 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f27d1ec0f5ad4d6c4833606c189c1a863967a293 commit f27d1ec0f5ad4d6c4833606c189c1a863967a293 Author: Dimitry Andric AuthorDate: 2024-12-28 21:17:13 +0000 Commit: Dimitry Andric CommitDate: 2025-01-04 01:01:46 +0000 Export additional __aeabi_ symbols from arm's libgcc_s Some programs depend on these symbols, when they are compiled for armv6 or armv7. Closes #1560 (slightly changed due to sorting of the symbols). PR: 271087 Reported by: fuz Submitted by: jfc@mit.edu MFC after: 1 week (cherry picked from commit caab831338f4eeaa7455e981478be9fd414b7969) --- lib/libgcc_s/arm/Symbol.map | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/libgcc_s/arm/Symbol.map b/lib/libgcc_s/arm/Symbol.map index 92b54761d810..a426f823de5c 100644 --- a/lib/libgcc_s/arm/Symbol.map +++ b/lib/libgcc_s/arm/Symbol.map @@ -4,8 +4,33 @@ GCC_3.5 { _Unwind_Complete; _Unwind_VRS_Get; - _Unwind_VRS_Set; _Unwind_VRS_Pop; + _Unwind_VRS_Set; + __aeabi_d2h; + __aeabi_d2lz; + __aeabi_d2ulz; + __aeabi_f2h; + __aeabi_f2lz; + __aeabi_f2ulz; + __aeabi_h2f; + __aeabi_idiv; + __aeabi_idiv0; + __aeabi_l2d; + __aeabi_l2f; + __aeabi_lasr; + __aeabi_lcmp; + __aeabi_ldivmod; + __aeabi_llsl; + __aeabi_llsr; + __aeabi_lmul; + __aeabi_ui2d; + __aeabi_ui2f; + __aeabi_uidiv; + __aeabi_uidivmod; + __aeabi_ul2d; + __aeabi_ul2f; + __aeabi_ulcmp; + __aeabi_uldivmod; __aeabi_unwind_cpp_pr0; __aeabi_unwind_cpp_pr1; __aeabi_unwind_cpp_pr2; From nobody Sat Jan 4 01:03:32 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 4YQ2J45gX9z5kgQs; Sat, 04 Jan 2025 01:03:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ2J4530Pz4Y2P; Sat, 4 Jan 2025 01:03:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735952612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQXDYklZ24Ours0Eb3MRio3LNGFaPPI9p00ccD4BtgA=; b=TnUJsxpfI4QPXNym3PlMB3JLdRNBsnjYu6Twzzo9ufUEDPhjFfAzkaNwLBAr2Vjj/wEHBr iVVFg58I8Af0iGtSV1wXS6ckJVVDzORT1UugwXhG4ssaR2/Kv7iTYVE4bCvKSkFFTB5PMN lt4gk2YS8n+8xYngvVgDhvLPtQFcxhdDQwEM7AlINpcenpkT1re5MCvmriZ+v+CtalM579 1m5aNjHrQdJN/nFY/QAdvT5TaqWsBbDZr3xQdazBOgGv+aTCmajWS3ji8t2uPHFJqKjxt5 sak3Ws0PKp5EpLKSOEhzGX9F3H4dd4mNKgD6DT2DaxMHKNKTsB9iRePwFh8K7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735952612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQXDYklZ24Ours0Eb3MRio3LNGFaPPI9p00ccD4BtgA=; b=a+Fw0ojQDOXkYVcoVidV5dgkn132Eb2Jkd5Ul9Bot0FhbeNH8fpl8kCC7SbhHG7dgbAApY mf8LmvTOBFdkFcO25TWjbo4YKsCr00MrUIzW2ruqOfS/Dt3CJxo01i5FwyKnT9NxFCtR4B sh657xgLn9mVUneimot7r43uTvTMH7IUl/zkpcUAcPYZfUMYVyjRXgVmqfXsii2E8xU0pJ +aILXHyjUQuXeJMUVSVSvRseIAspO4919dxjUcR4WtogXjwuMJaHjpamLQsXwFHzb4Pwtl 4lOA77IBb33xpuLtmpqqKp5LcpKUb2HtDgU1bOS09Smvuwkly0U7k8itnqGZgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735952612; a=rsa-sha256; cv=none; b=k955AjEfB7KUGhkPd3ayW4Lb4aweinmDa6leQS6EPoHvDHZo7caqXR3ZId3X9ye/7VE2sp bHTOB2X7vxS+5YahT28p9kv8YllI71xLjaSBEYSnrb6acxsF96jxaJuUd3eIJKz7bXuPdG bnDlf5mEyQZdzb12RQv8az0OM5V6j9+WULd+J3v0fMmg/IRk9uUcrr8mSB7bWPvKiAnHqP xl9XsOK6sxwessI7t52xp0iSJnP2dgBnAs3vymdQ0C5Vs5Zv5LZs32/MoJ8CNZ2UzNRI4P Unrf0qCyv1BwUzfL3k69USqGUFW7nSKFWZZQmnHpOhhjRxjfWKgCuj7gxtEaXA== 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 4YQ2J44bWfzVmS; Sat, 04 Jan 2025 01:03:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50413Whr007832; Sat, 4 Jan 2025 01:03:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50413WZx007829; Sat, 4 Jan 2025 01:03:32 GMT (envelope-from git) Date: Sat, 4 Jan 2025 01:03:32 GMT Message-Id: <202501040103.50413WZx007829@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: a0da8a5fc7c4 - stable/13 - Export additional __aeabi_ symbols from arm's libgcc_s List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a0da8a5fc7c4b3be6aa39f4d321490ccc6b168d4 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a0da8a5fc7c4b3be6aa39f4d321490ccc6b168d4 commit a0da8a5fc7c4b3be6aa39f4d321490ccc6b168d4 Author: Dimitry Andric AuthorDate: 2024-12-28 21:17:13 +0000 Commit: Dimitry Andric CommitDate: 2025-01-04 01:01:53 +0000 Export additional __aeabi_ symbols from arm's libgcc_s Some programs depend on these symbols, when they are compiled for armv6 or armv7. Closes #1560 (slightly changed due to sorting of the symbols). PR: 271087 Reported by: fuz Submitted by: jfc@mit.edu MFC after: 1 week (cherry picked from commit caab831338f4eeaa7455e981478be9fd414b7969) --- lib/libgcc_s/arm/Symbol.map | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/libgcc_s/arm/Symbol.map b/lib/libgcc_s/arm/Symbol.map index 92b54761d810..a426f823de5c 100644 --- a/lib/libgcc_s/arm/Symbol.map +++ b/lib/libgcc_s/arm/Symbol.map @@ -4,8 +4,33 @@ GCC_3.5 { _Unwind_Complete; _Unwind_VRS_Get; - _Unwind_VRS_Set; _Unwind_VRS_Pop; + _Unwind_VRS_Set; + __aeabi_d2h; + __aeabi_d2lz; + __aeabi_d2ulz; + __aeabi_f2h; + __aeabi_f2lz; + __aeabi_f2ulz; + __aeabi_h2f; + __aeabi_idiv; + __aeabi_idiv0; + __aeabi_l2d; + __aeabi_l2f; + __aeabi_lasr; + __aeabi_lcmp; + __aeabi_ldivmod; + __aeabi_llsl; + __aeabi_llsr; + __aeabi_lmul; + __aeabi_ui2d; + __aeabi_ui2f; + __aeabi_uidiv; + __aeabi_uidivmod; + __aeabi_ul2d; + __aeabi_ul2f; + __aeabi_ulcmp; + __aeabi_uldivmod; __aeabi_unwind_cpp_pr0; __aeabi_unwind_cpp_pr1; __aeabi_unwind_cpp_pr2; From nobody Sat Jan 4 03:57: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 4YQ6940V2pz5j8lc; Sat, 04 Jan 2025 03:57:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ69371Ngz4qbC; Sat, 4 Jan 2025 03:57:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PmtD6GWZu7cw7FIG/GjbebHz/GIpaN2wOM5vvrQbtTw=; b=rqL6aDOWHF7f3pnsAc5B1CTCgFO5uSw5hFBD7u+UpSF8nFDbJr041IOlWrivkqVNR8Mdz5 zp3dMh/lr/zaW0tumKnkLfl0fFbguaOHoQHtReEHHFCWwW/N16rVTqphY8eMR/aT0Kjdso Y4MRMuMWW5/ee++9kJfLbbFRqG0yQKFACZ7zp0VXgmOFBBrMl9HwyoTPKo56YmfAGaunFw gQO+ymw7kAb+jOZSofkC1D7J8na/QBiY9PkGoncC0nyL8U8zbWNct7G3a1GuHBbtUY4san VCcGQfHZJXGBcaUv+h8hkJuNptRTXGxmI/PtNFOoFK5gwQNAybyoQLjxBwIzGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PmtD6GWZu7cw7FIG/GjbebHz/GIpaN2wOM5vvrQbtTw=; b=C3Wo2ixyy7hm2ab1/JLS6qN9BoUKQq8ag54q2YMieH4cbz9PyeOiinxJqRbvSiXekM1xxp xR7QUCOpV9iVbx31gZqmYlvxWBtBeXwKGOCvWpPTHr1DyinuaZkONh5BSElltXRcAJ9onA 5KEr06WI/SuvDWYsK2EVPGDYJRvbVXh3m5Xo2uPI//dc9f6h5+0P8ClbSgWr3lBfmxwmf+ EhPp17mOSHkeeOxTDUY+ioBXxvTTcHZ87b4DtE5LwIJIY3RKfgHjeW2eRe3EPuGyLFMoT/ DbShdBfvtbYGpu1uoIJzHRBZ7IICr763oh0MjaMQ7XkBkV+qowwbwpCGG5i5lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735963064; a=rsa-sha256; cv=none; b=bhFpmWM5lzavymjJ7q2bI8HxHi62BP3agHvGxeLrM+qCphNPUluhXrGUWCJ47+6rMQHL4Q Orx5FuXNqqEHAc3taq5qupVtrQrsu+9AIlzXjRw/Mq+PqafLSr+AWm6sGLXQHrfst1DgNZ w1bBz4+fULYzby/bEWDTodYT2rujT50FxEDAAhBckPAiJT1ti2HGLUyQmWf0ktd1t1MBzL XExMNKxUZymbcmQBbIHLfUwf7zLjd6SJr0rlZ/drDpTAgKU5NVTzXFAMVgsDfBbyEPXmYn MJdVNm82BUscOVYgFqLp+0ekOGpmhSDUGAXkP54uulnIQ6nNxabsRG2jMQXG9A== 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 4YQ6936XmxzckC; Sat, 04 Jan 2025 03:57: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 5043vh2G028188; Sat, 4 Jan 2025 03:57:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5043vht7028185; Sat, 4 Jan 2025 03:57:43 GMT (envelope-from git) Date: Sat, 4 Jan 2025 03:57:43 GMT Message-Id: <202501040357.5043vht7028185@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: d51ecba718cf - stable/14 - thr_cancel.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: d51ecba718cf6013108454583063a1fa7fae2566 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d51ecba718cf6013108454583063a1fa7fae2566 commit d51ecba718cf6013108454583063a1fa7fae2566 Author: Konstantin Belousov AuthorDate: 2024-12-21 17:55:11 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-04 03:57:24 +0000 thr_cancel.c: style (cherry picked from commit 3282e368e00460de500e5cfcf1c33b597199aaf8) --- lib/libthr/thread/thr_cancel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libthr/thread/thr_cancel.c b/lib/libthr/thread/thr_cancel.c index b1b95e54b46f..0e00c2c36086 100644 --- a/lib/libthr/thread/thr_cancel.c +++ b/lib/libthr/thread/thr_cancel.c @@ -99,9 +99,9 @@ _thr_setcancelstate(int state, int *oldstate) return (EINVAL); } - if (oldstate) { + if (oldstate != NULL) { *oldstate = oldval ? PTHREAD_CANCEL_ENABLE : - PTHREAD_CANCEL_DISABLE; + PTHREAD_CANCEL_DISABLE; } return (0); } @@ -125,9 +125,9 @@ _thr_setcanceltype(int type, int *oldtype) return (EINVAL); } - if (oldtype) { + if (oldtype != NULL) { *oldtype = oldval ? PTHREAD_CANCEL_ASYNCHRONOUS : - PTHREAD_CANCEL_DEFERRED; + PTHREAD_CANCEL_DEFERRED; } return (0); } From nobody Sat Jan 4 03:57: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 4YQ6951tFKz5j8mh; Sat, 04 Jan 2025 03:57:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ6951KJCz4qM3; Sat, 4 Jan 2025 03:57:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GGQ71WyCywzCcyglgz0yJCOUTw4aZeE5xXs9b7oyT4E=; b=rzJfI6rGhvBipRkcRQtWpRfLbutGzjxiqmRa6O+I1Qx9hF5YJ2brTgNC07VZE9MGzplSRp jNLOXqQXEB8/Mx3MRdnxrW2KbFDM3fbBFwDsvXAltn56uztB7F91ayopMEtZHiRoJTw3CF qtj/72bkZ7LE9AUkU+PMQnTwWIXao9T/etk3SAY5X19jNXZ1d5aeU63oShedx/P5gbXhN5 cEduYI8MJNuiTfQ4qMmhesarvMkWqxCSd31tCwa5No/Qhfhg30CKK7wnBatHaEYX2YwGh6 SuTnhNuBbsKq9aF+4HRdfcPPWMne/9VZTWcUeoUvXH0fPLFFGZng2piRwDQhWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GGQ71WyCywzCcyglgz0yJCOUTw4aZeE5xXs9b7oyT4E=; b=OeZXPGqpz4HEKjcliYR5f+0X+PXogyZKNAWV67fCkjRl8cjb2eh/YHxi19D4i6LtDdenQu R64CEEbpfpkKtYV1DKQGW344YDMY3VqK8g017U3GjZqFHo1THMImM8ozz9F2NW19P8DGzt QgN6G5IGOERHsML1QBnCn/b4CeNX118xQWO0M9Iue5jm54b1c5WWoVdrRSk+9pjbuiuPEI /slc2d1Xvye7VidQ4asD4FlSryvhHaKdBCQmG0zuo2BZB2CbnImucEWGNKNIZ94VFDTR+P x4NHDQpxinUX06K2mmHtaFy+DDaZ/PUdXrgDFXe++KpCL12xSMJVyJARUSHGYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735963065; a=rsa-sha256; cv=none; b=X7w8fr0C8jQPQbAb33VjH4DC6sP87Zrs2eH4hxN/WEnYA0MyIyzArwzpHdXV2iMKzI6GPK V62920geza2lf/WEG7SG6gwthUTEX9NL8LBJ8r5py/9dv+JfqKGeyGTbU5j0g7CQFk4zK6 sL7o1YsEIeYmSxaR1LsSGjvT7Zvf7a/ER0qyrlRolQdpmbOKH2kxaX/rTjlR2Wzpg4MPFp zWTZKyW4lpPFhCCBCgbWQ182Rbw1cTWLbbpeanA7XGCOCdPqLpXO3mSN7Y+t398LejwMIp DdGieDQeXDzULGEFvVYN9rhGZRjQV+7Kaf6P9C01ZMz53iMUrlWt1UtKakp4Aw== 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 4YQ6950PF9zcpn; Sat, 04 Jan 2025 03:57:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5043vib7028225; Sat, 4 Jan 2025 03:57:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5043vidY028222; Sat, 4 Jan 2025 03:57:44 GMT (envelope-from git) Date: Sat, 4 Jan 2025 03:57:44 GMT Message-Id: <202501040357.5043vidY028222@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: 06a8084a147f - stable/14 - thr_sig.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: 06a8084a147f67460b0d1eb32a7d6dc420263ba0 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=06a8084a147f67460b0d1eb32a7d6dc420263ba0 commit 06a8084a147f67460b0d1eb32a7d6dc420263ba0 Author: Konstantin Belousov AuthorDate: 2024-12-22 20:35:26 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-04 03:57:24 +0000 thr_sig.c: style (cherry picked from commit e32308efa215868d98036c30f73c98ebf67e03d4) --- lib/libthr/thread/thr_sig.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index ad291d106001..a8268f2a770d 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -185,8 +185,7 @@ thr_remove_thr_signals(const sigset_t *set, sigset_t *newset) } static void -sigcancel_handler(int sig __unused, - siginfo_t *info __unused, ucontext_t *ucp) +sigcancel_handler(int sig __unused, siginfo_t *info __unused, ucontext_t *ucp) { struct pthread *curthread = _get_curthread(); int err; @@ -357,7 +356,7 @@ check_cancel(struct pthread *curthread, ucontext_t *ucp) * on getting a signal before it agrees to return. */ if (curthread->cancel_point) { - if (curthread->in_sigsuspend && ucp) { + if (curthread->in_sigsuspend && ucp != NULL) { SIGADDSET(ucp->uc_sigmask, SIGCANCEL); curthread->unblock_sigcancel = 1; _thr_send_sig(curthread, SIGCANCEL); @@ -368,8 +367,8 @@ check_cancel(struct pthread *curthread, ucontext_t *ucp) * asynchronous cancellation mode, act upon * immediately. */ - _pthread_exit_mask(PTHREAD_CANCELED, - ucp? &ucp->uc_sigmask : NULL); + _pthread_exit_mask(PTHREAD_CANCELED, ucp != NULL ? + &ucp->uc_sigmask : NULL); } } @@ -407,9 +406,8 @@ check_suspend(struct pthread *curthread) { uint32_t cycle; - if (__predict_true((curthread->flags & - (THR_FLAGS_NEED_SUSPEND | THR_FLAGS_SUSPENDED)) - != THR_FLAGS_NEED_SUSPEND)) + if (__predict_true((curthread->flags & (THR_FLAGS_NEED_SUSPEND | + THR_FLAGS_SUSPENDED)) != THR_FLAGS_NEED_SUSPEND)) return; if (curthread == _single_thread) return; @@ -666,7 +664,7 @@ _thr_sigmask(int how, const sigset_t *set, sigset_t *oset) } int -_sigsuspend(const sigset_t * set) +_sigsuspend(const sigset_t *set) { sigset_t newset; @@ -674,7 +672,7 @@ _sigsuspend(const sigset_t * set) } int -__thr_sigsuspend(const sigset_t * set) +__thr_sigsuspend(const sigset_t *set) { struct pthread *curthread; sigset_t newset; @@ -700,7 +698,7 @@ __thr_sigsuspend(const sigset_t * set) int _sigtimedwait(const sigset_t *set, siginfo_t *info, - const struct timespec * timeout) + const struct timespec *timeout) { sigset_t newset; @@ -715,7 +713,7 @@ _sigtimedwait(const sigset_t *set, siginfo_t *info, */ int __thr_sigtimedwait(const sigset_t *set, siginfo_t *info, - const struct timespec * timeout) + const struct timespec *timeout) { struct pthread *curthread = _get_curthread(); sigset_t newset; From nobody Sat Jan 4 03:57:46 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 4YQ6963gVkz5j98T; Sat, 04 Jan 2025 03:57:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ6961FyRz4qTw; Sat, 4 Jan 2025 03:57:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOUACFaxv+HS87IhMLkVgGdmOsRVOOqX9BrvAC6TkN0=; b=gJYzOFIYzph228XjBV7r3c2EsgvcGfFwXw2/Q9vr5TmliCbQ7i3z+8arzWZFmAFYKH2YPp 0eRgfAs+fOwYyb07yxgd9pJHDcH9R8BD7hibGoTatAD2RrjBy5AQMIF4c1pmPwljAhkwI3 wMZLvxucLzgMisxb3cJurKGsRxCjd2xF1G/EHxG2d02qA8VKvFb1tS2l8ir3OfvujoG/zO gdMhBRz/s6dP7ZUq+qJOP3MspnczlYG0BqHYmtE6Hf8ubrUTOX2h9F5VQqt0IoO0lS/x6N aqmmM6ZDv3NgPzmIXqzTxzA9eYg9lb7wiHUecMBanRD41xwEMXBayCllnbIsmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOUACFaxv+HS87IhMLkVgGdmOsRVOOqX9BrvAC6TkN0=; b=kK+FNTGdCyiBuJzh5YAQU/RFUr+uGz+dy1HMMXKTXHE3g2zvkBWCzAxjMAvTuuCALXL5DD CT3buu5YrTTo82iAHC+hhRRcZxSfhJRQComsb/NOofoRJTrrHRgmcpydRYbtALrEK7u48v oy/bDyR07tD3KnBnjuhSE7L7QZEDmeEBbDKy69cxXkOesr4fIk5W59lKJw82msoDIE5giE LEOHSqWU5Avcf+iPcWJELNLCwBX6j+Ro2/bcrbElgWa/+RJlV2476r359AN1E/qJdZL0+i 2q4Q4A1KhxmlDNEGDNm2E2xdLegqQDdZ7BEPVO1xL1gA5glx3ezuuz8j8K+m1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735963066; a=rsa-sha256; cv=none; b=mu0+gpXuauWEqtqw5T4OgEYzYUHyavZm4CqSiA4Axm2bAN1ueqO8KTMHoHEXAJ1ReJYgaY iGV2GwIZoBShik2tH0Ygvw7Y96CiJBd4UdqDiWjAR0gS3eLPCh/piVroQoppEp5bz45u7g lZVtkgMqgjrSfrzj/YHmdxytKhJ2KWbzjeafQ2xIZpgRkUwmo5N/4LB+BNrbCbC485BlG0 0EBzZDPwLtdJYfGtzsrwR7uXEOyXcoCpBNacYamA8aVReiFxMhecvkc7KYOGZ77oihQnNJ 2DGxv/98WM4ky7twmN1sFrNwVLmfyptZ8VVNlkFzPlgFjkt2isyGwKTX20C6yQ== 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 4YQ6960nt7zckD; Sat, 04 Jan 2025 03:57:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5043vkP0028283; Sat, 4 Jan 2025 03:57:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5043vk4H028279; Sat, 4 Jan 2025 03:57:46 GMT (envelope-from git) Date: Sat, 4 Jan 2025 03:57:46 GMT Message-Id: <202501040357.5043vk4H028279@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: 60b5e18c5362 - stable/14 - libthr: move dlerror_msg into zeroed part of struct thread 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: 60b5e18c5362541323dd214119a1b0664485ae06 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=60b5e18c5362541323dd214119a1b0664485ae06 commit 60b5e18c5362541323dd214119a1b0664485ae06 Author: Konstantin Belousov AuthorDate: 2024-12-23 23:48:58 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-04 03:57:24 +0000 libthr: move dlerror_msg into zeroed part of struct thread (cherry picked from commit 86f6ff9ff00e2ba4d4cd5b7a94d57b1c3f85ff98) --- lib/libthr/thread/thr_private.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h index 7b8a2d6569f9..b34c084ad04d 100644 --- a/lib/libthr/thread/thr_private.h +++ b/lib/libthr/thread/thr_private.h @@ -562,8 +562,12 @@ struct pthread { /* Deferred threads from pthread_cond_signal. */ unsigned int *defer_waiters[MAX_DEFER_WAITERS]; -#define _pthread_endzero wake_addr + /* rtld thread-local dlerror message and seen control */ + char dlerror_msg[512]; + int dlerror_seen; + +#define _pthread_endzero wake_addr struct wake_addr *wake_addr; #define WAKE_ADDR(td) ((td)->wake_addr) @@ -572,10 +576,6 @@ struct pthread { /* pthread_set/get_name_np */ char *name; - - /* rtld thread-local dlerror message and seen control */ - char dlerror_msg[512]; - int dlerror_seen; }; #define THR_SHOULD_GC(thrd) \ From nobody Sat Jan 4 03:57:47 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 4YQ6975C8Sz5j968; Sat, 04 Jan 2025 03:57:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ6972JzCz4qd5; Sat, 4 Jan 2025 03:57:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WI7YAW89Yv3T3uPvEI3qMPpuDtq3kT6VDp/vsZsHUEo=; b=KF3edEpMLUL2bNznnuT6dfkvWCZMglsDoXSOhw8636DklB+KaB3HqqKJRMPS5TZfsdHbHr Bg0D4HzsAdA4isMHsaI9u6KtY5kAiZDdCq94tVDVgGvEeIiEmjY/MUr9bk4LzU9gPwQ65P jHUd25yQCS6IsMIQ3/c9V+S2gac0/otY4NL0OC4q6CQiQQ7Ex9MwLbaU7MAKSPP2XPID6O KWlWil8qpNyI3eJAklJzmcQct7lA9471mNxQNGcEW4xFz+MYvGOP4qga6USKUIyoWz4HGj PXi6Wly6dOjxKz3t+6RkGmFnHpC4u97ZMTIwfbiTXXaDWbgm2QSTeKPbuVid9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WI7YAW89Yv3T3uPvEI3qMPpuDtq3kT6VDp/vsZsHUEo=; b=dNup4C/6q7aFnGFwKDLMW5MTS31MDXhmljY60GDWWmhgL6NpSeHvHXaVe50EYToejKFHdf niqNTNNY3ZZzXsP7xIyONPiB5PaBVUpPrbOxzcN8Ou9HocE2TL1CzZs/ShR0PZdiDW60zr SlRexihb8jK8+fkv+nGtxMMqRFCDhLjBMwtdJHEAOEOHfig7v/p80o2Zju4kfOBoHqbm1s 6eSc1OJ16x8ItnhTec7lkd6dWVNczPzsXrCAe/Yp9A8kB2WOwLjZ+nm3RuuMfCKtKdTd4I jpWRPLQlSj3o7SfsPDTUktqAnsbDrt9OSuI3gAQGk0yYXFgyBJvzO6C1r6Le1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735963067; a=rsa-sha256; cv=none; b=agP5HfBl/dQ3UAmU1J9vHB3bmgWE8ITEN9Tz3ayzfjVWEBoZ9bM1Lj/tt64iWigpuyUxUB vnLgeHLE3faqoYJAzrgauCZfw5Q/N7xLToTpBNwL/ixV/aZ04nl/f1Qs8alSB1QsXwbalj 6b6CCOer84jSe+J2sVucgiaDePfi/6SFvMJy7OH29LZHFxwb7wcpOtVZbQTu16Zh5V+UE+ ArT3Du4MALifl9mfQ3eum88nrV01Y09WMy4zweXf2FTvzBiIJ5QxJbB3jEuWeOTH3p9MSN 2RI3yQd2fDEThawhmrm+XSG+i3I1aJ9cyB8LUvupQVHZUyMZcCRazXBxHFCzog== 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 4YQ6971tB4zcLd; Sat, 04 Jan 2025 03:57:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5043vlC5028336; Sat, 4 Jan 2025 03:57:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5043vlIE028333; Sat, 4 Jan 2025 03:57:47 GMT (envelope-from git) Date: Sat, 4 Jan 2025 03:57:47 GMT Message-Id: <202501040357.5043vlIE028333@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: 20f173fdc7c7 - stable/14 - thr_cancel.c: use testcancel() instead of manually expanding it List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 20f173fdc7c70cc2185b8d38cd7ce997e78db795 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=20f173fdc7c70cc2185b8d38cd7ce997e78db795 commit 20f173fdc7c70cc2185b8d38cd7ce997e78db795 Author: Konstantin Belousov AuthorDate: 2024-12-21 17:55:39 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-04 03:57:24 +0000 thr_cancel.c: use testcancel() instead of manually expanding it (cherry picked from commit a944e6d5c0c27c2a533486062497a40d8f0ae543) --- lib/libthr/thread/thr_cancel.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/libthr/thread/thr_cancel.c b/lib/libthr/thread/thr_cancel.c index 0e00c2c36086..7622e306f937 100644 --- a/lib/libthr/thread/thr_cancel.c +++ b/lib/libthr/thread/thr_cancel.c @@ -166,9 +166,8 @@ void _thr_cancel_leave(struct pthread *curthread, int maycancel) { curthread->cancel_point = 0; - if (__predict_false(SHOULD_CANCEL(curthread) && - !THR_IN_CRITICAL(curthread) && maycancel)) - _pthread_exit(PTHREAD_CANCELED); + if (maycancel) + testcancel(curthread); } void From nobody Sat Jan 4 03:57:49 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 4YQ69B03jKz5j96C; Sat, 04 Jan 2025 03:57:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ69948W2z4qcC; Sat, 4 Jan 2025 03:57:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AfV1AoLlJS4AE+91biEEFgNN5x3uiBXlH5K8s6gimLA=; b=xtbSyIa6tPEcY1QDiwL9mYpALwVtAusm1ht08guNiXJfB0O0JflTz/csmvQvhcbYNP6FLt w0U3Pctvu7qBV/ee6/AGVUYxkc/WuRSvFK1I629pZ/MxDgjoZnS1a/cQp4f5eFqzA4xq+r wOSleuCt6IW1LuAXJse7F7Zb2jqPnA24/0uZE4aOh41R6wgNgQAqk2l1Tg+wlFXKIXQr44 vBu0BfCChTpqbOlT/MmNyZCSvK48t4CkKfO+x21AZq8fqm5TZZPiVcBqW8UJxetwP6iugt JTYUn9hLrIhdwecHHUB5wa5/ZaKsT7uCaW10blwza1fA23JEGuv793hlaqXqfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AfV1AoLlJS4AE+91biEEFgNN5x3uiBXlH5K8s6gimLA=; b=fFjaO3CScljyBVIHLy+HxSHoG8s+DXFwO0WRvRB0iZqjepFoGk8sHh7mUi1sL/PEtOUnGy WAXy59ElphM829ReVg8Gf+bj9izDcObSM96K+yTu/toe9DlV1viWvD5QKNzawW2dCz2YXW DvFnIOAWHA8dVY8Uq233E4krDWsbOq9XMOUtpaMWZdfEN+7Wecg9Pi93AJvvjQ3Z8hxZpB od8oWQRavSaYAY9bBTPZDwIrOTpB/uBhTjgMnQEOpdOqghVkF1nj3qm2eEX22X3wPBrwWC YV9Gy+02AcBdY6KCvjrgI/ZMklKQzEUDBBuoWAP+NGVbnn36JypXApQu6MqELg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735963069; a=rsa-sha256; cv=none; b=DrKNVfF9JLFx1mBrKgt1N+EEKtGKdqHliveOW8GRv1Pz/AzWknkLVQkWPA7z3tgCcSQBOD UIV5xLut/PYm6XeA78nJAWKFexf3sRfLUes17HS1vW8T4RQtv9quPR9HUq7hNJ4JnOMOKK FkAx9AajH+jNcdGSdJb+i6aUcDxi2hHEO/kHUEYVJKhsRwwXptUq8eRq+htQ4mhJ/CSiKA vYLit6Zw/+RJ3hDx4wTdgfyCuBdenzWxo6WhEvURWn+OFwZwCDrXnojK52ICfRmeW/UlC7 nmAJF6rbtnHksmXRxj5bRIh1QexlxDepBI6DmSqLHsdNzVd/UZu636o3BtBu1g== 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 4YQ6993SKHzd1m; Sat, 04 Jan 2025 03:57:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5043vnpO028429; Sat, 4 Jan 2025 03:57:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5043vnCk028426; Sat, 4 Jan 2025 03:57:49 GMT (envelope-from git) Date: Sat, 4 Jan 2025 03:57:49 GMT Message-Id: <202501040357.5043vnCk028426@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: 85671cefd93f - stable/14 - check_cancel: when in_sigsuspend, send SIGCANCEL unconditionally 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: 85671cefd93fff9baf5245b6aae0b44d30621b94 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=85671cefd93fff9baf5245b6aae0b44d30621b94 commit 85671cefd93fff9baf5245b6aae0b44d30621b94 Author: Konstantin Belousov AuthorDate: 2024-12-24 00:08:17 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-04 03:57:24 +0000 check_cancel: when in_sigsuspend, send SIGCANCEL unconditionally PR: 283101 (cherry picked from commit 9f78c837d94f73f1485e2ce012a8e64197dae9d5) --- lib/libthr/thread/thr_sig.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index a8268f2a770d..1e4a0b9a8f72 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -356,9 +356,11 @@ check_cancel(struct pthread *curthread, ucontext_t *ucp) * on getting a signal before it agrees to return. */ if (curthread->cancel_point) { - if (curthread->in_sigsuspend && ucp != NULL) { - SIGADDSET(ucp->uc_sigmask, SIGCANCEL); - curthread->unblock_sigcancel = 1; + if (curthread->in_sigsuspend) { + if (ucp != NULL) { + SIGADDSET(ucp->uc_sigmask, SIGCANCEL); + curthread->unblock_sigcancel = 1; + } _thr_send_sig(curthread, SIGCANCEL); } else thr_wake(curthread->tid); From nobody Sat Jan 4 03:57:48 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 4YQ6993mSHz5j8lg; Sat, 04 Jan 2025 03:57:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQ6990zqkz4qdS; Sat, 4 Jan 2025 03:57:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sBw/IrN/9zrrexLcSaStc1BORcQk7+YmZ4Pf+vamjkM=; b=UoqAkbm+PUSfS/NVo6S4hS/9NPuXNmWlA1HxKW1Yu3JeR9IlN9QtU1o9ogx6qYqKBrzAca TNxHW8Vh644mmW+BPR+xLqBbRRkKsqeb2pmDMK+F8PJVxAV1w6P9EHqBl2vk9NG0yvPJoI BSpEFkhYGghUZMHsIthsqAteBp5NYzwFp6mtnyPSlG9oPGsx3iAMa3vJCXQHfha1u79XXN dOb6UyQm2D7M7c66npUzQvKI92fG6zyOroJDrCeofOLjGSCiRwaJ2//EQ5Q9xcm+NMZ0An 6wMJtUTHIb5mpHuHZ5LqR/ofK62fbkv1aMhOOELVs0laurvM2UMtwelXOI0yBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735963069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sBw/IrN/9zrrexLcSaStc1BORcQk7+YmZ4Pf+vamjkM=; b=iVYla3HHNpfk4uLEuoXqMN+0Xp+5NB3VNHcWfEo4jCSonUBGw59BbGOg0qOYYhSY/FAMsS esYwC9gMEMFGAyVqyv7vyhHkzqse2RMTbS2rfTyvYb5meN4I+6vLzs1UUENfVuY6Ddjgt1 7u4mEXE91173SyLk8SuMNzC3yV65wTeBQ+A/zhf+so6IdCg6E5lzuzzCmvbkX+8v9DuFap vBQZMTW9tHAPlowmgn7gRAWKl7Gw1YNSJ8lWMukuFv5zn4h9vB5Hh2UNR16eJaqZESXQSV UuSmk2zbNq7JxM7blkZvjcg8yqgPQu8r227/kxoHoFCLSu9m+LaHMf2GlnRHWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735963069; a=rsa-sha256; cv=none; b=FvSejCYnuaA/1MRbAo/R2koiHji+1AgBCMKkYPuashwjePhcy6I7YhvEHr6190HyvFngvv ShyYWEPZG7/FJUr0vnDU3STj/rVgX18nxc0HgdAzNMv+QVG+uJcWFgdQJ+Scx4zKt+gmmq A8hdMZq65R4dbyfje615CraEBsP/2xKJUt5sacMOt4Nm3Epryk8rARsyB6NGMCToqFjDBG 57wbnAcF7A695Nhxhuh1axzqj0usZub8Q4U0z7Oq/P/KAM1qJztu0XFtggCIPSvr/CP+f8 Th2ReYfPgw0Jm+SnnA27Dk8Qmi70KzysxkFjAa+J3IdGKKUQJ4NXZJs/NZmN4A== 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 4YQ6982tHTzcmW; Sat, 04 Jan 2025 03:57:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5043vmJF028375; Sat, 4 Jan 2025 03:57:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5043vmh6028372; Sat, 4 Jan 2025 03:57:48 GMT (envelope-from git) Date: Sat, 4 Jan 2025 03:57:48 GMT Message-Id: <202501040357.5043vmh6028372@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: 2f645d539c60 - stable/14 - pthread_setcancelstate(3): make it async-signal-safe 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: 2f645d539c6003601c5a09c156869a6c6334ec4c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2f645d539c6003601c5a09c156869a6c6334ec4c commit 2f645d539c6003601c5a09c156869a6c6334ec4c Author: Konstantin Belousov AuthorDate: 2024-12-23 06:42:15 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-04 03:57:24 +0000 pthread_setcancelstate(3): make it async-signal-safe (cherry picked from commit 030f48f78f96e0cdb30c960e1a11e5ae01d0eee8) --- lib/libthr/thread/thr_cancel.c | 12 ++++++------ share/man/man3/pthread_testcancel.3 | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/libthr/thread/thr_cancel.c b/lib/libthr/thread/thr_cancel.c index 7622e306f937..4189a2640d14 100644 --- a/lib/libthr/thread/thr_cancel.c +++ b/lib/libthr/thread/thr_cancel.c @@ -83,22 +83,22 @@ int _thr_setcancelstate(int state, int *oldstate) { struct pthread *curthread = _get_curthread(); - int oldval; + int oldval, val; - oldval = curthread->cancel_enable; switch (state) { case PTHREAD_CANCEL_DISABLE: - curthread->cancel_enable = 0; + val = 0; break; case PTHREAD_CANCEL_ENABLE: - curthread->cancel_enable = 1; - if (curthread->cancel_async) - testcancel(curthread); + val = 1; break; default: return (EINVAL); } + oldval = atomic_swap_int(&curthread->cancel_enable, val); + if (state == PTHREAD_CANCEL_ENABLE && curthread->cancel_async) + testcancel(curthread); if (oldstate != NULL) { *oldstate = oldval ? PTHREAD_CANCEL_ENABLE : PTHREAD_CANCEL_DISABLE; diff --git a/share/man/man3/pthread_testcancel.3 b/share/man/man3/pthread_testcancel.3 index 2d2bb06c48e2..c74cdcfe943b 100644 --- a/share/man/man3/pthread_testcancel.3 +++ b/share/man/man3/pthread_testcancel.3 @@ -34,6 +34,7 @@ are .Dv PTHREAD_CANCEL_ENABLE and .Dv PTHREAD_CANCEL_DISABLE . +The function is async-signal-safe. .Pp The .Fn pthread_setcanceltype @@ -248,6 +249,11 @@ function conforms to .St -p1003.1-96 . The standard allows implementations to make many more functions cancellation points. +.Pp +The +.Fn pthread_setcancelstate +function is async-signal-safe as required by +.St -p1003.1-2024 . .Sh AUTHORS This manual page was written by .An David Leonard Aq Mt d@openbsd.org From nobody Sat Jan 4 07:10:45 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 4YQBRp43h8z5jrtg; Sat, 04 Jan 2025 07:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQBRp0n3Xz53nL; Sat, 4 Jan 2025 07:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735974646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pjyf213eLN6US2HHl0575fKYOXO6C7HDPLDPnz/3mgc=; b=FKiTWGSD+8C9DiWl57Aq1XxGR9YlI/JyQtE3hxXkBtXYb+LETwmUT1VoJ4X3RAjxqJCQ4/ YpmWH3wJ2ov2JY0wloVEU618VWm/DN6aBcBoaVQKOWBMxT58gOol69+QSQunMA9m0vl50E rh0OqRNsUAyEB1n3I5cuMSVJpWFFXFBE4k2EhxGn+uXlduL6BdnbyxWK3FXSEoj+rLZEEA 2K1uzYdJIpTD1ugZBL13urS3igqWbeIIm3e8UuG1Un+hysHUp4VC1m9ivl0OKtZkmPOTwG l1m03Y+UC0h+ND/HerbjZI0tg4NEZ/PJt31bXBuQEdzO8/fGQfsQeCjoAYAWqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735974646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pjyf213eLN6US2HHl0575fKYOXO6C7HDPLDPnz/3mgc=; b=pxZf+CzCUtiIizE6ipF9fw5DGFxcfCNxoVlKdrifQ3fabZcYt89M9rDuuss//FmMOfmUCy tt2fYh4WSRFi8O9t7LxX1ltPqmhQKdkN410EBvNwqCmcWDHJmdAGhEg5tnbNkINfyC+PFa aA/v0KfbUEnl+ie/QX84V+DSfzDN0yboTeG6m4CBrSil3Y+C8Jg2Ok3h8nV0rLnyNoz/2U 3deazTBTwfJcuN4lW+D4kaIm/I3ZfC/6t10wC/SRxVfXKtJjh+nd3dNFYtyrJqcaW5bRYy BZqc85c39zb95s+gKOXpY7JQ4SrrXaWFBRzKWlnhbifEJS1TDvxgBbHGfuhMew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735974646; a=rsa-sha256; cv=none; b=oSc5ZDzdF4iHDICCHxYfV5qcr0D9plNF9XJAndPOtaz6Mff9ZbK5A6v29ccuHjjl5OB5u7 LqpRQwaFMOHNcDdkkiGLxKzB3ilDAS6/sAb5rhtOrEutVtbyPvWWW4w4GBgz00bN6xwDLU zuaNnanIuUJfCNLwLc5UP6Z/mAAudp6Nl+/GpuK/7t8XOjvVH/ioSwtHY1qXwq4ewYjmcC m6fPejX/VYO52Cm4foO67b63Nb6EqqutJqHehM5lg/fx5Ojo3bL0+jXGIn/uCBNsrDVP16 RUoZ7iqjgmbqVO1J+bor8IVlK4KLS4302RhPrxSXDcjy53SrA+oa/wHSbMqYIg== 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 4YQBRp0GBbzjjK; Sat, 04 Jan 2025 07:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5047AjjI093678; Sat, 4 Jan 2025 07:10:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5047AjTP093675; Sat, 4 Jan 2025 07:10:45 GMT (envelope-from git) Date: Sat, 4 Jan 2025 07:10:45 GMT Message-Id: <202501040710.5047AjTP093675@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 9e4acacf88f8 - stable/14 - timeout(1): Some minor tweaks and improvements 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9e4acacf88f8b6f8afe35d661fab9f7e0ebf875c Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=9e4acacf88f8b6f8afe35d661fab9f7e0ebf875c commit 9e4acacf88f8b6f8afe35d661fab9f7e0ebf875c Author: Gordon Bergling AuthorDate: 2024-12-28 07:13:22 +0000 Commit: Gordon Bergling CommitDate: 2025-01-04 07:10:31 +0000 timeout(1): Some minor tweaks and improvements - Define exit status and macros and use them - Improve the second kill logic by setting 'do_second_kill = false' after configuring the second kill - Minor style tweaks - Reorder options in the man page, as well as the usage help - Reorder the exit status in the man page - Enhance the HISTORY section in the man page (obtained from NetBSD) Reviewed by: bapt, Alexander Ziaee (manpages) Approved by: bapt (src) Obtained from: DragonFlyBSD Differential Revision: https://reviews.freebsd.org/D47866 (cherry picked from commit 06690044dac183ea1d93c2ae227e261da3bdca2a) --- bin/timeout/timeout.1 | 63 +++++++++++++++++++++++++++++++-------------------- bin/timeout/timeout.c | 38 ++++++++++++++++++------------- 2 files changed, 60 insertions(+), 41 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index 10e5fd70c393..b8ec3030b271 100644 --- a/bin/timeout/timeout.1 +++ b/bin/timeout/timeout.1 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 17, 2024 +.Dd December 28, 2024 .Dt TIMEOUT 1 .Os .Sh NAME @@ -32,10 +32,11 @@ .Nd run a command with a time limit .Sh SYNOPSIS .Nm -.Op Fl -signal Ar sig | Fl s Ar sig -.Op Fl -preserve-status +.Op Fl k Ar time | Fl -kill-after Ar time +.Op Fl s Ar sig | Fl -signal Ar sig .Op Fl -kill-after Ar time | Fl k Ar time .Op Fl -foreground +.Op Fl -preserve-status .Ar duration .Ar command .Op Ar args ... @@ -62,18 +63,6 @@ is 0. .Pp The options are as follows: .Bl -tag -width indent -.It Fl -preserve-status -Exit with the same status as -.Ar command , -even if it times out and is killed. -.It Fl -foreground -Do not propagate timeout to the children of -.Ar command . -.It Fl s Ar sig , Fl -signal Ar sig -Specify the signal to send on timeout. -By default, -.Dv SIGTERM -is sent. .It Fl k Ar time , Fl -kill-after Ar time Send a .Dv SIGKILL @@ -82,8 +71,21 @@ signal if is still running after .Ar time after the first signal was sent. +.It Fl s Ar sig , Fl -signal Ar sig +Specify the signal to send on timeout. +By default, +.Dv SIGTERM +is sent. +.It Fl -foreground +Do not propagate timeout to the children of +.Ar command . +.It Fl -preserve-status +Exit with the same status as +.Ar command , +even if it times out and is killed. .El .Sh DURATION FORMAT +The .Ar duration and .Ar time @@ -92,7 +94,7 @@ unit-specifying suffix. Values without an explicit unit are interpreted as seconds. .Pp Supported unit symbols are: -.Bl -tag -width indent -compact +.Bl -tag -offset indent -width indent -compact .It Cm s seconds .It Cm m @@ -116,10 +118,15 @@ If .Fl -preserve-status is not set, an exit status of 124 is returned. .Pp +If an invalid parameter is passed to +.Fl s +or +.Fl k , +the exit status returned is 125. +.Pp If .Ar command -exits after receiving a signal, the exit status returned is the signal number -plus 128. +is an otherwise invalid program, the exit status returned is 126. .Pp If .Ar command @@ -127,13 +134,8 @@ refers to a non-existing program, the exit status returned is 127. .Pp If .Ar command -is an otherwise invalid program, the exit status returned is 126. -.Pp -If an invalid parameter is passed to -.Fl s -or -.Fl k , -the exit status returned is 125. +exits after receiving a signal, the exit status returned is the signal number +plus 128. .Sh EXAMPLES Run .Xr sleep 1 @@ -206,6 +208,17 @@ The .Nm command first appeared in .Fx 10.3 . +.Pp +The +.Fx +work is compatible with GNU +.Nm +by +.An Padraig Brady , +from GNU Coreutils 8.21. +The +.Nm +utility first appeared in GNU Coreutils 7.0. .Sh AUTHORS .An Baptiste Daroussin Aq Mt bapt@FreeBSD.org and diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 7de255f30150..3803aeeca883 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -41,6 +41,9 @@ #include #define EXIT_TIMEOUT 124 +#define EXIT_INVALID 125 +#define EXIT_CMD_ERROR 126 +#define EXIT_CMD_NOENT 127 static sig_atomic_t sig_chld = 0; static sig_atomic_t sig_term = 0; @@ -51,9 +54,9 @@ static void usage(void) { - fprintf(stderr, "Usage: %s [--signal sig | -s sig] [--preserve-status]" - " [--kill-after time | -k time] [--foreground] " - " \n", getprogname()); + fprintf(stderr, "Usage: %s [-k time | --kill-after time]" + " [-s sig | --signal sig] [--foreground] [--preserve-status]" + " \n", getprogname()); exit(EXIT_FAILURE); } @@ -66,13 +69,13 @@ parse_duration(const char *duration) ret = strtod(duration, &end); if (ret == 0 && end == duration) - errx(125, "invalid duration"); + errx(EXIT_INVALID, "invalid duration"); if (end == NULL || *end == '\0') return (ret); if (end != NULL && *(end + 1) != '\0') - errx(125, "invalid duration"); + errx(EXIT_INVALID, "invalid duration"); switch (*end) { case 's': @@ -87,11 +90,11 @@ parse_duration(const char *duration) ret *= 60 * 60 * 24; break; default: - errx(125, "invalid duration"); + errx(EXIT_INVALID, "invalid duration"); } if (ret < 0 || ret >= 100000000UL) - errx(125, "invalid duration"); + errx(EXIT_INVALID, "invalid duration"); return (ret); } @@ -106,6 +109,7 @@ parse_signal(const char *str) if (errstr == NULL) return (sig); + if (strncasecmp(str, "SIG", 3) == 0) str += 3; @@ -114,7 +118,7 @@ parse_signal(const char *str) return (i); } - errx(125, "invalid signal"); + errx(EXIT_INVALID, "invalid signal"); } static void @@ -149,7 +153,7 @@ set_interval(double iv) memset(&tim, 0, sizeof(tim)); tim.it_value.tv_sec = (time_t)iv; - iv -= (time_t)iv; + iv -= (double)tim.it_value.tv_sec; tim.it_value.tv_usec = (suseconds_t)(iv * 1000000UL); if (setitimer(ITIMER_REAL, &tim, NULL) == -1) @@ -160,10 +164,10 @@ int main(int argc, char **argv) { int ch; - unsigned long i; int foreground, preserve; int error, pstat, status; int killsig = SIGTERM; + size_t i; pid_t pid, cpid; double first_kill; double second_kill; @@ -241,11 +245,13 @@ main(int argc, char **argv) signals.sa_handler = sig_handler; signals.sa_flags = SA_RESTART; - for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) + for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) { if (signums[i] != -1 && signums[i] != 0 && sigaction(signums[i], &signals, NULL) == -1) err(EXIT_FAILURE, "sigaction()"); + } + /* Don't stop if background child needs TTY */ signal(SIGTTIN, SIG_IGN); signal(SIGTTOU, SIG_IGN); @@ -260,9 +266,9 @@ main(int argc, char **argv) error = execvp(argv[0], argv); if (error == -1) { if (errno == ENOENT) - err(127, "exec(%s)", argv[0]); + err(EXIT_CMD_NOENT, "exec(%s)", argv[0]); else - err(126, "exec(%s)", argv[0]); + err(EXIT_CMD_ERROR, "exec(%s)", argv[0]); } } @@ -295,7 +301,7 @@ main(int argc, char **argv) break; } else { procctl(P_PID, getpid(), - PROC_REAP_STATUS, &info); + PROC_REAP_STATUS, &info); if (info.rs_children == 0) break; } @@ -314,7 +320,7 @@ main(int argc, char **argv) if (do_second_kill) { set_interval(second_kill); - second_kill = 0; + do_second_kill = false; sig_ign = killsig; killsig = SIGKILL; } else @@ -331,7 +337,7 @@ main(int argc, char **argv) if (do_second_kill) { set_interval(second_kill); - second_kill = 0; + do_second_kill = false; sig_ign = killsig; killsig = SIGKILL; } else From nobody Sat Jan 4 14:08:14 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 4YQMjW36Grz5kK0y; Sat, 04 Jan 2025 14:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQMjW09XQz4Txm; Sat, 4 Jan 2025 14:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1C8ziHyCskFNvTMlOqf9vsVhBnLrbtGsQA230O1NuCw=; b=Xu9QUbnqKNLWwiSvtfE8K3wHkBNQjEMZICN/Eu9Jjt7RU+KYyTeh8R+ravH3yi8EbHJBR2 48ypvgA/KXNtUwk684Nya/YYuf86HKcxU+ZRcQOqpRdkQS7qOIKjR211xD+bTW5tNJFAEB FxA14lMZdfsJJlp3JNyl6GWJ+J12p4z0aHyKkz9sMpABqvWKkiqJsnwjKt5O6w1VnNr2rk Dv7hCT4vNWQEOe1csf+TVWUx5XgDg9EWSSbG5VI36xttUUDBqMjosyIqJQrGsJaZ3/Jqhy cX8NFcadfXSBL9W+q8p+NjR4DSrOE0kOSmmJ1VOGFEXyyxIWK3b9AXuTR7Tu3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1C8ziHyCskFNvTMlOqf9vsVhBnLrbtGsQA230O1NuCw=; b=XLBhPeQfIu2UhbCz8ex1tgai1l16HETpm+f3GjfedI5rhFDuKKNkhuqVKMGxaooz4vRNPA aGCPThFpB2dViggOeKQVs4+IHkAUlSuWWA5vTyQucrEg/doZcaSxiWtNJqEkBuUfsLh6Ka XJjheogdKIacxmrSCpHT8XBC3MC6p3ZYMItdykZLnBht4FwZJRp0JyJIrzi0HAI4yL9uC5 mdAKCYoX+Mb3Cdldx/O2OnGfL0cs/jKuwffM3wDHzAI1ruqVvcoYp2gpwdACPYqvmPigkS ueV7ZpK2fW4isNqdmSzGrXgHZRulJcIFLv6nYlXCT8G0AGzzOlkTYTLV8Ra2Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735999695; a=rsa-sha256; cv=none; b=ao6T47mEl/NTIzzPbbH7vJIgBh/uqvu2Z7XNRh7nRlnxwJ9U5+LL1dcRS/84KFkPvwaHzU QjPrqbIrMx8knww7J3aN1z4qZ17PJNZOSZJwz5etHcS7LhbQvxjJpb52kzb8EV0qcSiTJA VzfpL3k2kYFf109QZVcmSj0MjzQG5jF68j2vsg39tRe8hKWC5sE/SyLJvgJ+1DKBPphDo/ 87sdSAXH5QeOSuFYoEIhuCxvooNWGkEKHLA7IBZ3+Mr9SBJmXeKIt+RjIXDs4opKOG+dxK +xsV64q/2YhJyQIPFsREqHOuBrBYlaULak+ALSu1KPBm4BtZz0iwA7d1DXaLgQ== 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 4YQMjV6tJGzwVg; Sat, 04 Jan 2025 14:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 504E8EaJ070434; Sat, 4 Jan 2025 14:08:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504E8ENS070431; Sat, 4 Jan 2025 14:08:14 GMT (envelope-from git) Date: Sat, 4 Jan 2025 14:08:14 GMT Message-Id: <202501041408.504E8ENS070431@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: f9275f94f33b - stable/14 - riscv: Permit spurious faults in kernel mode 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: f9275f94f33bd017a05ed791b1ee56a68ab42be7 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f9275f94f33bd017a05ed791b1ee56a68ab42be7 commit f9275f94f33bd017a05ed791b1ee56a68ab42be7 Author: Mark Johnston AuthorDate: 2024-12-10 15:07:28 +0000 Commit: Mark Johnston CommitDate: 2025-01-04 13:56:34 +0000 riscv: Permit spurious faults in kernel mode Right now, pmap_enter() does not issue an sfence.vma after overwriting an invalid PTE, so the kernel can trigger a page fault when accessing a freshly created mapping. In this case, pmap_fault() can handle the exception, but we may panic before that. Move the check; this is consistent with arm64 and serves to ensure that we don't call vm_fault() etc. from a context where that's not permitted. Also fix a related bug: don't enable interrupts if they were disabled in the context where the exception occurred. Reviewed by: br Tested by: br MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47688 (cherry picked from commit c226f193515c8c0665610cb519fe381987f8ee24) --- sys/riscv/riscv/trap.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/riscv/riscv/trap.c b/sys/riscv/riscv/trap.c index 3a7b3fba26b9..0b6db7982847 100644 --- a/sys/riscv/riscv/trap.c +++ b/sys/riscv/riscv/trap.c @@ -229,11 +229,6 @@ page_fault_handler(struct trapframe *frame, int usermode) pcb = td->td_pcb; stval = frame->tf_stval; - if (td->td_critnest != 0 || td->td_intr_nesting_level != 0 || - WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL, - "Kernel page fault") != 0) - goto fatal; - if (usermode) { if (!VIRT_IS_VALID(stval)) { call_trapsignal(td, SIGSEGV, SEGV_MAPERR, (void *)stval, @@ -246,7 +241,8 @@ page_fault_handler(struct trapframe *frame, int usermode) * Enable interrupts for the duration of the page fault. For * user faults this was done already in do_trap_user(). */ - intr_enable(); + if ((frame->tf_sstatus & SSTATUS_SIE) != 0) + intr_enable(); if (stval >= VM_MIN_KERNEL_ADDRESS) { map = kernel_map; @@ -270,6 +266,11 @@ page_fault_handler(struct trapframe *frame, int usermode) if (VIRT_IS_VALID(va) && pmap_fault(map->pmap, va, ftype)) goto done; + if (td->td_critnest != 0 || td->td_intr_nesting_level != 0 || + WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL, + "Kernel page fault") != 0) + goto fatal; + error = vm_fault_trap(map, va, ftype, VM_FAULT_NORMAL, &sig, &ucode); if (error != KERN_SUCCESS) { if (usermode) { From nobody Sat Jan 4 14:08: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 4YQMjX4TGdz5kJkb; Sat, 04 Jan 2025 14:08: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 4YQMjX1j82z4Thk; Sat, 4 Jan 2025 14:08:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fIqmzup+N23EReSyhufHh0hPwaySLt9kux2VBSSLNx4=; b=CVtEGvQgFP0mX3wul1pTvv9RKgwsrbtG+K6j/QKgfV3R2kc5jfh/F+rUaZ3SonmVWqhf+A LOvZyPt2O0riCwUmUU2x0OEiC0m0c9U7LLFEv+dvIxPSFwBmCn8K2wnY/PC9B603Ca18Tn v8khkzAoz5u8UTkd5aN6KjLReGsDk2TmBWDxHYKKjExFidUZpOUNk/VY0NsOxULtr+QOcb IPWrzNP+PNPfbFF35N32yDnUOzgScg0A6K79xV9QPkVZEae7IxN+S07Hqoi2rCvtoWaQaA wufo9NQnEWsffnIsenIZ9powUK6Ofht4aeVNH+OfiW50fd6tvFSQpF89sMZa9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fIqmzup+N23EReSyhufHh0hPwaySLt9kux2VBSSLNx4=; b=Z12JFFvPuoib61DlCH5+OG+kJU1HuMcEn1uIjeFab3ExmTWBRWuRtTvizjOhFma9Q11joH mXoJ1mtRO8Z60QebAdPSDYqpvfZayf57pbbwH7ckuZf+1p02GT1N4RgEk/gF2GqxBnptoN HsW5YuNNdaJhYOjinRlv5Z6k3OhO8k1kLKWEh4cPELzetNtwylffrU/A8L8ilOG1V4u91h JHZ6pYOkpUrWlLvaZrWoJZ6VfaCwv+pkBxSGo6k5fCwB6AjrjFMqeMkCvbGdjUJBF/BWg/ p7vliniSU7CzU37rW30H8y9NiwngWJ6Q5fKhC+feTsOcg6PLRjv0YRC3GdnDwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735999696; a=rsa-sha256; cv=none; b=hUwuRGQ0JK+KquSLv1n7T5qcpfRrfgxSG+ArKr6b7Y3O5tS9xOfdAtvfYoILF7serLt9My RD2iWCKV4SvnvurVkoVFqnrVe2MqK8vTXOB7Wzh/qV9L1c3CSes7qIVRn51/UQpujh5bf+ t2fh4b7H5x7Vlbfq9PNDn7sO/dFphDy1bRQIBXPI4BdtQvl6dwzD5Q9qH/kbPsT5+rNCOK 7bDpKI8N3xaW9Aspo2xdlv37H0hm7x8jOJGet9+bQDJGdigY5Gs5HEvjaALV/dc/IEkdyZ kNgFdJCeTGmzQJdM+fyiWeQNPHJYEcUqm/YgT2pa+TFB6sAH85wfTbVYpJ4+GQ== 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 4YQMjX13rCzwSJ; Sat, 04 Jan 2025 14:08: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 504E8Gjx070485; Sat, 4 Jan 2025 14:08:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504E8GWj070482; Sat, 4 Jan 2025 14:08:16 GMT (envelope-from git) Date: Sat, 4 Jan 2025 14:08:16 GMT Message-Id: <202501041408.504E8GWj070482@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: f1933eda43e6 - stable/14 - jail: Handle jail removal in a dedicated thread 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: f1933eda43e6d15bc237a63741bda56bfed953e0 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f1933eda43e6d15bc237a63741bda56bfed953e0 commit f1933eda43e6d15bc237a63741bda56bfed953e0 Author: Mark Johnston AuthorDate: 2024-12-21 19:23:51 +0000 Commit: Mark Johnston CommitDate: 2025-01-04 13:56:37 +0000 jail: Handle jail removal in a dedicated thread Otherwise a deadlock is possible: the system taskqueue thread removes a prison and calls vnet_destroy(), vnet_vlan_uninit() destroys the if_vlan cloner, the vlan_clone_destroy() callback calls taskqueue_drain() on the thread taskqueue. Fix the problem by introducing a new thread for jail removals. Ideally, the taskqueue interface would let consumers define queues without having to map them to threads, as that'd make it possible to avoid such deadlocks without extra threads; for now, this is the only solution. Reviewed by: jamie MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47991 (cherry picked from commit 8cf955f3f48a45db22a3cc3ad89a22b543fa38ce) --- sys/kern/kern_jail.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index c4e89774f18b..6f2b4f7fc336 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -130,6 +130,12 @@ struct jailsys_flags { unsigned new; }; +/* + * Handle jail teardown in a dedicated thread to avoid deadlocks from + * vnet_destroy(). + */ +TASKQUEUE_DEFINE_THREAD(jail_remove); + /* allprison, allprison_racct and lastprid are protected by allprison_lock. */ struct sx allprison_lock; SX_SYSINIT(allprison_lock, &allprison_lock, "allprison"); @@ -2868,7 +2874,7 @@ prison_free(struct prison *pr) * Don't remove the last reference in this context, * in case there are locks held. */ - taskqueue_enqueue(taskqueue_thread, &pr->pr_task); + taskqueue_enqueue(taskqueue_jail_remove, &pr->pr_task); } } @@ -2942,7 +2948,7 @@ prison_proc_free(struct prison *pr) pr->pr_id)); pr->pr_flags |= PR_COMPLETE_PROC; mtx_unlock(&pr->pr_mtx); - taskqueue_enqueue(taskqueue_thread, &pr->pr_task); + taskqueue_enqueue(taskqueue_jail_remove, &pr->pr_task); } } From nobody Sat Jan 4 14:08: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 4YQMjY341Jz5kJg6; Sat, 04 Jan 2025 14:08: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 4YQMjY2R27z4Tsd; Sat, 4 Jan 2025 14:08:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nahuYwyEFXB4itsdpcM0hoDpRwSsbbphfW3nYJm+gjo=; b=eSkLGmECT+2YguCNWj/0WQ91+MjR5pZfzcomvJmJ/PqUt+Z5wK/Hf/uGY0T5GmDO6EUz/7 bcGa9HEXWRzaBfGzhuswgEyzYAXH5ntmcX6mEYYG/SPHqVx+FN+ZAvk+RG17wT1W/osWaY wzR7HNjkc53Pl8u28vKgHft3dKoM7sSkntgkouT2SUMRVFd9G1z5V+Vay0TEr592SV0nP0 xJlVNa0ITDkfnz/fbWOiJruPJpSfXrKkeWx3OvdFXuPEVgBGD2ePM5tPk5Dwws3neK5f3C Z2pwB9H912jKBjT6Ph98SYyQy7rpFNosS0XRGXrtVlLtsLM+NM1GMNRjMFDMIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nahuYwyEFXB4itsdpcM0hoDpRwSsbbphfW3nYJm+gjo=; b=uFL//A64diCgFVIh3zjSzePTt/ZdvYa87GT1ri/SK4cl93onycZNQpTMlZJoVq3hAAUv6d 7QnjgGqWt8lz5xjYF76hxMs8AjU90IM35jIAaCpNEPQVBZsLP//pCqgN87YABI1afHb5z4 aPxesbtSUVp4oohvZ0UZ9+y/HtNlzm/1aW3H82ivO0jzx1RJoQfeFjPyf2yjWBQyKW/9u+ zPr6n8MY9Lxs6pq8dKWjdHu4kn1o9aJuGd9UPvs7mLiykF2DG2La821bzJcxKDYCmyoNdw azy92JVCohDO43WLPlzgdqAQJiLMgMzqH1DGM5rXfeUhhDq96CBBCFpWPVXEOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735999697; a=rsa-sha256; cv=none; b=NKGj2xYljWgUNoYhRANBSsR77n1qxzy2nojz/PKimnR5/89vL+IBfGJwcFgMHeEYjt3PxQ PbwRAd3gI0FO1w1jLi+wIceDFlSwTt19niR9YYWcSR8y9eJJj+KFkB9/F+3H15KglG7LbI BCOS0PoBAbUTHjQgC3UuTDPgc7qwOlBEObS0YadWeXAdRzI8QHXjmDkqxOLVjKNJ2UJEZB nScB/hh3T9/sf2pDJDUx9zk0DifpvQ9ENymchRfGnygY1MZdVShVr5JoPEjMpP18qcU0Nv T7uNPH6d3/5ctucvg+hNIaffmUFzmj1u1weVz9f+0a6nhSK/yO8rrCwGShy2lw== 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 4YQMjY1qLmzvpG; Sat, 04 Jan 2025 14:08: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 504E8HGd070544; Sat, 4 Jan 2025 14:08:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504E8Hh4070541; Sat, 4 Jan 2025 14:08:17 GMT (envelope-from git) Date: Sat, 4 Jan 2025 14:08:17 GMT Message-Id: <202501041408.504E8Hh4070541@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: 4e793a6be4f9 - stable/14 - inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() 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: 4e793a6be4f908376ba9d2770f220c7a952f19e7 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4e793a6be4f908376ba9d2770f220c7a952f19e7 commit 4e793a6be4f908376ba9d2770f220c7a952f19e7 Author: Mark Johnston AuthorDate: 2024-12-05 15:00:13 +0000 Commit: Mark Johnston CommitDate: 2025-01-04 13:56:51 +0000 inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() A large portion of these functions just determines whether the inpcb can bind to the address/port. This portion has no side effects, so is a good candidate to move into its own helper function. This patch does so, making the callers less complicated and reducing indentation. While moving this code, also make some changes: - Load socket options (SO_REUSEADDR etc.) only once. There is nothing preventing another thread from toggling the socket options, so make this function easier to reason about by avoiding races. - When checking whether the bind address is an interface address, make a separate sockaddr rather than temporarily modifying the one passed to in_pcbbind(). Reviewed by: ae, glebius MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D47590 (cherry picked from commit 01f8ce83242d7a8e599cf6a78b6277161d79edd4) --- sys/netinet/in_pcb.c | 172 ++++++++++++++++++-------------- sys/netinet6/in6_pcb.c | 262 +++++++++++++++++++++++++++---------------------- 2 files changed, 242 insertions(+), 192 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index ccd76d1c449e..88826a866bdc 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -863,6 +863,93 @@ in_pcb_lport(struct inpcb *inp, struct in_addr *laddrp, u_short *lportp, #endif /* INET || INET6 */ #ifdef INET +/* + * Determine whether the inpcb can be bound to the specified address/port tuple. + */ +static int +in_pcbbind_avail(struct inpcb *inp, const struct in_addr laddr, + const u_short lport, int sooptions, int lookupflags, struct ucred *cred) +{ + int reuseport, reuseport_lb; + + INP_LOCK_ASSERT(inp); + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); + + reuseport = (sooptions & SO_REUSEPORT); + reuseport_lb = (sooptions & SO_REUSEPORT_LB); + + if (IN_MULTICAST(ntohl(laddr.s_addr))) { + /* + * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; + * allow complete duplication of binding if + * SO_REUSEPORT is set, or if SO_REUSEADDR is set + * and a multicast address is bound on both + * new and duplicated sockets. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT)) != 0) + reuseport = SO_REUSEADDR | SO_REUSEPORT; + /* + * XXX: How to deal with SO_REUSEPORT_LB here? + * Treat same as SO_REUSEPORT for now. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT_LB)) != 0) + reuseport_lb = SO_REUSEADDR | SO_REUSEPORT_LB; + } else if (!in_nullhost(laddr)) { + struct sockaddr_in sin; + + memset(&sin, 0, sizeof(sin)); + sin.sin_family = AF_INET; + sin.sin_len = sizeof(sin); + sin.sin_addr = laddr; + + /* + * Is the address a local IP address? + * If INP_BINDANY is set, then the socket may be bound + * to any endpoint address, local or not. + */ + if ((inp->inp_flags & INP_BINDANY) == 0 && + ifa_ifwithaddr_check((const struct sockaddr *)&sin) == 0) + return (EADDRNOTAVAIL); + } + + if (lport != 0) { + struct inpcb *t; + + if (ntohs(lport) <= V_ipport_reservedhigh && + ntohs(lport) >= V_ipport_reservedlow && + priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) + return (EACCES); + + if (!IN_MULTICAST(ntohl(laddr.s_addr)) && + priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { + t = in_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + INPLOOKUP_WILDCARD, cred); + if (t != NULL && + (inp->inp_socket->so_type != SOCK_STREAM || + in_nullhost(t->inp_faddr)) && + (!in_nullhost(laddr) || + !in_nullhost(t->inp_laddr) || + (t->inp_socket->so_options & SO_REUSEPORT) || + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && + (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) + return (EADDRINUSE); + } + t = in_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + lookupflags, cred); + if (t != NULL && ((reuseport | reuseport_lb) & + t->inp_socket->so_options) == 0) { +#ifdef INET6 + if (!in_nullhost(laddr) || + !in_nullhost(t->inp_laddr) || + (inp->inp_vflag & INP_IPV6PROTO) == 0 || + (t->inp_vflag & INP_IPV6PROTO) == 0) +#endif + return (EADDRINUSE); + } + } + return (0); +} + /* * Set up a bind operation on a PCB, performing port allocation * as required, but do not actually modify the PCB. Callers can @@ -880,15 +967,9 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; struct in_addr laddr; u_short lport = 0; - int lookupflags = 0, reuseport = (so->so_options & SO_REUSEPORT); + int lookupflags, sooptions; int error; - /* - * XXX: Maybe we could let SO_REUSEPORT_LB set SO_REUSEPORT bit here - * so that we don't have to add to the (already messy) code below. - */ - int reuseport_lb = (so->so_options & SO_REUSEPORT_LB); - /* * No state changes, so read locks are sufficient here. */ @@ -898,7 +979,10 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, laddr.s_addr = *laddrp; if (sin != NULL && laddr.s_addr != INADDR_ANY) return (EINVAL); - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) + + lookupflags = 0; + sooptions = atomic_load_int(&so->so_options); + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT | SO_REUSEPORT_LB)) == 0) lookupflags = INPLOOKUP_WILDCARD; if (sin == NULL) { if ((error = prison_local_ip4(cred, &laddr)) != 0) @@ -920,73 +1004,11 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, } laddr = sin->sin_addr; - /* NB: lport is left as 0 if the port isn't being changed. */ - if (IN_MULTICAST(ntohl(laddr.s_addr))) { - /* - * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; - * allow complete duplication of binding if - * SO_REUSEPORT is set, or if SO_REUSEADDR is set - * and a multicast address is bound on both - * new and duplicated sockets. - */ - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) != 0) - reuseport = SO_REUSEADDR|SO_REUSEPORT; - /* - * XXX: How to deal with SO_REUSEPORT_LB here? - * Treat same as SO_REUSEPORT for now. - */ - if ((so->so_options & - (SO_REUSEADDR|SO_REUSEPORT_LB)) != 0) - reuseport_lb = SO_REUSEADDR|SO_REUSEPORT_LB; - } else if (!in_nullhost(laddr)) { - sin->sin_port = 0; /* yech... */ - bzero(&sin->sin_zero, sizeof(sin->sin_zero)); - /* - * Is the address a local IP address? - * If INP_BINDANY is set, then the socket may be bound - * to any endpoint address, local or not. - */ - if ((inp->inp_flags & INP_BINDANY) == 0 && - ifa_ifwithaddr_check( - (const struct sockaddr *)sin) == 0) - return (EADDRNOTAVAIL); - } - if (lport) { - struct inpcb *t; - - if (ntohs(lport) <= V_ipport_reservedhigh && - ntohs(lport) >= V_ipport_reservedlow && - priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) - return (EACCES); - - if (!IN_MULTICAST(ntohl(laddr.s_addr)) && - priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { - t = in_pcblookup_local(pcbinfo, laddr, lport, - INPLOOKUP_WILDCARD, cred); - if (t != NULL && - (so->so_type != SOCK_STREAM || - in_nullhost(t->inp_faddr)) && - (!in_nullhost(laddr) || - !in_nullhost(t->inp_laddr) || - (t->inp_socket->so_options & SO_REUSEPORT) || - (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && - (inp->inp_cred->cr_uid != - t->inp_cred->cr_uid)) - return (EADDRINUSE); - } - t = in_pcblookup_local(pcbinfo, laddr, lport, - lookupflags, cred); - if (t != NULL && ((reuseport | reuseport_lb) & - t->inp_socket->so_options) == 0) { -#ifdef INET6 - if (!in_nullhost(laddr) || - !in_nullhost(t->inp_laddr) || - (inp->inp_vflag & INP_IPV6PROTO) == 0 || - (t->inp_vflag & INP_IPV6PROTO) == 0) -#endif - return (EADDRINUSE); - } - } + /* See if this address/port combo is available. */ + error = in_pcbbind_avail(inp, laddr, lport, sooptions, + lookupflags, cred); + if (error != 0) + return (error); } if (*lportp != 0) lport = *lportp; diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 5741d88d8e76..7a0eb68c233e 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -162,27 +162,157 @@ in6_pcbsetport(struct in6_addr *laddr, struct inpcb *inp, struct ucred *cred) return (0); } +/* + * Determine whether the inpcb can be bound to the specified address/port tuple. + */ +static int +in6_pcbbind_avail(struct inpcb *inp, const struct sockaddr_in6 *sin6, + int sooptions, int lookupflags, struct ucred *cred) +{ + const struct in6_addr *laddr; + int reuseport, reuseport_lb; + u_short lport; + + INP_LOCK_ASSERT(inp); + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); + + laddr = &sin6->sin6_addr; + lport = sin6->sin6_port; + + reuseport = (sooptions & SO_REUSEPORT); + reuseport_lb = (sooptions & SO_REUSEPORT_LB); + + if (IN6_IS_ADDR_MULTICAST(laddr)) { + /* + * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; + * allow compepte duplication of binding if + * SO_REUSEPORT is set, or if SO_REUSEADDR is set + * and a multicast address is bound on both + * new and duplicated sockets. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT)) != 0) + reuseport = SO_REUSEADDR | SO_REUSEPORT; + /* + * XXX: How to deal with SO_REUSEPORT_LB here? + * Treat same as SO_REUSEPORT for now. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT_LB)) != 0) + reuseport_lb = SO_REUSEADDR | SO_REUSEPORT_LB; + } else if (!IN6_IS_ADDR_UNSPECIFIED(laddr)) { + struct sockaddr_in6 sin6; + struct epoch_tracker et; + struct ifaddr *ifa; + + memset(&sin6, 0, sizeof(sin6)); + sin6.sin6_family = AF_INET6; + sin6.sin6_len = sizeof(sin6); + sin6.sin6_addr = *laddr; + + NET_EPOCH_ENTER(et); + if ((ifa = ifa_ifwithaddr((const struct sockaddr *)&sin6)) == + NULL && (inp->inp_flags & INP_BINDANY) == 0) { + NET_EPOCH_EXIT(et); + return (EADDRNOTAVAIL); + } + + /* + * XXX: bind to an anycast address might accidentally + * cause sending a packet with anycast source address. + * We should allow to bind to a deprecated address, since + * the application dares to use it. + */ + if (ifa != NULL && + ((struct in6_ifaddr *)ifa)->ia6_flags & + (IN6_IFF_ANYCAST | IN6_IFF_NOTREADY | IN6_IFF_DETACHED)) { + NET_EPOCH_EXIT(et); + return (EADDRNOTAVAIL); + } + NET_EPOCH_EXIT(et); + } + + if (lport != 0) { + struct inpcb *t; + + if (ntohs(lport) <= V_ipport_reservedhigh && + ntohs(lport) >= V_ipport_reservedlow && + priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) + return (EACCES); + + if (!IN6_IS_ADDR_MULTICAST(laddr) && + priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != + 0) { + t = in6_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + INPLOOKUP_WILDCARD, cred); + if (t != NULL && + (inp->inp_socket->so_type != SOCK_STREAM || + IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && + (!IN6_IS_ADDR_UNSPECIFIED(laddr) || + !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || + (t->inp_socket->so_options & SO_REUSEPORT) || + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && + (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) + return (EADDRINUSE); + +#ifdef INET + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && + IN6_IS_ADDR_UNSPECIFIED(laddr)) { + struct sockaddr_in sin; + + in6_sin6_2_sin(&sin, sin6); + t = in_pcblookup_local(inp->inp_pcbinfo, + sin.sin_addr, lport, INPLOOKUP_WILDCARD, + cred); + if (t != NULL && + (inp->inp_socket->so_type != SOCK_STREAM || + in_nullhost(t->inp_faddr)) && + (inp->inp_cred->cr_uid != + t->inp_cred->cr_uid)) + return (EADDRINUSE); + } +#endif + } + t = in6_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + lookupflags, cred); + if (t != NULL && ((reuseport | reuseport_lb) & + t->inp_socket->so_options) == 0) + return (EADDRINUSE); +#ifdef INET + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && + IN6_IS_ADDR_UNSPECIFIED(laddr)) { + struct sockaddr_in sin; + + in6_sin6_2_sin(&sin, sin6); + t = in_pcblookup_local(inp->inp_pcbinfo, sin.sin_addr, + lport, lookupflags, cred); + if (t != NULL && ((reuseport | reuseport_lb) & + t->inp_socket->so_options) == 0 && + (!in_nullhost(t->inp_laddr) || + (t->inp_vflag & INP_IPV6PROTO) != 0)) { + return (EADDRINUSE); + } + } +#endif + } + return (0); +} + int in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) { struct socket *so = inp->inp_socket; struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; u_short lport = 0; - int error, lookupflags = 0; - int reuseport = (so->so_options & SO_REUSEPORT); - - /* - * XXX: Maybe we could let SO_REUSEPORT_LB set SO_REUSEPORT bit here - * so that we don't have to add to the (already messy) code below. - */ - int reuseport_lb = (so->so_options & SO_REUSEPORT_LB); + int error, lookupflags, sooptions; INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(pcbinfo); if (inp->inp_lport || !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) return (EINVAL); - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) + + lookupflags = 0; + sooptions = atomic_load_int(&so->so_options); + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT | SO_REUSEPORT_LB)) == 0) lookupflags = INPLOOKUP_WILDCARD; if (sin6 == NULL) { if ((error = prison_local_ip6(cred, &inp->in6p_laddr, @@ -201,115 +331,13 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) ((inp->inp_flags & IN6P_IPV6_V6ONLY) != 0))) != 0) return (error); - lport = sin6->sin6_port; - if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) { - /* - * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; - * allow compepte duplication of binding if - * SO_REUSEPORT is set, or if SO_REUSEADDR is set - * and a multicast address is bound on both - * new and duplicated sockets. - */ - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) != 0) - reuseport = SO_REUSEADDR|SO_REUSEPORT; - /* - * XXX: How to deal with SO_REUSEPORT_LB here? - * Treat same as SO_REUSEPORT for now. - */ - if ((so->so_options & - (SO_REUSEADDR|SO_REUSEPORT_LB)) != 0) - reuseport_lb = SO_REUSEADDR|SO_REUSEPORT_LB; - } else if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - struct epoch_tracker et; - struct ifaddr *ifa; - - sin6->sin6_port = 0; /* yech... */ - NET_EPOCH_ENTER(et); - if ((ifa = ifa_ifwithaddr((struct sockaddr *)sin6)) == - NULL && - (inp->inp_flags & INP_BINDANY) == 0) { - NET_EPOCH_EXIT(et); - return (EADDRNOTAVAIL); - } - - /* - * XXX: bind to an anycast address might accidentally - * cause sending a packet with anycast source address. - * We should allow to bind to a deprecated address, since - * the application dares to use it. - */ - if (ifa != NULL && - ((struct in6_ifaddr *)ifa)->ia6_flags & - (IN6_IFF_ANYCAST|IN6_IFF_NOTREADY|IN6_IFF_DETACHED)) { - NET_EPOCH_EXIT(et); - return (EADDRNOTAVAIL); - } - NET_EPOCH_EXIT(et); - } - if (lport) { - struct inpcb *t; - - if (ntohs(lport) <= V_ipport_reservedhigh && - ntohs(lport) >= V_ipport_reservedlow && - priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) - return (EACCES); - - if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr) && - priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { - t = in6_pcblookup_local(pcbinfo, - &sin6->sin6_addr, lport, - INPLOOKUP_WILDCARD, cred); - if (t != NULL && - (so->so_type != SOCK_STREAM || - IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && - (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) || - !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || - (t->inp_socket->so_options & SO_REUSEPORT) || - (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && - (inp->inp_cred->cr_uid != - t->inp_cred->cr_uid)) - return (EADDRINUSE); - -#ifdef INET - if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && - IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - struct sockaddr_in sin; - - in6_sin6_2_sin(&sin, sin6); - t = in_pcblookup_local(pcbinfo, - sin.sin_addr, lport, - INPLOOKUP_WILDCARD, cred); - if (t != NULL && - (so->so_type != SOCK_STREAM || - in_nullhost(t->inp_faddr)) && - (inp->inp_cred->cr_uid != - t->inp_cred->cr_uid)) - return (EADDRINUSE); - } -#endif - } - t = in6_pcblookup_local(pcbinfo, &sin6->sin6_addr, - lport, lookupflags, cred); - if (t != NULL && ((reuseport | reuseport_lb) & - t->inp_socket->so_options) == 0) - return (EADDRINUSE); -#ifdef INET - if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && - IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - struct sockaddr_in sin; + /* See if this address/port combo is available. */ + error = in6_pcbbind_avail(inp, sin6, sooptions, lookupflags, + cred); + if (error != 0) + return (error); - in6_sin6_2_sin(&sin, sin6); - t = in_pcblookup_local(pcbinfo, sin.sin_addr, - lport, lookupflags, cred); - if (t != NULL && ((reuseport | reuseport_lb) & - t->inp_socket->so_options) == 0 && - (!in_nullhost(t->inp_laddr) || - (t->inp_vflag & INP_IPV6PROTO) != 0)) { - return (EADDRINUSE); - } - } -#endif - } + lport = sin6->sin6_port; inp->in6p_laddr = sin6->sin6_addr; } if (lport == 0) { From nobody Sat Jan 4 14:08: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 4YQMjb0DxNz5kK10; Sat, 04 Jan 2025 14:08:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQMjZ3Rt6z4V5r; Sat, 4 Jan 2025 14:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vYnuw+Udv277fhuQU5hVC5Lx8rsqjdIsxstORut4F/0=; b=O4WtKnDK5b1e9NAix+waKjHL5VP3Aooa7cWLwnLsXUXYFWU8SrcKSqKEFQcE8P+4WJbonu lcr8C26kzKmmer9wyXp3k5lHBRbMvf3fatE25HnwsqnkGUDHGTkoFbcBBodQ3R/iAv4nXL KuRS8kw2Cb56KwJiAzyQeETUTY7U48SzJqhwR5w4DC9jaUomCq6S6g5d12DPPslg+OkkO7 9Cs+bo1zvObiKEVIAfnFsS98ik/eFR5N+Q/JbGWq0pgX0N4qSjC+zk8IsFL5DEMYPQI08W nCb+maU0Xg0A2BxtPVf7CbkwGMTQnptpUAI2vBtSHnXr3Pu+w5MBBIWyQ+hd3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vYnuw+Udv277fhuQU5hVC5Lx8rsqjdIsxstORut4F/0=; b=usye2tm3Y8Ghz79oXTUxoS6ogQmffMt3OiRauSRnNbdsGDVegOQko+Zqi9sKHcf5K4bRSF EiAGRZX6or82j/pG4TuA68bY9VMsWWGc/BSSvmASfmdyY9h1i5mD2iZHrk/QhiSlt6gDOX VUaxt9dB4POex4+bm1JT0zXtDBBv4982qBfpIkVZ3OiSnkanPnkxCDIimhmP5dn+NudgAO WXxOnh9+enNvz6OCARvMH56O/RXD+DT+vUZc/3Okicj7SR2wI5e/h2BHxn/AJ0C2VZ6sFM OFgvAIy9xvjoqN8Jb8MUg+lJL+JBzpjGYpQrIUIXLKT/oxsKbbkaZk2P1+pYCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735999698; a=rsa-sha256; cv=none; b=WDa4O5s2r/57acp/wr/T5wkY5TbbGpUuR167OIOpzXnbsN/RXC6N9XcEhGqBMsBWiapEmz by0qo+FcFRCR0nTjf1ly5Mw5QvLxw+7fXZmucvcB8Tx7b0xA8j7nEtj4/oN1oOkkbbK5AD FJ4Fhh8qOvRo1oAGeFHwKg22OUL5WCuoROXRPCf4FrTRLIW0X3EL/+8U0WWaYSixlF3tfh VTEZPzaqnZnQAXR2Jy8SnASVh+l1NkzK3fPbsV0rr/63C7qFApSHjpMY7LZlKJIqWseY2o dRE+gKJwSRrLcAPn/f4l8vyUPwS1WDtrfxCHOdiVWqXMxtsouAn+/p8Duh3BGw== 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 4YQMjZ2rwLzwVh; Sat, 04 Jan 2025 14:08: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 504E8IWB070613; Sat, 4 Jan 2025 14:08:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504E8IqB070610; Sat, 4 Jan 2025 14:08:18 GMT (envelope-from git) Date: Sat, 4 Jan 2025 14:08:18 GMT Message-Id: <202501041408.504E8IqB070610@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: eecdd412ff5b - stable/14 - sysctl: Do not serialize requests when running as root 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: eecdd412ff5b9f2462b9fbad700e301fa420002e Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=eecdd412ff5b9f2462b9fbad700e301fa420002e commit eecdd412ff5b9f2462b9fbad700e301fa420002e Author: Mark Johnston AuthorDate: 2024-12-21 19:25:32 +0000 Commit: Mark Johnston CommitDate: 2025-01-04 13:56:59 +0000 sysctl: Do not serialize requests when running as root Bugs or unexpected behaviour can cause a user thread to block in a sysctl handler for a long time. "procstat -kka" is the most useful tool to see why this might happen, but it can block on sysctlmemlock too. Since the purpose of this lock is merely to ensure userspace can't wire too much memory, don't require it for requests from privileged threads. PR: 282994 Reviewed by: kib, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47842 (cherry picked from commit 7d1d9cc440f800858b6ec8dfb5a41c853fc8c36d) --- sys/kern/kern_sysctl.c | 10 ++++++---- sys/sys/priv.h | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 53b61c08713f..2e983e2ff803 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -2398,8 +2398,9 @@ userland_sysctl(struct thread *td, int *name, u_int namelen, void *old, size_t *oldlenp, int inkernel, const void *new, size_t newlen, size_t *retval, int flags) { - int error = 0, memlocked; struct sysctl_req req; + int error = 0; + bool memlocked; bzero(&req, sizeof req); @@ -2431,9 +2432,10 @@ userland_sysctl(struct thread *td, int *name, u_int namelen, void *old, if (KTRPOINT(curthread, KTR_SYSCTL)) ktrsysctl(name, namelen); #endif - memlocked = 0; - if (req.oldptr && req.oldlen > 4 * PAGE_SIZE) { - memlocked = 1; + memlocked = false; + if (priv_check(td, PRIV_SYSCTL_MEMLOCK) != 0 && + req.oldptr != NULL && req.oldlen > 4 * PAGE_SIZE) { + memlocked = true; sx_xlock(&sysctlmemlock); } CURVNET_SET(TD_TO_VNET(td)); diff --git a/sys/sys/priv.h b/sys/sys/priv.h index fd0f7dd213ff..cfec8345a4b4 100644 --- a/sys/sys/priv.h +++ b/sys/sys/priv.h @@ -210,6 +210,7 @@ #define PRIV_SYSCTL_DEBUG 240 /* Can invoke sysctl.debug. */ #define PRIV_SYSCTL_WRITE 241 /* Can write sysctls. */ #define PRIV_SYSCTL_WRITEJAIL 242 /* Can write sysctls, jail permitted. */ +#define PRIV_SYSCTL_MEMLOCK 243 /* Large requests are not serialized. */ /* * TTY privileges. From nobody Sat Jan 4 14:08: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 4YQMjc0lh7z5kJxX; Sat, 04 Jan 2025 14:08: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 4YQMjb4JQ7z4V6C; Sat, 4 Jan 2025 14:08:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZhR33RCKXVqfMTC1iyuATvmS84olYyw6oY3BMae4j8=; b=sgQfQ2yNNPpgFvWRX+Ve0dq215lxpXMsfFvGyZ4gmalOYBvUppE2PDaGcm5E70M++V449O 7IcW9Lqviu/sOBacDb8JCuJzS2yvXoZu7mPU1F2GWxRsizzml8T9UidEpTa8XRQzlUDE5l nEV4cGdJa3wB9671CA2mR2EZp+Qo1SS1W/3bVxtQSBxm8QvFZiE28ffx5hGM9SxuyEoytN seCF774dr+wT95QDdd2GsT/jrZiLBCU4dcX/0vdWW+gbR1/YGYRmARogue1jq+Y1j5qoSK n01iNMYN3Us9K3y1vSpYxKFzs/rRys3dCa/h/y0QXbj1Pm+/RMKwkzU+clo4gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735999699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZhR33RCKXVqfMTC1iyuATvmS84olYyw6oY3BMae4j8=; b=uCtLahqXc6f5Cg8qKoLNHobl2TMtrhAl/y5B4gXsI3qa0nq4OniWS0idHMpd/X8R7AaKZR EPWjToOl7QSqDSwd8hEt/L5LEyAl1Y/v+CUOtN/EcDsEPTDo0eOi1GyVeL/NkAdUga6Yw8 oWJIly2toj1MuZ9NNaa6rZ6cSr2kpNTl5iQnEP9/99B7vxviyuLVHp1IKfiespa6aWcEdY UVfSk8U8SnZoGu0jJYLEyF8dOdoBu+AoQMiV9+Hep8/QA8NNFrs5FW5DwZUe4s1lVGjyKd SUh/S1pTXbwTu9ymlw5kCGpFSg4HZ6YViv9xcIC8xQVkeZJrcQbN2w1jzDfbZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735999699; a=rsa-sha256; cv=none; b=O3ORzz/+7aDBQlofKQulA1TXyu9oonadW1cZ1/EXHrm0qL6y+FzjmFi94RI0wjQhFlZz+m xQoC2kr/163iAUyNLELz+y/4t2N/cVLMIC8zyfgHHNdGq/bwpSjtAmK3rr9QZada483cp8 u81a2W12e+wTpSzC11M8F8ydKNSob5Bg1N4oAIoTpQ3sJcFC0M9PP3SKF3VaO05575fvA9 PWMrIKgWfLwZdqVxrdJD8anvU+2Lyxtt+PApwlL2aSgz2M/hRIxLtQyPfZfjX+77K08kv0 RdFlUFGFtR5tFtxbjA8LPHVifoxcqg/DHErVqUQ7T6mQ+4v8a2F1nMkZrKkosw== 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 4YQMjb3dbczw34; Sat, 04 Jan 2025 14:08: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 504E8JY6070659; Sat, 4 Jan 2025 14:08:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504E8JcF070656; Sat, 4 Jan 2025 14:08:19 GMT (envelope-from git) Date: Sat, 4 Jan 2025 14:08:19 GMT Message-Id: <202501041408.504E8JcF070656@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: 5ada29ab253d - stable/14 - inpcb: Fix the GENERIC-NODEBUG build 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: 5ada29ab253dcaf09bbae62e4b21e9205bd8b157 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5ada29ab253dcaf09bbae62e4b21e9205bd8b157 commit 5ada29ab253dcaf09bbae62e4b21e9205bd8b157 Author: Mark Johnston AuthorDate: 2024-12-05 16:38:22 +0000 Commit: Mark Johnston CommitDate: 2025-01-04 14:03:12 +0000 inpcb: Fix the GENERIC-NODEBUG build Fixes: 01f8ce83242d ("inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup()") (cherry picked from commit ffb3d384fc1d550a764def2c0cd034ac3a4f0b86) --- sys/netinet/in_pcb.c | 3 +-- sys/netinet6/in6_pcb.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 88826a866bdc..0add5a7c340b 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -964,7 +964,6 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, u_short *lportp, struct ucred *cred) { struct socket *so = inp->inp_socket; - struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; struct in_addr laddr; u_short lport = 0; int lookupflags, sooptions; @@ -974,7 +973,7 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, * No state changes, so read locks are sufficient here. */ INP_LOCK_ASSERT(inp); - INP_HASH_LOCK_ASSERT(pcbinfo); + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); laddr.s_addr = *laddrp; if (sin != NULL && laddr.s_addr != INADDR_ANY) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 7a0eb68c233e..de864305b434 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -300,12 +300,11 @@ int in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) { struct socket *so = inp->inp_socket; - struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; u_short lport = 0; int error, lookupflags, sooptions; INP_WLOCK_ASSERT(inp); - INP_HASH_WLOCK_ASSERT(pcbinfo); + INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); if (inp->inp_lport || !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) return (EINVAL); From nobody Sat Jan 4 18:13: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 4YQT8x4zBwz5j6tH; Sat, 04 Jan 2025 18:13: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 4YQT8x4FtPz40qy; Sat, 4 Jan 2025 18:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736014433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zlB77uO3u9/KfS6OOBU/eWPLKHTdcnLPeDJSKM6XVUM=; b=TS0ThQlXKvP5djDMcdvFdoemac2N9lVKKBPAl6f50L5UMIRMiOnvbKP7Hxg0Cx/0sa4GMc AVf5sV9/8iRP+1VXKvVInA/hyHvv9n3NtpBH+HrFZTofLPKK1va7JvHAcbeAPcWeucs4Ky n8doPc8aPDnPrflSvbvR0qxGOzgB70qxwD8yR6DJTUT2yjAe8vTj3TRvoCO1K3gB953zpy SfiFYkiOP2zzK7UNvAF65G+3MiA06S/w/g9sp0lxy8ACRRxP3dgTK3wqLu2DEFYo3gDMcP e8ndbBGoU6cujLmj4o28FahJZHaDmqJQzvug8AhbBt4ounKyCI82ZJoIrU0lKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736014433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zlB77uO3u9/KfS6OOBU/eWPLKHTdcnLPeDJSKM6XVUM=; b=KzsvZCXc0M3GFZ0RXc+SN8zbvllp2yzF6BgZB/UA148iQwbNsxhPPy2UkkAOt7xf+w3eaG CYbubWKRT9xni9Y8+FJszG0NV7HuzOpqhzm5jtuCQfc2peA20mgpN+o02W0ukTMkgpogKl Zy4u6MigaD8s+aEsFv6y7M4JkV66hkg0/ARW1jBvJR6cfkIG7vccPyavhbhDhwbJJvoXIH XZ5Qb9tMLLolqmPhPMmnPNOkGATvrHc84HQ1Kn6gmvbBjZ5elUfHZWPGbwouSqJDO8eWGS WeKvT1A6rVni8xIoVNKspVIhZ+NsHfxbJoW9B8cczJehaPET1LFrhmkkfvO/KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736014433; a=rsa-sha256; cv=none; b=OuhKWEJXclXCkW9bnRwuzPd217x/tVxbMjQNVc2nb1/oOh/ZvQ6w0QNut16EFaTOUIgLd8 2DDHWtrhhRitXu0yQRFPWxxJYLhLX18MrbIYCVZF3wG5iDiIH+g3mgXMg1wZaFxBYFQ3rh j1LpwH6KWbFGCdenIekbQh7QNHI1hSAYG5VnCzJZJjZHYmf4qrOhescirk3M5ygWX19e00 bAqypuKVabY6pCb8vOJ6WU0SFmdZBFpvrkSXJjsY+PsPk1D8OgQDLEpqZ5aoWpTJF9ZOq3 zoDDR/b8Qy64Hd1Hxp1oNYQ/oE6XcG12tpvQ4ec99rBqXngC/I4n0gIIq2D1BQ== 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 4YQT8x3qd7z13Z9; Sat, 04 Jan 2025 18:13: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 504IDrtO036767; Sat, 4 Jan 2025 18:13:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504IDrPQ036764; Sat, 4 Jan 2025 18:13:53 GMT (envelope-from git) Date: Sat, 4 Jan 2025 18:13:53 GMT Message-Id: <202501041813.504IDrPQ036764@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: 589cf0f3e26f - stable/14 - Revert "Export additional __aeabi_ symbols from arm's libgcc_s" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 589cf0f3e26f8c4cb9c825be54cae246e2151484 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=589cf0f3e26f8c4cb9c825be54cae246e2151484 commit 589cf0f3e26f8c4cb9c825be54cae246e2151484 Author: Dimitry Andric AuthorDate: 2025-01-04 18:09:37 +0000 Commit: Dimitry Andric CommitDate: 2025-01-04 18:13:25 +0000 Revert "Export additional __aeabi_ symbols from arm's libgcc_s" This reverts commit caab831338f4eeaa7455e981478be9fd414b7969, because some new unresolved issues came up in bug 271087: Some programs depend on these symbols, when they are compiled for armv6 or armv7. Closes #1560 (slightly changed due to sorting of the symbols). PR: 271087 Reported by: mmel MFC after: immediately (cherry picked from commit b662ca1d6cd82044c6cb79075e1830b97594bef3) --- lib/libgcc_s/arm/Symbol.map | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/lib/libgcc_s/arm/Symbol.map b/lib/libgcc_s/arm/Symbol.map index a426f823de5c..92b54761d810 100644 --- a/lib/libgcc_s/arm/Symbol.map +++ b/lib/libgcc_s/arm/Symbol.map @@ -4,33 +4,8 @@ GCC_3.5 { _Unwind_Complete; _Unwind_VRS_Get; - _Unwind_VRS_Pop; _Unwind_VRS_Set; - __aeabi_d2h; - __aeabi_d2lz; - __aeabi_d2ulz; - __aeabi_f2h; - __aeabi_f2lz; - __aeabi_f2ulz; - __aeabi_h2f; - __aeabi_idiv; - __aeabi_idiv0; - __aeabi_l2d; - __aeabi_l2f; - __aeabi_lasr; - __aeabi_lcmp; - __aeabi_ldivmod; - __aeabi_llsl; - __aeabi_llsr; - __aeabi_lmul; - __aeabi_ui2d; - __aeabi_ui2f; - __aeabi_uidiv; - __aeabi_uidivmod; - __aeabi_ul2d; - __aeabi_ul2f; - __aeabi_ulcmp; - __aeabi_uldivmod; + _Unwind_VRS_Pop; __aeabi_unwind_cpp_pr0; __aeabi_unwind_cpp_pr1; __aeabi_unwind_cpp_pr2; From nobody Sat Jan 4 18:14: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 4YQT9J41npz5j6tL; Sat, 04 Jan 2025 18:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YQT9J3Dx7z41DN; Sat, 4 Jan 2025 18:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736014452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=chvn5Lp4H0E2sajVAu9ftv9dS1dDiTqXF9Ml47S0HH0=; b=BuSegBUO95vkjZteay1t2dkPVnDS8zFXbwfYrDV8fGkM/wvXu4fWuH8Jqgi+yASshC9C/R nlZWio8BdyIV33AEI/3uK+1mev639I8Tx0K4lsu6ZZrfF+T81eLdOf03varTCtgL2d6rSv W6G6JwmNcXSX3R7gdeq+kphYdn/Jl42gN7p/aqp8mZlHlAWKCQgMekeH/SqKKLcxRXYD4b R/Lw+nmVnY1X1sRQE7D/2UISMWNAT446C1JrOJxgGtuBE+Iz9sPyFSvqMukkKSn4kIlfXJ Q2V98qr5Gnrikht/wvCkraiqE31+eBf3fwZcpkWd95W4X5XXvgsxx0sVVrivlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736014452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=chvn5Lp4H0E2sajVAu9ftv9dS1dDiTqXF9Ml47S0HH0=; b=isAkr7vYbsQuh0YThFNp2z2Rmph/GL3KwRJ5xX0FVxx+rC5yqmF5gJ1CetGlnXzjPasz5U VTQQSkzIrGraI4M9MCftTgzYTMnLYW2ndGvpXrkIefr+sXgkqKgJHkbVKZZU2o5+CW+YoR cAsJ0Q0NYzUER17cvINvKGSEPsuvnjphA0qWSpX2O6URrv2ddOFu1B9LHxTCSDP+7togJM cu80lGU0bc3U886kO1sAlMBatQFIoC904DuLnuKGnBSdRcYyQXAzAfddxBWfnChcfG7nIt 9eific9TX/ni3OYxkpjBv6A69YC44cMIBMWuncBC5QbiYibocev7mPwBmJZbZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736014452; a=rsa-sha256; cv=none; b=kzK7jhFnBaye3priviTZmZEj3dtbvfOvEsPWvPwgcX30sULPNk/6a4zvwx/qySdF6/e7Rj B4z5AF2GmuqOTJEuBtionDgHV/+E5yOCDZweO8lOV1NPix9yrSCLV0gafIuVNq71yL31j+ llVxZ5HIgfpoSp60EN6N1Ns8hlpudG4mPXwnS/lHmOGHk55bz1HJpO+5q5uQMV4mN+ja67 U/ld6khaHFnRt3paP/nwHaIn/r5JL1jrLxVsfkwB/Sw1OXvvJ+NXiUeie1eW+L3GZkTnXG unJq0TdWt3ZBwPyC7b0IORw9ZXCCrcsL3leb8Va/dId0CqUhNHKiy/qETL/asA== 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 4YQT9J2dy7z13ZG; Sat, 04 Jan 2025 18:14: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 504IECBv037036; Sat, 4 Jan 2025 18:14:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 504IECNE037033; Sat, 4 Jan 2025 18:14:12 GMT (envelope-from git) Date: Sat, 4 Jan 2025 18:14:12 GMT Message-Id: <202501041814.504IECNE037033@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: 014064b33f72 - stable/13 - Revert "Export additional __aeabi_ symbols from arm's libgcc_s" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 014064b33f72c4405117eb71e6a06c8b51cc224e Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=014064b33f72c4405117eb71e6a06c8b51cc224e commit 014064b33f72c4405117eb71e6a06c8b51cc224e Author: Dimitry Andric AuthorDate: 2025-01-04 18:09:37 +0000 Commit: Dimitry Andric CommitDate: 2025-01-04 18:13:30 +0000 Revert "Export additional __aeabi_ symbols from arm's libgcc_s" This reverts commit caab831338f4eeaa7455e981478be9fd414b7969, because some new unresolved issues came up in bug 271087: Some programs depend on these symbols, when they are compiled for armv6 or armv7. Closes #1560 (slightly changed due to sorting of the symbols). PR: 271087 Reported by: mmel MFC after: immediately (cherry picked from commit b662ca1d6cd82044c6cb79075e1830b97594bef3) --- lib/libgcc_s/arm/Symbol.map | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/lib/libgcc_s/arm/Symbol.map b/lib/libgcc_s/arm/Symbol.map index a426f823de5c..92b54761d810 100644 --- a/lib/libgcc_s/arm/Symbol.map +++ b/lib/libgcc_s/arm/Symbol.map @@ -4,33 +4,8 @@ GCC_3.5 { _Unwind_Complete; _Unwind_VRS_Get; - _Unwind_VRS_Pop; _Unwind_VRS_Set; - __aeabi_d2h; - __aeabi_d2lz; - __aeabi_d2ulz; - __aeabi_f2h; - __aeabi_f2lz; - __aeabi_f2ulz; - __aeabi_h2f; - __aeabi_idiv; - __aeabi_idiv0; - __aeabi_l2d; - __aeabi_l2f; - __aeabi_lasr; - __aeabi_lcmp; - __aeabi_ldivmod; - __aeabi_llsl; - __aeabi_llsr; - __aeabi_lmul; - __aeabi_ui2d; - __aeabi_ui2f; - __aeabi_uidiv; - __aeabi_uidivmod; - __aeabi_ul2d; - __aeabi_ul2f; - __aeabi_ulcmp; - __aeabi_uldivmod; + _Unwind_VRS_Pop; __aeabi_unwind_cpp_pr0; __aeabi_unwind_cpp_pr1; __aeabi_unwind_cpp_pr2;